2FA:SMSはなぜ「マシな選択肢の中で最悪」なのか

公開日 著者 David Carrero

SMSによる二要素認証を有効にすることは、今日あなたができる最良の判断のひとつです。 そして、真っ先に見直すことになる判断でもあります。

この二つは同時に成り立ちます。話がややこしいのは、まさにそこです。議論はたいてい、 どちらも同じくらい間違っている二つの陣営に分かれます。SMSを本物のセキュリティだと 思っている人たちと、ただの茶番だと思っている人たちです。**SMSは何もないよりずっと マシで、それでいて、広く使われている二要素の中ではいちばん弱い。**矛盾はありません。 ここにあるのは、はしごです。SMSはその一段目――地面よりははるかに高い場所にあります。

SMSがきちんと果たしている役割

二要素がなければ、あなたのアカウントは、よその流出データの中で何年も出回っている かもしれない秘密ひとつに支えられていることになります。誰かがその一覧を手に取り、 サービスを片っ端から試し、パスワードを使い回していれば、そのまま入られます。 あなたが狙われたわけではありません。表計算の行に、たまたまあなたが並んでいただけです。

SMSはそれを根元から断ち切ります。**二要素がある瞬間から、あなたを攻撃することは 自動的な流れ作業ではなくなり、あなたを名指しした手仕事になります。**あなたが誰で、 どの番号を使い、その番号を誰が発行しているかを知らなければならない。多くの相手に とっては割に合いません。もっと楽なアカウントがいくらでもあるからです。だから、 サービスがSMSしか用意していないなら、答えは条件なしで「はい」です。条件がつくのは、 そのあとの話です。

弱点はあなたのスマホにはない

SMSを破ると聞くと、電波を傍受するとか、チップを複製するとか、端末をウイルスに 感染させるとか、そういう絵を思い浮かべます。どれも必要ありません。実際にアカウントを 根こそぎ持っていく攻撃、そして公になった事件で何度も顔を出す攻撃はSIMスワップで、 その中身ははるかに退屈です。誰かがあなたのキャリアに電話をかけ、SIMをなくしたと言い、 本人確認の質問にいくつか答え、再発行を頼む。その瞬間から、あなたのSMSは相手に届きます。

ここで「起きていないこと」に注目してください。暗号は何ひとつ破られていません。 あなたの端末には誰も触れていません。あなたは何も間違えていない――そして、何も 気づきません。回線が突然だんまりになること以外には。しかもそれが寝ている間なら、 おかしいと気づくまでに時間がかかります。**SIMスワップはあなたへの技術的攻撃では ありません。あなたのキャリアに対するソーシャルエンジニアリングです。**壊れる輪は、 問い合わせを手早くさばくことで評価されるサポート担当者であり、その人はいま、 完璧にありそうな話を聞かされたところです。SIMをなくすなんて、世の中で毎日誰かに 起きていることですから。事例は広く記録されていて、同じ型がもう驚きもしないほど 単調に繰り返されています。

居心地が悪いのは、そこにあなたの出番がないことです。あなたの安全は、そのために 選んだわけでもない会社の本人確認手順に握られています。そしてもうひとつ、もっと 静かな欠陥があります。**あなたの電話番号は秘密ではありません。**歯医者にも、 電力会社にも、行きつけの店のポイントカードにも渡してきました。自分から配って回る 識別子が、ここでは認証情報の役をやらされているのです。

二段目:アプリ

次の段はTOTPです。Google、Aegis、1Password、Bitwardenといったアプリの中で、 三十秒ごとに入れ替わる六桁の数字のことです。

仕組みは美しい。サービスとアプリは、設定するときに一度だけ秘密を共有し、それ以降は どちらもその秘密と時刻から同じコードを計算します。何も送られません。違いはすべて そこにあります。**何も流れないなら、横取りするものもない。**キャリアもなく、番号もなく、 再発行を頼む相手もいない。SIMスワップには入り口がありません。

