Firefox SSL-Certificate Debate Rages On
BobB-nw points out the ever more raucous debate over the way Firefox 3 handles self-signed certificates. The scary browser warnings have affected a number of legitimate sites (such as Google AdWords and LinkedIn) that didn't renew certs in time. Lauren Weinstein loudly called attention to the problem early in July. "If you visit a website with either an expired or a self-signed SSL certificate, Firefox 3 will not show that page at all. Instead it will display an error message... To get past this error page, users have to go through four different steps before they can access the website, which from a usability standpoint is far from ideal. This way of handling websites with expired or self-signed SSL certificates is bound to scare away a lot of inexperienced users, no matter how legitimate the website is."
Well, I can live with it, but they could at least patch this feature to make it less annoying with self-signed certificates. Show a warning, yes, but right now the error message is too creepy.
Isn't scaring away inexperienced users from sites with questionable security the whole point of those warnings?
I mean a user friendly message that lets someone get past it really easily wouldn't exactly get the job done.
amen. The error message seems to be designed for people who know about these things, not mom and pop users.
They could improve the message significantly, explaining what the problem is and what to do about it. Then I think the issue wouldn't be so big anymore. People would still complain about the number of clicks to accept a self-signed cert, but at least it would appear as legitimate information instead of an 'error'.
Let's not expect site maintainers to actually keep their ssl certs up to date. Oh noes. We want customers to not trust ssl certs so they may fall victim to a scam.
If you EVER want to combat man in the middle attacks and phishing sites, this is the best solution. Sites whining that people are being scared away??!? Get a fucking grip, and get a real certificate from a real certificate authority so your users can actually trust you. People/companies are cheap and lazy, and unfortunately this leads to a whole host of problems...keeping your certificate legitimate and up to date should be no different than taking care of your insurance or other critical infrastructure.
I have to agree. Few things should be more important to a site administrator that handles personal information for their clients than getting their SSL certs updated in time.
Browsers that allow this kind of lax security atmosphere are part of the problem.
Mon chien, il n'a pas du nez. Comment scent-il? TrÃs mauvais!
It's supposed to be creepy, because it may be the only warning you're the victim of a DNS poisoning and you're not at the site you think you are, or you're the victim of a man-in-the-middle attack and your "encrypted" communications are being intercepted and read. At least in Firefox 3 you need to add an exception to see the site, so you see the warning only once. In Internet Explorer 7, you can see the site by clicking a link, but you will see the scary warning every time you visit the site. Users will disregard the warning if they see it very often, making the warning ineffective.
What a fool believes, he sees, no wise man has the power to reason away.
Fundamentally, the people at fault here are the so-called professionals who allow their certificates to expire. Why should I trust their site's security if they can't manage a simple administration function like that. Thawte and Verisign provide you with enough reminders that your certs are about to expire, so you don't even need to diarise it yourself.
I do have more sympathy with self-signed certificates.There is no excuse for corporates to be using them, but for small, non-profit sites, self-signed is understandable. Mozilla could help this situation by providing support for CACert and similar organisations, by including their signing certs in their browsers, by default.
This way of handling websites with expired or self-signed SSL certificates is bound to scare away a lot of inexperienced users, no matter how legitimate the website is.
Well that's the point. The certificate is not valid and there is no way to tell the website is legitimate. If one would insist on using TLS/SSL for HTTP with a self-signed certificate, have users install your own CA keys you gave them through another secure channel, or at least let them check the fingerprint. Nobody keeps you from doing that. It's sad that some of these things are so widely misunderstood that it actually reduces privacy and security:
The new behavior of Firefox 3 is not a problem, it's people failing to security-enable their website the right way.
Why doesn't Linksys provide the certificate used to sign the certificates on all those routers? Then you could add that certificate to your root certificates and no longer get any warnings at all. It looks to me like Linksys dropped the ball on this one. Perhaps the changes to Firefox 3 and Internet Explorer 7 will help companies get more serious about ensuring security.
What a fool believes, he sees, no wise man has the power to reason away.
This is a switch of the "Cancel/Allow" Mac/PC ad.
Here we have FF3 saying
"You have tried to access a secure site with a dodgy certificate, Cancel or Allow?"
IE meanwhile troops on regardless giving a better "user experience"
Oh until the machine goes down because the site was a trojan site using a self-signed certificate.
The issue here isn't that Firefox is making this hard, its that ANYONE ever made this easy. If a site has an expired certificate then that would worry me as it implies their IT support is a bit dodgy. If someone wants my credit card details and is using a self-signed certificate then I'm VERY worried.
There are functional issues (the duplicate cert problems of Linksys has been mentioned here) that should be addressed. But the basic problem of warning users very strongly that a site is self-signed or has an expired certificate is a good thing.
I'm using Firefox, I'm on a Mac and this problem just hasn't irritated me the way that Vista does because this does it when there is a REAL problem caused by a 3rd party, not a potential problem caused by me hitting a button. Expired or self-signed certs are a real 3rd party problem, not a scare story.
An Eye for an Eye will make the whole world blind - Gandhi
As a Safari user, i find that reading mainstream media and "security researchers" fucking hurts my head.
First Safari is bad because it doesn't have anti-phishing.
Then FireFox is bad because because it throws a fit on un-signed certificates.
WTF do they all recommend? Exploder?
I guess it all fits with the flow of uneducated American populace, too ignorant to learn to use a computer properly, so "Security Experts" need to be babysitting them.
(for those of you wondering why I use Safari, it's because of its superb in page find feature.)
If you don't know what AltaVista is (was), get off my lawn.
Better yet: expect the non-technical crowd, the users, to put up with errors of the pro-technical crowd, the site maintainers.
Excellent shift of responsibility towards, right?
I think this is an issue of whiny webmasters, really. A proper certificate is around 10 bucks per year and although they issue it to anyone, it is security at a much higher level than using a self-signed crutch.
If you're a website owner, put up those 10 dollars and stop complaining. Keep your house clean and your certificates valid.
EVERYTHING you do by that is better than to accustom millions of non-technical users to click away any and all error messages when surfing. If all browsers would show these drastic certificiate errors AND all SSL-loving webmasters would keep their certs updated, we would have less issues in phising and scamming, much less.
Either you have security or you don't. Encrypting to someone is useless or even dangerous when you mistake the identity of the receiver.
Before all the security fanatics start telling everyone to "just spend ten bucks on a cert"...
1. Embedded appliances (you know, the hundreds of millions of routers, firewalls, etc.) cannot use an authority cert. The choice is between self-signed and no encryption only, and Firefox is pushing manufacturers towards the less secure option.
2. Typically, you first encounter a self-signed cert in a secure context (for example, setting up such an appliance by plugging it directly into your PC and visiting the web interface). After that, all you care about is whether the cert changes. The whole man-in-the-middle thing is NOT a guaranteed problem with self-signed certs.
3. Real cert authorities are not the invulnerable swiss banks everyone thinks they are. They can and have issued certs when they shouldn't have. And that isn't just new certs; last week there was a story about a Firefox-trusted cert authority that issued a Microsoft live.com domain cert to someone. So those who think authority certs are secure are deluding themselves.
In the end, Firefox's current behavior does not promote security; it simply makes life hard and annoying for legitimate users.
amen. The error message seems to be designed for people who know about these things, not mom and pop users.
I don't follow this sentence. That seems to describe *precisely* the old way of doing things, an easily dismissable box that only experts took note of and understood. The new method is *supposed* to bother users and get them to pay attention to the actual risk, while offering them a way to still accept it.
Whether or not you think being bothersome to users is a legitimate technique can and should be open to debate, but I don't think it targets experts at all...
They could do with a red-yellow-green warning system.
Red- sites with self signed certs which have changed since the last time you have visited them(keeping a record of all certs accepted to this point would be a good idea to help with this)
Yellow- Self signed cert. Warning first time you go to the site with accept/reject.
Green- Signed and verified by trusted 3rd party.
Sites which have a signed and verified cert and which have marked themselves as "should always be HTTPS" but which you are visiting with HTTP -should be red as well.
This way if some phisher sent you a link to http:\\paypal.com and paypal had registered with the trusted 3rd party that their site should always be using HTTPS then you get a red warning. Yes I know this would mean traffic to the trusted 3rd party whenever you visit any http site.
amen. The error message seems to be designed for people who know about these things, not mom and pop users.
Mom and pop users should never, ever go to a website with self-signed or expired certs. It's true that there a lot of legitimate sites that fit the category, it might even be true that most of the self-signed sites are legit. The problem is that mom and pop users are not savvy enough to distrust anything, unless there's a big fat warning there.
Firefox 3 allows you to permanently accept those certificates. If you're computer literate enough to know about these things, you whitelist those sites. If you're a mom and pop user, you call a tech savvy family member / friend / neighbor / neighbor's kid to vouch the site for you and whitelist it.
Currently the only difference between a self signed cert and a $10 one is that the latter leaves you $10 poorer. There is no practical difference between the two. As a matter of fact, the current methodology of including certain CAs in browsers provides a false sense of security - which decreases the value of the system as a whole.
Pessimists.net - as if life wasn't depressing enough.
This whole debate is rather off the point. Making changes to a security protocol in response to the last Slashdot thread is not exactly the best idea. There are more issues than just whether people can save a buck and get encryption. As you point out the point of the certificate is authentication, not encryption.
Back in 1995 the Netscape folk decided to write the protocol in such a way that you had to have authentication of the server public key to do encryption. As it happens I argued against that choice at the time, and again when the self-signed certs issue came up again a few years ago I have consistently argued that the browser should allow ANY connection to be encrypted with ANY key, just don't bother to worry the user about it unless the cert is trustworthy according to the user spec.
There are in fact changes in the works here. I am part of a W3C working group where we have discussed this exact issue. I have consistently argued for eliminating all security pop-up warnings of all types - they are designed to dump responsibility for security onto the user rather than be actually useful. I have also argued to make use of self-signed certificates easier as we should be moving to a position where security is the default on the Web.
Yes I do work for a CA, no I am not speaking for them on this particular occasion, but we have consistently argued to make use of unpaid cryptography as easy as possible because anything that expands the use of cryptography is going to eventually expand the demand for authenticated keys. I really don't think that we will have large numbers of people stop paying the price of a Thawte or GeoTrust cert and switch to a self-signed. More businesses will go the other way.
Its the same argument on code signing: all code should be signed, even development compiles. But only final production code should be signed with a trustworthy key - or the key is not going to be trustworthy very long. And only some final code will be signed by CA accredited keys. But that is fine if the O/S allows you to make statements of the sort 'drivers have to be signed by a trusted root, programs signed off a Web o' Trust key can run but only with restricted privs'.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
I agree totally, the problem isn't the scary browser notices. It's websites and their poor security practices perhaps now that those practices are having a noticeable impact on their business these websites will change said practices and it wont be a problem anymore.
I may agree with what you say, but I will defend to the death your right to face the consequences of saying it.
A false sense of security is worse than a known insecurity.
A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
I know using actual evidence is unfashionable, but lets try connecting to a self-signed https page from some popular browsers, shall we?
Firefox 3
Secure Connection Failed
phishing.itsdapead.org uses an invalid security certificate.
The certificate is not trusted because the issuer certificate is unknown.
The certificate is only valid for mycomputer.itsdapead.com
[Or you can add an exception]
Internet explorer 7:
There is a problem with this website's security certificate.
The security certificate presented by this website was not issued by a trusted certificate authority.
The security certificate presented by this website was issued for a different website's address.
Security certificate problems may indicate an attempt to fool you or intercept any data you send to the server.
We recommend that you close this webpage and do not continue to this website.
Click here to close this webpage.
Continue to this website (not recommended).
Or Safari 3:
The certificate for this website was signed by an unknown certifying authority. You might be connecting to a website that is pretending to be "phishing.itsdapead.org" which could put your confidential information at risk. Would you like to connect to the website anyway?
How about Opera 9.5?
The server's certificate chain is incomplete, and the signer(s) are not registered. Accept?
[Help] [Reject] [Approve]
Sorry, I don't believe that - Opera is meant to be good isn't it? Let's try again: (ahem) Opera 9.5?
The server's certificate chain is incomplete, and the signer(s) are not registered. Accept?
[Help] [Reject] [Approve]
Ye gods - I wasn't imagining it! Deary, deary me...
Now, from where I'm standing:
Plus, Firefox is pushing the extended info scheme whereby the certificate holder's name gets displayed on the info bar (as opposed to the old scheme where ploughing through the certificate might reveal the holder's name), which should be a good thing.
In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
Good idea. But the browser should automatically accept self signed certs. After all, it'll automatically accept insecure (http) connections.
No! You switch to https to get a secure connection to who you're intending to talk to. A self-signed certificate doesn't tell you anything about who you're talking to. If you don't want security, stay on http.
The problem is that mom and pop users are not the ones who should solve this issue, cannot be educated about cryptography in a warning message AND are the most likely victims of phishing attacks and such. The people who complain about the number of steps to set up an exception are also the people who can make an informed judgment about the trustworthiness of a site to begin with. We should NOT be putting mom and pop at risk for the convenience of the knowledgeable minority of users. The sites mom and pop are most likely to visit will have their certificates in order anyway (or should have, at least). Not being able to access some legitimate sites that insist on using self-signed certificates is a small price to pay.
He who laughs last, thinks slowest.
I agree. The problem is though that the people that are complaining probably:
A) Don't even know what it is and
B) Don't even bother reading it once they figure out which order of buttons to push.
Even though the concept SHOULD be easy enough for anyone who can figure out how to browse the internet, the issue isn't comprehension but presentation. It's immediately demoted to "annoying pop up" as opposed to "informative box I should read" in the style it's in now.
No, if the site uses SSL and the certificate is invalid, it may be a "Man in the middle attack".
You can't just treat this like a http connection and not warn the user.
There are many sites which should use real encrypted connections (ie with a signed certificate + SSL). I'm not fond of sending sensitive info in the clear (that's about the same thing with a self-signed certificate...)
StartCom/StartSSL certificate are free and works with Firefox (and other CA are mostly cheap) so price is no longer an excuse...
No, I use SSL to obscure my messages from people in between me and the server. If I want to verify the party to whom I'm speaking, I'll go over there myself with a 6-pack.
The funny thing about that 6-pack is that it costs more than the "real" SSL certificate, and I actually have to show ID sometimes to get it.
Do you feel the same way about UAC in Vista?
It serves the EXACT same purpose.
StartSSL supposedly offers free-as-in-free-beer SSL certificate-signing services, but even that's not really the issue in my opinion.
Why are we being told that we must get permission from a "trusted" authority in order to "legitimately" use encryption?
I wouldn't have even blinked if a commercial, proprietary browser started doing this...but "open source" Mozilla? Campaigning against do-it-yourself encryption? Just to "scare consumers" away from things that might possibly maybe be bad? That just seems completely wrong. The use-case mentioned above of the wifi router which can't necessarily get a "trusted authority" to verify due to lack of a FQDN is a good example of why this shouldn't just be of interest to do-it-yourself hobbyist nerds.
I still fail to see how being driven away from anti-eavesdropping (but unauthenticated) communications to completely unencrypted AND unauthenticated communications makes people "safer" and am a bit baffled that Mozilla is now treating unauthenticated certificates exactly like fraudelently authenticated certificates.
The usual retort here assumes that the only alternative is that self-signed certificates be treated the same as authenticated certificates and therefore people will somehow think they're "safe" even though there's a chance the site at the other end might possibly be involved with a "Man-in-the-middle" attack. There's also a disturbing assumption that only corporate "e-commerce" and government sites have any interest in "legitimate" encryption (the "they'll just go out of business if they don't 'buy' a certificate" arguments...). Of course, we do have to worry about the teeming masses of evildoers who break into people's houses to replace their wifi routers in order to steal their slashdot.org login password...
Why they don't want to consider having a third "encrypted but not 'secure'" state for correct but unauthenticated (self-signed) certificates or certificates that have gone past the arbitrary expiration date encoded in it I also don't know. Does Mozilla corporation have some kind of "partnership" with some of the big "Trusted Authorities" or something?
Hacker Public Radio is our Friend
All of this new talk about self-signed certificates is clouding over the real, critical issue which has been around for longer than FF3. It would make more sense for the browser to treat a self-signed certificate like a CA-signed certificate rather than a regular http connection because (and here's the point) authentication in the browser is a myth. Let me walk you through this.
Authentication doesn't exist on the internet because getting a genuine CA-signed certificate from a CA with a root that is already in your browser is hardly any more difficult or expensive than making a self-signed certificate. The tragedy is that the lock icon makes people feel safe when in reality, the authentication of the transaction relies entirely on supposed background checks which may or may not have been done by some CA that you won't know about unless you examine the certificate.
Does anyone else see the problem with this!?
A better idea is for the browser to raise the big warning flags for changed certificates (CA-signed or otherwise) so users can check manually whether it is a man-in-the-middle attempt or an official updated certificate from the site, and treat all https transactions as encrypted and better than a transaction with no encryption (regular http).
A better long-term fix for this problem is to create a system (or use the system we have) to actually ensure authentication on the internet. For this to happen, we need browsers to stop including CA roots from CAs which happily sign certificates with zero or insufficient background checks. Of course this isn't bulletproof, but it would go a long way to providing real authentication on the internet.
In the meantime, people need to stop thinking CA-signed certificates are very much safer than self-signed certificates. A CA-signed certificate from a specific CA that is known to provide good background checks is useful for authentication, but a CA-signed certificate from some random hole-in-the-wall CA that has a root in your browser provides no more authentication than a self-signed certificate does. At least its a step in the right direction for FF3 to show some information about the certificate from the URL bar rather than making users examine the certificate so that we can make our own determination of whether we trust the site based on if we trust the CA or not. Anyway, it's really the changed certificate that you need to worry about, regardless of who signed it, and encryption is also better than no encryption since at least the sniffers won't also get your info.
This author takes full ownership and responsibility for the unpopular opinions outlined above.