Tehoanalyysi - Power analysis

Image
Kaavio erotehoanalyysistä.
Image
RSA- avainbittien tarkkailu tehoanalyysin avulla: Vasen huippu näyttää tehonkulutuksen vain neliöintivaiheen aikana , oikea (leveämpi) piikki näyttää kertolaskun, jolloin eksponenttibitit 0 ja 1 voidaan erottaa.

In salakirjoitus , joka on sivukanavan hyökkäys käytetään erottamaan salaisia tietoja joidenkin turvallinen laite (kuten älykortti , lukittavalla "musta laatikko", tai integroitu piiri ). Sivukanava-analyysi yrittää tyypillisesti purkaa salausavaimet ja muut salaiset tiedot laitteesta ei-invasiivisesti. Yksinkertainen esimerkki tästä on saksalainen säiliöongelma : säiliöiden sarjanumerot antavat yksityiskohtia säiliöiden tuotantotiedoista. Fyysisessä turvallisuudessa ei-invasiivinen hyökkäys olisi samanlainen kuin lukituksen valinta , jossa onnistunut hyökkäys ei jätä jälkiä hyökkääjän läsnäolosta.

Tehoanalyysi on sivukanavan hyökkäyksen muoto , jossa hyökkääjä tutkii salauslaitteiston virrankulutuksen. Nämä hyökkäykset perustuvat laitteen fyysisiin perusominaisuuksiin: puolijohdelaitteisiin sovelletaan fysiikan lakeja, jotka sanelevat, että laitteen jännitteiden muutokset vaativat hyvin pieniä sähkövarausten (virtojen) liikkeitä. Mittaamalla nuo virrat on mahdollista oppia pieni määrä tietoa manipuloiduista tiedoista.

Yksinkertainen voima analyysi ( SPA ) käsittää visuaalisesti tulkita teho jälkiä , tai kaavioita sähköisen toiminnan ajan. Eroerotehoanalyysi ( DPA ) on edistyneempi tehoanalyysin muoto, jonka avulla hyökkääjä voi laskea salauksen laskennan väliarvot useista salausoperaatioista kerättyjen tietojen tilastollisen analyysin avulla. SPA ja DPA esittivät avoimen salausyhteisön vuonna 1998 Paul Kocher , Joshua Jaffe ja Benjamin Jun .

Yksinkertainen tehoanalyysi

Yksinkertainen voima analyysi ( SPA ) on puoli-kanava hyökkäys , joka liittyy silmämääräinen tarkastus kuvaajat nykyisen käyttää laitteen ajan. Virrankulutuksessa vaihteluita tapahtuu, kun laite suorittaa erilaisia ​​toimintoja. Esimerkiksi mikroprosessorin suorittamilla eri ohjeilla on erilaiset virrankulutusprofiilit.

Salaisesta arvosta riippuva koodivirta vuotaa siten koodivirran virrankulutuksen valvonnan kautta (ja siten vuotaa myös salaisen arvon). Harkitse yksinkertaisena esimerkkinä salasanan tarkistusta seuraavasti:

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;
}

Tämä salasanatarkistus sisältää mahdollisesti ajoitushyökkäyksen , koska suoritusaika ei ole vakio. Toiminto ei kuitenkaan välttämättä tuota käyttäjälle hyödynnettävissä olevaa tulosta, koska esimerkiksi vastauksen palauttamiseen voi olla kompensoiva viive. Virrankulutuksen tarkkailu tekee selväksi suoritettujen silmukoiden määrän.

Vastaavasti neliöinti- ja kertolaskuoperaatiot RSA-toteutuksissa voidaan usein erottaa toisistaan, jolloin vastustaja voi laskea salaisen avaimen. Vaikka virrankulutuksen vaihteluiden suuruus olisi pieni, tavalliset digitaaliset oskilloskoopit voivat helposti näyttää datan aiheuttamat vaihtelut. Taajuussuodattimia ja keskiarvotoimintoja (kuten oskilloskooppien sisäänrakennettuja) käytetään usein suurtaajuisten komponenttien suodattamiseen.

