mysql - 存储社会安全号码

标签 mysql encryption

我目前工作的公司的人力资源部门要求我提供一个系统,用于在我们公司的数据库中存储员工的社会安全号码。这样做的原因是为了简化工资单的完成,因为我们将内部软件用于员工时间表,但必须与第三方软件集成以用于我们的实际工资单系统。这是一家相对较小的公司(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/

相关文章:

c# - ProtectedData 使用哪种加密算法?

php - 在 Laravel 中处理加密文件(如何下载解密文件)

PostgreSQL 数据库静态加密

mysql - 我的 MySql 查询是否有更短的替代方案?

php - 按指定顺序选择匹配行前后的行

php - Mysql/Laravel 逻辑测试返回 false 但查询返回 true

php - 在 mysql 表中找到 "problematic"行将无法导出

Kotlin - 如何检查矩阵中是否存在字符?

ssl - 解密由于 JMeter https 请求(例如通过 Wireshark)生成的 `Encrypted Alert` 数据包

mysql - 插入带有来自 Select 的值的查询