Oldalcsatornás támadás
mivel az oldalcsatornás támadások az oldalcsatornán keresztül kibocsátott (kiszivárgott) információk és a titkos adatok közötti kapcsolatra támaszkodnak, az ellenintézkedések két fő kategóriába sorolhatók: (1) az ilyen információk kibocsátásának megszüntetése vagy csökkentése, valamint (2) a kiszivárgott információk és a titkos adatok közötti kapcsolat megszüntetése, vagyis a kiszivárgott információk függetlenné, vagy inkább korrelálatlanná tétele a titkos adatokkal, jellemzően a rejtjelszöveg valamilyen randomizálásával, amely az adatokat oly módon alakítja át, hogy a kriptográfiai művelet (pl. dekódolás) befejezése után visszavonható legyen.
Az első kategóriában a kereskedelemben már kaphatók olyan speciális árnyékolással ellátott kijelzők, amelyek csökkentik az elektromágneses sugárzást, csökkentve a TEMPEST támadásokra való hajlamot. Az elektromos vezetékek kondicionálása és szűrése segíthet megakadályozni az áramfigyelő támadásokat, bár ezeket az intézkedéseket óvatosan kell alkalmazni, mivel még a nagyon kis összefüggések is fennmaradhatnak, és veszélyeztethetik a biztonságot. A fizikai burkolatok csökkenthetik a mikrofonok (akusztikus támadások elleni) és más mikromegfigyelő eszközök (CPU-áramfelvétel vagy termikus képalkotó támadások elleni) rejtett felszerelésének kockázatát.
egy másik ellenintézkedés (még mindig az első kategóriában) a kibocsátott csatorna zajjal történő elakadása. Például véletlenszerű késleltetés adható az időzítési támadások megakadályozására, bár az ellenfelek kompenzálhatják ezeket a késéseket több mérés átlagolásával (vagy általánosabban több mérés felhasználásával az elemzésben). Ahogy az oldalsó csatorna zajszintje növekszik, az ellenfélnek több mérést kell gyűjtenie.
Az első kategória másik ellenintézkedése a biztonsági elemző szoftver használata az oldalsó csatornás támadások bizonyos osztályainak azonosítására, amelyek az alapul szolgáló hardver tervezési szakaszaiban találhatók. Az időzítési támadások és a gyorsítótár-támadások egyaránt azonosíthatók bizonyos kereskedelmi forgalomban kapható biztonsági elemző szoftverplatformokon keresztül, amelyek lehetővé teszik a támadás sebezhetőségének azonosítását, valamint a biztonsági rés megkerülésére szolgáló építészeti változás hatékonyságát. Ennek az ellenintézkedésnek a legátfogóbb módja a Hardver biztonságos fejlesztési életciklusának létrehozása, amely magában foglalja az összes rendelkezésre álló biztonsági elemzési platform felhasználását a hardverfejlesztési életciklus megfelelő szakaszaiban.
olyan célpontok elleni időzítési támadások esetén, amelyek számítási idejét diszkrét óraciklus-számokra számolják, hatékony ellenintézkedés az, ha a szoftvert izokronikusnak tervezzük, vagyis pontosan állandó idő alatt futunk, függetlenül a titkos értékektől. Ez lehetetlenné teszi a támadások időzítését. Az ilyen ellenintézkedéseket nehéz lehet a gyakorlatban megvalósítani, mivel egyes CPU-kon még az egyes utasítások is változó időzítéssel rendelkezhetnek.
az egyik részleges ellenintézkedés az egyszerű teljesítménytámadások ellen, de nem differenciális teljesítményelemzési támadások, a szoftver megtervezése úgy, hogy” PC-biztonságos “legyen a”programszámláló biztonsági modellben”. PC-secure programban a végrehajtási útvonal nem függ a titkos értékektől. Más szóval, minden feltételes ág csak a nyilvános információtól függ.(Ez korlátozóbb feltétel, mint az izokron kód, de kevésbé korlátozó feltétel, mint az ágmentes kód.)Annak ellenére, hogy a Többszörös műveletek gyakorlatilag az összes CPU-n több energiát vesznek fel, mint a NOP, az állandó végrehajtási útvonal használata megakadályozza, hogy az ilyen művelettől függő teljesítménykülönbségek (az egyik ág választásának különbsége a másikkal szemben) bármilyen titkos információ kiszivárogjon.Azokon az architektúrákon, ahol az utasítások végrehajtási ideje nem adatfüggő, a PC-biztonságos program immunis az időzítési támadásokkal szemben is.
egy másik módja annak, hogy a kód nem izokron lehet, az, hogy a modern CPU-k memória gyorsítótárral rendelkeznek: a ritkán használt információkhoz való hozzáférés nagy időzítési büntetést von maga után, feltárva néhány információt a memóriablokkok használatának gyakoriságáról. A gyorsítótár-támadások ellen tervezett kriptográfiai kód csak kiszámítható módon próbálja használni a memóriát(például csak a bemeneti, kimeneti és programadatokhoz fér hozzá, és ezt rögzített minta szerint teszi). Például el kell kerülni az adatfüggő táblázatkereséseket, mert a gyorsítótár felfedheti, hogy a keresési táblázat melyik részét érte el.
egyéb részleges ellenintézkedések megpróbálják csökkenteni az adatfüggő teljesítménykülönbségekből kiszivárgott információk mennyiségét.Egyes műveletek olyan teljesítményt használnak, amely korrelál a titkos érték 1 bitjének számával.Állandó súlyú kód használata (például Fredkin gates vagy kettős sínű kódolás) csökkentheti a titkos érték Hamming súlyával kapcsolatos információk szivárgását, bár a kihasználható korrelációk valószínűleg megmaradnak, hacsak a kiegyensúlyozás nem tökéletes. Ez a” kiegyensúlyozott kialakítás ” közelíthető a szoftverben mind az adatok, mind annak kiegészítésének manipulálásával.
számos “biztonságos CPU” épült aszinkron CPU-ként; nincs globális időzítési referenciájuk. Míg ezeknek a CPU-knak az volt a célja, hogy megnehezítsék az időzítést és az áramtámadásokat, a későbbi kutatások azt találták, hogy az aszinkron áramkörök időzítési variációit nehezebb eltávolítani.
a második kategória tipikus példája (dekorreláció) a vakítás néven ismert technika. D {\displaystyle d}
és a megfelelő titkosítási kitevő e {\displaystyle e}
és modulus m {\displaystyle m}
, a technika a következőképpen alkalmazható (az egyszerűség kedvéért a képletekben az M moduláris redukció elmarad): a dekódolás előtt, azaz az y d {\displaystyle y^{d}}
egy adott rejtjelszöveg y {\displaystyle y}
eredményének kiszámítása előtt a rendszer választ egy véletlen számot r {\displaystyle R}
és nyilvános kitevővel titkosítja e {\displaystyle e}
az R e {\displaystyle R^{e}}
. Ezután a dekódolást a ( z) {\displaystyle y\cdot r^{e}}
a(y) = y d) d = y d d d=y d d(y\cdot r^{e})}^{d}=y^{d}\cdot r^{e\cdot d}=y^{d}\cdot r}
. Mivel a visszafejtő rendszer az r {\displaystyle r}
lehetőséget választotta , kiszámíthatja az inverz modulo m {\displaystyle m}
az r {\displaystyle r}
az eredményben y d {\displaystyle y^{d}}
, a dekódolás tényleges eredménye. Olyan támadások esetén, amelyek a támadó által ellenőrzött adatokkal végzett műveletekből oldalsó csatornás információk gyűjtését igénylik, a vakítás hatékony ellenintézkedés, mivel a tényleges műveletet az adatok randomizált változatán hajtják végre, amely felett a támadónak nincs ellenőrzése vagy akár ismerete.
egy általánosabb ellenintézkedés (mivel minden oldalcsatornás támadás ellen hatékony) a maszkoló ellenintézkedés. A maszkolás elve az, hogy ne manipuláljunk semmilyen érzékeny értéket y {\displaystyle y}
közvetlenül, hanem inkább manipuláljuk annak megosztását: változók halmaza (úgynevezett “részvények”) y 1,. . . , y d {\displaystyle Y_{1},…, y_{d}}
oly módon, hogy y = y 1 ons . . . {\displaystyle y = Y_{1} \ Opus …\Opus y_{d}}
(ahol a {\displaystyle \Opus }
az XOR művelet). A támadónak vissza kell állítania a részvények összes értékét, hogy bármilyen értelmes információt kapjon.
a közelmúltban fehér dobozos modellezést alkalmaztak egy alacsony rezsi Generikus áramköri szintű ellenintézkedés kifejlesztésére mind az EM, mind az erőoldali csatornás támadások ellen. A hatékonyabb antennaként működő IC-ben a magasabb szintű fémrétegek hatásainak minimalizálása érdekében az ötlet az, hogy a kriptomagot beágyazzák egy aláíráscsökkentő áramkörbe, amelyet helyileg irányítanak az alacsonyabb szintű fémrétegeken belül, ami mind a teljesítmény, mind az EM oldalcsatornás támadási immunitás felé vezet.