SMS認証とは?ワンタイムコードが届く仕組み

SMS認証とは?ワンタイムコードが届く仕組み
簡単な答え

SMS認証とは、アプリが電話番号にSMSでワンタイムコードを送り、それを入力させることで、その番号でメッセージを受け取れることを確認する仕組みです。コードはアプリのサーバーからSMSゲートウェイへ送られ、携帯電話会社を経由して、その番号の端末または受信箱に届きます。登録やログインで広く使われていますが、NISTなどのセキュリティ機関は、認証アプリやセキュリティキーより弱い方法と評価しています。

SMS認証の目的

アプリがSMS認証で確かめたいのは、「この人は今この電話番号でメッセージを受け取れるか」という1点です。コードを読んで入力できれば、アプリはその番号を確認済みとして扱います。

この1つの確認が、いくつかの目的を支えています。登録時には、アカウントを連絡のつく番号に結びつけ、アカウントごとに使える番号が必要になるため、偽アカウントを大量に作るコストを高めます。ログイン時には、パスワードに加える2つ目の要素として働きます。アカウントの復旧では、パスワードを忘れたときにアプリがあなたに連絡する手段になります。

このコードは通常、ワンタイムパスワードの略であるOTP、または単に認証コード(確認コード)と呼ばれます。/glossary の用語集では、これらの用語や、2FA、A2P SMS、送信者ID、SMSゲートウェイなどの関連用語を解説しています。

コードが届くまでの流れ

1. 電話番号を入力します。アプリは形式を確認し、多くの場合は国番号付きの国際形式E.164に変換し、番号の国や種類について独自のチェックを行うこともあります。

2. アプリのサーバーがランダムなコードを作成して有効期限とともに保存し、SMS事業者に送信を依頼します。この工程に外部のメッセージングサービスを使うアプリも多くあります。

3. SMSゲートウェイとも呼ばれるSMS事業者が、メッセージを携帯電話網に送り込みます。アプリから人へのメッセージはA2P(アプリケーション・ツー・パーソン)SMSと呼ばれ、ショートコード、通常の長い番号、英数字の送信者IDのいずれかから届きます。

4. メッセージは通信会社の間を移動し、宛先の番号を担当するネットワークに届きます。そのネットワークがSIMに配信するか、番号がSMS Halloのようなサービスで提供されている場合はオンラインの受信箱に配信します。

5. コードを読んでアプリに入力するか、ワンタップでコピーします。アプリは保存しておいたコードと照合し、一致していて有効期限内であれば確認が完了し、そのコードは二度と使えなくなります。

全体の流れは通常数秒で終わりますが、各工程はそれぞれ別の会社が担っているため、どの段階でも問題が起こりえます。

音声通話、フラッシュコールなどの方式

多くのアプリは、SMSが失敗したときの代替手段として、自動音声がコードを読み上げる電話を用意しています。フラッシュコールを使うアプリもあり、アプリが電話をかけ、あなたが応答しなくても発信元の番号からコードを読み取ります。メッセージアプリの中には、自社アプリや、利用できる場合は別のメッセージングサービスを通じてコードを届けるものもあります。

これらの方式も、電話網が番号に届くことが前提です。SMSだけでなく電話も受けられる番号なら、確認を完了する手段が増えます。SMS Halloの番号はどちらも受け取れます。コードはSMS受信箱に表示され、着信はブラウザのダイヤラーで受けられます。

コードが届かないよくある原因

番号の入力ミス。国番号の抜け、余分な先頭の0、数字の入れ違いがあると、コードは別の宛先に送られます。アプリが表示する確認用の番号を必ず見直してください。

アプリがその種類の番号に送信しない。多くのアプリは送信前に番号の種類と国をチェックします。固定電話やインターネット通話の番号を拒否するアプリもあれば、特定の国や番号帯を制限するアプリもあります。エラーが表示されることもあれば、何も表示されずコードが送られないこともあります。

