Journal Clés de sécurité, pas assez utilisées

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
53
16
sept.
2022

Sommaire

Cher Journal,

J'ai cherché un peu sur LinuxFR, et j'ai l'impression qu'on en parle presque pas ici… Les clés de sécurité, HSM, U2F, FIDO2 YubiKey, WebAuthn,…

Tout ça c'est des nom différents pour designer à peu près ça:
Photos avec plusieurs clés de sécurité

En gros, ça ressemble à une clé USB et ça permet l'authentification forte.

Le cas typique pour le particulier ou la grande entreprise c'est la connexion à un site web. Le standard c'est WebAuthn, supporté nativement par Firefox sur Linux, mais aussi la majorité des autres navigateurs basés sur moteur de rendu Blink. (Chromium, Brave, et j'en passe des logiciel fermés) Ça marche même sur Smartphone avec des clés qui ont des embouts USB-C ou en utilisant les ondes avec NFC.

Si t'es auteur de site web, il y a un site en anglois qui explique comment mettre ça en place.

Beaucoup de sites important fonctionnent avec ce type authentification forte. Google et Twitter sont surement les plus gros. Mais aussi beaucoup de plateformes de développement comment Github et Codeberg. N'oublions pas plusieurs fournisseurs de services dans le nuage ou de noms de domaines comme les gros AWS et Azure, ou encore chez nous OVH, Gandi, et j'en passe. (Malheureusement rien chez Scaleway et Hetzner…)

Comment ça marche?

La première fois que tu te connectes à un site (par exemple: example.net), le site te demande d'enregistrer ta clé. Il te demande de toucher ta clé pour l'activer. Une fois touchée, la clé s'allume pour confirmer le contact. Et le site te confirme l'enregistrement de ta clé.

Après ça, la prochaine fois que tu veux te connecter à example.net, après le formulaire où tu as entré ton mot de passe, example.net te demande de toucher ta clé pour confirmer la connexion.

Qu'est-ce que se passe derrière?

Au moment de l'inscription, quand example.net te demande d'enregistrer ta clé, example.net envoie à ta clé de sécurité:

example.net
chaine_aléatoire

À ce moment là, ta clé attend d'être touchée pour confirmer la requête. Une fois confirmée par ton doigt, la clé de sécurité créé une paire de clés de chiffrement publique/privée et un identifiant pour example.net. Après ça, ta clé de sécurité répond à example.net:

clé_de_chiffrement_publique
identifiant
SIGNATURE(chaine_aléatoire, clé_de_chiffrement_privée)

Après, quand tu veux te connecter. Une fois ton mot de passe entré, example.net envoie à ta clé:

identifiant
autre_chaine_aléatoire

Ta clé répond au site, après que tu aies confirmé avec ton doigt:

SIGNATURE(autre_chaine_aléatoire, clé_de_chiffrement_privé)

Le site n'a plus qu'à vérifier la signature avec la clé de chiffrement publique qu'il a reçu au moment de l'enregistrement.

Cela veux dire que pour se connecter à example.net, un pirate a besoin d'un accès physique à ta clé de sécurité. Car les clés de chiffrement ne sont conservées que sur ta clé de sécurité et ne peuvent pas être transférées sur ton ordinateur.

Les clés de sécurité assurent donc une sécurité de "qualité militaire" (« military-grade encryption » comme disent les américains qui ont la classe)

Aussi, les clés de chiffrement sont spécifiques à un site et domaine, donc on ne peux pas te suivre si tu utilises la même clé de sécurité pour plusieurs sites ou domaines. Si Twitter et ton site porno préféré échangent leur informations, ils ne peuvent pas savoir que c'est la même clé de sécurité utilisée entre tes deux comptes sur ces deux sites respectifs.

Autres utilisations

Le truc, c'est que les clés de sécurité ajoutent un couche de sécurité non-négligeable au web. Mais pas que!!

Aujourd'hui tu peux utiliser ta clé de sécurité pour sécuriser ton serveur SSH. Avec OpenSSH 8.2+ et une YubiKey (qui gère l’entièreté du protocole FIDO2. C'est le protocole USB qu'utilise le navigateur pour communiquer avec la clé USB), t'as juste à faire un simple:

ssh-keygen -t ed25519-sk -f ~/.ssh/cle_ssh_qui_utilise_la_cle_de_security

Et t'as plus qu'a forcer ton serveur SSH à n'autoriser que l'authentification par clé SSH, et à utiliser cette clé SSH dans ton authorized_keys sur ton serveur. Et ton client SSH te demandera de toucher ta clé de sécurité pour déchiffrer ta clé SSH à la prochaine connexion.

Tu peux aussi utiliser un clé de sécurité pour chiffrer et déchiffrer ton disque dur.

Tu peux utiliser fido2-tools sur Fedora pour générer et conserver des clés de chiffrement sur ta clé de sécurité, comme ils font dans les banques avec une carte PCIe à plusieurs dizaines de milliers d'euros.

L'appareil en lui même

À la fin, tu dois te demander: « Mais combien ça coûte tout ça? Et c'est proprio? »

Hé, bein… Pas super cher, et pas forcément.

Pas super cher, c'est relatif, mais ça coûte beaucoup moins qu'un plein d'essence ces jours ci. Faut compter dans les 30€ pour les moins cher mais fiables, à 75€ pour celle qui ont des fonctionnalités supplémentaires.

Je ne met pas de lien, sinon je vais me retrouver avec une amende pour placement de produits non déclaré. Mais tu peux trouver tout ça avec ton moteur de recherche préféré.

Dans les proprios, la meilleures de loin c'est la YubiKey. Google aussi vend sa propre clé pour ses clients Google Cloud, la "Titan Key" qui marche parfaitement avec les téléphones qui font tourner Android.

Dans le matériel libre, il y a la SoloKey qui est la moins chère. Et elle est dispo en version "miniature" (ils appellent ça la "SOMU"). Cette version est tellement petite qu'elle fait la taille d'un port USB. Donc on peut la glisser dans un port USB inutilisé, et la laisser sans qu'elle ne ressorte. Quand il y a besoin de l'activer il y a juste à toucher le port USB, elle est là à ta disposition.

Dans le libre il y a aussi la NitroKey, fabriquée en Europe, ils vendent beaucoup de versions. Certaines sont compatible avec GnuPG pour remplacer les cartes à puces. Fait attention à bien prendre celle qui a le support "U2F" ou "FIDO2". Par contre, j'en ai une de Nitrokey et je n'arrive pas à la faire marcher avec SSH, juste pour info. (Sur github, les dev disent que c'est pas une priorité. Mais il y a un fork du logiciel interne avec le support SSH. Malheureusement, cela ne peut pas être mis à jour sur les clés de sécurité de production, vu qu'elle ont un dispositif anti-crochetage pour une raison valide.)

C'est tout pour cette semaine. N'hésite pas si t'as des questions. À la prochaine.

  • # Pour compléter

    Posté par  . Évalué à 10.

    Étant un gros utilisateur de ces bidules, je les trouves surtout utile pour GPG et webauthn (U2F).

    Le standard c'est WebAuthn, supporté nativement par Firefox sur Linux.

    Il est à noté que firefox supporte U2F mais pas FIDO2 sous Linux, c'est en cours, mais ce n'est pas pour tout de suite (https://bugzilla.mozilla.org/show_bug.cgi?id=1530373).

    Par contre, j'en ai une de Nitrokey et je n'arrive pas à la faire marcher avec SSH, juste pour info.

    Si ta clé supporte GnuPG, ca devrait être possible d'utiliser le certificat de la clé par gpg-agent pour s'authentifier avec SSH. Dommage pour le support de ed25519-sk…

    La partie GPG peut être difficile à appréhender quand on débute avec des smartcard, j'ai extensivement utilisé ce tuto qui ma bien aidé, ainsi je vous le partage : https://github.com/drduh/YubiKey-Guide (C'est écrit pour les yubikey, mais ca devrait pouvoir être applicable aux autres clés)

  • # Tête En L'air

    Posté par  . Évalué à 10.

    J'aime beaucoup l'idée mais j'oublie déjà mon sac à dos (avec mon pc de boulot dedans) régulièrement en partant le matin…

    • [^] # Re: Tête En L'air

      Posté par  . Évalué à 10.

      Idem, c'est la sensation de légèreté sur le vélo qui (des fois) me rappelle l'existence de ce sac.

      J'ai quand même de gros doute sur la sécurisation supplémentaire qu'apporterait le physique, pas sur le plan technologique mais sur la partie "social engineering", le verrouillage de session lorsqu'on s'éloigne du pc est loin d'être systématique alors si on y ajoute une clé token qui reste branchée en permanence par facilité…

      • [^] # Re: Tête En L'air

        Posté par  . Évalué à 1.

        La mienne est simplement toujours accrochée à ma ceinture avec une petite ficelle de 30cm, et j'ai une rallonge USB sur mon PC fixe qui arrive à côté de ma chaise de bureau. Pour les laptop, c'est juste assez long quand je le pose sur mes genoux. Comme ça, je l'oublie pas le matin, et si je m'éloigne du PC, bah elle se débranche tout seule sans même que j'y pense.

  • # Nitrokey

    Posté par  . Évalué à 2.

    J'ai une YubiKey 5, et depuis peu, j'ai découvert Nitrokey qui propose beaucoup de produits intéressants à des prix vraiment attractifs : notamment la Nitrokey start à 30 € et même un HSM à 100 €

    • [^] # Re: Nitrokey

      Posté par  (site web personnel) . Évalué à 6.

      J’ai une nitrokey start, et j’en suis très content ( le journal devrait citer la dépeche de gouttegd à ce sujet, car on est en plein dedans). Par contre, son périmètre est réduit car il s’agit exclusivement d’une clef gpg, et ne gère pas les aspects U2F ou FIDO2.

      Je pense que la solution des jetons de sécurité est une bonne solution (si l’on compare avec ce qui est en train de se mettre en place : Passkeys : Venez centraliser vos mots de passe !) : un jeton qui prend en charge NFC et GPG, pouvant etre utilisé sur le pc ou le smartphone, la possibilité de déposer sa clef publique sur franceconnect ou sur le site de sa banque et c’en est fini des problème de compte piratés (du moins pour le 0,001% de la population qui savait déjà comment se protéger…)

    • [^] # Re: Nitrokey

      Posté par  . Évalué à 7.

      J'ai une Nitrokey 3, pleine de promesses.

      Mais attention, ce ne sont pour le moment que des promesses : seul FIDO2 est implémenté (c'est déjà pas mal). À terme, la gestion de clefs et d'autres trucs sympas sont prévus.

      C'est le seul produit qu'ils ont lancé "pas fini". Les mises à jour du firmware ajouteront les fonctionnalités manquantes.

      À propos du firmware : il est libre, écrit en Rust. L'équipe a du retard car la pénurie de composants les a obligés à passer sur un autre matériel que celui prévu lors de la conception.

      Bref, une clef bien sympa… potentiellement :)

    • [^] # Re: Nitrokey

      Posté par  (site web personnel) . Évalué à 8.

      J'aurais tendance à me méfier un peu des nitrokeys (et des solokeys), même si je pense que dans la plupart des cas, ce n'est pas un facteur si important.

      Une des controverses autour de Yubico est le fait de ne plus publier le code du firmware il y a quelque années. C'est au moment ou la boite a pris une puce d'infineon au lieu de 2 puces de NXP. Et je suppose que la puce d'Infineon vient avec un NDA, d'ou le changement.

      Manque de pot, c'est aussi venu avec une faille, mais c'est la vie, y a des bugs dans les logiciels.

      Yubico avait publié un article pour expliquer qu'un contrôleur ARM classique n'était pas adapté, et j'ai tendance à être d'accord avec ce point.

      Hors, la nitrokey, c'est un simple STM32F103 si j'en croit les schémas sur Github.

      Donc du coup, le choix est entre du code qu'on peut auditer soi même sur du matériel avec des soucis potentiels, et du matériel moins problématique avec du code qu'on a pas pu auditer. Il y a un compromis à faire.

      Dans la mesure ou j'irais pas auditer le code de Nitrokey moi même (parce que j'ai ni le temps, ni les compétences en crypto), la différence est de savoir si je fait confiance aux gens qui ont fait un audit potentiel.

      J'ai tendance à paradoxalement faire confiance à une boite qui a déjà eu un souci de sécu publié, car elle va prendre plus au sérieux les choses qu'une autre ou je ne peut pas savoir si il n'y a rien car tout est parfait, ou parce que personne n'a rien tenté.

      Donc à confiance égale, j'aurais tendance à prendre le matériel prévu pour la sécurité.

      Ensuite, je pense aussi que les peurs sur une attaque en pratique visant à sortir les clés sont non fondés pour la plupart des usages. Dans la classification de James Mikens, je pense que je suis clairement dans Not-Mossad comme beaucoup de gens dans ce journal.

      Et bon, 10 à 20€ de moins par ci par la, ça peut aider. Et nitrokeys fait du libre, collabore avec solokeys, publie des modifs sur odoo, etc, donc c'est une bonne chose de les soutenir.

      • [^] # Re: Nitrokey

        Posté par  (Mastodon) . Évalué à 1.

        Sans compter que Yubikey sont des américains. Ça ne milite pas en faveur de la confiance…

  • # J'en ai une, je m'en sers... mais pas assez

    Posté par  (Mastodon) . Évalué à 10. Dernière modification le 17 septembre 2022 à 09:03.

    Vraiment j'en ai acheté une un peu sur un coup de tête, et j'ai mis en 2FA 2 ou 3 comptes "stratégiques", mon Gmail en premier.

    Mais j'hésite encore à généraliser son utilisation, parce que un truc me fait peur : la perte. Aujourd'hui si je la perds, je sais que GMail par exemple me propose une autre solution (SMS…) donc je ne serai pas bloqué, mais il me semble que la puissance du truc c'est tout de même d'en faire son seul et unique 2FA.

    Après, j'ai une Yubikey 5 NFC, c'est vraiment de la bonne qualité. Toujours dans ma poche avec les clés de la maison, j'ai déjà eu l'occasion de l'utiliser sous Windows (USB), Linux (USB) et Android (NFC) c'est le pied. C'est vraiment un truc qui "juste marche".

    Je me tâte encore à en offrir une à chaque membre de la famille à Noël prochain, le truc étant encore et toujours le risque de perte.

    Donc on peut la glisser dans un port USB inutilisé, et la laisser sans qu'elle ne ressorte.

    Je ne suis pas certain que ce soit une bonne idée de le laisser à demeure sur son ordi. Je préfère l'avoir tout le temps sur moi, notamment parce que ça peut me servir si je suis chez quelqu'un par exemple.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: J'en ai une, je m'en sers... mais pas assez

      Posté par  . Évalué à 7.

      La laisser à demeure sur le PC, ou l'emporter avec soit, dans les deux cas il y a un risque : dans le premier risque que quelqu'un puisse s'authentifier sur le PC quand on n'est pas là, dans le second cas la clé peut être perdue, volée, oubliée, dégradée (je n'ose pas imaginer la durée de vie de la piste qui frotte continuellement sur des clés en métal à côté, la mienne est toute rayée).

      De ceci ressort que la seule utilisation possible d'une telle clé, c'est une "facilité" pour s'authentifier, et que cela doit impérativement être doublé d'une authentification par 2FA (via freeotp+ par exemple), qui peut prendre le relais en cas d'indisponibilité de la clé.

      On peut également doubler la clé par une seconde, mais si on se fait voler les 2 clés et que tout repose dessus, on aura tout perdu… et pas sûr que toutes les utilisations possibles permettent d'entrer 2 clés. Par exemple les services web probablement, mais keepass je crois qu'il n'y a qu'une seule clé, et pas de 2FA (donc je n'ai certainement pas activé la clé sur keepass).

      Au final, j'ai souvent ma clé qui traîne dans mon sac, et c'est plus rapide de récupérer mon smartphone pour déverrouiller un service, que d'aller fouiller dans mon sac pour insérer la clé…

      « Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher

      • [^] # Re: J'en ai une, je m'en sers... mais pas assez

        Posté par  (Mastodon) . Évalué à 5.

        La laisser à demeure sur le PC, ou l'emporter avec soit, dans les deux cas il y a un risque

        Si tu les perds ensemble, il y a un risque supplémentaire : associer la clé aux comptes en question. Alors que si on trouve ma clé par terre, bon courage pour en faire quoi que ce soit.

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

        • [^] # Re: J'en ai une, je m'en sers... mais pas assez

          Posté par  . Évalué à 1.

          on ne peut pas déclarer 3 clé sur un même compte ou plus ? une dans la poche, une a la maison bien rangée et une chez ses parents. ça me rassurerait, j’arrive à perdre des outils dans un petit appart :)

          ce me ferait sauter le pas de suite, et pour tout mes comptes compatible

          • [^] # Re: J'en ai une, je m'en sers... mais pas assez

            Posté par  (Mastodon) . Évalué à 5.

            on ne peut pas déclarer 3 clé sur un même compte ou plus ?

            Et bien ça dépend du compte, c'est l'implémentation du site en question qui t'autorisera ou pas de mettre plusieurs clés. Je viens de regarder sur Google et Facebook (oui… je sais…) je peux en ajouter au moins une autre.

            ce me ferait sauter le pas de suite

            C'est autour de 50€ la clé tout de même, mais si tu pars déjà avec deux clés, c'est déjà pas mal niveau "plan de recouvrement".

            En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

          • [^] # Re: J'en ai une, je m'en sers... mais pas assez

            Posté par  . Évalué à 6.

            Perso j'ai 2 clés, une qui reste à la maison avec les autre trucs importants (type double de clés, papiers que je conserve pas sur moi…) et une sur moi. J'ai jamais eu de sites m'empêchant de déclarer deux clés, c'est pas mon plus gros problème. Là où c'est gênant c'est surtout a l'inscription vu que j'ai qu'une clé sur moi faut bien penser à enregistrer la 2eme ensuite quand on peut et ça s'oublie très vite.

            • [^] # Re: J'en ai une, je m'en sers... mais pas assez

              Posté par  (site web personnel) . Évalué à 6.

              J'ai jamais eu de sites m'empêchant de déclarer deux clés,

              "Amazon EC2 has entered the chat"

              Mais c'est bien le seul service ou j'ai ce probléme (et c'est mineur par rapport à ceux ou j'ai que le support d'une appli et pas des clés ). Ensuite, j'ai aussi un nombre réduit de comptes importants et je m'assure aussi d'avoir les codes de secours à portée de main.

              Je pense qu'un truc qui aide, c'est de faire régulièrement le tour des comptes qu'on a dans son gestionnaire de mot de passe et soit de fermer les comptes, soit de vérifier qu'on a le 2FA correctement.

    • [^] # Re: J'en ai une, je m'en sers... mais pas assez

      Posté par  . Évalué à 1.

      il me semble que la puissance du truc c'est tout de même d'en faire son seul et unique 2FA.

      Ça dépend de l'implémentation du service.

      De mémoire, sur GitLab, tu ne peux pas enregistrer une clé physique tant que tu n'as pas une autre méthode de 2FA déjà activée.

  • # Clés Open Source

    Posté par  . Évalué à 5.

    Il y a aussi https://solokeys.com.

    • [^] # Re: Clés Open Source

      Posté par  (site web personnel) . Évalué à 3.

      Je pense que tu as loupé ce paragraphe:

      Dans le matériel libre, il y a la SoloKey qui est la moins chère. Et elle est dispo en version "miniature" (ils appellent ça la "SOMU"). Cette version est tellement petite qu'elle fait la taille d'un port USB. Donc on peut la glisser dans un port USB inutilisé, et la laisser sans qu'elle ne ressorte. Quand il y a besoin de l'activer il y a juste à toucher le port USB, elle est là à ta disposition.

      Je suis d'accord avec toi, les Solokeys sont les plus sexy (ÀMHA)

  • # Pérénité ?

    Posté par  . Évalué à 7.

    Car les clés de chiffrement ne sont conservées que sur ta clé de sécurité et ne peuvent pas être transférées sur ton ordinateur.

    Que se passe-t-il si on veut changer de clef (si elle montre des signes de fatigue, ou que l'interface usb change vers un nouveau format…) ?

    • [^] # Re: Pérénité ?

      Posté par  . Évalué à 10.

      Ou si on la perd au pire moment ? (c'est toujours au pire moment que ces trucs arrivent, loi de l'emmerdement maximum oblige)

    • [^] # Re: Pérénité ?

      Posté par  (site web personnel) . Évalué à 6.

      Si tu chiffres ton disque dur avec, aucune idée. Mais pour les authentification 2FA classiques, l'idée c'est de toujours avoir plusieurs solutions pour s'identifier. Le premier conseil simple : ne jamais acheter une clé d'authentification toute seule, mais en acheter deux (une au porte clef, une qui reste à la maison bien au chaud). Et dans la plupart des cas, les services qui utilisent 2FA proposent d'autres moyens que la clé, par exemple ça peut être la clé ou le smartphone avec une application spécifique ou une appli TOTP générique. Et à peu près partout où j'ai activé une 2FA, le site web m'a donné une dizaine de tokens à usage unique à stocker en sécurité (par exemple à imprimer et ranger dans un endroit physiquement sécurisé). Mais contrairement à un mot de passe, c'est à usage unique, donc si on doit les utiliser, ça ne peut être que pour un dépannage ponctuel ou le temps de mettre en place une autre solution de sécurité.

      • [^] # Re: Pérénité ?

        Posté par  (Mastodon) . Évalué à 6.

        Le premier conseil simple : ne jamais acheter une clé d'authentification toute seule, mais en acheter deux

        Mais il y a moyen d'en avoir deux "les même" ? Ou veux-tu dire que à chaque création de compte, j'associe les 2 clés et si je perds l'une j'aurai toujours la possibilité de me connecter avec la 2nde ?

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

        • [^] # Re: Pérénité ?

          Posté par  (site web personnel) . Évalué à 5.

          Je ne crois pas qu'on puisse avoir les deux mêmes, justement un intérêt du système est que les clés sont uniques et non-duplicables. Et l'intérêt d'avoir deux clés différentes, c'est qu'on peut révoquer l'une sans révoquer l'autre si on la perd.

          Mais il suffit d'associer les deux clés au compte (ça se fait en quelques minutes et sans difficulté), et si on en perd une d'associer la 3ème clé tout juste achetée au compte, pour remplacer la première perdue.

          • [^] # Re: Pérénité ?

            Posté par  (Mastodon) . Évalué à 3.

            Ok, merci bcp. Je sais ce qui me reste à faire… en commander une 2nde :)

            En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: Pérénité ?

      Posté par  (site web personnel) . Évalué à 4.

      En général, j'enregistre toute mes clés de sécurité sur tout les sites internet avec lesquels j'ai activé l'authentification multi-factorielle. Donc si je perd/cramme un clé, j'en utilise une autre.

      En général, les sites bien fait te donnes des codes de secours, donc si ta clé est cramé, t'en achète une autre, te connecte au site web avec un code de secours, et ensuite enregistre ta nouvelle clé.

      C'est pas très écolo, mais c'est malheureusement le seul moyen pour garantir une sécurité relativement bonne.

      Pour le chiffrement de disque dur, plusieures solutions: utiliser plusieurs clés de sécurité; ou, faire comme moi, utiliser un clé de sécurité dans le Slot0 et un mot de passe hexadécimal de 64 caractères dans le Slot1 (le mot de passe est généré et stocké par Bitwarden). Si jamais ma clé de sécurité brule, je regarde mon mot de passe de 64 charactères sur Bitwarden et le tape à la main.

  • # attention à la dépendance

    Posté par  . Évalué à 10.

    Bonjour,
    Quand on découvre les joies de l'authentification multi-facteurs, on comprend notre dépendance à TOUS les facteurs activés (mot de passe, clef de sécurité, logiciel TOTP, etc.).

    C'est pourquoi je recommanderais non pas d'acquérir une clef de sécurité, mais plutôt deux.
    Que se passerait-il si la clef était endommagée ou perdue ?
    Un branchement dans un port USB dont l'alimentation est capricieuse, et c'est fini (histoire vécue).
    Pour dupliquer et configurer les clefs, vous prévoyez de la recherche pour trouver les bons outils (quid de la compatiblité avec votre OS?).
    Et enfin pour dupliquer les propriétés uniques de votre clef, vous devrez acquérir plusieurs notions (HMAC-SHA1 / challenge-response…).

  • # L'authentification multifactorielle n'est pas l'authentifcation forte

    Posté par  . Évalué à 7.

    L'authentification multifactorielle (clef FIDO, YubyKey, etc.) n'est que de l'authentification renforcée ou substantielle (voir
    https://www.ssi.gouv.fr/uploads/2022/08/20220811_np_anssi_eidas_eid-referentielexigences_v1.2.pdf,
    https://www.ssi.gouv.fr/guide/recommandations-relatives-a-lauthentification-multifacteur-et-aux-mots-de-passe/).

    L'(authentification forte c'est avec une carte à puce.

    Il est certain que c'est nettement mieux qu'un simple login/mot de passe et qu'il faudrait imposer ce système aux banques qui nous imposent des solutions propriétaires pseudo-sécurisées

    PS: laisser sa clef sur le micro portable ce n'est plus de l'authentification multifacteur.

    • [^] # Re: L'authentification multifactorielle n'est pas l'authentifcation forte

      Posté par  . Évalué à 5.

      Dans ton premier lien je ne suis pas sûr de comprendre :

      pour le niveau de garantie élevé, il ne suffit pas qu’une carte à puce protège une clé cryptographique contre les manipulations non autorisées ; en outre, le protocole cryptographique doit protéger le mécanisme de vérification de la possession de la clé contre les manipulations non autorisées et les attaques par rejeu ;

      Le second lien n'a pas l'air de dire que l'authentification forte nécessite un facteur de possession avec composants de sécurité et qu'il faut privilégier ceux audité par l'ANSI. Ça ne me semble pas proscrire les clefs (dont ils font d'ailleurs mentions en parlant de token fido).

      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

    • [^] # Re: L'authentification multifactorielle n'est pas l'authentifcation forte

      Posté par  (site web personnel) . Évalué à 7.

      Ton message est un peu confus. La carte à puce fournit en effet une authentification forte, mais ce n'est qu'un "facteur de forme" comme on dit dans mon métier. L'important, c'est l'utilisation d'une puce sécurisée. Celle ci peut se retrouver dans une carte à puce en plastique mais sous d'autres formes aussi. Et justement, YubiKey indique dans le lien que tu fournis qu'ils utilisent des puces sécurisées. Ils fournissent donc de l'authentification forte.

      Et sinon, je cite un passage très juste de YubiKey:

      commercial-grade AVR or ARM controller is unfit to be used in a security product. In most cases, these controllers are easy to attack, from breaking in via a debug/JTAG/TAP port to probing memory contents. Various forms of fault injection and side-channel analysis are possible, sometimes allowing for a complete key recovery in a shockingly short period of time.

      C'est outrageusement vrai. Je travaille dans la carte à puce et je peux vous dire que le nombre de moyens d'attaquer une puce et son code est juste phénoménal. Et que le taux de succès sur du matériel non sécurisé et/ou du code non sécurisé est de 100%, avec des moyens assez peu onéreux (largement accessible à un particulier). C'est un peu technique mais à la portée de tout bon ingénieur. Et il y a de la bonne littérature sur le sujet.

      Bref, si vos clés sont stockées sur autre chose qu'un élément sécurisé, elles sont protégées à un niveau correct mais faible dans l'absolu. Ça ne résistera pas à un hacker motivé.

  • # mon téléphone à la place ?

    Posté par  (site web personnel) . Évalué à 3.

    Je suis nouveau dans le domaine, désolé si je dis des énormités.

    J'ai un tel Android (OnePlus nord). Il a un capteur d'empreinte. Je viens de tester webauthn + Firefox mobile, ça déroule.

    Partons du principe que j'ai mon tél h24 avec moi, et qu'il est en permanence connecté au net, tout comme l'ensemble des devices (ordi perso, …) sur lesquels je veux m'auth.

    Je voudrais en premier lieu pouvoir utiliser mon tél pour ouvrir ma session et monter mon home chiffré, lancer mes sessions ssh, …

    Existe-t-il déjà une solution pour que quand je souhaite m'authentifier, il envoie (via le net) une notif sur le mobile, sur lequel je n'aurais plus qu'à présenter mon empreinte pour valider l'auth ?
    Un peu comme le SMS avec un code que m'envoie GitHub ou ovh quand je veux me connecter, mais qui ne vérifie pas mon doigt, et m'oblige à recopier un truc a la main.

    L'avantage que j'y vois c'est que j'ai déjà tout niveau matos, pas besoin d'un service supplementaire.
    Quels seraient les inconvénients d'une telle solution ?

    • [^] # Re: mon téléphone à la place ?

      Posté par  (Mastodon) . Évalué à 5.

      désolé si je dis des énormités.

      "Je suis pas spécialiste mais" je ne vois pas d'énormités ;)

      Bon déjà oublie le capteur d'empreintes, il n'ajoute pas grand chose. Certes il évite que qqu'un d'autre déverrouille à ta place (en partant du principe que l’implémentation est fiable) mais pour arriver dans cette situation, il y a déjà d'autres soucis comme :
      - il est en possession de ton smartphone
      - il a déverrouillé l'écran
      - il a pu déclencher le début de la procédure

      Ce dont tu parles (notif à confirmer sur le téléphone) est très largement utilisé, chez Microsoft par exemple : au boulot quand je me connecte sur nos différents services compatibles, j'ai une simple notif sur mon smartphone où je clique sur "accepter".

      Quels seraient les inconvénients d'une telle solution ?

      Pas vraiment d'inconvénients du moment que tu as en parallèle d'autres moyens (toujours penser à la perte/casse du smartphone, rien n'est éternel).

      En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

      • [^] # Re: mon téléphone à la place ?

        Posté par  (site web personnel) . Évalué à 6.

        • la surface de vulnérabilité logicielle/matérielle d'une clé matérielle est plus faible que celle d'un ordinateur complet miniaturisé dans un téléphone mobile (avec ses multiples applications en plus du système).
        • les attaques distantes sont plus faciles sur un mobile qui a des connexions 2G/3G/4G/5G, du WiFi, du Bluetooth, du NFC, des notifications et des textes que sur une clé matérielle hors ligne ou NFC uniquement

        Ça ne veut pas dire que ce n'est pas suffisant suivant son modèle de menaces ("de quoi je veux me protéger") mais dans l'absolu ça me paraît "moins sûr".

        • [^] # Re: mon téléphone à la place ?

          Posté par  (site web personnel) . Évalué à 5.

          Ça ne veut pas dire que ce n'est pas suffisant suivant son modèle de menaces ("de quoi je veux me protéger") mais dans l'absolu ça me paraît "moins sûr".

          C'est le problème du titre du journal : sortir "pas assez utilisées" sans en réalité en parler dans le contenu du titre, sans argumenter sur l'idée que plus facile d'usage comme un logiciel sur smartphone, aujourd'hui pas mal utilisé y compris par les banques donc du "intéressant" pour pas mal de monde, ne serait pas plus cohérent en terme d'emmerdement vs sécurité pour les utilisateurs.

          La pire des sécurités est une sécurité chiante inutile par rapport au besoin de sécurité, parce que les gens trouveront ça con et chercheront à éviter le côté chiant.
          Et pour 99% des gens, la double authentification, déjà assez chiante car il faut quand même gérer (et on laisse souvent cette partie de côté, alors que c'est primordial car fait partie de la gestion globale de la sécurité) mettre en lieu sûr des codes de récupération, sur smartphone est largement suffisante.

          C'est d'ailleurs dommage qu'on oublie le de plus en plus utilisé dans le monde Internet, en balançant un vieux TOTP datant du offline à l'heure du online et laissant soin à chaque site web de filer une app dédiée (qui fait souvent plus, du coup problème de sécurité) pour du plus agréable (oui c'est chiant de taper un code, mettre son empreinte "oui c'est moi" est largement plus agréable et à ma connaissance il n'y a pas d’équivalent à FIDO2/etc pour un logiciel, pour avoir une app unique pour tous les sites web qui permette de gérer à la TOTP mais sans s'emmerder avec l'interaction manuelle). Perso pour le moment je me tape le truc chiant TOTP pour GitHub et compagnie, car par exemple j'ai bien GitHub Mobile disponible pour être moins chiant mais encore une app en plus.

          Bref, déjà il faudrait conseiller les clés matérielles à qui en a besoin et seulement ces personnes, et se mettre d'accord pour un protocole commun pour qui a besoin de double authentification plus agréable au prix de moins de sécurité mais qui suffit.

      • [^] # Re: mon téléphone à la place ?

        Posté par  (site web personnel) . Évalué à 1.

        Merci pour le feedback.

        J'ai pas voulu allonger la prose mais on est d'accord sur les deux point:

        • solution de backup indispensable

        • les mécanismes de sécurité sont un compris à faire entre leur robustesse et leur aspect pratique au quotidien ( cf. https://youtu.be/J_djzHXoOaA ).

        La solution que j'ai évoquée, c'est un compromis que je suis prêt à faire, là, maintenant. La yubikey-like, non (à tout du moins, pas encore).

        Du coup, savez vous si ça existe déjà, une telle app pour mobile, et un plugin (PAM ?) côté device linux ?

        • [^] # Re: mon téléphone à la place ?

          Posté par  . Évalué à 1.

          Ce qui ressemble le plus, c'est d'avoir une application OTP (y 'en a plein des open-source) sur son téléphone.

          • tu déverrouille ton application OTP (et ton téléphone)

          • ça te donne une suite de chiffre que tu rentre lors de la connexion ssh

          Pour ça il y a un module pam: "Google Authenticator".

  • # Version logicielle ?

    Posté par  (site web personnel) . Évalué à 4.

    Est-ce qu'il existe une version logicielle ?

    C'est peut être moins sécurisé, mais :

    • j'oublie tout le temps mes clefs ;
    • j'ai plusieurs PC et j'en installe régulièrement de nouveaux pour le boulot ;
    • sur mes portables, il n'y a que peu de porcs (gruik) usb et j'ai déjà besoin de brancher un clavier, une souris, une manette, un disque et un casque ;
    • certains de mes postes sont virtuels…

    Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

    • [^] # Re: Version logicielle ?

      Posté par  (site web personnel) . Évalué à 2.

      Github avait essayé ça fait un peu de temps sur mac et ils ont ensuite abandonné. Vu que c'est pour Mac, j'ai jamais trop regardé comment ça fonctionné.

      Après un peu de recherche, apparemment, quelqu'un a ré-implémenté le concept et le maintien sur Linux écris en rust: https://github.com/danstiner/rust-u2f

      À voir. Moi personnellement je suis pas super fan:

      • Ta clé de chiffrement privée peut être fuité par une CVE dans Firefox vu qu'elle est stockée sur ton ordi. (à moi que tu fasses tourner SELinux avec la bonne config' en mode strict)
      • Sur ton problème de plusieurs PC, la clé de sécurité peut être utilisé sur plusieurs PC, elle n'est pas spécifique à un PC.
      • Dans ton cas, tu peux avoir deux clés de sécurité, une sur ton bureau à la maison, une sur ton bureau au boulot.
      • Pour tes postes virtuels, je sais pas comment tu t'y connectes. Donc je peux pas trop t'aider là dessus.
      • [^] # Re: Version logicielle ?

        Posté par  (site web personnel) . Évalué à 4.

        Ta clé de chiffrement privée peut être fuité par une CVE dans Firefox vu qu'elle est stockée sur ton ordi.

        Elle pourrait aussi être stocké hors de portée de Firefox, voire même sur un autre PC.

        J'imagine un fonctionnement à la OpenID Connect CIBA.

        Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

    • [^] # Re: Version logicielle ?

      Posté par  . Évalué à 2.

      TOTP répond à cela. De plus tu peux même copier tes secrets et générer les codes depuis keepassxc.

      La clé physique est peut être plus "sécurisée" pour l'accès, mais si tu la perds c'est encore pire niveau sécurité du système puisque tu n'y auras plus accès s'ils n'y a pas une autre solution à côté.

      « Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher

    • [^] # Re: Version logicielle ?

      Posté par  (site web personnel) . Évalué à 5.

  • # Ledger?

    Posté par  (site web personnel) . Évalué à 1.

    Bonjour,

    Je me suis aperçu que personne n'a cité l'entreprise Ledger, une petite boîte française qui monte.

    Un des produits phares qu'ils produisent est le Nano S+, qui supporte le protocole U2F. Ce n'est pas la finalité de ces produits, mais ils sont tout à fait utilisables pour des applications de sécurité à l'instar des yubikeys.

    (Et on peut aussi stocker ses crypto avec!)

    • [^] # Re: Ledger?

      Posté par  . Évalué à 3.

      Perso je suis profondément contre les crypto donc je n'achèterait pas un produit qui se vend comme portefeuille de crypto/nft/web3 etc

      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.