メインコンテンツへスキップ

用語比較

TOTPとHOTPの違い

HOTPはイベント(カウンタ)ベース、TOTPは時刻ベースのワンタイムパスワード。現在主流はTOTPで、Google Authenticatorなどが採用。

難易度
中級
想定読者
開発者・情シス・MFA設計者
所要時間
約6分
TOTPとHOTPの違いを実務で比較する判断ボードの図

HOTPとは

HMAC-based One-Time Password (RFC 4226)。共有鍵とカウンタからOTPを生成し、認証成功でカウンタを進める。

TOTPとは

Time-based One-Time Password (RFC 6238)。HOTPを基盤に、現在時刻のウィンドウ(30秒)でOTPを生成する。

違いの比較表

比較軸 HOTP TOTP
基準 カウンタ(イベント) 時刻(30秒ウィンドウ)
同期方法 認証成功時にカウンタ同期 端末/サーバーの時刻同期が前提
主な利用例 ハードトークン、メール/SMS送信OTP Google Authenticator等のアプリ
弱点 カウンタ同期ずれによるロックアウト 時刻ずれ、フィッシングでのリアルタイム盗用

使い分け

  • 一般的なアプリ MFA では TOTP を採用する
  • 物理ハードトークンを併用する環境では HOTP が残る場合がある
  • フィッシング耐性が必要な領域では FIDO2/パスキーへ移行する

よくある誤解

  • TOTPはフィッシングに完全耐性がある、というのは誤解
  • HOTPは古い規格で全て使われない、とは限らない
  • SMSのOTPはTOTP/HOTPと同じく安全、というのは誤り

よくある質問

HOTPとTOTPの違いは?

HOTPはイベント(カウンタ)ベース、TOTPは時刻ベースのワンタイムパスワード。現在主流はTOTPで、Google Authenticatorなどが採用。

HOTPとは?

HMAC-based One-Time Password (RFC 4226)。共有鍵とカウンタからOTPを生成し、認証成功でカウンタを進める。

TOTPとは?

Time-based One-Time Password (RFC 6238)。HOTPを基盤に、現在時刻のウィンドウ(30秒)でOTPを生成する。

HOTPとTOTPはどう使い分ける?

一般的なアプリ MFA では TOTP を採用する 物理ハードトークンを併用する環境では HOTP が残る場合がある フィッシング耐性が必要な領域では FIDO2/パスキーへ移行する

HOTPとTOTPでよくある誤解は?

TOTPはフィッシングに完全耐性がある、というのは誤解 HOTPは古い規格で全て使われない、とは限らない SMSのOTPはTOTP/HOTPと同じく安全、というのは誤り

関連用語・次に読むページ

ESC