Lecture 17: Transport Layer Security Protocol Part 1 Flashcards
Briefly outline the history of TLS
- TLS 1.0 –> 1999
- TLS 1.1 –> 2006, fixing problems with non-random IVs and exploitation of padding error messages
- TLS 1.2 –> 2008, allowing the use of standard authentication encryption rather than separating encryption and MAC
- TLS 1.3 –> 2018, separating key agreement and authentication algorithms for cipher suites
What is TLS?
- cryptographic services protocol based upon PKI and commonly used on the Internet
- often used to allow browsers to establish secure sessions with Web servers
What does TLS primarily run over?
TCP
Variant DTLA runs over datagram protocols
What was TLS designed for?
To secure reliable end-to-end services over TCP
What are the three higher level TLS protocols?
1) TLS handshake protocol
2) TLS alert protocol
3) TLS change cipher spec protocol
What is the general idea of the TLS handshake protocol?
to set up sessions
What is the general idea of the TLS alert protocol?
to signal events, such as failures
What is the general idea of the TLS change cipher spec protocol?
to change the cryptographic algorithms
What does TLS record protocol provide?
basic services to various higher level protocols
Give the protocol stack of TLS
See slide 8 in set 17
What are the two TLS connection services?
1) message confidentiality –> ensure that the message contents cannot be read in transit
2) message integrity –> ensuring that the receiver can detect if a message is modified in transmission
What are the TLS connection services possibly provided by?
symmetric encryption alg and a MAC
From TLS 1.2, what are the connection services provided with?
authentication modes (CCM, GCM)
What type of keys does the TLS handshake protocol establish?
symmetric session keys
Give the format of a TLS record using in the record protocol
See slide 11 in set 17
What can the content type in the header of a TLS record i.t.o the TLS record protocol be?
1) change-cipher-spec
2) alert
3) handshake
4) application-data
What are possible protocol versions in the header of a TLS record i.t.o the TLS record protocol?
- major version: 3 for TLS
- minor version:
- 1 for TLS 1.0
- 2 for TLS 1.1
- 3 for TLS 1.2
- 4 for TLS 1.3
What does the length field in the header of a TLS record contain?
length of the data, in octets
What is the fragmentation operation of the TLS record protocol?
each application layer message is fragmented into blocks of 2^14 bytes or less
Comment on the compression operation of the TLS record protocol
- default compression algorithm is null for TLS 1.2 (thus optionally applied)
- removed in TLS 1.3
Comment on the authenticated data of the TLS record protocol
consisting of the (compressed) data, header and an implicit record sequence number
Comment on the plaintext of the TLS record protocol
compressed data and MAC (if present)
Comment on the session keys of the TLS record protocol
computed during handshake protocol, for either MAC and encryption algorithms, or authenticated encryption algorithm
Comment on the specification of the TLS record protocol
encryption and MAC algorithms are specified in the negotiated cipher suite
What type of MAC is used in all TLS versions?
HMAC, using a negotiated hash function
What versions of TLS allow SHA-2?
only from TLS 1.2
Which hash functions have been discarded from TLS 1.3?
MD5 and SHA-1
Comment on the encryption algorithm used in TLS
Either a negotiated block cipher in CBC mode or a stream cipher
For block ciphers, padding is applied after MAC to make a multiple of the cipher block size
What is the most common block cipher for TLS?
AES
Which ciphers have been discarded by TLS 1.3?
3DES and RC4
What can be used instead of encryption and MAC from TLS 1.2?
authenticated encryption algorithm
What are the allowed authentication methods in TLS 1.3?
Only AES with either CCM or GCM modes in TLS 1.3
Where else is authenticated additional data i.t.o TLS record protocol?
header and implicit record sequence number