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.
Sign up for CIO Asia eNewsletters.