はじめに
――「一度しか使えないパスワード」は、なぜ今も重要なのか
OTP は地味です。
派手な FIDO やパスキーの陰に隠れがちですが、実務の現場では いまだ主力。
- 銀行
- 社内VPN
- 管理画面
- MFA の第2要素
理由は単純で、
**「壊れ方が分かっている、成熟した技術」**だからです。
この記事では OTP を
仕組み・種類・強みと限界・現代での正しい使い方
という観点で整理します。
OTP とは
OTP(One-Time Password) とは、
一度の認証でしか使えない、使い捨てのパスワード
です。
最大の特徴
- 再利用不可
- 有効期限あり
つまり、
盗まれても“即使われなければ”価値が消える。
OTP はチャレンジレスポンス認証
OTP は独立した魔法ではありません。
OTP = チャレンジレスポンス認証の一種
- チャレンジ:時刻・カウンタ・サーバ要求
- レスポンス:計算されたワンタイムコード
この構造のおかげで、
リプレイ攻撃に強い。
OTP の基本フロー
1. ユーザID + パスワード
2. サーバが OTP を要求
3. ユーザが OTP を入力
4. サーバが検証
多くの場合、MFA の第2要素として使われます。
OTP の主な種類
1. TOTP(Time-based OTP)
現在の主流
仕組み
- 現在時刻 + 秘密鍵
- 一定時間(例:30秒)で更新
特徴
- オフライン利用可
- Google Authenticator など
弱点
- 時刻ずれ問題
- フィッシング中継に弱い
2. HOTP(Counter-based OTP)
仕組み
- カウンタ + 秘密鍵
- 使用ごとにカウンタ増加
特徴
- 時刻不要
- ハードウェアトークン向き
弱点
- カウンタ同期が必要
3. SMS / メール OTP
仕組み
- サーバがコードを送信
特徴
- 導入が簡単
- ユーザ理解しやすい
弱点(重要)
- SIMスワップ
- メール乗っ取り
- フィッシング耐性が低い
安全性は「最低ライン」
OTP の強み
リプレイ攻撃に強い
- 同じコードは使えない
導入実績が豊富
- 実装が枯れている
- 運用ノウハウが多い
MFA との相性が良い
- 知識要素の弱点を補う
OTP の限界と攻撃
❌ リアルタイムフィッシング
- 攻撃者が即中継
- OTP は「今」有効
👉 OTP は盗めないが、使われる
❌ 人間依存
- 入力ミス
- 覗き見
- ソーシャルエンジニアリング
❌ 所有物奪取
- スマホ盗難
- トークン紛失
OTP はなぜまだ使われるのか
答えは現実的です。
- 全環境で使える
- レガシー対応可能
- コストが低い
- 法規制・業界標準に適合
👉 「最強」ではないが「現実解」
現代における正しい位置づけ
結論をはっきり言います。
OTP は単体で使うものではない
正しい構成
知識認証(パスワード)
+
OTP(所有物)
または:
リスク検知
→ 必要な時だけ OTP
OTP と FIDO の関係
| 項目 | OTP | FIDO |
|---|---|---|
| フィッシング耐性 | △ | ◎ |
| 導入難易度 | 低 | 中 |
| レガシー対応 | ◎ | △ |
| 将来性 | △ | ◎ |
👉 OTP は「今」、FIDO は「未来」
ベストプラクティス
- SMS OTP を最終手段にする
- 有効期限は短く(30秒前後)
- 入力回数制限
- フィッシング対策と併用
- 可能なら FIDO へ移行
まとめ
OTP は:
- 一度きり
- 成熟している
- だが万能ではない