Analýza postranních kanálů (kryptoanalýza hardwarových zařízení) Jakůb Breier, Jůraj Dad'o, Jůraj HreSko, Matej Klement, Jiří Kůsak, Jan Michelfeit, Martin MoraCek, Michal VanCo 21. kvetna 2010 Úvod Útoky postranními kanaly jsoů ůtoky, ktere jsoů zaloZeny na informaci o postranním kanalů. Informace o postranních kanalech jsoů informace, ktere je mozne získat ze sifrovacího zarízení, nejedna se o cisty text k zasifrovaní ani o ciphertext výsledneho sifrovací procesů. V minůlosti bylo sifrovací zarízení vnímano jako celek, ktere prijíma cisty text na vstůpů a prodůkůje ciphertext na vystůpů a naopak. Útoky byly tedy provadeny bůd' na zaklade cipher-textů (napr. ciphertext-only titoky), nebo na zaklade oboů (napr. zname plaintext ůtoky), nebo na schopnosti definice jak ma byt cisty text sifrovan (tzv. vybrane plaintext ůtoky). Dnes je znamo, ze sifrovací zarízení mají i jine vstůpy a vystůpy, ktere nepracůjí s cistám textem nebo ciphertex-tem. Sifrovací zarízení prodůkůjí casovoů informaci (informace o dobe trvaní operace), ktera je snadno meritelna, zarení různych drůhů, statistiky spotreby energie (ktere lze take snadno merit) a dalsí. Sifrovací zarízení mají casto take dalsí neůmyslne vstůpy, jako je napríklad napetí, ktere múze byt zmeneno, aby způsobilo predvídatelne vystůpy. Útoky postranním kanalem vyůzívají nektere nebo vsechny tyto informace spolů s dalsími znamymi kryptoanalytickymi technikami k získaní klíce, ktery zarízení poůzíva. Klasifikace útoků na hardwarové zařízení Útoky na kryptograficke zarízení se mohoů lisit z hlediska ceny, casů, potrebneho vybavení a znalostí nůtnych k jejich realizaci. Je nekolik způsobů, jak kategorizovat tyto útoky, nejcasteji na zaklade dvoů kriterií. Prvním kriteriem je rozdelení útoků na aktivní a pasivní. • Pasivní útoky - ů techto typů útoků pracuje kryptograficke zarízení z prevazne casti nebo zcela standardním způsobem v ramci sve specifikace. Tajny klíc je získany pomocí sledovaní fyzickych vlastností zarízení, jakymi múze byt napríklad cas vypoctů nebo spotreba elektrickeího proůdů. • Aktivní útoky- v techto prípadech je sifrovací zarízení, jeho vstůpy nebo jeho prostredí manipůlovano za ůcelem nestandardního chovaní. Takove chovaní je pak mozne zneúzít k získaní tajneho klíce. Dalsím kriteriem rozdelení typů útoků je rozhraní, pres ktere ůtocník přistůpůje k zarízení. Kryptograficke zarízení mají obvykle nekolik logickych a fyzickych rozhraní, pricemz k nekterym se da pristůpovat jednodůse a k nekterym jen pomocí specialního vybavení. Rozlisůjeme inva-zivní, semi-invazivní a neinvazivní útoky, přicemz kazdy z techto útoků múze byt aktivní nebo pasivníí. 1 • Invazivní útoky - tento typ útoku je nejsilnějším typem, který může být vykonán na kryp-tografickém zařízení. Je u nej možne se zařízením udelat cokoliv pro to, aby byl získán tajny klíC pro upisovaní. Invazivní útoky typicky zaCínají obnazením Časti zařízení, aby bylo mozne pristupovat k jeho jednotlivym komponentam. Pri pasivním typu útoku se pouze sleduje datovy signal z komponent, pri aktivním se tento signal i umele mení. Tento typ útokú je velmi mocny, avsak typicky vyzaduje drahe zarízení na sve uskuteCnení. • Semi-invazivní útoky - i pri tomto typu titoku je sifrovací zarízení obnazene, avsak není proveden zadny elektricky kontakt s povrchem cipu. Cílem pasivních typu utoku je typicky prectení obsahu pametovych bunek bez pouzití klasickych ctecích obvodu. Pri aktivním typu semi-invazivních utoku je cílem vyvolat chyby v zařízení, coz muze byt provedeno pomocí rentgenovych paprsku, elektromagnetickych polí nebo svetelnych signalu. Tyto typy útoku sice nevyzadují az tak drahe zarízení jako invazivní utoky, ale úsilí nezbytne pro jejich uskutecnení je stale pomerne vysoke. • Neinvazivní utoky - u techto typu uítoku není napadeno kryptograficke zařízení jako ta-kove, jsou pouze vyuzita prístupna rozhraní. Zařízení po utoku zustava v nezmenenem stavu, proto není zanechany zadny dukaz o útoku. Vetsinu techto utoku je mozne vy-konavat s relativne levnym vybavením. Predstavují tedy nejvetsí hrozbu vúci bezpecnosti kryptograickyí ch zarříízeníí. Pasivní neinvazivní utoky se nazyvají utoky analyzou postranních kanalu. Tři nejdulezitejsí typy techto útokú jsou casove útoky, elektromagneticke útoky a utoky odberovou analyzou. Zakladním konceptem techto utoku je získat tajny klíc pomocí merení casu vypoctu, spotreby elektricke energie nebo merení elektromagnetickeho bodoveho pole. Pri aktivních utocích je úcelem vyvolaní chyby v zařízení, aniz by bylo nutne obnazit jeho vnitrní komponenty. Nejčastější typy útoků Časově útoky (Casove utoky jsou zalozeny na meření casu vypoctu operací. Tato merení mohou vest k informaci o tajnem klíci. Napríklad peclivym merením casu potrebneho k provedení operace s privatním klícem múze utocník získat Diffie-Hellmanovy exponenty, faktor RSA klíce a nebo prolomit jine kryptograficke systemy. Je-li zarízení zranitelne, je útok vypocetne jednoduchy a casto vyzaduje pouze znamy kryptogram. Kryptosystemy se casto mírne lisí v mnozství casu potrebnem na zpracovaní ruznych vstupú. Mezi dúvody techto odlisností patrí vykonove optimalizace k vyhnutí nepotrebnym operacím, vetvení a podmínene príkazy, zasahy do RAM cache, proceso-rove instrukce (napríklad nasobení a delení), ktere bezí v různem case, a cela rada jinych prícin. Vykonnostní charakteristiky obvykle zavisí jak na sifrovací klíc tak i na vstupu dat (napr. prosty text nebo kryptogram). Intuice by mohla naznacit, ze neumyslne casovaní odhalí jen male mnozství informací z kryptografickeho systemu. Nicmene existují útoky vyuzívající merení casu operací k získaní tajneho klíce z ohrozeneho systemu. SPA Simple Power Analysis (Jednoducha analyza spotreby) je obecne zalozena na hledaní vizualní reprezentace spotreby energie na jednotku v prúbehu sifrovací operace. Jednoducha analyza spotreby je technika, ktera zahrnuje prímou interpretaci merení spotreby elektricke energie v prúbehu kryptograficke operace. SPA múze prinest informace o operacích zarízení stejne jako o tajnem klíícři. 2 DPA Differential Power Analysis (Diferenciální analýza spotřeby). Útoky touto technikou jsou hůře zabranitelné. Neskladají se jen z vizualní, ale take ze statisticke analýzy, take obsahují statisticke opravy chyb metod pro získaní informací o klíci. DPA se obvykle sklada ze dvou fazí - sber dat a analyza dat, ktera používa statisticke funkce pro filtrovaní sumu a pro získaní dalsích informací o procesech, ktere zarízení provadí. Vedle vysoce spotrebních zmen zpusobenych posloupností instrukcí, jsou zde take pusobení související s daty, se kterymi se pracuje. Tyto varianty jsou obvykle mensí a nekdy jsou zastíneny chybami mierení a sumem. V takovych prípadech je mozne prolomit system pomocí statistickych funkcí, ktere jsou site na míru cíloveho algoritmu. Vzhledem k tomu, ze DPA automaticky vy-hledava korelovane oblasti ve spotrebe energie zarízení, mohou byt utoky automatizovany i s malymi ci zadnymi informacemi o implementaci cíloveho zařízení. Casové útoky Příklad - Chinesé Remaindér Theorem Cínsky teorem o zbytku. Modularní snížení kroku obvykle zpusobí nejvíce casovych zmen pri modularním nasobení operací. Cínska veta o zbytcích (CRT) je casto pouzívana pro optimalizaci operací RSA soukromeho klíce. S CRT (y mod p) a (y mod q) jsou podtany jako první, kde y je zprava. Toto prvotní modularní snížení kroku muze byt zranitelne na nacasovaní utoku. Nejjed-nodussí utok je vyber hodnot y, ktera jsou v blízkosti p nebo q, pak pomocí merení casu operací zjistit, zda je získana hodnota je vetsí nebo mensí nez je aktualní hodnota p nebo q. Jestlizze y je mensí nez p, vypocet y mod p nema zadny vliv, zatímco pokud y je vetsí nez p, bude nutne odedst od p y alesponř jednou. Úrcřite cřasove vlastnosti zavisí na implementaci. Příklad - Montgomery Múltiplication Ústalíme nasledující oznacení: zvazme vypocet mk mod n, kde tajny exponent k ma binarní notaci kw_2, • • • , k0), a kw-1 oznacuje nejvyznamnejsí bit. Algoritmus obsahuje mocniny a nasobení, obeř operace se provadí pomocí Montgomeryho algoritmu. V naivní implementaci je modularní nasobení cřasoveř narocřna operace. Montgomery navrhl zpusob, jak urychlit tyto operace prevedením do modulu, ktery je vhodnejší pro vnitrní strukturu zarřízení. Pro zjednodusření zde nebudeme popisovat Montgomeryho algoritmus v detailech. Postacří nam veřdeřt, zře pro libovolneř zvoleny modulus je cřas pro Montgomeryho nasobení konstantní nezavisle na faktorech, s vyjimkou prřípadu, kdy je mezivysledek veřtsří nezř modulus. Potom musí byt provedeno dalsří odcřítaní (tzv. redukce). Nejbeznejsí zpusob jak vyuzít techto znalostí je zamírit nas utoku na krok nasobení pri mocnení a nasobení. Mysřlenka je nasledující: Zacneme napadením kul_2 druheho bitu tajneho klíce. Provadíme mocniny a nasobení algoritmu krok za krokem a vidíme, ze pokud je bit roven 1, pak hodnota m • m2 bude muset byt vypocítana v prubehu mocniny a nasobení. Nyní, pro neřktere zpravy m (ty, pro ktere bude mezivysledek nasobení veřtsří nezř modulus) musí byt provedeno dalsí snížení v prubehu tohoto nasobení, zatímco pro jine zpravy není krok snízení potrebny. Takze jsme schopni rozdelit nas soubor vzorku do dvou podskupin podle toho, jestli vypocet m • m2 zpusobí redukci, nebo ne. Pokud je hodnota kw_2 opravdu 1, pak muzeme ocekavat, ze vypocetní doba pro zpravy z první skupiny (zpusobující redukci) bude mírne vyssí nezř odpovídající doba pro zpravy z druhe skupiny. Avsak pokud skutecna hodnota kul_2 je 0, pak operace m • m2 nebude provedena. V tomto prípade nase delící kriterium bude nesmyslne: není zadny duvod, proc by m zpusobující redukci pro operaci m • m2 take zpusobovalo redukci pro operaci m2 • m2 nebo pro jakoukoliv jinou operaci. Proto by rozdeřlení do dvou podskupin meřlo vypadat nahodneř a nemeřli bychom pozorovat 3 žádný významný rozdíl ve výpočetní době. Opatření proti časovým útokům Přidání zpoždění Nejjednodušší způsob, jak zabránit časovým útokům, je zařídit, abý vsečhný operace trvalý přesně stejnou dobu. Toto býva naneštestí často obtízne. Pokud je pouzit časovač, abý zpozdil navracení výsledku na spečifikovaný čas, je pořad mozno detekovat zmený faktorii jako např. odezvý sýstemu nebo spotrebý energie. Take implementače s fixní časovou hodnotou bývají pomale; mnoho optimalizačí nemuze být pouzito, jelikoz vsečhný operače musí trvat stejne dlouho jako ta nejpomalejsí z ničh. Pokud se pridají nahodna zpozdení, mohou na ne utočníči reagovat sberem víče vzorku (prestoze počet potrebnýčh krýptogramů bude výssí). Jejičh pozadovaný počet se zvýsuje zhruba jako druha močnina časoveho sumu. Nahodne zpozdení tedý můze ůtok tročhu ztížit, ale neznemožní jej. Vyrovnání časově náročnosti násobení a mocnění Čas, který zabere zarízení výkonaní operačí nasobení a močnení, bý mel býýt nastaven na podobnou hodnotu. Díký teto vlastnosti nebude utočník sčhopen rozpoznat kdý a kolik operačí nasobení a močnení býlo provedeno. Výrovnaní můze býýt dosazeno provadením vzdý obou operačí nezavisle na tom, ktera z ničh je prave pozadovana. V kazde fazi, kdý je jedna z operačí výzadovana, bý melý být provedene obe a výsledek te nepozadovane operače bý býl po-tičhu ignorovan. Tato tečhnika zabrainuje časovým ůtokům proti operačím močnení, ktere jsou provadený jako čast asýmetričkýčh sifrovačíčh operačí a ktere jsou terčem nejbeznejsíčh ůtoků. SPA Útočník přímo pozoruje spotrebu energie sýstemu. Hodnota spotrebý se mení v zavislosti na prave výkonavane instrukči mikropročesoru. Velke operače jako napr. DES rundý, RSA operače atd. mohou být identifikovaný, protoze operače provadene mikropročesorem se mohou výrazne lisit v jednotlivýčh častečh tečhto velkýčh operačí. SPA analýza múze být pouzita napr. k prolomení RSA implementačí odhalením rozdílů mezi nasobíčími a močníčími operačemi. Podobne tak mnoho DES implementačíí maí viditelneí rozdíílý mezi permutačemi a posuný a tíím paídem můze být prolomena za pomočí SPA. Protoze SPA múze odhalit pořadí provedenýčh instrukčí, můze být pouzita k prolomení krýp-tografičkýčh implementačí, ve kterýčh je vetev výpočtu zavisla na zpračovavanýčh datečh. Napr. DES keý sčhedules, DES permutače, porovnaíníí, naísobičřký, močničřký. • DES keý sčhedúle: výpočet DES keý sčhedule zahrnuje rotači 28bit registrů klíče. Podmínene vetvení je bezne pouzívano ke kontrole pretečení na jedne strane (tak, ze se ten 1 bit doplní z druhe straný). Výsledna spotřeba energie pro bitý 0 a 1 se bude lisit, pokud se pro týto bitý budou lisit i odpovídajíčí vetve výpočtu. • DES permútace: DES implementače provadejí radu bitovýčh permutačí. Podmínene vetvení v software nebo mikrokodu můze způsobit značne rozdílý ve spotrebe energie pro bitý 0 a 1. • Porovnaní: operače porovnaní retezčů nebo bloků pameti bezne provadejí podmínene vetvení v prípade nalezení rozdílneho prvku. Toto vetvení ma za nasledek výrazne SPA (a nekdý tez časove) čharakteristiký. 4 • Násobičky: obvody pro modulární násobení mají tendenci k úniku informací o datech, které zpracovávají. Unikove funkce závisí na návrhu násobiCky, ale Často jsou v tesnem vztahu k hodnotám operandu Hammingovym vahám. • Močničky: jednoduchá modulární mocninná funkce prochází exponent a provádí v kaZde iteraci druhou mocninu spolu s dodatecnym násobení pro kazdy bit exponentu roven 1. Exponent muze byt kompromitován, pokud mocnení a násobení má odlisnou spotrebu energie nebo je od sebe oddeleno rozdílným kódem. Modulární mocninne funkce operující na dvou a více bitech soucasne mohou mít komplexnejší funkce uniku informací. DPA Utoky diferenciální odberovou analyzou jsou nejpopulárnejsím typem odberove analyzy. Je to hlavne z dúvodu, ze nevyzadují detailní znalost napadeneho zarízení a dokází odhalit tajny klíc i v prípadech, ze zachycene vzorky obsahují vysoky podíl sumu. Oproti utokúm jednoduchou odberovou analyzou vyzadují velky pocet vzorkú a je tedy casto nevyhnutelne mít na urcity cas fyzickou kontrolu nad zanzením. Pri techto útocích je obvykle nutná pouze znalost sifrovacího algoritmu. Zaznamenane vzorky jsou analyzovane odlisnym zpúsobem jak pri útocích jednoduchou odberovou analyzou, kde se spotrebovaná energie analyzuje hlavne vzhledem k casove ose a útocník se snazí najít shodu v grafech jednoho vzorku. Pri útocích diferenciální odberovou analyzou není tvar vzorku vzhledem k casove ose az tak dulezity. Analyzuje se, jak spotrebovaná energie ve stanovenych casovych úsecích závisí na zpracovávaných datech, takze tyto útoky se zabyvají vylucne datovou závislostí získanych vzorkú. Pouzívají se statisticke metody, ktere pomáhají efektivne vyuzít korelaci mezi daty a pravidelnymi úniky informací z postranních kanálú. Utocník v tomto prípade vyuzívá hypoteticky model zarízení, ktery pomáhá predikovat vystup z postranního kanálu zanzení. Kvalita tohoto modelu závisí na mocnostech a znalostech útocníka. Vystupy mohou byt prípade hodnoty popisující jeden typ informace pro nekolik casovych úsekú, ci hodnoty predikující vystup z více postranních kanálú. V prípade, ze je na útok pouzita jedna vystupní hodnota, hovoríme o útocích prvního rádu. V případe, ze jsou na útok pouzite dve a více hodnot ze stejneho kanálu, mluvíme o útocích druheho, respektive vyssích rádia. Na rozdíl od jednoduche odberove analyzy existuje pri diferenciální odberove analyze vseobecná strategie útoku, která je pouzívaná pri vsech útocích tohoto typu. Tato strategie se skládá z následujících peti krokú: 1. Zvolení výsledku vykonávaného algoritmu Prvním krokem je zvolení mezivysledku vykonávaneho algoritmu na napadenem zarízení, pricemz tento mezivysledek je funkce f (d, k), kde d je známá nekonstantní datová hodnota a k je cást klíce. Mezivyysledek splňující tuto podmínku múze byt pouzity na zjistení hodnoty k. Ve vetsine prípadu je d bud'to otevreny, nebo zasifrovany text. 2. Mérení spotrebované energie Druhy krok se skládá z mierení spotrebovane energie kryptografickom zarízením behem sifrování, nebo desifrování D odlisnych datových bloků. Behem techto operací musí útocník videt datove hodnoty d, ktere se podílejí na vypoctu mezivysledkú zvolenych v prvním kroku. Tyto hodnoty zapisujeme jako vektor d = (di,..., dD)', kde dj je datová hodnota v item kroku sifrování, resp. desifrování. Pri kazdem behu zaznamenává útocník odberove vzorky. Ty vzorky, ktere odpovídají datovemu bloku dj, oznacujeme tj = (tij1,... , tjjT), pricemz T je delka vzorku. Utocník zmerí vzorky pro kazdyy datovyy blok a vysledkem je matice T velikosti D x T. Pro útoky diferenciální odberovou analyzou je dúlezite, aby byly odberove vzorky správne zarovnane. To znamená, ze chceme, aby ve sloupci t j matice T byly hodnoty zíískaneí tou samou operacíí. 3. Vypočet hypotetických mezivýsledku V tomto kroku se pocříítajíí hypotetickeí mezivyí sledky pro kazřdou mozřnou volbu k. Tyto potenciální hodnoty k zapisujeme jako vektor k = (k1,... ,kK), kde K je pocet vsech moznych 5 hodnot k. Tomuto vektoru říkáme vektor klíčových hypotéz. Pomocí datového vektoru d a klíčových hypotéz mUZe Útočník snadno vypočítat hypotetické mezivýsledky f (d, k) pro všechny behy D a pro vSechny klíčove hypotezy K. Vysledkem techto vypočtu je matice V velikosti D x K. Sloupec j v matici V obsahuje mezivysledky vypočítane pomocí klíčove hypotezy k j. Vzhledem k tomu, ze klíč pouzity v kryptografickem zarízení je prvkem k, obsahuje jeden sloupec matice realne hodnoty, ktere zarízení vypočítalo. Klíč z dane mnoziny odpovídající tomuto sloupci označíme kck. Kdyz zjistíme, ktery sloupec z V byl zpracovany v zarízení, dostaneme i kck, coz je cílem utoku. 4. Výpočet spotřebované energie z hypotetických mezivýsledků V tomto kroku se z matice hypotetickych mezivysledku V vytvorí matice H, ktera obsahuje vypočítane hypoteticke hodnoty spotrebovane energie. Pro tento učel je nutne pouzít simulační techniky, na jejichž zaklade dokazeme vytvorit model zarízení, ktery umozní vypočítat s určitou presností spotrebovanou energii. Pri techto utocích není dulezite určit absolutní spotrebovanou energii, ale stačí pouze znat relativní rozdíly mezi odberovymi hodnotami. Bezne se pouzívají dva modely, kteří jsou vhodne na diferencialní odberovou analyzu: model využívající Hammingovu vzdalenost a model vyuzívající Hammingovu vahu. 5. Porovnaní hypotetických hodnot se zachycenými vzorky V posledním kroku je porovnavan kazdy sloupec hj matice H se sloupcem tj matice T. To znamena, ze utočník porovna hypoteticke hodnoty spotrebovane energie pro kazdou klíčovou hypotezu se začhycenymi vzorky na kazde pozici. Vysledkem tohoto porovnaní je matice R velikosti K x T, pričemz kazdy prvek rjj obsahuje vysledek porovnaní mezi sloupci hj a t j. Existuje nekolik algoritmů, ktere se pouzívají na toto porovnaní. Vsechny mají tu vlastnost, ze hodnota rjj roste s kvalitou shody hj a t j. Zachycene vzorky odpovídají spotrebovane energii zařízení behem vykonavaní kryptografickeho algoritmu pro ruzne vstupy. Mezivysledky zvolene v prvním kroku jsou součastí algoritmu. To znamena, ze zarízení musí vypočítat mezivysledky vck pri ruznych bezích algoritmu a zachycene vzorky musí na nejake pozici zaviset na techto mezivysledčích. Tuto pozici označujeme jako ct, takze sloupec tct obsahuje hodnoty spotrebovane energie zavisející na mezivysledčích vct. Hypoteticke hodnoty spotrebovane energie hck byly nasimulovane na zaklade hodnot vck, takze sloupce hck a tct spolu silne souvisí. Nejvyssí hodnota v R bude potom prave vysledkem porovnaní techto dvou sloupcu a muzeme ji označit rcfc_ct. Útočník muze tedy snadno odhalit index klícře ck a cřasovy moment ct hledaním nejvysřsří hodnoty v matici R. Indexy teto hodnoty jsou vysledkem utoku diferencialní odberovou analyzou. V prípade, zře hodnoty v matici R jsou zhruba stejne, znamena to, zře utocřník nenameřrřil dostatecřny počet vzorků na vyhodnocení vztahu mezi sloupci matic H a T. Opatření proti analýze spotřeby Vyhýbaní se podmínenemů vetvení a skrytým meziproduktům Vyhybaní se proceduram, ktere vyuzívají skrytych meziproduktu nebo klíče k podmínenemu vetvení, zamaskuje mnoho SPA charakteristik. Softwarove implementace kritickeho kodu by nemely obsahovat príkazy zpusobující vetvení programu a obdobne ani príkazy pro podmínene vykonavaní kodu (jako jsou napr. IF klauzule). Vypočty by mely byt provadene pomocí funkcí vyuzívajících elementarních operací (jako je AND, OR a XOR) a nepoužívajících vetvení, ani podmíneneho vykonavaní častí kodu. Tato opatrení mohou velmi ztízit odhadovaní hodnot vstupu a klícře pomocí meřrření cřasu nebo spotrřeby energie. Kdyzř se vzřdy provedou vsřechny rřadky kodu bez ohledu na vstup nebo bity klícře, cřas a spotrřeba energie na datech nezavisí a tedy ani neodha-luje zadne jejich vlastnosti. Tato opatrení zabraňují vsem druhům časovych utoku na asymetricke sifry a stejne tak i vetsine utoků na zaklade spotreby energie. 6 Vyrovnávání spotřeby energie Techniky na vyrovnávání spotřeby energie by mely byt aplikované, kde je to jen možné. Nadbytečné operace (ž hlediska algoritmu) by mely byt provadeny nad dodatečnými faleSnymi registry a branami tak, aby mela spotreba energie pokud možno konstantní hodnotu. Kdykoliv je operace provadena v hardware, komplementarní operace by mela byt provadena na falesnem elementu, aby se zajistila vybalancovana celkova spotreba vzhledem k nejake vyssí hodnote. Ta-kove techniky, pri kterych je spotreba energie (ž venkovního pohledu) konstantní a nežavisla na vstupu a bitech klíce, žabrainují vsem možnym žpusobum utoku podle spotreby energie jako jsou i SPA a DPA. Redukce velikosti signálu Jeden žpusob prevence pred DPA utoky je redukce velikosti signalu napr. používaním kodu s konstantní vykonavanou cestou, vyberem operací, ktere žpusobují mensí unik informací ve sve spotrebe energie, vyrovnavaním Hammingovych vah a prechodu meži stavy nebo fyžickou ochranou žarížení. Nanestestí podobna redukce signalu nemuže v obecném případe redukovat signal na nulovou hodnotu, takže utocník s nekonecnym poctem vžorku bude i nadale schopen provest DPA na signalu (byl: velmi degradovanem). Přidání sumu Dalsříí prříístup proti DPA žahrnu e prřidaíníí sřumu do vyíslednyích hodnot spotrřeby energie. Podobne jako redukce velikosti signalu i pridavaní sumu žvysuje pocet vžorku potrebnych pro útok. (Časovaní vypoctu (a pořadí instrukcí) muže byt take nahodne transformovano, aby se dosahlo podobneho efektu. Dalsím možnym resením je pridat nahodne vypocty, ktere by opet pridaly dostatek sumu do spotreby energie. Samotny sum vsak krome žvysení poctu vžorku žadny dalsí vliv nema. Každopadne pokud je toto navysení dostatecne velke, aby žnemožnilo realižaci útoku poctem potrebnych snímkťi, je protiopatrení úcinne. Hlavním cílem je pridat dostatek nahodneho sumu, aby byl utok žmaren, ale žaroveiň omežit režijní naklady na minimum. 7