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