Connexion sécurisée : l'API WebAuthn presque finalisée, une première Yubikey FIDO2

Connexion sécurisée : l’API WebAuthn presque finalisée, une première Yubikey FIDO2

Mort aux mots de passe... ou pas ?

Avatar de l'auteur

David Legrand

Publié dansInternet

16/04/2018
30
Connexion sécurisée : l'API WebAuthn presque finalisée, une première Yubikey FIDO2

L'utilisation des clés de sécurité et autres dispositifs biométriques pour se connecter simplement à des sites est une réalité qui se rapproche à grands pas. Le W3C et la FIDO Alliance arrivent au bout du travail sur l'API WebAuthn qui doit fortement simplifier la pratique dans ce domaine.

Il y a quelques jours, le W3C annonçait avec la FIDO Alliance que l'API Web Authentification (Webauthn) passait au statut de Candidate Recommendation (CR). Pour rappel, ces deux organismes ont la charge de la standardisation des pratiques du web pour l'un, et de dispositifs de connexion sécurisée comme l'U2F pour l'autre. 

Ce travail prend place au sein d'une œuvre plus large, FIDO2, où l'API WebAuthn est complétée par le protocole Client to Authenticator (CTAP). Ce dernier permet de lier un navigateur ou un système d'exploitation et un composant sécurisé. Celui-ci peut être aussi bien intégré à un smartphone qu'à une clé de sécurité ou une autre solution avec un dispositif biométrique.

Surtout, contrairement à l'U2F utilisé par Chrome et certains sites, ce standard fait l'objet d'un large consensus aux possibilités multiples. Firefox a ainsi travaillé à son support dans ses dernières versions, il en est de même pour Microsoft avec Edge et Windows 10, Opera, etc. Bref, on s'approche de plus en plus d'une solution exploitable assez largement.

Connexion sécurisée : d'U2F à WebAuthn

Face aux problématiques de sécurité qui gagnent en puissance ces dernières années, et la multiplication des fuites de bases de mot de passe, tout le monde cherche à se débarrasser de ce petit morceau de texte qui protège l'accès de milliards d'internautes. Mais voilà, trouver un compromis facile d'utilisation et sécurisé n'est pas chose facile.

Avec le temps, la double authentification s'est imposée comme une bonne solution. Elle permet de combiner trois éléments afin d'assurer la connexion : un qui nous désigne publiquement (mail, pseudo), un qui est secret (mot de passe) et un dernier qui est calculé pour une durée précise par un appareil que l'on possède.

Ainsi, les applications de type Authenticator et autres envois de code par SMS se sont multipliés, se reposant le plus souvent sur le smartphone. Mais cela pose encore parfois quelques problèmes de sécurité ou d'ordre pratique : que faire si l'appareil est volé, cassé ou plus bêtement si le code est visible sur l'écran verrouillé ?

La FIDO Alliance est née en 2012 de la volonté de pousser de nouveaux standards. PayPal, Lenovo, Nok Nok Labs, Validity Sensors, Infineon et Agnitio sont ses membres fondateurs. L'idée était de permettre une connexion sans mot de passe via différents dispositifs, le chiffrement asymétrique et un élément sécurisé pour le stockage des clés.

L'UAF (Universal Authentication Framework) a rapidement été rejoint par une solution qui a rencontré un plus grand succès : l'U2F (Universal Second Factor). Poussé par Yubico, NXP et Google qui travaillaient ensemble sur un tel projet, il a trouvé sa place au sein de la FIDO Alliance.

Google a ainsi reconnu très vite cette solution dans le cadre de la connexion à plusieurs facteurs sur ses sites. D'autres ont suivi le mouvement comme Dropbox, Facebook ou GitHub. Cette solution s'est propagée d'autant plus vite que l'on trouve des clés compatibles pour une dizaine d'euros seulement, notamment les Yubikey.

FIDO2 W3C

Mais avec le temps, de nombreuses limites ont été rencontrées. Tout d'abord, Chrome est toujours le seul à exploiter l'U2F. Ensuite, on le retrouve rarement dans un environnement mobile, malgré l'existence de clés Bluetooth/NFC. 

