Atacul asupra consumului de energie

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 26 iulie 2015; verificările necesită 7 modificări .

În criptografie , un atac de putere este o formă de atac pe canal lateral în care un criptoanalist examinează consumul de energie al unui dispozitiv care efectuează sarcini criptografice (cum ar fi un smart card , o cutie neagră rezistentă la manipulare, un circuit integrat etc.). Cu ajutorul unui astfel de atac, este posibil să extragi chei criptografice sau alte informații secrete din dispozitiv fără a-l afecta direct.

Un simplu atac asupra consumului de energie ( ing.  Simple Power Analysis , SPA ) presupune o analiză vizuală a graficelor activității electrice a dispozitivului în timp.

Atacul de analiză a puterii diferențiale ( DPA ) este un  tip mai avansat de atac prin care un criptoanalist este capabil să calculeze valori intermediare utilizate într-un algoritm criptografic prin analiza statistică a datelor colectate în timpul calculului mai multor operațiuni criptografice. SPA și DPA au fost introduse pentru prima dată în 1998 de către criptografii Paul Kocher , Joshua Jaffe și Benjamin June . [unu]

Tipuri de atacuri

Un simplu atac de consum de energie

Un simplu atac de consum de energie este un atac pe canal lateral în care se efectuează o analiză vizuală a dependenței curentului/puterii consumate de dispozitiv la timp. Abaterile în consumul de energie apar atunci când dispozitivul efectuează diferite operații și secvențe de acțiuni. De exemplu, instrucțiuni diferite executate de un microprocesor au efecte diferite asupra consumului de energie. Astfel, într-un grafic al consumului de energie în funcție de timp luat de pe un card inteligent care rulează algoritmul DES , pot fi distinse clar 16 runde de criptare. În mod similar, operațiunile de calcul al pătratului unui număr și operația de înmulțire în implementările algoritmului RSA pot fi separate vizual unele de altele, ceea ce deschide posibilitatea recuperării cheii secrete. Chiar dacă există o mică diferență în consumul de energie, osciloscoapele digitale standard sunt capabile să afișeze abaterile cauzate de diferențele dintre datele procesate. Filtrele de frecvență și funcțiile de mediere care sunt disponibile în osciloscoapele moderne sunt adesea folosite pentru a filtra componentele de înaltă frecvență care interferează cu analiza. Unul dintre principalele dezavantaje ale acestui atac este dependența sa semnificativă atât de implementarea algoritmului criptografic, cât și de echipamentul care îl execută, fără posibilitatea de automatizare a procesului de analiză pentru cazul general. [2]

Atacul diferenţial de putere

Un atac diferențial de putere este un atac pe canal lateral care realizează o analiză statistică a măsurătorilor consumului de energie al unui criptosistem. Atacul folosește date privind abaterile în consumul de energie al microprocesorului sau al altor echipamente obținute în timpul executării operațiunilor legate de cheia secretă. Atacul diferențial de putere implică procesarea semnalului și corectarea erorilor , ceea ce face posibilă obținerea de informații secrete bazate pe măsurători care conțin prea mult zgomot pentru un atac simplu. Cu un atac diferențial, un criptoanalist este capabil să deducă chei secrete analizând măsurătorile consumului de energie efectuate în timpul mai multor operațiuni criptografice efectuate de dispozitivul investigat. Spre deosebire de un atac simplu, un atac diferențial nu depinde atât de mult de implementarea criptosistemului și este posibilă automatizarea procesului de atac pentru o gamă largă de dispozitive.

Atacul diferențial de putere de ordin înalt

Analiza de putere diferențială de ordin înalt ( HO - DPA ) este o versiune mai avansată a atacului diferențial. Atacul diferențial de ordin înalt oferă posibilitatea de a utiliza mai multe surse de măsurători și diferite decalări de timp în analiză. Această versiune a atacului de consum de energie este folosită mai rar decât atacurile diferențiale convenționale sau simple, deoarece o astfel de analiză este mult mai dificilă, iar majoritatea dispozitivelor sunt sparte cu mai puțin efort folosind atacuri diferențiale sau simple convenționale. [3]

Reziliența algoritmului la atac

Atacul de putere oferă o modalitate de a privi în interiorul unui dispozitiv care este rezistent la influențele externe. De exemplu, în timpul fazei de programare, algoritmul DES rotește registrele cheilor de 28 de biți. Multe implementări verifică bitul cel mai puțin semnificativ din registru pentru un „1” acolo. Dacă da, atunci registrul este deplasat la dreapta și se adaugă un „1” la sfârșitul registrului. În caz contrar, registrul este deplasat fără a adăuga „1”. Un atac de consum de energie este capabil să distingă între aceste procese și, astfel, deschide posibilitatea recuperării cheii secrete. Implementările insuficient de robuste ale algoritmilor precum AES sau 3-DES , care sunt considerate stabile din punct de vedere matematic, pot fi piratate trivial folosind atacuri de consum de energie. Astfel, atacurile de consum de energie combină elemente de criptoanaliza algoritmică și analiza fiabilității implementării.

