我目前工作的公司的人力资源部门要求我提供一个系统,用于在我们公司的数据库中存储员工的社会安全号码。这样做的原因是为了简化工资单的完成,因为我们将内部软件用于员工时间表,但必须与第三方软件集成以用于我们的实际工资单系统。这是一家相对较小的公司(20-30 名员工),我们只会存储当前员工的 SSN(因此泄露只会产生有限的影响),但我仍然希望安全。
我想知道是否有任何约定可以存储与社会安全号码一样敏感的信息。我对加密不是很熟练,我知道有几种加密技术可以使用,但我想知道是否有一种特别适合这种情况的方法。 AES 会是我最好的选择吗?
就目前的软件而言,我们正在运行 MySQL,我们的 Web 界面是用 PHP 编写的,并在 IIS 服务器上运行。
最佳答案
The best method I've seen for storing sensitive data是公钥加密,并将私钥存储在数据库以外的其他位置(例如,通过仅对 HR 负责人和 CEO 可用的应用程序):
Then we started storing people’s credit cards…but out on the website we’d immediately encrypt them with a public key. ...
On the backend, we had the private key, and with the right pass-phrase we could temporarily decrypt [the private key], then use [the private key] to decrypt a credit card, and charge the card for a DVD.
关于mysql - 存储社会安全号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/254935/