Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego Robert Borzęcki
Plan Prezentacji Ulot informacji w układach w technologii CMOS Atak SPA – prosta analiza prądowa Przykład ataku na algorytm RSA Atak DPA – różnicowa analiza prądowa Przykład ataku na algorytm DES Ataki EMA Metody przeciwdziałania PA i EMA
Ulot informacji w układach w technologii CMOS Poziomy logiczne odpowiadają wartościom napięć Pobór prądu tylko w czasie zmiany stanu w czasie przełączenia przez krótki czas między tranzystorami n i p płynie prąd
Ulot informacji w układach w technologii CMOS Minimalna moc pobierana w czasie przełączenia Czas przełączenia zależny od szybkości ładowania i rozładowywania pojemności wewnętrznej Przełączenie jednego układu – niezauważalne Przełączenie wielu – pobór mocy rzędu kilkudziesięciu watów
Simple Power Analysis Bezpośrednia obserwacja zużycia prądu przez układ w czasie operacji kryptograficznych Ilość pobieranej energii zależy od rodzaju wykonywanych operacji Analiza poboru prądu pozwala rozróżnić poszczególne etapy algorytmu kryptograficznego Dokładniejsza analiza pozwala rozróżnić poszczególne operacje R układ
Simple Power Analysis Wejście: wiadomość m do zaszyfrowania publiczna liczba n tajny wykładnik d o długości k bitów niech s = m for i=k-2 downto 0 s=s^2 mod n if( i-ty bit d jest równy 1) s=s x m mod n endfor Wyjście: s=m^d mod n
Simple Power Analysis Dokładna analiza Q - podnoszenie do kwadratu M – mnożenie
Simple Power Analysis Podsumowanie Metoda skuteczna przeciwko algorytmom, których działanie zależy od przetwarzanych danych Wymaga dokładnej znajomości algorytmu
Differential Power Analysis Dwie fazy ataku: Rejestracja danych Analiza danych Rejestracja danych ma na celu zapis poboru prądu przez urządzenie w czasie operacji wykorzystujących tajny klucz. Zależnie od algorytmu wymagana jest inna liczba pomiarów 16 rund algorytm DES
Differential Power Analysis Analiza danych: Zdefiniowanie funkcji wyboru D(C,k) Funkcja D dzieli zbiór obserwacji na dwie części, skorelowane i nieskorelowane z wynikiem szyfrowania (C) dla hipotetycznego klucza k Dla każdej przewidywanej wartości klucza obliczana jest wartość średnia poprzez odjęcie wektorów nieskorelowanych od skorelowanych Wybór klucza na podstawie określonego kryterium
Differential Power Analysis Przykład ataku na algorytm DES Gromadzenie danych 1000 pomiarów po 100000 próbek T[0...999][0…99999] Zaszyfrowane teksty C[0…999] Cel ataku: 6 bitów (Ki) klucza DES używanych na wejściu S-Box’a 4 Funkcja wyboru (D) Permutacja początkowa (IP) szyfrogramu C Podział C na R i L Rozszerzenie E części R Wybór z R bitów do S-Boxa 4 XOR z hipotetycznym kluczem Ki
Differential Power Analysis Przebieg funkcji D C Ki IP(C) L R E(R) porównanie Wybór bitu 1011 S4 D(C,Ki) P()
Differential Power Analysis Stworzenie wektorów średnich dla każdego z możliwych kluczy Ki - S[0…63][0…99999] Wektor, w którym występują o największej wartości szczytowe odpowiada prawdziwemu kluczowi Ki
Electromagnetic Analysis Metody akwizycji danych Sonda do badania natężenia pola Układ poddawany obserwacji
Electromagnetic Analysis Pierwsza runda algorytmu DES
Porównanie Różnice między PA i EMA: Większy SNR EMA w stosunku do PA Funkcje wyboru dają lepsze rezultaty Bezinwazyjność EMA
Przeciwdziałanie atakom Czas działania algorytmu niezależny od przetwarzanych danych Ekranownie ( sieć elektryczna, promieniowanie elektromagnetyczne) Software zaprojektowany z uwzględnieniem ulotu Rozwiązania sprzętowe