SIX Research Centre Vysoké učení technické v Brně martinasek@feec.vutbr.cz crypto.utko.feec.vutbr.cz
Proudová analýza (PA) 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, důležitá implementace protiopatření. 1. Runda 2. Runda 3. Runda 4. Runda 5. Runda 6. Runda 7. Runda 8. Runda 9. Runda 10. Runda
Proudová analýza 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 1 (čipové karty), Hammingovy vzdálenosti (mikrokontroléry PIC), Zero-value (hardwarové implementace), základní dělení: SPA (Simple Power Analysis), DPA (Differential Power Analysis)- výhody. 1 Počet nenulových bitů ve slově.
Proudová spotřeba MOV instrukce!
DPA princip - porovnání spotřeby s odhadem Prooudové průběhy T vzorky Odhad proudové spotřeby pro S-box, H 256 klíčů (0 až 255) 8 průběhů Pro 8 průběhů Čas, ve kterém krypt. modul zpracovává S-box Korelace Správný odhad klíče R i = corr(t,h i )
DPA výsledek matice R
základní dělení Obecným 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á, vede k neaplikovatelnosti proudových analýz, metody se děĺı do dvou velkých skupin: Skrývání (hiding) a Maskování (masking), tyto metody pak lze implementovat hardwarově nebo softwarově.
Skrývání Cílem je zajištění nezávislosti proudové spotřeby na zpracovávaných datech, prvním způsobem je snaha o vyrobení zařízení, které bude mít proudovou spotřebu náhodnou (pro stejné instrukce, data různá proudové spotřeba), druhým způsobem je snaha o vyrobení zařízení, které bude mít proudovou spotřebu konstantní pro všechny instrukce a data, v praxi se k těmto cílům bĺıžíme použitím metod ovlivňující časovou oblast a okamžitou amplitudu proudové spotřeby.
základní princip Ovlivnění okamžité amplitudy Ovlivnění časové oblasti
Skrývání - ovlivnění časové oblasti Z principu DPA je požadována synchronizace proudových průběhů (např. výstup S-box vždy ve stejný čas), požadujeme, aby kryptografické zařízení provádělo instrukce v náhodném pořadí, následně se proudová spotřeba jeví jako náhodná, používané techniky: vkládání prázdných operací - náhodné vkládání prázdných instrukcí (celkový počet konstantní, pozice náhodné), degradace výkonosti, generátor náhodných čísel,
Skrývání - ovlivnění časové oblasti přesouvání operací (Shuffling) - znáhodnění provádění instrukcí algoritmů, u kterých nezáleží na pořadí (bloková šifra AES, S-box), není degradována rychlost, ale nelze aplikovat na všechny operace, hardwarové techniky ovlivňují časovou oblast pomocí hodinového signálu, vynechání hodinového pulzu, náhodná změna frekvence, existence více zdrojů hodinového signálu (přepínání) atd.
Skrývání - ovlivnění časové oblasti Princip promíchání provádění operací (AES, S-box). Standartní 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Shuffiling Promíchané 3 15 2 16 10 13 6 14 5 1 12 9 8 11 7 4
Skrývání - ovlivnění časové oblasti PromÍchání pořadí S-box
Skrývání - ovlivnění časové oblasti
Skrývání - ovlivnění amplitudy Přímé ovlivnění proudové spotřeby jednotlivých instrukcí, tyto metody se snaží docílit znáhodnění proudové spotřeby snížením SNR (SNR = 0), snížením hodnoty užitečného signálu X zvýšením hodnoty šumu, provádění instrukcí paralelně, použití speciálních rušiček (přepínání mezi obvody, paralelizace atd.) a filtrování proudové spotřeby (kapacitory, konstantní zdroje proudu, kryty atd.), implementace speciálních logických buněk pro jednotlivé operace (proudová spotřeba konstantní).
Maskování Technika maskování znáhodňuje zpracovávané data (cíl útoku mezivýsledek např. S-box), velká výhoda je vhodnost implementace na úrovni algoritmu, každý mezivýsledek je maskován v m = v m, operace definována algoritmem, exkluzivní součet XOR, additivní maskování, násobení, multiplikativní maskování, maska je generována náhodně v kryptografickém zařízení (pro útočníka neznámá), ve většině případů aplikováno na otevřený text popřípadě šifrovací kĺıč (bělení textu popřípadě kĺıče).
Maskování - příklad additivní masky Otevřený text (mezivýsledek) 255 80 29 27 58 6 92 8 74 250 38 12 235 56 15 41 XOR Maskovaná data 157 14 4 90 20 11 195 6 226 163 240 9 194 51 225 32 Náhodná maska 98 94 25 65 46 13 159 14 168 89 214 5 41 11 238 9
DPA Contest - ukázky protiopatření Ukázky jsou založeny na průbězích z DPA Contest v4.2, mezinárodní soutěž pořádaná francouzskou univerzitou (Télécom ParisTech), cílem férové porovnání DPA útoků, implementace AES-128 chráněna RSM (Rotating Sbox Masking) + Shuffling S-box (režije maskování), kryptografický modul čipová karta s čipem Atmel ATMega-163.
DPA Contest - AES Additivní maskování Promíchání S-box
Nemaskovaná implementace AES (cca 1 až 20 průběhů)
AES protiopatření - maskování a promíchání
AES protiopatření chybná implementace DPA Contest Opps J chyba implementace...
Závěr Proudová analýza představuje efektivní útok proti dnes používaným šifrovacím algoritmům a kryptografickým zařízením, k eliminaci těchto útoků se používají protiopatření, cílem protiopatření je odstranění závislosti proudové spotřeby na vykonávaných instrukcích a zpracovávaných datech, základní dělení: Skrývání a Maskování, SW X HW implementace, útoky na protiopatření útoky SODPA, možná spolupráce s VUT.
Děkuji za pozornost! martinasek@feec.vutbr.cz crypto.utko.feec.vutbr.cz