Útok na boční kanál

Útok na kanály třetích stran (neboli boční) ( anglicky  side-channel attack ) je třída útoků zaměřených na zranitelnosti v praktické implementaci kryptosystému . Na rozdíl od teoretické kryptoanalýzy využívá útok postranním kanálem informace o fyzických procesech v zařízení, které nejsou brány v úvahu v teoretickém popisu kryptografického algoritmu. Ačkoli byly takové útoky dobře známé již v 80. letech 20. století , rozšířily se po zveřejnění výsledků Paulem Kocherem v roce 1996 [1] .

Úvod

Na kryptografické primitivum [2] lze nahlížet ze dvou různých úhlů pohledu: na jedné straně je to abstraktní matematický objekt ( algoritmus , případně parametrizovaný klíčem , který převádí nějaký vstupní text na text výstupní); na druhou stranu toto primitivum musí být nakonec implementováno v programu spouštějícím se na určitém procesoru , na určitém hardwaru, takže bude mít určitá specifika vlastní této konkrétní implementaci.

„Klasická“ kryptoanalýza zvažuje kryptografická primitiva z prvního hlediska. Druhý přístup se používá v kryptoanalýze postranních kanálů. Mezi parametry specifické pro konkrétní implementaci se obvykle používá doba provozu, spotřeba energie , elektromagnetické záření , zvuky vydávané zařízením a další. Útoky postranním kanálem mají menší obecnost než tradiční útoky založené na matematické analýze kryptografického algoritmu , ale zároveň jsou výrazně efektivnější. V současnosti většina úspěšných útoků prováděných v praxi využívá slabiny v implementaci a nasazení mechanismů kryptografických algoritmů. [3]

Klasifikace útoků

Útoky postranním kanálem jsou v literatuře obvykle klasifikovány podle následujících nezávislých kritérií [4] :

Kontrola nad výpočetním procesem

V závislosti na stupni dopadu na výpočetní proces lze útoky rozdělit na:

Jak se dostat do systému

V závislosti na úrovni přístupu [5] k hardwarovému modulu lze rozlišit tři třídy útoků [6] :

Nutno podotknout, že zařízení bývají vybavena ochrannými mechanismy, které chrání před průnikem (agresivními útoky) [8] . Neagresivní útoky je téměř nemožné si všimnout a zabránit jim. Neagresivní útoky jsou také ekonomicky výhodnější: rozsáhlé útoky nevyžadují téměř žádné zvýšení nákladů na hardware. [7]

Použitá metoda analýzy

V závislosti na metodách použitých k analýze přijatých informací lze útoky postranním kanálem rozdělit na [4] :

Známé typy útoků

Testovací útok

Zkoušející útok je  agresivní pasivní jednoduchý útok. Pro získání informace se přístroj otevře, deska s plošnými spoji se prohlédne pomocí optického mikroskopu a na vodiče, po kterých jdou signály, se nainstalují sondy, případně se pomocí mikroskopu vyšetří stav paměťových buněk [11] [12] [10 ] . Proces je zjednodušen při použití nastavení sondování, které zahrnuje mikroskopy a mikromanipulátory pro instalaci sond na povrch čipu. Taková nastavení se používají v polovodičovém průmyslu k testování vzorků produktů; cena na sekundárním trhu je[ kdy? ] asi 10 tisíc dolarů [11] . Aby bylo pozorování snazší, kryptoanalytik obvykle zpomalí takt zařízení [13] .

Time Attacks

Timing attack je první ze známých útoků na postranní kanály, které navrhl Paul  Kocher v roce 1996 [14] a uvedl do praxe proti algoritmu RSA v roce 1998 [15] . Útok je založen na předpokladu, že se na zařízení v různých časech provádějí různé operace v závislosti na daných vstupních datech. Měřením doby výpočtu a prováděním statistické analýzy dat lze tedy získat úplné informace o tajném klíči .

Přidělte stupeň náchylnosti algoritmů tomuto typu útoku [16] :

Jednou z odrůd časových útoků jsou také útoky založené na cache . Tento typ útoku je založen na měření času a frekvence výpadků mezipaměti procesoru a je zaměřen na softwarové implementace šifer [17] .  

