「SMS認証があるから安全」
そう思っているなら、その認識は少し古いかもしれません。
この話、表面的なセキュリティ記事をいくつか読んだくらいだと、たぶん見落とします。
でも、少し踏み込んで見ている人なら、もう気づいているはずです。
- SMS認証は“強い認証”ではない
- むしろ「他に手段がないときの最低ライン」に近い
- しかも、電話番号を使う以上、別のリスクまで背負う
実際、SMS認証は過去に「それ、本当に安全なのか?」と大きく問題視されたことがあります。
SS7、SIMスワップ、VoIP悪用。
このあたりの単語に見覚えがあるなら、もう話は早いです。
それでもSMS認証が残っているのは、絶対に安全だからではありません。
「やらないよりはマシ」で延命されてきただけです。
しかも厄介なのはそこだけではありません。
SMS認証を使うということは、サービス提供者や配信基盤に電話番号を渡すということです。
そして現場を知っている人ほど、この一点を軽く見ません。
電話番号は、流れると面倒です。
- 海外からの不審な着信
- 詐欺SMSのターゲット化
- 営業や怪しいリストへの横流し
一度こういう世界に入ると、きれいに止まるとは思わないほうがいいです。
この記事では、SMS認証がなぜ“そこまで信頼しきれない仕組み”なのかを整理したうえで、今選ぶなら何がマシなのかまで、スマホで読み切れるように短くまとめます。
「SMS認証で十分でしょ」と思っていたなら、ここで一度アップデートしておいたほうがいいです。
その認識、少し古いかもしれません
「SMS認証があるから安全」
この認識、間違いではないです。
少なくとも、パスワードだけの状態よりはマシです。
ただ。
それを“強いセキュリティ”だと思っているなら、
そこは少しズレています。
実際、セキュリティの文脈で見ると、SMS認証はこういう位置づけです。
- 最初の一歩としてはアリ
- でも長く使う前提の仕組みではない
- より良い手段があれば、そっちに移行すべきもの
つまり
「安全だから採用されている」ではなく、
「現実的な理由で残っている」側の仕組みです。
ここを勘違いしたままだと、
“守っているつもりで、実はそうでもない状態”になりやすい。
このズレ、意外と大きいです。
SMS認証は“強い対策”ではない
まず前提として。
SMS認証はセキュリティ対策として無意味ではありません。
ただし、“強い対策”かと言われると話は別です。
ここ、意外と誤解されがちです。
2段階認証=安全ではない
よくある認識として、
「2段階認証だから安心」
というものがあります。
これ、半分正解で半分違います。
- パスワードだけよりは確実に安全
- でも“突破されない仕組み”ではない
実際、2段階認証というのは「壁を一枚増やす」イメージに近いです。
つまり
突破コストは上がるけど、
突破できなくなるわけではない。
そしてSMS認証の場合、その“2枚目の壁”自体に問題があります。
電話番号に依存している時点で弱い
SMS認証の本質はシンプルです。
「その電話番号を持っているかどうか」
これだけで本人確認をしています。
ここが弱点になります。
なぜかというと、電話番号は
- 盗まれる可能性がある
- 乗っ取られる可能性がある
- 外部に流出する可能性がある
つまり
“本人しか持てない情報”ではない
ということです。
この時点で、認証要素としてはそこまで強くありません。
だからこそ、SMS認証は
「最低限の防御」
という位置づけに落ち着いています。
この話、知ってる人は知ってる
ここから少しだけ、ちゃんと追ってる人向けの話です。
SMS認証って、ずっと安全なものとして扱われてきたわけではありません。
むしろ一度、「それ危なくない?」と正式に問題視されています。
SMS認証は一度「非推奨」になっている(NIST)
2016年。
NIST(米国国立標準技術研究所)が出したガイドライン、
「SP 800-63-3」の草案の中で、
SMSを使った認証は非推奨(Deprecated)とされました。
要するに、
「それ、安全な認証としては微妙だからやめた方がいい」
という扱いです。
理由はシンプルで、当時の時点ですでに
- SS7の脆弱性(通信経路での傍受)
- SIMスワップ(番号ごと乗っ取り)
- VoIP悪用(番号の不正取得)
こういった問題が現実的なリスクとして認識されていたからです。
つまりこの時点で、
SMS認証は「破られる前提で考えるべき仕組み」
と見なされていました。
今は「制限付き」扱い
じゃあ今はどうなのか。
結論から言うと、完全に禁止されたわけではありません。
ただし位置づけはかなり変わっています。
最終的な扱いはこうです。
「制限付き(Restricted)」
これ、かなりニュアンス強いです。
どういう意味かというと、
- 使うこと自体は許されている
- ただしリスクを理解している前提
- 可能なら他の手段を使え
つまり
「安全だから推奨されている」わけではない。
「事情があって残されている」だけです。
この背景を知っているかどうかで、
SMS認証の見え方はかなり変わります。
なぜ危ないと言われるのか
ここまでで「なんとなく弱そう」という感覚は掴めたと思います。
じゃあ具体的に、どうやって破られるのか。
代表的なのがこのあたりです。
SS7・SIMスワップで突破される
まず一つ目が「SS7の脆弱性」。
これは携帯電話の通信で使われている仕組みの話なんですが、
ざっくり言うと
👉 SMSは通信経路上で傍受できる可能性がある
という問題です。
つまり、認証コードが届く前提の仕組みなのに、
その途中で抜かれる可能性がある。
これ、構造的な問題です。
もう一つが「SIMスワップ」。
これはもう少し分かりやすいです。
攻撃者が本人になりすまして通信キャリアに連絡し、
SIMカードを再発行させます。
するとどうなるか。
👉 電話番号ごと乗っ取られる
つまり、SMS認証もそのまま突破されます。
ここで重要なのはこれです。
どちらも「高度なハッキング」というより、
現実的に起きている攻撃だということ。
- 通信の仕組み自体の問題(SS7)
- 人間の運用を突く攻撃(SIMスワップ)
どちらにしても、
「電話番号に依存している限り避けられない」
というのがポイントです。
だからSMS認証は、
“絶対に破られない仕組み”としては扱われていません。
それでも使われている理由
ここまで見ると、こう思うはずです。
「じゃあなんで、まだSMS認証使われてるの?」
これ、結構いい疑問です。
結論から言うと、理由はシンプルです。
「やめられなかっただけ」
SMS認証が残っているのは、
“安全だから”ではありません。
👉 現実的にやめられなかったから
これが本音に近いです。
当時、SMS認証をやめようとすると何が起きるか。
- ユーザーが使いづらくなる
- ログインできなくなる人が出る
- サポートコストが爆増する
さらに企業側も厳しいです。
- 既存システムの改修コストが高い
- 代替手段の普及がまだ弱かった
- 導入ハードルが高い
つまり
「やめたいけど、現実的に無理」
という状態だったわけです。
だから最終的にどうなったか。
👉 “問題はあるけど、とりあえず残す”
この判断です。
ここ、かなり重要です。
今でもSMS認証が使われているのは、
「信頼されているから」ではなく、
「移行コストと利便性の問題で残っている」
という側面が強い。
この前提を知らないと、
「広く使われてる=安全」と誤解しやすくなります。
実際は逆で、
👉 広く使われているからこそ、狙われやすい
という面もあります。
でも今は前提が変わっている
ここまでの話、
「昔はそうだったんでしょ?」
と思うかもしれません。
でも実際は逆です。
当時“懸念されていたこと”が、
そのまま現実になっています。
SMS突破はすでに現実
SS7、SIMスワップ。
さっき出てきたこれらの話、
机上のリスクではありません。
普通に使われている攻撃手法です。
- SMSを傍受して認証コードを抜く
- 電話番号を乗っ取ってログインする
- SMSを入口にしてアカウントを奪う
こういう事例、もう珍しくないです。
つまり
👉 「理論上危ない」ではなく
👉 「実際に突破されている」
という段階に来ています。
ここで重要なのは、
SMS認証が特別に脆弱だからというより、
👉 「攻撃のコストに見合う対象になった」
という点です。
広く使われていて、
仕組みもある程度知られている。
だからこそ、狙われる。
そして一度狙われると、
構造的に防ぎきれないケースが出てくる。
この状態を前提に考えると、
SMS認証は
「安心できる仕組み」ではなく、
👉 「突破される可能性を織り込んで使うもの」
になります。
見落とされがちなリスク
ここまでの話は、どちらかというと「突破される側」の話でした。
でもSMS認証でもう一つ厄介なのは、
それとは別のリスクがあることです。
それがこれ。
👉 電話番号が外に出る
電話番号は外に出る
SMS認証を使うということは、
そのサービスに対して電話番号を登録するということです。
ここまでは普通です。
問題はその後。
SMSの送信は、多くの場合
- 専用の配信業者
- 外部のAPIサービス
こういった仕組みを経由します。
つまり
👉 電話番号はサービス運営者だけでなく、外部にも渡る
ということです。
この時点で、リスクは一段上がります。
実はこうやって漏れることがある
ここ、あまり表に出ない話ですが。
SMS配信の仕組みって、意外とシンプルです。
実装によっては、
👉 電話番号やメッセージ内容がそのままリクエストに含まれる
ことがあります。
例えば、HTTPのGETリクエストで送るようなケース。
この場合どうなるか。
👉 URLに電話番号や本文が乗る
そしてそのURLは
👉 アクセスログにそのまま残る
実際に、こういった形で電話番号が扱われているケースもあります。
ログに電話番号がそのまま表示され、
特別な権限がなくても閲覧できる設計になっている例です。
つまり
👉 「漏れる可能性がある」ではなく
👉 「見える状態で扱われていることがある」
ということです。
アクセスログって、多くの現場では
👉 「個人情報」として厳密に扱われていない
ことがあります。
つまり
- 電話番号がログに残る
- 長期間保存される
- 複数人がアクセスできる
こういう状態が普通にあり得る。
さらに
- 開発・運用の一部が外部委託される
- 海外ベンダーが関与する
こういったケースも珍しくありません。
ここまで揃うと、
👉 「漏れる可能性がある」ではなく
👉 「漏れてもおかしくない構造」
になります。
一度流れると止まらない
そしてもう一つ。
電話番号の厄介なところは、ここです。
👉 一度外に出ると、回収できない
メールアドレスなら変えられますが、
電話番号はそう簡単に変えません。
だからこそ、価値があります。
そして一度リスト化されると、
- 営業リストに回る
- 詐欺のターゲットになる
- 海外からの不審な着信が増える
こういった形で、じわじわ影響が出ます。
しかもこれ、どこから漏れたか特定できないことが多い。
つまり
👉 気づいたときには手遅れ
というパターンになりやすいです。
SMS認証を使うというのは、
こういったリスクもセットで受け入れるということです。
実際に起きること
ここまで読んで、
「リスクがあるのは分かったけど、実際どうなるの?」
と思うかもしれません。
結論から言うと、こういう形で出てきます。
海外詐欺・営業・フィッシング
まず分かりやすいのがこれです。
- 海外からのワン切り・不審な着信
- 見覚えのないSMS(荷物・銀行・アカウント系)
- 営業や勧誘の電話・メッセージ
一度でも経験があるなら、もう他人事ではないです。
特に厄介なのがSMSです。
SMSって、メールよりも信頼されやすいんですよね。
だから攻撃側もそこを使います。
- 銀行や配送業者を装う
- URLを踏ませてログインさせる
- そのまま情報を抜く
いわゆるフィッシングです。
そしてこれ、SMS認証と相性が悪い。
なぜかというと、
👉 「SMS=正しいもの」という前提があるから
一度その前提ができていると、
疑いにくくなります。
もう一つ地味に効いてくるのが営業系。
電話番号って、リストとして価値があります。
だから一度どこかに流れると、
- 別の業者に回る
- さらに別のところに回る
こうやって増えていきます。
結果として、
👉 「なんか最近増えたな」
という状態になる。
でも原因は分からない。
ここが一番厄介です。
👉 被害が“じわじわ来るタイプ”
一発で終わるものじゃなくて、
気づいたら増えてる。
そして止めにくい。
これが、電話番号が外に出たときに起きる現実です。
結局、何を使うべきか
ここまで読んだら、もう答えはシンプルです。
認証方法は、優先順位で考えたほうがいい。
結論はこの順番です。
パスキー → 最優先
使えるなら、これ一択です。
いわゆるFIDO2ベースの認証。
これの何がいいかというと、
👉 そもそも「盗まれる情報」が存在しない
- 認証コードがない
- SMSも使わない
- 電話番号にも依存しない
つまり、攻撃されるポイント自体が少ない。
今の主流は完全にこっちに移っています。
メール → 妥協
パスキーが使えない場合の現実解です。
完璧ではないですが、SMSよりはマシ。
理由はシンプルで、
👉 電話番号ほど“直接的に悪用されにくい”から
もちろん、メールアカウント自体が乗っ取られたら終わりです。
なので
- メール自体のセキュリティを上げる
- できれば多要素認証をかける
ここはセットで考えたほうがいいです。
SMS → 最後
誤解しやすいですが、SMS認証は無意味ではありません。
ただし位置づけはこれです。
👉 「やらないよりはマシ」
それ以上でもそれ以下でもない。
そして忘れがちなのが、
👉 電話番号を渡すリスクとセット
だということです。
なのでSMS認証は、
- 他に手段がないときだけ使う
- 重要な用途では極力避ける
このくらいの距離感がちょうどいいです。
ここで一つだけ覚えておいてください。
「みんな使ってるから安全」ではありません。
むしろ逆です。
👉 使われているものほど、狙われる
だからこそ、選び方が重要になります。
まとめ
ここまでの内容をシンプルにまとめると、こうです。
SMS=安心ではない
SMS認証は無意味ではありません。
ただし、それは
👉 「安全な仕組み」ではなく
👉 「最低限の防御」
という位置づけです。
しかも
- 構造的に突破される可能性がある
- 電話番号という別のリスクも抱える
ここまで含めて理解しておく必要があります。
分かってる人は優先順位を変えている
今の流れはシンプルです。
- パスキー(使えるなら最優先)
- メール(現実的な代替)
- SMS(最後の手段)
この順番。
そしてもう一つ。
「広く使われている=安全」ではありません。
むしろ
👉 広く使われているものほど、狙われる
ここは逆に覚えておいたほうがいいです。
もし今まで
「SMS認証があるから大丈夫」
と思っていたなら、少しだけ認識をアップデートしておいてください。
それだけでも、選択は変わります。
