Aktualny poziom bezpieczeństwa kryptograficznych funkcji skrótu

Opublikowany w ubiegłym miesiącu dokument NIST SP 800-107 zawiera, poza głównym tematem jakim jest randomizowany skrót na potrzeby podpisu cyfrowego, także interesującą analizę aktualnego stanu bezpieczeństwa kryptograficznych funkcji skrótu.

Pod uwage brana jest funkcja SHA1 oraz funkcje z serii SHA-2 czyli SHA-224, SHA-256, SHA-384 i SHA-512. Ich praktyczna odporność na ataki dotykające funkcji haszujących jest przedstawiona w poniższe tabeli zaczerpniętej z SP 800-107. Wszystkie odporności są mierzone w bitach:

Atak / Funkcja SHA1 SHA-224 SHA-256 SHA-384 SHA-512
Kolizja <80 112 128 192 256
Preimage 160 224 256 384 512
Second preimage 105-160 201-224 201-256 384 394-512

Dla SHA-1 podana jest wartość <80 czyli "mniej niż 80". Jest to o tyle istotne, że wartość 80 bitów to dolna granica złożoności obliczeniowej (odporności), jaką posługuje się NIST w stosunku do podstawowych algorytmów kryptograficznych. Aktualny szacunek dla SHA-1 według SP 800-107 to 60 bitów, czyli grubo poniżej granicy 80 bitów.

Podane wartości mają istotne znaczenie dla wyboru funkcji skrótu w różnych zastosowaniach. Na przykład większość dostępnych w Internecie serwerów SSL (banków, sklepów internetowych) negocjuje domyślnie SSL z funkcją skrótu MD5 i nie wywołuje to specjalnej sensacji, ze względu na krótkotrwały charakter tych połączeń.

Drugie zastosowanie funkcji skrótu w protokole SSL czyli ochrona autentyczności stron za pomocą certyfikatów X.509 wymaga długotrwałej odporności na wymienione ataki - i tutaj obecność MD5 w certyfikatach znanego CA wywołała niedawno umożliwiła ich podrobienie.

Zgodnie z zaleceniami NIST opisanymi we wspomnianej publikacji SP 800-107 oraz - szerzej - w 800-57 funkcja MD5 nie powinna być używana w zastosowaniach związanych z podpisem cyfrowym już od 1999 roku.

W stosunku do SHA-1 taką rekomendację wyznaczono na rok 2010. A ściślej, wyznaczono ją dla wszystkich algorytmów posługując się kryterium zapewnianej odporności mierzonej w bitach. I tak:

  • do 2010 roku powinny być używane algorytmy zapewniające minimum 80 bitów - nie powinny być stosowane klucze RSA i DSA krótsze niż 1024 bity,
  • w latach 2011-2030 powiny być używane algorytmy zapewniające min. 112 bitów - wycofany powinien zostać 3DES z dwoma kluczami (2TDEA), minimalna długość kluczy RSA i DSA to 2048 bitów,
  • po roku 2030 powinny być używane algorytmy zapewniające min. 128 bitów - wycofany powinien być każdy warian 3DES, minimalne długości kluczy RSA i DSA to 3072 bity

Zgodnie z zaleceniami SP 800-57 po aktualizacji w 2008 roku SHA-1 jako zapewniające odporność mniejszą niż 80 bitów nie powinno być stosowane w noywych implementacjach.


Odpowiedzi

Dodaj nową odpowiedź

Zawartość tego pola nie będzie udostępniana publicznie. If you have a Gravatar account, used to display your avatar.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <b> <i> <table> <tr> <td> <th> <pre> <blockquote>
  • LaTex commands embedded in text will be interpreted and rendered. Additional information can be found at DruTex Documentation Pages
    • Line and paragraphs break automatically.
    • Assists automatic numbering of tex, equation, and equations environments.
    • Provides different environments to create rendered images (especially maths).
    • Znaki końca linii i akapitu dodawane są automatycznie.
    • Adresy internetowe są automatycznie zamieniane w klikalne odnośniki.
    • E-Mail addresses are hidden with reCAPTCHA Mailhide.

    Więcej informacji na temat formatowania

    CAPTCHA
    Poniższy test chroni przed automatami spammerskimi.