Post-Quantum Crypto-Agility

Future proofing today’s secure systems

Achieve Cryptographic Superiority and Resiliency

Cryptography is a fundamental building block of secure system design that security architects use as part of a layered approach to keep information private, and protect systems against fake communications. Potential attacks against networks and systems can be achieved by subverting communications and introducing havoc using specially constructed false messages. These types of attacks are safeguarded against when using proper modern cryptography to check the authenticity of messages and guard their privacy. Commercial systems that use encryption methods typically use only a handful of cryptographic algorithms that are well studied by mathematicians who are responsible for designing the ciphers and trying to break them. Outside of mathematics, cipher design is often viewed as a black art, and it is difficult to discern the security merits of one algorithm from the next in an objective way.

Security designers therefore rely on a very small number of standards groups and governments to specify cryptographic algorithms and the resulting standards tend to be rigid and long lived. A unique challenge of encryption standards is having to deal with future proofing their effectiveness over time. While other types of technology standards tend to become outdated as new and better technology takes its place, in the case of cryptography, the math involved becomes less secure over time by the virtue of researchers and cryptanalysts who are constantly discovering new mathematical methods to solve problems faster. In other words, cryptography becomes weaker over time because mathematics improves.

This highlights a recurring problem in the security field in that security breaches occur very often and need to be addressed over time. Security designers take a layered approach in dealing with the high likelihood of a future breach and include safeguards, mechanisms and controls to recover and repair the security posture of a system once a break has occurred. For instance, many systems have a secure bootstrap mechanism that uses cryptographic keys stored in hardware to authenticate new software that is installed into the system. In the event that a system is compromised, a new and preferably fixed version of the system software can be installed to recover the overall system security. Using cryptography permits these types of upgradable systems to be fixed when a security hole is discovered. But what happens to a system if the cryptography primitive is the broken component that needs to be upgraded? Even the strongest modern cryptographic algorithms are not designed to be unbreakable. Instead they are designed to effectively balance strong security with convenience and manageability.

As a counter example, the cipher that is best known to be resilient to breaking is called the one-time-pad, which is very strong, and also extremely difficult to use. One-time-pad requires keys that are as long as the message attempting to be sent, making the scheme completely impractical for modern encrypted communications. Modern ciphers are designed to strike a balance between convenience and security. Once a cipher has been well studied and accepted by the cryptographic community, it can be proposed for use in cryptographic and protocol standards where the algorithm’s parameters are narrowed and documented.

At this point, the standard will define the security levels by specifying the required minimum key sizes to be used during encryption operations. Standards will also anticipate that security levels of ciphers will diminish over time, and so key sizes are specified that allow for programmers and product vendors to tune the security level of the cipher higher as computational and cryptanalytic methods improve over time. Higher level security standards, for instance protocol standards like TLS, will also build in support for a number of ciphers which can be used optionally or interchangeably. However, in order to control the number of permutations by designers that implement the standard, algorithm support still tends to be rigid in the sense that deviating from the handful of specified algorithms and key sizes is either difficult or impossible.

As standards proliferate and gain acceptance, application software and vendor products adopt the protocol standard and often narrow the cryptographic options even further in order to limit implementation complexity, and reduce time-to-market as well as support and maintenance headaches. In effect, this creates a value chain where cryptography standards are adopted by higher level protocol standards for integration into application software and devices. Product vendors tend to further narrow cryptographic options during their development cycle in order to limit complexity. In the short term, limited complexity is good for security because less errors tend to be made, however, the long term security posture of end products becomes limited with respect to features that allow cryptographic ciphers and implementations to be changed over time.

Resources

Request a Demo

Use this form to see a live demonstration, request a trial or simply to ask us questions. ISG Federal is here to help.

"*" indicates required fields

Name*
This field is for validation purposes and should be left unchanged.

Request a Demo

"*" indicates required fields

Name*
This field is for validation purposes and should be left unchanged.