Researchers find same RSA encryption key used 28,000 times
- 17 March, 2015 12:23
What if the key to your house was shared with 28,000 other homes?
That's essentially what researchers with Royal Holloway of the University of London discovered last week while scanning the Internet to see how many servers and devices are still vulnerable to the Web security flaw known as "FREAK."
Revealed on March 3, the FREAK flaw can let an attacker weaken a connection that uses the SSL/TLS (Secure Sockets Layer/Transport Security Layer) protocol, making it much easier to break the encryption and view the traffic. It was the latest in a string of flaws found over the last year in widely used open-source software.
As many as a quarter of the hosts on the Internet were vulnerable to FREAK. Last week, researchers with Royal Holloway decided to see what percentage still hadn't been fixed.
Kenneth G. Paterson, a professor with Royal Holloway's Information Security Group and co-author of the three-page research paper, characterized the work as a Friday afternoon project that yielded surprising results.
They scanned the entire IPv4 address space using ZMap, looking for hosts that would allow a FREAK attack to take place, which involves forcing a host to accept a 512-bit RSA key to secure a connection.
Encryption keys of that length have been considered insecure for more than 15 years. In the 1990s, the U.S. government restricted the export of products with longer, stronger keys. Even after the requirement was dropped, many products still support the weaker version.
They found that 9.7 percent of nearly 23 million hosts, or around 2.2 million, are still accepting 512-bit keys, a surprising number considering the seriousness of FREAK and that more than two weeks has passed since it was made public.
But the researchers also came across an astonishing find: many hosts -- which could be servers or other Internet-connected devices -- share the same 512-bit public key, Paterson said.
In one egregious example, 28,394 routers running a SSL VPN module all use the same 512-bit public RSA key.
That never should have happened. A public RSA key is calculated by multiplying two 256-bit prime numbers to get a 512-bit key. Using mathematical techniques and modern computing power, it is possible to "factor" 512-bit keys, or break them down into the prime numbers from which they were calculated.
The process for generating good, random prime numbers for public keys takes some effort, however. Software in devices such as routers need to have a good source of random bits in order to generate unique primes, which they often don't, Paterson said.
What likely happened is that a manufacturer generated one key and then installed it on many, many devices.
"That's just laziness on the part of a manufacturer," Paterson said in a phone interview. "This is cardinal sin. This is just not how cryptography should be done."
The danger is that an attacker could factor just one, 512-bit key and then potentially decrypt traffic exchanged by more than 28,000 devices that use the same key.
Of the 2.2 million hosts still vulnerable to FREAK, the researchers found 664,336 had duplicate keys. Just for academic interest, the team also tried factoring some of the repeated keys using an algorithm and mathematical techniques.
In under three minutes, they successfully factored 90 of the public keys, which correspond to 294 hosts. Paterson said they used a fairly ordinary 8-core system at the university that last year cost about £10,000 (US$14,800).
Paterson knows the IP addresses of some of the most vulnerable devices -- essentially, the addresses of the houses with the same key. The researchers are trying to reach out to those most at risk.
"We've started the process a little bit, but it's actually laborious to track down who is responsible for these devices and IP addresses," he said.
The research paper was also co-authored by Martin Albrecht, Davide Papini and Ricardo Villanueva-Polanco.
Send news tips and comments to firstname.lastname@example.org. Follow me on Twitter: @jeremy_kirk