- 21 February 2012 11:48
Researchers take another crack at SSL
SSL, or Secure Sockets Layer, is the "great enabler" of online commerce.
It's the S in HTTPS, and it's the padlock in the address bar of your browser.
It's the underlying protocol which stops the cybercrooks enjoying a complete free-for-all when you spend money or read your email online. Together, SSL and its big brother Transport Layer Security (TLS, which is SSL with a beard and in grown-up clothes) provide a ubiquitous cryptographic mechanism by which two people on the internet, including people who have never met or done business with each other before, can exchange information with secrecy, authenticity and integrity. Loosely speaking, that means they can verify that they really are talking to each other, not to an impostor; that no-one else is eavesdropping; and that no-one can tamper with the content of their conversation. But SSL has recently been in the news for all the wrong reasons. For example, we've had the BEAST, Diginotar, Verisign , Stuxnet and, most recently, Trustwave. In sequence, these SSL-related disaster stories involve: the prevalent server-side implementation of SSL/TLS in a cryptographically weak way; a corporate break-in allowing an Iranian hacker to mint himself fake online SSL IDs; an admission by a certificate authority that it had been hacked in 2010 but forgot to tell anyone; stolen SSL certificates used by a virus writer; and a certificate authority that got caught out creating an eavesdropping SSL certificate for a customer.
It gets worse. Not one but two research papers have just surfaced, digging into the mechanics of actually building the bits-and-bytes of SSL certificates. The results aren't catastrophic, but they are, to say the least, interesting. Most SSL certificates rely on a public key encryption algorithm called RSA for their authentication component. The idea is that I create a pair of keys: one public; the other private. So if I sign something with my private key, you can use my public key to verify that only I could have signed it. And if you encrypt something with my public key, you can be sure than only I can unlock it. Provided, of course, that my private key really is private. Assuming no-one steals my key, or pays a certificate authority to issue a fake key in my name, just how unique [*] is is my private key? Is there a chance that someone else, without any malice aforethought, might unexpectedly end up with a key pair that is identical or at least dangerously similar to mine? "Yes," according to this latest research. The problem comes in key generation. Greatly oversimplified, RSA requires you to generate a unique pair of prime numbers, p and q, and to publish, amongst other things, their product, n. You can't be mathematically certain that your p and q are unique, but if they are generated genuinely randomly, the chance that someone else chose them already ought to be vanishingly small. If you could split n back into p and q, you would have cracked the key. So the security of the system depends on the difficulty of taking that public value nand converting it back into its prime factors p and q. Prime numbers are only divisible by themselves. So the product of two prime numbers is divisible only by itself and those two primes. Factoring small primes is easy. 15, for example is 5 x 3. You can do this in your head. But factoring ever-larger prime products is ever harder. Try doing the 10-digit product 9326222179 [**] in your head, and then bear in mind that the smallest prime products recommended for current use in RSA keys are over 300 digits long (1024 bits).
So, if someone else has a key with the same n as yours, you know their pand q, because each n factors in only one way. Alternatively, if they choose one of p or q non-randomly, you have a better-than-average chance of guessing it. Since q = n/p and p = n/q, guessing one prime factor gives you the other one on a plate. And the recent research found a small but worrying number of public keys which shared the same value of n, or which used prime factors from an obviously non-random source. I'm not going to repeat the papers' findings here - the authors deserve that you read the actual results by clicking through to their own articles, here and here - but both sets of researchers found duplicated ns (prime products), and ns which could be factored easily.
At least some of these problems are explained by poor (or just plain wrong) random number generation, leading to one or both of p and q being guessable, thus breaking the privacy of the resulting private key. As the famous mathematician and computer scientist John von Neumann is supposed to have said : Any one who considers arithmetical methods of producing random digits is, of course, in a state of sin. For, as has been pointed out several times, there is no such thing as a random number. There are only methods to produce random numbers, and a strict arithmetic procedure ... is not such a method. If you're a coder, don't cut corners on randomness. And never, ever try to roll your own pseudo-random number generator, unless you're a world-class cryptographer.
The following report, is based on a global survey of 706 IT and security professionals conducted in the United States, Canada, Germany, United Kingdom, Australia and New Zealand. The goal of the survey was to capture data on current attitudes and trends with mobile devices and IT security. This is the third survey on this topic and this report evaluates differences in responses to similar questions asked over the past two years.
- CCDBA (Oracle/SQL)NSW
- CCMobile iOS DeveloperNSW
- CCInformation ArchitectNSW
- FTSenior SQL DBANSW
- FT.Net Solution ArchitectNSW
- CCMobile Designer / Developer - IOSNSW
- CCMobile Designer / Developer - IOSNSW
- FTBusiness Management - Account Director - Leading Entertainment ClientNSW
- CCSenior Systems EngineerNSW
- FTJunior Media Buyer - Sales CoordinatorNSW
- CC.Net Solution ArchitectNSW
- FTApplication Support SpecialistNSW
- CCSenior Release EngineerNSW
Gartner has positioned Check Point as a Leader in the Mobile Data Protection (MDP) Magic Quadrant for the eighth consecutive year.1 Gartner evaluates each company’s MDP offerings on a scale of completeness of vision and ability execute. Read the full report to see which vendors made it to the Magic Quadrant, compare their strengths and cautions, and see what Gartner says about Check Point.
- Telstra acquires telemedicine network
- In brief: Huawei's Australian revenue up 18 per cent
- NBN Co adds 550k premises to construction plan
- In a haystack of data, Alation helps find the needle
- Apigee aims to unify IoT with APIs
- Beyond metadata: the brave new world of big data retention
- Datacom scores $242 million Department of Health contract
- Harper review calls for scrutiny of intellectual property regime
- EPIC appeals to court for FAA drone privacy rules
- Verizon subscribers can now opt out of 'supercookies'
- In Pictures: Monitoring more than just wearables
- Thousands call on Congress to overturn net neutrality rules
- Survey: A majority of Apple Pay users encounter problems
- Amazon tries a physical button for making purchases
- HP hits former Autonomy execs with $US5bn suit