TOTP 【Time-based One-Time Password】

概要

TOTP(Time-based One-Time Password)とは、ワンタイムパスワード(OTP)の生成手法の標準の一つで、秘密鍵と現在時刻からハッシュ値を求め、これを6桁程度の数値列に変換してパスワードとする方式。

ワンタイムパスワードパスワード認証の一種で、毎回異なるその場限りの数字や文字列を用いて認証う方式である。通常は4~6桁程度の数字を用い、固定のパスワードなど他の認証方式と組み合わせて二段階認証を構成する。

TOTPはワンタイムパスワードの生成方式の一つで、利用者の操作するクライアントはが「HMAC」(Hash-based Message Authentication Code)と呼ばれる認証コード認証サーバに送信する。HMACの生成に用いられる情報は、サーバクライアントの間であらかじめ共有された秘密鍵と、認証を有効にしてから現在までの経過時間の2つである。

クライアント秘密鍵と現在までの経過時間を組み合わせてハッシュ関数にかけ、固定長ハッシュ値を得る。これを一定の計算手法で6桁以上の指定された桁数の数字に変換し、サーバに送信する。サーバも同じ秘密鍵経過時間を知っているため、同様の計算をってが一致すれば認証成功となる。

経過時間は実際には一定時間(システム側で決定しておく)経過ごとに切り替わるカウントを用いる。クライアントサーバ秘密鍵を共有して認証を有効にした時刻を「0」とし、指定時間(デフォルトでは30秒)が経過するごとにを1ずつ増やしていく。生成したパスワードは次のカウントに進むまで有効となる。時間切れになったら再生成して送信し直す必要がある。

TOTPの仕様は「HOTP」(HMAC-based One-Time Password)を元に作成された。これは経過時間ではなく認証試行回数を用いてハッシュ値を生成する手法で、それ以外の仕組み自体はほぼ同様である。HOTPではハッシュ関数としてSHA-1を用いるが、後発のTOTPではSHA-2SHA-256SHA-512)も利用できる。TOTPの規格は2011年にIETFによってRFC 6238として標準化されている。

(2023.3.2更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる