SMS認証が弱いと言われる3つの理由|パスキーとの決定的な差

ログインのたびにSMSで届く6桁のコード。これを入れていれば安全だと思っていませんか。一方で「SMS認証は弱い」という話を聞いて、何がどう弱いのか分からずモヤモヤしている人も多いはずです。

この記事では、SMS認証が弱いと言われる理由を3つの攻撃の仕組みから整理します。あわせて、認証アプリやパスキーとの違いと、職場のアカウントで見直す順番もまとめます。

結論を先に言います。弱いのは6桁のコードではなく、コードが通る「電話番号という経路」です。そしてパスキーだけが、偽サイトにコードを渡してしまう問題を仕組みで防げます。

目次

SMS認証とは?6桁のコードが確かめていること

SMS認証は「その電話番号を持っている人か」を確かめる仕組みです。パスワードに加えて使うので、多要素認証(知識と持ち物など、種類の違う確認を重ねる方法)の一つに数えられます。

ここで大事なのは、確かめているのが「スマホ本体」ではない点です。確かめているのは、あくまで電話番号の持ち主です。

身近な例でたとえます。家の鍵ではなく「住所あての郵便を受け取れるか」で本人を確かめるようなものです。郵便の転送届を勝手に出されたら、他人でも受け取れてしまいます。

つまりSMS認証の強さは、電話番号がどれだけ守られているかに左右されます。ここを押さえると、次の3つの弱点がすっきり理解できます。

SMS認証が弱いと言われる3つの理由

弱点は、どれも電話番号やコードの受け渡しの途中にあります。代表的なものは次の3つです。

  • SIMスワップ: 本人になりすましてSIMを再発行させ、番号ごと乗っ取ります
  • 電話網の傍受: SMSは端から端まで暗号化されておらず、事業者間の古い信号方式(SS7)の穴を突いた横取りが海外で報告されています
  • 中継フィッシング: 本物そっくりの偽サイトで入力させたコードを、期限切れの前に本物へ転送します

1つ目は、日本でも2024年に、偽造したマイナンバーカードで本人になりすまし、携帯電話の機種変更やSIMの再発行をさせる被害が相次いで報じられました。大阪府八尾市議や東京都議が被害を公表し、高額な買い物に悪用されています。番号が奪われると、SMSで届くコードも攻撃者の手元に届きます。

2つ目については、米国のCISA(サイバーセキュリティ・インフラストラクチャ安全保障庁)とFBIが2024年12月の指針で、SMSを2要素目に使わないよう明記しました。SMSは暗号化されておらず、通信事業者の網に入り込んだ攻撃者なら読めてしまう、というのが理由です。この指針は通信事業者への侵入事案を受けたもので、主な対象は政府高官など狙われやすい立場の人ですが、理屈は誰にでも当てはまります。

3つ目は、もっとも身近な脅威です。偽の宅配通知や銀行のメールから偽サイトに誘導され、そこで6桁を入れてしまう形です。コードは本物なので、受け取った側は正しいログインだと判断します。

さらに見落とされやすいのが、本人が締め出される問題です。海外でSIMを差し替えたときや、機種変更の途中では、自分でもコードを受け取れません。

まとめると、SMS認証は「乗っ取られる」「横取りされる」「だまし取られる」の3方向から崩れる可能性がある、ということです。

認証アプリとパスキーはSMS認証と何が違うのか

結論から言うと、認証アプリはSIMスワップに強く、パスキーはそれに加えて中継フィッシングにも強い方式です。

認証アプリの6桁は、登録時に共有した秘密の値と現在の時刻から、スマホの中で計算されます。この方式をTOTP(時刻ベースのワンタイムパスワード)と呼びます。電話網を通らないので、機内モードでも使えます。番号を奪われても、コードは盗めません。

ただし、認証アプリにも弱点が残ります。6桁は「どのサイトに入力するものか」を知らないからです。偽サイトに入力すれば、SMSと同じように転送されてしまいます。

パスキーは、ここが根本から違います。鍵はサービスのドメインに紐づいて作られ、ログインのときの署名には、そのドメインと、いまブラウザが開いているページの情報が含まれます。偽サイトではそもそも本物用の鍵が呼び出されず、仮に署名を作らせてもサーバー側の検証で落ちます。だまされて操作しても、認証が成り立たないのです。

公開鍵を使う仕組みそのものは、パスキーはなぜ「盗まれても意味がない」のかで詳しく解説しています。