Časové útoky lze použít i na dálku. Známé jsou například síťové útoky na servery využívající OpenSSL [18] .

Z běžných algoritmů podléhají časovému útoku DES , AES [19] , IDEA , RC5 [14] .

Útoky na chyby při výpočtu

Calculation error attack ( anglicky  fault–induction attack ) je aktivní útok. Hlavní myšlenkou je implementace různých vlivů na kodér za účelem zkreslení informací v některých fázích šifrování. Kontrolou těchto zkreslení a porovnáním výsledků v různých fázích zařízení může kryptoanalytik získat tajný klíč. Studium útoků na základě výpočetních chyb se obvykle dělí do dvou větví: jedna studuje teoretické možnosti implementace různých chyb při provádění algoritmu , druhá zkoumá způsoby ovlivnění implementace těchto chyb v konkrétních zařízeních.

Metody ovlivnění

Nejběžnější způsoby expozice [20] :

Typy chyb

Výpočetní chybové útoky lze klasifikovat podle typu přijaté chyby [20] :

  • Opravené nebo proměnné chyby. Trvalé chyby ovlivňují celou dobu provádění algoritmu, jako je fixace hodnoty v paměti nebo změna cesty signálu . Variabilní chyby se projeví pouze v určitých fázích práce.
  • Kde k chybě došlo: místní chyba, jako je změna umístění v paměti, nebo chyba na libovolném místě v zařízení, jako je útok elektromagnetickým polem.
  • Doba dopadu: Některé útoky vyžadují, aby byl dopad aplikován v přesně definovaném čase, jako jsou změny hodin, zatímco jiné umožňují provést útok v širším rozsahu provozní doby.
  • Typ chyby: změna hodnoty bitu , nastavení pevné hodnoty, změna hodnoty skupiny bitů jako celku, změna toku provádění příkazu a další.
Příklady útoků na výpočetní chyby

Útoky založené na chybách výpočtu byly studovány od roku 1996 [23] a od té doby se ukázalo, že téměř všechny algoritmy jsou pomocí tohoto typu útoku hacknutelné. Mezi známé algoritmy patří:

Útoky na spotřebu energie (spotřeba energie)

Útok spotřeby energie nebo útok analýzy napájení je  pasivní útok navržený Paulem Kocherem v roce 1999 [27] . Podstatou tohoto útoku je, že kryptoanalytik během činnosti kodéru měří spotřebu energie zařízení s vysokou přesností a získává tak informace o operacích prováděných v zařízení a jejich parametrech. Vzhledem k tomu, že zařízení je obvykle napájeno externími zdroji , je takový útok velmi snadno realizovatelný: stačí zapojit rezistor do série v napájecím obvodu a přesně změřit proud , který jím prochází. Dalším způsobem je měření změn napětí na výstupech zařízení během procesu šifrování [28] .

Útoky na spotřebu energie jsou vysoce efektivní z hlediska nákladů na kryptoanalýzu. Například jednoduchý útok na spotřebu energie ( jednoduchá  analýza spotřeby ) na čipové kartě je proveditelný během několika sekund a některé varianty útoků na rozdílnou spotřebu energie ( rozdílová  analýza spotřeby ) umožňují získat tajný klíč za pouhých 15 měření [27 ] .

Útoky elektromagnetického záření

Útok elektromagnetické analýzy je pasivní útok .  Elektronická šifrovací zařízení při své činnosti vyzařují elektromagnetické záření . Přiřazením určitých spektrálních složek tohoto záření k operacím prováděným v zařízení je možné získat dostatek informací pro určení tajného klíče nebo samotné zpracovávané informace.

Příkladem tohoto typu útoku je zachycení van Eycka z roku 1986 . Následně byly útoky elektromagnetického záření aplikovány na různé šifry, jako například:

Akustické útoky

Akustický útok ( angl.akustický  útok ) - pasivní útok zaměřený na získávání informací ze zvuků produkovaných zařízením. Historicky byl tento typ útoku spojován s odposlechem tiskáren a klávesnic [34] , ale v posledních letech byly nalezeny zranitelnosti, které umožňují použití akustických útoků zaměřených na vnitřní součásti elektronických kodérů [35] .