Yubico et la FIDO Alliance se sont rapprochés de Microsoft pour travailler à une solution, connue sous le nom de FIDO2. Il s'agit cette fois d'un standard permettant à la fois la connexion sans mot de passe ou à plusieurs facteurs, gérable via les appareils mobiles, les navigateurs et logiciels de nombreux partenaires, etc. 

Pour cela, le groupement a travaillé avec le W3C pour standardiser l'usage des API Web de FIDO2, ce qui a pris forme à travers WebAuthn. Le groupe de travail compte une trentaine de membres issus d'Airbnb, Alibaba, Deutsche Telekom, Google, IBM, Intel, Microsoft, Mozilla, le NIST, Opera, Orange, PayPal, Qualcomm, Softbank, Tencent ou encore Yubico.

Bien qu'Apple fasse partie de la liste, iOS, macOS et Safari restent absents des différentes annonces, mais cela ne saurait durer. On se rappellera que l'implémentation du NFC des iPhone empêche par exemple l'utilisation d'une clé U2F. Intel a de son côté déjà fait des annonces allant dans le sens d'une intégration native il y a quelques mois. 

La FIDO Alliance précise que FIDO2 génère une paire de clés spécifique à chaque service, ces derniers ne stockant que la clé publique. Les appareils compatibles peuvent être utilisés pour une connexion directe, avec ou sans solution complémentaire comme un code PIN, une reconnaissance biométrique, etc. Ils peuvent aussi simplement faire office de solution de connexion à plusieurs facteurs.

Dans les deux cas, un premier enregistrement est nécessaire. Chaque appareil peut être révoqué à tout moment.FIDO2

Une première Yubikey FIDO2

Le groupement promet que la nouvelle version de son standard complète l'UAF et l'U2F et que « les utilisateurs qui disposent d'un appareil FIDO, comme une clé de sécurité U2F, pourront continuer à les utiliser avec les services qui supportent WebAuthn ». Une rétrocompatibilité rassurante. 

Cela n'empêche pas Yubico d'annoncer une première clé nativement compatible avec FIDO2 et l'U2F, marquée d'un « 2 ». Il s'agit du modèle de base, proposé aux alentours de 20 euros. Les précédents sont indiqués comme incompatibles pour le moment. Interrogée sur le sujet, Yubico nous a répondu que la nouvelle clé était la seule à supporter WebAuthn et CTAP.

Elle est donc utilisable dans un scénario de connexion ne nécessitant pas de mot de passe, contrairement aux modèles antérieurs. Yubico nous précise qu'il en sera de même pour les autres clés de sa gamme, mais n'avait pour le moment pas de date à nous donner pour la sortie d'une éventuelle Yubikey 5. 

La société en profite pour annoncer un nouveau programme consacré aux développeurs, avec une documentation spécifique. Une manière de fêter les dix ans de sa première clé. Ce, alors que Yubico compte désormais des millions de clients dans 160 pays et propose des solutions open source côté serveurs, en plus de permettre l'utilisation de différents standard au sein de ses produits comme OTP, Smart Card (PIV), OpenPGP ou encore OATH (HOTP/TOTP).

30
Avatar de l'auteur

Écrit par David Legrand

Tiens, en parlant de ça :

Trois consoles portables en quelques semaines

Et une nouvelle façon de concevoir le jeu se confirme

10:45 Hard 14
Une tasse estampillée "Keep calm and carry on teaching"

Cyberrésilience : les compromis (provisoires) du trilogue européen

CSIRT vs ENISA, égalité balle au centre

08:27 DroitSécu 3

#Flock a sa propre vision de l’inclusion

Retour à l’envoyeur

13:39 Flock 21

Sommaire de l'article

Introduction

Connexion sécurisée : d'U2F à WebAuthn

Une première Yubikey FIDO2

Trois consoles portables en quelques semaines

Hard 14
Une tasse estampillée "Keep calm and carry on teaching"

Cyberrésilience : les compromis (provisoires) du trilogue européen

