- 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.
Flash storage represents a quantum leap from the storage layer in terms of performance, however it is crucial companies understand their I/O profile in order to formulate a successful storage strategy. Find out in this eBook how flash storage can be beneficial for enterprises and useful questions to ask before making an informed decision on the purchase.
- CCICT Infrastructure Specialist - (Network Engineer)ACT
- FTSystems Administrator/Engineer | $60-90K package | Northern BeachesNSW
- FTC# .Net DeveloperSA
- CCContract Analyst Programmer 160120/AP/vvtAsia
- CCJava Developer - Front/ Back EndVIC
- CCInformatica ExpertNSW
- CCAD and FIM EngineerNSW
- CCContract Analyst Programmer (Java/Visual VB.net) 160115/AP/vhsAsia
- CCiOS DeveloperNSW
- FTSystems Administrator/Engineer | Projects & BAU | Coastal Newcastle NSWWA
- CCContract Analyst Programmer (JAVA/Oracle/UNIX) 160203/AP/381Asia
- FTOracle System Integration Engineer - CANBERRASA
- CCContract Analyst Programmer (JAVA/Crystal Report) 160115/AP/vhsAsia
- FTNetwork Systems LeadVIC
- CCHybris Developer - Global ConsultancyNSW
- CCAngularJS DeveloperNSW
- FTFull Stack & Mobile EngineersNSW
- FTNetwork Engineer | Canberra | NV1 NV2 clearance | Defence projectsVIC
- CCMicrosoft Dynamics CRM DeveloperSA
- FTSOE EngineerQLD
- CCEnterprise Systems Infrastructure SpecialistNSW
- CCiOS Developer - New AppNSW
- FT.NET DeveloperVIC
- FTFront End Developer Required Working World Leading Digital TeamNSW
- CCETL DeveloperNSW
Organisations are struggling with a torrent of data thanks to cloud computing, mobility and the Internet of Things. And conventional backup and recovery methods are failing. This white paper outlines the benefits of a modern approach to disaster recovery.
- Flash memory's density surpasses hard drives for first time
- Modular cellphone kit can be used for IoT and wearables
- Dragula looks to take the bite out of drag-and-drop
- Mozilla sets kill date for Firefox OS on phones
- LTE-U’s cold war may be thawing, as field testing commences ahead of summit
- Now that AI has mastered 'Go', are all our jobs next?
- Make a $40 Linux or Android PC with new Raspberry Pi 2 rival
- Researcher finds serious flaw in Chromium-based Avast SafeZone browser
- Fed up with bogus computer support calls, man turns tables on scammers
- Dridex banking malware mysteriously hijacked to distribute antivirus program
- SamsaraJS: Famo.us fork juices mobile Web UIs
- How to secure Amazon Web Services like a boss
- UN panel backs WikiLeaks' Julian Assange, but he may not go free
- The Neutrino exploit kit has a new way to detect security researchers
- 7 smartphone trends to watch this year