Inom kryptografi är en kraftattack en form av sidokanalsattack där en kryptoanalytiker undersöker strömförbrukningen för en enhet som utför kryptografiska uppgifter (som ett smartkort , manipuleringssäker svart låda, integrerad krets , etc.). Med hjälp av en sådan attack är det möjligt att extrahera kryptonycklar eller annan hemlig information från enheten utan att direkt påverka den.
En enkel attack på strömförbrukningen ( eng. Simple Power Analysis , SPA ) innebär en visuell analys av grafer över enhetens elektriska aktivitet över tid.
Differential Power Analysis ( DPA ) attack är en mer avancerad typ av attack genom vilken en kryptoanalytiker kan beräkna mellanvärden som används i en kryptografisk algoritm genom att statistiskt analysera data som samlats in under beräkningen av flera kryptografiska operationer. SPA och DPA introducerades först 1998 av kryptograferna Paul Kocher , Joshua Jaffe och Benjamin June . [ett]
En enkel strömförbrukningsattack är en sidokanalattack där en visuell analys av beroendet av ström/ström som förbrukas av enheten i tid utförs. Avvikelser i strömförbrukning uppstår när enheten utför olika operationer och sekvenser av åtgärder. Till exempel har olika instruktioner som exekveras av en mikroprocessor olika effekter på energiförbrukningen. I en graf över strömförbrukning kontra tid från ett smartkort som kör DES-algoritmen kan 16 omgångar av kryptering tydligt urskiljas. På liknande sätt kan operationerna för att beräkna kvadraten av ett tal och operationen att multiplicera i implementeringar av RSA-algoritmen separeras visuellt från varandra, vilket öppnar för möjligheten att återställa den hemliga nyckeln. Även om det finns en liten skillnad i strömförbrukning, kan standard digitala oscilloskop visa avvikelser orsakade av skillnader i bearbetad data. Frekvensfilter och medelvärdesfunktioner som finns i moderna oscilloskop används ofta för att filtrera bort högfrekventa komponenter som stör analysen. En av de största nackdelarna med denna attack är dess betydande beroende av både implementeringen av den kryptografiska algoritmen och utrustningen som exekverar den, utan möjlighet att automatisera analysprocessen för det allmänna fallet. [2]
En effektdifferentialattack är en sidokanalattack som utför en statistisk analys av energiförbrukningsmätningarna för ett kryptosystem. Attacken använder data om avvikelser i strömförbrukningen för mikroprocessorn eller annan utrustning som erhålls under utförandet av operationer relaterade till den hemliga nyckeln. Power differential attack involverar signalbehandling och felkorrigering , vilket gör det möjligt att få hemlig information baserad på mätningar som innehåller för mycket brus för en enkel attack. Med differentiell attack kan en kryptoanalytiker härleda hemliga nycklar genom att analysera energiförbrukningsmätningar som gjorts under flera kryptografiska operationer som utförs av enheten som undersöks. Till skillnad från en enkel attack beror en differentiell attack inte så mycket på implementeringen av kryptosystemet och det är möjligt att automatisera attackprocessen för ett brett utbud av enheter.
High -Order Differential Power Analysis ( HO - DPA ) är en mer avancerad version av differentiell attack. High-order differential attack ger möjlighet att använda flera mätkällor och olika tidsförskjutningar i analysen. Denna version av strömförbrukningsattacken används mindre ofta än konventionella differentiella eller enkla attacker, eftersom sådan analys är mycket svårare och de flesta enheter hackas med mindre ansträngning med konventionella differentiella eller enkla attacker. [3]
Power attack ger ett sätt att se inuti en enhet som är resistent mot yttre påverkan. Till exempel, under schemaläggningsfasen, roterar DES-algoritmen 28 - bitars nyckelregister. Många implementeringar kontrollerar den minst signifikanta biten av registret för en "1" där. Om så är fallet, skiftas registret åt höger och en "1" läggs till i slutet av registret. Annars skiftas registret utan att lägga till "1". En strömförbrukningsattack kan skilja mellan dessa processer och öppnar därmed möjligheten att återställa den hemliga nyckeln. Otillräckligt robusta implementeringar av algoritmer som AES eller 3-DES , som anses matematiskt stabila, kan hackas trivialt med hjälp av strömförbrukningsattacker. Sålunda kombinerar energiförbrukningsattacker element av algoritmisk kryptoanalys och implementeringstillförlitlighetsanalys.
Hårdvaran som krävs för en strömförbrukningsattack är allmänt tillgänglig. Till exempel har de flesta digitala oscilloskop den funktionalitet som krävs för att ta emot data för bearbetning, och själva data bearbetas vanligtvis på persondatorer. Kommersiella produkter designade för testlabb finns också tillgängliga. [4] Trots att moderna mikroprocessorer arbetar vid frekvenser i storleksordningen 3 GHz räcker det i vissa situationer med mätinstrument med en samplingsfrekvens i storleksordningen tiotals kHz för framgångsrik analys. [5] Signalkällan för strömförbrukningen kan vara antingen strömmen i energiöverföringskanalen från strömkällan till enheten (till exempel i en nätsladd), eller spänningen på höljets yta, spänningen på olika gränssnitt ( USB , nätverksingång, VGA och etc.) och till och med elektromagnetisk strålning .
För områden där kryptografiska enheter kan falla i händerna på en kryptoanalytiker är motstånd mot strömförbrukningsattacker ett av de viktigaste systemkraven. En strömförbrukningsattack kan i allmänhet inte upptäckas av en kryptografisk enhet, eftersom kryptoanalytikern vanligtvis uppträder passivt. Utöver detta påverkar inte sådana attacker systemet direkt. Som ett resultat är attackdetektering ineffektiv. Istället måste designers av kryptosystem se till att fluktuationerna i strömförbrukningen och de processer som sker i systemet är oberoende. En enkel strömförbrukningsattack kan fritt urskilja resultatet av en villkorad grenoperation, eftersom enheten gör olika saker (och därför förbrukar olika ström) beroende på grenens riktning. Därför måste det säkerställas att hemliga värden inte deltar i att bestämma riktningen för villkorliga hopp i implementeringen av algoritmen. Andra källor till effektvarians, såsom skillnader i mikrokod, kompilatorgenererade hopp, olika strömförbrukning vid multiplikationsoperationer, leder också ofta till sårbarheter för en enkel strömförbrukningsattack. En effektdifferensattack är svårare att förhindra, eftersom även små fluktuationer i strömförbrukningen kan leda till en sårbarhet. Vissa motåtgärdsstrategier använder algoritmmodifieringar så att kryptografiska operationer utförs på data associerade med verkliga värden genom någon matematisk transformation som bevaras när den kryptografiska operationen utförs. Ett tillvägagångssätt innebär att blanda parametrar för att införa slumpmässighet i deras värden. Andra strategier innebär hårdvarumodifiering: ändring av mikroprocessorns frekvens används som ett mått på desynkroniseringen av elektriska signaler, vilket i sin tur har lett till en förbättring av den klassiska effektdifferentiella attackalgoritmen. [6] [7]