HOTPとは?
えいちおーとぴー
HOTPとは、カウンター値を基にワンタイムパスワードを生成するHMACベースの認証アルゴリズムです。
HOTP(HMAC-based One-Time Password)は、ワンタイムパスワード(OTP)を生成するアルゴリズムの一種で、IETF RFC 4226として標準化されています。二要素認証(2FA)の基盤技術として広く利用されています。
HOTPの仕組みは、共有秘密鍵とカウンター値をHMAC-SHA1関数に入力し、その出力から6〜8桁の数値を切り出すことでパスワードを生成します。認証サーバーとクライアント(スマートフォンアプリやトークンデバイスなど)が同じ秘密鍵とカウンターを保持しており、認証のたびにカウンターを同期させることで同一のパスワードを生成・照合します。
HOTPと混同されやすいのがTOTP(Time-based OTP)です。TOTPはカウンターの代わりに現在時刻を使うため、30秒ごとにパスワードが変わります。一方HOTPはカウンター方式なので、認証が行われるまでパスワードは変わりません。この特性からHOTPはハードウェアトークン(時計機能を持たないデバイス)との相性が良い反面、カウンターのずれ(同期ずれ)が生じると認証に失敗するリスクがあります。
HOTPの主な利点と注意点は以下のとおりです。
- 時刻同期が不要でオフライン環境でも利用可能
- 生成されたパスワードは使い切りで再利用不可
- カウンターのずれが大きくなると再同期が必要
- 盗聴された未使用パスワードが悪用されるリスクがある
使い方・例文
銀行のハードウェアトークンでボタンを押すたびに新しい番号が表示される仕組みは、HOTPの原理を応用しています。
この用語をシェア
最終更新: