Side channel attack

V kryptografii , boční kanál útok je každý útok na základě informací získaných z fyzické realizace okryptografický , spíše než hrubá sílanebo teoretické nedostatky valgoritmů (tyto dešifrování ).Například, informace o časování, spotřeba energie, elektromagnetickéotvory mohou nebo dokonce zvuk poskytují další zdroj informací, které mohou být využity k přerušení systému. Některé nežádoucí kanálů útoky vyžadují technické znalosti vnitřního fungování systému, na kterém je realizován kryptografie, ale jiní, jako analýza diferenciální power jsou účinné jako černá-box útoky. Nejmocnější útokům postranního kanálu jsou založeny na statistických metodách propagoval Paul Kocher . [ pochvalná zmínka potřebovaný ]

Pokusy o prolomení na kryptografický v omyl nebo přinutit lidi s legitimní přístup, nejsou obvykle nazývají postranními kanály útoky: viz sociální inženýrství a gumy hadice dešifrování . Pro útoky na počítačové systémy samotné (které jsou často používány k provádění šifrování, a tak obsahujíšifrovací klíče nebo holé ), viz počítačové bezpečnosti . Vzestup aplikací Web 2.0 a software-as-a-service rovněž výrazně zvýšila možnost side-channel útoků na síti, i když přenosy mezi webovým prohlížečem a serverem je šifrovaná (např. prostřednictvím protokolu HTTPS nebo WiFi šifrování), Podle vědců z Microsoft Research a Indiana University. [ 1 ]

[ editovat ]Obecné

Obecné třídy útoku boční kanál patří:

Ve všech případech, základní princip je, že fyzické účinky způsobené provozem kryptografický ( na straně ) mohou poskytnout užitečné další informace o tajemství v systému, například, šifrovací klíč , částečné informace o stavu, úplné nebo částečné holé a tak dále. Termín cryptophthora (tajné degradace) je někdy používán k vyjádření degradaci tajným klíčem materiálu získaného úniku strany kanálu.

[ editovat ]Příklady

Načasování útoku hodinky přesunu dat do a ven z CPU , nebo paměti, na hardware běží kryptografický algoritmus nebo. Jednoduše tím, že sleduje změny v tom, jak dlouho to trvá provádět kryptografické operace, to by mohlo být možné určit celou tajný klíč. Takové útoky zahrnují statistické analýzy časových měření, a byly prokázány v rámci sítí. [ 2 ]

Výkon analýza útok může poskytnout ještě podrobnější informace tím, že sleduje spotřebu hardwarového zařízení, jako je procesor nebo kryptografického obvodu. Tyto útoky jsou hrubě roztříděny do jednoduché napájení analýzy (SPA) a diferenciální výkonu analýzy (DPA).

Výkyvy v proudu také vytvářet rádiových vln , což umožňuje útoky, které analyzují měření elektromagnetických vyzařování. Tyto útoky obvykle zahrnují podobné statistické techniky jako útoky elektráren analýzy.

Non-kryptografické historické analogie k moderním útoky postranních kanálů jsou známy. Nedávno odtajněné NSA dokument ukazuje, že jak daleká záda jak 1943, inženýr s telefonem Bell pozorovány decipherable hroty na osciloskopu spojené s dešifrované výkonu určité šifrování dálnopisu. [ 3 ] Podle bývalého MI5 důstojník Peter Wright , britský bezpečnostní služba analyzovány emise z francouzského šifry zařízení v roce 1960. [ 4 ] V roce 1980, sovětskébyly odposloucháváním podezření rostlin chyby uvnitř IBM Selectric psacích strojů sledovat elektrický šum generovaný jako točil typu míč a hodil na stávku papír, charakteristiky těch, signály mohou určit, která klávesa byla stisknuta.[ 5 ]

Spotřeba energie zařízení způsobuje vytápění, která je odsazena od chlazení účinky. Teplotní změny vytvářejí tepelně indukované mechanické namáhání. Že stres se objeví, je vytvořit nízkou úroveň akustické (tj. hluku ) emise z provozních CPU (asi 10 kHz v některých případech). Nedávný výzkum Shamiret al. naznačila, že informace o provozu kryptografických algoritmů a lze získat tímto způsobem také. To je akustický útok , v případě, že povrch CPU čipu, nebo v některých případech, CPU balení lze pozorovat, infračervené lze snímky také informace o kódu je proveden na CPU, známý jako tepelný zobrazovací útoku .

