「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- ワンタイム・パスワードのコンテキストでトークンと言うと、
ワンタイム・パスワードを生成する機器と言う意味になる。
詳細 †
S/Keyと時刻同期方式 †
S/Key †
- Seed+「初期値(最大値) or 保存しているカウンタ値 - 1」を返信
- S(=Seed+Password)をカウンタ値回ハッシュ関数にかけOTPとして送信
- ハッシュ値の比較(妥当性検証)
- 初回は初期値(最大値)回分のハッシュを自力で計算して比較
- 初回以降は前回OTPをハッシュ関数にかけて比較(サーバ負荷軽減)
時刻同期方式 †
- 特許対象で、詳細が一般に公開されていない
- 難解さに基づくセキュリティに依拠している。
- 専門家によって理論的に安全性が確認されていない。
- トークンの生成したパスコード(トークコード+個人情報番号(PIN))を送信
※ PINがNW上に流れないようトークンにPINを入力して、パスコードを生成する方式もある。
- 認証サーバでも同様の方法でパスコードを生成して比較
TOTPとHOTP †
HOTP †
- カウンターベースのOTP(HOTP:HMAC-based One-Time Password RFC 4226)
- HMACを使用したカウンタ値と秘密鍵から6桁 decimal のOTP生成するアルゴリズム
- カウンタ値に関する仕様は任意で明記されていない。
TOTP †
- 時間ベースのOTP(TOTP:Time-based One Time Password RFC 6238)
- HOTPのカウンタ値をUNIXエポック間隔(30秒など)で取得。
脆弱性 †
ワンタイム・パスワード方式の脆弱性
サーバ認証 †
紛失・漏洩 †
- トークンの紛失
- パスフレーズの漏洩
- 個人情報番号(PIN)の漏洩
カウンタ管理方式 †
(再生攻撃対策がない場合)
- ログイン試行回数
OTPで認証されない限り、
カウンタが更新されないので
ブルートフォース攻撃できる。
- 時間式
特定の時間内ならカウンタが同じなのでブルートフォース攻撃できるが、
時間間隔が短いので、ログイン試行回数式よりセキュリティの強化される。
比較 †
以下の様に言わないと製品売れないしね(恐らく試験には出ません)。
| TOTP/HOTP | 時刻同期方式トークン |
開始するコスト | 安い | 高い |
耐タンパー性 | 低い | 高い |
※ 耐タンパー性:コンピュータシステムの内部構造の解析、見破られ難さ。
参考 †
認証システム †
Google †
Microsoft †
Qiita †
One-time Password algorithm †
HOTP †
TOTP †
Tags: :IT国際標準, :認証基盤