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

2011-03-01 00:00:00 +0000


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