Aktualne zalecenia co do siły algorytmów kryptograficznych (SP80-131A)

NIST opublikował nowe zalecenia odnośnie siły algorytmów kryptograficznych stosowanych do szyfrowania i ochrony autentyczności danych elektronicznych.

NIST posługuje się w tym dokumencie pojęciem złożoności albo siły algorytmu kryptograficznego (security strength) mierzonym w bitach. Nie jest ona tym samym co długość klucza - np. 3DES ma długość klucza 168 bitów, a siłę - 112 bitów, co wynika z ataków opublikowanych od czasu jego stworzenia. Długość klucza jest stała, a siła może się zmieniać wraz z nowymi odkryciami.

Jeśli chodzi o minimalną wymaganą siłę stosowanych algorytmów to do 2010 roku NIST zalecał min. 80 bitów, w 2011 - min. 112 bitów. W przypadkach gdy dopuszczalna jest nieco większa tolerancja ryzyka, algorytmy zapewniające 80 bitów mogą być stosowane do końca 2013 roku.

Jeśli chodzi o konkretne algorytmy to potrójny DES z dwoma kluczami (2x56) jest od 2011 roku dopuszczalny z ograniczeniami, a od 2015 roku - dopuszczalny przy większej tolerancji ryzyka. Potrójny DES z trzema kluczami (3x56) i wszystkie długości klucza dla szyfru AES są dopuszczalne.

Spośród algorytmów podpisu cyfrowego ("used to provide assurance of origin authentication and data integrity (...) non-repudiation) dopuszczalne algorytmy DSA, RSA i ECDSA. Składanie podpisów kluczami RSA i DSA o długości między 1024 i 2048 bitów jest od 2011 roku dopuszczalne tylko przy większej tolerancji ryzyka, od 2013 roku zabronione. Dopuszczalne są klucze RSA i DSA o długości 2048 bitów i powyżej. Dla klyuczy ECDSA analogiczne przedziały to 160-223 bity oraz 224 bitów i powyżej (zalecane).

Generowanie liczb losowych według algorytmów opisanych w FIPS 186-2, ANSI X9.31-1998 i ANSI X9.62-1998 jest dopuszczalne w latach 2011-2015 i zabronione po 2015 roku. Dopuszczalne są algorytmy opisane w SP 800-90 (HASH, HMAC, CTR, DUAL_EC) i ANSI X9.62-2005 (HMAC).

Dla algorytmów wymiany klucza DH i MQV na polach skończonych można stosować parametry o długości powyżej 1024 bity w latach 2011-2013, po 2013 roku są zabronione. Dopuszczalne są parametry o długości 2048 bitów i powyżej. Dla tych samych algorytmów na krzywych eliptycznych przedział dopuszczony do 2013 roku to 160-223 bitów. Dopuszczalne są długości 224 bitów i więcej.

Jeśli chodzi o kryptograficzne funkcje skrótu to dopuszczalne we wszystkich zastosowań są funkcje z rodziny SHA-2. Funkcja SHA-1 jest dopuszczalna przy większej tolerancji ryzyka w latach 2011-2013, po 2013 roku jest zabroniona. Dotyczy to jednak tylko zastosowań związanych z podpisem cyfrowym, w przypadku innych zastosowań (non-digital signature generation applications) SHA-1 jest nadal dopuszczalne.

Dokument NIST nie jest w Polsce wiążący bo dotyczy ochrony wrażliwych ale nieobjętych klauzulą tajności danych w administracji publicznej USA ("use of cryptography by Federal government agencies for the protection of sensitive, but unclassified information"), ale publikacje NIST są powszechnie traktowane jako wartościowe źródło sprawdzonych i czytelnie podanych informacji.

http://csrc.nist.gov/publications/nistpubs/800-131A/sp800-131A.pdf

Comments

Comment viewing options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Select your preferred way to display the comments and click "Save settings" to activate your changes.

Nawiasem mówiąc, gdyby ktoś szukał podobnych zaleceń w UE:

Witam,

przydatny artykuł. Mam jednak uwagę, co do fragmentu o wymogu, by RSA miało długość klucza powyżej 2048. Wydaje mi się jednak, że cytowane źródło sugeruje, by używać 2048 i dłuższych. Więc domknięcie przedziałów wygląda nieco inaczej.

Dzięki, racja - poprawiłem również dla ECC.