what is the goal of https?
to establish an encrypted session
i.e., the data you are sending is not visible
how do we achieve an encrypted session?
some ideas:
what is a man in the middle attack?
An attacker could be proxying the communication between the browser and the server. As we saw in the Diffie-Hellman key exchange, an attacker can talk to Alice and also talk to Bob, and thus can pretend to be both and read all the communication.
How do certificate authorities prevent man in the middle attacks?
Once a domain has a certificate, the domain can send this certificate to the browser, thus verifying its identity.
An attacker would not be able to produce a valid certificate because that would require splurging the tuple of upenn.edu and some public key under the secret key of some certificate authority. Because we’re using digital signatures, an adversary is not going to be able to create such forgeries unless they managed to compromise the secret key of some certificate authorities, which has happened in the past.
What is an X.509 certificate?
How does a CA validate web server?
This is tricky!
How do intermediate CAs help?
Browsers don’t trust intermediate CAs. So how does it work?
What’s the key difference between using RSA handshake or Diffie Hellman handshake for TLS 1.2?
in RSA, we’re using the public key for encryption; in DH, we’re using the public key for verifying signatures
what is forward secrecy?
if an attacker steals the long-term secret key of the web server (SK), it should not be able to read past sessions.
Which TLS handshakes are forward secret?
TLS-RSA:
– not forward secret. if sk is compromised, adversary can recover master secret of old sessions. thus, adversary can recover all keys of old sessions
TLS-DH
What are some important changes in TLS 1.3