X(旧Twitter)が、「セキュリティキーを再登録」するようにという通知を出している。Xへのログインのセキュリティを強化する2要素認証において、物理的なハードウェアを使うセキュリティキーと、同様の技術を使うパスキーのいずれかを使っているユーザーが対象で、今後継続的にXへログインするためには、既存の登録を解除して再登録するか、新たなキーを登録する必要がある。期限は11月10日まで。

実はセキュリティキーやパスキーを使っていない人こそ対応が必要かもしれない。この通知にはどのような対応をすればいいのか、なぜこの通知が出されることになったのか、そのあたりを解説しよう。

2要素認証におけるセキュリティキーとパスキーとは

Xの2要素認証には、「テキストメッセージ」「認証アプリ」「セキュリティキー」、そして「パスキー」の4種類が用意されている。

「テキストメッセージ」は携帯電話番号を登録しておくと、ログイン時にSMSでワンタイムパスワード(OTP)が送られてくる仕組み。「認証アプリ」は、OTP(ワンタイムパスワード)を生成するアプリを使って表示された数字をパスワードに続いて入力する方式だ。

どちらも簡単に使えるが、届いたSMSを確認して数字を入力する手間がかかり、認証アプリは別アプリを起動して数字を確認して入力する必要がある。また、フィッシング詐欺に対して脆弱といったデメリットもある。

「セキュリティキー」は、物理的な専用のキーを用意する。例えば一般的なFIDO対応セキュリティキーでは、物理キー内で秘密鍵と公開鍵を生成し、相手のサーバーにログインIDと公開鍵との紐付けを行う。実際にログインするときは、物理キーをUSBやNFC、Bluetooth経由で端末と接続して認証を行い、アクセス先のサーバーと公開鍵・秘密鍵による検証を行って、紐付けられたアカウントへのアクセスを許可する。

  • YubiKeyのセキュリティキー

    これはYubiKeyのセキュリティキー。PCやスマートフォンに挿入して使う

最初の登録時にドメイン名と紐付けるため、フィッシングサイトのように「URLが異なるけれど見た目が似ているサイト」に誤ってパスワードやOTPを入力してしまうといった問題が起きない。そのため、フィッシング詐欺にも安全とされている。

「パスキー」も公開鍵と秘密鍵を使って認証を行う仕組みで、セキュリティキーを使わずにスマートフォンのロック機能を使う。普段、端末の画面ロックを解除する際に使う指紋や顔の生体認証、PIN、パターンといった機能を用いて、「そのスマートフォンやPCのロックを解除できる所有者である」という認証を使うことでログインを行う。

  • パスキーのイメージ

    パスキーでは生体認証やPINなど、スマートフォンやPCの画面ロックと同じやり方で認証を行う(Googleのパスキー解説ビデオより引用)

パスキーはセキュリティキーとは異なり、物理的なキーを持ち歩く必要がなく、普段のスマートフォンやPCのロック解除方法だけで2要素認証が使えるため、利便性が高い。セキュリティキーと同様のフィッシング詐欺への耐性の強さも兼ね備えており、最近は証券口座の乗っ取りなどで注目されて、導入するサイトが増えている技術だ。

セキュリティキーやパスキーを紐付けたTwitterドメイン

このセキュリティキーとパスキーでは、いずれも登録時にサーバーでの紐付けが行われる。この紐付けを行う対象は「ドメイン名」。つまり、「example.com」のようにURLの一部に対して紐付けが行われる。

Xでは、この紐付け先がこれまで「Twitter」ドメインになっていた。旧Twitterを買収したイーロン・マスク氏は、サービスブランドをXに変更し、ドメインも「x.com」に切り替えていたが、まだ一部では「twitter.com」が使われている。そのひとつが、このセキュリティキーやパスキーの紐付け先だったようだ。

  • パスワードの紐づけ先

    これはパスワードでの例だが、同様にパスキーやセキュリティキーも「twitter.com」に紐付けられていた。ちなみに、今後このパスワードマネージャーで「twitter.com」に紐付けている場合も自動入力が動作しなくなる

