我正在嘗試使用 JWT 保護其余 API 端點。我在這里和這里查看了一些相關的問題。
我在 JWT 中有一些敏感資訊,但我使用的是 HTTPS,所以資料已經加密,這樣就足夠了,還是我必須加密 JWT?
uj5u.com熱心網友回復:
HTTPS 為您提供傳輸加密。這意味著如果有人截獲您的訊息,他們將無法閱讀。但是安全連接由瀏覽器(在用戶端)終止,并且通常由服務器端的負載平衡器或 API 網關終止。這意味著任何有權訪問瀏覽器的人都可以免費使用 JWT。也有可能從您的網路內部讀取或竊取它(一旦它通過網關/負載平衡器)。這是一個低得多的威脅,但它仍然存在。
如果您在 JWT 中有敏感資訊,那么有兩種選擇:
您可以加密 JWT(所以使用 JWE)。這樣令牌的內容將在瀏覽器中是安全的。即使有人在那里讀取或攔截了令牌,他們也無法讀取它。不過,JWE 的設定有點棘手。
使用Phantom Token模式。在此模式中,您向客戶端發出不透明令牌,并讓您的 API 網關將不透明令牌交換為 JWT。這樣一來,您的敏感資訊就會遠離瀏覽器,但您的 API 仍然可以從 JWT 的強大功能中受益。它也不需要設定加密。它使您容易受到網路內任何惡意行為者的攻擊(來自您的組織或設法破壞您的防御的人),但這種風險要低得多。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/436112.html