Viditelné radiační útoky

Útok viditelným světlem je  pasivní útok navržený Markusem Kuhnem v roce 2002 [36] . Ve své práci ukázal, že pomocí vysoce přesného senzoru intenzity světla je možné měřit změny v intenzitě světla rozptýleného od monitoru a tím obnovit obraz na obrazovce [37] . Tento typ útoku lze také aplikovat na kodéry, které používají LED indikátory , a to analýzou dat, ze kterých lze získat informace o operacích v zařízení [38] .

Protiopatření

Metody boje proti útokům postranním kanálem závisí na konkrétní implementaci algoritmu a požadovaném stupni zabezpečení zařízení. Existují oficiální standardy pro zabezpečení kryptografických zařízení, jako jsou TEMPEST a FIPS . V literatuře o útocích postranním kanálem jsou identifikována následující obecná protiopatření [39] :

Stínění

Dostatečně silné fyzické stínění zařízení umožňuje eliminovat téměř všechny vedlejší kanály úniku informací. Nevýhodou stínění je značné navýšení ceny a velikosti zařízení.

Přidání šumu

Přidání šumu značně komplikuje úkol kryptoanalytika. Šum snižuje procento užitečných informací ve vedlejším kanálu, což je z hlediska nákladů nepraktické nebo dokonce nemožné. Šum lze přidat jak v softwaru (zavedením náhodných výpočtů), tak v hardwaru (instalace různých generátorů šumu ).

Vyrovnání doby provádění operací

Aby kryptoanalytik nemohl provést útok za běhu, musí být všechny kroky šifrování v zařízení dokončeny ve stejnou dobu. Toho lze dosáhnout následujícími způsoby:

  • Přidání pevného zpoždění. Pokud je známa konečná hardwarová platforma , je možné vypočítat dobu provádění každé operace a vyrovnat je přidáním pevných zpoždění.
  • Provádění více operací současně. Pokud v určitém okamžiku provádění algoritmu musí být provedeno násobení nebo kvadratura , musí být provedeny obě operace a nepotřebný výsledek je zahozen.

Zjevnou nevýhodou takových řešení je zpomalení zařízení. Taková opatření také nepomáhají proti dynamickým zpožděním, jako je například vynechání mezipaměti .

Energetická bilance

Kdykoli je to možné, měly by být do provozu zapojeny všechny hardwarové části zařízení (například registry nebo brány ) , na nepoužitých částech by měly být prováděny falešné výpočty. Tímto způsobem můžete dosáhnout konstantní spotřeby energie zařízení a chránit se před útoky na spotřebu energie.

Eliminovat podmíněné skoky

Před mnoha útoky na postranní kanály se můžete chránit tím, že v algoritmu odstraníte operace podmíněného skoku , které závisí na vstupních datech nebo tajném klíči . V ideálním případě by algoritmus neměl v závislosti na vstupních datech nebo klíči vůbec obsahovat operátory větví a všechny výpočty by měly být prováděny pomocí elementárních bitových operací .

Nezávislost výpočtu na datech

Pokud výpočty nejsou explicitně závislé na vstupních datech nebo tajném klíči, pak je kryptoanalytik také nebude schopen získat z informací na vedlejším kanálu. Toho lze dosáhnout několika způsoby:

  • Maskování je  metoda, při které se na vstupní data aplikuje určitá maska, provádějí se výpočty a maska ​​se inverzně koriguje . Při útoku prostřednictvím kanálů třetích stran tedy kryptoanalytik obdrží nějakou mezihodnotu, která neodhalí vstupní data.
  • Blind computing je přístup v kryptografii  , ve kterém zařízení poskytuje funkci šifrování, aniž by znalo aktuální vstupní a výstupní data. Poprvé byl takový přístup aplikován na algoritmus RSA a je založen na vlastnosti homomorfismu šifrovací funkce [40] .

