我在这里阅读了很多类似的问题,但没有一个与我的情况完全相同。存储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