この紐付け先を「x.com」に切り替える、というのが今回の通知の内容だ。Xへのログインで「twitter.com」からのリダイレクトを行わないため、従来の「twitter.com」に紐付けられていたセキュリティキーやパスキーでログインができなくなるということになる。

これはセキュリティキーやパスキーのフィッシング詐欺対策の機能であるドメインバインディングによるもので、これによって仮に「twiiter.com」(「t」のひとつが「i」に置き換わっている)というよく似たドメイン名のサイトであっても、あらかじめ登録したドメイン名以外だと認証が行えず、フィッシング詐欺への対策ができる。

Xへの切り替えを行った場合、パスキーが「twitter.com」に紐付けされたままの状態でログアウトすると、そのパスキーを使ってアカウントにアクセスできなくなる。恐らく今回、そうした状態の発生を避けるために「アカウントロックをしてログインはできるが再登録などの操作を促す」ということだろう。

これまで「2要素認証を設定していない」であったり、「携帯番号へのSMS」「アプリでのワンタイムパスワード」を利用しているという人には影響しない。あくまでセキュリティキーかパスキーを利用しているユーザーのみが影響を受ける。

パスキーなどを設定している場合は通知が来るとされている。筆者はその通知を確認できていないが、恐らく11月10日までに順次通知が来るものと考えられる。

設定を行うには、Xの「セキュリティ」から再登録を行う。iOSアプリでは、メニューから「設定とプライバシー」、Androidアプリはメニューの「設定とサポート」→「設定とプライバシー」に進む。それ以降はいずれも「セキュリティとアカウントアクセス」→「セキュリティ」と進むと、「2要素認証」という項目があるので、ここでセキュリティキーを設定する。

  • Android版Xアプリの「セキュリティとアカウントアクセス」。この「セキュリティ」にアクセス

    Android版Xアプリの「セキュリティとアカウントアクセス」。この「セキュリティ」にアクセス

  • さらに「セキュリティ」から「2要素認証にアクセス」。ここでSMS、認証アプリ、セキュリティキーを選択できる

    さらに「セキュリティ」から「2要素認証にアクセス」。ここでSMS、認証アプリ、セキュリティキーを選択できる

パスキーの場合は、「セキュリティ」の直下に「パスキー」という項目があるので、これを設定する。どちらもオンになっていれば、いったんオフにして登録を削除し、改めてオンにすることで登録が行える。

Web版には「パスキーを管理」があり、パスキーの登録だけでなく、登録されているパスキーの削除もできるようになっている。

  • Web版のセキュリティの設定画面

    Web版のセキュリティの設定画面。「パスキーを管理」「2要素認証」の項目からそれぞれ設定が可能

ドメイン切り替えで何が起きるか

ドメイン切り替えを行う際には、何が起きるのだろうか。

ドメインが切り替えられることで、すでに登録していたセキュリティ設定を、サービス側の都合で再設定させるという手間がかかることになる。特に、「正しいユーザーがログインできなくなる」という点が問題だ。Xではアカウントロックの上で再登録を促すとしているが、今後「数年ぶりに新たな端末でログインしようとした」というアカウントがどういう状態になるかは不明だ。

Xの公式アカウントは、「これによってTwitterドメインを廃止できる」とコメントしている(原文では「allowing us to retire the Twitter domain」となっている)。セキュリティキーやパスキーに紐付けられているドメイン名を切り替えれば、「twitter.com」ドメインを利用するユーザーがいなくなり、ドメインを廃止できる、という考えらしい。

