YubiKey, Firefox et Linux : corriger l’erreur Microsoft 365 « We couldn’t verify you or the key you used »

Sous Linux, la connexion à Microsoft 365 via YubiKey échoue dans Firefox avec « We couldn’t verify you or the key you used » et provoque une boucle d’authentification. Ce guide détaille les causes probables, les contournements fiables et un plan d’escalade support.

Sommaire

Contexte du dysfonctionnement

Des utilisateurs Linux rencontrent un blocage lors de l’authentification Microsoft 365 avec une clé de sécurité FIDO2 (YubiKey, etc.) dans Firefox. Le symptôme type est le message : “We couldn’t verify you or the key you used”, suivi d’un retour au point de départ (boucle). Le même scénario fonctionne immédiatement dans Chrome (ou Edge) et fonctionne aussi dans Firefox lorsque l’on falsifie l’agent utilisateur pour se faire passer pour Chrome. Ces indices orientent vers une régression côté Microsoft 365 plutôt qu’un problème local navigateur ou clé.

Constatations principales

ObservationDétails
Fonctionne ailleursL’authentification réussit sous Chrome (Linux) et sous Firefox uniquement lorsqu’on fait passer le navigateur pour Chrome (user‑agent spoofing).
Origine probableChangement récent de l’interface d’authentification Microsoft. Le contournement par spoofing indique un bug côté Microsoft 365, pas un défaut YubiKey ou Firefox.

Pourquoi l’agent utilisateur influe sur l’issue

Les parcours WebAuthn peuvent diverger selon le navigateur détecté. Si la page d’authentification de Microsoft sélectionne un chemin « optimisé Chrome », une régression spécifique à Firefox/Linux peut empêcher la demande FIDO2 d’aboutir (ex. gestion de la mediation, politique d’attestation, ou traitement des erreurs dispositif). En usurpant le user‑agent en Chrome, Firefox suit le chemin fonctionnel et la clé est acceptée. Ce comportement est cohérent avec un problème de logique côté service plutôt qu’un défaut matériel ou de pilote.

Solutions et contournements rapides

Falsifier l’agent utilisateur dans Firefox

But : forcer la page d’authentification Microsoft 365 à emprunter le parcours « Chrome » qui accepte la clé FIDO2.

  1. Installez une extension de type User‑Agent Switcher dans Firefox.
  2. Configurez un UA Chrome pour les domaines Microsoft uniquement (ex. login.microsoftonline.com, microsoft.com, entra.microsoft.com si pertinent).
  3. Utilisez un UA Chrome récent. Exemple : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
  4. Revenez à l’UA normal après l’authentification, ou laissez la règle par domaine uniquement.

Conseil : si vous activez privacy.resistFingerprinting, sachez que Firefox peut normaliser l’UA. Laissez ce paramètre à sa valeur par défaut si vous appliquez un spoof ponctuel par domaine.

Utiliser temporairement un navigateur compatible

Chrome ou Edge sous Linux acceptent la YubiKey sans manipulation. Pour les environnements gérés, documentez clairement cette alternative le temps de la correction côté Microsoft.

Escalader le bug vers Microsoft

Ouvrez un ticket depuis le Centre d’administration Microsoft 365SupportNew Service Request. Demandez explicitement l’ouverture d’un Design Change Request (DCR) ou la prise en charge par l’équipe produit. Fournissez des éléments probants (voir le plan d’escalade plus bas).

Procédure détaillée pour fiabiliser Firefox sous Linux

Vérifier et activer WebAuthn/FIDO2

  1. Dans la barre d’adresse, ouvrez about:config.
  2. Vérifiez que security.webauth.webauthn est à true.
  3. Laissez les autres préférences WebAuthn à leurs valeurs par défaut (sauf cas de test spécifiques).

Mettre à jour les composants locaux

Assurez-vous que les versions ne sont pas obsolètes pour éviter tout conflit local. Même si l’origine est côté service, une base à jour facilite le diagnostic.

ComposantCommande / ActionObjectif
FirefoxMettre à jour via le gestionnaire de paquets ou le canal officiel (deb/rpm/flatpak/snap).Garantir le support WebAuthn le plus récent.
libfido2Mettre à jour le paquet libfido2 (libfido2-1 sous Debian/Ubuntu).Améliorer la compatibilité FIDO2/CTAP2.
YubiKey ManagerMettre à jour ykman et l’application GUI si utilisée.Vérifier la configuration de la clé, les applets activés.

Exemples de commandes (à adapter selon la distribution) :

# Debian/Ubuntu
sudo apt update
sudo apt install --only-upgrade firefox libfido2-1 yubikey-manager

# Fedora

sudo dnf upgrade --refresh firefox libfido2 yubikey-manager

# Arch/Manjaro

sudo pacman -Syu firefox libfido2 yubikey-manager 

