1. ワンタイムパスワード(OTP)とは
ワンタイムパスワード(OTP:One-Time Password)とは、その名の通り「一度きりしか使えない、使い捨てのパスワード(確認コード)」のことです。ログイン時などに、その場限りの数字コード(例:6桁の「123456」)が発行され、それを入力することで本人を確認します。一度使えば無効になり、通常は数十秒〜数分で有効期限も切れます。
OTPは、多要素認証(MFA)の「所持要素」を実現する代表的な手段として、幅広く使われています。パスワード(知識要素)に加えてOTPを求めれば、多要素認証になるわけです。ネットバンキングやSaaSのログインで、コードの入力を求められた経験は誰にでもあるでしょう。それがOTPです。
2. OTPの種類と仕組み
| 種類 | 仕組み | 特徴 |
|---|---|---|
| SMS型OTP | 携帯電話番号あてにSMSでコードを送る | 手軽だが、SIMスワップ・傍受のリスクがある |
| アプリ型OTP(TOTP) | 認証アプリが、時刻に基づいてコードを自動生成する | 通信不要でSMS型より安全。広く普及 |
| ハードウェアトークン | 専用の小型端末がコードを表示する | スマホ不要。金融機関などで利用 |
| メール型OTP | メールでコードを送る | 手軽だが、メール自体が乗っ取られると危険 |
最も普及しているのが、アプリ型OTP(TOTP:Time-based One-Time Password)です。これは、サービスと認証アプリが同じ「秘密の鍵」と「現在時刻」を共有し、それをもとに同じコードを計算する仕組みです。通信を介さずにコードが生成されるため、SMS型のような傍受のリスクがなく、より安全とされています。認証アプリ(TOTP)の詳しい仕組みは、認証アプリとはでも解説しています。
3. なぜ通常のパスワードより安全なのか
OTPが通常のパスワードより安全なのは、「一度きりで使い捨て」かつ「短時間で失効する」という性質にあります。
通常のパスワードは、一度盗まれれば、変更するまでずっと悪用され続けます。しかしOTPは、たとえ盗まれても、そのコードはすぐに無効になり、次回は別のコードになります。だから、過去に漏れたコードを使い回すことはできません。この「使い捨て」の性質が、クレデンシャルスタッフィング(漏えいパスワードの使い回し)のような攻撃を無力化します。パスワードにOTPを組み合わせることで、認証の安全性は大きく高まるのです。
4. OTPにも残る限界
OTPは通常のパスワードより安全ですが、それでも「限界」があります。最大の弱点は、OTPが依然として「人が入力する、盗めるコード」である点です。
近年増えている「中間者型(AiTM)フィッシング」では、精巧な偽サイトが、パスワードとOTPの両方をリアルタイムで盗み取り、その一瞬のうちに本物のサイトへ入力して不正ログインしてしまいます。OTPは短時間で失効しますが、攻撃者はその数十秒の間に悪用するのです。つまり、OTPも「盗んで、すぐ使う」ことで突破されうるのです。SMS型OTPは、これに加えてSIMスワップのリスクも抱えます。OTPは有効な対策ですが、認証の最終到達点ではありません。
5. 限界を超える答え——パスワードレス
OTPの限界を超える答えが、パスワードもコードもなくす「パスワードレス認証」です。
その中核技術であるFIDO2は、OTPのような「人が入力するコード」を一切使いません。認証は、利用者の端末内に安全に保管された鍵と、生体認証などによって行われ、認証情報が端末の外に出ることがありません。さらに、アクセスしているサイトが本物かどうかを技術的に確認するため、偽サイトに認証情報を渡してしまう中間者型フィッシングが、原理的に成立しません。OTPで残っていた「盗んで、すぐ使う」という突破の余地が、そもそも存在しなくなるのです。
米国NISTをはじめ世界のセキュリティガイドラインは、最終的に求められる認証として、このフィッシング耐性の高いパスワードレス認証を明確に示しています。ワンタイムパスワードは、パスワードだけの状態から前進する有効な手段です。しかし、その限界まで見据えるなら、目指すべきゴールは、盗めるコードすら存在しないパスワードレスなのです。
6. まとめ
ワンタイムパスワード(OTP)とは、一度きりで使い捨てる確認コードのことです。SMS型・アプリ型(TOTP)・ハードトークンなどの種類があり、なかでもアプリ型(TOTP)が広く普及しています。「使い捨て」「短時間で失効」という性質により、通常のパスワードより安全で、多くの攻撃を防ぎます。
一方で、OTPも「人が入力する、盗めるコード」である以上、中間者型フィッシングなどで突破されうる限界を抱えます。この限界を超える答えが、パスワードもコードもなくすパスワードレス認証(FIDO2/パスキー)です。世界のガイドラインが最終的に求めるのは、このフィッシングに強いパスワードレスです。OTPを活用しつつも、その先のパスワードレスを見据えて認証を強化していきましょう。進め方でお困りなら、専門家にご相談ください。