Jeśli hakerzy uzyskają dostęp do ważnych informacji, to rezultaty
mogą być katastrofalne. Ci, którzy chronią dane i dysponują nimi są pod
nieustannym naciskiem klientów, partnerów, udziałowców i rządu ? dane
mają być bezpieczne. Co jednak zrobić, gdy hakerzy złamią wyrafinowane
mechanizmy bezpieczeństwa? Wtedy ostatnią linię obrony stanowi
kryptografia stosowana bezpośrednio w bazach danych. W tej książce
jeden z wiodących ekspertów od kryptografii firmy Symantec pokazuje jak
za pomocą szyfrowania chronić dane i aplikacje.
Książka zawiera przykłady kodu i omawia ?sejfy? na klucze,
zarządzanie nimi i stosowane mechanizmy i metody zarządzania. Traktuje
o różnorakich aspektach szeroko rozumianego bezpieczeństwa komputerów,
sieci i oprogramowania. Jej tematyka obejmuje:
- zrozumienie aspektów prawnych ochrony danych;
- budowę realistycznego modelu zagrożeń, który odzwierciedla rzeczywiste zagrożenia;
- tworzenie kryptograficznej infrastruktury baz danych wokół najbardziej efektywnych wzorców bezpieczeństwa;
- klasyfikowanie wrażliwości danych;
- pisanie aplikacji, które bezpiecznie współpracują z systemem kryptograficznym;
- zapobieganie słabościom systemu ochrony, które umożliwiają dostęp do aplikacji bazodanowych.
Książka jest napisana niezależnie od platformy oprogramowania, przydatna wiec będzie dla każdego specjalisty.
Spis treści:
Podziękowania
O autorze
Wprowadzenie
CZĘŚĆ I. Bezpieczeństwo baz danych
Rozdział 1. Problematyka bezpieczeństwa baz danych
1.1. Ataki na bazy danych
1.1.1. Typy ataków
1.1.2. Ataki na poufność
1.1.3. Ataki na integralność
1.1.4. Ataki na dostępność
1.1.5. Modele zagrożeń
1.2. Zewnętrzne wymagania dotyczące zabezpieczenia bazy danych
1.2.1. Ustawodawstwo
1.2.2. Zgodność z zasadami biznesu
1.2.3. Regulacje handlowe
1.2.4. Utrata reputacji
1.3. Podsumowanie
Rozdział 2. Ochrona baz danych za pomocą kryptografii
2.1. Krótkie przypomnienie baz danych
2.2. Czym jest kryptografia
2.2.1. Kryptografia symetryczna
2.2.2. Kryptografia z kluczem publicznym
2.2.3. Mieszanie kryptograficzne
2.3. Stosowanie kryptografii
2.3.1. Ochrona poufności
2.3.2. Zapewnienie integralności
2.4. Ryzyko kryptograficzne
2.5. Ataki kryptograficzne
2.5.1. Pośredni dostęp do kluczy
2.6. Zaciemnianie
2.7. Przezroczyste szyfrowanie
2.8. Podsumowanie
CZĘŚĆ II. Infrastruktura kryptograficzna
Rozdział 3. Podstawy infrastruktury kryptograficznej
3.1. Architektura aplikacji
3.2. Architektura kryptograficzna
3.3. Klucze kryptograficzne
3.3.1. Rozdzielanie kluczy
3.3.2. Rodziny kluczy
3.3.3. Cykl życia klucza
3.3.4. Zakres klucza
3.3.5. Zmęczenie klucza
3.3.6. Migracja kluczy
3.3.7. Zastępowanie kluczy
3.3.8. Aliasy kluczy i dokumentacja kluczy
3.4. Podsumowanie
Rozdział 4. Maszyny kryptograficzne i algorytmy
4.1. Maszyny lokalne
4.2. Maszyny dedykowane
4.2.1. FIPS 140
4.3. Algorytmy kryptograficzne
4.3.1. Algorytmy symetryczne
4.3.2. Tryby działania
4.4. Podsumowanie
Rozdział 5. Klucze: sejfy, dokumentacja i menadżerowie
5.1. Sejfy na klucze
5.1.1. Ochrona sejfów
5.1.2. Tworzenie kopii zapasowych i odzyskiwanie kluczy
5.2. Dokumentacja kluczy
5.3. Menadżer kluczy
5.3.1. Strefy kluczy
5.3.2. Zarządzanie kluczami
5.4. Podsumowanie
Rozdział 6. Dostawcy i konsumenci kryptograficzni
6.1. Dostawca
6.2. Konsument
6.3. Podsumowanie
CZĘŚĆ III. Projekt kryptograficzny
Rozdział 7. Zarządzanie projektem kryptograficznym
7.1. Kultura bezpieczeństwa
7.2. Zaangażowanie klienta
7.3. Zakres projektu
7.4. Role w projekcie
7.5. Podsumowanie
Rozdział 8. Uściślanie wymagań
8.1. Wymagania dotyczące bezpieczeństwa, reguły i standardy
8.2. Powszechne wymagania
8.2.1. Kontrola dostępu
8.2.2. Czyszczenie danych
8.2.3. Dzienniki i monitorowanie
8.2.4. Typowe zagrożenia
8.2.5. Poufność informacji
8.3. Ocena wymagań
8.4. Określenie standardu kryptograficznego
8.5. Klasyfikacja danych
8.6. Podsumowanie
Rozdział 9. Uściślanie projektu
9.1. Schematy blokowe
9.2. Wytyczne projektowe
9.2.1. Minimalizacja atakowanego obszaru
9.2.2. Przypisywanie możliwie niewielu przywilejów
9.2.3. Rozdzielanie zadań
9.2.4. Zagłębianie ochrony
9.2.5. Bezpieczne awarie
9.2.6. Domyślne bezpieczeństwo
9.2.7. Planowanie strategii obronnej
9.3. Modelowanie zagrożeń
9.4. Wzorce bezpieczeństwa
9.5. Projektowanie systemu kryptograficznego
9.5.1. Wyszukiwanie i profile
9.6. Podsumowanie
Rozdział 10. Bezpieczne tworzenie oprogramowania
10.1. Wskazówki bezpiecznego tworzenia oprogramowania
10.1.1. Czyszczenie wszystkich wejść i wyjść
10.1.2. Wykonywanie z możliwie małymi przywilejami
10.1.3. Usuwanie wrażliwych danych z pamięci
10.1.4. Zapisywanie wszystkich zdarzeń związanych z bezpieczeństwem
10.1.5. Sprawdzanie kodu i binariów
10.1.6. Test bezpieczeństwa jednostki
10.1.7. Korzystanie z przewodnika po bezpieczeństwie języka lub platformy
10.2. Podsumowanie
Rozdział 11. Testowanie
11.1. Funkcjonalne testowanie bezpieczeństwa
11.1.1. Kontrola dostępu
11.1.2. Czyszczenie danych
11.1.3. Dzienniki i monitorowanie
11.1.4. Popularne zagrożenia
11.1.5. Poufność informacji
11.1.6. Sprawdzanie zamiast testowania
11.2. Testy penetracyjne
11.3. Posumowanie
Rozdział 12. Wdrożenie, obrona i plan zamknięcia
12.1. Wdrożenie
12.2. Obrona
12.3. Plan zamknięcia
12.4. Podsumowanie
CZĘŚĆ IV. Przykładowy kod
Rozdział 13. O przykładach
13.1. Programy użytkowe i popularne usługi
13.2. Przykładowa maszyna i sejf na klucze
13.3. Podsumowanie
Rozdział 14. Sejf na klucze
14.1. Klucz lokalny
14.2. Lokalny skład kluczy
14.2.1. Generowanie klucza szyfrującego klucze
14.2.2. Generowanie klucza w lokalnym składzie kluczy
14.2.3. Szyfrowanie klucza
14.2.4. Zapisywanie klucza do składu kluczy
14.2.5. Zastępowanie klucza szyfrującego klucze
14.3. Dostęp do lokalnego klucza
14.4. Podsumowanie
Rozdział 15. Dokumentacja
15.1. Alias klucza
15.1.1. Tworzenie nowego aliasu klucza
15.1.2. Czytanie aliasu klucza z dokumentacji
15.1.3. Czytane bieżącego żywego klucza
15.1.4. Zapisywanie aliasu klucza
15.1.5. Określanie stanu klucza
15.1.6. Zoptymalizowane sprawdzanie stanu
15.2. Podsumowanie
Rozdział 16. Menadżer kluczy
16.1. KeyTool
16.1.1. Interakcja z KeyTool
16.1.2. Generowanie klucza szyfrującego klucze
16.1.3. Ładowanie nowego klucza do składu kluczy
16.1.4. Oglądanie kluczy
16.1.5. Wycofywanie kluczy
16.1.6. Usuwanie kluczy
16.1.7. Aktualizacja oczekujących kluczy
16.2. Podsumowanie
Rozdział 17. Maszyna
17.1. Maszyna lokalna
17.2. Podsumowanie
Rozdział 18. Pokwitowania i dostawca
18.1. Wyniki żądań szyfrowania i odszyfrowania
18.2. Pokwitowania
18.2.1. Pokwitowanie kryptograficzne
18.2.2. Pokwitowanie złożone
18.3. Dostawca
18.3.1. Szyfrowanie danych biznesowych
18.3.2. Odszyfrowywanie danych biznesowych
18.3.3. Zastępowanie kluczy
18.4. Podsumowanie
Rozdział 19. Konsument
19.1. Informacja o kliencie
19.2. Informacje o karcie kredytowej
19.3. Menadżer klienta
19.3.1. Wykorzystanie menadżera klienta
19.3.2. Dodawanie klienta
19.3.3. Oglądanie rekordu klienta
19.3.4. Szukanie klientów
19.3.5. Zastępowanie klucza
19.4. Podsumowanie
Rozdział 20. Wyjątki
20.1. Wyjątek aliasu
20.2. Wyjątek niepoprawnego stanu klucza
20.3. Wyjątek związany z nieznalezieniem klucza
20.4. Wyjątek nieznalezienia żywego klucza
20.5. Wyjątek związany z wieloma ID aliasów
20.6. Wyjątek związany z nieznalezieniem klienta
20.7. Podsumowanie
Rozdział 21. Działający system
21.1. Określanie kluczy
21.1.1. Generowanie klucza szyfrującego klucze
21.1.2. Tworzenie nowego klucza
21.2. Praca z informacjami klienta
21.3. Zastępowanie klucza
21.4. Zastępowanie klucza szyfrującego klucze
21.5. Podsumowanie
Bibliografia
Słownik terminów
Słownik angielsko?polski
Skorowidz