Poznámky

  1. Kocher, Paul. Načasování útoků na implementace Diffie-Hellman, RSA, DSS a dalších systémů  //  Advances in Cryptology—CRYPTO'96: journal. - 1996. - Sv. 1109 . - str. 104-113 . - doi : 10.1007/3-540-68697-5_9 .
  2. Co je to kryptografické primitivum? . Kryptografie: Obecné otázky (7. října 2010). - "Zdrojem primitiv jsou těžko řešitelné matematické problémy (např. úloha diskrétního logaritmu může sloužit jako základ jednosměrné funkce) a speciálně vytvořené konstrukce (blokové šifry, hašovací funkce)." Získáno 27. listopadu 2011. Archivováno z originálu 13. května 2012.
  3. YongBin Zhou, DengGuo Feng, 2006 , str. 3.
  4. 1 2 YongBin Zhou, DengGuo Feng, 2006 , str. 8-9.
  5. Toto je fyzická, elektrická nebo logická úroveň rozhraní , která má kryptoanalytik k dispozici.
  6. Anderson R., Bond M., Clulow J., Skorobogatov, S. Cryptographic processors – a survey  (anglicky)  // Proceedings of the IEEE : journal. - 2006. - Sv. 94 , iss. 2 . - str. 357-369 . — ISSN 0018-9219 . - doi : 10.1109/JPROC.2005.862423 . Archivováno z originálu 4. března 2016.
  7. 1 2 3 S. Skorobogatov, R. Anderson. Optical Fault Induction Attacks  (angl.)  // CHES: journal. - Velká Británie, 2003. - S. 2-12 . — ISBN 3-540-00409-2 . - doi : 10.1109/JPROC.2005.862423 .
  8. Laboratoř informačních technologií. Bezpečnostní požadavky na kryptografické moduly  (anglicky) (pdf). Publikace Federal Information Processing Standards Publication . Národní institut pro standardy a technologie (25. května 2001). Získáno 18. listopadu 2011. Archivováno z originálu 20. května 2012.
  9. Le, T.H.; Clediere, J.; Serviere, C.; Lacome, JL;. Redukce šumu při útoku postranním kanálem pomocí kumulantu čtvrtého řádu  //  Informační forenzní a bezpečnost, IEEE Trans on: kolekce. - 2007. - Sv. 2 , iss. 4 . - str. 710-720 . — ISSN 1556-6013 . - doi : 10.1109/TIFS.2007.910252 .
  10. Používají se elektronové a iontové mikroskopy
  11. 1 2 O. Kömmerling, MG Kuhn. Principy návrhu procesorů čipových karet odolných proti neoprávněné manipulaci  //  Sborník z workshopu USENIX o technologii čipových karet: kolekce. - 1999. - S. 9-20 .
  12. Dr. Sergej Skorobogatov. Útoky postranním kanálem: nové směry a  obzory . Návrh a bezpečnost kryptografických algoritmů a zařízení (ECRYPT II) (3. června 2011). Získáno 18. listopadu 2011. Archivováno z originálu 20. května 2012.
  13. Ross Anderson. Bezpečnostní inženýrství: průvodce budováním spolehlivých distribuovaných systémů . - New York: John Wiley & Sons, 2001. - S. 291-297. — 591 s. — ISBN 0470068523 .
  14. 1 2 Paul C. Kocher. Načasování útoků na implementace systémů Diffie-Hellmann, RSA, DSS a dalších  //  Pokroky v kryptologii - CRYPTO '96: kolekce. - Springer, 1996. - Sv. 1109 . - str. 104-113 .
  15. J.-F. Dhem, F. Koeune, P.-A. Leroux, P. Mestre, J.-J. Quisquater, J.-L. Willems. Praktická implementace časového útoku  (anglicky)  // Proceedings of the International Conference on Smart Card Research and Applications: collection. - Londýn, Spojené království: Springer-Verlag, 1998. - S. 167-182 . — ISBN 3-540-67923-5 .
  16. James Nechvatal, Elaine Barker Lawrence Bassham, Morris Dworkin, James Foti a Edward Roback. Zpráva o vývoji standardu pokročilého šifrování (AES)  //  Journal of Research of the National Institute of Standards and Technology : journal. - 2001. - Iss. 106 , č. 3 . - doi : 10.1.1.106.2169 .
  17. Yukiyasu Tsunoo, Teruo Saito, Tomoyasu Suzaki, Maki Shigeri. Kryptoanalýza DES implementovaná na počítačích s mezipamětí   // Proc . z CHES 2003, Springer LNCS: kompilace. - Springer-Verlag, 2003. - S. 62-76 . - doi : 10.1.1.135.1221 .
  18. David Brumley a Dan Boneh. Vzdálené načasování útoků je praktické  //  Sborník příspěvků z 12. konference o USENIX Security Symposium: kompilace. - 2003. - Sv. 12 .
  19. Werner Schindler, François Koeune, Jean-Jacques Quisquater. Zlepšení útoků na kryptosystémy typu Rozděl a panuj pomocí lepších strategií detekce/opravy chyb   // Proc . 8. mezinárodní konference IMA o kryptografii a kódování: sborník. - 2001. - S. 245-267 . - doi : 10.1.1.13.5175 . Archivováno z originálu 18. ledna 2006.
  20. 1 2 Jean-Jacques Quisquater, Francois Koeune. Útoky na boční kanál. Nejmodernější  (anglicky) str. 12-13 (říjen 2010). Získáno 24. listopadu 2011. Archivováno z originálu 9. května 2012.
  21. Barenghi, A.; Bertoni, G.; Parrinello, E.; Pelosi, G. Low Voltage Fault Attacks on the RSA Cryptosystem  //  Workshop on Fault Diagnosis and Tolerance in Cryptography: a collection. - 2009. - S. 23-31 . — ISBN 978-1-4244-4972-9 . - doi : 10.1109/FDTC.2009.30 .
  22. 1 2 Johannes Blömer, Jean-Pierre Seifert. Fault Based Cryptanalysis of the Advanced Encryption Standard (AES)  (anglicky)  // Financial Cryptography : journal. - 2003. - Sv. 2742 . - S. 162-181 . - doi : 10.1007/978-3-540-45126-6_12 . Archivováno z originálu 17. července 2014.
  23. 1 2 D. Boneh, R. A. DeMillo a R. J. Lipton. O důležitosti kontroly chyb v kryptografických protokolech  //  Pokroky v kryptologii - EUROCRYPT '97: kolekce. - Springer, 1997. - Sv. 1233 . - str. 37-51 . - doi : 10.1.1.48.9764 .
  24. Marc Joye, Arjen K. Lenstra a Jean-Jacques Quisquater. Čínské kryptosystémy založené na zbytku deringu v přítomnosti chyb  (anglicky)  // Journal of Cryptology: journal. - 1999. - Ne. 4 . - str. 241-245 . - doi : 10.1.1.55.5491 . Archivováno z originálu 10. září 2003.
  25. Eli Biham a Adi Shamir. Differential Fault Analysis of Secret Key Cryptosystems (anglicky)  // Proceedings of the 17th Annual International Cryptology Conference on Advances in Cryptology (CRYPTO '97): collection. - Springer-Verlag, 1997. - Sv. 1294 . - str. 513-525 . - doi : 10.1.1.140.2571 . Archivováno z originálu 10. srpna 2014.  
  26. I. Biehl, B. Meyer a V. Muller. Diferenciální chybové útoky na kryptosystémy s eliptickými křivkami  (anglicky)  // Advances in Cryptology - CRYPTO 2000: collection. - Springer-Verlag, 2000. - Sv. 1880 . - S. 131-146 . - doi : 10.1.1.107.3920 .
  27. 1 2 Paul Kocher, Joshua Jaffe, Benjamin Jun. Diferenciální analýza výkonu  (anglicky)  // Proc. of Advances in Cryptology (CRYPTO '99), LNCS: kompendium. - 1999. - Sv. 1666 . - str. 388-397 . - doi : 10.1.1.40.1788 .
  28. Adi Shamir. Pohled shora na útoky na boční kanál  (anglicky) (pdf) str. 24-27 (2011). — Prezentace obsahující příklad útoku změny napětí portu USB . Získáno 23. listopadu 2011. Archivováno z originálu dne 20. května 2012.
  29. Jean-Jacques Quisquater a David Samyde. Elektromagnetická analýza (EMA): Opatření a protiopatření pro čipové karty  (anglicky)  // E-SMART '01 Sborník příspěvků z mezinárodní konference o výzkumu čipových karet: programování a zabezpečení čipových karet: sborník. - Springer-Verlag, 2001. - Sv. 2140 . - str. 200-210 . - doi : 10.1007/3-540-45418-7_17 .  (nedostupný odkaz)
  30. Karine Gandolfi, D. Naccache, C. Paar, Karine G., Christophe Mourtel, Francis Olivier. Electromagnetic Analysis: Concrete Results  (anglicky)  // Proceedings of the Third International Workshop on Cryptographic Hardware and Embedded Systems : a collection. - Springer-Verlag, 2001. - S. 251-261 . — ISBN 3-540-42521-7 .
  31. Vincent Carlier, Hervé Chabanne, Emmanuelle Dottax, Hervé Pelletier, Sagem Sa. Electromagnetic Side Channels of an FPGA Implementation of AES  (anglicky)  // Computer as a Tool, 2005. EUROCON 2005: collection. — 2005.
  32. E. De Mulder, P. Buysschaert, S. B. Örs, P. Delmotte, B. Preneel, I. Verbauwhede. Electromagnetic Analysis Attack on a FPGA Implementation of a Elliptic Curve Cryptosystem  (anglicky)  // EUROCON: Proceedings of the International Conference on „Computer as a tool: collection. - 2005. - S. 1879-1882 . - doi : 10.1109/EURCON.2005.1630348 . Archivováno z originálu 4. března 2016.
  33. Pierre-alain Fouque, Gaëtan Leurent, Denis Real, Frédéric Valette. Praktický útok elektromagnetické šablony na HMAC (eng.)  // Kryptografický hardware a vestavěné systémy - CHES 2009: kolekce. - 2009. - S. 66-80 . - doi : 10.1.1.156.4969 . Archivováno z originálu 12. června 2011.  
  34. Li Zhuang, Feng Zhou a JD Tygar. Klávesové akustické emanace revisited  (angl.)  // Sborník příspěvků z 12. konference ACM o bezpečnosti počítačů a komunikací: sborník. - 2005. - S. 373-382 . - doi : 10.1145/1102120.1102169 .
  35. Adi Shamir, Eran Tromer. Akustická kryptoanalýza: Na zvědavých lidech a hlučných strojích  (anglicky) (2011). — Předběžný popis koncepce. Získáno 25. listopadu 2011. Archivováno z originálu 20. května 2012.
  36. Kuhn, MG Rizika optického odposlechu CRT displejů v časové doméně  //  Security and Privacy, 2002. Proceedings. 2002 IEEE Symposium na: Compendium. - 2002. - S. 3-18 . - doi : 10.1109/SECPRI.2002.1004358 .
  37. Markus Kuhn. Zabezpečení optických emisí – často kladené otázky  (anglicky) (2002). Získáno 23. listopadu 2011. Archivováno z originálu dne 20. května 2012.
  38. Joe Loughry a David A. Umphress. Information Leakage from Optical Emanations  (anglicky)  // ACM Transactions on Information and System Security: journal. - 2002. - Sv. 5 , iss. 3 . - str. 262-289 . - doi : 10.1145/545186.545189 .
  39. YongBin Zhou, DengGuo Feng, 2006 , str. 22-24.
  40. Goldwasser S. a Bellare M. Přednáška poznámky o kryptografii  . Letní kurz kryptografie, MIT (1996-2001). Získáno 27. listopadu 2011. Archivováno z originálu 20. května 2012.

Literatura

Odkazy

  • Databáze  útoků postranního kanálu . — databáze publikací věnovaných útokům prostřednictvím kanálů třetích stran. Získáno 27. listopadu 2011. Archivováno z originálu 9. května 2012.
  •  Federal Information Processing Standards Publications . — informace o standardech FIPS. Získáno 27. listopadu 2011. Archivováno z originálu 9. května 2012.