[ editovat ]Protiopatření

Vzhledem k tomu, útokům postranního kanálu spoléhat na vyzařovaném informací (jako je elektromagnetické záření nebo zvuk) nebo na vztah informací (jak v načasování a síla útoků), jedna metoda boje proti takovým útokům je snížit uvolňování těchto informací nebo přístupu k těmto vztahům. Displeje jsou nyní komerčně dostupný, které byly speciálně odstíněny snížit elektromagnetické emise snižují náchylnost k TEMPEST útoky. Elektrické vedení klimatizace a filtrace může pomoci zabránit útokům monitoring napájení, i když tato opatření musí být používány s opatrností, protože i velmi malé korelace může zůstat a ohrozit bezpečnost. Fyzické skříně mohou snížit riziko skryté instalace mikrofonů (proti akustické útoky) a další mikro-monitorovacích zařízení (proti výpadku CPU remízu nebo tepelné zobrazovací útoky).

Další protiopatření je k uvíznutí vydávaného kanál s hlukem. Například, může náhodně zpoždění zní odradit načasování útoků, i když protivníci mohou kompenzovat tyto zpoždění průměrováním několika měření současně (nebo, více obecně, s použitím více měření v analýze). Vzhledem k tomu, množství hluku v růstu postranních kanálů, protivník musí shromáždit více měření.

V případě časových útoků proti cílů, jejichž výpočet časy jsou quantized do jednotlivých bodech hodinovém cyklu, efektivní protiopatření proti je navrhnout software tak, aby je izochronní-tak to běží v přesně konstantní množství time, nezávisle na tajné hodnoty. To je načasování útoků nemožné. [ 6 ] Tato protiopatření může být obtížné realizovat v praxi, neboť i jednotlivé instrukce mohou mít variabilní časování na nějakém CPU.

Dílčím protiopatření proti jednoduché napájení útokům, ale ne diferenciální útoky výkon analýza, je navrhnout software tak, že to je "PC-secure" v "programu boje proti modelu zabezpečení". V PC-bezpečné programu, provádění cesta nezávisí na tajné hodnoty, jinými slovy, všechny podmíněné větve závisí pouze na veřejných informací. (To je více omezující podmínka než izochronní kódu, ale méně omezující podmínka než větev bez kódu.) I když násobit operace čerpat více energie, než NOP prakticky na všech CPU, používáme konstantní spuštění cestu brání takovou operaci závislé rozdíl výkonu- rozdíly v síle od výběru jednu větev nad sebou-z úniku žádné tajné informace. [ 6 ] Na architekturách, kde výuka doba realizace je nezávislé na datech, PC-secure program je také imunní vůči útokům načasování. [ 7 ] [ 8 ]

Jiný způsob, který kód může být non-izochronní je, že moderní procesory mají mezipaměti: přístup zřídka používané informace, vzniká velký časový trest, odhaluje některé informace o četnosti používání paměťových bloků.Kryptografické kód navrženy tak, aby odolat mezipaměti útoky se snaží využít paměť pouze předvídatelným způsobem (např. přístup pouze vstupní, výstupy a program data, a tím podle pevného vzoru). Například údaje závislé look-up tabulky je třeba zabránit, protože mezipaměť by mohly odhalit, jaká část look-up tabulky byla zobrazena.

Další dílčí protiopatření se pokoušejí snížit množství informací unikly z údajů závislých na výkonu rozdíly. Některé operace použít sílu, která je ve vztahu k počtu bitů s hodnotou 1 v tajné hodnoty. Pomocí konstantní hmotnosti kód(například pomocí Fredkin brány nebo dual-rail kódování) může snížit únik informací o Hammingova hmotnosti tajných hodnoty, i když využitelné korelace bude pravděpodobně i nadále, pokud vyvažování je přesně ideální. Tento "vyvážený design" lze aproximovat v softwaru tím, že manipulují jak data a jejího doplňku společně. [ 6 ]

Několik "bezpečné procesory" byly postaveny jako asynchronní procesorů , nemají globální načasování odkaz. Zatímco tyto procesory byly určeny, aby se časové a výkonové útoky mnohem obtížnější, [ 6 ] následující výzkum zjistil, že časové rozdíly v asynchronních obvodů jsou těžší odstranit.