Articles

Side-channel útok

Protože side-channel útoky spoléhají na vztah mezi informací vyzařovaného (úniku) přes boční kanál a tajná data, protiopatření spadají do dvou hlavních kategorií: (1) odstranění nebo snížení uvolňování těchto informací a (2) eliminovat vztahu mezi únikem informací a tajných dat, která je, aby unikly informace, nesouvisející, nebo spíše nekorelované, na tajná data, obvykle přes nějaký formulář randomizace ciphertext, který transformuje data způsobem, který může být odvolán po kryptografické operace (např. dešifrování) je dokončena.

v první kategorii jsou nyní komerčně dostupné displeje se speciálním stíněním, které snižují elektromagnetické emise a snižují náchylnost k útokům bouře. Vedení klimatizace a filtrování může pomoci odradit power-monitorování útoků, i když tato opatření musí být používán s opatrností, protože i velmi malá korelace může zůstat a ohrozit bezpečnost. Fyzické kryty mohou snížit riziko skryté instalace mikrofonů (proti akustickým útokům) a dalších mikro-monitorovacích zařízení (proti útokům CPU nebo tepelným zobrazovacím útokům).

dalším protiopatřením (stále v první kategorii) je zaseknutí vyzařovaného kanálu šumem. Například, náhodné zpoždění mohou být přidány odradit načasování útoků, i když protivníci mohou kompenzovat tyto prodlevy tím, že v průměru více měření (nebo, více obecně, pomocí více měření v analýze). Jak se zvyšuje množství hluku v bočním kanálu, protivník musí shromáždit více měření.

dalším protiopatřením v první kategorii je použití softwaru pro analýzu zabezpečení k identifikaci určitých tříd útoků postranních kanálů, které lze nalézt během fází návrhu samotného základního hardwaru. Načasování útoků a cache útoky jsou oba identifikovatelné prostřednictvím určitých komerčně dostupné bezpečnostní analýzy softwarových platforem, které umožňují testování k identifikaci útoku zranitelnost sama o sobě, stejně jako účinnost architektonické změnit obejít zabezpečení. Nejkomplexnější metodou využití tohoto protiopatření je vytvoření bezpečného životního cyklu vývoje hardwaru, který zahrnuje využití všech dostupných platforem pro analýzu zabezpečení v příslušných fázích životního cyklu vývoje hardwaru.

V případě, že načasování útoků proti cílům, jejichž výpočetní časy jsou kvantizovány do diskrétní hodinovém cyklu se počítá, efektivní protiopatření proti je navrhnout software jako izochronní, že je ke spuštění v přesně konstantní množství času, a to nezávisle na tajné hodnoty. To znemožňuje načasování útoků. Taková protiopatření mohou být v praxi obtížně implementovatelná, protože i jednotlivé pokyny mohou mít na některých procesorech variabilní načasování.

Jeden dílčí protiopatření proti jednoduché napájení útoky, ale ne diferenciální power-analýza útoky, je navrhnout software tak, že to je „PC-secure“ na „program counter modelu bezpečnosti“. V programu PC-secure není cesta spuštění závislá na tajných hodnotách. Jinými slovy, všechny podmíněné větve závisí pouze na veřejných informacích.(Jedná se o omezující podmínku než izochronní kód, ale o méně omezující podmínku než kód bez větví.)I když násobit operace čerpat více energie, než NOP na prakticky všechny Procesory, pomocí konstantní výkon cestě brání takové operace závislé na výkonové rozdíly (rozdíly v napájení z výběru jednu větev po druhé) z úniku tajných informací.Na architekturách, kde doba provádění instrukcí není závislá na datech, je program PC-secure také imunní vůči časovým útokům.

dalším způsobem, jak může být kód neizochronní, je to, že moderní procesory mají mezipaměť paměti: přístup k zřídka používané informace vznikají velké načasování trest, odhaluje některé informace o frekvenci používání paměťové bloky. Šifrovací kód navržen tak, aby odolat cache útoky, pokusy o využití paměti v jen předvídatelným způsobem (např. přístup pouze vstup, výstupy a data programu, a to podle pevně stanoveného vzoru). Například je třeba se vyhnout vyhledávání tabulek závislých na datech, protože mezipaměť by mohla odhalit, ke které části vyhledávací tabulky bylo přistupováno.

