首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于HMAC的挑战响应认证

基于HMAC的挑战响应认证
EN

Cryptography用户
提问于 2017-10-01 07:03:18
回答 1查看 3.5K关注 0票数 5

挑战响应HMAC身份验证是否安全?

  1. 客户端发送id
  2. 服务器发送质询(32字节值)
  3. 客户端使用其键计算质询值的hmac_sha256并发送答复。
  4. 服务器验证答复
EN

回答 1

Cryptography用户

回答已采纳

发布于 2017-10-01 09:44:58

这和对称的挑战-响应身份验证一样安全。几点意见:

  • 在认证协议中,唯一的保证是认证方参与了协议。很可能有一个中间的人
  • 步骤1(发送客户端ID)可以合并为3,如果所有客户端都必须以这种方式进行身份验证,而不管ID如何。
  • 在第2步,服务器的挑战应该是唯一的和不可预测的。使其可靠并不像看上去那么容易。
  • 在步骤4中,服务器必须能够从随机密钥数据库或主密钥和密钥派生函数中获取或重新生成客户端的密钥。

最大的问题是

  • 所述数据库或主密钥可能会泄漏给服务器,而poof则会导致所有安全问题。一个很好的缓解措施是使用安全令牌(HSM,智能卡..)在服务器上,编程使其只能检查对挑战的响应。
  • 从避免服务器泄漏的角度来看,最终的解决方案是当其中有注意到的秘密时。挑战/响应用签名代替HMAC只允许这一点。
  • 身份验证是一回事,保护接下来的内容更好。这就是为什么我们有认证和密钥协议。好的抗中间的人
  • 客户端的密钥(对称的或不对称的)可以在客户端被破坏。密码(以及正确的基于密码的密钥派生)来加密客户端中的密钥,可能会有所帮助,但比直接使用密码作为身份验证手段更不方便。这就是为什么我们有SRP和ISO/IEC 11770-4
票数 4
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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