2010年までに、盗まれたパスワードがアカウントへの侵入手段として当たり前になっていたが、ハードウェアトークン方式は高価で独自仕様だった。業界団体OATHは、現在時刻と共有秘密からコードを導出できる時間ベースのワンタイムパスワードアルゴリズムを開発した。

この設計により、サーバーは状態を追跡する必要がなくなった。双方が同じタイムステップでHMACを実行するため、携帯電話とウェブサイトは30秒ごとに新しいコードで一致する。IETFはその成果を2011年5月にRFC 6238として公開し、誰でも実装できるオープン標準となった。

その後Googleは、QRコードをスキャンするだけで誰でもコードを登録できる無料アプリとしてGoogle Authenticatorを提供した。あらゆるサービスが同じオープン標準を採用でき、二要素認証はハードウェアの購入ではなくチェックボックス一つになり、銀行、ソーシャルネットワーク、開発者ツールへと広がった。

コードを時刻から導出するため、サーバー側の状態が不要になった

カウンターの代わりに時刻を使うため、状態なしでサーバーと携帯電話が同期を保てる

オープンな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