Encryption Implementation Really Matters

Written by Walter Conway
August 26th, 2010

A 403 Labs QSA, PCI Columnist Walt Conway has worked in payments and technology for more than 30 years, 10 of them with Visa.

Last week’s column on encryption generated a lot of discussion (be sure to read the many thoughtful comments posted to the story, too) that requires some follow-up. I was wrong on one important point, and we need to correct that. And on the broader issue of the proper application of encryption, there are wider cryptosystem issues every retail CIO needs to address.

First, let’s deal with the correction. The premise of my PCI column last week was that retailers may be making a mistake by encrypting the expiration date in their cardholder databases. The reasoning was that the limited number of possible expiration date values opens retailers to the risk of having their entire cardholder database compromised because their encryption keys could be disclosed by a determined and sophisticated attack on the expiration date alone.

(Related Column: Evan Schuman’s Editor’s Note About The Reaction To The Encryption Column: The Danger Of Assuming Perfection.)

As several readers pointed out in comments and E-mail messages, this assumption is wrong. What I described is called a known-plaintext attack, and today’s cryptographic systems are designed with this attack in mind. Cryptanalysis against modern, properly implemented cryptosystems requires a very (if unfeasibly) large number of known plaintexts for this type of attack to work. That is, an encrypted but easily determined expiration date does not automatically present a key disclosure vulnerability in a properly implemented cryptographic system.

It all depends on the implementation.

The key phrase is “properly implemented.” What does that phrase mean? Quoting from one insightful (and anonymous) comment: “That is done by using an Initialization Vector (IV) and choosing a secure operational mode (not ECB) for the cipher. An IV is a block of random data the same size as the encryption block size, and it becomes your first encrypted block. In any of the chaining modes of operation, this first block of random data is mixed in with the data before the next block is encrypted to produce the second block, which is your real data encrypted, but is now randomized. When you decrypt, you simply skip the first block you decrypt, as it’s the random IV value you started with, and begin with the next block. Every new encryption must use a new random IV, as repeated use of the IV defeats the purpose.”

Although some may disagree with the details, the point is that it is not easy to implement a cryptosystem properly, as several readers noted. Cryptography is a particularly opaque subject to non-specialists. Unfortunately, many of these same non-specialists are either building cryptosystems to protect their cardholder data or trying to purchase a product that does it for them. They have to. As QSAs and PA-QSAs, my colleagues and I see this situation every day. Many of the people implementing cryptography don’t know much more than the names of some “good” algorithms and the idea that a bigger key length is better.


Comments are closed.


StorefrontBacktalk delivers the latest retail technology news & analysis. Join more than 60,000 retail IT leaders who subscribe to our free weekly email. Sign up today!

Most Recent Comments

Why Did Gonzales Hackers Like European Cards So Much Better?

I am still unclear about the core point here-- why higher value of European cards. Supply and demand, yes, makes sense. But the fact that the cards were chip and pin (EMV) should make them less valuable because that demonstrably reduces the ability to use them fraudulently. Did the author mean that the chip and pin cards could be used in a country where EMV is not implemented--the US--and this mis-match make it easier to us them since the issuing banks may not have as robust anti-fraud controls as non-EMV banks because they assumed EMV would do the fraud prevention for them Read more...
Two possible reasons that I can think of and have seen in the past - 1) Cards issued by European banks when used online cross border don't usually support AVS checks. So, when a European card is used with a billing address that's in the US, an ecom merchant wouldn't necessarily know that the shipping zip code doesn't match the billing code. 2) Also, in offline chip countries the card determines whether or not a transaction is approved, not the issuer. In my experience, European issuers haven't developed the same checks on authorization requests as US issuers. So, these cards might be more valuable because they are more likely to get approved. Read more...
A smart card slot in terminals doesn't mean there is a reader or that the reader is activated. Then, activated reader or not, the U.S. processors don't have apps certified or ready to load into those terminals to accept and process smart card transactions just yet. Don't get your card(t) before the terminal (horse). Read more...
The marketplace does speak. More fraud capacity translates to higher value for the stolen data. Because nearly 100% of all US transactions are authorized online in real time, we have less fraud regardless of whether the card is Magstripe only or chip and PIn. Hence, $10 prices for US cards vs $25 for the European counterparts. Read more...
@David True. The European cards have both an EMV chip AND a mag stripe. Europeans may generally use the chip for their transactions, but the insecure stripe remains vulnerable to skimming, whether it be from a false front on an ATM or a dishonest waiter with a handheld skimmer. If their stripe is skimmed, the track data can still be cloned and used fraudulently in the United States. If European banks only detect fraud from 9-5 GMT, that might explain why American criminals prefer them over American bank issued cards, who have fraud detection in place 24x7. Read more...

Our apologies. Due to legal and security copyright issues, we can't facilitate the printing of Premium Content. If you absolutely need a hard copy, please contact customer service.