Articles

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}

d

és a megfelelő titkosítási kitevő e {\displaystyle e}

e

és modulus m {\displaystyle m}

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

y^d

egy adott rejtjelszöveg y {\displaystyle y}

y

eredményének kiszámítása előtt a rendszer választ egy véletlen számot r {\displaystyle R}

r

és nyilvános kitevővel titkosítja e {\displaystyle e}

e

az R e {\displaystyle R^{e}}

r^e

. Ezután a dekódolást a ( z) {\displaystyle y\cdot r^{e}}

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}

{(y\cdot r^e)}^d = y^d \cdot r^{e \cdot d} = y^d\cdot t

. Mivel a visszafejtő rendszer az r {\displaystyle r}

r

lehetőséget választotta , kiszámíthatja az inverz modulo m {\displaystyle m}

m

az r {\displaystyle r}

r

az eredményben y d {\displaystyle y^{d}}

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}

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

y_{1},..., y_{d}

oly módon, hogy y = y 1 ons . . . {\displaystyle y = Y_{1} \ Opus …\Opus y_{d}}

{\displaystyle y=Y_{1} \ Opus ...\Opus y_{d}}

(ahol a {\displaystyle \Opus }

\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.