Professional Documents
Culture Documents
3
SSL/TLS History NETWORKS
2006 2008
4
The SSL with its (sub) layers and (sub) protocols NETWORKS
5
SSL/TLS sub layers and protocols NETWORKS
HANDLES COMMUNICATION
WITH THE APPLICATION
Protocols
INITIALIZES COMMUNCATION
BETWEEN CLIENT & SERVER
HANDLES DATA
COMPRESSION and
transfers TLS messages
6
SSL/TLS Main principles NETWORKS
8
Public/Private (RSA) Key functionality NETWORKS
10
TLS: Key Exchange Call Flow NETWORKS
11
TLS: Data Integrity NETWORKS
12
Message Authentication Code (MAC, HMAC) NETWORKS
15
TLS: Authentication NETWORKS
A B
Certificate
Certificate
16
Handshake Protocol NETWORKS
17
The SSL record processing NETWORKS
18
SSL Record Protocol Elements NETWORKS
19
SSL Record Structure NETWORKS
20
Record Header NETWORKS
21
Handshake Protocol Messages NETWORKS
22
Handshake Protocol Message Types NETWORKS
23
SSL Messages
NETWORKS
ACTIVATE
ENCRYPTION
CLIENT PORTION ( SERVER CHECKS OPTIONS )
DONE ACTIVATESERVER
ENCRYPTION
( CLIENT CHECKS OPTIONS ) SERVER PORTION
DONE
NOW THE PARTIES CAN USE SYMMETRIC ENCRYPTION
24
Handshake Protocol - Detailed NETWORKS
25
Handshake Protocol – Detailed (Cont.) NETWORKS
26
Resuming a Session NETWORKS
27
Client Hello
NETWORKS
Protocol version
SSLv3(major=3, minor=0)
TLS (major=3, minor=1)
Random Number
32 bytes
First 4 bytes, time of the day in seconds, other 28 bytes random
Prevents replay attack
Session ID
32 bytes – indicates the use of previous cryptographic material, maybe null
in 1st Client Hello
CipherSuites
A list of cryptographic parameters that the client can support.
Compression algorithm
Not used (null) 28
Client Hello - Cipher Suites
NETWORKS
29
Block vs. Stream Ciphers NETWORKS
30
ClientHello Message Structure NETWORKS
31
Server Hello NETWORKS
Version
SSLv3(major=3, minor=0)
TLS (major=3, minor=1
Random Number
32 byte random number, protects against handshake replay
Session ID
Provided to the client for later resumption of the session
Cipher suite
Usually picks client’s best preference – No obligation
Compression method
Null
32
ServerHello Message Structure NETWORKS
33
Certificates NETWORKS
35
X.509: Certificate Content (Cont.) NETWORKS
37
Digital Signature in Action (e.g. certificate verification) NETWORKS
Sender side:
Receiver side:
38
Issuer and Subject Name format NETWORKS
40
Validating a Certificate NETWORKS
41
SSL Messages - reminder
NETWORKS
ACTIVATE
ENCRYPTION
CLIENT PORTION ( SERVER CHECKS OPTIONS )
DONE ACTIVATESERVER
ENCRYPTION
( CLIENT CHECKS OPTIONS ) SERVER PORTION
DONE
NOW THE PARTIES CAN USE SYMMETRIC ENCRYPTION
42
Client Key Exchange - Assymetric encryption of Client Premaster secret NETWORKS
Premaster secret
Created by client; used to “seed” calculation of encryption
parameters
RSA: 2 bytes of SSL version + 46 random bytes
D.H.: Special algorithm
Sent encrypted to server using server’s public key
43
ClientKeyExchange Message Structure (RSA) NETWORKS
Master secret
Generated by both parties from premaster secret and
random values generated by both client and server
Key material
Generated from the master secret and shared random
values
Encryption keys
Extracted from the key material
45
SSL/TLS Master Secret Generation (using premaster secret) NETWORKS
46
TLS Key materials generation NETWORKS
47
TLS Pseudorandom function NETWORKS
48
Change Cipher Spec & Finished Messages NETWORKS
49
ChangeChiperSpec and Alert “Protocols” NETWORKS
CCS:
Alert:
50
Finished Message Structure NETWORKS
51
Application Data Message (Stream Cipher) Structure NETWORKS
52
TLS connection states NETWORKS
Pending Active
Read Encr Key= Encr Key=
MAC= MAC=
Secret= Secret=
Write Encr Key= Encr Key=
MAC= MAC=
Secret= Secret=
54
TLS connection states (cont.) NETWORKS
55
PKI NETWORKS
56
PKI standards - protocols NETWORKS
58
SCEP - Simple Certificate Enrollment Protocol NETWORKS
61
TLS version 1.2 enhancements NETWORKS
62
NETWORKS
Thank You