- SMSベースの2段階認証(2FA) は安全でないだけでなく、山間部の住民に大きな不便をもたらす
- 携帯電波が弱い山間地域では、SMSで送られる認証コードの受信が難しい
- 単なるWi-Fi通話やスマートフォンの利用だけでは、2FAの問題を解決できない
- TOTP(時間ベースのワンタイムパスワード)方式が代替になりうるが、初期設定へのアクセスが容易ではない
- 何百万人もの山間部居住者が、ウェブサイトのログイン過程で直面する不合理な状況を説明
問題の概要
- 筆者の友人はノースカロライナ州の山間部に住む70代の女性
- コンピューターは苦手だが、コミュニティでの交流のためにスマートフォンとSignalのグループチャットを利用している
- 長年固定電話を使っており、これは補聴器との相性がよい
- Spectrum が地域の通信を独占しており、固定電話とケーブルインターネットの両方をSpectrum経由で使っている
携帯サービスとSMS 2FAの問題発生
- 数年前にモバイルサービスとしてSpectrum Mobileに加入し、これはVerizon網を使っている
- 自宅では携帯電波がほとんど入らない。市街地から車で20分の距離で、近隣住民も多い
- 主要なアカウント(メール、銀行、健康保険など)はすべてSMSで2FAコードを送信しようとする
- SMSコードが届かない。自宅では携帯サービスが弱く、Wi-Fi Callingを有効にしていても、短縮番号(5桁)から届くセキュリティSMSは受信できない
- 最新のiPhoneと公式提供の機器を使用しており、使い方にも慣れている
代替策の模索と限界
- 一部のISP提供の固定電話には、SMSをコンピューター音声で読み上げる機能があるが、Spectrumにはない
- 一部のサイトではTOTP 2FAに切り替えられるが、最初のログイン時点でアクセスできる必要がある
- 解決のための煩雑な手順:
- ログインに失敗したサイトの一覧を作る
- 問題解決のために町まで出て、友人と会う
- 1件ずつTOTPや別方式への切り替えを試みるが、一部は対応していない
- カスタマーサポートに問い合わせようとしても、連絡が難しいか不可能
事実上実現不可能な代替案
- VoIPへ番号を移行して、短縮番号SMSを受信できる可能性を探る
- 数百ドルかけて携帯電波ブースターを設置する
- 引っ越しまで検討する
- たった1回のログインのためにこうした手順が必要だという不合理さを指摘
携帯カバレッジマップの信頼性の問題
- Spectrumのカバレッジマップでは、自宅と周辺は完全なサービス提供地域として表示されている
- 実際には自宅で圏外で、100メートル移動しただけでも電波がない
山間部に住む多くの人々に共通する苦しみ
- Millennial世代の友人も、**「SMS 2FAは生活上の苦痛だ」**と表現している
- 深い谷間のような場所でなくても、SMS 2FAによる問題が起きている
TOTP方式の限界と難しさ
- TOTPも完璧ではない
- 別アプリのインストールが必要
- どのアプリを使うべきか選ぶ過程が複雑で、技術的説明も多い
まとめと規模の問題
- SMS 2FAが広く使われる理由は、直感的なUXとある程度の信頼性にある
- しかし、ノースカロライナの山岳地帯の110万人、アパラチア全体の2500万人など、何百万人もの人々が劣悪な環境に置かれている
- インターネットはあっても、携帯電話の電波は非常に弱い
- こうした地域の住民に対する合理的な代替手段や配慮が不足している
1件のコメント
Hacker Newsの意見
彼女が選べる別の選択肢の1つが、SMSをWi-Fi経由で受け取れるVOIPプロバイダーに自分の携帯電話番号をポーティングする方法だったのは興味深い。しかし一部の企業は、seCuRiTy上の理由でVOIP番号にはSMS-OTPコードを送らなかったり、その番号が本人名義で登録されていることを求めたりすることが分かった。こうした制限は違法であるべきだと思う。番号は単なる番号だ。Wi-Fi Callingを有効にしておけば友人や家族からのSMSは受け取れるのに、2FAコードは依然として受信できない。SMS over IMSは外部送信者には透過的に実装されているものだと思っていたが、SMSプロトコル自体があまりに杜撰に作られているので、驚くほどではないとも思う
SMSシステムの仕組みなら説明できると思う。このシステムは単にメッセージを「ブラインド」で送るだけだ。受信者がオフラインだったり圏外だったりすると、そのキャリアが3〜7日ほどメッセージを保存する。OTPシステムはVonageやTwilio APIなどで到達可能性チェックを行うが、このチェックは完全ではない。何かおかしいと判断されると、メッセージは送信されない。こうしたやり方はメッセージ送信コストを削減するためのものだ。すでに検証済みの番号にまで適用されるのは不合理だと思う
ヨーロッパの立場から言うと、PSD2という金融指令により、すでにKYCが完了した番号に対してのみ2FA用SMSが許可されている。2FAは結局のところ「あなたが持っている何か」を証明する電子署名として機能し、その「何か」が本人確認済みの電話番号だ。SMSは、あらゆる人口層・地域・端末で容易に適用できる唯一の2FA方式であることを強調したい
SMSしか2FAとして認めないのに、VOIPには送らないというのは、本当に同じ会社とは思えないほど筋が通らない。おそらくどの会社もSMS送信のために特定のサービスを経由していて、そのサービスがVOIPをブロックしているのだろう。ほぼすべての銀行が必須でSMS 2FAを要求する一方で、ほかの場所ではアプリをサポートしているのはとても奇妙だ
2025年になっても、電話番号はSybil問題(1人が複数アカウントを作る問題)を多少なりとも解決できる手段だ。実際のKYC手続きなしでも、ある程度の本人性を確認できる
Wi-Fi Callingで2FA SMSだけ受け取る目的で使ったことがある。RedPocket(MVNO)とT-Mobileの組み合わせで何の問題もなかった。その地域にはT-Mobileの直接の電波がなく、Wi-Fi経由のSMSしか使えなかった。料金プランも安かった。ただし、古い携帯電話がBand非対応などで問題を起こすことはあった
メッセージ受信の性質として、友人・家族からのものはP2Pで、2FAは機械から人へのA2Pだ。この2つの扱いは厳密に異なる
VOIPプロバイダーに番号をポーティングしても、送信側からはその番号が携帯電話かVOIPかを見分けられないと思う。そうやってポーティングした後でも、SMS 2FAは普通に受け取れている
さまざまな銀行サービスを使ってみると、一部はGoogle Voiceにも何の問題もなくSMSトークンを送ってくれるが、別の銀行はカスタマーサポート経由でしかGoogle Voice SMSを許可しないなど、ポリシーがランダムだ。しかも通常チャネルでは送らないのに、自動音声通話ではまったく同じコードを読み上げてくれることすらある。セキュリティポリシーが無作為だと思う
VOIPでSMS-OTPコードを受け取る選択肢は、結局のところ悪いアイデアだ。短期間だけ動作しても、最終的にはセキュリティポリシーが強化されて塞がれるだろう。こうしたすべての措置は実際にはユーザーのセキュリティのためではなく、絶え間なく押し寄せるスパムや詐欺トラフィックを遅らせるための障壁だ。実在する電話番号を持っていること自体が「Proof of Work」として使われており、現実的な代替手段がない
SMS方式そのものが問題なので、こうした議論自体が無意味だ。SMSの使用自体が違法であるべきだという意見だ
マイクロセル/フェムトセルさえあれば、自宅やオフィスのような電波の弱い場所では非常に有効だ。プロバイダーに連絡して電波が弱いと言えば、インターネット → セルラーに変換してくれるAP(Access Point)を無料で送ってくれる。こうした装置にはRJ-45入力やGPSアンテナがあり、e911位置データにも対応する。うちの店も金属の壁に囲まれた谷間にあり、以前は丘の上まで登らないと通話できなかったが、各通信会社に頼んでフェムトセルを設置してもらってからは、誰でもISP回線経由に自動切り替えされて普通に使えるようになった。MVNOまで含めてすべて対応している。ただしフェムトセルを使うには、MVNOではなく通信会社直営のサービスを使う必要があるかもしれない
t-Mobileはもうマイクロセルという機器をサポートしていないようだ。サポートページを参照した
フェムトセルにも欠点はある。必ずGPS信号が必要なので、山岳地形では動作しにくい。フェムトセルを何年も使ってきたが、ときどき原因不明で動作が止まり、なぜ動かないのかも教えてくれない
Verizonから無料の4G LTE Network Extenderを受け取った。1つ問題があるのは、家を出るときに接続が切れる現象だ。あるとき911に電話していて移動中に電波が切れ、動作範囲を外れると再接続されるまで通話が中断された。その後、Verizonから位置情報を修正するよう連絡が来た
大手通信会社が、検証されていないISPに接続されたセルタワー(マイクロセル)を誰でも運用できることを平気で許しているのは意外だ。もともとブランド管理に厳格な会社なのに、この点では驚くほど寛容だ
海外ローミング中は、自宅のAndroidスマホにSIMカードを入れたまま電源につないでおき、SMSをAPIで転送してくれるアプリを使っている。すべてのSMSをメールで受け取れる。何年も問題なくこの方法を使っている。普段でもPCでOTP SMSを受け取れるので便利だ。MMSは受信できないが、不要なので気にしていない
この方法を「2FA Mule」と呼んでいる。この方式を4年以上使っていて、とてもうまく機能していると思う。良い選択肢だ
デュアルSIMとWiFi Callingに対応したスマホなら、訪問先の国でデータ専用eSIMを使い、既存のSIMで引き続きSMSを受け取れる
私も似たように自宅にAndroidスマホを置き、ノートPCからWebメッセージングサービスにアクセスしてSMSを受け取っていた。今ではSMSはWiFi Callingでも動くので、必ずしも問題にはならない
Androidスマホが3日ごとに自動再起動するよう変更される可能性があるそうで、この方法は近いうちに使えなくなるかもしれない
なぜこの方法がローミングに関係するのか分からない。ヨーロッパやそのほか多くの場所で頻繁にローミングしたが、SMS受信に何の問題もなかった
この記事はややニッチで、SMS 2FAコードがまるでセルラーサービス契約と同時に届くように見えるが、実際には先に2FA登録を済ませてから外に出ないとコードが有効化されない可能性がある。TOTPも実際それほど難しくなく、単にアプリを選んであげてバックアップコードの印刷を手伝えば、特に問題なく解決できる
Google FiはWi-Fiでも短縮番号を含むすべての2段階認証用SMSを受け取れる。しかも携帯電話の電源が切れていたり壊れていたりしても、Webブラウザーであらゆるデバイスから受信できる。この機能はとても気に入っている。サービスは月20ドルから利用できる。以前は山間部でUS Cellularとの提携によりうまく使えたが、最近はある程度T-Mobile側に取り込まれて状況が変わりつつある
アメリカ国外で12年間暮らしてきたが、Google Fiを導入するまではSMSには常に問題があった。多くの銀行がSMS認証に固執しているが、VOIP仮想番号は (1) 一部の銀行がセキュリティ上の理由で拒否する (2) 技術的な理由でSMSを受信できない、の両方が問題になる。Google Fiは携帯電話サービスがないときでさえWiFi経由で迂回配信してくれるのでうまく動く。ただしアメリカ国外に1か月以上滞在するとデータ通信は止められるが、SMS/音声だけ使えれば十分だ
RCSや「messages for web」が使えるのか気になる。以前はFi Syncを有効にして初めて携帯電話がオフの状態でもテキスト/音声が使えたが、その場合はRCS機能が無効になっていた。今でもそうなのか、またどのURLでテキスト/音声が使えるのか気になる
ユーザーの期待が過剰だという意見に共感する。たとえばLimeスクーターを借りたとき、VPN設定ミスでインターネットにつながらず、返却完了処理ができなかった。GPS上で停止を検知して追加料金は返金されたが、もしスマホのバッテリーが切れていたら厄介なことになっていたはずだ。移動中には、こうした予期しない事態への備えが必要だ
特定のグループに不利な要素は常に存在する。2FAにも完璧な方法はなく、それぞれの方式に不便さがある SMS 2FAはセキュリティは弱いが、最も広く使われ、復旧もしやすい TOTPアプリ類はセキュリティが強いが、端末の紛失や変更時の復旧が難しい Yubikeyのようなハードウェアトークンはコストがかかり、やはり復旧の問題がある 最も確実な方法は、連邦政府が中央集権的なハードウェア認証システムを運用することだと思う(実際、米国国防総省はCaCカードで運用している)。しかしアメリカでそのようなシステムは、プライバシー論争と予算の問題から実現が非常に難しい。SMS 2FAが山間部などに不利なのは確かだが、実のところどの2FAも完璧ではない
認証のプライバシーは特定の状況(例: 投票など)では重要だが、銀行のように明確に本人であることを証明する場面では、プライバシーへの懸念はそれほど当てはまらないと思う
Yubikeyなどは復旧が難しそうに見えるが、複数登録しておけば1本を失っても別のキーで新規登録して解決できる
Google Voiceアプリをインストールすれば、一部の2FAサービスはサポートされるが、そうでないものもある。一部のサービスはGV番号を拒否する。GVはWiFiでSMS受信が可能だ。通信会社にフェムトセルを依頼すれば、以前は安価だったが今では製造終了で、2500ドルまで値が付いている。mightytext.netに登録してPCでSMSを受け取ることもできるが、これがセルラー電波なしでも動くのかは確信がない。指ではなくノートPCのキーボードでSMSを書けるのが便利なので使っている
USBモデムをPCにつないで、電波が入る場所に置き、インターネット経由でアクセスする方法も可能だ。自分はこれを逆方向に、Raspberry Piでリモート監視用として使っている。プロトタイプ段階ではSMS解析もしていた。万人向けではないが、HNらしく共有しておく
mightytext.netは、スマホに電波がなければ動作しない。SMS中継はキャリアにしかできない。すべての米国キャリアでこうしたサービスと連携するのは難しく、技術的制約も大きい。Appleの衛星SMSサービスだけがSMSルーターに直接アクセスして中継できる
この方式の利点の1つは、MFA(多要素認証)でSMSへのアクセス自体を保護できる点だ
TOTP、HOTPなどは、電話番号のような個人識別データなしで実装できる。SMSは番号が必要で、その番号があなたの個人情報と結び付いていれば、マーケティングやデータ集約にとってはるかに大きな価値を持つ
SMS認証を要求するところの多くは、すでに名前・住所などの個人情報を把握している場合が多い(例: 金融、ライセンス、医療機関など)。そのため、マーケティング目的のデータ集約をめぐる議論は実際にはあまり意味がない。TikTokのように、どうしても番号を欲しがるなら使い捨て番号を使うか拒否する
TOTP/HOTPには、「この金額をこの加盟店に支払おうとしている」といったWYSIWYS(見えているものに署名する)特性がない。銀行決済などでは直接的な確認が必要だ。実際、EUではWYSIWYSが規制で求められる場合があり、その一時的な穴を埋めるために銀行専用アプリが必要になる。現行の標準(WebAuthNなど)だけでは不十分で、SPC拡張のような新しい方法やHW認証器が必要だと思う
私も田舎に住んでいて、ときどきSMSコードが届かない問題に遭遇する。ある日は届くのに別の日は届かず、理由が分からなかったが、この記事がその原因をはっきり説明してくれた。普段SpectrumのサービスでWi-Fiもモバイルも使っているが、電波強度によってWi-Fiに依存しているために起きていた現象だった