使用 HTTP/2 替代客户端证书身份验证

信息安全 应用安全 http2
2021-09-03 05:38:35

我们目前正忙于改进 Android 应用程序,该应用程序使用客户端证书和承载令牌连接到 Azure 应用服务 API,以通过 TLS 1.2 进行身份验证。

我们正在研究迁移到 HTTP/2 以满足带宽和性能要求。HTTP/2 标准没有实现客户端证书认证。

我们仍然希望在不记名令牌身份验证旁边增加一层。可以探索哪些有效且安全的选项来强化我们的 API?

添加随机数是阻止恶意请求的一种可能解决方案,但我们希望限制对我们 API 的公共访问。

2个回答

使用需要客户端证书的单独子域。只有重新协商是不允许的,所以如果您在 HTTP/2 TLS 会话开始时请求客户端证书,它仍然可以工作。

我们通过使用 Azure 应用服务 IP 限制解决了这个问题。这只是可能的,因为我们控制了所有的客户。