Your web browser trusts a lot of certification authorities and chained sub-authorities, and it does so blindly. "Subordinate or intermediate certification authorities" are a little known device: The root CAs in your browser can delegate permission to issue certificates to an unlimited amount of subordinate CAs (SCA) just by signing their certificate, not by borrowing their precious private key to them. You can even buy yourself such a CA from GeoTrust or elsewhere. It is unclear how many intermediate certification authorities really exist, and yet each of them has god-like power to impersonate any https web site using a Man in the Middle (MITM) attack scenario. Researchers at Princeton are acknowledging this problem and recommending Certificate Patrol. Revealing the inner workings of X.509 to end users is still deemed too difficult, but only getting familiar with this will really help you get in control. That's why Certificate Patrol gives you insight of what is happening.

Developer Comments.

You'll see certificate information pop up whenever you visit a new https: website, including https://addons.mozilla.org for example. "New" is anything Patrol hasn't seen and stored yet. You are also prompted whenever a web site updates its certificate and given the opportunity to compare the two certificates side by side, line by line. See the screenshot for an example. Even if you do not fully understand what is shown to you, you get a chance of distinguishing legitimate from suspicious changes. Here's a little list of things to look out for:
  1. If the old certificate is about to expire (Validity / Expires On), it was necessary to replace it with a new one.
  2. In most cases web sites keep using the same certification authority (Issued By) over time. Should the web site have changed its certification authority, make sure the old certificate was about to expire.
  3. If all certificates you see are always issued by the same certification authority, you should be very suspicious.
  4. In case of doubt install the Perspectives add-on to make further checks on the credibility of a certificate.

Credits.

Prototyped by 20after4 (Mukunda Modell), reengineered by Aiko Barz. Originally conceived, planned and continously refined by the lynX (Carlo v. Loesch).

Testing the add-on.

For the interested ones, to manually trigger seeing a web site replace its certificate, you can do one of these things:
  1. Have an https web site yourself and change the certificate.
  2. Manually have an address in /etc/hosts point to this or that https: IP address and add many security exceptions to Firefox in order for Patrol to even get to do its warning part.
  3. Use an sqlite editor like the "SQLite Manager" add-on, edit the CertPatrol.sqlite file and modify any of the fingerprints of an https: website you have visited before. This way, Patrol will think it has seen that web site using a different certificate than it actually does, so as soon as you go to that web site it will warn you of an apparent change in certificate.