Lecture 18: Transport Layer Security Protocol Part 2 Flashcards
Give an overview of the TLS handshake protocol
1) Specify which version of TLS they will use (mostly TLS 1.2or 1.3)
2) Decide on which cipher suites they will use
3) Authenticate the identity of the server via the server’s public key and the certificate authority’s digital signature
4) Generate session keys in order to use symmetric encryption after the handshake is complete
Give the steps for the TLS handshake protocol with RSA key exchange
See slide 6 in set 18
Give the steps for the TLS handshake protocol with Diffie-Hellman key exchange
See slide 7 in set 18
Give an overview of the TLS record protocol
guarantees confidentiality and integrity of application data using the session keys created during the handshake
1) dividing outgoing messages into manageable blocks and re-assemble incoming messages
2) (optional) compress outgoing blocks and decompress incoming blocks
3) apply a MAC to outgoing messages and verify incoming messages using the MAC
4) encrypt outgoing messages and decryption incoming messages
When the TLS Record Protocol is complete, where does the outgoing encrypted data go?
its passed down to the TCP layer for transport
Comment on backward compatibility i.t.o TLS
Backward compatibility is a problem
- -> SSL 3.0 deprecated in 2015
- -> EOF for TLS 1.0 and 1.1 only in 2020
- -> TLS 1.2 still most widely supported -> supported by 995% websites
- -> TLS is slowly adopted -> 47.8% websites
What are the limitations of TLS i.t.o attacks?
Many servers do not support latest TLS versions and are not protected against known attacks
e.g. RC4 vulnerable and offered by TLS 1.2 but not 1.3 but 1.2 still common
Explain the BEAST attack on TLS
Exploiting non-standard use of IV in CBC mode encryption
–> IVs are chained from the previous ciphertexts
–> Allowing the attacker to recover the plaintext byte by byte
What does the BEAST attack stand for?
Browser Exploit Against SSL/TLS
Is the BEAST attack considered as a realistic attack?
Not any more
What is the mitigation strategy implemented by most browsers for the BEAST attack?
Splitting the plaintext into first byte and remainder to force a randomized IV including a MAC computation
Explain the CRIME and BREACH attacks on TLS
Side channel attacks based on compression
–> Different inputs result in different amounts of compression
–> CRIME exploits compression in TLS
–> BREACH exploits compression in HTTP
When was the idea of the CRIME and BREACH attacks raised?
2002
What were the stages of the BEAST attack (history)?
2002 –> theoretical weakness
2011 –> practical weakness
Only ransom IV from TLS 1.1
No longer considered as a realistic threat
Comment on switching off compression in TLS i.t.o the CRIME and BREACH attacks
Commonly recommended to switch off compression in TLS
–> compression not available in TLS 1.3
Switching off in HTTP results in big performance hit
What is the POODLE attack?
The POODLE threat is a man-in-the-middle attack that forces modern clients (browsers) and servers (websites) to downgrade the security protocol to SSLv3 from TLSv1 or higher. This is done by interrupting the handshake between the client and server; resulting in the retry of the handshake with earlier protocol versions
High level –> Forcing downgrade to SSL 3.0, and then running padding oracle attack
What does POODLE stand for?
Padding Oracle On Downgraded Legacy Encryption
What does the padding oracle in the POODLE attack enable?
an attacker to know if a message in a ciphertext is correctly padded
Comment on the POODLE attack becoming a theoretical idea
In 2002
Encryption in CBC mode can provide a padding oracle due to its error propagation properties
Applied to TLS in a variety of attacks
What is the main mitigation of the POODLE attack?
having a uniform error response, so that the attacker cannot distinguish padding errors from MAC errors
Where did the heartbleed bug arise from?
Implementation error in toolkit OpenSSL
Result from improper input validation based on missing bounds check in heart beat messages