在某些情况下,组织不得使用或存储有用的密钥,例如SSN号码,电话号码等。
但是,这些唯一键对于匹配数据非常有用。因此,理论上,如果数据提供者能够为您提供SSN的散列值,并且您要存储该散列并将其用于匹配,则您将永远不必使用或存储SSN。
对于类似SSN的东西,适当的哈希函数是什么?
答案 0 :(得分:1)
因此,理论上,如果数据提供者能够为您提供SSN的散列值,并且您要存储该散列并将其用于匹配,则您将永远不必使用或存储SSN。
这是假的;设计的散列不是唯一的,不能用于唯一标识任何东西。如果您必须唯一标识某些内容,并且不允许使用其他人的标识符,则必须提供自己的标识符。这就是为什么像加油卡,电影租赁卡等等。有自己独特的会员标识符。
答案 1 :(得分:1)
您需要将SSN视为密码。使用强大,缓慢的哈希算法(例如bcrypt或PBKDF2)使用唯一的每记录前缀和后缀salt对其进行哈希处理。
散列SSN的缺点是它们是可预测的,并且具有非常小的熵,使得明文暴力非常容易。如果你负担得起,我建议投资硬件保护(即HSM)用于此类事情。事实上,你应该完全avoid identifying people by their SSN。