使用Spring Security和JWT:
- 如果令牌來自不同的設備,有沒有辦法使令牌無效?
- 我怎么知道提供的令牌是否是被盜的?我可以輕松復制和粘貼整個令牌并提供它
謝謝
uj5u.com熱心網友回復:
我將盡可能簡單地回答這個問題,而不會嘗試進行全面的討論。
如果令牌來自不同的設備,有沒有辦法使令牌無效?
不,這是您不應該將 JWT 用作會話的主要原因之一。它們被發布,然后大多數情況下它們的完整性通過檢查簽名來驗證,然后再沒有了。
會話 cookie 的所有資訊都存盤在服務器端,這意味著您可以使會話無效,服務器端,當有人提供 cookie 時,您可以說不。
令牌有一個你可以檢查的生命周期,但由于大多數實作是無狀態的,我們沒有什么可以使服務器端無效,所以我們不能使 JWT 無效。它必須“超時”。
那里可能有自定義解決方案等,但所有主要實作都以這種方式作業。Owasp 談論內置令牌撤銷的不同解決方案
這個問題已經提過好幾次了,但開發者似乎并不在意。
JWT 對用戶會話很危險
停止使用 JWT 進行會話
停止使用 JWT 進行會話第 2 部分
為什么 JWT 作為會話令牌很爛
我怎么知道提供的令牌是否是被盜的?我可以輕松復制和粘貼整個令牌并提供它
你不能。你怎么知道有人劫持了你的 Facebook 帳戶?好吧,您向 facebook 報告它已被黑客入侵。僅憑令牌,您無法隨時知道誰擁有任何令牌。
這就是為什么我們有證書 (TLS),我們有其他安全措施,如 CORS、CSRF、ip 白名單、用戶名和密碼等。
這就是所謂的零信任如果有人出示令牌,您相信他們就是他們聲稱的身份,除非您想開始將 IP 地址列入白名單(但他們可能會被 vpns 等欺騙)
安全是困難的,遺憾的是你現在已經理解了它的困難。
令牌竊取是一回事,您必須專注于確保沒有人可以竊取令牌。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/443551.html
