gpt4 book ai didi

security - 散列 SSN 和其他有限域信息

转载 作者:行者123 更新时间:2023-12-03 23:51:28 26 4
gpt4 key购买 nike

我目前正在开发一个我们接收私有(private)健康信息的应用程序。最大的担忧之一是 SSN。目前,我们没有将 SSN 用于任何事情,但 future 我们希望能够使用它来唯一地识别多个设施中的患者。我认为可靠地做到这一点的唯一方法是通过 SSN。但是,我们(除了我们的客户)真的不想存储 SSN。

所以很自然地,我想到了 SHA 散列它,因为我们只是用它来识别。问题在于,如果攻击者知道问题域(SSN),那么他们就可以专注于该域。因此,计算十亿个 SSN 比计算几乎无限数量的密码要容易得多。我知道我应该使用站点盐和每位患者的盐,但是我还能做些什么来防止攻击者泄露 SSN?我计划使用 BCrypt 而不是 SHA,因为 Ruby 有一个很好的库,它可以自动处理可扩展的复杂性和加盐。

它不会用作密码。从本质上讲,我们从许多设施中获取信息,每个设施都描述了一名患者。唯一接近患者全局唯一标识符的是 SSN 号码。我们将使用哈希在多个设施中识别同一患者。

最佳答案

如果您真的想以安全的方式散列社会安全号码,请执行以下操作:

  • 找出多少熵
    SSN(提示:很少。
    远远少于随机选择的 9
    数字)。
  • 使用任何散列算法。
  • 保留更少(一半?)位比
    SSN 中存在熵。

  • 结果:
  • 优点:SSN 的安全哈希,因为
    大量的哈希冲突。
  • 优点:您的哈希值很短且易于存储。
  • 缺点:哈希冲突。
  • 缺点:您不能将其用于独特的
    由于 Con#1 的标识符。
  • Pro:那很好,因为你真的
    真的不需要使用 SSN 作为
    标识符,除非您是社交用户
    安全管理。
  • 关于security - 散列 SSN 和其他有限域信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3315172/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com