Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaLajos Orosz Megváltozta több, mint 10 éve
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
SSL Record Protocol SSL Handshake Protocol SSL Handshake Protocol SSL Change Cipher Spec Protocol SSL Change Cipher Spec Protocol SSL Alert Protocol SSL Alert Protocol applications (e.g., HTTP) applications (e.g., HTTP) TCP IP Az SSL felépítése
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-byteos közös titok a 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 MACkitöltéstípus fragmentáció tömörítés Üzenet azonosítás és titkosítás verzióhossz típusverzióhossz típusverzióhossz SSL titkosítatlan szöveg SSL tömörített SSL titkosított
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 server_hello certificate server_key_exchange certificate_request server_hello_done certificate client_key_exchange certificate_verify change_cipher_spec finished change_cipher_spec finished 1. fázis: Session ID, kulcscsere,MAC és titkosítási algo- Ritmusok és kezdeti véletlenszámok cseréje 2. fázis: A szerver elküldi a tanúsítványát esetleg elkéri a Kliens tanúsítványát 3. fázis: A kliens ha kérték elküldi a tanúsítványát. Kulcs cserebere 4. Fázis: Titkosítási beállítások cseréje, handshake vége
13
Szolgáltatások https443/tcp http + TLS/SSL smtps465/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 ServerName www.teszt.hu DocumentRoot /var/www/teszt/www CustomLog /var/log/apache2/www_teszt_hu.log clf
15
Apache 2 SSL Listen 443 # Include the SSL module LoadModule ssl_module /usr/lib/apache2-prefork/mod_ssl.so ServerName www2.teszt.huwww2.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 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 SSLRequireSSL Csak általam kiadott cerificate-tel SSLVerifyClient require SSLVerifyDepth 1 SSLCACertificateFile conf/ssl.crt/ca.crt
17
Teszt Böngészőből: https://www.teszt.hu:443https://www.teszt.hu openssl s_client –connect www.teszt.hu:443 www.teszt.hu:443 Wireshark
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.