新規ユーザー登録時における電話番号検証のベストプラクティス

August 12, 2021
執筆者

新規ユーザー登録時における電話番号検証のベストプラクティス

新しいユーザーが登録されました。いいですね!Twilioは、ユーザーの電話番号をすばやく確認・認証できる一連のツールを提供しており、迅速でシームレスなオンボーディングに最適です。ユーザーのサービスへの登録とその後の利用について、正確で不正登録を抑制する方法を実現するベストプラクティスを紹介します。

このブログ記事では、電話番号を使用したシームレスなユーザー登録の推奨事項とベストプラクティスについて説明します。推奨事項は、既存のユーザーアカウントが初めて電話番号を提供する場合にも同様に適用できます。

新規ユーザーの登録では次の3つの領域が重要になります。

  1. 電話番号の入力: ユーザーから電話番号を収集します。
  2. 電話番号の検証: 電話番号の正当性を確認します。
  3. 電話番号の認証: ユーザーがその電話番号にアクセスできることを確認します。

電話番号の認証とは?

電話番号の認証は、ユーザーが指定した電話番号にユーザー自身がアクセスできることを確認する本人確認の一種です。これにより、悪意のない入力ミスと悪質な詐欺の両方を防ぐことができます。SMSを使用した電話認証は、ユーザーフレンドリーなセキュリティ強化方法です。多くの場合、SMSやWhatsAppやRCSなどのメッセージングプロバイダーを介して送信されるワンタイムパスコードを介して実施されます。

電話番号の入力のベストプラクティス

国コードを別のフィールドに入力する

国際電話番号入力などのプラグインは、ユーザーフレンドリーなインターフェイスを提供し、世界のさまざまな電話番号形式に対応しています。国コードを分けるとよりユーザーフレンドリーになり、入力を標準のE.164形式に変換しやすくなります。

 

e.164形式の電話番号

電話番号をE.164形式に変換する

E.164は、一意の番号を保証する標準化された国際電話番号形式です。この形式はLookup APIにより返され、Verify APIやMessaging APIを含むほとんどのTwilio APIで使用されます。

こちらのブログ記事で、HTML/JavaScriptで国際電話番号入力を処理する場合の推奨事項を紹介しています。

(オプション)IPジオロケーションが電話番号の国コードと一致していることを確認する

ユーザーが別の国の電話番号を使用して登録する場合、正当な理由があるケースもありますが、不正行為と相関している可能性があります。

電話番号の検証のベストプラクティス

ユーザーが電話番号を入力すると、Twilio Lookup APIが電話番号に関する情報を提供し、フォーマット、検証、キャリア情報、回線タイプなどをサポートします。

Twilio Lookup APIを使用して以下を実行する

1.入力された電話番号の妥当性を確認します。

12345+1 (111) 111-1111などの無効な番号の登録や入力を許可しないでください。こちらのブログ記事で、HTMLで電話番号を検証する方法を説明しています

2.携帯電話、固定電話、VoIP番号などの回線タイプを確認します。

landline回線タイプを検出すると、SMSの代わりに音声認証コードを送信できます。これは、SMS対応の電話機を保有していない可能性がある高齢者の顧客ベースがある場合に有用です。VoIP番号(米国の電話番号のみ検出可能)は正当な番号である可能性がありますが、この段階でreCAPTCHAのような追加の保護を追加することもできます。

Lookup APIを使用して回線タイプを検出する方法については、こちらのブログ記事をご覧ください

3.受け入れる国コードの許可リストを作成する

登録を許可する国のリストは、コンプライアンス要件を満たし、不正行為を減らし、オンボーディングパイプラインを制御するための優れた方法です。

このブログ記事で、Lookup APIを使用して国の許可リストを作成する方法について説明しています。

4.評判に基づくキャリアのリストを管理する

国コードの許可リストと同様に、増加している詐欺やスパムと関係しているキャリアや局番を管理します。SMSを送信する前にキャリアを検出する ことは、アプリケーションの保護に役立ちます。

カナダのキャリア情報についてCLNPCに承認を申請する

カナダで営業している場合は、Lookup APIからカナダの番号に関する情報が返される前に、CLNPCから追加の承認を得る 必要があります。

電話認証のベストプラクティス

指定された電話番号にワンタイムパスコードを送信し、ユーザーがその番号にアクセスできることを確認する

これは、ユーザーが他人の電話番号を指定できないようにし、重複のない登録を確実にするうえで役立ちます。また、その後の認証パスコードや通知を提供するためにも不可欠です。

Twilio Verify APIを使用して5分以内にSMS OTPを送信する方法については、こちらのブログ記事をご覧ください

認証ワークフローに再試行の余地を組み込む

短気なユーザーもいるため、電話認証インターフェイスに再試行ロジックを組み込むことをお勧めします。番号が認証されることなく、OTP送信を同じ電話番号に10分間に5回以上試みると、Verify APIはレート制限リクエスト を開始します。再試行の余地を設けることにより、意図せず迷惑メールをユーザーに送信することも、APIレート制限に達することも防げます。

 

ワンタイムパスコード入力フィールドと、4秒でコードを再送信するメッセージ

登録フローでは常に電話番号を表示し、ユーザーが電話番号を編集できるようにする

2回目以降のログインや2要素認証とは異なり、電話認証のユースケースでは入力ミスが想定されるため、インターフェイスに完全な電話番号を表示してユーザーが間違いに気づいて修正できるようにします。これにより、ユーザーが送られてこない認証コードを待ち続ける事態を避けることができます。

電話番号編集用のリンクが付いたワンタイムパスコード入力フィールド

2回目以降のユーザー認証のベストプラクティス

ユーザーの希望チャネル設定を保存する

ユーザーの電話番号の検証が完了した後は、希望チャネル(SMS、音声、メール、TOTP、プッシュなど)を保存し、以降はその希望チャネルをデフォルトのコード送信先とします。いずれかの認証に別のチャネルを使用したい場合は、2要素認証(2FA)送信用のチャネルをインターフェイスで変更できるようにします。

2回目以降のユーザー認証では電話番号をマスクする

初回の電話認証とは異なり、2回目以降の認証や2FAの場合は、PIIの漏洩を防ぐために電話番号を非表示にする必要があります。2回目以降の認証では、初回に提供されたような電話番号を編集するオプションは表示されません。3~4つの数字を表示し、残りの数字は「+1 (5**) ***-**67」、「********567」のようにマスクすることをお勧めします。

 

2FAや2回目以降のログインのユースケースで難読化した電話番号が表示されたワンタイムパスコード入力フィールド

アカウントセキュリティに関するその他の推奨事項

有用性の高いセキュリティを設計することは、技術の進歩と顧客の適応に応じて進化する継続的なプロセスです。SMSと音声はほとんどのアカウントセキュリティのユースケースに最適な基盤であり、近い将来に消えることはありません

SMSでの認証に活用できるTwilioのドキュメントを以下のリンクから入手できます。

SMS以外の認証については、以下をご参照ください。

お客様の成功が私たちの喜びです。

Twilio.orgは、ソーシャルインパクトビルダーの方々が、デジタル技術と財源を利用してリーチとインパクトを拡大できるよう支援します。今すぐ無料で始めましょう。Impact Access Programの製品クレジットにこちらからサインアップしてください。Impact Access Programには審査基準が適用されます。