1

https://www.pcisecuritystandards.org/documents/PCIDSS_QRGv3_2.pdf
requires that you encrypt stored credit card information -- for example, if you're an online merchant like Amazon that allows repeat customers to order without re-entering their credit card number. But it doesn't seem to have any requirements about how you store the decryption key, only that you document what you're doing: "Document and implement procedures to protect any keys used for encryption of cardholder data from disclosure and misuse" and "Fully document and implement key management processes and procedures for cryptographic keys used for encryption of cardholder data". Does that mean that if you store the decryption key right there on the same disk as the encrypted credit cards (with some restrictive file permissions, at least), that's OK, as long as you document that's what you're doing?

If your answer is "No, you need to do XYZ", can you clarify whether (a) you are referring to some requirement laid out in the PCI DSS that I missed; or (b) you're talking about a requirement that's not laid out in the PCI DSS, but it's an unwritten rule that the PCI Security Standards Council holds people to anyway.

(If I were trying to do it securely, I'd have the decryption logic carried out on machine A, the decryption key stored on machine B where it can only be retrieved by machine A, and the encrypted card numbers stored on machine C where they can also only be retrieved by machine A. Since the key and the card number have to be stored somewhere, I don't think you can do better than this, unless you start splitting the encrypted card number across multiple machines so that the attacker has to read each one in order to piece it back together. But I'm not asking what is most secure, I'm just asking what the letter of PCI DSS requires.)

4

You need to look at the full specifications (available https://www.pcisecuritystandards.org/document_library?category=pcidss&document=pci_dss), rather than the quick reference guide to get more details - this covers it in detail in section 3.5.3:

Store secret and private keys used to encrypt/decrypt cardholder data in one (or more) of the following forms at all times:

  • Encrypted with a key-encrypting key that is at least as strong as the data-encrypting key, and that is stored separately from the data-encrypting key
  • Within a secure cryptographic device (such as a hardware (host) security module (HSM) or PTS-approved point-of-interaction device)
  • As at least two full-length key components or key shares, in accordance with an industry-accepted method

Other sections around this cover other points, such as how to check that these requirements are being met, and the specific types of documentation needed.

  • Good answer - additionally, PCI references NIST SP 800-57 (Key Management) as as a "best practice" standard, and so being able to describe your key protection in terms of that document gives it a lot of credibility with auditors. (See DSS requirements 2.2.3, 2.3, 3.6.4, 4.1). – gowenfawr Jul 25 '18 at 14:51
  • Thanks, there was a bug on the webpage for downloading those documents so that nothing happened when I clicked on the row with the full specification, so I thought that the short summary doc was the full specification! But it works if you click, agree to the TOS, and then click again. – Bennett Jul 26 '18 at 21:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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