送信回数の制限。何度もコードを要求すると、アプリやSMS事業者がしばらく送信を止めることがあります。カウントダウンが終わるのを待ってから、1回だけ要求しましょう。

通信会社のフィルタリングと経路の遅延。ネットワークはスパムの疑いがある通信をフィルタリングし、国際経路では遅延が生じることがあります。数分かかったコードは、届いたときにはすでに期限切れになっていることがあります。

端末や受信箱。SIMの場合、電波が弱い、受信箱がいっぱい、送信元のブロック、迷惑メッセージフィルターなどでコードが見えなくなることがあります。オンライン番号の場合は、番号がまだ有効か、ダッシュボードで正しい番号を見ているかを確認してください。

コードの期限切れ。ほとんどのコードは数分しか有効ではありません。最新のコードを使い、迷ったら新しいコードを要求しましょう。

SMSと他の2要素目の比較

ほぼ誰でも電話番号を持っているためSMSは便利ですが、信頼できる機関の指針では他の方法より下に位置づけられています。NISTのデジタルアイデンティティガイドラインSP 800-63B-4は、公衆電話網を通じた認証を「制限付き」に分類し、検証者はSIMの変更や番号の移行などのシグナルを考慮すべきこと、他の種類の認証手段も用意することを求め、帯域外で送るコードはフィッシング耐性がないと明記しています。

FTCは実際のリスクを説明しています。攻撃者はSIMスワップで番号を乗っ取り、コードを受け取ることができます。FTCは認証アプリをより安全、セキュリティキーを最も強力な選択肢としています。標的にされやすい人向けのCISAのガイダンスはさらに踏み込み、SMSメッセージは暗号化されていないと指摘して、SMSを2要素目として一切使わないよう勧めています。

認証アプリは、IETF RFC 6238のTOTP規格に従い、共有された秘密情報から端末上で時間ベースのコードを生成するため、電話網を通じて何も送られません。セキュリティキーやパスキーは本物のウェブサイトに結びついた公開鍵暗号を使うため、ほとんどのフィッシングを防げます。

まとめると、SMS認証は登録時の番号確認には十分で、2要素目がないよりずっと良い方法です。ただし最も重要なアカウントには、サービスが対応していれば認証アプリやセキュリティキーを追加しましょう。

コードを確実に受け取るためのコツ

ほとんどのコードは数分で期限切れになるので、入力する準備ができてからコードを要求しましょう。待っている間はアプリを開いたままにし、別の画面に移ってやり直すのは避けてください。

アプリに選択肢があれば、SMSで1回失敗した後に音声通話を試してください。電話はネットワーク上で別の経路を通ることがあります。

使い続ける番号を使いましょう。認証は1回きりではありません。同じ番号が後で新しい端末でのログインやパスワードリセットに使われることがあるため、何か月後も連絡のつく番号なら困りません。

アプリのサポートチームを名乗る人であっても、認証コードは誰にも教えないでください。あなたに送られたコードは番号を管理している証拠であり、それを渡すことは管理権を他人に渡すことになります。

アカウント情報は最新に保ちましょう。番号を変える場合は、古い番号がまだ使えるうちに各アプリの設定で新しい番号を追加してください。そうすれば、もう持っていない番号に送られるコードを待ってログインできなくなる事態を避けられます。

アプリが番号の種類を気にする理由

SMS認証は偽アカウントを防ぐ関門でもあるため、多くのアプリは番号そのものをチェックします。無料の公開SMS受信サイトの番号は訪れた全員で共有されているため、アプリにブロックされることが多く、そこに送られたコードは見知らぬ人にも読まれてしまいます。

多くのサービスが想定しているのは実在する携帯電話番号です。SMS Halloは、181か国の現地の携帯番号形式で実在する携帯電話番号をレンタルしており、レンタルしている間、メッセージを見られるのはあなただけです。それでも、どの番号を受け付けるかは各アプリが決めており、特定の番号がすべてのアプリで使えると約束できる事業者はありません。

