在Javascript中的HMAC验证API

3

我已成功从后端实现了HMAC验证,但希望提供JSONP支持。由于我不想让客户端知道秘密密钥,那么利用HMAC并从客户端发出调用的最佳方法是什么?


1
请提供更多信息。您试图验证什么?您试图防御什么? - SLaks
我想确保获取数据的客户端是有效的,而不是一个开放式的API。后端通过使用密钥创建签名来验证请求。但在客户端上,我无法这样做。 - Mike Flynn
1
你无法防止攻击者冒充你的客户端。就是这样。 - SLaks
1个回答

3
如果攻击者知道秘密密钥,那么他将始终能够生成有效的HMAC。攻击者可以通过查看流量修改JavaScript来获得此HMAC值。也可以使用类似Firebug的JavaScript调试器。
简而言之,这种安全功能不存在于任何地方,因为它完全毫无价值。听起来你正在非常小心地实现CWE-602违规行为。
信任客户端是你可能犯的最严重的错误。现代Web应用程序安全的基础是保护服务器免受客户端攻击。我认为你还有很多要学习的地方。

2
我并没有说我正在做这件事。我只是在问从客户端实现这个功能的好方法是什么。 - Mike Flynn
@Mike Flynn 那么你应该删除安全标签,因为这不是一个安全功能。 - rook

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接