この「廃止」(retire)の意味は明確ではないが、仮にこれが「ドメインを手放す」という意味だと、原理的には、手放したドメインは一定期間後に他者が取得できるようになる。「Twitterブランドを復活させよう」という人が手放されたTwitter.comを取得する可能性があるし、それ以上に悪意のある攻撃者が取得して犯罪に関わるサイトを立ち上げる可能性もありうる。

  • ドロップキャッチ

    ドメイン廃止後、再登録可能になる瞬間を狙ってドメインを取得して悪用するのがドロップキャッチ

ドロップキャッチで悪用されると、「twitter.com」に紐付けられたセキュリティキーやパスキーがある場合、偽のログイン画面でパスキーなどの入力画面が立ち上がる可能性はある(パスワードマネージャーの自動入力も動作するだろう)。

この場合でも、新たな「twitter.com」のサーバーにアカウントと紐付いた秘密鍵が保管されていなければログイン処理は完了しない。ドロップキャッチされた「twitter.com」には秘密鍵がないし、X側もすでに紐付けが解除されているため、これでXのアカウントに侵入することは難しいと考えられる。

「Xのサーバーから『twitter.com』に紐付いた秘密鍵が漏えいした」場合にどうなるかは不明だが、Xが「twitter.com」との紐付けを解除していれば特に問題にならないだろう。

ただ、どういった場合でも、Xへのアクセスのつもりでドロップキャッチされた「twitter.com」にアクセスし、XのIDとパスワードを入力してしまえば、その認証情報が盗まれて、Xへ不正アクセスがされてしまう可能性はある。この場合、特に2要素認証を設定していないユーザーは即座に不正ログインされてしまうので危険だ。SMSやアプリを使った2要素認証も、リアルタイムフィッシングの手法で突破されてしまうため安全性は低くなる。

「twitter.com」に紐付くセキュリティキーやパスキーの再登録をして、Xドメインに紐付けたセキュリティキーやパスキーのユーザーであれば、IDとパスワードが漏えいしても即座に不正ログインされる心配はないはずだ。

「Twitterドメインの廃止」がどのような意味なのか――「ドメイン自体を手放す」のか「手放さないがリダイレクトを含めて利用を停止する」のか――が分からないため、危険度が図りづらい。

常識的に考えれば、ドロップキャッチの危険があるため、すぐにドメインを手放すことは考えにくい。ただし、そこはイーロン・マスク氏。簡単に手放してしまう可能性もある。「『twitter.com』を手放すには早すぎる」というのが個人的な感想だが、かといって未来永劫保持すべきとも言えない。

どちらにしても今の段階で2要素認証を使っていない人はこのタイミングで設定をすることを強くおすすめする。特にパスキーは利便性とセキュリティのバランスがよく、現時点ではWeb/アプリ(iOS/Android)のいずれにも対応していて扱いやすい。

Xのパスキーでは、例えば端末を紛失したり新規購入したりした場合でも、AppleやGoogleのアカウントにパスキーを保管して同期しておけば、新端末でもそのまま生体認証などでログインできる。パスワードを入力する必要もないため、利便性は高い。

  • Xの新規ログイン画面

    Xの新規ログイン画面。自動的にGoogleパスワードマネージャーが立ち上がり、ここでパスキーを選択すると、IDとパスワードを入力せず、そのまま生体認証などを使ってログインできる

Xでは、他の2要素認証とパスキーの併用が可能で、パスキー認証をした場合は他の2要素認証は求められないため、不安ならばパスキーと他の2要素認証を同時にオンにしておけば、パスキーでログインができなくても、他の2要素認証が使えて安心できる。

繰り返しになるが、セキュリティキーやパスキーを設定している人は、今後のために11月10日までに再登録を行う必要がある。Webであれば複数デバイスのパスキーを削除できるので、その上で改めて各デバイスで設定してもいい。

  • Webのパスキー管理画面

    Webだと複数のデバイスのパスキーを管理できる

今回の話題では、むしろパスキーを使ってない人こそ、「自分は関係ない」と思うのではなく、これを機により安全で利便性の高いパスキーの設定をすることをおすすめしたい。