如果您存儲PAN(卡號),那麼它絕對必須加密。
如果存儲持卡人姓名,有效日期,發行數量(以及它們可以連接到PAN),那麼他們應該被加密,但(我的理解)是它不是絕對必要的。 PCI-DSS只規定至少必須對PAN進行加密。
的CV2/AVS/CSC電碼不能存儲授權後,最好你要證明它不是存儲在所有(如 - 只保存在內存中,同時進行授權)
關於證書/密鑰 - 您可以使用一個密鑰對所有卡相關數據進行加密。最佳做法是不要將密鑰用於多種用途,所以如果您有其他(與卡無關的)數據被加密,則使用單獨的密鑰。
最難的部分是你沒有真正提到的細節 - 那就是關鍵管理。爲了滿足PCI要求,密鑰必須存儲在數據庫的單獨物理盒中,並且您至少需要每年更換一次密鑰。SQL 2008支持這一具有Extensible Key Management (EKM)
所有這些要點與一個獨立的QSA(合格安全評估)誰,你會在某個時候需要,以滿足PCI合規性,無論涉及到最好的討論。您的QSA將能夠就此類問題爲您提供指導,並最終爲您提供他/她的建議,以符合合規要求。
值得一提的是,大多數人很快就意識到PCI合規可以承擔多少負擔,並且希望通過使用第三方支付網關來儘量減輕這種負擔。大多數支付網關將允許您執行授權/結算並將卡詳細信息存儲在他們(已經是PCI兼容)的服務器上。您只需要存儲一個TokenId,該TokenId引用這些付款詳細信息,如果您需要對該卡執行進一步的收費/退款。
祝你好運!
GREAT回覆,謝謝! – Gromer 2010-02-10 15:38:53