Mathias Hasselmann

Firefox Certificate Insanity

Christopher, this kind of insanity and the arrogance with which related feedback is handled, is exactly the reason, why people want alternate browser UI's. Sometimes I really wonder if Mozilla's UI designers serve the users, or if they just serve their ego.

Combine this need for custom UIs with the uglyness of Mozilla's bloated XPCOM APIs and the inability to keep them stable - some people even perceive the situation as sabotage - and you know why developers turn their back to your project.

PS: Colin, you totally forget that FOSS land doesn't only consist of big companies! Expect for big companies nobody, really nobody is paying for certificates. Only alternative seems to be CACert, but their website and the short-livingness of their certificates also make it a pain to use.

Comments

Hans commented on August 6, 2008 at 10:12 a.m.

Mathias, I totally agree with you. So thanks for your clear statement.

No kidding commented on August 6, 2008 at 10:52 a.m.

Secure Connection Failed

www.cacert.org uses an invalid security certificate.

The certificate is not trusted because the issuer certificate is unknown.

(Error code: sec_error_unknown_issuer)

Mattias Eriksson commented on August 6, 2008 at 10:55 a.m.

The current cetrificate handling is a great step forward from a security point of view. The whole ssl model is build on a trusted third party, if you make it easy to use with an untrusted third party the whole security model falls and you could just skip the use of ssl.

I say that the only thing that can be done about it is for the opensource world to be one of the trusted third parties, but that would require some effort.

Remember that security and usability is not very compatible, but the latest firefox has done a great job

Alex Hudson commented on August 6, 2008 at 11:02 a.m.

CACert are doing an audit, and after that will apply to Mozilla to have their root cert included in the browser.

Surely that's the right way to go, rather than destroy the trust people have in secure sites?

Mathias Hasselmann commented on August 6, 2008 at 11:11 a.m.

Mattias: That new UI only just does a great job in annoying users:

First of all it is insanly hard to figure out how to accept a certificate. Call me stupid, but when I saw the page for the first time, but it took me nearly an hour to figure out for the first time. Normal users are not that patient and just stop using the software.

It really just adds more clicks to the UI: People still don't understand or care what you write there. Many uses of SSL don't deal with bank accounts and such, so you really do not bother with checking the certificate presented. Unless you visit an online-banking site for the first time, there really is no need to check the certificate. It's just too uncertain to face a man-in-the-middle attack in that very moment you visit the page for the first time. Only real reason to manually verify a certificate is, when it changes unexpectedly - IMHO.

Besides that: If this stuff really is about security - where is the UI for disaproving certificates? I couldn't find such UI, so I really, don't buy that security was the motivation for that annoyance. This new certificate handling really just is about some ego trip, otherwise the Mozilla guys wouldn't have forgotten the UI for disaproving certificates.

Alexander Boström commented on August 6, 2008 at 11:13 a.m.

I think the new UI is an improvement, because it shows "broken certificate" as an error, which it is. It also gives you a way of working around the error, but it encourages users, especially those who seldom stumble upon broken certificates, to just press the back button.

But the problem is really with the certificate infrastructure. Trying to work around it with any UI is just doomed.

We already have a system for delegating authority over domain names, namely DNS, but it's completely disconnected to the certificate infrastructure.

What is happening is that the CA:s have been watering down their security to the point where they, like StartSSL, only do the simple verification that can be done automatically, in order to make the system workable. But why should we involve these third parties at all, then? Why not just build upon DNS and make sure we can use that infrastructure to verify the authenticity of services?

Alexander Boström commented on August 6, 2008 at 11:15 a.m.

"Only real reason to manually verify a certificate is, when it changes unexpectedly - IMHO."

Yup. And I believe the new Firefox UI helps you with that and that the old UI didn't do that.

monzo commented on August 6, 2008 at 12:04 p.m.

I curse at FF 3 _every_ time I visit my site for the first time on a new computer.

"It is NOT broken, just not registered anywhere I pay for stuff like that, <enter swearwords at your own discretion>!!!"

