The series of posts that I began in “Is Cryptography the Silver Bullet?“ continues here. As we view the state of the information security industry, almost like a kaleidoscope, certain issues come to the forefront. One of the most complex among them is the use of cryptography.
In the last post, we reviewed some pitfalls and lessons learned about the use of cryptography. But cryptography, like all information security, is a moving target. You have to keep up with the advances, otherwise you increase your information risk. The main reason cryptography is a moving target is because things change quite rapidly in the world of discrete mathematics and cryptography. Some pitfalls to avoid include being reactive rather than proactive, not keeping your keys strong, and not calling in expert help when you need it.
Pitfall # 1: Using a static threat model for cryptography
Every year, conferences and papers find flaws in various cryptographic algorithms, their usage, or in some inherent properties of the cryptographic usage. While some attacks discussed have little significance in terms of the real-world, many show a “clear and present danger” to the information being protected.
The use of an “adaptive” threat model means that upon release of any relevant attacks against cryptography, the management should immediately evaluate the direct impacts of such threats. A very recent exampleis the demonstration of the BEAST attack. Serge Vaudenay illustrated this theoretical attack in a paper. While no one can predict the future, using a conservative risk approach when it comes to cryptography seems to be the best knowledge afforded to us by hindsight.
Lesson: Keep tweaking your threat model when it comes to cryptography. Be proactive. Discard the use of or plan a migration from now vulnerable technologies, even if no active exploits exist in the public domain.
Pitfall #2: Not knowing the “retirement date” (for your keys)
No encryption, no matter how strong, can remain strong forever. The number of messages you can securely encrypt with a key is determined by the strength of the key, the algorithm used, and the manner how it is used. Therefore, it is very important to know how many messages you can encrypt with a key. After that number, the sheer amount of ciphertext generated gives an attacker enough information to break the encryption. What is even more important is to know when that number of messages will be reached, and then “retire” (or formally revoke) your key.
Lesson: Try to establish a key rotation schedule that fits your needs — and follow it.
Pitfall #3: Not knowing what you don’t know
If you are unsure about a particular situation and how cryptography may help you, call in an expert. Trying to innovate your way out is useful, but in cryptography it’s been known to cause way too many failures — and that is what you want to avoid.
Lesson: Know when to call your cryptography gurus!
Like all technologies, cryptography is fluid and dynamic. This is important, since techniques for maintaining security must change to keep pace with emerging threats.