Badania prowadzone przez francuski instytut badań w dziedzinie informatyki i automatyki (INRIA) oraz Nanyang Technological University (Singapur) przedstawiły metodę ataku (), która jest przedstawiana jako pierwsza praktyczna realizacja ataku na algorytm SHA-1, mogąca być używana do tworzenia fałszywych podpisów cyfrowych PGP i GnuPG. Badacze uważają, że teraz wszystkie praktyczne ataki na MD5 mogą być stosowane również do SHA-1, chociaż wciąż wymagają znaczących zasobów do przeprowadzenia.
Metoda opiera się na przeprowadzeniu , pozwalającego na dobranie dodatków do dwóch dowolnych zestawów danych, aby uzyskać pary wywołujące kolizję, z zastosowaniem algorytmu SHA-1, które prowadzą do wygenerowania tego samego wynikowego hasha. Innymi słowy, dla dwóch istniejących dokumentów można obliczyć dwa dodatki, i jeśli jeden dołączy się do pierwszego dokumentu, a drugi do drugiego — wynikowe hashe SHA-1 dla tych plików będą identyczne.
Nowa metoda różni się od wcześniej proponowanych podobnych technik zwiększoną efektywnością wyszukiwania kolizji i wykazaniem praktycznego zastosowania do ataku na PGP. W szczególności badacze byli w stanie przygotować dwa otwarte klucze PGP o różnej wielkości (RSA-8192 i RSA-6144) z różniącymi się identyfikatorami użytkownika oraz z certyfikatami wywołującymi kolizję SHA-1. zawierał identyfikator ofiary, a zawierał imię i obraz atakującego. Dzięki dostosowaniu kolizji certyfikat identyfikujący klucze, zawierający klucz i obraz atakującego, miał ten sam hash SHA-1, co certyfikat identyfikacyjny, zawierający klucz i imię ofiary.
Atakujący mógł zażądać podpisu cyfrowego dla swojego klucza i obrazu w zewnętrznym centrum certyfikacji, a następnie przenieść cyfrowy podpis dla klucza ofiary. Cyfrowy podpis pozostaje ważny z powodu kolizji i potwierdzenia klucza atakującego przez centrum certyfikacji, co pozwala atakującemu na przejęcie kontroli nad kluczem z imieniem ofiary (ponieważ hash SHA-1 dla obu kluczy jest identyczny). Ostatecznie atakujący może udawać ofiarę i podpisać każdy dokument w jej imieniu.
Atak wciąż pozostaje dość kosztowna, ale już w pełni na kieszeń służb specjalnych i dużych korporacji. Dla prostego znalezienia kolizji przy użyciu tańszego GPU NVIDIA GTX 970 koszty wyniosły 11 tysięcy dolarów, a dla znalezienia kolizji z zadanym prefiksem — 45 tysięcy dolarów (dla porównania w 2012 roku koszty znalezienia kolizji w SHA-1 oceniano na 2 miliony dolarów, a w 2015 roku — na 700 tysięcy). Aby przeprowadzić praktyczną atak na PGP, potrzebowano dwóch miesięcy obliczeń z wykorzystaniem 900 GPU NVIDIA GTX 1060, których wynajem kosztował badaczy 75 tysięcy dolarów.
Proponowana przez badaczy metoda wykrywania kolizji jest około 10 razy efektywniejsza od wcześniejszych osiągnięć — poziom trudności obliczeń kolizji udało się obniżyć do 261,2 operacji, zamiast 264,7, a kolizji z zadanym prefiksem do 263,4 operacji zamiast 267,1. Badacze zalecają jak najszybsze przejście z SHA-1 na SHA-256 lub SHA-3, ponieważ ich prognozy wskazują, że w 2025 roku koszt przeprowadzenia ataku spadnie do 10 tysięcy dolarów.
Deweloperzy GnuPG zostali powiadomieni o problemie 1 października (CVE-2019-14855) i 25 listopada w wydaniu GnuPG 2.2.18 podjęli środki w celu zablokowania problematycznych certyfikatów — wszystkie cyfrowe identyfikujące podpisy SHA-1, utworzone po 19 stycznia ubiegłego roku, są teraz uważane za nieprawidłowe. W CAcert, jednym z głównych centrów certyfikacji dla kluczy PGP, planują przejście na stosowanie bardziej bezpiecznych funkcji skrótu do certyfikacji kluczy. Deweloperzy OpenSSL, w odpowiedzi na informacje o nowej metodzie ataku, postanowili wyłączyć SHA-1 na proponowanym domyślnym pierwszym poziomie zabezpieczeń (SHA-1 nie będzie mogło być używane dla certyfikatów i podpisów cyfrowych w procesie negocjacji połączeń).
Źródło: opennet.ru
