本文檔提供了將 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 解決方案,那麼為什麼不嘗試以下連結之一作為起點:
總有機碳