I think the right way of handling this would be one of 2 options:
1. The certificate has changed! Give the general information onscreen (who issued it, and so on)
A button: "continue"

2. This is a self-signed certificate. Give the general information onscreen (who issued it, and so on)
A button: "continue"

I am very capable of "getting out of here" on my own, thank you very much...

Mattias Eriksson commented on August 6, 2008 at 12:17 p.m.

Mathias Hasselmann, you write "It's just too uncertain to face a man-in-the-middle attack in that very moment you visit the page for the first time. Only real reason to manually verify a certificate is, when it changes unexpectedly - IMHO."

As a former security consultant that has been doing reviews for large banks I can tell you that this is a risk that banks can't take. For high security sites the old way of displaying "Invalid SSL Cert... bla bla lba something the user didn't understand... press OK or Cancel" was the weakest link in the security chain. For high security sites a non signed certificat is an error!

And even if the current dialog add clicks, it forces the user to understand what is going on. The user must get and accept the certificate before visiting the site! It is very good from a security point of view.

Murray Cumming commented on August 6, 2008 at 12:29 p.m.

The old dialog was bad, and the new one is bad and annoying and difficult but slightly educational. It would be nice if we could remove the annoying and difficult.

It sounds like there are some attempts to make self-signed certificates unnecessary by making useful certificates affordable. That would deal with the rest of the problem.

Mathias Hasselmann commented on August 6, 2008 at 12:54 p.m.

@Mattias: What you say is quite true, but you absolutely miss the point, that the new UI is absolutely unusable:

1. The page is inconsistent with the other error pages of Firefox and the entire web. The other error pages, like for instance the Timeout Error page, but also the entire web show a button where interaction is expected, and links to provide additional, but fully optional (background) information.

2. The dialog provides absolutely no hint how to make the "Accept" button sensitive. You have to be rather smart to figure out that you shall press the "Download" button.

I am absolutely not joking: It __really__ took me one hour to get on my personal webmail site, when I was confronted with that error page for the first time.

For no appearent reason you guys skrewed me and wasted my time, when I saw that page for the first time. Seriously! One hour, guys! And you guys still waste my time when I access other low-security sites. That's now how you treat users. Seriously.

@Murray: Well, CAcert tried to get their root cert into Mozilla for years - and obviously they failed. [1]

1: http://wiki.cacert.org/wiki/Inclusion...

David Adam commented on August 6, 2008 at 1:24 p.m.

Surely this entire post could have been better written as "Q: I think you are dumb.".

Colin Walters commented on August 6, 2008 at 1:57 p.m.

But, you're forgetting that Mozilla doesn't control SSL. If they made the dialog trivial, it would undercut the bare minimum of security we do have for banks and ecommerce websites, and wouldn't change IE, Opera, and Safari.

Again, the SSL model is the only one we have. Rather than complain, we need to think of a replacement system and get it adopted.

Mathias Hasselmann commented on August 6, 2008 at 2:32 p.m.

Colin: The goals of that UI change are noble. Implementation is unbeatable awful. See above why.

Jerome Haltom commented on August 6, 2008 at 3:28 p.m.

That's interesting. When I confront this problem using my non-trusted certificates... I just install my CA. That's why I have it after all, so I can use it. So I can trust sites issued by myself.

And with the latest DNS cache poisoning attack, this is a serious issue.

Jean-Christophe Dubacq commented on August 6, 2008 at 5:12 p.m.

There are free SSL certificates after all, recognised by Firefox. This question regularly makes the Slashdot headlines. See startssl.com for example.

Chris Parker commented on August 7, 2008 at 4:09 a.m.

Agreed.

New interface is complicated, and I have a CS background and have actually written security software. It might have been written with good intentions, but it is a road block for most users.

IE isn't better, with their nasty error messages.

Evan commented on August 7, 2008 at 5:05 p.m.

Colin said: Again, the SSL model is the only one we have. Rather than complain, we need to think of a replacement system and get it adopted.

Not true. We have the SSH model, which has worked fine for years.