VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ
Ing. Zdeněk Martinásek
KRYPTOANALÝZA POSTRANNÍMI KANÁLY SIDE CHANNEL CRYPTANALYSIS
ZKRÁCENÁ VERZE PH.D. THESIS
Obor:
Teleinformatika
Školitel:
doc. Ing. Václav Zeman, Ph.D.
KLÍČOVÁ SLOVA Postranní kanály, proudový postranní kanál, jednoduchá proudová analýza, diferenciální proudová analýza, neuronové sítě, proudová analýza pomocí neuronových sítí
KEYWORDS Side channels, power side channel, simple power analysis, differential analysis, neural networks, power analysis using neural networks
OBSAH ´ Uvod
5
1 C´ıle disertace
6
2 Souˇ casn´ y stav problematiky 2.1 Jednoduch´ a proudov´ a anal´ yza SPA . . . . . . . . 2.2 Diferenci´ aln´ı proudov´ a anal´ yza DPA . . . . . . . . ´ 2.2.1 Utok zaloˇzen´ y na korelaˇcn´ım koeficientu . . ´ 2.2.2 Utok zaloˇzen´ y na rozd´ılu stˇredn´ıch hodnot . 2.2.3 Diferenci´ aln´ı proudov´ a anal´ yza - shrnut´ı . . 2.3 Protiopatˇren´ı proti proudov´e anal´ yze . . . . . . . . 2.4 Neuronov´e s´ıtˇe v kryptografii . . . . . . . . . . . .
. . . . . . .
7 7 7 9 9 10 10 11
3 Vlastn´ı ˇ reˇ sen´ı - proudov´ a anal´ yza 3.1 Proudov´ a anal´ yza vyuˇz´ıvaj´ıc´ı neuronov´e s´ıtˇe . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12 12
4 Z´ avˇ er
25
Literatura
26
Vybran´ e publikace autora
28
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
´ UVOD Se st´ ale zrychluj´ıc´ım se v´ yvojem modern´ıch komunikaˇcn´ıch a poˇc´ıtaˇcov´ ych syst´em˚ u se objevila ˇrada nov´ ych ´ cn´ıci neodposlouch´avaj´ı pasivnˇe pˇrenosov´ typ˚ u u ´tok˚ u na kryptografick´e syst´emy. Utoˇ y kan´al, ale vyuˇz´ıvaj´ı st´ ale sofistikovanˇejˇs´ıch metod kryptoanal´ yzy. Vˇsechny kryptografick´e sluˇzby zajiˇst’uje v syst´emu kryptografick´ y modul, kter´ y b´ yv´ a souˇc´ ast´ı bezpeˇcnostn´ıho subsyst´emu. Tento modul je v podstatˇe fyzickou implementac´ı konkr´etn´ıho kryptografick´eho algoritmu popˇr. protokolu. Realizace kryptografick´eho modulu m˚ uˇze b´ yt hardwarov´ a, softwarov´ a nebo kombinovan´ a. Bˇehem ˇcinnosti kryptografick´eho modulu prob´ıhaj´ı uvnitˇr procesy, kter´e jsou spojeny s ˇsifrov´ an´ım, deˇsifrov´ an´ım, ovˇeˇren´ım, autentizac´ı atd. Bˇehem tˇechto ˇcinnost´ı pracuje modul se senzitivn´ımi daty (napˇr. ˇsifrovac´ı kl´ıˇc), kter´e b´ yvaj´ı uloˇzeny v pamˇeti modulu. Z toho plyne, ˇze praktick´ a realizace kryptografick´eho modulu, kter´ a v sobˇe obsahuje vˇsechny pravidla, kl´ıˇce a dalˇs´ı senzitivn´ı materi´ al, do znaˇcn´e m´ıry ovlivˇ nuje bezpeˇcnost cel´eho syst´emu. Dosavadn´ı konvenˇcn´ı zp˚ usoby kryptoanal´ yzy se soustˇredily na objeven´ı slabiny v matematick´e podstatˇe kryptografick´ ych algoritm˚ u. Proti v souˇcasnosti pouˇz´ıvan´ ym ˇsifrovac´ım algoritm˚ um je tento zp˚ usob neefektivn´ı a ˇcasovˇe prakticky nerealizovateln´ y. Nov´ y zp˚ usob kryptoanal´ yzy, vyuˇz´ıvaj´ıc´ı postrann´ı kan´aly (Side Channels), se soustˇred´ı na konkr´etn´ı implementace algoritm˚ u a protokol˚ u. Pˇri konstrukci modulu se pˇredpokl´ad´a jedin´ a moˇzn´ a komunikace modulu s okol´ım a to jen prostˇrednictv´ım pˇresnˇe definovan´e vstup˚ u a v´ ystup˚ u. V re´aln´em prostˇred´ı modul bˇehem sv´e ˇcinnosti komunikuje se sv´ ym okol´ım i jin´ ym, neˇz´adouc´ım zp˚ usobem. Modul m˚ uˇze vyzaˇrovat do sv´eho okol´ı napˇr. tepeln´e nebo elektromagnetick´e z´aˇren´ı, kaˇzd´ y re´aln´ y modul pˇri sv´e ˇcinnosti odeb´ır´ a urˇcit´ y proud ze zdroje, kaˇzd´ a jeho operace zp˚ usobuje r˚ uzn´e ˇcasov´e zpoˇzdˇen´ı, na konkr´etn´ı situaci reaguje modul stavov´ ym nebo chybov´ ym hl´ aˇsen´ım, kl´avesnice modulu m˚ uˇze b´ yt mechanicky opotˇreben´a atd. Vˇsechny tyto projevy modulu jsou neodmyslitelnˇe spojeny s jeho ˇcinnost´ı, pˇri kter´e mohou b´ yt vyneseny nˇekter´e ze senzitivn´ıch informac´ı. Kaˇzd´ y neˇz´ adouc´ı zp˚ usob v´ ymˇeny informace mezi kryptografick´ ym modulem a jeho okol´ım se naz´ yv´ a postrann´ım kan´ alem. Anal´ yzou postrann´ıho kan´alu (Side Channels analysis) je oznaˇcov´ an postup, pˇri kter´em je moˇzn´e z´ıskat uˇziteˇcn´e informace, kter´e lze odvodit ze sign´alu pˇrich´azej´ıc´ım po tomto ´ kan´ alu. Utok veden´ y pomoc´ı postrann´ıho kan´alu je zaloˇzen na vyuˇzit´ı takto z´ıskan´e informace k napaden´ı dan´eho kryptografick´eho modulu a z´ısk´ an´ı tak senzitivn´ıch informac´ı. Koncept u ´toku postrann´ımi kan´ aly, tak jak je ch´ap´an v dneˇsn´ı dobˇe, zadefinoval a popsal Kocher v pr´ aci [18] v roce 1999. Princip u ´toku byl proveden na algoritmus Data Encryption Standard metodou zaloˇzenou na rozd´ılu stˇredn´ıch hodnot. Postrann´ı kan´ aly se prakticky vyuˇz´ıvaly dˇr´ıve, kdy se definice postrann´ıch kan´ al˚ u nepouˇz´ıvala. Akustick´ y postrann´ı kan´ al patˇr´ı k nejstarˇs´ım pouˇz´ıvan´ ym postrann´ım kan´al˚ um, napˇr. v roce 1956 Britov´e z´ısk´ avaj´ı informace z egyptsk´eho ˇsifr´atoru odposlechem zvuk˚ u kl´avesnice a v roce 1961 Ameriˇcan´e prov´ adˇej´ı akustick´ y odposlech prostˇrednictv´ım u ´stˇredn´ıho topen´ı. Elektromagnetick´ y postrann´ı kan´al byl ve sv´e historii tak´e nejdˇr´ıve vyuˇz´ıv´ an v arm´ adˇe a tajn´ ych sluˇzb´ach. Tyto organizace se odbornˇe zab´ yvaly studiem problematiky parazitn´ıch emis´ı, kter´ a oznaˇcovaly term´ınem TEMPEST. Hlavn´ım z´ajmem vojensk´ ych organizac´ı bylo zamezen´ı neˇz´ adouc´ıch emis´ı a naopak vyuˇzit´ı tohoto vyzaˇrov´an´ı k ˇspion´aˇzn´ı ˇcinnosti. Pojem TEMPEST vznikl na pˇrelomu 60. a 70.let dvac´at´eho stolet´ı a oznaˇcuje i skupinu vojensk´ ych standard˚ u, ve kter´ ych jsou stanoveny maxim´ aln´ı povolen´e limity elektromagnetick´eho z´aˇren´ı v r˚ uzn´ ych elektronick´ ych syst´emech. Ve veˇrejn´em sektoru se o v´ yznamn´ y posuv na poli elektromagnetick´ ych u ´tok˚ u zaslouˇzil nizozemsk´ y vˇedec van Eck [9], kter´ y jako prvn´ı dok´ azal, ˇze je moˇzn´e zachytit a zmˇeˇrit velikost elektromagnetick´eho pole poˇc´ıtaˇcov´ ych monitor˚ u a z namˇeˇren´ ych pr˚ ubˇeh˚ u extrahovat sn´ıman´ y obraz. Prvn´ı veˇrejnˇe publikovanou prac´ı na t´ema EM anal´ yzy integrovan´ ych obvod˚ u a v´ ypoˇcetn´ıch jednotek prov´adˇej´ıc´ıch kryptografick´e operace, byla v roce 2001 pr´ ace [12]. Postrann´ı kan´ aly zcela mˇen´ı celkov´ y pohled na bezpeˇcnost syst´emu. Jiˇz nestaˇc´ı zvolit kvalitn´ı ˇsifru ale je nezbytn´e velkou pozornost vˇenovat i jej´ı implementaci. N´avrh´aˇri a konstrukt´eˇri kryptografick´eho modulu ˇcasto nev´ı a ani nemohou vˇedˇet o existenci vˇsech neˇz´adouc´ıch postrann´ıch kan´al˚ u. Existuj´ı ovˇsem nˇekter´e postrann´ı kan´ aly, kter´e jsou schopni minimalizovat. V souˇcasn´e dobˇe neexistuje ˇz´adn´ y konkr´etn´ı n´avod pro n´avrh zcela imunn´ıho kryptografick´eho modulu v˚ uˇci postrann´ım kan´al˚ um, ale existuj´ı testy kter´e otestuj´ı navrhovan´ y modul na nˇekter´e konkr´etn´ı typy postrann´ıch kan´al˚ u a na mnoˇzstv´ı unikaj´ıc´ı informace.
5
1
C´ILE DISERTACE
Disertaˇcn´ı pr´ ace bude zamˇeˇrena na jednoduchou a diferenci´aln´ı anal´ yzu proudov´ ym postrann´ım kan´ alem. Hlavn´ım c´ılem disertaˇcn´ı pr´ ace bude n´ avrh nov´e metody proudov´e anal´ yzy, kter´a umoˇzn´ı urˇcit hodnotu ˇsifrovac´ıho kl´ıˇce jen z jednoho proudov´eho pr˚ ubˇehu a to u algoritm˚ u, kter´e jsou odoln´e v˚ uˇci jednoduch´e proudov´e anal´ yze. Do jist´e m´ıry bude navrˇzen´a metoda spojovat vlastnosti jednoduch´e a diferenci´aln´ı proudov´e anal´ yzy. Vˇetˇsina proudov´ ych anal´ yz vyuˇz´ıv´a r˚ uzn´e statistick´e metody (rozd´ıl stˇredn´ıch hodnot, korelaˇcn´ı koeficient atd. viz kapitola 2) k urˇcen´ı z´ avislosti proudov´e spotˇreby a hledan´e senzitivn´ı informace. Navrhovan´ a metoda bude zaloˇzena na odliˇsn´em zp˚ usobu a pl´anuje vyuˇz´ıt neuronov´e s´ıtˇe ke klasifikaci senzitivn´ı informace z namˇeˇren´ ych pr˚ ubˇeh˚ u proudov´e spotˇreby. Tento typ u ´toku proudov´ ym postrann´ım kan´alem, kter´ y bude zamˇeˇren na klasifikaci konkr´etn´ı hodnoty ˇsifrovac´ıho kl´ıˇce, nebyl dosud publikov´an. Navrˇzen´a metoda bude pracovat odliˇsn´ ym zp˚ usobem neˇz klasick´e metody, a proto se pˇredpokl´adaj´ı odliˇsn´e vlastnosti napˇr. potˇrebn´ y poˇcet namˇeˇren´ ych proudov´ ych pr˚ ubˇeh˚ u, u ´spˇeˇsnost urˇcen´ı ˇsifrovac´ıho kl´ıˇce atd. Anal´ yza tˇechto parametr˚ u je dalˇs´ım c´ılem disertaˇcn´ı pr´ ace. K ovˇeˇren´ı funkce nov´e metody je nutn´e navrhnout a ovˇeˇrit metodu pro sn´ım´an´ı a z´aznam proudov´eho odbˇeru kryptografick´eho modulu. Zp˚ usob a pˇresnost mˇeˇren´ı proudov´eho odbˇeru m´a z´asadn´ı vliv na spr´ avnou funkci navrhovan´e metody kryptoanal´ yzy. Z tohoto d˚ uvodu je nutn´e sestavit experiment´ aln´ı pracoviˇstˇe vˇcetnˇe kryptografick´eho modulu s implementovan´ ym kryptografick´ ym algoritmem, a navrhovanou metodu anal´ yzy implementovat a prakticky ovˇeˇrit jej´ı funkˇcnost. Proudov´e anal´ yzy jsou testov´any vˇetˇsinou na implementaci algoritmu AES, proto bude navrˇzen´a metoda proudov´e anal´ yzy vyuˇz´ıvaj´ıc´ı neuronov´e s´ıtˇe tak´e testov´ ana pomoc´ı implementace kryptografick´eho algoritmu AES. Posledn´ım d˚ uleˇzit´ ym d´ılˇc´ım c´ılem pr´ace je anal´ yza moˇzn´ ych ochran proti proudov´e anal´ yze a u ´toku postrann´ım kan´alem. Z analyzovan´ ych ochran vybrat vhodn´e ˇreˇsen´ı zabraˇ nuj´ıc´ı pouˇzit´ı navrˇzen´e metody. C´ıle disertaˇcn´ı pr´ ace mohou b´ yt shrnuty do n´asleduj´ıc´ıch bod˚ u: • anal´ yza souˇcasn´eho stavu problematiky (proudov´a anal´ yza, protiopatˇren´ı proti proudov´e anal´ yze, neuronov´e s´ıtˇe), • n´ avrh a realizace metody pro mˇeˇren´ı proudov´eho odbˇeru, zp˚ usob sn´ım´an´ı proudu m´a z´asadn´ı vliv na u ´spˇeˇsnost navrhovan´e metody proudov´e anal´ yzy, • n´ avrh a implementace nov´e metody proudov´e anal´ yzy vyuˇz´ıvaj´ıc´ı neuronov´e s´ıtˇe, • anal´ yza a zhodnocen´ı dosaˇzen´ ych v´ ysledk˚ u klasifikace.
6
2
ˇ ´ STAV PROBLEMATIKY SOUCASN Y
C´ılem kapitoly je detailnˇe popsat jednoduchou a diferenci´aln´ı proudovou anal´ yzu pouˇz´ıvanou pˇri u ´toku na kryptografick´e zaˇr´ızen´ı. Na podobn´ ych principech jsou zaloˇzeny vˇsechny jednoduch´e a diferenci´aln´ı anal´ yzy postrann´ım kan´ alem. Dalˇs´ı ˇc´ ast kapitoly popisuje techniky protiopatˇren´ı vedouc´ı k znesnadnˇen´ı a nebo pln´emu znemoˇznˇen´ı u ´toku proudov´ ym postrann´ım kan´alem. Z´avˇereˇcn´a ˇc´ast kapitoly rozeb´ır´a pouˇzit´ı neuronov´ ych s´ıt´ı v kryptografii a v oblasti postrann´ıch kan´ al˚ u.
2.1
Jednoduch´ a proudov´ a anal´ yza SPA
Jednoduch´ a proudov´ a anal´ yza byla definov´ ana Kocherem [18] n´asledovnˇe: jednoduch´a proudov´a anal´ yza je technika, kter´ a pˇredstavuje pˇr´ım´e interpretov´an´ı proudov´e spotˇreby mˇeˇren´e bˇehem provozu kryptografick´eho zaˇr´ızen´ı. Jin´ ymi slovy se u ´toˇcn´ık snaˇz´ı urˇcit ˇsifrovac´ı kl´ıˇc pˇr´ımo ze zmˇeˇren´ ych pr˚ ubˇeh˚ u proudov´e spotˇreby. To ˇcin´ı SPA pro potencion´ aln´ı u ´toˇcn´ıky atraktivn´ı technikou, ale ti vˇetˇsinou potˇrebuj´ı detailn´ı znalost implementovan´eho algoritmu a kryptografick´eho zaˇr´ızen´ı. SPA m˚ uˇzeme rozdˇelit do dvou z´akladn´ıch skupin a to na anal´ yzu jen jednoho proudov´eho pr˚ ubˇehu (single-shot SPA) a anal´ yzu nˇekolika proudov´ ych pr˚ ubˇeh˚ u (multipleshot). Anal´ yza jednoho proudov´eho pr˚ ubˇehu pˇredstavuje extr´emn´ı pˇr´ıpad, kdy u ´toˇcn´ık zaznamenal a zkoum´ a jen jeden pr˚ ubˇeh proudov´e spotˇreby odpov´ıdaj´ıc´ı jednomu vstupn´ımu textu. Ve vˇetˇsinˇe pˇr´ıpad˚ u je nutn´e pouˇz´ıt statistick´ ych metod k extrakci uˇziteˇcn´eho sign´alu. Pˇri jednoduch´e anal´ yze nˇekolika proudov´ ych pr˚ ubˇeh˚ u m´ a u ´toˇcn´ık k dispozici v´ıce namˇeˇren´ ych proudov´ ych pr˚ ubˇeh˚ u, a to pro stejn´ y nebo r˚ uzn´ y vstupn´ı text, kter´e pouˇzije k redukci ˇsumu v namˇeˇren´ ych datech. Pro oba typy u ´toku SPA je nutn´e, aby v kryptografick´em zaˇr´ızen´ı, na kter´e je prov´ adˇen u ´tok, existovala v´ yrazn´ a (pˇr´ım´a nebo nepˇr´ım´a) z´avislost proudov´e spotˇreby na hodnotˇe ˇsifrovac´ıho kl´ıˇce.
2.2
Diferenci´ aln´ı proudov´ a anal´ yza DPA
C´ılem u ´tok˚ u DPA je z´ıskat ˇsifrovac´ı kl´ıˇc kryptografick´eho zaˇr´ızen´ı na z´akladˇe znalosti velk´eho poˇctu proudov´ ych spotˇreb, kter´e byly zaznamen´ any u ´toˇcn´ıkem bˇehem prov´adˇen´ı operace ˇsifrov´an´ı nebo deˇsifrov´an´ı pro r˚ uzn´ a vstupn´ı data. Hlavn´ı v´ yhodou diferenci´aln´ı proudov´e anal´ yzy ve srovn´an´ı s SPA je, ˇze u ´toˇcn´ık nepotˇrebuje detailn´ı znalost kryptografick´eho zaˇr´ızen´ı a ˇsifrovac´ıho algoritmu. Dalˇs´ım d˚ uleˇzit´ ym rozd´ılem mezi tˇemito anal´ yzami zp˚ usob zpracov´ an´ı namˇeˇren´ ych dat. V SPA jsou proudov´e pr˚ ubˇehy zpracov´av´any vˇetˇsinou ´ cn´ık se zde pokouˇs´ı v jednom proudov´em pr˚ v ˇcasov´e ose. Utoˇ ubˇehu naj´ıt vzor, zn´am´ y otisk instrukce nebo ˇsablonu. Naproti tomu, tvar proudov´eho pr˚ ubˇehu v ˇcasov´e oblasti nen´ı v DPA d˚ uleˇzit´ y. DPA analyzuje z´avislost proudov´e spotˇreby v urˇcit´ y konstantn´ı ˇcasov´ y okamˇzik na pr´avˇe zpracov´avan´ ych datech. V n´asleduj´ıc´ım textu bude pops´ an detailnˇeji postup z´ısk´ an´ı ˇsifrovac´ıho kl´ıˇce metodou DPA. Vˇsechny DPA u ´toky vyuˇz´ıvaj´ı prakticky stejn´eho postupu, kter´ y se skl´ ad´ a z pˇeti krok˚ u. Prvn´ı krok: Volba meziv´ ysledku algoritmu Prvn´ım krokem DPA je volba meziv´ ysledku kryptografick´eho algoritmu, kter´ y je vykon´av´an zaˇr´ızen´ım. Meziv´ ysledek mus´ı b´ yt funkc´ı f (d, k), kde d jsou zn´am´a nekonstantn´ı data a k je mal´a ˇc´ast ˇsifrovac´ıho kl´ıˇce (napˇr. prvn´ı bajt). Ve vˇetˇsinˇe pˇr´ıpad˚ u DPA u ´toku d pˇredstavuje otevˇren´ y text nebo ˇsifrovan´ y text. Takto definovan´ y meziv´ ysledek m˚ uˇze b´ yt pouˇzit k urˇcen´ı ˇc´ asti ˇsifrovac´ıho kl´ıˇce k. Druh´ y krok: Mˇ eˇ ren´ı proudov´ e spotˇ reby Druh´ ym krokem DPA u ´toku je mˇeˇren´ı proudov´e spotˇreby kryptografick´eho zaˇr´ızen´ı pˇri ˇsifrov´an´ı nebo deˇsifrov´ an´ı r˚ uzn´ ych blok˚ u dat D. Pro vˇsechny operace ˇsifrov´an´ı ˇci deˇsifrovan´ı potˇrebuje u ´toˇcn´ık zn´at hodnoty zpracov´ avan´ ych dat d, kter´e se pod´ıl´ı na v´ ypoˇctu meziv´ ysledku zvolen´eho v prvn´ım kroku. Hodnoty zn´am´ ych dat 0 tvoˇr´ı vektor d = (d1 , . . . , dD ) , kde di oznaˇcuje hodnotu i-t´eho kroku ˇsifrov´an´ı nebo deˇsifrov´an´ı. V pr˚ ubˇehu 7
kaˇzd´eho tohoto kroku si u ´toˇcn´ık zaznamen´ av´ a proudovou spotˇrebu. Pr˚ ubˇehy proudov´e spotˇreby, koresponduj´ıc´ı 0 ´ cn´ık mˇeˇr´ı s bloky dat di , oznaˇc´ıme ti = (ti,1 , . . . , Ti,T ), kde T oznaˇcuje d´elku namˇeˇren´e proudov´e spotˇreby. Utoˇ proudovou spotˇrebu pro kaˇzd´ y blok dat D, a proto namˇeˇren´e pr˚ ubˇehy mohou b´ yt zaps´any do matice T o velikosti D × T . Pro DPA u ´tok je kl´ıˇcov´e, aby namˇeˇren´e proudov´e pr˚ ubˇehy byly pˇresnˇe zarovnan´e. To znamen´ a, ˇze hodnoty pro jednotliv´e sloupce tj matice T mus´ı odpov´ıdat stejn´e operaci. K z´ısk´an´ı takto zarovnan´ ych dat je nutn´ a spr´ avn´ a synchronizace s mˇeˇric´ım zaˇr´ızen´ım, nebo je zapotˇreb´ı zarovnat data softwarovˇe pomoc´ı nalezen´ı nˇekolika markant˚ u (otisk˚ u v proudov´em pr˚ ubˇehu). Tˇ ret´ı krok: V´ ypoˇ cet hypotetick´ ych meziv´ ysledk˚ u Dalˇs´ım krokem u ´toku je v´ ypoˇcet hypotetick´ ych meziv´ ysledk˚ u pro vˇsechny moˇzn´e hodnoty ˇsifrovac´ıho kl´ıˇce k. Vˇsechny moˇznosti kl´ıˇce lze zapsat jako vektor k = (k1 , . . . , kK ), kde K oznaˇcuje celkov´ y poˇcet moˇzn´ ych kl´ıˇc˚ u. V DPA jsou jednotliv´e prvky vektoru k oznaˇcov´any za hypot´ezy kl´ıˇce nebo odhady kl´ıˇce. Z vektoru zn´am´ ych dat d a vektoru hypot´ez vˇsech kl´ıˇc˚ u m˚ uˇze u ´toˇcn´ık jednoduˇse vypoˇc´ıtat hodnotu meziv´ ysledku f (d, k) pro vˇsechny ˇsifrovac´ı operace D a pro vˇsechny hypot´ezy kl´ıˇce K. V´ ysledkem v´ ypoˇctu je matice V o rozmˇerech D × K vypoˇcten´ a dle n´ asleduj´ıc´ıho vztahu: vi,j = f (di , kj ) i = 1, . . . , D j = 1, . . . , K
(2.1)
Sloupec j matice V obsahuje meziv´ ysledky, kter´e byly vypoˇc´ıt´any dle hypot´ez kl´ıˇce kj . Je zˇrejm´e, ˇze jeden sloupec matice V obsahuje takov´e meziv´ ysledky, kter´e byly vypoˇc´ıt´any v zaˇr´ızen´ı bˇehem ˇsifrov´an´ı a deˇsifrov´ an´ı. Jin´ ymi slovy, jednotliv´e sloupce matice V obsahuj´ı meziv´ ysledky pro vˇsechny kl´ıˇce, tedy i pro kl´ıˇc kter´ y byl pouˇzit v zaˇr´ızen´ı. Tento index bude oznaˇcen ck, tedy kck oznaˇcuje hledan´ y tajn´ y kl´ıˇc. C´ılem DPA je nalezen´ı odpov´ıdaj´ıc´ıho sloupce, kter´ y byl zpracov´ av´ an pˇri operac´ıch ˇsifrov´an´ı a deˇsifrov´an´ı v zaˇr´ızen´ı a tedy nalezen´ı kck . ˇ Ctvrt´ y krok: Mapov´ an´ı hypotetick´ ych meziv´ ysledk˚ u na hodnoty proudov´ e spotˇ reby ˇ Ctvrt´ ym krokem DPA u ´toku je namapov´ an´ı matice hypotetick´ ych meziv´ ysledk˚ u V na matici H reprezentuj´ıc´ı pˇredpokl´ adan´e hodnoty proudov´e spotˇreby. V tomto bodˇe se vyuˇz´ıv´a simulace proudov´e spotˇreby kryptografick´eho zaˇr´ızen´ı. Pouˇzit´ y model spotˇreby pˇriˇrad´ı kaˇzd´emu hypotetick´emu meziv´ ysledku vi,j pˇredpokl´adanou hodnotu proudov´e spotˇreby hi,j . Spr´ avnost v´ ysledk˚ u simulace silnˇe z´avis´ı na u ´toˇcn´ıkov´ ych znalostech o zaˇr´ızen´ı a ˇcinn´ı DPA efektivnˇejˇs´ı. Mezi ˇcasto pouˇz´ıvan´e modely pˇriˇrazen´ı hodnot V na H patˇr´ı model Hammingovy vzd´ alenosti a Hammingovy v´ ahy. P´ at´ y krok: Porovn´ an´ı hypotetick´ ych hodnot s namˇ eˇ ren´ ymi pr˚ ubˇ ehy proudov´ e spotˇ reby V posledn´ım kroku u ´toˇcn´ık porovn´ a pˇredpokl´adan´e hodnoty proudov´e spotˇreby z´avisl´e na odhadu kl´ıˇce (hodnoty ve sloupci hi matice H) se zmˇeˇren´ ymi pr˚ ubˇehy proudov´e spotˇreby (hodnoty ve sloupci tj matice T). V´ ysledkem je matice R velikosti K × T , kde kaˇzd´ y element ri,j pˇredstavuje v´ ysledek porovn´an´ı sloupc˚ u hi a tj . Samotn´e porovn´ an´ı je realizov´ ano r˚ uzn´ ymi metodami, kter´e jsou detailnˇeji pops´any v n´asleduj´ıc´ım textu (jsou uvedeny dvˇe nejzn´ amˇejˇs´ı metody kapitoly 2.2.1 a 2.2.2). Spoleˇcn´a vlastnost vˇsech postup˚ u je, ˇze hodnota ri,j je vˇetˇs´ı pro lepˇs´ı shodu sloupc˚ u hi a tj . Urˇcen´ı tajn´eho kl´ıˇce vyuˇz´ıv´a n´asleduj´ıc´ıch skuteˇcnost´ı. • Proudov´e pr˚ ubˇehy odpov´ıdaj´ı proudov´e spotˇrebˇe zaˇr´ızen´ı bˇehem prov´adˇen´ı algoritmu ˇsifrov´an´ı nebo deˇsifrov´ an´ı pro r˚ uzn´ a vstupn´ı data. • Meziv´ ysledek, kter´ y byl vybr´ an v prvn´ım kroku, je ˇc´ast´ı tohoto algoritmu. Z tˇechto d˚ uvodu poˇc´ıt´ a zaˇr´ızen´ı hodnotu meziv´ ysledku vck v pr˚ ubˇehu ˇsifrov´an´ı nebo deˇsifrov´an´ı pro r˚ uzn´ a vstupn´ı data. V d˚ usledku toho jsou namˇeˇren´e pr˚ ubˇehy v urˇcit´ ych ˇcasov´ ych okamˇzic´ıch z´avisl´e na hodnotˇe meziv´ ysledku. Oznaˇc´ıme toto m´ısto namˇeˇren´ ych pr˚ ubˇeh˚ u jako ct (to znamen´a, ˇze sloupec tct obsahuje hodnoty proudov´e spotˇreby, kter´e z´ avis´ı na hodnotˇe meziv´ ysledku vck ). Hypotetick´e hodnoty proudov´e spotˇreby hck byly simulov´ any u ´toˇcn´ıkem na z´ akladˇe hodnot vck . Proto jsou sloupce hck a tct na sobˇe silnˇe z´avisl´e. Ve
8
skuteˇcnosti tyto dva sloupce vedou k nejvˇetˇs´ı hodnotˇe v R, to znamen´a, ˇze nejvˇetˇs´ı hodnota matice R je hodnota rck,ct . Dalˇs´ı prvky matice R maj´ı malou hodnotu, protoˇze ostatn´ı sloupce H a T nejsou na sobˇe ´ cn´ık tak m˚ silnˇe z´ avisl´e. Utoˇ uˇze urˇcit index pro spr´avn´ y kl´ıˇc ck a ˇcasov´ y okamˇzik ct jednoduˇse a to nalezen´ım nejvˇetˇs´ı hodnoty v matici R. Pˇr´ısluˇsn´e indexy t´eto hodnoty jsou pak v´ ysledkem DPA u ´toku. V praxi se m˚ uˇze st´ at, ˇze vˇsechny hodnoty z R si budou prakticky rovny. V tomto pˇr´ıpadˇe u ´toˇcn´ık nezmˇeˇril ˇ dostateˇcn´e mnoˇzstv´ı proudov´ ych pr˚ ubˇeh˚ u k ustanoven´ı vztahu mezi ˇr´adky H a T. C´ım v´ıce pr˚ ubˇeh˚ uu ´toˇcn´ık zmˇeˇr´ı, t´ım v´ıce element˚ u budou m´ıt sloupce H a T a t´ım l´epe m˚ uˇze u ´toˇcn´ık urˇcit vztah mezi sloupci.
2.2.1
´ Utok zaloˇ zen´ y na korelaˇ cn´ım koeficientu
Korelaˇcn´ı koeficient (Correlation coefficient) patˇr´ı k nejzn´amˇejˇs´ı metodˇe k urˇcen´ı line´arn´ı z´avislosti mezi dvˇema n´ ahodn´ ymi promˇenn´ ymi. Proto je to tak´e vhodn´a metoda pro proveden´ı DPA u ´toku. Existuje velmi dobˇre definovan´ a teorie pro korelaˇcn´ı koeficient, kter´ y m˚ uˇze b´ yt pouˇzit k modelov´an´ı statick´ ych vlastnost´ı DPA u ´tok˚ u. Korelaˇcn´ı koeficient je definov´ an pro veliˇciny X a Y pomoc´ı kovariance vztahem: Cov(X, Y ) ρ(X, Y ) = p , σ 2 (X) · σ 2 (Y )
(2.2)
kde Cov(X, Y ) oznaˇcuje kovarianci tedy stˇredn´ı hodnotu souˇcinu odchylek obou n´ahodn´ ych veliˇcin X, 2 2 Y od jejich stˇredn´ıch hodnot a σ (X) a σ (Y ) oznaˇcuj´ı rozptyl tˇechto veliˇcin. Veliˇcina ρ je bezrozmˇern´ a a m˚ uˇze nab´ yvat hodnot −1 ≤ ρ ≤ 1. Hodnota −1 korelaˇcn´ıho koeficientu znaˇc´ı nepˇr´ımou z´avislost (zmˇena v jedn´e skupinˇe je prov´ azena opaˇcnou zmˇenou ve skupinˇe druh´e). Hodnota 0 korelaˇcn´ıho koeficientu znaˇc´ı, ˇze mezi hodnotami obou skupin neexistuje ˇz´ adn´ a statisticky zjistiteln´a line´arn´ı z´avislost. Pˇri nulov´em korelaˇcn´ım koeficientu na sobˇe veliˇciny mohou z´ aviset, ale tento vztah nelze vyj´adˇrit line´arn´ı funkc´ı. Jestliˇze korelaˇcn´ı koeficient je roven 1, znaˇc´ı to pˇr´ımou z´ avislost, dokonalou korelaci mezi hodnotami obou skupin. V´ ypoˇcet ρ se liˇs´ı podle typu zkouman´ ych statistick´ ych promˇenn´ ych. V pˇr´ıpadˇe, ˇze n´ahodn´e veliˇciny X a Y jsou kvantitativn´ı n´ ahodn´e veliˇciny se spoleˇcn´ ym dvourozmˇern´ ym norm´aln´ım rozdˇelen´ım, je pro konkr´etn´ı hodnoty (x1 , y1 ), (x2 , y2 ), . . ., (xn , yn ) v´ ybˇerov´ y korelaˇcn´ı koeficient d´an vztahem: Pn (xi − x) · (yi − y) r = pPn i=1 . (2.3) Pn 2 2 i=1 (xi − x) · i=1 (yi − y) V DPA je korelaˇcn´ı koeficient pouˇzit k urˇcen´ı line´arn´ı z´avislosti mezi sloupci hi a tj pro i = 1, . . . , K a j = 1, . . . , T . V´ ysledkem je matice R obsahujic´ı korelaˇcn´ı koeficienty. Oznaˇc´ıme kaˇzdou hodnotu jako ri,j na z´ akladˇe element˚ u D ze sloupc˚ u hi a tj . Pouˇzijeme-li pˇredchoz´ı definici korelaˇcn´ıho koeficientu, m˚ uˇzeme vztah 2.3 vyj´ adˇrit: PD (hd,i − hi ) · (td,j − tj ) q ri,j = P d=1 , (2.4) PD D 2 2 d=1 (hd,i − hi ) · d=1 (td,j − tj ) kde hi a tj oznaˇcuj´ı pr˚ umˇern´e hodnoty sloupc˚ u hi a tj .
2.2.2
´ Utok zaloˇ zen´ y na rozd´ılu stˇ redn´ıch hodnot
Z´ akladem statistick´e metody zaloˇzen´e na rozd´ılu stˇredn´ıch hodnot (Difference of mean) je srovn´an´ı dvou skupin namˇeˇren´ ych hodnot (distribuc´ı) v´ ypoˇctem rozd´ılu stˇredn´ıch hodnot tˇechto skupin. Systematick´ y popis metody je uveden v pr´ aci [33]. Tato metoda pouˇz´ıv´a jin´ y zp˚ usob k urˇcen´ı z´avislosti mezi sloupci matice H ´ cn´ık vytvoˇr´ı bin´ a T. Utoˇ arn´ı matici H, kter´ a rozdˇel´ı namˇeˇren´e proudov´e pr˚ ubˇehy do dvou skupin. Posloupnost nul a jedniˇcek v kaˇzd´em sloupci H je funkc´ı vstupn´ıch dat d a odhad˚ u kl´ıˇce ki . Za u ´ˇcelem ovˇeˇren´ı zda odhad kl´ıˇce ki je spr´ avn´ yu ´toˇcn´ık m˚ uˇze rozdˇelit matici T na dva soubory ˇr´adk˚ u (tzn. dvˇe sady proudov´ ych spotˇreb podle hi ). Prvn´ı soubor obsahuje ty ˇr´ adky matice T, kde index odpov´ıd´a pozici nul ve vektoru hi . Druh´ y 0 soubor obsahuje zbyl´e ˇr´ adky T. N´ aslednˇe u ´toˇcn´ık vypoˇc´ıt´a pr˚ umˇer ˇr´adk˚ u. Vektor m0i znaˇc´ı pr˚ umˇer ˇr´ adk˚ u 0 prvn´ıho souboru a m1i oznaˇcuje pr˚ umˇer druh´eho souboru. Odhad kl´ıˇce ki je spr´avn´ y pokud existuje v´ yrazn´ y 9
0
0
0
0
rozd´ıl mezi m0i a m1i . Rozd´ıl mezi m0i a m1i indikuje vztah mezi hck a nˇekter´ ym ze sloupc˚ u T. Stejnˇe tak jako v pˇredchoz´ım pˇr´ıpadˇe tato diference oznaˇcuje ˇcasov´ y okamˇzik kdy jsou meziv´ ysledky odpov´ıdaj´ıc´ı hck zpracov´ av´ any. V jin´ ych okamˇzic´ıch je diference mezi vektory rovna nule. V´ ysledkem u ´toku je tedy matice R, 0 0 kde kaˇzd´ y ˇr´ adek odpov´ıd´ a rozd´ılu mezi vektory m0i a m1i pro jeden odhad kl´ıˇce. Rovnice v´ ypoˇctu R je d´ ana vztahem: 0
m1i,j 0
m0i,j n1,i n0i
= = = =
n 1 X · hl,i · tl,j , n1i
(2.5)
1 · n0i
(2.6)
n X l=1 n X
l=1 n X
(1 − hl,i ) · tl,j ,
l=1
hl,i ,
(2.7)
(1 − hl,i ),
(2.8)
l=1
R
= M1 − M0 ,
(2.9)
kde n znaˇc´ı poˇcet ˇr´ adk˚ u matice H (tzn. poˇcet namˇeˇren´ ych proudov´ ych spotˇreb).
2.2.3
Diferenci´ aln´ı proudov´ a anal´ yza - shrnut´ı
´ Koncept u ´toku DPA byl poprv´e pops´ an v pr´ aci [18]. Utok byl proveden na algoritmus DES metodou zaloˇzenou na rozd´ılu stˇredn´ıch hodnot. N´ aslednˇe pak byly diskutov´any moˇzn´e aplikovateln´e statistick´e testy v [8]. Proudov´e modely byly poprv´e definov´ any v pr´ aci [6] a v [1] byly z´akladn´ı proudov´e modely analyzov´any v kontextu ˇcipov´ ych karet. Simulaˇcn´ı modely jsou st´ ale modifikov´any k zv´ yˇsen´ı efektivity PA [30, 28, 10]. V [5] je pops´ ano pouˇzit´ı korelaˇcn´ıho koeficientu jako statistick´e metody. Ve vˇedeck´e literatuˇre se stalo popul´arn´ım zav´adˇet nov´e n´ azvy pro DPA u ´toky, kter´e jsou drobnou variac´ı obecn´eho sch´ematu, napˇr. pouˇz´ıvaj´ı jen jin´ y statistick´ y test (Korelaˇcn´ı anal´ yza [5, 7]). V kontextu DPA je d˚ uleˇzit´e si uvˇedomit, ˇze pojem DPA u ´tok je nez´avisl´ y na pouˇzit´em statistick´em testu nebo pouˇzit´em meziv´ ysledku. Pokroˇcil´e metody DPA jsou uvedeny v pr´aci [35]. ´ V pr´ aci [32] byla pˇredstavena koncepce stochastick´ ych model˚ u. Utoky vyˇsˇs´ıho ˇr´adu (Higher-order DPA) kombinuj´ı DPA u ´toky pro nˇekolik zvolen´ ych meziv´ ysledk˚ u algoritmu. Tato myˇslenka byla zm´ınˇena jiˇz v prvn´ım ˇcl´ anku o DPA [18], ale aˇz pr´ ace [26] popisuje konkr´etn´ı implementaci. Navazuj´ıc´ı pr´ace [2, 34] popisuj´ı metody maskov´ an´ı a u ´toky vyˇsˇs´ıho ˇr´ adu umoˇzn ˇuj´ıc´ı z´ıskat senzitivn´ı data. D˚ uleˇzit´a ot´azka vlivu pˇredzpracov´ an´ı namˇeˇren´ ych dat na efektivitu DPA byla prezentov´ana v prac´ıch [16, 13].
2.3
Protiopatˇ ren´ı proti proudov´ e anal´ yze
Hlavn´ım c´ılem protiopatˇren´ı je zajistit, aby proudov´a spotˇreba byla nez´avisl´a na hodnotˇe meziv´ ysledku a operac´ıch pr´ avˇe zpracov´ avan´ ych kryptografick´ ym modulem. Metody a techniky, kter´ ymi lze tuto nez´avislost v´ıce ˇci m´enˇe doc´ılit jsou detailnˇeji pops´ any v n´ asleduj´ıc´ı kapitole. Obecnˇe lze techniky protiopatˇren´ı kryptografick´eho modulu proti u ´toku postrann´ım kan´ alem rozdˇelit do dvou velk´ ych skupin a to techniky skr´ yv´an´ı (hiding) a maskov´ an´ı (masking). Tyto dvˇe skupiny se n´aslednˇe dˇel´ı do dvou podskupin dle implementace na hardwarov´ a a softwarov´ a protiopatˇren´ı. C´ılem skr´ yv´ an´ı je zajistit, aby proudov´a spotˇreba byla nez´avisl´a na hodnotˇe meziv´ ysledk˚ u, operac´ıch pr´ avˇe zpracov´ avan´ ych kryptografick´ ym modulem a hodnotˇe dat. V podstatˇe existuj´ı dva zp˚ usoby jak doc´ılit t´eto poˇzadovan´e nez´avislosti. Prvn´ı zp˚ usob je vyrobit zaˇr´ızen´ı takov´ ym zp˚ usobem, aby proudov´ a spotˇreba byla n´ ahodn´ a. To znamen´a, ˇze v kaˇzd´em hodinov´em taktu bude proudov´a spotˇreba r˚ uzn´ a i pro stejn´e instrukce. Druh´ y zp˚ usob je vyrobit zaˇr´ızen´ı takov´ ym zp˚ usobem, ˇze proudov´a spotˇreba bude konstantn´ı pro vˇsechny operace a vˇsechny datov´e hodnoty, tzn. proudov´a spotˇreba bude v kaˇzd´em hodinov´em cyklu stejn´ a. Ide´ aln´ım c´ılem skr´ yv´ an´ı, kter´eho vˇsak v praxi nelze dos´ahnout, je realizace takov´eho zaˇr´ızen´ı. Existuje nˇekolik n´ avrh˚ u a ˇreˇsen´ı jak se k tomuto ide´aln´ımu stavu proudov´e spotˇreby alespoˇ n pˇribl´ıˇzit. Tyto 10
ˇreˇsen´ı m˚ uˇzeme rozdˇelit do dvou skupin. Prvn´ı skupina n´avrh˚ u zn´ahodn´ı proudovou spotˇrebu proveden´ım operac´ı kryptografick´eho algoritmu v r˚ uzn´ ych ˇcasov´ ych okamˇzic´ıch pˇri kaˇzd´em spuˇstˇen´ı algoritmu. Tyto n´avrhy maj´ı vliv na ˇ casovou oblast proudov´ e spotˇ reby. Druh´a skupina n´avrh˚ u si klade za c´ıl uˇcinit proudovou spotˇrebu n´ ahodnou nebo konstantn´ı a to pˇr´ımo zmˇenou charakteristick´e proudov´e spotˇreby prov´adˇen´ ych operac´ı. Z tohoto d˚ uvodu maj´ı tyto n´ avrhy vliv na okamˇ zitou velikost proudov´ e spotˇ reby. Pˇri maskov´ an´ı je kaˇzd´ y meziv´ ysledek v zamaskov´an n´ahodnou hodnotou m, kterou naz´ yv´ame maska vm = v ∗ m. Maska m je generov´ ana internˇe v kryptografick´em modulu a pro kaˇzd´e spuˇstˇen´ı m´a jinou hodnotu, proto jej´ı hodnotu u ´toˇcn´ık nezn´ a. Operace ∗ je typicky definovan´a dle operac´ı, kter´e jsou pouˇzity algoritmem. Tato operace je vˇetˇsinou v kryptografick´em modulu realizov´ana exklusivn´ım souˇctem XOR znaˇcen´ ym symbolem ⊕ (aditivn´ı maskov´ an´ı) nebo n´ asoben´ım znaˇcen´ ym symbolem ⊗ (multiplikativn´ı maskov´an´ı). Ve vˇetˇsinˇe pˇr´ıpad˚ u jsou masky pouˇz´ıv´ any pˇr´ımo na otevˇren´ y text nebo tajn´ y kl´ıˇc. Pˇri pouˇzit´ı maskov´an´ı mus´ı b´ yt implementace algoritmu m´ırnˇe modifikov´ ana s ohledem na maskovan´e meziv´ ysledky. V´ ysledkem kryptografick´eho algoritmu je tak´e maska, kterou je nutno odstranit k z´ısk´an´ı kryptogramu. Typick´e maskovac´ı sch´ema popisuje jak jsou vˇsechny meziv´ ysledky maskov´ any a jak se masky mˇen´ı v algoritmu a n´aslednˇe koneˇcn´e odstranˇen´ı masek.
2.4
Neuronov´ e s´ıtˇ e v kryptografii
Neuronov´e s´ıtˇe v kryptografii (Neuro-Cryptography nebo Neural Cryptography) je obor kryptologie vˇenovan´ y anal´ yze vyuˇzit´ı statistick´ ych algoritm˚ u, zejm´ena neuronov´ ych s´ıt´ı v kryptografii a kryptoanal´ yze. Neuronov´e s´ıtˇe jsou dobˇre zn´ am´e pro svou schopnost selektivnˇe prozkoumat prostor ˇreˇsen´ı dan´eho probl´emu. Tato funkce jde pˇrirozenˇe vyuˇz´ıt v oblasti kryptoanal´ yzy. Neuronov´e s´ıtˇe tak´e nab´ız´ı nov´ y pˇr´ıstup k ˇsifrov´an´ı a deˇsifrov´ an´ı zaloˇzen´ y na z´ asadˇe, ˇze kaˇzd´ a funkce m˚ uˇze b´ yt reprezentov´ana pomoc´ı neuronov´e s´ıtˇe. Neuronov´e s´ıtˇe jsou tak´e v´ ykonn´ y v´ ypoˇcetn´ı n´ astroj, kter´ y m˚ uˇze b´ yt pouˇzit k nalezen´ı inverzn´ı funkce ˇsifrovac´ıho algoritmu. Neuronov´e s´ıtˇe se nejˇcastˇeji vyuˇz´ıvaj´ı v kryptografii v n´ asleduj´ıc´ıch oblastech: • obdoba asymetrick´ ych ˇsifrovac´ıch algoritm˚ u [23], • problematika distribuce kl´ıˇc˚ u [17], • haˇsovac´ı funkce [22], • gener´ atory n´ ahodn´ ych ˇc´ısel [36], • protokol na v´ ymˇenu kl´ıˇc˚ u [27] (obdoba Diffie-Hellman protokolu). Neuronov´e s´ıtˇe byly poprv´e pouˇzity pˇri klasifikaci informac´ı unikaj´ıc´ıch prostˇrednictv´ım akustick´eho postrann´ıho kan´ alu viz [11, 24, 37]. Pˇri anal´ yze proudov´ ym postrann´ım kan´alem byla moˇznost vyuˇzit´ı neuronov´ ych s´ıt´ı poprv´e publikov´ ana v pr´ aci [31]. N´aslednˇe na tuto pr´aci navazovali dalˇs´ı autoˇri napˇr. [20, 19], kteˇr´ı se zab´ yvali klasifikac´ı proudov´ ych otisk˚ u, tedy pˇriˇrazen´ım specifick´ ych proudov´ ych otisk˚ u jednotliv´ ym prov´ adˇen´ ym instrukc´ım kryptografick´eho modulu. Jednalo se v podstatˇe o metody zpˇetn´eho inˇzen´ yrstv´ı vyuˇz´ıvaj´ıc´ı proudovou spotˇrebu k urˇcen´ı vykon´avan´eho kryptografick´eho algoritmu. Pouˇzit´ı neuronov´ ych s´ıt´ı pˇri anal´ yze proudov´ ym postrann´ım kan´ alem a pˇri klasifikaci konkr´etn´ı hodnoty bajtu tajn´eho kl´ıˇce bylo doposud velice m´ alo publikov´ ano a testov´ ano. Pr´ ace zab´ yvaj´ıc´ı se touto problematikou jsou zaloˇzeny na algoritmech podp˚ urn´ ych vektor˚ u (Support vector machines (SVM) [14, 4, 15, 21] a nevyuˇz´ıvaj´ı klasick´e v´ıcevrstv´e neuronov´e s´ıtˇe s algoritmy uˇcen´ı.
11
3
ˇ SEN ˇ ´I - PROUDOVA ´ ANALYZA ´ VLASTN´I RE
C´ılem kapitoly je pˇrehlednˇe shrnout dosaˇzn´e v´ ysledky. Dle definovan´ ych c´ıl˚ u pr´ace byla nejprve pro ovˇeˇren´ı teoretick´ ych znalost´ı testov´ ana metoda mˇeˇren´ı proudov´ ym postrann´ım kan´alem. Na metodˇe mˇeˇren´ı byly testov´ any r˚ uzn´e konfigurace a nastaven´ı, tak aby v´ ysledky mˇeˇren´ı byly co nejmarkantnˇejˇs´ı. Nejprve byly porovn´av´ any r˚ uzn´e metody mˇeˇren´ı proudov´eho odbˇeru kryptografick´eho modulu: proudov´ y boˇcn´ık, proudov´a sonda, diferenci´ aln´ı sonda, pasivn´ı sondy a pasivn´ı sonda s oddˇelovac´ım transform´atorem [41]. N´aslednˇe byl zkoum´ an vliv parametr˚ u vybran´e metody mˇeˇren´ı vyuˇz´ıvaj´ıc´ı odporov´ y boˇcn´ık na v´ yslednou proudovou anal´ yzu [46, 45]. Zkouman´e parametry vych´ azely z nastudovan´e teorie proudov´eho postrann´ıho kan´alu: vliv velikosti nap´ajec´ıho napˇet´ı, vliv odporu boˇcn´ıku (pˇri mˇeˇric´ı metodˇe proudov´e spotˇreby vyuˇz´ıvaj´ıc´ı vloˇzen´ y odporov´ y boˇcn´ık [41]), frekvence hodinov´eho sign´ alu a velikost kapacity blokovac´ıch kondenz´ator˚ u. Z´ıskan´e znalosti a zkuˇsenosti byly nezbytn´e ke spr´ avn´e anal´ yze proudov´e spotˇreby kryptografick´eho modulu a n´avrhu nov´e proudov´e anal´ yzy vyuˇz´ıvaj´ıc´ı neuronov´e s´ıtˇe. Metoda mˇeˇren´ı proudov´ ym postrann´ım kan´alem byla pˇrizp˚ usobena pomoc´ı sondy na mˇeˇren´ı bl´ızk´eho elektromagnetick´eho pole [44]. Byl porovn´ an proudov´ y a elektromagnetick´ y pr˚ ubˇeh ˇsifrovac´ıho algoritmu AES [48] a pr˚ ubˇehy byly podrobeny detailn´ı anal´ yze v z´avislosti na implementovan´em algoritmu. Z´ıskan´e elektromagnetick´e a proudov´e pr˚ ubˇehy byly vyuˇzity na realizaci u ´tok˚ u elektromagnetick´ ym a proudov´ ym postrann´ım kan´ alem vyuˇz´ıvaj´ıc´ı jednoduchou i diferenci´ aln´ı anal´ yzu [44, 49, 48, 38, 39]. Teoretick´ y n´avrh optimalizace z´ akladn´ı metody diferenci´ aln´ı proudov´e anal´ yzy vyuˇz´ıvaj´ıc´ı rozd´ıl stˇredn´ıch hodnot byl pops´an v [40]. N´asledn´e experimenty se zamˇeˇrily na zp˚ usoby klasifikace pomoc´ı neuronov´ ych s´ıt´ı [42, 43]. Kompletn´ı v´ ysledky tˇechto anal´ yz jsou detailnˇe pops´ any ve v´ yˇse uveden´ ych prac´ıch a tato kapitola shrnuje jen nejd˚ uleˇzitˇejˇs´ı v´ ysledky. Stˇeˇzejn´ı ˇc´ ast´ı t´eto kapitoly je popis navrˇzen´e anal´ yzy proudov´ ym postrann´ım kan´alem vyuˇz´ıvaj´ıc´ı neuro’ novou s´ıt , kter´ y odpov´ıd´ a hlavn´ımu c´ıli disertaˇcn´ı pr´ace [47]. Konkr´etn´ı n´avrh metody byl rozdˇelen do tˇr´ı f´ az´ı, kter´e jsou postupnˇe detailnˇe pops´ any vˇcetnˇe namˇeˇren´ ych proudov´ ych pr˚ ubˇeh˚ u, implementace a z´ıskan´ ych v´ ysledk˚ u klasifikace. Z´ avˇereˇcn´ a ˇc´ ast kapitoly je popis optimalizace navrˇzen´e metody, kter´a umoˇznila zv´ yˇsen´ı pravdˇepodobnosti spr´ avn´e klasifikace ˇsifrovac´ıho kl´ıˇce, testov´an´ı opakovatelnosti (realizovatelnosti metody) na vˇetˇs´ım poˇctu namˇeˇren´ ych proudov´ ych pr˚ ubˇeh˚ u a zhodnocen´ı metody.
3.1
Proudov´ a anal´ yza vyuˇ z´ıvaj´ıc´ı neuronov´ e s´ıtˇ e
Hlavn´ım c´ılem disertaˇcn´ı pr´ ace je n´ avrh a implementace anal´ yzy postrann´ım kan´alem, kter´a bude vyuˇz´ıvat neuronov´e s´ıtˇe [47]. Anal´ yza bude zamˇeˇrena jen na d˚ uleˇzit´e operace algoritmu AES (operaci AddRoudnKey a operaci SubBytes), z kter´ ych lze pˇr´ımo urˇcit tajn´ y kl´ıˇc algoritmu. Tento typ u ´toku proudov´ ym postrann´ım kan´ alem nebyl dosud publikov´ an, jedn´ a se tedy o zcela novou myˇslenku. Pˇredpokl´ad´a se, ˇze k proveden´ı u ´toku nebude zapotˇreb´ı velk´e mnoˇzstv´ı mˇeˇren´ı proudov´e spotˇreby jako napˇr´ıklad u DPA viz kapitola 2.2. Tato v´ yhoda je stˇeˇzejn´ı v porovn´ an´ı s SPA a DPA a umoˇzn´ı v extr´emn´ım pˇr´ıpadˇe urˇcen´ı tajn´eho kl´ıˇce z jednoho ´ cn´ık tak m˚ proudov´eho pr˚ ubˇehu u algoritm˚ u, kter´e jsou odoln´e v˚ uˇci SPA. Utoˇ uˇze prov´est u ´tok na modul, kter´ y se mu podaˇrilo z´ıskat na kr´ atk´ y ˇcas. Navrhovan´ a metoda bude pracovat per partes“, stejnˇe jako vˇetˇsina anal´ yz postrann´ım kan´alem, tedy ” c´ılem je urˇcen´ı tajn´eho kl´ıˇce po jednotliv´ ych bajtech, kde tajn´ y kl´ıˇc je K = {k1 , k2 , k3 , k4 , k5 , k6 , k7 , k8 } pro 0 ≤ ki ≤ 255 a pro kroky metody oznaˇcn´e i = 0 aˇz 8. Navrhovan´a metoda tedy v prvn´ım cyklu urˇc´ı hodnotu prvn´ıho bajtu k1 v dalˇs´ım cyklu druh´eho k2 a v posledn´ım kroku hodnotu posledn´ıho bajtu tajn´eho kl´ıˇce k8 . Rozd´ıl mezi jednotliv´ ymi kroky bude v rozdˇelen´ı namˇeˇren´e proudov´e spotˇreby na ˇc´asti odpov´ıdaj´ıc´ı jednotliv´ ym bajt˚ um tajn´eho kl´ıˇce.
12
0.3 0.25
1 2 3 ... AddRoundKey
1
2
3
Klíč 1 Klíč 255
... SubBytes
Váhy spojení wij Výstupy
Vstupy 0.2
I [A]
0.15
X1
0.1
Y1
0.05
X2 0 -0.05
X3
Y2
Skrytá vrstva
-0.1 -0.15 0
1
2
3
4
5 t [n]
Obr. 3.1: Pr˚ ubˇeh proudov´e AddRoundKey a SubBytes.
6
7
8
spotˇreby
9
10 4 x 10
operac´ı
Vstupní vrstva
Výstupní vrstva
Obr. 3.2: Obecn´a struktura tˇr´ıvrstv´e neuronov´e s´ıˇe.
Na obr. 3.1 je zobrazen namˇeˇren´ y proudov´ y pr˚ ubˇeh odpov´ıdaj´ıc´ı operac´ım AddRoudnKey a SubBytes, kdy doˇslo ke zmˇenˇe pouze v prvn´ım bajtu tajn´eho kl´ıˇce k1 a to z hodnoty 1 na hodnotu 255. Na pr˚ ubˇehu jsou jasnˇe ˇ patrny u ´seky, na kter´e m´ a vliv prvn´ı bajt. C´ısla oznaˇcuj´ı jednotliv´e ˇc´asti, kter´e odpov´ıdaj´ı jednotliv´ ym krok˚ um metody. V n´ asleduj´ıc´ım textu bude pojmem tajn´ y kl´ıˇc (Ktaj ) oznaˇcen kl´ıˇc uloˇzen´ y v kryptografick´em modulu, na kter´ y je prov´ adˇen u ´tok. Pojmem odhad kl´ıˇce (Kodh ) bude myˇslena hodnota odhadu tajn´eho kl´ıˇce, kterou klasifikuje navrhovan´ a metoda. C´ılem metody je, aby si na konci anal´ yzy hodnota tajn´eho kl´ıˇce a odhadu kl´ıˇce byla rovna. Mˇeˇren´ı proudov´ ych pr˚ ubˇeh˚ u bylo prov´adˇeno pomoc´ı metody mˇeˇren´ı, kter´a byla d˚ ukladnˇe otestov´ ano a byla zaloˇzena na proudov´e sondˇe CT-6. Kompletn´ı implementace navrˇzen´e a testov´an´ı byly provedeny v prostˇred´ı MATLAB. Toto prostˇred´ı poskytuje ˇsirok´e moˇznosti pro implementaci matematick´ ych metod, zpracov´ an´ı sign´ al˚ u, simulace a testov´an´ı. Velkou v´ yhodou je tak´e dostupnost tzv. toolbox˚ u, soubor˚ u funkc´ı a skript˚ u, kter´e ˇreˇs´ı konkr´etn´ı probl´em. Pro implementaci neuronov´ ych s´ıt´ı byla pouˇzita neuronov´ a s´ıt’ vytvoˇren´ a pomoc´ı Netlab Neural Network toolbox. Autory tohoto toolboxu jsou Ian Nabney a Christopher Bishop z Aston University v Birminghamu. Toolbox je volnˇe ke staˇzen´ı [29]. Navrˇ zen´ e obecn´ e sch´ ema metody Dle v´ yˇse popsan´ ych skuteˇcnost´ı byla navrˇzena a realizov´ana metoda vyuˇz´ıvaj´ıc´ı neuronov´e s´ıtˇe sest´avaj´ıc´ı se z nˇekolika f´ az´ı: • f´ aze pˇr´ıpravy vzor˚ u pro tajn´e kl´ıˇce ki , • f´ aze vytvoˇren´ı a tr´enov´ an´ı neuronov´e s´ıtˇe vytvoˇren´ ymi vzory, • f´ aze u ´toku, urˇcen´ı odhadu kl´ıˇce. Proveden´ı tˇechto f´ az´ı umoˇzn´ı u ´toˇcn´ıkovi realizovat jeden krok anal´ yzy, tedy urˇcen´ı jednoho bajtu tajn´eho kl´ıˇce ki . V prvn´ı f´ azi si u ´toˇcn´ık pˇriprav´ı tr´enovac´ı mnoˇzinu dat, kter´ ymi bude n´aslednˇe uˇcit neuronovou s´ıt’. ´ cn´ık mus´ı zn´ Utoˇ at typ kryptografick´eho modulu, na kter´ y hodl´a u ´toˇcit a mus´ı stejn´ y typ modulu m´ıt zcela pod kontrolou (napˇr´ıklad pl´ anuje-li u ´toky na ˇcipovou kartu obsahuj´ıc´ı mikrokontrol´er PIC16F84 mus´ı tuto kartu vlastnit). Na kryptografick´ y modul implementuje poˇzadovan´ y kryptografick´ y algoritmus a zaznamen´a proudov´e pr˚ ubˇehy pro operace AddRoundKey a SubBytes pro vˇsechny varianty tajn´eho kl´ıˇce ki (256 moˇzn´ ych variant). Namˇeˇren´e pr˚ ubˇehy proudov´e spotˇreby odpov´ıdaj´ıc´ı pr´aci s bajtem ki pouˇzije u ´toˇcn´ık k natr´enov´an´ı neuronov´e s´ıtˇe, kter´ a bude dan´e pr˚ ubˇehy pˇriˇrazovat k hodnot´am tajn´eho kl´ıˇce. Po u ´spˇeˇsn´em natr´enov´an´ı neuronov´e s´ıtˇe m˚ uˇze u ´toˇcn´ık pokraˇcovat posledn´ı f´ az´ı a to f´ az´ı u ´toku, kdy vyuˇzije natr´enovanou neuronovou s´ıt’ k napaden´ı kryptografick´eho modulu. V posledn´ı f´ azi u ´toku u ´toˇcn´ık namˇeˇr´ı proudovou spotˇrebu kryptografick´eho modulu, na kter´ yu ´toˇc´ı a pˇrivede ji na vstup nauˇcen´e neuronov´e s´ıtˇe. Neuronov´a s´ıt’ n´aslednˇe pˇriˇrad´ı proudovou spotˇrebu k odhad˚ um tajn´eho kl´ıˇce a odhad kl´ıˇce s nejvˇetˇs´ı pravdˇepodobnost´ı bude odpov´ıdat hodnotˇe tajn´eho kl´ıˇce a t´ım dojde k urˇcen´ı hodnoty ki . V n´ asleduj´ıc´ım textu budou pops´any jednotliv´e f´aze navrˇzen´e anal´ yzy vˇcetnˇe implementace a dosaˇzen´ ych v´ ysledk˚ u.
13
Pˇ r´ıprava vzor˚ u C´ılem t´eto f´ aze je z´ıskat tr´enovac´ı vzory proudov´e spotˇreby pro operaci AddRoundKey a SubBytes pro vˇsechny varianty tajn´eho kl´ıˇce k1 (256 moˇzn´ ych variant). Do kryptografick´eho modulu byl implementov´any operace AddRoundKey a SubBytes dle pˇredem ovˇeˇren´ ych znalost´ı o algoritmu AES a kryptografick´em modulu. Program pracoval ve smyˇcce a pˇred zapoˇcet´ım kaˇzd´e smyˇcky byla naˇctena data kl´ıˇce ki do pamˇeti tak, aby smyˇcka vˇzdy pracovala se stejn´ ymi vstupn´ımi promˇenn´ ymi. Program umoˇzn ˇoval inkrementovat nebo dekrementovat hodnotu kl´ıˇce a indikovat tuto operaci odesl´an´ım aktu´aln´ı hodnoty kl´ıˇce pomoc´ı s´eriov´e linky do poˇc´ıtaˇce. Synchronizaˇcn´ı sign´ al a komunikace s PC nemˇela na zkoumanou proudovou spotˇrebu vliv. Stejnˇe tak jak v pˇredchoz´ı kapitole vyj´ adˇr´ıme operaci AddRoundKey pro pˇrehlednost a jednoduchost v maticov´e podobˇe: 0
S = S ⊗ K.
(3.1)
V pr˚ ubˇehu mˇeˇren´ı byly hodnoty otevˇren´eho textu S nastaveny na konstantn´ı hodnoty. Hodnoty prvn´ıho bajtu tajn´eho kl´ıˇce K nab´ yvaly postupnˇe hodnotu 0 aˇz 255 a zbyl´e hodnoty byly nulov´e. Matice tajn´eho kl´ıˇce a otevˇren´eho textu vypadaly n´ asledovnˇe (hexadecim´aln´ı z´apis):
01 1F S= 01 1F
03 3F 03 3F
07 7F 07 7F
00 . . . FF 0F FF 00 ,K = 00 0F 00
FF
00 00 00 00 00 00 . 00 00 00 00 00 00
(3.2)
Obr. 3.1 zobrazuje proudov´e pr˚ ubˇehy pro operace AddRoundKey a SubBytes pro hodnoty kl´ıˇce 1 a 255. Proudov´e pr˚ ubˇehy jsou si takˇrka identick´e s vyj´ımkou zaˇc´atku pr˚ ubˇehu, kter´ y odpov´ıd´a naˇcten´ı registru a operaci XOR otevˇren´eho textu s hodnotou tajn´eho kl´ıˇce a ˇc´asti pro ˇcas t = 35000, kter´a odpov´ıd´a operac´ım prov´ adˇen´ ych bˇehem substituce). Je zˇrejm´e, ˇze je zbyteˇcn´e a znaˇcnˇe neefektivn´ı uˇcit neuronovou s´ıt’ na cel´e pr˚ ubˇehy, a proto byly vˇsechny pr˚ ubˇehy redukov´any na m´ısta pr´ace s prvn´ım bajtem tajn´eho kl´ıˇce. Takto redukovan´e a pˇripraven´e proudov´e pr˚ ubˇehy pro vˇsechny hodnoty tajn´eho kl´ıˇce urˇcen´ ych pro neuronovou s´ıt’ zobrazuje obr. 3.3. Detail prvn´ı proudov´e ˇspiˇcky je zobrazen na obr. 3.4 a je patrn´e, ˇze proudov´e pr˚ ubˇehy jsou rozdˇeleny do nˇekolika skupin, kter´e dle podrobnˇejˇs´ıho zkoum´an´ı odpov´ıdaj´ı HW tajn´eho kl´ıˇce. Neuronov´e s´ıtˇe, kter´e byly pouˇzity pˇri klasifikaci akustick´eho sign´alu [37], byly nauˇceny (natr´enov´any) na konkr´etn´ı pr˚ ubˇehy akustick´ ych sign´ al˚ u. Tato metoda pˇredpokl´ ad´a dostateˇcn´e rozd´ıly mezi jednotliv´ ymi pr˚ ubˇehy. U proudov´e anal´ yzy je pravdˇepodobn´e, ˇze tento postup povede k ne´ uspˇeˇsn´e klasifikaci instrukc´ı a to ze dvou z´akladn´ıch vlastnost´ı PA. Prvn´ı vlastnost´ı je, ˇze proudov´e pr˚ ubˇehy jednotliv´ ych instrukc´ı jsou si velice podobn´e [3]. Druhou typickou vlastnost´ı je, ˇze mˇeˇr´ıme-li v´ ykonov´ y pr˚ ubˇeh konkr´etn´ı instrukce opakovanˇe, pr˚ ubˇehy nejsou zcela identick´e a to v d˚ usledku zmˇen pomocn´ ych registr˚ u kryptografick´eho modulu (ˇc´ıtaˇc instrukc´ı atd.). Tato vlastnost b´ yv´ a naz´ yv´ ana jako elektronick´ y ˇsum (Electronic Noise), kter´ y z´avaˇzn´ ym zp˚ usobem ovlivˇ nuje v´ ysledky PA. Pˇri pˇr´ıpravˇe vzor˚ u i bˇehem f´ aze u ´toku je nutn´e sn´ıˇzit elektronick´ y ˇsum na minim´aln´ı hodnotu, jinak bude doch´ azet ke ˇspatn´e klasifikaci tajn´eho kl´ıˇce. V´ ysledkem mˇeˇren´ı by byl proudov´ y pr˚ ubˇeh zaˇrazen v chybn´e skupinˇe, porovn´ an´ı obr´ azku obr. 3.4 a obr. 3.5. K urˇcen´ı elektronick´eho ˇsumu byla namˇeˇrena opakovanˇe proudov´a spotˇreba kryptografick´eho modulu zpracov´ avaj´ıc´ıho st´ ale stejn´ a data. Kryptografick´ y modul na experiment´aln´ım pracoviˇsti zpracov´aval 200 kr´ at datovou hodnotu 170, kterou ukl´ adal do registru. Obr. 3.5 zobrazuje prvn´ıch 5 proudov´ ych pr˚ ubˇeh˚ u operace. Pr˚ ubˇehy jsou si velice podobn´e, protoˇze jsou st´ale zpracov´av´any stejn´e instrukce a data. Rozd´ıly mezi pr˚ ubˇehy zp˚ usobuje elektronick´ y ˇsum. S c´ılem z´ıskat lepˇs´ı pˇredstavu o rozloˇzen´ı bod˚ u proudov´e spotˇreby bude n´asleduj´ıc´ı anal´ yza zamˇeˇrena pouze na jeden bod z proudov´e spotˇreby.
14
Klíč 0 Klíč 1 Klíč 2 Klíč 3 ...
0.2
0.15
I [A]
0.1 0.05
0 -0.05 -0.1 5920
5940
5960
5980
6000 t [n]
6020
6040
6060
6080
Obr. 3.3: Proudov´e vzory spotˇreby pro vˇsechny hod- Obr. 3.4: Detail proudov´e spotˇreby pro vˇsechny hodnoty kl´ıˇce. noty kl´ıˇce. 0.3
40
0.25
35
0.2
30
Počet výskytů
0.15
I [A]
0.1 0.05 0
25 20 15
-0.05
10
-0.1
5
-0.15 -0.2
1.82
1.84
1.86
1.88 t [n]
1.9
1.92
1.94
1.96 4 x 10
0 0.265
0.27
0.275
0.28
Obr. 3.5: Prvn´ıch 5 proudov´ ych pr˚ ubˇeh˚ u operace Obr. 3.6: Histogram ukl´ ad´ an´ı dat do registru. spotˇreby.
0.285 0.29 I [A]
pro
0.295
zvolen´ y
0.3
bod
0.305
0.31
proudov´e
Vezmeme v potaz napˇr´ıklad bod n = 18219 odpov´ıdaj´ıc´ı proudov´e ˇspiˇcce. Obr. 3.6 zobrazuje vypoˇc´ıtan´ y histogram pro dan´ y bod, kter´ y zobrazuje jak ˇcasto byly jednotliv´e hodnoty proudu namˇeˇreny. Pokud bude zobrazen histogram pro jak´ ykoli jin´ y bod proudov´e spotˇreby, tvar histogramu bude vˇzdy obdobn´ y. Tvary histogram˚ u indikuj´ı, ˇze body namˇeˇren´ ych pr˚ ubˇeh˚ u se ˇr´ıd´ı norm´aln´ım rozdˇelen´ım. Norm´aln´ı rozdˇelen´ı pravdˇepodobnosti s parametry µ a σ, pro −∞ < µ < ∞ a σ > 0, je pro −∞ < x < ∞ definov´ano hustotou pravdˇepodobnosti ve tvaru Gaussovy funkce: (x−µ)2 1 f (x) = √ e− 2σ2 , (3.3) σ 2π parametry µ a σ jsou naz´ yv´ any stˇredn´ı hodnota a smˇerodatn´a odchylka. Mocninou smˇerodatn´e odchylky je rozptyl:
E(X)
= µ,
D(X)
= σ2 .
(3.4)
Norm´ aln´ı rozdˇelen´ı se vˇetˇsinou znaˇc´ı N(µ, σ). V naˇsem experimentu, promˇenn´a X definuje proudovou spotˇrebu definovanou zvolen´ ym bodem. V norm´ aln´ım rozdˇelen´ı je stˇredn´ı hodnota nejpravdˇepodobnˇejˇs´ı v´ ysledek mˇeˇren´ı, tzn. je to v´ ysledek vyskytuj´ıc´ı se nejˇcastˇeji. Nav´ıc z definice norm´aln´ıho rozdˇelen´ı plyne, ˇze vˇetˇsina v´ ysledk˚ u experimentu se pohybuje bl´ızko stˇredn´ı hodnoty, a proto m˚ uˇzeme urˇcit µ = E(X) jako pr˚ umˇer hodnoty x ¯. V uveden´em pˇr´ıkladu vych´ az´ı pr˚ umˇern´ a hodnota x ¯ = 55, 3mA, coˇz odpov´ıd´a stˇredu histogramu. Lze tak´e vypoˇc´ıtat smˇerodatnou odchylku σ = 7, 5mA. D˚ uleˇzitou vlastnost´ı je, ˇze 68, 3% hodnot se pohybuje v mez´ıch smˇerodatn´e odchylky (±σ) a 95, 5% vˇsech hodnot se pohybuje v rozmez´ı dvou smˇerodatn´ ych odchylek (±2σ). 15
V proveden´em experimentu byly zpracov´ av´ ana vˇzdy stejn´a data a stejn´e instrukce, proto se d´a pˇredpokl´ adat, ˇze rozptyl v´ ykonov´e spotˇreby z´ avisl´e na datech je nulov´ y. Za tohoto pˇredpokladu plat´ı, ˇze elektronick´ y ˇsum je rozloˇzen dle norm´ aln´ıho rozdˇelen´ı s parametry µ = 0mA a σ = 7, 5mA. V praxi se elektronick´ y ˇsum ˇr´ıd´ı u vˇetˇsiny kryptografick´ ych zaˇr´ızen´ı dle norm´aln´ıho rozdˇelen´ı se specifickou smˇerodatnou odchylkou pro kaˇzd´e zaˇr´ızen´ı. Dle v´ yˇse popsan´ ych poznatk˚ u chov´an´ı elektronick´eho ˇsumu a tak´e odborn´e literatury napˇr. [25] je nejlepˇs´ım zp˚ usobem sn´ıˇzen´ı elektronick´eho ˇsumu opakovan´e mˇeˇren´ı proudov´ ych spotˇreb a n´asledn´e vypoˇcten´ı pr˚ umˇern´e hodnoty. Proto byly proudov´e spotˇreby pro r˚ uzn´e hodnoty dat mˇeˇreny v´ıcekr´at a n´aslednˇe byl vypoˇc´ıt´ an pr˚ umˇern´ y pr˚ ubˇeh proudov´e spotˇreby, s kter´ ym se bude n´aslednˇe pracovat. Experiment´ alnˇe bylo ovˇeˇreno, ˇze optim´ aln´ı hodnota pr˚ umˇerov´an´ı proudov´ ych pr˚ ubˇeh˚ u je 16. Pr˚ ubˇehy proudov´e spotˇreby jsou funkc´ı s diskr´etn´ım ˇcasem, oznaˇcme proudov´e pr˚ ubˇehy odpov´ıdaj´ıc´ı jednotliv´ ym bajt˚ um kl´ıˇce ki [n] = f [n] pro [n] = {0, . . . , t} a kaˇzd´e mˇeˇren´ı je opakov´ ano s-kr´at, kde s = 16. Potom pr˚ umˇern´a spotˇreba, kter´a je pouˇzita jako vzorov´ a data je definov´ ana: s
1X j k¯i [n] = k [n]. s j=0 i
(3.5)
U pr˚ ubˇeh˚ u proudov´e spotˇreby zobrazen´ ych na obr.3.3 a obr.3.4 je pouˇzito pr˚ umˇerov´an´ı dle vztahu 3.5. F´ aze vytvoˇ ren´ı a tr´ enov´ an´ı neuronov´ e s´ıtˇ e Namˇeˇren´e pr˚ ubˇehy byly importov´ any a uloˇzeny do matice Kvzor v programu MATLAB pro n´asledn´e zpracov´ an´ı. Pro vytvoˇren´ı neuronov´e s´ıtˇe, jak jiˇz bylo ˇreˇceno, byl zvolen NETLAB Toolbox. Tato kapitola popisuje z´ akladn´ı vlastnosti a implementaci neuronov´e s´ıtˇe. Vytvoˇren´a neuronov´a s´ıt’ v prostˇred´ı MATLAB je typick´ a tˇr´ıvrstv´ a, jak popisuje kapitola 2.4. Struktura s´ıtˇe je zobrazena na obr. 3.2. Metoda uˇcen´ı byla zvolen algoritmus vyuˇz´ıvaj´ıc´ı zpˇetn´e ˇs´ıˇren´ı chyby (Backpropagation), kter´a patˇr´ı k nejpouˇz´ıvanˇejˇs´ım princip˚ um uˇcen´ı neuronov´ ych s´ıt´ı. Tato metoda je pops´ ana n´ asleduj´ıc´ımi kroky. • Krok 1: Poˇc´ ateˇcn´ı inicializace vah wij a prah˚ u θi jednotliv´ ych neuron˚ u. T • Krok 2: Pˇriveden´ı vstupn´ıho vektoru X = [x1 , . . . , xN ] a definice poˇzadov´an´e v´ ystupn´ı odezvy D = [d1 , . . . , dM ]T . • Krok 3: V´ ypoˇcet aktu´ aln´ıho v´ ystupu podle n´asleduj´ıc´ıch vztah˚ u: yl (t)
=
fs (
N2 X
00
00
00
wkl (t)xk (t) − θl ), 1 ≤ l ≤ M, v´ ystupn´ı vrstva,
(3.6)
k=1 00
xk (t)
=
N1 X 0 0 0 fs ( wjk (t)xj (t) − θk ), 1 ≤ k ≤ N2 , skryt´a vrstva,
(3.7)
j=1 0
xj (t)
=
N X fs ( wij (t)xi (t) − θj ), 1 ≤ j ≤ N1 , vstupn´ı vrstva.
(3.8)
i=1
V´ ypoˇcet plat´ı pro tˇr´ıvrstvou neuronovou s´ıt’ uvedenou na obr. 3.2. • Krok 4: Adaptace vah a prah˚ u dle n´ asleduj´ıc´ıch vtah˚ u: wij (t + 1)
=
wij (t) + ηδj xi , popˇr.
wij (t + 1)
=
wij (t) + ηδj xi + α(wij (t) − wij (t − 1)).
(3.9) (3.10)
Nastaven´ı vah zaˇc´ın´ a u v´ ystupn´ıch neuron˚ u a postupuje rekurzivnˇe smˇerem ke vstupn´ım neuron˚ um. V uveden´ ych vztaz´ıch jsou wij v´ ahy mezi i-t´ ym skryt´ ym neuronem popˇr´ıpadˇe vstupn´ım a uzlem j-t´ ym v 0 ˇcase t. V´ ystup i-t´eho neuronu je oznaˇcen xi , η je koeficient uˇcen´ı, α je tzv. momentov´ y koeficient a δj je chyba, pro kterou plat´ı n´ asleduj´ıc´ı vztahy: δj δj
= yj (1 − yj )(dj − yj ), pro v´ ystupn´ı neurony, X 0 0 = xj (1 − xj )( δk wjk ), pro skryt´e neurony,
kde k se mˇen´ı pˇres vˇsechny neurony vrstvy, kter´e n´asleduj´ı za uzlem j. 16
(3.11) (3.12)
• Krok 5: Opakov´ an´ı krok˚ u 3 aˇz 5, dokud chyba nen´ı menˇs´ı neˇz pˇredem stanoven´a hodnota. V n´ asleduj´ıc´ıch kapitol´ ach pˇri pouˇzit´ı neuronov´e s´ıtˇe bude br´ana v u ´vahu pr´avˇe popsan´a tˇr´ıvrstv´a neuronov´ a s´ıt’ s metodou uˇcen´ı zaloˇzen´em na zpˇetn´em ˇs´ıˇren´ı chyby. Vytvoˇren´ a neuronov´ a s´ıt’ v prostˇred´ı MATLAB m´a tyto parametry: vstupn´ı vrstva obsahuje stejn´ y poˇcet neuron˚ u jako je poˇcet vzork˚ u v pr˚ ubˇehu, tedy 3000. V´ ystupn´ı vrstva klasifikuje vstup na jednotliv´e kl´ıˇce, tedy mus´ı obsahovat 256 neuron˚ u pro vˇsechny kombinace kl´ıˇce 0 aˇz 255. Skryt´a vrstva m˚ uˇze m´ıt libovoln´ y poˇcet neuron˚ u v z´ avislosti na sloˇzitosti ˇreˇsen´eho probl´emu. V implementaci je poˇcet moˇzno konfigurovat od 128 do 256 neuron˚ u. S tˇemito poˇcty bylo provedeno testov´an´ı a dosahovalo se nejlepˇs´ıch v´ ysledk˚ u. Typ aktivaˇcn´ı funkce byl zvolen logistic, coˇz odpov´ıd´ a standardn´ı sigmoidˇe. N´asleduj´ıc´ı text obsahuje nejd˚ uleˇzitˇejˇs´ı ˇc´ ast programu implementace neuronov´e s´ıtˇe. Uveden´e ˇr´adky odpov´ıdaj´ı postupnˇe vytvoˇren´ı, konfiguraci a n´asledn´e tr´enov´ an´ı neuronov´e s´ıtˇe. %Vytv´ aˇ ren´ ı neuronov´ e s´ ıtˇ e nn = mlp(pocet_vzorku, pocet_neuronu, pocet_mereni,’logistic’); %Nastaven´ ı parametr˚ u neuronov´ e s´ ıtˇ e options = zeros(1,18); % Reset konfiguraˇ cn´ ıho pole options(1) = vypis; % V´ ypis chyby bˇ ehem uˇ cen´ ı options(14) = pocet_iteraci; % Poˇ cet tr´ enovac´ ıch cykl˚ u %Tr´ enov´ an´ ı neuronov´ e s´ ıtˇ e [nn, options] = netopt(nn, options, K_vzor, clas, ’scg’); Vzorov´ a data uloˇzen´ a v Kvzor obsahuj´ı 256 pr˚ ubˇeh˚ u a kaˇzd´ y z nich m´a 3000 vzork˚ u. Pro tyto pr˚ ubˇehy je nutn´e vytvoˇrit klasifikaˇcn´ı matici, kter´ a urˇc´ı spr´ avnou klasifikaci dan´eho vstupu na pˇr´ısluˇsn´ y kl´ıˇc. Tato matice m´ a rozmˇery 256 × 256 a jednotliv´e ˇr´ adky odpov´ıdaj´ı namˇeˇren´ ym pr˚ ubˇeh˚ um a pˇr´ısluˇsn´e sloupce pˇriˇrazuj´ı v´ ysledn´ y kl´ıˇc hodnotou 1. V´ ysledkem je jednotkov´ a klasifikaˇcn´ı matice, kter´a jednotliv´ ym pr˚ ubˇeh˚ um pro kl´ıˇce 0 aˇz 255 pˇriˇrad´ı kl´ıˇce 0 aˇz 255. Po u ´spˇeˇsn´em natr´enov´ an´ı neuronov´e s´ıtˇe n´asleduje f´aze u ´toku. F´ aze u ´ toku Po u ´spˇeˇsn´em nauˇcen´ı je neuronov´ a s´ıt’ pˇripravena k rozpozn´av´an´ı dat. V re´aln´em u ´toku by u ´toˇcn´ık namˇeˇril proudov´e spotˇreby kryptografick´eho modulu odpov´ıdaj´ıc´ı tajn´emu kl´ıˇci a pokusil se izolovat operaci AddRoundKey. Tato ˇc´ ast je povaˇzov´ ana za kritickou a je d˚ uleˇzit´e, aby data slouˇz´ıc´ı k u ´toku byla stejnˇe synchronizov´ana jako data vzorov´ a. Ide´ aln´ı metodou je vloˇzen´ı identick´eho synchronizaˇcn´ıho sign´alu jako pˇri mˇeˇren´ı vzorov´ ych dat. Pokud tuto moˇznost u ´toˇcn´ık nem´ a nezb´ yv´ a, neˇz namˇeˇrit cel´ y pr˚ ubˇeh proudov´e spotˇreby kryptografick´eho algoritmu, na kter´ y je prov´ adˇen u ´tok a n´ aslednou postupnou anal´ yzu pr˚ ubˇehu urˇcit jednotliv´e f´aze algoritmu a synchronizovat operaci AddRoundKey na napˇr´ıklad pomoc´ı prvn´ı proudovou ˇspiˇcky. (pr´ace s prvn´ım bajtem tajn´eho kl´ıˇce). D˚ uleˇzit´ ym faktorem je tak´e stejn´a implementace kryptografick´eho algoritmu, pokud by byl algoritmus implementov´ an odliˇsn´ ym zp˚ usobem (jin´e instrukce, jin´a posloupnost instrukc´ı), v´ ysledky klasifikace by byly chybn´e. D˚ uleˇzit´ ym faktorem je tak´e dodrˇzen´ı stejn´eho postupu sn´ıˇzen´ı elektronick´eho ˇsumu, tedy pr˚ umˇerov´ an´ı namˇeˇren´ ych pr˚ ubˇeh˚ u dle vztahu 3.5. Po korektn´ım namˇeˇren´ı proudov´e spotˇreby kryptografick´eho modulu je provedena klasifikace neuronovou s´ıt´ı a je urˇcen prvn´ı bajt tajn´eho kl´ıˇce jako odhad kl´ıˇce s nejvˇetˇs´ı pravdˇepodobnost´ı. Pro ovˇeˇren´ı metody byly namˇeˇreny a uloˇzeny do matice test proudov´e pr˚ ubˇehy odpov´ıdaj´ıc´ı vˇsem hodnot´ am tajn´eho kl´ıˇce k1 . Tato matice byla postupnˇe klasifikov´ana ˇr´adek po ˇr´adku neuronovou s´ıt´ı. T´ımto zp˚ usobem se z´ıskaly v´ ysledky pro vˇsechny hodnoty tajn´eho kl´ıˇce k1 a pˇredstava do jak´e m´ıry je metoda u ´spˇeˇsn´a. N´asleduj´ıc´ı ˇc´ ast zdrojov´eho k´ odu zobrazuje klasifikaci proudov´ ych pr˚ ubˇeh˚ u neuronovou s´ıt´ı.
17
100
200
90
80
80
Kodh
70 60
150
50 40
100
30
50
0 0
50
100
Ktaj
150
200
250
100
90
Pravděpodobnost [%]
250
Klíč 5 Klíč 41 Klíč 81 Klíč 129 Klíč 248
70 60 50 40 30
20
20
10
10 0 0
0
50
100 K
odh
150
200
250
ysledky klasifikace pro 5 n´ahodnˇe vybran´ ych Obr. 3.7: Grafick´e zn´ azornˇen´ı kompletn´ıch v´ ysledk˚ u Obr. 3.8: V´ kl´ıˇc˚ u. klasifikace Vcel . 100 90
45
250
Maximální pravděpodobnost Odhad klíče
40
80
200
35
150
Ktaj
P[%]
60 50 40
100
Počet výskytů
70
25 20 15
30 20
50
10
10 0 0
30
5
50
100 K
odh
150
200
250
0 0 0
10
20
30
40
50 P [%]
Obr. 3.9: Maxim´ aln´ı hodnoty pravdˇepodobnosti a Obr. 3.10: Histogram urˇcen´e odhady kl´ıˇce. pravdˇepodobnost´ı.
60
70
80
maxim´aln´ıch
90
100
hodnot
load neuronova_sit; %nacteni neuronove site test = test(:,3000:6000-1); %matice proudov´ ych prubehu V_cel = []; for i=1:256 %cyklus klasifikujici jednotlive prubehy V_cel = [V_cel; mlpfwd(nn,test(i,:))]; end V´ ysledkem anal´ yzy pro vˇsechny proudov´e pr˚ ubˇehy koresponduj´ıc´ı se vˇsemi hodnotami tajn´eho kl´ıˇce byla matice Vcel o rozmˇerech 255 × 255. Hodnota indexu ˇr´adku odpov´ıdala hodnotˇe tajn´eho kl´ıˇce, pro kter´ y byla mˇeˇrena proudov´ a spotˇreba a index sloupce pˇredstavoval odhad kl´ıˇce pˇriˇrazen´eho neuronovou s´ıt´ı. Neuronov´ a s´ıt’ pˇriˇradila kaˇzd´emu pr˚ ubˇehu proudov´e spotˇreby vektor obsahuj´ı pravdˇepodobnosti pro jednotliv´e odhady kl´ıˇce (ˇr´ adek matice Vcel ). Celkov´e v´ ysledky klasifikace jsou graficky zn´azornˇeny na obr. 3.7 a pro lepˇs´ı pˇredstavu je ˇc´ ast v´ ysledn´e matice ˇc´ıselnˇe zaps´ ana do tab. 3.1. Z tabulky je patrno, ˇze neuronov´a s´ıt’ klasifikovala napˇr´ıklad proudovou spotˇrebu pro tajn´ y kl´ıˇc s hodnotou 0 s pravdˇepodobnost´ı 36, 77% pro odhad kl´ıˇce 0 a pro proudov´ y pr˚ ubˇeh odpov´ıdaj´ıc´ı hodnotˇe tajn´eho kl´ıˇce 1 klasifikovala odhad kl´ıˇce 1 s pravdˇepodobnost´ı 66, 42%. Pro z´ıskan´ı lepˇs´ı pˇredstavy o v´ ysledc´ıch klasifikace neuronov´e s´ıtˇe a rozloˇzen´ı pravdˇepodobnosti odhad˚ u kl´ıˇc˚ u jsou na obr. 3.8 zobrazeny v´ ysledky klasifikace pro 5 n´ahodnˇe vybran´ ych proudov´ ych pr˚ ubˇeh˚ u koresponduj´ıc´ı s pˇeti hodnotami tajn´ ych kl´ıˇc˚ u. Na ose x jsou zobrazeny odhady kl´ıˇce, tzn. v´ ystup neuronov´e s´ıtˇe a osa y ud´ av´ a s jakou pravdˇepodobnost´ı se odhad kl´ıˇce rovn´a tajn´emu. Barevnˇe jsou vyznaˇceny jednotliv´e pr˚ ubˇehy odpov´ıdaj´ıc´ı tajn´emu kl´ıˇci, tedy byly vybr´any proudov´e pr˚ ubˇehy pro hodnoty tajn´eho kl´ıˇce 5, 41, 81, 129 a 248 (dekadick´ y z´ apis). Z obr.3.8 je patrno, ˇze pravdˇepodobnost odhadu kl´ıˇce 5 pro proudov´ y pr˚ ubˇeh 18
Tab. 3.1: V´ ysledky anal´ yzy - ˇc´ast matice Vcel .
Hodnota tajn´eho kl´ıˇce Ktaj
Pravdˇepodobnost odhadu kl´ıˇce Kodh .. . 6 5 4 3 2 1 0
0
1
2
3
4
5
6
··· 0,00% 0,00% 0,00% 0,00% 0,00% 0,00% 36,77%
··· 0,00% 0,00% 0,00% 0,00% 0,00% 66,42% 0,00%
··· 0,00% 0,08% 0,00% 0,00% 6,44% 0,00% 0,00%
··· 0,00% 0,00% 0,00% 23,79% 0,00% 0,00% 0,00%
··· 0,03% 0,00% 7,91% 0,00% 6,98% 0,00% 0,00%
··· 0,00% 35,61% 0,00% 0,00% 0,00% 0,00% 0,00%
··· 27,21% 0,00% 0,00% 0,00% 0,00% 0,00% 1,37%
s hodnotu tajn´eho kl´ıˇce 5 byla 35% a ostatn´ı pravdˇepodobnosti urˇcen´e neuronovou s´ıt´ı byly: 5% pro odhad kl´ıˇce 18, 6% pro odhad kl´ıˇce 74, 23% pro odhad kl´ıˇce 76 a 7% pro odhad kl´ıˇce 105. Analogicky lze vyˇc´ıst rozloˇzen´ı pravdˇepodobnost´ı pro ostatn´ı vybran´e hodnoty tajn´eho kl´ıˇce. Zobrazen´e hodnoty koresponduj´ı s matic´ı v´ ysledk˚ u Vcel a tab. 3.1. Pro n´ ahodnˇe vybran´e hodnoty tajn´eho kl´ıˇce nejvˇetˇs´ı pravdˇepodobnost odhadu kl´ıˇce odpov´ıdala vˇzdy hodnotˇe tajn´eho kl´ıˇce. Z tˇechto d´ılˇc´ıch v´ ysledk˚ u plyne dobr´a funkˇcnost metody. Pro podrobnˇejˇs´ı anal´ yzu funkˇcnosti metody zobrazuje obr. 3.9 maxim´ aln´ı hodnoty pravdˇ epodobnost´ı odhadu kl´ıˇce pro jednotliv´e hodnoty tajn´eho kl´ıˇce. Graf ukazuje jak´ y odhad kl´ıˇce byl klasifikov´an neuronovou s´ıt´ı s nejvˇetˇs´ı pravdˇepodobnost´ı pro konkr´etn´ı proudov´ y pr˚ ubˇeh koresponduj´ıc´ı s hodnotou tajn´eho kl´ıˇce. Graf je zobrazen se dvˇema osami y a to pro lepˇs´ı pˇrehlednost a n´azornost. Osa x pˇredstavuje odhady kl´ıˇc˚ u a modr´ a ˇ osa y pˇr´ısluˇsn´e maxim´ aln´ı pravdˇepodobnosti. Cerven´ a osa y koresponduje s hodnotou tajn´eho kl´ıˇce. Z poˇzadavk˚ u metody je zˇrejm´e, aby odhad kl´ıˇce byl roven tajn´emu kl´ıˇci, tedy v ide´aln´ım pˇr´ıpadˇe plat´ı funkce Kodh = Ktaj . Pr˚ ubˇeh funkce Kodh = Ktaj je markantn´ı na prvn´ı pohled. Hladk´ y pr˚ ubˇeh funkce ruˇs´ı body, kter´e indikuj´ı chyby klasifikace. Jedn´ a se o odhady kl´ıˇce, kter´e byly chybnˇe klasifikov´any, tedy kdy vybran´ y odhad kl´ıˇce s nejvˇetˇs´ı pravdˇepodobnost´ı nekorespondoval s hodnotou tajn´eho kl´ıˇce v kryptografick´em modulu (Kodh 6= Ktaj ). Seznam vˇsech chybnˇe klasifikovan´ ych tajn´ ych kl´ıˇc˚ u je zaps´an do tab. 3.2. Z namˇeˇren´eho ’ souboru, kter´ y byl urˇcen pro ovˇeˇren´ı metody, neuronov´a s´ıt pˇriˇradila ˇsestn´actkr´at ˇspatn´ y odhad kl´ıˇce. Ze vˇsech moˇzn´ ych testovan´ ych variant tajn´eho kl´ıˇce 256 to odpov´ıd´a 6, 27% chybn´ ych klasifikac´ı. Navrˇzen´a metoda urˇcila spr´ avnou hodnotu tajn´eho kl´ıˇce v 93,72% pˇr´ıpad˚ u. Tab. 3.2: Chybnˇe urˇcen´e odhady kl´ıˇc˚ u. Ktaj Kodh P[%]
2 112 8,32
3 33 27,77
18 10 7,31
84 82 19,15
114 106 21,23
120 10 13,60
149 249 9,20
150 250 18,59
Ktaj Kodh P[%]
151 253 31,57
173 171 13,23
195 197 6,02
199 228 6,44
210 202 45,59
234 206 18,27
245 207 7,82
251 223 16,60
Pˇri opˇetovn´em experiment´ aln´ım testov´ an´ı metody se dosahovalo obdobn´ ych v´ ysledk˚ u, kdy metoda dosahoval okolo 85 aˇz 90% u ´spˇeˇsnosti spr´ avn´e klasifikace s chybami, kter´e se vyskytovaly u odhad˚ u kl´ıˇc˚ u u nichˇz je maxim´ aln´ı hodnota pravdˇepodobnosti n´ızk´a. Tento poznatek potvrzuj´ı data v tab. 3.2, medi´ an pravdˇepodobnost´ı, kter´e vedly ke ˇspatn´e klasifikaci je zde 15% a pr˚ umˇern´a hodnota 17%. Pˇri klasifikaci je tedy poˇzadavek na co nejvˇetˇs´ı pravdˇepodobnost u spr´avn´eho odhadu kl´ıˇce. Z obr. 3.9, kter´ y zobrazuje maxim´ aln´ı hodnoty pravdˇepodobnost´ı je patrn´e, ˇze maxim´aln´ı pravdˇepodobnosti 14%, 18% a 20% nejsou vyj´ımkou. Proto bylo pˇristoupeno k dalˇs´ı anal´ yze v´ ysledk˚ u a obr. 3.10 zobrazuje histogram vˇsech maxim´aln´ıch pravdˇe-
19
podobnost´ı klasifikace. Z histogramu lze vyˇc´ıst, ˇze pravdˇepodobnosti do 10% se vyskytuj´ı dvacetjednakr´ at a pravdˇepodobnosti 10% aˇz 20% se vyskytuj´ı tˇricetosmkr´at, coˇz souˇctu odpov´ıd´a 23%. Pravdˇepodobnosti 20% aˇz 60% se vyskytuj´ı nejˇcastˇeji a to stosedmdes´atkr´at, coˇz odpov´ıd´a 66% z cekov´eho poˇctu. Maxim´ aln´ı pravdˇepodobnosti 70% aˇz 90% se vyskytuj´ı jen 27 kr´at, coˇz z celkov´eho poˇctu kl´ıˇc˚ u odpov´ıd´a deseti procent˚ um. Celkov´ y poˇcet potencion´ alnˇe n´ achyln´ ych kl´ıˇc˚ u k chybn´e klasifikaci je asi 23%, coˇz by znamenalo, ˇze navrˇzen´ a metoda by pracovala asi s 80% u ´spˇeˇsnost´ı. Z v´ yˇse popsan´e anal´ yzy v´ ysledk˚ u klasifikace navrˇzen´e metody byla navrˇzena optimalizace, kter´ a umoˇzn´ı sn´ıˇzen´ı chybn´e klasifikace a to t´ım, ˇze se pokus´ı zv´ yˇsit maxim´ aln´ı pravdˇepodobnost klasifikace a sn´ıˇzit pravdˇepodobnost chybn´e klasifikace. Optimalizace navrˇ zen´ e metody C´ılem optimalizace je z´ıskat tr´enovac´ı vzory proudov´e spotˇreby pro vˇsechny varianty tajn´eho kl´ıˇce ki s vˇetˇs´ımi diferencemi pro jednotliv´e pr˚ ubˇehy. Zv´ yˇsen´ı diference mezi jednotliv´ ymi pr˚ ubˇehy umoˇzn´ı pˇresnˇejˇs´ı klasifikaci. Z obr. 3.3 je patrn´e, ˇze proudov´e pr˚ ubˇehy jsou si velmi podobn´e a liˇs´ı se v m´ıstech pr´ace s registry. Pro zv´ yˇsen´ı diference mezi pr˚ ubˇehy byla pouˇzita metoda, kter´a byla implementov´ana k zv´ yraznˇen´ı proudov´ ych pr˚ ubˇehu jednotliv´ ych instrukc´ı mikroprocesoru. Metoda byla navrˇzena a testov´ana v pojedn´an´ı o disertaˇcn´ı pr´aci, ale jen pro nˇekolik pr˚ ubˇeh˚ u tˇr´ı instrukc´ı mikroprocesoru, konkr´etnˇe se jednalo o instrukci XOR, SWAP a AND. N´aslednˇe prob´ıhalo i testov´ an´ı t´eto metody s neuronov´ ymi s´ıtˇemi [42], kter´e podn´ıtilo n´avrh optimalizace. Klíč 0 Klíč 1 Klíč 2 Klíč 3 ...
0.08 0.06 0.04
I [A]
0.02 0 -0.02 -0.04 -0.06 -0.08 5920
5940
5960
5980
6000 t [n]
6020
6040
6060
6080
ubˇeh proudov´e spotˇreby AddRoundKey pro Obr. 3.11: Pr˚ ubˇeh proudov´e spotˇreby AddRoundKey pro Obr. 3.12: Pr˚ vˇsechny hodnoty kl´ıˇce. vˇsechny hodnoty kl´ıˇce. Samotn´e zv´ yˇsen´ı diferenc´ı je doc´ıleno pˇredzpracov´an´ım namˇeˇren´ ych dat. Namˇeˇren´e pr˚ ubˇehy proudov´e spotˇreby ve f´ azi pˇr´ıpravy vzor˚ u jsou zpracov´ any n´asleduj´ıc´ım zp˚ usobem. Nejprve je vypoˇcten pr˚ umˇern´ y pr˚ ubˇeh proudov´e spotˇreby pro vˇsechny hodnoty tajn´eho kl´ıˇce. Pr˚ ubˇehy proudov´e spotˇreby jsou funkc´ı s diskr´etn´ım ˇcasem, oznaˇcme proudov´e pr˚ ubˇehy odpov´ıdaj´ıc´ı jednotliv´ ym bajt˚ um kl´ıˇce ki [n] = f [n] pro [n] = {0, . . . , t} a kaˇzd´ y bajt m˚ uˇze nab´ yvat hodnotu 0 aˇz 255, tedy 256 pr˚ ubˇeh˚ u pro prvn´ı bajt. Pr˚ ubˇeh pr˚ umˇern´e proudov´e spotˇreby je definov´ an: 256 X ¯i [n] = 1 K k j [n]. (3.13) 256 j=0 i ¯i a proudov´ N´ aslednˇe jsou vypoˇc´ıt´ any uˇc´ıc´ı vzory jako rozd´ıly K ych spotˇreb pro jednotliv´e tajn´e kl´ıˇce. Ve skuteˇcnosti jsou br´ any opˇet pr˚ umˇery proudov´ ych spotˇreb a to kv˚ uli sn´ıˇzen´ı elektronick´eho ˇsumu. Celkov´ y v´ ypoˇcet vzor˚ u tedy m˚ uˇzeme vyj´ adˇrit: s
VI = P¯ −
256
s
1X l 1 X j 1X l ki [n] = ki [n] − ki [n], s 256 j=0 s l=0
(3.14)
l=0
kde s je poˇcet mˇeˇren´ı jednotliv´ ych proudov´ ych pr˚ ubˇeh˚ u (16). T´ımto v´ ypoˇctem se doc´ıl´ı poˇzadovan´e zvˇetˇsen´ı diference mezi jednotliv´ ymi proudov´ ymi pr˚ ubˇehy. Obr. 3.11 zobrazuje kompletn´ı sadu namˇeˇren´ ych a n´aslednˇe poˇcetnˇe upraven´ ych proudov´ ych pr˚ ubˇeh˚ u. Z porovn´an´ı pr˚ ubˇeh˚ u 3.3 a 3.11 je zˇrejm´e, ˇze jsou zobrazeny jen
20
diference mezi jednotliv´ ymi pr˚ ubˇehy. Stejnˇe tak, jak v pˇredchoz´ım pˇr´ıpadˇe, je zobrazen detail proudov´e ˇspiˇcky na obr. 3.12. Dle pˇredpokladu jsou proudov´e pr˚ ubˇehy rozdˇeleny do skupin a to i v z´aporn´ ych hodnot´ ach. Vytvoˇren´ı neuronov´e s´ıtˇe a uˇcen´ı prob´ıhalo stejn´ ym zp˚ usobem jak v pˇredchoz´ı kapitole. Pro ovˇeˇren´ı metody byly opˇet pouˇzity namˇeˇren´e proudov´e pr˚ ubˇehy odpov´ıdaj´ıc´ı vˇsem hodnot´am tajn´eho kl´ıˇce a n´aslednˇe byly tyto pr˚ ubˇehy analyzov´ any neuronovou s´ıt´ı. Z d˚ uvodu porovn´an´ı metod byla pouˇzita stejn´a sada mˇeˇren´ı jak v pˇredchoz´ı kapitole. T´ımto zp˚ usobem se z´ıskaly opˇet v´ ysledky pro vˇsechny moˇzn´e hodnoty kl´ıˇce a pˇredstava do jak´e m´ıry je metoda u ´spˇeˇsn´ a. 100
250
200
90
80
80
Pravděpodobnost [%]
Kodh
70 60
150
50 40
100
30
50
0 0
50
100
Ktaj
150
200
250
100
90
70 60 50 40 30
20
20
10
10
0
Klíč 5 Klíč 41 Klíč 81 Klíč 129 Klíč 248
0 0
50
100 K
odh
150
200
250
ysledky klasifikace pro 5 n´ahodnˇe vyObr. 3.13: Grafick´e zn´ azornˇen´ı kompletn´ıch v´ ysledk˚ u Obr. 3.14: V´ bran´ y ch kl´ ıˇ c ˚ u . klasifikace VDcel . 250
100
250
90 80
200
200
150
Ktaj
P[%]
60 50 40
100
Počet výskytů
70 150
100
30 Maximální pravděpodobnost Odhad klíče
20
50
50
10 0
0
50
100 K
Obr. 3.15: Maxim´ aln´ı a urˇcen´e odhady kl´ıˇce.
odh
150
hodnoty
200
250
0 0 0
10
20
30
40
50 P [%]
60
70
pravdˇepodobnosti Obr. 3.16: Histogram maxim´aln´ıch pravdˇepodobnost´ı po optimalizaci.
80
90
100
hodnot
V´ ysledkem anal´ yzy pro vˇsechny hodnoty kl´ıˇce byla matice VDcel o rozmˇerech 256 × 256. Hodnota indexu ˇr´ adku odpov´ıdala hodnotˇe tajn´eho kl´ıˇce, pro kter´ y byla mˇeˇrena proudov´a spotˇreba a index sloupce pˇredstavoval ˇ odhad kl´ıˇce pˇriˇrazen´eho neuronovou s´ıt´ı. C´ ast v´ ysledn´e matice je zobrazena v tab. 3.3 a cel´a matice je graficky zobrazena na obr.u 3.13. Z tabulky je patrno, ˇze neuronov´a s´ıt’ klasifikovala proudovou spotˇrebu pro tajn´ y kl´ıˇc s hodnotou 0 s pravdˇepodobnost´ı 96, 00% pro odhad kl´ıˇce 0 a pro proudov´ y pr˚ ubˇeh odpov´ıdaj´ıc´ı hodnotˇe tajn´eho kl´ıˇce 1 klasifikovala odhad kl´ıˇce 1 s pravdˇepodobnost´ı 99, 87%. Z porovn´an´ı ˇc´asti v´ ysledk˚ u pro obˇe metody zobrazen´ ych v tab. 3.1 a 3.3 je patrn´e nav´ yˇsen´ı pravdˇepodobnosti pro spr´avn´e odhady kl´ıˇce. Napˇr´ıklad pro spr´ avn´e odhady kl´ıˇce 0 a 1 byla pravdˇepodobnost nav´ yˇsena z 36, 77% a 66, 42% na hodnoty 96, 00% a 99, 87%. Z porovn´ an´ı obr´ azku obr. 3.7 a 3.13 je tak´e patrno na prvn´ı pohled markantn´ı zlepˇsen´ı v´ ysledk˚ u klasifikace a funkce Kodh = Ktaj je tvoˇrena hodnotami pravdˇepodobnosti mezi 90% a 100%. Z obr´azk˚ u je tak´e patrn´e sn´ıˇzen´ı alternativn´ıch variant klasifikace, tedy absence rovnobˇeˇzn´ ych u ´seˇcek s funkc´ı Kodh = Ktaj , kter´e jsou jasnˇe patrn´e na obr. 3.7. Z tˇechto d´ılˇc´ıch v´ ysledk˚ u je patrn´e zlepˇsen´ı klasifikace, ale je nezbytn´e zhodnotit vˇsechny v´ ysledky a vˇsechny pravdˇepodobnosti matice VDcel , jestli nedoˇslo ke zv´ yˇsen´ı pravdˇepodobnost´ı u nespr´ avn´ ych odhad˚ u. 21
Pro ovˇeˇren´ı o zmˇen´ ach ve v´ ysledc´ıch klasifikace neuronov´e s´ıtˇe je zobrazen obr. 3.14, kter´ y ud´av´a v´ ysledky klasifikace pro stejnˇe vybran´ ych pˇet proudov´ ych spotˇreb kryptografick´eho modulu koresponduj´ıc´ı s pˇeti hodnotami tajn´eho kl´ıˇce jako v pˇredchoz´ı kapitole. Na ose x jsou zobrazeny odhady kl´ıˇce, tzn. v´ ystup neuronov´e s´ıtˇe a osa y koresponduje s jakou pravdˇepodobnost´ı se odhad kl´ıˇce rovn´a tajn´emu. Barevnˇe jsou zobrazeny jednotliv´e pr˚ ubˇehy odpov´ıdaj´ıc´ı tajn´emu kl´ıˇci. Z porovn´an´ı obr´azk˚ u 3.14 a 3.8 je na prvn´ı pohled zˇrejm´e, ˇze doˇslo ke zlepˇsen´ı klasifikace. Napˇr´ıklad pro tajn´ y kl´ıˇc 5 byl spr´avn´ y odhad tajn´eho kl´ıˇce upraven z 35% na 96% a ostatn´ı varianty tajn´eho kl´ıˇce byly zcela potlaˇceny. Tato ˇz´adan´a vlastnost, tedy potlaˇcen´ı potencion´aln´ıch moˇzn´ ych variant kl´ıˇce se potvrdila i u ostatn´ıch 3 tajn´ ych kl´ıˇc˚ u. U tajn´eho kl´ıˇce 129 byly alternativn´ı varianty kromˇe jedn´e tak´e potlaˇceny, ale byla tak´e zv´ yˇsena maxim´aln´ı pravdˇepodobnost z 70% na 90%. Tab. 3.3: V´ ysledky anal´ yzy - ˇc´ast matice VDcel .
Hodnota tajn´eho kl´ıˇce Ktaj
Pravdˇepodobnost odhadu kl´ıˇce Kodh .. . 6 5 4 3 2 1 0
0
1
2
3
4
5
6
··· 0,00% 0,00% 0,00% 0,00% 0,00% 0,00% 96,00%
··· 0,00% 0,00% 0,00% 0,00% 0,00% 99,87% 0,00%
··· 0,00% 0,00% 0,00% 0,00% 9,28% 0,00% 0,00%
··· 0,00% 0,00% 0,00% 0,00% 0,00% 0,00% 0,00%
··· 0,00% 0,00% 99,09% 0,00% 0,00% 0,00% 0,00%
··· 0,00% 96,24% 0,00% 0,00% 0,00% 0,00% 0,00%
··· 98,39% 0,00% 0,00% 0,00% 0,00% 0,00% 0,00%
Obr. 3.15 ukazuje maxim´ aln´ı hodnoty pravdˇepodobnost´ı odhad˚ u kl´ıˇce pro jednotliv´e hodnoty tajn´eho kl´ıˇce pro optimalizovanou metodu. Graf je zobrazen se dvˇema osami stejnˇe jako pˇri prvn´ı implementaci metody (viz graf na obr. 3.9). Z porovn´ an´ı v´ ysledk˚ u pro obˇe metody (obr. 3.9 a obr. 3.15) je na prvn´ı pohled patrn´e poˇzadovan´e zv´ yˇsen´ı maxim´ aln´ı pravdˇepodobnosti u vˇsech odhad˚ u kl´ıˇc˚ u. Pr˚ ubˇeh funkce Kodh = Ktaj je takˇrka hladk´ y a obsahuje jen devˇet chybnˇe klasifikovan´ ych kl´ıˇc˚ u, tzn. sn´ıˇzen´ı poˇctu chyb z 16 na 9, to odpov´ıd´a zlepˇsen´ı o 43%. Z tˇechto v´ ysledk˚ u se jasnˇe prok´ azala funkˇcnost a vhodnost pˇredzpracov´an´ı namˇeˇren´ ych proudov´ ych pr˚ ubˇeh˚ u pro klasifikaci neuronovou s´ıt´ı. Navrˇzen´a a optimalizovan´a metoda klasifikovala devˇet odhad˚ u kl´ıˇc˚ u chybnˇe, vˇsechny hodnoty jsou uvedeny v n´ asleduj´ıc´ı tab. 3.4. Tab. 3.4: Chybnˇe urˇcen´e odhady kl´ıˇc˚ u. Ktaj Kodh P[%]
2 112 29,75
3 33 26,51
116 118 0,11
120 10 99,62
149 249 95,43
150 250 92,12
170 250 50,84
247 207 15,47
249 149 48,48
Z v´ ysledku klasifikace se potvrdilo, ˇze chyby se vyskytly opˇet u odhad˚ u kl´ıˇc˚ u, kter´e byly klasifikov´ any s niˇzˇs´ı pravdˇepodobnost´ı. Uveden´ a metoda zp˚ usobila i zv´ yˇsen´ı pravdˇepodobnosti u chybnˇe klasifikovan´ ych kl´ıˇc˚ u a to na pr˚ umˇernou hodnotu 50%. Z cel´eho souboru namˇeˇren´ ych proudov´ ych pr˚ ubˇeh˚ u neuronov´ a s´ıt’ klasifikovala devˇet odhad˚ u chybnˇe. Ze vˇsech moˇzn´ ych testovan´ ych variant tajn´eho kl´ıˇce to odpov´ıd´a 3, 5% chybn´ ych klasifikac´ı. Navrˇzen´ a metoda urˇcila hodnotu tajn´eho kl´ıˇce v 96,5% pˇr´ıpad˚ u. Pˇri opˇetovn´em testov´ an´ı dosahovala optimalizovan´ a metoda obdobn´ ych v´ ysledk˚ u klasifikace a to 95 - 98%. Pro detailnˇejˇs´ı anal´ yzu maxim´ aln´ıch pravdˇepodobnost´ı obr. 3.16 zobrazuje histogram vˇsech maxim´aln´ıch pravdˇepodobnost´ı klasifikace optimalizovan´e metody. Z histogramu lze vyˇc´ıst, ˇze pravdˇepodobnosti od 10% do 70% se vyskytuj´ı kaˇzd´ a jen pˇet kr´ at. Pravdˇepodobnosti 70% aˇz 80% se vyskytuj´ı desetkr´at a patn´actkr´ at a nejvˇetˇs´ı zastoupen´ı ve vybran´ ych maxim´ aln´ıch pravdˇepodobnostech m´aj´ı pravdˇepodobnosti 90% aˇz 100%, kter´e se vyskytuj´ı dvˇestˇepˇetkr´ at. Pr˚ ubˇeh histogramu opˇet potvrzuje zv´ yˇsen´ı maxim´aln´ıch pravdˇepodobnost´ı, tedy zv´ yˇsen´ı poˇctu v´ yskyt˚ u pravdˇepodobnost´ı nad 90%. Z celkov´eho poˇctu 256 testovan´ ych kl´ıˇc˚ u to odpov´ıd´ a 22
80% k´ıˇc˚ u klasifikovan´ ych s pravdˇepodobnost´ı nad 90%. Celkov´ y poˇcet potencion´alnˇe n´achyln´ ych kl´ıˇc˚ u k chybn´e klasifikaci je sn´ıˇzen po optimalizaci z cca 20% na 5%. Opakovatelnost mˇ eˇ ren´ı a zhodnocen´ı metody Pro anal´ yzu opakovatelnosti a realizovatelnosti metody byl namˇeˇren vˇetˇs´ı soubor proudov´ ych spotˇreb kryptografick´eho modulu a metoda byla otestov´ ana. C´ılem bylo ovˇeˇrit zda i pro opakovan´e mˇeˇren´ı proudov´ ych spotˇreb dojde ke spr´ avn´e klasifikaci tajn´eho kl´ıˇce. Bylo namˇeˇreno 2560 pr˚ ubˇeh˚ u proudov´e spotˇreby, odpov´ıdaj´ıc´ı vˇsem hodnot´ am tajn´eho kl´ıˇce a tyto pr˚ ubˇehy nebyly mˇeˇreny postupnˇe, ale n´ahodnˇe v jin´e dny (z d˚ uvodu eliminace vlivu metody mˇeˇren´ı). Pro kaˇzdou hodnotu tajn´eho kl´ıˇce bylo nez´avisle uloˇzeno 10 pr˚ ubˇeh˚ u a n´aslednˇe byly tyto pr˚ ubˇehy klasifikov´ any neuronovou s´ıt´ı. T´ımto zp˚ usobem se z´ıskaly v´ ysledky pro vˇsechny moˇzn´e hodnoty kl´ıˇce opakovanˇe z nez´ avisl´ ych mˇeˇren´ı a pˇredstava do jak´e m´ıry je metoda u ´spˇeˇsn´a i pro opakovan´e mˇeˇren´ı a klasifikaci. V´ ysledky klasifikace tohoto objemu dat shrnuje n´asleduj´ıc´ı tab. 3.5. Tab. 3.5: V´ ysledky klasifikace pro 2560 proudov´ ych pr˚ ubˇeh˚ u. Pouˇzit´ a metoda klasifikace
Poˇcet chybn´ ych klasifikac´ı z celkov´eho poˇctu 2560
´ eˇsnost [%] Uspˇ
bez optimalizace s optimalizac´ı
378 139
85,23 94,57
V´ ysledky potvrdily, ˇze opakovan´e mˇeˇren´ı nem´a na v´ ysledky klasifikace vliv a je tedy moˇzn´e metodu pouˇz´ıt. V´ ysledky potvrdily z´ıskan´e d´ılˇc´ı v´ ysledky z pˇredchoz´ıch anal´ yz, kter´e byly provedeny se souborem 256 proudov´ ych spotˇreb. Neoptimalizovan´ a metoda dos´ahla 85% u ´spˇeˇsn´e klasifikace a optimalizovan´a metoda klasifikovala tajn´e kl´ıˇce s 95% u ´spˇeˇsnost´ı i z obs´ ahl´eho souboru namˇeˇren´ ych dat. Pro doplnˇen´ı v´ ysledk˚ u klasifikace je uvedena tab. 3.6, kter´ a ud´ av´ a v´ ysledky klasifikace pro sedm vybran´ ych kl´ıˇc˚ u. Prvn´ıch pˇet vybran´ ych kl´ıˇc˚ u (5, 41, 81, 129 a 248) koresponduje s kl´ıˇci vybran´ ymi v pˇredchoz´ıch kapitol´ach a urˇcen´e maxim´ aln´ı pravdˇepodobnosti jsou takˇrka totoˇzn´e. Jako pˇr´ıklad chybn´e klasifikace jsou zobrazeny kl´ıˇce 19 a 20, kde se vyskytovaly ˇr´ adovˇe niˇzˇs´ı pravdˇepodobnosti a byly zde vˇetˇs´ı rozd´ıly v hodnot´ach pravdˇepodobnost´ı. Neuronov´ a s´ıt’ klasifikovala z tˇechto 20 pr˚ ubˇeh˚ u 12 chybnˇe a po optimalizaci 8. Opˇet se potvrdila funkˇcnost zv´ yˇsen´ı diference mezi jednotliv´ ymi proudov´ ymi pr˚ ubˇehy. Pˇri porovn´ an´ı metody vyuˇz´ıvaj´ıc´ı neuronov´e s´ıtˇe s pouˇz´ıvan´ ymi metodami DPA a SPA je hlavn´ı v´ yhoda v tom, ˇze i pro algoritmus odoln´ y proti konvenˇcn´ı anal´ yze je metoda schopna urˇcit prvn´ı bajt tajn´eho kl´ıˇce s pravdˇepodobnost´ı kolem 96% pomoc´ı jednoho pr˚ ubˇ ehu proudov´ e spotˇ reby. DPA u ´toky potˇrebuj´ı k realizaci nˇekolik stovek nebo tis´ıc mˇeˇren´ı proudov´ ych spotˇreb. Tento typ u ´toku proudov´ ym postrann´ım kan´ alem, kter´ y je zamˇeˇren na urˇcen´ı hodnoty tajn´eho kl´ıˇce nebyl dosud publikov´an, jedn´a se tedy o zcela novou myˇslenku. Podobn´ a myˇslenka byla publikov´ ana, ale byla zamˇeˇrena jen na rozpozn´av´an´ı jednotliv´ ych otisk˚ u proudov´ ych spotˇreb jednotliv´ ych instrukc´ı mikroprocesoru [42] a [20]. Metoda vyuˇz´ıv´a sn´ıˇzen´ı elektronick´eho ˇsumu v namˇeˇren´em proudov´em pr˚ ubˇehu a zvyˇsuje diferenci mezi proudov´ ymi pr˚ ubˇehy pomoc´ı pˇredzpracov´ an´ı namˇeˇren´ ych pr˚ ubˇeh˚ u. Navrˇzen´ a metoda m˚ uˇze pracovat co nejrychleji a u ´toˇcn´ık m˚ uˇze prov´est u ´tok i na modul, kter´ y se mu podaˇrilo z´ıskat jen na kr´ atk´ y ˇcas. Dosavadn´ı metody pˇredpokl´adaj´ı plnou kontrolu nad modulem. Nev´ yhodou je nutnost prvotn´ıho tr´enov´ an´ı neuronov´e s´ıtˇe, kdy u ´toˇcn´ık mus´ı vytvoˇrit tr´enovac´ı mnoˇzinu proudov´ ych spotˇreb. Poˇcet proudov´ ych spotˇreb mus´ı odpov´ıdat vˇsem moˇzn´ ym kombinac´ım tajn´eho kl´ıˇce, v naˇsem pˇr´ıpadˇe se jednalo o prvn´ı bajt AES, tzn. 256 proudov´ ych pr˚ ubˇeh˚ u. Pro n´asleduj´ıc´ı u ´toky jiˇz staˇc´ı jen jeden konkr´etn´ı proudov´ y pr˚ ubˇeh. V re´ aln´em u ´toku je za kritickou ˇc´ast povaˇzov´ana synchronizace namˇeˇren´ ych proudov´ ych pr˚ ubˇeh˚ u. Ide´ aln´ı metodou je vloˇzen´ı identick´eho synchronizaˇcn´ıho sign´alu jako pˇri mˇeˇren´ı vzorov´ ych dat. Pokud tuto moˇznost u ´toˇcn´ık nem´a, nezb´ yv´a neˇz namˇeˇrit cel´ y pr˚ ubˇeh zkouman´eho algoritmu a n´ aslednou postupnou anal´ yzu pr˚ ubˇehu urˇcit d˚ uleˇzit´e operace a ty synchronizovat na prvn´ı proudovou ˇspiˇcku. D˚ uleˇzit´ ym faktorem je tak´ a stejn´ a implementace algoritmu, pokud by byl algoritmus implementov´an odliˇsn´ ymi
23
Ktaj
5
41
81
129
248
19
20
Bez optimalizace Pmax [%]
28,74 27,21 27,10 28,96 23,03 28,81 23,75 26,95 22,02 28,44
38,20 41,48 39,78 42,19 41,37 31,34 36,28 37,32 33,39 38,25
79,92 79,99 80,51 80,15 79,93 77,83 80,03 77,32 80,30 80,43
67,46 67,68 67,87 69,02 68,02 67,94 67,83 66,56 67,91 67,99
30,07 39,26 36,55 31,05 38,97 37,95 34,38 36,04 39,25 34,82
7,67 17,27 11,49 9,30 7,73 12,63 8,73 13,85 8,27 7,81
23,49 13,49 18,23 25,07 17,90 25,07 25,94 28,05 26,28 13,73
S optimalizac´ı Pmax [%]
Tab. 3.6: V´ ysledky opakovan´e klasifikace pro 7 kl´ıˇc˚ u.
98,28 97,99 98,52 98,19 97,04 98,48 97,04 98,56 95,05 98,74
98,99 98,98 99,07 99,04 99,12 98,37 99,01 99,00 98,70 98,95
98,25 98,40 99,29 99,06 98,16 82,53 98,15 61,90 98,96 98,92
97,14 98,13 97,87 77,21 96,65 96,63 97,01 98,90 97,90 98,28
81,85 99,42 98,96 87,86 99,45 99,25 97,55 98,58 99,44 97,22
28,43 98,77 92,58 76,18 49,10 95,40 69,45 96,86 39,62 51,72
76,20 5,61 32,79 73,42 40,15 85,24 87,14 92,34 85,76 7,44
instrukcemi, v´ ysledky anal´ yzy by byly chybn´e. Dalˇs´ı pokraˇcov´an´ı v pr´aci spoˇc´ıv´a v ovˇeˇren´ı funkˇcnosti metody pro r˚ uzn´e kryptografick´e moduly a pro n´ asleduj´ıc´ı bajty tajn´eho kl´ıˇce. Pˇr´ınosy a nev´ yhody metody lze shrnout do n´asleduj´ıc´ıch bod˚ u: • Pˇr´ınosy – klasifikace se prov´ ad´ı z jednoho namˇeˇren´eho proudov´eho pr˚ ubˇehu stejnˇe jako u SPA u ´tok˚ u, – metoda je aplikovateln´ a na algoritmy odoln´e proti SPA, – ne nutnost mˇeˇren´ı stovek proudov´ ych pr˚ ubˇeh˚ u jako u DPA, – realizace u ´toku velmi rychl´ a v porovn´an´ı s DPA (pˇredpoklad nauˇcen´a neuronov´a s´ıt’), – implementovan´ a metoda urˇcila prvn´ı bajt tajn´eho kl´ıˇce algoritmu AES s pravdˇepodobnost´ı kolem 96%, – metoda je opakovateln´ a, tedy prakticky realizovateln´a (testov´ano na 2560 proudov´ ych pr˚ ubˇez´ıch s u ´spˇeˇsnost´ı 95%), – pˇri pˇredzpracov´ an´ı proudov´ ych pr˚ ubˇeh˚ u (optimalizace) jsou minimalizov´any chybn´e klasifikace odpov´ıdaj´ıc´ı podobn´ ym proudov´ ym pr˚ ubˇeh˚ um, • Nev´ yhody – nev´ yhoda metody spoˇc´ıv´ a v pˇr´ıpravˇe tr´enovac´ı mnoˇziny pro neuronovou s´ıt’, – pro specifick´ y kryptografick´ y modul (stejn´ y typ procesoru, ˇcipov´e karty atd.) je zapotˇreb´ı m´ıt ’ nauˇcenou neuronovou s´ıt , – za kritickou ˇc´ ast u ´toku se povaˇzuje spr´avn´a synchronizace namˇeˇren´ ych proudov´ ych pr˚ ubˇeh˚ u, toho se d´ a vyuˇz´ıt pˇri implementaci protiopatˇren´ı ovlivˇ nuj´ıc´ı ˇcasovou oblast proudov´e spotˇreby.
24
4
´ ER ˇ ZAV
Disertaˇcn´ı pr´ ace se zab´ yv´ a problematikou postrann´ıch kan´al˚ u, kter´e umoˇzn ˇuj´ı u ´toˇcn´ıkovi z kryptografick´eho modulu z´ıskat senzitivn´ı informace netradiˇcn´ı cestou. Ned´ılnou souˇc´ast´ı pr´ace je tak´e rozbor protiopatˇren´ı, kter´e tomuto u ´toku zabraˇ nuj´ı. V u ´vodu pr´ ace je uveden souhrn dosavadn´ıch metod kryptoanal´ yzy postrann´ımi kan´ aly, je provedeno jejich zhodnocen´ı a klasifikace. V uveden´e oblasti zat´ım neexistuje jednotn´a terminologie, je proto nutn´e jasnˇe definovat jednotliv´e typy postrann´ıch kan´al˚ u a jejich z´akladn´ı principy. Podrobnˇeji je v pr´ aci rozebr´ an proudov´ y postrann´ı kan´ al, ze kter´eho posl´eze vych´az´ı novˇe navrˇzen´a metoda kryptoanal´ yzy. N´ avrh a experiment´ aln´ı ovˇeˇren´ı nov´e metody je hlavn´ım c´ılem disertaˇcn´ı pr´ace. Navrhovan´a metoda vyuˇz´ıv´ a neuronov´e s´ıtˇe k odhalen´ı hodnoty ˇsifrovac´ıho kl´ıˇce. Myˇslenka vyuˇzit´ı neuronov´ ych s´ıt´ı v kryptoanal´ yze proudov´ ym postrann´ım kan´ alem je p˚ uvodn´ı, poprv´e byla autorem publikov´ana v roce 2010 [42]. Dalˇs´ı v´ yvoj v oblasti proudov´e anal´ yzy uk´ azal, ˇze neuronov´e s´ıtˇe jsou vhodn´ ym n´astrojem [31, 4]. Pro spr´ avnou funkci novˇe navrˇzen´e metody kryptoanal´ yzy je stˇeˇzejn´ı zp˚ usob sn´ım´an´ı proudov´e spotˇreby kryptografick´eho modulu. Pˇri nevhodn´em zp˚ usobu mˇeˇren´ı m˚ uˇze doj´ıt v sn´ım´an´ı proudov´eho odbˇeru k odfiltrov´ an´ı senzitivn´ıch informac´ı. Proto byly pro ovˇeˇren´ı teoretick´ ych znalost´ı navrˇzeny a experiment´alnˇe ovˇeˇreny r˚ uzn´e zp˚ usoby mˇeˇren´ı. Metody mˇeˇren´ı jsou pops´any v kapitole 3 a byly publikov´any v odborn´ ych ˇcasopisech i na tuzemsk´ ych a mezin´ arodn´ıch konferenc´ıch [40, 48, 41, 45, 46, 39, 44]. K n´ avrhu nov´e metody a jej´ımu testov´ an´ı byl vybr´an algoritmus AES a to z d˚ uvodu jeho zn´ame odolnosti proti konvenˇcn´ımu zp˚ usobu kryptoanal´ yzy. Implementace metody byla provedena v programov´em prostˇred´ı MATLAB, z´ıskan´e v´ ysledky jsou detailnˇe pops´any v kapitole 3.1. Navrˇzen´a metoda urˇcila hodnotu tajn´eho kl´ıˇce algoritmu AES v 93% pˇr´ıpad˚ u, ale z opakovan´ ych test˚ u a podrobn´e anal´ yzy v´ ysledk˚ u klasifikace vyplynula teoretick´ a funkˇcnost metody jen 80%, a proto byla navrˇzen´a metoda d´ale optimalizov´ana. Optimalizace metody byla zaloˇzena na zv´ yˇsen´ı diference mezi jednotliv´ ymi pr˚ ubˇehy proudov´e spotˇreby. Pro zv´ yˇsen´ı diference bylo pouˇzito pˇredzpracov´ an´ı proudov´ ych pr˚ ubˇeh˚ u vyuˇz´ıvaj´ıc´ı rozd´ıl jednotliv´ ych pr˚ ubˇeh˚ u od vypoˇcten´eho pr˚ umˇern´eho pr˚ ubˇehu proudov´e spotˇreby. Takto optimalizovan´a metoda u ´spˇeˇsnˇe klasifikovala hodnotu tajn´eho kl´ıˇce v 96% pˇr´ıpad˚ u. N´ aslednˇe byla provedena anal´ yza opakovatelnosti a realizovatelnosti obou metod. Bylo namˇeˇreno 2560 pr˚ ubˇeh˚ u proudov´e spotˇreby odpov´ıdaj´ıc´ı vˇsem hodnot´am tajn´eho kl´ıˇce a tyto pr˚ ubˇehy byly klasifikov´ any neuronov´ ymi s´ıtˇemi. T´ımto zp˚ usobem byly z´ısk´any v´ ysledky klasifikace pro vˇsechny moˇzn´e hodnoty tajn´eho ´ kl´ıˇce opakovanˇe z nez´ avisl´ ych mˇeˇren´ı. Uspˇeˇsnost klasifikace potvrdila z´ıskan´e d´ılˇc´ı v´ ysledky z pˇredchoz´ıch anal´ yz, kter´e byly provedeny se souborem 256 proudov´ ych spotˇreb. Neoptimalizovan´a metoda dos´ahla 85% u ´spˇeˇsn´e klasifikace a optimalizovan´ a metoda klasifikovala tajn´e kl´ıˇce s 95% u ´spˇeˇsnost´ı i z obs´ahlejˇs´ıho souboru proudov´ ych pr˚ ubˇeh˚ u. Z v´ ysledk˚ u je patrn´ y pozitivn´ı vliv pˇredzpracov´an´ı proudov´ ych pr˚ ubˇeh˚ u na u ´spˇeˇsnost klasifikace. Pˇri porovn´ an´ı navrˇzen´e metody vyuˇz´ıvaj´ıc´ı neuronov´e s´ıtˇe s obecnˇe pouˇz´ıvan´ ymi metodami DPA a SPA je hlavn´ı v´ yhoda nov´e metody v tom, ˇze i pro algoritmus odoln´ y proti konvenˇcn´ı anal´ yze je metoda schopna urˇcit prvn´ı bajt tajn´eho kl´ıˇce s pravdˇepodobnost´ı kolem 96% pomoc´ı jen jednoho pr˚ ubˇehu proudov´e spotˇreby. Navrˇzen´ a metoda m˚ uˇze pracovat rychle a u ´toˇcn´ık m˚ uˇze prov´est u ´tok i na kryptografick´ y modul, kter´ y se mu podaˇrilo z´ıskat jen na kr´ atk´ y ˇcas. Nev´ yhodou metody je nutnost prvotn´ıho tr´enov´an´ı neuronov´e s´ıtˇe, kde u ´toˇcn´ık mus´ı vytvoˇrit tr´enovac´ı mnoˇzinu proudov´ ych spotˇreb pro konkr´etn´ı kryptografick´ y modul. Za kritickou ˇc´ ast je povaˇzov´ ana spr´ avn´ a synchronizace namˇeˇren´ ych proudov´ ych pr˚ ubˇeh˚ u. Tohoto faktu lze vyuˇz´ıt k implementaci protiopatˇren´ı zabraˇ nuj´ıc´ı kryptoanal´ yze, lze napˇr. znemoˇznˇen´ım spr´avn´e synchronizace ovlivnˇen´ım ˇcasov´e oblasti proudov´e spotˇreby. Dalˇs´ı pokraˇcov´an´ı v pr´aci spoˇc´ıv´a v ovˇeˇren´ı funkˇcnosti metody pro r˚ uzn´e kryptografick´e moduly (stejn´ y typ) a pro n´ asleduj´ıc´ı bajty tajn´eho kl´ıˇce bez nutnosti tr´enov´an´ı neuronov´e s´ıtˇe. Pˇredpokl´ ad´ a se identick´ a implementace algoritmu pro n´asleduj´ıc´ı bajty tajn´eho kl´ıˇce viz algoritmus AES operace AddRoundKey. Vˇsechny stanoven´e c´ıle disertaˇcn´ı pr´ace povaˇzuji za splnˇen´e a dosaˇzen´e v´ ysledky byly publikov´ any v odborn´ ych ˇcasopisech i na tuzemsk´ ych a mezin´arodn´ıch konferenc´ıch [47, 38, 49, 45].
25
LITERATURA [1] Akkar, M.-L.; Bevan, R.; Dischamp, P.; aj.: Power Analysis, What Is Now Possible... In Advances in Cryptology - ASIACRYPT 2000, Lecture Notes in Computer Science, roˇcn´ık 1976, editace T. Okamoto, Springer Berlin Heidelberg, 2000, ISBN 978-3-540-41404-9, s. 489–502. URL http://dx.doi.org/10.1007/3-540-44448-3_38 [2] Akkar, M.-L.; Goubin, L.: A Generic Protection against High-Order Differential Power Analysis. In Fast Software Encryption, 10th International Workshop, FSE 2003, Lund, Sweden, February 24-26, 2003, Revised Papers, Lecture Notes in Computer Science, roˇcn´ık 2887, Springer, 2003, s. 192–205. URL http://www.iacr.org/cryptodb/archive/2003/FSE/2955/2955.pdf [3] Ambrose, J.; Aldon, N.; Ignjatovic, A.; aj.: Anatomy of Differential Power Analysis for AES. In Symbolic and Numeric Algorithms for Scientific Computing, 2008. SYNASC ’08. 10th International Symposium on, sept. 2008, ISBN 978-0-7695-3523-4, s. 459 –466. URL http://dx.doi.org/10.1109/SYNASC.2008.8 [4] Bartkewitz, T.; Lemke-Rust, K.: Efficient template attacks based on probabilistic multi-class support vector machines. In Proceedings of the 11th international conference on Smart Card Research and Advanced Applications, CARDIS’12, Springer-Verlag, 2013, ISBN 978-3-642-37287-2, s. 263–276. URL http://dx.doi.org/10.1007/978-3-642-37288-9_18 [5] Brier, E.; Clavier, C.; Olivier, F.: Correlation Power Analysis with a Leakage Model. In CHES, 2004, s. 16–29. [6] Chari, S.; Jutla, C.; Rao, J. R.; aj.: A Cautionary Note Regarding Evaluation of AES Candidates on Smart-Cards. In In Second Advanced Encryption Standard (AES) Candidate Conference, s. 133–147. [7] Clavier, C.; Feix, B.; Gagnerot, G.; aj.: Improved Collision-Correlation Power Analysis on First Order Protected AES. In Cryptographic Hardware and Embedded Systems - CHES 2011, Lecture Notes in Computer Science, roˇcn´ık 6917, editace B. Preneel; T. Takagi, Springer Berlin Heidelberg, 2011, ISBN 978-3-642-23950-2, s. 49–62, doi: 10.1007/978-3-642-23951-9 4. URL http://dx.doi.org/10.1007/978-3-642-23951-9_4 [8] Coron, J.-S.; Naccache, D.; Kocher, P.: Statistics and secret leakage. ACM Trans. Embed. Comput. Syst., roˇcn´ık 3, ˇc. 3, Srpen 2004: s. 492–508, ISSN 1539-9087. URL http://doi.acm.org/10.1145/1015047.1015050 [9] Eck, W. V.; Laborato, N.: Electromagnetic Radiation from Video Display Units: An Eavesdropping Risk? Computers & Security, 1985: s. 269–286, ISSN 0167-4048. URL http://dx.doi.org/10.1016/0167-4048(85)90046-X [10] Fei, Y.; Luo, Q.; Ding, A.: A Statistical Model for DPA with Novel Algorithmic Confusion Analysis. In Cryptographic Hardware and Embedded Systems - CHES 2012, Lecture Notes in Computer Science, roˇcn´ık 7428, editace E. Prouff; P. Schaumont, Springer Berlin Heidelberg, 2012, ISBN 978-3-642-33026-1, s. 233–250, doi: 10.1007/978-3-642-33027-8 14. URL http://dx.doi.org/10.1007/978-3-642-33027-8_14 [11] Fiona, A. H. Y.: ERG4920CM Thesis II Keyboard Acoustic Triangulation Attack. Dizertaˇcn´ı pr´ ace, Department of Information Engineering the Chinese University of Hong Kong, 2006. [12] Gandolfi, K.; Mourtel, C.; Olivier, F.: Electromagnetic Analysis: Concrete Results. In CHES ’01: Proceedings of the Third International Workshop on Cryptographic Hardware and Embedded Systems, London, UK: Springer-Verlag, 2001, ISBN 3-540-42521-7, s. 251–261. [13] Herbst, C.; Oswald, E.; Mangard, S.: An AES Smart Card Implementation Resistant to Power Analysis Attacks. In Applied Cryptography and Network Security, Second International Conference, ACNS 2006, volume 3989 of Lecture Notes in Computer Science, Springer, 2006, s. 239–252. [14] Heuser, A.; Zohner, M.: Intelligent Machine Homicide - Breaking Cryptographic Devices Using Support Vector Machines. In COSADE, 2012, s. 249–264. [15] Hospodar, G.; Gierlichs, B.; Mulder, E. D.; aj.: Machine learning in side-channel analysis: a first study. J. Cryptographic Engineering, roˇcn´ık 1, ˇc. 4, 2011: s. 293–302.
26
[16] Joye, M.; Paillier, P.; Schoenmakers, B.: On Second-Order Differential Power Analysis. In Cryptographic Hardware and Embedded Systems - CHES 2005, 7th International Workshop, Springer, 2005, s. 293–308. [17] Kim, H.-M.; Kang, D.-J.; Kim, T.-H.: Flexible Key Distribution for SCADA Network using Multi-Agent System. Bio-inspired, Learning, and Intelligent Systems for Security, ECSIS Symposium on, 2007: s. 29–34. [18] Kocher, P. C.; Jaffe, J.; Jun, B.: Differential Power Analysis. In CRYPTO ’99: Proceedings of the 19th Annual International Cryptology Conference on Advances in Cryptology, London, UK: Springer-Verlag, 1999, ISBN 3-54066347-9, s. 388–397. [19] Kolof´ık, J.: Optick´ y Postrann´ı kan´ al. bakalaˇrsk´ a pr´ ace, Vysok´e uˇcen´ı technick´e v Brnˇe, fakulta elektrotechniky a komunikaˇcn´ıch technologi´ı, 2010. [20] Kur, J.; Smolka, T.; Svenda, P.: Improving Resiliency of Java Card Code Against Power Analysis. In Mikulaska kryptobesidka, Sbornik prispevku, 2009, s. 29–39. [21] Lerman, L.; Bontempi, G.; Markowitch, O.: Side channel attack: an approach based on machine learningn. In COSADE 2011 - Second International Workshop on Constructive Side-Channel Analysis and Secure Design, 2011, s. 29–41. [22] Lian, S.; Sun, J.; Wang, Z.: One-way Hash Function Based on Neural Network. CoRR, roˇcn´ık abs/0707.4032, 2007. URL http://dblp.uni-trier.de/db/journals/corr/corr0707.html#abs-0707-4032 [23] Liu, N.; Guo, D.: Security Analysis of Public-key Encryption Scheme Based on Neural Networks and Its Implementing. In Computational Intelligence and Security, 2006 International Conference on, roˇcn´ık 2, nov. 2006, s. 1327 –1330, doi:10.1109/ICCIAS.2006.295274. [24] Mach˚ u, P.: Nov´e postrann´ı kan´ aly v kryptografii. diplomov´ a pr´ ace, Vysok´e uˇcen´ı technick´e v Brnˇe, fakulta elektrotechniky a komunikaˇcn´ıch technologi´ı, 2010. [25] Mangard, S.; Oswald, E.; Popp, T.: Power Analysis Attacks: Revealing the Secrets of Smart Cards (Advances in Information Security). Secaucus, NJ, USA: Springer-Verlag New York, Inc., 2007, ISBN 0387308571. [26] Messerges, T.: Using Second-Order Power Analysis to Attack DPA Resistant Software. In Cryptographic Hardware ˘ C. Paar, and Embedded Systems - CHES 2000, Lecture Notes in Computer Science, roˇcn´ık 1965, editace e. KoA§; Springer Berlin Heidelberg, 2000, ISBN 978-3-540-41455-1, s. 238–251. URL http://dx.doi.org/10.1007/3-540-44499-8_19 [27] Mislovaty, R.; Perchenok, Y.; Kanter, I.; aj.: Secure key-exchange protocol with an absence of injective functions. Phys. Rev. E, roˇcn´ık 66, Dec 2002: str. 066102, doi:10.1103/PhysRevE.66.066102. URL http://link.aps.org/doi/10.1103/PhysRevE.66.066102 [28] Moradi, A.; Salmasizadeh, M.; Manzuri Shalmani, M. T.; aj.: Vulnerability modeling of cryptographic hardware to power analysis attacks. Integr. VLSI J., roˇcn´ık 42, ˇc. 4, Z´ aˇr´ı 2009: s. 468–478, ISSN 0167-9260, doi:10.1016/j. vlsi.2009.01.001. URL http://dx.doi.org/10.1016/j.vlsi.2009.01.001 [29] Nabney, I. T.: NETLAB: algorithms for pattern recognition. Advances in Pattern Recognition, New York, NY, USA: Springer-Verlag New York, Inc., 2002, ISBN 1-85233-440-1. [30] Peeters, E.; Standaert, F.-X.; Quisquater, J.-J.: Power and electromagnetic analysis: Improved model, consequences and comparisons. Integration, the VLSI Journal, roˇcn´ık 40, ˇc. 1, 2007: s. 52 – 60, ISSN 0167-9260, doi:DOI:10.1016/j.vlsi.2005.12.013, embedded Cryptographic Hardware. URL http://www.sciencedirect.com/science/article/B6V1M-4J3NWY2-1/2/0197aa6143d75a8303ace31403077841 [31] Quisquater, J.-J.; Samyde, D.: Automatic code recognition for smart cards using a Kohonen neural network. In Proceedings of the 5th conference on Smart Card Research and Advanced Application Conference - Volume 5, CARDIS’02, Berkeley, CA, USA, 2002, s. 6–6. URL http://dl.acm.org/citation.cfm?id=1250988.1250994 [32] Schindler, W.; Lemke, K.; Paar, C.: Paar: A Stochastic Model for Differential Side Channel Cryptanalysis. In Cryptographic Hardware and Embedded Systems - CHES 2005, Springer, LNCS 3659, Springer, 2005, s. 30–46. [33] Tiu, C. C.; Tiu, C. C.: A New Frequency-Based Side Channel Attack for Embedded Systems. Master degree thesis, Deparment of Electrical and Computer Engineering,University of Waterloo,Waterloo. Technick´ a zpr´ ava, 2005.
27
[34] Waddle, J.; Wagner, D.: Towards Efficient Second-Order Power Analysis. In Cryptographic Hardware and Embedded Systems - CHES 2004: 6th International Workshop Cambridge, MA, USA, August 11-13, 2004. Proceedings, Lecture Notes in Computer Science, roˇcn´ık 3156, Springer, 2004, s. 1–15. [35] Walter, C. D.; C ¸ etin Kaya Ko¸c; Paar, C. (editoˇri): Cryptographic Hardware and Embedded Systems - CHES 2003, 5th International Workshop, Cologne, Germany, September 8-10, 2003, Proceedings, Lecture Notes in Computer Science, roˇcn´ık 2779, Springer, 2003, ISBN 3-540-40833-9. [36] Wang, Y.-h.; Shen, Z.-d.; Zhang, H.-g.: Pseudo Random Number Generator Based on Hopfield Neural Network. Srpen 2006, s. 2810–2813. URL http://dx.doi.org/10.1109/ICMLC.2006.259003 [37] Zhuang, L.; Zhou, F.; Tygar, J. D.: Keyboard acoustic emanations revisited. In Proceedings of the 12th ACM conference on Computer and communications security, CCS ’05, New York, NY, USA: ACM, 2005, ISBN 1-59593226-7, s. 373–382, doi:http://doi.acm.org/10.1145/1102120.1102169. URL http://doi.acm.org/10.1145/1102120.1102169
´ PUBLIKACE AUTORA VYBRANE [38] Martinasek, Z.; CLupek, V.; Trasy, K.: General Scheme of Differential Power Analysis. In In 36nd International Conference on Telecommunications and Signal Processing - TSP’ 20013, in print. [39] Martinasek, Z.; Clupek, V.; Zeman, V.; aj.: Z´ akladn´ı metody diferenci´ aln´ı proudov´e anal´ yzy. Elektrorevue - Internetov´ ya ˇasopis (http://www.elektrorevue.cz, roˇcn´ık 2013, ˇc. 3, 2013: s. 1 – 10, ISSN 1213-1539. URL http://www.elektrorevue.cz [40] Martinasek, Z.; Macha, T.; Raso, O.; aj.: Optimization of differential power analysis. PRZEGLAD ELEKTROTECHNICZNY, roˇcn´ık 87, ˇc. 12, 2011: s. 140 – 144, ISSN 0033-2097. URL http://pe.org.pl/articles/2011/12a/28.pdf [41] Martinasek, Z.; Macha, T.; Stancikk, P.: Power side channel information measurement. In Research in telecommunication technologies RTT2010, September 2010. [42] Martinasek, Z.; Macha, T.; Zeman, V.: Classifier of power side channel. In Proceedings of NIMT2010, September 2010, ISBN 978-80-214-4126- 2. [43] Martinasek, Z.; Machu, P.: New side channle in cryptography. In Proceedings of the 17th Conference Student EEICT 2011, April 2011, ISBN 978-80-214-4273- 3. [44] Martin´ asek, Z.; Neˇcas, O.; Zeman, V.; aj.: Diferenci´ aln´ı elektromagnetick´ a anal´ yza. Elektrorevue - Internetov´ y ˇcasopis (http://www.elektrorevue.cz, roˇcn´ık 2011, ˇc. 60, 2011: s. 1 – 6, ISSN 1213-1539. URL http://www.elektrorevue.cz [45] Martinasek, Z.; Petrik, T.; Stancik, P.: Conditions affecting the measurement of power analysis. In Research in telecommunication technologies RTT2011, September 2011. [46] Martin´ asek, Z.; Petˇr´ık, T.; Stanˇc´ık, P.: Parametry ovlivˇ nuj´ıc´ı proudovou anal´ yzu mikroprocesoru vykonavaj´ıc´ıho funkci AddRoundKey. Elektrorevue - Internetovy ˇcasopis (http://www.elektrorevue.cz, roˇcn´ık 2011, ˇc. 51, 2011: s. 1 – 6, ISSN 1213-1539. URL http://www.elektrorevue.cz [47] Martinasek, Z.; Zeman, V.: Innovative Method of the Power Analysis. Radioengineering, 2013, ISSN 1210-2512, in print. [48] Martinasek, Z.; Zeman, V.; Sysel, P.; aj.: Near electromagnetic field measurement of microprocessor. PRZEGLAD ELEKTROTECHNICZNY, roˇcn´ık 89, ˇc. 2a, 2013: s. 203 – 207, ISSN 0033-2097. URL http://pe.org.pl/articles/2013/2a/44.pdf [49] Martinasek, Z.; Zeman, V.; Trasy, K.: Simple Electromagnetic Analysis in Cryptography. International Journal of Advances in Telecommunications, Electrotechnics, Signals and Systems, roˇcn´ık 1, ˇc. 1, 2012: s. 1 – 6, ISSN 1805-5443. URL http://www.ijates.org/domains/ijates.org/index.php/ijates/article/view/6/5
28
Curriculum Vitae
Zdenˇ ek Martin´ asek Kontaktn´ı u ´ daje: Bydliˇstˇe: E-mail: GSM:
ˇ Skoln´ ı 349, Otnice, 683 54
[email protected] +420 774 303 173
Vzdˇ el´ an´ı: od 2008
VUT FEKT v Brnˇe, doktorsk´e studium Fakulta Elektrotechniky a komunikaˇcn´ıch technologi´ı Obor: Teleinformatika Dizertaˇcn´ı pr´ ace: Kryptoanal´ yza postrann´ımi kan´ aly
9.2011–1.2012
Technische Universit¨ at Wien, odborn´ a st´ aˇz Department of Teleinformatik Pr´ ace na dizertaˇcn´ı pr´ aci (Power analysis)
2006–2008
VUT FEKT v Brnˇe, magistersk´e studium Fakulta Elektrotechniky a komunikaˇcn´ıch technologi´ı Obor: Telekomunikaˇcn´ı a informaˇcn´ı technika Diplomov´ a pr´ ace: Tenk´ y mˇeˇriˇc ploˇsn´eho teplotn´ıho rozdˇelen´ı s matic´ı negastor˚ u
2003–2006
VUT FEKT v Brnˇe, bakal´ aˇrsk´e studium Fakulta Elektrotechniky a komunikaˇcn´ıch technologi´ı Obor: Teleinformatika Bakal´ aˇrsk´ a pr´ ace: Vybran´e obvody zpracov´ an´ı senzorov´ ych sign´ al˚ u
Souˇ casn´ a pozice: ´ od 2008 odborn´ y asistent, Ustav telekomunikac´ı, VUT v Brnˇe ´ cast na projektech Uˇ 2012-2014
TA02011260: Syst´em pro kryptografickou ochranu ˇ sitel prof. Ing. Kamil Vrba, CSc. elektronick´e identity. Reˇ
2012-2014
FR-TI4/647: Integraˇcn´ı server s kryptografick´ ym zabezpeˇcen´ım. ˇ Reˇsitel prof. Ing. Kamil Vrba, CSc.
2010-2013
FR-TI2/220: V´ yzkum modul´ arn´ıho syst´emu pro komunikaˇcn´ı technologie a ovˇeˇren´ı na 2N communication serveru. ˇ sitel prof. Ing. Kamil Vrba, CSc. Reˇ
2011-2013
TA01031072, Inteligentn´ı telematick´ y informaˇcn´ı syst´em ˇ sitel doc. Ing. V´ veˇrejn´e dopravy. Reˇ aclav Zeman, Ph.D.
2008-2010
FT-TA5/012: Decentralizovan´e ˇcistˇen´ı odpadn´ıch vod s telemetrick´ ym ˇr´ıd´ıc´ım syst´emem pro mal´e obce. ˇ sitel prof. Ing. Kamil Vrba, CSc. Reˇ
2011
3046/2011/G1: Zaveden´ı problematiky postrann´ıch kan´ al˚ u laboratorn´ıch cviˇcen´ı pˇredmˇetu Kryptografie v informatice. ˇ sitel Ing. Peter Stanˇc´ık Reˇ
2010
2383/2011/F1a: Inovace laboratorn´ıch u ´loh v kurzech
29
ˇ sitel Ing. Martin Koutn´ zamˇeˇren´ ych na datovou komunikaci. Reˇ y 2010
2829/2010/G1: Autentizaˇcn´ı kryptografick´e moduly ˇ sitel Ing. Jiˇr´ı Sobotka Reˇ
2010
2534/2009/F1: Modernizace v´ yuky pˇredmˇetu Kryptografie ˇ sitel doc. Ing. Otto Dost´ v informatice. Reˇ al, CSc.
Vyˇ z´ adan´ e recenze pro vˇ edeck´ eˇ casopisy a konference: • Conference on Telecommunications and Signal Processing (TSP) • Conference on Student Electrical Engineering, Information and Communication Tech-nologies (EEICT) • Conference on Research in Telecommunication Technologies (RTT) • Elektrorevue - Internet Journal • International Journal of Advances in Telecommunications, Electrotechnics, Signals and Systems - Internet Journal V´ ysledky vˇ edeck´ eˇ cinnosti: Poˇcet ˇcl´ ank˚ u v impaktovan´ ych ˇcasopisech: 1 Poˇcet pˇr´ıspˇevk˚ u na konferenc´ıch indexovan´ ych ve Web of Science: 4 Ostatn´ı odborn´e ˇcasopisy a konference: 18 H-index podle Web of Science: 1
Posledn´ı aktualizace: 11. ˇr´ıjna 2012
30
ABSTRAKT Postrann´ı kan´ aly v oblasti kryptografie z´ asadn´ım zp˚ usobem mˇen´ı pohled na bezpeˇcnost cel´eho kryptografick´eho syst´emu. Jiˇz nestaˇc´ı analyzovat bezpeˇcnost algoritmu pouze z matematick´eho hlediska pomoc´ı abstraktn´ıch model˚ u, ale stejn´y d˚ uraz mus´ı b´yt kladen na implementaci algoritm˚ u. Disertaˇcn´ı pr´ ace v u ´vodu vysvˇetluje z´ akladn´ı pojmy, princip u ´toku postrann´ımi kan´ aly a jejich z´ akladn´ı dˇelen´ı. V n´ asleduj´ıc´ı ˇc´ asti jsou urˇceny c´ıle dizertaˇcn´ı pr´ ace. Hlavn´ım c´ılem disertaˇcn´ı pr´ ace je navrhnout a experiment´ alnˇe ovˇeˇrit novou metodu anal´yzy proudov´ym postrann´ım kan´ alem, kter´ a bude vyuˇz´ıvat neuronov´e s´ıtˇe. Tento hlavn´ı c´ıl vznikl z rozboru pouˇz´ıvan´ych anal´yz proudov´ym postrann´ım kan´ alem uveden´ych v n´ asleduj´ıc´ıch kapitol´ ach. Tyto kapitoly obsahuj´ı podrobn´y rozbor souˇcasnˇe pouˇz´ıvan´ych anal´yz proudov´ym postrann´ım kan´ alem a rozbor ˇsifrovac´ıho algoritmu AES. Algoritmus AES byl vybr´ an, z d˚ uvodu odolnosti proti konvenˇcn´ımu zp˚ usobu anal´yz. N´ asleduj´ıc´ı kapitola popisuje z´ıskan´e d´ılˇc´ı experiment´ aln´ı v´ysledky optimalizace st´ avaj´ıc´ıch metod, vliv parametr˚ u ovlivˇ nuj´ıc´ı proudovou spotˇrebu a v´ysledky navrˇzen´e anal´yzy pomoc´ı neuronov´ych s´ıt´ı vˇcetnˇe diskuze z´ıskan´ych v´ysledk˚ u. Tento typ u ´toku proudov´ym postrann´ım kan´ alem nebyl dosud publikov´ an, jedn´ a se tedy o zcela novou myˇslenku. Posledn´ım c´ılem pr´ ace bylo shrnut´ı moˇzn´ych ochran proti anal´yze a u ´toku postrann´ım kan´ alem.