1 Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznegoRobert Borzęcki
2 Plan Prezentacji Ulot informacji w układach w technologii CMOSAtak 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
3 Ulot informacji w układach w technologii CMOSPoziomy 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
4 Ulot informacji w układach w technologii CMOSMinimalna 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
5 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
6 Simple Power Analysis Wejście: wiadomość m do zaszyfrowaniapubliczna 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
7 Simple Power Analysis Dokładna analiza Q - podnoszenie do kwadratuM – mnożenie
8 Simple Power Analysis PodsumowanieMetoda skuteczna przeciwko algorytmom, których działanie zależy od przetwarzanych danych Wymaga dokładnej znajomości algorytmu
9 Differential Power AnalysisDwie 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
10 Differential Power AnalysisAnaliza 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
11 Differential Power AnalysisPrzykład ataku na algorytm DES Gromadzenie danych 1000 pomiarów po próbek T[ ][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
12 Differential Power AnalysisPrzebieg funkcji D C Ki IP(C) L R E(R) porównanie Wybór bitu 1011 S4 D(C,Ki) P()
13 Differential Power AnalysisStworzenie 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
14 Electromagnetic AnalysisMetody akwizycji danych Sonda do badania natężenia pola Układ poddawany obserwacji
15 Electromagnetic AnalysisPierwsza runda algorytmu DES
16 Porównanie Różnice między PA i EMA: Większy SNR EMA w stosunku do PAFunkcje wyboru dają lepsze rezultaty Bezinwazyjność EMA
17 Przeciwdziałanie atakomCzas działania algorytmu niezależny od przetwarzanych danych Ekranownie ( sieć elektryczna, promieniowanie elektromagnetyczne) Software zaprojektowany z uwzględnieniem ulotu Rozwiązania sprzętowe