首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否认为使用敏感信息生成UUID v5是安全的?

是否认为使用敏感信息生成UUID v5是安全的?
EN

Security用户
提问于 2021-03-22 18:02:30
回答 1查看 757关注 0票数 1

假设我想使用v5 of RFC 4122生成一个基于名称的UUID,使用敏感信息作为输入(例如,我的银行帐户的密码)。并且假设我将生成的UUID提供给恶意用户,该用户希望将其反转并获取我的密码。鉴于以下有关UUID v5的生成方式:

  • 密码和命名空间使用SHA-1进行散列,这是一个单向函数,即一个实际上无法反转的函数。
  • 只保留20字节SHA-1散列的前16字节。

恶意用户无法逆转UUID以获得我的密码。这是一个安全的假设吗?如果是这样的话,为什么RFC 4122规范声明"不要假设UUID很难猜测;它们不应该用作安全功能(例如,仅仅拥有UUID就允许访问的标识符)。"?假设您没有使用任何易受字典攻击或彩虹表影响的数据,那么SHA-1本身就是一个单向函数这一事实是否使其相当安全?

EN

回答 1

Security用户

回答已采纳

发布于 2021-03-22 22:30:08

这是否安全取决于秘密中的熵。如果您的输入是常规密码,在熵较低的地方,使用密码和其他确定性数据的任何简单散列都是不安全的,因为攻击者只需强行强制所有可能的密码来确定您的密码。实际上,所有这类密码的简单散列都是如此,不管是否在UUID中,也不管是否被截断,都有附加的数据。有很多,很多密码列表被破坏的密码,这是非常容易生成许多可能的密码编程。

如果这是一个具有足够(例如128位或更多)熵的伪随机产生的令牌,那么这是安全的。在高熵秘密上使用密码哈希函数是安全的,因为仅凭知道算法和哈希就无法有效地猜测输入,因为函数的域足够大。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/246459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档