前面幾篇介紹了簡訊 OTP、軟體 OTP、Email OTP、電信認證以及 SIM 認證等不同類型的一次性驗證機制,金融業對這些一次性驗證的信賴程度雖然有所差異,但大多仍屬於最低信賴等級或低信賴等級。然而,也有部分一次性驗證機制因具備較完善的信物管理及交易確認能力,而獲得更高的信賴評價。
你是否曾經發現使用過行動銀行進行轉帳時,不需要輸入驗證碼,也不需要等待簡訊,在行動銀行的APP當中,看到突然顯示的OTP,然後按下確認按鈕,就完成了轉帳作業。這種驗證方式就是近年金融業愈來愈常採用的推播 OTP。與簡訊 OTP 驗證「是否持有門號」、Email OTP 驗證「是否持有信箱」不同,推播 OTP 驗證的是:客戶是否持有已完成綁定的行動裝置。
當客戶發起交易時,金融業會透過網路將驗證請求直接推送至已綁定的行動銀行 App,部分金融機構甚至會將交易金額、收款帳號等資訊一併顯示於推播畫面,讓客戶確認本次交易內容是否正確。
從使用者角度來看,推播 OTP 最大的優勢在於便利性,不需要等待簡訊送達,也不需要手動輸入六位數驗證碼,只要確認交易內容後按下同意即可完成驗證。然而,金融業之所以逐漸偏好推播 OTP,更重要的原因其實是安全性。相較於簡訊 OTP:
-不須依賴電信網路傳送驗證碼
-不易受到 SIM Swap 影響
-不易因簡訊轉寄或攔截造成驗證碼外洩
-可結合裝置綁定機制
-可將交易內容直接顯示於確認畫面
因此金融業通常不只是驗證:「這支設備是不是客戶的設備」。更會進一步驗證:「這筆交易是不是客戶親自確認的交易」。不過,推播 OTP 也並非毫無風險。例如:
-行動裝置遭惡意程式感染
-手機遭竊
-客戶未仔細閱讀交易內容便直接按下確認
-所謂的 MFA Fatigue (多因子驗證疲勞攻擊)
這些都可能使推播驗證機制遭到濫用,因此金融業對於推播 OTP 的信賴程度雖然高於簡訊 OTP、Email OTP 等傳統 OTP 機制,但若需提高交易限額,仍需確保交易資料不被竄改、客戶確認交易內容等。
部分金融業也會採用語音OTP作為身分驗證機制,其運作方式相當直覺。當客戶進行特定業務操作時,系統會主動撥打電話至客戶留存的手機或市話號碼,並透過語音播放一次性密碼,由客戶輸入該組驗證碼完成身分驗證。
從驗證概念來看,語音 OTP 與簡訊 OTP 其實非常類似,簡訊 OTP 驗證的是:你是否能接收到這支門號的簡訊。而語音 OTP 驗證的則是:你是否能接聽這支門號所接收到的來電。因此,金融業真正相信的其實不是電話內容本身,而是:相信目前接聽電話的人,正持有金融業所留存的電話號碼。
語音 OTP 有幾項特色:
-透過公眾交換電話網路(PSTN)或行動語音通話訊號傳遞驗證資訊
-不依賴簡訊功能
-可適用於市話號碼
-可做為簡訊 OTP 失敗時的替代方案
-對於不熟悉智慧型手機的族群較容易使用
然而,語音 OTP 仍然存在與電話號碼相關的風險,例如:門號遭冒用、門號轉移、SIM Swap、社交工程攻擊、電信服務遭濫用等。不過相較於單純接收簡訊驗證碼,語音 OTP 有機會透過即時通話互動、雙向確認或搭配其他驗證機制使用,因此在部分金融場景中,其信賴程度評估可能高於一般簡訊 OTP。
如果說前面介紹的簡訊 OTP、Email OTP、電信認證及推播 OTP,大多依賴手機門號、電子郵件或行動裝置進行驗證,那麼動態密碼產生器(Token)則是另一種完全不同的思維。它不相信門號、也不相信信箱,而是相信:客戶所持有的實體設備。
客戶持有這項設備後,每隔一段時間或一個事件便會產生一組全新的驗證碼,常見為 6 至 8 位數字。當客戶進行登入、轉帳或交易時,除了輸入帳號密碼外,還需要再輸入設備所產生的 OTP 才能完成驗證。從驗證概念來看,動態密碼產生器驗證的是:客戶是否持有金融業所核發的實體信物。
動態密碼產生器內部通常會儲存一組由金融業預先設定的秘密金鑰(Secret Key),再透過時間同步(TOTP)或事件同步(HOTP)等演算法持續產生新的驗證碼。因此:
-不需要網路
-不需要 SIM 卡
-不需要簡訊服務
-不需要 Email
只要設備正常運作,就可以持續產生新的 OTP。也因此,它不會受到:
-簡訊攔截
-SS7 攻擊
-SIM Swap
-Email 帳號遭竊等風險影響。
為什麼金融業給它較高的信賴程度?因為金融業真正相信的是:「只有持有這台設備的人,才能產生正確的驗證碼」。而這台設備通常:由金融業核發、具有唯一識別資訊、內含不可讀取的秘密金鑰及無法直接匯出金鑰內容。因此從金融業角度來看,其安全性遠高於單純依賴門號或信箱的驗證方式。
然而,動態密碼產生器最大的缺點在於便利性較差,客戶必須額外攜帶設備,且設備可能因遺失、損壞、沒電等因素而無法使用。對金融機構而言,採購、發放及維護成本也相對較高。
回顧這三篇文章介紹的 9 種一次性驗證機制,可以發現即使同樣被稱為一次性驗證,其背後所驗證的對象卻可能截然不同。有些驗證的是電子郵件控制權,有些驗證的是手機門號,有些驗證的是已綁定設備中的金鑰,甚至有些進一步確認客戶是否親自同意本次交易。
也正因如此,不同一次性驗證機制在金融業的信賴程度及適用情境上都存在差異。在金融業實務中,並不存在最安全的一次性驗證機制,只有最適合特定風險情境的驗證機制。金融機構會依據業務風險、交易金額、法規要求及使用者體驗等因素,在安全與便利之間取得平衡。
總而言之,一次性驗證機制只是表象,真正的核心其實是背後的信物(Credential)及其管理機制。這也是為什麼有些一次性驗證機制僅適合用於通知確認或低風險業務,而有些則足以應用於資金移轉、交易確認等高風險金融服務。