Makes you think who controls the root certificates we are all using by default and how those can be used to intercept traffic without us knowing
Privacy
Privacy is the ability for an individual or group to seclude themselves or information about themselves, and thereby express themselves selectively.
Rules
- Don't do unto others what you don't want done unto you.
- No Porn, Gore, or NSFW content. Instant Ban.
- No Spamming, Trolling or Unsolicited Ads. Instant Ban.
- Stay on topic in a community. Please reach out to an admin to create a new community.
It almost makes me want to self sign my important services and import it on all my devices, though, not trusting the rest would make browsing the internet quite annoying.
I wonder how we can protect against something like this.
You can run your own private CA and sign things you access with it.
Another option is short lived certificates. If your certificate is only valid for 3 months and the certificate is compromised only the traffic in the certificate validity period is effected.
I believe that is the reason Let's Encrypt limits certificates to 3 months and google is pushing CA to stop issuing multi year certificates.
I'm trying to think of a way to make it obvious that there's another 'trusted' cert being served by a man in the middle. If I sign and trust my own, then no one else would have one from that chain.
However, the problem is still there. If someone MITM me, they can serve a Let's Encrypt cert and I'd trust it. If I don't trust any but my own cert then I can't really browse the web.
This is specifically what HSTS and certificate pinning does.
When those features are enabled your app or browser is told remember this certificate fingerprint for this domain and throw an error if a different cert is used.
There is also a draft standard where you put your details of your certificate in a DNS record so if a new chain is used a cert warning is thrown. But I don't remember the specifics.
CA will have transparency, security and trusts requirements before the root certificates are added to the certificate stores of platforms.
There has been a few cases where browsers have removed CAs from the trust stores because of rouge certificate being issued by accident or on purpose.
I recall one time a middle eastern CA issued a company a certificate for Gmail by accident and their business collapsed after it was reported to the browser makers.
There are technologies you can use like HSTS or certificate pinning which will prevent rouge certificates from being used to MitM your platform.
Pssst: it's rogue, not rouge.