SSLv2, SSLv3, TSLv1 Čolakov Todor KIV / PSI 1. května 2005
Úvod Cíl vytvoření bezpečného spojení Původ firma Netscape Verze SSL 2.0 SSL 3.0 - opravuje mnoho chyb SSL 2.0 TSL 1.0 - velmi podobná SSL3.0
Úvod SSL 2.0 packet LENGTH + 8000h TYPE VERSION DATA SSL 3.0 a TSL 1.0 packet TYPE VERSION LENGTH DATA
Popis vrstev Application SSL handshake protocol SSL record layer TCP / IP Record protocol Šifruje/Dešifruje data Transparetní pro vyšší vrstvy Handshake protokol Vytvoření bezpečného spojení Alert protokol Ohlašuje chybu Change cipher spec protokol Oznamuje změnu kódování
Popis vrstev Application SSL handshake protocol SSL record layer TCP / IP Record protocol Šifruje/Dešifruje data Transparetní pro vyšší vrstvy Handshake protokol Vytvoření bezpečného spojení Alert protokol Ohlašuje chybu Change cipher spec protokol Oznamuje změnu kódování
Popis vrstev Application SSL handshake protocol SSL record layer TCP / IP Record protocol Šifruje/Dešifruje data Transparetní pro vyšší vrstvy Handshake protokol Vytvoření bezpečného spojení Alert protokol Ohlašuje chybu Change cipher spec protokol Oznamuje změnu kódování
Popis vrstev Application SSL handshake protocol SSL record layer TCP / IP Record protocol Šifruje/Dešifruje data Transparetní pro vyšší vrstvy Handshake protokol Vytvoření bezpečného spojení Alert protokol Ohlašuje chybu Change cipher spec protokol Oznamuje změnu kódování
Record protocol Rozdělí data na segmenty Zkomprimuje Přidá hashfunkci + v případě potřeby padding Zašifruje Přidá hlavičku
Handshake protocol Client Client Hello Server 0040.... 80 67 01 03 00 00 4E 00 00 00 10 00 00 04 0050 01 00 80 00 00 05 00 00 0A 03 00 80 07 00 C0 00 0060 00 39 00 00 38 00 00 35 00 00 16 00 00 13 00 00 0070 33 00 00 32 00 00 2F 00 00 66 08 00 80 06 00 40 0080 00 00 65 00 00 64 00 00 63 00 00 62 00 00 61 00 0090 00 60 00 00 15 00 00 12 00 00 09 EF 56 D7 E7 9C 00A0 6A 73 6D EB EA EB 77 8D 3F D1 5C Length: 103 Handshake Message Type: Client Hello (1) Version: SSL 3.0 (0x0300) Cipher Spec Length: 78 Session ID Length: 0 Challenge Length: 16 Cipher Specs (26 specs) Challenge
Handshake protocol Client Server Hello Certificate ServerKeyExchange CertificateRequest ServerHelloDone Server 0040.... 16 03 00 00 4A 02 00 00 46 03 00 42 51 15 0050 8A E3 B8 86 7F A4 D6 8E 29 37 67 B3 92 00 04 4C 0060 43 4A 3B 78 F6 E7 E7 5E 90 69 1D F3 F6 20 EF E8 0070 0D FE E9 0A A5 DD 1B 76 E4 8F 66 23 73 A4 76 3A 0080 C3 17 FE 55 C4 CC 35 7A A6 1B 14 E1 82 69 00 04 0090 00 Content Type: Handshake (22) Version: SSL 3.0 (0x0300) Length: 74 Handshake Type: Server Hello (2) Length: 70 Random.gmtunixtime: Random.bytes Session ID Length: 32 Session ID (32 bytes) TLS_RSA_WITH_RC4_128_MD5 Compression Method: null (0)
Handshake protocol Client ServerHello Certificate ServerKeyExchange CertificateRequest ServerHelloDone Server 0090.. 16 03 00 04 A4 0B 00 04 A0 00 04 9D 00 04 9A... 00A0 30 82 04 96 30 82 02 7E A0 03 02 01 02 02 02 00 0...0..... 00B0 86 30 0D 06 09 2A 86 48 86 F7 0D 01 01 05 05 00.0...*.H... 00C0 30 7A 31 0B 30 09 06 03 55 04 06 13 02 63 7A 31 0z1.0...U...cz1 00D0 0C 30 0A 06 03 55 04 0A 13 03 7A 63 75 31 11 30.0...U...zcu1.0 00E0 0F 06 03 55 04 0B 13 08 53 65 72 76 69 63 65 73...U...Services 00F0 31 0B 30 09 06 03 55 04 0B 13 02 43 41 31 3D 30 1.0...U...CA1=0 0100 3B 06 03 55 04 03 13 34 52 6F 6F 74 20 5A 43 55 ;..U...4Root ZCU 0110 2D 43 49 56 20 43 65 72 74 69 66 69 63 61 74 69 -CIV Certificati 0120 6F 6E 20 41 75 74 68 6F 72 69 74 79 20 2D 20 54 on Authority - T 0130 65 73 74 20 43 6C 61 73 73 20 43 41 30 1E 17 0D est Class CA0... 0140 30 33 30 39 31 30 31 36 32 37 35 33 5A 17 0D 30 030910162753Z..0 0150 35 30 39 31 30 31 36 32 37 35 33 5A 30 81 A1 31 50910162753Z0..1 0160 0B 30 09 06 03 55 04 06 13 02 43 5A 31 17 30 15.0...U...CZ1.0....
Handshake protocol Client ServerHello Certificate ServerKeyExchange CertificateRequest ServerHelloDone Server 0530.................... 16 03 00 00 04 0E 0540 00 00 00 Content Type: Handshake (22) Version: SSL 3.0 (0x0300) Length: 4 Handshake Protocol: Server Hello Done Handshake Type: Server Hello Done (14) Length: 0
Handshake protocol Client Certificate ClientKeyExchange CertificateVerify [ChangeCipherSpec] Finished Server 0040.... 16 03 00 00 84 10 00 00 80 0D A9 91 62 D1 0050 77 2F F9 BA D3 A6 A7 18 8B 92 95 F6 B0 0C 9F EC 0060 32 F0 55 39 6E 2F 18 28 2E E4 D9 9B 03 B5 B5 8C 0070 22 27 43 FD BC 52 FF 7F 51 D7 79 DA 5F 23 6E BA 0080 CC 5E B2 02 B6 D4 2B 6B 89 F4 D7 21 FE E3 AF C0 0090 74 6B D8 F5 AC 18 EC D6 8B E7 2B E8 66 8E 52 C7 00A0 E9 03 28 2E 8B 42 7C ED 97 57 48 73 37 A1 D1 F5 00B0 1C D4 35 97 25 92 55 71 1E 1F 59 DF 04 A3 D4 EB 00C0 45 BF 8F 5D 57 CB 27 EB E7 FE 45 Content Type: Handshake (22) Version: SSL 3.0 (0x0300) Length: 132 Handshake Protocol: Client Key Exchange Handshake Type: Client Key Exchange (16) Length: 128
Handshake protocol Client Certificate ClientKeyExchange CertificateVerify [ChangeCipherSpec] Finished Server 00C0...................... 14 03 00 00 01 00D0 01 Content Type: Change Cipher Spec (20) Version: SSL 3.0 (0x0300) Length: 1 Change Cipher Spec Message
Handshake protocol Client Certificate ClientKeyExchange CertificateVerify [ChangeCipherSpec] Finished Server 00D0.. 16 03 00 00 38 1D 28 3C 0D 78 B0 E4 28 33 32 00E0 1B D0 B8 75 56 C7 ED 73 CB 55 13 C9 9D 92 4A 2E 00F0 E2 E9 14 60 2F 7E D2 A2 E1 D3 1B 53 5C FF 4F 9E 0100 F7 5A 17 01 7E C4 44 C4 A6 75 69 58 29 71 Content Type: Handshake (22) Version: SSL 3.0 (0x0300) Length: 56 Handshake Protocol: Encrypted Handshake Message
Handshake protocol Client [ChangeCipherSpec] Finished Server Application data 0040.... 17 03 00 01 8D A2 1D E5 3D 6B AF E1 C3 CD 0050 15 C9 D8 E6 40 D4 30 A8 48 19 7E 30 EF 69 6E 37 0060 E9 41 87 DD 8E D0 18 47 E4 66 77 98 2C 71 1B 7B 0070 9C 64 57 35 95 B2 7B 4D 8C E4 17 49 F6 69 B0 30 0080 BA E4 DC CA 44 17 9B 1E 64 53 0A B9 86 E4 F2 70 0090 AC 9E AB F6 31 18 04 EB 05 83 90 F8 8E BC 10 AB 00A0 24 50 8F 8C C3 8F D6 5F 8C A4 47 C8 B5 4D 50 B6 00B0 EB 19 48 8C 05 EB D5 5D 8C 9A 2C FB 21 69 4A D2 00C0 AE E0 81 E9 01 6E 50 C2 BB FA F3 20 67 31 8D 88 00D0 CF 89 F3 4A 84 E5 C8 42 15 74 91 BB AE 02 DD DD 00E0 87 3B AF 4A 6A 5C 86 B7 48 E3 88 D8 61 58 6C A3 00F0 10 EC 3A FC AA 2C EC 99 33 37 CA 8F 8D 6F 84 80 0100 49 7D 72 52 66 30 9C 57 71 99 B3 9F B4 23 D1 B3 Content Type: Application Data (23) Version: SSL 3.0 (0x0300) Length: 397 Application Data
Alert protocol Zajišt uje předání chyby druhé straně Zpráva obsahuje závažnost chyby a její popis Závažnost má 2 úrovně warning fatal Příklad: Clientem odmítnutý certifikát 147.228.67.106 147.228.57.30 SSLv2 Client Hello 147.228.57.30 147.228.67.106 SSLv3 Server Hello, Certificate, Server Key Exchange, [Unreassembled Packet] 147.228.57.30 147.228.67.106 SSLv3 Continuation Data, [Unreassembled Packet] 147.228.67.106 147.228.57.30 SSLv3 Alert (Level: Fatal, Description: Certificate Unknown)
Change cipher specification protocol Oznamuje změnu kódování 00C0...................... 14 03 00 00 01 00D0 01 Content Type: Change Cipher Spec (20) Version: SSL 3.0 (0x0300) Length: 1 Change Cipher Spec Message
Útoky Man in the middle Slovíkové útoky Útok na handshake Obnovení session Vynucení SSL2 Změna úrovně zabezpečení...
Prameny SSLv3 RFC TTLv1 RFC 2246 www.svetsiti.cz Ethereal