Dostarcza prymitywów i konstrukcji dla właściwości takich jak poufność, integralność, uwierzytelnianie źródła, uwierzytelnianie podmiotu i dowody mogące wspierać niezaprzeczalność, a następnie łączy je w protokołach i systemach, których bezpieczeństwo zależy od jawnych założeń, kluczy, parametrów i warunków eksploatacji.
Jej narzędzia obejmują szyfrowanie, kryptograficzne funkcje haszujące, kody uwierzytelniające wiadomości, podpisy cyfrowe, metody ustanawiania kluczy i bezpieczne generowanie bitów losowych. Wybór zatwierdzonego prymitywu to tylko jedna część inżynierii bezpiecznej implementacji i cyklu życia.
Najważniejsze punkty
Cel i modelOkreśl wymaganą właściwość bezpieczeństwa, chronione zasoby, możliwości przeciwnika, granice zaufania, akceptowalne algorytmy i parametry oraz kontekst protokołu, w którym prymityw będzie używany.
Klucze i losowośćGeneruj nieprzewidywalne wartości, chroń klucze prywatne lub tajne, wiąż klucze z autoryzowanymi celami, dystrybuuj je bezpiecznie, rotuj lub wymieniaj, gdy wymagane, i niszcz je odpowiednio.
Implementacja i utrzymanieUżywaj sprawdzonych konstrukcji i bibliotek, unikaj niebezpiecznej kompozycji, testuj interoperacyjność i obsługę awarii, ograniczaj ekspozycję kanałów bocznych oraz migruj, zanim algorytmy lub rozmiary parametrów staną się nieodpowiednie.
Istotne ograniczenieKryptografia nie czyni całego systemu bezpiecznym. Poprawne prymitywy mogą zostać pokonane przez słabą losowość, kradzież kluczy, błędy protokołu, podatne punkty końcowe, wyciek metadanych, defekty implementacji, przestarzałe parametry lub nadużycie przez autoryzowaną stronę.