3 ms·
EDIT: I was mistaken about something fundamental in how TLS operates. Unchanged question included below: I have an amateurish question. Please correct me with
by niftich 10y ago
EDIT: I was mistaken about something fundamental in how TLS operates. Unchanged question included below:
I have an amateurish question. Please correct me with counterpoints if I'm mistaken.
In an attempt to 'explain like I'm five', HPKP adds an additional checksum, so that the server can say, 'if you see any certs whose Subject-Public-Key-Info doesn't match this checksum, those aren't me, because I generated this checksum off of my cert's Subject-Public-Key-Info.
But since the Subject-Public-Key-Info is (by definiton) public, a CA could issue an owner-unsolicited cert to the same site, containing the same Subject-Public-Key-Info, and which will pass pin validation and allow the site to be impersonated [1]. This may happen if the CA is rogue, or if the CA makes a mistake and issues a certificate to some bad actor other than the actual site operator.
So if HPKP is designed to protect against CA errors (malicious or accidental), how can it do that when it can't protect against CA errors, malicious or accidental?
[1] https://tools.ietf.org/html/rfc7469#section-4.5 https://tools.ietf.org/html/rfc7469#section-4.5
- yuubi 10y agoIf the attacker doesn't have the private key that matches the Subject-Public-Key-Info, then he won't be able to impersonate your server given such a cert. (If he has, then there's no need to produce a replacement cert; the official one is good enough).