In-brief: Governments may worry about the democratization of strong encryption. But a bigger problem may be that the encryption we think is strong really isn’t, says Richard Moulds of the firm Whitewood. In this podcast, we talk about the.growing difficulty of generating truly random numbers in cloud environments and on the Internet of Things and how ‘entropy as a service’ may be the answer.
Back in the 1990s, the term “crypto wars” was used to describe a tug of war between the technology and intelligence communities in the United States and Europe over the export and use of technologies like the RSA encryption algorithm. To put it simply: the U.S. military and intelligence services were convinced that letting strong encryption technologies fall into the hands our enemies by way of consumer and business technologies would dull the U.S.’s technological edge and possibly make it harder to spy on our enemies.
These days, there’s a new crypto war heating up. Policy makers in the U.S. and U.K. have raised reservations about the ability of strong encryption to make online communications and stored data inaccessible to law enforcement, calling for the inclusion of so-called ‘back doors’ in applications, like WhatsApp. But lawmakers in the EU are debating whether to ban backdoors and other measures to weaken data security protections.
Both groups may be missing the point. Our guest on this week’s podcast, Richard Moulds of the firm Whitewood, says that a much bigger challenge looms for all users of encryption tools. Namely: the growing difficulty of generating truly random numbers that are needed to create unique, strong cryptographic keys. Insufficiently random numbers lead to weak or predictable keys, Moulds notes, and that makes a wide range of supposedly strong encryption weak, in practice. In other words, the problem isn’t that use of strong encryption is democratized, it is that the encryption we think is strong really isn’t.
At the root of the problem, Moulds says, is a lack of reliable entropy – or “disorder” – from which random numbers can be created. Of course, entropy is all around us, and earlier generations of multi-purpose computers had plenty of ways to sample it: from a user’s mouse movements to random audio sampling to keystrokes. These days, however, computing systems are more often virtual rather than physical: clones of one another, spun up in Amazon’s cloud environment without any inputs or sensors from which to sip disorder and randomness.
The same is true of Internet of Things devices. While they might be physical devices and have sensors of various types, they’re very often small, single purpose devices that generate and traffic in very small amounts of data – far too little entropy to generate reliable random numbers.
Weak random number generators means weak and predictable keys and that opens the door to motivated hackers guessing the value of that key as part of an attack. In fact, compromising the random number generator that is used to create cryptographic keys is one of the easiest ways to undermine the security of encryption technologies, as we learned from Edward Snowden.
“If an attacker wants to break crypto, its not about the algorithm, its about the key,” Moulds told me. “If the key is no longer secret then the encryption falls away and can be broken in a heartbeat.”
Developers often overlook this basic problem, assuming that using longer keys results in more security, without wondering whether the devices using the longer keys are capable of supporting them.
“We like to think of applications running anywhere without any awareness of the hardware they’re running on,” Moulds told me. “But entropy and randomness are one of those things that pervade the whole stack. You have to know how the system works, and that’s the challenge.”
In this podcast, Richard and I talk about the critical role that entropy and randomness play in securing the Internet and about how the advent of cloud computing and the Internet of Things has brought about a crisis in randomness: more and more devices that need to communicate securely over the Internet, while lacking the capability of generating significantly strong encryption keys to do so.
I started by asking Richard to talk about how one goes about measuring randomness and whether there is a way to determine whether a particular number generator is random enough. We also talk about Whitewood’s “entropy as a service” product, which uses a fantastically science fiction technique called “photon bunching” to generate a limitless supply of entropy.
Check our full conversation in our latest Security Ledger podcast or over at Soundcloud. You can also listen to it on iTunes. As always, if you like our intro music, give some love to the group JoeLess Shoe, who recorded “Baxton,” the song we use in just about every podcast.