SIX Research Centre Vysoké učení technické v Brně martinasek@feec.vutbr.cz crypto.utko.feec.vutbr.cz
Kryptoanaly za postrannı mi kana ly Proudova analy za Pr edstavenı U vod Crypto Research Group, Vysoke uc enı technicke v Brne Mala skupina cca 10 c lenu, souc a st U stavu telekomunikacı, Fakulty elektrotechniky a komunikac nı ch technologiı VUT v Brne, laborator e jsou s pic kove vybaveny dı ky SIX Research Centre, za kladnı a aplikovany vy zkum, http://crypto.utko.feec.vutbr.cz/. Zdene k Martina sek Postrannı mi kana ly k tajemstvı c ipovy ch karet
Kryptoanaly za postrannı mi kana ly Proudova analy za Pr edstavenı U vod Oblasti vy zkumu a vy voje Za kladnı vy zkum: na vrh protokolu zajis t ujı cı ch ochranu soukromı, odlehc ena (light-weight) kryptografie, kryptoanaly za postrannı mi kana ly. Implementace: c ipove karty (Java,.NET, MultOS), mobilnı telefony (ios, Android), vysokorychlostnı syste my, senzory a mikrokontrole ry. Zdene k Martina sek Postrannı mi kana ly k tajemstvı c ipovy ch karet
Představení Úvod Kryptoanalýza postranními kanály - definice Útočník Informační systém Bezpečnostní subsystém Nežádoucí komunikace Vstupy Kryptografický modul Výstupy Konveční způsoby útoku Senzitivní informace Útoky postranními kanály
Představení Úvod Kryptoanalýza postranními kanály - definice Definice postranního kanálu (PK) každý nežádoucí způsob výměny informace mezi kryptografickým modulem a jeho okoĺım. Analýza postranního kanálu nazýván celý postup získání užitečné informace ze signálu postranního kanálu (měření, zpracování, vyhodnocení atd.). Útok postranním kanálem využití takto získané informace k napadení daného kryptografického modulu. Dělení postranních kanálů - vychází z fyzikální veličiny nebo typu informace prosakující skrze postranní kanál (čas, proudová spotřeba, elektromagnetické vlnění, akustické vlnění atd.).
(PA) Studuje proudovou spotřebu kryptografického modulu v závislosti na jeho činnosti, představena v roce 1998 panem Kocherem, v dnešní době představuje efektivní a úspěšný způsob útoku cílený na bezpečné algoritmy např. AES nebo RSA, útoky cíleny na bezpečné kryptografické zařízení čipové karty, mobilní telefony, ATM, komplexní problematika obsahující měření proudové spotřeby, znalost kryptografických algoritmů, zpracování signálu, statistiku atd.
Proudová spotřeba kryptografického modulu není náhodná, ale je přímo závislá na probíhajících operacích (algoritmu) a zpracovávaných datech, široká aplikovatelnost v podstatě na všechny elektronické kryptografické zařízení. 1. Runda 2. Runda 3. Runda 4. Runda 5. Runda 6. Runda 7. Runda 8. Runda 9. Runda 10. Runda
- AES 1 runda (operace)
- AddRoundKey (MOV instrukce)
- MOV instrukce
- MOV instrukce
Nejdůležitější fakta, proč PA funguje? proudová spotřeba je závislá na operacích vykonávaných kryptografickým modulem, proudová spotřeba je přímo závislá na zpracovávaných datech dle: Hammingovy váhy (čipové karty), Hammingovy vzdálenosti (mikrokontroléry PIC), Zero-value (hardwarové implementace), pro proudovou analýzu lze použít jen zajímavé body, které nesou informaci o zpracovávaných datech, základní dělení: (Simple Power Analysis), (Differential Power Analysis).
Jednoduchá proudová analýza - Technika, která přímo interpretuje proudovou spotřebu, jednoduchá proudová analýza využívá pouze několik měření (extrémním případě jedno), vhodná tam, kde je proudová spotřeba silně závislý na zpracovávaných datech, nutná detailní znalost zařízení a algoritmu, přímé pozorování proudové spotřeby útočník určuje senzitivní informaci přímo z proudové spotřeby (postupné vykonávání algoritmu), útok využívající šablony útočník si připraví šablony, kterými charakterizuje zařízení a pomocí šablon pak provede útok.
Přímé pozorování proudové spotřeby - algoritmu RSA útok na implementaci modulárního mocnění c = m k modn, analogie, časový postranní kanál. Algoritmus square and multiply 1.c = 1 2.for i = 0:(b - 1) { 3. c = (c*c)mod(n) 4. if (k(i)==1) { 5. c=(c*m)mod(n) } 6. } 7. return c
Přímé pozorování proudové spotřeby - algoritmu RSA Proudová spotřeba prováděného algoritmu RSA.
Útok využívající šablony - Template attack Nejznámější a teoreticky nejúčinější útok, útočník charakterizuje profilující zařízení pomocí šablon, pomocí šablon realizuje útok na cílené zařízení, klasické šablony jsou vytvořeny pomocí vektoru středních hodnot a kovarianční matice (m,c), teorie a matematika vynechána.
Útok využívající šablony - Template attack
Útok využívající šablony - Template attack
Diferenciální proudová analýza - Nejvíce populární typy útoků, není nutná detailní znalost kryptografického modulu (postačuje znalost implementovaného algoritmu), dokáží odhalit senzitivní informaci i v případě velké hodnoty šumu, cílem je odhalit tajný kĺıč (po bajtech) kryptografického modulu za pomocí velkého počtu naměřených průběhů proudové spotřeby, analyzují závislost proudové spotřeby na zpracovávaných datech (porovnání hypotetické proudové spotřeby se skutečnou).
- základní princip
- výsledek
Ochrany proti proudové analýze Cílem protiopatření je, aby závislost proudové spotřeby na zpracovávaných datech byla co nejmenší a co nejvíce náhodná, metody se děĺı do dvou velkých skupin: Skrývání a Maskování, tyto metody pak lze implementovat hardwarově nebo softwarově, skrývání znáhodňuje proudovou spotřebu ovlivněním časové oblasti a amplitudy proudové spotřeby (prázdné instrukce, míchání), maskování znáhodňuje mezivýsledek náhodnou maskou.
Závěr představuje efektivní útok proti dnes používaným šifrovacím algoritmům a kryptografickým zařízením (čipové karty, FPGA), nestačí zvolit kvalitní šifru, ale je nutná správná implementace, protiopatření musí být také správně implementovány (např. chyba v Contest, ATMega-163 smart-card, RSM AES), implementace testovat alespoň na prvního řádu, možná spolupráce s VUT, experimentální pracoviště, testování pro komerční podniky (tento rok 2X).
Děkuji za pozornost! martinasek@feec.vutbr.cz crypto.utko.feec.vutbr.cz