Today’s connected world requires constantly higher levels of security. In many situations, this is done by relying on cryptography, for which one of the critical elements is the unpredictability of the encryption keys. Other security applications, like identity & access management, also require a strong cryptographic foundation based on unique tokens.
Keys are used for encryption of information as well as in other cryptographic schemes; such as digital signatures, personal identification and message authentication codes. They are used everywhere in modern digital communications and they enable the trust which underpins communications in our globalised world, including the internet and financial systems.
The security of these keys or digital tokens lies in the quality of the randomness used to create the key itself. If the random number generation and the processes surrounding it are weak, then the key can easily be copied, forged or guessed and the security of the entire system is compromised. Therefore, high-quality key generation that ensures unpredictable, random keys is critical for security.
Digital or paper currencies also require unique identifiers that cannot be easily guessed or forecast. Also, many other high-value applications like lotteries, or gaming in general, require the same capacity to generate totally unpredictable numbers. The common denominator of all these markets is the critical reliance on absolutely random numbers.
For more information, read our blog: The Case for Strong Encryption Keys.
Today, best security practices are based on the assumption that an attacker has in-depth knowledge of the cryptographic algorithm, and that the security of the system resides primarily in the secrecy of the encryption key. This is known as Kerckhoff’s principle “only secrecy of the key provides security”, or, reformulated as Shannon’s maxim ”The enemy knows the system”.
According to security expert Bruce Schneier: “The reasoning behind Kerckhoffs’ principle is compelling. If the cryptographic algorithm must remain secret in order for the system to be secure, then the system is less secure. The system is less secure, because security is affected if the algorithm falls into enemy hands. It’s harder to set up different communications nets, because it would be necessary to change algorithms as well as keys. The resultant system is more fragile, simply because there are more secrets that need to be kept. In a well-designed system, only the key needs to be secret; in fact, everything else should be assumed to be public.”
The history of cryptography provides compelling evidence that keeping a cryptographic system secret is nearly impossible over any long period of time, evidenced by the well documented cracking of the Enigma machine and other cases. While many governments do use elements of “security through obscurity” to enhance defence in depth, they also focus very heavily on ensuring that the encryption key is protected. And Schneier continues: “If the algorithm or protocol or implementation needs to be kept secret, then it is really part of the key and should be treated as such.”
The key is the cornerstone of secure cryptosystems and are used to ensure:
So it is clear that the security of any crypto-based system depends fundamentally on the security and quality of the underlying encryption key. And yet is surprising in today’s world just how weak many of these keys are, and how little attention is paid to the key generation process. To provide adequate security the key must be:
While these attributes – uniqueness and randomness – are easy to assume, they are actually complex to ensure and even more complex to test. There have been many cases recently where the keys underlying crypto-systems have been proven to be weak, either by accident or by design. According to Schneier, one such attack could “reduce the amount of entropy from 128 bits to 32 bits. This could be done without failing any randomness tests.”
Two families of physical processes can be used for randomness generation:
Processes based on classical physics
As classical physics is fundamentally deterministic, it should in principle be impossible to generate random numbers using it. In practice though, there exist processes that exhibit complex evolutions, which make them difficult or even impossible to predict. This unpredictability arises from the influence of the environment on the process and/or the indefiniteness of the initial conditions (chaotic processes).
RNG based on classical physics processes exploit these sources of unpredictability. The randomness of the generated bits cannot be proven but only inferred after empirical testing of assumptions. Established standards for the qualification of physical RNGs (notably the German BSI AIS 31 standard) call for on the fly testing of the output of these devices to detect a possible failure. Running live statistical tests is difficult as they require a large amount of bits to yield significant results (108 or 109 bits), which is costly in case of a hardware implementation.
Finally, in security applications it is always important to take into account a possible functional problem with the system and to ensure a so called “graceful failure”. With classical physics based RNGs, this is very difficult as the failure modes of the underlying process are difficult to model.
Processes based on quantum physics
Contrary to classical physics, quantum physics is fundamentally random. There exist processes whose unpredictability is fundamental and can be proven.
The possibility to model the quantum process and prove its randomness is essential in two respects. First, it allows to identify critical parameters, which can then be monitored live to guarantee ex-ante the quality of the random bits produced. This property allows to reduce or even suppress the need for live statistical testing of the output stream.
The second important advantage related to the use of a quantum process is that its failure modes can be modelled and evaluated. This allows to design RNGs which “fail gracefully”, ensuring for example the inhibition of the random bit stream in case of failure, instead of producing imperfect random numbers. Given the fact that quantum physics describes the behaviour of the fundamental building blocks (atoms, particles, etc.) of the physical world, one could argue that everything is quantum and consequently classical physics based RNGs are also quantum.
One could for example say that for a RNG based on thermal noise in an electronic component, this noise is also quantum. This view has some merit, but this noise could be considered as dirty quantum, as it consists of a large ensemble of quantum processes, which interact together. Because of this, the process does not capture the fundamental randomness of an elementary quantum process. There exists good RNGs based on classical physics, but all one can say about them is that they produce a stream which is probably random. On the contrary, the bit stream produced by a quantum RNG (QRNG) is provably random.
IDQ’s Quantum Key Generation solutions ensure the creation of truly random encryption keys and unique digital tokens for highly secure crypto operations. They are based on the internationally tested and certified Quantis Quantum Random Number Generator. Used by governments and enterprises worldwide, they offer the guarantee of Swiss quality, neutrality and trust.
The Quantis Appliance is a device providing randomness in networked, high availability environments. The Quantum Key Factory is a platform which allows for a combination of multiple sources of randomness (entropy), as well as best practice key scheduling, key mixing, key storage and key auditing to guarantee secure key generation at the highest level of trust.
For more information, read our blog: The Case for Strong Encryption Keys.