大きな一段で、しかも五分で済みます。とはいえ、これも終点ではありません。TOTPには きわめて人間くさい死角が残るからです。**コードは、求めてきた相手にあなた自身が 打ち込む。**銀行にそっくりだが銀行ではないページに入力していれば、攻撃者はそれを 受け取り、残り数十秒のうちに本物のサイトへ転送します。アプリは数字を作るだけで、 それをどこに貼るかは知りません。

騙されない段

物理キー――FIDO/U2Fという規格、USBやNFCのキー、あるいはスマホ自身を認証器に する方法――は、まさにそこを解きます。登録時に、オリジン、つまりそのサービスの 具体的なドメインに紐づいた鍵ペアを作ります。ログインのとき、ブラウザはどのドメイン 向けの署名を求められているかをキーに伝え、キーはそのドメインを内側に含んだチャレンジに 署名します。ページが別の場所に置かれた偽物なら、ドメインが一致せず、本物のサービスが 受け取る署名は出てきません。

言い換えれば、キーはあなたより賢いのではなく、あなたの判断を信用していないのです。 鍵マークを見もしないし、URLも読まないし、そのメールが本物っぽかったかどうかも 考えません。文字列と文字列を比べるだけです。うまい話で丸め込めない唯一の輪であり―― ここまで来れば、うまい話こそが問題そのものだと、もうお気づきでしょう。

「制限付き」は「禁止」ではない

NISTSP 800-63Bで、電話網を通じた帯域外検証――つまりSMS――を制限付きに 分類しています。この言葉には立ち止まる価値があります。この一語のニュアンスが、 この記事の全部だからです。制限付きは禁止ではありません。中間の、意図して置かれた 区分です。使い続けてもいい。ただし使う側は義務を負います。リスクを評価すること、 その経路には既知の弱点があるとユーザーに知らせること、そしてより良い方式へ移る計画を 持つことです。

これは全面禁止より賢い立場であり、SMSがいまだに現役である理由も説明します。 **誰も有効にしない優れた仕組みより、みんなが使っている凡庸な仕組みのほうが、 実際には多くを守ります。**もし明日あらゆる場所で禁止されたら、そのアカウントの かなりの部分は一段上がったりしません。パスワードひとつだけ、つまり地面に戻るだけです。

やるべきこと、順番に

  • **サービスがSMSしか用意していないなら、有効にする。**今日です。いちばん高さを 稼ぐのは一段目です。
  • TOTPがあるならTOTPに移り、可能ならSMSを予備から外します。あなたの安全は、 あなたが受け入れる中でいちばん弱い方式のぶんしかありません。どこから入るかを 選ぶのは攻撃者だからです。
  • **本当に大事なもの――メール、銀行、パスワード管理――には物理キーを。**あなたの 人生ぶんの「パスワードをお忘れですか」は、すべてメールにぶら下がっています。
  • キャリアがPINや番号ポータビリティのロックを用意しているなら、設定する。 根っこは直りませんが、電話をかけてくる相手にとって再発行は面倒になります。
  • **そして第一要素を忘れない。**2FAは二つ目のかんぬきであって、一つ目の恩赦では ありません。長くて、使い回しのない、ジェネレーターから出てきた パスワードを。すでに使っているものが心配なら、チェッカーに かけてください。

結論は退屈で、だからこそ誰もほとんど口にしません。SMSはダメで、ほかに何もないなら 使うべきだ、ということです。本物のセキュリティとは、完璧な選択肢を選ぶことではまず なく、マシなものの中でいちばん悪いのはどれかを知り、必要なあいだはそれを使い、 そして、それを「もう終わった」と取り違えないことです。


出典:NIST SP 800-63B。公衆電話網を通じた帯域外検証(SMSまたは音声)を制限付きの 方式に分類し、その区分が伴うリスク評価・ユーザーへの通知・移行計画の義務を定めている ・FIDO/U2FおよびWebAuthnの仕様と、署名時におけるオリジン(ドメイン)の検証 ・RFC 6238(TOTP)・報道および司法手続きで広く記録されているSIMスワップの公開事例。

← ブログに戻る