Top Banner
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
17

Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

Jan 21, 2016

Download

Documents

walden

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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 2: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 3: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 4: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 5: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 6: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 7: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

Simple Power AnalysisSimple Power Analysis

Dokładna analiza Dokładna analiza

Q - podnoszenie do kwadratuQ - podnoszenie do kwadratu

M – mnożenieM – mnożenie

Page 8: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 9: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 10: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 11: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 12: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 13: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 14: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

Electromagnetic AnalysisElectromagnetic Analysis

Metody akwizycji danychMetody akwizycji danych

Sonda do badania natężenia pola

Układ poddawany obserwacji

Page 15: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

Electromagnetic AnalysisElectromagnetic Analysis

Pierwsza runda algorytmu DES

Page 16: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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

Page 17: Metody ataku na algorytmy kryptograficzne oparte na informacjach z ulotu elektromagnetycznego

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