メインコンテンツへスキップ
Diditの電話番号認証は、ワンタイムパスコード(OTP)でユーザーの電話番号を確認する信頼性の高い方法です。本人確認プロセスにセキュリティの層を加え、正当な連絡先情報であることを確実にします。 Academyの「検証結果の読み方」のレッスンでは、8:08のチャプターで電話番号認証と重複検知を取り上げています。
電話番号認証フローの図

仕組み

Diditの電話番号認証は、シンプルでユーザーに優しいプロセスで、包括的な電話番号の検証を実現します。OTP認証と高度なリスク評価を組み合わせ、大規模でも信頼できる電話番号認証を提供します。

電話番号の収集

システムは次の情報を安全に収集します。

OTPの生成と配信

Diditの認証システムは次を行います。
  • 安全で有効期限のあるワンタイムパスコードを生成する
  • 指定された番号にSMSでコードを配信する
  • 複数のキャリアとの連携により、配信を最適化する
  • 配信に問題があった場合のフォールバックを提供する

コードの検証

ユーザーは次の操作で認証を完了します。
  • 受け取ったコードを認証画面に入力する
  • 設定された時間内(通常は5〜10分)に送信する
  • 必要に応じて新しいコードを要求する(適切なレート制限あり)

リスク評価

システムは高度なチェックを実行します。

結果の提供

認証結果は複数のチャネルで確認できます。

認証機能

Diditの電話番号認証サービスには、認証プロセスを強化するいくつかの主要な機能があります。

OTP認証

  • 安全なコード生成: ランダムに生成されるワンタイムパスコード
  • SMS配信: モバイル端末への高速で信頼性の高い配信
  • 有効期限の設定: セキュリティ要件に応じて有効期限を設定できます
  • 再送オプション: 適切なレート制限のもとで、ユーザーが新しいコードを要求できます
  • ブランド名入りのコード: SMSコードに汎用的なメッセージではなくブランド名を記載できます。追加料金はかかりません。ブランド名入りの認証メッセージをご覧ください。
  • 自社のWhatsApp番号: WhatsAppのコードを、自社のWhatsApp Business番号から送信できます。自社の番号からWhatsAppコードを送信するをご覧ください。

ブランド名入りの認証メッセージ

SMSの認証コードにブランド名を記載できるため、ユーザーは自社からのメッセージだと認識できます。
123456 は Acme Bank の認証コードです
カスタマイズできるのは名前のみです。 それ以外の文面は、各国の携帯電話会社に登録された標準の文面で、コードがスパムとしてフィルタリングされるのを防ぎ、受信者の言語に翻訳されます。 ブランド名の設定は無料です。ブランド名入りのコードも、ブランド名なしのコードと料金は同じです。 SMSの送信者名を設定するには、ビジネスコンソールで、ワークフローの電話番号認証 → 設定、またはホワイトラベル → SMSを開きます。 送信者名は、1つのワークフローではなくアプリケーションに紐付きます。ホワイトラベルのカスタマイズの有無にかかわらず、アプリケーションが送信するすべてのSMSコードに、すべてのワークフローとスタンドアロンAPIで署名されます。 コードに記載される名前は、上から順に最初に該当したものが使われます。
  1. POST /v3/phone/send/のoptions.sms_sender_name(そのコード1件のみ)。
  2. アプリケーションのSMS送信者名。
  3. ホワイトラベルでの送信のみ(ホワイトラベルのカスタマイズを設定したワークフロー、またはAPIでoptions.use_white_label_customization: trueを指定した場合)、ホワイトラベルの公開名。
  4. いずれもない場合、名前なしでコードを送信します。
