メインコンテンツへスキップ
EXBANK
用語集一覧へ
— Glossary

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 で暗号化保管
IMPLEMENT

TOTPを、実際に活用する

用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。

営業時間 平日10-18時 / 通常24時間以内に返信