TOTPTime-based One-Time Password
TOTP (Time-based One-Time Password) は、共有鍵と現在時刻から HMAC で6桁ワンタイムコードを生成する方式です。RFC 6238で規定され、Authenticatorアプリで広く使われます。
詳細解説
TOTP は、HOTP (RFC 4226) を拡張し時刻をカウンタにした方式で、RFC 6238 で標準化されています。共有秘密鍵 (通常160bitのBase32) と現在のUNIX時刻を30秒で割った商を HMAC-SHA1 (またはSHA256/512) し、その出力を Truncate して6桁数字を得ます。サーバーとクライアントの時刻ズレに備え±1ステップ (前後30秒) を許容するのが慣習です。導入は QR コード ( otpauth://totp/Issuer:account?secret=...&issuer=... ) で Google Authenticator / Authy / 1Password / Microsoft Authenticator にスキャンさせるだけで、ベンダー非依存に動きます。SMS OTP より安全ですが共有鍵が漏れると無力なため、サーバー側の暗号化保管・流出検知が前提になります。フィッシング耐性は WebAuthn より低い点も認識が必要です。
実装例 / 使い方
- 01Google Authenticator で 6桁 30秒の TOTP を生成
- 02otpauth://totp/exbk.jp:user@example.com?secret=BASE32&issuer=exbk.jp
- 03サーバー側の secret 列は KMS で暗号化保管
関連する用語
MFA
Multi-Factor AuthenticationMFA (多要素認証) は、知識・所有・生体の異なる要素を2つ以上組み合わせて認証する方式で、パスワード単独より遥かに高い安全性を提供します。...
2FA
Two-Factor Authentication2FA (二要素認証) は、MFA のうち2要素を使う形式の総称で、パスワード + TOTP・パスワード + SMS・パスワード + パスキーが代表的な組み合わ...
WebAuthn / Passkey
Web AuthenticationWebAuthn は、公開鍵暗号でフィッシング耐性のある認証を実現するW3C標準で、Passkey はその利用者向け呼称です。パスワードレス認証の主流になりつつ...
HMAC
Hash-based Message Authentication CodeHMAC は、共通鍵とハッシュ関数 (SHA-256等) を組み合わせメッセージ認証コードを生成する仕組みで、データの完全性と送信元検証を提供します。RFC 2...
TOTPを、実際に活用する
用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。
営業時間 平日10-18時 / 通常24時間以内に返信
