Token-Based 身份驗證是一種機制,允許客戶端通過一個由服務器生成和簽署的 access token 來訪問受保護的資源。這個機制的核心步驟包括:
客戶端登入請求
Server response
Access Token
訪問受保護資源
Response
JWT 是一個 base64 編碼的字符串,由三個主要部分組成,每部分之間用點分隔:
secret/private key
,因此如果駭客嘗試創建假 token,將在驗證過程中被輕易檢測。對稱鑰算法 (Symmetric-key algorithm)
非對稱鑰算法(Asymmetric-key algorithm)
alg
header 設置為 none
來繞過簽名驗證過程。PASETO (Platform Agnostic Security Token) 是一種被廣泛接受的 JWT (JSON Web Token) 的最佳安全替代方案。
curve 25519
。Local
或Public
)、主要內容或 payload 數據(加密)和令牌的 footer(可選)。
Local
→ Symmetric-keyPublic
→ Asymmetric-key
Public
時且其payload
不會被加密,只會被 base64
編碼。Payload中
藍色的部分是由數位簽名演算法使用私鑰創建的令牌簽名,伺服器將使用其配對的公開密鑰來驗證此簽名的真實性。在今天的網路世界中,安全性非常重要。當我們建立一個應用程式時,我們需要確保我們的使用者資料是安全的。這就是為什麼 PASETO 比 JWT 更好。PASETO 提供了更好的安全性,避免了許多 JWT 有的漏洞,而且更容易使用。如果您正在開發一個應用程式,我建議您使用 PASETO 來確保您的使用者資料是安全的。
目前來看,我們沒有發現 PASETO 有什麼顯著的缺點。然而,由於它是一個相對較新的技術,可能還有一些未知的安全問題尚待發現。因此,我們建議開發人員在使用 PASETO 時仍需保持警覺,並定期更新其版本,以確保最大程度的安全性。