Clefs GPG : comment les stocker et les utiliser via une clef USB OpenPGP Card ?

Clefs GPG : comment les stocker et les utiliser via une clef USB OpenPGP Card ?

Envie de vous amuser ?

Avatar de l'auteur
David Legrand

Publié dans

Logiciel

07/02/2017 15 minutes
42

Clefs GPG : comment les stocker et les utiliser via une clef USB OpenPGP Card ?

Bien que souvent considéré comme complexe, GPG est surtout un outil plein de surprises. Il permet notamment de stocker et utiliser vos clefs à travers un dispositif USB et le standard OpenPGP Card. De quoi concilier l'aspect pratique avec le besoin de sécurité.

Maintenant que nous avons vu comment générer une paire de clefs presque parfaite via GnuPG (GPG) et comment la diffuser sur un annuaire en ligne ou même via Facebook, nous allons nous intéresser à un autre point crucial : le stockage et l'utilisation des sous-clefs au quotidien.

Comme nous avons pu le voir dans notre précédent article, l'idéal est d'avoir toujours à disposition les sous-clefs pour le chiffrement et la signature (ou même l'authentification), mais de garder bien au chaud la clef primaire. Cette dernière ne doit en effet pas tomber en de mauvaises mains ou même être simplement perdue.

Vos clefs GPG dans une carte à puce

Si nous avons déjà évoqué différentes solutions pour cette clef comme le stockage hors-ligne en version papier – sous forme d'un QR Code – qu'en est-il pour les sous-clefs ? Car celles-ci restent stockées dans votre machine et il n'est pas forcément pratique de les utiliser sur un autre ordinateur sans augmenter le risque de fuite, alors qu'il est désormais courant d'en utiliser plusieurs au quotidien (à la maison, au bureau, un portable, etc.)

Heureusement, il existe une solution permettant de combiner sécurité et praticité : la carte à puce (ou smart card). Il s'agit, un peu comme la carte SIM de votre smartphone ou votre carte bancaire, de placer vos (sous) clefs dans un composant matériel sécurisé depuis lequel elles pourront être lues, utilisées, mais pas extraites. Il faudra ainsi disposer de la puce et d'un code PIN afin de pouvoir exploiter vos clefs. Un fonctionnement qui est nativement géré par GPG.

Pour cela il est possible d'utiliser une smart card ISO/IEC 7816 ou une clef USB de sécurité qui intègre une implémentation du standard OpenGPG Card. Si la version la plus récente est la 3.0 (qui supporte notamment les clefs ECC), on la retrouve le plus souvent dans sa version 2.1. On notera au passage que l'ANSSI propose une implémentation d'OpenPGP Card 3.x pour le système Java Card, SmartPGP, sous licence GPLv2. 

La solution classique : la smart card GnuPG

Un tel produit n'est pas si complexe à trouver. Il existe ainsi différentes solutions. Pour notre test du jour, nous en avons retenu trois qui pourront fonctionner avec un simple port USB.

Le premier est le plus souvent évoqué, il s'agit de la smart card GnuPG « officielle ». Elle est ainsi mise en avant sur le site de g10code, la société du développeur principal de GnuPG, Werner Koch. Elle est notamment distribuée dans une version personnalisée par la Free Software Foundation Europe à ses membres.

Elle utilise le système BasicCard de ZeitControl et n'est vendue que par une boutique en ligne : Kernel Concepts. La commande ne se passe que par email (en anglais ou en allemand), la livraison se fait sous quelques jours (dans notre cas nous avons même reçu un ours en chocolat en cadeau). Elle est vendue aux alentours de 17 euros à l'unité, et de 14 euros pour un pack de 10.

Si vous désirez une version avec une découpe de la puce au format SIM, cela vous coûtera 0,60 euro supplémentaire par carte. Une option qui est utile puisqu'elle permet d'intégrer la puce dans un lecteur de smart card au format USB, comme le lecteur Gemalto proposé à un peu moins de 20 euros. Pratique si vous n'avez pas de lecteur de smart card sur votre machine ou intégré à votre ordinateur portable.

Cette solution vous reviendra ainsi à 40 euros environ, livraison comprise. Attention, le paiement ne peut se faire que par virement bancaire ou PayPal (+5 % facturés dans ce cas, soit 42 euros).

Le modèle à tout faire : la Yubikey

La seconde solution est d'utiliser une Yubikey Neo ou 4. Toutes deux intègrent une implémentation OpenPGP Java Card (sous licence GPL v2) lui permettant de faire office de smart card et d'être utilisée comme telle avec GnuPG.

Cette fois, il vous en coûtera entre 40 et 60 euros selon les cas, mais ces clefs peuvent aussi être utilisées pour la connexion à deux facteurs (U2F), pour déverrouiller une session macOS ou Windows et peuvent générer des mots de passe à la demande (OTP, OATH-HOTP/TOTP).

Yubikey Gamme

La petite nouvelle : la Nitrokey

Dans le même genre, il existe la Nitrokey. Un projet issu de l'évolution de la Crypto stick, financé en partie sur Indiegogo. Là aussi, il s'agit de proposer une solution qui ouvre de nombreuses possibilités (gestionnaire de mots de passe, OTP, S/MIME, etc.), dont le fonctionnement comme smart card OpenPGP (via Java Card).

C'est le cas des modèles Start et Pro, annoncées à 29 et 49 euros (comptez 7,40 à 20 euros de frais de livraison). L'ensemble repose en bonne partie sur l'open source et a fait l'objet d'un audit fin 2015.

Nitrokey

De multiples possibilités, un fonctionnement unique

Notez que ce ne sont bien entendu pas les seules initiatives du genre. D'autres travaillent d'ailleurs à ajouter une implémentation OpenPGP Card à leurs produits, comme les français de Ledger qui proposent des clefs faisant office de portefeuille pour crypto-monnaies, mais intègrent déjà d'autres types d'application comme l'authentification à deux facteurs U2F.

Mais l'intérêt de reposer sur un standard et de disposer d'une gestion native au sein de GnuPG, c'est que le fonctionnement est identique quelle que soit la solution retenue. Pour commencer ce guide, nous partirons du principe que vous avez déjà suivi notre analyse de GPG, son fonctionnement de base et la création d'une paire de clefs « presque parfaite ». 

La première étape pour transférer vos clefs sur la carte à puce est de connecter celle-ci à votre machine. Elle devrait être reconnue sur n'importe quel système d'exploitation (Linux, macOS ou encore Windows).

Notez que sous différentes distributions Linux, en plus de disposer de GPG 2.x (nos essais sont effectués avec la branche moderne GPG 2.1), vous aurez parfois besoin d'installer scdeamon, pcscd et pcsc-tools afin de reconnaître et gérer votre clef USB comme une smart card. Sous Debian/Ubuntu, cela revient à taper la commande suivante : 

apt install scdaemon pcscd pcsc-tools

Parfois, et sous différents OS, votre clef pourra ne plus être reconnue. Le plus simple est alors de « tuer » scdeamon puis de le relancer. Tout devrait alors rentrer dans l'ordre.

Une fois ceci fait, il vous suffit d'ouvrir un terminal (Windows+R, cmd pour Windows). Vous pourrez alors taper la commande suivante afin de constater que votre carte est bien reconnue :

gpg --card-status

Reader ...........: Gemalto USB Key Smart Card Reader 0
Application ID ...: D2760001240102010005000084C70000
Version ..........: 2.1
Manufacturer .....: ZeitControl
Serial number ....: 000084C7
Name of cardholder: [non positionné]
Language prefs ...: de
Sex ..............: non indiqué
URL of public key : [non positionné]
Login data .......: [non positionné]
Signature PIN ....: forcé
Key attributes ...: rsa2048 rsa2048 rsa2048
Max. PIN lengths .: 32 32 32
PIN retry counter : 3 0 3
Signature counter : 0
Signature key ....: [none]
Encryption key....: [none]
Authentication key: [none]
General key info..: [none]

Comme vous pouvez le voir, de nombreuses informations sont manquantes. On peut aussi remarquer qu'il est possible de stocker trois clefs (jusqu'à RSA 4096 bits pour la version 2.1 d'OpenPGP Card) et qu'il existe un compteur au niveau du code PIN (jusqu'à 32 caractères).

Notez également qu'il existe (comme souvent) deux code PIN différents :

  • Utilisateur : permet l'accès aux clefs (par défaut 123456 en général)
  • Admin : permet d'écrire des informations sur la carte (par défaut 12345678 en général)

Vous aurez plusieurs méthodes pour mettre à jour les informations contenues dans la puce. La plus simple est de passer par un gestionnaire de clefs qui le permet, comme GPA. Il dispose en effet d'un onglet « Card » permettant d'ouvrir une fenêtre d'édition. Vous pourrez y changer les informations principales : nom, sexe, pseudo, langue, URL de la clef publique, code PIN.

Malheureusement, ce sera à peu près tout. Il serait pourtant bien pratique de voir les gestionnaires de clefs intégrer de manière les smart cards, ce qui pourrait favoriser leur usage par un plus large public. Bien entendu, vous pouvez aussi passer par la ligne de commande, avec la fonction gpg --card-edit. En tapant admin, puis help, vous verrez les différentes possibilités qui s'offrent à vous :

gpg/carte> help
quit quitter ce menu
admin afficher les commandes d'administration
help afficher cette aide
list afficher toutes les données disponibles
name modifier le nom du détenteur de la carte
url modifier l'URL pour récupérer la clef
fetch récupérer la clef indiquée dans l'URL de la carte
login modifier l'identifiant de connexion
lang modifier les préférences de langue
sex modifier le sexe du détenteur de la carte
cafpr modifier une empreinte d'autorité de certification
forcesig inverser le paramètre obligeant à entrer le code personnel pour les signatures
generate générer de nouvelles clefs
passwd menu pour modifier ou déverrouiller le code personnel
verify vérifier le code personnel et afficher toutes les données
unblock débloquer le code personnel en utilisant un code de réinitialisation
factory-reset destroy all keys and data

Les fonctions name, url, login, lang ou sex vous permettront de modifier les informations de base de votre identité. Si vous avez une URL indiquée pour votre clef publique, fetch vous permettra de la télécharger sur la machine. Pour modifier votre code PIN (classique ou admin) vous devrez utiliser la fonction passwd.

Si vous vous trompez plus de trois fois, la puce sera rendue inopérante et vous devrez procéder à une réinitialisation. Pour cela, rien de plus simple puisque vous devrez taper les trois commandes suivantes :

gpg --card-edit
admin
factory-reset

Cette sécurité est aussi la raison pour laquelle vous devez disposer d'une copie de vos clefs hors de votre smart card. En cas de souci, vous pourrez les importer puis les remettre en place. Par défaut, GPG permet de générer les clefs directement au sein de la puce :

gpg --card-edit
admin
generate

Cette procédure vous permet de disposer d'une sauvegarde de la clef de chiffrement, mais vous ne pourrez pas avoir de copie des autres clefs. Elle est donc déconseillée.

Le transfert de vos sous-clefs sur la smart card

Si vous avez suivi notre guide permettant de générer une paire de clefs presque parfaite via GPG, vous devez disposer d'une clef primaire de certification que vous aurez mise en sécurité puis supprimée de la machine courante.

Vous disposez aussi d'au moins deux sous-clefs, toujours accessibles, pour la signature et le chiffrement. Notez que vous pouvez aussi en ajouter une pour l'authentification (auth) ce qui peut être utile dans certains cas (nous le verrons dans un prochain article).

En tapant gpg -K vous pourrez afficher les informations sur cette clef, et notamment son ID et son empreinte : 

sec# rsa4096/0xD3CFD97417D94589 2017-02-07 [C] [expires: 2018-02-07]
Key fingerprint = D670 AB49 FBEB 1002 37CA 4277 D3CF D974 17D9 4589
uid [ultimate] Jean Deauh <[email protected]>
ssb rsa4096/0x72C2EBE383F28C98 2017-02-07 [S] [expires: 2018-02-07]
ssb rsa4096/0x5E17DEB66A7BC8BB 2017-02-07 [E] [expires: 2018-02-07]

Ces informations peuvent être utiles pour l'éditer, nous le ferons à travers l'adresse email dans notre cas :

gpg --edit-key [email protected]

Pour transférer l'une de nos sous-clefs sur la smart card, il nous faut tout d'abord la sélectionner via la fonction key qui permet d'indiquer la ligne de la clef concernée (la première étant la ligne 0). Dans notre cas, nous allons commencer par la première sous-clef (ssb) de signature :

gpg> key 1

pub rsa4096/0xD3CFD97417D94589
created: 2017-02-07 expires: 2018-02-07 usage: C
trust: ultimate validity: ultimate
ssb* rsa4096/0x72C2EBE383F28C98
created: 2017-02-07 expires: 2018-02-07 usage: S
ssb rsa4096/0x5E17DEB66A7BC8BB
created: 2017-02-07 expires: 2018-02-07 usage: E
[ultimate] (1). Jean Deauh <[email protected]>

Une fois ceci fait, il faut demander le transfert avec la fonction keytocard :

gpg> keytocard
Please select where to store the key:
(1) Signature key
(3) Authentication key
Your selection? 1

On reproduit la même opération avec la seconde clef, mais avec une subtilité. Il faut tout d'abord déselectionner la première avant de procéder au transfert :

gpg> key 1
pub rsa4096/0xD3CFD97417D94589
created: 2017-02-07 expires: 2018-02-07 usage: C
trust: ultimate validity: ultimate
ssb rsa4096/0x72C2EBE383F28C98
created: 2017-02-07 expires: 2018-02-07 usage: S
ssb rsa4096/0x5E17DEB66A7BC8BB
created: 2017-02-07 expires: 2018-02-07 usage: E
[ultimate] (1). Jean Deauh <[email protected]>

gpg> key 2
pub rsa4096/0xD3CFD97417D94589
created: 2017-02-07 expires: 2018-02-07 usage: C
trust: ultimate validity: ultimate
ssb rsa4096/0x72C2EBE383F28C98
created: 2017-02-07 expires: 2018-02-07 usage: S
ssb* rsa4096/0x5E17DEB66A7BC8BB
created: 2017-02-07 expires: 2018-02-07 usage: E
[ultimate] (1). Jean Deauh <[email protected]>

gpg> keytocard
Please select where to store the key:
(2) Encryption key
Your selection? 2

gpg> save

On termine avec la fonction save, et l'on pourra ensuite constater que GPG a bien enregistré que nos clefs sont stockées sur une smart card. Elles ont été remplacées par un stub. Ainsi, la machine sait qu'il peut utiliser ces clefs mais ne dispose que d'un lien virtuel vers une smart card pour les utiliser.

Une fois terminée, les informations contenues dans notre smart card étaient les suivantes :

Reader ...........: Gemalto USB Key Smart Card Reader 0
Application ID ...: D2760001240102010005000084C70000
Version ..........: 2.1
Manufacturer .....: ZeitControl
Serial number ....: 000084C7
Name of cardholder: Jean Deauh
Language prefs ...: fr
Sex ..............: male
URL of public key : https://www.jeandeauh.fr/pubkey.gpg
Login data .......: jeandeauh54
Signature PIN ....: forcé
Key attributes ...: rsa4096 rsa4096 rsa2048
Max. PIN lengths .: 32 32 32
PIN retry counter : 3 0 3
Signature counter : 0
Signature key ....: F692 2092 9CAD 48F2 81E2 AB53 72C2 EBE3 83F2 8C98
created ....: 2017-02-07 15:33:45
Encryption key....: 5551 CD51 6903 2502 D165 CF29 5E17 DEB6 6A7B C8BB
created ....: 2017-02-07 15:33:55
Authentication key: [none]
General key info..: sub rsa4096/0x72C2EBE383F28C98 2017-02-07 Jean Deauh <[email protected]>
sec# rsa4096/0xD3CFD97417D94589 created: 2017-02-07 expires: 2018-02-07
ssb> rsa4096/0x72C2EBE383F28C98 created: 2017-02-07 expires: 2018-02-07
card-no: 0005 000084C7
ssb> rsa4096/0x5E17DEB66A7BC8BB created: 2017-02-07 expires: 2018-02-07
card-no: 0005 000084C7

Vous pouvez vérifier que les stubs sont bien en place en éditant votre paire de clefs. Vous obtiendrez alors un résultat qui vous indique le numéro de votre smart card :

pub rsa4096/0xD3CFD97417D94589
created: 2017-02-07 expires: 2018-02-07 usage: C
trust: ultimate validity: ultimate
ssb rsa4096/0x72C2EBE383F28C98
created: 2017-02-07 expires: 2018-02-07 usage: S
card-no: 0005 000084C7
ssb rsa4096/0x5E17DEB66A7BC8BB
created: 2017-02-07 expires: 2018-02-07 usage: E
card-no: 0005 000084C7
[ultimate] (1). Jean Deauh <[email protected]>

Vous pouvez tester la signature d'un fichier avec et sans votre clef USB insérée dans la machine pour vérifier que tout va bien en utilisant la procédure suivante : 

echo "Coucou" > test.txt
gpg -s test.txt

Comment utiliser la smart card sur une nouvelle machine ?

Mais que faire pour recréer ces stubs sur une autre machine afin de pouvoir utiliser vos clefs ? Il suffit de disposer de la partie publique de votre paire de clefs. Elle peut être récupérée depuis un annuaire ou un site où vous l'avez mise à disposition.

Comme indiqué précédemment, vous pouvez aussi le faire avec l'information url de votre smart card :

gpg --card-edit
fetch

Vous pourrez ensuite vérifier que la clef publique est présente au sein de la machine avec un gestionnaire de clefs ou la commande gpg -k. Si c'est le cas, la procédure ne demandera qu'une commande :

gpg --card-status

GPG vérifiera que les clefs stockées correspondent à une clef publique présente sur la machine. Si oui, les stubs nécessaires seront créés et les informations de la carte affichées. Vous pourrez alors signer et déchiffrer des documents et des messages comme si votre paire de clef était présente sur la machine.

Une bonne protection en cas de perte ou de vol

Or, comme ce ne sera pas le cas, vous n'avez pas à craindre qu'un petit malin vienne accéder à vos fichiers pour tenter de récupérer vos clefs privées et de deviner votre phrase de passe.

À l'inverse, il faudra protéger votre smart card afin d'éviter qu'elle ne tombe en de mauvaises mains. Mais celle-ci aura l'avantage de limiter les erreurs au niveau du code PIN et donc les risques, même en cas de perte ou de vol.

Retrouvez notre dossier Chiffrement, clefs de sécurité et cryptobidules :

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Vos clefs GPG dans une carte à puce

La solution classique : la smart card GnuPG

Le modèle à tout faire : la Yubikey

La petite nouvelle : la Nitrokey

De multiples possibilités, un fonctionnement unique

Le transfert de vos sous-clefs sur la smart card

Comment utiliser la smart card sur une nouvelle machine ?

Une bonne protection en cas de perte ou de vol

Le brief de ce matin n'est pas encore là

Partez acheter vos croissants
Et faites chauffer votre bouilloire,
Le brief arrive dans un instant,
Tout frais du matin, gardez espoir.

Fermer

Commentaires (42)


A quand des offres d’abo NI avec une clef à tarif préférentiel ?? <img data-src=" />



Parce que bon, perso, les tshirts toussa…


le t-shirt avec la clé publique en QR-code. <img data-src=" />


J’aimerai bien pour une Yubikey ou une carte GnuPG, mais il faut un certain volume pour proposer une version personnalisée :p


Dire que j’ai commandé une smartcard y a même pas une heure.. :(


une yubikey nano ça serait super chouette, mais vu la taille, difficile de personnaliser. <img data-src=" />








melchizedech a écrit :



Dire que j’ai commandé une smartcard y a même pas une heure.. :(





<img data-src=" />



J’en ai eu une, mais pas convaincu par le système d’accroche qui est forcément trop fragile. J’attends surtout l’intégration d’OpenPGP 3.0 sur la Yubikey 4 vu qu’elle supporte ECC :p (mais je n’ai pas tenté de voir si possible en manuel avec l’implémentation proposée par l’ANSSI)


Génial… mais mme Michu est loin d’être capable de se protéger elle même.


&nbsp;







David_L a écrit :



J’en ai eu une, mais pas convaincu par le système d’accroche qui est forcément trop fragile.



Si t’as une perceuse, tu fais un petit trou pile au milieu de la clé pour accrocher un anneau.<img data-src=" />



quand tu vois que l’utilisation d’un gestionnaire de pass est jugée rébarbative par la majorité des gens, effectivement la gestion de clés de chiffrement, on en est très très très loin.

mais bon ici c’est pas vraiment un site de michus. ^^


Oui je suis d’accord avec toi. Mais j’ai une tendance aàpenser que qui se sent morveux se mouche si tu vois ce que je veux dire.



En gros, ce genre de sécurité ne concerne que les parano ou ceux qui ont quelque chose à cacher. Bien que la confidentialité des données et des échanges devrait être systématique pour tous, c’est loin d’être le cas malheureusement.


Relire :&nbsp;



https://www.nextinpact.com/news/99777-chiffrement-notre-antiseche-pour-expliquer…



BTW, la sécurité des données, des échanges et tout le reste, c’est une question du choix de chacun avant tout. Comme ceux qui laissent leur HDD en clair en se disant qu’ils ont un mot de passe de session donc qu’ils sont protégés et ensuite envoient la machine à réparer à la première boutique venue.


pas forcément, mais ça concerne le technophile averti.

soit le mec qui en a réellement besoin, soit le mec qui l’utilise parce que c’est un geek et que ça le fait marrer (moi par exemple).

le truc chiant c’est que comme personne en face n’utilise GPG, je l’utilise pas non plus. ^^



edit: et c’est d’ailleurs tout le souci. la sécu de tes échanges dépend aussi du niveau de sécu de celui avec qui tu échanges. et bien souvent en face ça ne suit pas.


De la sécurité avec Gemalto <img data-src=" />


Tu es libre d’utiliser la clef / le lecteur qui te plaît.








David_L a écrit :



J’aimerai bien pour une Yubikey ou une carte GnuPG, mais il faut un certain volume pour proposer une version personnalisée :p







Si tu veux chez Ledger on fait la personnalisation (marquage au laser) du Nano S à partir d’une unité, je peux t’envoyer un échantillon demain matin <img data-src=" />



Oui mais l’app OpenPGP Card c’est pas encore ça les enfants <img data-src=" /> C’est bien beau de rajouter plein de wallets, mais bon <img data-src=" />


Work In Progress <img data-src=" />


<img data-src=" />


Super boulot les gars ! Ça confirme ce que je supposais pour toutes les interrogations que j’avais. Merci pour cette série d’articles.



+1 avec la proposition d’acheter des clés à tarif préférentiel. Avec le type de lectorat ici, ça peut intéresser pas mal de monde, et pourquoi pas ramener du blé à NXI.








David_L a écrit :



J’en ai eu une, mais pas convaincu par le système d’accroche qui est forcément trop fragile.







Le but de la Yubikey nano, c’est surtout de pouvoir la laisser en permanance dans un laptop sans qu’elle risque de se casser ou de casser le port USB.



C’est possible de dupliquer une smartcard (en ayant le code pin bien sur), car j’en utilise une au boulot mais le lecteur inclus dans le laptop est HS, donc actuellement on enfiche la carte dans le clavier (clavier vraiment bof), donc si je peux la dupliquer sur une des cartes nano usb et éviter de trimballer l’énorme clavier à chaque fois ça m’arrangerait.


Une idée de sondage.<img data-src=" />


Du coup ça ressemble sérieusement à une mauvaise idée <img data-src=" /> (tu laisses tes clefs tout le temps sur ta porte toi ?)


Pas que je sache (le but étant justement de ne pas pouvoir exporter le contenu de la clef). Après tout dépend de ce que tu veux exporter exactement (GPG, PIV, autres données ?) D’où l’intérêt des fichiers de backup <img data-src=" />


Je me disais bien que ça me paraissait trop facile, pour la carte la seule indication que j’ai c’est son modèle (Gemalto IdPrime .net).



En fait je ne cherche pas à lire ou acceder aux clés présentes dans la carte, je cherche simplement à la dupliquer (si possible vers un YubiKey nano ou une “micro-sim” que je mettrais dans une clé usb gemalto) pour éviter de devoir me balader avec le clavier incluant le lecteur smartcard.


Tu doit pouvoir trouver des lecteurs SmartCard (Plein format) indépendant à la vente.

Ça peu améliorer ta situation.


J’ai bien lu cet article, et c’est pour ça que je commente ici. En plus je suis déjà convertit a la cause si je puis dire.



Le gros problème c’est que la sécurité en informatique, la plupart du temps, c’est contraignant pour l’utilisateur. Et plus on avance dans le temps, plus ça devient compliqué.



Par analogie, on peut comparer ça IRL à la maison qui rend fou dans les 12 travaux d’Astérix ou même le film Brazil avec son administration kafkaienne. Trop de sécurité tue l’utilisation, et pourtant paradoxalement on en a besoin comme tu le démontres avec ton exemple sur les boutiques de réparation.


Merci pour ce dossier, mais franchement je trouve ça super laborieux !



Je trouve qu’il aurait été interessant d’intégrer cela dans une nouvelle carte d’identité avec sa puce par exemple, mais bon l’intégration pour que cela soit aussi simple à utiliser qu’un Iphone me semble lointain…


J’avoue que je ne saisie toujours pas totalement l’intérêt de cré une clé maître et des sous-clés. En quoi cela apporte-t-il plus de sécurité exactement ? Que se passe-t-il si on doit renouveler/révoquer une sous-clé ?


C’est le fonctionnement par défaut de GPG (même si la clef maitre est de type SC par défaut de mémoire). Tu peux révoquer une sous clef et en générer de nouvelles depuis la clef maître. En cas de souci/perte/envie de changement, tu peux donc garder ta clef principale mais avoir une solution.



Dans la pratique quotidienne, ta clef principale est au chaud en sécurité, tu ne l’utilise que pour certifier des clefs tierces (en gros tu la sors pour tes key signing party), au quotidien tu utilises tes sous-clefs pour gérer tes signatures/déchiffrement/auth (en local ou via une clef OpenPGP Card).


Ah donc la clé principale et les sous-clés sont des fichiers différents ? Je crois qu’il va falloir que je procède à quelques tests pour voir ce qu’il en est concrètement. Merci !


Tu peux les exporter séparément oui, voir ce guide où l’on détaillait la procédure :



https://www.nextinpact.com/news/102685-gpg-comment-creer-paire-clefs-presque-par…


J’avais lu l’article, mais un peu en diagonale, j’avoue. Merci pour cette initiative !


Excellente série d’articles, vraiment, ça fait plaisir.


<img data-src=" />





(Et c’est pas fini <img data-src=" />)


Et c’est ce qu’on veut !&nbsp;<img data-src=" />


Super ces articles ! Je vais regarder la Yubikey Neo de plus près. La partie NFC est juste là pour le mobile ? Où pourrait-on imaginer faire de l’authentification sur le PC (à la place du code PIN)&nbsp;avec son mobile ?

Je ne crois pas avoir vu d’article sur l’authentification (Windows) ? C’est en cours de rédaction ? <img data-src=" />


Il y a un lien pour Windows, mais le NFC est surtout là pour le mobile, notamment avec OpenKeyChain :

https://www.openkeychain.org/








David_L a écrit :



Du coup ça ressemble sérieusement à une mauvaise idée <img data-src=" /> (tu laisses tes clefs tout le temps sur ta porte toi ?)







Tout dépend ce qu’on chercher à faire. La raison principale d’utiliser des HSM (comme des yubikey par exemple), c’est d’avoir la dual factor authentication, à savoir:




  • quelquechose qu’on connait

  • quelquechose qu’on possède (et sous entendu, non duplicable)



    Pour le gpg, avoir une yubikey nano en permanence connecté permet de:



  • Empêcher matériellement le brut force, au bout de 3 PIN faux, c’est matériellement foutu, même si quelqu’un a pris le contrôle de notre ordinateur. Alors qu’en mode fichier, on peut dupliquer la clé comme on veut, puis prendre le temps qu’il faut pour brut forcé la clé.



  • Savoir si notre clé est compromise: Si on a la clé, bah on a la clé… Si on nous vole l’ordinateur avec la nano dedans, on sait que c’est compromis. Il suffit de révoquer les sous-clés et d’en recréer/publier des nouvelles avant que le voleur ne trouve ton code PIN (quasiment impossible, sauf qu’il t’a vu le taper, et toute façon il n’a pas la clé Certification) ou bien qu’il arrive à extraire matériellement la clé privée (ce qui est normalement pas possible).



    Et en mode OTP (qui n’est pas le sujet de cet article), le principale avantage est qu’un attaquant tierce ne se connecte pas à notre place sur un site web comme google, github, …. Donc la laisser en permanence ou la retirer ne changera pas grand chose, vu que notre ordinateur ne rentre pas dans l’équation.

    Et si l’ordinateur est volé, normalement, il n’a pas la partie “que tu connais”. Donc ça te laisse le temps de révoquer la nano auprès des sites web concerné avant qu’il n’arrive à brut force le mot de passe du site.



    Et pour finir :)



    Le fait de l’avoir tout le temps connecté, fait qu’il n’est pas contraignant de s’en servir tout le temps.

    Alors que l’avoir sur un porte clé, par exemple, bah on va avoir tendance à dire au site web “met moi un cookie (qui lui est duplicable) pour ne pas me redemander ma clé pendant 30j (google)”, car sortir ses clés de son manteau ou autre à chaque fois qu’on veut lire ses mails, c’est “chiant”.



Je comprends bien, après j’ai tout de même du mal à accrocher sur le “tout le temps” dans le sens où le soir je me vois mal la laisser dans la machine. Après comme tu dis dans le cas d’un usage GPG pur c’est moins problématique, mais tout de même.


J’ai une question idiote à la première lecture, mais je la posse quand même.&nbsp;



Comme faire pour partager une clé type Yubikey utilisé pour l’authentification à deux facteurs quand ont est deux à accéder à un même compte ?&nbsp;



Je ne connait pas de site qui propose plusieurs comptes d’accès pour un même compte client.&nbsp;



La question pourrait également se posé pour le chiffrement et la signature de courriel pour un compte en commun. Les banques propose bien des accès par personne pour les comptes bancaires.

&nbsp;