Udany atak sprzętowy na implementację RSA
Za pomocą manipulacji zasilaniem w procesorze osadzonym badaczom z Uniwersytetu Michigan udało się dostać do stosowanego przez ten procesor tajnego klucza RSA. Atak polegał na odpowiednim zakłócaniu procesu wyliczeń sygnatur RSA, które odbywa się z użyciem algorytmu FWE (Fixed Window Exponentation). FWE wykorzystywany jest np. w bibliotece kryptograficznej OpenSSL. Procesorem osadzonym wykorzystanym w ataku był bazujący na SPARC układ SoC LEON3 działający na macierzy FPGA firmy Xilinx; według naukowców jest on jednak także reprezentatywny dla innych systemów tego typu.
Podstawą ataków opisanych w dokumencie – którego autorami są Andrea Pellegrini, Valeria Bertacco i Todd Austin – jest redukowanie napięcia zasilania jednostki procesora do tego stopnia, że od czasu do czasu w operacjach mnożenia niezbędnych do wyliczania sygnatur dochodzi do błędów bitowych. Na podstawie właściwości matematycznych algorytmu FWE z nieprawidłowego podpisu przy pewnych warunkach można wyliczyć do czterech bitów tajnego klucza. Ponieważ nie da się przewidzieć, które sygnatury będą zawierały celowo sprowokowany błąd i które cztery bity uda się z nich wyliczyć, konieczne jest zebranie bardzo wielu próbek.
Do rekonstrukcji tajnego klucza ze zbioru 8800 błędnych sygnatur klaster złożony z 80 pecetów potrzebował około 100 godzin. Według artykułu w "The Register", w którym cytowany jest ekspert od kryptografii Karsten Nohl, algorytm FWE można w prosty sposób wyposażyć w rozpoznawanie błędów, co może chronić przed takimi atakami. Według artykułu twórcy biblioteki OpenSSL zamierzają wkrótce przygotować łatę naprawiającą tę niedoskonałość.
W praktyce atak tego typu byłby bardzo trudny do przeprowadzenia. Według badaczy konieczny jest dostęp do około tysiąca sygnatur, w których przy wyliczaniu doszło do nieprawidłowego mnożenia z dokładnie jednym przekręconym bitem. Nawet w specjalnym systemie testowym badaczy, który praktycznie nie był zajęty niczym innym poza tworzeniem sygnatur, taka sytuacja zdarzyła się jedynie w 10% podpisów.
Poza tym w praktyce tylko nieliczne systemy produkcyjne można było doprowadzić do tego, aby bezustannie wyliczały sygnatury, które napastnik mógłby bez trudu odczytywać. Jeśli procesor jest zajęty głównie innymi zadaniami, to w wyniku manipulacji napięciem dochodzi do błędów i awarii – głównie w kodzie programów innych niż odpowiedzialne za implementację RSA.
Oprócz tego kryptosystemy bazujące na RSA rzadko spotyka się w segmencie urządzeń osadzonych (typu embedded), np. w HDMI/HDCP albo w modułach TPM, które jednak z zasady są implementowane w specjalnych chipach. Z czasem okaże się, na ile atak FWE daje się zastosować w innych procesorach i systemach kryptograficznych. Jednak w wielu scenariuszach – np. w atakach typu cold boot – dotarcie do tajnego klucza może być znacznie łatwiejsze.
Zobacz także
- Fault-Based Attack of RSA Authentication, naukowa publikacja opisująca atak
(pwi)




