2024年1月9日、米国の金融市場規制当局である証券取引委員会(SEC)の公式Xアカウントが、市場が数か月にわたって待ち続けていた決定、すなわちビットコインETFの承認を発表した。数分のうちにビットコインは1枚あたり1,000ドル以上値上がりした。その後SECが否定する。アカウントが乗っ取られていたのだ。価格は2,000ドル以上下落した。
この事件が示唆に富むのは、相場の動きの大きさではなく、用いられた手段の平凡さである。米司法省の発表によれば、26歳のエリック・カウンシル・ジュニアは携帯型のカードプリンターで偽造身分証を印刷し、AT&Tの店舗に出向いて、そのアカウントに紐づく電話番号を自分の管理するSIMカードへ移すよう従業員を説得した。そしてパスワード再設定コードをSMSで受け取り、共犯者に渡した。2025年5月16日、彼は懲役14か月の判決を受けた。
ひとつ補足が要る。事件の読み方を変えるが、その教訓を弱めるものではない。SECの公式声明によれば、このアカウントの多要素認証は2023年7月、担当チーム自身の要請で無効化されていた。つまり事件当時、SMSは第二要素ではなく、アカウント復旧の経路だった。そしてまさにその点が、この例を有用にしている。第二要素であれ裏口であれ、電話番号は鎖が切れる箇所であり続けるのだ。
第二要素が保証するはずのもの
原理は一文で足りる。パスワードだけならあなたが知っているものであり、そこにあなたが持っているもの(電話、物理キー)またはあなた自身であるもの(指紋)が加わる。情報漏洩からパスワードを盗んだ者が、それによってあなたの物理的な品物まで手にするわけではない。
この理屈は、めったに明言されない前提の上に成り立っている。第二要素が本当にあなたの手元にある品物と結びついていること、そしてそれを提示することが、あなたがどこにログインしているかについて何かを証明すること。SMSはこの二点とも満たさない。
SMSは所持の要素ではない
SMSでコードを受け取ることは、あなたが端末を所持している証明にはならない。通信事業者が割り当て、その同じ事業者が変更できる電話番号が、ある端末を指しているという証明にすぎない。これは同じことではない。この隔たりを突く経路は三つあり、それぞれ塞ぎ方が異なる。
SIMスワップ
SEC事件で使われた攻撃であり、技術的な脆弱性には一切依存しない。攻撃者は標的の個人情報を集める。多くは公開済みの漏洩データから入手できる。そのうえで本人になりすまして事業者に連絡する。携帯をなくした、番号を新しいSIMに移してほしい、と。説得力があれば、あるいは従業員が共謀していれば、番号は移り、すべてのSMSが攻撃者に届く。FBIの通報センターIC3の2024年年次報告書は、この年だけでSIMスワップの通報982件、申告された被害額約2,600万ドルを記録している。しかもこれは実際に通報した被害者のみの数字だ。ソフトウェアの更新ではこの経路は塞げない。狙われているのはソフトウェアではなく、人間が回している業務プロセスだからである。
SS7による傍受
Signaling System 7は、世界中の電話網が互いに会話するための プロトコルである。通話を経路制御し、ローミングを処理し、SMSをある事業者から別の事業者へ届ける。設計は1975年、事業者の集まりが閉じていて数も少なく、互いを構造上信頼できる相手とみなしていた時代のものだ。したがってネットワーク間の認証機構をまったく備えていない。正当に見える要求は、正当なものとして処理される。
これは理論上の弱点ではない。2014年12月、ドイツの研究者トビアス・エンゲルとカルステン・ノールがカオス・コミュニケーション・コングレスで公開実演している。電話番号だけを手がかりに、加入者の位置を特定し、そのSMSを傍受してみせた。2017年には現実の悪用が確認された。ドイツの事業者O2-Telefónicaは、攻撃者が海外事業者のネットワークへのアクセスを得たうえでSMSの転送を設定し、銀行の確認コードを奪ったことで、顧客の銀行口座が空にされたと認めている。
リアルタイムのフィッシング
三つ目の経路が最も重要である。通信事業者側のどんな欠陥にも依存せず、前の二つで修正しうるすべてを生き延びるからだ。
偽サイトがあるサービスのログインページを完璧に模倣する。あなたはそこにIDとパスワードを入力する。偽サイトはそれを即座に本物へ中継し、本物はあなたの電話にSMSを送る。SMSは確かにあなたに届き、しかも本物だ。あなたはコードを偽サイトに入力し、偽サイトは数秒でそれを転送する。セッションが開き、それを握っているのは攻撃者である。
これをadversary-in-the-middle攻撃と呼ぶ。すでに産業化している。2017年に登場したリバースプロキシEvilginxのようなツールや、月額課金で売られるキットが、特別な技能なしにこれを可能にしている。しかも盗まれるのはコードだけではない。セッションCookieが奪われ、以後は認証を一切経ずにログイン状態を保てるようになる。
問題はアーキテクチャにある。SMSで送られるコードには、それを要求したサイトについての情報が一切含まれていない。したがって本物と偽物を区別できない。入力された場所であれば、どこでも有効なのだ。
これはもう意見ではなく、公式な立場である
SMSに反対する最も強い論拠は、ソリューション提供企業ではなく、標準を書く機関から来ている。
2025年7月、米国NISTはSP 800-63B-4『Digital Identity Guidelines: Authentication and Authenticator Management』の最終版を公開した。この文書は制限付き認証器という明示的な区分を新設している。脅威の変化とともに耐性が低下した仕組みに充てられる区分だ。第3.1.3.3節は、公衆交換電話網の利用、すなわちSMSや音声通話で送られるコードをそこに位置づける。「Use of the PSTN for out-of-band verification is restricted as described in this section and SHALL satisfy the requirements of Sec. 3.2.9.」具体的には、なお使い続けるサービスは、制限のない代替手段を用意し、利用者にリスクを知らせ、移行計画を持たなければならない。
その前の2024年12月、米国のサイバーセキュリティ機関CISAは『Mobile Communications Best Practice Guidance』を公表していた。中国国家に連なる主体が複数の米通信事業者に侵入したスパイ活動、ソルト・タイフーンを受けてのものである。表現には解釈の余地がない。「Do not use SMS as a second factor for authentication. SMS messages are not encrypted」、そしてさらに率直に「Only FIDO authentication is phishing-resistant.」文書はYubicoとGoogle Titanを名指ししてFIDOのハードウェアキーを明確に推奨し、FIDOを有効にしたらSMSを無効化しなければならない、さもなければ悪用可能な代替経路として残る、と明記している。
認証アプリ:確かな前進、しかし部分的な解
Time-based One-Time Passwordの頭字語であるTOTPアプリは、30秒ごとに変わる6桁のコードを生成する。有効化時に共有した秘密と現在時刻から、端末内で計算される。電話網を通るものは何もない。
利点はすぐに現れる。番号が関与しなくなるためSIMスワップは無効になり、メッセージが運ばれないためSS7による傍受も同じく無効になる。それ以上に進めないアカウントについては、認証アプリへの移行はやる価値がある。
しかし三つ目の経路は手つかずのまま残る。偽サイトに入力されたTOTPコードは、SMSのコードとまったく同じように本物のサイトへ中継される。アプリはあなたがどこにログインしているかを知らない。数字を表示するだけであり、その数字は30秒の枠内に提示した者なら誰にでも有効だ。CISAも同じ言い方をしている。認証アプリのコードはSMSよりましだが、フィッシングには依然として弱い。
TOTPは誠実な中間段階であって、到達点ではない。
FIDO2キーが問題の性質そのものを変える理由
FIDO2/WebAuthnのハードウェアキーは、攻撃を難しくするだけでなく、その機構上の可能性を取り去る。
サービスに登録する際、キーはそのサービス専用の鍵ペアを生成する。公開側はサービスへ渡り、秘密側はチップから決して出ず、書き出すことも読み出すこともできない。複製しうる共有秘密もなければ、傍受しうる6桁のコードもない。
次に決定的な仕組みが来る。オリジンへの束縛である。ログイン時、ブラウザは表示中のページの実際のドメイン名をキーに渡す。この情報は署名対象のデータに含まれ、ブラウザがそれを強制する。ページのJavaScriptはそれを書き換えることも偽ることもできない。
FIDO2キーはフィッシングの成功を難しくするのではない。フィッシングの成果を使えなくするのだ。
adversary-in-the-middle攻撃をもう一度、今度はキーありで見てみよう。偽サイトは完璧で、被害者は何も気づかずキーに触れる。ブラウザはページの実際のドメイン、つまり詐欺サイトのドメインを渡す。キーはそのドメインに対応する鍵ペアが存在しないことを確認するか、そのドメイン向けに署名して、本物のサービスが拒絶する署名を生成する。いずれの場合も、攻撃者は使えるものを何も得られない。
性質の違いはここにある。SMSやTOTPでは、安全性は最終的に利用者の注意力に、急いでいてページも普通に見える瞬間にアドレスバーの偽ドメインを見抜けるかどうかに委ねられる。FIDO2では、この確認を機械が毎回行い、誰の注意力にも依存しない。暗号の強度よりも、この責任の移し替えこそが重要である。
効果は測定できる。Googleは2017年初めに従業員へのキー利用を義務づけ、8万5,000人を超える規模で2018年にアカウント侵害が一件も記録されていないと表明した。
ハードウェアキーの現実的な限界
これを完璧だと示すのは不誠実であり、本当の判断材料としても役に立たない。
費用はかかる。 モデルにより25〜60ユーロ程度、生体認証版はさらに高く、しかも二倍にして考える必要がある。
本当のリスクは紛失である。 重要なアカウントにキーが一つだけというのは設計上の誤りだ。重要なアカウントごとに二つ登録し、うち一つは別の場所、近しい人のところか金庫に保管する。二つ目は快適さのためではなく、一つ目を不安なく使えるようにするためのものだ。
対応範囲は不完全である。 多くのサービス、とりわけ欧州の銀行はまだFIDO2に対応していない。だからこそ次に述べる優先順位が要る。
キーは盗まれうる。 ゆえにキーにPINコードを設定するか、指紋対応のモデルを選ぶ必要がある。そうでなければ、拾った者にとっては品物そのもので事足りてしまう。
代替経路が最弱の環であり続ける。 SMSを無効にせずFIDO2を有効にしても何も守れない。攻撃者は開いたままの道を通るだけだ。移行が終わるのは、復旧オプションも含めて古い仕組みがアカウントから削除されたときである。
ハードウェアについては、YubiKeyシリーズが最も広いプロトコル範囲をカバーし、Google TitanはFIDOに限定される代わりに安価、NitrokeyとSoloKeysはファームウェアが公開され監査可能な選択肢を提供し、Token2はキーボードではなくキー本体でPINを入力できるテンキー内蔵モデルを作っている。FIDO2認証を受けたキーの中に悪い選択肢はない。プロトコルは同一で、違うのは付随的な用途だけである。
すべてを変えられないとき、どこから始めるか
移行の順序は好みの問題ではなく、アカウント間の依存関係から導かれる。
- まずメインのメールボックス。 ほぼ他のすべてのリセットリンクを受け取るのはここだ。これを掌握した攻撃者は、他のアカウントを一つずつ、どれも直接攻撃することなく奪っていく。これより先に守るべきものはない。
- パスワードマネージャー。 すべてのアクセスの第一要素を集約しているのだから、その保護は、そこに収まっている最も厳重なアカウントと同等でなければならない。マスターパスワードの質を見直す好機でもある。この主題はエントロピーとあなたの安全を支える科学の記事で詳しく扱っている。
- 金融口座と暗号資産プラットフォーム。 即座に価値を持つ標的であり、侵害は数分で取り返しのつかない損失に変わる。
- 読者のいるSNSアカウント。 SEC事件は、フォロワーを持つアカウントの発言の重みを示している。しかも損害は必ずしも本人に及ぶとは限らない。
- 残りは後回しでよい。 SMSの代わりにTOTPアプリを使えば十分だ。フォーラムや動画配信サービスに同じ手間をかける理由はない。
まだFIDO2に対応していないアカウントについては、可能な限りTOTPへ移行し、通信事業者に番号ポータビリティのロックを申し込むこと。多くの事業者では無料の選択肢である。
これがArpokratの考え方について語ること
この記事が扱っているのは、ある識別子をシステムの中心に据えたがゆえにのみ存在する問題である。電話番号は身元の証明として設計されたことなど一度もない。習慣の積み重ねでオンライン認証の背骨になっただけであり、ここまでに述べた三つの攻撃はいずれも、この用途のすり替えを突いている。
これがArpokrat Messengerのプロトコルを設計する際の考え方だった。電話番号も、メールアドレスも、アカウントもない。利用者は自分の端末に保管された暗号鍵の集合として存在し、つながりは使い捨ての招待リンクを通じて生まれる。論理はFIDO2と同じで、それを一段上に押し上げたものだ。第三者が保持していないものは、通信事業者への社会工学によっても、法的な要求によっても、その第三者から取り出せない。ゼロ知識アーキテクチャとのこの一貫性は、今収集し、後で復号するの記事で展開している。
秘密を一度も外に出さずに署名するハードウェアキーは、そもそもオフラインの暗号資産ウォレットの動作そのものでもある。コールドウォレット完全ガイドで詳述したとおり、秘密の部分を専用の物体に留め、外に出すのは署名だけ、という考え方である。
おわりに
SMSによる二要素認証は、設計が悪かったわけではない。2010年代初めに普及したとき、それはパスワード単独からの相当な前進であり、規模において唯一意味を持つ長所を備えていた。誰もがすでに電話を持っていたことだ。
問題は発明されたことではなく、生き延びたことである。SS7の実演は2014年、銀行での現実の悪用は2017年、リアルタイムフィッシングの産業化はその10年代の終わりに遡る。CISAは2024年にもう使うなと書き、NISTは2025年に制限を正式化した。欠陥が大規模に悪用可能になった時点と、機関がそれを文書に落とした時点との間には、およそ10年の隔たりがある。そしてSMSは今なお、一般消費者向けサービスの大半で既定の第二要素であり続けている。
この隔たりこそが、この記事の本当の情報である。安全の仕組みは、機能しなくなったときに消えるのではない。同じくらい簡便な何かが取って代わったときに消えるのであり、そちらのほうがはるかに長い時間を要する。だから問いは、SMSをやめるべきかどうかではない。それはもう何年も前に決着している。問いは、あなたが当然のものとみなしている他のどの防護が、まだ誰も書き記していないだけで、すでに同じ状況に置かれているのか、である。
出典
- 米国司法省、Alabama Man Sentenced to 14 Months in Connection with Securities and Exchange Commission X Hack that Spiked Bitcoin Prices、2025年5月16日
- 証券取引委員会、SECGov X Account、2024年1月22日の公式声明
- NIST、SP 800-63B-4, Digital Identity Guidelines: Authentication and Authenticator Management、2025年7月最終版
- CISA、Mobile Communications Best Practice Guidance、2024年12月18日
- FBI Internet Crime Complaint Center、2024 Internet Crime Report
- Threatpost、Cellular Privacy, SS7 Security Shattered at 31C3、トビアス・エンゲルとカルステン・ノールによる実演、2014年12月
- Help Net Security、Attackers exploited SS7 flaws to empty Germans’ bank accounts、2017年5月
- Krebs on Security、Google: Security Keys Neutralized Employee Phishing、2018年7月
- W3C、Web Authentication: An API for accessing Public Key Credentials、WebAuthn仕様
