トップQs
タイムライン
チャット
視点
Time-based One-time Password
時間に基づいて生成されるワンタイムパスワードおよびその認証技術 ウィキペディアから
Remove ads
Time-based One-time Password(タイムベーストワンタイムパスワード、英: TOTP)や時間ベースのワンタイムパスワードは、多要素認証(MFA)における所有物認証の一種であり、現在時刻と共有シークレットに基づいて生成されるワンタイムパスワード(一度限りのパスワード)である。

使用する際は、時間ベースのワンタイムパスワードは、パスキーとは異なり、フィッシング攻撃耐性が無いことに注意が必要である。
アルゴリズム
コードの生成方法として、専門企業が独自に開発したアルゴリズムを利用する場合と、HMACベースのワンタイムパスワード(HOTP)をベースとした「OATH-TOTP」(RFC 6238)を利用する場合がある。
前者はあくまでプロプライエタリソフトウェアの一部であって、導入するために(金銭が伴う)何かしらの契約をしなければならないのに対し、後者は誰でも利用できるよう国際標準化された規格であり、共有シークレットを適切にユーザーへ配信できさえすれば良い。そのため、ほとんどのWebサービスで後者の方式を採用している。
単語通り「時刻ベースのワンタイムパスワード」と訳せば両方を包括し得るものの、RFC 6238 のタイトルにもなっていることから、一般に"TOTP"と言うときは後者を意図することが多い。文脈的に紛らわしければ、前者を指すときは製品名で、後者を指すときは規格名で呼べば確実に伝わる。
計算式
HOTP(HMACベースのワンタイムパスワード)は RFC 4226 にて以下のように定義されている。Kは共有秘密鍵。Truncate は RFC 4226 で、HMAC-SHA-1は RFC 2104 で定義されている。
HOTP(K, C) = Truncate(HMAC-SHA-1(K, C))
TOTP(時間ベースのワンタイムパスワード)は RFC 6238 にて以下のように定義されている。上記の HOTP の計算式の C に下記式を使用する。デフォルトは T0 = 0, X0 = 30秒。T0 = 0 は1970年1月1日午前0時0分0秒からの経過秒数を使用することを意味する。
C = (現在のUNIX時間 - T0) / X0
Remove ads
パスキーとの併用
パスキーはフィッシング攻撃耐性があり、また、数字を入力する手間がある時間ベースのワンタイムパスワードよりも素早く認証が出来るので、普段使いの認証としてはパスキーを使用し、万が一パスキーを紛失するなどの回復手段として、時間ベースのワンタイムパスワードを併用すると便利である。[1]
企業独自のアルゴリズムを搭載した製品
基本的にはRFC 6238が制定される前から販売されている製品が該当する。
初期設定時は、共有シークレットをトークン内にダウンロードするためのID類を入力したり、シリアル番号を入力することで工場出荷時にトークン内に書き込まれた共有シークレットとユーザーアカウントをサーバー側で紐付けたりする。このため、一般的なOATH-TOTPの登録手順のようにユーザーが共有シークレットの生データに触れることはない。
互換性の向上のため、下に例示したシリーズ内にも、OATH-TOTPにも対応した製品や企業独自のアルゴリズムを搭載していない製品が存在する。
製品例
- BizXaaS Authentication (NTTデータグループ) [2]
- SecurID (RSAセキュリティ) [3]
- Digipass (OneSpan) [4]
OATH-TOTPに準拠した製品
サーバーから提供されたBASE32形式の[注釈 1]共有シークレットを、OATH-TOTPに準拠する汎用型の管理ソフト・デバイスにユーザー自ら登録する。正しくワンタイムパスワードを生成できればどんなソフト・デバイスを選んでも問題ないので、各自のニーズにあわせて好みのものを選んで利用できる。
しかしながら、インターネットバンキングなどの高いセキュリティが求められる場面では、上記の一般的な登録手順のように共有シークレットの生データが露出する機会があること自体がリスクとなり得ることがある。この場合は、企業独自のアルゴリズムを搭載した製品のように専用型の管理ソフト・デバイスを利用する。
汎用型の管理ソフト・デバイスの例
Windows, iOS, macOS, Android, ChromeOS を使用するには Microsoft アカウント、Apple Account、Google アカウントが必要であるが、これらのアカウントと紐付く、OSメーカーが提供しているものとして下記がある。
- Google Authenticator
- iOS 15以降やmacOS Monterey以降の標準機能の設定 > パスワード
- Microsoft Authenticator
OSメーカー以外が提供しているものとして下記がある。
専用型の管理ソフト・デバイスの例
Remove ads
セキュリティ
→詳細は「ワンタイムパスワード § 各技術の比較」を参照
関連項目
脚注
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads