La sécurité est un sujet qui touche tout le monde. Elle commence bien évidemment avec votre sécurité corporelle, mais elle s'étend même au-delà, allant de la vidéosurveillance à la géolocalisation de votre voiture, moto ou vélo.
Depuis quelques années les consciences s'éveillent d'ailleurs sur la cybersécurité. De plus en plus d'utilisateurs adoptent des gestionnaires de mots de passe, utilisent des applications d'authentification double facteur (2FA) ou des solutions d'authentification multifacteur (MFA).
Les entreprises de l'IT mettent en place de nouveaux moyens de suivre vos appareils, de sécuriser vos comptes et de simplifier la vie des utilisateurs en garantissant un minimum de sécurité.
Il y a beaucoup à dire sur la cybersécurité, tellement qu'on pourrait en faire blog dédié, comme celui de Malwarebytes qui a en partie servi pour l'écriture de cet article, mais aujourd'hui je veux vous poser une question :
Est-ce que la cybersécurité doit forcément être numérique ?
Une cybersécurité physique, est-ce possible ?
Forcément, quand on parle de cybersécurité et de matériel on pense très rapidement au mot de passe sur un post-it ou à des carnets de mots de passe.
Il ne s'agit évidemment pas de ça : nous partons du principe que si vous lisez cette rubrique vous savez pourquoi il ne faut absolument pas faire ça ! 😉
Utiliser des objets du quotidien pour notre cybersécurité, ce n'est pas un sujet nouveau, il suffit de regarder nos smartphones.
Aujourd'hui de plus en plus d'utilisateurs se tournent vers la lecture d'empreinte ou la reconnaissance faciale, ces solutions :
- ne nécessitent pas de mémoriser un code ou un schéma ;
- sont simples d'utilisation ;
- semblent plutôt sécurisées.
Bien qu'elle ait fortement été améliorée depuis plusieurs années, la biométrie est toujours un sujet à débat, entre faux positifs, copies biométriques et méthodes de calcul qui font varier la précision, cette solution n'est pas forcément aussi optimale qu'on pourrait le penser.
Et si je vous disais qu'il existe une autre méthode, notamment utilisée dans la Multi-factor authentification (MFA), mais qui permet aussi de faire du Passwordless et donc de vous connecter sans avoir à retenir un mot de passe… Le tout en garantissant un très haut niveau de sécurité ?!
Les clés U2F, qu'est-ce que c'est ?
U2F, c'est l'acronyme de Universal Second Factor qui est une norme d'authentification dont les spécifications techniques sont publiques.
Créé par Google et Yubico, ce standard est maintenant entretenu par le consortium FIDO Alliance, qui est aussi derrière les normes et protocoles CTAP2, WebAuthn et Passkeys. En assurant une rétrocompatibilité avec chacun de leurs protocoles.
Et vous pouvez retrouver tout cela sur une clé de sécurité, comme les clés YubiKey, NitroKey, OnlyKey ou SoloKey.
Cela permet donc d'utiliser des clés USB comme second facteur d'authentification, mais pas que !
Je vous propose donc de plonger dans l'univers merveilleux et peu connu des U2F.
Physique ou Application ?
Pourquoi choisir une solution U2F plutôt qu'une application 2FA ?
La solution d'authentification la plus utilisée aujourd'hui est la connexion avec un identifiant et un mot de passe, mais comme expliqué précédemment, cette solution est aujourd'hui de moins en moins pertinente, car elle présente beaucoup de failles, entre les mots de passe trop simples, la répétition de mot de passe entre les services, l'ingénierie sociale et j’en passe…
La solution apportée par beaucoup d'éditeurs a d'abord été de rajouter un second moyen d'authentification, les 2FA, pour two-factor authentification, représenté sous la forme d'un SMS, d'un mail, d'un marqueur biométrique ou bien d'un token dans des applications tierces. Mais là encore, cette solution est aujourd'hui contournable et contournée comme c'est le cas avec l'application Authy ou avec l'arnaque au faux Google Authenticator.
C'est là qu'intervient votre clé physique : cette clé permet de générer un token qui sert comme moyen de 2FA et qui a un chiffrage propre, autrement dit, votre clé et uniquement votre clé permet de certifier que vous être bien vous !
Le fonctionnement d'une clé U2F
Lors de la première étape, vous devez enregistrer votre clé auprès du service d'authentification, comme Github, Microsoft, Google ou Bitwarden (et pleins d'autres). Pendant ce processus, votre clé physique générera deux tokens : un privé et un public qui sera challengé par le service. Service qui, de son côté, va stocker la clé publique pour de futur challenge.
Par la suite, lors de l'authentification, le service va envoyer un challenge à partir de la clé publique qu'il a enregistré, sans la communiquer. Pour valider ce challenge notre clé physique va envoyer un token public calculé à partir du token privé correspondant au service.
L'avantage de la clé physique est que le token privé n'est jamais communiqué et qu'il est très compliqué de récupérer ce token. De plus le token public change bien entendu à chaque interaction avec la clé et en fonction du client, puisqu'il dépend du challenge.
Puisque la plupart des attaques sont faites à distance de manière non ciblée, il est peu probable que l'attaquant ait au préalable réussi à vous voler votre clé.
Cela limite les risques avec les attaques du type man in the middle ou les attaques par phishing, puisque ce sont les tokens publics qui sont utilisés et communiqués lors du challenge.
Une clé physique comme gestionnaire de mot de passe ?
Le passkey est un système reposant sur un système de clé asynchrone similaire à celui que je viens de vous décrire.
Il permet de faire abstraction du mot de passe en utilisant des tokens privés et publics pour se connecter avec un identifiant et un système prévu pour.
Puisque l'algorithme est semblable, la plupart des clés physiques du marché proposent aujourd'hui la possibilité d'enregistrer des tokens pour faire du Passwordless.
Puisqu'il n'y a plus de mot de passe, mais un token, on se retrouve avec les mêmes protections que pour le MFA, en réduisant les risques d'ingénierie sociale.
Bien qu'aujourd'hui les gestionnaires de mot de passe et applications authentification permettent aussi de gérer des passkeys, ces dernières peuvent être piratées et stockent les clés privées sur des serveurs accessibles en ligne, contrairement à votre clé physique qui est hors réseau.
En général, ils contiennent également des informations comme le site et l'identifiant, puisque l'authentification via passkey ne fait que la substitution de votre mot de passe.
Dans le cas où votre clé physique serait volée, elle est protégée par un mot de passe de chiffrement et elle n'enregistre pas les identifiants qui sont liés aux tokens.
Le voleur doit donc connaître votre mot de passe maître, ainsi que vos identifiants et les sites où vous avez enregistré votre clé. Autant dire que voler une clé physique n'a que peu d'intérêt.
Ce système de clé/token asynchrone est donc très puissant, tant que la clé privée n'est pas communicable, et c'est là qu'une clé physique est particulièrement intéressante.
Quelle est donc la meilleure solution en termes de sécurité ?
Pour conclure, j'apporterais un peu de nuance : Il n'y a pas une bonne pratique de sécurité, il y en a plein de mauvaises !
S'il est évident que le traditionnel couple identifiant + mot de passe, n'est aujourd'hui plus suffisant, que la 2FA avec des SMS ou des mails est considéré comme trop facilement piratable et que les applications dédiées à la 2FA semblent aujourd'hui montrer une certaine limite, il faut quand même relativiser.
Utiliser un gestionnaire de mot de passe est toujours utile, d'autant qu'ils apportent régulièrement de nouvelles fonctionnalités comme des scans de fuite de vos identifiants.
Une application de 2FA sera toujours bien plus intéressante qu'un SMS, un mail ou qu'aucun moyen de seconde vérification.
Les clés physiques apportent des inconvénients que n'ont pas les concurrents numériques :
- impossible d'extraire la clé privée et nécessite souvent une clé de secours ;
- risque de perte ;
- prix (compter entre 50 et 100 € en fonction des modèles) ;
- "encombrement" de devoir avoir une clé USB avec soi ;
- utilisation moins simple qu'un capteur biométrique ou qu'une extension de navigateur.
Enfin, même cette sécurité physique peut être à risque, avec de nouvelles attaques, comme l'attaque à la chaîne de distribution ou des attaques dites Evil-Maid (serveur malveillant) où une personne malintentionnée attaque physiquement le système.
Pour ma part je trouve que les clés U2F offrent un rapport sécurité/risque et des avantages bien supérieurs à une application 2FA, dont certains que je n'ai pas abordés et qui varient d'un fournisseur à un autre ; comme le stockage de fichiers, de certificats, de clés de chiffrement de disque ou de clés SSH.
Bien entendu, le mieux reste de ne pas mettre tous ses œufs dans le même panier… Ou tous ses mots de passe sur le même post-it ! 😉
Touche-à-tout, Thomas est un vrai bidouilleur ! Donnez-lui un Raspberry Pi, il vous installe un mini-serveur, une borne d’arcade, un serveur NAS ou donnez-lui-en plusieurs, il vous fera un cluster. Expert en C# et Node, amateur de Rust, son meilleur allié reste Google (désolé les antis 😉).Quand on sait qu’on a accès à pratiquement tout le savoir engrangé par l’humanité en quelques clics, ce serait bête de s’en passer… surtout pour un petit bug.
Toujours en quête de nouveaux skills, Thomas kifferait se dédoubler pour faire plus de choses : bosser sur ses projets persos, apprendre de nouvelles compétences, et aussi se détendre un peu 😉.