米国の標準であるNIST SP 800-63Bの第4版でも、電話網を使う確認は「制限付き」の扱いです。さらに、中位の保証レベル(AAL2)でも、フィッシングに強い認証の選択肢を最低1つ用意することを求めています。連邦政府機関に対しては、職員や委託先にフィッシングに強い認証を使わせることも求めています。

CISAとFBIの指針も同じ整理です。認証アプリのコードはSMSより良いものの、フィッシングには弱く、フィッシングに強いのはFIDO方式(パスキーやセキュリティキー)だけだ、としています。

つまり、SMSから認証アプリへ移すと番号の弱点が消え、パスキーへ移すと偽サイトの弱点まで消える、という関係です。

図解: SMS認証・認証アプリ・パスキーの守備範囲

3つの方式が、どの攻撃に耐えられるかを並べました。筆者がNISTとCISA/FBIの資料をもとに整理したものです。

SMS認証・認証アプリ・パスキーが、SIMスワップ・電話網の傍受・中継フィッシング・番号が使えない状況のそれぞれに耐えられるかを比べた図
図: SMS認証・認証アプリ・パスキーの守備範囲(NIST SP 800-63B-4・CISA/FBIの指針をもとに筆者作成)
  • SIMスワップ: SMS認証は×、認証アプリは○、パスキーは○
  • 電話網の傍受: SMS認証は×、認証アプリは○、パスキーは○
  • 中継フィッシング: SMS認証は×、認証アプリは×、パスキーは○
  • 番号が使えないとき: SMS認証は×、認証アプリは○、パスキーは○

この図で見えてくるのは、「多要素認証を入れたかどうか」より「どの方式を入れたか」で守れる範囲が変わる、ということです。SMSでも無いよりはずっと安全ですが、最後の一段は埋まりません。

運用・監視の現場でSMS認証を見直す順番(筆者の考察)

ここからは筆者の考えです。運用や監視の担当者こそ、SMS認証の見直しを早めにやる価値があると考えています。

理由は、触れるアカウントの重みです。クラウドの管理画面、監視ツール、VPN、チケット管理など、1つ奪われるだけで影響が広がるものばかりです。夜勤明けの疲れた頭で偽のアラート通知メールを開く場面も、現実に起こりえます。

見直しは、次の順番がおすすめです。

  1. 重いアカウントから棚卸しする: 管理者権限や本番環境に触れるものを先に、認証方式を一覧にします
  2. SMSを認証アプリへ移し、SMSは外す: 認証アプリを登録しても、SMSは自動では外れません。残したままだと、そこが弱い抜け道になります
  3. パスキーが使えるものは登録する: 端末を2台登録するか、バックアップコードを安全な場所に保管します

2つ目の「SMSは自動では外れない」は、CISAとFBIの指針でも注意されている点です。ただし、アカウントの復旧だけはSMSを使うサービスもあり、完全には外せないこともあります。外せないものは一覧に印を付けておき、スマホが急に圏外になったら乗っ取りを疑って、すぐ携帯電話会社に連絡すると決めておくと安心です。

会社の方針で方式を選べない場合もあるはずです。そのときは、自分の個人アカウントから始めるだけでも、仕組みの理解が深まります。

鍵や認証情報の扱いは、APIキーを.envに置くのが危ない理由でも取り上げました。乗っ取りが疑われるときは、アクセスログから侵害の兆候を見つける集計が調べる手がかりになります。

サービス側がパスワードをどう保管しているか、漏えい時に「復元できない形式」とはどういう意味かは、漏れても「復元できない」パスワード|ハッシュ化とソルトの仕組みで解説しています。

ログインの守りを、組織全体の考え方から見直したい人はゼロトラストに完成はない|侵入ゼロより検知と復旧を測る理由もあわせて読んでみてください。

まとめ

  • SMS認証の弱点は6桁のコードではなく、電話番号という経路にある
  • 認証アプリはSIMスワップと傍受に強く、パスキーは中継フィッシングまで防げる
  • 運用の現場では、権限の重いアカウントから順に方式を見直すと効果が大きい

まずは今日、仕事で使うアカウントのうち1つだけ、認証方式がSMSになっていないか確かめてみてください。

参考リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

インフラの運用・構築に10年以上携わり、AWS 認定8資格を持つ運営者です。いまは Claude Code などの AI ツールを日々の作業の自動化に使いながら、これから使う人のための教科書サイトを運営しています。

コメント

コメント一覧 (4件)

コメントする

目次