DroitSécu 3

#LeBrief : fuite de tests ADN 23andMe, le milliard pour Android Messages, il y a 30 ans Hubble voyait clair

#Flock a sa propre vision de l’inclusion

Flock 21
Un Sébastien transformé en lapin par Flock pour imiter le Quoi de neuf Docteur des Looney Tunes

Quoi de neuf à la rédac’ #10 : nous contacter et résumé de la semaine

43
Autoportrait Sébastien

[Autoportrait] Sébastien Gavois : tribulations d’un pigiste devenu rédac’ chef

Next 18
Logo de StreetPress

Pourquoi le site du média StreetPress a été momentanément inaccessible

Droit 19
Amazon re:Invent

re:Invent 2023 : Amazon lance son assistant Q et plusieurs services IA, dont la génération d’images

IA 14
Un œil symbolisant l'Union européenne, et les dissensions et problèmes afférents

Le Conseil de l’UE tire un bilan du RGPD, les États membres réclament des « outils pratiques »

Droit 6

19 associations européennes de consommateurs portent plainte contre Meta

DroitSocials 16

#LeBrief : Ariane 6 l’été prochain, Nextcloud rachète Roundcube, désinformation via la pub

Chiffre et formules mathématiques sur un tableau

CVSS 4.0 : dur, dur, d’être un expert !

Sécu 16
Une tête de fusée siglée Starlink.

Starlink accessible à Gaza sous contrôle de l’administration israélienne

Web 35
Fibre optique

G-PON, XGS-PON et 50G-PON : jusqu’à 50 Gb/s en fibre optique

HardWeb 53
Photo d'un immeuble troué de part en part

Règlement sur la cyber-résilience : les instances européennes en passe de conclure un accord

DroitSécu 10
lexique IA parodie

AGI, GPAI, modèles de fondation… de quoi on parle ?

IA 11

#LeBrief : logiciels libres scientifiques, fermeture de compte Google, « fabriquer » des femmes pour l’inclusion

livre dématérialisé

Des chercheurs ont élaboré une technique d’extraction des données d’entrainement de ChatGPT

IAScience 3
Un chien avec des lunettes apprend sur une tablette

Devenir expert en sécurité informatique en 3 clics

Sécu 11
Logo ownCloud

ownCloud : faille béante dans les déploiements conteneurisés utilisant graphapi

Sécu 16
Le SoC Graviton4 d’Amazon AWS posé sur une table

Amazon re:invent : SoC Graviton4 (Arm), instance R8g et Trainium2 pour l’IA

Hard 12
Logo Comcybergend

Guéguerre des polices dans le cyber (OFAC et ComCyberMi)

Sécu 10

#LeBrief : faille 0-day dans Chrome, smartphones à Hong Kong, 25 ans de la Dreamcast

Mur d’OVHcloud à Roubaix, avec le logo OVHcloud

OVHcloud Summit 2023 : SecNumCloud, IA et Local Zones

HardWeb 2
algorithmes de la CAF

Transparence, discriminations : les questions soulevées par l’algorithme de la CAF

IASociété 62

Plainte contre l’alternative paiement ou publicité comportementale de Meta

DroitIA 39
Nuage (pour le cloud) avec de la foudre

Économie de la donnée et services de cloud : l’Arcep renforce ses troupes

DroitWeb 0
De vieux ciseaux posés sur une surface en bois

Plus de 60 % des demandes de suppression reçues par Google émanent de Russie

Société 7
Une vieille boussole posée sur un plan en bois

La Commission européenne et Google proposent deux bases de données de fact-checks

DroitWeb 3

#LeBrief : des fichiers Google Drive disparaissent, FreeBSD 14, caméras camouflées, OnePlus 12

Hubble mission maintenance

Il y a 30 ans, Hubble recevait sa première mission de maintenance

Science 11

Des menottes autour d'un rouleau de billets de banque

Les deux principaux responsables de l’agence de cybersécurité ukrainienne accusés de corruption

DroitÉcoSécu 7

Google Messages

