電話番号の検証は、電話番号が有効であり、ユーザーが到達可能であり、アクセスできることを確認するプロセスです。 また、追加のセキュリティ レイヤーを実現したいあらゆるサービスやアプリケーションに適用できる一般的な手段です。
電話番号認証は、特定のオンライン アカウントの二要素認証の形式としてよく使用されます。 SMS を使用することにより、その特定の電話番号の所有者だけが、リアルタイムで送信される PIN コードにアクセスでき、パスワードでアプリケーションにログインし、正しい PIN コードで身元を確認することが可能になります。 電話番号は世界中で利用可能であり、さらなるハードウェアは必要ないため、電話番号検証は、セキュリティを確保するための、グローバルにアクセス可能で比較的安価なソリューションとなります。 このセキュリティ方法を使用することで、ボットによるスパム攻撃、詐欺、およびアカウントの乗っ取りを防ぐことができます。 セキュリティ以外にも、電話番号検証は、古い情報や不正確な情報によって連絡不能になったユーザーを特定することもできますので、データベースには常に最新の連絡先情報があることになります。 まず、電話番号が有効であることを確認するだけでも、その番号が偽物ではなく本物であるかどうかを確認するために、通信事業者と連絡を取らなければならなくなります。 しかし、その電話番号にユーザーがアクセスできることを確認するには、その電話番号にPingを打ち、ユーザーがメッセージを受け取ったという応答を入力するだけでよいのです。
電話番号の検証では、さらに次のような複雑な問題が発生する可能性もあります:
PIN コードを確実に配信する
検証する電話番号のグローバル データベースで作業する場合、PIN コードを時間的に余裕をもって確実に配信することが困難となる。 同じキャリア ネットワーク上にいない限り、メッセージは、受信者の電話にアクセスできるものに到達するまで、さまざまなアグリゲータを経由して渡されることになります。 ユーザーがPINコードを受け取るまでに時間がかかればかかるほど、それを入力して番号の確認に成功する可能性は低くなります。
国やキャリアごとに異なる要件
異なる国のさまざまなキャリアと取引しているため、SMSに関する無数の規制を把握しておく必要があります。 これは国によって、さらには異なる国の中でもキャリアによって異なる場合があります。 例えば、ある国ではアルファベットの送信者IDを要求し、別の国では数字を要求する場合があります。 また、ユニコード形式をサポートしないキャリアもあれば、特定のキーワードを含むメッセージをフィルタリングするキャリアもあります。
ユーザー エクスペリエンスのローカライズ
国際的な電話認証を行う際に、同じテンプレートを使用することはできません。 また、PINをメッセージの最初または最後に配置する方がよいなど、特定の国での好みが考慮されることがあります。
セキュリティ
PIN を生成してユーザーに送信する場合、RFC62381 などの業界標準アルゴリズムに従う必要があります。 これにより、時間ベースのワンタイムパスワード(OTP)が生成され、有効期間のウィンドウを決定することができます。 有効期間を決定する際には、PINが受信者に届いた時点で失効しないような長さにする必要がありますが、ユーザーが妥当な時間内に入力しなかった場合に失効するような短さにしておきたいと思います。
このように膨大な管理運用コストとさまざまなシナリオを考える必要がある中で、自社で機能を構築するのではなく、電話認証 API を使用する場合に思い浮かぶメリットがあります。
インスタント グローバル認証
提供者のソリューションでは、世界中のすべてのキャリアに接続し契約を締結する必要がなくなります。 また、プロバイダーは、信頼性と低遅延を自動的に保証するキャリア接続を持ち、さらに、PIN を含む最初のメッセージが届かなかったときに開発者が再試行のロジックを作成する手間を省くために、自動再試行と音声へのフェイルオーバーを備えていなければなりません。 これはまた、PIN コードを配信するシステムをゼロから構築する必要もありません。
Only pay for successful verifications
The provider should only charge for successful verifications – failed attempts should not cost a thing. このソリューションは、ユーザーに代わってリスクを吸収するものでなければなりません。そうすれば、この非常に重要だが面倒な検証作業を実施するよりも、ユーザー ベースの確保やコスト予測に集中することができます。
国別コンプライアンス
プロバイダは、常に変化する何百ものキャリアや国の規制を回避する方法を自動的に処理しなければならず、そうしなければ検証プロセスの障害となる可能性があるのです。 これにより、各国や複数のキャリアのSMSを取り巻くローカルなガイドラインと区別する必要がなくなります。
内蔵のアナリティクス
プロバイダーは、検証を測定するためのリアルタイム分析のためのダッシュボードを提供する必要があります。
電話認証 API を使用すると、プロバイダーは理想的には世界中のさまざまなキャリアとの関係を持っているため、信頼性が向上し、コンバージョンが増加するまでの待ち時間が短縮されます。 また、検証に成功した場合にのみ支払いが発生し、さまざまな国やキャリア固有の要件を最新の状態に維持するためのリソースのオーバーヘッドを削減できるため、コスト効率も高くなります。 最後に、理想的にはリアルタイムでレポートを精査することができるため、検証を測定し、どこで問題が発生したかを把握することが可能になります。
要するに、他の誰かがもっとうまくできることを、なぜ社内でやるのか、ということです。 会社のビジョンを完成させるためにお金と時間を使うのであって、ビジョンから遠ざかるようなタスクには使わないでください。 Web APIをビジネスに活用する方法
(英語