Remarque : la version firmware d’une YubiKey n’est généralement pas mise à jour (non flashable). Le point critique est la pile logicielle côté OS et navigateur.

Contrôler matériel et services système

  1. Vérifier la détection : ykman list lsusb | grep -i yubico
  2. Vérifier le service PC/SC si vous utilisez des applets smartcard : systemctl status pcscd
  3. S’assurer que les udev rules pour U2F/FIDO sont présentes (souvent via le paquet libu2f-udev sur Debian/Ubuntu).

Nettoyer les traces locales avant un nouvel essai

  1. Dans Firefox, effacez les cookies et données de site pour login.microsoftonline.com, microsoft.com et live.com.
  2. Ouvrez une fenêtre privée et réessayez.

Paramétrer un UA Chrome uniquement pour Microsoft 365

Privilégiez une règle ciblée par domaine dans l’extension pour limiter l’impact sur d’autres sites.

  1. Dans l’extension, créez une règle de substitution pour https://login.microsoftonline.com/* et sous‑domaines pertinents.
  2. Collez un UA Chrome Linux actuel : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
  3. Conservez la règle tant que la régression persiste. Pensez à la désactiver lorsque Microsoft publiera un correctif.

Plan d’escalade côté entreprise

Collecter des éléments probants

Un ticket efficace est un ticket documenté. Rassemblez les pièces suivantes :

  • Journal de reproduction : date/heure (avec fuseau), compte impacté, parcours exact (URL, boutons cliqués).
  • Captures d’écran du message d’erreur et de la boucle.
  • Traces réseau (HAR) prises dans les Outils de développement de Firefox, après anonymisation (masquez tokens d’accès, cookies, identifiants).
  • Identifiants de corrélation visibles dans les en‑têtes/réponses (ex. x-ms-request-id, client-request-id) si disponibles.
  • Matrice de compatibilité montrant qu’à configuration identique, Chrome/Edge réussit et Firefox échoue, et que Firefox réussit en UA Chrome.

Ouvrir le ticket et demander un DCR

Dans le Centre d’administration Microsoft 365, créez une Service Request. Fournissez le contexte, les preuves et demandez l’escalade produit. Mentionnez explicitement :

  • Le message d’erreur “We couldn’t verify you or the key you used” et la boucle d’authentification.
  • Le caractère spécifique à Firefox/Linux et la réussite sous Chrome/Edge.
  • La réussite en UA spoofing Chrome, qui suggère une logique conditionnelle côté service.
  • La criticité métier (nombre d’utilisateurs impactés, périmètre, SLA interne).

Communiquer un plan de continuité

Annoncez aux utilisateurs les alternatives validées : utiliser Chrome/Edge ou un autre facteur d’authentification, en précisant que la correction est en cours côté Microsoft. Fournissez une fiche rapide d’aide et un canal d’assistance.

Recommandations complémentaires

ActionObjectif
Mettre à jour Firefox, libfido2 et la YubiKey ManagerS’assurer qu’aucune incompatibilité locale n’aggrave le problème.
Vérifier les paramètres WebAuthn (about:config : security.webauth.webauthn doit être à true)Garantir que WebAuthn/FIDO2 n’est pas désactivé.
Surveiller les notes de version Microsoft 365Microsoft corrige souvent ce type de régression côté serveur.
Prévoir une méthode d’authentification alternativeÉviter le blocage complet en cas d’échec de la clé FIDO2.

Mesures de continuité et de sécurité

  • Authentication Strengths / CA : autorisez temporairement un second facteur robuste (par ex. Microsoft Authenticator, TOTP OATH) en plus des FIDO2 security keys, via les stratégies de Conditional Access dans Entra ID.
  • Temporary Access Pass (TAP) : conservez une procédure d’urgence pour débloquer un compte sans abaisser la sécurité.
  • Gestion du risque : limitez le spoofing UA aux seuls domaines Microsoft et désactivez‑le une fois la correction publiée.

Matrice de compatibilité observée

Plateforme / NavigateurStatutRemarques
Linux / FirefoxÉchecMessage « We couldn’t verify… » puis boucle.
Linux / Firefox avec UA ChromeRéussiteLe parcours d’authentification accepte la clé.
Linux / ChromeRéussiteFonctionne sans manipulation.
Linux / EdgeRéussiteFonctionne sans manipulation.

Check‑list d’investigation

  • Vérifier security.webauth.webauthn=true dans Firefox.
  • Mettre à jour Firefox, libfido2, YubiKey Manager.
  • Confirmer que la clé est visible (ykman list) et que les udev rules U2F/FIDO sont présentes.
  • Effacer cookies/données des domaines Microsoft concernés.
  • Tester : Firefox natif (échec), Firefox avec UA Chrome (réussite), Chrome/Edge (réussite).
  • Si l’environnement est Snap/Flatpak, vérifier l’accès USB et les permissions du conteneur.
  • Collecter HAR et identifiants de corrélation pour le support Microsoft.

