Hlavní navigace

Skryté vnady protokolu SSL

Ondřej Bitto

Protokol Secure Sockets Layer (SSL) se běžně používá pro šifrovanou komunikaci mezi dvěma počítači, tvoří tak nedílnou součást například internetového bankovnictví či jiných zabezpečených aplikací. Použití SSL ve webovém prohlížeči každý snadno pozná díky magické zkratce HTTPS namísto HTTP, co se ale ve skutečnosti skrývá pod jeho pokličkou?

Protokol Secure Sockets Layer (SSL) pochází z dílen společnosti Netscape a postupem času se stal uznávaným standardem pro šifrovanou komunikaci, přičemž funguje přímo pod aplikační vrstvou. Kromě již zmiňovaného šifrovaného spojení poskytuje také možnost ověření pravosti jak serveru, tak i klienta, kontrolu integrity přenášených dat nebo snadnou rozšiřitelnost. Poslední verze protokolu SSL nese pořadové číslo 3.0 a posloužila jako základ pro TLS 1.0 (Transaction Layer Security), jehož detailní specifikaci můžete nalézt v RFC 2246. Rozdíly mezi SSL 3.0 a TLS 1.0 nepatří mezi příliš převratné, nicméně vzájemně oba protokoly kompatibilní nejsou.

Rozdíly mezi TLS 1.0 a SSL 3.0

  • TLS nepodporuje zprávu no_certificate
  • odlišný postup výpočtu MAC
  • rozdílný postup doplňování datových bloků při symetrickém šifrování
  • číslo verze

Protokol SSL se ve skutečnosti skládá z několika dílčích protokolů, jmenovitě se jedná o:

  • Handshake protocol – zajišťuje navázání šifrovaného a autentizovaného spojení mezi komunikujícími stranami.
  • Record protocol – „připravuje“ data pro protokol vyšší vrstvy.
  • Change cipher specification protocol – informuje o nastavení nových šifrovacích parametrů.
  • Alert protocol – slouží k podávání informací o varováních a chybách.

Ze všeho nejdůležitější je prvně jmenovaný Handshake protocol, během kterého se komunikující strany dohodnou na použitém šifrovacím algoritmu a klíči. Klient nejprve pošle serveru zprávu ClientHello, obsahující základní informace o použité verzi, dostupných možnostech šifrování a náhodně generovaná data. Server na tento „pozdrav“ klientovi odpoví zasláním zprávy ServerHello, která obsahuje obdobné informace doplněné certifikátem, a předá mu aktivitu zprávou ServerHelloDone. Po ověření totožnosti serveru klient může volitelně prokázat svou identitu zasláním vlastního certifikátu, nicméně vždy musí reagovat zprávou ClientKeyExchange, která zahrnuje náhodná data šifrovaná veřejným klíčem serveru. Po provedení právě popsaných kroků nic nebrání započetí šifrované komunikace. Pokud již bylo spojení mezi klientem a serverem v minulosti vytvořeno, nemusí vždy nezbytně nutně probíhat celý Handshake protocol znovu, ale lze provést obnovení spojení pomocí identifikátoru existující relace.

Kryptografické algoritmy podporované SSL 3.0

  • DES – Data Encryption Standard, dnes již poněkud stařičký šifrovací algoritmus.
  • DSA – Digital Signature Algorithm, algoritmus digitálního podpisu.
  • KEA – Key Exchange Algorithm, algoritmus pro výměnu šifrovacích klíčů skrze nechráněný komunikační kanál.
  • MD5 – Zástupce řady Message Digest algoritmů od R. Rivesta sloužící pro tvorbu kontrolních součtů.
  • RC2, RC4 – Rivest Cipher, blokové šifry vyvinuté R. Rivestem.
  • RSA – Asymetrická šifra R. Rivesta, A. Shamira a L. Adlemana pro šifrování i podpis. Součástí SSL je také algoritmus pro výměnu klíčů založený právě na RSA.
  • SHA-1 – Secure Hash Algorithm, člen rodiny hašovacích funkcí SHA.
  • Skipjack – Bloková šifra vyvinutá NSA.
  • Triple DES (3DES) – Bloková šifra aplikující klasickou DES šifru třikrát za sebou.

Na druhém místě jmenovaný Record Protocol zajišťuje úpravu dat pro protokoly vyšších vrstev síťového modelu, například dobře známé HTTP. Dochází tak k rozdělování dat do bloků určité velikosti, jejich komprimaci (ta je nepovinná, případný algoritmus se dohodl během Handshake), výpočtu odpovídajícího MAC kódu (MD5, SHA) a samozřejmě také vlastnímu šifrování algoritmem dohodnutým během Handshake.

Change Cipher Specification Protocol představuje velice prostý nástroj obsahující zprávu, kterou se signalizuje, že byly nastaveny nové parametry šifrování a veškerá komunikace od této zprávy dále je již šifrována pomocí nového klíče. Konečně Alert Protocol slouží k tomu, aby jedna z komunikujících stran mohla informovat tu druhou, že došlo k nějaké chybě komunikace.

Certifikáty X.509

V průběhu Handshake si každá z komunikujících stran může díky certifikátům ověřit identitu té druhé. Certifikáty totiž jednoznačně spojují šifrovací klíče s jejich vlastníky a dovolují v dostatečné míře ověřit, komu patří. Mezi nejčastěji používané certifikáty patří varianty označované jako X.509. Podle této normy musí certifikát obsahovat například číslo použité verze, sériové číslo, dobu platnosti, informace o vlastníkovi a řadu dalších podrobností, které uživateli umožní, aby si ověřil jeho pravost a platnost.

Anketa

Studujete během surfování certifikáty navštívených serverů?

Našli jste v článku chybu?
Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Podnikatel.cz: Změny v cestovních náhradách 2017

Změny v cestovních náhradách 2017

Root.cz: Telegram spustil anonymní blog Telegraph

Telegram spustil anonymní blog Telegraph

120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Podnikatel.cz: Vládu obejde, kvůli EET rovnou do sněmovny

Vládu obejde, kvůli EET rovnou do sněmovny

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

120na80.cz: Popraskané rty? Některé balzámy stav zhoršují

Popraskané rty? Některé balzámy stav zhoršují

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

Podnikatel.cz: Daňové úlevy s EET nestačí. Budou zdražovat

Daňové úlevy s EET nestačí. Budou zdražovat

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Měšec.cz: Vklad na cizí účet je draze zpoplatněn (přehled)

Vklad na cizí účet je draze zpoplatněn (přehled)

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi