Après l'avoir expérimenté en interne, Google a rapporté que sa clé de sécurité offrait une solution efficace contre les attaques d'hameçonnage et a décidé par la suite de la commercialiser. « Nous préconisons depuis longtemps l’utilisation de clés de sécurité comme moyen d’authentification le plus puissant et le plus résistant aux attaques d'hameçonnage pour les utilisateurs de grande valeur, en particulier les administrateurs de Cloud, afin de les protéger contre les conséquences potentiellement préjudiciables du vol d’informations », a déclaré en 2018 Jennifer Lin, une directrice de produit Google Cloud. Elle a ajouté que Titan offrira aux utilisateurs la tranquillité d’esprit découlant de la certitude que leurs données sont en sécurité.
« Titan fournit une sécurité très renforcée avec très peu d’interaction et d’effort de la part de l’utilisateur. Sur le backend, tout ce que vous avez à faire sur la console d’administration est de cocher une case qui dit "utiliser les clés de sécurité Titan pour cette application". C’est si simple. Et même en cas d’attaque de type man-in-the-middle ou d’attaques similaires, l’authentification échouera et la connexion sera refusée », a souligné à la même époque Rob Sadowski, Trust and Security Marketing Lead de Google Cloud.
Les avantages évoqués par Google sont :
- Une protection de compte renforcée : les clés de sécurité utilisent la cryptographie à clé publique pour vérifier l'identité d'un utilisateur ainsi que l'URL de la page de connexion, afin qu'aucun pirate ne puisse accéder à votre compte même si vous fournissez malencontreusement votre nom d'utilisateur et votre mot de passe.
- Un matériel de confiance : les clés de sécurité Titan intègrent une puce matérielle incluant un micrologiciel conçu par Google qui valide leur intégrité. Cela permet de garantir que les clés n'ont pas été altérées.
- Un matériel largement accepté : les clés de sécurité Titan fonctionnent avec les appareils et navigateurs courants ainsi qu'avec un écosystème de plus en plus vaste de services compatibles avec les normes FIDO. Une clé de sécurité permet de s'authentifier auprès de services personnels et professionnels.
Les principales fonctionnalités sont :
- Une authentification à deux facteurs antihameçonnage : les clés de sécurité Titan fournissent la preuve chiffrée que les utilisateurs interagissent avec le service légitime utilisé pour les enregistrer, et qu'ils sont en possession de la clé qui leur est associée.
- Un matériel antipiratage : une puce matérielle intégrant un micrologiciel conçu par Google permet de vérifier que les clés n'ont pas été altérées. Les puces matérielles sont développées pour résister aux attaques physiques visant à extraire les micrologiciels et le matériel des clés secrètes.
- Plusieurs formes pour garantir la compatibilité des appareils : les clés de sécurité Titan sont déclinées en trois formes : USB-A/NFC, Bluetooth/NFC/USB-A et USB-C.
La faille
Des chercheurs français en sécurité ont découvert une vulnérabilité qui affecte les puces utilisées dans les clés de sécurité matérielles Google Titan et YubiKey. Cette vulnérabilité pourrait permettre aux acteurs malveillants de récupérer la clé de chiffrement primaire utilisée par la clé de sécurité matérielle afin de générer des jetons cryptographiques pour les opérations d'authentification à deux facteurs (2FA). Une fois obtenue, les deux chercheurs en sécurité affirment que la clé de chiffrement, une clé privée ECDSA (Elliptic Curve Digital Signature Algorithm), permettrait aux acteurs malveillants de cloner les clés Titan, YubiKey et d'autres clés pour contourner les procédures d'authentification multifacteurs.
Dans un rapport, Victor Lomne et Thomas Roche, chercheurs au NinjaLab de Montpellier, ont expliquent les subtilités de l'attaque qui exploite la vulnérabilité identifiée sous le nom de CVE-2021-3011.
L'attaque ne fonctionne pas à distance contre un appareil, sur Internet ou sur un réseau local. Pour exploiter une clé de sécurité de Google Titan ou de Yubico, un attaquant doit d'abord mettre la main sur la clé de sécurité.
La faille réside dans l’implémentation d’une ou plusieurs fonctions dans la puce A700X. L’attaque est en outre loin d’être simple : il faut non seulement pouvoir garder la clé pendant au moins dix heures (dont six heures d’analyses minimum), mais le mot de passe du compte protégé est requis lui aussi. Deux conditions complexes qui nécessitent, au bas mot, une proximité physique avec la victime. En outre, il faut au moins 12 000 dollars de matériel.
Une fois que le boîtier a été ouvert et que les attaquants ont accès à la puce de la clé de sécurité, les chercheurs affirment qu'ils peuvent alors effectuer une « attaque par canal auxiliaire », un terme qui décrit une attaque où des attaquants observent un système informatique de l'extérieur, enregistrent son activité, puis utilisent leurs observations sur l'activité du dispositif pour déduire des détails sur ce qui se passe à l'intérieur.
Dans le cas d'espèces, les chercheurs ont connecté la clé à un matériel spécifique et son comportement (notamment les radiations électromagnétiques) a été analysé pendant qu’elle essayait de se connecter à un compte. Les chercheurs ont expliqué qu'en étudiant environ 6 000 opérations se déroulant sur le microcontrôleur NXP A7005a, la puce utilisée dans les clés de sécurité de Google Titan, ils ont pu reconstruire la clé de chiffrement ECDSA primaire utilisée pour signer chaque jeton cryptographique généré sur l'appareil.
La clé Titan utilisée était un ancien modèle, avec des composants depuis remplacés par des versions plus récentes. Constat valable aussi pour certains autres modèles testés et vulnérables comme l’ancienne Yubikey Neo. Dans un tweet, NinjaLab note que toutes les clés vendues aujourd’hui par Yubico utilisent des composants plus récents d’Infineon. De même, NXP fournit depuis deux nouvelles générations de puces.
Néanmoins, l'attaque fait office de piqure de rappel, à savoir : aucune sécurité n’est inviolable.
Source : rapport des chercheurs, NinjaLab
Et vous ?
Utilisez-vous des outils matériels ou logiciels pour protéger vos comptes en plus des mots de passe ?
Que pensez-vous des clés physiques d'authentification ? Disposez-vous d'une clé d'authentification ou avez-vous l'intention d'en acheter une ?