další dílčí protiopatření se pokoušejí snížit množství informací uniklých z rozdílů v napájení závislých na datech.Některé operace používají sílu, která je korelována s počtem 1 bitů v tajné hodnotě.Pomocí konstantní hmotnosti kódu (např. pomocí Fredkin gates nebo dual rail kódování) může snížit únik informací o Hammingova váha tajemství hodnotu, i když využitelné korelace, je pravděpodobné, že zůstanou, dokud vyvážení je ideální. Tento „vyvážený design“ lze v softwaru aproximovat manipulací s daty i jejich doplněním dohromady.

několik „zabezpečených procesorů“ bylo postaveno jako asynchronní procesory; nemají žádný globální časový odkaz. Zatímco tyto Procesory byly určeny, aby se načasování a sílu útoků obtížnější, následný výzkum zjistil, že načasování změn v asynchronní obvody jsou těžší odstranit.

typickým příkladem druhé kategorie (dekorrelace) je technika známá jako oslepování. V případě RSA dešifrování s tajný exponent d {\displaystyle d}

d

a odpovídající šifrovací exponent e {\displaystyle e}

e

a modulo m {\displaystyle m}

m

, technika se použije následovně (pro jednoduchost modulární snížení o m je vynechán ve vzorcích): před dešifrováním, to znamená, že před computing výsledek y d {\displaystyle y^{d}}

y^d

pro daný šifrový y {\displaystyle y‘}

y

, systém vybere náhodné číslo r {\displaystyle r}

r

a zašifruje ho pomocí veřejného exponentu e {\displaystyle e}

e

získat r e {\displaystyle r^{e}}

r^e

. Pak, dešifrování se provádí na ⋅ r e {\displaystyle y\cdot r^{e}}

y \cdot r^e

získat ( y ⋅ r, e ) d = y d ⋅ r e ⋅ d = y d ⋅ r {\displaystyle {(y\cdot r^{e})}^{d}=y^{d}\cdot r^{e\cdot d}=y^{d}\cdot r}

{(y \cdot r^e)}^d = y^d \cdot r^{e\cdot d} = y^d \cdot t

. Vzhledem k dešifrování systém vybral r {\displaystyle r}

r

, to může vypočítat jeho inverzní modulo m {\displaystyle m}

m

zrušit faktor r {\displaystyle r}

r

výsledek a získat y d {\displaystyle y^{d}}

y^d

, skutečný výsledek dešifrování. Pro útoky, které vyžadují sběr vedlejší kanál informací z operací s daty ovládané útočníkem, oslepující je efektivní protiopatření, když skutečný provoz je proveden na náhodně verze dat, přes které útočník nemá kontrolu, nebo dokonce znalosti.

obecnějším protiopatřením (v tom, že je účinné proti všem útokům postranních kanálů) je maskovací protiopatření. Princip maskování je, aby se zabránilo manipulaci žádné citlivé hodnota y {\displaystyle y}

y

přímo, ale spíše manipulovat sdílení to: sada proměnných (tzv. „akcie“) y 1 , . . . , y d {\displaystyle y_{1},…,y_{d}}

y_{1},...,y_{d}

takové, že y = Y 1 ⊕ . . . ⊕ y d {\displaystyle y=y_{1}\oplus …\oplus y_{d}}

{\displaystyle y=y_{1}\oplus ...\oplus y_{d}}

(kde ⊕ {\displaystyle \oplus }

\oplus

je XOR operace). Útočník musí Obnovit všechny hodnoty akcií, aby získal jakékoli smysluplné informace.

V poslední době bylo modelování white-boxů využito k vývoji generického protiopatření na úrovni obvodu s nízkou režií proti útokům na úrovni EM i proti útokům na straně napájení. Minimalizovat dopady na vyšší úrovni kovové vrstvy v IC působí jako účinnější antény, myšlenka je vložte si crypto jádro s podpisem potlačení obvodu, směrovaných na místě v dolní úrovni kovové vrstvy, což vede k oběma moc a JE side-channel útok imunity.