Step-up authentication 是在特定高風險操作點插入的額外驗證,跟登入時的 Authentication 是兩個不同時機的判斷。登入驗證回答「這是不是本人」,一次成立後通常維持一段會話;step-up 驗證回答「這次操作是不是本人此刻真的要做」,只在觸及高風險操作(改密碼、大額轉帳、匯出敏感資料)時才觸發,會話期間的一般操作不需要重新驗證。

概念位置

Step-up authentication 拆開了登入層與操作層兩層判讀,避免認證成功直接等於高權限存取——如果所有操作都共用登入時取得的信任,攻擊者一旦通過一次登入挑戰(例如透過 MFA fatigue,讓使用者連續同意推播直到誤點同意),就能在會話有效期內執行所有高風險操作,不需要再突破任何一層。跟 Authorization 的分工是:authorization 決定這個身份有沒有權限做這件事,step-up 決定執行前是否需要重新確認身份。

可觀察訊號與例子

Uber 2022 年的事故裡,高風險登入路徑缺少 step-up 驗證是三個失效控制面之一:攻擊者取得初始憑證後,內部工具的授權邊界不足讓落點能快速橫向擴散。判讀升級條件是短時間內 MFA 請求密度異常——這類訊號要走 on-call 升級處理,當成一般使用者支援問題處理會延誤反應時間。

判讀方式

判斷某個操作是否需要 step-up,看它的失敗代價是否遠高於一般操作(資金移動、權限提升、敏感資料匯出通常是)。缺 step-up 的系統常見徵兆是登入一次之後暢行無阻——沒有任何操作點會重新要求驗證。修法的兩軌缺一不可:強認證(WebAuthn / passkey 這類 phishing-resistant 機制)處理入場,裝置信任綁定處理停留——只做強認證不綁裝置,攻擊者仍可在受感染端點繼承會話。

憑證註冊本身是典型該套 step-up 的操作——在已登入狀態下新增一支的做法,會讓新憑證的強度上限等於當次登入用的方式,見 7.39 使用者持有型憑證