Sur Android, Messages fête son milliard d’utilisateurs, de nouvelles fonctions en approche

WebSoft 11

Une femme en blouse blanche et portant des lunettes adaptées utilise un séquenceur à ADN

Tests ADN : 23andMe avoue que les infos d’un « nombre significatif » d’utilisateurs ont fuité

Sécu 6

Commentaires (30)


boogieplayer
Il y a 6 ans

Excellente nouvelle, c’est un dispositif qui devient vraiment normalisé et porté par tous. Merci pour l’info David, j’étais passé à coté de la sortie de cette RC.

A moitié HS : de la double authentification pour se connecter à son serveur en SSH
https://linode.com/docs/security/authentication/use-one-time-passwords-for-two-f…

ça peut peut être intéresser des admin-sys en mode guru <img data-src=" />


wanou Abonné
Il y a 6 ans

C’est ce que j’ai fait pour mon serveur ssh également mais j’ai gardé la clef d’authenticator en lieu sûr pour le cas où mon téléphone serai volé.


wanou Abonné
Il y a 6 ans

Je serais preneur d’une solution similaire pour la connection à un serveur MariaDB en ssh.


Kazer2.0 Abonné
Il y a 6 ans

Merci pour le lien, ayant énormément de bidule sous nunux (Raspberry, VM sur mon Freenas, toussa toussa).

Par contre, faut que je me penche sur comment “backup” la yubikey en cas de perte. Me semble que quand tu configs, tu peux exporter le bousin, mais tu le réimporte comment après ? Tu as un bouton pour ? Je préfère un token “physique” qu’un Google Auth et compagnie.


KP2
Il y a 6 ans






wanou a écrit :

Je serais preneur d’une solution similaire pour la connection à un serveur MariaDB en ssh.



Que ton serveur fasse tourner MariaDB ou autre chose, ça n’a aucune incidence si tu t’y connectes en ssh… tu peux utiliser le lien de boogieplayer



KP2
Il y a 6 ans






Kazer2.0 a écrit :

Merci pour le lien, ayant énormément de bidule sous nunux (Raspberry, VM sur mon Freenas, toussa toussa).

Par contre, faut que je me penche sur comment “backup” la yubikey en cas de perte. Me semble que quand tu configs, tu peux exporter le bousin, mais tu le réimporte comment après ? Tu as un bouton pour ?



Il me semble que le seul moyen d’avoir un « backup » est d’utiliser une 2ème clé (c’est plus un spare qu’un backup)
Ça me semble étrange qu’on puisse cloner une yubikey …



Kwacep Abonné
Il y a 6 ans

Au final, ca ferait comme une clé pour ouvrir la porte d’entrée de son logement ?
Il ne faut surtout pas se la faire voler quoi. Mais elle est plus souvent exposé (la clé de son logement reste souvent au fond de la poche toute la journée sauf pour entrer/sortir de chez soit)


wanou Abonné
Il y a 6 ans






KP2 a écrit :

Que ton serveur fasse tourner MariaDB ou autre chose, ça n’a aucune incidence si tu t’y connectes en ssh… tu peux utiliser le lien de boogieplayer


Le souci est que je n’arrive pas à sécuriser l’accès à mon serveur Mariadb alors que c’est sencé pouvoir le faire nativement avec ssl. L’idée est que je veux y accéder depuis un script en perl ou en python depuis une autre machine et via Internet.



David_L Abonné
Il y a 6 ans

Disons que le jour où on peut révoquer la serrure d’une porte d’un clic… <img data-src=" /> Après certains préféreront rester sur de la 2FA plutôt qu’une authentification forte uniquement avec la clé (mais bon quand tu es habitué à l’auth par clé privée pour SSH…). Puis ce sera toujours plus propre qu’une authentification avec un simple cookie <img data-src=" />


boogieplayer
Il y a 6 ans






Kazer2.0 a écrit :

Merci pour le lien, ayant énormément de bidule sous nunux (Raspberry, VM sur mon Freenas, toussa toussa).

