1 / 17

SSL és TLS

SSL és TLS. Mi a TLS. SSL – Secure Socket Layer TLS – Transport Layer Security Biztonságos transport layer a böngésző és a szerver között SSL v3.0 : Internet Draft (1996) SSL : Netscape 3.0-t megvalósítják a böngészők TLS : RFC 2246 TLS = „ SSL v3.1 ”. Az SSL felépítése. SSL

chiara
Download Presentation

SSL és TLS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SSL és TLS

  2. Mi a TLS • SSL – Secure Socket Layer • TLS – Transport Layer Security • Biztonságos transport layer a böngésző és a szerver között • SSL v3.0 : Internet Draft (1996) • SSL : Netscape 3.0-t megvalósítják a böngészők • TLS : RFC 2246 • TLS = „SSL v3.1”

  3. Az SSL felépítése SSL Handshake Protocol SSL Change Cipher Spec Protocol SSL Alert Protocol applications (e.g., HTTP) SSL Record Protocol TCP IP

  4. Egyes részek • SSL Handshake Protocol • Megállapodás a titkosítási algoritmusokban és paraméterekben • Kulcs csere • Szerver és esetleg kliens azonosítása • SSL Record Protocol • fragmentáció • tömörítés • üzenet azonosítás és integritás • titkosítás • SSL Alert Protocol • hibaüzenetek (fatális hibák és figyelmeztetések) • SSL Change Cipher Spec Protocol • SSL handshake végének jelzése

  5. Session • SSL session = kliens és szerver összerendelése • Állapottal rendelkezik: biztonsági algoritmusok és paraméterek • Több biztonságos csatornát is tartalmazhat • Az állapot közös az egyes csatornák között • Előny: nem kell a drága egyeztetés sokszor

  6. Session állapot • session azonosító • Tetszőleges byte sorozat – a szerver választja • partner tanusítvány • A partnet X509 tanusítványa • Lehet üres • tömörítési mód • titkosító megadása • egykulcsos titkosító algoritmus (e.g., null, DES, 3DES, …) • Message Authentication Code algoritmus (e.g., MD5, SHA-1) • titkosítás tulajdonságai (e.g., hash méret, …) • master secret • 48-byteosközös titoka kliens és a szerver között • Újraindítható-e • Hasznáható-e újabb kapcsolatok létrehozására • Kapcsolat állapotok

  7. SSL Record Protokoll fragmentáció SSL titkosítatlan szöveg típus verzió hossz tömörítés SSL tömörített típus verzió hossz Üzenet azonosítás és titkosítás SSLtitkosított típus verzió hossz MAC kitöltés

  8. Fejléc • típus • A további részt feldolgozó legmagasabb szintű protokoll • értékei: • titkosítási specifikáció változtatás • figyelmezetés • handshake • alkalmazás adat • verzió • SSL verzió, (3.0) • hossz • Byteban (max: 214+2048)

  9. Titkosítás • Blokk kódolók (CBC mode kitöltéssel) • RC2_40 • DES_40 • DES_56 • 3DES_168 • IDEA_128 • Fortezza_80 • stream kódolók • RC4_40 • RC4_128

  10. CBC mód

  11. SSL Alert protokoll • 2 db 1 byte-os mező • Első mező: fatális vagy csak figyelmeztetés • Második maga az üzenet: • fatális • Váratlan üzenet • A record MAC nem stimmel • Kitömörítési hiba • Handshake nem sikerült • Illegális paraméter • figyelmeztetés • Bezárási értesítés • Nincs tanusítvány • Rossz tanusítvány • Nem támogatott tanusítvány • Visszavont tanusítvány • Lejárt tanusítvány • Ismeretlen tanusítvány • Fatális hiba esetén • Kapcsolat megszakítása • session ID érvénytelenítése nem lehet új kapcsolatot létrehozni benne

  12. SSL Handshake protokol client_hello 1. fázis: Session ID, kulcscsere,MAC és titkosítási algo- Ritmusok és kezdeti véletlenszámok cseréje server_hello certificate 2. fázis: A szerver elküldi a tanúsítványát esetleg elkéri a Kliens tanúsítványát server_key_exchange certificate_request server_hello_done certificate 3. fázis: A kliens ha kérték elküldi a tanúsítványát. Kulcs cserebere client_key_exchange certificate_verify change_cipher_spec finished 4. Fázis: Titkosítási beállítások cseréje, handshake vége change_cipher_spec finished

  13. Szolgáltatások • https 443/tcp http + TLS/SSL • smtps 465/tcp smtp + TLS/SSL smtp 25/tcp STARTTLS kulcsszó (RFC 2487) • imaps 993/tcp imap4 + TLS/SSL imap4 143/tcp STARTTLS kulcsszó (RFC 2595) • pop3s 995/tcp pop3 + TLS/SS pop3 110/tcp STLS kulcsszó (RFC 2595) • ldaps 636/tcp ldap + TLS/SSL • ircs 994/tcp irc + TLS/SSL • nntps 563/tcp nntp + TLS/SSL

  14. Apache 2 SSL • SSL nélkül Listen 80 <VirtualHost *:80> ServerName www.teszt.hu DocumentRoot /var/www/teszt/www CustomLog /var/log/apache2/www_teszt_hu.log clf </VirtualHost>

  15. Apache 2 SSL Listen 443 # Include the SSL module LoadModule ssl_module /usr/lib/apache2-prefork/mod_ssl.so <VirtualHost *:443> ServerName www2.teszt.hu DocumentRoot /srv/www/teszt2/www CustomLog /var/log/apache2/www.log clf # Minimal SSL configuration SSLEngine On SSLCertificateFile /etc/apache2/ssl.crt/teszt.crt SSLCertificateKeyFile /etc/apache2/ssl.key/teszt.key </VirtualHost> • Directory-k létrehozása umask 022 mkdir /etc/apache2/conf/ssl.key mkdir /etc/apache2/conf/ssl.crt mkdir /etc/apache2/conf/ssl.crl • Saját aláírású cert létrehozása openssl req \ -new \ -x509 \ -days 30 \ -keyout /etc/apache2/conf/ssl.key/teszt.key \ -out /etc/apache2/conf/ssl.crt/teszt.crt \ -subj '/CN=Test-Only Certificate'

  16. Apache 2 finomítás • Erőset csak SSLProtocol -all +SSLv2 SSLCipherSuite SSLv2:+HIGH:+MEDIUM:+LOW:+EXP • Csak SSL-el elérhető directory <Directory /var/www/teszt/www/protected> SSLRequireSSL </Directory> • Csak általam kiadott cerificate-tel SSLVerifyClient requireSSLVerifyDepth 1SSLCACertificateFile conf/ssl.crt/ca.crt

  17. Teszt • Böngészőből: https://www.teszt.hu:443 • openssl s_client –connect www.teszt.hu:443 • Wireshark

More Related