本文档提供了将 Approov API 安全性集成到 ASP.Net 后端的快速入门指南。 Approov 验证请求是否来自受信任的移动应用程序版本,从而增强 API 的安全性。本指南涵盖设置 Approov CLI、注册 API 域、配置密钥(对称和非对称)、添加依赖项以及在 ASP.Net 应用程序中实现 Approov 令牌中间件。更多详细信息和故障排除链接见内部。
Approov 快速入门 - ASP.Net 令牌检查
Approov 是一种 API 安全解决方案,用于验证后端服务收到的请求是否来自移动应用程序的受信任版本。
此存储库实现了 ASP.Net 框架的 Approov 服务器端请求验证代码,该代码在允许 API 端点处理有效流量之前执行验证检查。
Approov 集成快速入门
本快速入门已使用以下操作系统进行了测试:
首先,设置 Approov CLI。
现在,注册 Approov 将为其颁发令牌的 API 域:
注意:默认情况下,对称密钥 (HS256) 用于在移动应用程序的有效证明上为通过 Approov CLI 添加的每个 API 域对 Approov 令牌进行签名,以便所有 API 将共享相同的密钥,并且后端需要请注意保守这个秘密。
更安全的替代方案是使用非对称密钥(RS256 或其他),它允许在每个 API 域上使用不同的密钥集,并使用只能验证但不能签署 Approov 令牌的公钥来验证 Approov 令牌。
要实现非对称密钥,您需要从使用对称 HS256 算法更改为非对称算法(例如 RS256),这要求您首先添加新密钥,然后在添加每个 API 域时指定它。请访问 Approov 文档中的管理密钥集了解更多详细信息。
接下来,通过以下方式启用您的 Approov 管理员角色:
对于 Windows powershell:
现在,使用 Approov CLI 获取您的 Approov Secret:
接下来,将 Approov 密钥添加到您的项目 .env 文件中:
现在,将依赖项添加到您的 appname.csproj 文件中:
接下来,在 Program.cs 中从 .env 文件加载机密并将其注入到 AppSettiongs 中:
现在,让我们添加类来加载应用程序设置:
接下来,将 ApproovTokenMiddleware 类添加到您的项目中:
注意:当 Approov 令牌验证失败时,我们返回带有空正文的 401,因为我们不想向攻击者提供有关请求失败原因的线索,并且您可以通过返回 400 来更进一步。
简单的快速入门中没有足够的细节?不用担心,请查看详细的快速入门,其中包含更全面的说明,包括如何测试 Approov 集成。
更多信息
系统时钟
为了正确检查 Approov 令牌的过期时间,后端服务器自动通过网络与权威时间源同步系统时钟非常重要。在 Linux 中,这通常是通过 NTP 服务器完成的。
问题
如果您在按照我们的说明操作时发现任何问题,只需在此处报告,并附上重现问题的步骤,我们将解决该问题和/或引导您找到正确的路径。
总有机碳
有用的链接
如果您希望更深入地探索 Approov 解决方案,那么为什么不尝试以下链接之一作为起点:
总有机碳