This is page 2 of:
Encryption Implementation Really Matters
As such, although I may have been wrong in my original premise, the business reality is that it may be a mistake to assume a “proper implementation” of your cryptographic system. It is not enough to recommend using a reputable API like the Java crypto API or RSA’s Bsafe suite. Retail CIOs should be as concerned with the implementation of these routines as they are about key management. That is, you need to make sure you buy more than just a toolkit; you need to be sure that you’re solving the problem.
Taking a step back, perhaps the value of last week’s column and the discussion it provoked among StorefrontBacktalk readers was the recognition of how much time, study and effort it takes to become a good cryptographer and how valuable it is for retailers to have access to this expertise. CIOs managing in-house encryption need to be smart about this issue. Do they use a reputable API rather than try to implement their own instance of AES? Do they think through the implications of messy details like mode of operation and initialization vectors? What about salting or pseudo-random number generators? There’s a lot to consider.
Should every QSA be a good cryptographer? I don’t think so. Rather, based on my conversations with cryptographers, what QSAs should and will focus on is evidence of the proper implementation of any cryptography or tokenization system. This means we need to work closely with retailers and their vendors.
Retailers looking to purchase a product rather than develop one in-house have to be equally thoughtful. The should make sure the software vendors providing their POS applications have experts on cryptography as part of their development teams. It’s not enough to ask what algorithm or key length the POS uses or even to check that the application is on the PA-DSS list of Validated Payment Applications without understanding the operational implications of how that application handles cryptographic functions.
Retailers and their CIOs need to understand how their vendors accomplish the key management processes and procedures detailed in PCI Requirement 3.6 (and its eight subsections), how they help the retail organization meet its PCI DSS compliance requirements with respect to keys, and whether or not the cryptosystem was really designed with all of the complexities of modern cryptography in mind.
The implications of weak or poorly implemented cryptosystems and tokenization systems for cardholder data security are ominous. As pointed out in another reader comment, if we can’t adequately protect every database with cardholder data, the bad guys will continue to prey on the weak ones. Based on my recollection, there are roughly 10 million merchants accepting payment cards, so there are bound to be lots of poorly protected retailers out there with the equivalent of targets painted on their chests.
I wish I had an answer to the question of how we make sure every retailer’s cryptosystem is properly implemented and secure. Since cloning existing crypto experts will take too long, maybe increased training is the answer. What do you think? I’d like to hear your thoughts. Either leave a comment or E-mail me at wconway@403labs.com.