Analýza výkonu - Power analysis
V kryptografii se útok bočním kanálem používá k extrakci tajných dat z nějakého zabezpečeného zařízení (jako je čipová karta , „černá skříňka“ odolná proti neoprávněné manipulaci nebo integrovaný obvod ). Analýza postranního kanálu se obvykle pokouší neinvazivně extrahovat kryptografické klíče a další tajné informace ze zařízení. Jednoduchým příkladem je německý problém s tanky: sériová čísla tanků poskytují podrobnosti o výrobních datech tanků. Ve fyzické bezpečnosti by neinvazivní útok byl podobný vychystávání zámku , kde úspěšný útok nezanechává žádné stopy po přítomnosti útočníka.
Analýza výkonu je forma útoku postranního kanálu, při které útočník studuje spotřebu energie kryptografického hardwarového zařízení. Tyto útoky se spoléhají na základní fyzikální vlastnosti zařízení: polovodičová zařízení se řídí zákony fyziky, které určují, že změny napětí uvnitř zařízení vyžadují velmi malé pohyby elektrických nábojů (proudů). Měřením těchto proudů je možné zjistit malé množství informací o manipulovaných datech.
Jednoduchá analýza výkonu ( SPA ) zahrnuje vizuální interpretaci energetických stop nebo grafů elektrické aktivity v čase. Diferenciální analýza výkonu ( DPA ) je pokročilejší forma analýzy výkonu, která umožňuje útočníkovi vypočítat mezilehlé hodnoty v kryptografických výpočtech prostřednictvím statistické analýzy dat shromážděných z více kryptografických operací. SPA a DPA představili otevřené kryptografické komunitě v roce 1998 Paul Kocher , Joshua Jaffe a Benjamin Jun .
Jednoduchá analýza výkonu
Jednoduchá analýza výkonu ( SPA ) je útok postranního kanálu, který zahrnuje vizuální kontrolu grafů proudu používaného zařízením v čase. Ke změnám ve spotřebě energie dochází, když zařízení provádí různé operace. Například různé instrukce prováděné mikroprocesorem budou mít různé profily spotřeby energie.
Codeflow, který závisí na tajné hodnotě, tak unikne tok kódu prostřednictvím monitorování spotřeby energie (a tím také unikne tajná hodnota). Jako jednoduchý příklad zvažte kontrolu hesla následujícím způsobem:
bool check_password(const char input[]){
const char correct_password[] = "hunter2";
if (strlen(input) != strlen(correct_password)) return false;
for (int i = 0; i < strlen(correct_password); i++){
if (input[i] != correct_password[i]) {
return false;
}
}
return true;
}
Tato kontrola hesla potenciálně obsahuje útok načasování , protože doba provádění není konstantní. Funkce však nemusí uživateli poskytnout výstup, který by mohl být zneužit, protože například může dojít ke kompenzaci zpoždění před vrácením odpovědi. Pozorování spotřeby energie vyjasní počet provedených smyček.
Podobně lze často rozlišit operace kvadratury a multiplikace v implementacích RSA, což umožňuje protivníkovi vypočítat tajný klíč. I když jsou odchylky ve spotřebě energie malé, standardní digitální osciloskopy mohou snadno ukázat odchylky vyvolané daty. K odfiltrování vysokofrekvenčních komponent se často používají frekvenční filtry a funkce průměrování (například ty, které jsou zabudovány do osciloskopů).
Analýza diferenciálního výkonu
Diferenciální analýza výkonu ( DPA ) je útok bočního kanálu, který zahrnuje statistickou analýzu měření spotřeby energie z kryptosystému . Útok využívá předsudky měnící se spotřebu energie mikroprocesorů nebo jiného hardwaru při provádění operací pomocí tajných klíčů. Útoky DPA mají vlastnosti zpracování signálu a opravy chyb, které mohou extrahovat tajemství z měření, která obsahují příliš mnoho šumu, než aby mohla být analyzována pomocí jednoduché analýzy výkonu. Pomocí DPA může protivník získat tajné klíče analýzou měření spotřeby energie z více kryptografických operací prováděných zranitelnou čipovou kartou nebo jiným zařízením.
Analýza diferenciálního výkonu vysokého řádu
High-Order Differential Power Analysis ( HO-DPA ) je pokročilá forma útoku DPA. HO-DPA umožňuje do analýzy zahrnout více zdrojů dat a různé časové posuny. HO-DPA se používá méně často než SPA a DPA, protože analýza je složitá a nejzranitelnější zařízení lze snáze rozbít pomocí SPA nebo DPA.
Analýza výkonu a algoritmické zabezpečení
Analýza výkonu poskytuje způsob, jak „nahlédnout dovnitř“, jinak „odolný proti neoprávněné manipulaci“. Například klíčový plán DES zahrnuje rotaci 28bitových registrů klíčů. Mnoho implementací kontroluje nejméně významný bit, aby zjistil, zda je to 1. Pokud ano, zařízení posune registr doprava a předřadí 1 na levém konci. Pokud je bit nula, registr se posune doprava bez přípravy 1. Analýza výkonu může rozlišovat mezi těmito procesy, což umožňuje protivníkovi určit bity tajného klíče.
Implementace algoritmů, jako jsou AES a trojité DES , o nichž se předpokládá, že jsou matematicky silné, mohou být triviálně rozbitné pomocí útoků na analýzu výkonu. Výsledkem je, že útoky na analýzu výkonu kombinují prvky algoritmické kryptoanalýzy a zabezpečení implementace.
Standardy a praktické bezpečnostní problémy
U aplikací, kde zařízení mohou spadnout do fyzického vlastnictví protivníka, je ochrana před analýzou napájení obecně hlavním konstrukčním požadavkem. Údajně byly také použity energetické analýzy proti modulům podmíněného přístupu používaným v systémech placené televize.
Zařízení nezbytné pro provádění útoků na analýzu výkonu je široce dostupné. Například většina digitálních paměťových osciloskopů poskytuje potřebné funkce sběru dat a analýza dat se obvykle provádí pomocí konvenčních počítačů. K dispozici jsou také komerční produkty určené pro testování laboratoří. Open-source projekt ChipWhisperer byl prvním kompletním nástrojovým řetězcem open-source hardwaru a softwaru pro experimenty s analýzou výkonu.
Zabránění útokům jednoduché a diferenciální analýzy výkonu
Zařízení obvykle nemůže detekovat útoky na analýzu výkonu, protože monitorování protivníka je obvykle pasivní. Útok je navíc neinvazivní. Výsledkem je, že fyzické kryty, možnosti auditu a detektory útoku jsou neúčinné. Místo toho musí kryptosystémoví inženýři zajistit, aby variace výkonu zařízení neodhalovaly informace použitelné protivníky.
Jednoduchá analýza výkonu může snadno rozlišit výsledek podmíněných větví při provádění kryptografického softwaru, protože zařízení provádí různé věci (spotřebovává různé síly) v závislosti na tom, zda je podmíněná větev přijata. Z tohoto důvodu je třeba dbát na to, aby neexistovaly žádné tajné hodnoty, které by ovlivňovaly podmíněné větve v implementacích kryptografického softwaru. Jiné zdroje variací, jako jsou rozdíly v mikrokódu, větve zavedené překladači a variace spotřeby energie v multiplikátorech, také běžně vedou k zranitelnostem SPA.
Je obtížnější zabránit diferenciální analýze výkonu, protože i malé odchylky ve spotřebě energie mohou vést k zneužitelným slabinám. Některé strategie protiopatření zahrnují algoritmické úpravy, takže ke kryptografickým operacím dochází na datech, která souvisí se skutečnou hodnotou, pomocí nějakého matematického vztahu, který kryptografickou operaci přežije. Jeden přístup zahrnuje zaslepení parametrů k randomizaci jejich hodnoty. Další protiopatření ke snížení účinnosti útoků DPA zahrnují hardwarové úpravy: změna interní frekvence hodin čipu byla považována za desynchronizaci elektrických signálů, což vedlo k návratu k algoritmickým vylepšením tradičních DPA.
Patenty
V odborné literatuře bylo navrženo mnoho technik k prevenci útoků SPA a DPA. Zatímco systémy veřejného klíče, jako je RSA, jsou obvykle chráněny využitím vlastností podkladových algebraických struktur (v případě RSA by to byla jeho multiplikativně homomorfní vlastnost), symetricky klíčované primitivy jako blockciphery vyžadují různé metody, např. „Maskování“.
Některé společnosti, například RamBus, tvrdí, že duševní vlastnictví je chráněno obrannými mechanismy DPA.
Reference
- ^ P. Kocher, J. Jaffe, B. Jun, Diferenciální analýza výkonu , technická zpráva, 1998; později publikováno v Advances in Cryptology - Crypto 99 Proceedings, Lecture Notes in Computer Science Vol. 1666, M. Wiener, ed., Springer-Verlag, 1999.
- ^ Paul Kocher, Joshua Jaffe, Benjamin Jun, „ Úvod do analýzy diferenciální síly a souvisejících útoků (1998) “
- ^ „Domovská stránka - Cyber-Piracy: The Truth“ . Archivovány od originálu dne 2002-11-13.
- ^ „Platforma pro analýzu pracovních stanic DPA“ . Rambus .
- ^ ChipWhisperer: Platforma s otevřeným zdrojovým kódem pro výzkum vestavěného zabezpečení hardwaru
- ^ Xavier Charvet, Herve Pelletier, „ Zlepšení útoku DPA pomocí vlnkové transformace (2005), archivováno 4. 3. 2016 na Wayback Machine. “
- ^ Jasper van Woudenberg, Marc Witteman, Bram Bakker „ Zlepšení analýzy diferenciální síly pomocí elastického zarovnání (2011) “
- ^ „Licencovaná protiopatření“ . Rambus .