Erotehoanalyysi

Ero tehon analyysi ( DPA ) on puoli-kanava hyökkäys , joka käsittää tilastollisesti analysoidaan tehonkulutuksen mittauksia salausjärjestelmä . Hyökkäys hyödyntää ennakkoja, jotka vaihtelevat mikroprosessorien tai muun laitteiston virrankulutuksen aikana, kun suoritetaan toimintoja salaisia ​​avaimia käyttäen. DPA-hyökkäyksillä on signaalinkäsittely- ja virhekorjausominaisuudet, jotka voivat poimia salaisuuksia mittauksista, jotka sisältävät liian paljon melua analysoitavaksi yksinkertaisen tehoanalyysin avulla. DPA: n avulla vastustaja voi saada salaiset avaimet analysoimalla haavoittuvan älykortin tai muun laitteen suorittamien useiden salaustoimintojen virrankulutuksen mittaukset.

Korkealaatuinen erotehoanalyysi

High-Order Differential Power Analysis ( HO-DPA ) on DPA-hyökkäyksen kehittynyt muoto. HO-DPA mahdollistaa useiden tietolähteiden ja erilaisten aikasiirtymien sisällyttämisen analyysiin. HO-DPA: ta harjoitetaan vähemmän kuin SPA: ta ja DPA: ta, koska analyysi on monimutkainen ja haavoittuvimmat laitteet voidaan hajottaa helpommin SPA: lla tai DPA: lla.

Tehoanalyysi ja algoritminen suojaus

Tehoanalyysi tarjoaa tavan "nähdä sisälle" muuten "peukaloittamaton" laitteisto. Esimerkiksi DES: n avainaikataulu sisältää 28-bittisten avainrekisterien kiertämisen. Monet toteutukset tarkistavat vähiten merkitsevän bitin nähdäkseen onko se 1. Jos näin on, laite siirtää rekisterin oikealle ja valmistaa 1 vasemmalle puolelle. Jos bitti on nolla, rekisteri siirretään oikealle ilman, että valmistellaan 1. Tehoanalyysi voi erottaa nämä prosessit, jolloin vastustaja voi määrittää salaisen avaimen bitit.

Matemaattisesti vahvaksi uskottujen algoritmien, kuten AES: n ja kolminkertaisen DES: n , toteutukset voivat olla triviaalisesti hajoavia käyttämällä tehoanalyysihyökkäyksiä. Tämän seurauksena tehoanalyysihyökkäykset yhdistävät algoritmisen kryptoanalyysin ja toteutuksen turvallisuuden elementit.

Standardit ja käytännön turvallisuuskysymykset

Sovelluksissa, joissa laitteet voivat joutua vastustajan fyysiseen hallintaan, suojaus tehoanalyysiä vastaan ​​on yleensä merkittävä suunnitteluvaatimus. Tehoanalyysejä on tiettävästi käytetty myös maksu-tv-järjestelmissä käytettyjä ehdollisen pääsyn moduuleja vastaan.

Tehoanalyysihyökkäysten suorittamiseen tarvittavat laitteet ovat laajalti saatavilla. Esimerkiksi useimmat digitaaliset tallennusoskilloskoopit tarjoavat tarvittavat tiedonkeruutoiminnot, ja data-analyysi suoritetaan tyypillisesti käyttämällä tavanomaisia ​​tietokoneita. Saatavilla on myös kaupallisia tuotteita, jotka on suunniteltu testauslaboratorioihin. Avoimen lähdekoodin ChipWhisperer- projekti oli ensimmäinen avoimen lähdekoodin laitteistojen ja ohjelmistojen täydellinen työkaluketju tehoanalyysikokeita varten.

Yksinkertaisten ja differentiaalisten tehoanalyysihyökkäysten estäminen