FAQ rapide

Est‑ce un problème YubiKey ?
Peu probable. La même clé réussit dans Chrome et dans Firefox en UA Chrome. Cela pointe vers une logique côté Microsoft.

Est‑ce un bug Firefox ?
Les indices pointent vers un parcours d’authentification côté service qui diffère selon l’UA. Tant que Firefox fonctionne en UA Chrome, la pile WebAuthn du navigateur n’est pas la cause première.

Le spoofing d’UA dégrade‑t‑il la sécurité ?
Le spoofing UA n’affaiblit pas la cryptographie FIDO2. Il modifie uniquement l’enveloppe de détection navigateur. Limitez la règle aux domaines Microsoft et désactivez-la dès le correctif disponible.

Dois‑je changer de clé ?
Inutile. Le phénomène n’est pas spécifique à un modèle de clé. Conservez une méthode secondaire d’authentification le temps de la correction.

Passkeys et clés de sécurité, est‑ce différent ?
Oui. Les passkeys peuvent s’appuyer sur des platform authenticators (ex. OS/TPM) ou des roaming authenticators (clés matérielles). Ici, le problème concerne les clés FIDO2 utilisées depuis Firefox/Linux.

Bonnes pratiques d’exploitation

  • Documentation interne : publiez une fiche « incident connu » incluant le contournement UA et l’alternative navigateur.
  • Déploiement contrôlé : pour les postes managés, poussez la configuration de l’extension UA Switcher avec une règle par domaine.
  • Surveillance : guettez les notes de version Microsoft 365 et testez le parcours dès annonce de correctif.
  • Reversibilité : planifiez la suppression du contournement dès résolution.

Exemple de message utilisateur prêt à diffuser

Objet : Clés de sécurité FIDO2 / Firefox Linux – incident connu
Symptôme : Erreur « We couldn’t verify you or the key you used » et boucle.
Contournements : 1) Firefox avec UA Chrome sur les domaines Microsoft ; 2) Utiliser Chrome/Edge.
Statut : Incident escaladé à Microsoft, correctif attendu côté service.
Support : Contactez le service IT pour assistance.

Script d’aide rapide pour équipes support

  1. Confirmer la repro : Firefox/Linux + YubiKey → erreur, Chrome → OK, Firefox UA Chrome → OK.
  2. Appliquer le UA spoof par domaine et valider la connexion.
  3. Collecter HAR, heure exacte, compte, et request IDs pour le ticket Microsoft.
  4. Documenter le poste (versions Firefox/libfido2, distribution, type d’emballage : deb/rpm/snap/flatpak).
  5. Proposer une méthode MFA alternative approuvée en attendant la correction.

Résumé et points clés

  • Le problème est reproductible et circonscrit à Firefox/Linux.
  • Le spoofing d’UA prouve un défaut côté Microsoft 365 plutôt qu’un bug Firefox.
  • Ouvrir un ticket support et demander un DCR est le seul moyen officiel de faire corriger la régression.
  • Solutions de secours : utiliser Chrome/Edge ou un autre facteur d’authentification jusqu’à la correction.

Annexe : modèles de UA Chrome utiles

Choisissez un UA cohérent avec votre version de Chrome :

# Chrome stable (exemple générique Linux)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/125.0.0.0 Safari/537.36

# Chrome ESR-like (si politique entreprise)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/120.0.0.0 Safari/537.36 

Astuce : évitez les UA mobiles, car l’interface d’authentification Microsoft peut basculer en mode simplifié et changer la façon d’invoquer WebAuthn.

Annexe : gabarit de ticket pour Microsoft

Titre : WebAuthn/FIDO2 échoue dans Firefox/Linux avec YubiKey – fonctionne en Chrome
Impact : [nombre d'utilisateurs], [équipes/BU], [périmètre géographique]
Symptômes : Message « We couldn't verify you or the key you used », boucle d’authentification
Repro :
  1) Ouvrir https://login.microsoftonline.com/...
  2) Choisir "Security Key"
  3) Toucher la clé -> erreur + boucle
Comparatif :
  - Chrome Linux : OK
  - Edge Linux : OK
  - Firefox Linux : KO
  - Firefox Linux (UA Chrome) : OK
Contexte :
  - OS : [distribution, version]
  - Firefox : [version]
  - libfido2 : [version]
  - YubiKey : [modèle, firmware]
  - Paquetage navigateur : [deb/rpm/snap/flatpak]
Pièces jointes :
  - HAR (anonymisé)
  - Captures d’écran
  - Timeframe (UTC + fuseau local)
Attente :
  - Analyse produit et plan de correction
  - DCR si nécessaire

En appliquant ces recommandations, vous restaurez l’accès immédiat à Microsoft 365 via une clé FIDO2 tout en préparant une correction durable côté service, avec un dossier support solide et reproductible.

Sommaire