Hledat:

Invia.cz Last minute Tunisko Dovolená v Chorvatsku Pojeďte do Egypta Bulharsko Vydělávejte peníze s INVIA.CZ
 

Transport Layer Security

Internetové protokoly
Aplikační vrstva
Transportní vrstva
Síťová vrstva
Linková vrstva
Fyzická vrstva

Protokol Transport Layer Security (TLS) a jeho předchůdce, Secure Sockets Layer (SSL), jsou kryptografické protokoly, poskytující možnost zabezpečené komunikace na Internetu pro služby jako WWW, elektronická pošta, internetový fax a další datové přenosy. Mezi protokoly SSL 3.0 a TLS 1.0 jsou drobné rozdíly, ale v zásadě jsou stejné. Zde použitý termín „TLS“ se týká obou dvou, pokud není z kontextu zřejmý opak.


Obsah

[editovat] Popis

Protokol(y) TLS umožňují aplikacím komunikovat po síti způsobem, který zabraňuje odposlouchávání či falšování zpráv. Pomocí kryptografie poskytuje TLS svým koncovým bodům autentizaci a soukromí při komunikaci Internetem. Typicky je autentizován pouze server (tedy jeho totožnost je zaručena), zatímco klient zůstává neautentizován. To znamená, že koncový uživatel (ať člověk či aplikace, jako třeba webový prohlížeč) si může být jist s kým komunikuje. Další úroveň zabezpečení – při níž oba konce „konverzace“ mají jistotu s kým komunikují – je označována jako vzájemná autentizace. Vzájemná autentizace vyžaduje nasazení infrastruktury veřejných klíčů (PKI) pro klienty.

TLS zahrnuje tři základní fáze:

  1. dohodu účastníků na podporovaných algoritmech
  2. výměnu klíčů založenou na šifrování s veřejným klíčem a autentizaci vycházející z certifikátů
  3. šifrování provozu symetrickou šifrou

Během první fáze se klient a server dohodnou na používaných kryptografických algoritmech. Současné implementace podporují následující možnosti:

[editovat] Jak pracuje

Protokol TLS je založen na výměně záznamů. Každý záznam může být volitelně komprimován, může k němu být připojen autentizační kód (message authentication code, MAC) a může být zašifrován. Každému záznamu je přiřazen typ obsahu, který určuje protokol vyšší úrovně.

Při zahájení spojení vrstva záznamů obaluje jiný protokol – iniciační protokol (handshake protocol), jehož typ obsahu má hodnotu 22.

Typická inicializace probíhá následovně:

Dát si dohromady výše popsaný proces spojování TLS/SSL s typickým použitím prohlížeče může být poněkud obtížné. Pomozme si v lepším pochopení typického TLS/SSL spojení tím, co bývá obvykle označováno za šestikrokový SSL proces. SSL naváže stavové spojení dohodnuté výše popsanou iniciační procedurou mezi klientem a serverem. Během inicializace si oba vymění specifikace pro šifrování, které budou při komunikaci používat.

Prohlížeč může kontaktovat důvěryhodnou CA a ověřit pravost certifikátu, než bude pokračovat. Následně prohlížeč nabídne seznam šifrovacích algoritmů a hashovacích funkcí.

K vygenerování klíčů seance použitých pro zabezpečení spojení použije prohlížeč veřejný klíč serveru z certifikátu. Zašifruje jím náhodné číslo a zašle je serveru.

Tím končí handshake a začíná zabezpečené spojení, které je šifrováno a dešifrováno klíči seance po zbytek svého trvání.

Pokud je libovolný z těchto kroků neúspěšný, selže TLS/SSL handshake a nedojde k vytvoření spojení.


[editovat] Protokol SSL v3 a TLS záznamů

+ bity 0–7 8-15 16-23 24–31
0 Protocol Version (MSB) Version (LSB) Length (MSB)
32 Length (LSB) Zprávy protokolu
... Zprávy protokolu (pokračování)
... MAC (volitelně)
Protocol 
Tato položka identifikuje typ protokolu vrstvy záznamů obsažený v tomto záznamu.
   Dostupné typy protokolů jsou: 
     20 ChangeCipherSpec
     21 Alert
     22 Handshake
     23 Application
Version 
Identifikuje hlavní a dílčí verzi SSL pro obsaženou zprávu. Pro zprávu ClientHallo se nemusí jednat o nejvyšší verzi podporovanou klientem.
   Verze jsou: 3 | 0 SSLv3
               3 | 1 TLS 1.0
               3 | 2 TLS 1.1
Length 
Délka zpráv protokolu. Nesmí překročit 214 bajtů.
Zprávy protokolu 
Jedna nebo více zpráv identifikovaných položkou Protocol. Tato položka může být zašifrována v závislosti na stavu spojení.
MAC 
Kód ověřující autentičnost zprávy vypočítaný ze Zpráv protokolu doplněné o klíče. Položka může být zašifrována nebo může chybět, opět v závislosti na stavu spojení.


[editovat] Protokol ChangeCipherSpec

+ bity 0–7 8-15 16-23 24–31
0 20 Version (MSB) Version (LSB) 0
32 1 1 (CCS protocol type)


[editovat] Protokol Alert

