必要な情報はすべて、不要な情報は一切なし
OTPとは
OTPとは、通常4〜8桁の、一度のみ有効で短時間しか使用できない使い捨ての短いコードです。ユーザーが所有するデバイスに届けられますが、多くの場合SMSによって、あるいはWhatsApp、音声通話、フラッシュコール、メール、または認証アプリによってローカルで生成される方法で届けられます。期限があり再利用できないため、OTPは、その瞬間にユーザーが送信先のチャネルを制御していることを証明します。
- 一度のみ有効な、短期間の使い捨てコード。
- SMS、WhatsApp、音声、フラッシュコール、メール、またはアプリ経由で配信されます。
- 送信先チャネルの制御を証明します
- 有効期限と一度限りの利用が、「ワンタイム」である理由です。
2FAとは
二要素認証では、異なるカテゴリから2つの証明を必要とします。「知識情報」(パスワードやPIN)、「所持情報」(電話、セキュリティキー、OTP)、または「生体情報」(指紋や顔)です。その目的は独立性にあります。パスワードを盗んだ攻撃者であっても、第2の要素がなければ認証できません。パスワードにSMSのOTPを組み合わせれば2FAとなりますが、2つのパスワードでは同じ要素タイプであるため、二要素認証にはなりません。
- 異なるカテゴリからの2要素:知識 / 所持 / 生体
- パスワード + SMS OTP = 2FA; パスワード + PIN = 2FAではありません。
- 独立性は、重要となるセキュリティ特性です。
- MFAは、2FAを2つ以上の要素に一般化したものです。
相互関係
2FAの構成において、OTPは「所有しているもの」という要素として頻繁に利用されますが、これは一つの選択肢に過ぎず、最も強力なものでもありません。SMSによるOTPは、フィッシングやSIMスワップ、SMSパンピング詐欺に対して脆弱です。そのため、NIST SP 800-63BなどのガイドラインではSMSを制限付きの認証器として扱っており、フラッシュコール、サイレントネットワーク認証、認証アプリ、ハードウェアキーといった代替手段が存在する理由となっています。2FAを用いないOTP(コードによる単一要素のパスワードレスログイン)や、OTPを用いない2FA(パスワードに指紋を加えたもの)を実現することも可能です。
- OTPは通常「必須」の要素ですが、それだけではありません。
- SMS OTPは、アプリベースまたはハードウェアによる認証よりも強度が低くなります。
- NIST SP 800-63Bは、認証手段としてのSMSを制限しています。
- 2FAなしのOTPと、OTPなしの2FAの両方が存在します。
OTPと2FAの比較
| OTP | 2FA | |
|---|---|---|
| 概要 | 使い捨てコード | 二要素認証モデル |
| 範囲 | 単一の認証メカニズム | 2つの要素を組み合わせたポリシー |
| 例 | SMSコード、音声コード、アプリコード | パスワード + OTP、パスワード +指紋認証 |
| 配信 / 手法 | SMS、WhatsApp、音声、フラッシュコール、アプリ | 2つの独立した認証要素 |
| 関係性 | 2FAにおける二要素認証として利用可能 | OTPの使用可否 |