I kryptografi er et strømangreb en form for sidekanalangreb , hvor en kryptoanalytiker undersøger strømforbruget af en enhed, der udfører kryptografiske opgaver (såsom et smart card , manipulationssikker sort boks, integreret kredsløb osv.). Ved hjælp af et sådant angreb er det muligt at udtrække kryptografiske nøgler eller anden hemmelig information fra enheden uden at påvirke den direkte.
Et simpelt angreb på strømforbruget ( eng. Simple Power Analysis , SPA ) indebærer en visuel analyse af grafer over enhedens elektriske aktivitet over tid.
Differential Power Analysis ( DPA ) angreb er en mere avanceret type angreb, hvorved en kryptoanalytiker er i stand til at beregne mellemværdier brugt i en kryptografisk algoritme ved statistisk at analysere de data, der er indsamlet under beregningen af flere kryptografiske operationer. SPA og DPA blev først introduceret i 1998 af kryptograferne Paul Kocher , Joshua Jaffe og Benjamin June . [en]
Et simpelt strømforbrugsangreb er et sidekanalangreb, hvor der udføres en visuel analyse af afhængigheden af den strøm/strøm, der forbruges af enheden til tiden. Afvigelser i strømforbruget opstår, når enheden udfører forskellige operationer og sekvenser af handlinger. For eksempel har forskellige instruktioner, der udføres af en mikroprocessor, forskellige effekter på strømforbruget. I en graf over strømforbrug versus tid taget fra et smartkort, der kører DES-algoritmen , kan der således tydeligt skelnes mellem 16 runder af kryptering. På samme måde kan operationerne med at beregne kvadratet af et tal og operationen med at multiplicere i implementeringer af RSA-algoritmen adskilles visuelt fra hinanden, hvilket åbner muligheden for at genskabe den hemmelige nøgle. Selvom der er en lille forskel i strømforbruget, er standard digitale oscilloskoper i stand til at vise afvigelser forårsaget af forskelle i behandlede data. Frekvensfiltrene og gennemsnitsfunktionerne, der er tilgængelige i moderne oscilloskoper, bruges ofte til at bortfiltrere højfrekvente komponenter, der forstyrrer analysen. En af de største ulemper ved dette angreb er dets betydelige afhængighed af både implementeringen af den kryptografiske algoritme og det udstyr, der udfører det, uden mulighed for at automatisere analyseprocessen for den generelle sag. [2]
Et effektdifferentialangreb er et sidekanalangreb, der udfører en statistisk analyse af strømforbrugsmålingerne for et kryptosystem. Angrebet bruger data om afvigelser i strømforbruget for mikroprocessoren eller andet udstyr opnået under udførelsen af operationer relateret til den hemmelige nøgle. Effektdifferentialangreb involverer signalbehandling og fejlkorrektion , hvilket gør det muligt at opnå hemmelig information baseret på målinger, der indeholder for meget støj til et simpelt angreb. Med differentielt angreb er en kryptoanalytiker i stand til at udlede hemmelige nøgler ved at analysere strømforbrugsmålinger foretaget under flere kryptografiske operationer udført af den enhed, der undersøges. I modsætning til et simpelt angreb afhænger et differentielt angreb ikke så meget af implementeringen af kryptosystemet, og det er muligt at automatisere angrebsprocessen for en bred vifte af enheder.
High -Order Differential Power Analysis ( HO - DPA ) er en mere avanceret version af differentielt angreb. Højordens differentialangreb giver mulighed for at bruge flere målekilder og forskellige tidsforskydninger i analysen. Denne version af strømforbrugsangrebet bruges sjældnere end konventionelle differentielle eller simple angreb, da en sådan analyse er meget vanskeligere, og de fleste enheder hackes med mindre indsats ved hjælp af konventionelle differentielle eller simple angreb. [3]
Power attack giver en måde at se ind i en enhed, der er modstandsdygtig over for ydre påvirkninger. For eksempel, under planlægningsfasen roterer DES-algoritmen 28 - bit nøgleregistre. Mange implementeringer tjekker den mindst signifikante del af registeret for et "1" der. Hvis det er tilfældet, flyttes registret til højre, og et "1" tilføjes til slutningen af registret. Ellers forskydes registret uden tilføjelse af "1". Et strømforbrugsangreb er i stand til at skelne mellem disse processer og åbner dermed muligheden for at genskabe den hemmelige nøgle. Utilstrækkeligt robuste implementeringer af algoritmer som AES eller 3-DES , som anses for matematisk stabile, kan hackes trivielt ved hjælp af strømforbrugsangreb. Således kombinerer strømforbrugsangreb elementer af algoritmisk kryptoanalyse og implementeringspålidelighedsanalyse.
Den hardware, der kræves til et strømforbrugsangreb, er bredt tilgængelig. For eksempel har de fleste digitale oscilloskoper den funktionalitet, der er nødvendig for at modtage data til behandling, og selve dataene behandles normalt på personlige computere. Kommercielle produkter designet til testlaboratorier er også tilgængelige. [4] På trods af det faktum, at moderne mikroprocessorer opererer ved frekvenser i størrelsesordenen 3 GHz , er måleinstrumenter med en samplingsfrekvens i størrelsesordenen titusvis af kHz i nogle situationer tilstrækkelige til en vellykket analyse. [5] Signalkilden for strømforbrug kan enten være strømmen i energioverførselskanalen fra strømkilden til enheden (f.eks. i en strømledning), eller spændingen på kabinetoverfladen, spændingen på forskellige grænseflader ( USB , netværksinput, VGA osv.) og endda elektromagnetisk stråling .
For områder, hvor kryptografiske enheder kan falde i hænderne på en kryptoanalytiker, er modstand mod strømforbrugsangreb et af de vigtigste systemkrav. Et strømforbrugsangreb kan generelt ikke detekteres af en kryptografisk enhed, da kryptoanalytikeren normalt opfører sig passivt. Ud over dette påvirker sådanne angreb ikke systemet direkte. Som et resultat er angrebsdetektion ineffektiv. I stedet skal designere af kryptosystem sikre, at udsvingene i strømforbruget og de processer, der forekommer i systemet, er uafhængige. Et simpelt strømforbrugsangreb er i stand til frit at skelne resultatet af en betinget grenoperation, da enheden gør forskellige ting (og derfor bruger forskellig strøm) afhængigt af grenens retning. Derfor skal det sikres, at hemmelige værdier ikke deltager i at bestemme retningen af betingede spring i implementeringen af algoritmen. Andre kilder til strømvarians, såsom forskelle i mikrokode, compiler-genererede spring, forskelligt strømforbrug i multiplikationsoperationer, fører også ofte til sårbarheder til et simpelt strømforbrugsangreb. Et effektdifferentialangreb er sværere at forhindre, da selv små udsving i strømforbruget kan føre til en sårbarhed. Nogle modforanstaltningsstrategier bruger algoritmemodifikationer, således at kryptografiske operationer udføres på data forbundet med reelle værdier gennem en matematisk transformation, der bevares, når den kryptografiske operation udføres. En tilgang involverer blanding af parametre for at indføre tilfældighed i deres værdier. Andre strategier indebærer hardwaremodifikation: ændring af mikroprocessorens frekvens bruges som et mål for desynkronisering af elektriske signaler, hvilket igen har ført til en forbedring af den klassiske effektdifferentialangrebsalgoritme. [6] [7]