+ bity 0–7 8-15 16-23 24–31
0 21 Version (MSB) Version (LSB) 0
32 2 Level Description
Level 
Položka identifikující úroveň výstrahy.
   Úrovně jsou: 
     1 Varování - spojení nebo bezpečnost mohou být nestabilní
     2 Fatální - spojení nebo bezpečnost mohou být kompromitovány nebo došlo k nenapravitelné chybě
Description 
Identifikuje typ zasílané výstrahy.
   Dostupné popisy jsou: 
     0 Close notify
    10 Unexpected message (fatal)
    20 Bad record MAC     (fatal)
    21 Decryption failed  (fatal, TLS only)
    22 Record overflow    (fatal, TLS only)
    30 Decompression failure (fatal)
    40 Handshake failure (fatal)
    41 No certificate    (SSL v3 only)
    42 Bad certificate   
    43 Unsupported certificate 
    44 Certificate revoked
    45 Certificate expired
    46 Certificate unknown
    47 Illegal parameter (fatal)
    48 Unknown CA        (fatal, TLS only)
    49 Access denied     (fatal, TLS only)
    50 Decode error      (fatal, TLS only)
    51 Decrypt error     (TLS only)
    60 Export restriction (fatal, TLS only)
    70 Protocol version   (fatal, TLS only)
    71 Insufficient security (fatal, TLS only)
    80 Internal error        (fatal, TLS only)
    90 User cancelled        (fatal, TLS only)
   100 No renegotiation      (warning, TLS only)


[editovat] Protokol Handshake

+ bity 0–7 8-15 16-23 24–31
0 22 Version (MSB) Version (LSB) Length (MSB)
32 Length (LSB) Message type Message length
64 Message length (cont.) Handshake message
... Handshake message Message type Message length
... Message length Handhshake message
Message type 
Identifikuje typ zprávy.
   Dostupné typy jsou: 
     0 HelloRequest
     1 ClientHello 
     2 ServerHello
    11 Certificate
    12 ServerKeyExchange
    13 CertificateRequest
    14 ServerHelloDone
    15 CertificateVerify
    16 ClientKeyExchange
    20 Finished
Message length 
Jedná se o tříbajtovou položku obsahující délku handshake dat, hlavička se nepočítá.

[editovat] Bezpečnost

TLS zahrnuje řadu bezpečnostních opatření:

[editovat] Aplikace

TLS běží ve vrstvě pod aplikačními protokoly, jako jsou HTTP, FTP, SMTP, NNTP či XMPP, a nad spolehlivým transportním protokolem, např. TCP. Dokáže přidat zabezpečení libovolnému protokolu používajícímu spolehlivá spojení (např. pomocí TCP), nicméně nejčastěji se používá pro HTTP k vytvoření HTTPS. Jeho prostřednictvím jsou zabezpečeny webové aplikace, jako je elektronická komerce či správa aktiv. Míra využití TLS v SMTP také roste (je definována v RFC 3207). Tyto aplikace využívají k ověření identity koncových bodů certifikáty s veřejnými klíči.

Počet serverů a klientů nativně podporujících TLS stále roste, nicméně v řadě z nich podpora stále chybí. Jako alternativu mohou uživatelé použít samostatné TLS produkty, jako je Stunnel. Obalové mechanismy jako Stunnel stavějí na schopnosti získat TLS spojení přímo jednoduchým připojením na samostatný port vyhrazený pro tento účel. Například implicitní TCP port pro HTTPS je 443, aby se odlišil od portu 80 pro obyčejné HTTP. Nicméně v roce 1997 Internet Engineering Task Force doporučilo, aby aplikační protokoly vždy zahajovaly činnost bez zabezpečení a místo samostatných portů nabídly způsob pro přechod na TLS. S tím se jednoduché balení aplikačních dat do TLS, jaké používá Stunnel, nedokáže vypořádat.

TLS lze také použít pro tunelování všech síťových protokolů a vytvoření VPN, jak to dělá OpenVPN. Řada výrobců v současnosti spojuje šifrovací a autentizační mechanismy TLS s autorizací. Koncem 90. let bylo vynaloženo značné úsilí na vývoj klientských technologií mimo prohlížeč, které by podporovaly aplikace typu klient/server. V porovnání s tradičními VPN technologiemi na bázi IPsec má TLS některé principiální výhody při procházení firewally a NATem, které usnadňují správu při větším počtu vzdálených uživatelů.

TLS se také ve stále větší míře používá jako standardní metoda ochrany SIP signalizace v aplikacích. TLS dokáže poskytnout autentizaci a šifrování pro SIP signalizaci spojenou s VoIP a dalšími aplikacemi.

 
Transport Layer Security v jiných jazycích: Deutsch, English, Español, Euskara, Suomi, Français, Bahasa Indonesia, Polski, Português, Română, Русский, Svenska, ไทย
Tento článek je převzat z české wikipedie - otevřené encyklopedie, originální článek naleznete na adrese: „http://cs.wikipedia.org/wiki/Transport_Layer_Security
Stránka byla naposledy upravena v Stránka byla naposledy editována 7. 10. 2008 v 09:12.
Veškerý text je dostupný za podmínek GNU Free Documentation License (Autorské právo pro podrobnosti).
Další služby: Portál | Katalog | Hledej | Zprávy | Počasí | Kurzy | Práce | Slovník | TV | Online hry | Java hry | SMS | Loga a melodie | Chat | Fórum | Kontakt