送信者名は1〜30文字で、使用できるのは英字、数字、スペース、および ’ & - ! のみです。数字のみの名前は使用できず、単語の間のスペースは1つにします。 これらのルールに合わない名前は、コードが送信される前にAPIが400で拒否します。
  • チャネル: 名前はSMSメッセージに追加されます。他のチャネルからのフォールバックとして送信されるSMSも含まれます。WhatsAppのコードは固定のメッセージで送信され、名前は付きません。ビジネス名を表示するには、自社の番号から送信してください。
  • 1日あたりの変更回数: 各アプリケーションが1日(UTC)に使い始められる新しい名前は最大2つで、新しい送信者名と新しいsms_sender_nameの値の両方が対象です。それを超えると、翌日までコードにはアプリケーションの現在の名前が使われ、リクエストごとの新しい名前は、アプリケーションの名前とともに送信されます。以前に使用した名前は再カウントされません。
  • 配信を最優先: ブランド名の問題でコードの送信が止まることはありません。名前を適用できない場合は、アプリケーションの名前、または名前なしでコードが送信されます。

自社の番号からWhatsAppコードを送信する

デフォルトでは、WhatsAppのコードはDiditのWhatsApp Business番号から送信されます。 代わりに自社のWhatsApp Business番号を接続すると、ユーザーは自社のビジネス名と番号からコードを受け取れます。 番号を接続するには、ビジネスコンソールで、ワークフローの電話番号認証 → 設定 → WhatsApp 番号を開き、WhatsApp 番号を接続を選択します。 サインインウィンドウが開きます。WhatsApp Business番号を管理しているビジネスアカウントにサインインし、送信元のWhatsApp Businessアカウントと番号を選択してください。 その後、Diditが送信用に番号を登録し、認証メッセージを作成します。 編集にはカスタマイズの編集権限が必要で、SMSの送信者名と同じです。 番号は、1つのワークフローではなくアプリケーションに紐付きます。接続すると、アプリケーションが送信するすべてのWhatsAppコードが、すべてのワークフローとスタンドアロンAPIで、その番号から送信されます。
  • 承認: 番号がコードを送信できるようになるには、新しい認証メッセージの承認が必要です。通常は数分で完了します。それまでカードには、番号が承認待ちであることが表示され、その間もコードはDiditの番号から送信され続けます。
  • メッセージの文面: WhatsAppの認証メッセージは、ユーザーの言語の標準の文面で、コード、セキュリティに関する注意書き、コピーボタンで構成されます。文面は編集できませんが、送信元はお客様のビジネスになります。
  • 配信: WhatsAppでコードを配信できない場合は、SMSで送信され、SMSの送信者名が署名されます。
  • 課金: 番号から送信されたメッセージはWhatsApp Businessアカウントに請求されるため、それらのコードについてDiditが請求するのは認証手数料($0.02)のみです。SMSで送信されたコードは通常どおり課金されます。
  • 要対応: 番号が送信できなくなった場合(たとえば、ビジネスアカウントからアクセスが削除された場合)は、再びDiditの番号からコードが送信され、カードに番号の再接続を求める表示が出ます。
  • 接続解除は、同じカードからいつでも行えます。コードは再びDiditの番号から送信されます。番号とその認証メッセージは、WhatsApp Businessアカウントに残ります。

電話番号の分析

  • 形式の検証: 電話番号が正しい国際形式であることを確認します
  • キャリア判定: 番号に紐付く通信事業者を特定します
  • 番号の種類: 携帯電話、固定電話、VoIPの番号を区別します
  • 国の検証: 電話番号が想定される国の形式と一致していることを確認します

リスク評価

  • 使い捨て番号の検知: 追跡を避けるために使われる一時的な番号を特定します
  • 仮想番号の識別: 仮想番号やVoIPベースの可能性がある番号にフラグを付けます
  • アクティビティの監視: 認証の試行をまたぐ不審なパターンを追跡します
  • ブロックリストの確認: 過去に不正利用された番号の社内リストと照合します

料金

電話番号認証は、送信したメッセージごとに課金される、わかりやすい従量課金制です。 プランの割引が適用されるのはDiditの手数料$0.02のみです。キャリア料金は原価のまま請求され、割引されることはありません。割引をご覧ください。 複数の配信チャネルに対応しており、チャネルごとに料金が異なります(提供状況は国によって異なります)。
課金されるのは、メッセージを送信したときのみです。OTPが配信される前にユーザーが離脱した場合は、課金されません。
→ 電話番号認証の料金