CyberGlossary

ID とアクセス

時間ベースのワンタイムパスワード (TOTP)

別称: RFC 6238, 時刻ベース OTP

定義

RFC 6238 で定義され、共有秘密と現在時刻から短いコードを導出して 30 秒ごとに更新するワンタイムパスワードアルゴリズム。

TOTP は広く普及している二要素認証の方式で、利用者の認証アプリ(Google Authenticator、Authy、1Password など)とサーバーが同じ対称シードを共有し、現在の Unix 時刻を 30 秒単位の窓に区切ったうえで同一の HMAC-SHA1 ハッシュを計算します。画面に表示される 6〜8 桁のコードは自動的に切り替わり、ごく短時間しか有効でないため、覗き見やフィッシングで取得しても再利用しにくくなります。QR コードでシードを設定すれば完全にオフラインで動作するのも利点です。主な弱点は、コードを中継するリアルタイムフィッシングプロキシ(AiTM)、端末上のマルウェア、サーバー側でのシード漏えいであり、可能であれば FIDO2 や passkey の利用が推奨されます。

  • GitHub アカウントの 2FA を有効化するために Google Authenticator で QR コードを読み取る。
  • ネットバンキングへのログイン時に認証アプリの 6 桁コードを入力する。

関連用語