{"id":3641,"date":"2019-07-01T10:00:10","date_gmt":"2019-07-01T08:00:10","guid":{"rendered":"https:\/\/www.unicoda.com\/?p=3641"},"modified":"2019-06-19T23:35:01","modified_gmt":"2019-06-19T21:35:01","slug":"utilisation-du-jeton-cryptographique-gnuk-de-secours","status":"publish","type":"post","link":"https:\/\/www.unicoda.com\/?p=3641","title":{"rendered":"Utilisation du jeton cryptographique Gnuk de secours"},"content":{"rendered":"\n<p>Dans un pr\u00e9c\u00e9dent article, j&rsquo;avais d\u00e9crit la mani\u00e8re de reprogrammer un STLinkv2 pour en faire un jeton cryptographique Gnuk. J&rsquo;aurais pu m&rsquo;arr\u00eater l\u00e0 dans mes tests, mais alors, je n&rsquo;aurais pas eu la garantie que ma solution de secours est valable. J&rsquo;ai donc v\u00e9rifi\u00e9 ma proc\u00e9dure, pas \u00e0 pas, en reprenant si besoin les diff\u00e9rents articles faisant offices de documentation. Voici quelques \u00e9l\u00e9ments \u00e0 consid\u00e9rer.<\/p>\n\n\n\n<p>Pour mener \u00e0 bien la cr\u00e9ation d&rsquo;un nouveau jeton cryptographique contenant les m\u00eames cl\u00e9s que mon jeton source, je commence par r\u00e9initialiser l&rsquo;environnement sur le poste s\u00e9curis\u00e9 ayant servi \u00e0 la cr\u00e9ation des cl\u00e9s, apr\u00e8s avoir pris soin de d\u00e9chiffrer le dossier de sauvegarde contenant un exemplaire des cl\u00e9s :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">export GNUPGHOME=\/path\/to\/working\/directory\ncp dir-backup-mastersubkeys\/* $GNUPGHOME\/*<\/pre>\n\n\n\n<p>Pour la suite, l&rsquo;export des cl\u00e9s sur le jeton s&rsquo;effectue comme d\u00e9crit dans les parties \u00ab\u00a0<em>Configuration de la cible<\/em>\u00a0\u00bb et \u00ab\u00a0<em>Export des sous-clefs vers la Yubikey<\/em>\u00a0\u00bb de mon article intitul\u00e9 \u00ab\u00a0<a rel=\"noreferrer noopener\" aria-label=\"GnuPG, clefs, YubiKey : c'est parti (s\u2019ouvre dans un nouvel onglet)\" href=\"https:\/\/www.unicoda.com\/?p=3230\" target=\"_blank\">GnuPG, clefs, YubiKey : c&rsquo;est parti<\/a>\u00ab\u00a0. Par ailleurs, avant de commencer l&rsquo;export des cl\u00e9s et pour compl\u00e9ter la configuration du jeton, on ex\u00e9cutera la commande <em>kdf-setup<\/em> dans l&rsquo;\u00e9diteur de cartes GnuPG en mode admin, le but \u00e9tant de renforcer la s\u00e9curit\u00e9 des clefs (Pour plus de d\u00e9tails \u00e0 ce sujet, lire la partie \u00ab\u00a0<em>Protection des clefs<\/em>\u00a0\u00bb de l&rsquo;article \u00ab\u00a0<a href=\"https:\/\/linuxfr.org\/news\/gnuk-neug-fst-01-entre-cryptographie-et-materiel-libre#protection-des-clefs\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Gnuk, NeuG, FST-01 : entre cryptographie et mat\u00e9riel libre (s\u2019ouvre dans un nouvel onglet)\">Gnuk, NeuG, FST-01 : entre cryptographie et mat\u00e9riel libre<\/a>\u00ab\u00a0). Apr\u00e8s import des clefs, on dispose alors d&rsquo;un nouveau jeton cryptographique pr\u00eat \u00e0 \u00eatre utilis\u00e9.<\/p>\n\n\n\n<p>Afin de faire fonctionner  ma cl\u00e9 Gnuk avec <em>gpg &#8211;card-status<\/em> sans utiliser sudo, ajout d&rsquo;une r\u00e8gle udev dans le fichier <em>\/lib\/udev\/rules.d\/60-gnuk.rules<\/em>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ACTION==\"add\", SUBSYSTEM==\"usb\", ENV{ID_VENDOR_ID}==\"0000\", ENV{ID_MODEL_ID}==\"0000\", MODE=\"660\", GROUP=\"users\"<\/pre>\n\n\n\n<p>Puis application des changements.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># rechargement des r\u00e8gles\nsudo udevadm control --reload-rules\n# \u00c9ventuellement red\u00e9marrage du syst\u00e8me\nsudo reboot<\/pre>\n\n\n\n<p>Sur le poste cible, sauvegarde du dossier <em>.gnupg\/private-keys-v1.d<\/em>. Puis suppression de son contenu.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cp -r .gnupg\/private-keys-v1.d .gnupg\/private-keys-v1.d-save\nrm .gnupg\/private-keys-v1.d\/*\ngpg --card-status<\/pre>\n\n\n\n<p>La commande <em>gpg &#8211;card-status<\/em> a pour effet de r\u00e9importer les informations des clefs pr\u00e9sentes sur la carte. Ainsi, si j&rsquo;effectue une commande pass pour d\u00e9chiffrer l&rsquo;un de mes mots de passe, c&rsquo;est bien la nouvelle cl\u00e9 Gnuk qui est attendue et non ma Yubikey. Pour repasser \u00e0 la Yubikey, il suffit de supprimer \u00e0 nouveau le contenu du dossier private-keys-v1.d et le tour est jou\u00e9 (et d&rsquo;inverser jeton Gnuk et YubiKey).<\/p>\n\n\n\n<p>Je note qu&rsquo;il n&rsquo;est pas possible en l&rsquo;\u00e9tat d&rsquo;utiliser deux supports diff\u00e9rents pour les m\u00eames clefs, sans une intervention de l&rsquo;utilisateur ou une automatisation des changements \u00e0 effectuer en fonction du support branch\u00e9. Pour utiliser indiff\u00e9remment deux supports diff\u00e9rents, un internaute proposait de cr\u00e9er trois sous-clefs suppl\u00e9mentaires, soit six en tout et de r\u00e9partir les trois nouvelles sous-clefs sur le support suppl\u00e9mentaire.<\/p>\n\n\n\n<p>Effectuer ce que je peux qualifier de \u00ab\u00a0test grandeur nature\u00a0\u00bb \u00e9tait ici indispensable, afin de s&rsquo;assurer de la robustesse de la solution retenue pour la s\u00e9curisation de mon environnement informatique. En effet, s&rsquo;appuyer sur une solution sans jamais avoir v\u00e9rifi\u00e9 les proc\u00e9dures de restauration, le retour \u00e0 un fonctionnement normal, me semble bien p\u00e9rilleux. C&rsquo;est donc un pas de plus sur le chemin de ma r\u00e9silience informatique !<\/p>\n\n\n\n<p>Source:<br><a href=\"https:\/\/lists.gnupg.org\/pipermail\/gnupg-users\/2017-June\/058461.html\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"GnuPG mailing list - GnuPG card &amp;&amp; using the backup secret key (s\u2019ouvre dans un nouvel onglet)\">GnuPG mailing list &#8211; GnuPG card &amp;&amp; using the backup secret key<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans un pr\u00e9c\u00e9dent article, j&rsquo;avais d\u00e9crit la mani\u00e8re de reprogrammer un STLinkv2 pour en faire un jeton cryptographique Gnuk. J&rsquo;aurais pu m&rsquo;arr\u00eater l\u00e0 dans mes tests, mais alors, je n&rsquo;aurais pas eu la garantie que ma solution de secours est valable. J&rsquo;ai donc v\u00e9rifi\u00e9 ma proc\u00e9dure, pas \u00e0 pas, en reprenant si besoin les diff\u00e9rents &hellip; <a href=\"https:\/\/www.unicoda.com\/?p=3641\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Utilisation du jeton cryptographique Gnuk de secours&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[377,415],"tags":[427],"class_list":["post-3641","post","type-post","status-publish","format-standard","hentry","category-crypto","category-sauvegarde","tag-gnuk"],"_links":{"self":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/3641","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3641"}],"version-history":[{"count":6,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/3641\/revisions"}],"predecessor-version":[{"id":3676,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/3641\/revisions\/3676"}],"wp:attachment":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3641"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3641"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}