Nazwanie wyników badań grupy badaczy początkiem końca SHA-1 może nie jest zbyt trafnym określeniem, ponieważ proces wycofywania tej funkcji skrótu z powszechnego użycia rozpoczął się dużo wcześniej. Niemniej jednak przedstawione rezultaty mogą być mocnym impulsem do jego przyśpieszenia.
Kolizja funkcji skrótu
Dzięki zastosowaniu funkcji skrótu jesteśmy w stanie dla dużych danych wejściowych wygenerować skrót o określonej, niedużej długości. Funkcje skrótu są wykorzystywane m.in. do wygenerowania podpisu cyfrowego, gdzie najpierw tworzony jest skrót z wiadomości i dopiero ten skrót poddawany jest przekształceniom z wykorzystaniem klucza prywatnego. Po pierwsze znacznie przyśpiesza to proces podpisu (operacja kryptograficzna wykonywana jest na małej porcji danych wejściowych, na skrócie), a po drugie pozwala na prostą weryfikację integralności przesyłanej wiadomości (zdeszyfrowany za pomocą klucza publicznego podpis musi dać skrót, który będzie identyczny jak skrót wygenerowany z jawnej wiadomości).
Każda funkcja skrótu musi posiadać dwie główne cechy:
- jednokierunkowość, czyli brak możliwość odtworzenia wiadomości z jej skrótu;
- odporność na kolizję, czyli ochrona przed praktyczną możliwością znalezienia dwóch różnych wiadomości dających ten sam skrót.
I właśnie druga z tych właściwości funkcji skrótu SHA-1 została bardzo osłabiona we wspomnanej publikacji.
Kolizja tanim kosztem
Co przynosi nowe odkrycie? Dla zobrazowania w czym rzecz krótkie porównanie. W 2012 roku szacowano, że w roku 2015 wygenerowanie kolizji funkcji skrótu SHA-1 będzie wiązało się z kosztem 700 000 $. Jednak dzisiaj, pod koniec roku 2015, dzięki pracy nazwanej Freestart collision for full SHA-1 wiemy, że możliwe jest osiągnięcie tego celu znacznie tańszym kosztem, mieszczącym się w przedziale 75 000 $ – 120 000 $. Kwoty te nadal nie są małe, ale z pewnością przyciągną większą liczbę badaczy.
Możliwość szybkiego znalezienia kolizji SHA-1 w odniesieniu do podpisu cyfrowego oznacza, że możliwe jest wygenerowanie identycznego podpisu dla różnych wiadomości. O tym jakie wiążą się z tym konsekwencje chyba nie trzeba pisać.
Jeżeli nie musisz, nie korzystaj z SHA-1
Wszędzie tam, gdzie ciągle jeszcze obecna jest 20-letnia już funkcja skrótu SHA-1 powinna być ona zastąpiona nowszymi, bezpieczniejszymi jej następcami. Obecnie mam na myśli głównie rodzinę funkcji skrótu SHA-2, w której składa wchodzą SHA-224, SHA-256, SHA-384 i SHA-512.
Większość z dostawców oprogramowania, w tym Microsoft, Google i Mozilla dużo wcześniej ogłosiły swoje plany związane z wycofywaniem wsparcia dla SHA-1. Jako datę ostatecznego końca końca SHA-1 wyznaczono rok 2017. Niektórzy z nich już rok temu zdecydowali się na wprowadzenie graficznych ostrzeżeń odnośnie wykorzystywania SHA-1 w certyfikatach SSL (Google – Chrome).
Także CA/Browser Forum jasno mówi, że od początku roku 2016 zabronione będzie wydawanie certyfikatów SSL podpisanych w oparciu funkcję skrótu SHA-1. Co prawda, w ostatnim czasie pojawiła się propozycja wydłużenia tego terminu o rok, ale wydaje się jednak, że w obliczu najnowszych badań ma małe szanse na akceptację.