LinuxでFirefoxを使用していると、Yubikeyを用いたMicrosoft 365へのログインに困るケースがあります。Chromeでは問題なく認証できるのに、Firefoxでは認証ループに陥りがち。今回はその原因や対処法、Microsoftへの修正依頼の流れなどを詳しく紹介します。
FirefoxでのYubikey認証がループする原因とは?
FirefoxでYubikeyを利用してMicrosoft 365(Office 365)へログインしようとすると、「We couldn’t verify you or the key you used…」というエラーが発生し、認証が何度も繰り返される状況に陥ることがあります。これは、ChromeやMicrosoft Edgeでは問題なくログインできるのに対してFirefoxのみで発生するため、多くのユーザーがブラウザ固有の問題を疑うケースです。
しかし実際には、YubikeyとFirefoxの組み合わせ自体に根本的な不具合があるというよりも、Microsoft 365側でのユーザーエージェント認識や認証処理の互換性に問題があると推測されます。すなわち、Microsoftの認証フローがFirefoxのユーザーエージェントを正しく認識できない、あるいは制限している可能性があるということです。
エラーの詳細と背後にある要因
Microsoft 365へのログイン時に表示される「We couldn’t verify you or the key you used…」は、FIDO2などの二要素認証(2FA)において、認証トークン(Yubikey)が正しく認識されていないことを示します。以下に考えられる要因をまとめます。
- ユーザーエージェントの判定
Microsoft 365の認証システムが、Firefoxのユーザーエージェントをサポート対象外または制限的に扱っている可能性があります。Chromeへの偽装で問題が回避できることから、認証フロー内でブラウザ判定が行われていると推測できます。 - FIDO2プロトコルの一部実装差
FirefoxではFIDO2の一部機能がChromeと実装方法やタイミングが異なる場合があります。とはいえ、Yubikeyの公式ドキュメントやMozillaの開発ドキュメントを見る限り、FirefoxもFIDO2をサポートしているため、ここが直接の原因となることはあまり多くありません。ただしMicrosoft側のサーバー実装がFirefox向けに調整されていないケースがあるかもしれません。 - 認証局や中間証明書の問題
一部の環境では、OSに登録されている証明書ストアとブラウザが参照する証明書ストアが異なることがあります。Chrome系ブラウザ(ChromeやEdge)はOSのストアを参照し、Firefoxは独自の証明書ストアを利用するため、証明書周りの設定が合わないとエラーになる場合もあります。
Yubikeyのセキュリティ機能について
Yubikeyは多機能なセキュリティキーで、以下のような認証モードやプロトコルをサポートしています。
- FIDO U2F / FIDO2
- OTP (One-Time Password)
- PIV(スマートカード)
- OpenPGP
これらのうち、Microsoft 365へのログインにはFIDO2(WebAuthn)が一般的に用いられます。FIDO2はパスワードレスや多要素認証を実現する技術で、多くの場合ブラウザ側のWebAuthn APIを利用します。
FirefoxはWebAuthn APIをサポートしているため、本来なら問題なくログインできるはずです。にもかかわらずエラーが生じる場合、ユーザーエージェントなど特定の条件下での動作が想定されていない、あるいはバグとして放置されている可能性が高いのです。
暫定的な回避策:ユーザーエージェント偽装
最も手軽に試せる回避策は、FirefoxのユーザーエージェントをChromeなどに偽装(spoof)してしまう方法です。これは実際に多くのユーザーが試し、問題なくログインできることを確認しています。ただし、本来は公式にサポートされる手段ではなく、あくまでも暫定的な対処となります。
ユーザーエージェント偽装の具体的手順
Firefoxでユーザーエージェントを偽装するには、いくつかの方法があります。代表的な手段は以下の2つです。
- about:configから設定を変更する
Firefoxのアドレスバーに「about:config」と入力すると、高度な設定画面が表示されます。ここでgeneral.useragent.override
などのキーを手動で設定し、Chromeのユーザーエージェント文字列に書き換えます。 - 拡張機能(Add-on)を利用する
Firefoxの拡張機能として、ユーザーエージェントを変更できるアドオンがいくつか公開されています。例えば「User-Agent Switcher」などを利用すれば、GUIで簡単にユーザーエージェントを切り替えることが可能です。
以下は、about:configでの設定例を示すテーブルです。
ステップ | 手順 | 備考 |
---|---|---|
1 | アドレスバーに「about:config」を入力し、警告画面を承諾する | 設定を誤るとFirefoxが不安定になる可能性があるため注意 |
2 | 検索ボックスで「general.useragent.override」を検索し、存在しない場合は新規作成 | 文字列形式の設定項目として作成する |
3 | 値に任意のユーザーエージェント(例:Chrome)を入力 | 例:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/XX.0.XXXX.XX Safari/537.36 |
4 | Firefoxを再起動 | 設定が反映されることを確認 |
これによって、Microsoft 365のログインページでは実質的にChromeからのアクセスとみなされ、Yubikeyでの認証が成功することが多いです。ただし、この設定を常にオンにしていると、他のサイトで表示が崩れる場合や、サイト管理者に対して混乱を招く恐れがあります。必要なときにだけ一時的に切り替えるのがおすすめです。
他ブラウザへの切り替えも有効
もちろん、最も簡単なのはChromeやMicrosoft Edge、Braveなど、Chromiumベースのブラウザを使うことです。Yubikeyを利用した多要素認証が問題なく利用できるため、普段の閲覧習慣や拡張機能に依存していない場合はこちらの方がスムーズです。ただし、「Firefoxでどうしてもやりたい」「環境的にChrome系を導入しづらい」というケースもあるため、ユーザーエージェント偽装が有用になる場合があります。
根本的な解決策:Microsoftへのバグ修正依頼
暫定策としてブラウザ偽装や他ブラウザへの切り替えは有効ですが、根本的にはMicrosoft 365のログインプロセスにおけるブラウザ判定や認証フローのバグを修正してもらう必要があります。
Office 365管理センターからサポートチケットを作成
Microsoft製品の不具合や修正要望を正式ルートで伝えるためには、「Office 365管理センター」からサポートチケットを起票する方法が最も確実です。以下のような手順で行います。
- Office 365管理センターに管理者アカウントでログイン
管理者権限を持つアカウントでないとサポートへ直接問い合わせは行えません。IT部門やシステム管理者に依頼しましょう。 - 「サポート」→「新しいサービスリクエスト」をクリック
管理センターの左メニューにある「サポート」から進みます。新しいサービスリクエストを作成する項目を選択してください。 - 状況を具体的に記載
- どのブラウザ(バージョン)でエラーが起きるか
- 具体的なエラー内容(「We couldn’t verify you or the key you used…」)
- Chromeなどでは再現しないがFirefoxのみで発生すること
- ユーザーエージェントを偽装すると回避できること
など、可能な限り詳しく書きましょう。
- 必要に応じてログやスクリーンショットを添付
不具合の再現手順を示すと、サポート担当者の理解が深まり、問題がエスカレーションしやすくなります。 - サポート担当者とのやり取り
Microsoftのサポート担当から連絡が来たら、追加情報を求められる場合があります。ログやYubikeyの種類、認証フローを行った時間帯などを提供し、問題の原因を特定できるよう協力しましょう。
DCR(設計変更リクエスト)の可能性
Microsoftが不具合を認知し、修正すべきと判断した場合、DCR(Design Change Request)が提出され、開発チームによる対応が検討されます。ただし、このプロセスは優先度や影響範囲によって判断されるため、すぐに反映されるとは限りません。場合によっては数週間~数カ月単位の時間がかかることもあります。
そのため、早期に正式なルートで問題を報告し、他のユーザーからの類似報告が集まることで、修正優先度が高まる可能性があります。
Linux環境での設定確認ポイント
FirefoxそのものにはYubikeyとの連携を阻む大きな問題はないとされていますが、Linux環境特有の設定や、Firefox特有の独自ストアが原因になる場合もゼロではありません。念のため、以下のポイントをチェックしてみましょう。
libfido2やpcscdなどのモジュール
LinuxでFIDO2やスマートカードを扱う際、libfido2やpcscd(PC/SCデーモン)が必要になることがあります。OSディストリビューションによっては、これらがデフォルトでインストールされていない、あるいはサービスが有効になっていない場合があります。Yubikeyの公式ドキュメントなどを参照し、必要なパッケージが導入されているか確認してください。
Firefoxの証明書ストアとシステム証明書ストア
Linux版Firefoxはデフォルトで独自の証明書ストアを使います。Chrome系ブラウザはシステムの証明書ストアを利用するのが一般的です。そのため、システム側で中間証明書やルート証明書をインストールしていても、Firefox側に反映されていない場合があります。以下のコマンド例のように、システム証明書をFirefoxのストアへ同期する方法も検討しましょう。
# UbuntuやDebian系の場合
sudo apt-get install libnss3-tools
# システム証明書をFirefoxのNSSストアへインポートするスクリプト例
sudo update-ca-certificates
実際の手順はディストリビューションやFirefoxのバージョンによって異なるため、公式ドキュメントやコミュニティの情報を参照するとスムーズです。
Security DevicesにYubikeyが登録されているか
Firefoxでは「設定」→「プライバシーとセキュリティ」→「セキュリティデバイス」で、ハードウェアトークンなどのセキュリティデバイスを管理できます。ここにYubikeyが正しく認識され、FIDO U2F/2FA用のモジュールが表示されているか確認してください。
もし表示されていない場合は、追加のモジュールを読み込む必要があるかもしれません。
企業環境での運用上の注意
企業や組織でYubikeyなどのハードウェアトークンを導入している場合、単にブラウザを切り替えれば済む話ではないことも多いでしょう。セキュリティポリシーや監査ログの管理などを踏まえた上で、以下の点に留意してください。
- サポート対象ブラウザの明確化
企業のポリシーで「Firefoxを推奨ブラウザとする」もしくは「Chromeを推奨ブラウザとする」などが定められている場合、それに合わせて設定やサポートを行う必要があります。Yubikey利用時のブラウザ要件もマニュアル化しておくとスムーズです。 - ITヘルプデスクへの周知
ユーザーがエラーを訴えた場合、迅速に原因特定や対処ができるよう、ITヘルプデスクなどのサポート部署にも情報を共有しておくとよいでしょう。特にFirefox利用者が多い場合は、ユーザーエージェント偽装の回避策や、他ブラウザの利用方法をわかりやすくガイドする文書があると便利です。 - Microsoft 365管理者権限の担当者との連携
サポートチケットを起票できるのは、通常はGlobal Adminなどの管理者権限を持つ担当者に限られます。エラーの再現手順やスクリーンショット、ログなどを共有し、管理者にチケット起票を依頼しやすい体制を作っておきましょう。
今後の展望とMicrosoft修正の可能性
Microsoftのサービスは頻繁にアップデートが行われており、セキュリティや認証まわりの改善が優先度高く取り組まれる傾向があります。過去には、Yubikey対応の拡張やWebAuthnの仕様更新を追従する形でMicrosoft側も実装を行い、課題が解消された事例がいくつも存在します。
そのため、今回のYubikey認証ループの問題についても、Microsoft 365がFirefoxを正しくサポートするように修正が入る可能性は高いと考えられます。ただし、問題が広く認知され、サポートへの問い合わせが増えなければ、修正の優先度が下がることもあり得ます。
公式サポートを活用しよう
「Microsoftがいつ直すか分からないから、仕方なく偽装しよう…」という諦めは禁物です。公式サポートを通じてバグとして報告することで、開発チームが問題の深刻度を把握し、修正対応の必要性を認識します。個人ユーザーであっても、組織的な利用を想定している場合は管理者に協力を仰ぎ、正規ルートで声を上げることが大切です。
まとめ:ブラウザ偽装か他ブラウザ使用が現時点の最適解
Linux環境のFirefoxでMicrosoft 365にYubikey認証しようとするとループに陥る問題は、Microsoft側の認証フローでFirefoxが正しく扱われていない可能性が高いと考えられます。回避策としては、ユーザーエージェント偽装かChrome系ブラウザへの切り替えが現状最も簡単かつ効果的です。
ただし、根本的な解決策としてはMicrosoft 365におけるバグの修正が必要になるため、Office 365管理センターからサポートチケットを起票し、公式サポートを通じてエスカレーションするのが望ましいアプローチです。企業利用の場合は特に管理者やITヘルプデスクとの連携を密にし、必要な情報を集めて早期に報告することで、より早い修正に期待できます。
以上の情報を踏まえ、現時点では「ユーザーエージェント偽装や他ブラウザの利用」で対処しつつ、Microsoftに修正要望を出すという二段構えで取り組むとよいでしょう。
コメント