2

我想使用Azure API管理将我们现有的API公开给第三方开发人员。Azure API 管理提供了一个开发人员门户,第三方可以在其中登录并获取订阅密钥。然后订阅密钥应该与每个请求一起作为查询字符串参数或与POST参数一起传递。

这似乎是一个问题,因为如果有人可以拦截HTTP流量,他们就有可能轻松访问此密钥。常见的机制是使用客户端密钥生成请求的 HMAC 并将其与请求一起发送,以确保请求的完整性和真实性,并且不将客户端密钥与请求一起发送。

  • 是否可以在 Azure API 管理上启用基于HMAC的完整性检查?

  • 是否可以配置Azure API管理以使用 HMAC 发回响应,以便客户端也可以验证响应来自可靠来源?

4

2 回答 2

1

在计算消息验证码的问题上,您希望使用什么作为散列函数的输入——只是 URL、整个正文,还是其他?

或者,您可以使用客户端证书身份验证策略来增加安全性,但我知道它不是 HMAC 的真正替代品: https ://msdn.microsoft.com/en-us/library/azure/061702a7-3a78-472b-a54a -f3b1e332490d#ClientCertificate

于 2015-03-18T18:44:10.977 回答
0

您的客户端和 Azure API 管理之间支持 https。

于 2014-11-11T03:47:25.470 回答