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

アルゴリズム
コードの生成方法として、専門企業が独自に開発したアルゴリズムを利用する場合と、HMAC-based One-time Passwordをベースとした「OATH-TOTP」(RFC 6238)を利用する場合がある。
前者はあくまでプロプライエタリソフトウェアの一部であって、導入するために(金銭が伴う)何かしらの契約をしなければならないのに対し、後者は誰でも利用できるよう国際標準化された規格であり、共有シークレットを適切にユーザーへ配信できさえすれば良い。そのため、ほとんどのWebサービスで後者の方式を採用している。
単語通り「時刻ベースのワンタイムパスワード」と訳せば両方を包括し得るものの、RFC 6238 のタイトルにもなっていることから、一般に"TOTP"と言うときは後者を意図することが多い。文脈的に紛らわしければ、前者を指すときは製品名で、後者を指すときは規格名で呼べば確実に伝わる。
Remove ads
企業独自のアルゴリズムを搭載した製品
基本的にはRFC 6238が制定される前から販売されている製品が該当する。
初期設定時は、共有シークレットをトークン内にダウンロードするためのID類を入力したり、シリアル番号を入力することで工場出荷時にトークン内に書き込まれた共有シークレットとユーザーアカウントをサーバー側で紐付けたりする。このため、一般的なOATH-TOTPの登録手順のようにユーザーが共有シークレットの生データに触れることはない。
互換性の向上のため、下に例示したシリーズ内にも、OATH-TOTPにも対応した製品や企業独自のアルゴリズムを搭載していない製品が存在する。
製品例
- BizXaaS Authentication (NTTデータグループ) [1]
- SecurID (RSAセキュリティ) [2]
- Digipass (OneSpan) [3]
OATH-TOTPに準拠した製品
サーバーから提供されたBASE32形式の[注釈 1]共有シークレットを、OATH-TOTPに準拠する汎用型の管理ソフト・デバイスにユーザー自ら登録する。正しくワンタイムパスワードを生成できればどんなソフト・デバイスを選んでも問題ないので、各自のニーズにあわせて好みのものを選んで利用できる。
しかしながら、インターネットバンキングなどの高いセキュリティが求められる場面では、上記の一般的な登録手順のように共有シークレットの生データが露出する機会があること自体がリスクとなり得ることがある。この場合は、企業独自のアルゴリズムを搭載した製品のように専用型の管理ソフト・デバイスを利用する。
汎用型の管理ソフト・デバイスの例
- Aegis Authenticator - フリー&オープンソース
- andOTP[4]
- ente Auth - フリー&オープンソース
- FreeOTP
- Google Authenticator
- KeepassXC
- パスワードマネージャーであるが、OATH-TOTP管理機能も存在。
- YubiKey (Yubico) [5]
- FIDOセキュリティキーであるが、OATH-TOTP管理機能も搭載。
専用型の管理ソフト・デバイスの例
セキュリティ
→詳細は「ワンタイムパスワード § 各技術の比較」を参照
関連項目
脚注
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads