No, Websites Shouldn't Roll Their Own Encryption
from the just-use-ssl dept
Ben Adida calls out Apple for the poor security of its MobileMe web applications and AppleInsider for its misguided defense of Apple's design. Most users know that a special "lock" icon in the corner of their browser is a signal that the contents of the current website is encrypted in transit, protecting it from third-party eavesdropping. Evidently, users of MobileMe have been alarmed that MobileMe applications don't take advantage of this feature, even when sensitive information is being transmitted. Appleinsider says this is no big deal because Apple uses "authenticated handling of JSON data exchanges" to ensure security, and as a result SSL is unnecessary. Moreover, "if Apple applied SSL encryption in the browser, it would only slow down every data exchange without really improving security, and instead only provide pundits with a false sense of security that distracts from real security threats."
As Adida points out, this is way off base. A malicious individual may discover a security hole in the unencrypted part of the site that Apple's engineers didn't think of. Encrypting the entire session, rather than just the parts that Apple thinks are security-sensitive, provides an important extra layer of protection. There's also a more fundamental problem with AppleInsider's argument: without SSL, the user has no real assurances that he's talking to Apple, rather than a third party executing a man-in-the-middle attack (perhaps using a poisoned DNS cache). SSL requires servers to present a certificate signed by a recognized certificate authority in order to prove that it's the website it claims to be. That makes it difficult for a third party to masquerade as a legitimate SSL-encrypted website.
The scheme works because the authentication algorithm is baked into the browser and can't be changed by the website being visited. In contrast, if the authentication is performed by JavaScript code that was supplied by the server you're trying to authenticate, the "authentication" process is completely useless. A man-in-the-middle attacker can simply substitute his own bogus authentication script for the real one, and no one will notice the difference. So even if you have complete faith in Apple's ability to write secure authentication algorithms, you can't trust a non-SSL website purporting to be from Apple because there's no way to be sure it's actually an Apple server.
Training ordinary users to follow good security practices is notoriously difficult. Widespread user understanding and acceptance of the "lock" icon in their browsers is arguably the most significant improvement in web security since the web was created. It's extremely counterproductive to undermine use confidence in SSL by telling users to put their faith in Apple's magical homebrew crypto algorithms instead.
Thank you for reading this Techdirt post. With so many things competing for everyone’s attention these days, we really appreciate you giving us your time. We work hard every day to put quality content out there for our community.
Techdirt is one of the few remaining truly independent media outlets. We do not have a giant corporation behind us, and we rely heavily on our community to support us, in an age when advertisers are increasingly uninterested in sponsoring small, independent sites — especially a site like ours that is unwilling to pull punches in its reporting and analysis.
While other websites have resorted to paywalls, registration requirements, and increasingly annoying/intrusive advertising, we have always kept Techdirt open and available to anyone. But in order to continue doing so, we need your support. We offer a variety of ways for our readers to support us, from direct donations to special subscriptions and cool merchandise — and every little bit helps. Thank you.
–The Techdirt Team
Filed Under: encryption, roll your own, ssl
Companies: apple
Reader Comments
Subscribe: RSS
View by: Time | Thread
JSON - Security
From JSON.org:
"Any time you are transmitting confidential information or requests for confidential information, use SSL. It provides link encryption so that your secrets are not revealed in transit."
So the service is vulnerable to session hijacking. Unfortunately so are many other similar services.
[ link to this | view in chronology ]
Use SSL and use it properly, dammit!
The ones saying you don't need SSL are just as clueless as those attacking Firefox for refusing to accept self-signed SSL certificates. Encryption not used properly is worthless, people!
[ link to this | view in chronology ]
Re: Use SSL and use it properly, dammit!
Encryption not used properly is worse than worthless, it's actually dangerous because it gets people the impression that their data is actually safe.
I'm surprised that a big company like apple is doing something stupid like this.
[ link to this | view in chronology ]
Re: Re: Use SSL and use it properly, dammit!
the germans in WWII thought their encryption was perfect too. i wonder if that is a side effect of reality distortion fields.
[ link to this | view in chronology ]
Peter Gutmann once said:
[ link to this | view in chronology ]
Re: Peter Gutmann once said:
Sounds like Peter Gutmann should come out of the closet.
[ link to this | view in chronology ]
Re: Peter Gutmann once said:
[ link to this | view in chronology ]
Re: Peter Gutmann once said:
http://www.nnbfn.net/2008/08/26/additional-protection-from-man-in-the-middle-attacks/
http ://arstechnica.com/news.ars/post/20080826-network-notary-system-thwarts-man-in-the-middle-attacks.ht ml
[ link to this | view in chronology ]
this is only a concerno over WiFi
[ link to this | view in chronology ]
Re: this is only a concerno over WiFi
[ link to this | view in chronology ]
Re: this is only a concerno over WiFi
[ link to this | view in chronology ]
[ link to this | view in chronology ]
[ link to this | view in chronology ]
Couple of points
As pointed out above, the flaw in Apple's system is that it provides encryption without any initial authentication. It relies on DNS being secure which history shows is *not* a proper assumption. Most of the industry figured out seven years ago that proprietary solutions are typically flawed. Apple needs to get with the times.
[ link to this | view in chronology ]
[ link to this | view in chronology ]
Re:
[ link to this | view in chronology ]
Encryption is all you need - There are different ways to implement.
I can understand the developers point of view. In some cases technology won't work as intended when you add layers that bottle neck its performance. JSON objects are just data strings and keys, if you encrypt these objects it should show up as the same garbled text as it would on SSL if someone where to sniff it out. Also, why constantly encrypt all data on the page when maybe only 5% of the data needs encrypting. Performance is very important to Americans, we wait for nothing.
Unless someone can prove other forms of encryption not SSL specifically are worthless and text is readable to sniffers, this topic is off.
[ link to this | view in chronology ]
Re: Encryption is all you need - There are different ways to implement.
Go stuff yourself.
[ link to this | view in chronology ]
Re: Encryption is all you need - There are different ways to implement.
I tend to agree, it just seem like bad practice. Personally I have big problems with what Apple is doing here, the only real issue I can see is it does make the ability to spoof it easier.
[ link to this | view in chronology ]
Re: Encryption is NOT all you need
It's not just about confidentiality (ensuring nobody else can snoop the data), it's also about authentication (being sure the data comes from who you think it does). SSL/TLS does both. It's common-or-garden, off-the-shelf technology. Implemented properly, it works. Use it! Don't try reinventing your own inferior substitute!
[ link to this | view in chronology ]
Re: Encryption is all you need - There are different ways to implement.
[ link to this | view in chronology ]
Re: Re: Encryption is all you need - There are different ways to implement.
[ link to this | view in chronology ]
Re: Encryption is NOT all you need
Nicholas Iler spouted the following bullshit:
Unless and until you go away and read up a bit about "man-in-the-middle" attacks, you have no idea what you're talking about.
[ link to this | view in chronology ]
Re: Re: Encryption is NOT all you need
There is allot of attention shown to the naive web user not the websites being spoofed. Bottom line, if you reach a website that has a certificate error or warning, you should not enter anything private. SSL or not you can be victim.
And why does Apple have to change to SSL when they may still be susceptible to "man-in-the-middle" attacks anyway? Don't answer that. What's the point? Don't answer that either.
I admire your depth Lawrence, but I'm not sure the solution is forcing all to use SSL for everything either way (but that's not your point, I know. You stated "Use SSL and use it properly, dammit!"). Banks sure, I want exploding computers and homing missiles protecting my account. But emails, you are wasting your time spoofing anything of mine not financial related. Good job Firefox for not accepting self-signed certificates.
[ link to this | view in chronology ]
Re: Encryption
[ link to this | view in chronology ]
[ link to this | view in chronology ]
[ link to this | view in chronology ]