OTPとは、One-Time Passwordの略で、一度だけ使えるパスワードのことです。
日本語では「ワンタイムパスワード」と呼ばれます。
インターネットバンキング、証券口座、クレジットカード、ECサイト、社内システム、クラウドサービスなどで、ログイン時や重要操作時に入力を求められることがあります。
OTPは、ID・パスワードだけに依存しないための認証強化策として広く使われています。
ただし、OTPを導入していれば安全というわけではありません。SMSで届くOTP、認証アプリで表示されるOTP、専用トークンで生成されるOTPでは、仕組みやリスクが異なります。
また、フィッシングサイトにOTPを入力してしまうと、不正ログインや不正送金に悪用される可能性もあります。
この記事では、OTPの意味、SMS認証・MFAとの違い、金融アプリや企業アプリで注意すべきポイントをわかりやすく解説します。
OTPとは?
OTPとは、One-Time Passwordの略です。
直訳すると「一度だけ使えるパスワード」という意味です。
通常のパスワードは、ユーザーが自分で設定し、何度も繰り返し使います。一方、OTPは一定時間だけ有効、または一回の認証だけに使われる使い捨てのパスワードです。
たとえば、次のような場面で使われます。
- ログイン時の追加認証
- 振込・送金時の本人確認
- クレジットカード決済時の確認
- パスワード変更時の確認
- 登録メールアドレスや電話番号の変更時
- 新しい端末からログインしたとき
OTPの目的は、ID・パスワードが漏えいした場合でも、追加の認証を求めることで不正利用のリスクを下げることです。
OTPとワンタイムパスワードの違い
OTPとワンタイムパスワードは、基本的には同じ意味です。
| 用語 | 意味 |
|---|---|
| OTP | One-Time Passwordの略称 |
| ワンタイムパスワード | 一度だけ使えるパスワードの日本語表現 |
企業資料やセキュリティ製品の説明では「OTP」と表記されることが多く、一般ユーザー向けの説明では「ワンタイムパスワード」と表記されることが多いです。
どちらも、一回限り、または短時間だけ有効な認証コードを指す言葉として使われます。
OTPの主な種類
OTPにはいくつかの種類があります。
代表的なのは、SMSで届くOTP、認証アプリで生成されるOTP、専用トークンで表示されるOTPです。
| 種類 | 概要 | 主な利用例 |
|---|---|---|
| SMS OTP | SMSで認証コードを送る方式 | 会員登録、ログイン、決済確認 |
| メールOTP | メールで認証コードを送る方式 | アカウント確認、パスワード再設定 |
| 認証アプリ型OTP | 認証アプリに表示されるコードを入力する方式 | クラウドサービス、社内システム、金融サービス |
| ハードウェアトークン型OTP | 専用端末に表示されるコードを入力する方式 | 銀行、法人向けサービス |
| プッシュ通知型認証 | アプリに届いた通知を承認する方式 | スマホアプリ、業務システム |
このうち、SMS OTPは導入しやすく利用者にもわかりやすい一方で、フィッシング、SIMスワップ、電話番号乗っ取りなどのリスクもあります。
TOTPとHOTPの違い
OTPの仕組みを理解するうえで、TOTPとHOTPという言葉も知っておくと便利です。
どちらもワンタイムパスワードを生成する方式ですが、コードが変わるきっかけが異なります。
| 方式 | 正式名称 | コードが変わる条件 | 特徴 |
|---|---|---|---|
| HOTP | HMAC-Based One-Time Password | 認証回数などのカウンター | イベントベースのOTP |
| TOTP | Time-Based One-Time Password | 時間 | 一定時間ごとにコードが変わるOTP |
一般的な認証アプリで30秒ごとに数字が変わる方式は、多くの場合TOTPです。
TOTPは、時間をもとにコードを生成するため、短時間で無効になる点が特徴です。
一方、HOTPはカウンターをもとにコードを生成します。ボタンを押すたび、または認証イベントごとにコードが変わるような方式に使われます。
OTPとSMS認証の違い
OTPとSMS認証は混同されやすいですが、正確には同じ意味ではありません。
OTPは「一度だけ使えるパスワード」という認証コードそのものを指します。
SMS認証は、そのOTPをSMSで送る認証方式です。
| 項目 | OTP | SMS認証 |
|---|---|---|
| 意味 | 一度だけ使えるパスワード | SMSで認証コードを送る方式 |
| 対象 | コードそのもの | コードの送信手段 |
| 例 | 123456などの認証コード | SMSで123456を送る |
| 主なリスク | フィッシングで入力させられる | SIMスワップ、SMS盗み見、番号乗っ取り |
つまり、SMS認証はOTPの一種、またはOTPを届ける手段の一つと考えるとわかりやすいです。
OTPとMFAの違い
MFAとは、Multi-Factor Authenticationの略で、日本語では多要素認証と呼ばれます。
MFAは、複数の異なる要素を組み合わせて本人確認を行う考え方です。
認証要素は、大きく次の3つに分類されます。
| 認証要素 | 意味 | 例 |
|---|---|---|
| 知識要素 | 本人だけが知っている情報 | パスワード、PIN |
| 所有要素 | 本人が持っているもの | スマートフォン、認証アプリ、ハードウェアトークン |
| 生体要素 | 本人の身体的特徴 | 指紋認証、顔認証 |
OTPは、多くの場合「所有要素」としてMFAの一部に使われます。
たとえば、ログイン時にパスワードを入力し、その後スマートフォンに届いたOTPを入力する場合、知識要素と所有要素を組み合わせたMFAになります。
つまり、OTPはMFAそのものではなく、MFAを実現するための認証手段の一つです。
OTPは安全なのか?
OTPは、ID・パスワードだけの認証より安全性を高める効果があります。
なぜなら、仮にパスワードが漏えいしても、追加の認証コードがなければログインや重要操作を完了しにくくなるためです。
しかし、OTPは万能ではありません。
特に注意すべきなのは、フィッシングによってOTPそのものを入力させる手口です。
攻撃者が本物そっくりの偽ログイン画面を用意し、ユーザーにID、パスワード、OTPを順番に入力させると、リアルタイムで不正ログインに悪用される可能性があります。
このような攻撃では、OTPを導入していても、ユーザーが偽サイトに認証コードを入力してしまえば被害を防ぎきれない場合があります。
SMS OTPの注意点
SMS OTPは、スマートフォンの電話番号に認証コードを送るため、ユーザーにとってわかりやすく導入しやすい方式です。
一方で、企業が金融アプリや会員アプリでSMS OTPを使う場合には、次のリスクを理解しておく必要があります。
- フィッシングサイトにSMSコードを入力されるリスク
- SIMスワップによってSMSを攻撃者に受信されるリスク
- 電話番号移行や番号乗っ取りのリスク
- 端末紛失時にSMSを見られるリスク
- SMS配送遅延や海外利用時の到達性の問題
SMS認証は使いやすい認証方式ですが、高リスクな操作を守る唯一の手段として依存するのは注意が必要です。
特に、送金、出金、登録情報変更、認証方式変更などの重要操作では、SMS OTPだけでなく、リスクベース認証やフィッシング耐性のある認証方式との組み合わせを検討すべきです。
OTPが突破される主なパターン
OTPが悪用されるケースには、いくつかの典型的なパターンがあります。
1. フィッシングサイトに入力してしまう
もっとも代表的なのは、偽サイトにOTPを入力してしまうケースです。
攻撃者は、金融機関、証券会社、クレジットカード会社、ECサイト、クラウドサービスなどを装い、偽のログインページへ誘導します。
そこで入力されたOTPをリアルタイムで使えば、不正ログインや不正操作につながる可能性があります。
2. 電話やチャットで聞き出される
ボイスフィッシングやサポート詐欺では、攻撃者が電話やチャットで本人確認を装い、OTPを聞き出すことがあります。
「確認のため、SMSに届いた番号を読み上げてください」と言われても、認証コードを第三者に伝えてはいけません。
3. SIMスワップでSMSを奪われる
SIMスワップとは、攻撃者が携帯電話会社をだまして、被害者の電話番号を別のSIMに移してしまう手口です。
これに成功すると、被害者宛てのSMSが攻撃者側の端末に届く可能性があります。
SMS OTPを使っている場合、SIMスワップは重大なリスクになります。
4. 端末内のマルウェアに盗まれる
端末に不正アプリやマルウェアが存在する場合、SMS、通知、画面情報、入力情報などが狙われる可能性があります。
特にAndroid端末では、不正な権限を持つアプリがSMSや通知内容を悪用するリスクに注意が必要です。
金融アプリ・企業アプリでOTPを使うときの注意点
金融アプリや企業アプリでOTPを使う場合、単に「OTPを導入しているか」だけではなく、どの場面で、どの方式を、どのリスクに対して使っているかを整理する必要があります。
1. ログイン時だけでなく重要操作時にも確認する
OTPはログイン時だけでなく、重要操作時にも活用できます。
たとえば、次のような操作では追加認証を検討すべきです。
- 送金・振込
- 出金
- 登録メールアドレスの変更
- 電話番号の変更
- 認証方式の変更
- 新しい端末の登録
- 高額決済
不正ログインを完全に防げなかった場合でも、重要操作時に追加認証を行うことで被害を抑えられる可能性があります。
2. OTPの入力画面で目的を明確に表示する
ユーザーがOTPを入力する際には、そのコードが何のために使われるのかを明確に表示することが重要です。
たとえば、「ログインのための認証コード」なのか、「送金のための認証コード」なのか、「電話番号変更のための認証コード」なのかを明示します。
これにより、ユーザーが不審な操作に気づきやすくなります。
3. SMS OTPだけに依存しない
SMS OTPは便利ですが、フィッシングやSIMスワップに弱い面があります。
金融アプリや企業アプリでは、アプリ内認証、端末認証、パスキー、FIDO/WebAuthn、リスクベース認証なども含めて検討すべきです。
4. 端末リスクも確認する
OTPで本人確認を行っても、端末そのものが安全とは限りません。
Root化・Jailbreak端末、不正アプリ、マルウェア、エミュレーター、アプリ改ざんなどのリスクもあります。
金融アプリでは、認証だけでなく、端末状態やアプリ実行環境を確認することも重要です。
5. 異常ログインや不審操作を検知する
OTPを突破された場合に備えて、ログイン後の行動を監視することも重要です。
普段と異なる端末、IPアドレス、地域、時間帯、操作パターン、高額取引などは、追加確認や一時保留の対象にできます。
OTP・SMS認証・MFA・パスキーの違い
認証方式は似た言葉が多いため、違いを整理しておきましょう。
| 用語 | 意味 | 特徴 | 注意点 |
|---|---|---|---|
| OTP | 一度だけ使えるパスワード | 短時間・一回限りのコード | フィッシングで入力されると悪用される可能性 |
| SMS認証 | SMSで認証コードを送る方式 | 導入しやすく利用者にわかりやすい | SIMスワップやSMS盗み見に注意 |
| MFA | 複数要素で本人確認する考え方 | パスワードだけより安全性を高めやすい | 方式によってフィッシング耐性が異なる |
| パスキー | 公開鍵暗号を使うパスワードレス認証 | フィッシング耐性が高い | 対応環境や導入設計が必要 |
| FIDO/WebAuthn | フィッシング耐性のある認証方式 | 正規サイト・アプリとの結びつきが強い | 既存認証との移行設計が必要 |
OTPは有効な対策ですが、フィッシング耐性という観点では、FIDO/WebAuthnやパスキーのような方式の方が強い場合があります。
企業が確認すべきOTP対策チェックリスト
| 確認項目 | 確認内容 |
|---|---|
| 利用目的 | OTPをログイン、重要操作、登録情報変更のどこで使うか整理しているか |
| 方式選定 | SMS、メール、認証アプリ、アプリ内認証、パスキーを比較しているか |
| フィッシング対策 | OTPを偽サイトに入力されるリスクを想定しているか |
| 表示内容 | OTPが何の操作に使われるかをユーザーに明確に伝えているか |
| 端末リスク | Root化・Jailbreak、マルウェア、不正アプリなどを確認できるか |
| 異常検知 | 普段と異なるログインや重要操作を検知できるか |
| 移行計画 | 将来的にフィッシング耐性MFAやパスキーへ移行する計画があるか |
まとめ:OTPは便利だが、単独では不正ログイン対策として不十分な場合がある
OTPとは、一度だけ使えるワンタイムパスワードのことです。
ID・パスワードだけに依存しない認証強化策として、金融アプリ、決済アプリ、ECサイト、社内システムなどで広く使われています。
しかし、OTPは万能ではありません。
SMS OTPは導入しやすい一方で、フィッシング、SIMスワップ、電話番号乗っ取り、端末内マルウェアなどのリスクがあります。
また、認証アプリ型OTPであっても、ユーザーが偽サイトにコードを入力してしまえば、不正ログインに悪用される可能性があります。
企業が金融アプリや会員アプリを運営する場合は、OTPを「入れて終わり」にするのではなく、MFA、パスキー、FIDO/WebAuthn、リスクベース認証、端末リスク確認、重要操作時の追加認証と組み合わせて考えることが重要です。
OTPは、不正ログイン対策の重要な部品です。
ただし、これからの認証設計では、OTP単体ではなく、フィッシング耐性と端末リスクまで含めた多層的な対策が求められます。
よくある質問
OTPとは何ですか?
OTPとは、One-Time Passwordの略で、一度だけ使えるパスワードのことです。日本語ではワンタイムパスワードと呼ばれます。ログイン時や送金・決済などの重要操作時に、追加の本人確認として使われます。
OTPとワンタイムパスワードは違いますか?
基本的には同じ意味です。OTPは英語の略称で、ワンタイムパスワードは日本語表現です。どちらも一回限り、または短時間だけ有効な認証コードを指します。
OTPとSMS認証の違いは何ですか?
OTPは一度だけ使える認証コードそのものを指します。SMS認証は、そのOTPをSMSで送る認証方式です。つまり、SMS認証はOTPを届ける方法の一つです。
OTPとMFAの違いは何ですか?
MFAは多要素認証のことで、複数の認証要素を組み合わせて本人確認する考え方です。OTPはMFAを実現するための手段の一つとして使われます。
SMS OTPは安全ですか?
SMS OTPはID・パスワードだけより安全性を高めますが、万能ではありません。フィッシング、SIMスワップ、SMS盗み見、電話番号乗っ取りなどのリスクがあるため、高リスクな操作では他の認証方式との組み合わせが重要です。
OTPを入力してしまったら不正ログインされますか?
偽サイトや第三者にOTPを入力・共有してしまった場合、不正ログインや不正操作に悪用される可能性があります。身に覚えのない認証コード入力を求められた場合は、入力せず、公式サイトや公式アプリから確認してください。
参考情報
本記事は、IETF RFC、NIST、CISAなどが公開している認証・多要素認証に関する情報を参考に、OTP、SMS認証、MFAの違いを整理しています。
- RFC 6238|TOTP: Time-Based One-Time Password Algorithm
時間ベースのワンタイムパスワードであるTOTPについて整理されている標準文書です。 - RFC 4226|HOTP: An HMAC-Based One-Time Password Algorithm
HMACを使ったワンタイムパスワード生成方式であるHOTPについて整理されている標準文書です。 - NIST SP 800-63B|Authentication and Authenticator Management
認証方式、認証器、SMSなど電話網を使った認証に関するリスクや考慮点が整理されています。 - CISA|More than a Password
MFAの重要性や、フィッシング耐性のある認証方式について案内されています。 - CISA|Phishing-Resistant and Numbers Matching MFA
フィッシング耐性MFAや番号照合型MFAに関するガイダンスの案内です。
※OTPやSMS認証は有効な対策の一つですが、フィッシングや端末リスクを完全に防ぐものではありません。金融・決済・会員アプリでは、MFA、パスキー、端末リスク確認、異常検知などを組み合わせて設計することが重要です。