Proudov´ a anal´ yza
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´yzu Zdenˇek Martin´asek SIX Research Centre Vysok´ e uˇ cen´ı technick´ e v Brnˇ e
[email protected] crypto.utko.feec.vutbr.cz
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Proudov´a anal´yza (PA) V dneˇsn´ı dobˇe pˇredstavuje efektivn´ı a u ´spˇeˇsn´y zp˚ usob u ´toku c´ılen´y na bezpeˇ cn´ e“ algoritmy napˇr. AES nebo RSA, ” u ´toky c´ıleny na bezpeˇ cn´ e“ kryptografick´e zaˇr´ızen´ı ˇcipov´e ” karty, mobiln´ı telefony, ATM, d˚ uleˇzit´a implementace protiopatˇren´ı. 1. Runda
2. Runda
3. Runda
4. Runda
5. Runda
Zdenˇ ek Martin´ asek
6. Runda
7. Runda
8. Runda
9. Runda 10. Runda
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Proudov´a anal´yza Nejd˚ uleˇzitˇejˇs´ı fakta, proˇc PA funguje? proudov´a spotˇreba je z´avisl´a na operac´ıch vykon´avan´ych kryptografick´ym modulem, proudov´a spotˇreba je pˇr´ımo z´avisl´a na zpracov´ avan´ ych datech dle: Hammingovy v´ ahy1 (ˇcipov´e karty), Hammingovy vzd´alenosti (mikrokontrol´ery PIC), Zero-value (hardwarov´e implementace),
z´akladn´ı dˇelen´ı: SPA (Simple Power Analysis), DPA (Differential Power Analysis)- v´yhody. 1
Poˇcet nenulov´ych bit˚ u ve slovˇe. Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Proudov´a spotˇreba MOV instrukce!
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
DPA princip - porovn´an´ı spotˇreby s odhadem
Odhad proudové spotřeby pro S-box, H
Prooudové průběhy T vzorky
8 průběhů
Pro 8 průběhů
256 klíčů (0 až 255)
Čas, ve kterém krypt. modul zpracovává S-box
Správný odhad klíče Korelace
Ri = corr(T,Hi) Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
DPA v´ysledek matice R
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Protiopatˇren´ı z´akladn´ı dˇelen´ı
Obecn´ym c´ılem protiopatˇren´ı je, aby z´avislost proudov´e spotˇreby na zpracov´avan´ych datech byla co nejmenˇs´ı a co nejv´ıce n´ahodn´a, vede k neaplikovatelnosti proudov´ych anal´yz, metody se dˇel´ı do dvou velk´ych skupin: Skr´ yv´ an´ı (hiding) a Maskov´ an´ı (masking), tyto metody pak lze implementovat hardwarovˇ e nebo softwarovˇ e.
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Skr´yv´an´ı
C´ılem je zajiˇstˇen´ı nez´avislosti proudov´e spotˇreby na zpracov´avan´ych datech, prvn´ım zp˚ usobem je snaha o vyroben´ı zaˇr´ızen´ı, kter´e bude m´ıt proudovou spotˇrebu n´ ahodnou (pro stejn´e instrukce, data r˚ uzn´a proudov´e spotˇreba), druh´ym zp˚ usobem je snaha o vyroben´ı zaˇr´ızen´ı, kter´e bude m´ıt proudovou spotˇrebu konstantn´ı pro vˇsechny instrukce a data, v praxi se k tˇemto c´ıl˚ um bl´ıˇz´ıme pouˇzit´ım metod ovlivˇ nuj´ıc´ı ˇ casovou oblast a okamˇ zitou amplitudu proudov´e spotˇreby.
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Protiopatˇren´ı z´akladn´ı princip Ovlivnění okamžité amplitudy Ovlivnění časové oblasti
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Skr´yv´an´ı - ovlivnˇen´ı ˇcasov´e oblasti
Z principu DPA je poˇzadov´ana synchronizace proudov´ych pr˚ ubˇeh˚ u (napˇr. v´ystup S-box vˇzdy ve stejn´y ˇcas), poˇzadujeme, aby kryptografick´e zaˇr´ızen´ı prov´adˇelo instrukce v n´ahodn´em“ poˇrad´ı, ” n´aslednˇe se proudov´a spotˇreba jev´ı jako n´ahodn´a, pouˇz´ıvan´e techniky: vkl´ ad´ an´ı pr´ azdn´ ych operac´ı - n´ahodn´e vkl´ad´an´ı pr´azdn´ych instrukc´ı (celkov´y poˇcet konstantn´ı, pozice n´ahodn´e), degradace v´ykonosti, gener´ator n´ahodn´ych ˇc´ısel,
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Skr´yv´an´ı - ovlivnˇen´ı ˇcasov´e oblasti
pˇresouv´ an´ı operac´ı (Shuffling) - zn´ahodnˇen´ı prov´adˇen´ı instrukc´ı algoritm˚ u, u kter´ych nez´aleˇz´ı na poˇrad´ı (blokov´a ˇsifra AES, S-box), nen´ı degradov´ana rychlost, ale nelze aplikovat na vˇsechny operace, hardwarov´e techniky ovlivˇ nuj´ı ˇcasovou oblast pomoc´ı hodinov´ eho sign´ alu, vynech´an´ı hodinov´eho pulzu, n´ahodn´a zmˇena frekvence, existence v´ıce zdroj˚ u hodinov´eho sign´alu (pˇrep´ın´an´ı) atd.
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Skr´yv´an´ı - ovlivnˇen´ı ˇcasov´e oblasti Princip prom´ıch´an´ı prov´adˇen´ı operac´ı (AES, S-box).
Standartní
1 5 9 13
2 6 10 14
3 7 11 15
Promíchané
4 8 12 16
Shuffiling
Zdenˇ ek Martin´ asek
3 10 5 8
15 13 1 11
2 6 12 7
16 14 9 4
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Skr´yv´an´ı - ovlivnˇen´ı ˇcasov´e oblasti
PromÍchání pořadí S-box
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Skr´yv´an´ı - ovlivnˇen´ı ˇcasov´e oblasti
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Skr´yv´an´ı - ovlivnˇen´ı amplitudy Pˇr´ım´e ovlivnˇen´ı proudov´e spotˇreby jednotliv´ych instrukc´ı, tyto metody se snaˇz´ı doc´ılit zn´ahodnˇen´ı proudov´e spotˇreby sn´ıˇ zen´ım SNR (SNR = 0), sn´ıˇzen´ım hodnoty uˇziteˇcn´eho sign´alu X zv´yˇsen´ım hodnoty ˇsumu, prov´adˇen´ı instrukc´ı paralelnˇ e, pouˇzit´ı speci´aln´ıch ruˇsiˇ cek“ (pˇrep´ın´an´ı mezi obvody, ” paralelizace atd.) a filtrov´ an´ı proudov´e spotˇreby (kapacitory, konstantn´ı zdroje proudu, kryty atd.), implementace speci´aln´ıch logick´ych bunˇek pro jednotliv´e operace (proudov´a spotˇreba konstantn´ı).
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Maskov´an´ı Technika maskov´an´ı zn´ahodˇ nuje zpracov´avan´e data (c´ıl u ´toku meziv´ysledek napˇr. S-box), velk´a v´yhoda je vhodnost implementace na u ´rovni algoritmu, kaˇzd´y meziv´ysledek je maskov´an vm = v ∗ m, operace ∗ definov´ana algoritmem, exkluzivn´ı souˇcet XOR, additivn´ı maskov´ an´ı ⊕, n´asoben´ı, multiplikativn´ı maskov´ an´ı ⊗, maska je generov´ana n´ahodnˇe v kryptografick´em zaˇr´ızen´ı (pro u ´toˇcn´ıka nezn´am´a), ve vˇetˇsinˇe pˇr´ıpad˚ u aplikov´ano na otevˇren´y text popˇr´ıpadˇe ˇsifrovac´ı kl´ıˇc (bˇelen´ı textu popˇr´ıpadˇe kl´ıˇce).
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Maskov´an´ı - pˇr´ıklad additivn´ı masky Otevřený text (mezivýsledek)
Náhodná maska
255 80 29 27
XOR
98 94 25 65
8
46 13 159 14
74 250 38 12
168 89 214 5
58
6
92
235 56 15 41
Maskovaná 41 11 238 9 data 157 14 4 90 20 11 195 6 226 163 240 9 194 51 225 32
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
DPA Contest - uk´azky protiopatˇren´ı
Uk´azky jsou zaloˇzeny na pr˚ ubˇez´ıch z DPA Contest v4.2, mezin´ arodn´ı soutˇ eˇ z poˇr´adan´a francouzskou univerzitou (T´el´ecom ParisTech), c´ılem f´erov´e porovn´an´ı DPA u ´tok˚ u, implementace AES-128 chr´ anˇ ena RSM (Rotating Sbox Masking) + Shuffling S-box (reˇzije maskov´an´ı), kryptografick´y modul ˇcipov´a karta s ˇcipem Atmel ATMega-163.
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
DPA Contest - AES
Additivní maskování
Promíchání S-box
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Nemaskovan´a implementace AES (cca 1 aˇz 20 pr˚ ubˇeh˚ u)
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
AES protiopatˇren´ı - maskov´an´ı a prom´ıch´an´ı
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
AES protiopatˇren´ı chybn´a implementace DPA Contest
Opps J chyba implementace . . .
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Z´avˇer
Proudov´a anal´yza pˇredstavuje efektivn´ı u ´tok proti dnes pouˇz´ıvan´ym ˇsifrovac´ım algoritm˚ um a kryptografick´ym zaˇr´ızen´ım, k eliminaci tˇechto u ´tok˚ u se pouˇz´ıvaj´ı protiopatˇren´ı, c´ılem protiopatˇren´ı je odstranˇen´ı z´avislosti proudov´e spotˇreby na vykon´avan´ych instrukc´ıch a zpracov´avan´ych datech, z´akladn´ı dˇelen´ı: Skr´yv´an´ı a Maskov´an´ı, SW X HW implementace, u ´toky na protiopatˇren´ı u ´toky SODPA, moˇzn´a spolupr´ace s VUT.
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu
Proudov´ a anal´ yza
Z´ akladn´ı princip Protiopatˇren´ı
Dˇ ekuji za pozornost!
[email protected] crypto.utko.feec.vutbr.cz
Zdenˇ ek Martin´ asek
Protiopatˇren´ı eliminuj´ıc´ı proudovou anal´ yzu