首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安全使用沙(秘密+兰特)

安全使用沙(秘密+兰特)
EN

Cryptography用户
提问于 2018-02-21 21:19:04
回答 1查看 134关注 0票数 0

我遇到了一些安全实现,其中甲方将计算MD =sha256(秘密+兰德),并将MD和rand传输给对等方B。如果第二方知道该秘密,则当它计算sha256(机密+兰德)时,它将与发送方A匹配并对其进行验证。

这可能是一个充满压力的问题,但这完全安全吗?也就是说,给出结果哈希和随机数,攻击者很难发现这个秘密吗?

第2部分:另一个潜在的问题是,用秘密作为“数据”使用hmac会更安全吗?那么HMAC(兰德,秘密)?

这两个安全系统的目标是确保A和B都拥有相同的密钥K而不传输它,但它们是否更安全?这些实现是“传统的”还是更多的“俱乐部”?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-02-21 21:58:20

在这里使用HMAC更有原则性和灵活性,因为带有随机密钥的HMAC是伪随机函数,而sha256(secret + nonsecret)不是。

在非秘密值为随机值的情况下,可能没有安全性差异。但我也提到了灵活性,因为这种身份验证方案--当使用适当的伪随机函数(如HMAC)实现时--不需要随机值。一个计数器或挂钟就行了。事实上,如果您已经看到那些双因素身份验证令牌或应用程序显示了每分钟都会发生变化的六位数代码,那么它们都是基于TOTP算法,基本上是hmac(secret, current_time / refresh_interval)

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

https://crypto.stackexchange.com/questions/55848

复制
相关文章

相似问题

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