Útoky postranními kanály: Jak útočníci zneužívají vedlejší stopy

Postranní kanály (side channels) představují způsob, jak útočníci získávají tajné informace nejen napadením samotného kryptografického algoritmu, ale z jeho implementace. Místo prolomení matematických principů se zaměřují na vedlejší stopy, které systém vydává – například čas běhu, spotřebu energie, chybové hlášky nebo dokonce lidské chování.

1. Co jsou postranní kanály?

Postranní kanál je jakýkoli nepřímý zdroj informací, který závisí na utajované hodnotě, ale sám není přímo tajnou datovou položkou. Z těchto "vedlejších" dat lze často odvodit nebo přímo rekonstruovat chráněné informace.

1.1. Proč jsou nebezpečné

  • Pasivní a neinvazivní: Nevyžadují modifikaci hardwaru či softwaru, stačí jen sledovat odposlouchávané stopy.

  • Obcházejí matematická zabezpečení: Ani perfektní algoritmus nestačí, pokud implementace „vyzradí“ něco navíc.

  • Široká škála: Od mikroarchitektur až po lidské chování.

2. Hlavní typy postranních kanálů

2.1. 1. Časový postranní kanál

Založen na měření doby běhu operací, která závisí na utajovaných datech.

Zranitelná implementace porovnání hesel
for (int i = 0; i < n; ++i) {
    if (pass[i] != text[i])
        return false;
}
return true;

Rozdíl v čase vrácení false odhalí, v jaké pozici se heslo neshoduje. Útočník tak může hádat po znakové ose.

Ochrana: konstantní čas bez podmíněných návratů:

byte c = 0;
for (int i = 0; i < n; ++i)
    c |= pass[i] ^ text[i];
return !c;

2.2. 2. Chybový postranní kanál

Únik informací skrze detailní chybové zprávy.

  • Příklad: Systém vrátí, ve kterých znacích se vstup liší od hesla.

  • Nebo chybná implementace, která při neúspěšném ověření odhalí hash hesla.

Ochrana: zjednodušené, generické hlášky bez odhalování detailů.

2.3. 3. Odběrový (Power) postranní kanál

Sledování spotřeby energie při kryptografických výpočtech.

2.3.1. SPA (Simple Power Analysis)

Analyzuje průběh spotřeby v čase jednoho běhu algoritmu.

  • Příklad útoku na Square & Multiply (RSA):

    • Operace square a multiply se liší v energetické náročnosti.

    • Z grafu spotřeby lze odhadnout bity exponentu (privátní klíč).

for (int i = k-1; i >= 0; --i) {
    x = x*x % n;           // SQUARE
    if (d[i] == 1)
        x = x*c % n;       // MULTIPLY
}

2.3.2. DPA (Differential Power Analysis)

Statistická analýza stovek či tisíců měření spotřeby.

  1. Zvolit vnitřní hodnotu $v = SubBytes(d \oplus k)$ závislou na klíči a datech.

  2. Změřit $t_i$ (500–1000 běhů) a vytvořit matici $T$ měření.

  3. Sestavit hypotetickou vnitřní hodnotu $V$ pro všechny možné bytové klíče.

  4. Modelovat hypotetickou spotřebu $H$ (Hammingova váha) z $V$.

  5. Pearsonova korelace mezi $H$ a $T$ odhalí správný klíč.

2.4. 4. Elektromagnetický postranní kanál

Variace odběrového kanálu – měří se elektromagnetické pole, které vydávají obvody.

2.5. 5. Sociální postranní kanál

Lidské chování jako zdroj informací.

  • Příklad: sledování zbylých volebních lístků odhalí, jak kdo hlasoval.

3. Doporučení k ochraně

Metoda Popis

Odstranit datovou závislost

Konstantní čas, pevné chybové zprávy.

Zamaskovat implementaci

Přidat dummy operace, šumění spotřeby (blinding).

Fyzická opatření

Stínění EM vyzařování, filtrace napájení (Faradayova klec).

Bezpečné protokoly

Protokoly navržené specificky proti postranním kanálům.


Autor: Jan Troják, DevOps/Infra engineer