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 桁コードを入力する。
関連用語
ワンタイムパスワード (OTP)
1 回のログインまたは短い時間枠の間だけ有効な短い数字コード。通常は第 2 認証要素として使われる。
HMAC ベースのワンタイムパスワード (HOTP)
RFC 4226 で定義され、共有秘密と単調増加するカウンタから短いコードを導出するイベント型のワンタイムパスワードアルゴリズム。
多要素認証 (MFA)
アクセスを許可する前に、通常は異なるカテゴリに属する 2 つ以上の独立した要素を要求する認証方式。
二要素認証 (2FA)
本人確認のために、通常はパスワードに加えてもう 1 つの要素を必要とする、ちょうど 2 要素の多要素認証。
FIDO2
FIDO2 — definition coming soon.
Passkey
Passkey — definition coming soon.