Laite ei yleensä pysty havaitsemaan tehoanalyysihyökkäyksiä, koska vastustajan valvonta on yleensä passiivista. Lisäksi hyökkäys ei ole invasiivinen. Tämän seurauksena fyysiset kotelot, tarkastusominaisuudet ja hyökkäystunnistimet ovat tehottomia. Sen sijaan kryptosysteemi-insinöörien on varmistettava, että laitteiden tehon vaihtelut eivät paljasta vastustajien käyttämää tietoa.

Yksinkertainen tehoanalyysi voi helposti erottaa ehdollisten haarojen tuloksen salausohjelmiston suorituksessa, koska laite tekee erilaisia ​​asioita (kuluttaa eri tehoa) sen mukaan, onko ehdollinen haara otettu. Tästä syystä on huolehdittava siitä, ettei salausohjelmistojen toteutuksissa ole salaisia ​​arvoja, jotka vaikuttavat ehdollisiin haaroihin. Muut vaihtelulähteet, kuten mikrokoodierot, kääntäjien tuomat haarat ja tehonkulutuksen vaihtelut kertojissa, johtavat myös yleisesti SPA-haavoittuvuuksiin.

Erotehoanalyysiä on vaikeampaa estää, koska pienetkin virrankulutuksen ennakkoluulot voivat johtaa hyödynnettäviin heikkouksiin. Joihinkin vastatoimistrategioihin liittyy algoritmisia modifikaatioita siten, että salausoperaatiot tapahtuvat tiedoissa, jotka liittyvät todelliseen arvoon jonkin matemaattisen suhteen avulla, joka selviää salaustoiminnasta. Yksi lähestymistapa sisältää sokeuttavat parametrit niiden arvon satunnaistamiseksi. Muihin vastatoimistrategioihin DPA-hyökkäysten tehokkuuden vähentämiseksi liittyy laitteistomuutoksia: sirun sisäisen kellotaajuuden vaihtelun on katsottu synkronoivan sähköisiä signaaleja, jotka johtavat vastineeksi perinteisen DPA: n algoritmeihin.

Patentit

Akateemisessa kirjallisuudessa on ehdotettu monia tekniikoita SPA- ja DPA-hyökkäysten estämiseksi. Vaikka julkisen avaimen järjestelmät, kuten RSA, on tyypillisesti suojattu hyödyntämällä taustalla olevien algebrallisten rakenteiden ominaisuuksia (RSA: n tapauksessa tämä olisi sen moninkertaisesti homomorfinen ominaisuus), symmetrisesti näppäillyt primititit, kuten lohkosifterit, vaativat erilaisia ​​menetelmiä, esimerkiksi "peittämistä".

Jotkut yritykset, kuten RamBus, vaativat immateriaalioikeuksia DPA-puolustusmekanismeissa.

Viitteet

  1. ^ P. Kocher, J. Jaffe, B. Jun, Differential Power Analysis , tekninen raportti, 1998; Myöhemmin julkaistu julkaisussa Advances in Cryptology - Crypto 99 Proceedings, Lecture Notes in Computer Science Voi. 1666, M. Wiener, toim., Springer-Verlag, 1999.
  2. ^ Paul Kocher, Joshua Jaffe, Benjamin Jun, " Johdatus differentiaaliseen tehoanalyysiin ja siihen liittyviin hyökkäyksiin (1998) "
  3. ^ "Kotisivu - kyberpiratismi: totuus" . Arkistoitu alkuperäisestä 2002-11-13.
  4. ^ "DPA-työaseman analysointialusta" . Rambus .
  5. ^ ChipWhisperer: avoimen lähdekoodin foorumi laitteistosulautetulle tietoturvatutkimukselle
  6. ^ Xavier Charvet, Herve Pelletier, " DPA-hyökkäyksen parantaminen käyttämällä aallonmuunnosta (2005) Arkistoitu 2016-03-04 Wayback-koneella "
  7. ^ Jasper van Woudenberg, Marc Witteman, Bram Bakker " Differentiaalisen tehoanalyysin parantaminen elastisella kohdistuksella (2011) "
  8. ^ "Lisensoidut vastatoimet" . Rambus .