.
.
 TLS -> Popis protokolu -> Postranní kanály
Vydáno: 13. listopadu 2004
.
.
.
.
.
.
Postranní kanály

Co je postranní kanál

V 90. letech minulého století se došlo k závěru, že moderní kryptografie je postavena na pevných matematických základech a tím pádem je bezpečná. Kryptoanalytici proto přestali hledat chyby v matematickém modelu, ale zaměřili se na konkrétní implementace. A zde se ukázalo, že obsahují spoustu slabin a poskytují informace, s nimiž se v matematickém modelu nepočítá.

Každý nežádoucí způsob výměny informací mezi zabezpečeným systémem okolím je postranní kanály.

Typy

Potranních kanálů existuje celá řada. Dají se rozdělit na několik skupiny:

  • elektromagnetické (např. každý počítač je zdrojemelektomagnetického záření)
  • časové (průběh operace závisí na vstupních datech)
  • proudové (např. pokud zadám špatně pin, v zařízeníprochází jíný proud)
  • chybové (chyba v implementaci systému)
Chybové potranní kanály

Můžou být způsobené vlastní chybou sytému. Tzn. systém není spolehlivý.

Chyba do nich může být také vnesena špatným protokolem nebo šifrovacím algoritmem. Např. při šifrování pomocí blokových šifer mohou pro stejné bloky textu vzniknout stejné bloky zašifrovaného textu (při použití ECB) anebo naopak zopakovaním některých bloků dojde k změně informace, aniž by útočník znal způsob šifrování (např. zvojením bloku přídáme 3 nuly a tak místo 1 000 Kč pošleme 1 000 000 Kč).

TLS proto umožňuje u blokových šifer použít pouze CBC modus.

Doplňování v modu CBC

U šifrování pomocí blokových šifer je známý problém doplnění posledního bloku textu na správnou délku (např. předepsaná délka je 8 bytů, ale na poslední blok zbylo jen 7). V TLS se doplňuje od 0 do 255 bytů. Jde o tzv. padding.

Např. chceme zašifrovat text ovelikosti 61 bytů. MAC má délku 20 bytů a na uložení délky paddingu potřebujem 1 byte (0 - 255). To je celkem 82 bytů. Budem chtít šifrovat TripleDESem. Jeho délka bloku je 8 bytů. Tzn. musíme data doplnit tak, aby jejich délka odpovídala násobkům 8. Zvolíme tedy jedno z čísel 6, 14, 22, ...,254. Jako hodnota bytů použitých jako výplň se zvolí délka paddingu. Např. pro 6 bude konec odesílaných dat vypadat xx 06 06 06 06 06 06 06, kde xx je poslední byte z MAC, následuje 6 x 06 a nakonec délka paddingu 06.

PK při použití RSA v TLS

TLS umožňuje nastavit se tak, aby mohl komunikovat s klientem SSLv2. Toto skrývá nebezpečí v okamžiku handshaku, kdy server přijme pre-master secret, ale zjistí, že je pro špatnou verzi. Vyšle chybové hlášení a ukončí spojení.

Toto chybové hlášení je zdrojem informace, kterou může útočník využít. Po mnoha takových pokusech, kdy posílá jím pozměněná chybová data se dostane až k privátnímu klíči.

Na tento postraní kanál přišli čeští kryptoanalytici Tomáš Rosa a Vlastimil Klima. Podařilo se jim při jednom jejich testu nalézt privátní RSA klíč o délce 1024 bitů za necelých 23 hodin. Doba víceméně závisí jen na výkonnosti serveru.

Lze odstranit tak, že se společně s pre-master secret pošle očekávaná verze protokolu. Další řešení je konfigurace serveru (není běžné aby klient posílal tisíce požadavků).

.
.
.   .
.
. admin@webcity.wz.cz .
|Základní pojmy|Úvod|Protokol TLS|TLS v praxi|Shrnutí|Zdroje|Autor|
. © P.D. 2004™ .
.