6- crypto applications: SSL/TLS, Kerberos Flashcards
Services provided by primitives
Encryption - C
Hash - DI/2
MAC - DI, DOA, NR/2
Dsign - DI, DOA, NR
Primitives that cannot be used for services
MAC - not C
Dsign - not C
TLS
main security protocol
Primitives of TLS
- PK crypto - to establish symmetric keys
- Dsign - EA through signed certificates -> EA
- MACs - DOA -> EA
- Sym Enc. -> C
- hash -> MACs, Dsigns, key derivation
Cipher suite
set of primitives used for communication
TLS parts
1- handshake protocol - agreement b/w entities:
- cipher suite
- establish EA
- establich keys for securing the channel
2- record protocol - implement secure channel:
- format data (blocks etc)
- compute MACs from data
- encrypt data
TLS handshake protocol
1- client request
2- server response
3- pre-master secret transfer
4- client finished
5- server finished
Client request
- sesion ID
- pseudorandom r
- list of ciphersuits
Server response
- session ID
- pseudorandom r (server’s freshness)
- cipher-suite from client’s list
- copy of servers PK certificate (+its chain)
- Ephemeral DH for establishing keys => fresh set of params for it
- client checks validity of server’s PK certificate
- if eph DH => client verifies dsign on the DH params
Pre-master secret transfer
- need to agree on secret Kp
- RSA: client pseudorandomly generates Kp, encrypts with servers PK, sends to server
- Eph. DH => client generates fresh DH key pair, sends public part to server, then both compute DH secret Kp
Key derivation
1- both use key derivation function:
f (rc, Kp), f (rs, Kp) => Km
2- both use Km for MAC and encryption
Client finished
1- client computes MAC (HMAC) on the has of messages sent, encrypts, sends to server
Server finished
1- server checks MAC received from the client
2- server computes MAC on hash of all sent messages
3- server encrypts MAC and sends to client
client checks MAC from server
TSL with client authentication
not always required
after pre-master secret transfer:
client authentication data: client sends a copy of its PK certificate to the server
- PK = verification key
- client hashes all protocol messages, signs them with client’s signature key
- server checks validity of client’s certificate
- server verifies clients Dsign at the end
TSL record protocol
derivation of data:
- symmetric session keys
- symmetric MAC keys
- any required IVs
derivation: Km is input, rc and rs are inputs