Information Security Stack Exchange is a question and answer site for information security professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If I store cardholder details (PAN, Expiry etc.) in a Memcached data bucket, is that something to worry about in terms of PCI DSS compliance?

Our database is in a data center and is encrypted. Our web server is also in this data center. If I cache cardholder details on a Memcached server node which is running on the same box as the web server, or on a different machine on the same subnet as the web server, do I need to obfuscate or encrypt this cached data?

My initial thought is 'no' because we aren't persisting the data; it's all temporary storage.

edit: our current architecture is PCI-DSS compliant; we were deemed compliant a few months ago. Now it's a matter of remaining that way.

share|improve this question

It's persistent enough to be retrieved. There's no reason to keep any personally identifiable data unencrypted. If you can access it without a key so can an intruder.

Make it secure, and it will be compliant. Don't try and make it compliant by adding security later.

Being compliant (by passing your ROC) doesn't mean much to be honest. Companies that perform that activity are of varying skill, and often are selected based on the subject companies likelihood to get a pass. That is not how you protect your companies brand.

If you want ammo for the highers up, what about Massachusetts privacy law? How are you complying with your data requirements there? What about the EU and the third party transfer clause?

Encrypt PII/PAN data whenever it's sitting, setup appropriate key management, and use proven crypto-systems to do it. Be smart about protecting your customers data and your companies brand image and you will be compliant.

share|improve this answer

The relevant PCI-DSS section says:

3.4 Render PAN unreadable anywhere it is stored (including on portable digital media, backup media, and in logs) by using any of the following approaches:
* One-way hashes based on strong cryptography (hash must be of the entire PAN)
* Truncation (hashing cannot be used to replace the truncated segment of PAN)
* Index tokens and pads (pads must be securely stored)
* Strong cryptography with associated key-management processes and procedures

The anywhere it is stored part seems pretty clear - there's no exception for storing unencrypted PAN data in a RAM based database.

You said your architecture was deemed compliant - If you had a QSA evaluate your environment, this would be a good question to ask him.

share|improve this answer

Your Answer


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.