存储敏感信息的加密哈希的安全性如何



试图找到一种方法来减少系统中重复的联系人条目。姓名、电子邮件地址、家庭地址和电话号码可能会更改,因此这些都不是100%唯一的标识符。

但是,出生日期和SSN不变。我正在考虑将date_of_birth-ssn的组合存储为加密哈希,以唯一标识联系人并合并重复项。

我的理解是,在数学上"不可能"反转哈希,因此以这种方式存储ssn是"安全的"。

我知道最安全的方法是不储存任何东西。然而,我不确定我还能用什么其他信息来唯一地识别一个人。

有没有更好的解决方案来唯一识别那些不会使用ssn等敏感信息的人?

这显然是不安全的。

通常情况下,您无法反转哈希。如果我有大量随机数据,并给你哈希,你就无法取回这些数据。这不是你的提议。

一年365天,每个人都在100岁以下,只有大约36500个可能的DoB(好吧,有些人超过了100,但不是你的联系人——可能的DoBs的实际数量可能在20000左右)。SSN是9位数字,所以只有1000000000个可能的值(实际上要少得多)。

总的来说,有20000000000000种可能的组合。听起来很多?事实并非如此。我使用的这台笔记本电脑每核每秒可以进行超过1100万次哈希。它可以在1707026秒或19天内测试所有可能的组合。有一个4岁的笔记本电脑核心。一台功能强大的服务器,有20个核心,花费数千美元(没有专门的硬件),可以在几个小时内准备好这张表。然后我可以反转的不是散列函数,而是你可能看到的输出子集。

最新更新