Sivukanavahyökkäys
koska sivukanavahyökkäykset perustuvat sivukanavan kautta lähetetyn (vuotaneen) tiedon ja salaisen tiedon väliseen suhteeseen, vastatoimet jakautuvat kahteen pääluokkaan: (1) eliminoida tai vähentää tällaisten tietojen julkaisemista ja (2) poistaa vuodetun tiedon ja salaisen tiedon välinen suhde, toisin sanoen tehdä vuodetusta tiedosta ei liity salaiseen tietoon, tai pikemminkin ei liity salaiseen tietoon, tyypillisesti jonkinlaisen salaustekstin satunnaistamisen avulla, joka muuttaa tiedot tavalla, joka voidaan purkaa salaustoiminnon (esim.salauksen purkamisen) päätyttyä.
ensimmäisen luokan näytöt, joissa on erityinen suojaus sähkömagneettisten päästöjen vähentämiseksi ja alttiuden MYRSKYISKUILLE, ovat nyt kaupallisesti saatavilla. Voimajohdon ehdollistaminen ja suodatus voivat auttaa ehkäisemään tehonvalvontahyökkäyksiä, joskin tällaisia toimenpiteitä on käytettävä varoen, sillä hyvin pienetkin korrelaatiot voivat jäädä ja vaarantaa turvallisuuden. Fyysiset kotelot voivat vähentää mikrofonien (akustisten hyökkäysten torjumiseksi) ja muiden mikrovalvontalaitteiden (suorittimen tehovetohyökkäyksiä tai lämpökuvaushyökkäyksiä vastaan) salamyhkäisen asentamisen riskiä.
toinen vastatoimi (edelleen ensimmäisessä kategoriassa) on häiritä säteilykanavaa kohinalla. Ajoitushyökkäysten estämiseksi voidaan lisätä esimerkiksi satunnainen viive, vaikka vastustajat voivat kompensoida näitä viiveitä laskemalla keskiarvon useista mittauksista (tai yleisemmin käyttämällä analyysissä useampia mittauksia). Kun sivukanavan melun määrä kasvaa, vastustajan on kerättävä lisää mittauksia.
toinen ensimmäisen luokan vastatoimi on käyttää tietoturvaanalyysiohjelmistoa tunnistamaan tiettyjä sivukanavahyökkäysten luokkia, jotka löytyvät itse taustalla olevan laitteiston suunnitteluvaiheessa. Ajoitushyökkäykset ja välimuistihyökkäykset ovat molemmat tunnistettavissa tiettyjen kaupallisesti saatavilla olevien tietoturvaanalyysiohjelmistoalustojen kautta, joiden avulla voidaan testata itse hyökkäyshaavoittuvuuden tunnistamista sekä arkkitehtuurimuutoksen tehokkuutta haavoittuvuuden kiertämiseksi. Kattavin tapa käyttää tätä vastatoimea on luoda laitteistolle turvallinen kehityskaari, johon kuuluu kaikkien saatavilla olevien tietoturvaanalyysialustojen hyödyntäminen laitteistokehityksen elinkaaren eri vaiheissa.
kun on kyse ajoitushyökkäyksistä kohteisiin, joiden laskentaajat kvantisoidaan diskreeteiksi kellosyklilukemiksi, tehokas vastatoimi on suunnitella ohjelmisto isokroniseksi, eli toimimaan täsmälleen vakioajassa, riippumatta salaisista arvoista. Tämä tekee hyökkäysten ajoituksesta mahdotonta. Tällaisia vastatoimia voi olla vaikea toteuttaa käytännössä, koska yksittäisilläkin ohjeilla voi olla vaihteleva ajoitus joillakin suorittimilla.
yksi osittainen vastatoimi yksinkertaisia tehohyökkäyksiä, mutta ei differentiaalisia tehoanalyysihyökkäyksiä vastaan, on suunnitella ohjelmisto niin, että se on ”OHJELMALASKURIN tietoturvamallissa” ”PC-secure”. PC-suojatussa ohjelmassa suorituspolku ei riipu salaisista arvoista. Toisin sanoen kaikki ehdolliset haarat ovat riippuvaisia vain julkisesta tiedosta.(Tämä on rajoittavampi ehto kuin isokroninen koodi, mutta vähemmän rajoittava ehto kuin haaraton koodi.)Vaikka monistusoperaatiot vetävät enemmän tehoa kuin NOP käytännössä kaikille suorittimille, jatkuvan suorituspolun käyttäminen estää tällaisia toiminnasta riippuvia tehoeroja (tehoeroja valitsemasta haaraa toisen päälle) vuotamasta mitään salaista tietoa.Arkkitehtuureissa, joissa opetuksen suoritusaika ei ole datasta riippuvainen, PC-suojattu ohjelma on myös immuuni ajoitushyökkäyksille.
toinen tapa, jolla koodi voi olla ei-isokroninen, on se, että nykyisissä suorittimissa on muistivälimuisti: harvoin käytettyjen tietojen käyttö aiheuttaa suuren ajoitussakon, mikä paljastaa joitakin tietoja muistilohkojen käyttötiheydestä. Välimuistihyökkäysten torjuntaan suunniteltu kryptografinen koodi yrittää käyttää muistia vain ennustettavalla tavalla (kuten käyttämällä vain syötettä, lähtöjä ja ohjelmatietoja, ja tekemällä sen kiinteän kaavan mukaan). Esimerkiksi datariippuvaisia tauluhakuja on vältettävä, koska välimuisti voi paljastaa, mihin osaan hakutaulua on päästy käsiksi.
muilla osittaisilla vastatoimilla pyritään vähentämään datasta riippuvista tehoeroista vuotavan tiedon määrää.Joissakin operaatioissa käytetään tehoa, joka korreloi salaisen arvon 1 bitin määrään.Vakiopainokoodin käyttäminen (kuten Fredkin-porttien tai dual-rail-koodauksen käyttäminen) voi vähentää salaisen arvon Hamming-painon tietojen vuotamista, vaikka hyödynnettävissä olevat korrelaatiot todennäköisesti säilyvät, ellei tasapainotus ole täydellinen. Tätä” tasapainoista rakennetta ” voidaan approksimoida ohjelmistoissa manipuloimalla sekä dataa että sen komplementtia yhteen.
Asynkronisiksi suorittimiksi on rakennettu useita ”suojattuja suorittimia”; niillä ei ole maailmanlaajuista ajoitusviitettä. Vaikka näiden suorittimien tarkoituksena oli vaikeuttaa ajoitus-ja tehohyökkäyksiä, myöhemmissä tutkimuksissa havaittiin, että ajoitusvaihtelut asynkronisissa piireissä ovat vaikeampia poistaa.
tyypillinen esimerkki toisesta kategoriasta (dekorrelaatio) on sokaisuna tunnettu tekniikka. Jos RSA: n salauksen salauksen eksponentti on D {\displaystyle d}
ja vastaava salauksen eksponentti e {\displaystyle e}
ja modulus m {\displaystyle m}
, tekniikkaa sovelletaan seuraavasti (yksinkertaisuuden vuoksi modulaarinen vähennys M: llä on jätetty kaavoista pois: ennen salauksen purkamista, eli ennen kuin lasketaan tulos y d {\displaystyle y^{d}}
tietylle ciphertext y {\displaystyle y}
, järjestelmä valitsee satunnaisluvun r {\displaystyle r}
ja salaa sen public exponent e {\displaystyle e}
saadakseen r e {\displaystyle r^{e}}
. Sitten salauksen purku suoritetaan pisteellä ⋅ r e {\displaystyle y\cdot r^{e}}
, jolloin saadaan ( y ⋅ r e ) d = y d ⋅ r e ⋅ d = y d ⋅ r {\displaystyle {(y\cdot r^{e})}^{d}=y^{d}\cdot r^{e\cdot d}=y^{d}\cdot R}
. Koska salauksen purkujärjestelmä valitsi R {\displaystyle r}
, se voi laskea käänteisen modulo m {\displaystyle m}
kumotakseen tekijän R {\displaystyle r}
tuloksessa ja saadaan y d {\displaystyle y^{d}}
, salauksen todellinen tulos. Hyökkäyksissä, jotka vaativat sivukanavatiedon keräämistä hyökkääjän hallitsemista tiedoista, sokaisu on tehokas vastatoimi, koska varsinainen operaatio suoritetaan datan satunnaistetulla versiolla, johon hyökkääjällä ei ole mitään kontrollia tai edes tietoa.
yleisempi vastatoimi (siinä mielessä, että se on tehokas kaikkia sivukanavahyökkäyksiä vastaan) on peittävä vastatoimi. Peittämisen periaatteena on välttää manipuloimasta mitään herkkää arvoa y {\displaystyle y}
suoraan, vaan manipuloida sen jakamista: joukko muuttujia (nimeltään ”osakkeet”) y 1,. . . , y d {\displaystyle y_{1},…, y_{d}}
siten, että y = y 1 ⊕ . . . ⊕ y d {\displaystyle y=y_{1}\oplus …\oplus y_{d}}
(missä ⊕ {\displaystyle \oplus }
on XOR-operaatio). Hyökkääjän on palautettava kaikki osakkeiden arvot saadakseen merkityksellistä tietoa.
hiljattain white-box-mallinnusta hyödynnettiin kehittämällä low-overhead generic circuit-tason vastatoimi sekä EM – että power side-channel-hyökkäyksiä vastaan. Minimoimiseksi korkeamman tason metallikerrosten IC toimii tehokkaampia antenneja, ajatuksena on upottaa crypto core allekirjoitus tukahduttaminen piiri, reititetään paikallisesti alemman tason metallikerrosten, johtaa kohti sekä teho ja EM side-kanava hyökkäys immuniteetti.