Rok / Year: 2014
Svazek / Volume: 16
Číslo / Number: 2
Extrakce dat pomocí elektromagnetického postranního kanálu Data Extraction Using an Electromagnetic Side Channel Bohumil Novotný, Jiří Sobek
[email protected],
[email protected] Fakulta elektrotechniky a komunikačních technologií VUT v Brně
Abstrakt: Článek shrnuje současnou situaci výzkumu elektromagnetického postranního kanálu. Je zde uveden jako příklad proudový postranní kanál, z jehož teoretických předpokladů je odvozen elektromagnetický postranní kanál, který existuje v zabezpečených informačních systémech. V závěru článku jsou znázorněny výsledky monitorování elektromagnetického postranního kanálu pomocí amatérské sondy sloužící pro zachycení informace uniklé z kryptografického systému.
Abstract: This paper summarizes the current research situation of electromagnetic side channel. It is shown here as an example of current side channel of the theoretical assumptions derived solenoid side channel that exists in secure information systems. In conclusion, the article shows the results of monitoring of the electromagnetic side channel using amateur probes used for capturing information leaked from cryptographic system.
VOL.16, NO.2, APRIL 2014
Extrakce dat pomocí elektromagnetického postranního kanálu Bohumil Novotný, Jiří Sobek Fakulta elektrotechniky a komunikačních technologií VUT v Brně Email:
[email protected],
[email protected]
2
Abstrakt – Článek shrnuje současnou situaci výzkumu elektromagnetického postranního kanálu. Je zde uveden jako příklad proudový postranní kanál, z jehož teoretických předpokladů je odvozen elektromagnetický postranní kanál, který existuje v zabezpečených informačních systémech. V závěru článku jsou znázorněny výsledky monitorování elektromagnetického postranního kanálu pomocí amatérské sondy sloužící pro zachycení informace uniklé z kryptografického systému.
1
Proudový postranní kanál
Každé zařízení napájené elektrickým proudem a zároveň zpracovávající informace vykazuje jistou závislost spotřeby na vykonávané operaci. Potenciální útočník tedy může odhalit již z této závislosti, jestli zařízení pracuje nebo je momentálně v klidu. Pokud útočník zjistí, kdy zařízení pracuje, může proudovou závislost napájecího vstupu napadaného zařízení zaznamenávat a analyzovat. Proudový postranní kanál, nazývaný též výkonový nebo odběrový, je tedy slabinou vyplývající ze závislosti součtu statického Istat , dynamického Idyn a poruchového kapacitního proudu Icap spotřebovaného v čase při zpracovávání instrukcí v zařízení. Celkový proud vstupující do zařízení:
Úvod
Ve světě informačních technologií jsou konstruována zařízení, která mají za úkol zpracovávat informace. V ideálním případě vstupuje do zařízení informace, zde je zpracována a vychází zpracovaná informace výstupní. Zařízení se z pohledu externího pozorovatele tváří jako takzvaný black-box neboli černá skříňka. Tento ideální model představuje zařízení, které je dokonale elektromagneticky stíněno, je napájeno konstantním elektrickým proudem a je vyrobeno zvukotěsně. Zařízení, které můžeme dnes prohlásit za bezpečný hardware, již za krátkou dobu bezpečné být nemusí. V roce 1996 P.C. Kocher dokázal, že každé zařízení může mít nějakou slabinu, kterou může tajná informace uniknout. [1] Každé zařízení více či méně emituje do svého okolí informace. Tyto informace mohou být sledovány a zneužity ku prospěchu útočníka. Nežádoucí komunikaci s okolím označujeme jako postranní kanál. Teorie postranního kanálu pojednává o metodách, které vedou k získání užitečných informací ze zařízení, které není možné napadnout jednoduchou matematickou metodou v reálném čase. Nežádoucí komunikace sledovaného zařízení s okolím může mít za následek monitorování informací v zařízení a případně následné dešifrování tajných dat. Nežádoucí komunikace zařízení s okolím může mít podstatu proudového, elektromagnetického, časového, optického i jiného charakteru dle určení činnosti a chování napadeného zařízení. Útok postranním kanálem na zařízení se tedy může specializovat přímo na úkony, ke kterým bylo zařízení konstruováno. Výhodou útoku postranním kanálem oproti matematickým útokům na algoritmus je, že z velké části nebyla zařízení koncipována a připravena na typy útoků, které se nesoustředí přímo na informaci matematicky zašifrovanou, ale na únik citlivé informace ze zařízení při jejím zpracovávání.
I = Idyn + Istat + Icap
(1)
Tyto teze vycházejí z fyzikálních vlastností současné technologie CMOS, jejímž základním stavebním prvkem je invertor. Invertor je realizován dvěma tranzistory opačného typu vodivosti, které jsou řízeny napětím. Při klidovém stavu, kdy je invertor překlopen do stavu logické nuly nebo jedničky je proudová spotřeba minimální. Při konstantním napájecím napětí je tedy spotřeba udávána jako statický proud Istat . Realizaci CMOS invertoru nejlépe vystihuje obrázek 1 C.
Obrázek 1: Zapojení CMOS invertoru Významnou proudovou špičku představuje fáze překlopení logické úrovně vycházející z funkce XOR v tab. 1. Při překlopení jsou v krátkém časovém úseku oba tranzistory otevřeny vůči zemi a vstupní svorky jsou proti zemi zkratovány. Při zkratu dochází k proudové špičce, která významně překračuje hodnotu statického proudu a stává se měřitelným ukazatelem překlopení invertoru. Zkratový
61
VOL.16, NO.2, APRIL 2014
Tabulka 1: Logické úrovně tranzistorů Tranzistor A Tranzistor B Proudová špička 0 0 NE 0 1 ANO 1 0 ANO 1 1 NE
proud při konstantním napájecím napětí nazýváme dynamickou spotřebou. Průběh proudu IDD při překlopení je naznačený na obrázku 1A. V ideálním případě by došlo pouze k překlopení logické úrovně. V reálné situaci se však při překlopení tranzistorů mezi nimi objeví krátký zkrat způsobující proudovou špičku. Tato situace je naznačena na obrázku 1B, kde je zkratový proud naznačen jako Izkr . Díky skutečnosti, že tato proudová špička vzniká pouze při změně logické úrovně tranzistoru se invertor stává datově závislým. Každý takto vytvořený proudový impulz navíc vytváří elektromagnetické datově závislé pole, které dává možnost napadení zařízení nejen proudovou analýzou, ale také elektromagnetickou analýzou. Pro úplné dokreslení situace při překlopení invertoru je možné si na obrázku 2 všimnout mírných deformací proudové špičky. Tato deformace je dána parazitní kapacitou. Parazitní kapacitu Cl si lze představit jako kondenzátor paralelně připojený mezi oba tranzistory a zem, tedy výstup a zem. Tato kapacita má v reálném obvodu za následek mírný pokles proudové špičky při změně logické úrovně z 0 na 1 a nárůst proudové špičky průběhu při přechodu z logické 1 na 0. Tyto změny jsou způsobeny nabíjením a vybíjením kondenzátoru C1 naznačeného v obrázcích 1A a 1B. Lehká deformace před proudovou špičkou a za proudovou špičkou je dána ostatními parazitními kapacitami tranzistorů. V závislosti na počtu CMOS invertorů v zařízení poté tyto ostatní parazitní kapacity narůstají. [1] Z předcházejících skutečností vyplývá náchylnost každého takového kryptografického systému k proudové analýze napájecího vstupu. Získání výsledků probíhá prostým měřením vstupního proudu malým rezistorem, řádově jednotky ohmů, zapojeným mezi napájecí pin napadaného zařízení a výstup z desky plošných spojů. Celé měření je třeba provádět při zpracovávání citlivých dat a je nutné mít k zařízení přístup. V tomto případě lze získat celý proudový průběh a zaznamenat jej osciloskopem pro další zkoumání. Analýza naměřených výsledků již probíhá na základě jednoduché a diferenciální proudové analýzy.
3
Obrázek 2: Proudová závislost na napěťových změnách invertoru CMOS trický proud, který je datově závislý, elektromagnetické pole je datově závislé taktéž. [2] Díky těmto fyzikálním vlastnostem se každé zařízení emitující elektromagnetické pole stává slabé proti útoku na fyzickou konstrukci kryptografického systému. Emisi elektromagnetického pole znázorňuje obrázek 3. Takovou emisi lze měřit vložením cívky do jeho blízkosti.
Obrázek 3: Napadení kryptografického systému útočníkem využitím elektromagnetického postranního kanálu Každou slabinu zařízení, kolem kterého vzniká elektromagnetické pole a zpracovávajícího tajnou informaci, nazýváme elektromagnetickým postranním kanálem. Hlavním rozdílem mezi měřitelnou křivkou napájecího elektrického proudu, kterým je zařízení napájeno, a elektromagnetickým polem vytvořeným okolo napájecího konektoru je, že naměřená proudová křivka odpovídá jednoduchému amplitudovému průběhu, kdežto naměřená elektromagnetická
Elektromagnetický postranní kanál
Elektromagnetický postranní kanál vychází z proudového modelu popsaného v předešlé kapitole a pracuje se zákony elektromagnetického pole, které zformuloval James Clerk Maxwell. Na základě jím popsaných zákonů lze tvrdit, že každá změna proudu nebo napětí vyvolá změnu elektromagnetického pole. Jelikož zařízení odebírá elek-
62
VOL.16, NO.2, APRIL 2014
křivka odpovídá trojdimenzionálnímu vektoru elektromagnetického pole měnícího se v čase. 3.1
elektromagnetického pole na zpracovávaných datech. Matoucí emise elektromagnetického pole lze dosáhnout dvěma způsoby. Prvním způsobem je zavedení náhodné spotřeby zařízení v každém časovém intervalu. Druhou metodou je zkonstruovat zařízení tak, aby byla spotřeba zařízení ve všech časových intervalech stejná. Bohužel se zatím nepodařilo vytvořit žádné zařízení maximálně nezávislé na zpracovávaných datech. V současné době se zařízení pouze přibližují k tomuto ideálnímu stavu.
Analýza získaných dat
Díky moderním metodám zachycení citlivé informace se začaly zároveň s nimi tvořit matematické metody sloužící pro zpracování a vyhodnocení uniklých citlivých dat. Tyto metody se podle svého zaměření na rozkrývání informací dále rozdělují na jednoduchou analýzu a diferenciální analýzu. Analýza postranního kanálu je typ neinvazivního nebo invazivního útoku, který má za úkol zjistit citlivá data z napadeného zařízení. 3.1.1
4
Aplikace útoku
Pro měření elektromagnetického postranního kanálu bylo vytvořeno experimentální pracoviště obsahující tyto části:
Jednoduchá analýza
• Notebook MSI s nainstalovaných operačním systémem Windows 7 ultimate
Za jednoduchou analýzu postranního kanálu považujeme takovou, která se zabývá přímým zpracováním dat uniklých ze sledovaného zařízení. Podle techniky odchycení dat ji můžeme dále rozdělit na útoky, které proběhnou pouze jednou a útoky, které proběhnou několikrát. U útoků, které probíhají jednou je zaznamenána pouze jedna trasa signálu, kdežto u vícenásobné analýzy je zaznamenáváno více tras signálu a může být zaznamenávána stejná část signálu vícekrát. Tím se dosáhne většího odkrytí volného textu.
• AVR studio verze 4.19.0.730 • Matlab verze 7.12.0.384 • Vývojová deska AVR STK500 s mikrokontrolérem Atmega8515L • Převodník USB/RS-232 ASIX UCAB232 • Osciloskop Tektronix DPO 4032
3.1.2
Diferenciální analýza • Elektromagnetická sonda
Zatímco útoky zpracované pomocí jednoduché analýzy identifikují relevantní výkonové změny, útoky založené na diferenciální analýze požívají statistické výpočty a techniky pro korekce chyb, pomocí kterých lze extrahovat zašifrované klíče. K takové analýze je třeba sesbírat mnohem více statistických dat, než u jednoduché analýzy. Díky faktu, že k provedení takového útoku nepotřebujeme znát detailní strukturu napadeného zařízení a k analýze nám stačí i zarušený signál, stal se tento typ analýzy vhodný pro další zkoumání. Počty vzorků, které je třeba zachytit, se pohybují okolo tisíce kryptografických operací obsahujících soukromý klíč. [3] Diferenciální analýza sestává ze dvou fází. První fází je shromáždění dat a druhou fází je jejich analýza. Shromáždění je provedeno vzorkováním příkonu zařízení během kryptografických operací a analýza je provedena matematickým zpracováním zachycených informací. Diferenciální analýza je tedy mnohem sofistikovanější a nebezpečnější pro kryptografický modul, než jednoduchá analýza. [4] 3.2
• Zařízení pro uchycení Zkoumaným prvkem je mikrokontrolér Atmega8515L [5] od společnosti Atmel. Pracoviště je zapojeno dle obrázku 4.
Obrana proti útoku
Obrázek 4: Zapojení pracoviště
Elektromagnetická analýza postranního kanálu je možná díky závislosti elektromagnetického pole na právě zpracovávaných datech podobně jako u proudové závislosti. Hlavním cílem obrany proti útoku by mělo být co nejefektivnější zamezení jeho emise z kryptografického modulu například elektromagnetickým stíněním zařízení nebo zamaskování a zkreslení této emise. Metodu zkreslení emise nazýváme jako skrývání. Je založena na vytvoření matoucí závislosti
Hlavním článkem experimentální měřicí soustavy je elektromagnetická sonda speciálně zkonstruovaná pro zaměření postranního kanálu. Tato sonda zachycuje blízké elektromagnetické pole vyzářené z převodní části mikrokontroléru. Hrot sondy je zhotoven z měděného drátu o průměru d = 0,3 mm, který je navinut do cívky o jedenácti závitech ve tvaru solenoidu s vnitřním
63
VOL.16, NO.2, APRIL 2014 while(1) { if (matrix_updated == 1) { matrix_updated = 0;
průměrem 0,7 mm. Cívka je připojena ke koaxiálnímu kabelu o charakteristické impedanci 50 Ω. Elektromagnetická sonda byla umístěna nad proudový vstup mikrokontroléru Atmega8515L umístěného ve vývojovém modulu AVR STK500. Atmega8515L je osmibitový CMOS mikrokontrolér postavený na rozšířené architektuře RISC. Při zpracování instrukcí mikrokontrolér provádí nejdříve načtení z programové flash paměti a následně instrukce zpracuje v pravidelném hodinovém taktu. Zpracování informací způsobuje datově závislý odběr elektrického proudu vyvolávající v blízkém okolí měřitelné elektromagnetické datově závislé pole. Na cívce vložené v elektromagnetickém poli se indukovalo elektrické napětí, které bylo měřeno digitálním osciloskopem [6]. Naměřený průběh byl uložen do paměti osciloskopu jako navzorkovaný signál s vzorkovací frekvencí 100 kHz. Pro přesnou polohu statického zaměření sondy nad mikrokontrolérem bylo využito zařízení vybaveného aretací ve směrech os x, y a z. Měřicí pracoviště nejlépe vystihuje obrázek 5.
// 16 elem. of MATRIX_A has been received
PORTD |= (1 << 2); //synch. pin High /* Xor MATRIX_A and MATRIX_B */ for(i = 0 ; i < 4 ; i++) { for(j = 0 ; j < 4 ; j++) { MATRIX_A[i][j] = MATRIX_A[i][j] ^ MATRIX_B[i][j]; } } PORTD &= ~(1 << 2); //synch. pin Low sei(); /* transmit MATRIX_A via UART */ for(i = 0 ; i < 4 ; i++) { for(j = 0 ; j < 4 ; j++) { while ((UCSRA & (1 << UDRE)) == 0); //wait to UART Data reg. empty UDR = MATRIX_A[i][j]; } } } } //end while(1)
Obrázek 6: Operace XOR matic šifrovaného textu a klíče a odeslání dat do PC Situaci, která byla simulována v mikrokontroléru, nejlépe vystihuje modrá část obrázku 7, na kterém je vidět postup, jakým bylo postupováno při zpracování dat.
Obrázek 5: Aplikované řešení zapojení
4.1
Implementace zdrojového kódu
Pro sledování dat v mikrokontroléru byl připraven zdrojový kód v prostředí AVR, který byl nahrán do vnitřní paměti Atmega8515L 6. Tento zdrojový kód má za úkol násobit matici klíče s maticí odesílané matice do mikrokontroléru pomocí sériové linky a je vybaven synchronizací důležitou pro přesné určení počátku a konce operací. Pro odesílání a zpětné přijímání matic pomocí sériové linky byl vytvořen skript v programu Matlab. Tento skript získaná data zapisuje do souboru a slouží pro identifikaci naměřených matematických operací v mikrokontroléru. Matematické operace jsou odděleny synchronizačním signálem, který se projevuje vysokou proudovou špičkou patrnou z obrázků 9 a 10.
Obrázek 7: Vývojový diagram operace XOR matice dat a klíče
64
VOL.16, NO.2, APRIL 2014
Bylo vycházeno z předpokladu, že čím vyšší bude matematicky zpracovávané číslo, tím vyšší bude amplituda sledované hodnoty na osciloskopu. Výsledné hodnoty byly zaznamenány osciloskopem, uloženy do tabulky a následně analyzovány v programu Matlab pomocí WS1 [7]. Výsledné odchylky byly téměř neznatelné i při maximálním rozdílu logických úrovní. Napěťová úroveň změřeného signálu kolísala okolo 2 mV. Oproti proudové analýze při stejném principu měření se tato hodnota dá vyčíslit pouze jako dvě setiny proudové amplitudy signálu. V případě násobení a následně výpočtů pomocí funkce XOR byly naměřené změny na osciloskopu rovněž zanedbatelné. Z důvodu velmi malého rozdílu proudových špiček nebylo možné tyto změny rozeznat ani po analýze v programu Matlab. Optické srovnání výstupu osciloskopu rovněž neprokázalo žádné přímé odchylky. Pro srovnání byly použity výsledky operace XOR rozdílných matic. Nejprve byla provedena operace XOR mezi maticí obsahující klíč a maticí nulovou. Matice obsahující klíč byla uložena v mikrokontroléru a během celého měření zůstala neměnná. Matice naplněná nulovými hodnotami byla odesílána pomocí sériové linky do mikrokontroléru, zde proběhla operace XOR a výsledek operace byl odeslán sériovou linkou zpět do PC a zaznamenán pro porovnání výsledků. Paralelně s výpočtem v mikrokontroléru probíhal výpočet stejné operace ve skriptu programu Matlab, který vyhodnocoval správnost provedené operace. Druhá matice byla naplněna maximálními hodnotami registru a stejným způsobem zpracována Atmega8515L i skriptem v Matlabu. Během probíhajících operací bylo měřeno elektromagnetickou sondou okolní elektromagnetické pole měřicí cívkou. Tento průběh byl vzorkován a ukládán osciloskopem do jeho vnitřní paměti. Oba zaznamenané průběhy byly exportovány do programu Matlab, kde byly zpětně rekonstruovány a porovnány mezi sebou. Výsledné průběhy ovšem nevykazovaly výrazné odlišnosti. Naměřený průběh vzniklý na základě provedení operace XOR pěti nulových matic s pěti maticemi klíče je znázorněn a popsán na obrázku 8. Pro přesné grafické i matematické rozlišení naměřeného průběhu bylo využito druhého kanálu osciloskopu, na který byl přiváděn jednoduchý synchronizační signál vyznačující se poklesem napětí při začátku i konci měřeného úseku. Tím bylo dosaženo přesného určení začátku samotné matematické operace bez další režie programu. Při podrobnějším náhledu na provedení operace XOR jedné rundy průběhu již lze pozorovat jednotlivé operace vykonávané mikrokontrolérem. Podrobnější zpracování naměřených hodnot lze graficky pozorovat na obrázcích 9, 10 a 11. Zpracování dat bylo provedeno matematickým odvozením navzorkovaného signálu programem Matlab.
Obrázek 8: Průběh operace XOR pěti matic
Obrázek 9: Operace XOR nulové matice a matice klíče
Obrázek 10: Operace XOR řádku nulové matice a matice klíče
Obrázek 11: Operace XOR dvou hodnot nulové matice a matice klíče
65
VOL.16, NO.2, APRIL 2014
5
Závěr
Literatura
Tento článek shrnuje útok elektromagnetickým postranním kanálem, který se soustředí na monitorování a extrakci dat z kryptografického systému. Extrakce dat byla demonstrována na mikrokontroléru Atmega8515L. Pro zpracování a zobrazení dat bylo využito programového vybavení AVR studio verze 4.19.0.730 a Matlab verze 7.12.0.384. První část článku popisuje princip úniku informací z kryptografického zařízení proudovým postranním kanálem, strukturu CMOS invertoru a jejich proudovou závislost na zpracování dat. Z takových informací lze zjednodušit a následně analyzovat získané informace. Z první části článku vycházejí teze, na základě kterých je popsán elektromagnetický postranní kanál. Data extrahovaná touto metodou mohou být zpracována jednoduchou a diferenciální analýzou. Princip analýzy je stěžejní pro budoucí získání tajných informací a dešifrování klíče v kryptografickém systému a je v druhé části rovněž popsán. Poslední část dokumentu se zabývá praktickou aplikací znalostí popsaných v předešlých kapitolách a ukazuje jasné výsledky závislosti elektromagnetického pole vznikajícího okolo napadeného zařízení. Takto změřené výsledky již mohou být použity pro následnou analýzu a získání citlivých dat z kryptografických zařízení. Využití výsledků naměřených pomocí výše popsané extrakce lze v praxi aplikovat například u blokových šifer pro získání inicializačních vektorů.
[1] DE MULDER, Elke. ARENBERG DOCTORAL SCHOOL OF SCIENCE. Electromagnetic Techniques and Probes for Side-Channel Analysis on ˙ Cryptographic Devices Leuven: Katholieke Universiteit Leuven, November 24, 2010. ISBN 978-946018-281-5. [2] MANGARD, Stefan, Elisabeth OSWALD a Thomas POPP. GRAZ UNIVERSITY OF TECHNOLOGY. Power Analysis Attack Revealing the ˙ Secrets of Smart Cards New York: Springer, 2007. ISBN 0387308571. [3] MARTINÁSEK Zdeněk, ZEMAN Václav Innovative Method of the Power Analysis [cit. 20. 1. 2014]. Radioengineering, 2013, roč. 22, č. 02, s. 586-594. ISSN: 1210- 2512. [4] NOVOTNÝ Bohumil Diferenciální elektromagnetická analýza VUT FEKT v Brně. 2013 [5] Atmega8515L, Data Sheet [online]. Microchip, 2012, [cit. 20. 1. 2014]. Dostupné z URL:
. [6] Tektronix DPO4000: Series Digital Phosphor Oscilloscopes [online]. 2007 [cit. 2014-01-20]. Dostupné z: .
Poděkování Popsaný výzkum byl realizován v laboratořích podpořených z projektu SIX; registrační číslo CZ.1.05/2.1.00/03.0072, operační program Výzkum a vývoj pro inovace a dále byl podpořen projektem Společné aktivity VUT a VŠB-TUO při vytváření ” obsahu a náplně odborných akreditovaných kurzů ICT“ CZ.1.07/2.2.00/28.0062, operační program Vzdělávání pro konkurenceschopnost
[7] OSWALD, Elisabeth. Guided Analysis of WS1 [online]. 2007 [cit. 2014-01-20]. Dostupné z: <www.dpabook.org/onlinematerial/ matlabscripts/WS1-Guided-Exercise.pdf>.
66