SSL/TLS

Z Kiwiki
Verzia z 23:01, 21. marec 2010, ktorú vytvoril Juraj (diskusia | príspevky)
Skočit na navigaci Skočit na vyhledávání
Imbox draft.png
Toto je projekt, na ktorom sa ešte stále pracuje!!

Aj keď sú v tomto dokumente použiteľné informácie, ešte nie je dokončený. Svoje návrhy môžete vyjadriť v diskusii o tejto stránke.

Protokol TLS

Transport Layer Security (TLS) a jeho predchodca komunikačný protokol Secure Sockets Layer (SSL) sú oba protokoly, ktoré slúžia na šifrovanie dát. Protokoly slúžia na bezpečnú komunikáciu cez internet, hlavne na prehliadanie webu, odosielanie e-mailov, výmenu správ (tzv. instant messaging), alebo iné prenosy dát. Medzi TLS a SSL sú drobné rozdiely, ale v podstate protokol ostal ten istý.

Protokol TLS umožňuje aplikáciám komunikovať cez sieť spôsobom akým bol navrhnutý, aby predchádzal odpočúvaniu, manipulácií, falšovanie správ. TLS poskytuje koncovo bodovú autentifikáciu a súkromie v komunikácií cez internet používaním kryptografie. Typický len server je autorizovaný (to znamená že jeho identita je zaručená) zatiaľ čo klient ostáva neautorizovaný. To znamená, že koncový užívateľ, či už jednotlivec alebo aplikácia, si môže byť istý s kým komunikuje. Ďalšia úroveň zabezpečenia, v ktorej obidve strany "konverzácie" si môžu byť isté s kým komunikujú, je známa ako obojstranná autorizácia. Obojstranná autorizácia vyžaduje infraštruktúru verejného kľúča (public key infrastructure - PKI).

Obojstranná autorizácia

TLS klient a server dohodnú spojenie používaním procedúry tzv. podaním rúk , počas podania rúk sa klient a server dohodnú na rôznych parametroch používaných na vytvorenie bezpečnosti spojenia.

Parametre podania rúk (handshaking) sú nasledovné:

  • Podanie rúk začne vtedy, keď sa klient pripojí na server s povoleným TLS spojením a začne žiadať o bezpečné spojenie a poskytne zoznam podporovaných šifier a transformačných funkcií.
  • Server vyberie so zoznamu najsilnejšiu šifru a transformačnú funkciu, ktoré tiež podporuje a oznámi klientovi svoje rozhodnutie.
  • Server pošle späť svoju identifikáciu z digitálneho certifikátu. Certifikát obyčajne obsahuje meno serveru, dôveryhodnú certifikačnú autoritu a verejný šifrovací kľúč servera.
  • Klient môže kontaktovať server, ktorý vydal certifikát (certifikačnú autoritu) a overiť si ešte predtým ako začne proces, že certifikát je platný.
  • V objednávke musí server vygenerovať kryptografický kľúč pre bezpečné spojenie. Klient zašifruje náhodné číslo pomocou verejného kľúča servera a pošle výsledok serveru. Dešifrovať ho dokáže iba server pomocou svojho súkromného kľúča. To zabezpečí, že kľúč ostane pre tretiu stranu utajený, lebo iba klient a server majú prístup k týmto dátam.
  • Z náhodného čísla obe strany generujú materiál (kryptografické kľúče) na šifrovanie a dešifrovanie.

Posledný bod uzatvára podanie rúk a začína bezpečné spojenie, ktoré je šifrované a dešifrované vygenerovanými kryptografickými kľúčmi až pokiaľ sa spojenie neukončí.

Použitie protokolu TLS

Daný protokol sa napríklad používa v HTTPS (Hypertext Transfer Protokol Secure) čo je vlastne zabezpečená verzia HTTP, komunikačného protokolu www, (World Wide Webu). Bol vyvinutý firmou Netscape Communications Corporation pre poskytovanie overenia a šifrovanej komunikácie Namiesto používania jednoduchej textovej komunikácie, HTTPS šifruje prenos dát použitím SSL (Secure Socket Layer) protokolu alebo TLS (Transport Layer Security) protokolu a tým zaisťuje primeranú ochranu pred odpočúvaním komunikácie a pred útokom. Pre HTTPS komunikáciu sa štandardne používa TCP/IP port 443.Najslabším miestom HTTPS protokolu je závislosť vysokej bezpečnosti na digitálne podpísaných certifikátoch. Bez podpísaného certifikátu je tento protokol zraniteľný voči útokom. V praxi sú však často používané nepodpísané certifikáty, čím sa stráca bezpečnosť, ktorú HTTPS ponúka. Ďalej TLS beží vo vrstve pod aplikačným protokolom, ako sú (FTP, SMTP, NNTP či XMPP), a nad spoľahlivým transportným protokolom, napr. TCP, VPN, OPEnVPN, NAT ,VOIP. Dokáže pridať zabezpečenie ľubovoľnému protokolu používajúcemu spoľahlivé spojenia.



Princíp komunikácie a funkčnosti protokolov TLS

Bezpečnosť TLS

SSL - Secure Socket Layer