我在這裏閱讀了很多類似的問題,但沒有一個與我的情況完全相同。存儲SSN/CC數據
此前,用戶輸入大量信息,包括SSN,配偶SSN和CC數據。當用戶完成該過程時,信息被推送到PDF上,然後壓縮(然後被加密),然後通過FTP返回到我們的服務器。除了SSN和CC之外,我們保存了數據庫中的所有內容,當會話死亡時這些內容被刪除。
現在,我們需要將該信息保存到數據庫,以及在用戶A完成後的某些情況下,用戶B需要進入並簽名表單。用戶B完成後,將創建文件並刪除SSN/CC數據。這意味着數據必須從我們的數據庫中存儲幾分鐘到可能一個月。有一組到期日期,我從數據庫中清除數據並重新開始。注意:我沒有使用CC數據實際收費,所以我不能將它交給像Authorize.net或Paypal這樣的第三方。
有了這個解釋,我需要知道加密這個東西並保護它的最好方法。我在我的代碼中使用用戶的GUID作爲密鑰或者只是SQL Server 2005列進行加密並將解密功能限制爲網絡用戶之間進行切換。
我喜歡AES,因爲它讓少數擁有數據庫訪問權限的用戶可以使用Web用戶的密碼來獲取所有CC數據。他們可以訪問源代碼並可以複製解密方法,但至少比運行某些查詢要困難一些。
不幸的是,我沒有時間推動不存儲CC數據的方式,但我對下一個版本有一些想法。我必須做出選擇並在本週實施加密。
我沒有看到任何與加密密鑰相關的內容。 – AndyMcKenna 2009-06-29 05:06:42
快速參考指南中的第3部分(https://www.pcisecuritystandards.org/pdfs/pci_ssc_quick_guide.pdf):保護用於加密持卡人數據的密鑰,避免泄露和濫用。 – 2009-06-29 06:28:15