Poziom bezpieczeństwa
W kryptografii poziom bezpieczeństwa jest miarą siły, jaką osiąga prymityw kryptograficzny — taki jak szyfr lub funkcja skrótu . Poziom bezpieczeństwa jest zwykle wyrażany jako liczba „ bitów bezpieczeństwa” (również siła bezpieczeństwa ), gdzie n -bitowe bezpieczeństwo oznacza, że atakujący musiałby wykonać 2 n operacji, aby go złamać, ale zaproponowano inne metody, które dokładniej modelują koszty atakującego. Pozwala to na wygodne porównywanie algorytmów i jest przydatne podczas łączenia wielu prymitywów w a kryptosystem hybrydowy , więc nie ma wyraźnego najsłabszego ogniwa. Na przykład AES -128 ( rozmiar klucza 128 bitów) ma zapewniać 128-bitowy poziom bezpieczeństwa, który jest uważany w przybliżeniu za odpowiednik RSA wykorzystującego klucz 3072-bitowy.
W tym kontekście zapewnienie bezpieczeństwa lub docelowy poziom bezpieczeństwa to poziom bezpieczeństwa, do osiągnięcia którego początkowo zaprojektowano element podstawowy, chociaż w tych kontekstach czasami używany jest również „poziom bezpieczeństwa”. W przypadku wykrycia ataków, których koszt jest niższy niż w przypadku zabezpieczenia, element pierwotny uznaje się za uszkodzony .
W kryptografii symetrycznej
Algorytmy symetryczne mają zwykle ściśle określone wymagania dotyczące bezpieczeństwa. W przypadku szyfrów symetrycznych jest on zwykle równy rozmiarowi klucza szyfru – co odpowiada złożoności ataku brute-force . Kryptograficzne funkcje skrótu o rozmiarze wyjściowym n bitów mają zwykle poziom bezpieczeństwa odporności na kolizję n /2 i poziom odporności na obraz wstępny n . Dzieje się tak, ponieważ ogólny atak urodzinowy zawsze może znaleźć kolizje w 2 n/2 kroków. Na przykład SHA-256 oferuje 128-bitową odporność na kolizje i 256-bitową odporność na obraz wstępny.
Istnieją jednak pewne wyjątki od tej zasady. Szyfry Phelix i Helix to 256-bitowe szyfry oferujące 128-bitowy poziom bezpieczeństwa. Warianty SHAKE SHA-3 są również różne: w przypadku 256-bitowego rozmiaru wyjściowego SHAKE-128 zapewnia 128-bitowy poziom bezpieczeństwa zarówno dla odporności na kolizje, jak i przedobrazu.
W kryptografii asymetrycznej
Projekt większości algorytmów asymetrycznych (tj. kryptografii klucza publicznego ) opiera się na schludnych problemach matematycznych , których obliczenia są skuteczne w jednym kierunku, ale nieefektywne w przypadku odwracania ich przez atakującego. Jednak ataki na obecne systemy klucza publicznego są zawsze szybsze niż przestrzeni klucza metodą brute-force . Ich poziom bezpieczeństwa nie jest ustalany w czasie projektowania, ale reprezentuje założenie dotyczące twardości obliczeniowej , które jest dostosowywane w celu dopasowania do najlepszego obecnie znanego ataku.
Opublikowano różne rekomendacje szacujące poziom bezpieczeństwa algorytmów asymetrycznych, które różnią się nieznacznie ze względu na odmienną metodologię. W przypadku kryptosystemu RSA na 128-bitowym poziomie bezpieczeństwa NIST i ENISA zalecają stosowanie kluczy 3072-bitowych i 3253-bitowych IETF . Kryptografia krzywych eliptycznych wymaga krótszych kluczy, dlatego zalecane są 256–383 (NIST), 256 (ENISA) i 242 bity (IETF).
Typowe poziomy
W poniższej tabeli przedstawiono przykłady typowych poziomów bezpieczeństwa dla typów algorytmów, zgodnie z sekcją 5.6.1.1 zalecenia US NIST SP-800-57 dotyczącego zarządzania kluczami.
Bity bezpieczeństwa | Klucz symetryczny | Pole skończone/logarytm dyskretny (tj. DH) | Faktoryzacja liczb całkowitych (tj. RSA) | Krzywa eliptyczna (np. x25519) |
---|---|---|---|---|
80 | 2TDEA † | L=1024, N=160 | k=1024 | f=160-223 |
112 | 3TDEA † | L=2048, N=224 | k=2048 | f=224-255 |
128 | AES | L=3072, N=256 | k=3072 | f=256-383 |
192 | AES | L=7680, N=384 | k=7680 | f=384-511 |
256 | AES | L=15360, N=511 | k=15360 | f=512+ |
† DES został wycofany w 2003 roku
Znaczenie słowa „zepsuty”
Element kryptograficzny uznaje się za uszkodzony, jeśli w wyniku ataku okaże się, że poziom bezpieczeństwa jest niższy niż deklarowany. Jednak nie wszystkie takie ataki są praktyczne: większość obecnie zademonstrowanych ataków zajmuje mniej niż 240 operacji , co na przeciętnym komputerze PC oznacza kilka godzin. Najbardziej kosztownym zademonstrowanym atakiem na funkcje skrótu jest atak 2 61.2 na SHA-1, który trwał 2 miesiące na procesorach graficznych 900 GTX 970 i kosztował 75 000 dolarów (chociaż badacze szacują, że do znalezienia kolizji potrzeba było tylko 11 000 dolarów).
Aumasson wyznacza granicę pomiędzy atakami praktycznymi i niepraktycznymi w 2 80 operacjach. Proponuje nową terminologię:
- Zepsuty prymityw ma atak wymagający ≤ 2 80 operacji . Atak może zostać przeprowadzony w sposób wiarygodny.
- Ranny prymityw ma atak wymagający od 280 do około 2100 operacji . Atak nie jest obecnie możliwy, ale przyszłe ulepszenia prawdopodobnie umożliwią to.
- Zaatakowany prymityw ma atak, który jest tańszy niż zabezpieczenie, ale znacznie droższy niż 2 100 . Taki atak jest zbyt odległy od praktycznego.
- Wreszcie analizowany prymityw to taki, w przypadku którego nie ma ataków tańszych niż jego zabezpieczenia.
Dalsza lektura
- Aumasson, Jean-Philippe (2020). Za dużo kryptowalut (PDF) . Sympozjum dotyczące kryptowalut w świecie rzeczywistym.