Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

Question for any PCI experts out there:

Airport ticket kiosks can use your credit card to find your reservation at checkin time. So clearly PCI must allow use of credit card numbers to identify customers. I assume the airline is storing an irreversible hash of my credit card number with my reservation, and when I visit the checkin kiosk they hash my card again and use the hashed value to look up my reservation.

But when I go to a supermarket or drugstore and want to get discounts from their loyalty program, I need to swipe a special card that the store gave me (or enter in my phone number).

Using my credit card to identify me would be easier for me and for the merchant, so I'm surprised that retail merchants don't seem to offer this capability. This led me to wonder whether there's a PCI or legal restriction at work here.

Is there a PCI or legal restriction which prevents stores from using my credit card number to identify me for loyalty-program purposes, but which does not prevent airlines from doing the same thing at checkin kiosks?

share|improve this question
    
Are you certain they are reading the account number? It might be easier to just read track 1 where your full name is stored and perhaps use the expiration date along with the airport and date to eliminate all the other John Smiths in the system to locate your travel record. See ANSI X4.16 on google for descriptions of all the data on that stripe. –  bmike Jun 24 '11 at 15:06
4  
PCI permits the storage and use of the first 5 digits (which identify the type of card) and last 4 digits of a credit card number. This is almost always enough to uniquely identify a transaction and, through that, the customer who made said transaction; it is not enough information, however, to use the card number. I know of at least one software product that does exactly this, however NDA prohibits me from saying what product or even what market said product is in. –  Kromey Jun 24 '11 at 17:16
    
Kromey, great comment-- very helpful. –  Justin Grant Jun 27 '11 at 18:49

4 Answers 4

Merchants can use your card data to review or act on transactions. This includes processing returns, calling up your boarding pass, etc. They can't use it to identify you, only your previous transactions. I'm not sure if that's a law somewhere or because of merchant agreements.

Once your purchase is fully settled, the card data does need to be expunged from the record. This can get to be a little different when you save your card data to an account for convenience. Even in that instance, if you should change cards the older card data would need to be removed.

I highly doubt anybody does one-way hashing of cards, and it'd be relatively useless. Given that there are 16 numbers, the card must match a check code, and the first numbers can be determined from a limited list, one can quickly build a database of all possible hashes. I imagine data is stored and transmitted in an encrypted manner. If I were doing a review, I would consider one-way hashes of cards to be the same as storing a card number in plaintext.

share|improve this answer
    
It would need to be a keyed hash, then - still better than reversible encryption –  AviD Jun 24 '11 at 8:27
    
Reversible encryption is usually needed, though. Say you get a delivery back as undeliverable. You need the card number to refund the transaction. –  Jeff Ferland Jun 24 '11 at 18:26
    
You guys really need to use the customer information manager most third party CC processors provide. You just store a tolken. When you pass that tolken they give you the stored credit card on demand. –  k to the z Jul 27 '11 at 14:36
1  
That's a really good way to go, but that's also only a way to go if you have a 3rd party processor. If you've got the merchant account yourself, that isn't an option. –  Jeff Ferland Aug 13 '11 at 13:46

I think the reason merchants use a separate identifier (either your phone number, or a loyalty card) has less to do with any regulatory issues, than it does practicality.

If the merchant only tied your identity to your credit card, you would then have to have that credit card present during all transactions for which you want loyalty credit, regardless of whether you're actually using that card for those purchases. So, if you wanted to use a different credit card, or use cash, or use a gift card, you would still have to present and/or swipe your original card as well.

Then, consider the case where the payment method is an alternate credit or gift card. How likely do you think it is that Joe User might mix up the order in which he swipes the cards, and possibly end up charging the wrong card?

It's probably just a lot simpler (and safer) for them to associate your rewards account with an identifier that's not dependent upon your method of payment.

share|improve this answer

They are not using PAN off the mag stripe, only name. You don't have to use the same card as you bought the ticket with, it's just a name search for people flying out of the airport you're in today. So yes, in the unlikely event that someone with your name is flying out of the same airport on the same day, it will offer you their ticket.. this is why some systems ask your destination city, to reduce false matches.

share|improve this answer

I wouldn't assume anything in regards to how they are storing your data. Lots of places do it wrong, and the bigger the system the harder it is to change it to doing it correctly. The only thing they cannot store is full track data. So they aren't supposed to be storing your encrypted PIN or CVC2.

As far as your credit card is concerned, so long as it is not readable in plain text at rest or transit they can store it with other Personally Identifiable Information ("PII"). You've asked a pretty big question, there really is no simple answer. There lots of ways to store credit card data, like encrypting it or substituting it with a token, usually one that can pass the Luhn verification, in all that you are really just offloading the confidentiality of the data to the key.

The problem with using your credit card to identify you brings into a question of the controls they need for that customer loyalty program. So now by using your credit card as your factor of authentication. The store has effectively brought in all of those systems into PCI scope. Lets not forget what PCI is, it is a way for the card brands to indemnify and off load the cost of a breach to the acquirers who then in turn offload it to the merchants.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.