Echipament necesar

Hardware-ul necesar pentru un atac de consum de energie este disponibil pe scară largă. De exemplu, majoritatea osciloscoapelor digitale au funcționalitatea necesară pentru a primi date pentru prelucrare, iar datele în sine sunt de obicei procesate pe computere personale. Sunt disponibile și produse comerciale concepute pentru laboratoarele de testare. [4] În ciuda faptului că microprocesoarele moderne funcționează la frecvențe de ordinul a 3 GHz , în unele situații, instrumentele de măsură cu o frecvență de eșantionare de ordinul zecilor de kHz sunt suficiente pentru o analiză de succes. [5] Sursa de semnal de consum de energie poate fi fie curentul din canalul de transfer de energie de la sursa de alimentare la dispozitiv (de exemplu, într-un cablu de alimentare), fie tensiunea de pe suprafața carcasei, tensiunea pe diferite interfețe ( USB , intrare de rețea, VGA și etc.) și chiar radiații electromagnetice .

Contramăsuri

Pentru zonele în care dispozitivele criptografice pot cădea în mâinile unui criptoanalist, rezistența la atacurile de consum de energie este una dintre principalele cerințe de sistem. Un atac de consum de energie nu poate fi detectat în general de un dispozitiv criptografic, deoarece criptoanalistul se comportă de obicei pasiv. În plus, astfel de atacuri nu afectează direct sistemul. Ca urmare, detectarea atacurilor este ineficientă. În schimb, designerii de criptosisteme trebuie să se asigure că fluctuațiile consumului de energie și procesele care au loc în sistem sunt independente. Un simplu atac de consum de energie este capabil să distingă liber rezultatul unei operațiuni de ramificare condiționată, deoarece dispozitivul face lucruri diferite (și, prin urmare, consumă energie diferită) în funcție de direcția ramificației. Prin urmare, trebuie să se asigure că valorile secrete nu participă la determinarea direcției salturilor condiționate în implementarea algoritmului. Alte surse de variație de putere, cum ar fi diferențele de microcod, salturile generate de compilator, consumul diferit de energie în operațiunile de multiplicare, de asemenea, duc adesea la vulnerabilități la un simplu atac de consum de energie. Un atac diferențial de putere este mai dificil de prevenit, deoarece chiar și mici fluctuații ale consumului de energie pot duce la o vulnerabilitate. Unele strategii de contramăsuri folosesc modificări ale algoritmului, astfel încât operațiunile criptografice să fie efectuate asupra datelor asociate cu valori reale printr-o transformare matematică care se păstrează atunci când se efectuează operația criptografică. O abordare presupune amestecarea parametrilor pentru a introduce aleatorietatea în valorile lor. Alte strategii implică modificarea hardware: schimbarea frecvenței microprocesorului este utilizată ca măsură a desincronizării semnalelor electrice, care, la rândul său, a condus la o îmbunătățire a algoritmului clasic de atac diferențial de putere. [6] [7]

Vezi și

Note

  1. P. Kocher, J. Jaffe, B. Jun, „ Diferential Power Analysis Archived 24 August 2009 at the Wayback Machine ”, raport tehnic, 1998; publicat mai târziu în Advances in Cryptology - Crypto 99 Proceedings, Lecture Notes In Computer Science Vol. 1666, M. Wiener, ed., Springer-Verlag, 1999.
  2. Michael Tunstall, „ Attacks on Smart Cards Arhivat 23 septembrie 2015. »
  3. Paul Kocher, Joshua Jaffe, Benjamin Jun, „ Introducere în analiza puterii diferențiale și atacuri înrudite (1998) Arhivat la 20 aprilie 2009 la Wayback Machine
  4. Stația de lucru DPA . Data accesului: 12 decembrie 2014. Arhivat din original pe 7 februarie 2009.
  5. Daniel Genkin, Itamar Pipman, Eran Tromer, „ Scoateți mâinile de pe laptopul meu: atacuri fizice de extragere a cheilor pe canale laterale pe computere arhivate pe 16 august 2014 la Wayback Machine
  6. Xavier Charvet, Herve Pelletier, „ Îmbunătățirea atacului DPA folosind transformarea wavelet (2005) Arhivat 4 martie 2016 la Wayback Machine
  7. Jasper van Woudenberg, Mark Witteman, Bram Bakker „ Îmbunătățirea analizei puterii diferențiale prin aliniere elastică (2011)