One in every 172 active RSA certificates are vulnerable to attack

Researchers say improper number generation can impact the security of keys used to protect everything from IoT to medical devices.
Written by Charlie Osborne, Contributing Writer

A vulnerability has been discovered in RSA certificates that could compromise one in every 172 certificates currently in active use. 

On Saturday at the First IEEE Conference on Trust, Privacy, and Security in Intelligent Systems and Applications in Los Angeles, Calfornia, a team of researchers from Keyfactor presented their findings into the security posture of digital certificates. 

RSA certificates are public key certificates that use cryptographic algorithms to encrypt data and protect information being sent from devices or services to servers. 

These systems are used to protect Internet traffic and software communications, as well as information generated by Internet of Things (IoT) and medical products, among many other devices.

In a paper shared with ZDNet ahead of publication on Monday, "Factoring RSA Keys in the IoT Era," the researchers outline how it is possible to compromise the security of RSA keys with "minimal computing resources."

The team built a database of 75 million active RSA keys, later augmented with 100 million certificates made available through certificate transparency logs. The dataset was then analyzed using an algorithm and Microsoft Azure virtual machine.

See also: NordVPN launches promised bug bounty program

Keyfactor mined the 175 million keys to identify common factors in random number generation and found that one in every 172 active keys online shares a factor with one another. The security of RSA, however, relies on the inability to determine two prime numbers from which the RSA public key is derived.

Discovery of these "prime factors" can be used to compromise certificates, the team says, potentially risking the security of devices using RSA certificates. 

Over 435,000 certificates were found to have a shared factor, allowing the researchers to rederive private keys.

"In a real-world attack scenario, a threat actor with a rederived private key for an SSL/TLS server certificate could impersonate that server when devices attempt to connect," said JD Kilgallin, senior integration engineer and researcher at Keyfactor. "The connecting user or device cannot distinguish the attacker from the legitimate certificate holder, opening the door to critical device malfunction or exposure of sensitive data."

CNET: Equifax data breach claim: You have 1 month left to submit. Here's how

In comparison, only five in 100 million certificates from Certificate Transparency (CT) logs share the same prime factors.

According to the paper, the discrepancy is caused by IoT and power-restricted devices that can only manage low rates of entropy due to design constraints. 

"Entropy in a device is required to prevent the random number generation from being predictable," the paper reads. "Researchers were able to find deterministic "random" output when removing entropy. Lightweight IoT devices are particularly prone to being in low entropy states due to the lack of input data they might receive, as well as the challenge of incorporating hardware-based random number generation economically."

TechRepublic: Organizations moving toward more rigorous security testing to ensure compliance

The higher the entropy state possible, the more difficult it is for attackers to extract private keys. In cases where devices have an inherent inability to support high entropy states, security may suffer.

 "The widespread susceptibility of these IoT devices poses a potential risk to the public due to their presence in sensitive settings," the researchers say. "We conclude that device manufacturers must ensure their devices have access to sufficient entropy and adhere to best practices in cryptography to protect consumers."

10 worst hacks and data breaches of 2019 (in pictures)

Previous and related coverage

Have a tip? Get in touch securely via WhatsApp | Signal at +447713 025 499, or over at Keybase: charlie0

Editorial standards