Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Skryté vnady protokolu SSL

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.

Kontakty? Setkání? Předplaťte si celoroční členství v NetClubu

Chcete být v centru dění, v internetové komunitě? Setkávat se s těmi, jejichž názory hýbou českým internetem? Předplaťte si členství na každoměsíčním setkání NetClubu a potkávejte se s zajímavými lidmi. Bližší informace zde

Letošní druhý NetClub proběhne v únoru s Erikem Taberym, šéfredaktorem časopisu Respekt, který lidé buďto milují, nebo nenávidí. 

       

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ů?

       

Ondřej Bitto

Autor je zástupcem šéfredaktora časopisu Computer, živě se zajímá o svět Windows, Internetu a nejen síťové bezpečnosti.

Školení Google+ pro firmy

DW - Školení PPC
  • Jak využít Google+ pro firemní komunikaci a marketing.
  • Čím se liší Google+ od Twitteru a Facebooku z pohledu firemního využití.
  • Jak využít Google+ v souladu s pravidly užívání.
  • Založení Google+ Page (Stránky) krok po kroku, včetně praktických tipů.

Detailní informace o školení Google+ »

Přehled názorů

Overeni totoznosti
Lukas 1. 6. 2005 10:53
Nový
└ 
Re: Overeni totoznosti
Uďa 1. 6. 2005 11:39
Nový
 
└ 
Re: Overeni totoznosti
Lukas 1. 6. 2005 14:32
Nový
Anketa postrada dulezitou volbu
Karel Kocourek 1. 6. 2005 11:16
Nový
Opravdu umožňuje SSL ověření pravosti serveru?
Tonda 1. 6. 2005 13:09
Nový
├ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
PaJaSoft 1. 6. 2005 14:08
Nový
│
└ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
Tomas 1. 6. 2005 23:55
Nový
│
 
└ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
PaJaSoft 2. 6. 2005 11:14
Nový
└ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
Michal Kubeček 1. 6. 2005 15:14
Nový
 
└ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
Tonda 2. 6. 2005 14:19
Nový
 
 
└ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
PaJaSoft 2. 6. 2005 15:10
Nový
 
 
 
├ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
Tonda 2. 6. 2005 16:15
Nový
 
 
 
│
├ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
PaJaSoft 2. 6. 2005 16:35
Nový
 
 
 
│
│
└ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
Michal Ludvig 3. 6. 2005 03:13
Nový
 
 
 
│
├ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
Lukas 3. 6. 2005 09:33
Nový
 
 
 
│
│
└ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
Tonda 7. 6. 2005 12:01
Nový
 
 
 
│
│
 
├ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
PaJaSoft 7. 6. 2005 12:25
Nový
 
 
 
│
│
 
└ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
J 7. 6. 2005 16:56
Nový
 
 
 
│
│
 
 
└ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
PaJaSoft 7. 6. 2005 17:04
Nový
 
 
 
│
└ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
pk202 3. 6. 2005 14:30
Nový
 
 
 
└ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
Melkor 3. 6. 2005 09:06
Nový
 
 
 
 
└ 
Re: Opravdu umožňuje SSL ověření pravosti serveru?
PaJaSoft 3. 6. 2005 09:10
Nový
Anketa - chybi moznost obcas
Libor 1. 6. 2005 16:27
Nový
RC4
puco 1. 6. 2005 19:34
Nový
TLS
Ondra 8. 6. 2005 19:12
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem