Co się wydarzyło
Pierwsza praca dotyczy liczenia pierwiastków modulo N, gdy atakujący ma wcześniej dostęp do „wyroczni” podpisującej – w praktyce do urządzenia, które podpisuje dane kluczem RSA przez interfejs PKCS#11, na przykład modułu HSM. Autorzy pokazują, że gdy atakujący kontroluje mniej więcej połowę podpisywanego bloku lub więcej, wypełnienie (padding) przestaje chronić. Obejmuje to także długie dane w formacie PKCS#1 v1.5. Samo obliczenie 1024-bitowe przeprowadzono dla podpisu „surowego”, bez wypełnienia.
Na tej samej instancji problemu co we wcześniejszej pracy pierwszy pierwiastek kosztował 391 lat pracy rdzenia CPU zamiast 1380. Dwóch współpracujących agentów AI zaprojektowało, uruchomiło i debugowało obliczenie w mniej niż cztery dni; według SecurityWeek badacz wysłał im około 20 wiadomości, głównie zatwierdzeń. Atak wymaga około 4 mld zapytań do urządzenia podpisującego, wykonanych zawczasu, i nie odzyskuje klucza prywatnego.
Druga praca dotyczy faktoryzacji wielu kluczy tej samej długości: po jednym dużym obliczeniu wstępnym każdy kolejny 1024-bitowy klucz miałby być średnio około 30 razy tańszy niż przy najlepszej dotychczasowej metodzie. To szacunek teoretyczny – metody nie zaimplementowano. Autorzy podkreślają, że wyniki nie zagrażają wdrożonym systemom z kluczami RSA 2048-bitowymi i dłuższymi.
Najważniejsze ustalenia
- 391 zamiast 1380 lat pracy rdzenia CPU – 3,5 razy mniej na tej samej instancji problemu.
- Warunki: około 4 mld zapytań do urządzenia podpisującego z wyprzedzeniem; według SecurityWeek metoda nie działa na urządzenia, które same liczą skrót podpisywanej wiadomości.
- Klucza nie odzyskano; jego faktoryzacja wymagałaby według SecurityWeek od 0,5 do 1 mln lat pracy rdzenia.
- Faktoryzacja wsadowa: około 30 razy taniej na każdy kolejny klucz – na razie tylko szacunek.
- Klucze RSA 2048-bitowe i dłuższe według autorów pozostają bezpieczne.