您位於此處:
安全性:需要 Proof Key for Code Exchange (PKCE)
此安全性設定會在所有相容的 OAuth 2 中強制執行密碼編譯。
控制名稱
外部用戶端應用程式:安全性:需要 Proof Key for Code Exchange (PKCE)
建議組態
支援的授權流程需要 Proof Key for Code Exchange (PKCE) 擴充功能。
控制概觀
此安全性設定會在所有相容的 OAuth 2.0 授與類型之間強制執行密碼編譯處理,其中用戶端在初始要求期間傳送雜湊程式碼挑戰,並在權杖交換期間傳送純文字程式碼驗證程式將要求繫結至特定用戶端例項。
未設定安全性風險
若未在所有支援的流程中強制執行 PKCE,則惡意執行動作使用者可以成功交換截斷的授權代碼或中介認證來取得存取權杖,因為授權伺服器缺少驗證原始呼叫者身分的技術機制。
威脅情況
攻擊者會從成功登入中 (透過瀏覽器歷程記錄、系統記錄或自訂 URI 架構攔截) 捕捉有效的授權代碼或可截斷的認證,並以程式設計的方式取得有效的工作階段權杖,合法用戶端才能完成手動處理。
估計 CVSS 分數範圍
高 (7.0–8.9)。
風險影響考量事項
無法在所有適用的流程中強制執行 PKCE,因此可能會發生廣泛的工作階段劫持和未經授權的資料存取,特別是針對未使用或已入侵靜態用戶端密碼的整合。
風險愈高時機
公用用戶端 (例如原生行動應用程式和單一頁面 Web 應用程式 (SPA)) 的風險較高,因為這些平台無法安全地儲存用戶端密碼,且經常在可觀察流量重新導向的環境中運作。
低度風險時機
如果組織僅在已強制執行必要用戶端密碼且在嚴格隔離網路周圍內作業的安全後端伺服器上使用機密用戶端,則風險較低。
業務與整合考量事項
若要在所有支援的流程中啟用此需求,則所有整合用戶端應用程式都必須支援 S256 轉換方法,並針對每個交易管理唯一的高 Entropy 字串。
建議的補救措施
前往「外部用戶端應用程式」的「OAuth 設定」,然後選取核取方塊以針對所有支援的授權流程要求 Proof Key for Code Exchange (PKCE)。
安全性健康檢閱指南
Security Health Review 將 PKCE 識別為所有現代身分識別與授權流程的必要結構標準,如此一來,每個權杖交換都會以密碼編譯方式繫結至特定用戶端例項,以防止認證插入與攔截。