Par contre, faut que je me penche sur comment “backup” la yubikey en cas de perte. Me semble que quand tu configs, tu peux exporter le bousin, mais tu le réimporte comment après ? Tu as un bouton pour ? Je préfère un token “physique” qu’un Google Auth et compagnie.



Yubikey t’explique la méthodologie en cas de perte =&gt;
https://support.yubico.com/support/solutions/articles/15000006444-losing-your-yu…

Le mieux c’est de ne pas la perdre <img data-src=" />

C’est pour ça que je préfère un token de 20 secondes, même si tu perds ton device, tu peux le faire depuis un autre sans perte. Sauf à ne pas se souvenir de son passe phrase de protection du générateur de token <img data-src=" />



boogieplayer
Il y a 6 ans






David_L a écrit :

Puis ce sera toujours plus propre qu’une authentification avec un simple cookie <img data-src=" />



T’es con j’ai failli recracher mon coca sur mon clavier mécanique en pleine compile d’un truc trouvé sur github <img data-src=" />



outadoc
Il y a 6 ans

Fun fact : le fonctionnement de ce genre de devices est similaire à celui d’une carte à puce, et c’est putain de classe. J’espère que ça va se développer vite et surtout être supporté partout. Content de voir Apple dans la liste, je serais pas étonné par une implémentation dans l’Apple Watch par exemple.


Stel
Il y a 6 ans

Je ne comprend pas comment ca marche, ca veut dire qu’a terme on pourra se loguer sur des sites avec une authentification hardware par emprunte digital ? Je trouve ca génial si c’est ca.


barthous
Il y a 6 ans

Quelqu’un pourrait donner un site pas trop confidentiel (messagerie, console web, banque…) qui exploite déjà ce genre de mécanisme avec des clés grand public ?


Nozalys Abonné
Il y a 6 ans

Il y a-t-il des gens ici qui pourraient me donner un retour d’expérience sur KeepassXC avec une clé YubiKey, et l’intégration directe avec le plugin qui va bien sous Firefox ? Aujourd’hui j’utilise Keepass 2.x et KeePassHttp-Connctor en plugin pour lier Firefox, et le comportement global me convient très bien. Seulement j’en ai parfois marre de taper 50 fois par jour mon mot de passe principal à rallonge. Du coup la Yubi m’intéresse.


David_L Abonné
Il y a 6 ans

Oui c’est l’idée


Stel
Il y a 6 ans






barthous a écrit :

Quelqu’un pourrait donner un site pas trop confidentiel (messagerie, console web, banque…) qui exploite déjà ce genre de mécanisme avec des clés grand public ?



T’as déja des banques qui permettent de se connecter avec l’emprunte mais sur smartphone uniquement.
Par exemple boursorama.
Inutile de préciser que c’est très pratique.



whoopedazz
Il y a 6 ans






Kazer2.0 a écrit :

Merci pour le lien, ayant énormément de bidule sous nunux (Raspberry, VM sur mon Freenas, toussa toussa).

Par contre, faut que je me penche sur comment “backup” la yubikey en cas de perte. Me semble que quand tu configs, tu peux exporter le bousin, mais tu le réimporte comment après ? Tu as un bouton pour ? Je préfère un token “physique” qu’un Google Auth et compagnie.


C’est selon ton utilisation, à voir sur le site constructeur. Dans le cas de gpg, avec une yubikey c’est relativement simple (il suffit de copier le répertoire temporaire utilisé par gpg pour générer les clés avant export, sur une clé usb dédié et cryptée). Il existe d’autres méthodes, comme copier la clé à la main, ce qui s’avère moins pratique.

La smartcard est presque en plug n play sur une base debian, il suffit d’installer les deux trois paquets manquants.&nbsp;



game1337 Abonné
Il y a 6 ans

Je&nbsp; ne comprends pas l’intérêt pas rapport à un token.


barthous
Il y a 6 ans

Merci <img data-src=" />


KP2
Il y a 6 ans






wanou a écrit :

Le souci est que je n’arrive pas à sécuriser l’accès à mon serveur Mariadb alors que c’est sencé pouvoir le faire nativement avec ssl. L’idée est que je veux y accéder depuis un script en perl ou en python depuis une autre machine et via Internet.



