Which is why the pinning bit comes in. If I connect to server X at home, get their self-signed cert and then connect later at starbucks on a MITM'd connection, I will know something is wrong.
Best solution? Not by a long shot, but it is a reasonably simple one to implement and does improve things.
You need to complete that sentence before it is a real suggestion: "and either the keys were changed or there is an active MITM. The browser then ..".
It would not be acceptable to trade the ability to change SSL keys for a trust-on-first-use model. There are solutions to this of course, but also tradeoffs. These needs to be taken into account.
Comments
Which is why the pinning bit comes in. If I connect to server X at home, get their self-signed cert and then connect later at starbucks on a MITM'd connection, I will know something is wrong.
Best solution? Not by a long shot, but it is a reasonably simple one to implement and does improve things.
You need to complete that sentence before it is a real suggestion: "and either the keys were changed or there is an active MITM. The browser then ..".
It would not be acceptable to trade the ability to change SSL keys for a trust-on-first-use model. There are solutions to this of course, but also tradeoffs. These needs to be taken into account.