Friday, July 2, 2010
Cryptography and the wrong problems
I was reading Schneier's blog Today as he posted an old text he published on Dark Reading back in 2006, about Cryptography usage. It's interesting how an article of four years ago is still very relevant. I've been seeing some cases where people considers encryption as the most appropriate control to implement, when access control is really the key."Much of the Internet's infrastructure happens automatically, without human intervention. This means that any encryption keys need to reside in software on the network, making them vulnerable to attack. In many cases, the databases are queried so often that they are simply left in plaintext, because doing otherwise would cause significant performance degradation. Real security in these contexts comes from traditional computer security techniques, not from cryptography."Those cases show how frequently controls are implemented in a checklist-based approach, without any attempt to do a threat based assessment first. As Einstein said once, "things should be made as simple as possible, but not any simpler". Although I am among those that think that PCI DSS is a step in the right direction, there are clear misconceptions that come from the heavy push towards encryption in that standard. Applying the wrong control for a threat is as bad as an inefficient or non-existent control, or even worse, due to the false sense of security, added complexity and cost. I'm sure that checklists can help us with the most basic stuff, but when we start touching things such as database encryption, I don't believe we can apply a checklist-based approach.