BroadNet
OTP トピックハブ

OTP認証の仕組み

定義

OTP(ワンタイムパスワード)は、ログイン、取引、またはアカウント復旧の際にユーザーの本人確認を行うために送信される使い捨てのコードであり、二要素認証として最も一般的な形式です。番号認証は、SMS、音声、WhatsApp OTP、フラッシュコール、またはサイレントネットワーク認証によって、ユーザーが実際にその電話番号を管理していることを確認します。

出典 番号認証(OTPおよび2FA)の仕組みについて

最終更新日 10 キーワード

仕組み

  1. 1

    サーバー上でコードを生成

    サーバー側で4〜8桁のコードを作成し、有効期限を短く設定(5〜10分)したハッシュ値のみを保存して、ユーザーとチャネルに紐付けます。比較のためにコードをクライアントに送信しないでください。

    回答全文を読む
  2. 2

    優先度の高い配信ルートで配信

    SMSはアプリを必要とせずすべての携帯電話に届くため、デフォルトのチャネルとなります。認証コードは直接接続の優先ルート経由で送信し、ブランド名とコードを先頭に記載し、リンクは含めないでください。

    回答全文を読む
  3. 3

    制限付きでの検証

    ユーザーの入力を保存されたハッシュ値と照合し、再送を強制する前に試行回数を制限し、成功時にコードを無効化して、速やかに有効期限切れとなるようにします。

    回答全文を読む
  4. 4

    フォールバックと防御

    SMSの到達が遅い場合は、フラッシュコール、WhatsApp、または音声へとカスケード(順次切り替え)を行い、SMSパンピング(AIT)を防ぐために番号およびIPごとのレート制限を適用します。通信事業者の対応国・地域では、サイレントネットワーク認証により、コードを一切使用せずにSIMを検証できます。

    回答全文を読む

用語集

各用語には、詳細な解説が記載された専用の回答ページがあります。

よくある質問

OTPは2FAと同じですか?

いいえ。OTPは一度限りの使い捨てコード、つまり一つの仕組みです。2FAは2つの独立した要素を必要とするモデルです。OTPはその要素の一つとして使用されることが多いですが、これらの用語は異なるものを指しています。

回答全文を読む

OTPの配信に最適なチャネルは何ですか?

SMSは、アプリ不要ですべての電話に届くため、デフォルトのOTPチャネルとなります。しかし、最適な選択肢は市場やリスクプロファイルによって異なります。ユニバーサルなリーチにはSMS、対応している環境で低コストかつ高速な手段としてはフラッシュコール、アプリを利用しているユーザーにはWhatsApp、摩擦のない認証にはサイレントネットワーク認証、そしてフォールバックとして音声が利用されます。最も強力な認証フローは、単一のチャネルに依存するのではなく、複数のチャネルを連鎖的に使用することで、特定のチャネルが失敗してもログインがブロックされないように設計されています。

回答全文を読む

最も安全な番号認証方法はどれですか?

Silent network authenticationは最も強力な方式です。データプレーンを介して通信事業者とSIMを照合するため、フィッシング、SS7経由の傍受、またはソーシャルエンジニアリングによってコードを盗み出すことが不可能です。次にフラッシュコールが続きます。標準的なSMS OTPは最も汎用的ですが、最も攻撃を受けやすいため、番号検証やレート制限と組み合わせて使用してください。実用的な解決策は、リスクと対応国・地域に応じて方式をフォールバックさせるポリシーを策定することです。

回答全文を読む

OTP認証SMSのベストプラクティスとは?

SMSのワンタイムパスワードを専用の高優先度ルートで配信するには、コードを短く(4〜8桁)保ち、有効期限を短く設定し(通常5〜10分)、一度限りの使用を徹底し、SMSパンピング詐欺を防ぐために番号ごとのリクエストにレート制限を設けてください。メッセージの冒頭付近にブランド名と認証コードを配置し、フィッシング詐欺と誤認されないようクリック可能なリンクは含めず、SMSの応答が遅い場合に備えてフォールバックチャネルを設定してください。

回答全文を読む

OTPのコストを削減するには?

送信するコードの回数を減らし、コストを抑え、成功率を高めることでOTPコストを削減します。対応している場合は、課金対象となるメッセージを送信しないネットワークベースの認証(Silent network authentication)を優先してください。また、SMSパンピングによるボリューム増大を防ぐためのレート制限を行い、OTPメッセージはGSM-7の1セグメントに収め、コードの再送を防ぐために直接接続の配信ルートを使用し、適した場合にはフラッシュコールのような安価なチャネルを活用してください。最大のコスト削減は、単価を下げることではなく、不正な送信や送信失敗を排除することにあります。

回答全文を読む