tu peux activer les connexions chiffrées + certificat avec mariadb :
https://www.cyberciti.biz/faq/how-to-setup-mariadb-ssl-and-secure-connections-fr…

sinon, tu peux monter un tunnel ssh :
https://linode.com/docs/databases/mysql/create-an-ssh-tunnel-for-mysql-remote-ac…

sinon, tu peux monter un tunnel vpn avec openvpn mais c’est plus complexe et plus chiant qu’un tunnel ssh.



wanou2 Abonné
Il y a 6 ans

Si je comprends bien, je me met sur un PC je branche la clé et automatiquement le navigateur grâce à webauth prouve au service en ligne que c’est bien moi en vérifiant mon identité dans la clé.

C’est ça ?

Si c’est ça, il faut bien faire attention de toujours avoir sa clé sur soi. Par contre, si les mesures classiques de sécurisation par mot de passe subsiste (en cas de perte de clé par exemple) le niveau de sécurité ne bouge pas pas rapport à la situation actuelle. Non ?


SLV17 Abonné
Il y a 6 ans

Que vais je faire de mes anciennes clés Yubico du coup ?… J’ai une 4 et une Neo et c’est bien dommage qu’elles n’intègrent par la norme Fido2. Ces clés ne sont pas reprogrammables ?


Kazer2.0 Abonné
Il y a 6 ans

Si, lorsque je personnalise ma Yubikey, je garde les infos (clefs privés et tout le bousin, j’ai pas sous les yeux là). En remettant exactement les mêmes params sur une autre Yubikey, ça devrait être bon logiquement ?


boogieplayer
Il y a 6 ans

Yep, c’est le principe ;)


Kazer2.0 Abonné
Il y a 6 ans

Par contre un autre truc, j’avais essayer de config ma yubikey sous SSH, mais ça ne demandais plus la yubikey une fois loggué lors d’un passage d’user à un autre. Genre je me connecte en SSH avec + password + yubikey, puis je SU sur un autre user et ça demande plus la yubikey (alors que j’avais configuré la demande de la yubikey pour les deux utilisateurs).

J’ai abandonné du coup pour l’instant, mais je trouve dommage de pas utiliser ma yubi <img data-src=" />


Kazer2.0 Abonné
Il y a 6 ans

Me semble que la Yubiley repose aussi sur de la sécurité par “l’obscurité” (tu n’es normalement pas en mesure si tu trouves une Yubikey dans la rue de savoir à quel login et service elle est associée).


boogieplayer
Il y a 6 ans






Kazer2.0 a écrit :

Par contre un autre truc, j’avais essayer de config ma yubikey sous SSH, mais ça ne demandais plus la yubikey une fois loggué lors d’un passage d’user à un autre. Genre je me connecte en SSH avec + password + yubikey, puis je SU sur un autre user et ça demande plus la yubikey (alors que j’avais configuré la demande de la yubikey pour les deux utilisateurs).

J’ai abandonné du coup pour l’instant, mais je trouve dommage de pas utiliser ma yubi <img data-src=" />



Ah ouais, j’avais pas compris. Yubikey explique comment faire ici :
https://developers.yubico.com/PGP/SSH_authentication/



wanou2 Abonné
Il y a 6 ans






Kazer2.0 a écrit :

Me semble que la Yubiley repose aussi sur de la sécurité par “l’obscurité” (tu n’es normalement pas en mesure si tu trouves une Yubikey dans la rue de savoir à quel login et service elle est associée).


Ah bah oui je suis con… c’est le mot de passe qui est transformé en dur c’est pas un système SSO <img data-src=" />



Xanatos Abonné
Il y a 6 ans

Pourquoi pas.
Mais bon si c’est toujours plus opensource voirhttps://www.yubico.com/2016/05/secure-hardware-vs-open-source/
c’est une dépendance de plus et risquer d’etre dans le cas de SLV17 ou à chaque évolution il faut réinvestir, c’est dommage.