Hlavní navigace

Skryté vnady protokolu SSL

Ondřej Bitto 1. 6. 2005

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.

WT100

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?
DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Vitalia.cz: Opuncie je plod kaktusu. Pozor na trny

Opuncie je plod kaktusu. Pozor na trny

DigiZone.cz: Pure má tři nové přijímače DAB

Pure má tři nové přijímače DAB

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

120na80.cz: Zázrak ze smetiště: co léčí lopuch?

Zázrak ze smetiště: co léčí lopuch?

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Vitalia.cz: Inspekce našla nelegální sklad v SAPĚ. Zase

Inspekce našla nelegální sklad v SAPĚ. Zase

DigiZone.cz: ČT začne vysílat z Hradce Králové

ČT začne vysílat z Hradce Králové

Podnikatel.cz: Jak vám může jóga pomoci v byznysu?

Jak vám může jóga pomoci v byznysu?

Podnikatel.cz: EET pro e-shopy? Postavené na hlavu

EET pro e-shopy? Postavené na hlavu

Podnikatel.cz: Takhle se prodávají mražené potraviny

Takhle se prodávají mražené potraviny

DigiZone.cz: O2 TV doplnilo kanály HBO v HD

O2 TV doplnilo kanály HBO v HD

Lupa.cz: Hackeři mají data z půlmiliardy účtů Yahoo

Hackeři mají data z půlmiliardy účtů Yahoo

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

DigiZone.cz: Banaxi: videa kdekoli na světě

Banaxi: videa kdekoli na světě

Vitalia.cz: Tohle jsou nejlepší česká piva podle odborníků

Tohle jsou nejlepší česká piva podle odborníků

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

Vitalia.cz: Když bílkoviny, tak jíme ty nekvalitní

Když bílkoviny, tak jíme ty nekvalitní

Root.cz: Bezpečný router Omnia právě dorazil

Bezpečný router Omnia právě dorazil

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?