認証は、持つことが認められているアカウントに使ってください。SMS Halloの利用規定(Acceptable Use Policy)は、偽アカウントや重複アカウント、詐欺、本人確認を省略する手段としての番号の利用を禁止しています。

SMS Halloで認証コードを受け取る

メールアドレスとパスワードで登録し、国と番号を選んで支払います。受信したSMSはダッシュボードに表示され、コードは自動で検出されてすぐにコピーできます。

すべてのSMS Hallo番号には、SMSの受信無制限、着信無制限、毎月500通の送信SMS、毎月1,000分の発信通話が含まれます。利用枠は30日ごとにリセットされ、使わなかった分は繰り越されません。

料金は12か月プランで月額$1.80から($21.60を年払い)で、どの国でも同じ料金です。初期費用はかかりません。番号は更新するか自動更新をオンにして維持してください。失効した番号は他の人に割り当てられる可能性があり、その人がまだ紐づいているアカウントのコードを受け取るおそれがあります。

すべてのSMS Hallo番号には3つの保証があります。1つ目は7日間の無料交換です。7日以内であれば、同じ国の利用可能な別の番号に最大3回まで無料で交換でき、新しい番号にはプランと有効期限がそのまま引き継がれます。2つ目は「使えなければ100%返金」です。レンタルした目的のアプリで番号が使えない場合(たとえばコードがまったく届かない場合)、7日以内に申請すれば支払った金額の100%が返金されます。3つ目は7日間の返金保証です。番号で通話やSMSの送受信が一度もなければ、7日以内なら理由を問わず全額返金されます。

出典

よくある質問

SMS認証コードとは何ですか?

アプリが電話番号でメッセージを受け取れることを確認するためにSMSで送る、通常4〜8桁の短いワンタイムコードです。有効期限があり、1回しか使えません。

SMS認証は2段階認証(2要素認証)と同じですか?

必ずしも同じではありません。登録時には番号を確認するだけです。ログイン時にパスワードに加えて使われる場合は、2つ目の要素として働きます。

SMS認証は安全ですか?

保護にはなりますが、SIMスワップ、傍受、フィッシングのリスクがあるため、NIST、FTC、CISAはいずれも認証アプリやセキュリティキーより下に評価しています。重要なアカウントでは、より強い方法があれば使いましょう。

なぜコードが音声通話で届くのですか?

SMSが遅れたりブロックされたりしたときの代替手段として、電話を用意しているアプリが多くあります。自動音声がコードを読み上げるので、それを入力します。

コードが届かなかったのはなぜですか?

よくある原因は、番号の入力ミス、アプリがその種類の番号に送信しないこと、何度も要求したことによる送信制限、通信会社のフィルタリングや遅延、コードの期限切れです。

SIMカードなしで認証コードを受け取れますか?

はい。オンラインの携帯電話番号なら、ウェブのダッシュボードでSMSを受信できます。どの番号を受け付けるかはアプリが決めますが、コードが届かない場合はSMS Halloの保証が適用されます。

SMSゲートウェイとは何ですか?

アプリがSMSを携帯電話網に送り込むために使うサービスです。各メッセージを、宛先の番号を担当する通信会社へ届けます。

ガイド

関連記事

その他のガイド

· SMS Hallo

WhatsApp、Facebook、Telegram、Googleなどで使えます

7日間交換保証 · 使えなければ100%返金

7日間交換保証:最初の7日間で番号がうまく使えない場合、ダッシュボードからワンクリックで同じ国の利用可能な別の番号に無料で交換できます。新しい番号にはプランと有効期限がそのまま引き継がれます。

レンタルした目的のアプリで番号が使えない場合(例:認証コードが届かない)、7日以内にご連絡いただければ、その番号に支払った金額の100%を返金します。

7日間返金保証 →