到了 2010 年,被竊取的密碼已是入侵帳戶的預設途徑,而硬體權杖系統既昂貴又屬專有。產業組織 OATH 開發出一套基於時間的一次性密碼演算法,讓密碼可由當前時間與共享密鑰推導而來。

這樣的設計意味著伺服器永遠不必追蹤狀態:雙方對同一個時間步長執行 HMAC,因此手機與網站每 30 秒就會對一組全新的密碼達成一致。IETF 於 2011 年 5 月將成果發布為 RFC 6238,這是一項任何人都能實作的開放標準。

Google 隨後推出 Google Authenticator,作為一款免費應用程式,任何人只要掃描 QR 碼就能將密碼註冊進去。任何服務都能採用同一套開放標準,雙因素驗證於是從一筆硬體採購變成一個核取方塊,並擴散至銀行、社群網路與開發者工具。

從時間推導密碼,因此不需要任何伺服器狀態

時間取代計數器,因此伺服器與手機無需狀態就能保持同步

開放的 RFC 意味著沒有廠商擁有該格式

Google 的免費應用程式移除了採用上的硬體障礙

單靠被竊取的密碼已不足以入侵

把免費實作與開放標準一同推出,標準就會自行普及——不需要業務團隊。

TOTP 成為數百萬項服務的預設第二因素,並內建於密碼管理員與平台驗證器中。可抵抗網路釣魚的 WebAuthn 通行金鑰此後已開始取代它,但 TOTP 仍是雙因素驗證的基準標準。

追溯依據

參考來源

  1. Time-based one-time password Wikipedia · en.wikipedia.org
  2. RFC 6238: TOTP: Time-Based One-Time Password Algorithm IETF / RFC Editor · datatracker.ietf.org