[{"categories":null,"contents":"Pour adhérer à l\u0026rsquo;association et générer vos premiers djis (Ɉ) : https://foopgp.org/fr/about/join/ Présents : Jean-Jacques B, François R, Laurent C.\nOrdre du jour prochaine visio mardi 14 avril 2026 à 21h sur NextCloud : https://cloud.foopgp.org/call/yfomgu8q Note : Si problème, on ne retrouve sur notre salon JITSI : https://meet.jit.si/foopgp (pas auto-hébergé, mais fournit (sans contrepartie financière obligatoire) par des professionnels libristes européens, sur des serveurs qui tiennent la charge).\nPrésentation nouvel outil : visualiseur de djis : https://foopgp.org/dji-viewer/ (merci Didier). Présentation nouvel page dans le support de présentation : Inégalités en 2022 et comparaison depuis 1998 Points habituels : (revue de presse + déplacements et actions réalisés, en cours, ou à prévoir). Ordres du soir (mardi 7 avril) Revue de presse. Point sur les participations et démonstrations publiques. Communication. Actions réalisés, en cours, à prévoir. Stingynalty Graphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Pour avril, en appliquant la formule du règlement intérieur , j = log₂(d+1) / stingynalty :\n$ bl-foopgp --verbose giftarray --with-header --max 11 bl-foopgp: Info: stingynalty=1.11597215534802776295 | EUR | DJI | |--------------|--------------| | 1.00 € | 89.6079 cɈ | | 1.17 € | 100.0000 cɈ | | 2.00 € | 142.0252 cɈ | | 3.70 € | 200.0000 cɈ | | 5.00 € | 231.6332 cɈ | | 9.19 € | 300.0000 cɈ | | 10.00 € | 309.9926 cɈ | | 20.00 € | 393.5866 cɈ | | 21.07 € | 400.0000 cɈ | | 46.84 € | 500.0000 cɈ | | 50.00 € | 508.2945 cɈ | | 100.00 € | 596.6288 cɈ | | 102.67 € | 600.0000 cɈ | | 200.00 € | 685.5952 cɈ | | 223.70 € | 700.0000 cɈ | | 486.00 € | 800.0000 cɈ | | 500.00 € | 803.6640 cɈ | | 1000.00 € | 893.1429 cɈ | | 1054.53 € | 900.0000 cɈ | | 2000.00 € | 982.6862 cɈ | | 2286.77 € | 1000.0000 cɈ | | 4957.52 € | 1100.0000 cɈ | Rappel, si vous avez déjà cotisé, il faut appliquer la formule :\njₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nConfer règlement intérieur .\nEt pour cela, il faut utiliser les options \u0026ndash;tokens et \u0026ndash;gifts :\n$ bl-foopgp giftarray --help Usage: bl-foopgp giftarray [OPTIONS] Afficher un tableau indiquant combien de djis (Ɉ) seront créés à partir d’une cotisation en euros (€). OPTIONS: -t, --tokens DJISUM Définir la base de djis (Ɉ) déjà créés (par défaut : 0) -g, --gifts EURSUM Définir la base des montants déjà cotisés en euros (€) (par défaut : 0) -m, --max VALUE Définir une limite en nombre de djis ciblés (par défaut : 12) -M, --max-line NUM Limiter le nombre de lignes (par défaut : 24) -H, --header-only Afficher uniquement la ligne d’en-tête, puis quitter. -F, --with-header Afficher également la ligne d’en-tête et une ligne de séparation au début du tableau. Chiffres de l’association Au 31 décembre 2025, en utilisant le script ./tools/gifts-stats.sh dans la blockchain qui gère les jetons Ɉ.\nTotal members : 40 - Total certified members : 16 / 40 Total contribs : 70 - Total certified contribs : 33 / 70 Total contribution : 59503.14 € - Total certified contribution : 50812.51 € / 59503.14 € Total created : 236.044486 Ɉ - Total certified created : 129.063714 Ɉ / 236.044486 Ɉ Revue de presse Cybermalveillance.gouv.fr publie son rapport 2025 : https://www.cybermalveillance.gouv.fr/tous-nos-contenus/actualites/rapport-activite-2025 Opération de sensibilisation au hameçonnage : https://www.cybermalveillance.gouv.fr/tous-nos-contenus/actualites/action-prevention-cactus-2026 Cybersécurité et IA : l’inquiétude monte chez les décideurs : https://www.linformaticien.com/magazine/cybersecurite/64676-cybersecurite-et-ia-l-inquietude-monte-chez-les-decideurs.html Orange Business intègre la détection des deepfakes : https://www.linformaticien.com/magazine/cybersecurite/64683-orange-business-integre-la-detection-de-deepfakes.html Docaposte veut développer l’Indice de Résilience Numérique (IRN) : https://www.linformaticien.com/magazine/cybersecurite/64687-docaposte-veut-developper-l-irn.html L’État finalise le rachat de Bull : https://www.linformaticien.com/magazine/infra/64679-l-etat-finalise-le-rachat-de-bull.html L’État se tourne résolument vers le cloud : https://www.linformaticien.com/magazine/cloud/64673-l-etat-se-tourne-resolument-vers-le-cloud.html La France renforce sa coopération avec Québec autour de la Souveraineté Numérique : https://www.linformaticien.com/magazine/cybersecurite/64687-docaposte-veut-developper-l-irn.html Le portail Europa de la Commission Européenne victime d’une cyberattaque : https://www.linformaticien.com/magazine/cybersecurite/64669-le-portail-europa-de-la-commission-europeenne-cible-d-une-cyberattaque.html Le chiffrement est possible sur l’ADN : https://www.linformaticien.com/magazine/cybersecurite/64678-le-chiffrement-est-possible-sur-l-adn.html (Ça sent gros le poisson d’avril ! ;-) https://www.youtube.com/watch?v=M1U8zkYX1II )\nNous signons avec #HalteALObsolescenceProgrammee et une coalition d\u0026rsquo;associations contre l\u0026rsquo;obsolescence une tribune dans le monde sur l\u0026rsquo;arrêt des réseaux 2G / 3G et les conséquences sociales et environnementales de cette obsolescence voulue par des opérateurs télécoms et poussée par des entreprises à qui elle profite. Nous exigeons que nos réseaux soient protégés de ces dynamiques de profit, et soient enfin gérés comme des communs numériques !\nhttps://www.lemonde.fr/article-offert/e947ab7a6cf6-6675608/arret-de-la-2g-et-de-la-3g-nous-exigeons-des-garde-fous https://mamot.fr/@LaQuadrature/116324644583744593 Proton lance une alternative à Google Workspace : https://www.linformaticien.com/magazine/logiciel/64680-proton-lance-une-alternative-a-google-workspace.html L\u0026rsquo;affaire OnlyOffice vs Euro-Office devient un cas d\u0026rsquo;école et pourrait clarifier l\u0026rsquo;AGPLv3\n\u0026gt; Le conflit entre OnlyOffice et le consortium Euro-Office soulève une question que le monde du logiciel libre n\u0026rsquo;a jamais vraiment tranchée. Jusqu\u0026rsquo;où un auteur peut-il imposer ses conditions dans une licence open source sans créer une contradiction interne ?\nhttps://www.clubic.com/actualite-607399-l-affaire-onlyoffice-vs-euro-office-devient-un-cas-d-ecole-et-pourrait-clarifier-l-agplv3.html https://framapiaf.org/@marnic/116353237174731967 TDF ejects its core developers?!\nIn an exciting episode of the ongoing saga of The Document Foundation (TDF), their Membership Committee has decided that in order to grow the community and accelerate its mission – it would be fitting to eject from membership all Collabora staff and partners.\nThis is indeed April the 1st, but sadly this really is a summary of where we are now at; a double April Fool as it were.\nhttps://www.collaboraonline.com/blog/tdf-ejects-its-core-developers/ Ideally, we would have preferred to avoid this post. However, the articles and comments published in response to Collabora’s and Michael Meeks’ biased posts compel us to provide this background information on the events that led to the current situation.\nhttps://blog.documentfoundation.org/blog/2026/04/05/lets-put-an-end-to-the-speculation/ transport.data.gouv.fr/ une des principales \u0026ldquo;startup d\u0026rsquo;État\u0026rdquo;, qui permet aux collectivités de diffuser à tous les acteurs leurs horaires de transports en commun, sur le point de fermer (mise en \u0026ldquo;maintenance\u0026rdquo;, on sait ce que ça veut dire\u0026hellip;). L\u0026rsquo;abandon d\u0026rsquo;un service public aussi crucial est grave et en dit long sur l\u0026rsquo;incapacité de l\u0026rsquo;État à pérenniser des services impactants et utiles. https://teamopendata.org/t/passage-en-maintenance-de-transport-data-gouv-fr/4891 https://framapiaf.org/@Olivierb/116324873620841398 Au cœur de la réunion On a une salle pour l’AG en dessous d’ACI à Gap. Merci Patrice et ACI. On a un nouveau laptop - Merci Fred Z. La quasi-totalité de nos paquets sont fonctionnels tel quel sur Linux Mint (et donc à priori sur Ubuntu). Il manque cependant de tirer la dépendance à scdaemon pour faire fonctionner les yubikeys. Il faudrait se rapprocher de l’association France paiements , à laquelle sont membres quelques entreprises travaillant sur l’identité numérique européenne, par exemple France Titres (ANTS), afin de leur vendre OpenPGP ID. La solution la plus ouverte, et la seule décentralisée (qui respecte donc les citoyens et présente moins de risque de glissement vers une dystopie totalitaire). L’estimation de la valeur future du dji (sous condition d’atteindre en nombre d’adhérent un échantillon significatif d’acteur économique) a été recalculé : 1 Ɉ \u0026gt; 2369.31 € La cotisation en ligne est enfin possible : Avec le graphique interactif de calcul 1ère cotisation en euros (€) ↔ gain en dji (Ɉ) : https://api.foopgp.org/onboarding/contribution Sans le graphique mais avec la possibilité d’indiquer un parrain, ce qui vous permet par exemple d’offrir des djis pour vos proches, tout en recevant une commission : https://donate.stripe.com/fZedSWfT74RP0sE288 François N’OUBLIE PAS D’ORGANISER UN PODCAST RADIO sur foopgp + djibian :-). Préparation de notre prochaine AG. Il faudra renouveler la quasi totalité du CA Rappeler qui n’est pas à jour de ses cotisations Notons que la page de cotisation en ligne est bientôt en prod : https://api.foopgp.org/onboarding/contribution Rappel statuts https://foopgp.org/fr/about/status/ Actions en cours Gestion communauté + Communication (y’en aura jamais assez)(merci Isore et Goyave) Prospection / gestion commerciale (3 en cours). Frontend : gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Backend : Fonctionnalités pour consulter ses comptes en djis (Ɉ), faire des paiement en (Ɉ) (grâce à OpenPGP + yubikeys). Backend : génération de svg avec données OpenPGP ID à intégrer dans vos cartes de visite Collecte d’ordinateurs dotés de Windows obsolètes, pour y installer Djibian (le système qui nous respecte !). Clôture comptable 2025. (grosses) Actions terminées Cf. “Au cœur de la réunion”.\nAMF Nous sommes toujours dans le cadre des “exemptions qui permettent aux émetteurs d’alléger, voire de supprimer le formalisme” de l’article 4, titre II . Agenda Dimanche 19 avril : AG foopgp. Samedi 25 avril à Gap : Débat + démonstration : monnaie libre, djibian, dji. 30 et 31 mai à Lyon : https://www.jdll.org/ … agenda du libre ","permalink":"/fr/assembly/2026-04-07-weekly-report/","tags":null,"title":"2026 S15 Rapport Hebdomadaire"},{"categories":null,"contents":"Présents : Jean-Jacques B, François R, Laurent C, Goyave.\nOrdre du jour prochaine visio mardi 7 avril 2026 à 21h sur NextCloud : https://cloud.foopgp.org/call/yfomgu8q Note : Si problème, on ne retrouve sur notre salon JITSI : https://meet.jit.si/foopgp (pas auto-hébergé, mais fournit (sans contrepartie financière obligatoire) par des professionnels libristes européens, sur des serveurs qui tiennent la charge).\nPoints habituels : (revue de presse + déplacements et actions réalisés, en cours, ou à prévoir). Ordres du soir (mardi 31 mars) Préparation AG Check-list atelier Revue de presse. Point sur les participations et démonstrations publiques. Communication. Actions réalisés, en cours, à prévoir. Stingynalty Graphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Pour avril, en appliquant la formule du règlement intérieur , j = log₂(d+1) / stingynalty :\n$ bl-foopgp --verbose giftarray --with-header --max 11 bl-foopgp: Info: stingynalty=1.11597215534802776295 | EUR | DJI | |--------------|--------------| | 1.00 € | 89.6079 cɈ | | 1.17 € | 100.0000 cɈ | | 2.00 € | 142.0252 cɈ | | 3.70 € | 200.0000 cɈ | | 5.00 € | 231.6332 cɈ | | 9.19 € | 300.0000 cɈ | | 10.00 € | 309.9926 cɈ | | 20.00 € | 393.5866 cɈ | | 21.07 € | 400.0000 cɈ | | 46.84 € | 500.0000 cɈ | | 50.00 € | 508.2945 cɈ | | 100.00 € | 596.6288 cɈ | | 102.67 € | 600.0000 cɈ | | 200.00 € | 685.5952 cɈ | | 223.70 € | 700.0000 cɈ | | 486.00 € | 800.0000 cɈ | | 500.00 € | 803.6640 cɈ | | 1000.00 € | 893.1429 cɈ | | 1054.53 € | 900.0000 cɈ | | 2000.00 € | 982.6862 cɈ | | 2286.77 € | 1000.0000 cɈ | | 4957.52 € | 1100.0000 cɈ | Rappel, si vous avez déjà cotisé, il faut appliquer la formule :\njₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nConfer règlement intérieur .\nEt pour cela, il faut utiliser les options \u0026ndash;tokens et \u0026ndash;gifts :\n$ bl-foopgp giftarray --help Usage: bl-foopgp giftarray [OPTIONS] Afficher un tableau indiquant combien de djis (Ɉ) seront créés à partir d’une cotisation en euros (€). OPTIONS: -t, --tokens DJISUM Définir la base de djis (Ɉ) déjà créés (par défaut : 0) -g, --gifts EURSUM Définir la base des montants déjà cotisés en euros (€) (par défaut : 0) -m, --max VALUE Définir une limite en nombre de djis ciblés (par défaut : 12) -M, --max-line NUM Limiter le nombre de lignes (par défaut : 24) -H, --header-only Afficher uniquement la ligne d’en-tête, puis quitter. -F, --with-header Afficher également la ligne d’en-tête et une ligne de séparation au début du tableau. Chiffres de l’association Au 31 décembre 2025, en utilisant le script ./tools/gifts-stats.sh dans la blockchain qui gère les jetons Ɉ.\nTotal members : 40 - Total certified members : 16 / 40 Total contribs : 70 - Total certified contribs : 33 / 70 Total contribution : 59503.14 € - Total certified contribution : 50812.51 € / 59503.14 € Total created : 236.044486 Ɉ - Total certified created : 129.063714 Ɉ / 236.044486 Ɉ Revue de presse L’Etat Français se tourne résolument vers le cloud : https://www.linformaticien.com/magazine/cloud/64673-l-etat-se-tourne-resolument-vers-le-cloud.html Euro-Office, nouvelle alternative à Micro$oft Office : https://www.linformaticien.com/magazine/biz-it/64659-euro-office-cette-nouvelle-alternative-a-microsoft-office-2.html Le portail Europa de la Commission Européenne cible d’une cyberattaque : https://www.linformaticien.com/magazine/cybersecurite/64669-le-portail-europa-de-la-commission-europeenne-cible-d-une-cyberattaque.html The Supreme Court just sent a clear message: ISPs are NOT copyright police. That’s a win for internet access, online speech, and creativity. https://www.eff.org/deeplinks/2026/03/supreme-court-agrees-eff-isps-dont-have-be-copyright-enforcers https://mastodon.social/@eff/116297363793810591 Mistral AI lève 830 M$ de dette pour acheter des GPU Nvidia : https://www.linformaticien.com/magazine/biz-it/64662-mistral-ai-leve-830-m-de-dette.html Petite vidéo qui explique la supériorité des systèmes GNU/Linux sur Windows : https://www.youtube.com/watch?v=HIQlut8AeuI Meta et Google condamnés en tant que “plateforme addictives” par la cour civile de … Los Angeles : https://www.linformaticien.com/magazine/tendances/951-reseaux-sociaux/64650-plateformes-addictives-meta-et-google-condamnes.html Instagram et YouTube, jugés responsables d\u0026rsquo;avoir alimenté la dépression d\u0026rsquo;une adolescente américaine, condamnés à une amende d\u0026rsquo;au moins trois millions de dollars https://www.franceinfo.fr/internet/reseaux-sociaux/instagram-et-youtube-juges-responsables-d-avoir-alimente-la-depression-d-une-adolescente-americaine-condamnes-a-une-amende-d-au-moins-trois-millions-de-dollars_7893986.html https://mamot.fr/@Steve12L/116291276145376243 https://www.lemonde.fr/pixels/article/2026/03/25/instagram-et-youtube-juges-responsables-de-la-depression-d-une-adolescente-condamnes-a-verser-au-moins-3-millions-de-dollars-a-la-plaignante_6674264_4408996.html Retirée en 2 heures : l\u0026rsquo;incroyable échec de la dernière mise à jour #Windows 11. Alors que #Mictosoft tente de redorer son image en matière de fiabilité, le correctif récent pour Windows 11 sème déjà le trouble chez les utilisateurs. En cause : un bug critique ayant poussé l’entreprise à faire machine arrière… https://www.clubic.com/actualite-606835-retiree-en-2-heures-l-incroyable-echec-de-la-derniere-mise-a-jour-windows-11.html Pourquoi continuer à utiliser les produits privateurs de Microsoft alors qu\u0026rsquo;il existe des équivalents libres? https://framapiaf.org/@TeddyTheBest/116317620361130425 Fivetran fait don de SQLMesh à la Linux Fondation : https://www.linformaticien.com/magazine/logiciel/64647-fivetran-fait-don-de-sqlmesh-a-la-linux-foundation.html Allemagne : le format ODF obligatoire dans l’administration https://www.zdnet.fr/blogs/l-esprit-libre/allemagne-le-format-odf-obligatoire-dans-ladministration-492348.htm Un succès pour les formats ouverts et la Document Foundation (LibreOffice) https://mamot.fr/@tnoisette/116268971064690005 Berlin impose le format ODF à toute son administration. Le format propriétaire de Microsoft disparaît de la liste officielle. Ce n\u0026rsquo;est pas un détail technique : c\u0026rsquo;est une décision politique qui pourrait faire basculer toute l\u0026rsquo;Europe. https://www.clubic.com/actualite-605653-l-allemagne-impose-l-odf-et-exclut-le-format-microsoft-la-souverainete-numerique-commence-par-vos-fichiers.html https://mastodon.social/@Ash_Crow/116277784105483245 La licence CoLibre était depuis 2008 une licence professionnelle préparant aux métiers de la communication et à la conduite de projet, en utilisant des logiciels libres. Cette licence est non reconduite. Le communiqué de l\u0026rsquo;équipe https://valise.april.org/index.php/s/Ekme7k7K6cjTJW3 « Nous ne pensons pas que la décision de réaccréditer la licence soit réversible. Toutefois nous pensons qu’il est possible de disséminer cette belle expérience » Gros soutien à l\u0026rsquo;équipe @equipe_colibre https://pouet.couchet.org/@frederic/116260837185622865 Souhaitons que la # fermeture annoncée de la licence pro #CoLibre pour la rentrée 2027-2028 soit une opportunité pour disséminer 18 ans d\u0026rsquo;expérience de la formation à la #communication avec des logiciels libres et éthiques. Le communiqué de l\u0026rsquo;équipe pédagogique : https://kdrive.infomaniak.com/app/share/2316166/7aeda2fd-3f6e-4910-a3ae-d9f994310b9c #lyon #université https://mastodon.social/@equipe_colibre/116256384423436722 Au cœur de la réunion La présentation faite lors du dernier atelier (sur la page de l’évènement ) : https://foopgp.org/documents/fr/20260330-presentation-djibian.pdf L’estimation de la valeur future du dji (sous condition d’atteindre en nombre d’adhérent un échantillon significatif d’acteur économique) a été recalculé : 1 Ɉ \u0026gt; 2369.31 € La raison principale de la disparition de Sebastien Picardeau concerne notre problème de trésorerie ! Et justement, la cotisation en ligne est enfin possible : Avec le graphique interactif de calcul 1ère cotisation en euros (€) ↔ gain en dji (Ɉ) : https://api.foopgp.org/onboarding/contribution Sans le graphique mais avec la possibilité d’indiquer un parrain, ce qui vous permet par exemple d’offrir des djis pour vos proches tout en recevant une commission : https://donate.stripe.com/fZedSWfT74RP0sE288 Rappel : pas à jour de ses cotisations ⇒ pas de droit de vote à l’AG (+ pas de dividende universel, mais cette fonctionnalité n’est hélas toujours pas implémenté. Faute de temps, ou de moyens… alors cotisez, c’est pour vous que nous travaillons ! ) Découverte de KDE connect et de scrcpy en remplacement de “Micro$oft Phone Link” ou “Mobile Connecté” ou “Your phone”. François N’OUBLIE PAS D’ORGANISER UN PODCAST RADIO sur foopgp + djibian :-). Préparation de notre prochaine AG. Il faudra renouveler la quasi totalité du CA Rappeler qui n’est pas à jour de ses cotisations Rappel statuts https://foopgp.org/fr/about/status/ Actions en cours Gestion communauté + Communication (y’en aura jamais assez)(merci Isore et Goyave) Prospection / gestion commerciale (3 en cours). Frontend : gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Backend : Fonctionnalités pour consulter ses comptes en djis (Ɉ), faire des paiement en (Ɉ) (grâce à OpenPGP + yubikeys). Backend : generation de svg avec données OpenPGP ID à intégrer dans vos cartes de visite Collecte d’ordinateurs dotés de Windows obsolètes, pour y installer Djibian (le système qui nous respecte !). Clôture comptable 2025. (grosses) Actions terminées Cf. “Au cœur de la réunion”.\nAMF Nous sommes toujours dans le cadre des “exemptions qui permettent aux émetteurs d’alléger, voire de supprimer le formalisme” de l’article 4, titre II . Agenda Dimanche 19 avril à 16 heures : AG foopgp. Samedi 25 avril à Gap : Débat + démonstration : monnaie libre, djibian, dji. 30 et 31 mai à Lyon : https://www.jdll.org/ … agenda du libre ","permalink":"/fr/assembly/2026-03-31-weekly-report/","tags":null,"title":"2026 S14 Rapport Hebdomadaire"},{"categories":null,"contents":"Venez découvrir et prendre en main votre avenir numérique Foopgp a sélectionné et développé des outils, intégrés dans un système d\u0026rsquo;exploitation GNU/Linux (Debian Blends) dénommé Djibian .\nDjibian est aujourd\u0026rsquo;hui le système le plus avancé dans l\u0026rsquo;utilisation des clés de sécurités OpenPGP, tel que la YubiKey 5 NFC.\nAutrement dit : Djibian est le système d\u0026rsquo;exploitation grand public le plus sûr et respectueux de votre singularité humaine.\nRendez-vous samedi 28 mars à Tallard, pour 1- Découvrir pourquoi construire et partager ces nouveaux outils.\n2- Donner naissance à votre identité OpenPGP ID , la sécuriser avec votre YubiKey , et l\u0026rsquo;utiliser avec votre ordinateur ou votre smartphone.\nAinsi vous commencerez à reprendre vraiment le contrôle sur vos données qui, sinon, permettent aujourd\u0026rsquo;hui à des corporations étrangères et peu scrupuleuses de vous contrôler.\nInstall party Nous mettons à disposition quelques ordinateurs reconditionnés sous Djibian , que vous pourrez acheter, en euros (€) ou en djis (Ɉ) .\nSi vous avez des ordinateurs qui rament, qui buguent ou qui vous espionnent (tous Windows ou MacOS par exemple), nous vous aiderons aussi à les désinfecter en y installant Djibian. (N\u0026rsquo;oubliez pas de sauvegarder vos données auparavant.)\nProgramme \u0026mdash; 11h00 \u0026mdash; Présentation Djibian Concepts et terminologie : Linux, OpenPGP, YubiKey, Monnaie Libre, dji (Ɉ). Previous Next \u0026nbsp; \u0026nbsp; / [pdf] View the PDF file here. \u0026mdash; 12h30 \u0026mdash; Repas partagé \u0026mdash; 14h00 \u0026mdash; Atelier Djibian Démarrez votre ordinateur. Créez et imprimez votre identité OpenPGP ID . Configurez la YubiKey ou la Nitrokey qui sécurisera votre singularité dans l\u0026rsquo;univers numérique. Utilisez cette clé pour : Créer votre compte sur le système Djibian et vous authentifier sur différents services (SSH, Git). Signer vos documents et courriels . Chiffrer et déchiffrer vos documents et courriels . Certifier vos proches et étendre votre toile de confiance . Vérifier la signature de documents ou courriels. Bonus : consulter ses comptes en djis (Ɉ) . \u0026mdash; 17h30 \u0026mdash; pot de clôture S\u0026rsquo;inscrire L\u0026rsquo;atelier demandant une certaine préparation (tables, branchements, ordinateurs), les places sont limitées.\nPour vous inscrire, merci d\u0026rsquo;envoyer un SMS au 07 56 83 22 15 . Exemple :\nBonjour, je souhaite [x] place(s) pour [l\u0026#39;atelier|la présentation|la présentation et l\u0026#39;atelier] du 28 mars. Au plaisir de vous rencontrer ! :-)\n","permalink":"/fr/event/2026-02-28-atelier-djiian/","tags":null,"title":"Présentation + Atelier grand public Djibian"},{"categories":null,"contents":"Présents : Jean-Jacques B, François R, Laurent C, Josué.\nOrdre du jour prochaine visio mardi 31 mars 2026 à 21h sur NextCloud : https://cloud.foopgp.org/call/yfomgu8q Note : Si problème, on se retrouve sur notre salon JITSI : https://meet.jit.si/foopgp (pas auto-hébergé, mais fournit (sans contrepartie financière obligatoire) par des professionnels libristes européens, sur des serveurs qui tiennent la charge).\nPréparation AG du 19 avril Points habituels : (revue de presse + déplacements et actions réalisés, en cours, ou à prévoir). Ordres du soir (mardi 24 mars) Préparation AG Check-list atelier Revue de presse. Point sur les participations et démonstrations publiques. Communication. Actions réalisés, en cours, à prévoir. Stingynalty Graphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Pour mars, en appliquant la formule du règlement intérieur , j = log₂(d+1) / stingynalty :\n$ bl-foopgp --verbose giftarray --with-header --max 11 bl-foopgp: Info: stingynalty=1.11042005507266444075 | EUR | DJI | |--------------|--------------| | 1.00 € | 90.0560 cɈ | | 1.16 € | 100.0000 cɈ | | 2.00 € | 142.7353 cɈ | | 3.67 € | 200.0000 cɈ | | 5.00 € | 232.7914 cɈ | | 9.07 € | 300.0000 cɈ | | 10.00 € | 311.5426 cɈ | | 20.00 € | 395.5545 cɈ | | 20.74 € | 400.0000 cɈ | | 45.92 € | 500.0000 cɈ | | 50.00 € | 510.8359 cɈ | | 100.00 € | 599.6119 cɈ | | 100.31 € | 600.0000 cɈ | | 200.00 € | 689.0231 cɈ | | 217.72 € | 700.0000 cɈ | | 471.24 € | 800.0000 cɈ | | 500.00 € | 807.6823 cɈ | | 1000.00 € | 897.6086 cɈ | | 1018.60 € | 900.0000 cɈ | | 2000.00 € | 987.5997 cɈ | | 2200.40 € | 1000.0000 cɈ | | 4752.00 € | 1100.0000 cɈ | Rappel, si vous avez déjà cotisé, il faut appliquer la formule :\njₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nConfer règlement intérieur .\nEt pour cela, il faut utiliser les options \u0026ndash;tokens et \u0026ndash;gifts :\n$ bl-foopgp giftarray --help Usage: bl-foopgp giftarray [OPTIONS] Afficher un tableau indiquant combien de djis (Ɉ) seront créés à partir d’une cotisation en euros (€). OPTIONS: -t, --tokens DJISUM Définir la base de djis (Ɉ) déjà créés (par défaut : 0) -g, --gifts EURSUM Définir la base des montants déjà cotisés en euros (€) (par défaut : 0) -m, --max VALUE Définir une limite en nombre de djis ciblés (par défaut : 12) -M, --max-line NUM Limiter le nombre de lignes (par défaut : 24) -H, --header-only Afficher uniquement la ligne d’en-tête, puis quitter. -F, --with-header Afficher également la ligne d’en-tête et une ligne de séparation au début du tableau. Chiffres de l’association Au 31 décembre 2025, en utilisant le script ./tools/gifts-stats.sh dans la blockchain qui gère les jetons Ɉ.\nTotal members: 40 - Total certified members: 16 / 40 Total contribs: 70 - Total certified contribs: 33 / 70 Total contribution: 59503.14 € - Total certified contribution: 50812.51 € / 59503.14 € Total created: 236.044486 Ɉ - Total certified created: 129.063714 Ɉ / 236.044486 Ɉ Revue de presse Une initiative locale pour sécuriser son ordinateur et ses données : https://www.ledauphine.com/science-et-technologie/2026/03/22/une-initiative-locale-pour-securiser-son-ordinateur-et-ses-donnees Risques que fait peser le vibe coding sur l’open source : https://www.lemagit.fr/conseil/Ces-risques-que-fait-peser-le-vibe-coding-sur-lopen-source Fuite : L’Enseignement Catholique https://bonjourlafuite.eu.org/#Enseignement%20Catholique-2026-03-21 « StravaLeaks » : le porte-avions « Charles-de-Gaulle » localisé en temps réel par « Le Monde » grâce à l’application de sport https://www.lemonde.fr/international/article/2026/03/19/stravaleaks-le-porte-avions-charles-de-gaulle-localise-en-temps-reel-par-le-monde-grace-a-l-application-de-sport_6672445_3210.html Est-ce que ça vaut la peine de dépenser des milliards pour offrir un nouveau porte-avions à la marine qui n\u0026rsquo;est même pas capable d\u0026rsquo;empêcher ses troufions de révéler la position de leur raffiot avec leurs applis de sport ? Le fleuron de la marine nationale repéré par le premier internaute venu, c\u0026rsquo;est pas un peu ridicule ? An open-source intelligence investigation into how Meta Platforms built a multi-channel influence operation to pass age verification laws that shift regulatory burden from social media platforms onto Apple and Google\u0026rsquo;s app stores. https://github.com/upper-up/meta-lobbying-and-other-findings https://masto.hackers.town/@drwho/116224951346479868 L’ANSSI lance le référenciel ReCyF pour anticiper sur NIS2 : https://www.linformaticien.com/magazine/cybersecurite/64628-l-anssi-lance-un-referentiel-recyf-pour-anticiper-sur-nis-2.html SAP lance son cloud souverain avec Bleu : https://www.linformaticien.com/magazine/cloud/64621-sap-lance-son-cloud-souverain-en-france-avec-bleu.html Le Cispe appelle à préférer les fournisseurs de cloud européens : https://www.linformaticien.com/magazine/cloud/64617-le-cispe-appelle-a-preferer-les-fournisseurs-de-cloud-europeens.html Ionos et Nextcloud s’allient autour d’une suite souveraine : https://www.linformaticien.com/magazine/cloud/64616-ionos-et-nextcloud-s-allient-autour-d-une-suite-souveraine.html Un écart entre la détection des cyberattaques et leurs confinements : https://www.linformaticien.com/magazine/cybersecurite/64610-un-ecart-entre-la-detection-des-cyberattaques-et-leur-confinement.html Au cœur de la réunion On est dans le journal : https://www.ledauphine.com/science-et-technologie/2026/03/22/une-initiative-locale-pour-securiser-son-ordinateur-et-ses-donnees Atelier, stand et conf. acceptés pour le JDLL (30 et 31 Mai à Lyon).\n“Disparition” de piseb. Causes ? sécurité ? chenilles processionnaires menaçant ses chiens ? (En contact avec Katia, merci à toi).\nPréparation de notre prochaine AG.\nIl faudra renouveler la quasi totalité du CA\nRappeler qui n’est pas à jour de ses cotisations - Notons que la page de cotisation en ligne est bientôt en prod : https://api.foopgp.org/onboarding/contribution Rappel statuts https://foopgp.org/fr/about/status/ Démo djis pour Josué\nGrille de tarif NextCloud de Ionos : https://www.ionos.fr/solutions-bureau/herbergement-managed-nextcloud#packs Rendez-vous le 28 mars à Tallard https://foopgp.org/fr/event/2026-02-28-atelier-djiian/ Actions en cours Gestion communauté + Communication (y’en aura jamais assez)(merci Isore) Prospection / gestion commerciale (4 en cours). Refonte processus cotisations via stripe (CB/mastercard/visa) pour appel à cotisation. Frontend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Backend: Fonctionnalités pour consulter ses comptes en djis (Ɉ), faire des paiement en (Ɉ) (grâce à OpenPGP + yubikeys). Backend: generation de svg avec données OpenPGP ID à intégrer dans vos cartes de visite Collecte d’ordinateurs dotés de Windows obsolètes, pour y installer Djibian (le système qui nous respecte !). Clôture comptable 2025. (grosses) Actions terminées Cf. “Au cœur de la réunion”.\nAMF Nous sommes toujours dans le cadre des “exemptions qui permettent aux émetteurs d’alléger, voire de supprimer le formalisme” de l’article 4, titre II . Agenda Samedi 28 mars de 11h à 17h30 : 2nd atelier grand public autour de Gap (prendre en main djibian GNU/Linux + yubikeys OpenPGP) https://foopgp.org/fr/event/2026-02-28-atelier-djiian/ Dimanche 19 avril : AG foopgp. 30 et 31 mai à Lyon : https://www.jdll.org/ … agenda du libre ","permalink":"/fr/assembly/2026-03-24-weekly-report/","tags":null,"title":"2026 S13 Rapport Hebdomadaire"},{"categories":null,"contents":"Présents : Jean-Jacques B, Sébastien P, François R, Laurent C.\nOrdre du jour prochaine visio mardi 24 mars 2026 à 21h sur NextCloud : https://cloud.foopgp.org/call/yfomgu8q Note : Si problème, on ne retrouve sur notre salon JITSI : https://meet.jit.si/foopgp (pas auto-hébergé, mais fournit (sans contrepartie financière obligatoire) par des professionnels libristes européens, sur des serveurs qui tiennent la charge).\nPreparation de notre AG, le dimanche 19 avril. Check-list atelier du 28 mars. Points habituels : (revue de presse + déplacements et actions réalisés, en cours, ou à prévoir). Ordres du soir (mardi 17 mars) Revue de presse. Point sur les participations et démonstrations publiques. Communication. Actions réalisés, en cours, à prévoir. Stingynalty Graphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Pour mars, en appliquant la formule du règlement intérieur , j = log₂(d+1) / stingynalty :\n$ bl-foopgp --verbose giftarray --with-header --max 11 bl-foopgp: Info: stingynalty=1.11042005507266444075 | EUR | DJI | |--------------|--------------| | 1.00 € | 90.0560 cɈ | | 1.16 € | 100.0000 cɈ | | 2.00 € | 142.7353 cɈ | | 3.67 € | 200.0000 cɈ | | 5.00 € | 232.7914 cɈ | | 9.07 € | 300.0000 cɈ | | 10.00 € | 311.5426 cɈ | | 20.00 € | 395.5545 cɈ | | 20.74 € | 400.0000 cɈ | | 45.92 € | 500.0000 cɈ | | 50.00 € | 510.8359 cɈ | | 100.00 € | 599.6119 cɈ | | 100.31 € | 600.0000 cɈ | | 200.00 € | 689.0231 cɈ | | 217.72 € | 700.0000 cɈ | | 471.24 € | 800.0000 cɈ | | 500.00 € | 807.6823 cɈ | | 1000.00 € | 897.6086 cɈ | | 1018.60 € | 900.0000 cɈ | | 2000.00 € | 987.5997 cɈ | | 2200.40 € | 1000.0000 cɈ | | 4752.00 € | 1100.0000 cɈ | Rappel, si vous avez déjà cotisé, il faut appliquer la formule :\njₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nConfer règlement intérieur .\nEt pour cela, il faut utiliser les options \u0026ndash;tokens et \u0026ndash;gifts :\n$ bl-foopgp giftarray --help Usage: bl-foopgp giftarray [OPTIONS] Afficher un tableau indiquant combien de djis (Ɉ) seront créés à partir d’une cotisation en euros (€). OPTIONS: -t, --tokens DJISUM Définir la base de djis (Ɉ) déjà créés (par défaut : 0) -g, --gifts EURSUM Définir la base des montants déjà cotisés en euros (€) (par défaut : 0) -m, --max VALUE Définir une limite en nombre de djis ciblés (par défaut : 12) -M, --max-line NUM Limiter le nombre de lignes (par défaut : 24) -H, --header-only Afficher uniquement la ligne d’en-tête, puis quitter. -F, --with-header Afficher également la ligne d’en-tête et une ligne de séparation au début du tableau. Chiffres de l’association Au 31 décembre 2025, en utilisant le script ./tools/gifts-stats.sh dans la blockchain qui gère les jetons Ɉ.\nTotal members: 40 - Total certified members: 16 / 40 Total contribs: 70 - Total certified contribs: 33 / 70 Total contribution: 59503.14 € - Total certified contribution: 50812.51 € / 59503.14 € Total created: 236.044486 Ɉ - Total certified created: 129.063714 Ɉ / 236.044486 Ɉ Revue de presse Ces initiatives pour se passer des Big Tech américaines : https://www.lemonde.fr/pixels/article/2026/03/14/j-ai-decide-de-faire-mes-adieux-a-gmail-ces-initiatives-pour-se-passer-des-big-tech-americaines_6671142_4408996.html ChatGPT Edu : les métadonnées de projets d’universitaires visibles par leurs collègues\nhttps://next.ink/228595/chatgpt-edu-les-metadonnees-de-projets-duniversitaires-visibles-par-leurs-collegues/ https://next.ink/227655/des-espions-russes-et-cybercriminels-chinois-ont-recupere-un-logiciel-espion-lie-a-la-nsa/ https://framapiaf.org/@sebsauvage/116177421025229519 https://techcrunch.com/2026/03/03/a-suite-of-government-hacking-tools-targeting-iphones-is-now-being-used-by-cybercriminals/ https://m.g3l.org/@MedBel/116172470999091339 Chrome cut down on their ad-blocker compatibility (so now there\u0026rsquo;s only uBlock Origin Lite for Chrome) but Firefox is still fully compatible.\nhttps://www.404media.co/cbp-tapped-into-the-online-advertising-ecosystem-to-track-peoples-movements/ (archived link: https://archive.ph/jcYw6 )\nhttps://hachyderm.io/@reillypascal/116167231592548516 430 chercheurs en sécurité informatique de 32 pays ont publié une lettre ouverte réclamant un moratoire sur les systèmes de vérification d\u0026rsquo;âge en ligne. Parmi eux, des chercheurs français d\u0026rsquo;Inria, de l\u0026rsquo;École polytechnique et de Télécom Paris.\nhttps://www.clubic.com/actualite-603631-dangereux-et-socialement-inacceptable-des-experts-s-opposent-au-deploiement-precipite-des-controles-d-age.html Je ne sais pas ce qui m’atterre le plus : le projet de contrôle, ou l\u0026rsquo;imbécillité des commentaires qui n\u0026rsquo;ont rien compris à base de \u0026ldquo;yaka couper la 4g aux ados!\u0026rdquo; et \u0026ldquo;céla faute aux parents\u0026rdquo; https://mamot.fr/@matiu_bidule/116201094949907850 “Governments should halt plans to roll out age checks on online services until privacy and security concerns are addressed, hundreds of academics said today” https://alecmuffett.com/article/147820 https://bsky.brid.gy/r/https://bsky.app/profile/did:plc:pqu2e7tcsysxrlkarhfm3z5u/post/3mg5q4bd3it2x Hackers Expose The Massive Surveillance Stack Hiding Inside Your “Age Verification” Check https://www.techdirt.com/2026/02/25/hackers-expose-the-massive-surveillance-stack-hiding-inside-your-age-verification-check/ https://mastodon.scot/@kim_harding/116148905370418618 Swiss e-voting pilot can\u0026rsquo;t count 2,048 ballots after USB keys fail to decrypt them\nhttps://www.theregister.com/2026/03/11/swiss_evote_usb_snafu/ https://mamot.fr/@Khrys/116212460334175416 De manière assez convaincante bien que sur un échantillon restreint (5 articles de conférence), une étude récente montre que le fait de fournir le code source avec un #dockerfile pour en obtenir une image Docker échoue à garantir une reproductibilité des résultats en quelques mois. En chargeant les dernières versions de paquets issus de gestionnaires qui sont en soi non reproductibles, cette \u0026ldquo;recette\u0026rdquo; ne peut construire que des images qui varient assez vite avec le temps\nhttps://dl.acm.org/doi/10.1145/3736731.3746146 https://mastodon.social/@SO_UnivRennes/116099261330273727 A quick reminder that you really need to have your fortinet firewalls behind a firewall https://thehackernews.com/2026/03/fortigate-devices-exploited-to-breach.html?m=1 https://infosec.exchange/@jerry/116207206899860403 Nouveau label “France Cybersecurity” : https://www.linformaticien.com/magazine/cybersecurite/64604-le-label-france-cybersecurity-distingue-91-solutions-de-confiance.html AntemetA développe un nouveau partenariat avec Cohesity pour une souveraineté numérique dans le cloud 100 % française : https://www.linformaticien.com/937-stockage/64594-antemeta-developpe-un-nouveau-service-avec-cohesity.html Souveraineté numérique : l’Europe doit passer de l’intension à l’action : https://www.linformaticien.com/magazine/info-partenaire/64585-tribune-souverainete-numerique-l-europe-doit-passer-de-l-intention-a-la-maitrise-operationnelle.html Oodrive devient “société à mission” : https://www.linformaticien.com/magazine/cybersecurite/64600-oodrive-devient-societe-a-mission.html Les agences portugaises et néerlandaises mettent en garde contre une campagne de cyberattaques menée par un État, visant à infiltrer les plateformes WhatsApp et Signal https://www.linformaticien.com/magazine/cybersecurite/64578-signal-et-whatsapp-dans-le-viseur-de-pirates-russes.html Plan de licenciement massif à venir chez Meta : https://www.linformaticien.com/magazine/biz-it/64597-licenciements-massifs-chez-meta.html Collaboration franco-allemande dans le quantique : https://www.linformaticien.com/magazine/technologie/64599-collaboration-franco-allemande-dans-le-quantique.html DPO et délégation de pouvoir, deux rôles qui ne s\u0026rsquo;annulent pas : https://www.clubic.com/actualite-604765-un-dirigeant-licencie-apres-six-mois-de-piratage-non-detecte-sur-son-site-e-commerce-francais-se-bat-en-justice.html https://next.ink/brief_article/meta-met-fin-aux-messages-chiffres-de-bout-en-bout-sur-instagram/ Lettre ouverte pour garder Android (un peu) ouvert : https://keepandroidopen.org/fr/ un poste de travail sous Linux, une circulaire prône l’open source : https://www.zdnet.fr/blogs/l-esprit-libre/ladministration-etudie-un-poste-de-travail-sous-linux-une-circulaire-prone-lopen-source-quand-cest-pertinent-491866.htm Au cœur de la réunion Préparation de notre AG le 19 avril 2026.\nSun Valley Systems est officiellement distributeur Murena 😃 .\nAutres alternatives à Android : https://android-mt.ouest-france.fr/news/alternatives-a-android-quels-autres-systemes-dexploitation-pour-smartphone/164834/ https://fr.wikipedia.org/wiki/Liste_de_distributions_alternatives_Android https://quelle-alternative.fr/logiciel/android/ https://lineageos.org/ Rendez-vous le 28 mars à Tallard https://foopgp.org/fr/event/2026-02-28-atelier-djiian/ (Merci à Isore pour le flyer ^^)\nNouvelles bashlibs en préprod : quelques bugfixs et 2 nouvelles features\nbl-djibian adduser now support new option \u0026ndash;from-certificate\n-f, --from-certificate FPR Get user data from OpenPGP certificate identified by given FINGERPRINT. nouvelle fonction pour bl-pgpid (permet de factoriser du code et bien pratique pour trouver quelqu’un dans les annuaires/serveurs de clés et synchroniser les certificats locaux) :\n$ bl-pgpid get --help Usage: bl-pgpid get [OPTIONS]... NAME|U4|U5|EMAIL Output fingerprints, emails and OpenPGP universal IDentifier of certificates matching NAME|U4|U5|EMAIL, refreshing local keyring from keyservers. OPTIONS: -F, --fingerprint Output only fingerprints. -E, --email Output only emails. -s, --secret Search through local secret keys instead of public certificate. -m, --errexit-g=1 Return an error if there is more than one (1) entry. - You may replace \u0026#39;1\u0026#39; by an other number. -M, --max-from-keyserv MAX Set maximum matching certificates to receive from keyservers. Par défaut : 100 -T, --ownertrust THRESHOLD Only output fingerprint with ownertrust greater or equal to THRESHOLD. (Not implemented) -H, --homedir GNUPGHOME Répertoire personnel de GnuPG (par défaut : ~/.gnupg). Variable d’environnement : $GNUPGHOME -K, --keyservers KEYSERVERS If non-empty, search and refresh certificate from this keyservers. Par défaut : hkps://keys.foopgp.org hkps://pgp.id:11371 Actions à mener (TODO list) Urgent: Appel à cotisation. Génération des relevés de compte à coller ou glisser dans nos carnets d’échanges. Inscription aux JDLL les 30 et 31 mai à Lyon. Actions en cours Gestion communauté + Communication (y’en aura jamais assez)(merci Isore) Prospection / gestion commerciale (4 en cours). Refonte processus cotisations via stripe (CB/mastercard/visa) pour appel à cotisation. Frontend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Backend: Fonctionnalités pour consulter ses comptes en djis (Ɉ), faire des paiement en (Ɉ) (grâce à OpenPGP + yubikeys). Backend: generation de svg avec données OpenPGP ID à intégrer dans vos cartes de visite Collecte d’ordinateurs dotés de Windows obsolètes, pour y installer Djibian (le système qui nous respecte !). Clôture comptable 2025. (grosses) Actions terminées Cf. “Au cœur de la réunion”.\nAMF Nous sommes toujours dans le cadre des “exemptions qui permettent aux émetteurs d’alléger, voire de supprimer le formalisme” de l’article 4, titre II . Agenda Samedi 28 mars de 11h à 17h30 : 2nd atelier grand public autour de Gap (prendre en main djibian GNU/Linux + yubikeys OpenPGP) https://foopgp.org/fr/event/2026-02-28-atelier-djiian/ Dimanche 19 avril : AG foopgp. 30 et 31 mai à Lyon : https://www.jdll.org/ … agenda du libre ","permalink":"/fr/assembly/2026-03-17-weekly-report/","tags":null,"title":"2026 S12 Rapport Hebdomadaire"},{"categories":null,"contents":"Présents : Jean-Jacques B, Sébastien P, François R, Laurent C.\nOrdre du jour prochaine visio mardi 17 mars 2026 à 21h sur NextCloud : https://cloud.foopgp.org/call/yfomgu8q Note : Si problème, on ne retrouve sur notre salon JITSI : https://meet.jit.si/foopgp (pas auto-hébergé, mais fournit (sans contrepartie financière obligatoire) par des professionnels libristes européens, sur des serveurs qui tiennent la charge).\nPoints habituels : (revue de presse + déplacements et actions réalisés, en cours, ou à prévoir). Ordres du soir (mardi 10 mars) Revue de presse. Point sur les participations et démonstrations publiques. Communication. Actions réalisés, en cours, à prévoir. Stingynalty Graphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Pour mars, en appliquant la formule du règlement intérieur , j = log₂(d+1) / stingynalty :\n$ bl-foopgp --verbose giftarray --with-header --max 11 bl-foopgp: Info: stingynalty=1.11042005507266444075 | EUR | DJI | |--------------|--------------| | 1.00 € | 90.0560 cɈ | | 1.16 € | 100.0000 cɈ | | 2.00 € | 142.7353 cɈ | | 3.67 € | 200.0000 cɈ | | 5.00 € | 232.7914 cɈ | | 9.07 € | 300.0000 cɈ | | 10.00 € | 311.5426 cɈ | | 20.00 € | 395.5545 cɈ | | 20.74 € | 400.0000 cɈ | | 45.92 € | 500.0000 cɈ | | 50.00 € | 510.8359 cɈ | | 100.00 € | 599.6119 cɈ | | 100.31 € | 600.0000 cɈ | | 200.00 € | 689.0231 cɈ | | 217.72 € | 700.0000 cɈ | | 471.24 € | 800.0000 cɈ | | 500.00 € | 807.6823 cɈ | | 1000.00 € | 897.6086 cɈ | | 1018.60 € | 900.0000 cɈ | | 2000.00 € | 987.5997 cɈ | | 2200.40 € | 1000.0000 cɈ | | 4752.00 € | 1100.0000 cɈ | Rappel, si vous avez déjà cotisé, il faut appliquer la formule :\njₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nConfer règlement intérieur .\nEt pour cela, il faut utiliser les options \u0026ndash;tokens et \u0026ndash;gifts :\n$ bl-foopgp giftarray --help Usage: bl-foopgp giftarray [OPTIONS] Afficher un tableau indiquant combien de djis (Ɉ) seront créés à partir d’une cotisation en euros (€). OPTIONS: -t, --tokens DJISUM Définir la base de djis (Ɉ) déjà créés (par défaut : 0) -g, --gifts EURSUM Définir la base des montants déjà cotisés en euros (€) (par défaut : 0) -m, --max VALUE Définir une limite en nombre de djis ciblés (par défaut : 12) -M, --max-line NUM Limiter le nombre de lignes (par défaut : 24) -H, --header-only Afficher uniquement la ligne d’en-tête, puis quitter. -F, --with-header Afficher également la ligne d’en-tête et une ligne de séparation au début du tableau. Chiffres de l’association Au 31 décembre 2025, en utilisant le script ./tools/gifts-stats.sh dans la blockchain qui gère les jetons Ɉ.\nTotal members: 40 - Total certified members: 16 / 40 Total contribs: 70 - Total certified contribs: 33 / 70 Total contribution: 59503.14 € - Total certified contribution: 50812.51 € / 59503.14 € Total created: 236.044486 Ɉ - Total certified created: 129.063714 Ɉ / 236.044486 Ɉ Revue de presse Lenovo a décidé cette année de produire des ordinateurs réparables, qu\u0026rsquo;il vendent directement sous Linux (si on le choisi dans la configuration de la machine lors de l\u0026rsquo;achat).\nAlors j\u0026rsquo;aime pas faire de la pub, et encore moins pour une multinationale… mais comme ça fait 20 ans que je répare des ordinateurs sur lesquels j\u0026rsquo;installe des Linux, j\u0026rsquo;hallucine un peu, c\u0026rsquo;est Noël, j\u0026rsquo;vais me réveiller…\nQuand t\u0026rsquo;as passé 20 ans à militer pour un truc et que finalement le monde change, semble te donner raison, mais que t\u0026rsquo;y es pour rien, ça fait comme un grand vide.\nhttps://fr.ifixit.com/News/115827/new-thinkpads-score-perfect-10-repairability https://piaille.fr/@siltaer/116181946473781946 The Guardian : Quit ChatGPT: right now! Your subscription is bankrolling authoritarianism https://www.theguardian.com/commentisfree/2026/mar/04/quit-chatgpt-subscription-boycott-silicon-valley A GitHub Issue Title Compromised 4,000 Developer Machines (grith.ai )\nhttps://lwn.net/Articles/1061548/ #LWN #Linux #security\nhttps://grith.ai/blog/clinejection-when-your-ai-tool-installs-another Pour Huawei la 5G d’abord, la 6G attendra 2030 : https://www.distributique.com/actualites/lire-huawei-la-5g-sa-d-abord-la-6g-attendra-2030-37045.html Apple renoue avec l’entrée de gamme en laçant le MacBook Neo : https://www.distributique.com/actualites/lire-apple-renoue-avec-l-entree-de-gamme-en-lancant-le-macbook-neo-37041.html Pénurie de RAM : vers la fin de l’ère du PC bon marché : https://www.distributique.com/actualites/lire-penurie-de-ram-vers-la-fin-de-l-ere-du-pc-bon-marche-37029.html Les cyberattaques dopées à l’IA se multiplient : https://www.distributique.com/actualites/lire-les-cyberattaques-dopees-a-l-ia-se-multiplient-selon-ibm-x-force-37030.html Pas moins de 22 failles trouvées dans Firefox grâce à l’IA d’Anthropic :\nhttps://www.it-connect.fr/firefox-148-22-failles-de-securite-corrigees-grace-a-ia-claude-opus-4-6/ https://korben.info/claude-danthropic-a-trouve-22-failles-dans-firefox-en-deux-semaines.html https://www.generation-nt.com/actualites/ia-anthropic-failles-firefox-2072065 Nvidia n’investira pas 100 Md$ dans OpenAI : https://www.linformaticien.com/magazine/biz-it/64552-nvidia-n-investira-pas-100-mds-dans-openai-pour-le-moment.html Un nouvel agent IA permet de concevoir des applications par “interaction conversationnelle” : https://www.linformaticien.com/magazine/tendances/941-ia/64553-pega-simplifie-le-vibe-coding.html Verticla Compute lève 57 M€ pour son architecture mémoire 3D : https://www.linformaticien.com/magazine/biz-it/957-levees-de-fonds/64558-vertical-compute-leve-57-m-pour-son-architecture-memoire-3d.html Souveraineté numérique : l’Éducation Nationale signe pour 4 ans de plus avec Micro$oft : https://www.01net.com/actualites/tant-pis-pour-la-souverainete-numerique-leducation-nationale-signe-4-ans-de-plus-avec-microsoft.html Un modèle de maturité pour la souveraineté numérique : https://www.linformaticien.com/magazine/cybersecurite/64549-un-modele-de-maturite-pour-la-gouvernance-du-numerique.html Les grosses boites sont des zombies gavées de crédits privés vérolés (en plus de l argent public)(Merz est l ancien boss europe de black rock) https://www.lemonde.fr/economie/article/2026/03/07/a-wall-street-des-remous-et-inquietudes-sur-l-immense-marche-du-credit-prive_6669881_3234.html candidature de Palantir à la mairie de Clichy : https://blogs.mediapart.fr/thomas-le-bonniec/blog/250226/propos-de-la-candidature-de-palantir-la-mairie-de-clichy Les données de plus d’un million d’élèves de l’UNSS fuitent sur le darknet après une cyberattaque : https://www.linformaticien.com/64550-les-donnees-de-plus-d-un-million-d-eleves-de-l-unss-exposees.html Et sur la plateforme “Cours d’Adultes” de Paris : https://www.linformaticien.com/magazine/cybersecurite/64545-fuite-de-donnees-sur-la-plateforme-cours-d-adultes-de-paris.html Pourquoi les jeunes sont devenus si nuls en informatique https://www.mac4ever.com/societe/187334-pourquoi-les-jeunes-sont-devenus-si-nuls-en-informatique DGFiP : pourquoi les impôts français veulent remplacer Windows par Linux en 2026\nhttps://www.frandroid.com/marques/microsoft/3004473_les-impots-francais-dgfip-pourraient-bien-abandonner-windows Au cœur de la réunion Choix d’une date d’AG → Dimanche 19 avril Un gros article sur djibian devrait bientôt apparaître dans le Dauphiné Libéré. La bascule de la June sur une nouvelle infrastructure est passé. Beaucoup de problèmes techniques, ergonomiques et de sécurité résolus. Cette monnaie libre devrait pouvoir croître à nouveau, jusqu’à une limite de quelques centaine de millier d’utilisateurs. En effet tous les problèmes non informatique de conception demeurent, et les solutions techniques et ergonomiques sont toujours limités, et bien en deçà de ce que foopgp développe et livre avec djibian. Il faudrait désormais que foopgp puissent recruter les meilleurs développeurs d’Axiom Team pour assurer une transition douce de la june vers le dji, que nous pourrions appeler “monnaie libre V3” ! ;-). Mises à jour sur le site web, par exemple : https://foopgp.org/fr/event/2026-02-28-atelier-djiian/ Démonstration de l’investissement en ligne (cotisations à foopgp via stripe, engendrant la réservations de dji, qui seront crée après certification OpenPGP ID). Inscription de l’évènement du 28 mars à l’agenda du libre : https://www.agendadulibre.org/events/34792 Actions à mener (TODO list) Urgent: Appel à cotisation. Génération des relevés de compte à coller ou glisser dans nos carnets d’échanges. Inscription aux JDLL les 30 et 31 mai à Lyon. Actions en cours Gestion communauté + Communication (y’en aura jamais assez)(merci Isore) Prospection et gestion commerciales. (3 en cours) Refonte processus cotisations via stripe (CB/mastercard/visa) pour appel à cotisation. R\u0026amp;D key server : bon contacts avec le développeur principal d’hockeypuck Frontend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Backend: Fonctionnalités pour consulter ses comptes en djis (Ɉ), faire des paiement en (Ɉ) (grâce à OpenPGP + yubikeys). Backend: generation de svg avec données OpenPGP ID à intégrer dans vos cartes de visite Collecte d’ordinateurs dotés de Windows obsolètes, pour y installer Djibian (le système qui nous respecte !). Clôture comptable 2025. (grosses) Actions terminées RAS pour cette semaine\nAMF Nous sommes toujours dans le cadre des “exemptions qui permettent aux émetteurs d’alléger, voire de supprimer le formalisme” de l’article 4, titre II . Agenda Samedi 28 mars de 11h à 17h30 : 2nd atelier grand public autour de Gap (prendre en main djibian GNU/Linux + yubikeys OpenPGP) https://foopgp.org/fr/event/2026-02-28-atelier-djiian/ Dimanche 19 avril : AG foopgp. 30 et 31 mai à Lyon : https://www.jdll.org/ … agenda du libre ","permalink":"/fr/assembly/2026-03-10-weekly-report/","tags":null,"title":"2026 S11 Rapport Hebdomadaire"},{"categories":null,"contents":"Présents : Jean-Jacques B, Sébastien P, François R, Laurent C.\nOrdre du jour prochaine visio mardi 10 mars 2026 à 21h sur NextCloud : https://cloud.foopgp.org/call/yfomgu8q Note : Si problème, on ne retrouve sur notre salon JITSI : https://meet.jit.si/foopgp (pas auto-hébergé, mais fournit (sans contrepartie financière obligatoire) par des professionnels libristes européens, sur des serveurs qui tiennent la charge).\nPoints habituels : (revue de presse + déplacements et actions réalisés, en cours, ou à prévoir). Ordres du soir (mardi 3 mars) Revue de presse. Point sur les participations et démonstrations publiques. Communication. Actions réalisés, en cours, à prévoir. Stingynalty Graphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Pour mars, en appliquant la formule du règlement intérieur , j = log₂(d+1) / stingynalty :\n$ bl-foopgp --verbose giftarray --with-header --max 11 bl-foopgp: Info: stingynalty=1.11042005507266444075 | EUR | DJI | |--------------|--------------| | 1.00 € | 90.0560 cɈ | | 1.16 € | 100.0000 cɈ | | 2.00 € | 142.7353 cɈ | | 3.67 € | 200.0000 cɈ | | 5.00 € | 232.7914 cɈ | | 9.07 € | 300.0000 cɈ | | 10.00 € | 311.5426 cɈ | | 20.00 € | 395.5545 cɈ | | 20.74 € | 400.0000 cɈ | | 45.92 € | 500.0000 cɈ | | 50.00 € | 510.8359 cɈ | | 100.00 € | 599.6119 cɈ | | 100.31 € | 600.0000 cɈ | | 200.00 € | 689.0231 cɈ | | 217.72 € | 700.0000 cɈ | | 471.24 € | 800.0000 cɈ | | 500.00 € | 807.6823 cɈ | | 1000.00 € | 897.6086 cɈ | | 1018.60 € | 900.0000 cɈ | | 2000.00 € | 987.5997 cɈ | | 2200.40 € | 1000.0000 cɈ | | 4752.00 € | 1100.0000 cɈ | Rappel, si vous avez déjà cotisé, il faut appliquer la formule :\njₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nConfer règlement intérieur .\nEt pour cela, il faut utiliser les options \u0026ndash;tokens et \u0026ndash;gifts :\n$ bl-foopgp giftarray --help Usage: bl-foopgp giftarray [OPTIONS] Afficher un tableau indiquant combien de djis (Ɉ) seront créés à partir d’une cotisation en euros (€). OPTIONS: -t, --tokens DJISUM Définir la base de djis (Ɉ) déjà créés (par défaut : 0) -g, --gifts EURSUM Définir la base des montants déjà cotisés en euros (€) (par défaut : 0) -m, --max VALUE Définir une limite en nombre de djis ciblés (par défaut : 12) -M, --max-line NUM Limiter le nombre de lignes (par défaut : 24) -H, --header-only Afficher uniquement la ligne d’en-tête, puis quitter. -F, --with-header Afficher également la ligne d’en-tête et une ligne de séparation au début du tableau. Chiffres de l’association Au 31 décembre 2025, en utilisant le script ./tools/gifts-stats.sh dans la blockchain qui gère les jetons Ɉ.\nTotal members: 40 - Total certified members: 16 / 40 Total contribs: 70 - Total certified contribs: 33 / 70 Total contribution: 59503.14 € - Total certified contribution: 50812.51 € / 59503.14 € Total created: 236.044486 Ɉ - Total certified created: 129.063714 Ɉ / 236.044486 Ɉ Revue de presse La CFDT confirme un vol de données qui concerne aussi les ex-adhérents https://next.ink/brief_article/la-cfdt-confirme-un-vol-de-donnees-qui-concerne-aussi-les-ex-adherents/ https://piaille.fr/@mart1oeil/116103261344210047 Allez une dernière (pour ce vendredi) : nouvelle fuite de PayPal (paiements et transferts de fonds « sécurisés » en ligne), qui a duré 6 mois (!) suite à un bug logiciel. Volume : un petit nombre de personnes (d’après PayPal) de l’application de prêts (PPWC), types de DCP : non indiqués, sans doute au moins identités et moyens de contact. Voir https://www.bleepingcomputer.com/news/security/paypal-discloses-data-breach-exposing-users-personal-information/ https://framapiaf.org/@adwr/116103777840977095 Sur les dernières fuites de données indiquant notamment votre IBAN, déroulez ce fil bluesky pour découvrir une nouvelle manière de sérieusement vous emmerder https://bsky.app/profile/stephpolyb.bsky.social/post/3mf7vqq6cek22 https://mast.eu.org/@dascritch/116098066945410277 Mon mot de passe root est \u0026ldquo;admin\u0026rdquo;. Au moins, comme ça, je ne serais pas piraté, l\u0026rsquo;attaquant ne croira jamais que c\u0026rsquo;est aussi simple. https://frenchbreaches.com/blog/des-acces-a-des-portails-internes-de-la-gendarmerie-et-du-ministere-des-armees-diffuses https://mastodon.gougere.fr/@bortzmeyer/116099321913311479 De manière assez convaincante bien que sur un échantillon restreint (5 articles de conférence), une étude récente montre que le fait de fournir le code source avec un #dockerfile pour en obtenir une image Docker échoue à garantir une reproductibilité des résultats en quelques mois. En chargeant les dernières versions de paquets issus de gestionnaires qui sont en soi non reproductibles, cette \u0026ldquo;recette\u0026rdquo; ne peut construire que des images qui varient assez vite avec le temps https://dl.acm.org/doi/10.1145/3736731.3746146 https://mastodon.social/@SO_UnivRennes/116099261330273727 Une spirale infernale boursière frappe tout ce qui a trait à l\u0026rsquo;IA : les craintes liées aux pertes d\u0026rsquo;emplois massives et aux investissements stériles effacent près de 1 500 milliards de dollars de capitalisation https://www.developpez.net/forums/d2152703-20/general-developpement/algorithme-mathematiques/intelligence-artificielle/fuite-courriel-revele-projet-dystopique-base-fonctionnalite-search-party-cameras-ring/#post12114598 https://piaille.fr/@siltaer/116120459262623971 La CAF : les données de contact relatives à la demande de RSA matricule allocataire nom et prénom(s) du bénéficiaire nom et prénom(s) du responsable du dossier numéro de sécurité sociale date de la demande de RSA date de début des droits et devoirs numéro de téléphone adresse électronique https://bonjourlafuite.eu.org/#Caisse%20d'allocations%20familiales-2026-02-25 Ah tiens c\u0026rsquo;est la DINum qui s\u0026rsquo;est faite poutrer cette fois-ci ! (En laissant sortir les données des bénéficiaires du RSA) https://kulturegeek.fr/news-347835/piratage-lie-caf-expose-donnees-beneficiaires-rsa https://mamot.fr/@klorydryk/116142122310218426 Le ministère de la Santé confirme que les \u0026ldquo;données administratives\u0026rdquo; de 15 millions de Français ont fuité, au lendemain des révélations de France Télévisions. Le hacker affirme avoir volé ces données de la société Cegedim, qui fournit 25 000 cabinets médicaux et 500 centres de santé en France en logiciels, selon une estimation de la CNIL. Il a déclaré avoir signalé les faits à l’entreprise, sans réaction… https://www.franceinfo.fr/sante/le-ministere-de-la-sante-confirme-que-les-donnees-administratives-de-15-millions-de-francais-ont-fuite-au-lendemain-des-revelations-de-france-televisions_7833605.html#xtor=RSS-3-%5Blestitres%5D https://mastodon.social/@paul_denton/116142624635977411 \u0026ldquo;Putting a former Meta lobbyist in charge of rewriting Europe\u0026rsquo;s privacy rules – the so-called GDPR – is unacceptable\u0026rdquo; https://www.brusselstimes.com/1992574/ex-meta-lobbyist-put-in-charge-of-eus-digital-rules-tech-oligarchy-writing-its-own-rulebook https://eupolicy.social/@lobbyctrl_tech/116159625836549208 Un spécialiste de la vérification d\u0026rsquo;identité aurait laissé fuiter les données d’1 milliard de personnes\u0026hellip; donc 52 millions de français (!). https://sebsauvage.net/links/?6dfI7g https://framapiaf.org/@sebsauvage/116102082858582582 Microsoft lâche OpenAI : le divorce tech qui risque de tout faire basculer pour ChatGPT https://www.clubic.com/actualite-600379-microsoft-lache-openai-le-divorce-tech-qui-risque-de-tout-faire-basculer-pour-chatgpt.html Et aussi l\u0026rsquo;éclatement de la bulle «IA». C\u0026rsquo;est pour bientôt ? https://mamot.fr/@Khrys/116074476708269173 États-Unis. “QuitGPT”, la campagne pour résilier son abonnement à ChatGPT, prend de l’ampleur https://www.courrierinternational.com/article/etats-unis-quitgpt-la-campagne-pour-resilier-son-abonnement-a-chatgpt-prend-de-l-ampleur_240494 Lancée sur la plateforme Reddit, une initiative visant à encourager les usagers de ChatGPT à résilier leur abonnement à cet outil d’intelligence artificielle prend de l’ampleur. Le média américain “MIT Technology Review” raconte les motivations de ceux qui suivent ce mouvement, principalement pour s’opposer aux politiques de Trump. https://piaille.fr/@siltaer/116125196007808989 Jean-Baptiste Kempf menace de quitter la France : le créateur de VLC tacle Gérald Darmanin https://www.frandroid.com/actualites-generales/2986099_jean-baptiste-kempf-menace-de-quitter-la-france-le-createur-de-vlc-tacle-gerald-darmanin https://mamot.fr/@Steve12L/116119754180977195 Une collaboration entre Ericson et Apple autour de la 6G : https://www.distributique.com/actualites/lire-une-etroite-collaboration-entre-ericsson-et-apple-autour-de-la-6g-37027.html \u0026ldquo;Lunettes connectées : des scènes d’intimité envoyées aux sous-traitants kényans de Meta\u0026rdquo;\nhttps://next.ink/227179/lunettes-connectees-des-scenes-dintimite-envoyees-aux-sous-traitants-kenyans-de-meta/ (Purin de saloperies d\u0026rsquo;objets connectés de merde.) https://framapiaf.org/@sebsauvage/116165669674584923 Le Medef mise sur une IA souveraine : https://www.linformaticien.com/magazine/tendances/941-ia/64542-le-medef-mise-sur-une-ia-souveraine.html Amazon investi 33.7 Md€ en Espagne : https://www.linformaticien.com/magazine/biz-it/64540-amazon-investit-33-7-mds-en-espagne.html Au cœur de la réunion Grosse participation à l’atelier du 17 février à Échirolles. Gros bug pour la moitié des participants (résolu depuis) mais retour très positifs parmi l’autre moitié. 4 yubikeys vendues. 3 nouveaux participants à l’atelier de samedi 28, 1 djibian installé et 2 yubikeys vendus. 3 prospections en cours. Nextcloud maj → version 32 (Merci Fred 😘 ). Rajout de https pour le dépots de paquets + iso https://djibian.foopgp.org le vieux kimsuffi de Jean-Jacques a été réinstallé pour l’association, en debian 13 puis migré vers djibian. Actions à mener (TODO list) Urgent: Appel à cotisation. Génération des relevés de compte à coller ou glisser dans nos carnets d’échanges. Inscription aux JDLL les 30 et 31 mai à Lyon. Actions en cours Gestion communauté + Communication (y’en aura jamais assez)(merci Isore) Prospection et gestion commerciales. Refonte processus cotisations via stripe (CB/mastercard/visa) pour appel à cotisation. R\u0026amp;D key server pour implémenter nos politiques de gestion des clés publiques : hockeypuck, onak, ou bien encore, pourquoi pas refaire notre propre serveur de clé à partir du digne successeur de thttpd (https://troglobit.com/projects/merecat/ ) , comme je (JJ) l\u0026rsquo;avais fait pour le projet OpenUDC (https://github.com/Open-UDC/thttpgpd ) ! ? Frontend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Backend: Fonctionnalités pour consulter ses comptes en djis (Ɉ), faire des paiement en (Ɉ) (grâce à OpenPGP + yubikeys). Backend: generation de svg avec données OpenPGP ID à intégrer dans vos cartes de visite Site web : nouveau site, axé sur Djibian. Moins technique et plus commercial. Collecte d’ordinateurs dotés de Windows obsolètes, pour y installer Djibian (le système qui nous respecte !). Clôture comptable 2025. (grosses) Actions terminées update djibian-gpgcponfig. Frontend: gestion de la certification refactoring de l’outil de génération de l’ISO → génération plus propre et plus rapide. AMF Nous sommes toujours dans le cadre des “exemptions qui permettent aux émetteurs d’alléger, voire de supprimer le formalisme” de l’article 4, titre II . Agenda 10 mars 19h30 à Gap : https://www.linux-alpes.org/soiree-linux-alpes-a-gap-le-10-mars/ Samedi 28 mars après-midi : 2nd atelier grand public autour de Gap (prendre en main djibian GNU/Linux + yubikeys OpenPGP) https://foopgp.org/fr/event/2026-02-28-atelier-djiian/ 30 et 31 mai à Lyon : https://www.jdll.org/ … agenda du libre ","permalink":"/fr/assembly/2026-03-03-weekly-report/","tags":null,"title":"2026 S10 Rapport Hebdomadaire"},{"categories":null,"contents":"Reprenez le contrôle sur vos données avec les clés de sécurité OpenPGP Foopgp est une organisation qui promeut et facilite l\u0026rsquo;usage des solutions basées sur OpenPGP .\nÀ cette fin, nous avons sélectionné et développé des outils que nous avons intégrés dans un assemblage Debian (Debian Blends) dénommé djibian .\nL\u0026rsquo;atelier vous permettra de découvrir notre stratégie pour contrer certaines dystopies actuelles, et de prendre en main une des solutions pour reprendre le contrôle sur vos données qui, sinon, formatent aujourd\u0026rsquo;hui nos vies.\nObjectifs de l’atelier À partir d\u0026rsquo;un système Djibian GNU/Linux fraîchement installé, nous allons :\nCréer une identité numérique OpenPGP Configurer une clé de sécurité OpenPGP (ex : YubiKey) dans laquelle cette identité sera transposée Utiliser cette clé pour : S’authentifier sur le système djibian ainsi que sur différents services (SSH, Git) Signer des documents et des courriels Chiffrer et déchiffrer des documents et des courriels Vérifier la signature de documents ou de courriels Bonus : réaliser une transaction en djis (Ɉ) ","permalink":"/fr/event/2026-01-05-atelier-djiian/","tags":null,"title":"AlpOSS"},{"categories":null,"contents":"Attention: pas de conseil le mardi 17 février , JJ et piseb rentrant des rencontres d\u0026rsquo;Échirolles .\nPrésents : Jean-Jacques B, Sébastien P, François R, Laurent C.\nOrdre du jour prochaine visio mardi 24 février 2026 à 21h sur NextCloud : https://cloud.foopgp.org/call/yfomgu8q Note : Si problème, on ne retrouve sur notre salon JITSI : https://meet.jit.si/foopgp (pas auto-hébergé, mais fournit (sans contrepartie financière obligatoire) par des professionnels libristes européens, sur des serveurs qui tiennent la charge).\nretour sur les rencontres et l\u0026rsquo;atelier du 17 février. préparation de l\u0026rsquo;atelier du Samedi 28 février, de 14h à 18h à Tallard. Points habituels : (revue de presse + déplacements et actions réalisés, en cours, ou à prévoir). Ordres du soir (mardi 10 février) Retour sur le FOSDEM à Bruxelles (François R) Revue de presse. Point sur les participations et démonstrations publiques. Communication. Actions réalisés, en cours, à prévoir. Stingynalty Graphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Pour février, en appliquant la formule du règlement intérieur , j = log₂(d+1) / stingynalty :\n$ bl-foopgp --verbose giftarray --with-header --max 11 bl-foopgp: Info: stingynalty=1.10489557718673078682 | EUR | DJI | |--------------|--------------| | 1.00 € | 90.5062 cɈ | | 1.16 € | 100.0000 cɈ | | 2.00 € | 143.4490 cɈ | | 3.63 € | 200.0000 cɈ | | 5.00 € | 233.9553 cɈ | | 8.95 € | 300.0000 cɈ | | 10.00 € | 313.1003 cɈ | | 20.00 € | 397.5323 cɈ | | 20.41 € | 400.0000 cɈ | | 45.03 € | 500.0000 cɈ | | 50.00 € | 513.3901 cɈ | | 98.01 € | 600.0000 cɈ | | 100.00 € | 602.6100 cɈ | | 200.00 € | 692.4683 cɈ | | 211.94 € | 700.0000 cɈ | | 456.99 € | 800.0000 cɈ | | 500.00 € | 811.7207 cɈ | | 984.06 € | 900.0000 cɈ | | 1000.00 € | 902.0966 cɈ | | 2000.00 € | 992.5377 cɈ | | 2117.69 € | 1000.0000 cɈ | | 4555.95 € | 1100.0000 cɈ | Rappel, si vous avez déjà cotisé, il faut appliquer la formule :\njₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nConfer règlement intérieur .\nEt pour cela, il faut utiliser les options \u0026ndash;tokens et \u0026ndash;gifts :\n$ bl-foopgp giftarray --help Usage: bl-foopgp giftarray [OPTIONS] Afficher un tableau indiquant combien de djis (Ɉ) seront créés à partir d’une cotisation en euros (€). OPTIONS: -t, --tokens DJISUM Définir la base de djis (Ɉ) déjà créés (par défaut : 0) -g, --gifts EURSUM Définir la base des montants déjà cotisés en euros (€) (par défaut : 0) -m, --max VALUE Définir une limite en nombre de djis ciblés (par défaut : 12) -M, --max-line NUM Limiter le nombre de lignes (par défaut : 24) -H, --header-only Afficher uniquement la ligne d’en-tête, puis quitter. -F, --with-header Afficher également la ligne d’en-tête et une ligne de séparation au début du tableau. Chiffres de l’association Au 31 décembre 2025, en utilisant le script ./tools/gifts-stats.sh dans la blockchain qui gère les jetons Ɉ.\nTotal members: 40 - Total certified members: 16 / 40 Total contribs: 70 - Total certified contribs: 33 / 70 Total contribution: 59503.14 € - Total certified contribution: 50812.51 € / 59503.14 € Total created: 236.044486 Ɉ - Total certified created: 129.063714 Ɉ / 236.044486 Ɉ Revue de presse LibreOffice supporte enfin Markdown et personne n\u0026rsquo;en parle (c\u0026rsquo;est pourtant énorme) https://goodtech.info/libreoffice-26-2-markdown-support-revolution/ https://framapiaf.org/@journalduhacker/116017988057794654 #LibreOffice vient de sortir sa version 26.2 avec plusieurs choses intéressantes :\n- Une nouvelle fois gain général de performances\n- Le multi-utilisateurs pour Base\n- Compatibilité accrue XLSX et import sans limite de taille pour Calc\n- Tri \u0026ldquo;naturel\u0026rdquo; également amélioré\n- Meilleur gestion des conflits, nouveaux alignements \u0026hellip;\n- \u0026hellip; et surtout l\u0026rsquo;import/export en #Markdown pour Writer !\nListe complète des évolutions dans le lien suivant https://wiki.documentfoundation.org/ReleaseNotes/26.2/fr https://framapiaf.org/@danslerush/116012497705086457 Les cornucopiens sont parmi nous ! Mais qui sont-ils ? IA: 285 milliards de dollars partis en fumée : comment Anthropic est en train de tuer le SaaS (et les juniors) : (vidéo 34 minutes) : https://www.youtube.com/watch?v=Nd2pavAegx4 L\u0026rsquo;effet Cantillon, pourquoi les riches restent riches (vidéo en anglais, 8 minutes) : https://www.youtube.com/watch?v=th8mH8ywdTY Sélection du nouvel opérateur de nos données de santé : évincé, Microsoft n’a pas dit son dernier mot : https://www.humanite.fr/societe/assurance-maladie/selection-du-nouvel-operateur-de-nos-donnees-de-sante-evince-microsoft-na-pas-dit-son-dernier-mot fuites : Commission Européenne\nhttps://bonjourlafuite.eu.org/#Commission%20Europ%C3%A9enne-2026-02-09 fuites : La Carte Avantage Jeune\nhttps://bonjourlafuite.eu.org/#La%20Carte%20Avantage%20Jeune-2026-02-09 https://discord.com/press-releases/discord-launches-teen-by-default-settings-globally https://www.theverge.com/tech/875309/discord-age-verification-global-roll-out https://mastodon.social/@jeremyjackson/116041162828794654 https://www.lemonde.fr/pixels/article/2026/02/03/les-locaux-francais-de-x-perquisitionnes-dans-le-cadre-d-une-enquete-pour-cybercriminalite_6665203_4408996.html https://mstdn.social/@slpng_giants_fr/116006262143667661 Plus d’un tiers des Français utilise l’IA générative tous les jours - Next\nhttps://next.ink/223463/plus-dun-tiers-des-francais-utilise-lia-generative-tous-les-jours/ Retrouvez toute notre veille sur l\u0026rsquo;IA sur https://curation.framamia.org STMicroelectronics renforce son partenariat avec AWS (donc \u0026hellip; Amazon) : https://www.linformaticien.com/magazine/tendances/941-ia/64449-stmicroelectronics-renforce-son-partenariat-strategique-avec-aws.html Capgemini étend son partenariat avec \u0026hellip; Google Cloud : https://www.linformaticien.com/magazine/biz-it/64444-capgemini-etend-son-partenariat-avec-google-cloud.html Deutsche Telecom inaugure son industrial IA factory : https://www.linformaticien.com/magazine/tendances/941-ia/64448-deutsche-telekom-inaugure-son-industrial-ai-factory-a-munich.html Le Bachelor IA de l\u0026rsquo;Université de Troyes reconnu par la Commission des Titres d\u0026rsquo;Ingénieur : https://www.linformaticien.com/magazine/tendances/941-ia/64443-le-bachelor-ia-de-l-utt-reconnu-cti.html Des doubleurs français obtiennent la suppression de leurs voix clonées par une plateforme américaine\nhttps://www.telerama.fr/cinema/des-doubleurs-francais-obtiennent-la-suppression-de-leurs-voix-clonees-par-une-plateforme-americaine-7029610.php https://mastodon.tetaneutral.net/@Natouille/116029312586502843 Nice trick:\nSome #maths #researchers wanted to test how good #LLMs would perform in finding actually new solutions to research questions. So they took some questions that they had recently solved themselves, but where they hadn\u0026rsquo;t published the results, yet, so the LLM wouldn\u0026rsquo;t be able to find the solution online, yet.\nMuch to the surprise of no one, the #AI failed, badly.\nhttps://www.heise.de/news/Kann-KI-neue-Mathe-Erkenntnisse-liefern-Spitzenforscher-machen-den-Test-11170432.html https://infosec.exchange/@oots/116041725117450946 Debian verrouille son infrastructure face à l’appétit insatiable des bots d’IA\nhttps://www.it-connect.fr/debian-verrouille-son-infrastructure-face-a-appetit-insatiable-des-bots-ia/ https://framapiaf.org/@journalduhacker/116040599197456178 AI conferences restrict the use of AI in conference papers. My kind of humor .\nhttps://tldr.nettime.org/@festal/116003081545335631 La schadenfreude du jour : le krach du bitcoin.\nhttps://www.lesechos.fr/finance-marches/marches-financiers/la-chute-des-cryptos-fait-tanguer-le-plus-grand-detenteur-mondial-de-bitcoins-2214394 https://mastodon.social/@Zestryon/116024189918498982 BMW qui invente des vis avec leur logo sur la tête pour embêter les réparateurs. https://fr.ifixit.com/News/115528/bmws-newest-innovation-is-a-logo-shaped-middle-finger-to-right-to-repair “Ça me grille le cerveau” : des écoliers français ont renoncé dix jours aux écrans\nhttps://www.courrierinternational.com/reveil/2026-02-07#article-4 https://mstdn.fr/@Grrr/116040076330536317 \u0026ldquo;Pour ne plus être dépendante des solutions logicielles états-uniennes et acquérir une véritable souveraineté numérique, la Ville de Lyon s\u0026rsquo;est engagée dans une transformation majeure de ses outils numériques.\u0026rdquo;\nhttps://www.lyon.fr/actualite/action-municipale/la-ville-de-lyon-renforce-sa-souverainete-numerique https://mamot.fr/@bearstech/116041917389782312 NIS 2 bientôt présenté à l\u0026rsquo;Assemblée Nationale : https://www.linformaticien.com/magazine/cybersecurite/64431-nis-2-bientot-au-menu-de-l-assemblee-nationale.html Nutamix disponible sur Bare Metal d\u0026rsquo;OVH qualifiée SecNumCloud : https://www.linformaticien.com/magazine/infra/64446-nutanix-disponible-sur-secnumcloud.html Au cœur de la réunion Encore une vidéo de Maël : https://foopgp.org/fr/blog/2026-02-10-djibian-tour/ Un journaliste est passé dans nos bureaux. On attend notre premier article dans le dauphiné libéré.\nDémo certification au niveau du frontend (pour l\u0026rsquo;atelier du 17 février).\nIl y a encore des places pour l\u0026rsquo;atelier du 17 février : https://framaforms.org/atelier-technique-reprenez-le-controle-sur-vos-donnees-avec-les-cles-de-securite-openpgp-1769177764 Age de quelques développeurs les plus indispensables pour tenir et maintenir Internet et notre monde aujourd\u0026rsquo;hui numérique :\nLinus Torvald (Linux) : 28 décembre 1969 (56 ans) Chet Ramey (Bash) : 1965 (~ 60 ans) Werner Koch (GnuPG) : July 11, 1961 (age 64) Gros effort sur la communication en cours ; l\u0026rsquo;heure des démos et de la vente de support/formation est venue. On manque de ressources (temps) et de talents (\u0026ldquo;community manager\u0026rdquo;) pour propager cette bonne parole !\nPar exemple notre page linkedIn : https://www.linkedin.com/company/foopgp Actions à mener (TODO list) Urgent: Appel à cotisation. Urgent: Gestion de nos communautés, communication. Urgent: Prospection et gestion commerciales. Génération des relevés de compte à coller ou glisser dans nos carnets d’échanges. Actions en cours Communication (manque de ressources) R\u0026amp;D key server pour implémenter nos politiques de gestion des clés publiques : hockeypuck, onak, ou bien encore, pourquoi pas refaire notre propre serveur de clé à partir du digne successeur de thttpd (https://troglobit.com/projects/merecat/ ) , comme je (JJ) l\u0026rsquo;avais fait pour le projet OpenUDC (https://github.com/Open-UDC/thttpgpd ) ! ? Frontend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Frontend: gestion de la certification Backend: Traductions (françaises) Backend: Fonctionnalités pour consulter ses comptes en djis (Ɉ), faire des paiement en (Ɉ) (grâce à OpenPGP + yubikeys). Backend: generation de svg avec données OpenPGP ID à intégrer dans vos cartes de visite Site web : nouveau site, axé sur Djibian. Moins technique et plus commercial. Collecte d’ordinateurs dotés de Windows obsolètes, pour y installer Djibian (le système qui nous respecte !). Clôture comptable 2025. (grosses) Actions terminées update djibian-gpgcponfig. Backend: gestion de la certification Mise au propre de L\u0026rsquo;ISO fournit AMF Nous sommes toujours dans le cadre des “exemptions qui permettent aux émetteurs d’alléger, voire de supprimer le formalisme” de l’article 4, titre II . Agenda mardi 17 février 2026 : https://alposs.fr/ à Échirolles - on fera une démo : https://pretalx.com/alposs-2026/talk/KTNMTA/ Samedi 28 février après-midi : premier atelier grand public autour de Gap (prendre en main djibian GNU/Linux + yubikeys OpenPGP) … agenda du libre ","permalink":"/fr/assembly/2026-02-10-weekly-report/","tags":null,"title":"2026 S07 Rapport Hebdomadaire"},{"categories":["News"],"contents":"Note : L\u0026rsquo;innovation majeure « OpenPGP ID » est présenté dans le post précédent . Restez informé en vous inscrivant à nos listes de diffusion .\n✨ Djibian : sûr, léger, rapide et intuitif. En plus d\u0026rsquo;être le seul système d\u0026rsquo;exploitation qui vous respecte , Djibian a été pensé pour tous.\nEn effet : Djibian combine légèreté, simplicité et efficacité pour transformer votre expérience informatique en un vrai plaisir au quotidien.\nCe que vous allez découvrir dans cette video : Un bureau XFCE élégant et intuitif\nNaviguez facilement grâce à ses menus clairs et ses applications par défaut prêtes à l’emploi.\nInstallation de logiciels en un clic\nAvec l’application Logiciels, ajoutez vos applications favorites en toute simplicité.\nDes performances étonnantes pour vos jeux\nMême sur un PC modeste, profitez d’une expérience fluide et réactive.\nLa suite LibreOffice complète\nPour créer facilement documents, tableaux et présentations comme un pro.\nYour browser does not support the video tag. Installer La dernière ISO est ici : http://iso.foopgp.org/djibian/latest .\nNote : le mot de passe de l\u0026rsquo;utilisateur par défaut est : foopgp\nSi vous souhaitez par vous-mêmes installer djibian, nous vous conseillons d\u0026rsquo;utiliser Ventoy .\nSinon nous vous conseillons de vous fournir auprès de nos partenaires . Notamment :\nSun Valley Systems à Gap . Tester Si vous êtes déjà sous Debian, vous pouvez installer nos logiciels en rajoutant notre dépôt de paquets .\n","permalink":"/fr/blog/2026-02-10-djibian-tour/","tags":["djibian","debian"],"title":"Visite guidée (Jour 1)"},{"categories":null,"contents":"Présents : Jean-Jacques B, Sébastien P, François R.\nExcusé :* Laurent C.*\nOrdre du jour prochaine visio mardi 10 février 2026 à 21h sur JITSI : https://meet.jit.si/foopgp Note : Si problème, on ne retrouve sur notre salon NextCloud : https://cloud.foopgp.org/call/yfomgu8q (qui fonctionne à nouveau, quoique toujours un peu sous dimensionné).\nPoints habituels : (revue de presse + déplacements et actions réalisés, en cours, ou à prévoir). Ordres du soir (mardi 3 février) Retour sur le FOSDEM à Bruxelles (François R) Revue de presse. Point sur les participations et démonstrations publiques. Communication. Actions réalisés, en cours, à prévoir. Stingynalty Graphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Pour février, en appliquant la formule du règlement intérieur , j = log₂(d+1) / stingynalty :\n$ bl-foopgp --verbose giftarray --with-header --max 11 bl-foopgp: Info: stingynalty=1.10489557718673078682 | EUR | DJI | |--------------|--------------| | 1.00 € | 9.05062 dɈ | | 1.16 € | 10.00000 dɈ | | 2.00 € | 14.34490 dɈ | | 3.63 € | 20.00000 dɈ | | 5.00 € | 23.39553 dɈ | | 8.95 € | 30.00000 dɈ | | 10.00 € | 31.31003 dɈ | | 20.00 € | 39.75323 dɈ | | 20.41 € | 40.00000 dɈ | | 45.03 € | 50.00000 dɈ | | 50.00 € | 51.33901 dɈ | | 98.01 € | 60.00000 dɈ | | 100.00 € | 60.26100 dɈ | | 200.00 € | 69.24683 dɈ | | 211.94 € | 70.00000 dɈ | | 456.99 € | 80.00000 dɈ | | 500.00 € | 81.17207 dɈ | | 984.06 € | 90.00000 dɈ | | 1000.00 € | 90.20966 dɈ | | 2000.00 € | 99.25377 dɈ | | 2117.69 € | 100.00000 dɈ | | 4555.95 € | 110.00000 dɈ | Rappel, si vous avez déjà cotisé, il faut appliquer la formule :\njₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nConfer règlement intérieur .\nEt pour cela, il faut utiliser les options \u0026ndash;tokens et \u0026ndash;gifts :\n$ bl-foopgp giftarray --help Usage: bl-foopgp giftarray [OPTIONS] Afficher un tableau indiquant combien de djis (Ɉ) seront créés à partir d’une cotisation en euros (€). OPTIONS: -t, --tokens DJISUM Définir la base de djis (Ɉ) déjà créés (par défaut : 0) -g, --gifts EURSUM Définir la base des montants déjà cotisés en euros (€) (par défaut : 0) -m, --max VALUE Définir une limite en nombre de djis ciblés (par défaut : 12) -M, --max-line NUM Limiter le nombre de lignes (par défaut : 24) -H, --header-only Afficher uniquement la ligne d’en-tête, puis quitter. -F, --with-header Afficher également la ligne d’en-tête et une ligne de séparation au début du tableau. Chiffres de l’association Au 31 décembre 2025, en utilisant le script ./tools/gifts-stats.sh dans la blockchain qui gère les jetons Ɉ.\nTotal members: 40 - Total certified members: 16 / 40 Total contribs: 70 - Total certified contribs: 33 / 70 Total contribution: 59503.14 € - Total certified contribution: 50812.51 € / 59503.14 € Total created: 236.044486 Ɉ - Total certified created: 129.063714 Ɉ / 236.044486 Ɉ Revue de presse France 24 produit une série de reportages et interviews pour aider à prendre conscience et à aller vers la souveraineté numérique :\nhttps://www.france24.com/fr/%C3%A9co-tech/20260129-souverainet%C3%A9-num%C3%A9rique-1-3-menace-donald-trump-r%C3%A9veil-pays-europ%C3%A9ens https://www.france24.com/fr/%C3%A9co-tech/20260130-souverainete-numerique-entreprise-dependance-gafam-europe-alternatives https://www.france24.com/fr/%C3%A9co-tech/20260131-souverainet%C3%A9-num%C3%A9rique-3-3-2-les-citoyens-europ%C3%A9ens-pris-au-pi%C3%A8ge-des-big-tech-am%C3%A9ricaines Du coté de l\u0026rsquo;ANSSI :\nhttps://messervices.cyber.gouv.fr/guides/ANSSI-views-on-crypto-agility https://cyber.gouv.fr/actualites/fiabiliser-la-v%C3%A9rification-didentit%C3%A9-%C3%A0-distance-avec-leuropean-digital-identity-wallet/ La Fédération nationale des chasseurs porte plainte après avoir subi une cyberattaque - ICI\nhttps://www.francebleu.fr/infos/faits-divers-justice/la-federation-nationale-des-chasseurs-porte-plainte-apres-avoir-subi-une-cyberattaque-1933480 149M Logins and Passwords Exposed Online Including Financial Accounts, Instagram, Facebook, Roblox, Dating Sites, and More.\nhttps://www.expressvpn.com/blog/149m-infostealer-data-exposed/ https://mamot.fr/@Steve12L/115951376663657497 Match Group, the owner of multiple popular online dating services, Tinder, Match.com , Meetic, OkCupid, and Hinge, confirmed a cybersecurity incident that compromised user data.\nhttps://www.bleepingcomputer.com/news/security/match-group-breach-exposes-data-from-hinge-tinder-okcupid-and-match/ France Travail écope de 5 millions d’euros d’amende pour sa gigantesque fuite de données - Next | #francetravail #cybersécurité #amende #cnil https://next.ink/221664/france-travail-ecope-de-5-millions-deuros-damende-pour-sa-gigantesque-fuite-de-donnees/ https://mastodon.social/@alatitude77/115979117387530160 Capgemini met en vente sa filiale travaillant pour la police de l’immigration américaine, l’ICE\nhttps://www.lemonde.fr/economie/article/2026/02/01/capgemini-met-en-vente-sa-filiale-travaillant-pour-la-police-de-l-immigration-americaine-l-ice_6664972_3234.html https://mastodon.tetaneutral.net/@Natouille/115995540003332674 https://www.mediapart.fr/journal/economie-et-social/290126/le-geant-de-l-informatique-capgemini-conspue-de-toute-part-pour-ses-liens-avec-la-sinistre-ice https://framapiaf.org/@metaphys/115980816203275770 États-Unis : après Capgemini, les groupes français Thalès et Parrot sont accusés de fournir des services à ICE https://www.humanite.fr/monde/etats-unis/etats-unis-apres-capgemini-les-groupes-francais-thales-et-parrot-sont-accuses-de-fournir-des-services-a-ice https://mamot.fr/@Khrys/115994215803676720 « C’est officiel : stocker [nos] données en Europe ne sert à rien face aux USA »\n#privacy #data #vieprivée #souverainté #cloud\nhttps://www.mac4ever.com/web/193689-c-est-officiel-stocker-vos-donnees-en-europe-ne-sert-a-rien-face-aux-usa https://framapiaf.org/@pylapp/116006149239279918 Vous vous souvenez des moqueries quand on accusait nos téléphones de nous écouter à notre insu? Google a accepté de payer 68 millions de dollars (!) pour régler un recours collectif qui alléguait que l\u0026rsquo;assistant vocal du géant de la technologie avait enregistré illégalement des utilisateurs et ensuite partagé leurs conversations privées avec les annonceurs https://www.cbsnews.com/news/google-voice-assistant-lawsuit-settlement-68-million https://mastodon.social/@paul_denton/116001043448443298 Huit doubleureuses français·es mettent en demeure deux sociétés d’IA pour avoir cloné leur voix\nhttps://www.lemonde.fr/pixels/article/2026/02/03/huit-doubleurs-francais-mettent-en-demeure-deux-societes-d-ia-pour-avoir-clone-leur-voix_6665183_4408996.html https://mamot.fr/@Khrys/116005636773909983 À l’entrée à l’université, 40% des étudiants sont en deçà du niveau attendu, et en sortie de licence, 52% des étudiants ne maîtrisent pas les usages numériques nécessaires à leur poursuite d’études ou à leur insertion sur le marché du travail. Parmi les compétences soulevant des difficultés : vérifier la fiabilité d’une information en ligne ou connaître ses droits en matière de protection des données.\nhttps://theconversation.com/illectronisme-les-difficultes-des-jeunes-face-au-numerique-273606 https://pouet.chapril.org/@syll/115978477592147638 Au cœur de la réunion On arrête plus Mael dans le montage vidéo : https://foopgp.org/fr/solutions/theme-email/ https://foopgp.org/fr/blog/2026-01-19-djibian-release/ Nouvelle fonctionnalité fournie par le backend : la certification (traduction française en cours) : $ bl-pgpid certify --help Utilisation : bl-pgpid certify [OPTIONS]... [TARGET_U4|TARGET_U5] [TARGET_KEYFPR] Certifier une autre personne, identifiée par son OpenPGP ID TARGET_U4 Les informations manquantes seront demandées de manière interactive. E.g.: Civil status to calculate TARGET_U4. La certification signifie : je confirme que ce certificat appartient bien à cette personne réelle. Cela implique de vérifier l’état civil ainsi que l’empreinte de la clé publique de la personne ciblée. Cela permet d’étendre et de renforcer votre toile de confiance ainsi que celle de vos proches. This is a commitment: the more you certify, the more you increase your reputation, but if you do it wrong, you will ruin your credibility. OPTIONS: -u, --use-privkey NAME|KEYID Select private key to use. Par défaut : Guess it from connected token, else ask. -R, --revoke Révoquer vos certifications précédentes sur le certificat d’une autre personne. -G, --vouch Assumer la responsabilité des actions (éventuellement illégales) de la personne ciblée. Identique à \u0026#39;--vouch-for ALL\u0026#39;. (Not implemented yet) -g, --vouch-for DOMAIN Assumer des responsabilités légales supplémentaires concernant la personne ciblée (Not implemented yet) -l, --local « Non-exportable » certification. Pretty useless. Allow to less affect credibility. -f, --force-sign-key Allow to unrevoke or to change vouching. -k, --keyserver KEYSERVER Si non vide, recevoir et envoyer le certificat mis à jour vers ce serveur de clés. Par défaut : hkps://keys.foopgp.org. -H, --homedir GNUPGHOME Répertoire personnel de GnuPG (par défaut : ~/.gnupg). Variable d’environnement : $GNUPGHOME. Les inscription à l\u0026rsquo;atelier du 17 février sont ouvertes : https://framaforms.org/atelier-technique-reprenez-le-controle-sur-vos-donnees-avec-les-cles-de-securite-openpgp-1769177764 Gros effort sur la communication en cours ; l\u0026rsquo;heure des démos et de la vente de support/formation est venue. On manque de ressources (temps) et de talents (\u0026ldquo;community manager\u0026rdquo;) pour propager cette bonne parole ! Par exemple notre page linkedIn : https://www.linkedin.com/company/foopgp Actions à mener (TODO list) Urgent: Appel à cotisation. Urgent: Gestion de nos communautés, communication. Urgent: Prospection et gestion commerciales. Génération des relevés de compte à coller ou glisser dans nos carnets d’échanges. Actions en cours Communication (manque de ressources) Frontend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Frontend: gestion de la certification Backend: Fonctionnalités pour consulter ses comptes en djis (Ɉ), faire des paiement en (Ɉ) (grâce à OpenPGP + yubikeys). Backend: generation de svg avec données OpenPGP ID à intégrer dans vos cartes de visite Site web : nouveau site, axé sur Djibian. Moins technique et plus commercial. Collecte d’ordinateurs dotés de Windows obsolètes, pour y installer Djibian (le système qui nous respecte !). Clôture comptable 2025. (grosses) Actions terminées Backend: gestion de la certification Mise au propre de L\u0026rsquo;ISO fournit AMF Nous sommes toujours dans le cadre des “exemptions qui permettent aux émetteurs d’alléger, voire de supprimer le formalisme” de l’article 4, titre II . Agenda mardi 17 février 2026 : https://alposs.fr/ à Échirolles - on fera une démo : https://pretalx.com/alposs-2026/talk/KTNMTA/ Samedi 28 février après-midi : premier atelier grand public autour de Gap (prendre en main djibian GNU/Linux + yubikeys OpenPGP) … agenda du libre ","permalink":"/fr/assembly/2026-02-03-weekly-report/","tags":null,"title":"2026 S06 Rapport Hebdomadaire"},{"categories":null,"contents":"Note : Des sessions grand public de cet atelier sont ouvertes régulièrement, voir la page « évènements » .\nReprenez le contrôle sur vos données avec les clés de sécurité OpenPGP Foopgp a sélectionné et développé des outils, intégrés dans un système d\u0026rsquo;exploitation GNU/Linux (Debian Blends) dénommé Djibian .\nDjibian est aujourd\u0026rsquo;hui le système d\u0026rsquo;exploitation grand public le plus sûr et respectueux de votre singularité humaine.\nL\u0026rsquo;atelier vous permettra de donner naissance à votre identité OpenPGP ID et de prendre en main Djibian et votre clé de sécurité OpenPGP , YubiKey ou NitroKey.\nNotez que ces clés sont ensuite utilisables à travers de nombreuses applications sur la plupart des autres systèmes d\u0026rsquo;exploitation (Android, Windows, Mac OS, etc.).\nAinsi vous commencerez à reprendre vraiment le contrôle sur vos données qui, sinon, permettent aujourd\u0026rsquo;hui à des corporations étrangères et peu scrupuleuses de vous contrôler.\nObjectifs de l’atelier À partir d\u0026rsquo;un système Djibian GNU/Linux fraîchement installé, nous allons :\nCréer votre identité OpenPGP ID . Configurer la YubiKey ou la Nitrokey qui sécurisera votre singularité dans l\u0026rsquo;univers numérique. Utiliser cette clé pour : Créer votre compte sur le système Djibian et s’authentifier sur différents services (SSH, Git). Signer vos documents et courriels . Chiffrer et déchiffrer vos documents et courriels . Certifier vos proches et étendre votre toile de confiance . Vérifier la signature de documents ou courriels. Bonus : consulter ses comptes en djis (Ɉ) . Install party Nous mettons à disposition quelques ordinateurs reconditionnés sous Djibian , que vous pourrez acheter, en euros (€) ou en djis (Ɉ) .\nSi vous avez des ordinateurs qui rament, qui buguent ou qui vous espionnent (tous Windows ou MacOS par exemple), nous vous aiderons aussi à les désinfecter en y installant Djibian. (N\u0026rsquo;oubliez pas de sauvegarder vos données auparavant.)\nS\u0026rsquo;inscrire Pour plus d\u0026rsquo;information, merci d\u0026rsquo;envoyer un email ou un SMS au 07 56 83 22 15 . Exemple :\nBonjour, j\u0026#39;aimerais suivre un atelier Djibian/Yubikey/OpenPGP... Avis J\u0026rsquo;ai appris énormément de chose 😎. (Clément, étudiant)\nEn remplaçant Windows par Djibian sur mon laptop vieux de 5 ans, je me suis retrouvé avec une machine qui marche du feu de Dieu ! Je me sens plus efficace, moins espionné, et grâce à ma YubiKey, je crois que je suis vraiment en train de reprendre le contrôle sur mes données. Face aux algorithmes, aux IA et à tous ces écrans qui nous influencent, nous changent ou nous manipulent, les projets portés par cette association m\u0026rsquo;ont donné de l\u0026rsquo;espoir : celui de nous permettre de retrouver nos singularités. Autrement dit : la liberté fondamentale d\u0026rsquo;être ou de redevenir nous-mêmes. Respect, bravo à eux. (Olivier, jeune retraité actif)\n","permalink":"/fr/course/djibian-openpgp/","tags":null,"title":"Atelier Djibian + OpenPGP"},{"categories":null,"contents":"Présents : Jean-Jacques B, Laurent C, Sébastien P, François R.\nOrdre du jour prochaine visio mardi 03 février 2026 à 21h sur JITSI : https://meet.jit.si/foopgp Note : Si problème, on ne retrouve sur notre salon NextCloud : https://cloud.foopgp.org/call/yfomgu8q (qui fonctionne à nouveau, quoique toujours un peu sous dimensionné).\nRetour sur le FOSDEM (François R) Points habituels : (revue de presse + déplacements et actions réalisés, en cours, ou à prévoir). Ordres du soir (mardi 27 janvier) La release djibian tant attendue ^^ Revue de presse. Point sur les participations et démonstrations publiques. Communication. Actions réalisés, en cours, à prévoir. Stingynalty Pour le mois de décembre 2025, stingynalty = 1.09392893956756593830\nPour le mois de janvier 2026, stingynalty = 1.09939858426540376799\nGraphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Et donc pour décembre, en appliquant la formule du règlement intérieur , j = log₂(d+1) / stingynalty :\ncotisation initiale en € quantité de jetons Ɉ 1.00 € .909588 Ɉ 1.15 € 1.000000 Ɉ 2.00 € 1.441663 Ɉ 3.60 € 2.000000 Ɉ 5.00 € 2.351251 Ɉ 8.84 € 3.000000 Ɉ 10.00 € 3.146658 Ɉ 20.00 € 3.995200 Ɉ 20.08 € 4.000000 Ɉ 44.17 € 5.000000 Ɉ 50.00 € 5.159571 Ɉ 95.77 € 6.000000 Ɉ 100.00 € 6.056230 Ɉ 200.00 € 6.959306 Ɉ 206.34 € 7.000000 Ɉ 443.24 € 8.000000 Ɉ 500.00 € 8.157793 Ɉ 950.85 € 9.000000 Ɉ 1000.00 € 9.066071 Ɉ 2000.00 € 9.975004 Ɉ 2038.49 € 10.000000 Ɉ 4368.90 € 11.000000 Ɉ Rappel, si vous avez déjà cotisé, la formule pour calculer la quantité de nouvelles valeurs en Ɉ est : jₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nConfer règlement intérieur .\nChiffres de l’association Au 31 décembre 2025, en utilisant le script ./tools/gifts-stats.sh dans la blockchain qui gère les jetons Ɉ.\nTotal members: 40 - Total certified members: 16 / 40 Total contribs: 70 - Total certified contribs: 33 / 70 Total contribution: 59503.14 € - Total certified contribution: 50812.51 € / 59503.14 € Total created: 236.044486 Ɉ - Total certified created: 129.063714 Ɉ / 236.044486 Ɉ Revue de presse Oui, Microsoft donne les clés BitLocker aux forces de l’ordre. Non, ce n’est pas nouveau. Le gouvernement français appelle à sortir de la dépendance aux outils numériques américains : https://www.franceinfo.fr/internet/il-faut-continuer-ce-sevrage-avec-determination-le-gouvernement-appelle-a-sortir-de-la-dependance-aux-outils-numeriques-americains_7762967.html Cyberattaque DDoS entre décembre 2025 et janvier 2026 à La Poste : https://www.linformaticien.com/magazine/cybersecurite/64391-la-poste-une-cyberattaque-jugee-d-une-ampleur-inedite.html Le LNE héberge une plate-forme de météorologie quantique : https://www.linformaticien.com/magazine/technologie/64388-le-lne-heberge-une-plate-forme-de-metrologie-quantique.html Autodesk supprime 7% (1000 postes) de ses effectifs mondiaux : https://www.linformaticien.com/magazine/biz-it/64380-autodesk-supprime-7-de-ses-effectifs-et-se-recentre-sur-l-ia-et-le-cloud.html Koesio vient au secours des TPE/PME pour les aider à passer à la facture électronique : https://www.distributique.com/actualites/lire-facture-electronique-koesio-vient-au-secours-de-tpe-pme-36915.html J\u0026rsquo;ai plus confiance dans https://piaille.fr/@pdp_libre/115938312670273546 AWS lance un erzat de cloud souverain : https://www.distributique.com/actualites/lire-aws-lance-un-ersatz-de-cloud-souverain-en-europe-36907.html (No Surprise) Palantir travaille pour faire passer les vessie de l\u0026rsquo;ICE pour des lanternes : https://www.wired.com/story/palantir-ice-dhs-alex-pretti-killing-workers-slack-minneapolis/ Certains en Europe emboîtent le pas dans les délires trumpistes :\nCapgemini aide l’ICE de Trump à traquer les migrants : https://multinationales.org/fr/a-chaud/actualites/comment-un-champion-du-cac40-aide-l-ice-de-trump-a-traquer-les-migrants On apprend que l\u0026rsquo;entreprise française Capgemini fournit la technologie de traque des migrants à ICE, la police US de l\u0026rsquo;immigration. Ont-ils oublié le scandale des logiciels français de Amesys et Qosmos, utilisés il y a 10 ans pour traquer les opposants lybiens ?\nPire, Capgemini a embauché pour s\u0026rsquo;occuper de ce marché juteux un ancien du Department of Homeland Security. Pantouflage ET corruption ?\nhttps://www.linkedin.com/in/yemio https://mastodon.gougere.fr/@PierreCol/115939216686884173 Capgemini qui d\u0026rsquo;ailleurs envisage de supprimer 2 400 postes en France.\nhttps://www.liberation.fr/economie/le-geant-de-linformatique-capgemini-envisage-jusqua-2-400-suppressions-de-postes-en-france-20260120_TV2XYN6Y2VHCTDDNSVVJLP64XU/ https://mastodon.ouvaton.coop/@olberger/115928581472547725 On rappellera également que Capgemini avait bénéficié du chômage partiel, du plan numérisation et du plan de relance pendant la pandémie de COVID19, tout en continuant à verser des dividendes.\nhttps://piaille.fr/@MaximeCombes/115927858367469516 Le milliardaire technofasciste Peter Thiel fera son show à l’Institut de France https://www.liberation.fr/economie/economie-numerique/le-milliardaire-technofasciste-peter-thiel-fera-son-show-a-linstitut-de-france-20260123_ERTPVUVCGJHJ5K5AQ6JL56S7XY/?utm_medium=Social\u0026at_medium=Social+Media\u0026at_campaign=Bluesky\u0026utm_source=Bluesky\u0026at_platform=Bluesky#Echobox=1769200171-1 L\u0026rsquo;administration Trump joue à la roulette russe avec la sécurité des transports américains en confiant la rédaction des lois à l\u0026rsquo;IA https://www.surchauffe.info/2026/01/ladministration-trump-joue-la-roulette.html https://piaille.fr/@romain_leclaire/115962257466385725 2 500 Md$ de dépenses IA en 2026 pour un ROI insaisissable : https://www.distributique.com/actualites/lire-2-500-md%24-de-depenses-ia-en-2026-pour-un-roi-encore-insaisissable-selon-gartner-36897.html Le réseau satellitaire Starlink, propriété d\u0026rsquo;Elon Musk, utilise vos données pour entraîner son IA, voici comment l’en empêcher\nhttps://www.01net.com/actualites/starlink-utilise-vos-donnees-entrainer-ia-comment-empecher.html https://mstdn.fr/@Grrr/115961783964446560 Au cœur de la réunion Apéro-démo jeudi 22 janvier soir pour fêter la release Djibian https://foopgp.org/fr/blog/2026-01-19-djibian-release/ : Accueil intéressé, nécessité de programmer des ateliers réguliers. Par exemple les Samedis après-midi 1 à 2 fois par mois. Olivier nous mettant sa salle à disposition. Les inscription à l\u0026rsquo;atelier du 17 février sont ouvertes : https://framaforms.org/atelier-technique-reprenez-le-controle-sur-vos-donnees-avec-les-cles-de-securite-openpgp-1769177764 Gros effort sur la communication en cours ; l\u0026rsquo;heure des démos et de la vente de support/formation est venue. On a besoin bonnes volontés pour propager cette bonne parole ! Actions à mener (TODO list) Appel à cotisation (Urgent). Gestion de nos communautés. Industrialisation des informations à poser dans les carnets d’échanges. (Stickers à coller). Actions en cours Communication (locale + HackInProvence + AlpOSS + …) Frontend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Développer les fonctionnalités pour consulter ses comptes en djis (Ɉ), faire des paiement en (Ɉ) (grâce à OpenPGP + yubikeys). Collecte d’ordinateurs dotés de Windows obsolètes, pour y installer Djibian (le système qui nous respecte !). Clôture comptable 2025. (grosses) Actions terminées Features + bugfixes djibian 1.0. Développement “onboarding” (Interface graphique lancée au démarrage de l’ordinateur, permettant la création de comptes avec identité numérique OpenPGP + yubikeys). Backend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Découpage propre des fonctionnalités dans les bash-libs, utilisé pas les deux frontend (“onboarding” et pgpid). Refactoring de pgpid en utilisant les nouvelles bashlibs. AMF Nous sommes toujours dans le cadre des “exemptions qui permettent aux émetteurs d’alléger, voire de supprimer le formalisme” de l’article 4, titre II . Agenda 31 janvier \u0026amp; 1 février : FOSDEM 2026 , toujours à Bruxelle. (foopgp n’a pas prévu d’y aller). Peut-être la conf la plus intéressante pour foopgp : https://fosdem.org/2026/schedule/event/KFSUCW-sequoia-git/ mardi 17 février 2026 : https://alposs.fr/ à Échirolles - on fera une démo : https://pretalx.com/alposs-2026/talk/KTNMTA/ … agenda du libre ","permalink":"/fr/assembly/2026-01-27-weekly-report/","tags":null,"title":"2026 S05 Rapport Hebdomadaire"},{"categories":null,"contents":"Présents : Jean-Jacques B, Laurent C., piseb, François R.\nOrdre du jour prochaine visio mardi 27 janvier 2026 à 21h sur JITSI : https://meet.jit.si/foopgp Note : Si problème, on ne retrouve sur notre salon NextCloud : https://cloud.foopgp.org/call/yfomgu8q (qui fonctionne à nouveau, quoique toujours un peu sous dimensionné).\nPoints habituels : (revue de presse + déplacements et actions réalisés, en cours, ou à prévoir). Ordres du soir (mardi 20 janvier) La release djibian tant attendue ^^ Revue de presse. Point sur les participations et démonstrations publiques. Communication. Actions réalisés, en cours, à prévoir. Stingynalty Pour le mois de décembre 2025, stingynalty = 1.09392893956756593830\nPour le mois de janvier 2026, stingynalty = 1.09939858426540376799\nGraphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Et donc pour décembre, en appliquant la formule du règlement intérieur , j = log₂(d+1) / stingynalty :\ncotisation initiale en € quantité de jetons Ɉ 1.00 € .909588 Ɉ 1.15 € 1.000000 Ɉ 2.00 € 1.441663 Ɉ 3.60 € 2.000000 Ɉ 5.00 € 2.351251 Ɉ 8.84 € 3.000000 Ɉ 10.00 € 3.146658 Ɉ 20.00 € 3.995200 Ɉ 20.08 € 4.000000 Ɉ 44.17 € 5.000000 Ɉ 50.00 € 5.159571 Ɉ 95.77 € 6.000000 Ɉ 100.00 € 6.056230 Ɉ 200.00 € 6.959306 Ɉ 206.34 € 7.000000 Ɉ 443.24 € 8.000000 Ɉ 500.00 € 8.157793 Ɉ 950.85 € 9.000000 Ɉ 1000.00 € 9.066071 Ɉ 2000.00 € 9.975004 Ɉ 2038.49 € 10.000000 Ɉ 4368.90 € 11.000000 Ɉ Rappel, si vous avez déjà cotisé, la formule pour calculer la quantité de nouvelles valeurs en Ɉ est : jₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nConfer règlement intérieur .\nChiffres de l’association Au 31 décembre 2025, en utilisant le script ./tools/gifts-stats.sh dans la blockchain qui gère les jetons Ɉ.\nTotal members: 40 - Total certified members: 16 / 40 Total contribs: 70 - Total certified contribs: 33 / 70 Total contribution: 59503.14 € - Total certified contribution: 50812.51 € / 59503.14 € Total created: 236.044486 Ɉ - Total certified created: 129.063714 Ɉ / 236.044486 Ɉ Revue de presse Appel à commentaire de la Commission \u0026ldquo;Vers des écosystèmes numériques ouverts européens\u0026rdquo; https://linuxfr.org/news/appel-a-commentaire-de-la-commission-vers-des-ecosystemes-numeriques-ouverts-europeens La Commission européenne veut commercialiser l’open source pour en faire un levier de souveraineté numérique: https://euractiv.fr/news/la-commission-europeenne-veut-commercialiser-lopen-source-pour-en-faire-un-levier-de-souverainete-numerique/ Thunderbird 147 est là : l\u0026rsquo;alternative à Outlook s\u0026rsquo;offre enfin ces deux options manquantes\n\u0026gt; Le client de messagerie open source Thunderbird poursuit son évolution avec une nouvelle mise à jour axée sur l’ergonomie et la stabilité. Cette version apporte deux ajouts fonctionnels attendus, accompagnés d’une série de correctifs.\nhttps://www.clubic.com/actualite-595690-thunderbird-147-est-la-l-alternative-a-outlook-s-offre-enfin-ces-deux-options-manquantes.html https://framapiaf.org/@marnic/115916235205025761 C’est qui qui a fuité aujourd’hui ? C’est l’URSSAF\nhttps://bonjourlafuite.eu.org/#URSSAF-2026-01-19 https://www.lemonde.fr/pixels/article/2026/01/19/acces-frauduleux-aux-donnees-de-l-urssaf-12-millions-de-salaries-potentiellement-concernes_6663256_4408996.html Vidéosurveillance algorithmique : l’Assemblée vote sa prolongation jusqu’en 2027 en prévision des JO de 2030\nhttps://www.numerama.com/politique/2159891-videosurveillance-algorithmique-lassemblee-vote-sa-prolongation-jusquen-2027-en-prevision-des-jo-de-2030.html De Paris 2024 aux Alpes 2030, la vidéosurveillance algorithmique voit sa durée s’étendre encore. L’Assemblée nationale a voté le 13 janvier 2026 la prolongation de ce dispositif controversé jusqu’à décembre 2027.\nhttps://piaille.fr/@siltaer/115898566816388446 https://www.theverge.com/tech/863209/meta-has-discontinued-its-metaverse-for-work-too https://web.archive.org/web/20260116021520/https://www.theverge.com/tech/863209/meta-has-discontinued-its-metaverse-for-work-too https://mathstodon.xyz/@paulmasson/115905851981089917 La société américaine supprime plus de 1 000 postes dans son laboratoire Reality Labs et ferme trois studios de jeux. Mark Zuckerberg semble désormais privilégier les objets connectés et l’IA https://www.leparisien.fr/high-tech/licenciements-massifs-fermeture-de-studios-meta-semble-acter-lechec-du-metavers-au-profit-de-lia-16-01-2026-YQIOUIM5EZHFTKVWH6DCEGHGZU.php https://mastodon.social/@Le_M_Poireau/115905668808614566 Un mec se serait fait larguer par sa petite amie virtuelle. Cette histoire est consternante à tellement de niveaux différents que ça donne le vertige.\nhttps://intelligence-artificielle.developpez.com/actu/379037/-Meme-mon-IA-ne-veut-plus-de-moi-Il-se-fait-larguer-par-sa-petite-amie-IA-apres-avoir-attaque-le-feminisme-et-accuse-les-concepteurs-d-avoir-integre-du-code-feministe-a-leur-creation/ https://mas.to/@luk_/115864208246587861 VirtualBrowser certifié par CSPN par l\u0026rsquo;ANSSI : https://www.linformaticien.com/magazine/cybersecurite/64360-virtual-browser-certifie-cspn-par-l-anssi.html Colt réalise un premier transfert de données résistant aux menaces quantique : https://www.linformaticien.com/933-reseau/64363-colt-transforme-l-essai.html Les fabricants de puces Taïwanais vont investir 250 Md de $ aux USA : https://www.linformaticien.com/magazine/biz-it/64355-les-fabricants-de-semi-conducteurs-taiwanais-vont-investir-250mds-aux-etats-unis.html Blue sur le chemin de SenNumCloud : https://www.linformaticien.com/magazine/cybersecurite/64354-blue-sur-le-chemin-de-secnumcloud.html Les suites de la cyberattaque du Ministère de l\u0026rsquo;Intérieur : https://www.linformaticien.com/magazine/cybersecurite/64346-cyberattaque-place-beauvau-laurent-nunez-auditionne-par-le-senat.html L’État veut renforcer ses outils collaboratifs souverains du Ministère des Armées : https://www.linformaticien.com/magazine/cybersecurite/64335-l-etat-veut-renforcer-ses-outils-collaboratifs-souverains-au-ministere-des-armees.html Le Ministère des Armées conclu un accord cadre avec Mistral AI : https://www.linformaticien.com/magazine/tendances/941-ia/64331-le-ministere-des-armees-conclut-un-accord-cadre-avec-mistral-ai.html La CNIL condamne Free à une grosse amende : https://www.linformaticien.com/924-republique-numerique/64344-la-cnil-sort-le-baton-contre-free.html Fuite de données de patients à l\u0026rsquo;hôpital de Belfort : https://www.linformaticien.com/magazine/cybersecurite/64329-fuite-de-dossiers-patients-a-belfort-l-hopital-prive-de-la-miotte-dement-a-ce-stade.html Stripe s’intègre dans CoPilot : https://www.linformaticien.com/magazine/tendances/941-ia/64339-stripe-s-integre-dans-copilot-checkout.html La French Tech aime la Belgique : https://www.linformaticien.com/magazine/biz-it/64333-la-french-tech-aime-la-belgique.html Au cœur de la réunion Djibian passe en prod ^^. Apéro-démo jeudi soir pour fêter cela. -\u0026gt; https://foopgp.org/fr/blog/2026-01-19-djibian-release/ Spéculations techniques sur les prochains étages de la fusée (unison, gpgtar, \u0026hellip;). La grosse demande du moment : souveraineté numérique (merci Trump !). On a un super produit qui y répond superbement. Ça serait dommage et regrettable de ne pas parvenir à le vendre. Gros effort sur la communication à mener également ; l\u0026rsquo;heure des démos et de la vente de support/formation est venue. Actions à mener (TODO list) Appel à cotisation (Urgent). Clôture comptable 2025. Gestion de nos communautés. Frontend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Industrialisation des informations à poser dans les carnets d’échanges. (Stickers à coller). Actions en cours Communication (locale + HackInProvence + AlpOSS + …) numelib. Développer les fonctionnalités pour consulter ses comptes en djis (Ɉ), faire des paiement en (Ɉ) (grâce à OpenPGP + yubikeys). Collecte d’ordinateurs dotés de Windows obsolètes, pour y installer Djibian (le système qui nous respecte !). (grosses) Actions terminées Features + bugfixes djibian 1.0. Développement “onboarding” (Interface graphique lancée au démarrage de l’ordinateur, permettant la création de comptes avec identité numérique OpenPGP + yubikeys). Backend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Découpage propre des fonctionnalités dans les bash-libs, utilisé pas les deux frontend (“onboarding” et pgpid). Refactoring de pgpid en utilisant les nouvelles bashlibs. AMF Nous sommes toujours dans le cadre des “exemptions qui permettent aux émetteurs d’alléger, voire de supprimer le formalisme” de l’article 4, titre II . Agenda 31 janvier \u0026amp; 1 février : FOSDEM 2026 , toujours à Bruxelle. (foopgp n’a pas prévu d’y aller). Peut-être la conf la plus intéressante pour foopgp : https://fosdem.org/2026/schedule/event/KFSUCW-sequoia-git/ mardi 17 février 2026 : https://alposs.fr/ à Échirolles - on fera une démo : https://pretalx.com/alposs-2026/talk/KTNMTA/ … agenda du libre ","permalink":"/fr/assembly/2026-01-20-weekly-report/","tags":null,"title":"2026 S04 Rapport Hebdomadaire"},{"categories":["News"],"contents":"Note : Pour une première introduction à Djibian, voir le post précédent . Pour un plus large aperçu de Djibian, voir le post suivant . Pour rester informé, inscrivez-vous à nos listes de diffusion .\nClairette 1 ! Après plus de 3 ans de Recherche et Développement 2, nous avons l\u0026rsquo;immense fierté de livrer la première version stable de Djibian , le système d\u0026rsquo;exploitation qui sécurise vos données et respecte votre vie privée.\nCette première version pose et fournit le premier étage de la fusée : OpenPGP ID.\nVotre identité numérique OpenPGP ID, est universelle et décentralisée.\nElle permet, concrètement :\nde s\u0026rsquo;authentifier sans mot de passe ou de manière unique (SSO) ;\nd\u0026rsquo;émettre et recevoir des données authentiques ;\nde chiffrer nos échanges et données personnelles , c\u0026rsquo;est à dire de s\u0026rsquo;assurer qu\u0026rsquo;ils et elles demeurent privés ;\nd\u0026rsquo;avancer vers l\u0026rsquo;abolition de certains privilèges , et d\u0026rsquo;obtenir plus de liberté, égalité, fraternité. ✊🕊️💕 De plus et toujours, efficacité et sobriété étant nos maîtres mots, Djibian GNU/Linux permet de prolonger de plusieurs années la vie de vos ordinateurs.\nUne petite vidéo valant mieux qu\u0026rsquo;un long discours :\nYour browser does not support the video tag. Pour les prochains étages de la fusée :\nAmélioration des pré-configurations (git, ssh, evolution, thunderbird, etc.)\nGestion et exploitation fluide et puissante de vos toiles de confiance .\nSauvegarde et récupération automatique de votre univers numérique, dès que vous branchez votre clé de sécurité OpenPGP sur un système djibian.\netc.\nInstaller La dernière ISO 3 est ici : http://iso.foopgp.org/djibian/latest .\nNote : le mot de passe de l\u0026rsquo;utilisateur par défaut est : foopgp\nSi vous souhaitez par vous-mêmes installer djibian, nous vous conseillons d\u0026rsquo;utiliser Ventoy .\nSinon nous vous conseillons de vous fournir auprès de nos partenaires . Notamment :\nSun Valley Systems à Gap . Tester Si vous êtes déjà sous Debian, vous pouvez installer nos logiciels en rajoutant notre dépôt de paquets .\nCertains de ces paquets pourraient être fonctionnels également sous Ubuntu ou Mint. Les développeurs peuvent librement intégrer nos logiciels pour les autres systèmes d\u0026rsquo;exploitation (GNU/Linux, Mac OS, etc.)\nCommuniquer Si ce projet vous enthousiasme, visuels à partager sans modération :\n😊\nProximité avec Die et préférence pour les produits locaux obligent. Leurs bouchons sautent aussi bien que ceux du champagne.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nOn pourrait même chiffrer la R\u0026amp;D à plus de 15 ans, si l\u0026rsquo;on en croit le CV impressionnant du fondateur (en toute modestie bien sûr, de toute façon personne ne lit les notes de bas de page\u0026hellip; n\u0026rsquo;est-ce pas ?).\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLe fichier extra-Packages.gz contient la liste de tous les paquets qui ont été ajouté par rapport à l\u0026rsquo;ISO debian de référence (13.3.0) ; dont une vingtaine sont (aujourd\u0026rsquo;hui) exclusives à djibian.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/blog/2026-01-19-djibian-release/","tags":["djibian","debian"],"title":"Djibian passe en prod !"},{"categories":null,"contents":"Présents : Jean-Jacques B, Didier L, piseb, François R.\nExcusé: Laurent C.\nOrdre du jour prochaine visio mardi 20 janvier 2026 à 21h sur JITSI : https://meet.jit.si/foopgp Note : Si problème, on ne retrouve sur notre salon NextCloud : https://cloud.foopgp.org/call/yfomgu8q (qui fonctionne à nouveau, quoique toujours un peu sous dimensionné).\nPoints habituels : (revue de presse + déplacements et actions réalisés, en cours, ou à prévoir). Ordres du soir (mardi 13 janvier) La release djibian tant attendue ^^ Revue de presse. Point sur les participations et démonstrations publiques. Communication. Actions réalisés, en cours, à prévoir. Stingynalty Pour le mois de décembre 2025, stingynalty = 1.09392893956756593830\nPour le mois de janvier 2026, stingynalty = 1.09939858426540376799\nGraphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Et donc pour décembre, en appliquant la formule du règlement intérieur , j = log₂(d+1) / stingynalty :\ncotisation initiale en € quantité de jetons Ɉ 1.00 € .909588 Ɉ 1.15 € 1.000000 Ɉ 2.00 € 1.441663 Ɉ 3.60 € 2.000000 Ɉ 5.00 € 2.351251 Ɉ 8.84 € 3.000000 Ɉ 10.00 € 3.146658 Ɉ 20.00 € 3.995200 Ɉ 20.08 € 4.000000 Ɉ 44.17 € 5.000000 Ɉ 50.00 € 5.159571 Ɉ 95.77 € 6.000000 Ɉ 100.00 € 6.056230 Ɉ 200.00 € 6.959306 Ɉ 206.34 € 7.000000 Ɉ 443.24 € 8.000000 Ɉ 500.00 € 8.157793 Ɉ 950.85 € 9.000000 Ɉ 1000.00 € 9.066071 Ɉ 2000.00 € 9.975004 Ɉ 2038.49 € 10.000000 Ɉ 4368.90 € 11.000000 Ɉ Rappel, si vous avez déjà cotisé, la formule pour calculer la quantité de nouvelles valeurs en Ɉ est : jₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nConfer règlement intérieur .\nChiffres de l’association Au 31 décembre 2025, en utilisant le script ./tools/gifts-stats.sh dans la blockchain qui gère les jetons Ɉ.\nTotal members: 40 - Total certified members: 16 / 40 Total contribs: 70 - Total certified contribs: 33 / 70 Total contribution: 59503.14 € - Total certified contribution: 50812.51 € / 59503.14 € Total created: 236.044486 Ɉ - Total certified created: 129.063714 Ɉ / 236.044486 Ɉ Revue de presse L’Inde veut accéder au code source des smartphones, notamment Apple : https://www.geekit.fr/actualites/smartphones/5995/securite-ou-surveillance-l-inde-demande-l-acces-au-coeur-de-nos-smartphones Practical Collision Attack Against Long Key IDs in PGP http://soatok.blog/2026/01/07/practical-collision-attack-against-long-key-ids-in-pgp/ https://furry.engineer/@soatok/115855402039229608 Adobe accusé de pillage d\u0026rsquo;ebooks : le \u0026ldquo;gardien\u0026rdquo; du droit d’auteur (et surtout des DRM) devient suspect https://actualitte.com/article/128617/international/adobe-accuse-de-pillage-d-ebooks-le-gardien-du-droit-d-auteur-devient-suspect https://framapiaf.org/@polylogue/115876532160542288 Les escrocs sont devenus vintage. Fini les mails, ils passent à La Poste. La nouvelle mode, une fausse carte bancaire (super bien imitée) dans votre boîte aux lettres + un QR code à scanner d\u0026rsquo;urgence pour \u0026ldquo;l\u0026rsquo;activer\u0026rdquo;.\nSpoiler: ça n\u0026rsquo;active rien, ça vide juste votre compte. Si vous n\u0026rsquo;avez rien demandé à votre banque, direction poubelle ! https://www.01net.com/actualites/arnaque-fausse-carte-bancaire-nouvelle-escroquerie-envahit-boites-lettres-france.html https://piaille.fr/@romain_leclaire/115875553837068355 Microsoft impose Copilot ds votre vie. Maintenant il peut vider votre compte en banque par inadvertance\nhttps://gizmodo.com/microsoft-forced-copilot-into-your-life-now-it-can-accidentally-drain-your-bank-account-2000707721 https://piaille.fr/@brume/115863982532096128 Données biométrique contre exemption de visa (WTF) https://www.usine-digitale.fr/etats-unis/pour-preserver-lexemption-de-visa-vers-les-etats-unis-lunion-europeenne-engage-des-discussions-sur-le-partage-de-donnees-biometriques.WX67UGKGH5FMLIKFMFEXNUXKYM.html Au cœur de la réunion sud Actions à mener (TODO list) Appel à cotisation (Urgent). Clôturâtion comptable 2025. Gestion de nos communautés. Frontend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Industrialisation des informations à poser dans les carnets d’échanges. (Stickers à coller). Actions en cours Communication (locale + HackInProvence + AlpOSS + …) numelib pour infra Développer les fonctionnalités pour consulter ses comptes en djis (Ɉ), faire des paiement en (Ɉ) (grâce à OpenPGP + yubikeys). Collecte d’ordinateurs dotés de Windows obsolètes, pour y installer Djibian (le système qui nous respecte !). (grosses) Actions terminées Features + bugfixes djibian 1.0. Développement “onboarding” (Interface graphique lancée au démarrage de l’ordinateur, permettant la création de comptes avec identité numérique OpenPGP + yubikeys). Backend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Découpage propre des fonctionnalités dans les bash-libs, utilisé pas les deux frontend (“onboarding” et pgpid). Refactoring de pgpid en utilisant les nouvelles bashlibs. AMF Nous sommes toujours dans le cadre des “exemptions qui permettent aux émetteurs d’alléger, voire de supprimer le formalisme” de l’article 4, titre II . Agenda 31 janvier \u0026amp; 1 février : FOSDEM 2026 , toujours à Bruxelle. (foopgp n’a pas prévu d’y aller). mardi 17 février 2026 : https://alposs.fr/ à Échirolles - on fera une démo : https://pretalx.com/alposs-2026/talk/KTNMTA/ … agenda du libre ","permalink":"/fr/assembly/2026-01-13-weekly-report/","tags":null,"title":"2026 S03 Rapport Hebdomadaire"},{"categories":null,"contents":"Présents : Jean-Jacques B, Laurent C, piseb, François R.\nOrdre du jour prochaine visio mardi 13 janvier 2026 à 21h sur JITSI : https://meet.jit.si/foopgp Note : Si problème, on ne retrouve sur notre salon NextCloud : https://cloud.foopgp.org/call/yfomgu8q (qui fonctionne à nouveau, quoique toujours un peu sous dimensionné).\nPoints habituels : (revue de presse + déplacements et actions réalisés, en cours, ou à prévoir). Ordres du soir (mardi 6 janvier) La release djibian tant attendue ^^ Revue de presse. Point sur les participations et démonstrations publiques. Communication. Actions réalisés, en cours, à prévoir. Stingynalty Pour le mois de décembre 2025, stingynalty = 1.09392893956756593830\nPour le mois de janvier 2026, stingynalty = 1.09939858426540376799\nGraphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Et donc pour décembre, en appliquant la formule du règlement intérieur , j = log₂(d+1) / stingynalty :\ncotisation initiale en € quantité de jetons Ɉ 1.00 € .909588 Ɉ 1.15 € 1.000000 Ɉ 2.00 € 1.441663 Ɉ 3.60 € 2.000000 Ɉ 5.00 € 2.351251 Ɉ 8.84 € 3.000000 Ɉ 10.00 € 3.146658 Ɉ 20.00 € 3.995200 Ɉ 20.08 € 4.000000 Ɉ 44.17 € 5.000000 Ɉ 50.00 € 5.159571 Ɉ 95.77 € 6.000000 Ɉ 100.00 € 6.056230 Ɉ 200.00 € 6.959306 Ɉ 206.34 € 7.000000 Ɉ 443.24 € 8.000000 Ɉ 500.00 € 8.157793 Ɉ 950.85 € 9.000000 Ɉ 1000.00 € 9.066071 Ɉ 2000.00 € 9.975004 Ɉ 2038.49 € 10.000000 Ɉ 4368.90 € 11.000000 Ɉ Rappel, si vous avez déjà cotisé, la formule pour calculer la quantité de nouvelles valeurs en Ɉ est : jₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nConfer règlement intérieur .\nChiffres de l’association Au 31 décembre 2025, en utilisant le script ./tools/gifts-stats.sh dans la blockchain qui gère les jetons Ɉ.\nTotal members:\t40 - Total certified members: 16 / 40 Total contribs:\t70 - Total certified contribs: 33 / 70 Total contribution:\t59503.14 € - Total certified contribution: 50812.51 € / 59503.14 € Total created:\t236.044486 Ɉ - Total certified created: 129.063714 Ɉ / 236.044486 Ɉ Revue de presse Les dernières actions et déclarations de Donald (Venezuela, Groenland) mettent aussi en lumière la guerre numérique entre l\u0026rsquo;Europe et les Etats-Unis :\nLa partie visible de l\u0026rsquo;iceberg : le cas Thierry breton https://www.lesechos.fr/monde/europe/sanctions-contre-thierry-breton-la-guerre-froide-numerique-est-declaree-entre-washington-et-bruxelles-2206708 Les logiciels américains sont soumis au patriot act, en conflit direct avec notre vision européenne RGPD https://www.nexa.fr/blog/comprendre-le-patriot-act Un article dont la conclusion a très mal vieilli, vu que Donald Trump a détruit tous les gardes fous susceptible d\u0026rsquo;entraver l\u0026rsquo;espionnage et le contrôle des services américains : https://contrepoints-archives.org/le-patriot-act-20-ans-de-surveillance/ Cobol et les SI bancaires: https://next.ink/192466/faut-il-se-debarrasser-des-systemes-cobol/ Building the PERFECT Linux PC with Linus Torvalds, 54mn:\nhttps://peertube.blablalinux.be/w/1530cb51-78d2-47f8-b1ab-a1376f96c8a3 https://www.youtube.com/watch?v=mfv0V1SxbNA https://www.clubic.com/actualite-593737-la-cnil-n-avait-pas-repondu-a-la-saisine-d-un-citoyen-le-conseil-d-etat-desavoue-la-commission.html La #PS5 vient de subir sa plus grosse fuite depuis son lancement\nLe #jailbreak de la PS5 est désormais une réalité alors que les clés de chiffrement de la console ont fuité. Une aubaine pour les pirates et une bien mauvaise nouvelle pour #Sony.\nhttps://www.frandroid.com/marques/sony/2924489_la-ps5-vient-de-subir-sa-plus-grosse-fuite-depuis-son-lancement https://mastodon.tedomum.net/@angedestenebres/115824568107284671 Bosch Smart System : la mise à jour qui rend les vélos électriques invendables\nhttps://www.numerama.com/vroom/2147183-en-2026-bosch-va-rendre-inutile-le-vol-de-velos-electriques.html https://pouet.chapril.org/@vincentxavier/115844168404210690 Les libraires en ont marre qu’on leur réclame des livres inventés par IA qui n’existent pas\nhttps://gizmodo.com/librarians-arent-hiding-secret-books-from-you-that-only-ai-knows-about-2000698176 https://mstdn.fr/@Grrr/115813693093000422 Conf 39C3 GPG fails https://chaos.social/@fluepke/115792649941363375 https://fahrplan.events.ccc.de/congress/2025/fahrplan/event/to-sign-or-not-to-sign-practical-vulnerabilities-i https://media.ccc.de/v/39c3-to-sign-or-not-to-sign-practical-vulnerabilities-i https://media.ccc.de/v/39c3-a-post-american-enshittification-resistant-internet Epstein Files Redactions Failed After Funding Cuts Forced DOJ to Use Basic Adobe Tools\nhttps://www.ibtimes.co.uk/epstein-files-redactions-failed-after-funding-cuts-forced-doj-use-basic-adobe-tools-1766051 https://mastodon.social/@mattotcha/115788692577792492 Informatique souveraine et Open Source :\nL\u0026rsquo;option souveraine de Severalines : https://www.distributique.com/actualites/lire-dbaas-l-option-souveraine-de-severalnines-36851.html Plakar pousse un standard ouvert pour la sauvegarde : https://www.distributique.com/actualites/lire-plakar-pousse-un-standard-ouvert-pour-la-sauvegarde-36849.html Nextcloud renforce son écosystème français avec smile : https://www.distributique.com/actualites/lire-nextcloud-renforce-son-ecosysteme-francais-avec-smile-36827.html Cheops opte pour une approche pragmatique de la souveraineté : https://www.distributique.com/actualites/lire-cheops-opte-pour-une-approche-pragmatique-de-la-souverainete-36811.html Un cloud souverain européen avec Evroc et Suse : https://www.distributique.com/actualites/lire-un-cloud-souverain-europeen-avec-evroc-et-suse-36810.html Cyberattaque :\ndu Ministère des Sports : https://www.linformaticien.com/magazine/cybersecurite/64287-le-ministere-des-sports-touche-par-une-cyberattaque.html Des données de santé publiées sur BreachForums Au cœur de la réunion Rentrée sur les chapeaux de roue : djibian 1.0 à livrer + arrivés des stagiaires (maël au taquet) Le marché s\u0026rsquo;offre à nous : https://algonaute.fr/fr/services-numeriques-us.html Sa taille (marché à conquerir) : https://www.cigref.fr/la-dependance-technologique-aux-softwares-cloud-services-americains-une-estimation-des-consequences-economiques-en-europe Actions à mener (TODO list) Appel à cotisation (Urgent). Clôturâtion comptable 2025. Gestion de nos communautés. Frontend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Industrialisation des informations à poser dans les carnets d’échanges. (Stickers à coller). Actions en cours Communication (locale + HackInProvence + AlpOSS + \u0026hellip;) numelib pour infra Développer les fonctionnalités pour consulter ses comptes en djis (Ɉ), faire des paiement en (Ɉ) (grâce à OpenPGP + yubikeys). Collecte d’ordinateurs dotés de Windows obsolètes, pour y installer Djibian (le système qui nous respecte !). (grosses) Actions terminées Features + bugfixes djibian 1.0. Développement “onboarding” (Interface graphique lancée au démarrage de l’ordinateur, permettant la création de comptes avec identité numérique OpenPGP + yubikeys). Backend: gestion des emails ou avatars dans nos identités numériques (ajout, suppression) Découpage propre des fonctionnalités dans les bash-libs, utilisé pas les deux frontend (“onboarding” et pgpid). Refactoring de pgpid en utilisant les nouvelles bashlibs. AMF Nous sommes toujours dans le cadre des “exemptions qui permettent aux émetteurs d’alléger, voire de supprimer le formalisme” de l’article 4, titre II . Agenda 31 janvier \u0026amp; 1 février : FOSDEM 2026 , toujours à Bruxelle. (foopgp n’a pas prévu d’y aller). mardi 17 février 2026 : https://alposs.fr/ à Échirolles - on fera une démo : https://pretalx.com/alposs-2026/talk/KTNMTA/ … agenda du libre ","permalink":"/fr/assembly/2026-01-06-weekly-report/","tags":null,"title":"2026 S02 Rapport Hebdomadaire"},{"categories":null,"contents":"Le week-end du 15 \u0026amp; 16 novembre 2024, l\u0026rsquo;association foopgp sera présente au village associatif du Capitole du Libre à Toulouse .\nCela sera l\u0026rsquo;occasion de :\nNous rencontrer.\nDécouvrir djibian, notre configuration GNU/Linux qui facilite l\u0026rsquo;utilisation des clés de sécurités telle que la Yubikey ou la Nitrokey, ou bien encore de notre monnaie libre : le dji (Ɉ) .\nAdhérer ou faire certifier votre identité numérique OpenPGP.\nDécouvrir et acheter des livres en rapport avec notre activité :\nInternet : ce qui nous échappe / Coline TISON L’Homme post-numérique / François de Bernard Carnet d’une apprentie militante / Manon Conquer Effondrement : 20 scénarios possibles / Thierry Brugvin Climat, crises : comment transformer nos territoires / The Shift Project Vers la résilience des territoires / The Shift Project Vers la résilience alimentaire / Les Greniers d’Abondance Les secrets de la monnaie / Gérard FOUCHER Une Monnaie au service du Bien commun / Philippe DERUDDER Revenu de base : un outil pour construire le XXIe siècle Nous espérons vous voir nombreux à notre stand.\nÀ très vite !\n","permalink":"/fr/event/2025-11-15-capitole-toulouse/","tags":null,"title":"Capitole du libre"},{"categories":["study"],"contents":"Comment garantir l’intégrité de l’information ? Avec un peu de Hash\u0026hellip; Non, non\u0026hellip; oublions la fumette et tentons de résoudre, grâce au hash\u0026hellip;, la problématique suivante : comment être sûr que vous avez téléchargé une version non altérée d’un logiciel ?\nPrenons, par exemple, le logiciel LibreOffice que vous viendriez de télécharger. N’y aurait-il pas eu un personnage invisible entre la source du téléchargement située, disons à Sydney en Australie, et votre ordinateur portable situé chez vous dans le sud de la France ?\nSur ce long chemin fait de fibres optiques et de serveurs, n’y aurait-il pas eu ce mystérieux « Man In The Middle »? (traduction : un Homme se tenant au milieu\u0026hellip;). Ce sournois n’aurait-il pas substitué à la bonne version de LibreOffice, une version contenant un malware, à savoir un logiciel malveillant ?\nLe Hash à la rescousse! Ne serait-ce pas formidable qu’une empreinte, ou condensat, ou hash en anglais (https://fr.wikipedia.org/wiki/Fonction_de_hachage ) du logiciel LibreOffice existe sous forme d’une petite chaine de caractères de type 94EE059335.. qui deviendrait très différente si un seul élément du logiciel LibreOffice venait à être modifié malicieusement ?\nPar exemple, avec la modification d’un seul élément, ou plus précisément d’un seul bit, donc 0 ou 1 en langage binaire informatique, l’empreinte deviendrait désormais 65BAE0376.., et non plus 94EE059335.., révélant ainsi une corruption du logiciel.\nComment marche une empreinte ? Une empreinte est le résultat d’une fonction mathématique de hachage à sens unique. Le principe a été inventé dans les années 1950. Ce type de fonction produit une empreinte unique de quelques dizaines de caractères hexadécimaux1, de longueur fixe, à partir de tout fichier, ou chaine de caractères, quelle que soit la taille.\nLe calcul de l’empreinte est dit « à sens unique » du fait de l’impossibilité de faire le calcul inverse, à savoir, par exemple, partir de l’empreinte de LibreOffice pour retrouver le logiciel complet LibreOffice.\nPour une explication imagée, assez peu « vegan », pensons qu’un bœuf haché peut devenir une saucisse. Cette saucisse est unique car liée à ce bœuf unique et il est impossible de « recréer » le bœuf à partir de cette saucisse.\nLa famille la plus connue des fonctions de hachage est SHA (Secure Hashing Algorithm) telles que, entre autres, les fonctions SHA-1, SHA-256 et SHA-512.\nInsistons bien sur ce point : une même donnée numérique quelconque, produit toujours le même hash (même empreinte) et toujours de la même longueur, soit 64 caractères pour la fonction SHA-256, quelle que soit la taille de la donnée numérique initiale (logiciel, texte, photo, vidéo, fichier PDF, etc.) !\nExemple : la donnée numérique « Test » (ou mot, ou chaine de caractères) donnera toujours, avec la fonction SHA-256, l’empreinte suivante : 532EAABD9574880DBF76B9B8CC00832C20A6EC113D682299550D7A6E0F345E Maintenant si on enlève juste la majuscule, donc « test », cela donne une empreinte SHA- 256 complètement différente : 9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A\nEst-ce difficile d’obtenir l’empreinte d’un logiciel ou d’une chaine de caractères ? Pas du tout! Une myriade de logiciels la calculent en trois clics !\nQuelques logiciels et sites de calcul d’empreinte : HashCheck pour Windows https://code.kliu.org/hashcheck/ . En ligne : https://www.tools4noobs.com/online_tools/hash/ ou https://md5file.com/calculator . Pour les utilisateurs avancés, avec Linux et MacOS, tapez juste la ligne de commande suivante dans le terminal : shasum -a 256 ~/Desktop/LibreOffice..\nPour vérifier la non-corruption du logiciel, ne suffirait-il pas, depuis son ordinateur, de calculer l’empreinte de la version téléchargée de LibreOffice, à l’aide d’un logiciel, et de la comparer à l’empreinte annoncée comme la bonne sur le site officiel de l’éditeur de LibreOffice ?\nEn effet, c’est exactement ce qu’il faut faire! C’est la vérification proposée par quasi tous les sites de téléchargement de logiciels\u0026hellip; mais bien peu d’entre nous prenons le temps de cette vérification, pour partie par manque de compréhension de ce procédé pourtant assez simple.\nEn quoi l’empreinte numérique est-elle vraiment fondamentale ?\nLe condensat, synonyme d’empreinte, permet de nombreux usages, dont un particulièrement connu, au moins médiatiquement, à savoir l’incontournable blockchain !\nLa blockchain n’est finalement, en grande partie, qu’une succession d’empreintes chainées un peu dans l’esprit des poupées russes. Nous allons le voir en détails.\nLa blockchain et l’empreinte numérique Plutôt que l’authentification de transactions monétaires (type Bitcoin, Monero, etc.), concentrons-nous sur l’authentification de documents (le fonctionnement est identique).\nQuelques idées de documents qui pourraient être authentifiés : Vidéo d’un de vos exploits sportifs pouvant, sans cette authentification humaine, être soupçonné d’avoir été « créé par l’IA.. »\nCompte-rendu de réunion de copropriété Photo attestant de la présence d’une personne à tel ou tel « évènement » Reconnaissance de dette Rapport d’AG Constat de n’importe quel dégât ou autre Contrat de tout type Clé publique Devis-Commande Rapport de traçabilité d’une production de tout ordre Capture d’écran de tweet et autre, etc. Imaginons concrètement devoir authentifier les 3 documents suivants :\n« Clé publique de foopgp » « Contrat de rachat de Micromou par foopgp »\u0026hellip; « Rapport d’AG de l’association foopgp » Ces 3 documents essentiels doivent être attestés comme irréfutables par le bureau de l’association. Comment le bureau pourrait-il faire? Pourquoi ne pas utiliser une blockchain, ou chaine de blocs en français ?!\nPrenons Alice, Bertrand et Cédric, les membres du bureau de l’association foopgp. Chacun de leur côté, ils vont calculer, avec le logiciel de leur choix, l’empreinte de ces trois documents avec la fonction de hachage SHA-256.\nIls vérifient ensuite qu’ils ont bien obtenu les mêmes empreintes et « chainent » alors ces trois empreintes pour en faire leur blockchain de trois blocs (une empreinte par bloc). Cette blockchain simplifiée demeure très sûre pour prouver leur confiance commune en ces documents.\nVoyons comment dans les détails :\nCréation des 3 blocs de la blockchain associative simplifiée (+ le bloc Genesis)\n0. Bloc Genesis (ou bloc zéro) Il contient l’empreinte SHA-256 des deux mots « Bloc Genesis » pour initier la blockchain (notion simplifiée pour cet article) : 782B37BF974FDE0C58E62106A9301B2580C88AD7B2D853CDB31200EBAEBD0C\n1. Premier bloc Il contient l’empreinte SHA-256 du 1er document « Clé publique de foopgp »: D64732B47FA78219DF6CEA0C9B38357EE665BD15E60A22AA63AF742BF2FB\nNous calculons maintenant l’empreinte de ce 1er bloc qui correspond à l’empreinte des deux empreintes ci-après: [ l’empreinte du bloc Genesis + l’empreinte du document « Clé publique de foopgp » ] soit\n782B37BF974FDE0C58E62106A9301B2580C88AD7B2D853CDB31200EBAEBD0C + D64732B47FA78219DF6CEA0C9B38357EE665BD15E60A22AA63AF742BF2FB = DF388B7F257E79D18E3A9C6BDD38BA3B827954B7B02FDCD8979FFAFEE0AA2F 2. Deuxième bloc Il contient l’empreinte SHA-256 du 2e document « Contrat de rachat de Micromou par foopgp » : 75ECE12943E867C7EE6F3829A4FC3B1360F31FB37D03592721B4CED85DF9F98D\nNous calculons maintenant l’empreinte de ce 2e bloc qui correspond à l’empreinte des deux empreintes ci-après : [ l’empreinte du 1er bloc + l’empreinte de « Contrat de rachat de Micromou par foopgp » ] soit\nDF388B7F257E79D18E3A9C6BDD38BA3B827954B7B02FDCD8979FFAFEE0AA2F + 75ECE12943E867C7EE6F3829A4FC3B1360F31FB37D03592721B4CED85DF9F98D = 6C54B6DFB4AF4517476DDA63466ABCAD7B379D7044FDDE9CFC4D3FFAF71D27E 3. Troisième bloc Il contient l’empreinte SHA-256 du 3e document « Rapport d’AG de l’association foopgp » : 49A1FE68117D8AFC2479CCE40F959B4A7EF0A457E431185E1F8BCFC7F27586D\nNous calculons maintenant l’empreinte de ce 3e bloc qui correspond à l’empreinte des deux empreintes ci-après : [ l’empreinte du 2e bloc + l’empreinte de « Rapport d’AG de l’association foopgp »\n6C54B6DFB4AF4517476DDA63466ABCAD7B379D7044FDDE9CFC4D3FFAF71D27E + 49A1FE68117D8AFC2479CCE40F959B4A7EF0A457E431185E1F8BCFC7F27586D = F843F767B214DA4B7FC358DCB255010AE48E2254E702A21D27D3709973EF Publication publique de l’empreinte du dernier bloc Pour attester que ces documents sont tels que ces empreintes l’indiquent, Alice, Bertrand et Cédric publient l’empreinte du dernier bloc dans leur descriptif twitter-X, facebook, telegram, sur le site foopgp.org, etc. Rappel : le dernier bloc garantit l’intégrité de tous les blocs précédents.\nIls publient donc cette empreinte du 3e et dernier bloc sur leurs réseaux : F843F767B214DA4B7FC358DCB255010AE48E2254E702A21D27D3709973EF\nPlus ils la publient sur de nombreux supports, plus la fiabilité du processus est augmentée. Si un attaquant voulait faire croire à une autre version de leur blockchain, donc à un ou des documents falsifiés, il devrait arriver à modifier cette empreinte F843F... sur tous les supports, donc arriver à « hacker » chaque compte twitter-x, facebook, telegram, etc. des trois membres du bureau. Cela commence à être compliqué\u0026hellip;\nAinsi, le bénéfice essentiel de la blockchain, basée sur ces fonctions de hachage, est que toute personne malveillante faisant circuler, par exemple, une fausse clause dans le contrat de rachat de Micromou par foopgp, serait facilement contredite par cette authentification forte des documents par le bureau de l’association.\nEn résumé, toute blockchain, monétaire ou non, comme le Bitcoin, le Dji, l’Ether ou le Monero, utilise cette brique fondamentale qu’est le hash ou l’empreinte.\nPour obtenir une blockchain plus complète, une autre brique essentielle, non étudiée dans cet article, est la signature numérique. Elle se base elle-même sur la cryptographie asymétrique mais également, en partie, sur l’empreinte, encore elle !!! \u0026hellip;\nAu final, la blockchain repose bien sur les épaules du géant « Hash » et sur son Histoire avec une grande H\u0026hellip;!\nLe monde numérique rend toute description du réel aisément falsifiable par l’Homme ou l’IA. Et si ce bon vieux témoignage humain redevenait notre parade, une fois organisé en blockchain !? Retrouvons sa valeur d’antan grâce au hash\u0026hellip; loin des enfumages\u0026hellip;\nBons hachages et bonne propagation de la confiance à tous!\nMarc Odef\nEn France, le 11 octobre 2025\nPour approfondir Deux vidéos sur le net parmi des milliers sur le sujet\nMaths adultes – Blockchain : Comment ça marche? https://www.youtube.com/watch?v=SccvFbyDaUI (un style universitaire de 7 ans en arrière mais avec les fondamentaux très bien expliqués comme justement le hash..) Delicious Insights - Git et le chaînage des commits https://www.youtube.com/watch?v=eIKjcZ3fYis (In fine, \u0026ldquo;blockchain\u0026rdquo; n\u0026rsquo;est qu\u0026rsquo;un buzzword marketing, designant un concept exploité en réalité bien avant l\u0026rsquo;existence des \u0026ldquo;cryptomonnaies\u0026rdquo;.) Hash SHA-256 de la photo d’illustration de Chantal \u0026amp; Ole / Unsplash (fumée - fond violet) AC9BDDDA0A03DDAA96B67EEAD3F34D0E35AB67D4100B78E4C585A6417138F5C\nLes caractères hexadécimaux sont les 16 caractères suivants : 0 à 9 et A à F. Ex : 94EE059335...\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/blog/2025-10-21-hash/","tags":["Internship","Experience"],"title":"Un peu de hash"},{"categories":["News"],"contents":"Note janvier 2026 : Djibian est passé en prod ^^ ! (voir l\u0026rsquo;annonce ). Restez informé en vous inscrivant à nos listes de diffusion .\nDécouvrir Nous avons l’immense joie d\u0026rsquo;accueillir et vous présenter djibian , le système d\u0026rsquo;exploitation qui sécurise vos données et respecte votre vie privée.\nDjibian est un système Debian , c\u0026rsquo;est-à-dire une alternative libre et open source aux univers Windows® ou Apple®, auquel nous intégrons ou configurons vos logiciels courants, ainsi que les dernières innovations pour vous faciliter :\nLa configuration de vos clés de sécurité OpenPGP .\nUne authentification forte et facile à l\u0026rsquo;usage.\nLa signature et le chiffrement de vos documents ou courriels .\nPour les adhérents : la participation à la gouvernance de la société .\nPour les adhérents : l\u0026rsquo;utilisation des jetons de gouvernance comme monnaie d\u0026rsquo;échange .\nDe plus, djibian a été pensé pour fonctionner aussi bien sur des machines récentes que sur des ordinosaures. C\u0026rsquo;est donc également un excellent choix si vous souhaitez prolonger de plusieurs années la vie de vos ordinateurs.\nEnfin et si vous nous aidez à grandir, nous pourrons achever et proposer d\u0026rsquo;autres fonctionnalités innovantes, telles que :\nTouche sur le clavier pour envoyer une capture d\u0026rsquo;écran à un support de proximité. Sauvegarde et récupération automatique de votre univers numérique, dès que vous branchez votre clé de sécurité OpenPGP sur un système djibian. etc. Installer La dernière ISO est ici : http://iso.foopgp.org/djibian/latest .\nNote : le mot de passe de l\u0026rsquo;utilisateur par défaut est : foopgp\nSi vous souhaitez par vous-mêmes installer djibian, nous vous conseillons d\u0026rsquo;utiliser Ventoy .\nSinon nous vous conseillons de vous fournir auprès de nos partenaires . Notamment :\nSun Valley Systems à Gap . Tester Si vous êtes déjà sous Debian, vous pouvez installer nos logiciels en rajoutant notre dépôt de paquets .\nCertains de ces paquets pourraient être fonctionnels également sous Ubuntu ou Mint. Les développeurs peuvent librement intégrer nos logiciels pour les autres systèmes d\u0026rsquo;exploitation (GNU/Linux, Mac OS, etc.)\nCommuniquer Si ce projet vous enthousiasme, visuels à partager sans modération :\n😊\n","permalink":"/fr/blog/2025-09-12-welcome-djibian/","tags":["djibian","experience","debian"],"title":"Djibian GNU/Linux ^^"},{"categories":["study"],"contents":"Comment utiliser ses clés privées à distance, et donc sa Yubikey, tout en gardant les secrets en local, secrets et local.\nJe parts d\u0026rsquo;une VM (machine virtuelle) \u0026ldquo;neuve\u0026rdquo; pour cette démo.\nRemote: Si besoin.\nsudo apt install openssh-server Local: La connexion ssh fonctionne.\nssh foopgp@192.168.122.209 ... $ echo bonjour \u0026gt; top-secret.txt $ cat top-secret.txt bonjour Local: Je rajoute la configuration dans ~/.ssh/config,\ncat .ssh/config host demo hostname 192.168.122.209 User foopgp Local: afin de me reconnecter plus facilement.\nssh demo ... $ cat top-secret.txt bonjour Remote: J\u0026rsquo;importe ma clé publique, plusieurs solutions, exemple.\n$ curl -s \u0026#34;https://keys.foopgp.org/pks/lookup?op=get\u0026amp;search=0x2C364630A2436D7E\u0026#34; \\ | awk \u0026#34;/-----BEGIN PGP PUBLIC KEY BLOCK-----/,/-----END PGP PUBLIC KEY BLOCK-----/\u0026#34; \\ | gpg --import gpg: key 2C364630A2436D7E: 1 signature not checked due to a missing key gpg: clef 2C364630A2436D7E : clef publique « piseb \u0026lt;piseb@mailo.com\u0026gt; (udid4=D9SrwuxesuMU90PM8xypxQe_48.78_002.19) » importée gpg: Quantité totale traitée : 1 gpg: importées : 1 gpg: aucune clef de confiance ultime n\u0026#39;a été trouvée Remote: Seule la publique est évidemment présente. On peut vérifier.\n$ gpg --list-secret-keys $ gpg --list-public-keys ... Remote: Je rajoute \u0026ldquo;StreamLocalBindUnlink yes\u0026rdquo; à la configuration du serveur ssh, ci-dessous dans un fichier dédié, et je redémarre le service ssh:\nsudo -i echo \u0026#34;StreamLocalBindUnlink yes\u0026#34; \u0026gt; /etc/ssh/sshd_config.d/streamlocal.conf systemctl restart sshd.service L\u0026rsquo;option StreamLocalBindUnlink permet de spécifier si un fichier de socket de domaine Unix pour la redirection de port local ou distant doit être supprimé avant d’en créer un nouveau. Si le fichier de socket existe déjà et si StreamLocalBindUnlink n’est pas activée, sshd ne pourra pas rediriger le port vers le fichier de socket de domaine Unix. Cette option n’est utilisée que pour la redirection de port vers un fichier de socket de domaine Unix.\nPour la suite, on utilise le petit script ssh_gpgforward qu\u0026rsquo;un gentil membre de l\u0026rsquo;association a publié sur codeberg (d\u0026rsquo;où vous pouvez le télécharger ).\nssh_gpgforward user@demo.org \u0026#34;hostname -f | gpg --clearsign | tee \u0026gt;( gpg --verify)\u0026#34; Et l\u0026rsquo;on peut signer, déchiffrer etc. exactement comme en local.\nSources:\nhttps://wiki.gnupg.org/AgentForwarding https://superuser.com/questions/161973/how-can-i-forward-a-gpg-key-via-ssh-agent/1329299#1329299 https://wiki.archlinux.org/title/GnuPG#Forwarding_gpg-agent_and_ssh-agent_to_remote ","permalink":"/fr/blog/2025-09-07-agentforwarding/","tags":["gnupg"],"title":"Utiliser ses clés privées locales à travers ssh - Agent Forwarding"},{"categories":["about"],"contents":"Règlement intérieur foopgp Ce règlement intérieur a pour objectif de préciser les statuts de l\u0026rsquo;association foopgp, dont l\u0026rsquo;objet est de rassembler toutes les personnes physiques ou morales qui utilisent ou développent des solutions technologiques basées sur les normes OpenPGP.\nLe règlement intérieur en vigueur devrait être remis à chaque nouvel adhérent, et il doit être consultable sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-of-procedures/ .\nArticle 1er – Composition L\u0026rsquo;association foopgp est composée d\u0026rsquo;adhérents : personnes physiques, et de partenaires : personnes morales.\nArticle 2 - Modification du règlement intérieur Le règlement intérieur de l’association foopgp est établi par le conseil d’administration conformément à l\u0026rsquo;article 15 des statuts .\nIl peut être modifié par le conseil d’administration sur proposition d\u0026rsquo;un de ses membres.\nToute modification doit se faire approuver par l\u0026rsquo;assemblée générale.\nArticle 3 – Cotisation À tout moment, les adhérents peuvent s\u0026rsquo;acquitter de cotisations libres, en euros.\nPlus la somme de ces cotisations est importante, plus l\u0026rsquo;adhérent disposera de jetons de pouvoirs (confer article 4 du règlement intérieur).\nToute cotisation versée à l\u0026rsquo;association est définitivement acquise. Aucun remboursement de cotisation ne peut être exigé en cas de démission, d\u0026rsquo;exclusion ou de décès d\u0026rsquo;un adhérent en cours d’année.\nLe versement de la cotisation doit être effectué de préférence par virement1 ou par chèque à l\u0026rsquo;ordre de l\u0026rsquo;association foopgp.\nArticle 4 - Modalités relatives aux jetons de pouvoir (confer article 10bis des Statuts) Toutes les cotisations à l\u0026rsquo;association versées à titre individuel (personne physique) donnent droit à des jetons de pouvoir, suivant la formule :\njₙ = log₂( (cₙ+cₜ) + 1 ) / stingynaltyₙ – jₜ\nAvec :\nlog₂() : la fonction logarithme binaire. C\u0026rsquo;est à dire de base 2 : log₂(x) = ln(x) / ln(2) jₙ : la quantité de jetons supplémentaires cₙ : le montant de la nième cotisation mesurée en Euros (€). cₜ : le montant total des cotisations précédentes (cₜ = cₙ₋₁ + cₙ₋₂ + \u0026hellip; + c₀ ) stingynaltyₙ : le facteur d\u0026rsquo;inflation à la période de la nième cotisation jₜ : la quantité totale de jetons issue des cotisations précédentes (jₜ = jₙ₋₁ + jₙ₋₂ + \u0026hellip; + j₀) Où stingynalty croît automatiquement le premier jour de chaque mois, à 0h00. Si ce taux de croissance est de 5 pour mille (5 ‰) :\nstingynaltyₙ = stingynaltyₙ₋₁ + 0.005 × stingynaltyₙ₋₁\nExplication : en choisissant un facteur d\u0026rsquo;inflation supérieur à ceux calculés en zone euro (eg: eurostat) nous pouvons créer un léger « Fear Of Missing Opportunity ».\nEn cas d\u0026rsquo;inflation significative de la zone euro, un ajustement du paramètre stingynalty pourra être determiné par le conseil d\u0026rsquo;administration puis adopté en assemblée générale.\nNote : jₙ ne peut être négatif. Si la nième cotisation ne comble pas la croissance du facteur d\u0026rsquo;inflation stingynalty, alors la cotisation est compté mais aucun jeton n\u0026rsquo;est crée : jₙ est nul.\nRemarque : au moment la première cotisation, la formule se simplifie :\nj = log₂(c+1) / stingynalty\nAvec :\nj : la quantité de jetons c : le montant de la cotisation, mesurée en euro (€) stingynalty : le facteur d\u0026rsquo;inflation Des tableaux de correspondance entre cotisations et jetons, en fonction des facteurs d\u0026rsquo;inflations stingynalty actuels et à venir, sont consultables sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Article 4bis - Certification et validation Pour pouvoir utiliser ou échanger tout jeton de pouvoir, chaque adhérent devra être validé par l\u0026rsquo;association.\nCette validation est automatique dès lors que les deux critères suivant sont remplis :\nÊtre à jour de ses contributions obligatoires (confer article 7 du présent document et article 10bis des Statuts). Être certifié par l\u0026rsquo;association. Cette certification passe par un identifiant unique, calculé à partir de données d\u0026rsquo;État-Civil conformes à la norme ISO/IEC 7501-1:20082.\nCette certification pourra s\u0026rsquo;appuyer sur des toiles de confiance OpenPGP3 ; lesquelles peuvent être renforcées lors de \u0026ldquo;Key Signing Parties\u0026rdquo;4.\nArticle 5 – Émission universelle de nouveaux jetons (confer article 10bis des Statuts) Mensuellement, de nouveaux jetons sont émis à quantité égale pour chaque personne physique adhérente validée de l’association. Ce mécanisme permet d’appliquer la théorie relative de la monnaie de Stéphane Laborde .\nAinsi, pour chacune de ces périodes mensuelles, chaque adhérent validé de l’association, c’est-à-dire certifié et à jour de ses cotisations et de ses contributions obligatoires (cf. articles 3 et 7) pourra émettre, avant la fin de la dite période, une quantité de nouveaux jetons égales à :\njₛ= growth × Mₜ ∕ N\nAvec :\njₛ : la quantité de jetons supplémentaires issue de cette émission growth : un taux de croissance de la masse totale de l’ensemble des jetons Mₜ : la masse totale de l’ensemble des jetons (avant cette émission universelle) N : Le nombre d\u0026rsquo;adhérents sur la période Le taux de croissance growth adopté lors de la dernière assemblée générale sont consultables sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Article 6 – Portefeuilles Tout jeton doit être associé à un et un seul portefeuille.\nToute personne physique adhérente de l’association doit posséder au moins un portefeuille individuel.\nToute personne physique peut posséder des portefeuilles secondaires, éventuellement partageables, en proportion égale, avec d’autres personnes physiques.\nCes portefeuilles sont notés « W ».\nArticle 7 – Contributions obligatoires (confer article 10bis des Statuts) Des contributions obligatoires en jetons pourront être déterminé par le conseil d\u0026rsquo;administration puis adopté en assemblée générale.\nCes contributions correspondront à un pourcentage de la valeur de chaque portefeuille à la fin de la periode précédente. Elles sont révisables en assemblée générale.\nLa somme de ces contributions est appelée impôt associatif et son taux est noté « taxe ».\nAussi, elles pourront être réglées en une seule fois, au bénéfice de l\u0026rsquo;association.\nTant que ces contributions ne seront pas réglés, les adhérents associés à ces portefeuilles sont considérés comme suspendus (confer article 8 des statuts).\nLe taux total de contributions taxe et sa periodicité taxep définis lors de la dernière assemblée générale sont consultables sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Article 8 – Lissage polynomial des quantitées de pouvoir (confer article 10bis des Statuts) Durant chaque exercice, les adhérents pourront exprimer leur voix pour valider, ou non, certaines résolutions prises par le conseil d’administration.\nLe nombre de voix de chaque adhérent validé dépend de la quantité de jetons de pouvoir en leur possession, suivant la formule :\nv = j^sharp = jˢʰᵃʳᵖ\nAvec :\nv : le nombre de voix j : la quantité de jetons enregistrés en leur possession au moment du vote sharp : l’exposant de pouvoir, compris entre 0 et 1 : 0 ≤ p ≤ 1 Explication :\nsharp=0 équivaut à « Une personne, une voix » sharp=1 équivaut à « Un jeton, une voix » sharp=1/2=0.5 équivaut à un vote quadratique où v est la racine carré de j (v=√j) L\u0026rsquo;exposant de pouvoir sharp défini lors de la dernière assemblée générale est consultable sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Article 9 – Expression de la volonté des adhérents (confer article 10bis et article 11 des Statuts) À chaque assemblée générale, les adhérents pourront exprimer leurs voix pour redéfinir, parmi des valeurs proposées par le conseil d’administration certains paramètres du présent règlement intérieur :\nle facteur d\u0026rsquo;inflation stingynalty (confer article 4 du présent règlement intérieur) le taux de croissance « growth » ainsi que sa périodicité « growthp » (confer article 5 du présent règlement intérieur) les taux de contributions obligatoires et donc le taux d\u0026rsquo;impôt associatif « taxe » ainsi que sa périodicité « taxep » (confer article 7 du présent règlement intérieur) l’exposant de pouvoir « sharp » (confer article 8 du présent règlement intérieur) Cette expression pourra utiliser la méthode de Schulze .\nExplication : la méthode de Schulze est une méthode de Condorcet . L\u0026rsquo;inspiration vient ici de la communauté Debian .\nAdopté en assemblée générale extraordinaire du dimanche 20 juillet 2025 à Pelleautier et en vigueur depuis cette date et jusqu\u0026rsquo;à nouvel ordre.\nRèglement intérieur précédent IBAN : FR76 1027 8079 9800 0208 2780 107\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nISO/IEC 7501-1:2008 Identification cards \u0026ndash; Machine readable travel documents \u0026ndash; Part 1: Machine readable passport \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nhttps://fr.wikipedia.org/wiki/Toile_de_confiance \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nhttps://en.wikipedia.org/wiki/Key_signing_party \u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/about/rules-of-procedures/","tags":null,"title":"Règlement intérieur foopgp"},{"categories":["about"],"contents":"Statuts de l\u0026rsquo;association déclarée en France par application de la loi du 1er juillet 1901 et du décret du 16 août 1901. Article PREMIER - NOM Il est fondé entre les adhérents aux présents statuts une association régie par la loi du 1er juillet 1901 et le décret du 16 août 1901, ayant pour titre : Friends of OpenPGP (foopgp)\nArticle 2 - BUT OBJET Cette association a pour objet de rassembler toutes les personnes physiques ou morales qui utilisent ou développent des solutions technologiques basées sur les normes OpenPGP.\nLes valeurs portées par l\u0026rsquo;association sont la Transparence, la Bienveillance, la Coopération, et la Proximité.\nLes objectifs de l\u0026rsquo;association sont\nde promouvoir et de faciliter l’adoption des technologies OpenPGP et de soutenir leur croissance et leur utilisation. la transition vers un système monétaire complémentaire, conscient des limites physiques de notre planète. Pour atteindre ces objectifs, l’association organise des événements, des ateliers et des formations. Elle informe sur les évolutions technologiques liées à OpenPGP à travers tous les médias (presse écrite ou parlée, Internet, réseaux sociaux, etc) et par tous les moyens (web serveurs, blogs, listes de diffusion, etc).\nL\u0026rsquo;association peut également héberger et promouvoir le développement collaboratif de projets logiciels liés à OpenPGP.\nL\u0026rsquo;association peut, de façon habituelle, offrir des produits à la vente, les vendre ou fournir des services se rapportant aux normes OpenPGP.\nL\u0026rsquo;association peut récolter des dons et accompagner financièrement les projets tiers qui concourent au développement des solutions technologiques basées sur les normes OpenPGP.\nArticle 3 - SIÈGE SOCIAL Le siège social est fixé au\n75, Impasse Serre des Isnards. 05000 Pelleautier\nIl pourra être transféré par simple décision du conseil d\u0026rsquo;administration.\nArticle 4 - DURÉE La durée de l’association est illimitée.\nArticle 5 - COMPOSITION L\u0026rsquo;association se compose d\u0026rsquo;adhérents : personnes physiques, et de partenaires : personnes morales.\nArticle 6 - ADMISSION Pour faire partie de l\u0026rsquo;association, il faut être agréé par le conseil d’administration, qui statue, lors de chacune de ses réunions, sur les demandes d\u0026rsquo;admission présentées.\nArticle 7 - ADHÉRENTS – COTISATIONS Sont adhérents ceux qui sont à jour du paiement des sommes fixées par le règlement intérieur , telle la cotisation.\nSeuls les adhérents peuvent :\nexprimer leurs voix recevoir des jetons de pouvoir supplémentaires (confer article 10bis) Article 8 - SUSPENSIONS La qualité d\u0026rsquo;adhérent peut-être suspendue par :\nLa démission. La suspension prononcée par le conseil d\u0026rsquo;administration pour motif grave, l\u0026rsquo;intéressé ayant été invité par tout moyen à fournir des explications devant le bureau et/ou par écrit. Le non-payement des sommes fixées par le règlement intérieur , telle la cotisation. Le non-respect des critères de certification décrits par le règlement intérieur . Article 9 - AFFILIATION La présente association peut adhérer à d’autres associations, unions ou regroupements par décision du conseil d’administration.\nArticle 10 - RESSOURCES Les ressources de l\u0026rsquo;association comprennent :\nLe montant des cotisations; Les subventions de l\u0026rsquo;Union Européenne, l\u0026rsquo;État, les départements et les communes. Toutes les ressources autorisées par les lois et règlements en vigueur, notamment les dons, libéralités et les financements participatifs. Les produits de ses activités économiques. Article 10 BIS – SUR LES SUFFRAGES LORS DES ASSEMBLÉES GÉNÉRALES LES JETONS DE POUVOIR.\nÀ chaque cotisation en euros, des jetons de pouvoir individualisés et personnels sont crées pour participer aux votes sur les décisions.\nLe conseil d\u0026rsquo;administration propose, au sein d\u0026rsquo;un règlement intérieur ad hoc les modalités de l\u0026rsquo;offre aux adhérents des jetons de pouvoir, leurs caractéristiques (pseudonymat, incompressibilité, fongibilité, (dé)matérialisation, (dé)centralisation) et les quantités logarithmiques de jetons de pouvoir en fonction des cotisations.\nLe conseil d\u0026rsquo;administration propose aussi, le coefficient de croissance du nombre de jetons de pouvoir au sein de l\u0026rsquo;association, ainsi que les contributions obligatoires dues en raison du nombre de jetons de pouvoir détenus, et les modalités de lissage polynomial des jetons de pouvoir pour pallier aux inégalités de fait.\nLe nombre de voix de chaque adhérent dépend de ces modalités de lissage.\nCes propositions sont soumises à validation lors d\u0026rsquo;une assemblée générale.\nArticle 11 - ASSEMBLÉE GÉNÉRALE ORDINAIRE L\u0026rsquo;assemblée générale ordinaire comprend toutes les personnes physiques adhérentes de l\u0026rsquo;association à quelque titre qu\u0026rsquo;elles soient.\nElle se réunit au moins une fois chaque année civile.\nQuinze jours au moins avant la date fixée, les adhérents de l\u0026rsquo;association sont convoqués par les soins du Conseil d\u0026rsquo;administration. L\u0026rsquo;ordre du jour figure sur les convocations.\nUn président, assisté des adhérents du conseil, préside l\u0026rsquo;assemblée et expose la situation morale ou l’activité de l\u0026rsquo;association.\nUn trésorier rend compte de sa gestion et soumet les comptes de l\u0026rsquo;année civile échue à l\u0026rsquo;approbation de l\u0026rsquo;assemblée.\nL’assemblée générale fixe la valeur des paramètres de fonctionnement définis par le règlement intérieur . Tel le montant de la cotisation à verser par les adhérents.\nNe peuvent être abordés que les points inscrits à l\u0026rsquo;ordre du jour.\nLes décisions sont prises à la majorité des voix (confer article 10bis) exprimées par les adhérents, présents ou représentés.\nIl est procédé, après épuisement de l\u0026rsquo;ordre du jour, au renouvellement des membres sortants du conseil.\nLes décisions des assemblées générales s’imposent à tous les adhérents, y compris absents ou représentés.\nArticle 12 - ASSEMBLÉE GÉNÉRALE EXTRAORDINAIRE Si besoin est, ou sur la demande de plus de 20% un des adhérents, un président peut convoquer une assemblée générale extraordinaire, suivant les modalités prévues aux présents statuts et uniquement pour modification des statuts ou règlement intérieur, ou la dissolution ou pour des actes portant sur des immeubles.\nLes modalités de convocation sont les mêmes que pour l’assemblée générale ordinaire.\nLes délibérations sont prises à la majorité des voix (confer article 10bis) exprimés par les adhérents, présents ou représentés.\nArticle 13 - CONSEIL D\u0026rsquo;ADMINISTRATION L\u0026rsquo;association est dirigée par un conseil d\u0026rsquo;administration d\u0026rsquo;au moins 2 membres (un président et un trésorier), élus pour 3 années par l\u0026rsquo;assemblée générale. Les membres sont rééligibles.\nEn cas de vacance, le conseil d\u0026rsquo;administration pourvoit provisoirement au remplacement de ses membres jusqu\u0026rsquo;à la prochaine assemblée générale.\nLe conseil d\u0026rsquo;administration se réunit par visioconférence une fois par semaine, sauf exceptions. Ces réunions sont ouvertes à tous les adhérents et aux invités, dans la limite d\u0026rsquo;un invité par adhérent. À chaque réunion un compte rendu sera publié, au plus tard avant la réunion suivante.\nLes décisions sont prises par recherche du consentement.\nSi des objections perdurent, un président convoquera l\u0026rsquo;ensemble des membres du conseil d\u0026rsquo;administration, et les décisions seront prises à la majorité qualifié des deux tiers des voix exprimées.\nSi la majorité qualifié n\u0026rsquo;est pas obtenue au sein du conseil d\u0026rsquo;administration, les decisions concernées pourront être soumises à l\u0026rsquo;ensemble des adhérents, lors d\u0026rsquo;une prochaine assemblée générale ou d\u0026rsquo;un vote par correspondance.\nEn cas de partage égal des voix, les décisions seront tirées au sort.\nTrésoriers et présidents sont les seules personnes habilitées à engager l\u0026rsquo;association sur ses deniers.\nLes signatures d\u0026rsquo;un trésorier et d\u0026rsquo;un président devront être conjointes pour toutes opérations importantes, notamment :\nsignature d\u0026rsquo;un bail ouverture de compte bancaire opérations bancaires, ou somme d\u0026rsquo;opérations bancaires sur un mois, pour des montants supérieurs à 5% du chiffre d\u0026rsquo;affaire établi, et dans la limite de 10 000 €. Article 14 – INDEMNITÉS Toutes les fonctions de direction, y compris celles des membres du conseil d’administration, sont bénévoles.\nSeuls les frais occasionnés par l’accomplissement de leur mandat sont remboursés sur justificatifs. Le rapport financier présenté à l’assemblée générale ordinaire présente, par bénéficiaire, les remboursements de frais de mission, de déplacement ou de représentation.\nArticle 15 - RÈGLEMENT INTÉRIEUR Un règlement intérieur est établi par le conseil d\u0026rsquo;administration, toute modification doit se faire approuver par l\u0026rsquo;assemblée générale.\nCe règlement éventuel est destiné à fixer les divers points non prévus par les présents statuts, notamment ceux qui ont trait à l\u0026rsquo;administration interne de l\u0026rsquo;association.\nArticle 16 - LIBÉRALITÉS Le rapport et les comptes annuels, tels que définis à l’article 11 sont adressés chaque année au Préfet du département.\nL’association s’engage à présenter ses registres et pièces de comptabilité sur toute réquisition des autorités administratives en ce qui concerne l’emploi des libéralités qu’elle serait autorisée à recevoir, à laisser visiter ses établissements par les représentants de ces autorités compétents et à leur rendre compte du fonctionnement desdits établissements.\nAdopté en assemblée générale extraordinaire le dimanche 20 juillet 2025 à Pelleautier , et en vigueur à partir de cette date et jusqu\u0026rsquo;à nouvel ordre.\nStatuts précédents ","permalink":"/fr/about/status/","tags":null,"title":"Friends Of OpenPGP (foopgp)"},{"categories":null,"contents":"L\u0026rsquo;association foopgp a convoqué ses adhérents pour une Assemblée Général Extraordinaire, le dimanche 20 juillet 2025 après-midi, à Pelleautier1 et en vidéoconférence sur https://meet.jit.si/foopgp .\nProcès Verbal de l’Assemblée Générale Extraordinaire du 20 juillet 2025 Note : en cas de gros problème avec le lien de vidéoconférence sur meet.jit.si, se rabattre en secours sur notre lien de vidéoconférence hebdomadaire : https://cloud.foopgp.org/call/4du5irxe .\nProgramme 14h00 : Acceuil, café, salutations.\n14h30 : Assemblée Générale\nFin : On espère avant 16h.\nOrdre du jour Petit tour rapide de présentations.\nIntroduction de Katia, candidate à la responsabilité de co-trésorière.\nBilan Financier, confer rapport 2024 .\nVote : validation de Katia en tant que nouvelle co-trésorière\nPrésentation des propositions de modification des statuts et réglement intérieur.\nComparaison entre les statuts actuels et le projet : https://foopgp.org/fr/about/status.diff.html Comparaison entre l\u0026rsquo;actuel règlement intérieur et le projet : https://foopgp.org/fr/about/rules-of-procedures.diff.html Vote : validation des nouveaux statuts et règlement intérieur.\nSi vous ne pouvez vous déplacer : L’assemblée générale sera accessible en vidéoconférence sur https://meet.jit.si/foopgp .\nSi vous ne pouvez y participer, vous pouvez donner procuration en signant un message de type :\nJe soussigné demeurant à , donne pouvoir à demeurant à , pour me représenter à l’assemblée générale de l’association qui se tiendra le , au siège social et en vidéoconférence, en prenant part aux délibérations et décisions prévues à l’ordre du jour. sur papier ou par courriel à info@foopgp.org .\nPour faciliter l\u0026rsquo;organisation sur place, les participants en présentiel peuvent confirmer leur participation en envoyant un petit courriel à info@foogp.org .\nAu siège social : 75 Impasse Serre des Isnards, 05000 Pelleautier.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/event/2025-07-20-ag/","tags":null,"title":"Assemblée Générale"},{"categories":null,"contents":"Procès Verbal de l’Assemblée Générale Extraordinaire du 20 juillet 2025 Sommaire Changement1 des statuts2 et du règlement intérieur3\nChangement des statuts Changement du règlement intérieur Vote Vote des comptes de résultats\nExercice comptable du 01/04/2023 au 31/12/2023 Exercice comptable du 01/01/2024 au 31/12/2024 Élection d’un nouveau membre du Conseil d’Administration\nDébut à 15h10.\nPrésents : M. Jean-Jacques BRUCKER (Président), M. Laurent CEARD (secrétaire de séance), M. Sébastien PICARDEAU, M. Stéphane FAWAL, Mme Katia BOYER, Mme Claire BODZEN.\nEn vidéoconférence : M. Didier LOYENS, M. Frédéric ZWIKEL.\nChangement1 des statuts2 et du règlement intérieur3 Pour les deux textes, le mot « membre » est remplacé par « adhérent ».\nChangement des statuts Une suggestion est faite sur la possibilité qu’un membre suspendu puisse faire appel ; En cas de décès d’un membre se pose la question de qui a accès au compte et que deviennent les Jetons ? Un « don » est défiscalisable. Donc, par définition, cette contrepartie fait qu’il ne peut pas créer de Jetons. Seule la cotisation qui devient désormais d’un montant libre donne droit à des Jetons ; Dans la phrase « chaque cotisation » ajout des mots « en euro » ; Article 12 : la proposition du seuil de 20 % est approuvé. Le mot « certifié » est supprimé puisqu’il est implicite avec l’article 8 ; Articles 11 et 12 : dans la phrase « majorité des suffrages », ajout de l’expression « confer article 10 bis » afin de bien rappeler que ce n’est pas 50 % ; Article 10 bis : remplacement du mot « offerts » par le mot « créés » ; déplacement d’un paragraphe dans l’« Article 2 : objets » ; remplacement du mot « détermine » par le mot « propose » ; ajout de deux phrases explicatives de l’utilisation des « jetons de pouvoir » ; précision et reformulation ; reformulation de la phrase sur le seuil bancaire ; Changement du règlement intérieur Article 3 : ajout des mots « jetons de pouvoir » ; Article 4 : permutation de l\u0026rsquo;ordre du texte et amélioriation des explications : la formule générale précède désormais le cas particulier de la première cotisation ; Ajout de l’article 4 bis, qui introduit la notion de certification ; Article 7 : ajout de la phrase « confer article 8 des statuts ». Vote L’ensemble des modifications sont approuvées à l’unanimité.\nVote des comptes de résultats M. Laurent CEARD étant Trésorier d’une association et réalisant la comptabilité de ses entreprises, il fait quelques remarques sur les choix des comptes comptables.\nExercice comptable du 01/04/2023 au 31/12/2023 Du fait que l’association n’a pas de salarié, le choix des comptes « 64 charges de personnel » et « 648 Autres charges de personnel » ne sont pas appropriés. Le compte « 625 Déplacements, missions et réception » et leurs sous‑comptes (par exemple le « 6256 Missions ») est plus adéquat ; Vote : le Compte de résultat et le Bilan sont approuvés à l’unanimité. Exercice comptable du 01/01/2024 au 31/12/2024 Remarque identique pour le compte 648 ; Les charges concernant le registar et hébergeur du site web, OVH, ont été mis en « 6065 achats non stockés de matière et fourniture » ce qui n’est pas logique puisque ce n’est pas un achat matériel. Du fait que c’est un abonnement à un service il est possible de le mettre en « 6135 Location mobilière » ; Les tours de cou ont été mis en « 6017 achats stockés ». Ce n’est pas logique puisqu’ils ne sont pas vendus mais offerts. M. Laurent CEARD s’engage à se renseigner quel est le compte le plus approprié ; 4 Valorisation du stock : alors qu’il y a eu des achats de Nitrokeys et de Yubikeys dans le but de les vendre, celles-ci n’apparaissent pas en valorisation du stock. M. Laurent CEARD s’engage à vérifier comment il faut procéder. Vote : le Compte de résultat et le Bilan sont approuvés à l’unanimité. Élection d’un nouveau membre du Conseil d’Administration La candidature de Mme Katia BOYER au Conseil d’Administration est approuvé à l’unanimité.\nLe Bureau accepte sa nomination en tant que Co-trésorière.\nL’Assemblée Générale constate la vacance de M. Frédéric Renault dont le mandat est toujours en cours.\nClôture de l’Assemblée Générale à 17h30.\nhttps://codeberg.org/foopgp/foopgp-hugowebsite/commit/e6fb5416bff0e857298987a9804edef907c19fd7#diff-1250085b6c5e7504a7e175d51ce8954500d2422 \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nhttps://foopgp.org/fr/about/status/ \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nhttps://foopgp.org/fr/about/rules-of-procedures/ \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLe plus simple est de mettre les tours de cou directement dans le « 6234 cadeaux à la clientèle ». Plus finement, du fait qu’ils ne sont pas tous distribués dans la même année, on peut aussi mettre l’achat dans « 6022 matières consommable » afin qu’il soit comptabilisé dans le stock. Puis lorsqu’il sont distribués faire une OD dans le 6234.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/assembly/2025-07-20-report-age/","tags":null,"title":"2025 S29 PV AGE 20 juillet"},{"categories":["about"],"contents":"(en travaux) Règlement intérieur foopgp Ce règlement intérieur a pour objectif de préciser les statuts de l\u0026rsquo;association foopgp, dont l\u0026rsquo;objet est de rassembler toutes les personnes physiques ou morales qui utilisent ou développent des solutions technologiques basées sur les normes OpenPGP.\nLe règlement intérieur en vigueur devrait être remis à chaque nouvel adhérent, et il doit être consultable sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-of-procedures/ .\nArticle 1er – Composition L\u0026rsquo;association foopgp est composée d\u0026rsquo;adhérents : personnes physiques, et de partenaires : personnes morales.\nArticle 2 - Modification du règlement intérieur Le règlement intérieur de l’association foopgp est établi par le conseil d’administration conformément à l\u0026rsquo;article 15 des statuts .\nIl peut être modifié par le conseil d’administration sur proposition d\u0026rsquo;un de ses membres.\nToute modification doit se faire approuver par l\u0026rsquo;assemblée générale.\nArticle 3 – Cotisation À tout moment, les adhérents peuvent s\u0026rsquo;acquitter de cotisations libres, en euros.\nPlus la somme de ces cotisations est importante, plus l\u0026rsquo;adhérent disposera de jetons de pouvoirs (confer article 4 du règlement intérieur).\nToute cotisation versée à l\u0026rsquo;association est définitivement acquise. Aucun remboursement de cotisation ne peut être exigé en cas de démission, d\u0026rsquo;exclusion ou de décès d\u0026rsquo;un adhérent en cours d’année.\nLe versement de la cotisation doit être effectué de préférence par virement1 ou par chèque à l\u0026rsquo;ordre de l\u0026rsquo;association foopgp.\nArticle 4 - Modalités relatives aux jetons de pouvoir (confer article 10bis des Statuts) Toutes les cotisations à l\u0026rsquo;association versées à titre individuel (personne physique) donnent droit à des jetons de pouvoir, suivant la formule :\njₙ = log₂( (cₙ+cₜ) + 1 ) / stingynaltyₙ – jₜ\nAvec :\nlog₂() : la fonction logarithme binaire. C\u0026rsquo;est à dire de base 2 : log₂(x) = ln(x) / ln(2) jₙ : la quantité de jetons supplémentaires cₙ : le montant de la nième cotisation mesurée en Euros (€). cₜ : le montant total des cotisations précédentes (cₜ = cₙ₋₁ + cₙ₋₂ + \u0026hellip; + c₀ ) stingynaltyₙ : le facteur d\u0026rsquo;inflation à la période de la nième cotisation jₜ : la quantité totale de jetons issue des cotisations précédentes (jₜ = jₙ₋₁ + jₙ₋₂ + \u0026hellip; + j₀) Où stingynalty croît automatiquement le premier jour de chaque mois, à 0h00. Si ce taux de croissance est de 5 pour mille (5 ‰) :\nstingynaltyₙ = stingynaltyₙ₋₁ + 0.005 × stingynaltyₙ₋₁\nExplication : en choisissant un facteur d\u0026rsquo;inflation supérieur à ceux calculés en zone euro (eg: eurostat) nous pouvons créer un léger « Fear Of Missing Opportunity ».\nEn cas d\u0026rsquo;inflation significative de la zone euro, un ajustement du paramètre stingynalty pourra être determiné par le conseil d\u0026rsquo;administration puis adopté en assemblée générale.\nNote : jₙ ne peut être négatif. Si la nième cotisation ne comble pas la croissance du facteur d\u0026rsquo;inflation stingynalty, alors la cotisation est compté mais aucun jeton n\u0026rsquo;est crée : jₙ est nul.\nRemarque : au moment la première cotisation, la formule se simplifie :\nj = log₂(c+1) / stingynalty\nAvec :\nj : la quantité de jetons c : le montant de la cotisation, mesurée en euro (€) stingynalty : le facteur d\u0026rsquo;inflation Des tableaux de correspondance entre cotisations et jetons, en fonction des facteurs d\u0026rsquo;inflations stingynalty actuels et à venir, sont consultables sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Article 4bis - Certification et validation Pour pouvoir utiliser ou échanger tout jeton de pouvoir, chaque adhérent devra être validé par l\u0026rsquo;association.\nCette validation est automatique dès lors que les deux critères suivant sont remplis :\nÊtre à jour de ses contributions obligatoires (confer article 7 du présent document et article 10bis des Statuts). Être certifié par l\u0026rsquo;association. Cette certification passe par un identifiant unique, calculé à partir de données d\u0026rsquo;État-Civil conformes à la norme ISO/IEC 7501-1:20082.\nCette certification pourra s\u0026rsquo;appuyer sur des toiles de confiance OpenPGP3 ; lesquelles peuvent être renforcées lors de \u0026ldquo;Key Signing Parties\u0026rdquo;4.\nArticle 5 – Émission universelle de nouveaux jetons (confer article 10bis des Statuts) Mensuellement, de nouveaux jetons sont émis à quantité égale pour chaque personne physique adhérente validée de l’association. Ce mécanisme permet d’appliquer la théorie relative de la monnaie de Stéphane Laborde .\nAinsi, pour chacune de ces périodes mensuelles, chaque adhérent validé de l’association, c’est-à-dire certifié et à jour de ses cotisations et de ses contributions obligatoires (cf. articles 3 et 7) pourra émettre, avant la fin de la dite période, une quantité de nouveaux jetons égales à :\njₛ= growth × Mₜ ∕ N\nAvec :\njₛ : la quantité de jetons supplémentaires issue de cette émission growth : un taux de croissance de la masse totale de l’ensemble des jetons Mₜ : la masse totale de l’ensemble des jetons (avant cette émission universelle) N : Le nombre d\u0026rsquo;adhérents sur la période Le taux de croissance growth adopté lors de la dernière assemblée générale sont consultables sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Article 6 – Portefeuilles Tout jeton doit être associé à un et un seul portefeuille.\nToute personne physique adhérente de l’association doit posséder au moins un portefeuille individuel.\nToute personne physique peut posséder des portefeuilles secondaires, éventuellement partageables, en proportion égale, avec d’autres personnes physiques.\nCes portefeuilles sont notés « W ».\nArticle 7 – Contributions obligatoires (confer article 10bis des Statuts) Des contributions obligatoires en jetons pourront être déterminé par le conseil d\u0026rsquo;administration puis adopté en assemblée générale.\nCes contributions correspondront à un pourcentage de la valeur de chaque portefeuille à la fin de la periode précédente. Elles sont révisables en assemblée générale.\nLa somme de ces contributions est appelée impôt associatif et son taux est noté « taxe ».\nAussi, elles pourront être réglées en une seule fois, au bénéfice de l\u0026rsquo;association.\nTant que ces contributions ne seront pas réglés, les adhérents associés à ces portefeuilles sont considérés comme suspendus (confer article 8 des statuts).\nLe taux total de contributions taxe et sa periodicité taxep définis lors de la dernière assemblée générale sont consultables sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Article 8 – Lissage polynomial des quantitées de pouvoir (confer article 10bis des Statuts) Durant chaque exercice, les adhérents pourront exprimer leur voix pour valider, ou non, certaines résolutions prises par le conseil d’administration.\nLe nombre de voix de chaque adhérent validé dépend de la quantité de jetons de pouvoir en leur possession, suivant la formule :\nv = j^sharp = jˢʰᵃʳᵖ\nAvec :\nv : le nombre de voix j : la quantité de jetons enregistrés en leur possession au moment du vote sharp : l’exposant de pouvoir, compris entre 0 et 1 : 0 ≤ p ≤ 1 Explication :\nsharp=0 équivaut à « Une personne, une voix » sharp=1 équivaut à « Un jeton, une voix » sharp=1/2=0.5 équivaut à un vote quadratique où v est la racine carré de j (v=√j) L\u0026rsquo;exposant de pouvoir sharp défini lors de la dernière assemblée générale est consultable sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Article 9 – Expression de la volonté des adhérents (confer article 10bis et article 11 des Statuts) À chaque assemblée générale, les adhérents pourront exprimer leurs voix pour redéfinir, parmi des valeurs proposées par le conseil d’administration certains paramètres du présent réglement intérieur :\nle facteur d\u0026rsquo;inflation stingynalty (confer article 4 du présent règlement intérieur) le taux de croissance « growth » ainsi que sa périodicité « growthp » (confer article 5 du présent règlement intérieur) les taux de contributions obligatoires et donc le taux d\u0026rsquo;impôt associatif « taxe » ainsi que sa périodicité « taxep » (confer article 7 du présent règlement intérieur) l’exposant de pouvoir « sharp » (confer article 8 du présent règlement intérieur) Cette expression pourra utiliser la méthode de Schulze .\nExplication : la méthode de Schulze est une méthode de Condorcet . L\u0026rsquo;inspiration vient ici de la communauté Debian .\nBrouillon en cours, pour soumission éventuelle à la prochaine assemblée générale.\nRemplacera donc éventuellement le Réglement intérieur en vigueur .\nIBAN : FR76 1027 8079 9800 0208 2780 107\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nISO/IEC 7501-1:2008 Identification cards \u0026ndash; Machine readable travel documents \u0026ndash; Part 1: Machine readable passport \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nhttps://fr.wikipedia.org/wiki/Toile_de_confiance \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nhttps://en.wikipedia.org/wiki/Key_signing_party \u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/about/rules-of-procedures-wip/","tags":null,"title":"(en travaux) Réglement intérieur foopgp"},{"categories":["about"],"contents":"(en travaux) Statuts de l\u0026rsquo;association déclarée en France par application de la loi du 1er juillet 1901 et du décret du 16 août 1901. Article PREMIER - NOM Il est fondé entre les adhérents aux présents statuts une association régie par la loi du 1er juillet 1901 et le décret du 16 août 1901, ayant pour titre : Friends of OpenPGP (foopgp)\nArticle 2 - BUT OBJET Cette association a pour objet de rassembler toutes les personnes physiques ou morales qui utilisent ou développent des solutions technologiques basées sur les normes OpenPGP.\nLes valeurs portées par l\u0026rsquo;association sont la Transparence, la Bienveillance, la Coopération, et la Proximité.\nLes objectifs de l\u0026rsquo;association sont\nde promouvoir et de faciliter l’adoption des technologies OpenPGP et de soutenir leur croissance et leur utilisation. la transition vers un système monétaire complémentaire, conscient des limites physiques de notre planète. Pour atteindre ces objectifs, l’association organise des événements, des ateliers et des formations. Elle informe sur les évolutions technologiques liées à OpenPGP à travers tous les médias (presse écrite ou parlée, Internet, réseaux sociaux, etc) et par tous les moyens (web serveurs, blogs, listes de diffusion, etc).\nL\u0026rsquo;association peut également héberger et promouvoir le développement collaboratif de projets logiciels liés à OpenPGP.\nL\u0026rsquo;association peut, de façon habituelle, offrir des produits à la vente, les vendre ou fournir des services se rapportant aux normes OpenPGP.\nL\u0026rsquo;association peut récolter des dons et accompagner financièrement les projets tiers qui concourent au développement des solutions technologiques basées sur les normes OpenPGP.\nArticle 3 - SIÈGE SOCIAL Le siège social est fixé au\n75, Impasse Serre des Isnards. 05000 Pelleautier\nIl pourra être transféré par simple décision du conseil d\u0026rsquo;administration.\nArticle 4 - DURÉE La durée de l’association est illimitée.\nArticle 5 - COMPOSITION L\u0026rsquo;association se compose d\u0026rsquo;adhérents : personnes physiques, et de partenaires : personnes morales.\nArticle 6 - ADMISSION Pour faire partie de l\u0026rsquo;association, il faut être agréé par le conseil d’administration, qui statue, lors de chacune de ses réunions, sur les demandes d\u0026rsquo;admission présentées.\nArticle 7 - ADHÉRENTS – COTISATIONS Sont adhérents ceux qui sont à jour du paiement des sommes fixées par le règlement intérieur , telle la cotisation.\nSeuls les adhérents peuvent :\nexprimer leurs voix recevoir des jetons de pouvoir supplémentaires (confer article 10bis) Article 8 - SUSPENSIONS La qualité d\u0026rsquo;adhérent peut-être suspendue par :\nLa démission. La suspension prononcée par le conseil d\u0026rsquo;administration pour motif grave, l\u0026rsquo;intéressé ayant été invité par tout moyen à fournir des explications devant le bureau et/ou par écrit. Le non-payement des sommes fixées par le règlement intérieur , telle la cotisation. Le non-respect des critères de certification décrits par le règlement intérieur . Article 9 - AFFILIATION La présente association peut adhérer à d’autres associations, unions ou regroupements par décision du conseil d’administration.\nArticle 10 - RESSOURCES Les ressources de l\u0026rsquo;association comprennent :\nLe montant des cotisations; Les subventions de l\u0026rsquo;Union Européenne, l\u0026rsquo;État, les départements et les communes. Toutes les ressources autorisées par les lois et règlements en vigueur, notamment les dons, libéralités et les financements participatifs. Les produits de ses activités économiques. Article 10 BIS – SUR LES SUFFRAGES LORS DES ASSEMBLÉES GÉNÉRALES LES JETONS DE POUVOIR.\nÀ chaque cotisation en euros, des jetons de pouvoir individualisés et personnels sont crées pour participer aux votes sur les décisions.\nLe conseil d\u0026rsquo;administration propose, au sein d\u0026rsquo;un règlement intérieur ad hoc les modalités de l\u0026rsquo;offre aux adhérents des jetons de pouvoir, leurs caractéristiques (pseudonymat, incompressibilité, fongibilité, (dé)matérialisation, (dé)centralisation) et les quantités logarithmiques de jetons de pouvoir en fonction des cotisations.\nLe conseil d\u0026rsquo;administration propose aussi, le coefficient de croissance du nombre de jetons de pouvoir au sein de l\u0026rsquo;association, ainsi que les contributions obligatoires dues en raison du nombre de jetons de pouvoir détenus, et les modalités de lissage polynomial des jetons de pouvoir pour pallier aux inégalités de fait.\nLe nombre de voix de chaque adhérent dépend de ces modalités de lissage.\nCes propositions sont soumises à validation lors d\u0026rsquo;une assemblée générale.\nArticle 11 - ASSEMBLÉE GÉNÉRALE ORDINAIRE L\u0026rsquo;assemblée générale ordinaire comprend toutes les personnes physiques adhérentes de l\u0026rsquo;association à quelque titre qu\u0026rsquo;elles soient.\nElle se réunit au moins une fois chaque année civile.\nQuinze jours au moins avant la date fixée, les adhérents de l\u0026rsquo;association sont convoqués par les soins du Conseil d\u0026rsquo;administration. L\u0026rsquo;ordre du jour figure sur les convocations.\nUn président, assisté des adhérents du conseil, préside l\u0026rsquo;assemblée et expose la situation morale ou l’activité de l\u0026rsquo;association.\nUn trésorier rend compte de sa gestion et soumet les comptes de l\u0026rsquo;année civile échue à l\u0026rsquo;approbation de l\u0026rsquo;assemblée.\nL’assemblée générale fixe la valeur des paramètres de fonctionnement définis par le règlement intérieur . Tel le montant de la cotisation à verser par les adhérents.\nNe peuvent être abordés que les points inscrits à l\u0026rsquo;ordre du jour.\nLes décisions sont prises à la majorité des voix (confer article 10bis) exprimées par les adhérents, présents ou représentés.\nIl est procédé, après épuisement de l\u0026rsquo;ordre du jour, au renouvellement des membres sortants du conseil.\nLes décisions des assemblées générales s’imposent à tous les adhérents, y compris absents ou représentés.\nArticle 12 - ASSEMBLÉE GÉNÉRALE EXTRAORDINAIRE Si besoin est, ou sur la demande de plus de 20% un des adhérents, un président peut convoquer une assemblée générale extraordinaire, suivant les modalités prévues aux présents statuts et uniquement pour modification des statuts ou règlement intérieur, ou la dissolution ou pour des actes portant sur des immeubles.\nLes modalités de convocation sont les mêmes que pour l’assemblée générale ordinaire.\nLes délibérations sont prises à la majorité des voix (confer article 10bis) exprimés par les adhérents, présents ou représentés.\nArticle 13 - CONSEIL D\u0026rsquo;ADMINISTRATION L\u0026rsquo;association est dirigée par un conseil d\u0026rsquo;administration d\u0026rsquo;au moins 2 membres (un président et un trésorier), élus pour 3 années par l\u0026rsquo;assemblée générale. Les membres sont rééligibles.\nEn cas de vacance, le conseil d\u0026rsquo;administration pourvoit provisoirement au remplacement de ses membres jusqu\u0026rsquo;à la prochaine assemblée générale.\nLe conseil d\u0026rsquo;administration se réunit par visioconférence une fois par semaine, sauf exceptions. Ces réunions sont ouvertes à tous les adhérents et aux invités, dans la limite d\u0026rsquo;un invité par adhérent. À chaque réunion un compte rendu sera publié, au plus tard avant la réunion suivante.\nLes décisions sont prises par recherche du consentement.\nSi des objections perdurent, un président convoquera l\u0026rsquo;ensemble des membres du conseil d\u0026rsquo;administration, et les décisions seront prises à la majorité qualifié des deux tiers des voix exprimées.\nSi la majorité qualifié n\u0026rsquo;est pas obtenue au sein du conseil d\u0026rsquo;administration, les decisions concernées pourront être soumises à l\u0026rsquo;ensemble des adhérents, lors d\u0026rsquo;une prochaine assemblée générale ou d\u0026rsquo;un vote par correspondance.\nEn cas de partage égal des voix, les décisions seront tirées au sort.\nTrésoriers et présidents sont les seules personnes habilitées à engager l\u0026rsquo;association sur ses deniers.\nLes signatures d\u0026rsquo;un trésorier et d\u0026rsquo;un président devront être conjointes pour toutes opérations importantes, notamment :\nsignature d\u0026rsquo;un bail ouverture de compte bancaire opérations bancaires, ou somme d\u0026rsquo;opérations bancaires sur un mois, pour des montants supérieurs à 5% du chiffre d\u0026rsquo;affaire établi, et dans la limite de 10 000 €. Article 14 – INDEMNITÉS Toutes les fonctions de direction, y compris celles des membres du conseil d’administration, sont bénévoles.\nSeuls les frais occasionnés par l’accomplissement de leur mandat sont remboursés sur justificatifs. Le rapport financier présenté à l’assemblée générale ordinaire présente, par bénéficiaire, les remboursements de frais de mission, de déplacement ou de représentation.\nArticle 15 - RÈGLEMENT INTÉRIEUR Un règlement intérieur est établi par le conseil d\u0026rsquo;administration, toute modification doit se faire approuver par l\u0026rsquo;assemblée générale.\nCe règlement éventuel est destiné à fixer les divers points non prévus par les présents statuts, notamment ceux qui ont trait à l\u0026rsquo;administration interne de l\u0026rsquo;association.\nArticle 16 - LIBÉRALITÉS Le rapport et les comptes annuels, tels que définis à l’article 11 sont adressés chaque année au Préfet du département.\nL’association s’engage à présenter ses registres et pièces de comptabilité sur toute réquisition des autorités administratives en ce qui concerne l’emploi des libéralités qu’elle serait autorisée à recevoir, à laisser visiter ses établissements par les représentants de ces autorités compétents et à leur rendre compte du fonctionnement desdits établissements.\nBrouillon pour soumission éventuelle à la prochaine assemblée générale extraordinaire.\nRemplacera donc éventuellement les Statuts en vigueur .\n","permalink":"/fr/about/status-wip/","tags":null,"title":"Friends Of OpenPGP (foopgp)"},{"categories":["study"],"contents":"Stage de piseb OVH Debian SSH Déploiement et connexion ssh d\u0026rsquo;une Debian chez OVH Rajouter un acces ssh à un tiers Apache Déploiement de foopgp.org Particularité pour git git clone hugo Déploiement du serveur de clés key.foopgp.org page index.html Ajout de https aux sites fail2ban Packages Debian Préambule Démonstration complète avec les bash-libs pgpid démo accélérée premier problème clean happy end Ma configuration Premier patch pour /data/ Deuxième patch, les bash-libs et les bl- iso Debian personnalisée Signer ses commit Configuration dépôt distant Configuration local OVH Debian SSH Déploiement et connexion ssh d\u0026rsquo;une Debian chez OVH Chez ovhcloud, Debian est installée en quelques cliques. Il suffit d\u0026rsquo;entrer sa clé publique SSH dans le formulaire. La particularité est d\u0026rsquo;utiliser la clé gpg déjà créée avec pgpid (outil foopgp) comme clé SSH (une sous clé avec une utilisation A pour \u0026ldquo;authenticate capability\u0026rdquo;).\n$ gpg --export-ssk-key \u0026lt;ID|mail\u0026gt; Pour l\u0026rsquo;agent, dans .bashrc :\nunset SSH_AGENT_PID if [ \u0026#34;${gnupg_SSH_AUTH_SOCK_by:-0}\u0026#34; -ne $$ ]; then export SSH_AUTH_SOCK=\u0026#34;$(gpgconf --list-dirs agent-ssh-socket)\u0026#34; fi On peut alors se connecter en ssh avec la yubikey qui protége la clé privée.\nSi on est sur une autre machine qui n\u0026rsquo;a pas déjà utilisé pgpid, quelques manipulations peuvent être nécessaires avant :\nSi besoin installer scdaemon Vérifier que la smart card est reconnue : $ gpg --card-status $ gpg --card-edit puis fetch $ gpg --list-secret-keys pour vérifier La référence (stub) est présente mais pas la clé gpg privée protégée par la Smart Card Au moment de la connexion ssh la clé doit déjà être connectée (ssh-agent pour vérifier).\nRajouter un acces ssh à un tiers Pour rajouter les accès à un tiers, on rajoute sa clé publique dans ~/.ssh/authorized_keys.\nApache Un serveur web apache est installé. Un fichier de configuration par site est créé dans /etc/apache2/sites-available. On active et désactive chaque site avec sudo a2ensite \u0026lt;conf\u0026gt; et sudo a2dissite \u0026lt;conf\u0026gt; suivi de sudo service apache2 reload.\nOn installe logrotate, on vérifie les conf dans /etc/logrotate.d/. Systemd avec des timers peut être utilisé à la place de cron (c\u0026rsquo;est le cas ici par défaut).\nDéploiement de foopgp.org Particularité pour git Les fichiers vidéos sont dans un sous-dépot et il faut utiliser git-lfs pour récupérer les fichiers.\n$ apt install git-lfs $ git lfs install git clone Le site utilise hugo et est sur un dépot git (en fait 3, avec le thème et les fichiers vidéos en submodule).\n# Parce qu\u0026#39;on veut la branche \u0026#34;public\u0026#34; et uniquement elle qui n\u0026#39;est pas par défaut. $ git clone --branch public --single-branch https://codeberg.org/foopgp/foopgp-hugowebsite.git $ git submodule update --init --recursive hugo On installe hugo pour \u0026ldquo;compiler\u0026rdquo; le site et obtenir la partie publique (dossier \u0026ldquo;public\u0026rdquo;).\n$ sudo apt install hugo $ hugo # à la racine du site Déploiement du serveur de clés key.foopgp.org Le serveur de clés pgp est onak et les cgi font le lien entre onak et les requêtes http.\nDocumentation officielle pour configurer apache. page index.html Une page index.html est rajoutée comme interface web avec des formulaires qui utilisent les url et les paramètres des cgi.\nAjout de https aux sites Let\u0026rsquo;s encrypt est utilisé pour obtenir un certificat TLS . Les tutoriels sont nombreux et faciles à mettre en place. La subtilité ici était de s\u0026rsquo;apercevoir que l\u0026rsquo;IPv6 a été utilisé par défaut et le DNS n\u0026rsquo;était pas encore à jour en v6.\n$ sudo apt install certbot python3-certbot-apache $ sudo certbot --apache -d foopgp.org -d keys.foopgp.org Dans /etc/apache2/sites-available on retrouve et adapte si besoin les nouveaux sites, la version https de chaque site déjà fonctionnelle en http.\nfail2ban $ sudo apt update $ sudo apt install fail2ban $ systemctl enable --now fail2ban Dans /etc/fail2ban/jail.conf on édite backend = systemd.\nPour lancer maintenant et au rédémarrage : sudo systemctl enable --now fail2ban.\nEn quelques minutes on a déjà une première ip de bannie.\n$ sudo fail2ban-client status Status |- Number of jail:\t1 `- Jail list:\tsshd debian@ns3017519:/var/log$ sudo fail2ban-client status sshd Status for the jail: sshd |- Filter | |- Currently failed:\t2 | |- Total failed:\t7 | `- Journal matches:\t_SYSTEMD_UNIT=sshd.service + _COMM=sshd `- Actions |- Currently banned:\t1 |- Total banned:\t1 `- Banned IP list:\t193.32.162.157 Packages Debian Création de packages .deb pour les outils de foopgp.\nPréambule $ sudo apt install debmake git-buildpackage Dans mon .bashrc :\nexport DEBEMAIL=piseb@mailo.com export DEBFULLNAME=\u0026#39;Sébastien Picardeau\u0026#39; export DEB_BUILD_OPTIONS=nocheck Documentation : https://www.debian.org/doc/manuals/maint-guide/first.fr.html#dh-make Démonstration complète avec les bash-libs Préparation du workspace git :\n$ mkdir demo-bash-libs $ cd demo-bash-libs/ $ git clone ssh://git@codeberg.org/foopgp/bash-libs.git $ cd bash-libs/ $ git checkout v0.0.2 # on veut un package de cette release $ git switch -c debian/latest # par convention pour le nom Basculement sur la nouvelle branche \u0026#39;debian/latest\u0026#39; # On a (pas) besoin d\u0026#39;une release : $ curl https://codeberg.org/foopgp/bash-libs/archive/v0.0.2.tar.gz -o ../bash-libs.tar.gz # en fait touch ../bash-libs.tar.gz suffit car on va passer à gbp # On génère une conf comme point de départ (on pourrait aussi créer les fichiers directement) $ debmake -x 1 I: set parameters I: ================================================================= I: package_dir = /usr/lib/python3/dist-packages I: base_path = /usr I: base_lib_path = /usr/lib/debmake I: base_share_path = /usr/share/debmake I: ================================================================= I: sanity check of parameters I: pkg=\u0026#34;bash\u0026#34;, ver=\u0026#34;libs\u0026#34;, rev=\u0026#34;1\u0026#34; I: *** start packaging in \u0026#34;bash-libs\u0026#34;. *** I: provide bash_libs.orig.tar.gz for non-native Debian package I: pwd = \u0026#34;/tmp/demo-bash-libs\u0026#34; I: $ ln -sf bash-libs.tar.gz bash_libs.orig.tar.gz I: pwd = \u0026#34;/tmp/demo-bash-libs/bash-libs\u0026#34; I: parse binary package settings: I: binary package=bash Type=bin / Arch=any M-A=foreign I: analyze the source tree I: build_type = make I: scan source for copyright+license text and file extensions I: 27 %, ext = md I: 14 %, ext = text I: 9 %, ext = adoc I: 9 %, ext = yml I: 9 %, ext = bats I: 5 %, ext = gitattributes I: 5 %, ext = hook I: 5 %, ext = editorconfig I: 5 %, ext = shellcheckrc W: archive type exists. Maybe non-DFSG! I: 5 %, ext = archive I: 5 %, ext = gitignore I: 5 %, ext = bash I: check_all_licenses I: .....W: Non-UTF-8 char found, using latin-1: main.tar.gz W: analyze_copyright: skip name=\u0026#34;\u0026#34;, years=9999-0 ....................... I: check_all_licenses completed for 28 files. I: bunch_all_licenses I: format_all_licenses I: make debian/* template files I: debmake -x \u0026#34;1\u0026#34; ... I: creating =\u0026gt; debian/control I: creating =\u0026gt; debian/copyright I: substituting =\u0026gt; /usr/share/debmake/extra0/rules I: creating =\u0026gt; debian/rules I: substituting =\u0026gt; /usr/share/debmake/extra0/changelog I: creating =\u0026gt; debian/changelog I: substituting =\u0026gt; /usr/share/debmake/extra1/watch I: creating =\u0026gt; debian/watch I: substituting =\u0026gt; /usr/share/debmake/extra1/README.Debian I: creating =\u0026gt; debian/README.Debian I: substituting =\u0026gt; /usr/share/debmake/extra1source/format I: creating =\u0026gt; debian/source/format I: substituting =\u0026gt; /usr/share/debmake/extra1tests/control I: creating =\u0026gt; debian/source/control I: substituting =\u0026gt; /usr/share/debmake/extra1upstream/metadata I: creating =\u0026gt; debian/upstream/metadata I: substituting =\u0026gt; /usr/share/debmake/extra1tests/control I: creating =\u0026gt; debian/tests/control I: substituting =\u0026gt; /usr/share/debmake/extra1patches/series I: creating =\u0026gt; debian/patches/series I: substituting =\u0026gt; /usr/share/debmake/extra1sourcex/local-options I: creating =\u0026gt; debian/source/local-options I: substituting =\u0026gt; /usr/share/debmake/extra1sourcex/options I: creating =\u0026gt; debian/source/options I: substituting =\u0026gt; /usr/share/debmake/extra1sourcex/patch-header I: creating =\u0026gt; debian/source/patch-header I: run \u0026#34;debmake -x2\u0026#34; to get more template files I: $ wrap-and-sort Même avec -x 1 on a des fichiers de configuration qu\u0026rsquo;on utilise pas. On commence par un petit nettoyage du surplus.\n$ cd debian $ rm -r tests/ upstream/ watch $ rm -v source/{control,local-options,options,patch-header} \u0026#39;source/control\u0026#39; supprimé \u0026#39;source/local-options\u0026#39; supprimé \u0026#39;source/options\u0026#39; supprimé \u0026#39;source/patch-header\u0026#39; supprimé $ ls source/ format # ne pas effacer On édite changelog pour corriger le nom et la version.\n$ vim changelog $ cat changelog bash-libs (0.0.2-1) UNRELEASED; urgency=low * Initial release. ... On édite aussi control.\n$ cat control Source: bash-libs Section: utils Priority: optional Maintainer: Sébastien Picardeau \u0026lt;piseb@mailo.com\u0026gt; Build-Depends: debhelper-compat (= 13), pandoc Standards-Version: 4.5.1 Homepage: https://foopgp.org Rules-Requires-Root: no Vcs-Git: https://codeberg.org/foopgp/bash-libs.git Vcs-Browser: https://codeberg.org/foopgp/bash-libs Package: bash-libs Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} Description: TODO Le fichier copyright va demander un petit travail pour être correct mais ce n\u0026rsquo;est pas obligatoire pour le moment (voir le dépôt git).\nOn voit tout de suite un avantage d\u0026rsquo;avoir une branch dédiée au packaging. Le Makefile du projet est configuré pour s\u0026rsquo;installer dans /usr/local, on veut que notre package .deb s\u0026rsquo;installe désormais dans /usr. On édite donc rules ainsi :\n$ vim rules $ cat rules dh $@ override_dh_auto_install: dh_auto_install -- prefix=/usr Le README.Debian sera à éditer.\nOn passe a une rapide configuration pour gbp (git-buildpackage), on précise juste les branch et tag.\n$ vim gbp.conf # toujours dans bash-libs/debian seb@PC1:~/demo-bash-libs/bash-libs/debian$ cat gbp.conf [DEFAULT] upstream-branch = main upstream-tag = v%(version)s debian-branch = debian/latest debian-tag = debian/latest/%(version)s On retourne dans bash-libs : $ cd .. .\nPetit nettoyage du debmake : $ rm ../bash_libs.orig.tar.gz ../bash-libs.tar.gz .\nBuild :\n$ curl https://codeberg.org/foopgp/bash-libs/archive/v0.0.2.tar.gz -o ../bash-libs_0.0.2.orig.tar.gz $ gbp buildpackage --git-ignore-new # on a pas commit Un minimum est de vérifier le contenu du .deb créé : $ dpkg -c ../bash-libs_0.0.2-1_amd64.deb\nOn veut commit notre configuration de build mais pas que les fichiers créés pour le build soient commit, donc on rajoute dans .gitignore :\ndebian/*.debhelper debian/debhelper-build-stamp debian/bash-libs.debhelper.log debian/bash-libs.substvars debian/bash-libs/ debian/files Pour installer :\n$ sudo apt install ./bash-libs_0.0.2-1_amd64.deb $ apt list --installed bash-libs En train de lister... Fait bash-libs/now 0.0.2-1 amd64 [installé, local] Dès qu\u0026rsquo;on est satisfait on peut commit et push.\nDépôt git : https://codeberg.org/foopgp/bash-libs/src/branch/debian/latest .\nDocumentation :\nhttps://www.debian.org/doc/manuals/debmake-doc/ch05.en.html#step-debmake https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/ https://www.debian.org/doc/manuals/maint-guide/modify.fr.html pgpid Pour pgpig une manipulation complémentaire est nécessaire.\ndémo accélérée $ mkdir demo-pgpid \u0026amp;\u0026amp; cd demo-pgpid $ git clone https://codeberg.org/foopgp/pgpid.git $ mv pgpid pgpid-0.0.1 $ curl https://codeberg.org/foopgp/pgpid/archive/main.tar.gz -o pgpid_0.0.1.orig.tar.gz $ cd pgpid-0.0.1/ $ git tag v0.0.1 # car pas dans le dépôt $ git switch -c debian/latest $ debmake -x1 $ rm -rv debian/{tests,upstream,watch} debian/source/{control,local-options,options,patch-header} $ vim debian/control $ cat debian/control Source: pgpid Section: utils Priority: optional Maintainer: Sébastien Picardeau \u0026lt;piseb@mailo.com\u0026gt; Build-Depends: debhelper-compat (= 13) Standards-Version: 4.5.1 Homepage: https://foopgp.org Rules-Requires-Root: no Vcs-Git: https://codeberg.org/foopgp/pgpid.git Vcs-Browser: https://codeberg.org/foopgp/pgpid Package: pgpid Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends}, bash-libs, facedetect, graphicsmagick, tesseract-ocr, qrencode, gpg-wks-client, cups-client, zbar-tools, scdaemon, pandoc, texlive-extra-utils, xxd, libgfshare-bin, cups-bsd Description: TODO $ mv ../pgpid-0.0.1/ ../pgpid # j\u0026#39;ai bien précisé en accélérée $ gbp buildpackage --git-ignore-new premier problème On constate que le .deb ne contient pas bin/ ni data/. (Ils sont pas compilés mais à copier.)\n$ dpkg -c ../pgpid_0.0.1-1_amd64.deb drwxr-xr-x root/root 0 2025-05-27 16:02 ./ drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/ drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/share/ drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/share/doc/ drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/share/doc/pgpid/ -rw-r--r-- root/root 230 2025-05-27 16:02 ./usr/share/doc/pgpid/README.Debian -rw-r--r-- root/root 190 2025-05-27 16:02 ./usr/share/doc/pgpid/changelog.Debian.gz -rw-r--r-- root/root 5251 2025-05-27 16:02 ./usr/share/doc/pgpid/copyright On rajoute dans notre configuration les deux dossiers à copier et leur destination.\n$ vim debian/install $ cat debian/install bin/ /usr/ data/ /usr/share/pgpid/ Nouvel essai :\n$ gbp buildpackage --git-ignore-new $ dpkg -c ../pgpid_0.0.1-1_amd64.deb drwxr-xr-x root/root 0 2025-05-27 16:02 ./ drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/ drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/bin/ -rwxr-xr-x root/root 25769 2025-05-27 15:47 ./usr/bin/pgpid-gen -rwxr-xr-x root/root 13005 2025-05-27 15:47 ./usr/bin/pgpid-qrscan drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/share/ drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/share/doc/ drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/share/doc/pgpid/ -rw-r--r-- root/root 230 2025-05-27 16:02 ./usr/share/doc/pgpid/README.Debian -rw-r--r-- root/root 190 2025-05-27 16:02 ./usr/share/doc/pgpid/changelog.Debian.gz -rw-r--r-- root/root 5251 2025-05-27 16:02 ./usr/share/doc/pgpid/copyright drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/share/pgpid/ drwxr-xr-x root/root 0 2025-05-27 15:47 ./usr/share/pgpid/data/ -rw-r--r-- root/root 114860 2025-05-27 15:47 ./usr/share/pgpid/data/country_centroids_az8.csv -rw-r--r-- root/root 6886 2025-05-27 15:47 ./usr/share/pgpid/data/geolist_centroid.txt -rw-r--r-- root/root 1452847 2025-05-27 15:47 ./usr/share/pgpid/data/mrz.traineddata -rw-r--r-- root/root 11396382 2025-05-27 15:47 ./usr/share/pgpid/data/mrz_best.traineddata -rw-r--r-- root/root 40641 2025-05-27 15:47 ./usr/share/pgpid/data/tesseract.parameters.ref lrwxrwxrwx root/root 0 2025-05-27 16:02 ./usr/bin/bl-interactive -\u0026gt; ../bash-libs/bin/bl-interactive lrwxrwxrwx root/root 0 2025-05-27 16:02 ./usr/bin/bl-json -\u0026gt; ../bash-libs/bin/bl-json lrwxrwxrwx root/root 0 2025-05-27 16:02 ./usr/bin/bl-log -\u0026gt; ../bash-libs/bin/bl-log lrwxrwxrwx root/root 0 2025-05-27 16:02 ./usr/bin/bl-security -\u0026gt; ../bash-libs/bin/bl-security lrwxrwxrwx root/root 0 2025-05-27 16:02 ./usr/bin/data -\u0026gt; ../data Pour bin/ ça semble correct, mais maintenant on a des liens qui ne fonctionneront pas.\nclean Pour retirer ces fichiers :\n$ vim debian/clean $ cat debian/clean bin/bl-interactive bin/bl-json bin/bl-log bin/bl-security bin/data Je préfère inclure le dossier bin en entier et exclure une sélection. Je trouve ça plus propre en cas de nouveaux fichiers à l\u0026rsquo;avenir.\nDe nouveau :\n$ gbp buildpackage --git-ignore-new $ dpkg -c ../pgpid_0.0.1-1_amd64.deb drwxr-xr-x root/root 0 2025-05-27 16:02 ./ drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/ drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/bin/ -rwxr-xr-x root/root 25769 2025-05-27 15:47 ./usr/bin/pgpid-gen -rwxr-xr-x root/root 13005 2025-05-27 15:47 ./usr/bin/pgpid-qrscan drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/share/ drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/share/doc/ drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/share/doc/pgpid/ -rw-r--r-- root/root 230 2025-05-27 16:02 ./usr/share/doc/pgpid/README.Debian -rw-r--r-- root/root 190 2025-05-27 16:02 ./usr/share/doc/pgpid/changelog.Debian.gz -rw-r--r-- root/root 5251 2025-05-27 16:02 ./usr/share/doc/pgpid/copyright drwxr-xr-x root/root 0 2025-05-27 16:02 ./usr/share/pgpid/ drwxr-xr-x root/root 0 2025-05-27 15:47 ./usr/share/pgpid/data/ -rw-r--r-- root/root 114860 2025-05-27 15:47 ./usr/share/pgpid/data/country_centroids_az8.csv -rw-r--r-- root/root 6886 2025-05-27 15:47 ./usr/share/pgpid/data/geolist_centroid.txt -rw-r--r-- root/root 1452847 2025-05-27 15:47 ./usr/share/pgpid/data/mrz.traineddata -rw-r--r-- root/root 11396382 2025-05-27 15:47 ./usr/share/pgpid/data/mrz_best.traineddata -rw-r--r-- root/root 40641 2025-05-27 15:47 ./usr/share/pgpid/data/tesseract.parameters.ref happy end Mais dis-moi Jammy ça roule ! Non, et voilà pourquoi :\n$ grep \u0026#39;$(dirname\u0026#39; bin/* bin/pgpid-gen:TESSDATADIR=\u0026#34;$(dirname \u0026#34;$0\u0026#34;)/data/\u0026#34; bin/pgpid-gen:GEOLIST_CENTROID=\u0026#34;$(dirname \u0026#34;$0\u0026#34;)/data/geolist_centroid.txt\u0026#34; bin/pgpid-gen:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-log --no-act --log-level \u0026#34;$LOGLEVEL\u0026#34; --log-exit \u0026#34;$LOGEXITPRIO\u0026#34; bin/pgpid-gen:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-interactive -- bin/pgpid-gen:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-security -- bin/pgpid-gen:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-json -- bin/pgpid-qrscan:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-log --no-act --log-level \u0026#34;$LOGLEVEL\u0026#34; --log-exit \u0026#34;$LOGEXITPRIO\u0026#34; bin/pgpid-qrscan:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-interactive -- bin/pgpid-qrscan:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-security -- Il faut remplacer ces chemins relatifs par les futurs chemins. On va patcher avec les outils dédiés à ce cas d\u0026rsquo;usage.\nMa configuration Dans mon ~/.bashrc :\nalias dquilt=\u0026#34;quilt --quiltrc=${HOME}/.quiltrc-dpkg\u0026#34; . /usr/share/bash-completion/completions/quilt complete -F _quilt_completion -o filenames dquilt Dans ~/.quiltrc-dpkg :\nd=. ; while [ ! -d $d/debian -a $(readlink -e $d) != / ]; do d=$d/..; done if [ -d $d/debian ] \u0026amp;\u0026amp; [ -z $QUILT_PATCHES ]; then # if in Debian packaging tree with unset $QUILT_PATCHES QUILT_PATCHES=\u0026#34;debian/patches\u0026#34; QUILT_PATCH_OPTS=\u0026#34;--reject-format=unified\u0026#34; QUILT_DIFF_ARGS=\u0026#34;-p ab --no-timestamps --no-index --color=auto\u0026#34; QUILT_REFRESH_ARGS=\u0026#34;-p ab --no-timestamps --no-index\u0026#34; QUILT_COLORS=\u0026#34;diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\u0026#34; if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi fi $ sudo apt install quilt $ source ~/.bashrc Premier patch pour /data/ Avant :\n$ grep /data/ bin/* ../bin/pgpid-gen:TESSDATADIR=\u0026#34;$(dirname \u0026#34;$0\u0026#34;)/data/\u0026#34; ../bin/pgpid-gen:GEOLIST_CENTROID=\u0026#34;$(dirname \u0026#34;$0\u0026#34;)/data/geolist_centroid.txt\u0026#34; dquilt :\n$ dquilt new fix-pgpid-gen-data-path.patch $ dquilt add bin/pgpid-gen $ sed -i -e \u0026#39;s/$(dirname \u0026#34;$0\u0026#34;)/\\/usr\\/share/g\u0026#39; bin/pgpid-gen $ grep /data/ bin/* # après bin/pgpid-gen:TESSDATADIR=\u0026#34;/usr/share/data/\u0026#34; bin/pgpid-gen:GEOLIST_CENTROID=\u0026#34;/usr/share/data/geolist_centroid.txt\u0026#34; $ dquilt refresh $ dequil header -e Le patch créé :\n$ cat debian/patches/fix-pgpid-gen-data-path.patch --- a/bin/pgpid-gen +++ b/bin/pgpid-gen @@ -50,8 +50,8 @@ FACE_MARGIN_WIDTH=\u0026#34;25/100\u0026#34; FACE_MARGIN_HEIGHT=\u0026#34;50/100\u0026#34; -TESSDATADIR=\u0026#34;$(dirname \u0026#34;$0\u0026#34;)/data/\u0026#34; -GEOLIST_CENTROID=\u0026#34;$(dirname \u0026#34;$0\u0026#34;)/data/geolist_centroid.txt\u0026#34; +TESSDATADIR=\u0026#34;/usr/share/data/\u0026#34; +GEOLIST_CENTROID=\u0026#34;/usr/share/data/geolist_centroid.txt\u0026#34; ONLYUDID=false ### Default option values ### On peut revenir avant patch, il sera appliqué au build automatiquement.\n$ dquilt pop -a Retrait de fix-pgpid-gen-data-path.patch Restoring bin/pgpid-gen Aucun patch n\u0026#39;est appliqué Deuxième patch, les bash-libs et les bl- Avant :\n$ grep bl- bin/* ../bin/pgpid-gen:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-log --no-act --log-level \u0026#34;$LOGLEVEL\u0026#34; --log-exit \u0026#34;$LOGEXITPRIO\u0026#34; ../bin/pgpid-gen:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-interactive -- ../bin/pgpid-gen:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-security -- ../bin/pgpid-gen:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-json -- ../bin/pgpid-qrscan:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-log --no-act --log-level \u0026#34;$LOGLEVEL\u0026#34; --log-exit \u0026#34;$LOGEXITPRIO\u0026#34; ../bin/pgpid-qrscan:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-interactive -- ../bin/pgpid-qrscan:. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-security -- Nouveau patch :\n$ dquilt new fix-bash-libs-paths.patch Le patch fix-bash-libs-paths.patch est maintenant au sommet $ dquilt add bin/pgpid-gen bin/pgpid-qrscan Le fichier bin/pgpid-gen a été ajouté au patch fix-bash-libs-paths.patch Le fichier bin/pgpid-qrscan a été ajouté au patch fix-bash-libs-paths.patch $ sed -i -e \u0026#39;s/\u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/\\/usr\\/bin/g\u0026#39; bin/pgpid-gen bin/pgpid-qrscan Après :\n$ grep bl- bin/* bin/pgpid-gen:. /usr/bin/bl-log --no-act --log-level \u0026#34;$LOGLEVEL\u0026#34; --log-exit \u0026#34;$LOGEXITPRIO\u0026#34; bin/pgpid-gen:. /usr/bin/bl-interactive -- bin/pgpid-gen:. /usr/bin/bl-security -- bin/pgpid-gen:. /usr/bin/bl-json -- bin/pgpid-qrscan:. /usr/bin/bl-log --no-act --log-level \u0026#34;$LOGLEVEL\u0026#34; --log-exit \u0026#34;$LOGEXITPRIO\u0026#34; bin/pgpid-qrscan:. /usr/bin/bl-interactive -- bin/pgpid-qrscan:. /usr/bin/bl-security -- Enregistrer le patch :\n$ dquilt refresh Patch fix-bash-libs-paths.patch rafraîchi $ dquilt header -e Le patch :\n$ cat debian/patches/fix-bash-libs-paths.patch --- a/bin/pgpid-gen +++ b/bin/pgpid-gen @@ -136,10 +136,10 @@ ### functions ### -. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-log --no-act --log-level \u0026#34;$LOGLEVEL\u0026#34; --log-exit \u0026#34;$LOGEXITPRIO\u0026#34; -. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-interactive -- -. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-security -- -. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-json -- +. /usr/bin/bl-log --no-act --log-level \u0026#34;$LOGLEVEL\u0026#34; --log-exit \u0026#34;$LOGEXITPRIO\u0026#34; +. /usr/bin/bl-interactive -- +. /usr/bin/bl-security -- +. /usr/bin/bl-json -- # Implementation of ICAO doc 9303 part 3 (Specifications Common to all MRTDs - 4.9) icao9303_mrz_checkdigit() { --- a/bin/pgpid-qrscan +++ b/bin/pgpid-qrscan @@ -107,9 +107,9 @@ ### functions ### -. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-log --no-act --log-level \u0026#34;$LOGLEVEL\u0026#34; --log-exit \u0026#34;$LOGEXITPRIO\u0026#34; -. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-interactive -- -. \u0026#34;$(dirname \u0026#34;$BASH_SOURCE\u0026#34;)\u0026#34;/bl-security -- +. /usr/bin/bl-log --no-act --log-level \u0026#34;$LOGLEVEL\u0026#34; --log-exit \u0026#34;$LOGEXITPRIO\u0026#34; +. /usr/bin/bl-interactive -- +. /usr/bin/bl-security -- # Do nothing else if sourced [[ \u0026#34;$BASH_SOURCE\u0026#34; == \u0026#34;$0\u0026#34; ]] || return 0 Build final : $ gbp buildpackage --git-ignore-new . On peut désormais commit, push, installer et utiliser le résultat final. Dépôt git : https://codeberg.org/foopgp/pgpid/src/branch/debian/latest .\nDocumentation :\nhttps://www.debian.org/doc/manuals/maint-guide/modify.fr.html#quiltrc iso Debian personnalisée Le projet est de créer une iso Debian personnalisée avec un environnement pré-configuré et avec les outils foopgp.\nCréer une base fonctionnelle se fait en quelques lignes.\n$ sudo apt install live-build $ mkdir demo-debian-live \u0026amp;\u0026amp; cd demo-debian-live $ lb config # initialise une configuration $ cp -v /usr/share/doc/live-build/examples/auto/* auto/ \u0026#39;/usr/share/doc/live-build/examples/auto/build\u0026#39; -\u0026gt; \u0026#39;auto/build\u0026#39; \u0026#39;/usr/share/doc/live-build/examples/auto/clean\u0026#39; -\u0026gt; \u0026#39;auto/clean\u0026#39; \u0026#39;/usr/share/doc/live-build/examples/auto/config\u0026#39; -\u0026gt; \u0026#39;auto/config\u0026#39; Une configuration minimale fonctionnelle :\n$ cat auto/config #!/bin/sh # doc: # man lb config set -e lb config noauto \\ --archive-areas \u0026#34;main contrib non-free-firmware\u0026#34; \\ --debian-installer live \\ --debian-installer-distribution bookworm \\ --debootstrap-options \u0026#34;--include=apt-transport-https,ca-certificates,openssl\u0026#34; \\ --distribution bookworm \\ \u0026#34;${@}\u0026#34; $ cat config/package-lists/demo.list.chroot task-xfce-desktop Avec les dépendances tout le nécessaire est installé.\nPour build l\u0026rsquo;iso :\n$ sudo lb clean \u0026amp;\u0026amp; lb config \u0026amp;\u0026amp; time sudo lb build P: Build completed successfully $ ls *iso live-image-amd64.hybrid.iso Pour retrouver la configuration étape par étape voir les commits : https://codeberg.org/foopgp/debian-live-foopgp/commits/branch/main Documentation :\nhttps://live-team.pages.debian.net/live-manual/html/live-manual/index.fr.html file:///usr/share/doc/live-manual/html/live-manual.fr.html Signer ses commit On signe avec sa clé privée et un tiers peut vérifier une signature avec la clé publique correspondante.\nConfiguration dépôt distant On doit donc renseigner sa clé publique dans la configuration du dépot git, pour codeberg.org : configuration \u0026gt; Clés SSH / GPG.\nPour obtenir sa clé publique en ASCII (--armor) :\n$ gpg --armor --export piseb@mailo.com -----BEGIN PGP PUBLIC KEY BLOCK----- mDMEaBhvbRYJKwYBBAHaRw8BAQdAptz0xzoRLmzYZcNvQZ/bbT7aPIK13xNkJiGv ... -----END PGP PUBLIC KEY BLOCK----- Un challenge est demandé pour vérifier qu\u0026rsquo;on possède la clé privée correspondante.\nConfiguration locale Pour automatiser les signatures, dans ~/.gitconfig :\n... [user] email = piseb@mailo.com name = piseb signingKey = 2110EF0D733D76275412AD502C364630A2436D7E [commit] gpgSign = true Désormais une signature est rajoutée pour les commits et les tags, et encore mieux avec la clé privée protégée par smart card.\nExemple :\nbash-libs$ git log --show-signature -1 commit 95310bb37d6880e6c1e8e104bcc39ef0645f54f7 (HEAD -\u0026gt; debian/latest, origin/debian/latest) gpg: Signature faite le lun. 19 mai 2025 14:58:11 CEST gpg: avec la clef EDDSA 2110EF0D733D76275412AD502C364630A2436D7E gpg: Bonne signature de « piseb \u0026lt;piseb@mailo.com\u0026gt; (udid4=D9SrwuxesuMU90PM8xypxQe_48.78_002.19) » [ultime] gpg: alias « [jpeg image of size 5259] » [ultime] Author: piseb \u0026lt;piseb@mailo.com\u0026gt; Date: Mon May 19 14:58:11 2025 +0200 [debian] fix copyright Pour que la signature soit validée en local, la clé publique doit être importée si elle n\u0026rsquo;est pas déjà présente.\nDocumentation :\nhttps://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work ","permalink":"/fr/blog/2025-05-28-stage-piseb/","tags":["Internship","Experience"],"title":"Résumé de stage"},{"categories":null,"contents":"Le week-end du 24 \u0026amp; 25 mai 2025, l\u0026rsquo;association foopgp était présente à la 26ème édition des journées du logiciel libre à Lyon .\nLe Dimanche (25 mai) à 13 heures nous sommes intervenus dans la salle D2.020 pour expliquer pourquoi le monde de demain a besoin d\u0026rsquo;OpenPGP.\nLien vers la vidéo : https://videos-libr.es/w/vRzeAyKLvxf9EQhnhrw5xq Et sur les deux jours, nous avons tenu un stand, où vous avez pu :\nnous rencontrer créer quelques identités numériques OpenPGP apprendre à utiliser des clés de sécurités telle que la Yubikey ou la Nitrokey découvrir et acheter des livres en rapport avec notre activité : Une vraie démocratie pour l’humanité – L’Espoyr Internet : ce qui nous échappe / Coline TISON L’Homme post-numérique / François de Bernard Commerce mondial : la démocratie confisquée Le Poison des intérêts : sortons d’une imposture ruineuse ! / Margrit Kennedy La fin du capitalisme… et après ? / Lucien Pfeiffer Des énergies citoyennes / Patrick NORYNBERG Scénarios pour la transformation sociétale / Adam M. KAHANE Climat, crises : comment transformer nos territoires / The Shift Project Vers la résilience des territoires / The Shift Project Vers la résilience alimentaire / Les Greniers d’Abondance Vers une éco-industrie locale / Luc DANDO Une Boussole pour vivre ensemble Le Codéveloppement professionnel - Guide du facilitateur Une Monnaie au service du Bien commun / Philippe DERUDDER Revenu de base : un outil pour construire le XXIe siècle Merci d\u0026rsquo;être venu nombreux ! :-)\n","permalink":"/fr/event/2025-05-24-jdll-lyon/","tags":null,"title":"Journées du logiciel libre"},{"categories":["Study"],"contents":"En attendant que le mouvement français pour le revenu de base publie les vidéos de ses rencontres de 2025 (notamment celle où je suis intervenu :-p ), on peut se souvenir de l\u0026rsquo;excellent prestation de Gérard Foucher lors de l\u0026rsquo;édition de 2014 :\nYour browser does not support the video tag. Et si l\u0026rsquo;on a pas encore lu son livre, le retrouver chez notre partenaire l\u0026rsquo;éditeur Yves Michel : https://www.souffledor.fr/economie/1638-secrets-de-la-monnaie-les-9782364290433.html Et pour illustrer encore le propos, voici une petite illustration (trouvé sur un site plutôt obscur ) :\nYour browser does not support the video tag. Rappellons donc que l\u0026rsquo;association propose une solution et vision complète : un nouveau système monétaire, économique, politique et technologique post-croissance.\nPour rentrer dans ce système, il suffit d\u0026rsquo;adhérer .\n","permalink":"/fr/blog/2025-04-28-mfrb-foucher/","tags":["currency"],"title":"Changer la monnaie pour changer le monde"},{"categories":null,"contents":"L\u0026rsquo;actualité détraquée de cette dernière année nous le confirme : il faut revoir les fondements de notre démocratie vacillante.\nNous sommes au seuil d’une disruption dans l’économie et assistons à un délitement politique. Automatisation et robotisation dopées à l’Intelligence Artificielle (IA) vont nous contraindre à réexaminer la place du travail tant à l’échelle de nos vies, que dans la société globale. Actuellement, la surproduction et l\u0026rsquo;abondance jetable pour une partie des consommateurs, contrastent avec la pauvreté subie par des millions de personnes. Cette bipolarisation extrême est insupportable, dangereuse et crée des opportunités pour les mouvements d\u0026rsquo;extrême droite. Les tiédeurs, timidités ne sont plus de circonstance. Quand au dérèglement économique, politique vient s’ajouter le dérèglement climatique, il nous faut constater : l’heure est grave.\nIl s’agit bien de concevoir et de mettre en œuvre des mesures innovantes, positives, radicales. Une utopie réaliste est à mettre à l’ordre du jour. Il nous faut recréer des caps d’espoir, un horizon commun, généreux et enviable.\nC\u0026rsquo;est dans ce cadre, que Jean-Jacques , en tant qu\u0026rsquo;inititateur de « monnaies libres » est intervienu samedi 19 à 14h45 lors de la table ronde : Retours sur expérimentations, passées et en cours :\nTout le programme :\nhttps://www.revenudebase.info/wp-content/uploads/2025/03/Programme-previsionnel-.pdf Plus d\u0026rsquo;informations :\nhttps://www.revenudebase.info/etats-genereux-revenu-de-base-2025/ ","permalink":"/fr/event/2025-03-15-generous-states-basic-income-2025/","tags":null,"title":"Etats généreux du revenu de base"},{"categories":null,"contents":"Procès Verbal d’Assemblée Générale Ordinaire du 9 mars 2025 de l’association foopgp (Friends of OpenPGP) L’assemblée générale débute à 15h30 ce 9 mars 2025, à Pelleautier, au siège de l’association.\nLe secrétaire de séance est François F., membre présent de l’association.\nFeuille de présence Sept membres\nLaurent C. François F. (depuis 2025, non effectif pour l’année 2024) François R. Jean-Jacques B. Didier L. Fred Z. Tempérance Quatre invités\nHenri G. Philippe30 Philippe L. (Philippe26) Kélyan 1. Rapport moral et d’activité 1.1. Stagiaires Deux stagiaires, issus de l’IUT informatique de Gap, ont travaillé en 2024 sur de petites et nombreuses améliorations du site web.\n1.2. Goodies Fabrication-acquisition de centaines de « tour de cou » siglés FoOPGP.\n1.3. Investissements matériels, dépenses et rentrées financières Imprimante pour stickers, etc.\nRevente d’ordinateurs d’occasions (reconditionnés sous Linux Debian), essentiellement via l’entreprise de Laurent C.. Ces ordinateurs sont « revendus » en J/Euros : « double comptabilité » (abus de langage) J/Euros\nDes livres de l’éditeur Yves Michel sont en dépôt-vente dans un esprit de synergie. Vendus notamment lors des salons, ils permettent d’ouvrir des débats en plus d’apporter à l’association une petite marge à la vente.\nParticipation avec stand au Capitole du libre à Toulouse les 16 et 17 novembre 2024\nAdhésion à l’association Digit’Alpes du Sud qui œuvre au développement de la filière numérique dans les départements 04 et 05.\n1.4. Outils de l’association Framalist - Newsletter Site web (réalisé avec l’outil Hugo) Codeberg – Forge git gratuite Dolibarr – Outil de gestion ERP-CRM (en cours d’arrêt) Jit.si pour les grosses visioconférences comme la celle de la présente Assemblée Générale. Partenariat de revente avec Nitrokey en passant par le magasin Sun Valley Systems de Laurent C. Pour Yubikey passage en direct avec le distributeur français Infinigate. Nextcloud auto-hébergé (merci Fred Z.) : très bon outil dans lequel nous rangeons de nombreux fichiers, par exemple : CV, comptes-rendus officiels, justificatifs comptables, etc. Cet outil nous offre aussi une solution de visioconférences, que nous utilisons tous les mardis soir lors de notre conseil hebdomadaire. 1.5. Objectifs pour 2025 Participer à plus de salons. Les prochains prévus sont indiqués dans les rapports hebdomadaires. Augmenter les rentrées financières (ventes de livres, de YubiKey/NitroKey, formations, dons, etc.). foopgp est reconnue comme organisme de formation. Améliorer la communication. Mieux utiliser les règles de gouvernance dite sociocratique. Créer des interfaces utilisateurs (GUI) pour simplifier l’utilisation. Renouveler notre adhésion à Digit’Alpes du Sud et renforcer notre participation dans cette association. Deux membres de FoOPGP, Laurent C. et François-Xavier F., ont participé activement à leur AG du 7 mars 2025. Renforcement des tutoriels pour mieux expliquer tous les processus actuels de création de clés, d’utilisation de clés, etc. Il a y certes déjà de nombreux tutoriels sur notre Nextcloud privé mais prévoir de passer certains tutos en public sur le site web. Accueil de stagiaires : un nouveau stagiaire en administration des entreprises va intervenir dès avril 2025 pour 10 semaines et d’autres stagiaires de l’IUT informatique de Gap sont prévus. 1.6. Vote du rapport d’activité et moral Ce rapport d’activité et moral est mis au vote à 16:00. • 0 vote contre. • 0 vote d’abstention. • 100 % de votes d’approbation. Donc le rapport d’activité et moral est approuvé à l’unanimité.\n2. Rapport comptable et financier 2.1. Évocation des points comptables Rappel de philippe26 : un don ne doit avoir aucune contre-partie. Henri G. rappelle qu’il ne suffit pas qu’une association soit d’intérêt général pour permettre de défiscaliser. Il faut également que l’objet soit dans la liste des sujets « autorisés » pour défiscaliser. L’objet de foopgp ne correspondrait pas forcément à ces « objets d’intérêt général approuvés par l’État ».\nfoopgp devrait faire un rescrit fiscal pour savoir dans quel cadre elle rentre. L’association d’Henri G. l’a fait et ils se sont vus refuser la défiscalisation.\nPhilippe26 se propose de participer à un groupe de réflexion sur l’analyse juridique et comptable.\nIntervention de Philippe30 qui propose de faire une « collégiale » pour gérer la comptabilité plutôt qu’une seule personne. Reste à trouver les bonnes personnes et développer les bonnes pratiques (élection sans candidat, décision par consentement, sociocratie, etc.) et cela n’empêchera pas d’avoir un seul « responsable » comptable (trésorier) vis à vis de partenaires comme la banque qui exigent le plus souvent un seul interlocuteur-signataire.\n2.2. Vote du rapport comptable et financier Le vote des comptes n’est pas possible. Les comptes, heureusement créditeurs, étant mal présentés.\nIl reste à établir un vrai compte de résultat pour pouvoir les approuver. Donc une révision complète des comptes est à réaliser. Une nouvelle AG est pré-programmée pour le mois de juin 2025 afin de les ré-examiner et de les valider.\n3. Décisions sur le fonctionnement général 3.1. Décision sur l’alignement des dates d’exercice sur l’année civile 0 vote contre. 0 vote d’abstention. 100 % de votes d’approbation. Donc l’alignement de l’exercice sur l’année civile est approuvé à l’unanimité.\nDécider de ce qui advient pour l’exercice actuel (actuellement l’exercice était calé sur les dates d’AG).\nLes exercices comptables devront être repris depuis le 3 avril 2023 suivant ce calendrier :\n2023 - De avril à déc. 2023 2024 - De janv. à déc. 2024 2025 - De janv. à déc. 2025 Ces exercices comptables « remaniés » devront être validés de nouveau.\nUne nouvelle décision est prise d’établir un prévisionnel pour chaque année.\nSans attendre 2026, un prévisionnel sera à établir pour l’année 2025, même si l’année est entamée. Ce prévisionnel 2025 sera à présenter à la nouvelle AG prévue vers juin 2025.\n3.2. Décision sur l’exposant de pouvoir Présentation des raisons de ce changement (longue discussion pour mieux comprendre l’importance de cet exposant).\nVote sur le passage de 3/4 (exposant actuel) à 1/2. Cela revient à aller vers un plus grand renforcement du pouvoir des « moins riches ».\n0 vote contre. 0 vote d’abstention. 100 % de votes d’approbation. Donc l’exposant de pouvoir passe à 1/2\n3.3. Décision sur une nouvelle redistribution de jetons Passage à 2 % de redistribution.\n1 % de redistribution annuelle avait déjà été voté l’année dernière pour financer les dédommager-rétribuer les membres très actifs de l’association. Le vote porte sur un nouveau 1 % pour redistribuer à tous les membres (qu’ils s’investissent activement ou non dans l’association). Ce nouveau 1 % serait à redistribuer annuellement et uniformément à tous les membres.\nContre (1)\nDidier L. Abstention (4)\nFred Z François R. Jean-Jacques B. Pour (2)\nLaurent C. Tempérance Il reste à décompter les voix de chacun des votants pour décider du résultat effectif du vote.\nNote : quel que soit le résultat effectif de ce vote, plusieurs membres souhaitent re-débattre de ce point de nouvelle redistribution à la prochaine AG.\nNote 2 : Le nombre de voix de chacun, en fonction du nombre de jetons de pouvoir arrêté à la date du 31 décembre 2024, était résumé dans un tableau envoyé par mail à l’ensemble à des membres, et présenté lors de l’Assemblée Générale. Dans le tableau, la plupart des membres étaient référencés par leur pseudonyme udid4. Dès lors, et c’est l’une des raisons d’être de ce pseudonymat, il est relativement difficile de mémoriser et de lier un udid4 à une personne en particulier. Certains des votants n’ayant pas mémorisé leur identifiant udid4, nous ne pouvions plus, raisonnablement, réaliser ce décompte dans le temps de l’AG.\nAddendum : La décision est acceptée, avec 625 voix pour, 423 voix contre, et 1391 voix d’abstention.\n4. Renouvellement du Conseil d’administration Les membres du CA sont élus pour trois ans avec mandats renouvelables à l’infini. Aucun des membres n’est à renouveler pour le moment mais des déclarations officielles doivent être revues.\nRappel des membres actuels du CA :\nMichel Schmitt élu le 29/05/2023 Claire Bodzen élue le 29/05/2023 Laurent Céard élu le 22/10/2023 François Revol élu le 29/05/2023 Jean-Jacques Brucker élu le 29/05/2023 Fred Zwikel élu le 29/05/2023 Alain Bayle élu le 29/05/2023 Stéphane Fawal élu le 29/05/2023 Frédéric Renault élu le 29/05/2023 Aucun membre n’étant démissionnaire, ils sont tous confirmés. Les membres du CA éliront le Bureau à la prochaine réunion du Conseil d’Administration.\n5. Préparation du prochain ordre du jour de la prochaine AG Paramètres de fonctionnement pour prendre des décisions (par consentement, modalités du dernier recours par vote, etc.). S’appuyer sur l’expérience d’Henri G. pour préparer ce futur point de débat.\nClôture de l’Assemblée Générale à 18h19.\n","permalink":"/fr/assembly/2025-03-09-report-ago/","tags":null,"title":"2025 S10 PV AGO 9 mars"},{"categories":null,"contents":"Le dimanche 9 mars 2025 après-midi, les membres de l\u0026rsquo;association foopgp ont tenu leur Assemblée Général Ordinaire à Pelleautier1 et en vidéoconférence sur https://meet.jit.si/foopgp :\nPour consulter le procès-verbal de cette assemblée, suivre ce lien .\nNote : en cas de gros problème avec le lien de vidéoconférence sur jitsi, se rabattre en secours sur notre lien de vidéoconférence hebdomadaire : https://cloud.foopgp.org/call/4du5irxe .\n13h30 : Acceuil Salutations, partages et discussions autour d\u0026rsquo;un café.\n14h00 : Démonstrations pgpid utilisation des clés matérielles de sécurité processus comptable (création et gestion de nos jetons de pouvoirs). 15h00 : Assemblée Générale Ordre du jour :\nBilan Moral Bilan Financier Discussion : Si une personne n’a pas signé son adhésion et payé sa cotisation elle ne recevra pas le DU mensuel, OK. Mais pourra-t-elle encore échanger avec les membres actifs ? devrait-on l’interdire ? Discussion : Les personnes moralement non responsables (eg enfants, tutelles) peuvent-elles “donner” procuration à leur tuteur ? Présentation : Par Didier Loyens de schémas de fonctionnement. Décision (référendum) : Aligner les dates d’exercice correspondant aux années civiles ? Décision (référendum) : Mettre en place une redistribution de jetons (revenu de base) ? Si oui, quel montant 1% ? Décision (référendum) : Descendre l’exposant de pouvoir à 1/2 (vote “quadratique”) ? Discussion : sur d’éventuelles mises à jours statuts pour une AGE en automne. L’assemblée générale sera accessible en vidéoconférence sur https://meet.jit.si/foopgp .\nSi vous ne pouvez y participer, vous pouvez donner procuration en signant un message de type :\nJe soussigné demeurant à , donne pouvoir à demeurant à , pour me représenter à l’assemblée générale de l’association qui se tiendra le 9 mars 2025 à 15h au siège social à Pelleautier et en vidéoconférence sur https://meet.jit.si/foopgp, en prenant part aux délibérations et décisions prévues à l’ordre du jour. sur papier ou par courriel à info@foopgp.org .\nPour faciliter l\u0026rsquo;organisation sur place, les participants en présentiel peuvent confirmer leur participation en envoyant un petit courriel à info@foogp.org .\nAu siège social : 75 Impasse Serre des Isnards, 05000 Pelleautier.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/event/2025-03-09-ag/","tags":null,"title":"Assemblée Générale"},{"categories":["Guide"],"contents":"Cet article devrait être révisé à la lumière des récents développements au sein de l\u0026rsquo;organisation, en particulier :\npgpid , qui remplace avantageusement paperkey .\nL\u0026rsquo;action gen-passphrase de la bash-lib bl-security , qui implémente une méthode comparable à celles des dés et remplace la plupart des programmes \u0026ldquo;diceware\u0026rdquo; .\nTraduction depuis l\u0026rsquo;anglais, parfois approximative. Vous pouvez contribuer à cet version française via codeberg .\nPréambule Ceci est une procédure pas à pas montrant la voie dans l\u0026rsquo;ordre pour configurer une OnlyKey et l\u0026rsquo;utiliser :\nDepuis l\u0026rsquo;ouverture de la boite; Ou en redémarrant avec une OnlyKey déjà configuré; Jusqu\u0026rsquo;à ce qu\u0026rsquo;elle soi prête à l\u0026rsquo;usage avec : Le pseudo clavier configuré pour votre ordinateur; La luminosité de la LED au niveau que vous désirez; Le délais d\u0026rsquo;inactivité avant verrouillage a votre convenance; La capacité de verrouiller votre écran comme vous le voulez; Une paire de clef privée GPG importé dans votre OnlyKey depuis GnuPG; Le gpg-agent configuré sur votre Debian ou dérivée; Une clef privée SSH importée dans votre OnlyKey depuis ssh-keygen; Le ssh-agent configuré sur votre Debian ou dérivée; Le GPG forwarding over SSH configuré coté client et serveur; Le processus décrit ici n\u0026rsquo;est pas le seul moyen de faire. Certains choix stratégiques ont été faits:\nImport de clefs Comme il n\u0026rsquo;est pas possible d\u0026rsquo;exporter des clefs depuis la OnlyKey. J\u0026rsquo;ai choisi de n\u0026rsquo;utiliser que des clefs importées et donc aucune clef générée dans la OnlyKey. Car je pense très important d\u0026rsquo;avoir des copies interopérable et hors ligne de toute mes clefs au cas ou je ne pourrais plus utiliser mes OnlyKeys pour quelques raisons que ce soit (perdues, volées, en panne, obsolètes, \u0026hellip;​).\ned22519 J\u0026rsquo;ai choisi d\u0026rsquo;utiliser des clefs ED22519 au lieu de RSA par ce que les clefs RSA 2048 bits sont obsolètes et les 4096 bits sont trop lentes et buggées sur la OnlyKey.\nFIDO2 N\u0026rsquo;ayant jamais personnellement utiliser FIDO2 je n\u0026rsquo;aborderais pas cette fonctionnalité. Je préfère utiliser SSH/GPG à la place. Car les données FIDO2 ne peuvent pas être importées. À mes yeux c\u0026rsquo;est inutilisable. On se retrouvera tôt ou tard bloqué sans accès à l\u0026rsquo;un de nos comptes. Et de toute façon il n\u0026rsquo;y a rien de spécifique au OnlyKey dans cette fonction. Ça marche exactement comme n\u0026rsquo;importe quelle autre token FIDO2.\nGestionnaire de mot de passe Je n\u0026rsquo;en parle pas non plus. Mais peut-être plus tard. De toute façon c\u0026rsquo;est assez simple depuis l\u0026rsquo;interface graphique. N\u0026rsquo;oubliez juste pas que la OnlyKey est en écriture seul et donc l\u0026rsquo;IHM ne vous confirmeras jamais son état actuel.\nLigne de commande Tout ce manuel est pensé pour la ligne de commande. Ce sera aussi plus facile et moins ambigus pour vous. Vous pourrez mettre toute les instructions dans un seul script pour tout faire en un coup. Et de toute façon l\u0026rsquo;interface graphique ne marche que sur amd64. La ligne de commande marche partout.\nDebian et dérivées C\u0026rsquo;est tout ce que j\u0026rsquo;ai et tout mes tests sont fait sur Mobian Trikie et Raspberry Pi OS Bookworm. Ça devrais marcher pareil sur tout autre dérivé de Debian. Et sur la pluspart des autres distributions Linux avec des adaptations mineures. Pour les utilisateurs d'Apple et Window$ je ne peut rien.\nA propos de ce document Copyright: © 2024 Henri GEIST \u0026lt;geist.henri@laposte.net \u0026gt;\nLicence: CC-BY-SA-4.0+\nCe document est une traduction. La dernière version en anglais est toujours disponible sur codeberg .\nVous pouvez trouver les belles versions PDF, HTML, DocBook et Markdown sur :\nhttps://codeberg.org/Henri_GEIST/OnlyKey_hardware_token_HowTo/releases Et si vous trouvez quoi que ce soit de faux, peu claire ou manquant n\u0026rsquo;hésitez pas a poster un ticket sur :\nhttps://codeberg.org/Henri_GEIST/OnlyKey_hardware_token_HowTo/issues Configuration de la OnlyKey elle-même Utilisez un air-gap Vous êtes sur le point de configurer une OnlyKey, un token matériel en vue de protéger vos clef privées et éviter de les mettre en danger sur vos ordinateurs de bureau, portables et téléphones mobiles.\nIl pourrait être sage de ne pas la configurer, créer et stocker vos clef privées sur un ordinateur connecté au réseau pour les injecter dans votre OnlyKey. Cela ruinerais une partie de l\u0026rsquo;objectif.\nDonc je vous recommande de faire tout le travair de configuration de votre OnlyKey sur un air-gap (https://fr.wikipedia.org/wiki/Air_gap ).\nUne bonne solution pour un air-gap pas cher peut être une Raspberry Pi Zero. La première version sans Wifi ni Bluetooth. Mais il existe des tas d\u0026rsquo;autres solutions.\nPour procéder :\nConfigurez un air-gap. Installez y les pré requis mentionner dans la section ci-dessous. Installez y tout ce que vous pensez qui pourrais vous être utiles. Puis ne connectez plus jamais votre air-gap directement ou indirectement au reséau. Peut importe la raison. Passez à la suite du tutoriel. Pré requis Pour commence il vous faut de véritable dès à six faces standard pour disposer la meilleur et la moins chère des source d\u0026rsquo;entropie. Une imprimante configuré et en état de marche pour imprimer les copies offline de vos clefs sous forme de QR codes. Et un appareil photo ou un scanner configurer pour tester l\u0026rsquo;import des QR codes que vous imprimerez.\nEnsuite pour configurer votre OnlyKey vous aurez besoins d\u0026rsquo;installer les outils suivant et tapant :\nsudo apt install pipx gawk sed wget libusb-1.0-0-dev libudev-dev npm node-getpass sudo apt install gnupg openssh-client paperkey ruby-asciidoctor-pdf qrencode zbar-tools pipx install --system-site-packages onlykey pipx install --system-site-packages keysec npm install openpgp . $HOME/.profile wget https://codeberg.org/Henri_GEIST/OnlyKey_hardware_token_HowTo/raw/branch/master/extract_gpg_keys.js chmod u+x extract_gpg_keys.js mv extract_gpg_keys.js $HOME/.local/bin/extract_gpg_keys.js Note : Ces instructions d\u0026rsquo;installation ne sont pas identiques à celles de la Documentation officielle d'OnlyKey. Sous Debian il faut utiliser pipx au lieu de pip et des packages apt, pipx et npm supplémentaires sont nécessaire pour se tutoriel.\nPuis configurer quelques règles udev pour rendre voter OnlyKey accessible aux utilisateurs normaux.\n[ -f /etc/udev/rules.d/49-onlykey.rules ] || wget https://raw.githubusercontent.com/trustcrypto/trustcrypto.github.io/pages/49-onlykey.rules \u0026amp;\u0026amp; sudo mv 49-onlykey.rules /etc/udev/rules.d/ En option, si vous le désiré et seulement si vous êtes sur une architecture amd64, vous pouvez installer l\u0026rsquo;interface graphique en tapant :\nwget https://github.com/trustcrypto/OnlyKey-App/releases/download/v5.5.0/OnlyKey_5.5.0_amd64.deb sudo apt install ./OnlyKey_5.5.0_amd64.deb Préparez de bons passphrase et codes pin Il vous faut choisir des codes pin et passphrase extrêmement forts :\nTrès dur à deviner pour quelqu\u0026rsquo;un qui en sait long sur vous. Très dur à attaquer par force brute par des ordinateurs puissants. Facile à mémoriser pour vous car : Si vous les perdez, vous perdez avec tout ce qu\u0026rsquo;ils protègent. Vous aurez besoin de les garder dans vos tête sans jamais les écrire. Créez vos codes pin Les OnlyKey ont besoin de trois codes pin :\nPremier compte Jetez simplement dix fois votre dé pour avoir un code à dix chiffres. Comme vous le taperez tous les jours vous n\u0026rsquo;aurez pas de problème à le mémoriser rapidement. Quoi que vous obteniez.\nDeuxième compte Comme vous risquez de l\u0026rsquo;utiliser moins souvent, afin de vous en souvenir, ne jetez le dé qu\u0026rsquo;une fois de plus et reprenez le code pin de votre premier compte en changeant juste un des chiffre.\nCode d\u0026rsquo;auto destruction Pas besoin du même niveau de sécurité pour celui là. Il ne donne accès à rien. Et vous ne l\u0026rsquo;utiliserez peut être jamais. Choisissez juste sept chiffres que vous mémoriserez facilement. Assurez vous seulement qu\u0026rsquo;ils soient suffisamment différent des deux autres code pour ne pas le taper par erreur.\nCréez une passephrase Un petit dessin vaut mieux qu\u0026rsquo;un long discours. Regardez ceci https://xkcd.com/936/ pour comprendre pourquoi je vous recommande la méthode ci-dessous.\nVous trouverez une liste de mots indexé par les résultats de cinq jets de dès à six faces ici : https://github.com/mbelivo/diceware-wordlists-fr/blob/master/wordlist_fr_5d.txt Pour les non francophones il existe sur le net des listes dans d\u0026rsquo;autres langues.\nJetez les dès pour sélectionner le premier mot de votre passeprrase. Puis recommencer pour le mot suivant. Je vous recommande de choisir au moins huit mots de cette façon. Cela représente un peu plus de 103 bits d\u0026rsquo;entropie. Si vous êtes vraiment paranoïaque vous pouvez prendre dix mots pour 129 bits d\u0026rsquo;entropie. L\u0026rsquo;entropie maximal possible en utilisant l\u0026rsquo;algorithme SHA-256 est de 256 bits donc il ne peut servir à rien de choisir plus de vingts mots.\nMaintenant, comme l\u0026rsquo;un des intérêt d\u0026rsquo;une OnlyKey est de vous éviter de devoir taper souvent votre passephrase :\nN\u0026rsquo;ayez pas peur d\u0026rsquo;avoir une passephrase long à taper. Vous ne le ferez presque jamais.\nPour ne pas l\u0026rsquo;oublier, prenez l\u0026rsquo;habitude de la répéter dans votre tête comme un mantra à chaque fois que vous tapez votre code pin.\nEffacement complet Cela permet de repartir de zéro.\nNote : Ce n\u0026rsquo;est pas nécessaire. Vous pouvez suivre ce tutoriel tout en gardant ce qui se trouve déjà dans votre OnlyKey.\nATTENTION : Assurez vous d\u0026rsquo;avoir une copie de toute donné importante que vous allez effacer par cette opération.\nBranchez la OnlyKey :\nEntrez le code d\u0026rsquo;auto destruction;\nOu entres dix fois de suite n\u0026rsquo;importe quel code invalide.\nInitialisation d\u0026rsquo;une OnlyKey vide Note : Cela ne marche et n\u0026rsquo;est utile que si la OnlyKey est bien vide. Si ce n\u0026rsquo;est pas le cas passez directement à l\u0026rsquo;étape suivante.\nBranchez votre OnlyKey vide, lancez la commande ci-dessous et suivez les instructions.\nonlykey-cli init Puis débranchez votre OnlyKey.\nPassage en mode configuration La moitié des configurations ci dessous nécessite d\u0026rsquo;être en mode config. Dans ce mode vous pouvez changer des paramètre nécessitant des précautions particulières. Ils ne devrait pas êtres accessibles uniquement par ce que votre OnlyKey est branché et déverrouillé.\nPour entrer en mode config :\nBranchez votre OnlyKey. Déverrouiller la via votre code pin. Pressez le boutton 6 pendant au moins cinq secondes. Relâchez le button 6. Vérifiez que la LED de la OnlyKey c\u0026rsquo;est éteinte. Retapez votre code pin. Vérifiez que la LED de la OnlyKey clignote en rouge. La sortie du mode config à lieu lorsque la OnlyKey est débranchée.\nConfiguration de la passphrase de backup Configuration Si vous voulez pouvoir extraire un backup de votre OnlyKey il vous faut définir une passphrase de backup. Mais ce n\u0026rsquo;est pas forcément une bonne idée.\nRaisons de configurer une passphrase de backup Vous voulez utiliser les fonctionnalités FIDO2 et/ou des clefs généré en interne de votre OnlyKey et pouvoir les dupliquer dans une autre OnlyKey. Mais il vaut mieux éviter de ce retrouver coincé à avoir besoin de cela. Vous seriez prisonnier de la solution OnlyKey sans échappatoires.\nRaison de ne pas configurer de passphrase de backup Avoir un token hardware dont rien ne peut être exfiltrer d\u0026rsquo;aucune façon.\nSi vous voulez vraiment faire ça, la version actuelle du onlykey-cli, (v1.2.10 pendant que j\u0026rsquo;écris ces lignes) ne dispose pas de cette fonction. Donc il faut d\u0026rsquo;abords ajouter après la ligne 403 du fichier $HOME/.local/pipx/venvs/onlykey/lib/python3.11/site-packages/onlykey/cli.py ces deux lignes :\nelif sys.argv[2] == 'BACKUP': slot_id = 131 Juste après les lignes :\nelif sys.argv[2] == 'HMAC2': slot_id = 129 ATTENTION : En Python le nombre d\u0026rsquo;espace en début de lignes doit être resppecté.\nNote : En fonction de la version de Python le chemin du fichier peut varier.\nPuis sauvegarder la modification et tapez :\nread -s -p \u0026#34;Enter Passphrase:\u0026#34; PASSPHRASE1 echo read -s -p \u0026#34;Retype passphrase:\u0026#34; PASSPHRASE2 echo if [ \u0026#34;$PASSPHRASE1\u0026#34; != \u0026#34;$PASSPHRASE2\u0026#34; ] then echo \u0026#34;Error passphrases mismatch\u0026#34; \u0026gt; /dev/stderr else onlykey-cli setkey BACKUP x b $(printf \u0026#34;%s\u0026#34; \u0026#34;$PASSPHRASE1\u0026#34; | sha256sum | grep -o \u0026#39;[0-9a-fA-F]*\u0026#39;) fi PASSPHRASE1=\u0026#34;\u0026#34; PASSPHRASE2=\u0026#34;\u0026#34; Verrouillage ATTENTION : Vous ne pourrez plus changez d\u0026rsquo;avis après coup. Cette opération est définitive jusqu\u0026rsquo;au prochaine effacement complet de la OnlyKey.\nSi vous voulez empêcher que qui que ce soit pouvant accéder à votre OnlyKey lorsqu\u0026rsquo;elle est déverrouiller puisse en faire un backup pour lui même. Vous devez verrouiller la passphrase de backup.\nSi vous n\u0026rsquo;avez pas encore configurer de passpharse aucun backup ne sera plus possible. Si vous en avez déjà configuré une votre opposant ne pourra plus la changer et s\u0026rsquo;il ne la connais pas il ne pourra faire un backup mais pas s\u0026rsquo;en servir.\nonlykey-cli backupkeymode 1 Emulation clavier interne à l'OnlyKey Chaque fois que votre OnlyKey doit taper quelque chose, quand vous utilisez la fonction de backup ou le manager de mots de passe par exemple, votre OnlyKey ce comporte comme un clavier avec un agent interne qui tape dessus. Pour que cela marche la disposition de ce clavier virtuel doit correspondre à la configuration clavier de votre OS (QWERTY, AZERTY, DVORAK, BEPO, \u0026hellip;​). Et l\u0026rsquo;agent interne doit taper a une vitesse que votre ordinateur peu suivre.\nDisposition Selectionné le KEYBOARD_LAYOUT correspondant à votre système ci-dessous :\nKEYBOARD_LAYOUT Description 1 USA_ENGLISH 2 CANADIAN_FRENCH 3 CANADIAN_MULTILINGUAL 4 DANISH 5 FINNISH 6 FRENCH 7 FRENCH_BELGIAN 8 FRENCH_SWISS 9 GERMAN 10 GERMAN_MAC 11 GERMAN_SWISS 12 ICELANDIC 13 IRISH 14 ITALIAN 15 NORWEGIAN 16 PORTUGUESE 17 PORTUGUESE_BRAZILIAN 18 SPANISH 19 SPANISH_LATIN_AMERICA 20 SWEDISH 21 TURKISH 22 UNITED_KINGDOM 23 US_INTERNATIONAL 24 CZECH 25 SERBIAN_LATIN_ONLY 26 HUNGARIAN 27 DANISH MAC 28 US_DVORAK Puis tapez :\nonlykey-cli keylayout $KEYBOARD_LAYOUT Note : Si comme pour moi, votre disposition de clavier n\u0026rsquo;est pas dans la liste et/ou n\u0026rsquo;est pas fréquente au tour de vous et que vous voulez utiliser votre OnlyKey sur d\u0026rsquo;autres ordinateurs autours de vous. Alors vous devrez aussi suivre les instruction du chapitre Adaptation a la disposition clavier de l\u0026rsquo;OnlyKey .\nVitesse Enfin sélectionnez une valeur de KEYBOARD_SPEED entre 1 et 10 :\nKEYBOARD_SPEED Comment 1 Seulement pour utiliser sur de lente carte uC 8 bits. 4 Valeur par défaut. (mais terriblement lente) 7 Maximum supporté par ma carte Raspberry PI Zero. 9 Maximum supporté par mon portable Intel I5. Trouvez la valeur qui vous convient :\nonlykey-cli keytypespeed $KEYBOARD_SPEED Configurez le challenge GPG/SSH Pour acquitter les challenge GPG ou SSH en n\u0026rsquo;utilisant qu\u0026rsquo;un unique bouton au lieu de trois boutons aléatoires à chaque fois, tapez :\nonlykey-cli storedkeymode 1 onlykey-cli derivedkeymode 1 Note : Ceci est nécessaire si vous voulez utiliser les agent SSH et GPG en tant que daemons. Mais dans ce cas vous ne pouvez être certain de la requête qui déclanche le challenge.\nSi vous préférez malgré tout les challenges avec trois bouton aléatoire, tapez :\nonlykey-cli storedkeymode 0 onlykey-cli derivedkeymode 0 Import de clefs GPG Trouvez les clefs GPG à importer D\u0026rsquo;abord vous avez besoin de clefs GPG à importer. Vous en avez peut-être déjà et pouvez en obtenir la liste avec la commande :\ngpg --list-secret-keys Si vous n\u0026rsquo;en avez pas, vous pouvez en créer avec la commande :\ngpg --expert --full-generate-key --pinentry-mode loopback Puis répondes aux questions :\nSujet Réponse Kind of key (9) ECC and ECC Elliptic curve (1) Curve 25519 Key expiration Aussi longtemps que vous voulez ou jamais Name Prénom NOM E-mail votre.addresse@email.com Comment D\u0026rsquo;habitude rien, mais ce que vous voulez Si vous avez déjà des clefs mais elle ne sont pas au formet ed25519 il est temps de :\nCréer de nouvelles clefs; Les signer avec vos anciennes clefs; Publier leur parties publiques sur un serveur de clefs et/ou vers vos correspondants; Révoquer les anciennes clefs et arrêter de les utiliser. Export des clefs GPG Choisissez le jeux de clefs que vous voulez utiliser dans la liste de vos clefs privées et récupérez les 40 caractères hexadécimal de son fingerprint et tapez :\nGPG_FINGERPRINT=\u0026#34;le figerprint que vous venez de selectionner\u0026#34; gpg --export $GPG_FINGERPRINT \u0026gt; $GPG_FINGERPRINT.pub gpg --export-secret-keys --pinentry-mode loopback $GPG_FINGERPRINT \u0026gt; $GPG_FINGERPRINT.priv Note : La deuxième commande va demander votre passphrase mais le résultat restera quand même protégé par la passphrase.\nSauvegardez vos clefs GPG offline Si vous faites tout cela sur un air-gap (voir le chapitre Utilisez un air-gap ), que vous ne le connecterez plus ni directement ni indirectement au réseau et que vous le stockez en sécurité, cet air-gap compte comme une copie offline.\nMais de toute façon c\u0026rsquo;est toujours mieux d\u0026rsquo;avoir des copies papier. Étonnamment le papier est un média très résistant au temps comparé aux technologies numériques modernes. Il tombe rarement en panne. Donc pour obtenir une version PDF imprimable tapez :\nGPG_FINGERPRINT=\u0026#34;Le même firgerprint que juste au dessus\u0026#34; qrencode -l M --8bit --output $GPG_FINGERPRINT.pub.png \u0026lt; $GPG_FINGERPRINT.pub paperkey --output-type=raw \u0026lt; $GPG_FINGERPRINT.priv | qrencode -l H --8bit --output $GPG_FINGERPRINT.priv.png asciidoctor-pdf -o $GPG_FINGERPRINT.pdf - \u0026lt;\u0026lt; EOF == Partie lisible par un humain GPG version: $(gpg --version | head -n 1) + gpg --export-secret-keys $GPG_FINGERPRINT | paperkey ++++ $(paperkey \u0026lt; $GPG_FINGERPRINT.priv) ++++ \u0026lt;\u0026lt;\u0026lt; == Clefs publiques et privées lisible par ordinateur image::$GPG_FINGERPRINT.pub.png[title=gpg --export $GPG_FINGERPRINT by: $(gpg --version | head -n 1)] image::$GPG_FINGERPRINT.priv.png[title=gpg --export-secret-keys $GPG_FINGERPRINT | paperkey --output-type=raw] EOF Puis imprimez le résultat recto-verso pour avoir le tout sur une seule page. Et gardez le en lieu sûr. Et pour plus de sûreté, faites d\u0026rsquo;autres copies que vous confirez à des proches en qui vous avez confiance pour les conserver longtemps. Cela vous évitera de tout prendre s\u0026rsquo;il y a le feu ou un vol chez vous.\nNote : Même la version papier reste protégée par votre passphrase. Vos proches ne pourrons donc pas l\u0026rsquo;utiliser eux mêmes.\nVérifier que vos sauvegarde GPG imprimé sont bonnes Les backup non vérifié vous trahissent toujours au pire moment. Quand vous en avez absolument besoin.\nCommences par scanner ou prendre des photos des QR codes de vos clef publiques et privées. Puis enregistrez les sous les noms private_GPG_QR_code.jpg et public_GPG_QR_code.jpg.\nEnsuite vérifiez que vous pouvez reconstruire vos clefs privées à la section Export des clefs en tapant :\nzbarimg --raw -Sbinary public_GPG_QR_code.jpg \u0026gt; public.gpg zbarimg --raw -Sbinary private_GPG_QR_code.jpg | paperkey --pubring public.gpg \u0026gt; private.gpg diff private.gpg $GPG_FINGERPRINT.priv Flashez les clefs GPG dans votre OnlyKey Conservez le $GPG_FINGERPRINT, choisissez deux slots vide pour $GPG_SIGN_SLOT et GPG_DECIPHER_SLOT dans la plage ECC1 .. ECC16 de la OnlyKey pour y flasher vos clefs et des $GPG_SIGN_LABEL des $GPG_DECIPHER_LABEL pour vous souvenir de ce que vous avez mis où plus tard.\nNote : Chaque label peut contenir un maximum de 16 caractères ASCII.\nPuis tapez :\nGPG_FINGERPRINT=\u0026#34;Le même fingerprint que vous utilsez depuis le début.\u0026#34; GPG_SIGN_SLOT=\u0026#34;Quelque chose dans la plage ECC1 .. ECC16\u0026#34; GPG_DECIPHER_SLOT=\u0026#34;Quelque chose d\u0026#39;autre dans la même plage\u0026#34; GPG_SIGN_LABEL=\u0026#34;GPG Singing\u0026#34; GPG_DECIPHER_LABEL=\u0026#34;GPG decipher\u0026#34; extract_gpg_keys.js \u0026lt; $GPG_FINGERPRINT.priv | awk -F \u0026#39;:\u0026#39; \u0026#34;/sign/ { system (\\\u0026#34;onlykey-cli setkey $GPG_SIGN_SLOT x s\\\u0026#34;\\$2) }; /decipher/ { system (\\\u0026#34;onlykey-cli setkey $GPG_DECIPHER_SLOT x d\\\u0026#34;\\$2) }\u0026#34; onlykey-cli setkey $GPG_SIGN_SLOT label \u0026#34;$GPG_SIGN_LABEL\u0026#34; onlykey-cli setkey $GPG_DECIPHER_SLOT label \u0026#34;$GPG_DECIPHER_LABEL\u0026#34; Import de clefs SSH Note : Si vous avez déjà importé une clef de signature GPG à l\u0026rsquo;étape précédent, vous pouvez choisir de l\u0026rsquo;utiliser aussi pour SSH et passer directement à la section suivante : Vermouler vos écran et OnlyKey avec un bouton. Si vous voulez importez une clef SSH dédié lisez cette section.\nTrouvez une clef SSH à importer Pour commencer il vous faut une clef privé SSH à importer. Si vous en avez déjà, elles se trouvent habituellement dans votre dossier $HOME/.ssh/. Et vous en avez peut-être déjà une nommée id_ed25519.\nSi vous n\u0026rsquo;en avez pas, c\u0026rsquo;est le moment d\u0026rsquo;en créer une en tapant :\nssh-keygen -t ed25519 Puis suivez les instructions. Si vous choisissez les valeurs par défaut cela créera deux fichier de clefs, $HOME/.ssh/id_ed25519 pour la partie privée et $HOME/.ssh/id_ed25519.pub pour la partie publique.\nMaintenant sélectionnez le fichier de clef privé au quel on se réfèrera dans les commandes a venir par SSH_KEY_FILE.\nSauvegeradez vous clefs SSH offline Pour les même raison qu\u0026rsquo;au chapitre Sauvegardez vos clefs offline , faite des copies papier de vos clefs SSH. Pour cela tapez :\nSSH_KEY_FILE=\u0026#34;Le chemin du fichier contenant votre clef privée.\u0026#34; qrencode -l H --8bit --output private_SSH_key.png \u0026lt; $SSH_KEY_FILE asciidoctor-pdf -o private_SSH_key.pdf - \u0026lt;\u0026lt; EOF == Clef _SSH_ privée lisible par un humain ++++ $(cat $SSH_KEY_FILE) ++++ == Clef _SSH_ privée lisible par un ordinateur image::private_SSH_key.png[title=$SSH_KEY_FILE] EOF Puis imprimez le PDF que vous venez de créer, gardez le en lieu sûr et faites en des copies a donner à des gens en qui vous avez confiance pour les garder en lieu sûr pour vous.\nVérifiez que vos backup sont récupérables D\u0026rsquo;abord scannez ou prenez une photo du QR code de votre clef SSH. Et sauvegardes la en tant que SSH_keys_QR_code.jpg. Puis tapez :\nzbarimg --raw -Sbinary SSH_keys_QR_code.jpg \u0026gt; SSH_keys_from_QR_code.txt diff SSH_keys_from_QR_code.txt $SSH_KEY_FILE Flashez la clef SSH dans votre OnlyKey Choisissez un $SSH_SLOT entre ECC1 et ECC2 encore libre, un fichier $SSH_KEY_FILE à charger dans ce slot et un $SSH_KEY_LABEL pour le nommer. Puis tapez :\nNote : Chaque label contient au maximum 16 caractères ASCII.\nSSH_KEY_FILE=\u0026#34;Le même fichier de clef privé que précédemment.\u0026#34; SSH_SLOT=\u0026#34;Le slot que vous venez de choisir\u0026#34; SSH_KEY_LABEL=\u0026#34;SSH key\u0026#34; onlykey-cli setkey $SSH_SLOT x s \u0026#34;$(keysec info \u0026lt; $SSH_KEY_FILE | sed -n \u0026#39;/priv:/{:a;n;/pub:/b;p;ba}\u0026#39; | tr -d \u0026#39; :\\n\u0026#39;)\u0026#34; onlykey-cli setkey $SSH_SLOT label \u0026#34;$SSH_KEY_LABEL\u0026#34; Verrouiller vos écran et OnlyKey avec un bouton Choisissez un bouton entre 1 et 6 de votre OnlyKey pour devenir le $LOCK_BUTTON. Ou choisissez 0 pour ne pas avoir de $LOCK_BUTTON. Et tapez :\nonlykey-cli lockbutton $LOCK_BUTTON Maintenant à chaque fois que vous touchez ce bouton, votre OnlyKey et votre écran ce verrouillerons.\nNote : Le bouton choisi ne sera plus capable de servir des logins et mot de passe tant qu\u0026rsquo;il aura cette fonction.\nRéglez le timeout avant verrouillage Choisissez un $TIMEOUT entre 1 et 255 minutes ou 0 pour désactiver la fonction et tapez :\nonlykey-cli idletimeout $TIMEOUT Maintenant, votre OnlyKey rebootera d\u0026rsquo;elle même et se verrouillera après ce temps d\u0026rsquo;inactivité.\nRéglez la luminosité de la LED Choisissez un $BRIGHTNESS entre 1 et 10 du plus sombre au plus brillant et tapez :\nonlykey-cli ledbrightness $BRIGHTNESS Configuration de l\u0026rsquo;ordinateur Note : Ceci n\u0026rsquo;a pas besoin d\u0026rsquo;être fait sur le même ordinateur que celui que vous avez utiliser pour configurer votre OnlyKey. De plus, je vous recommande de configurer votre OnlyKey sur un air-gap différent de l\u0026rsquo;ordinateur sur lequel vous allez utiliser votre OnlyKey. Voir le chapitre Utilisez un air-gap .\nPré requis Commencez par installer les agents OnlyKey SSH et GPG, leurs dépendances et des outils de base.\nsudo apt install pipx grep sed at wget libusb-1.0-0-dev libudev-dev openssh-client gnupg zbar-tools pipx install --system-site-packages onlykey-agent pipx install --system-site-packages onlykey . $HOME/.profile Note : Ceci diffèrent légèrement des instructions de la documentation officiel. Sous Debian il faut pipx au lieu de pip et plus de packages sont nécessaire pour suivre ce tutoriel.\nPuis configurez des règles udev pour rendre votre OnlyKey accessible aux utilisateurs normaux.\n[ -f /etc/udev/rules.d/49-onlykey.rules ] || wget https://raw.githubusercontent.com/trustcrypto/trustcrypto.github.io/pages/49-onlykey.rules \u0026amp;\u0026amp; sudo mv 49-onlykey.rules /etc/udev/rules.d/ En option, si vous le désiré et seulement si vous êtes sur une architecture amd64, vous pouvez installer l\u0026rsquo;interface graphique en tapant :\nwget https://github.com/trustcrypto/OnlyKey-App/releases/download/v5.5.0/OnlyKey_5.5.0_amd64.deb sudo apt install ./OnlyKey_5.5.0_amd64.deb Verrouillage d\u0026rsquo;écran à la déconnexion Si vous voulez verrouiller votre écran à chaque fois que vous débranchez votre OnlyKey, vous pouvez ajouter la ligne suivante à votre fichier /etc/udev/rules.d/49-onlykey.rules :\nACTION==\u0026quot;remove\u0026quot;, SUBSYSTEM==\u0026quot;input\u0026quot;, ATTRS{idVendor}==\u0026quot;1d50\u0026quot;, ATTRS{idProduct}==\u0026quot;60fc\u0026quot;, RUN+=\u0026quot;/bin/su USER_NAME -c '/usr/bin/xdg-screensaver lock'\u0026quot; En replaçant USER_NAME par le nom de l\u0026rsquo;utilisateur de votre session X. Si vous voulez configurer cela pour plusieurs utilisateurs, ajoutez une ligne par utilisateur.\nNote : Si vous avez initialiser le timeout après inactivité de votre OnlyKey, Votre écran sera aussi verrouiller lorsque votre OnlyKey se verrouillera d\u0026rsquo;elle même.\nagent GPG OnlyKey Initialisez l\u0026rsquo;agent GPG OnlyKey Commencez par récupérer la partie publique des clefs GPG que vous avez chargé dans votre OnlyKey au chapitre Trouvez les clefs à importer .\nVous pouvez les retrouver depuis n\u0026rsquo;importe quelle source :\nVotre ordinateur si elles sont déjà dans votre trousseau de clefs. Le QR code de backup que vous avez fait lors de la générations de vos clefs. N\u0026rsquo;importe qui ou n\u0026rsquo;importe quel serveur de clefs à qui vous les avez transmises. Si elle sont déjà dans votre trousseau de clefs tapez simplement :\ngpg --export $GPG_FINGERPRINT \u0026gt; $GPG_FINGERPRINT.pub Si vous les avez sur QR code scannez le ou prenez le en photo et nommer le fichier image $GPG_FINGERPRINT.jpg puis tapez :\nzbarimg --raw -Sbinary $GPG_FINGERPRINT.jpg | gpg --enarmor | sed \u0026#39;s/ARMORED FILE/PUBLIC KEY BLOCK/\u0026#39; \u0026gt; $GPG_FINGERPRINT.pub Puis choisissez un dossier comme $GNUPGHOME pour y stocker la configuration. Habituellement $HOME/.gnupg/onlykey. Ensuite souvenez vous des $GPG_DECIPHER_SLOT et $GPG_SIGN_SLOT où vous avez placé vous clef privèes dans votre OnlyKey. Si vous avez oublier mais que vous y avez mis des labels vous pouvez les retrouver en tapant :\nonlykey-cli getkeylabels Puis tapez :\nGPG_FINGERPRINT=\u0026#34;Le finger print des clefs que vous voulez utiliser\u0026#34; GPG_DECIPHER_SLOT=\u0026#34;Le slot entre ECC1 et ECC16 de la clef de déchiffrement\u0026#34; GPG_SIGN_SLOT=\u0026#34;Le slot entre ECC1 et ECC16 de la clef de signature\u0026#34; GNUPGHOME=\u0026#34;quelque chose comme $HOME/.gnupg/onlykey\u0026#34; onlykey-gpg init \u0026#34;$(gpg --show-keys $GPG_FINGERPRINT.pub | grep uid | sed \u0026#39;s/^uid *//1\u0026#39;)\u0026#34; \\ -e ed25519 \\ -dk $GPG_DECIPHER_SLOT \\ -sk $GPG_SIGN_SLOT \\ -i $GPG_FINGERPRINT.pub \\ --homedir $GNUPGHOME Note : En cas d\u0026rsquo;échec, pour réessayer il faut d\u0026rsquo;abord effacer le dossier $GNUPGHOME que vous venez de créer.\nATTENTION : Mais VÉRIFIEZ SOIGNEUSEMENT CE QUE VOUS ÊTES SUR LE POINT D\u0026rsquo;EFFACER. Si vous effacez par erreur $HOME/.gnupg en fonction de ce qu\u0026rsquo;il contient déjà ça peut devenir une très grosse perte.\nUtiliser de GPG via OnlyKey dans le shell courrant Si vous voulez que GPG cherche dans votre nouveau dossier $GNUPGHOME au lieu du $HOME/.gnupg et donc utilise votre OnlyKey plutôt que vos trousseaux de clef sur disque vous devez exporter la variable $GNUPGHOME tel que vous venez de la définir.\nexport GNUPGHOME=\u0026#34;le chemin que que vous venez juste de choisir\u0026#34; À partir de là, votre OnlyKey sera requise et utilisée pour toute vos activités de signature et déchiffrement dans le terminal courant et ces descendants. Votre OnlyKey clignotera en violet ou turquoise lors des requêtes de signature et déchiffrement et attendra que vous touchiez l\u0026rsquo;un de ces bouton pour agir.\nUtiliser l\u0026rsquo;agent GPG OnlyKey par défaut Si vous voulez que votre configuration devienne permanant dans tout les contextes dès votre prochain login placez simplement cette ligne d\u0026rsquo;export :\nexport GNUPGHOME=\u0026#34;Le chemin que vous avez choisi\u0026#34; À la fin de votre fichier $HOME/.profile puis redémarre votre session.\nOnlyKey SSH agent D\u0026rsquo;abord, pour le reste de ce chapitre, rappelez vous le le $SSH_SLOT que vous avez choisi. Cela peut être le slot où vous avez mis votre clef SSH dédiée au chapitre Flashez la clef dans votre , ou le slot où vous avez mis votre clef GPG de signature au chapitre Flashez les clefs dans votre si vous avez choisi d\u0026rsquo;utiliser votre clef de signature GPG pour vous authentifier en SSH.\nSi vous avez oublier vous pouvez retrouver l\u0026rsquo;info en tapant :\nonlykey-cli getkeylabels Obtenir la clef publique SSH Pour obtenir votre clef publique SSH a transmettre à tout les serveurs auxquels vous souhaitez vous connecter tapez simplement :\nSSH_SLOT=\u0026#34;Le slot ECCx contenant le clef à utiliser pour SSH\u0026#34; onlykey-agent -sk $SSH_SLOT some.user@some.domaine Note : Vous pouvez utiliser tout ce qui vous passe par la tête en lieu de some.user@some.domaine. Cela n\u0026rsquo;a pas d\u0026rsquo;effet. C\u0026rsquo;est juste comme un commentaire lorsque l\u0026rsquo;option -sk $SSH_SLOT est utilisée.\nUtiliser SSH via l'OnlyKey dans le shell courrant Pour que SSH utilise votre OnlyKey dans le shell courant et tout ces sous-shell, tapez :\nSSH_SLOT=\u0026#34;Le slot ECCx contenant votre clef SSH\u0026#34; onlykey-agent -sk $SSH_SLOT -s foo Note : L\u0026rsquo;argument foo n\u0026rsquo;a pas d\u0026rsquo;importance lorsqu\u0026rsquo;on utilise une clef importée. Il est juste nécessaire qu\u0026rsquo;il existe.\nUtiliser votre OnlyKey par défaut pour SSH Note : J\u0026rsquo;ai prévu d\u0026rsquo;ajouter des explication pour les distribution sans Systemd comme Devuan dès que je trouve comment faire.\nSi vous voulez que votre OnlyKey soit utiliser par défaut dans tout les contextes, vous devez configurer Systemd pour démarre l\u0026rsquo;agent SSH OnlyKey au lieu de l\u0026rsquo;agent SSH standard. Commence par créer un nouveau service utilisateur Systemd appelé onlykey-ssh-agent.\n$HOME/.config/systemd/user/onlykey-ssh-agent.service :\n[Unit] Description = onlykey-agent SSH agent Requires = onlykey-ssh-agent.socket [Service] Type = simple Restart = always Environment = \u0026#34;PATH=/bin:/usr/bin:/usr/local/bin:%h/.local/bin\u0026#34; ExecStart = %h/.local/bin/onlykey-agent --sock-path %t/onlykey-agent/S.ssh -f -sk $SSH_SLOT foo ATTENTION : Vous devez remplacer $SSH_SLOT à la fin de a dernière ligne par le véritable nom du slot entre ECC1 et ECC16 contenant votre clef SSH. La substitution n\u0026rsquo;est pas automatique ici.\nNote : Vous devrez d\u0026rsquo;abord créer le dossier $HOME/.config/systemd/user si il n\u0026rsquo;existe pas déjà.\nPuis créez un nouvelle socket utilisateur Systemd onlykey-ssh-agent pour ce service :\n$HOME/.config/systemd/user/onlykey-ssh-agent.socket :\n[Unit] Description = onlykey-agent SSH agent socket [Socket] ListenStream = %t/onlykey-agent/S.ssh FileDescriptorName = ssh Service = onlykey-ssh-agent.service SocketMode = 0600 DirectoryMode = 0700 [Install] WantedBy = sockets.target Ensuite démarrez les et faites les redémarrer à chaque reboot en tapant :\nsystemctl --user start onlykey-ssh-agent.service onlykey-ssh-agent.socket systemctl --user enable onlykey-ssh-agent.service onlykey-ssh-agent.socket Et maintenant ajoutes à votre $HOME/.profile du code pour configurer et exporter la variable $SSH_AUTH_SOCK si ce n\u0026rsquo;est pas déjà fait à chaque login. Cela ne doit pas écraser une valeur préexistante pour permettre le forwarding d\u0026rsquo;agent.\ngrep -q \u0026#39;^[^#]*SSH_AUTH_SOCK=.*/onlykey-agent/S.ssh\u0026#39; $HOME/.profile || cat \u0026lt;\u0026lt; \u0026#39;EOF\u0026#39; \u0026gt;\u0026gt; $HOME/.profile if [ -z \u0026#34;$SSH_AUTH_SOCK\u0026#34; ] then SSH_AUTH_SOCK=$(systemctl show --user --property=Listen onlykey-ssh-agent.socket | grep -o \u0026#34;/.*/onlykey-agent/S.ssh\u0026#34;) export SSH_AUTH_SOCK fi EOF Enfin, si le gnome_keyring est installer sur votre système, désactiver le au moins pour SSH :\n[ -f $HOME/.config/autostart/gnome-keyring-ssh.desktop ] || mkdir -p $HOME/.config/autostart/ \u0026amp;\u0026amp; cp /etc/xdg/autostart/gnome-keyring-ssh.desktop $HOME/.config/autostart/ \u0026amp;\u0026amp; grep -q \u0026#39;^Hidden\\s*=\\s*true\\(\\s\\+\\|$\\)\u0026#39; $HOME/.config/autostart/gnome-keyring-ssh.desktop || echo \u0026#39;Hidden=true\u0026#39; \u0026gt;\u0026gt; $HOME/.config/autostart/gnome-keyring-ssh.desktop Voilà tout est en place et va fonctionner dès votre prochain login.\nForwarding de l\u0026rsquo;agent GPG à travers SSH Chargement de la clef public sur le serveur Commencez par trouver le $GPG_FINGERPRINT de la clef GPG que vous voulez utiliser pour cela. Pour ce faire, branchez votre OnlyKey déverrouillez là, et tapez :\ngpg --list-secret-keys puis importez sa partie publique sur le serveur sur le quel vous voulez forwarder votre agent GPG en tapant :\nGPG_FINGERPRINT=\u0026#34;Le fingerprint de la clef que vous avez choisi\u0026#34; SSH_LOGIN=\u0026#34;votre login ssh du genre \u0026#39;user@server\u0026#39;\u0026#34; gpg --armor --export $GPG_FINGERPRINT | ssh $SSH_LOGIN \u0026#34;bash --login -c \u0026#39;gpg --import\u0026#39;\u0026#34; Note : Il vous faut déjà avoir un compte SSH fonctionnel sur le serveur.\nConfiguration de la machine locale Ensuite vous devez trouver le socket local de votre agent GPG de votre utilisateur avec la commande :\ngpgconf --list-dir agent-socket Note : Sur l\u0026rsquo;agent GPG classique on aurait du chercher l'`agent-extra-socket` pour éviter que la clef privé fuite. Mais avec l'OnlyKey la socket normal est déjà comme la socket extra et il n\u0026rsquo;y a pas de socket extra\nPuis, trouver la socket du serveur distant pour votre utilisateur avec la commande :\nGPG_FINGERPRINT=\u0026#34;Le fingerprint de la clef que vous avez choisi\u0026#34; SSH_LOGIN=\u0026#34;votre login SSH du genre \u0026#39;user@server\u0026#39;\u0026#34; gpg --armor --export $GPG_FINGERPRINT | ssh $USER_AT_SERVER \u0026#34;bash --login -c \u0026#39;gpgconf --list-dir agent-socket\u0026#39;\u0026#34; Enfin, ajoutez à votre $HOME/.ssh/config une règle de forwarding pour votre serveur distant, en remplacent THE_REMOTE_HOSTNAME par le hostname du serveur auquel vous voulez vous connecter, THE_REMOTE_HOST_GPG_AGENT_NORMAL_SOCKET et THE_LOCAL_GPG_AGENT_SOCKET par les chemin des socket que vous venez juste de trouver ci-dessus :\n\\$HOME/.ssh/config :\nHOST THE_REMOTE_HOSTNAME StreamLocalBindUnlink yes RemoteForward THE_REMOTE_HOST_GPG_AGENT_NORMAL_SOCKET THE_LOCAL_GPG_AGENT_SOCKET Configure the remote server SSH deamon Pour finir, si vous disposez des privilèges administrateur sur le serveur distant, ajoutez la ligne StreamLocalBindUnlink yes à son /etc/ssh/sshd_config et lancez sur le serveur la commande :\nsudo sshd -t \u0026amp;\u0026amp; sudo systemctl restart sshd Si vous ne disposez pas des privilèges nécessaires, demander à l\u0026rsquo;administrateur de le faire. Et si vous ne pouvez pas, alors vous serez obliger à chaque foi de vous connecter deux fois à votre compte SSH pour utiliser le forwarding d\u0026rsquo;agent GPG. La première foie juste pour lancer la commande :\nrm $(gpgconf --list-dir agent-socket) Puis déconnectez vous et reconnectez vous une seconde foie pour disposer de forwarding d\u0026rsquo;agent GPG.\nMaintenant vous pouvez utiliser GPG sur votre serveur distant tout en gardant votre OnlyKey connecté sur votre machine locale.\nAdaptation a la disposition clavier de l'OnlyKey Note : Si la disposition clavier configuré dans votre OnlyKey correspond à la disposition clavier configuré sur votre ordinateur vous pouvez passer directement à la section suivante.\nSur Xwindows il est possible de configurer une disposition de clavier différente pour chaque clavier. Alors même si vous utilisez une disposition clavier différente de celle configuré dans votre OnlyKey ou même une qui n\u0026rsquo;est pas disponible pour votre OnlyKey vous pouvez configurer votre session X pour qu\u0026rsquo;elle s\u0026rsquo;y adapte.\nMéthode manuelle Pour trouver l\u0026rsquo;id de votre clavier virtuel OnlyKey. Commencez par connecter votre OnlyKey et tapez :\nxinput Puis assignez y la disposition clavier correspondant à ce que vous avez configurer dans votre OnlyKey :\n\u0026quot;us\u0026quot; pour une disposition anglais US QWERTY standard \u0026quot;fr\u0026quot; pour une disposition français AZERTY standard et ainsi de suite \u0026hellip;​ En tapant :\nONLYKEY_ID=\u0026#34;L\u0026#39;id que vous venez juste de trouver avec la commande xinput\u0026#34; ONLYKEY_KEYBOARD_LAYOUT=\u0026#34;La disposition clavier configure dans votre OnlyKey\u0026#34; setxkbmap -device $ONLYKEY_ID -layout $ONLYKEY_KEYBOARD_LAYOUT Méthod Plug \u0026amp; Play Commencez par créer le script ci-dessous qui sera appelé à chaque connexion de votre OnlyKey. Nommez le .$HOME/.local/bin/onlykey_set_layout.sh et adaptez les variables ONLYKEY_KEYBOARD_LAYOUT et ONLYKEY_USER a vos besoins.\n\\$HOME/.local/bin/onlykey_set_layout.sh :\n#!/bin/sh # This script assign all your connected OnlyKeys the keyboard layout of your # choice. Without changing the layout of your others keyboards. # # Just set the ONLYKEY_KEYBOARD_LAYOUT just below to the same layout that is # configured in your keys. # And the ONLYKEY_USER which will use it. ONLYKEY_KEYBOARD_LAYOUT=\u0026#39;us\u0026#39; # or \u0026#39;fr\u0026#39; or whatever is configured in your OnlyKey ONLYKEY_USER=\u0026#39;Your UNIX login name\u0026#39; # This look for the first local X display available on the host. # Work in most usual case but can be improved for rare tricky situations. DISPLAY=$(ls /tmp/.X11-unix | grep \u0026#39;^X[0-9][0-9]*$\u0026#39; | tr \u0026#39;X\u0026#39; \u0026#39;:\u0026#39; | head -n 1) # As this script may be trigger by the USB connection event, # wait a little bit for initialisation to be done. sleep 1 # Needed for those vars to be available in the \u0026#39;heredoc\u0026#39; below. export DISPLAY ONLYKEY_KEYBOARD_LAYOUT # Needed to get access rights to the DISPLAY /bin/su $ONLYKEY_USER \u0026lt;\u0026lt; \u0026#39;EOF\u0026#39; EXTRACT_XINPUT_DEVICE_ID=\u0026#39;s/.*\\sid=\\([1-9][0-9]*\\)\\s.*/\\1/1\u0026#39; ONLYKEY_ID_LIST=$(xinput | grep \u0026#34;ONLYKEY\u0026#34; | sed $EXTRACT_XINPUT_DEVICE_ID) for ONLYKEY_ID in $ONLYKEY_ID_LIST do setxkbmap -device $ONLYKEY_ID -layout $ONLYKEY_KEYBOARD_LAYOUT done EOF Puis rendes le exécutable en tapant :\nchmod u+x $HOME/.local/bin/onlykey_set_layout.sh Enfin, ajoutez la ligne ci-dessous à votre fichier /etc/udev/rules.d/49-onlykey.rules pour exécuter le script à chaque connexion de votre OnlyKey.\n/etc/udev/rules.d/49-onlykey.rules :\nACTION==\u0026#34;add\u0026#34;, SUBSYSTEM==\u0026#34;input\u0026#34;, ATTRS{idVendor}==\u0026#34;1d50\u0026#34;, ATTRS{idProduct}==\u0026#34;60fc\u0026#34;, RUN+=\u0026#34;/usr/bin/at -M -f \u0026#39;/home/USER/.local/bin/onlykey_set_layout.sh\u0026#39; now\u0026#34; Et remplacez la chaine USER par votre nom d\u0026rsquo;utilisateur UNIX. Vous pouvez avoir plusieurs lignes de ce type pour chaque utilisateurs.\nRégler l\u0026rsquo;horloge interne de l'OnylKey pour le TOTP Si vous envisagez d\u0026rsquo;utiliser la méthode TOTP comme deuxième facteur avec votre OnlyKey vous devez mettre son horloge interne à l\u0026rsquo;heure à chaque connexion. Pour cela ajoutez la ligne ci-dessous au fichier /etc/udev/rules.d/49-onlykey.rules :\nSUBSYSTEMS==\u0026#34;usb\u0026#34;, ATTRS{idVendor}==\u0026#34;1d50\u0026#34;, ATTRS{idProduct}==\u0026#34;60fc\u0026#34;, RUN+=\u0026#34;/usr/local/bin/onlykey-cli settime\u0026#34; KERNEL==\u0026#34;ttyACM*\u0026#34;, ATTRS{idVendor}==\u0026#34;1d50\u0026#34;, ATTRS{idProduct}==\u0026#34;60fc\u0026#34;, RUN+=\u0026#34;/usr/local/bin/onlykey-cli settime\u0026#34; ","permalink":"/fr/blog/2024-11-15-onlykey-howto/","tags":["gnupg","security tocken"],"title":"Utilisez vos clés OpenPGP avec la clé de sécurité OnlyKey."},{"categories":["Opinion"],"contents":"Alors que nous commencions à peine à voir, dans le capitalisme actuel, une sorte de féodalisme corporatif , il semblerait que cette vision soit déjà obsolète.\nEn effet, Yanis Varoufakis , Cédric Durand , Razmig Keucheyan , ou d\u0026rsquo;autres encore, font une analyse de la situation socio-économique qui fait drôlement écho à celle que nous résumons dans notre livre blanc :\nYour browser does not support the video tag. Notons que si nous commençons à être de plus en plus nombreux1 à voir que système économique actuel nous mène droit dans le mur, avec comme risque sous-jacent : la fin pure et simple de l\u0026rsquo;humanité ; l\u0026rsquo;organisation foopgp est l\u0026rsquo;une des rares à proposer une partie fondamentale et pertinente de la solution .\nNous pourrions citer par exemple : Aurélien Barrau , Jean-Marc Jancovici , Timothée Parrique , Asma Mhalla , etc.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/blog/2024-10-12-technofeudalism/","tags":["governance"],"title":"Si même Yanis le dit ..."},{"categories":["About"],"contents":"Suite de la partie 1 : Quelle utopie nous visons, par quelles voies nous les atteindrons. Comment atteindrons-nous nos objectifs ? Premier objectif : démocratiser OpenPGP De par la portée de ses spécifications, OpenPGP présente une certaine complexité technique.\nCependant, cette complexité est tout à fait résoluble et aurait déjà été surmontée si la technologie ne souffrait pas des freins politico-économiques identifiés précédemment .\nL\u0026rsquo;organisation doit donc se doter d\u0026rsquo;un modèle économique pour financer les développements ou évolutions nécessaires à l\u0026rsquo;adoption en masse des solutions OpenPGP.\nDéjà, nous avons développé des outils et processus permettant, pour une utilisation en masse, de créer des identités numériques OpenPGP et de gérer efficacement et au haut plus haut niveau de sécurité, les clés privées qui leurs sont associées1 :\npgpid-gen génère, manuellement ou à partir d\u0026rsquo;un passeport international2, une identité numérique OpenPGP. Puis imprime en plusieurs fragments l\u0026rsquo;ensemble des clés privés associées. Il utilise eventuellement l\u0026rsquo;algorithme de Shamir3. pgpid-qrscan utilise ces fragments papier pour injecter les clés privés dans une clé de sécurité 4 5. La clé de sécurité peut dès lors faire office non seulement de pièce d\u0026rsquo;identité, mais permet aussi la signature numérique, l\u0026rsquo;authentification numérique, ou la création d\u0026rsquo;espaces numériques parfaitement chiffrés, c\u0026rsquo;est-à-dire vraiment privés. Les fragments sont référencés et stockés dans des coffres dispersés et tenus par des entreprises de confiance ou des amis ou des notaires. Si nécessaire, ils pourront être rassemblés et réutilisés par des outils comme pgpid-qrscan : recréation en cas d\u0026rsquo;incident (eg: blocage complet, destruction, perte non conséquente, etc), création de doubles, décès du titulaire, etc. Le modèle économique de l\u0026rsquo;organisation permettra de faire évoluer et maintenir ces outils et processus.\nIl devra aussi permettre de :\nGénéraliser l\u0026rsquo;usage des serveurs de clés WKD/WKS, en lieu et place des serveurs centralisés ou fournissant des certificats incomplets (par exemple : keys.openpgp.org ). Réaliser des outils permettant de mieux créer et gérer les toiles de confiances OpenPGP. Utiliser des toiles de confiances OpenPGP pour lutter efficacement contre les courriels indésirables - plus efficacement que l\u0026rsquo;ensemble des solutions actuelles. Utiliser des toiles de confiances OpenPGP et des clés de sécurité4 5 pour s\u0026rsquo;authentifier numériquement plus sûrement et plus facilement - sans identifiant / mot de passe. Créer des espaces numériques vraiment privés, accessibles et contrôlables uniquement au travers de clés de sécurité4 5. Généraliser l\u0026rsquo;utilisation de signature électronique OpenPGP. Ce qui permettra aussi de lutter efficacement contre toute pollution informationnelle6 Réaliser les outils permettant d\u0026rsquo;utiliser les clés de sécurité 4 5 comme moyen de paiement numérique. Améliorer ses outils de prise de décision communautaire. Déployer et maintenir des systèmes (laptops, smartphones, etc.) équipés des outils précédents, en veillant à leur empreinte carbone (recyclage, basse consommation, etc.). Deuxième objectif : mettre en place, non seulement un modèle, mais un système économique innovant. L\u0026rsquo;organisation foopgp n\u0026rsquo;a pas de but lucratif. Bien au contraire, l\u0026rsquo;organisation œuvre dans la recherche de l\u0026rsquo;intérêt général.\nAussi les donations mesurées en euros (€) devraient être d\u0026rsquo;abord philanthropiques.\nEnsuite, il semble assez évident que ceux qui donnent plus, aient un peu plus de pouvoir au sein de l\u0026rsquo;organisation. Par contre il semblerait injuste que le rapport entre don et pouvoir soit proportionnel. En effet, cela reproduirait les inégalités que nous cherchons justement à corriger.\nJetons de pouvoir Ɉ L\u0026rsquo;organisation foopgp a résolu ce problème en introduisant des jetons de pouvoir et une fonction logarithmique pour calculer la quantité de ces jetons (Ɉ) en fonction des donations mesurées en euros (€).\nCe mécanisme est décrit dans l\u0026rsquo;article 4 du règlement intérieur7.\nCes jetons de pouvoir seront pris en compte à chaque fois que des décisions devront être prises et que les discussions préalables n\u0026rsquo;ont pu dégager de consensus.\nMais ces jetons de pouvoir pourront aussi être utilisés comme monnaie d\u0026rsquo;échange pour récupérer des produits ou services que l\u0026rsquo;organisation a pu construire grâce aux donations.\nSachant que l\u0026rsquo;organisation produit déjà des services autour des clés de sécurité OpenPGP4 5, recycle déjà des ordinateurs portables usagés, et envisage de proposer des serveurs d\u0026rsquo;auto-hébergement ou des téléphones mobiles \u0026ldquo;dégoogelisés\u0026rdquo;.\nSi l\u0026rsquo;on combine et simplifie les deux diagrammes précédents nous pourrions retrouver un schéma assez simple : un client échange des euros (€) contre, par exemple :\nune clé de sécurité OpenPGP correctement configurée + une initiation à ses usages. À la différence notable que ce client aura cédé de son pouvoir décisionnel au sein de l\u0026rsquo;organisation, aux membres travailleurs qui lui ont vendu le service.\nEt que, étant donné la fonction logarithmique décrite dans l\u0026rsquo;article 4 du règlement intérieur7, le prix en euros (€) des produits ou services sera exponentiel dès lors qu\u0026rsquo;il voudra acheter plusieurs produits ou services\n\u0026hellip; à moins que le client ait lui-même des produits ou services à vendre en jetons (Ɉ) aux autres membres.\nIncitation à la générosité Pour inciter à ne pas attendre que le monde devienne inhabitable pour comprendre que nous avons besoin d\u0026rsquo;un système économique sans privilège de création monétaire, l\u0026rsquo;article 4 du règlement intérieur7 introduit également une notion de pénalité à la pingrerie, autrement dit d\u0026rsquo;incitation à la générosité, appelée stingynalty.\nCe facteur se doit évidemment d\u0026rsquo;être supérieur à celui de l\u0026rsquo;inflation de la monnaie à cours légal dans la zone prépondérante d\u0026rsquo;activité de l\u0026rsquo;organisation.\nAinsi les enthousiastes qui investissent dès maintenant dans notre projet d\u0026rsquo;intérêt général pour un monde plus durable, seront plus récompensés que les indécis qui regardent, ou ne voient même pas, un ancien monde s\u0026rsquo;écrouler.\nDistribution périodique de jetons De par la formule de conversion8 de la monnaie prépondérante à cours légal vers nos jetons de pouvoir, ces jetons (Ɉ) seront de fait bien moins abondants que la monnaie à cours légal. Ce qui risquerait de faire prendre à nos jetons (Ɉ), trop de valeur par rapport à la monnaie à cours légal (€), et de créer une bulle spéculative. Ce qui serait à moyen terme fatal pour le projet.\nPour éviter cela nous avons doté notre système d\u0026rsquo;un mécanisme de création périodique, sans aucun privilège, décrit dans l\u0026rsquo;article 5 du règlement intérieur9 : la quantité de jetons croît donc périodiquement d\u0026rsquo;un pourcentage prédéfini et ajustable si nécessaire. Ce pourcentage est appelé growth. Les jetons créés sont alors distribués équitablement à l\u0026rsquo;ensemble des personnes physiques membres.\nCependant, afin que nos jetons demeurent plus rares et d\u0026rsquo;une valeur légèrement supérieure à celle de la monnaie à cours légal. Il semble important que la croissance prédéfinie de la quantité de jetons demeure inférieure ou égale à l\u0026rsquo;incitation à la générosité. En d\u0026rsquo;autres termes, il semble pertinent de maintenir : growth \u0026lt; stingynalty\nTroisième objectif : gouverner en commun Gouverner, c’est prévoir, choisir et expliquer.\nSeul on va plus vite, ensemble on va plus loin.10\nIl s\u0026rsquo;agit donc de parvenir à combiner ces deux maximes, parfois difficiles à suivre.\nIntelligence collective Le plus difficile n\u0026rsquo;est pas de choisir11, mais de prévoir. C\u0026rsquo;est-à-dire de voir, c\u0026rsquo;est-à-dire d\u0026rsquo;expliquer et d\u0026rsquo;accorder les visions de l\u0026rsquo;ensemble des membres.\nTout problème, une fois rationalisé dans son environnement, ne comporte qu\u0026rsquo;une et une seule \u0026ldquo;meilleure décision\u0026rdquo;.\nToute la difficulté réside dans la rationalisation des problèmes, la mise en accord sur ces rationalisations, et l\u0026rsquo;acceptation que, malgré les efforts, toute rationalisation ne sera jamais qu\u0026rsquo;une approximation imparfaite.\nCela nécessite de la transparence, de l\u0026rsquo;écoute, de la bienveillance et de l\u0026rsquo;intelligence.12\nPour cela nous nous appuyons sur les recherches en intelligence collective13.\nDémocratie Les décisions sont prises dans un premier temps par recherche du consentement, au sein de conseils dont les réunions sont ouvertes à tous les membres.\nLe conseil d\u0026rsquo;administration de l\u0026rsquo;organisation se réunit par visioconférence chaque semaine.\nCertaines décisions ou responsabilités bien définies peuvent être déléguées à certains conseils ou rôles secondaires bien définis.\nSi au sein des conseils des objections perdurent, tout membre dudit conseil pourra demander consultation auprès de l\u0026rsquo;ensemble des membres de l\u0026rsquo;organisation. La consultation prendra en compte les jetons de pouvoir et devra si possible utiliser la méthode de Shulze14, confer article 9 du règlement intérieur15:\nVote polynomial de Condorcet La méthode de Shulze14 est une méthode de Condorcet16 qui permet de résoudre la plupart de ses paradoxes17.\nL\u0026rsquo;organisation s\u0026rsquo;appuiera sur les processus et outils développés par le projet Debian18 pour mener à bien ces consultations.\nÀ la différence du projet Debian, l\u0026rsquo;organisation utilisera cependant les jetons de pouvoirs afin de calculer le nombre de voix de chacun.\nAu commencement, ces jetons servent à récompenser ceux qui donnent des valeurs mesurées en euros (€).\nPuis au fur et à mesure que ces jetons seront utilisés comme monnaie d\u0026rsquo;échange au sein de l\u0026rsquo;organisation, ils récompenseront ceux qui vendent des valeurs mesurées en jetons (Ɉ).\nOr nous n\u0026rsquo;avons pas tous les mêmes capacités à vendre ou à produire des valeurs échangeables.\nD\u0026rsquo;une part du fait de nos inégalités naturelles : intelligence, force, beauté, souplesse, volonté, etc. D\u0026rsquo;autre part du fait des inégalités de propriété des moyens de production.\nSi la voie des communs peut permettre de réduire les inégalités de propriété. C\u0026rsquo;est une voie encore très longue et incertaine. Sur laquelle donc nous ne pouvons compter assurément.\nD\u0026rsquo;autre part toute tentative d\u0026rsquo;effacer les inégalités naturelles semble au mieux vouée à l\u0026rsquo;échec, au pire totalitaire.\nSi il peut sembler logique que ceux qui produisent et vendent davantage, puissent avoir plus de pouvoir décisionnel, il est nécessaire de\nsavoir que la mesure, en jetons (Ɉ) comme en euros (€) dépendra toujours d\u0026rsquo;échelles de valeurs subjectives, imparfaites et incomplètes. d\u0026rsquo;essayer de prendre en compte, l\u0026rsquo;ensemble des inégalités de fait. Pour répondre à ce problème nous avons mis en place le concept de vote polynomial, décrit dans l\u0026rsquo;article 8 du règlement intérieur19.\nDans un souci d\u0026rsquo;équité, l\u0026rsquo;exposant de pouvoir sharp décrit dans l\u0026rsquo;article 8 du règlement intérieur19, devra donc être diminué progressivement au fur et à mesure que les jetons de pouvoir sont utilisés comme monnaie d\u0026rsquo;échange, jusqu\u0026rsquo;à tendre vers zéro si nécessaire pour contrebalancer des inégalités qui perdureraient.\nFinancer les communs Les projets communs ainsi que leur financement en jetons (Ɉ) pourront être discutés en conseils. Ces projets, ainsi que les montants qui leur sont alloués, devront être adoptés par consultation de l\u0026rsquo;ensemble des membres, en utilisant le vote polynomial de Shulze cité précédemment.\nL\u0026rsquo;article 7 du règlement intérieur20 décrit le processus de création de ces contributions.\nCes contributions apparaissant à travers un processus on-ne-peut-plus démocratique, elles sont obligatoires. Les membres qui s\u0026rsquo;y soustraient perdent leur statut de membre actif, autrement dit :\nleur pouvoir décisionnel, c\u0026rsquo;est-à-dire leur droit à s\u0026rsquo;exprimer lors des consultations. leur part de jetons créés par le mécanisme décrit dans l\u0026rsquo;article 5 du règlement intérieur9. leurs éventuels rôles ou bénéfices au sein de l\u0026rsquo;organisation. S\u0026rsquo;y soustraire est cependant obligatoire en cas de décès. Si une activité semble maintenue pour une personne décédée, les responsables ou les bénéficiaires non coopératifs seront trouvés et punis, à minima par la perte de leur statut de membre actif.\nLa première contribution obligatoire qui a été voté, est de 1% des jetons de l\u0026rsquo;exercice 2023, pour financer en jetons (Ɉ) le fonctionnement de l\u0026rsquo;organisation pour l\u0026rsquo;année 2024.\nUne troisième partie du présent livre blanc est en préparation. Elle expliquera l\u0026rsquo;assemblage technologique innovant qui nous permettra d\u0026rsquo;atteindre nos objectifs. Cependant, de par son niveau peu abordable ou les innovations qu\u0026rsquo;elle dévoile, nous prendrons, pour la publier, le temps nécessaire pour satisfaire nos exigences de qualité.\nEn Informatique, la sécurité repose très souvent sur la cryptographie asymétrique, laquelle nécessite une non-divulgation parfaite du contenu de la partie privée d\u0026rsquo;une clé asymétrique (eg: RSA, ed25519, etc.), que l\u0026rsquo;on appelle aussi \u0026ldquo;clé privée\u0026rdquo;.*\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nPasseports conformes aux normes \u0026ldquo;MRP\u0026rdquo; , ICAO 9303 ou ISO/IEC 7501.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nPartage de clé secrète de Shamir / Wikipedia .\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nYubiKey 5 Series \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nNitroKeys \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLutter contre la pollution informationnelle / Jean-Jacques Brucker \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nhttps://foopgp.org/fr/about/rules-of-procedures/#article-4---modalit%C3%A9s-relatives-aux-jetons-de-pouvoir-confer-article-10bis-des-statuts \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nSuivant l\u0026rsquo;article 4 du règlement intérieur , la formule est de la forme : Ɉ = log₂(€+1) / stingynalty\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nhttps://foopgp.org/fr/about/rules-of-procedures/#article-5--%C3%A9mission-universelle-de-nouveaux-jetons-confer-article-10bis-des-statuts \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nIntelligence collective : ensemble, va-t-on toujours plus loin ? / Gaëtan de Lavilléon, Marie Lacroix et Emma Vilarem \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nChoisir ne demande aucune intelligence particulière : Your browser does not support the video tag. \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLes valeurs inscrites dans nos statuts sont justement : la transparence, la proximité (qui induit l\u0026rsquo;écoute), la bienveillance, et la coopération (qui induit l\u0026rsquo;intelligence collective).\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nIntelligence collective / Wikipedia \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nMéthode de Schulze / Wikipedia \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nhttps://foopgp.org/fr/about/rules-of-procedures/#article-9--expression-de-la-volont%C3%A9-des-membres-confer-article-10bis-et-article-11-des-statuts \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nMéthode de Condorcet / Wikipedia \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nParadoxe de Condorcet / Wikipedia \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nInformations sur les votes dans Debian \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nhttps://foopgp.org/fr/about/rules-of-procedures/#article-8--lissage-polynomial-des-quantit%C3%A9es-de-pouvoir-confer-article-10bis-des-statuts \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nhttps://foopgp.org/fr/about/rules-of-procedures/#article-7--contributions-obligatoires-confer-article-10bis-des-statuts \u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/blog/2024-09-01-whitepaper-part2/","tags":["specification","governance","signature","authentication","encryption","identity","pgpid"],"title":"Notre Livre Blanc - Partie 2"},{"categories":["About"],"contents":"Reconstruire l\u0026rsquo;Internet dont nous rêvions Aujourd\u0026rsquo;hui en 2024, le constat est sans appel : l\u0026rsquo;utopie initiale d\u0026rsquo;Internet a été dévoyée1 2.\nPar paresse ou orgueil, nous avons oublié toute frontière entre vie privée et vie publique dans le monde numérique. Nous avons laissé nos pensées se faire analyser par des algorithmes, et aujourd’hui des \u0026ldquo;intelligences artificielles\u0026rdquo;, qui ont pour objectifs de toujours mieux nous cibler, nous influencer, et finalement contrôler nos pensées, afin que nous achetions toujours plus les produits ou opinions des plus offrants, au travers des régies publicitaires telles que Google, Amazon, Facebook, Microsoft.\nLes tentatives de régulation, provenant généralement d\u0026rsquo;une Europe qui ; au mieux par quelques convictions morales d\u0026rsquo;ingénieurs, au pire du fait d\u0026rsquo;une élite méprisant la technologie, n\u0026rsquo;a pas su développer et récolter la manne financière de telles régies ; sont condamnées à n\u0026rsquo;être que des pansements sur une jambe de bois.\nCar si ces régies ont pu développer leur sinistre business, c\u0026rsquo;est justement parce que ce n\u0026rsquo;était que du business. Du sacro-saint business dont la sacro-sainte croissance se nourrit.\nElles n\u0026rsquo;ont rien inventé de nouveau depuis les premiers encarts publicitaires des journaux papiers. Elles ont seulement optimisé les processus, rationalisé les coûts, amélioré le ciblage, afin de produire toujours plus de bénéfices, et de nourrir encore et toujours la croissance.\nA partir de là, nous voyons deux axes pour limiter les dégâts inéluctables de telles entreprises :\nConstruire des espaces de vie privée dans le monde numérique ; privés notamment de ces marchands. Repenser le système économique et monétaire afin de désacraliser la croissance. En poursuivant ces deux axes, la question de leur gouvernance et la notion des communs3 4 surgiront rapidement. Un troisième axe permettra alors de rendre la vision plus complète et cohérente :\nDéployer un système de gouvernance permettant de mieux gérer plus de communs. Construire des espaces de vie numérique privée Dès les premiers réseaux5, des hommes ont pensé et trouvé des solutions pour préserver la confidentialité des échanges au travers de réseaux ouverts.\nAux débuts d\u0026rsquo;Internet, c\u0026rsquo;est Phil Zimmermann6 qui a développé7 un logiciel de référence pour protéger la vie privée, puis ouvert ses spécifications8 afin qu\u0026rsquo;elles deviennent un standard de l\u0026rsquo;IETF9 : OpenPGP10. Depuis de nombreux informaticiens l\u0026rsquo;ont adopté, fait évoluer, ou ont crée des spécifications annexes11. Ainsi OpenPGP est aujourd\u0026rsquo;hui encore l\u0026rsquo;outil le plus abouti pour construire des espaces de vie privée.\nÉvidemment, ce genre de technologie, et OpenPGP en particulier, allait non seulement à l\u0026rsquo;encontre des volontés de surveillance de certains gouvernements, mais aussi et surtout à l\u0026rsquo;encontre du modèle économique des régies publicitaires qui se sont emparées d\u0026rsquo;Internet et ont financé ses \u0026ldquo;évolutions\u0026rdquo;. Aussi elles ont été et sont encore combattues, dénigrées, ou méprisées par les acteurs les plus puissants d\u0026rsquo;Internet.\nLe premier objectif de foopgp est donc de construire pour ses membres des espaces de vie numérique privés, en démocratisant les usages d\u0026rsquo;OpenPGP.\nRepenser le système monétaire actuel Le système monétaire mis en place à la fin de la deuxième guerre mondiale12 a sans doute permis une ère globale de stabilité politique et de croissance économique, qui semble s\u0026rsquo;achever aujourd\u0026rsquo;hui avec les crises climatiques et géopolitiques globales.\nLa croissance est intenable Son équilibre était basé sur la croissance13, qui devait être sans fin, et satisfaire ainsi notre tentation, certains diront notre nature, à en vouloir toujours plus : plus de confort, plus de loisirs, plus de pouvoirs, plus de vitesse, etc.\nSauf que notre bonne vieille planète n\u0026rsquo;est qu\u0026rsquo;un petit caillou dans l\u0026rsquo;espace. Elle est finie et possède des limites14 que nous avons probablement déjà dépassées.\nLes inégalités ne peuvent que s\u0026rsquo;accroître Ceux qui détiennent une licence bancaire15, possèdent un privilège comparable à ceux que la Révolution française a pu abolir.\nCe privilège leur donne, plus qu\u0026rsquo;aux autres, le pouvoir de décider ce qui a de la valeur et ce qui n\u0026rsquo;en a pas. En hiérarchisant selon des critères arbitraires les prêts et projets d\u0026rsquo;accès à la propriété, privée ou publique, immobilière ou entrepreneuriale.\nDe plus, il engendre une distorsion de la valeur monétaire en faveur de ceux dont les projets ont été placés en haut de la hiérarchie par le créateur monétaire16.\nCes deux conséquences se nourrissent l\u0026rsquo;une et l\u0026rsquo;autre et engendrent un cercle vicieux qui accroît les inégalités et qu\u0026rsquo;aucune politique de redistribution n\u0026rsquo;a pu résoudre :\n\u0026ldquo;Ceux à qui on accorde les prêts sont plus riches\u0026rdquo; ↺ \u0026ldquo;On ne prête qu\u0026rsquo;aux riches\u0026rdquo; Le second objectif de foopgp est donc de proposer un système économique plus résilient et plus juste, en abolissant tout privilège de création monétaire.\nRefaire société, gouverner en commun Citation Wikipedia au jour du 15 août 2024 :\nLes communs sont des ressources partagées, gérées et maintenues collectivement par une communauté ; celle-ci établit des règles dans le but de préserver et pérenniser ces ressources3 tout en fournissant aux membres de cette communauté la possibilité et le droit de les utiliser, voire, si la communauté le décide, en octroyant ce droit à tous. Ces ressources peuvent être naturelles (une forêt, une rivière), matérielles (une machine-outil, une maison, une centrale électrique) ou immatérielles (une connaissance , un logiciel).\nLes communs impliquent que la propriété n'est pas conçue comme une appropriation ou une privatisation mais comme un usage 17, ce qui rejoint la notion de possession de Proudhon dans Qu'est-ce que la propriété ? . Hors de la propriété publique et de la propriété privée , les communs forment une troisième voie. Elinor Ostrom a obtenu un Prix Nobel d\u0026rsquo;économie pour ses travaux sur les biens communs . Elle parle de faisceaux de droits pour caractériser la propriété commune18.\nSelon Benjamin Coriat , il ne faut pas confondre un « commun » avec un « bien commun ». Un bien commun est quelque chose qui appartient à tous mais qui n'est pas forcément géré comme un commun ; ainsi, « […] l’atmosphère appartient à tous. C’est un « bien commun », mais pour autant ce n’est pas un commun. Car, malgré les quelques réglementations mises en place, il n’y a pas de gouvernance permettant de gérer les effets de serre et les émissions de CO₂ » 19.\nLes spécifications OpenPGP étant rédigées de façon ouverte et transparente grâce à l\u0026rsquo;IETF9, ce sont aussi des communs.\nEn appliquant une gouvernance inspirée de celles du logiciel libre20, notamment Debian21, le système monétaire proposé par foopgp sera aussi un commun.\nEt nous voulons que la plupart des autres ressources produites ou gérées par la structure foopgp puissent être des communs à part entière.\nLe troisième objectif de foopgp est donc de proposer un système de gouvernance plus juste et respectueux envers l\u0026rsquo;ensemble des sensibilités et singularités des membres, en s\u0026rsquo;inspirant de normes et lois qui se sont naturellement imposées dans les communautés du logiciel libre.\nEn essayant d\u0026rsquo;affaiblir l\u0026rsquo;individualisme, la surconsommation, et les violences qui en découlent ; le projet foopgp porte donc l\u0026rsquo;espoir de faire prospérer la cohésion sociale, le bonheur de vivre et la paix.\nPartie suivante : Comment, fonctionnellement, nous atteindrons nos objectifs. Qu’est devenue l’utopie d’Internet ? / Anne Bellon \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nInternet développe une sous-culture de la médiocrité / Bruno Walther \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nlescommuns.org \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLes communs / Wikipedia \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nTélégraphe de Chappe / Wikipedia \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nPhilip Zimmermann / Wikipedia \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nPGP / Wikipedia \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nRFC2440 (en) \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nIETF about (en) \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nOpenPGP Working Group (en)/ IETF \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nStandards OpenPGP (en)/ openpgp.org \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nBretton Woods (en)/ Wikipedia \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nImpact des inégalités sur la croissance / Guillaume Allègre \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLimites planétaires / Wikipedia \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLicence bancaire / Wikipedia \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nEffet Cantillon (en) / Adam Smith Institut \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLes communs, quelles définitions, quels enjeux ? / Geneviève Azam \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nElinor Ostrom et les faisceaux de droits : l’ouverture d’un nouvel espace pour penser la propriété commune / Fabienne Orsi \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLe retour des communs, la crise de l'idéologie propriétaire, sous la direction de Benjamin Coriat \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nIntroduction aux modèles économiques et gouvernances des logiciels libres / G. Le Bouder, R.Semeteys \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nConstitution for the Debian Project (v1.9) (en) \u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/blog/2024-08-15-whitepaper-part1/","tags":["specification","governance"],"title":"Notre Livre Blanc - Partie 1"},{"categories":["Opinion"],"contents":"De nombreux projets de logiciel libre bénéficient du programme de financement européen Next Generation Internet (NGI)*. Or celui-ci est en danger. Pour prendre conscience de l\u0026rsquo;effet éventuel, il suffit de se rappeler que ce programme est associé à de nombreux projets communautaires et relié à des éléments libres essentiels.\n*: Ce n\u0026rsquo;est le cas de foopgp.org, et bien que nous puissions penser que le problème est n\u0026rsquo;est pas seulement politique, mais aussi technico-économique, nous soutenons le message, et le \u0026ldquo;signons\u0026rdquo; en le republiant sur notre blog.\nLettre ouverte à la Commission Européenne Depuis 2020, les programmes Next Generation Internet (NGI ), sous-branche du programme Horizon Europe de la Commission Européenne financent en cascade (notamment, via les appels de NLnet) le logiciel libre en Europe. Cette année, à la lecture du brouillon du Programme de Travail de Horizon Europe détaillant les programmes de financement de la commission européenne pour 2025, nous nous apercevons que les programmes Next Generation Internet ne sont plus mentionnés dans le Cluster 4.\nLes programmes NGI ont démontré leur force et leur importance dans le soutien à l\u0026rsquo;infrastructure logicielle européenne, formant un instrument générique de financement des communs numériques qui doivent être rendus accessibles dans la durée. Nous sommes dans l\u0026rsquo;incompréhension face à cette transformation, d\u0026rsquo;autant plus que le fonctionnement de NGI est efficace et économique puisqu\u0026rsquo;il soutient l\u0026rsquo;ensemble des projets de logiciel libre des plus petites initiatives aux mieux assises. La diversité de cet écosystème fait la grande force de l\u0026rsquo;innovation technologique européenne et le maintien de l\u0026rsquo;initiative NGI pour former un soutien structurel à ces projets logiciels, qui sont au cœur de l\u0026rsquo;innovation mondiale, permet de garantir la souveraineté d\u0026rsquo;une infrastructure européenne. Contrairement à la perception courante, les innovations techniques sont issues des communautés de programmeurs européens plutôt que nord-américains, et le plus souvent issues de structures de taille réduite.\nLe Cluster 4 allouait 27.00 millions d\u0026rsquo;euros au service de :\n\u0026ldquo;Human centric Internet aligned with values and principles commonly shared in Europe\u0026rdquo; ; \u0026ldquo;A flourishing internet, based on common building blocks created within NGI, that enables better control of our digital life\u0026rdquo; ; \u0026ldquo;A structured eco-system of talented contributors driving the creation of new internet commons and the evolution of existing internet commons\u0026rdquo;. Au nom de ces enjeux, ce sont plus de 500 projets qui ont reçu un financement NGI0 dans les 5 premières années d\u0026rsquo;exercice, ainsi que plus de 18 organisations collaborant à faire vivre ces consortia européens.\nNGI contribue à un vaste écosystème puisque la plupart du budget est dévolu au financement de tierces parties par le biais des appels ouverts (open calls). Ils structurent des communs qui recouvrent l\u0026rsquo;ensemble de l\u0026rsquo;Internet, du matériel aux applications d\u0026rsquo;intégration verticale en passant par la virtualisation, les protocoles, les systèmes d\u0026rsquo;exploitation, les identités électroniques ou la supervision du trafic de données. Ce financement des tierces parties n\u0026rsquo;est pas renouvelé dans le programme actuel, ce qui laissera de nombreux projets sans ressources adéquates pour la recherche et l\u0026rsquo;innovation en Europe.\nPar ailleurs, NGI permet des échanges et des collaborations à travers tous les pays de la zone euro et aussi avec les widening countries 1, ce qui est actuellement une réussite tout autant qu’un progrès en cours, comme le fut le programme Erasmus avant nous. NGI est aussi une initiative qui participe à l’ouverture et à l’entretien de relation sur un temps plus long que les financements de projets. NGI encourage également à l\u0026rsquo;implémentation des projets financés par le biais de pilotes, et soutient la collaboration au sein des initiatives, ainsi que l\u0026rsquo;identification et la réutilisation d\u0026rsquo;éléments communs au travers des projets, l\u0026rsquo;interopérabilité notamment des systèmes d\u0026rsquo;identification, et la mise en place de modèles de développement intégrant les autres sources de financements aux différentes échelles en Europe.\nAlors que les États-Unis d’Amérique, la Chine ou la Russie déploient des moyens publics et privés colossaux pour développer des logiciels et infrastructures captant massivement les données des consommateurs, l’Union Européenne ne peut pas se permettre ce renoncement. Les logiciels libres et open source tels que soutenus par les projets NGI depuis 2020 sont, par construction, à l’opposée des potentiels vecteurs d’ingérence étrangère. Ils permettent de conserver localement les données et de favoriser une économie et des savoirs-faire à l’échelle communautaire, tout en permettant à la fois une collaboration internationale. Ceci est d’autant plus indispensable dans le contexte géopolitique que nous connaissons actuellement. L’enjeu de la souveraineté technologique y est prépondérant et le logiciel libre permet d’y répondre sans renier la nécessité d’œuvrer pour la paix et la citoyenneté dans l’ensemble du monde numérique.\nDans ces perspectives, nous vous demandons urgemment de réclamer la préservation du programme NGI dans le programme de financement 2025.\nTels que définis par Horizon Europe, les États Membres élargis sont la Bulgarie, la Croatie, Chypre, la République Tchèque, l’Estonie, la Grèce, la Hongrie, la Lettonie, la Lituanie, Malte, la Pologne, le Portugal, la Roumanie, la Slovaquie et la Slovénie. Les pays associés élargies (sous conditions d’un accord d’association) l’Albanie, l’Arménie, la Bosnie-Herzégovine, les Îles Féroé, la Géorgie, le Kosovo, la Moldavie, le Monténégro, le Maroc, la Macédoine du Nord, la Serbie, la Tunisie, la Turquie et l’Ukraine. Les régions élargies d’outre-mer sont: la Guadeloupe, la Guyane Française, la Martinique, La Réunion, Mayotte, Saint-Martin, Les Açores, Madère, les Îles Canaries.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/blog/2024-08-02-the-european-union-must-keep-funding-free-software/","tags":["NGI","Governance"],"title":"L'Union Européenne doit poursuivre le financement des logiciels libres"},{"categories":["study"],"contents":"Notre expérience de stage dans l\u0026rsquo;association Foopgp Nous sommes deux étudiants en première année de BTS SIO (Services Informatiques aux Organisations) à Gap. Dans le cadre de notre formation, un stage est obligatoire pour passer en deuxième année. Nous avons eu la chance de réaliser ce stage au sein de l\u0026rsquo;association Foopgp, du 27 mai 2024 au 5 juillet 2024. Voici un retour détaillé et enrichissant sur notre expérience formatrice :\nCompétences et technologies manipulées Pendant notre stage, nous avons travaillé avec diverses technologies et outils, ce qui a grandement enrichi notre apprentissage et notre expérience pratique :\nOpenPGP Pgpid Clé de sécurité YubiKey Nitrokey Couriel Evolution K9mail GitHub Hugo Codeberg Dolibarr Résumé Avis personnel OpenPGP OpenPGP est un format de cryptographie qui sert, par exemple, au chiffrement, à l\u0026rsquo;authentification et a la signature du courrier électronique.\nClé publique Fonction :\nLa clé publique est utilisée pour chiffrer les messages destinés à un destinataire particulier. Elle peut également être utilisée pour vérifier la signature numérique apposée par le détenteur de la clé privée correspondante. Distribution :\nLa clé publique est partagée librement avec quiconque souhaite envoyer un message chiffré au détenteur de la clé privée. Elle peut être publiée sur des serveurs de clés publics ou envoyée directement aux correspondants. Sécurité :\nLa clé publique ne permet pas de déchiffrer les messages. Seule la clé privée correspondante peut effectuer cette tâche. Permet de créer des signatures numériques quasiment infalsifiables et d\u0026rsquo;éviter l\u0026rsquo;utilisation de mots de passe pour l\u0026rsquo;authentification. Clé privée Fonction :\nLa clé privée est utilisée pour déchiffrer les messages chiffrés avec la clé publique correspondante. Elle est également utilisée pour signer numériquement les messages, prouvant ainsi l\u0026rsquo;identité de l\u0026rsquo;expéditeur et l\u0026rsquo;intégrité du message. Confidentialité :\nLa clé privée doit être strictement protégée et ne doit pas être partagée. Elle est souvent protégée par un mot de passe pour ajouter une couche supplémentaire de sécurité. Sécurité :\nSi la clé privée est compromise, un attaquant pourrait déchiffrer les messages destinés au détenteur de la clé privée et signer des messages en se faisant passer pour lui. Il est crucial de stocker la clé privée dans un endroit sécurisé et de la sauvegarder de manière appropriée. Pour en savoir plus sur Openpgp Pgpid PgpId est une suite logiciel qui permet de créer, sauvegarder sur un support physique et récupérer des identités numériques uniques basées sur le standard OpenPGP (Pretty Good Privacy), lesquelles peuvent être utilisées pour :\nSigner vos données numériques. Chiffrer et déchiffrer vos données et communications numériques. Vous authentifier auprès de services numériques. Et bientôt voter et payer (fonctionnalités en cours de développement par certaines communautés des logiciels libres, dont l\u0026rsquo;association foopgp). En résumé, pgpid aide à gérer et utiliser les clés PGP pour des utilisations numériques sécurisées.\nDans l\u0026rsquo;association, Jean-Jacques a mis en place ce système innovant. Il fonctionne de la manière suivante : lorsque vous créez votre identité numérique , celle-ci est repartie en trois QR codes distincts. Ces QR codes sont ensuite imprimés pour une utilisation pratique.\nPour accéder à votre identité numérique, il suffit de scanner ces trois QR codes. Une fois scannés, les principales clés privées associées à votre certificat OpenPGP sont reconstruites. Elle peuvent alors être poussées dans des clés de sécurité comme la YubiKey ou la Nitrokey .\nCes clés de sécurité permettent d\u0026rsquo;utiliser les clés privés de votre identité numérique , sans permettre aucun accès direct à ces dernières. À chaque utilisation, un code PIN peut-être demandé. Au bout de 3 erreurs successives de code PIN, la clé se bloque. Elle peut être débloquée avec un autre code (PUK), sinon elle efface ses données. Il faudra alors la réinitialiser pour recommencer le scan des QR codes.\nVoici un exemple des QR codes utilisés :\nYubiKey La YubiKey est un dispositif de sécurité matériel utilisé pour protéger l\u0026rsquo;accès aux comptes en ligne. Nous avons appris à l\u0026rsquo;utiliser pour améliorer la sécurité de nos authentifications . Cet outil nous a montré l\u0026rsquo;importance de la sécurité matérielle dans la protection des données sensibles.\nNitrokey Les NitroKeys offrent une solution complète et sécurisée pour protéger les identité numérique et les données sensibles. Leur utilisation permet de renforcer significativement la sécurité des systèmes et des informations, tout en restant pratiques et accessibles pour les utilisateurs. Elles sont presque identiques à la YubiKey .\nEvolution Beaucoup de ces applications et outils nous étaient inconnus, tels que Evolution . Ce stage nous a permis d\u0026rsquo;acquérir de nouvelles compétences et d\u0026rsquo;enrichir nos connaissances, notamment sur les clés PGP, que nous avons trouvées particulièrement intéressantes.\nCi-dessous, une image d\u0026rsquo;Evolution avec la signature PGP et le chiffrement PGP entourés en rouge : On les sélectionne en ouvrant les options et en cochant \u0026lsquo;Signer avec PGP\u0026rsquo; et \u0026lsquo;Chiffrer avec PGP\u0026rsquo;. K9 Mail K-9 Mail est un client de messagerie open source pour Android, reconnu pour ses fonctionnalités avancées et sa confidentialité des utilisateurs. Créé par Jesse Vincent, l\u0026rsquo;application a été intégrée à la famille Thunderbird en 2022. Cette collaboration vise à améliorer K9mail avec des fonctionnalités comme une meilleure configuration des comptes, la gestion des dossiers et la synchronisation avec Thunderbird sur bureau. K9mail sera progressivement renommé Thunderbird sur Android​ (K-9 Mail)​​ (The Thunderbird Blog)​​ (K-9 Mail)​.\nPour plus de détails, visitez le site officiel de K-9 Mail et le blog de Thunderbird .\nDans l\u0026rsquo;application, on va utiliser dans cet exemple une YubiKey. Tout d\u0026rsquo;abord, il faut cliquer sur \u0026ldquo;Utiliser un jeton de sécurité\u0026rdquo;. Puis, quand la clé est scannée, elle sera vérifiée.\nPour envoyer un mail chiffré il suffit de cliquer sur le cadenas en haut à droite.\nEt pour lire les mails chiffrés via OpenKeychain un message apparaîtra :\nGitHub Sur GitHub , nous avons hébergé notre portfolio (portfiolo de Mael , portfolio de Evyn ) et ajouté nos clés PGP et SSH. Cela nous a permis de comprendre l\u0026rsquo;importance de la gestion de versions et de la sécurité des clés. GitHub nous a également aidés à collaborer efficacement sur divers projets.\nCodeberg Nous avons utilisé Codeberg de manière préliminaire, car l\u0026rsquo;association est en train de migrer vers ce système de gestion de code source. Nous y avons également ajouté nos clés PGP et SSH. Codeberg, étant une alternative open source à GitHub, nous a donné un aperçu des différentes plateformes de gestion de code source.\nVoici un exemple de notre configuration : Hugo Le site web de l\u0026rsquo;association est développé avec Hugo , un générateur de sites statiques en Go. Nous avons appris ce langage pour modifier, ajouter ou supprimer divers éléments sur le site. Hugo nous a permis de créer des pages web statiques, tout en nous initiant aux bases de la programmation en Go.\nShell L\u0026rsquo;association utilise principalement GNU/Linux, ce qui nous a amenés à utiliser fréquemment le shell. Nous avons renforcé nos compétences en scripting, acquises lors de nos cours de BTS. Le shell s\u0026rsquo;est avéré être un outil puissant pour automatiser les tâches répétitives et gérer efficacement les systèmes Linux.\nEn savoir plus sur le shell .\nDolibarr Dolibarr est un logiciel de gestion open source idéal pour les associations comme pour les PME. Il permet de gérer les adhésions, les membres, les dons, les événements et la comptabilité de manière simple et efficace. Travailler avec Dolibarr nous a donné une perspective précieuse sur la gestion d\u0026rsquo;entreprise et l\u0026rsquo;importance des outils de gestion intégrés.\nRésumé Ce début de stage a été une expérience extrêmement enrichissante pour nous. Nous avons non seulement appris à utiliser de nouveaux outils et technologies, mais nous avons également acquis une meilleure compréhension des pratiques de sécurité et de gestion de projets dans un environnement professionnel.\nAvis personnel Maël : Les clés PGP, qui m\u0026rsquo;étaient inconnues auparavant, m\u0026rsquo;ont beaucoup plu car elles renforcent la sécurité tout en la simplifiant. Le langage Go m\u0026rsquo;a aussi passionné par sa puissance et sa simplicité. Ce stage m\u0026rsquo;a offert une précieuse expérience pratique et m\u0026rsquo;a motivé à explorer davantage ces technologies.\nEvyn : Pendant ce stage, j\u0026rsquo;ai été impliqué dans diverses missions, comme la modification du site web en utilisant des langages de programmation que je ne connaissais pas auparavant, et aussi la familiarisation avec les clés PGP et tout ce qui y est lié, comme les mails chiffrés, le tout en utilisant Debian, un système d\u0026rsquo;exploitation que j\u0026rsquo;avais très peu utilisé. Ce stage m\u0026rsquo;a permis de développer des compétences essentielles et de mieux comprendre les enjeux de la sécurité informatique.\nSi vous souhaitez consulter notre second rapport de stage, cliquez sur le lien suivant : stage 2 ","permalink":"/fr/blog/2024-06-06-experience-rapport-de-stage/","tags":["Internship","Experience"],"title":"Résumé de stage"},{"categories":["about"],"contents":"(Ancien) règlement intérieur foopgp Ce règlement intérieur a pour objectif de préciser les statuts de l\u0026rsquo;association foopgp, dont l\u0026rsquo;objet est de rassembler toutes les personnes physiques ou morales qui utilisent ou développent des solutions technologiques basées sur les normes OpenPGP.\nLe règlement intérieur en vigueur devrait être remis à chaque nouvel adhérent, et il doit être consultable sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-of-procedures/ .\nArticle 1er – Composition L\u0026rsquo;association foopgp est composée de membres : personnes physiques, et de partenaires : personnes morales.\nArticle 2 - Modification du règlement intérieur Le règlement intérieur de l’association foopgp est établi par le conseil d’administration conformément à l\u0026rsquo;article 15 des statuts .\nIl peut être modifié par le conseil d’administration sur proposition d\u0026rsquo;un de ses membres.\nToute modification doit se faire approuver par l\u0026rsquo;assemblée générale.\nArticle 3 – Cotisation Pour chaque exercice, les membres actifs doivent s\u0026rsquo;acquitter d\u0026rsquo;une cotisation, notée fee.\nLe montant et les natures de celle-ci sont fixés par le Conseil d\u0026rsquo;Administration qui soumet chaque changement à l\u0026rsquo;approbation de l’Assemblée Générale.\nToute cotisation versée à l\u0026rsquo;association est définitivement acquise. Aucun remboursement de cotisation ne peut être exigé en cas de démission, d\u0026rsquo;exclusion ou de décès d\u0026rsquo;un membre en cours d’année.\nLe montant de la cotisation fee défini lors de la dernière assemblée générale est consultable sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Le versement de la cotisation doit être effectué de préférence par virement (IBAN : FR76 1027 8079 9800 0208 2780 107) ou par chèque à l\u0026rsquo;ordre de l\u0026rsquo;association foopgp.\nArticle 4 - Modalités relatives aux jetons de pouvoir (confer article 10bis des Statuts) Tous les dons à l\u0026rsquo;association reçus à titre individuel (personne physique) donnent droit à des jetons de pouvoir, suivant la formule :\nj = log₂(d+1) / stingynalty\nAvec :\nj : la quantité de jetons d : le montant total du don en équivalent euro (€) stingynalty : le facteur d\u0026rsquo;inflation log₂() : la fonction logarithme binaire. C\u0026rsquo;est à dire de base 2 : log₂(x) = ln(x) / ln(2) où stingynalty croît automatiquement de 5 pour mille (5 ‰) le premier jour de chaque mois, à 0h00 :\nstingynaltyₙ = stingynaltyₙ₋₁ + 0.005 × stingynaltyₙ₋₁\nEn cas d\u0026rsquo;inflation significative de la zone euro, un ajustement du paramètre stingynalty pourra être determiné par le conseil d\u0026rsquo;administration puis adopté en assemblée générale.\nExplication : en choisissant un facteur d\u0026rsquo;inflation supérieur à ceux calculés en zone euro (eg: eurostat) nous pouvons créer un léger « Fear Of Missing Opportunity ».\nChaque don étant compté à titre individuel, tout nouveau don donne droit à de nouveaux jetons suivant la formule :\njₙ = log₂( (dₙ+dₜ) + 1 ) / stingynaltyₙ – jₜ\nAvec :\njₙ : la quantité de jetons supplémentaires jₜ : la quantité totale de jetons issue des dons précédents (jₜ = jₙ₋₁ + jₙ₋₂ + \u0026hellip; + j₀) dₙ : le montant du nième don dₜ : le montant total des dons précédents (dₜ = dₙ₋₁ + dₙ₋₂ + \u0026hellip; + d₀ ) stingynaltyₙ : le facteur d\u0026rsquo;inflation à la période du nième don Note : jₙ ne peut être négatif. Si le nième don ne comble pas la croissance du facteur d\u0026rsquo;inflation, alors le don est compté mais jₙ est nul.\nLes tableaux de correspondance entre dons et jetons, en fonction des facteurs d\u0026rsquo;inflations stingynalty actuels et à venir, sont consultables sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Article 5 – Émission universelle de nouveaux jetons (confer article 10bis des Statuts) Mensuellement, de nouveaux jetons sont émis à quantité égale pour chaque personne physique membre active de l’association. Ce mécanisme permet d’appliquer la théorie relative de la monnaie de Stéphane Laborde .\nAinsi, pour chacune de ces périodes mensuelles, chaque membre actif de l’association, c’est-à-dire à jour de sa cotisation et de ses contributions obligatoires (cf. articles 3 et 7) pourra émettre, avant la fin de la dite période, une quantité de nouveaux jetons égales à :\njₛ= growth × Mₜ ∕ N\nAvec :\njₛ : la quantité de jetons supplémentaires issue de cette émission growth : un taux de croissance de la masse totale de l’ensemble des jetons Mₜ : la masse totale de l’ensemble des jetons (avant cette émission universelle) N : Le nombre de membres actifs sur la période Le taux de croissance growth adopté lors de la dernière assemblée générale sont consultables sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Article 6 – Portefeuilles Tout jeton doit être associé à un et un seul portefeuille.\nToute personne physique membre de l’association doit posséder au moins un portefeuille individuel.\nToute personne physique peut posséder des portefeuilles secondaires, éventuellement partageables, en proportion égale, avec d’autres personnes physiques.\nCes portefeuilles sont notés « W ».\nArticle 7 – Contributions obligatoires (confer article 10bis des Statuts) Des contributions obligatoires en jetons pourront être déterminé par le conseil d\u0026rsquo;administration puis adopté en assemblée générale.\nCes contributions correspondront à un pourcentage de la valeur de chaque portefeuille à la fin de la periode précédente. Elles sont révisables en assemblée générale.\nLa somme de ces contributions est appelée impôt associatif et son taux est noté « taxe ».\nAussi, elles pourront être réglées en une seule fois, au bénéfice de l\u0026rsquo;association.\nTant que ces contributions ne seront pas réglés, les membres associés à ces portefeuilles n’ont pas accès aux droits des membres actifs.\nLe taux total de contributions taxe et sa periodicité taxep définis lors de la dernière assemblée générale sont consultables sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Article 8 – Lissage polynomial des quantitées de pouvoir (confer article 10bis des Statuts) Durant chaque exercice, les membres actifs pourront exprimer leur voix pour valider, ou non, certaines résolutions prises par le conseil d’administration.\nLe nombre de voix de chaque membre actif dépend de la quantité de jetons de pouvoir en leur possession, suivant la formule :\nv = j^sharp = jˢʰᵃʳᵖ\nAvec :\nv : le nombre de voix j : la quantité de jetons enregistrés en leur possession au moment du vote sharp : l’exposant de pouvoir, compris entre 0 et 1 : 0 ≤ p ≤ 1 Explication :\nsharp=0 équivaut à « Une personne, une voix » sharp=1 équivaut à « Un jeton, une voix » sharp=1/2=0.5 équivaut à un vote quadratique où v est la racine carré de j (v=√j) L\u0026rsquo;exposant de pouvoir sharp défini lors de la dernière assemblée générale est consultable sur le site Web de l\u0026rsquo;association : https://foopgp.org/fr/about/rules-parameters/ Article 9 – Expression de la volonté des membres (confer article 10bis et article 11 des Statuts) À chaque assemblée générale, les membres actifs pourront exprimer leurs voix pour redéfinir, parmi des valeurs proposées par le conseil d’administration certains paramètres du présent règlement intérieur :\nle montant de la cotisation « fee » (confer article 3 du présent règlement intérieur) le facteur d\u0026rsquo;inflation stingynalty (confer article 4 du présent règlement intérieur) le taux de croissance « growth » ainsi que sa périodicité « growthp » (confer article 5 du présent règlement intérieur) les taux de contributions obligatoires et donc le taux d\u0026rsquo;impôt associatif « taxe » ainsi que sa périodicité « taxep » (confer article 7 du présent règlement intérieur) l’exposant de pouvoir « sharp » (confer article 8 du présent règlement intérieur) Cette expression pourra utiliser la méthode de Schulze .\nExplication : la méthode de Schulze est une méthode de Condorcet . L\u0026rsquo;inspiration vient ici de la communauté Debian .\n*Adopté en assemblée générale extraordinaire du dimanche 24 mars 2024 à Pelleautier .\nModifié et remplacé en assemblée générale extraordinaire le dimanche 20 juillet 2025 à Pelleautier .\n","permalink":"/fr/about/rules-of-procedures-old/","tags":null,"title":"(Ancien) règlement intérieur foopgp"},{"categories":null,"contents":"Le week-end du 23\u0026amp;24 mars 2024, les membres de l\u0026rsquo;association foopgp sont invités à Pelleautier et en visio :\nSamedi 23 mars : Partage de connaissances et d\u0026rsquo;intelligences (\u0026ldquo;master classes\u0026rdquo;) Détails et programme du samedi : https://foopgp.org/event/2024-03-23-knowledge-sharing/ Dimanche 24 mars à 14h30 : Assemblée Générale Au siège social :\n75, Impasse Serre des Isnards 05000 Pelleautier. L’assemblée générale pourra être accessible en visioconférence sur notre salon habituel , sans garanties.\nOrdre du jour Approbation des changements (mineurs) du texte des statuts. Approbation des changements du texte du règlement intérieur. Bilan moral. Bilan financier. Changement des paramètres suivants : taux et périodicité du « dividende universel » (growth, growthp). contribution en jetons pour le fonctionnement de l’association. contribution de solidarité en jeton (« revenu de base »). périodicité de ces contributions (taxep). exposant de lissage du pouvoir (sharp). Étant donné nos faibles ressources actuelles, ces décisions ne pourront être prises en utilisant la méthode de Shulze .\nAussi elles ne pourront être prises que par référendum.\nReferendums Voici donc les choix proposés par le conseil d’administration :\ncotisation pour le prochain exercice (à partir d\u0026rsquo;avril 2024) :\npas de changement. (1€) « dividende universel » :\npas de changement. (growth=0%) quatre pour mille, par mois. (growth=4‰, growthp=1 mois) contribution au fonctionnement de l’association :\npas de changement. (0%) 1 pour cent de la quantité de chaque portefeuille au jour de l’assemblée générale. contribution de solidarité :\npas de changement. (0%) 1 pour cent de la quantité de chaque portefeuille au jour de l’assemblée générale. périodicité de ces contributions :\npas de changement. (taxep égale donc environ un an) lissage du pouvoir :\npas de changement. (exposant sharp=1) un début de lissage : sharp=3/4. Si vous avez du mal à comprendre la réalité de ces paramètres et les enjeux de ces choix, nous vous invitons à participer aux échanges qui auront lieu la veille, samedi 23 mars .\nConditions Nous vous rappelons que conformément aux dispositions des statuts et du règlement intérieur :\nLe droit de participer à l’assemblée est réservée aux seuls membres à jour de leur cotisation à la date du 23 mars 2024 (pour l\u0026rsquo;exercice précédent, c\u0026rsquo;est à dire de 2023). Votre présence à cette assemblée générale est nécessaire. En cas d’empêchement, vous avez la possibilité de vous faire représenter par un mandataire de votre choix, muni d’un pouvoir régulier. Tous les pouvoirs sont obligatoirement envoyés au siège social de l’association au plus tard le 23 mars 2024. Informations necessaires Pour préparer l\u0026rsquo;assemblée générale, voici les informations nécessaires :\nLes projets de modification des statuts et du règlement intérieur :\nhttps://foopgp.org/fr/about/2024-03-24-status.diff.html https://foopgp.org/fr/about/2024-03-24-rules-of-procedures.diff.html Les projets de statuts et règlement intérieur modifiés :\nhttps://foopgp.org/fr/about/status-wip/ https://foopgp.org/fr/about/rules-of-procedures-wip/ Nous vous rappelons que le nombre de voix de chacun est aujourd’hui égal à ses jetons de pouvoir. Vous devez connaître les vôtres (cf. article 4 du règlement intérieur ), calculés en fonction de vos dons : j = log₂(d+1). Pour vous aider, un tableau est disponible sur notre site web : https://foopgp.org/fr/about/rules-parameters/ Un récapitulatif du nombre de voix de chacun sera fourni au plus tard le jour de l\u0026rsquo;assemblée générale.\nProcès-verbal de l\u0026rsquo;assemblée générale ordinaire Procès-verbal de l\u0026rsquo;assemblée générale extraordinaire ","permalink":"/fr/event/2024-03-24-ag/","tags":null,"title":"Assemblée Générale"},{"categories":["about"],"contents":"(Anciens) statuts de l\u0026rsquo;association déclarée en France par application de la loi du 1er juillet 1901 et du décret du 16 août 1901. Article PREMIER - NOM Il est fondé entre les adhérents aux présents statuts une association régie par la loi du 1er juillet 1901 et le décret du 16 août 1901, ayant pour titre : Friends of OpenPGP (foopgp)\nArticle 2 - BUT OBJET Cette association a pour objet de rassembler toutes les personnes physiques ou morales qui utilisent ou développent des solutions technologiques basées sur les normes OpenPGP.\nLes valeurs portées par l\u0026rsquo;association sont la Transparence, la Bienveillance, la Coopération, et la Proximité.\nLes objectifs de l\u0026rsquo;association sont de promouvoir et de faciliter l’adoption de ces technologies et de soutenir leur croissance et leur utilisation.\nPour atteindre ces objectifs, l’association organise des événements, des ateliers et des formations. Elle informe sur les évolutions technologiques liées à OpenPGP à travers tous les médias (presse écrite ou parlée, Internet, réseaux sociaux, etc) et par tous les moyens (web serveurs, blogs, listes de diffusion, etc).\nL\u0026rsquo;association peut également héberger et promouvoir le développement collaboratif de projets logiciels liés à OpenPGP.\nL\u0026rsquo;association peut, de façon habituelle, offrir des produits à la vente, les vendre ou fournir des services se rapportant aux normes OpenPGP.\nL\u0026rsquo;association peut récolter des dons et accompagner financièrement les projets tiers qui concourent au développement des solutions technologiques basées sur les normes OpenPGP.\nArticle 3 - SIÈGE SOCIAL Le siège social est fixé au\n75, Impasse Serre des Isnards. 05000 Pelleautier\nIl pourra être transféré par simple décision du conseil d\u0026rsquo;administration.\nArticle 4 - DURÉE La durée de l’association est illimitée.\nArticle 5 - COMPOSITION L\u0026rsquo;association se compose de membres : personnes physiques, et de partenaires : personnes morales.\nArticle 6 - ADMISSION Pour faire partie de l\u0026rsquo;association, il faut être agréé par le conseil d’administration, qui statue, lors de chacune de ses réunions, sur les demandes d\u0026rsquo;admission présentées.\nArticle 7 - MEMBRES – COTISATIONS Sont membres actifs ceux qui sont à jour du paiement des sommes fixées par le règlement intérieur , telle la cotisation.\nSeuls les membres actifs peuvent :\nexprimer leurs voix recevoir des jetons de pouvoir supplémentaires (confer article 10bis) Article 8 - RADIATIONS La qualité de membre se perd par :\nLa démission ; La radiation prononcée par le conseil d\u0026rsquo;administration pour motif grave, l\u0026rsquo;intéressé ayant été invité par tout moyen à fournir des explications devant le bureau et/ou par écrit. La qualité de membre actif se perd par :\nLe décès ; Le non-payement des sommes fixées par le règlement intérieur , telle la cotisation. Article 9 - AFFILIATION La présente association peut adhérer à d’autres associations, unions ou regroupements par décision du conseil d’administration.\nArticle 10 - RESSOURCES Les ressources de l\u0026rsquo;association comprennent :\nLe montant des cotisations; Les subventions de l\u0026rsquo;Union Européenne, l\u0026rsquo;État, les départements et les communes. Toutes les ressources autorisées par les lois et règlements en vigueur, notamment les dons, libéralités et les financements participatifs. Les produits de ses activités économiques. Article 10 BIS – SUR LES SUFFRAGES LORS DES ASSEMBLÉE GÉNÉRALES LES JETONS DE POUVOIR.\nÀ chaque donation de membre, des jetons de pouvoir individualisés et personnels sont offerts pour participer aux votes sur les décisions.\nCe mécanisme vise à récompenser les donateurs, tout en offrant une source de financement supplémentaire à l\u0026rsquo;association.\nLe conseil d\u0026rsquo;administration détermine au sein d\u0026rsquo;un règlement intérieur ad hoc les modalités de l\u0026rsquo;offre aux membres des jetons de pouvoir, leurs caractéristiques (pseudonymat, incompressibilité, fongibilité, (dé)matérialisation, (dé)centralisation) et les quantités logarithmiques de jetons de pouvoir en fonction des dons.\nLe conseil d\u0026rsquo;administration détermine aussi, le cas échéant, le coefficient de croissance du nombre de jetons de pouvoir au sein de l\u0026rsquo;association, ainsi que les contributions obligatoires dues en raison du nombre de jetons de pouvoir détenus, et les modalités de lissage polynomial des jetons de pouvoir pour pallier aux inégalités de fait.\nArticle 11 - ASSEMBLÉE GÉNÉRALE ORDINAIRE L\u0026rsquo;assemblée générale ordinaire comprend toutes les personnes physiques membres de l\u0026rsquo;association à quelque titre qu\u0026rsquo;elles soient.\nElle se réunit au moins une fois chaque année civile.\nQuinze jours au moins avant la date fixée, les membres de l\u0026rsquo;association sont convoqués par les soins du Conseil d\u0026rsquo;administration. L\u0026rsquo;ordre du jour figure sur les convocations.\nLe président, assisté des membres du conseil, préside l\u0026rsquo;assemblée et expose la situation morale ou l’activité de l\u0026rsquo;association.\nLe trésorier rend compte de sa gestion et soumet les comptes de l\u0026rsquo;année civile échue à l\u0026rsquo;approbation de l\u0026rsquo;assemblée.\nL’assemblée générale fixe la valeur des paramètres de fonctionnement définis par le règlement intérieur . Tel le montant de la cotisation à verser par les membres.\nNe peuvent être abordés que les points inscrits à l\u0026rsquo;ordre du jour.\nLes décisions sont prises à la majorité des suffrages exprimés par les membres actifs, présents ou représentés.\nIl est procédé, après épuisement de l\u0026rsquo;ordre du jour, au renouvellement des membres sortants du conseil.\nLes décisions des assemblées générales s’imposent à tous les membres, y compris absents ou représentés.\nArticle 12 - ASSEMBLÉE GÉNÉRALE EXTRAORDINAIRE Si besoin est, ou sur la demande de la moitié plus un des membres inscrits, le président peut convoquer une assemblée générale extraordinaire, suivant les modalités prévues aux présents statuts et uniquement pour modification des statuts ou règlement intérieur, ou la dissolution ou pour des actes portant sur des immeubles.\nLes modalités de convocation sont les mêmes que pour l’assemblée générale ordinaire.\nLes délibérations sont prises à la majorité des suffrages exprimés par les membres actifs, présents ou représentés.\nArticle 13 - CONSEIL D\u0026rsquo;ADMINISTRATION L\u0026rsquo;association est dirigée par un conseil d\u0026rsquo;administration d\u0026rsquo;au moins 2 membres (président et trésorier), élus pour 3 années par l\u0026rsquo;assemblée générale. Les membres sont rééligibles.\nEn cas de vacances, le conseil d\u0026rsquo;administration pourvoit provisoirement au remplacement de ses membres.\nIl est procédé à leur remplacement définitif par la plus prochaine assemblée générale. Les pouvoirs des membres ainsi élus prennent fin à l\u0026rsquo;expiration le mandat des membres remplacés.\nLe conseil d\u0026rsquo;administration se réunit sur convocation du président.\nLes décisions sont prises à la majorité des voix; en cas de partage, les voix du président sont prépondérantes.\nLe trésorier, avec le président en signature conjointe, sont les seules personnes habilitées à engager l\u0026rsquo;association sur ses deniers (signature d\u0026rsquo;un bail, ouverture de compte bancaire et opérations bancaires).\nArticle 14 – INDEMNITÉS Toutes les fonctions de direction, y compris celles des membres du conseil d’administration, sont bénévoles.\nSeuls les frais occasionnés par l’accomplissement de leur mandat sont remboursés sur justificatifs. Le rapport financier présenté à l’assemblée générale ordinaire présente, par bénéficiaire, les remboursements de frais de mission, de déplacement ou de représentation.\nArticle 15 - RÈGLEMENT INTÉRIEUR Un règlement intérieur est établi par le conseil d\u0026rsquo;administration, toute modification doit se faire approuver par l\u0026rsquo;assemblée générale.\nCe règlement éventuel est destiné à fixer les divers points non prévus par les présents statuts, notamment ceux qui ont trait à l\u0026rsquo;administration interne de l\u0026rsquo;association.\nArticle 16 - LIBÉRALITÉS Le rapport et les comptes annuels, tels que définis à l’article 11 sont adressés chaque année au Préfet du département.\nL’association s’engage à présenter ses registres et pièces de comptabilité sur toute réquisition des autorités administratives en ce qui concerne l’emploi des libéralités qu’elle serait autorisée à recevoir, à laisser visiter ses établissements par les représentants de ces autorités compétents et à leur rendre compte du fonctionnement desdits établissements.\n*Adopté en assemblée générale extraordinaire le dimanche 24 mars 2024 à Pelleautier .\nModifié et remplacé en assemblée générale extraordinaire le dimanche 20 juillet 2025 à Pelleautier .\n","permalink":"/fr/about/status-old/","tags":null,"title":"Friends Of OpenPGP (foopgp)"},{"categories":null,"contents":"Procès-verbal de l\u0026rsquo;assemblée générale extraordinaire du 24 mars 2024 de FRIENDS OF OPENPGP (foopgp) Au siège social de l’association : 75 impasse Serre des Isnards, F-05000 PELLEAUTIER\nAssemblée générale réunie sur convocation envoyée par courriel le 06/03/2024, 14:29.\nOrdre du jour 1: Approbation des changements (mineurs) du texte des Statuts. 2: Approbation des changements du texte du Règlement intérieur. 3: Paramètres de fonctionnement définis par le Règlement intérieur. Les textes soumis au vote sont identifés et signés sous le commit 1f39e9759b04bafe3a90e587a2a044db3a91253f du dépot git de notre site Internet .\nParticipation Sept (7) membres actifs présents (sur Place ou Visioconférence via https://meet.jit.si/foopgp ) : par ordre alphabétique inversé\nFred ZWIKEL – V – 900 voix François REVOL – V – 400 voix Jacques MOUSSALLI – P – 500 voix Laurent CÉARD - P – 400 voix Jean-Jacques BRUCKER – P – 1047 voix Claire BODZEN – P (arrivée à 16h10) – 400 voix Alain BAYLE – V – 766 voix Deux (2) membres actifs représentés par Jean-Jacques BRUCKER :\nPatrice ROUX – 400 voix Élodie ROUX – 400 voix Total des voix présentes ou représentées : 5213\nTotal des voix absentes : 13283-5213=8070\nLe décompte des Jetons et Voix des membres actifs (fichier 2024-03-23_foogpg_jetons_voix_AG2023.ods) a été transmis par courriel le 23/03/2024, 23:49\nDébut de séance : 15h50\nPrésident de séance : Jean-Jacques BRUCKER\nSecrétaire de séance : Alain BAYLE\nIl est rappelé qu’une précédente assemblée générale extraordinaire, qui s’est tenue le 22 octobre 2023, avait modifié les Statuts ; et aussi adopté un Règlement intérieur. Une assemblée tenue le 29 mai 2023 avait passé en revue les Statuts et discuté des potentielles évolutions. Les Statuts ont été initialement adoptés en assemblée générale constitutive du 20 mars 2023 (in memoriam Marcelle-Christianne FONTANA-BRUCKER)\nLes Statuts ont fait l’objet d’une première et unique publication au Journal officiel des associations et fondations d\u0026rsquo;entreprise (JOAFE), annonce n° 88, parution n° 20230015 en date du 11 avril 2023 . Il sera procédé à la transmission au Greffe des associations et à la publication au JOAFE des Statuts modifiés à la suite de la présente assemblée générale extraordinaire.\n1ère résolution : Approbation des changements (mineurs) du texte des Statuts Jean-Jacques BRUCKER présente les propositions de modifications aux Statuts.\nAprès discussions, et amendements, les Statuts modifiés sont adoptés à l’unanimité.\nLes Statuts modifiés sont joints en annexe au présent procès-verbal ; contresignés par les président et secrétaire de séance pour leur diffusion et publication.\n2ème résolution : Approbation des changements du texte du Règlement intérieur Jean-Jacques BRUCKER présente les propositions de modifications au Règlement intérieur.\nAprès discussions, et amendements, le Règlement intérieur modifié est adopté à l’unanimité.\nLe Règlement intérieur modifié est joint en annexe au présent procès-verbal ; contresigné par les président et secrétaire de séance pour sa diffusion et publication.\n3ème résolution : Paramètres de fonctionnement définis par le Règlement intérieur La réalité de ces paramètres et les enjeux des choix respectifs proposés ont pu faire l’objet d’échanges la veille, le samedi 23 mars 2024 .\nJean-Jacques BRUCKER présente les choix proposés par le conseil d’administration, pour chacun des paramètres concernés :\ncotisation (1€) dividende universel (4‰/mois) contribution au fonctionnement de l’association (1 % des jetons à la date de l’AGO) contribution de solidarité (1 % des jetons à la date de l’AGO) périodicité des contributions (à chaque AGO) exposant de lissage du pouvoir (sharp=3/4) Après discussions, et amendements, les valeurs des trois premiers paramètres ainsi que le cinquième sont adoptées à l’unanimité.\nLa création d’une contribution de solidarité (quatrième paramètre) a été rejeté à l’unanimité. NB: Les discussions ayant évoqué que rapport bénéfice/coût de sa mise en place ne semblait pas favorable pour l\u0026rsquo;instant.\nLa valeur du sixième et dernier paramètre, l’exposant de lissage du pouvoir, n’a été adoptée qu’à la majorité (pour : 4413 voix, contre : 400 voix, abstention : 400 voix).\nIl est résolu à l’unanimité que l’entrée en vigueur des valeurs de ces paramètres de fonctionnement est fixée au 1er juillet 2024.\nLe tableau récapitulatif des valeurs des paramètres de fonctionnement est joint en annexe au présent procès-verbal ; contresigné par les président et secrétaire de séance pour sa diffusion et publication.\nL’ordre du jour de l’assemblée générale est épuisé.\nLes participants se remercient et la séance est clôturée à 18h05.\nTrois (3) annexes au présent procès-verbal :\nStatuts modifiés Règlement intérieur modifié Tableau récapitulatif des valeurs des paramètres de fonctionnement ","permalink":"/fr/assembly/2024-03-24-report-age/","tags":null,"title":"2024 S12 PV AGE 24 mars"},{"categories":null,"contents":"Procès-verbal de l’assemblée générale ordinaire du 24 mars 2024 de FRIENDS OF OPENPGP (foopgp) Au siège social de l’association : 75 impasse Serre des Isnards, F-05000 PELLEAUTIER\nAssemblée générale réunie sur convocation envoyée par courriel le 06/03/2024, 14:29.\nOrdre du jour 1: Bilan moral 2: Bilan financier 3: Paramètres de fonctionnement définis par le Règlement intérieur 4: Membres du conseil d’administration Participation Six (6) membres actifs présents (sur Place ou Visioconférence via https://meet.jit.si/foopgp ) : par ordre alphabétique inversé\nFrederic ZWIKEL - V François REVOL - V Jacques MOUSSALLI - P Laurent CEARD - P Jean-Jacques BRUCKER – P Alain BAYLE - V Deux (2) membres actifs représentés par Jean-Jacques BRUCKER :\nPatrice ROUX Élodie ROUX Le décompte des Jetons et Voix des membres actifs (fichier 2024-03-23_foogpg_jetons_voix_AG2023.ods) a été transmis par courriel le 23/03/2024, 23:49\nDébut de séance : 14h30\nPrésident de séance : Jean-Jacques BRUCKER\nSecrétaire de séance : Alain BAYLE\n1. Bilan moral Jean-Jacques BRUCKER présente oralement le rapport des principales activités 2023 de l’association.\nCroissance continue du nombre des membres actifs (24 actuellement).\nProspection continue pour identifier convergences et partenaires susceptibles de contribuer à l’objet social de l’association : solutions technologiques basées sur les normes OpenPGP, développement collaboratif de projets logiciels liés à OpenPGP comme la monnaie libre Ğ1/June .\nAménagement des locaux du siège social de l’association, notamment salle de réunion et postes informatiques.\nCréation et maintenance d’un site d\u0026rsquo;hébergement de fichiers et d’une plateforme de collaboration NextCloud intitulés FoOPGP-Cloud Inscription au répertoire Sirene, le répertoire national d\u0026rsquo;identification des entreprises et de leurs établissements, géré par l\u0026rsquo;INSEE (identifiant SIREN 923 831 408 00011)\nCréation et maintenance d’une instance Dolibarr pour la gestion comptable de l’association et la gestion de la relation avec les membres.\nMaintenance et Mises à jour du site web de l’association .\nAdhésion de l’association à Digit Alpes du Sud - Les entreprises du numérique 04 et 05 : l’association des professionnels du Digital des départements 04 (Alpes de Haute Provence) et 05 (Hautes-Alpes).\nDéclaration d’activité en tant que prestataire de formation auprès du Préfet de région Provence-Alpes-Côte d’azur (numéro de déclaration d’activité 93050099805).\nRéalisation de prestation de formation et diffusion de contenus de formation.\nOuverture d’un compte bancaire auprès de la caisse de Crédit Mutuel de GAP-05000. (IBAN FR76 1027 8079 9800 0208 2780 107 ; BIC CMCIFR2A)\nLe Rapport des principales activités 2023 de l’association est adopté à l’unanimité.\n2. Bilan financier Jean-Jacques BRUCKER présente oralement le bilan financier 2023 de l’association, en l’absence des deux personnes chargées de la trésorerie de l’association (Stéphane FAWAL, Fred RENAULT).\nLe montant constaté des recettes est de 13824,75 €.\nLe montant constaté des dépenses est de 3965,93 €.\nLa trésorerie est détenue par la caisse de Crédit Mutuel de GAP-05000.\nDes éléments de comptabilité analytique et de comptabilité d’engagement (créances et dettes) vont être mis en place.\nLe Rapport financier 2023 de l’association est adopté à l’unanimité.\n3. Paramètres de fonctionnement définis par le Règlement intérieur L’assemblée générale ordinaire fixe la valeur des paramètres de fonctionnement définis par le règlement intérieur (alinéa sixième de l’article 11 des Statuts) ; tel que le montant de la cotisation à verser par les membres.\nIl est résolu à l’unanimité d’aborder ce point au cours de l’assemblée générale extraordinaire qui suit immédiatement la présente assemblée générale ordinaire.\nL’ordre du jour de l’assemblée générale est épuisé.\n4. Membres du conseil d’administration En l’absence de membre sortant du conseil d’administration, il n‘y a pas lieu à renouvellement (article 11 des Statuts).\nLes participants se remercient et la séance est clôturée à 15h40.\n","permalink":"/fr/assembly/2024-03-24-report-ago/","tags":null,"title":"2024 S12 PV AGO 24 mars"},{"categories":null,"contents":"Le week-end du 23\u0026amp;24 mars 2024, les curieux ou membres de l\u0026rsquo;association foopgp sont invités à Pelleautier ( imp. Serre des Isnards ) et en visio :\nSamedi 23 mars : Partage de connaissances et d\u0026rsquo;intelligences (\u0026ldquo;master classes\u0026rdquo;) 11h : Monnaie et réchauffement climatique (par Jean-Jacques Brucker ). 12h : Apéro + repas partagé. 14h : Enjeux des paramètres growth, taxe et sharp de l\u0026rsquo;association (par Jean-Jacques Brucker ). 15h : Nouveautés SuperNova du client mail Thunderbird (par Laurent Céard ). 16h : Utilisation d\u0026rsquo;OpenPGP avec les NitroKey/Yubikey (par Jean-Jacques Brucker ). 17h : Projet DietPI (par Frederic Zwikel ). 17h30 : Apéro + jeux. Pour l\u0026rsquo;organisation de Samedi, veuillez vous inscrire ici .\nDimanche 24 mars à 14h30 : Assemblée Générale changements (mineurs) des statuts de l\u0026rsquo;association. améliorations du réglement intérieur l\u0026rsquo;association. Présentation bilan moral de l\u0026rsquo;association. Présentation bilan financier de l\u0026rsquo;association. choix des paramètres liés à nos jetons de pouvoir : growth, taxe et sharp. Détails et ordre du jour de l\u0026rsquo;assemblée générale : https://foopgp.org/event/2024-03-24-ag/ N\u0026rsquo;hésitez pas à partager ce programme !\n","permalink":"/fr/event/2024-03-23-knowledge-sharing/","tags":null,"title":"Master Classes"},{"categories":null,"contents":"Procès-verbal de l\u0026rsquo;assemblée générale extraordinaire du 22 octobre 2023 Au siège social de l\u0026rsquo;association : 75 impasse serre des isnards, 05000 Pelleautier.\nRéunie sur convocation envoyée par courriel le 4 octobre 2023 à 19h35.\nOrdre du jour 1: Approbation modifications des statuts . 2: (si 1 est approuvé) Approbation nouveau règlement intérieur . 3: (Si 1 \u0026amp; 2 sont approuvés) Distribution rétroactive des jetons de pouvoir. 4: Intégration de Laurent CEARD au conseil d\u0026rsquo;administration. Les textes soumis au vote sont identifés et signés sous le commit 8c8df4db3e6149e34f11ba30d9bc8b6f8d1ab1b9 du dépot git de notre site Internet .\nParticipation Membres actifs présents ou représentés (8) :\nLaurent CEARD Michel S (CA) Tempérance (CA) Jean-Jacques BRUCKER (président) François REVOL (CA, vidéoconférence) Fred ZWIKEL (CA, vidéoconférence) Elodie R, représentée par Jean-Jacques BRUCKER. Pascal ANDRÉ, représenté par Jean-Jacques BRUCKER. Membres actifs absents (4) :\nAlain BAYLE (secretaire) SF (trésorier) do P ROUX Autres personnes présentes :\nFrédéric RENAULT (futur trésorier adjoint, vidéoconférence) Yann (vidéoconférence) Début de séance : 15h20.\nPrésident et secrétaire de séance : Jean-Jacques BRUCKER\nNote : un membre présent a du s\u0026rsquo;absenter par obligation externe au moment des votes\n1ère résolution : modification des statuts Les nouveaux statuts sont adoptés à 7 voix contre 0 ; 1 abstention.\n2ème résolution : règlement intérieur Le règlement intérieur (nouveau) est adopté à 7 voix contre 0 ; 1 abstention.\n3ème résolution : distribution des jetons de pouvoir La distribution rétroactive des jetons de pouvoir est adoptée à 7 voix contre 0 ; 1 abstention.\nAinsi, suivant les articles 3, 4 et 8 du règlement intérieur :\nLes (8) membres qui ont réglé 16€ se voient donc offrir 4 jetons de pouvoirs, qui leur donneront 4 voix pour les prochains votes. Les (3) membres qui ont réglé 512€ se voient donc offrir 9 jetons de pouvoirs, qui leur donneront 9 voix pour les prochains votes. 4ème résolution : Intégration d\u0026rsquo;un nouveau membre au conseil d\u0026rsquo;administration. L\u0026rsquo;intégration de Laurent CEARD au conseil d\u0026rsquo;administration est adopté à 43 voix contre 0 ; 4 abstentions.\nDiscussions Les discussions à l\u0026rsquo;issue du vote ont portés sur :\nles possibles evolutions futures du règlement interieur la possibilité de formations rémunérées au bénéfice de l\u0026rsquo;association la necessité d\u0026rsquo;améliorer notre communication et les discours et moyens à mettre en oeuvre (brochure, \u0026hellip;) Les participants se remercient et la séance est clôturée à 16h30.\n","permalink":"/fr/assembly/2023-10-22-report-age/","tags":null,"title":"2023 S42 PV AGE 22 octobre"},{"categories":null,"contents":"Du mardi 18 juillet au mardi 8 août 2023, l\u0026rsquo;association foOpgp tiendra sa permanence d\u0026rsquo;été.\nL\u0026rsquo;occasion de\nAccueillir des futurs membres. Se ressourcer. Échanger des idées. Apprendre. Uniformiser nos configurations et définir quelques processus. Faire avancer l\u0026rsquo;infrastructure. L\u0026rsquo;infrastructure est aujourd\u0026rsquo;hui dans un état assez embryonnaire.\nNotamment l\u0026rsquo;infrastructure numérique, pour laquelle une quantité phénoménale de travail est encore nécessaire pour lui donner corps, et ainsi transmettre à notre belle organisation un début d\u0026rsquo;inertie :\nMise en place de notre outil de gestion de version (puisque l\u0026rsquo;on ne peut plus faire confiance à github ou gitlab) Numérisation de l\u0026rsquo;inscription Gestion de boîtes mail (au lieu de simples redirections) Mise en place de notre serveur de certificats OpenPGP Améliorations (notamment chiffrement) de nos mailing-list Améliorations et automatisations autour de notre instance NextCloud Mise en place de notre serveur de paquets logiciels Débuts d\u0026rsquo;expérimentation de jetons OpenPGP Débuts d\u0026rsquo;expérimentation de notre propre modèle de langage etc\u0026hellip; Pour signaler vos dates de passage (et permettre aux autres de savoir quand vous rencontrer ou vous éviter 😄) : -\u0026gt; https://framadate.org/EBcI87uhD4L7Upbv \u0026lt;-\nPetit à petit, l\u0026rsquo;oiseau fait son nid.\n","permalink":"/fr/event/2023-07-18-permanence-ete/","tags":null,"title":"Permanence d'été"},{"categories":["Opinion"],"contents":"Retrouver la singularité humaine à l\u0026rsquo;heure de l\u0026rsquo;intelligence artificielle.\nIntroduction Dans nos sociétés, entretenant au travers de notre système économique, le postulat d\u0026rsquo;une vision pessimiste de la nature humaine , nous sommes tous encouragés à prélever, produire et vendre toujours plus ; avec pour seules limites, celles de lois de plus en plus complexes, et toujours imparfaites .\nAinsi pour nous forcer à acheter toujours plus, tout devient produit (même nos opinions ), et nous sommes submergés de communications cherchant à se faire passer pour de l\u0026rsquo;information. Cette confusion, autrefois cantonnée à la publicité, s\u0026rsquo;est développée avec le marketing débridé inhérent à notre société de surconsommation , lui même indissociable de notre système économique et monétaire, basé sur une croissance infinie .\nLa résistance à la pollution informationnelle perdait déjà du terrain, lorsque, le 30 Novembre 2022, OpenAI lança ChatGPT son agent conversationnel qui alla marquer les esprits, en générant, à des millions d\u0026rsquo;utilisateurs, plus de textes que ne pourrait produire une armée d\u0026rsquo;un million de lycéens.\nTrès vite l\u0026rsquo;outil fut utilisé pour produire en quelques minutes des rédactions de plusieurs pages, lesquelles étaient copiées-collées dans des emails, des devoirs d\u0026rsquo;étudiants, ou des contenus pour nourrir des sites web.\nSi une certaine pertinence peut être au rendez-vous, GPT, Midjourney et autres intelligences artificielles semblent pouvoir marquer la fin de l\u0026rsquo;ensemble des originalités et singularités humaines, remplacées par une poignée de \u0026ldquo;cerveaux\u0026rdquo; numériques, froids et uniformes, reflétant seulement quelques parties, bridées pour heurter le moins de sensibilités, de l\u0026rsquo;intelligence collective désignée par celle des ingénieurs créateurs.\nDemain nous serons peut-être plus nombreux à pouvoir éduquer nos propres intelligences numériques ; petits bouts d\u0026rsquo;éternité ; au même titre que nos enfants biologiques.\nMais aujourd\u0026rsquo;hui comme demain ce (vieux) problème devient un enjeu crucial :\nD\u0026rsquo;où vient l\u0026rsquo;information qui nous parvient ? Pour toutes nos données numérisées, la solution existe pourtant depuis longtemps : les signatures numériques .\nHélas ces dernières sont encore très peu utilisées. Et quand elles le sont, c\u0026rsquo;est souvent au travers de solutions inutiles car fermées ou au travers de PKI dangereuses car centralisées.\nEn effet, il ne suffit pas qu\u0026rsquo;une donnée soit signée, pour que l\u0026rsquo;on puisse être sûr que la personne qui l\u0026rsquo;a signée est bien celle qu\u0026rsquo;elle prétend être.\nJe pourrais par exemple signer un document \u0026ldquo;Emmanuel Macron\u0026rdquo;, si vous n\u0026rsquo;avez pas récupéré la clé publique permettant de vérifier la signature numérique par un canal sûr (par exemple en main propre), alors vous ne savez absolument pas de quel Emmanuel Macron il s\u0026rsquo;agit, ni même si il s\u0026rsquo;agit bien d\u0026rsquo;un certain \u0026ldquo;Emmanuel Macron\u0026rdquo;.\nComme vous avez peu de chance de connaître cet \u0026ldquo;Emmanuel Macron\u0026rdquo; (et encore moins de recevoir sa clé publique en main propre), \u0026ldquo;Emmanuel Macron\u0026rdquo; va produire un certificat , lequel contiendra sa clé publique, et sera signé par une autorité de certification .\nSauf que si vous ne savez rien de cette autorité de certification, vous ne pouvez encore une fois pas être sûr qu\u0026rsquo;elle est bien qui elle prétend être, et encore moins qu\u0026rsquo;elle ne signe pas n\u0026rsquo;importe quoi n\u0026rsquo;importe comment.\nC\u0026rsquo;est toute la faille des PKI centralisées, sur lesquelles reposent aussi bien nos documents d\u0026rsquo;identités, que l\u0026rsquo;ensemble des sites web dits \u0026ldquo;sécurisés\u0026rdquo;\u0026hellip;\nFaille que n\u0026rsquo;ont pas les toiles de confiance OpenPGP .\nRéputation Grâce à la la signature numérique , et aux toiles de confiance OpenPGP , nous pouvons être sûrs qu\u0026rsquo;une donnée a bien été endossée par une personne bien identifiée.\nMais cela ne nous dit pas si la donnée a bien été produite par ladite personne.\nPour compléter le tableau et enfin lutter efficacement contre la pollution informationnelle :\n1 - Toute donnée devrait être accompagnée d\u0026rsquo;un contexte (résumé de son histoire). 2 - Donnée et contexte doivent être signés par une personne bien identifiée. 3 - Chaque personne doit pouvoir être libre d\u0026rsquo;associer et de partager des réputations à chaque personne. 4 - Chaque personne doit être libre d\u0026rsquo;accorder plus ou moins de crédits aux réputations partagées par autrui. Notons que la première règle est déjà appliquée par les nombreuses personnes qui savent utiliser des logiciels de gestion de versions , tel que Git ou Mercurial .\nLa deuxième règle est aussi appliquée lorsque les publications sont signées par une personne reconnue dans une toile de confiance OpenPGP.\nL\u0026rsquo;article que vous lisez est lui-même une donnée qui respecte ces deux premières règles. En effet le texte brut de cette page web est stocké dans un dépôt git, lui même rempli uniquement par des publications itératives (concept repris par la \u0026ldquo;blockchain\u0026rdquo;\u0026hellip; ).\nVous pouvez consulter son contexte historique en dupliquant ce dépôt sur votre ordinateur, ou bien en utilisant un service web comme codeberg .\nVous pouvez enfin commencer à appliquer la troisième règle en me prêtant une excellente réputation pour traiter ce genre de sujet. Cependant il n\u0026rsquo;existe pas encore de solution aboutie, notamment décentralisée, vous permettant de partager cette recommandation à tous les individus du monde 😋.\nConclusion Pour ne pas perdre notre singularité humaine, deux voies se dégagent :\nRefuser le progrès. C\u0026rsquo;est-à-dire interdire , au travers de lois toujours plus complexes et imparfaites . Poursuivre les travaux de Philip Zimmermann ou Linus Torvalds pour pouvoir appliquer l\u0026rsquo;ensemble des quatre règles énoncées plus haut. Tandis que certains semblent s\u0026rsquo;efforcer dans la première voie, d\u0026rsquo;autres essayent de construire un futur durable\u0026hellip;\nSi cet article vous a plu, n\u0026rsquo;hésitez-pas à rejoindre ou financer foopgp .\n","permalink":"/fr/blog/2023-04-03-lutter-contre-la-polution-informationelle/","tags":["Specification","AI"],"title":"GPT - Fin de Partie"},{"categories":null,"contents":"This event is organized by the NLnet foundation NGI webinar on future of OpenPGP State-of-the-art work on chains of trust This freely accessible online event on November 23 from 10 to 11:30 CET organized by NGI Assure dives into the future of OpenPGP encryption. Researchers and developers funded by different NGI programmes discuss their work on PGP-related technology and how to advance the state of art in decentralized trust.\nDespite the rise of mobile messengers and chat apps, email continues to be an integral communication channel on the internet. But like core internet technologies, email was not designed with privacy and security in mind. To combat growing problems like phishing, spam and surveillance, various methods of encryption provide confidentiality, authentication and integrity of data. OpenPGP is a widely used email encryption standard (defined by the Internet Engineering Task Force in RFC 4880 ) derived from Phil Zimmermann\u0026rsquo;s PGP . Implementations of OpenPGP are used for a wide range of purposes, to sign, encrypt and decrypt texts, emails, files, directories and disks. OpenPGP-compatible systems also allow users to create their own \u0026lsquo;web of trust\u0026rsquo; , where people accumulate and sign each others keys for trusted communication without a central point of authority.\nDecentralized encryption, authentication and integrity checking are important requirements for trustworthy communication and data handling. That is why the Next Generation Internet initiative funds various R\u0026amp;D-projects that advance the state of art in OpenPGP-implementations and chains of trust. In this freely accessible online event OpenPGP-projects funded by NGI Assure and NGI0 PET present and discuss their ongoing work, and think about the future of the technology they contribute to.\nWant to know more? No prior registration is needed, simply join the online webinar on Tuesday November 23rd at 10:00 CET. The event is organized using BigBlueButton , an open source webconferencing framework which is actively supported by NGI Zero to add end-to-end encrypted chat .\nPresentations (5-10 min) Neal H. Walfield — An introduction to Sequoia PGP Wiktor Kwapisiewicz — Add support for trusted platform modules (TPM) to Sequoia PGP Heiko Schaefer — Developing and hardening an OpenPGP certificate authority for group trust management Lars Wirzenius — Adding and improving command line, programming interface and acceptance test suite to Seqouia PGP Justus Winter — Drop-in replacement for widely used encryption software GnuPG (GNU Privacy Guard) Uli Fouquet — Add plug \u0026amp; play encryption to customer relationship management system muppeth — GnuPG-based email encryption for emails at rest Yarmo Mackenbach — Decentralized platform to manage online identities verifiably signed with OpenPGP Discussion, questions and answers (30 min) Talking points: What have been the clear blockers to mass adoption of OpenPGP? Are we on the way to solve them? Which challenges in usability and accessibility have not yet been solved? How do we securely scale the web of trust? ","permalink":"/fr/event/2021-11-23_openpgp-future/","tags":null,"title":"NGI webinar on future of OpenPGP"},{"categories":null,"contents":"Qui sommes-nous ? D’où venons-nous ? Où allons-nous ?\nPrésentation du projet, des activités envisagées, tour de table des participants…\nUn grand merci aux CHATONS pour tous les services qu\u0026rsquo;ils proposent et qui permettent de décentraliser Internet .\nRendez-vous donc sur ce salon BigBlueButton hébergé par ethicit 😊.\n","permalink":"/fr/event/2021-01-14-1st-meeting/","tags":null,"title":"Première réunion officielle FoOPGP"},{"categories":["news"],"contents":" Friends of OpenPGP est apparu 😉.\nLa YubiKey supporte enfin les courbes elliptiques (Il y a maintenant très peu de raison de continuer à utiliser RSA4096 plutôt que ed25519 /cv25519 ).\nDu côté de NitroKey , les nouveaux firmwares prennent désormais en charge plusieurs identités .\nGnuPG a annoncé 6 versions, jusqu\u0026rsquo;à 2.2.26 . Rappelons que la 2.2.23 corrigeait une CVE critique.\nSequoia-PGP a annoncé la sortie de la version 1.0 ! 😊\nMarcel Bokhorst a encore fait un travail formidable pour rendre FairEmail si génial.\nThunderbird a été considérablement repensé , et les versions 78.x n\u0026rsquo;ont plus besoin d\u0026rsquo;Enigmail pour prendre en charge OpenPGP . Gros changements impliquent petits bugs , mais l\u0026rsquo;expérience utilisateur est déjà grandement améliorée, et 2021 devrait être une excellente année pour Thunderbird.\nMême si l\u0026rsquo;on peut trouver des raisons pertinentes pour ne pas utiliser keys.openpgp.org , ce serveur de certificats a atteint 200 000 courriels vérifiés .\nKeyBase qui a débuté en fournissant des services autour d\u0026rsquo;OpenPGP , a été racheté par Zoom (montant non divulgué ).\nProntonMail améliore et fournit toujours plus de services autour d\u0026rsquo;OpenPGP .\n\u0026ldquo;OpenPGP for XMPP\u0026rdquo; a été mis à jour (0.6.0) .\nLe groupe de travail OpenPGP pour l\u0026rsquo;IETF a préparé 2 documents : une révision de la RFC4880 une spécification du protocole Web Key Directory . Nous leur souhaitons donc d\u0026rsquo;être validés courant 2021.\n","permalink":"/fr/blog/2021-01-05-digest2020/","tags":["gnupg","digest"],"title":"Résumé de l'année 2020"},{"categories":["guide"],"contents":"Article initialement publié par gouttegd sur LinuxFR.org .\nDepuis quelques années, les développeurs de GnuPG proposent un nouveau mécanisme de distribution et de découverte des clefs OpenPGP. Au lieu de se reposer sur un réseau de serveurs de clefs où tout le monde peut librement déposer des clefs, le principe est de confier la distribution aux opérateurs de messagerie électronique, chaque opérateur devenant responsable de la distribution des clefs pour les adresses de son propre domaine (i.e., l’opérateur de example.org a la charge de distribuer les clefs pour les adresses en @example.org).\nLe mécanisme proposé s’appelle Web Key Directory ou WKD et est décrit dans un brouillon IETF . J’en avais déjà parlé brièvement dans un journal précédent . Ici, je vais décrire plus en détail la mise en œuvre du protocole côté serveur. Cet article s’adresse donc davantage aux opérateurs de serveurs de courrier électronique qu’aux utilisateurs.\nVue d’ensemble du protocole Le protocole comprend deux parties distinctes :\nle Web Key Directory proprement dit est l’annuaire permettant à Bob d’obtenir la clef d’Alice ; le Web Key Directory Update Protocol est le protocole d’avitaillement, par lequel Alice fait connaître sa clef à son opérateur de messagerie afin que ce dernier l’ajoute à son annuaire. Les deux parties peuvent s’utiliser indépendamment l’une de l’autre : un annuaire WKD peut ne pas être avitaillé via le WKD Update Protocol (il peut par exemple être renseigné « manuellement » par l’opérateur, comme on le verra plus loin), et inversement le WKD Update Protocol peut servir à avitailler d’autres méthodes de distribution que WKD (par exemple le DNS, avec DANE OpenPGP ).\nLa combinaison du WKD et du WKD Update Protocol est parfois appelé Web Key Service ou WKS.\nLe Web Key Directory Quand Bob veut obtenir la clef d’Alice à partir de son adresse e-mail (alice@example), il construit une URL avec la forme suivante :\nhttps://openpgpkey.example.org/.well-known/openpgpkey/example.org/hu/kei1q4tipxxu1yj79k9kfukdhfy631xe?l=alice La chaîne kei1q4tipxxu1yj79k9kfukdhfy631xe est le condensat SHA-11 de la partie locale de l’adresse d’Alice (alice donc, dans notre exemple), encodé en Z-Base32 .\nNote\nVous pouvez utiliser la commande suivante pour calculer le condensat :\n$ echo -n alice | openssl dgst -sha1 -binary | zbase32 kei1q4tipxxu1yj79k9kfukdhfy631xe (bien sûr, en « situation réelle » vous n’avez jamais à le faire, c’est votre client de messagerie qui s’en charge.)\nLe serveur openpgpkey.example.org doit répondre à une requête HTTP sur cette URL en renvoyant une copie de la clef d’Alice, sous la forme d’une clef publique transférable (Transferable Public Key ou TPK) conforme au standard OpenPGP. La clef reçue est directement importable dans le trousseau public de Bob.\nNotez la répétition du nom de domaine example.org dans l’URL ci-dessus (une fois dans le nom d’hôte, une fois dans le chemin de la ressource). L’URL est construite ainsi afin de faciliter le déploiement d’un annuaire WKD qui gérerait plusieurs domaines. Dans le même ordre d’idée, le composant openpgpkey du nom d’hôte, qui semble redondant avec la ressource « bien connue » .well-known/openpgpkey, offre un niveau d’indirection qui permet d’héberger l’annuaire sur une autre machine que celle située derrière le nom example.org.\nNote\nLes premières versions du brouillon WKD utilisaient, pour fournir ce niveau d’indirection, un enregistrement SRV plutôt qu’un nom d’hôte avec un composant fixé. Malheureusement, cela posait trop de problèmes aux développeurs Javascript, ce langage (ou plutôt son environnement d’exécution, dans les navigateurs) n’offrant pas de fonctionnalités de résolution DNS digne de ce nom.\nSi une indirection n’est pas nécessaire, l’opérateur de example.org peut diffuser la clef d’Alice sous une URL légèrement plus simple, qu’on appelle la méthode directe (par opposition à l’URL précédente, qui représente la méthode avancée) :\nhttps://example.org/.well-known/openpgpkey/hu/kei1q4tipxxu1yj79k9kfukdhfy631xe?l=alice Les opérateurs déployant WKD sont libres de choisir de supporter la méthode directe ou la méthode avancée, selon qu’ils ont besoin du niveau d’indirection offert par la méthode avancée ou non. Les clients eux doivent essayer en premier lieu la méthode avancée, puis se rabattre sur la méthode directe si le sous-domaine openpgpkey n’existe pas.\nLe Web Key Directory Update Protocol Pour déposer sa clef publique dans l’annuaire WKD de son fournisseur de messagerie, Alice doit suivre les étapes suivantes.\nPremièrement, elle doit demander à son fournisseur l’adresse de soumission, par une requête HTTP sur\nhttps://openpgpkey.example.org/.well-known/openpgpkey/example.org/submission-address (méthode « avancée ») ou bien (si openpgpkey.example.org n’existe pas) sur\nhttps://example.org/.well-known/openpgpkey/submission-address (méthode « directe »). Le serveur répond par une seule ligne contenant l’adresse e-mail à laquelle Alice devra envoyer sa clef.\nDeuxièmement, Alice doit obtenir la clef publique de l’annuaire WKD, qu’elle devra utiliser pour chiffrer son message. Elle utilise pour ça le protocole Web Key Directory décrit en section précédente, sur l’adresse de soumission qu’elle vient de recevoir.\nTroisièmement, Alice envoie un message à l’adresse de soumission indiqué, chiffré avec la clef publique qu’elle vient d’obtenir et contenant une copie de sa propre clef publique. Elle reçoit alors une demande de confirmation, envoyé à l’adresse alice@example.org et chiffré avec la clef publique qu’elle vient d’envoyer.\nQuatrièmement, Alice déchiffre la demande de confirmation, dans laquelle elle trouve un nonce. Elle répond à la demande de confirmation en renvoyant le nonce. Ce faisant, elle prouve à l’opérateur de l’annuaire ① qu’elle contrôle l’adresse e-mail (puisqu’elle a reçu la demande de confirmation) et ② qu’elle possède la clef privée correspondant à la clef publique qu’elle a soumise à l’annuaire (puisqu’elle a pu déchiffrer la demande de confirmation et en extraire le nonce). Conséquemment, l’opérateur accepte de publier sa clef.\nDéploiement d’un annuaire en lecture seule Dans cette section, nous verrons comment déployer un simple annuaire WKD, sans le service d’avitaillement fourni par le WKD Update Protocol. Ce type de déploiement peut par exemple convenir pour un petit serveur personnel qui n’héberge qu’une petite poignée d’adresses. Ça peut aussi servir de base pour la mise en œuvre d’un système d’avitaillement personnalisé (à partir d’une base de données d’utilisateurs par exemple).\nLes manipulations décrites ci-dessous peuvent, au choix, être réalisées directement sur le serveur web qui hébergera l’annuaire ou bien sur une machine locale à partir de laquelle on copiera les fichiers vers le serveur.\nInstallez le programme gpg-wks-server, l’implémentation de référence du protocole. Ce programme est normalement fourni avec GnuPG, mais il peut être empaqueté séparément sur votre distribution (sur Debian, il est dans le paquet nommé… gpg-wks-server, tout simplement).\nCréez un dossier qui servira de racine pour l’annuaire :\n$ mkdir ~/wkd $ chmod 0751 ~/wkd Note\nLe chmod est pour retirer à tout le monde (à part l’utilisateur et le groupe propriétaires du dossier) le droit de lecture sur le dossier. gpg-wks-server est psychorigide sur cette question et refusera catégoriquement de travailler sur un dossier lisible par tout le monde.\nCréez ensuite sous cette racine un dossier pour chaque domaine pour lequel votre annuaire distribuera des clefs, puis initialisez l’annuaire avec la commande --list-domains de gpg-wks-server :\n$ mkdir ~/wkd/example.org $ gpg-wks-server -C ~/wkd --list-domains gpg-wks-server: domain example.org: subdir \u0026#39;pending\u0026#39; created gpg-wks-server: domain example.org: subdir \u0026#39;hu\u0026#39; created gpg-wks-server: domain example.org: submission address not configured example.org Vous pouvez tranquillement ignorer le message submission address not configured, puisque cet annuaire ne sera pas couplé au WKD Update Protocol. Vous pouvez maintenant déposer des clefs dans l’annuaire. Si la clef que vous voulez déposer est dans le trousseau publique de votre compte utilisateur, obtenez son empreinte :\n$ gpg -k alice@example.org pub rsa2048 2020-05-13 [SC] [expires: 2022-05-11] 7685DC4214D727BB011BD6B754B4CC7749CAE7C3 uid [ultimate] Alice \u0026lt;alice@example.org\u0026gt; sub rsa2048 2020-05-13 [E] Puis passez-là à gpg-wks-server :\n$ gpg-wks-server -C ~/wkd --install-key 7685DC4214D727BB011BD6B754B4CC7749CAE7C3 alice@example.org gpg-wks-server: key 7685DC4214D727BB011BD6B754B4CC7749CAE7C3 published for alice@example.org À la place d’une empreinte, vous pouvez aussi fournir à gpg-wks-server un fichier contenant directement la clef à publier.\nL’annuaire est prêt à être publié. Copiez le dossier ~/wkd vers votre serveur web si vous n’y étiez pas déjà et configurez votre logiciel serveur pour rendre le dossier disponible.\nÀ ce moment-là, vous devrez décider si vous voulez utiliser des URL au format « direct » ou au format « avancé ». Pour le format direct, publiez le dossier ~/wkd/example.org sous le nom .well-known/openpgpkey. Par exemple, en supposant que vous utilisez Apache httpd et que vous avez copié le dossier wkd dans /var/www/wkd, vous pouvez ajouter les lignes suivantes dans la configuration de l’hôte example.org :\nAlias /.well-known/openpgpkey /var/www/wkd/example.org \u0026lt;Directory /var/www/wkd/example.org\u0026gt; Require all granted \u0026lt;/Directory\u0026gt; Si vous optez pour le format avancé, ajoutez dans votre zone DNS des enregistrements A et AAAA sous le nom openpgpkey, faites pointer ces enregistrements vers le serveur web, et ajoutez les lignes suivantes dans la configuration de l\u0026rsquo;hôte openpgpkey.example.org :\nAlias /.well-known/openpgpkey /var/www/wkd \u0026lt;Directory /var/www/wkd\u0026gt; Require all granted \u0026lt;/Directory\u0026gt; Note\nNotez la différence : dans le cas où on utilise le format avancé, c’est la racine de l’annuaire qui est publiée, tandis que dans le format direct, c’est le sous-dossier du domaine example.org.\nPour tester votre annuaire, sur votre machine locale vous pouvez utiliser la commande --locate-external-keys de GnuPG :\n$ gpg --locate-external-keys alice@example.org Pour tester avec Thunderbird et Enigmail, commencez simplement à composer un message pour alice@example.org. Si vous n’avez pas déjà la clef d’Alice dans votre trousseau, Enigmail interrogera automatiquement l’annuaire de example.org et rapatriera la clef.\nDéploiement d’un Web Key Service complet Dans cette section, nous verrons comment déployer un annuaire WKD couplé à un service d’avitaillement implémentant le WKD Update Protocol.\nNote\nOn supposera pour garder les choses simples que le serveur web qui hébergera l’annuaire et le serveur de messagerie qui recevra les soumissions de clefs sont sur la même machine. Si vous voulez séparer les deux, toutes les manipulations ci-dessous sont à faire sur la machine où tourne le serveur de messagerie. Pour la publication, il vous appartiendra de mettre en place un dispositif de synchronisation permettant de copier le contenu de l’annuaire depuis le serveur de messagerie vers le serveur web — soit à intervalle régulier, soit à chaque fois que le contenu de l’annuaire changera (via inotify par exemple).\nPréparation de l’annuaire Commencez par installer GnuPG et gpg-wks-server sur votre serveur, puis créez un compte utilisateur pour le service d’avitaillement, qu’on appelera ici wks :\n# groupadd --system wks # useradd --comment \u0026#34;Web Key Service\u0026#34; --home-dir \u0026#34;/var/lib/gnupg/wks -g wks --no-user-group --system --shell /bin/bash Créez ensuite le dossier qui abritera l’annuaire, /var/lib/gnupg/wks. Notez qu’il s’agit là du dossier par défaut utilisé par gpg-wks-server ; vous êtes libres de choisir un autre dossier, mais dans ce cas vous devrez rajouter l’option -C DOSSIER à toutes les invocations de gpg-wks-server ci-dessous. Où que vous décidiez de créer le dossier, donnez-le à l’utilisateur wks et assurez-vous que le « reste du monde » n’y a pas accès en lecture.\n# mkdir -p /var/lib/gnupg/wks # chown wks:wks/var/lib/gnupg/wks # chmod 0751 /var/lib/gnupg/wks Les commandes suivantes sont à faire sous le compte wks. Créez dans le dossier /var/lib/gnupg/wks un sous-dossier pour chacun de vos domaines dont vous voulez publier les clefs et initialisez l’annuaire :\n$ mkdir example.org $ gpg-wks-server --list-domains gpg-wks-server: domain example.org: subdir \u0026#39;pending\u0026#39; created gpg-wks-server: domain example.org: subdir \u0026#39;hu\u0026#39; created gpg-wks-server: domain example.org: submission address not configured example.org Décidez de ce que sera l’adresse de soumission. Ici, nous choisirons wks-submission@example.org. Si vous hébergez plusieurs domaines, chaque domaine peut avoir sa propre adresse de soumission, mais vous pouvez aussi utiliser une seule et même adresse pour tous les domaines de votre annuaire.\nCréez la clef associée à l’adresse de soumission :\n$ gpg --batch --passphrase \u0026#39;\u0026#39; --quick-gen-key wks-submission@example.org Notez que la clef privée n’a pas de phrase de passe, puisqu’elle doit pouvoir être utilisée de manière autonome. Notez aussi qu’elle expirera deux ans après sa création, il vous appartiendra de penser à repousser sa date d’expiration avant l’échéance. Pour demander dès le départ que la clef n’expire jamais, vous pouvez ajouter les mots-clefs default default never à la fin de la commande ci-dessus (les deux premiers mots-clefs demandent à GnuPG d’utiliser les algorithmes et le profil d’utilisation par défaut, le dernier demande que la clef générée n’expire jamais).\nFinalement, publiez la clef du compte de soumission dans l’annuaire puis publiez l’adresse de soumission elle-même :\n$ gpg -k wks-submission@example.org pub rsa2048 2020-05-29 [SC] [expires: 2022-05-29] 0D2652F979E05D919B64C808AAB89C4C439B2F67 uid [ultimate] wks-submission@example.org sub rsa2048 2020-05-29 [E] $ gpg-wks-server --install-key 0D2652F979E05D919B64C808AAB89C4C439B2F67wks-submission@example.org gpg-wks-server: key 0D2652F979E05D919B64C808AAB89C4C439B2F67 published for wks-submission@example.org $ echo wks-submission@example.org \u0026gt; example.org/submission-address Configuration du serveur de messagerie L’annuaire étant en place, il faut maintenant configurer le serveur de messagerie afin que les messages envoyés à l’adresse de soumission choisie dans la section précédente (wks-submission@example.org) soit passés au programme gpg-wks-server, appelé sous le compte utilisateur responsable de l’annuaire (wks).\nIl y a bien sûr plusieurs façons de procéder, qui vont dépendre de votre serveur de messagerie et de sa configuration déjà existante. Il n’est pas possible de couvrir toutes les configurations possibles et en fin de compte je vous renvoie vers la documentation de votre logiciel serveur. Ce qui suit est à titre illustratif.\nL’approche probablement la plus simple est de rediriger les messages envoyés à wks-submission@example.org vers le compte local wks, puis d’installer la règle Procmail suivante dans le fichier ~/.procmailrc du compte wks :\n:0 |gpg-wks-server --receive --from wks-submission@example.org --send La commande --receive instruit gpg-wks-server de lire le message qu’il reçoit sur son entrée standard et d’agir en fonction du contenu du message (si c’est une nouvelle soumission, envoyer une demande de confirmation ; si c’est une confirmation, vérifier qu’elle correspond à une soumission en cours et que le nonce est correct). L’option --send demande à ce que la réponse soit directement renvoyée au système de messagerie, via la commande /usr/sbin/sendmail.\nUne autre configuration possible avec Postfix est d’avoir les lignes suivantes dans le main.cf :\nvirtual_alias_maps = hash:/etc/postfix/virtual mailbox_command_maps = hash:/etc/postfix/local_commands La première ligne installe une « table d’alias virtuels », permettant entre autres choses de rediriger une adresse virtuelle vers un compte local. La seconde ligne installe une table permettant de spécifier la commande de livraison à exécuter pour un compte local donné. On ajoutera la ligne suivante à la table /etc/postfix/virtual :\nwks-submission@example.org wks et la ligne suivante à la table /etc/postfix/local_commands :\nwks gpg-wks-server --receive --from wks-submission@example.org --send On n’oubliera pas bien sûr d’exécuter postmap sur les tables après édition.\nLa dernière chose à faire est d’installer une tâche cron pour purger régulièrement les soumissions non confirmées :\n42 3 * * * gpg-wks-server --cron Ajoutez cette tâche à la crontab de l’utilisateur wks. Modifiez la périodicité comme bon vous semble. À chaque invocation, gpg-wks-server \u0026ndash;cron supprimera les soumissions non-confirmées vieilles de plus de trois jours.\nConfiguration du serveur web L’annuaire est maintenant prêt et connecté au système de messagerie pour recevoir les soumissions de clefs, il ne reste plus qu’à le rendre accessible via le web.\nEn supposant ① que votre serveur web est sur la même machine que votre serveur mail, ② que votre serveur est Apache httpd, et ③ que vous avez opté pour le format d’URL dit direct, alors il devrait vous suffire d’ajouter les lignes suivantes dans la configuration du virtual host servant le domaine example.org :\nAlias /.well-known/openpgpkey /var/lib/gnupg/wks/example.org \u0026lt;Directory /var/lib/gnupg/wks/example.org\u0026gt; Require all granted \u0026lt;/Directory\u0026gt; Si vous avez plusieurs domaines, vous pouvez soit ajouter les lignes ci-dessus dans la configuration du virtual host de chaque domaine, soit opter pour le format d’URL avancé. Dans ce dernier cas, créez un nouveau virtual host qui sera dédié à l’annuaire et qui répondra au sous-domaine openpgpkey de chacun de vos domaine :\nServerName openpgpkey.example.org ServerAlias openpgpkey.example.com ServerAlias openpgpkey.example.net Alias /.well-known/openpgpkey /var/lib/gnupg/wks \u0026lt;Directory /var/lib/gnupg/wks\u0026gt; Require all granted \u0026lt;/Directory\u0026gt; Notez que les requêtes WKD se font systématiquement via HTTPS, donc votre nouvel hôte doit avoir une configuration TLS correcte et un certificat valable pour tous vos domaines openpgpkey.*.\nTest du service Si vous utilisez Thunderbird et Enigmail, vous pouvez tester la publication de votre clef dans votre annuaire en ouvrant le « gestionnaire de clefs » (Key Management). Sélectionnez votre clef, puis lancez la commande Upload to your provider’s Web Key Directory dans le menu Keyserver.\nEnigmail se chargera alors d’envoyer le message de soumission de clef et vous devriez rapidement recevoir sur votre adresse un message provenant de wks-submission@example.org. Ouvrez ce message, et Enigmail reconnaîtra qu’il s’agit d’une demande de confirmation et vous demandera si vous souhaitez confirmer ou non la publication de votre clef. Acceptez et vous recevrez un nouveau message vous annonçant que votre clef a bien été publiée dans l’annuaire.\nSi vous utilisez un client de messagerie sans support natif pour le protocole WKD Update Protocol, vous pouvez utiliser l’outil gpg-wks-client fourni par GnuPG. Notez que cet outil n’est pas forcément dans le PATH de votre interpréteur de commandes, il est par défaut installé dans /usr/libexec (parce qu’il n’est pas vraiment conçu pour être appelé directement par l’utilisateur, mais plutôt par les clients de messagerie).\nLa commande suivante permet de tester que le service d’annuaire pour example.org est bel et bien disponible :\n$ /usr/libexec/gpg-wks-client --supported alice@example.org Si la commande renvoie une valeur différente de zéro, inutile d’aller plus loin, il y a un problème avec votre annuaire, probablement dans la configuration du serveur web.\nCréez ensuite le message de soumission :\n$ /usr/libexec/gpg-wks-client 7685DC4214D727BB011BD6B754B4CC7749CAE7C3 alice@example.org \u0026gt; submit-msg Le fichier submit-msg contient le message de soumission prêt à être envoyé via votre client de messagerie habituel.\nNote\nSi vous avez un programme /usr/sbin/sendmail fonctionnel sur votre machine (qu’il s’agisse réellement de Sendmail ou d’un programme utilisant la même interface, comme msmtp par exemple), vous pouvez demander à gpg-wks-client d’envoyer le message lui-même avec l’option --send.\nLorsque vous recevrez la demande de confirmation dans votre client de messagerie, déchiffrez-là et sauvez-là dans un fichier, puis passez ce fichier à gpg-wks-client pour créer le message de confirmation :\n$ /usr/libexec/gpg-wks-client --read \u0026lt; confirm-request \u0026gt; confirm-msg Comme à l’étape précédente, envoyez le fichier confirm-msg via votre client habituel, ou utilisez l’option --send pour laisser gpg-wks-client s’en charger.\nSHA-1 n’est pas utilisé pour fournir une quelconque sécurité ici ; son seul intérêt est de transformer la partie locale de l’adresse e-mail en une chaîne de taille fixe et utilisant un jeu de caractères restreint. Aucune propriété cryptographique (résistance aux collisions ou aux recherches de pré-image) n’est attendue.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/blog/2020-05-29-deployer-un-service-d-annuaire-de-clefs-openpgp-pour-son-domaine/","tags":["wkd","Specification","keyserver"],"title":"Déployer un service d’annuaire de clefs OpenPGP pour son domaine"},{"categories":["Guide"],"contents":"Article initialement publié sur LinuxFR.org Suite à une diatribe de ma part à l’encontre de la mauvaise qualité de beaucoup de tutoriels consacrés à GnuPG, on m’a suggéré de créer le mien. Alors, without further ado, le voici.\nJournal à l’origine de la dépêche Site de GnuPG Blog de l’auteur : la carte OpenPGP Installation de GnuPG Si vous utilisez GNU/Linux, GnuPG est dans les dépôts de toutes les distributions, et il est très souvent installé par défaut.\nIl peut être utile néanmoins de vérifier que la version installée est bien issue de la dernière branche stable (2.2.x), et non de la branche 1.4.x (qui n’est maintenue que pour la compatibilité avec les versions de PGP datant des années 1990) ou des branches 2.0.x/2.1.x (qui sont obsolètes).\nIl est possible de faire cohabiter GnuPG 1.4 et GnuPG 2.2 sur le même système ; dans ce cas, assurez‑vous que la version que vous utilisez en temps normal est bien la 2.2.\nEn 2020, il semble que sur la plupart des distributions GNU/Linux, demander l’installation d’un paquet gnupg installe bien GnuPG 2.2, le binaire correspondant étant disponible sous le nom gpg. Il y a quelques exceptions, comme Fedora, où gnupg installe GnuPG 1.4 — il faut demander l’installation de gnupg2 pour avoir GnuPG 2.2, le binaire correspondant étant appelé gpg2.\nDans le reste de cet article, je supposerai que gpg est le binaire de GnuPG 2.2 ; remplacez gpg par gpg2 si besoin, en fonction de votre distribution.\nSous Windows, Gpg4Win est la distribution GnuPG de référence. La version 3.1.11, à l’heure où ces lignes sont écrites, fournit GnuPG 2.2.17.\nSous macOS, GPG Suite est une distribution fournissant GnuPG 2.2.17. GnuPG est aussi disponible via MacPorts , sous le nom gnupg2.\nGénérer sa clef Étape incontournable, la génération de la clef est malheureusement l’objet d’un volume considérable de désinformation. C’est l’étape où la plupart des « tutos » consacrés à GnuPG se fourvoient, et noient l’aspirant utilisateur sous une foule de « conseils » mal avisés, inutiles voire dangereux.\nAlors, une bonne fois pour toutes : générer une clef, ça se fait en une seule étape, une seule commande :\n$ gpg --gen-key GnuPG doit construire une identité pour identifier la clef. Nom réel : Alice Adresse électronique : alice@example.org Vous avez sélectionné cette identité : \u0026#34;Alice \u0026lt;alice@example.org\u0026gt;\u0026#34; Changer le (N)om, l’(A)dresse électronique ou (O)ui/(Q)uitter ? o De nombreux octets aléatoires doivent être générés. Vous devriez faire autre chose (taper au clavier, déplacer la souris, utiliser les disques) pendant la génération de nombres premiers ; cela donne au générateur de nombres aléatoires une meilleure chance d’obtenir suffisamment d’entropie. gpg: clef 54B4CC7749CAE7C3 marquée de confiance ultime gpg: revocation certificate stored as \u0026#39;/home/alice/.gnupg/openpgp-revocs.d/7685DC4214D727BB011BD6B754B4CC7749CAE7C3.rev\u0026#39; les clefs publique et secrète ont été créées et signées. pub rsa2048 2020-05-13 [SC] [expires: 2022-05-13] 7685DC4214D727BB011BD6B754B4CC7749CAE7C3 uid Alice \u0026lt;alice@example.org\u0026gt; sub rsa2048 2020-05-13 [E] Oui, c’est tout. Ça n’a pas besoin d’être plus compliqué que ça. Non, il n’est pas nécessaire d’ajouter préalablement trente‐cinq lignes dans le fichier de configuration de GnuPG pour changer les réglages par défaut. La configuration par défaut de GnuPG est saine ! Les réglages par défaut ont été choisis comme tels pour de bonnes raisons. Vous ne devriez y toucher que si vous savez exactement pourquoi ils ne conviendraient pas à votre cas d’utilisation — pas parce qu’un crypto‑nerd vous dit de le faire dans son billet de blog « générer une clef parfaite en dix‑sept étapes ».\nÀ quoi ressemble une clef générée en suivant les réglages par défaut ? C’est une clef principale RSA de 2 048 bits, destinée aux opérations de signature, et une sous‑clef de chiffrement similaire. Elle a une durée de validité de deux ans à compter de sa création, et est associée aux préférences d’algorithmes suivantes :\npour le chiffrement : AES256, puis AES192, AES128 et 3DES ; pour la condensation : SHA2‑512, puis SHA2‑384, SHA2‑256, SHA2‑224 et SHA‑1 ; pour la compression : ZLIB, puis BZIP2, ZIP, pas de compression. Une fois encore, ces préférences par défaut (qui ne datent pas d’hier — la plupart de ces réglages datent de 2009 ou 2010) sont saines et n’ont pas besoin d’être modifiées.\nÉventuellement, si l’idée d’une clef RSA de 2 048 bits vous fait tiquer (ça ne devrait pas) et si vous êtes sûrs que vos correspondants utilisent tous des implémentations suffisamment modernes d’OpenPGP, vous pouvez opter pour une clef utilisant l’algorithme par défaut des prochaines versions de GnuPG1 :\n$ gpg --quick-gen-key \u0026#39;Robert \u0026lt;bob@example.org\u0026gt;\u0026#39; future-default Sur le point de créer une clef pour : \u0026#34;Robert \u0026lt;bob@example.org\u0026gt;\u0026#34; Faut-il continuer ? (O/n) o De nombreux octets aléatoires doivent être générés. Vous devriez faire autre chose (taper au clavier, déplacer la souris, utiliser les disques) pendant la génération de nombres premiers ; cela donne au générateur de nombres aléatoires une meilleure chance d’obtenir suffisamment d’entropie. gpg: clef AC44CDC5733527A9 marquée de confiance ultime gpg: revocation certificate stored as \u0026#39;/home/bob/.gnupg/openpgp-revocs.d/D7D0521F44673693DFFEB13FAC44CDC5733527A9.rev\u0026#39; les clefs publique et secrète ont été créées et signées. pub ed25519 2020-05-13 [SC] [expires: 2022-05-13] D7D0521F44673693DFFEB13FAC44CDC5733527A9 uid Robert \u0026lt;bob@example.org\u0026gt; sub cv25519 2020-05-13 [E] Pous obtenez alors une clef principale de signature de type Ed25519 et une sous‑clef de chiffrement de type cv25519 ; comme leur nom le laisse supposer, ces clefs sont basées sur la courbe elliptique dite « 25519 » (RFC 7748 ).\nLa courbe 25519 ne fait pas encore partie du standard OpenPGP, qui officiellement ne prend en charge pour l’instant que les courbes P‑256, P‑384, et P‑521 du NIST (RFC 6637 ). Elle a néanmoins été ajoutée dès les premiers brouillons du RFC « 4880bis » (la prochaine version du standard) en 2016 et peut être utilisée dès maintenant sans crainte pour la compatibilité future.\nEn pratique, la courbe 25519 est gérée par la plupart des implémentations d’OpenPGP — à ma connaissance, au moins GnuPG (≥ 2.1), OpenPGP.js, Sequoia-PGP, et RNP. Déterminer si elle est prise en charge par « Broadcom Encryption Desktop » (héritier de Symantec PGP), en dénichant des informations techniques au milieu des arguments commerciaux de Broadcom, est laissé en exercice au lecteur.\nConcrètement, vous ne devriez pas rencontrer de problèmes si vous choisissez d’utiliser l’option future-default, à moins que certains de vos correspondants n’utilisent toujours GnuPG ≤ 2.0 — auquel cas, essayez de les convaincre de se mettre à jour, ce sera beaucoup plus productif que de suivre un tutoriel vous recommandant de générer une clef RSA de 8 192 bits.\nBien entendu, si la ligne de commande vous rebute, il est parfaitement possible de s’en passer. La manière exacte de générer une clef peut varier légèrement d’un frontal GnuPG à un autre (GPA, Seahorse, KGpg, etc.), mais les grandes lignes restent les mêmes et sont illustrées dans la suite.\nDans le reste de cet article, je privilégierai la ligne de commande aux frontaux graphiques. Nul élitisme de ma part, c’est simplement que l’interface en ligne de commande est la même partout, alors que chaque frontal a sa propre interface et qu’il n’est pas réaliste de les présenter tous — je reparlerai parfois de GPA parce que c’est le frontal que j’utilise, mais pour les autres, je vous renvoie à leur documentation.\nFigure 1 — Les quatre étapes pour créer une clef avec GNU Privacy Assistant (GPA), le frontal officiel de GnuPG : saisissez votre nom (A), votre adresse de courriel (B), choisissez si vous voulez une copie de sauvegarde de votre future clef (C), observez votre clef nouvellement créée (D).\nQue faire après avoir créé sa clef ? Sauvegarder les clefs Sauf contraintes très particulières, vos clefs doivent être sauvegardées ; n’en gardez qu’une seule copie sur la machine où elles ont été créées et sont utilisées, c’est courir le risque de les perdre (et avec elles, les données dont elles dépendent) le jour où le disque dur rend l’âme ou la machine est perdue ou volée.\nS’il est possible d’adopter pour les clefs publiques une stratégie de sauvegarde torvaldienne (c.‐à‐d. les « mettre sur un serveur FTP et laisser le reste du monde en faire des miroirs »), ce n’est évidemment pas le cas des clefs privées…\nVous pourriez être tenté de faire une simple archive du dossier .gnupg, qui contient tous les fichiers manipulés par GnuPG (dont les trousseaux). Toutefois, ce n’est pas nécessairement une bonne idée : le contenu exact de ce dossier est considéré comme un détail d’implémentation interne à GnuPG, qui à ce titre est susceptible de changer au fil des versions (par exemple, la manière de stocker les clefs sur le disque a radicalement changé entre GnuPG 2.0 et GnuPG 2.1). Il est préférable de n’utiliser que l’interface publique de GnuPG, qui générera un fichier au format standard OpenPGP, dont il est garanti qu’il sera lisible par n’importe quelle version future de GnuPG (ou par une autre implémentation conforme du standard, indépendante de GnuPG).\nComme entr’aperçu en figure 1, si vous avez créé vos clefs avec GPA, vous avez pu choisir de créer automatiquement une copie de sauvegarde dès le début. Sinon, utilisez la commande suivante pour créer une telle copie :\n$ gpg -o backup.gpg --export-secret-keys alice@example.org Contrairement à ce que le nom de la commande --export-secret-keys peut laisser supposer, le fichier backup.gpg ne contient pas que la partie secrète des clefs, mais aussi tous les éléments qui composent la clef publique. Ce fichier est donc suffisant à lui seul pour restaurer l’intégralité de vos clefs.\nPlus tard, lorsque vous aurez commencé à utiliser GnuPG pour échanger avec vos correspondants, vous aurez à sauvegarder deux éléments supplémentaires : les clefs publiques de vos correspondants et la confiance que vous leur accordez. Vous pouvez utiliser pour ça les deux commandes suivantes :\n$ gpg -o public-keys.gpg --export $ gpg --export-ownertrust \u0026gt; trust.txt Ce que vous faites ensuite de votre copie de sauvegarde est de votre ressort. Notez qu’elle contient vos clefs privées sous leur forme protégée par votre phrase de passe (sauf si vous avez choisi de ne pas avoir de phrase de passe lors de la création de la clef). Donc, pour peu que ladite phrase de passe soit assez robuste, quiconque mettrait la main sur votre sauvegarde ne serait pas pour autant en mesure d’utiliser vos clefs.\nAh, et cela peut sembler évident, mais : ne stockez pas la copie de sauvegarde de votre clef privée sur un support chiffré avec la clef publique correspondante, qui nécessiterait la clef privée pour y accéder !\nUne option de sauvegarde que j’apprécie particulièrement et que je recommande est celle de la sauvegarde sur papier. L’outil Paperkey est spécialement conçu pour ça : donnez‑lui votre copie de sauvegarde et il en fera une version imprimable :\n$ paperkey --secret-key backup.gpg | lpr Avoir des sauvegardes, c’est bien. Savoir les utiliser le jour où on en a besoin, c’est mieux. Les trois commandes suivantes restaurent successivement votre propre clef (parties publiques et privées), les clefs publiques de vos correspondants, et les informations de confiance :\n$ gpg --import backup.gpg $ gpg --import public-keys.gpg $ gpg --import-ownertrust \u0026lt; trust.txt Si vous devez restaurer votre clef à partir de la sauvegarde sur papier générée par paperkey, numérisez le papier en question, passez‑le à la reconnaissance optique de caractères (OCR) pour obtenir un fichier texte (appelé frompaper.txt dans la commande ci‑dessous), puis utilisez paperkey à nouveau pour reconstituer le fichier backup.gpg :\n$ paperkey --pubring public-keys.gpg --secrets frompaper.txt --output backup.gpg Notez l’utilisation du fichier public-keys.gpg, dans lequel paperkey vient trouver les parties publiques de votre clef (qui sont absentes de la version imprimable).\nMettre à l’abri le certificat de révocation Un certificat de révocation vous permet de signaler à vos correspondants de ne plus utiliser votre clef publique, dans l’éventualité où vous ne seriez plus en mesure d’utiliser la clef privée correspondante — typiquement, soit parce que vous avez perdu la clef elle‑même (je vous avais bien dit de faire une copie de sauvegarde…), soit parce que vous avez oublié la phrase de passe qui la protège.\nDe nombreux tutoriels vous enjoignent de créer un tel certificat immédiatement après avoir créé votre clef. Toutefois, c’est inutile. En effet, GnuPG l’a déjà fait pour vous, comme vous l’avez peut‑être remarqué dans les sorties console plus haut :\ngpg: revocation certificate stored as \u0026#39;/home/alice/.gnupg/openpgp-revocs.d/7685DC4214D727BB011BD6B754B4CC7749CAE7C3.rev\u0026#39; Vous le trouverez donc le dossier .gnupg/openpgp-revocs.d, dans un fichier nommé d’après l’empreinte de votre clef.\nC’est probablement une bonne idée de stocker ce certificat ailleurs que sur la machine où vous avez déjà votre clef, puisque vous ne voulez pas perdre ce certificat en même temps que la clef elle‑même. Attention, où que vous décidiez de le stocker, gardez à l’esprit que quiconque met la main dessus peut unilatéralement révoquer votre clef, sans avoir en sa possession la clef privée et sans la connaissance de la phrase de passe (c’est tout l’objet de ce certificat que de ne pas avoir besoin de la clef privée).\nN’utilisez ce certificat de révocation que dans le cas où vous perdez l’usage de votre clef. Si vous en avez toujours l’usage et que vous souhaitez la révoquer pour une toute autre raison (par exemple, simplement parce que vous estimez qu’elle a fait son temps et que vous souhaitez la remplacer par une nouvelle, ou si vous craignez qu’elle n’ait été compromise), générez un certificat de révocation ad hoc au moment où vous en avez besoin :\n$ gpg -o revcert.asc --generate-revocation alice@example.org sec rsa2048/54B4CC7749CAE7C3 2020-05-13 Alice \u0026lt;alice@example.org\u0026gt; Faut-il créer un certificat de révocation pour cette clef ? (o/N) o Choisissez la cause de la révocation : 0 = Aucune cause indiquée 1 = La clef a été compromise 2 = La clef a été remplacée 3 = La clef n’est plus utilisée Q = Annuler (Vous devriez sûrement sélectionner 1 ici) Quelle est votre décision ? 2 Entrez une description facultative, en terminant par une ligne vide : \u0026gt; Cause de révocation : La clef a été remplacée (Aucune description donnée) Est-ce d’accord? (o/N) o Sortie forcée avec armure ASCII. Certificat de révocation créé. Veuillez le déplacer sur un support que vous pouvez cacher ; toute personne accédant à ce certificat peut l’utiliser pour rendre votre clef inutilisable. Imprimer ce certificat et le stocker ailleurs est une bonne idée, au cas où le support devienne illisible. Attention tout de même : le système d’impression utilisé pourrait stocker ces données et les rendre accessibles à d’autres. L’avantage d’un certificat de révocation ad hoc, par rapport à un certificat « générique » généré préventivement à la création de la clef, est double. D’une part, comme illustré dans la sortie ci‑dessus, il permet de spécifier la raison motivant la révocation ; d’autre part, dans les cas où la clef est révoquée pour une raison autre qu’une compromission (choix 2 ou 3 ci‑dessus : clef remplacée ou plus utilisée), les signatures émises par la clef antérieurement à la révocation resteront valables, alors que dans le cas d’une clef révoquée sans raison explicitement spécifiée, toutes les signatures jamais émises par la clef sont remises en cause (comme dans le cas où la clef a été compromise).\nPour utiliser un certificat de révocation, importez‑le simplement dans votre trousseau avec gpg --import. Attention, importer un certificat de révocation ne demande pas de confirmation et est irréversible.\nDiffuser la clef publique Maintenant que vous avez une clef, il vous faut mettre la partie publique à disposition de vos correspondants.\nLes serveurs de clefs SKS Pendant longtemps, la méthode « classique » pour diffuser une clef publique a consisté à l’envoyer sur un des serveurs de clefs disponibles un peu partout sur Internet. Ces serveurs font typiquement partie d’un réseau au sein duquel les différentes instances se synchronisent régulièrement. Non seulement cela permet à l’utilisateur de ne pas se soucier du serveur auquel il s’adresse, mais cela fournit aussi une certaine résilience, aussi bien face aux incidents (un des serveurs du réseau devient subitement inaccessible) que contre certaines interférences de gens malintentionnés.\nMalheureusement, aujourd’hui la survie à long terme du réseau des serveurs de clefs est incertaine. Il y a plusieurs raisons à cela, qui sortent du cadre de cet article, mais on peut citer pêle‑mêle : quasiment pas de développeurs motivés pour travailler sur le logiciel serveur de référence (SKS-Keyserver ), un réseau entièrement dépendant de la bonne volonté des administrateurs (tous les nœuds sont gérés bénévolement), des désaccords dans la communauté sur les fonctionnalités que doit ou ne doit pas offrir un serveur de clefs, un principe de fonctionnement qui rend les serveurs vulnérables aux empoisonnements… C’est notamment ce dernier point qui, en 2019, a porté un coup probablement fatal au réseau, avec une attaque par empoisonnement visant quelques membres influents de la communauté.2\nQuelles que soient les raisons, le fait est qu’il n’y a plus, à l’heure où j’écris ces lignes, qu’à peine une vingtaine de serveurs dans le groupe principal sks-keyservers.net , contre facilement plus d’une centaine habituellement. Le réseau est toujours utilisable pour l’instant, mais il faut se préparer à ne plus pouvoir compter dessus dans un futur plus ou moins proche.\nPour l’instant donc, GnuPG est toujours configuré pour utiliser le groupe sks-keyservers.net par défaut, alors tant que le pool est vivant et si vous acceptez une certaine incertitude sur la disponibilité, vous n’avez rien de particulier à faire. Pour envoyer votre clef dont l’identifiant est 7685DC4214D727BB011BD6B754B4CC7749CAE7C3 sur un des serveurs du réseau, faites simplement :\n$ gpg --send-keys 7685DC4214D727BB011BD6B754B4CC7749CAE7C3 ou avec les huit derniers octets :\n$ gpg --send-keys 54B4CC7749CAE7C3 voire seulement les quatre derniers octets :\n$ gpg --send-keys 49CAE7C3 Le serveur keys.openpgp.org Un nouveau serveur de clefs a récemment vu le jour, en partie en réaction aux déboires du réseau SKS : keys.openpgp.org . Il utilise non pas SKS-Keyserver, mais Hagrid (le « gardien des clefs » de Poudlard), un serveur de clefs basé sur Sequoia-PGP (une bibliothèque OpenPGP en Rust).\nBien qu’il puisse être considéré comme un remplaçant ou un successeur du réseau SKS, plusieurs différences importantes sont à noter avant de décider de l’utiliser.\nIl s’agit d’un serveur, non d’un groupe (pool). Même si n’importe qui peut monter son propre serveur Hagrid (tout comme avec SKS), il n’y a aucune synchronisation possible entre serveurs (contrairement à SKS, pour lequel c’est même une fonctionnalité majeure). Même si les développeurs affirment qu’une certaine décentralisation est prévue à l’avenir, ils préviennent que, quelle que soit la forme que prendra cette décentralisation, il ne sera pas question d’une « fédération ouverte » similaire à SKS (ce qui personnellement me fait m’interroger sur ce que peut être une fédération « fermée » — d’autant que contrairement à ce qu’ils semblent suggérer, n’entrait déjà pas dans le groupe SKS qui veut). Le serveur keys.openpgp.org est donc un [point de défaillance unique] (single point of failure) et un point d’attaque unique (single point of attack).\nHagrid vérifie les adresses de courriel lorsqu’une clef est déposée sur le serveur, afin que seul le titulaire d’une adresse ne puisse déposer une clef associée à cette adresse. Le but étant à la fois de permettre à chacun de garder le contrôle sur ce qui est publié par le serveur, et d’offrir la garantie qu’une clef trouvée sur le serveur appartient bien à qui elle déclare appartenir (deux garanties jamais offertes par les serveurs classiques, par conception). C’est sympathique, mais cela implique que le serveur est de fait analogue à une autorité de certification à laquelle vous devez faire confiance, une idée qui personnellement ne me plaît guère.3\nDernier point, et pas des moindres, Hagrid viole délibérément le standard OpenPGP dans certaines situations (notamment pour la diffusion des certificats de révocation), en diffusant des paquets de clef publique associés à aucune identité — ce que le standard ne permet pas. Cela conduit les implémentations conformes à refuser certains paquets en provenance d’un serveur Hagrid. Ce n’est pas un « bogue de GnuPG » comme le laisse entendre la FAQ de keys.openpgp.org.\nCela étant dit, si vous souhaitez utiliser ce serveur pour y chercher des clefs, il vous suffit d’ajouter la ligne suivante dans le fichier ~/.gnupg/dirmngr.conf :\nkeyserver hkps://keys.openpgp.org Puis relancer le démon réseau de GnuPG, dirmngr :\n$ gpgconf --reload dirmngr Pour déposer une clef, en revanche, la commande --send-keys de GnuPG ne suffit pas, puisqu’elle ne permet pas à Hagrid de vérifier l’adresse (ce n’est pas prévu par le protocole HKP, utilisé par GnuPG derrière cette commande). À la place, il vous faut exporter la clef :\n$ gpg -o alice.pub --export alice@example.org Puis télécharger le fichier alice.pub sur keys.openpgp.org/upload , et suivre les instructions d’Hagrid pour procéder à la vérification d’adresse.\nSi vous utilisez le greffon Enigmail pour Thunderbird, il utilise déjà keys.openpgp.org par défaut et implémente l’API spécifique de Hagrid (en remplacement du protocole HKP), lui permettant de procéder à la vérification d’adresse en arrière‑plan sans intervention de l’utilisateur.\nAutres méthodes de distribution D’autres méthodes existent pour assurer la diffusion des clefs publiques, notamment la publication dans le DNS (DANE, RFC 7929 ) et dans un Web Key Directory (WKD ). Pour ces deux méthodes je vous renvoie à un précédent journal ; néanmoins la mise en œuvre de DANE et de WKD dépend de celui qui contrôle le domaine de votre adresse de courriel (votre fournisseur d’accès à Internet ou de messagerie, votre employeur, votre université…) — à moins que vous ne disposiez de votre propre domaine, décider d’utiliser DANE ou WKD n’est pas vraiment de votre ressort.\nAu‑delà des méthodes formalisées de distribution (serveurs de clefs décentralisés ou non, DANE, WKD), vous pouvez (devez ?) aussi distribuer votre clef par tous les moyens possibles et imaginables. La poster sur un forum, sur votre blog, dans votre profil Facebook (il y a un champ dédié à cet usage), etc.\nLà où il n’est pas pratique de publier la clef proprement dite faute de place, n’hésitez pas à publier a minima son empreinte : sur votre profil Twitter ou Mastodon (ou n’importe quel autre type de réseau dit « social »), sur vos cartes de visite, en signature de vos messages sur les forums où vous intervenez, etc.\nPour obtenir l’empreinte d’une clef (dont la vôtre), demandez simplement à GnuPG d’afficher ladite clef :\n$ gpg -k alice@incenp.org pub rsa2048 2020-05-13 [SC] 7685DC4214D727BB011BD6B754B4CC7749CAE7C3 uid [ ultime ] Alice \u0026lt;alice@example.org\u0026gt; sub rsa2048 2020-05-13 [E] Chiffrer, signer des fichiers Cette section passe rapidement en revue la manière d’utiliser GnuPG sur des fichiers locaux, sans communication avec l’extérieur.\nChiffrer un fichier Pour chiffrer un fichier à votre propre attention, la commande de base est la suivante :\n$ gpg -r alice@example.org -e lorem.txt L’option -r UID (ou --recipient UID) indique la clef publique avec laquelle chiffrer le fichier. Elle attend en paramètre l’identité (UID, User ID) associée à la clef que vous voulez utiliser. Ici, il s’agit de la vôtre (en supposant, comme dans tout le reste de ce journal, que vous êtes Alice). Notez que vous n’avez pas nécessairement besoin de spécifier l’identité en entier, dès lors qu’il n’y a aucune ambiguïté : si votre trousseau de clefs publiques ne contient qu’une seule clef dont l’identité associée contient la chaîne « alice », alors -r alice sera suffisant (dans le cas contraire, si plusieurs clefs peuvent correspondre, GnuPG sélectionnera arbitrairement la première qu’il trouve dans le trousseau, qui ne sera peut‑être pas celle que vous vouliez).\nSi vous prévoyez de chiffrer des fichiers à votre attention assez fréquemment, vous pouvez envisager d’ajouter l’option default-recipient-self dans le fichier de configuration de GnuPG (~/.gnupg/gpg.conf) ; elle conduira GnuPG à sélectionner votre propre clef publique par défaut si vous ne spécifiez aucune clef explicitement. Avec cette option en place, la commande ci‑dessus devient simplement :\n$ gpg -e lorem.txt Le paramètre -e (ou --encrypt) est la commande de chiffrement. Elle attend simplement le nom du fichier à chiffrer, dans le cas présent lorem.txt. Cette commande produira un fichier lorem.txt.gpg contenant la version chiffrée du fichier précédent.\nQuelle que soit l’opération que vous demandez à GnuPG (chiffrer, signer, déchiffrer), vous pouvez toujours utiliser l’option -o (ou --output) pour spécifier explicitement le nom du fichier de sortie.\nSigner un fichier Il y a trois commandes différentes pour effectuer une signature, qui correspondent aux trois types de signature possibles :\nla signature « standard » (faute d’un meilleur nom pour la désigner), demandée avec la commande -s (ou --sign), qui produit un fichier contenant à la fois le document qui a été signé (enveloppé dans un paquet OpenPGP) et la signature correspondante ; la signature en clair (cleartext signature), avec la commande --clear-sign, qui produit aussi un fichier contenant à la fois le document original et sa signature, mais ici le document original n’est pas enveloppé dans un paquet OpenPGP et reste sous une forme textuelle lisible — ce type de signature n’est utile que si le document original à signer est lui‑même de type texte, une signature en clair sur un document binaire n’a aucun sens ; la signature détachée, avec la commande -b (ou --detach-sign), qui produit un fichier ne contenant que la signature, sans le document original ; lors de la vérification, le document original doit être fourni à GnuPG en même temps que la signature détachée — ce type de signature est typiquement utilisé pour signer les archives de code source, l’avantage dans ce cas de figure étant que ceux qui ne sont pas intéressés par la vérification de la signature peuvent utiliser l’archive directement, sans avoir à l’extraire de son enveloppe OpenPGP, comme dans le cas d’une signature « normale ». Il est possible de signer et chiffrer en même temps en combinant les commandes -s et -e. Dans ce cas, le fichier produit contient à la fois le document chiffré et la signature correspondante. Ce n’est possible que pour les signatures « standard », combiner chiffrement et signature en clair ou détachée n’a pas de sens.\nToutes les commandes de signature utilisent par défaut la première clef trouvée dans le trousseau de clefs secrètes. La plupart des utilisateurs n’ont normalement qu’une seule clef secrète (compte non tenu des sous‑clefs), donc ce comportement convient la plupart du temps. Si néanmoins vous avez plusieurs clefs secrètes, vous pouvez ajouter l’option default-key UID1 dans le fichier de configuration de GnuPG pour toujours signer avec la clef associée à l’identité UID1, ou utiliser l’option -u UID2 sur la ligne de commande pour ponctuellement signer avec la clef associée à l’identité UID2.\nLes commandes de signatures produisent par défaut un fichier portant le même nom que le fichier à signer plus une extension dépendant du type de signature :.gpg pour une signature normale, .asc pour une signature en clair, .sig pour une signature détachée. Ces extensions sont purement conventionnelles et n’ont aucune signification pour GnuPG, qui identifie les fichiers qu’il manipule sur la base du type de paquets OpenPGP qu’ils contiennent et non sur leur extension.\nDéchiffrer, vérifier un fichier La commande -d (ou --decrypt) déchiffre un fichier :\n$ gpg -d lorem.txt.gpg gpg: chiffré avec une clef RSA de 2048 bits, identifiant 45EDD81BCE62E9BD, créée le 2020-05-13 \u0026#34;Alice \u0026lt;alice@example.org\u0026gt; Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus [...] Notez l’asymétrie entre les commandes de chiffrement (-e) et de déchiffrement (-d) : la première produit un fichier, tandis que la seconde écrit par défaut sur la sortie standard.\nSi le fichier lorem.txt.gpg est un fichier chiffré et signé, GnuPG vérifiera la signature en même temps qu’il déchiffrera, et affichera le résultat à la fin de l’opération :\n$ gpg -d lorem.txt.gpg gpg: chiffré avec une clef RSA de 2048 bits, identifiant 45EDD81BCE62E9BD, créée le 2020-05-13 \u0026#34;Alice \u0026lt;alice@example.org\u0026gt; Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus […] gpg: Signature faite le mar. 19 mai 2020 23:23:21 BST gpg: avec la clef RSA 7685DC4214D727BB011BD6B754B4CC7749CAE7C3 gpg: Bonne signature de « Alice \u0026lt;alice@example.org\u0026gt; » [ultime] La commande -d, malgré son nom, s’utilise aussi sur un fichier signé uniquement, pour vérifier la signature et extraire le document signé de son enveloppe OpenPGP et le rendre ainsi utilisable.\nOn utilisera la commande --verify pour vérifier une signature en clair…\n$ gpg --verify lorem.txt.asc gpg: Signature faite le mar. 19 mai 2020 23:34:22 BST gpg: avec la clef RSA 7685DC4214D727BB011BD6B754B4CC7749CAE7C3 gpg: Bonne signature de « Alice \u0026lt;alice@example.org\u0026gt; » [ultime] … ainsi que pour vérifier une signature détachée. Dans ce cas, GnuPG attend en premier argument le fichier de signature proprement dit, et en second argument le document original (en l’absence de cet argument, GnuPG cherchera un fichier portant le même nom que le fichier de signature moins l’extension .sig, mais il est préférable de spécifier le fichier explicitement) :\n$ gpg --verify lorem.txt.siglorem.txt gpg: Signature faite le mar. 19 mai 2020 23:41:52 BST gpg: avec la clef RSA 7685DC4214D727BB011BD6B754B4CC7749CAE7C3 gpg: Bonne signature de « Alice \u0026lt;alice@example.org\u0026gt; » [ultime] Il est aussi possible d’utiliser la commande --verify sur une signature « standard » ; mais dans ce cas, GnuPG ne fera que vérifier la signature, sans extraire le document signé, contrairement à ce que fait la commande -d.\nFigure 2 — Exemples d’opérations sur des fichiers avec GPA. Pour chiffrer un fichier, ouvrez‑le dans le File Manager (A) et cliquez sur le bouton correspondant dans la barre d’outils. Dans la fenêtre de dialogue qui s’ouvre (B), sélectionnez la clef publique avec laquelle chiffrer le document, et éventuellement la clef privée avec laquelle le signer. En (C), un exemple du résultat d’une vérification de signature.\nChiffrer, signer des courriels Pour finir, il est temps d’utiliser GnuPG pour ce pour quoi il est en principe conçu (même si en vrai vous l’utilisez bien pour ce que vous voulez…), à savoir chiffrer et signer des courriels.\nSi vous n’avez pas d’amis, vous pouvez toujours envoyer un courriel à Edward, un automate (bot) mis en place par la Free Software Foundation pour permettre aux gens d’essayer le chiffrement des courriels.\nObtenir la clef d’Edward La première étape pour établir une communication chiffrée, que ce soit avec Edward ou n’importe qui d’autre, est d’obtenir la clef publique de votre correspondant.\nCherchez donc la clef d’Edward sur les serveurs de clefs, et importez‑la :\n$ gpg --search-keys edward-fr@fsf.org gpg: data source: http://pgp.surf.nl:11371 (1) Edward, el simpático robot GnuPG \u0026lt;edawrd-es@fsf.org\u0026gt; Edward the GPG Bot \u0026lt;edward@fsf.org\u0026gt; Edward, the GPG Bot \u0026lt;edward-en@fsf.org\u0026gt; Edward, le gentil robot de GnuPG \u0026lt;edward-fr@fsf.org\u0026gt; […] 2048 bit RSA key 9FF2194CC09A61E8, créé : 2014-06-29 Keys 1-1 of 1 for \u0026#34;edward-fr@fsf.org\u0026#34;. Entre le ou les nombres, (S)uivant, ou (Q)uitter \u0026gt; 1 gpg: clef 9FF2194CC09A61E8 : clef publique « Edward, el simpático robot GnuPG \u0026lt;edward-es@fsf.org\u0026gt; » importée gpg: Quantité totale traitée : 1 gpg: importées : 1 Si vous avez choisi, dans la section relative aux serveurs de clefs, d’utiliser le nouveau serveur keys.openpgp.org, la clef d’Edward n’y est malheureusement pas disponible. Dans ce cas, vous pouvez utiliser l’option --keyserver sur la ligne de commande pour ponctuellement ignorer le serveur que vous avez configuré dans ~/.gnupg/dirmngr.conf :\n$ gpg --keyserver hkp://pool.sks-keyservers.net --search-keys edward-fr@fsf.org En cas de problème avec le réseau SKS, une copie de la clef est incluse ci‑dessous :\n-----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFOwfzoBCADpwK6sGC3EUzgD7IW1X5ZDR1nC5/rcXacAJLarPpvQBEz4pwjT joAzATM7F9RwIzJ3hJTZHiYaQY4cfiGlKSnrd8GPC8A4QkxXIaQ0hLpcsBSbtZJp o2iOzL2fRHmW2ZlnSHXPKbDwx5p0NcdQfjL9i2Yo31aLIO/Chhn5uyvIznOjaCSC /O6x2C4m81Lu+B4UTDpl8y6ChtphUxyFGd7RXDXmkYQrxVqJbXKuSVmNMhM09myG 7iQ1l0YLOcCxa3IXDqQkte49BhMGB9wl4eDTE86HEzRjMtdhFpbTOW/+1N4XkOUV y42HzGtmSAttojpIp00foNlWn1sn7JZJ18ojABEBAAG0NEVkd2FyZCwgbGUgZ2Vu dGlsIHJvYm90IGRlIEdudVBHIDxlZHdhcmQtZnJAZnNmLm9yZz6JATgEEwECACIF AlOxd9YCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEJ/yGUzAmmHorAwI AI/THdk1Lj0IoYxGzOxGq1j2l1iRa2JcKNdsj0PzSpDHjtycCqJZrjBWAMJRymBt WHeS6KLw992cEbmZ7wh0ObFXSicDTBOTAu3xwjNIRATAlH3f5nPNMnyULiNUbQin naU7zOr/Iq88onb3FrjqhGETdxGXBm6RgoWGX7vdzdgY99CnC5bTt3TCu+9ddzVJ NxS3yycwPl4IlRaSyQHQIMMRVs3p0e/8cqtZDBzsMOLPtoRGFoYBo3/pZWwF7kFX n6u/z7UzuvW+COYtU2wIdSVkdmpn9jWl4+7UgKOXprDcQmrdGiCeErUxPbpWikza VvVQkruAG9skMjuSk0Cmmai5AQ0EU7B/OgEIAMJfFthcYpgykvEHCBVm6vpMof1E xuQ1bxNI1KVs2GTXF2sn9dXa6RvM6dz9xferglaZnsG+j7ACVaEHsgqe/E0VjhIS NP1sJgH4dtyoL06dWp6Bs8SdI1Jasm+h55cXgYagahNpub1TUxjpsu8ZsyM/5cRp B2HCmCXIsTYPEwIQu77XMpNo+mRi8oguOJ44ZMIYrvzivrJh1GnCbimSFfj7eMoF 1SHwl+e+k8reDqnoIWp514NGo9LLlwGIG0TQcg9S/tIchibmMZOV+xSS+MFxpMvm eWCrgVJdK2paJ4d+8ZaxvkRDEtfGbmTOr7dFfA8i1heIPcbw4ejZEHGKWesAEQEA AYkBHwQYAQIACQUCU7B/OgIbDAAKCRCf8hlMwJph6O+7CADBAYe5gTjFsA+vwVNt gwrYXQv/w1XIndFUsOO3T7NjfTVETd652kIU4zFJRf3ebXbxz3E+1f1qPuVD8WJ9 5Roeyl8nsEoxr+iB6+/FqRIbHMnC0qqYRjVYvtD5ezgNpqGy/3dJmrhOuj7JHKIm aB6tALq6JWb5URDHU5tCHPCyBJQhuMGBZzzyAexmBSk2CiKLX9DyX36ZO2+vlQK4 X0FW1M4qrC1gEB7sEpP9xTsST7MZr9USevwRcbRd/GvPFpTnI6JWazAmnhoRyOEA ld6ORPNW1EUPBsIhfazP3v5SG5NXDAjYMHH/MbX872FhoBWerfHpi1yyZPHSkkXI UAaY =/0NJ -----END PGP PUBLIC KEY BLOCK----- Copiez‑la dans un fichier, puis importez‑la manuellement :\n$ gpg --import edward.asc Une fois la clef d’Edward dans votre trousseau public, il faut la signer pour la marquer comme valide (je vous renvoie à un précédent journal pour plus de détails sur la notion de validité, et notamment pour savoir en quoi le fait de signer une clef la rend valide). Pour cela, lancez l’éditeur de clefs sur la clef d’Edward :\n$ gpg --edit-key edward-fr@fsf.org pub rsa2048/9FF2194CC09A61E8 créé : 2014-06-29 expire : jamais utilisation : SC confiance : inconnu validité : inconnu sub rsa2048/469DDF6D9014D2D6 créé : 2014-06-29 expire : jamais utilisation : E [ inconnue] (1). Edward, el simpático robot GnuPG \u0026lt;edward-es@fsf.org\u0026gt; [ inconnue] (2) Edward the GPG Bot \u0026lt;edward@fsf.org\u0026gt; [ inconnue] (3) Edward, the GPG Bot \u0026lt;edward-en@fsf.org\u0026gt; [ inconnue] (4) Edward, le gentil robot de GnuPG \u0026lt;edward-fr@fsf.org\u0026gt; […] Affichez l’empreinte complète de la clef et vérifiez qu’elle correspond à l’empreinte dans la sortie ci‑dessous :\ngpg\u0026gt; fpr pub rsa2048/469DDF6D9014D2D6 2014-06-29 Edward, el simpático robotGnuPG \u0026lt;edward-es@fsf.org\u0026gt; Empreinte clef princip. : F357 AA1A 5B1F A42C FD9F E52A 9FF2 194C C09A 61E8 Si l’empreinte correspond, vous pouvez procéder à la signature :\ngpg\u0026gt; sign Voulez-vous vraiment signer toutes les identités ? (o/N) o pub rsa2048/9FF2194CC09A61E8 créé : 2014-06-29 expire : jamais utilisation : SC confiance : inconnu validité : inconnu Empreinte clef princip. : F357 AA1A 5B1F A42C FD9F E52A 9FF2 194C C09A 61E8 Edward, el simpático robot GnuPG \u0026lt;edwardes@fsf.org\u0026gt; Edward the GPG Bot \u0026lt;edward@fsf.org\u0026gt; Edward, the GPG Bot \u0026lt;edward-en@fsf.org\u0026gt; Edward, le gentil robot de GnuPG \u0026lt;edward-fr@fsf.org\u0026gt; […] Voulez-vous vraiment signer cette clef avec votre clef « Alice \u0026lt;alice@example.org\u0026gt; » (54B4CC7749CAE7C3) Voulez-vous vraiment signer ? (o/N) o gpg\u0026gt; save Thunderbird et Enigmail Si vous utilisez le client de messagerie électronique Thunderbird , vous devez (pour l’instant) installer le greffon Enigmail pour y ajouter la prise en charge d’OpenPGP, Thunderbird ne gérant nativement que S/MIME. Cherchez Enigmail depuis le gestionnaire de greffons de Thunderbird, puis installez‑le.\nEnigmail ne fonctionnera plus à partir de Thunderbird 78, dont la sortie est prévue d’ici la fin de l’année 2020. À la place, la nouvelle version de Thunderbird prendra nativement en charge OpenPGP sans qu’un greffon ne soit nécessaire.\nL’étendue de cette prise en charge native reste encore à voir, mais elle sera probablement, au moins dans l’immédiat, plus limitée que ce qui est actuellement offert par Enigmail.\nUne chose semble déjà sûre, Thunderbird n’utilisera pas les trousseaux de GnuPG (pas plus le trousseau public que le trousseau privé). Il sera possible d’importer les clefs de GnuPG vers Thunderbird, mais une fois cela fait, les clefs importées seront gérées par Thunderbird indépendamment de GnuPG — toute modification faite dans GnuPG sera invisible depuis Thunderbird et inversement.\nÀ titre personnel, je trouve que c’est une très mauvaise idée. Et je suis globalement assez dubitatif de l’approche consistant à jeter à la poubelle une implémentation pleinement fonctionnelle pour après coup se rendre que compte que « oh, ben zut, il y avait des fonctionnalités utiles en fait ; bon, comment on fait pour les réimplémenter from scratch maintenant ? », comme avec la gestion des cartes OpenPGP .\nL’avenir dira si cette orientation aura permis d’attirer de nouveaux utilisateurs ou si elle aura surtout fait fuir les utilisateurs déjà existants. /rant\nFigure 3 — Utilisation d’Enigmail dans Thunderbird. (A) Sitôt installé, Enigmail détecte votre installation de GnuPG et vos clefs pré‑existantes. (B) Envoi d’un courriel chiffré et signé à Edward, auquel on joint une copie de sa propre clef publique. (C) Réception et déchiffrement de la réponse automatique d’Edward.\nUne fois Enigmail installé, il devrait automatiquement détecter GnuPG et vous proposer de se configurer pour utiliser la clef que vous avez déjà ; acceptez en cliquant sur Apply my keys (figure 3A).\nSi vous installez Enigmail sans avoir préalablement généré vous‑même votre clef, Enigmail en générera silencieusement une pour vous, mais se configurera automatiquement pour utiliser p≡p plutôt que GnuPG. Sans rentrer dans les détails, p≡p est une solution de chiffrement opportuniste, basée entre autres sur OpenPGP mais où, en gros, l’utilisateur ne contrôle plus rien… L’utilisation de p≡p a parfois été appelée Junior mode, mais ce terme ne semble plus apparaître dans la documentation ou l’interface d’Enigmail.\nVous pouvez maintenant envoyer un courriel à edward-fr@fsf.org (figure 3B). Par défaut, le message sera signé, et comme la clef publique d’Edward est déjà dans votre trousseau, Enigmail devrait reconnaître son adresse et aussi activer le chiffrement. Si vous voulez qu’Edward puisse chiffrer également sa réponse à votre attention, pensez à joindre votre propre clef publique au message, en utilisant l’option appropriée dans le menu d’Enigmail.\nLors de l’envoi, il se peut qu’Enigmail vous propose une option appelée protected headers, qui vise à chiffrer certains en‑têtes du message (notamment l’objet) et non seulement le corps du message. Je déconseille personnellement cette option qui repose sur une proposition de standard à mon sens beaucoup trop complexe pour le bénéfice qu’elle apporte, et dont la prise en charge par un grand nombre de clients de messagerie est incertain. Gardez plutôt à l’esprit que les en‑têtes ne sont pas chiffrés,4 et abstenez‑vous de divulguer trop d’informations dans les objets de vos messages.\nAprès quelques minutes, vous devriez recevoir une réponse automatique d’Edward. Vous aurez ainsi confirmation que tout s’est bien passé (figure 3C). Félicitations, vous venez de procéder à votre premier échange de courriels chiffrés.\n(Neo)Mutt Si vous utilisez le client Mutt ou la divergence (fork) Neomutt , tous deux prennent nativement en charge OpenPGP et ne nécessitent qu’un minimum de configuration. Ajoutez simplement les deux lignes suivantes à votre fichier mutrc :\nset crypt_use_gpgme = yes set pgp_default_key = 0x7685DC4214D727BB011BD6B754B4CC7749CAE7C3 La première ligne configure (Neo)Mutt pour utiliser la bibliothèque GpgME pour interagir avec GnuPG (ce qui est la manière recommandée par les développeurs de GnuPG), au lieu d’appeler le binaire gpg directement (ce qui est toujours possible mais « error‑prone »). La seconde ligne indique la clef à utiliser par défaut ; cette clef sera utilisée pour signer vos messages, et pour en chiffrer une copie à votre attention (afin que vous puissiez toujours déchiffrer les messages envoyés à des tiers). Remplacez la valeur indiquée par l’empreinte de votre propre clef.\nFigure 4 — Utilisation de Neomutt. (A) Préparation d’un message chiffré et signé dans Neomutt. (B) Le menu PGP permettant de sélectionner si un message doit être chiffré, signé, signé avec une clef autre que celle configurée par défaut, chiffré et signé. (C) Le menu de sélection de la clef publique du destinataire.\nUne fois (Neo)Mutt configuré, envoyez donc un courriel à Edward. Préparez le message de la manière habituelle jusqu’à arriver à la fenêtre d’envoi (figure 4A). Par défaut, le message sera seulement signé, appuyez sur la touche p pour appeler le menu PGP (figure 4B), puis sur la touche b, comme indiqué, pour demander que le message soit chiffré et signé.\nAttachez au message une copie de votre clef publique en tapant Échap puis k et en sélectionnant votre clef dans le menu correspondant. Au moment d’envoyer le message, vous serez invité à sélectionner la clef publique avec laquelle chiffrer le message (figure 4C), parmi les clefs associées à une adresse correspondant à celle du destinataire du message. Sélectionnez la clef d’Edward (qui logiquement devrait être la seule, vous ne devriez pas avoir plus d’une clef associée à l’adresse edward-fr@fsf.org), puis envoyez.\nAttendez quelques minutes de recevoir la réponse d’Edward, et vérifiez que tout s’est bien passé.\nAutres clients Il ne serait pas réaliste de vouloir couvrir tous les clients de messagerie existants et je n’essayerai même pas.\nBeaucoup de clients libres ont une gestion native d’OpenPGP : GNOME Evolution, KMail, Claws-Mail… En général, ils n’opposent pas de difficultés majeures.\nSous Windows, la distribution Gpg4Win, déjà mentionnée dans la première section, est fournie avec GpgOL, un greffon pour Microsoft Outlook.\nSous macOS, GPG Suite fournit un greffon pour Apple Mail appelé GPG Mail. Attention, ce greffon est libre (comme le reste de GPG Suite) mais, depuis peu, payant.\nSous Android, OpenKeychain apporte la prise en charge d’OpenPGP à plusieurs applications, dont le client de messagerie K‑9 Mail .\nÀ titre personnel, il est hors de question que j’accepte de stocker une quelconque clef privée sur un téléphone Android. Je ne recommande l’utilisation d’OpenKeychain que couplée à un jeton cryptographique comme la Yubibey 5 NFC .\nComment changer la date d’expiration de sa clef ? N. D. M. : tiré de ce fil de commentaires .\nLa clef générée a donc une validité de deux ans. Que faire en 2022 pour pouvoir encore utiliser sa clef ?\nIl suffit de changer la date d’expiration, ce qui se fait avec la commande expire dans l’éditeur de clefs de GnuPG :\n$ gpg --edit-key alice La clef secrète est disponible. sec rsa2048/54B4CC7749CAE7C3 créé : 2020-05-13 expire : 2022-05-13 utilisation : SC confiance : ultime validité : ultime ssb rsa2048/45EDD81BCE62E9BD créé : 2020-05-13 expire : 2022-05-13 utilisation : E [ ultime ] (1). Alice \u0026lt;alice@example.org\u0026gt; gpg\u0026gt; expire Modification de la date d’expiration de la clef principale. Veuillez indiquer le temps pendant lequel cette clef devrait être valable. 0 = la clef n’expire pas \u0026lt;n\u0026gt; = la clef expire dans n jours \u0026lt;n\u0026gt;w = la clef expire dans n semaines \u0026lt;n\u0026gt;m = la clef expire dans n mois \u0026lt;n\u0026gt;y = la clef expire dans n ans Pendant combien de temps la clef est-elle valable ? (0) 0 La clef n’expire pas du tout Est-ce correct ? (o/N) o sec rsa2048/54B4CC7749CAE7C3 créé : 2020-05-13 expire : jamais utilisation : SC confiance : ultime validité : ultime ssb rsa2048/45EDD81BCE62E9BD créé : 2020-05-13 expire : 2022-05-21 utilisation : E [ ultime ] (1). Alice \u0026lt;alice@example.org\u0026gt; Attention, comme on le voit ici seule la date d’expiration de la clef principale a été changée. Pour changer celle de la sous‑clef de chiffrement, il faut relancer la commande expire après avoir sélectionné ladite sous‑clef avec la commande key :\ngpg\u0026gt; key 1 sec rsa2048/54B4CC7749CAE7C3 créé : 2020-05-13 expire : jamais utilisation : SC confiance : ultime validité : ultime ssb* rsa2048/45EDD81BCE62E9BD créé : 2020-05-13 expire : 2022-05-21 utilisation : E [ ultime ] (1). Alice \u0026lt;alice@example.org\u0026gt; La sous‑clef de chiffrement est maintenant sélectionnée (notez l’astérisque dans ssb*), on peut changer sa date d’expiration :\ngpg\u0026gt; expire Modification de la date d’expiration d’une sous-clef. Veuillez indiquer le temps pendant lequel cette clef devrait être valable. 0 = la clef n\u0026#39;expire pas \u0026lt;n\u0026gt; = la clef expire dans n jours \u0026lt;n\u0026gt;w = la clef expire dans n semaines \u0026lt;n\u0026gt;m = la clef expire dans n mois \u0026lt;n\u0026gt;y = la clef expire dans n ans Pendant combien de temps la clef est-elle valable ? (0) 0 La clef n’expire pas du tout Est-ce correct ? (o/N) o sec rsa2048/54B4CC7749CAE7C3 créé : 2020-05-13 expire : jamais utilisation : SC confiance : ultime validité : ultime ssb* rsa2048/45EDD81BCE62E9BD créé : 2020-05-13 expire : jamais utilisation : E [ ultime ] (1). Alice \u0026lt;alice@example.org\u0026gt; gpg\u0026gt; save À noter que la date d’expiration d’une clef peut être changée à tout moment — y compris une fois que la clef a déjà expiré ! Donc même si vous vous réveillez le 21 mai 2022 et que vous vous rendez compte que vous avez oublié de prolonger la période de validité de votre clef et qu’elle a expiré hier, il n’est pas trop tard pour la changer.\nLes changements de date d’expiration sont possibles dans tous les sens : on peut rendre « inexpirable » une clef qui avait auparavant une date d’expiration, tout comme on peut à l’inverse mettre une date d’expiration à une clef qui auparavant n’expirait jamais. Sitôt une nouvelle date d’expiration (y compris « pas de date d’expiration ») mise en place, les dates d’expirations précédentes sont complètement ignorées.\nLa seule contrainte est qu’il n’est pas possible de spécifier une date d’expiration postérieure au 7 février 2106 — c’est une limitation du format OpenPGP qui stocke les dates sous forme d’entiers non signés de 32 bits (or, 1ᵉʳ janvier 1970 + 2^(32) secondes ≈ 7 février 2106). Mais si vous avez besoin d’une clef valable aussi longtemps, autant rendre la clef « inexpirable »…\nAprès avoir changé la date d’expiration d’une clef, il faut permettre à ses correspondants de prendre connaissance de la nouvelle date d’expiration, en republiant la clef via n’importe quel moyen qui a été utilisé pour la publier en premier lieu (par exemple, en la renvoyant vers un serveur de clefs avec --send-keys).\nDe manière générale, toute modification de la clef (ajout ou révocation d’une identité, ajout ou révocation d’une sous‑clef, changement des algorithmes préférés, changement de la date d’expiration) est une modification locale, qui n’a pas d’effets au‑delà de votre machine tant que vous ne republiez pas explicitement votre clef. À aucun moment GnuPG ne prendra l’initiative de transmettre vos modifications au monde extérieur.\nN. B. — Le changement de la phrase de passe ne nécessite évidemment pas de republication, puisque cela ne concerne que la clef privée.\nUtilisation dans un logiciel ne prenant pas en charge GPG N. D. M. : tiré de ce fil de commentaires .\nSi l’on doit utiliser un client qui ne gère pas OpenPGP, ou une interface Web à laquelle on ne fait que moyennement confiance, il est possible de chiffrer, déchiffrer, signer ou vérifier un courriel autrement. Par exemple, en copiant le contenu depuis ou vers un fichier texte et en utilisant la ligne de commande via gpg ou en utilisant l’extension pour navigateur Mailvelope .\nPour le cas plus général d’un client (Web ou non) sans aucune prise en charge possible d’OpenPGP, oui, il est toujours possible en dernier recours de procéder aux opérations de chiffrement, déchiffrement et signature à l’extérieur du client. GPA, par exemple, a un mode « clipboard » (presse‑papiers), où vous pouvez écrire votre courriel, le chiffrer et/ou le signer, puis copier le résultat vers votre client (et inversement, vous pouvez y copier un message chiffré que vous avez reçu et l’y déchiffrer).\nC’est quand même une solution du pauvre, et dans la mesure du possible changer de client serait recommandé, surtout si c’est un client lourd (qu’un webmail ne prenne pas en charge OpenPGP, ce n’est pas surprenant, mais un client lourd, ça pourrait largement être une raison suffisante pour le disqualifier d’office).\nUn des gros problèmes de cette solution est qu’elle interdit pratiquement toute utilisation de PGP/MIME, sauf pour les fous furieux qui aiment construire et analyser des structures MIME « à la main ».\nRien n’est encore décidé du côté des développeurs de GnuPG concernant l’entrée en vigueur du nouveau choix d’algorithme par défaut ; le plus probable est que cela arrivera dans la prochaine branche 2.3.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nL’identité et les motivations de l’attaquant sont pour autant que je sache inconnues à ce jour, mais la nature ciblée de l’attaque pointe vers certains utilisateurs mécontents vis‑à‑vis du principe de fonctionnement des serveurs SKS et qui voulaient ainsi démontrer avec force que le réseau était vulnérable. Si tel est le cas, c’est stupide à plus d’un titre. Ils n’ont rien démontré que la communauté ne sache pas déjà (la vulnérabilité du réseau aux empoisonnements était bien connue) ; ils ont surtout réussi à saper les quelques bonnes volontés qui restaient parmi les développeurs et administrateurs SKS ; leur action est équivalente à « je vais mettre le feu à cet immeuble d’habitation, ça prouvera à tout le monde que le promoteur a utilisé un revêtement inflammable — je ferai ça de nuit quand les occupants dormiront, la démonstration sera plus convaincante ». S’ils me lisent : vous êtes des connards.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nL’intégrité des développeurs d’Hagrid et administrateurs de keys.openpgp.org n’est pas en cause. Ce sont des membres reconnus de la communauté OpenPGP, il ne fait aucun doute qu’ils sont dignes de confiance. C’est l’idée même de devoir faire confiance à une entité centralisée qui me dérange, indépendamment des personnes qui sont derrière.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nDu moins, pas chiffrés de bout en bout par OpenPGP. Si le message est acheminé à travers des connexions SMTP chiffrées par TLS (ce qui est de plus en plus courant aujourd’hui), les en‑têtes sont chiffrés au même titre que le reste du message, en mode point à point.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/blog/2020-05-23-bien-demarrer-avec-gnupg/","tags":["gnupg","keyserver"],"title":"Bien démarrer avec GnuPG"},{"categories":["guide"],"contents":"This article was originaly posted by Michał Górny on gentoo\u0026rsquo;s blog .\nOver the time, a number of developers have had problems following the Gentoo OpenPGP key policy (GLEP 63 . In particular, the key expiration requirements have resulted in many developers wanting to replace their key unnecessarily. I\u0026rsquo;ve been asked to write some instructions on managing your OpenPGP key, and I\u0026rsquo;ve decided to go for a full blog post with some less-known tips. I won\u0026rsquo;t be getting into detailed explanations how to use GnuPG though \u0026mdash; you may still need to read the documentation after all.\nPrimary key and subkeys An OpenPGP key actually consists of one or more pairs of public and private keys \u0026mdash; the primary key (or root key, in GLEP 63 naming), and zero or more subkeys. Ideally, the primary key is only used to create subkeys, UIDs, manipulate them and sign other people\u0026rsquo;s keys. All \u0026rsquo;non-key\u0026rsquo; cryptographic operations are done using subkeys. This reduces the wear of the primary key, and the risk of it being compromised.\nIf you don\u0026rsquo;t use a smartcard, then a good idea would be to move the private part of primary key off-site since you don\u0026rsquo;t need it for normal operation. However, before doing that please remember to always have a revocation certificate around. You will need it to revoke the primary key if you lose it. With GnuPG 2.1, removing private keys is trivial. First, list all keys with keygrips:\n$ gpg --list-secret --with-keygrip /home/you/.gnupg/pubring.kbx ------------------------------- sec rsa2048/0xBBC7E6E002FE74E8 2018-05-12 [SC] [expires: 2020-05-11] 55642983197252C35550375FBBC7E6E002FE74E8 Keygrip = B51708C7209017A162BDA515A9803D3089B993F0 uid [ultimate] Example key ssb rsa2048/0xB7BA421CDCD4AF16 2018-05-12 [E] [expires: 2020-05-11] Keygrip = 92230550DA684B506FC277B005CD3296CB70463C Note that the output may differ depending on your settings. The sec entry indicates a primary key. Once you find the correct key, just look for a file named after its Keygrip in ~/.gnupg/private-keys-v1.d (e.g. B51708C7209017A162BDA515A9803D3089B993F0.key here). Move that file off-site and voilà!\nIn fact, you can go even further and use a dedicated off-line system to create and manage keys, and only transfer appropriate private keys (and public keyring updates) to your online hosts. You can transfer and remove any other private key the same way, and use --export-key to transfer the public keys.\nHow many subkeys to use? Create at least one signing subkey and exactly one encryption subkey.\nSigning keys are used to sign data, i.e. to prove its integrity and authenticity. Using multiple signing subkeys is rather trivial \u0026mdash; you can explicitly specify the key to use while creating a signature (note that you need to append ! to key-id to force non-default subkey), and GnuPG will automatically use the correct subkey when verifying the signature. To reduce the wear of your main signing subkey, you can create a separate signing subkey for Gentoo commits. Or you can go ever further, and have a separate signing subkey for each machine you\u0026rsquo;re using (and keep only the appropriate key on each machine).\nEncryption keys are used to encrypt messages. While technically it is possible to have multiple encryption subkeys, GnuPG does not make that meaningful. When someone will try to encrypt a message to you, it will insist on using the newest key even if multiple keys are valid. Therefore, use only one encryption key to avoid confusion.\nThere is also a third key class: authentication keys that can be used in place of SSH keys. If you intend to use them, I suggest the same rule as for SSH keys, that is one key for each host holding the keyring. More on using GnuPG for SSH below.\nTo summarize: use one encryption subkey, and as many signing and authentication subkeys as you need. Using more subkeys reduces individual wear of each key, and makes it easier to assess the damage if one of them gets compromised.\nWhen to create a new key? One of the common misconceptions is that you need to create a new key when the current one expires. This is not really the purpose of key expiration \u0026mdash; we use it mostly to automatically rule out dead keys. There are generally three cases when you want to create a new key:\nif the key is compromised, if the primary key is irrecoverably lost, if the key uses really weak algorithm (e.g. short DSA key). Most of the time, you will just decide to prolong the primary key and subkeys, i.e. use the --edit-key option to update their expiration dates. Note that GnuPG is not very user-friendly there. To prolong the primary key, use expire command without any subkeys selected. To prolong one or more subkeys, select them using key and then use expire. Normally, you will want to do this periodically, before the expiration date to give people some time to refresh. Add it to your calendar as a periodic event.\n$ gpg --edit-key 0xBBC7E6E002FE74E8 Secret key is available. sec rsa2048/0xBBC7E6E002FE74E8 created: 2018-05-12 expires: 2020-05-11 usage: SC trust: ultimate validity: ultimate ssb rsa2048/0xB7BA421CDCD4AF16 created: 2018-05-12 expires: 2020-05-11 usage: E [ultimate] (1). Example key \u0026lt;example@example.com\u0026gt; gpg\u0026gt; expire Changing expiration time for the primary key. Please specify how long the key should be valid. 0 = key does not expire \u0026lt;n\u0026gt; = key expires in n days \u0026lt;n\u0026gt;w = key expires in n weeks \u0026lt;n\u0026gt;m = key expires in n months \u0026lt;n\u0026gt;y = key expires in n years Key is valid for? (0) 3y Key expires at Tue May 11 12:32:35 2021 CEST Is this correct? (y/N) y sec rsa2048/0xBBC7E6E002FE74E8 created: 2018-05-12 expires: 2021-05-11 usage: SC trust: ultimate validity: ultimate ssb rsa2048/0xB7BA421CDCD4AF16 created: 2018-05-12 expires: 2020-05-11 usage: E [ultimate] (1). Example key \u0026lt;example@example.com\u0026gt; gpg\u0026gt; key 1 sec rsa2048/0xBBC7E6E002FE74E8 created: 2018-05-12 expires: 2021-05-11 usage: SC trust: ultimate validity: ultimate ssb* rsa2048/0xB7BA421CDCD4AF16 created: 2018-05-12 expires: 2020-05-11 usage: E [ultimate] (1). Example key \u0026lt;example@example.com\u0026gt; gpg\u0026gt; expire Changing expiration time for a subkey. Please specify how long the key should be valid. 0 = key does not expire \u0026lt;n\u0026gt; = key expires in n days \u0026lt;n\u0026gt;w = key expires in n weeks \u0026lt;n\u0026gt;m = key expires in n months \u0026lt;n\u0026gt;y = key expires in n years Key is valid for? (0) 1y Key expires at Sun May 12 12:32:47 2019 CEST Is this correct? (y/N) y sec rsa2048/0xBBC7E6E002FE74E8 created: 2018-05-12 expires: 2021-05-11 usage: SC trust: ultimate validity: ultimate ssb* rsa2048/0xB7BA421CDCD4AF16 created: 2018-05-12 expires: 2019-05-12 usage: E [ultimate] (1). Example key \u0026lt;example@example.com\u0026gt; If one of the conditions above applies to one of your subkeys, or you think that it has reached a very high wear, you will want to replace the subkey. While at it, make sure that the old key is either expired or revoked (but don\u0026rsquo;t revoke the whole key accidentally!). If one of those conditions applies to your primary key, revoke it and start propagating your new key.\nPlease remember to upload your key to key servers after each change (using --send-keys).\nTo summarize: prolong your keys periodically, rotate subkeys whenever you consider that beneficial but avoid replacing the primary key unless really necessary.\nUsing gpg-agent for SSH authentication If you already have to set up a secure store for OpenPGP keys, why not use it for SSH keys as well? GnuPG provides ssh-agent emulation which lets you use an OpenPGP subkey to authenticate via SSH.\nFirstly, you need to create a new key. You need to use the --expert option to access additional options. Use addkey to create a new key, choose one of the options with custom capabilities and toggle them from the default sign+\u0026lt;em\u0026lt;encrypt to authenticate:\n$ gpg --expert --edit-key 0xBBC7E6E002FE74E8 Secret key is available. sec rsa2048/0xBBC7E6E002FE74E8 created: 2018-05-12 expires: 2020-05-11 usage: SC trust: ultimate validity: ultimate ssb rsa2048/0xB7BA421CDCD4AF16 created: 2018-05-12 expires: 2020-05-11 usage: E [ultimate] (1). Example key \u0026lt;example@example.com\u0026gt; gpg\u0026gt; addkey Please select what kind of key you want: (3) DSA (sign only) (4) RSA (sign only) (5) Elgamal (encrypt only) (6) RSA (encrypt only) (7) DSA (set your own capabilities) (8) RSA (set your own capabilities) (10) ECC (sign only) (11) ECC (set your own capabilities) (12) ECC (encrypt only) (13) Existing key Your selection? 8 Possible actions for a RSA key: Sign Encrypt Authenticate Current allowed actions: Sign Encrypt (S) Toggle the sign capability (E) Toggle the encrypt capability (A) Toggle the authenticate capability (Q) Finished Your selection? s Possible actions for a RSA key: Sign Encrypt Authenticate Current allowed actions: Encrypt (S) Toggle the sign capability (E) Toggle the encrypt capability (A) Toggle the authenticate capability (Q) Finished Your selection? e Possible actions for a RSA key: Sign Encrypt Authenticate Current allowed actions: (S) Toggle the sign capability (E) Toggle the encrypt capability (A) Toggle the authenticate capability (Q) Finished Your selection? a Possible actions for a RSA key: Sign Encrypt Authenticate Current allowed actions: Authenticate (S) Toggle the sign capability (E) Toggle the encrypt capability (A) Toggle the authenticate capability (Q) Finished Your selection? q [...] Once the key is created, find its keygrip:\n$ gpg --list-secret --with-keygrip /home/mgorny/.gnupg/pubring.kbx ------------------------------- sec rsa2048/0xBBC7E6E002FE74E8 2018-05-12 [SC] [expires: 2020-05-11] 55642983197252C35550375FBBC7E6E002FE74E8 Keygrip = B51708C7209017A162BDA515A9803D3089B993F0 uid [ultimate] Example key \u0026lt;example@example.com\u0026gt; ssb rsa2048/0xB7BA421CDCD4AF16 2018-05-12 [E] [expires: 2020-05-11] Keygrip = 92230550DA684B506FC277B005CD3296CB70463C ssb rsa2048/0x2BE2AF20C43617A0 2018-05-12 [A] [expires: 2018-05-13] Keygrip = 569A0C016AB264B0451309775FDCF06A2DE73473 This time we\u0026rsquo;re talking about the keygrip of the [A] key. Append that to ~/.gnupg/sshcontrol:\n$ echo 569A0C016AB264B0451309775FDCF06A2DE73473 \u0026gt;\u0026gt; ~/.gnupg/sshcontrol The final step is to have gpg-agent with --enable-ssh-support started. The exact procedure here depends on the environment used. In XFCE, it involves setting a hidden configuration option:\n$ xfconf-query -c xfce4-session -p /startup/ssh-agent/type -n -t string -s gpg-agent Further reading GLEP 63: Gentoo GPG key policies Subkeys \u0026ndash; Debian Wiki xfce » xfce4-session » advanced # SSH and GPG Agents GnuPG \u0026ndash; ArchWiki # SSH agent ","permalink":"/fr/blog/2018-05-12-on-openpgp-gnupg-key-management/","tags":["Experience","gnupg"],"title":"On OpenPGP (GnuPG) key management"},{"categories":null,"contents":"Si vous vous demandez, ce qu\u0026rsquo;est une KSP, commençons par dire que c\u0026rsquo;est dans le domaine de la cryptographie , discipline qui s\u0026rsquo;attache à protéger les messages (en en assurant la confidentialité , l\u0026rsquo;authenticité et l\u0026rsquo;intégrité ) en utilisant des\u0026hellip; clefs .\nDes clefs de chiffrement \u0026ndash; pas de cryptage \u0026ndash; pour déchiffrer les messages (qui peuvent être décryptés sans en avoir la clef, par force brute par exemple). À part pour Canal+, évitez de parler de crypter un message avec une clef, un algorithme ou un logiciel.\nL\u0026rsquo;an dernier Ludovic a donné une interview à Markina Corpus dans laquelle il présente GPG, l\u0026rsquo;intérêt des signatures et du chiffrement.\n\u0026hellip; lire la suite ","permalink":"/fr/event/2017-11-02-ksp-paris/","tags":null,"title":"KSP Paris"},{"categories":["study"],"contents":"Article initialement publié par gouttegd sur LinuxFR.org .\nIntroduction Un problème fréquemment rencontré avec OpenPGP est celui de la distribution des clefs publiques : comment Alice peut-elle transmettre sa clef publique à Bob, étape préalable indispensable à toute communication sécurisée ?\nDepuis les premières versions de PGP, plusieurs méthodes ont été élaborées pour tenter de résoudre ce problème. Cet article les passe en revue.\nLes serveurs de clefs La première méthode, la plus connue et celle historiquement associée au monde OpenPGP, consiste à enregistrer la clef auprès d’un serveur de clefs, qui la rendra disponible à quiconque la demande.\nUn peu d’histoire Les premiers « serveurs de clefs » n’étaient en fait rien de plus que de simples serveurs FTP sur lesquels était disponible un trousseau de clefs publiques, par convention sous le chemin /pub/pgp/keys/pubring.gpg et dans un format directement utilisable par PGP. Un exemple d’un tel serveur était ftp.pgp.net, dont le contenu était « mirroré » sur plusieurs serveurs nationaux (ftp.uk.pgp.net, ftp.de.pgp.net, etc.).\nCette méthode est désormais complètement obsolète et la plupart des serveurs FTP de l’époque ne répondent même plus. À l’heure où j’écris ces lignes (décembre 2016), ftp.pl.pgp.net est l’un des rares encore actifs. Il héberge un trousseau contenant un peu plus de cinquante mille clefs, la plus récente datant de 2001.\nPour offrir davantage de fonctionnalités que ne le permettait la simple publication d’un trousseau à travers FTP, Michael Graff a écrit le premier véritable serveur de clefs à proprement parler, le PGP Keyserver Software,1 utilisant un protocole basé sur le courrier électronique . Bien que lui aussi tombé aujourd’hui en désuétude, ce protocole est toujours partiellement supporté (en lecture seulement, sans possibilité de déposer une clef) par certains serveurs modernes. Ainsi, on pourra par exemple chercher les clefs associées à l’adresse alice@example.org en envoyant à pgp-public-keys@pool.sks-keyservers.net un message contenant le sujet INDEX alice@example.org.\nLa deuxième génération de serveurs est apparue en 1996 avec le OpenPGP Public Key Server (PKS), écrit par Marc Horowitz dans le cadre de sa thèse au MIT . Outre le protocole à base d’e-mail repris de la génération précédente, ce serveur a introduit le HTTP Keyserver Protocol (HKP). Basé sur le protocole HTTP comme son nom l’indique (quoiqu’il ait parfois été appelé Horowitz Keyserver Protocol en référence à son auteur), HKP fut décrit ultérieurement dans un brouillon IETF . La spécification n’a jamais atteint le stade de RFC mais le protocole n’en est pas moins resté et est toujours aujourd’hui le protocole utilisé par les serveurs modernes.\nAujourd’hui, les serveurs modernes, justement, tournent pour la plupart sous Synchronizing Key Server (SKS), écrit initialement par Yaron Minsky et qui a largement supplanté PKS. Contrairement à ce que son nom pourrait laisser croire, SKS n’est pas le premier logiciel serveur permettant la synchronisation des serveurs de clefs (PKS le faisait déjà), mais SKS utilise pour cela un protocole dédié (sur le port 11370) couplé à un algorithme de réconciliation permettant de réduire le traffic nécessaire pour synchroniser deux serveurs (PKS utilisait une approche plus naïve et moins efficace).\nLe protocole HKP Le protocole HKP est une application particulière du protocole HTTP. Par défaut, il utilise le port TCP 11371 ou, dans sa version sécurisée par TLS (HKPS), par le port HTTPS standard 443.2\nIl peut aussi passer par un port arbitraire, que l’on indiquera aux clients via un enregistrement SRV (RFC 2782 ) de la forme _pgpkey-http._tcp.servername.example (ou _pgpkey-https pour la version HKPS). Par exemple, l’enregistrement SRV suivant :\n_pgpkey-http._tcp.keyserver.example IN SRV 10 0 49152 server1.example informera un client souhaitant utiliser le serveur keyserver.example qu’il doit contacter la machine server1.example sur le port 49152.\nPour rechercher et récupérer une clef, il faut demander au serveur, via une requête GET, une ressource de la forme /pks/lookup?op=action\u0026amp;search=cible, où action peut être index pour obtenir une liste des clefs correspondant au critère cible, ou get pour obtenir une clef précise.\nLe paramètre cible sera soit un motif à rechercher dans les noms et adresses e-mails associés aux clefs, soit, s’il est précédé de 0x, l’empreinte de la clef recherchée, sous sa forme complète (de préférence) ou tronquée aux 8 derniers octets (ce qu’on appelle « l’identifiant long » ou long key ID) ou aux 4 derniers octets (« l’identifiant court » ou short key ID).\nPar défaut, le serveur renvoie une page HTML contenant les informations demandées ; en ajoutant le paramètre options=mr, le serveur renvoie une réponse sous forme de texte brut aisément analysable (mr signifie Machine-readable).\nOn peut illustrer le fonctionnement du protocole HKP en interrogeant directement un serveur depuis la ligne de commande avec des outils comme wget ou curl. Par exemple, pour chercher la clef du robot Edward (mis en place par la FSF dans le cadre de son initiative Autodéfense courriel ) :\n$ wget --quiet -O - \\ \u0026#39;http://pool.sks-keyservers.net:11371/pks/lookup?\u0026#39;\\ \u0026#39;op=index\u0026amp;search=edward@fsf.org\u0026amp;options=mr\u0026#39; info:1:1 pub:F357AA1A5B1FA42CFD9FE52A9FF2194CC09A61E8:1:2048:1404075834:: uid:Edward the GPG Bot \u0026lt;edward@fsf.org\u0026gt;:1404075834:: uid:Edward, the GPG Bot \u0026lt;edward-en@fsf.org\u0026gt;:1404098786:: uid:Edward, l\u0026#39;amichevole bot GnuPG \u0026lt;edward-it@fsf.org\u0026gt;:1406839147:: uid:Edward, le gentil robot de GnuPG \u0026lt;edward-fr@fsf.org\u0026gt;:1404139478:: […] Les curieux pourront consulter le brouillon IETF sus-mentionné pour savoir exactement comment interpréter la réponse du serveur (section 5.2, Machine Readable Indexes) ; en gros, le serveur indique avoir trouvé une clef publique, et donne les caractéristiques de celle-ci et la liste des User IDs associées.\nPour rapatrier la clef trouvée :\n$ wget --quiet -O - \u0026#39;http://pool.sks-keyservers.net:11371/pks/lookup?\u0026#39;\\ \u0026#39;op=get\u0026amp;search=0x9FF2194CC09A61E8\u0026amp;options=mr\u0026#39; -----BEGIN PGP PUBLIC KEY BLOCK----- Version: SKS 1.1.5 Comment: Hostname: pgp.surfnet.nl mQENBFOwfzoBCADpwK6sGC3EUzgD7IW1X5ZDR1nC5/rcXacAJLarPpvQBEz4pwjTjoAzATM7 F9RwIzJ3hJTZHiYaQY4cfiGlKSnrd8GPC8A4QkxXIaQ0hLpcsBSbtZJpo2iOzL2fRHmW2Zln […] I6JWazAmnhoRyOEAld6ORPNW1EUPBsIhfazP3v5SG5NXDAjYMHH/MbX872FhoBWerfHpi1yy ZPHSkkXIUAaY =exlR -----END PGP PUBLIC KEY BLOCK----- Pour déposer une clef sur un serveur, on envoie une requête POST sur la ressource /pks/add, le corps de la requête, au format x-www-form-urlencoded, étant simplement constitué d’une variable keytext contenant la clef publique en « armure ASCII ».\nPar exemple, si le fichier clef.asc contient une telle clef publique, on peut l’envoyer au serveur comme suit :\n$ curl --data-urlencode keytext@clef.asc \\ http://pool.sks-keyservers.net:11371/pks/add \u0026lt;html\u0026gt;\u0026lt;body\u0026gt;Key block added to key server database. New public keys added: \u0026lt;br\u0026gt;1 key(s) added successfully.\u0026lt;/br\u0026gt;\u0026lt;/html\u0026gt;\u0026lt;/body\u0026gt; Les serveurs publics L’Internet renferme de quelques dizaines à quelques centaines de serveurs de clefs publics (c’est-à-dire utilisables par tout le monde, que ce soit pour y déposer une clef ou pour en rechercher une). Ils sont gérés par des volontaires, qui sont aussi bien des particuliers que des entreprises ou, souvent, des organismes de recherche ou d’enseignement supérieur (par exemple, un des plus anciens serveurs, et un des plus connus, est celui du MIT, pgp.mit.edu).\nCes serveurs se synchronisent régulièrement entre eux et le choix du serveur à interroger ou auprès duquel déposer sa clef n’a en principe pas d’importance. En fait, on évitera même, en règle générale, de référencer un serveur particulier par son propre nom (comme pgp.mit.edu déjà cité) : on utilisera plutôt des pools, des ensembles de serveurs répondant derrière un même nom DNS (à la manière des serveurs NTP du NTP Pool Project).\nLe principal pool, sks-keyservers.net , rassemble les serveurs tournant sous SKS ; il est géré par Kristian Fiskerstrand (un des mainteneurs de SKS). À l’heure où j’écris ces lignes, il référence 109 serveurs, joignables derrière le nom générique pool.sks-keyservers.net. Des « sous-pools » permettent également de regrouper certains de ces serveurs en fonction de leur localisation géographique (ainsi, eu.pool.sks-keyservers.net est un pool de serveurs européens, et na.pool.sks-keyservers.net est un pool de serveurs nord-américains) ou de leur connectivité (ainsi, ipv6.pool.sks-keyservers.net ne contient que des serveurs joignables en IPv6, et ha.pool.sks-keyservers.net ne contient que des serveurs « à haute disponibilité »).\nLe sous-pool hkps.pool.sks-keyservers.net, lui, regroupe les serveurs offrant la version TLS du protocole HKP, sur le port HTTPS standard 443. À noter, tous les serveurs de ce pool utilisent un certificat X.509 signé par une autorité de certification spécifique , gérée par Kristian Fiskerstrand lui-même et exclusivement dédiée aux serveurs SKS.\nCeux qui souhaitent monter leur propre serveur de clefs sous SKS pourront consulter avec profit le document Building a PGP SKS Keyserver , par Matt Rude.\nLes serveurs LDAP En plus du protocole HKP, il est aussi possible d’utiliser le protocole LDAP . PGP Corporation, qui fut un temps l’éditeur de PGP avant son rachat par Symantec, a fourni un schéma permettant de stocker des clefs PGP dans une base LDAP ; ce schéma est aujourd’hui disponible à plusieurs endroits sur Internet.\nUn avantages des serveurs LDAP sur les serveurs HKP, selon l’utilisation que l’on veut faire du serveur, réside dans la possibilité de mettre en place des contrôles d’accès (ne pas autoriser n’importe qui à consulter ou modifier le contenu du serveur), ce que le protocole HKP ne permet pas.\nDu coup, c’est une option intéressante pour un serveur que l’on veut non-public ou du moins pas complètement public : par exemple, un serveur distribuant les clefs du personnel d’une entreprise (on veut bien que tout le monde puisse y récupérer des clefs, mais seuls les membres du personnel peuvent y déposer une clef, et seulement la leur).\nLe wiki de GnuPG contient une page consacrée à l’installation d’un tel serveur.\nNote\nUne convention initiée par PGP veut que le serveur de l’entreprise Example Corporation, servant des clefs pour des adresses en example.com, soit accessible sous le nom keys.example.com. Grâce à cette convention, quand Alice veut envoyer un message à Bob (bob@example.com), PGP pourra récupérer automatiquement la clef de Bob en interrogeant keys.example.com.\nUne variante de ce mécanisme utilise un enregistrement SRV, comme dans l’exemple suivant :\n_pgpkey-ldap._tcp.example.com. 3600 IN SRV 10 10 389 servername.example.com. qui indique que les clefs pour les adresses en example.com peuvent être obtenues auprès du serveur servername.example.com sur le port 389.\nIl faut noter que ces mécanismes de récupération automatique des clefs sur un serveur LDAP ne sont pas implémentés actuellement par GnuPG, même si la page de manuel dit le contraire. Personne ne semble s’être plaint de ce bug.\nUtilisation avec GnuPG Dirmngr Depuis la version 2.1, Gpg délègue toutes les interactions avec les serveurs de clefs à Dirmngr, un démon chargé de toutes les tâches impliquant un accès réseau. Comme les autres démons auxiliaires du projet GnuPG (GPG-Agent, Scdaemon), il est automatiquement lancé par Gpg quand il est nécessaire.\nDirmngr utilise par défaut le pool hkps.pool.sks-keyservers.net déjà cité, ce qui devrait convenir à la plupart des utilisateurs qui n’ont alors pas besoin de se soucier davantage de Dirmngr.\nCeux qui veulent utiliser un autre serveur ou pool de serveurs devront renseigner l’option keyserver dans le fichier de configuration de Dirmngr, soit $GNUPGHOME/dirmngr.conf.3\nSi vous choisissez d’utiliser un serveur HKPS dont le certificat n’est pas signé par une autorité de certification reconnue du système d’exploitation, vous devrez ajouter l’option hkp-cacert qui pointera vers un fichier contenant le(s) certificat(s) racine(s) au format PEM. Notez que ce n’est pas nécessaire pour le pool hkps.pool.sks-keyservers.net, dont le certificat racine est connu de GnuPG.\nDepuis la version 2.1.10, Dirmngr peut utiliser le réseau Tor pour accéder aux serveurs de clefs (cela nécessite évidemment une installation fonctionnelle de Tor), grâce aux options suivantes :\nuse-tor keyserver hkp://jirk5u4osbsr34t5.onion L’adresse jirk5u4osbsr34t5.onion est celle du pool de sks-keyservers.net.\nAprès toute modification du fichier de configuration de Dirmngr, signalez au démon de recharger sa configuration avec l’outil gpgconf :\n$ gpgconf --reload dirmngr Enfin, ce n’est normalement jamais utile, mais signalons que vous pouvez communiquer directement avec Dirmngr en utilisant l’outil gpg-connect-agent. Par exemple, pour connaître le ou les serveur(s) que Dirmngr est actuellement configuré pour utiliser :\n$ gpg-connect-agent --dirmngr \u0026gt; KEYSERVER S KEYSERVER hkps://hkps.pool.sks-keyservers.net OK ^D Utilisez la commande HELP pour la liste des commandes acceptées par le démon.\nChercher et récupérer une clef Utilisez la commande --search-keys de Gpg pour interroger les serveurs de clefs. Par exemple, pour chercher (à nouveau) la clef du robot Edward déjà mentionné :\n$ gpg2 --search-keys edward-fr@fsf.org gpg: data source: https://37.191.25.53:443 (1) Edward the GPG Bot \u0026lt;edward@fsf.org\u0026gt; Edward, the GPG Bot \u0026lt;edward-en@fsf.org\u0026gt; Edward, l\u0026#39;amichevole bot GnuPG \u0026lt;edward-it@fsf.org\u0026gt; Edward, le gentil robot de GnuPG \u0026lt;edward-fr@fsf.org\u0026gt; 2048 bit RSA key 9FF2194CC09A61E8, created: 2014-06-29 Keys 1-1 for \u0026#34;edward-fr@fsf.org\u0026#34;. Enter number(s), N)ext, or Q)quit \u0026gt; Gpg affiche la liste des clefs correspondant au motif que vous avez demandé. Si la clef que vous cherchiez s’y trouve, entrez simplement son numéro pour la télécharger et l’importer dans votre trousseau. Ici, une seule clef a été trouvée et il suffit d’entrer 1 pour la rapatrier :\nKeys 1-1 of 1 for \u0026#34;edward-fr@fsf.org\u0026#34;. Enter number(s) N)ext, or Q)uit \u0026gt;1 gpg: key 9FF2194CC09A61E8: public key \u0026#34;Edward, le gentil robot de GnuPG \u0026lt;edward-fr@fsf.org\u0026gt;\u0026#34; imported gpg: Total number processed: 1 gpg: imported: 1 Pour importer depuis les serveurs une clef dont vous connaissez déjà l’empreinte complète ou, à défaut, l’identifiant long (8 derniers octets) ou l’identifiant court (4 derniers octets), utilisez la commande --receive-keys (ou --recv-keys suivie de l’empreinte ou de l’identifiant :\n$ gpg2 --receive-keys 9FF2194CC09A61E8 Notez qu’il est aujourd’hui pratiquement trivial de générer une clef OpenPGP avec un identifiant court de son choix. Ces identifiants ne devraient plus être utilisés aujourd’hui. Il faut leur préférer les identifiants longs ou, mieux, les empreintes complètes.\nPublier une clef Publier une clef sur les serveurs se fait simplement via l’intermédiaire de la commande --send-keys, suivie de l’empreinte ou de l’identifiant (long ou court, comme d’habitude4) :\n$ gpg2 --send-keys 9FF2194CC09A61E8 Rafraîchir les clefs Pour rafraîchir une clef déjà dans votre trousseau, c’est-à-dire obtenir la dernière version publiée de cette clef (avec toutes les éventuelles nouvelles identités, sous-clefs, et signatures), utilisez la commande --refresh-keys.\nSans arguments, cette commande rafraîchit l’intégralité du trousseau. Elle peut aussi accepter des arguments limitant les clefs à rafraîchir, soit sous la forme d’identifiants de clefs, soit d’identités (complètes ou partielles).\nPar exemple, pour rafraîchir toutes les clefs associées à des adresses en @fsf.org et @slackware.com :\n$ gpg2 --refresh-keys @fsf.org@example.com gpg: refreshing 2 keys from hkps://hkps.pool.sks-keyservers.net gpg: key 9FF2194CC09A61E8: \u0026#34;Edward, le gentil robot de GnuPG \u0026lt;edward-fr@fsf.org\u0026gt;\u0026#34; not changed gpg: key 6A4463C040102233: \u0026#34;Slackware Linux Project \u0026lt;security@slackware.com\u0026gt;\u0026#34; not changed gpg: Total number processed: 2 gpg: unchanged: 2 Publication des clefs dans le DNS Au fil du temps, plusieurs méthodes ont été imaginées pour publier une clef OpenPGP dans l’arbre du DNS.\nLa méthode moderne : DANE DANE (DNS-based Authentication of Named Entities) est, d’après la charte du groupe de travail du même nom à l’IETF, « un ensemble de mécanismes permettant à des applications Internet d’établir des communications cryptographiquement sûres en exploitant des informations publiées dans le DNS ». En gros, le principe est de publier des clefs cryptographiques sous des noms prévisibles dans le DNS, pour permettre leur découverte et leur récupération automatiques ; la signature des enregistrements DNS via DNSSEC apportant l’authentification nécessaire.\nLa première production du groupe DANE a été le type d’enregistrement DNS TLSA (RFC 6698 ), utilisé pour publier les certificats X.509 permettant d’authentifier un serveur TLS.\nPour OpenPGP, le groupe DANE a créé le type d’enregistrement OPENPGPKEY, standardisé dans le RFC 7929 . Le standard définit notamment deux choses : où trouver l’enregistrement (le owner name ou record name, c’est-à-dire le nom de domaine associé à l’enregistrement), et ce qu’il contient (le record data ou RDATA).\nLe owner name d’un enregistrement OPENPGPKEY est constitué comme suit :\nles 28 premiers octets du condensat SHA2-256 de la partie locale de l’adresse e-mail associée à la clef, représentés en hexadécimal ; le composant fixe _openpgpkey ; le domaine de l’adresse e-mail. Par exemple, l’enregistrement OPENPGPKEY pour la clef d’Alice \u0026lt;alice@example.org\u0026gt; sera situé sous le nom suivant :\n2bd806c97f0e00af1a1fc3328fa763a9269723c8db8fac4f93af71db._openpgpkey.example.org. Note\nUtilisez la commande suivante pour reproduire le premier composant : echo -n alice | sha256sum | cut -c1-56\nLe RDATA est simplement composé de la clef publique, sous la forme d’une série de paquets OpenPGP constituant une Transferable Public Key comme défini par le RFC 4880 (c’est ce que Gpg produit avec la commande --export). Pour minimiser la taille de l’enregistrement, il est recommandé de publier une version minimale de la clef, en supprimant : les User Attributes (des images que l’on peut associer à une clef, et qui supposément représentent le visage de son propriétaire), les sous-clefs expirées, les anciennes auto-certifications, et tout ou partie des certifications tierces.\nGnuPG prend en charge le RFC 7929 depuis la version 2.1.9. D’une part, il peut récupérer automatiquement une clef publiée dans le DNS via le mécanisme générique auto-key-locate décrit dans une section suivante). D’autre part, il fournit l’option --export-options export-dane pour générer l’enregistrement OPENPGPKEY pour une clef donnée :\n$ gpg2 --export-options export-dane --export alice@example.org $ORIGIN _openpgpkey.example.org. ; DFF9C8A3FE6663F9DD157E16F5C95C96DD4C784D ; Alice \u0026lt;alice@example.org\u0026gt; 2bd806c97f0e00af1a1fc3328fa763a9269723c8db8fac4f93af71db TYPE61 \\# 4011 ( 99020d045860075b011000bbe0b751b46ea0bd28a51e84702ab65efc5211e206 fccc6d272284386cd45fa2ab425601eca7058d9ef5975495ac95d3426f33fda1 […] 2c8766621f7ddd78213e5ea500235b9a95890a98c3b394acc2d2edca98d4b619 b5f48e189b33de3a1ce0ef ) La sortie produite est directement intégrable dans un fichier de zone DNS. Notez qu’elle utilise la syntaxe générique du RFC 3597 , ce qui lui permet d’être lue par un serveur DNS ne reconnaissant pas explicitement le type OPENPGPKEY.5\nSi une clef a plusieurs adresses dans des domaines différents, on peut demander à ne générer les enregistrements que pour les adresses dans un domaine donné grâce à l’option --export-filter. Par exemple, si la clef d’Alice est associée aux adresses alice@example.org et alice@other.example , la commande suivante permet de ne générer l‘enregistrement que pour l’adresse en example.org :\n$ gpg2 --export-options export-dane \\ --export-filter \u0026#34;keep-uid=uid =~ example.org\u0026#34; \\ --export alice@example.org Note\nNaturellement, il serait complètement irréaliste de demander à chaque utilisateur de publier lui-même sa clef dans le DNS — ne serait-ce que parce tout le monde ne contrôle pas le domaine de son adresse e-mail. DANE pour OpenPGP ne prend tout son sens que si ce sont les fournisseurs de service de messagerie qui s’occupent de publier les clefs de leurs clients. C’est ce que propose par exemple le fournisseur Posteo.de .\nLes méthodes historiques L’enregistrement CERT Le type d’enregistrement CERT est défini par le RFC 4398 comme permettant de publier toutes sortes de clefs cryptographiques, notamment des certificats X.509 et des clefs OpenPGP.\nAujourd’hui, le type CERT est informellement déprécié et son utilisation est déconseillée y compris par ses inventeurs , au profit des types définis par le groupe DANE (TLSA pour les certificats X.509, OPENPGPKEY pour les clefs OpenPGP).\nLe standard définit deux « sous-types » consacrés aux clefs OpenPGP : le sous-type PGP, qui permet de publier une clef complète ; et le sous-type IPGP, qui permet de publier l’empreinte d’une clef, une URL vers la clef proprement dite, ou les deux.\nVoici deux exemples d’enregistrements CERT :\nalice.example.org. IN CERT PGP 0 0 [Clef publique] alice.example.org. IN CERT IPGP 0 0 14 [Empreinte][URL vers la clef] Les enregistrements PKA Les enregistrements PKA (Public Key Association) ont été inventés indépendamment par les développeurs de GnuPG et n’ont jamais fait l’objet d’une standardisation. Il en existe deux versions.\nLa première version utilisait un enregistrement de type TXT. Le owner name était formé simplement en remplaçant le @ de l’adresse e-mail par le composant _pka ; le RDATA était une chaîne de texte contenant l’empreinte de la clef ou un pointeur vers la clef elle-même, ou les deux.\nVoici un exemple d’un tel enregistrement pour la clef d’Alice :\nalice._pka.example.org. IN TXT \u0026#34;v=1;fpr=DFF9C8A3FE6663F9DD157E16F5C95C96DD4C784D;uri=https://example.org/~alice/key.txt\u0026#34; Les enregistrements PKAv1 ne sont plus supportés depuis GnuPG 2.1.13, qui a introduit à la place les enregistrements PKAv2, qui diffèrent de la première version comme suit :\ndans le owner name, la partie locale de l’adresse e-mail est encodé en Base32-pour-les-êtres-humains ; l’enregistrement est du type CERT décrit dans la section précédente, avec le sous-type IPGP ; Comme pour les enregistrements OPENPGPKEY, GnuPG peut générer un enregistrement PKAv2 grâce à l’option --export-options export-pka :\n$ gpg2 --export-options export-pka --export alice@example.org $ORIGIN _pka.example.org. ; DFF9C8A3FE6663F9DD157E16F5C95C96DD4C784D ; Alice \u0026lt;alice@example.org\u0026gt; kei1q4tipxxu1yj79k9kfukdhfy631xe TYPE37 \\# 26 0006 0000 00 14 DFF9C8A3FE6663F9DD157E16F5C95C96DD4C784D Bien que toujours pris en charge par les dernières versions de GnuPG, les enregistrements PKAv2, non-standardisés et spécifiques à GnuPG, devraient probablement être évités en faveur du type standard OPENPGPKEY.\nLe protocole OpenPGP Web Key Service Le OpenPGP Web Key Service (WKS) est une initiative des développeurs de GnuPG pour faciliter la distribution des clefs. Elle a été motivée, d’une part, par les problèmes bien connus des serveurs de clefs (notamment, l’absence totale de garantie qu’une clef trouvée sur un tel serveur est légitime), et d’autre part, par la lenteur du déploiement des méthodes basées sur le DNS (notamment, le faible déploiement de DNSSEC). Ce protocole est déjà implémenté par GnuPG et est en cours de standardisation à l’IETF .\nIl comprend deux éléments distincts : le Web Key Directory (WKD) permettant de trouver automatiquement une clef à partir d’une adresse e-mail, et le Web Key Directory Update Protocol permettant à un utilisateur de communiquer sa clef publique à son fournisseur de messagerie.\nLe Web Key Directory Le protocole Web Key Directory est assez simple et repose sur deux concepts : un enregistrement SRV (optionel) et une URI « bien connue » (well-known) au sens du RFC 5785 .\nPour illustrer le principe, nous rechercherons la clef de, vous l’avez deviné, Alice \u0026lt;alice@example.org\u0026gt;.\nLa première étape est de demander le (ou les) enregistrement(s) associé(s) au nom _openpgpkey._tcp.example.org., afin d’obtenir un nom d’hôte et un numéro de port. En l’absence d’enregistrement SRV sous ce nom, on prendra par défaut comme nom d’hôte example.org et comme numéro de port 443 (le port HTTPS standard).6 Ici, nous supposerons qu’il n’y a pas d’enregistrement SRV.\nLa seconde (et dernière) étape est d’envoyer une requête HTTPS à l’adresse « bien connue » suivante :\nhttps://example.org/.well-known/openpgkpey/hu/kei1q4tipxxu1yj79k9kfukdhfy631xe La chaîne kei1q4tipxxu1yj79k9kfukdhfy631xe est le condensat SHA-1 de la partie locale de l’adresse e-mail (alice, alice), encodé en Z-Base32.7 Vous pouvez reproduire cette chaîne comme suit :\n$ echo -n alice | openssl dgst -sha1 -binary | zbase32 Le serveur doit renvoyer directement la clef publique d’Alice.\nNote\nComme pour la publication des clefs dans le DNS, il est inimaginable de demander à chaque utilisateur d’avoir son nom de domaine et son serveur web sur lequel publier sa clef. C’est au fournisseur du service de messagerie qu’il reviendra de gérer le Web Key Directory.\nGnuPG prend en charge les Web Key Directories via le mécanisme générique auto-key-locate décrit plus loin.\nLe Web Key Directory Update Protocol Le Web Key Directory Update Protocol vise à permettre aux utilisateurs d’un service de messagerie de transmettre leur clef publique audit fournisseur, afin que celui-ci approvisionne son Web Key Directory.\nEn dépit de son nom, ce protocole n’est en réalité pas lié au concept de Web Key Directory : un Web Key Directory peut être approvisionné par d’autres moyens,8 et le protocole peut aussi servir à approvisionner d’autres systèmes de distribution de clefs (comme le DNS par exemple).\nLe principe repose à nouveau sur une adresse « bien connue », et sur un échange d’e-mails entre l’utilisateur et son fournisseur.\nLa première étape pour le titulaire de la clef est d’obtenir l’adresse e-mail de soumission de clef, par une requête sur l’URL suivante (en supposant une adresse e-mail dans le domaine example.org) :\nhttps://example.org/.well-known/openpgpkey/submission-address La réponse du serveur doit consister un une ligne, représentant l’adresse e-mail de soumission. La deuxième étape est d’obtenir la clef publique de chiffrement associée à cette adresse, en interrogeant soit le DNS, soit le Web Key Directory de example.org.\nUne fois en possession de l’adresse de soumission et de la clef associée, le titulaire envoie sa propre clef par mail chiffré à l’adresse en question (les curieux pourront consulter le brouillon IETF sus-mentionné pour le détail du format du message de soumission, et de tous les messages suivants).\nÀ la réception du message de soumission, le fournisseur répond par un message également chiffré (avec la clef publique qu’il vient de recevoir) et contenant un nonce.\nPour prouver à son fournisseur qu’il possède bien la clef privée associée à la clef publique qu’il vient de soumettre, le titulaire doit déchiffrer ce message, en extraire le nonce, et le renvoyer au serveur. Celui-ci peut alors publier la clef dans son Web Key Directory, dans le DNS, ou les deux.\nGnuPG fournit une implémentation d’un serveur WKS (gpg-wks-server) avec les instructions pour l’installer et l’intégrer à un serveur de messagerie. Le projet fournit également un client en ligne de commande (gpg-wks-client), automatisant toutes les étapes décrites ci-avant. À terme, le protocole devra être implémenté directement dans les logiciels de messagerie (nativement ou par un greffon) — il l’est déjà dans KMail, le client de messagerie de KDE, et il est en cours d’implémentation dans Enigmail, le greffon OpenPGP de Thunderbird.\nPublication dans les e-mails Le principe de cette méthode est d’ajouter à chacun de ses e-mails, un en-tête dédié annonçant la clef de l’expéditeur.\nCet en-tête, appelé OpenPGP, peut contenir :\nl’empreinte de la clef (que l’on peut remplacer par son identifiant long ou son identifiant court, même si ce n’est pas une bonne idée) ; une URL pointant vers la clef proprement dite ; une valeur indiquant si l’expéditeur préfère recevoir des messages chiffrés, des messages signés, ou des messages chiffrés _et_signés. Voici un exemple d’un tel en-tête :\nOpenPGP: id=DFF9C8A3FE6663F9DD157E16F5C95C96DD4C784D; url=https://example.org/~alice/key.txt; preference=signencrypt L’en-tête OpenPGP est décrit dans un brouillon IETF dont la dernière version a expiré en 2015, et qui n’a donc jamais atteint le stade de RFC. Il est néanmoins implémenté, au minimum, par le greffon Enigmail pour Thunderbird.\nLa découverte automatique des clefs avec GnuPG aintenant qu’on sait comment publier une clef, il reste à voir comment trouver trouver une clef lorsqu’on en a besoin. Nous avons déjà vu la commande --search-keys pour rechercher une clef sur un serveur de clefs.\nGnuPG a introduit un mécanisme plus générique appelé auto-key-locate, pour obtenir automatiquement une clef à partir d’une adresse e-mail. Le but est que Bob puisse obtenir la clef d’Alice simplement avec la commande suivante :\n$ gpg2 --locate-keys alice@example.org La découverte automatique des clefs se configure avec l’option --auto-key-locate, qui prend en paramètre une liste de mécanismes de publication de clefs à explorer. Par défaut, cette liste est vide et la découverte automatique des clefs est donc complètement désactivée. Les valeurs possibles de la liste sont :\nkeyserver, pour interroger les serveurs de clefs publics (soit la méthode historique « classique » du monde OpenPGP) ; dane, pour interroger le DNS à la recherche d’un enregistrement OPENPGPKEY (la méthode DNS moderne) ; cert, pour interroger le DNS à la recherche d’un enregistrement CERT (la méthode DNS historique standard) ; pka, pour interroger le DNS à la recherche d’un enregistrement PKAv2 (la méthode DNS historique propre à GnuPG) ; wkd, pour interroger le Web Key Directory du domaine de l’adresse e-mail. L’ordre dans lequel ces mécanismes sont spécifiés est significatif : GnuPG testera chaque mécanisme dans l’ordre indiqué jusqu’à obtenir la clef demandée. Par exemple, avec --auto-key-locate dane,cert,keyserver, GnuPG cherchera d’abord un enregistrement OPENPGPKEY, puis un enregistrement CERT, puis interrogera un serveur de clefs.\nAvant toute recherche à l’extérieur, GnuPG vérifie préalablement si la clef n’est pas déjà disponible dans le trousseau local. Pour modifier ce comportement, vous pouvez utiliser les valeurs spéciales nodefault, qui inhibe complètement la recherche préalable dans le trousseau local, ou local, qui permet d’indiquer à quel moment la recherche dans le trousseau local doit avoir lieu. Par exemple, --auto-key-locate nodefault,wkd demande à GnuPG de ne chercher la clef demandée que dans les Web Key Directories (sans vérifier dans le trousseau local), tandis que --auto-key-locate dane,local lui demande de chercher d’abord dans le DNS et après seulement de vérifier dans le trousseau local.\nEnfin, la valeur spéciale clear efface la liste courante des mécanismes utilisés. Elle est utile sur la ligne de commande pour ignorer ponctuellement la liste éventuellement définie dans le fichier de configuration de GnuPG.\nVoici l’auto-key-locate en action :\n$ gpg2 --auto-key-locate dane,wkd --locate-key alice@example.org gpg: key F5C95C96DD4C784D: public key \u0026#34;Alice \u0026lt;alice@example.org\u0026gt;\u0026#34; imported gpg: Total number processed: 1 gpg: imported: 1 gpg: automatically retrieved \u0026#39;alice@example.org\u0026#39; via DANE Note\nIl s’agit d’un exemple fictif, je n’ai évidemment pas la main sur le domaine example.org pour y publier la clef d’Alice… Si vous voulez tester par vous-même, vous pouvez tenter de récupérer ma propre clef (associée à l’adresse dgouttegattat@incenp.org), qui est publiée à la fois dans le DNS et dans un Web Key Directory.\nEt l’authentification des clefs ? Une question voisine de la distribution des clefs est celle de leur authentification : une fois que Bob a récupéré, via l’un des canaux décrits dans cet article, une clef prétendant appartenir à Alice, comment peut-il être sûr que c’est effectivement la sienne ?\nRépondre à cette question est normalement le rôle du modèle de confiance (traité dans un précédent journal ) utilisé par Bob. On n’attend pas, en principe, du mécanisme de distribution de clefs qu’il apporte une quelconque garantie d’authenticité.\nC’est particulièrement vrai de la distribution par l’intermédiaire des serveurs de clefs publics : tout le monde peut y déposer une clef associée à n’importe quel nom et n’importe quelle adresse e-mail, c’est à la portée de quiconque de faire gpg2 --send-keys.\nEn revanche, les méthodes basées sur le DNS et les Web Key Directories nécessitent, pour publier une clef, la participation (et donc le contrôle) du domaine de l’adresse e-mail associée à la clef. Ça ne constitue pas un obstacle insurmontable à la publication d’une fausse clef par un attaquant motivé, mais ça élève significativement la difficulté de la tâche.\nEn fait, dans GnuPG il était initialement prévu qu’une clef récupérée dans une zone DNS signée par DNSSEC soit automatiquement considérée comme au moins marginalement valide ; la lenteur du déploiement de DNSSEC a finalement conduit les développeurs de GnuPG à abandonner cette idée, au bénéfice du maintien de la stricte séparation entre distribution et authentification : la méthode de récupération d’une clef ne doit pas influencer le modèle de confiance.\nDonc, dans le modèle de la toile de confiance (qui est toujours pour l’instant le modèle par défaut de GnuPG), la validité d’une clef récupérée par quelque méthode que ce soit est toujours déterminée uniquement par les certifications portées par cette clef, selon les règles décrites dans le journal cité ci-dessus.\nÀ terme, le modèle de confiance par défaut devrait devenir celui de la « confiance au premier contact » (Trust on First Use, TOFU), où une clef fraîchement récupérée devrait se voir attribuer une validité au moins marginale, à moins que l’utilisateur n’en décide autrement.\nUne copie des sources (non-libres) de la version 2.5 est toujours disponible pour les curieux.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nOutre le chiffrement de la communication, un avantage accessoire de HKPS par rapport à HKP est que le port HTTPS standard a moins de risque d’être bloqué par un pare-feu un peu trop restrictif que le port 11371.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nAvant la version 2.1.16, Dirmngr n’avait pas de serveur de clefs configuré par défaut, de sorte qu’il était indispensable de renseigner explicitement l’option keyserver.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nDe manière générale, sauf mention contraire, chaque fois que le manuel de GnuPG indique qu’une commande attend un identifiant de clef (key ID), vous pouvez spécifier au choix l’empreinte complète, l’identifiant long, ou l’identifiant court.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLe serveur Bind prend en charge le type OPENPGPKEY dans les fichiers de zone depuis ses versions 9.9.7 et 9.10.2.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nL’intérêt de cette indirection est que le fournisseur du service de messagerie n’a peut-être pas envie de faire fonctionner un serveur web directement sur le nom example.org.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nL’encodage Z-Base32 , ou « Base32 pour les êtres humains », est une variante de l’encodage Base32 utilisant un jeu de caractères supposément plus lisible que l’ensemble [A-Z][2-7].\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nComme mon propre Web Key Directory, par exemple, qui est manuellement approvisionné par mes soins (en même temps ce n’est pas dur, il ne contient qu’une seule clef, la mienne…).\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/blog/2017-05-11-de-la-distribution-des-clefs-openpgp/","tags":["wkd","ldap","hkp","gnupg","keyserver"],"title":"De la distribution des clefs OpenPGP"},{"categories":["Guide"],"contents":"Article initialement publié sur LinuxFR.org Introduction La confiance est l’un des concepts à la fois les plus importants et les plus mal compris d’OpenPGP. Derrière ce terme peuvent se cacher en réalité deux notions bien distinctes, illustrées par les propositions suivantes :\nAlice est confiante que la clef 0xB4902A74 appartient à Bob ; Alice fait confiance à Bob quand celui-ci lui dit que la clef 0x4B493BB7 appartient à Charlie. La première proposition fait référence à la validité de la clef 0xB4902A74, tandis que la seconde fait référence à la confiance proprement dite qu’Alice accorde à Bob.\nNote\nMalheureusement, les auteurs et développeurs anglophones utilisent souvent le mot trust pour parler de la validité, et d’ownertrust pour parler de la confiance proprement dite, ce qui contribue probablement à la confusion entourant ces deux notions.\nDans cet article, nous verrons ce que recouvrent précisément ces deux notions, comment elles interagissent, et comment les manipuler avec GnuPG.\nRappelons au préalable qu’une clef publique OpenPGP est, au minimum, l’association d’une clef brute1 et d’une ou plusieurs identités (User ID) représentant le propriétaire de la clef (c’est-à-dire, celui qui possède ou contrôle la clef privée correspondante).\nLa validité On peut distinguer deux sortes de “validité” : la validite d’une clef et la validité d’une identité.\nLa validité d’une clef Une clef OpenPGP peut être\nrévoquée, si son propriétaire (ou un révocateur désigné mandaté par lui) a publié un certificat de révocation ; expirée, si la période de validité annoncée dans l’auto-signature la plus récente de la clef est dépassée. Dans les deux cas, la clef dans son ensemble est invalide. Cette invalidité est absolue : elle est intrinsèque à la clef et ne dépend d’aucun autre facteur (notamment, elle ne dépend pas de ce que peut penser un utilisateur donné).\nSi la clef n’est ni révoquée ni expirée, alors sa validité est celle de la plus valide de ses identités.\nLa validité d’une identité La validité d’une identité d’une clef est une mesure de la certitude que l’on a que cette identité et cette clef sont bien associées, ou en d’autres termes, que la clef appartient bien au propriétaire désigné par l’identité.\nElle peut prendre plusieurs valeurs discrètes :\nInvalide : Je suis sûr que la clef *n’*appartient pas à son propriétaire proclamé. Inconnue : Je n’ai aucune certitude quant à l’appartenance de la clef. Marginalement valide : J’ai des raisons de penser que la clef appartient bien à qui elle prétend sans pour autant en être sûr. Pleinement valide : Je suis sûr que la clef appartient bien à son propriétaire proclamé. Une identité n’est jamais valide ou invalide en elle-même : sa validité s’évalue toujours relativement à un utilisateur donné. Une même identité peut être pleinement valide pour une personne et à validité inconnue pour une autre, si ces deux personnes ont des certitudes différentes quant à l’appartenance de la clef.\nUne identité peut aussi être révoquée par le propriétaire de la clef. Dans ce cas, l’identité est inconditionnellement invalide.\nNote\nIl ne faut pas confondre la révocation d’une clef avec la révocation d’une identité : une clef révoquée est complètement inutilisable, tandis qu’une clef dont une des identités est révoquée reste utilisable tant qu’au moins une autre de ses identités n’est pas invalide.\nÀ quoi sert la validité ? La validité répond à deux questions différentes selon que l’on veuille chiffrer un message ou vérifer une signature.\nLorsqu’on veut chiffrer un message, la validité définit si la clef du destinataire est utilisable, selon les règles suivantes :\nune clef expirée ou révoquée est inconditionnellement inutilisable2 ; il est similairement impossible de chiffrer un message à destination d’une identité révoquée ou invalide ; une confirmation sera demandée avant de pouvoir chiffrer un message à destination d’une identité dont la validité est inconnue ; un avertissement sera affiché lors du chiffrement d’un message à destination d’une identité qui n’est que marginalement valide ; seule une identité pleinement valide associée à une clef non-expirée et non-révoquée est utilisable sans condition ni avertissement. Lorsqu’on veut vérifier une signature, la validité de la clef signante définit le crédit que l’on peut accorder à la signature :\nsi la clef est expirée, la signature n’est valable que si elle est antérieure à la date d’expiration ; si la clef est révoquée parce qu’elle a été compromise, ou sans qu’une raison explicite ne soit donnée, la signature n’est pas valable ; si la clef est révoquée mais que le certificat de révocation précise explicitement que la clef a été remplacée ou simplement retirée du service (c’est-à-dire, rien qui laisse supposer que la clef a été compromise), la signature est valable si elle est antérieure à la révocation ; si la clef ne contient aucune identité pleinement valide, la signature reste valable, mais un message rappellera qu’il existe une incertitude sur le propriétaire de la clef et donc sur le signataire du message. Afficher la validité La commande --list-keys de GnuPG permet d’afficher la validité des identités d’une clef :\nalice$ gpg --list-keys bob pub rsa2048 2015-06-05 [SC] F336DF59EADFF278C40DBD7A21321A16B4902A74 uid [ full ] Robert \u0026lt;bob@example.com\u0026gt; uid [ unknown] Bob du 92 \u0026lt;bob92@provider.example\u0026gt; sub rsa2048 2015-06-05 [E] Cette clef a deux identités associées : une pleinement valide (full), l’autre à validité inconnue (unknown).\nNote\nLes versions de GnuPG antérieures à la 2.1 n’affichent pas, par défaut, la validité. Il faut ajouter l’option --list-options show-uid-validity sur la ligne de commande ou dans le fichier de configuration de GnuPG.\nLa validité est également affichée dans l’éditeur de clef :\nalice$ gpg --edit-key bob pub rsa2048/21321A16B4902A74 created: 2015-06-05 expires: never usage: SC trust: marginal validity: full sub rsa2048/E32EF7E899E238AD created: 2015-06-05 expires: never usage: E [ full ] (1). Robert \u0026lt;bob@example.com\u0026gt; [ unknown] (2) Bob du 92 \u0026lt;bob92@provider.example\u0026gt; En plus de la validité de chaque identité, l’éditeur de clef affiche aussi la validité de la clef dans son ensemble. Ici, la clef est complètement valide (validity: full), puisqu’elle n’est ni révoquée, ni expirée, et que l’une des deux identités associées est complètement valide.\nIl n’y a pas de commande ou d’option pour modifier la validité. En effet — et c’est là le point central de cet article —, la validité d’une identité n’est pas décidée manuellement par l’utilisateur, mais déterminée automatiquement3 via un modèle de confiance.\nLes modèles de confiance Un modèle de confiance est un ensemble de règles permettant de déterminer la validité d’une identité. Formellement, on peut l’assimiler à une fonction associant à chaque identité, une valeur de validité parmi celles listées plus haut (inconnue, marginale, complète, ou invalide).\nUne caractéristique distinctive d’OpenPGP, par rapport notamment à X.509/SMIME, est l’absence de modèle de confiance imposé ou même seulement défini par le standard. Ce n’est pas un oubli de la part des auteurs, mais bien au contraire une volonté affichée d’être le plus “générique” et de laisser les implémenteurs libres de développer les modèles de confiance de leur choix.4\nLes modèles de confiance proposés par GnuPG (sélectionnables via l’option --trust-model) sont les suivants :\nla confiance systématique (--trust-model always) ; la confiance directe (--trust-model direct) ; la toile de confiance, en version “simple” (--trust-model classic) et en version “étendue”5 (--trust-model pgp) ; le modèle Trust On First Use,6 utilisé seul (--trust-model tofu) ou conjointement avec la toile de confiance (--trust-model tofu+pgp). Le choix du modèle de confiance est une décision locale : chaque utilisateur peut utiliser le modèle qu’il préfère, sans incidence sur l’interopérabilité (deux personnes utilisant des modèles de confiance différents peuvent toujours communiquer).\nJe ne m’étendrai pas sur les deux premiers modèles, qui sont les plus simples à comprendre mais qui sont aussi les moins utiles, sauf dans certaines conditions particulières.\nDans le modèle de “confiance systématique”, toutes les clefs sont toujours considérées pleinement valides.7 Ce modèle est de fait à éviter absolument dans le cas général des communications à travers l’Internet, où les fausses clefs ne sont pas rares. Il peut toutefois avoir un intérêt dans un environnement strictement contrôlé, dans lequel on peut être sûr qu’il ne circule que des clefs authentiques (mais a-t-on vraiment besoin d’OpenPGP dans un tel environnement ?).\nÀ l’opposé, le modèle de “confiance directe” confie à l’utilisateur le soin de décider lui-même, directement, de la validité de chaque clef. C’est donc, par définition, une exception au principe énoncé plus haut selon lequel la validité est calculée automatiquement par le modèle de confiance et non assignée manuellement par l’utilisateur.\nNote\nCe modèle peut sembler attrayant, en particulier pour ceux que la complexité de la toile de confiance effraie. Néanmoins, les modèles plus récents de type TOFU, décrits plus loin, sont une meilleure alternative.\nPar défaut, GnuPG utilise le modèle pgp, la toile de confiance étendue.\nLa toile de confiance C’est le modèle de confiance traditionnellement associé à OpenPGP, au point d’en ignorer souvent que ce n’est qu’un des modèles possibles.\nIl est, hélas, assez souvent mal compris et donc trop souvent mal utilisé.\nLa bonne compréhension de ce modèle nécessite d’introduire deux notions supplémentaires, qui étaient inutiles jusqu’à présent.\nNotion de certification Une certification est une signature sur le couple {clef brute, identité} (on parlera, très souvent, de signature de clef), par laquelle le signataire atteste (“certifie”) que cette clef brute et cette identité sont associées.\nFormellement, l’ensemble formé d’une clef brute, d’une identité, et d’au moins une certification constitue un certificat OpenPGP. Ce terme est néanmoins rarement employé, l’usage ayant consacré l’expression clef publique OpenPGP à la place (entraînant hélas un risque de confusion avec le concept mathématique de clef publique, que je désigne dans ce document par clef brute justement pour éviter toute ambiguïté.).\nAttributs de certification Une certification peut être qualifiée par plusieurs attributs, dont certains peuvent affecter l’interprétation qui doit être faite de cette certification.\nUne certification est toujours qualifiée par un niveau (certification level) qui traduit la rigueur avec laquelle le signataire a vérifié l’identité du propriétaire de la clef. Le niveau 0 (certification “générique”) correspond à une absence d’engagement : en certifiant à ce niveau, le signataire ne donne délibérément aucune information. Le niveau 1 correspond en principe à une absence de vérification : en certifiant à ce niveau, le signataire annonce qu’il n’a pas particulièrement vérifié l’identité du propriétaire. En certifiant au niveau 2 ou au niveau 3, le signataire annonce qu’il a procédé à des vérifications plus rigoureuses.\nNote\nMalheureusement, le standard OpenPGP ne définit pas précisément ce que peuvent être les vérifications pour chaque niveau. Chaque utilisateur peut ainsi donner à chaque niveau la signification de son choix, ce qui en pratique fait perdre beaucoup d’intérêt à la notion même de niveau de certification puisque deux utilisateurs peuvent avoir une opinion différente de ce qu’est une certification “rigoureuse”.\nÀ titre d’exemple, je définis la limite entre les certifications de niveau 2 et 3 comme suit : si j’ai rencontré le propriétaire de la clef en personne, je certifie au niveau 2 ; s’il m’a en plus présenté une pièce d’identité officielle, je certifie au niveau 3. Mais ce n’est que ma politique : une certification de niveau 3 émise par un autre utilisateur peut avoir une signification différente.\nEn pratique, la plupart des certifications sont de niveau 0. C’est le niveau de certification par défaut avec GnuPG. Compte tenu de l’absence de signification universellement reconnue des différents niveaux de confiance, il est tout-à-fait raisonnable de s’en tenir à ce niveau 0 et d’ignorer jusqu’à l’existence même des niveaux supérieurs.\nLe signataire peut ajouter à sa certification une URL pointant vers un document supposé expliquer sa politique de signature (il peut notamment décrire la signification qu’il donne aux différents niveaux de certification). Cet attribut est purement informatif et à destination de l’utilisateur : GnuPG n’en fait aucun usage lui-même.\nUne certification peut être marquée comme locale. Une telle certification n’est valable que dans le trousseau de celui qui l’a émise et sera automatiquement omise lorsque la clef sera exportée.\nEnfin, une certification peut être marquée comme irrévocable. Normalement, toute certification peut être annulée (révoquée) a posteriori par son émetteur, simplement en publiant une signature de révocation (qui concrètement prend la même forme qu’une certification, c’est-à-dire une signature sur le couple {clef brute, identité}, mais signifie que toute certification antérieure sur le même couple, émise par la même clef, doit être considérée comme nulle). Si la certification initiale est marquée irrévocable, alors toute signature de révocation ultérieure sera ignorée.\nNotion d’auto-certification Chaque identité porte toujours au moins une auto-certification, c’est-à-dire une certification émise par la propre clef brute à laquelle l’identité est associée.\nSi elle est sans valeur, comme on le verra, lors du calcul de la validité, elle permet surtout au propriétaire de la clef d’exprimer certaines préférences par l’intermédiaire d’attributs spécifiques aux auto-certifications :\nla durée de validité de la clef ; un éventuel révocateur désigné, sous la forme de l’empreinte d’une clef tierce habilitée à émettre des certificats de révocation pour cette clef ; les algorithmes de chiffrement, de condensation et de compression utilisables pour communiquer avec le propriétaire de cette clef, par ordre de préférence. Une fois émise, une (auto-)certification n’est pas modifiable. Pour changer l’un des attributs ci-dessus (par exemple pour repousser la date d’expiration de la clef, ou pour mettre à jour les algorithmes préférés), il faut émettre une nouvelle auto-certification, qui dans les faits annulera toute auto-certification antérieure. Seule l’auto-certification la plus récente est prise en compte quand il y en a plusieurs.\nNotion de confiance La confiance proprement dite (ownertrust) est une valeur associée par l’utilisateur à une clef publique qui définit le crédit à accorder aux certifications émises par cette clef.\nComme pour la validité définie plus haut, la confiance peut prendre plusieurs valeurs discrètes :\naucune confiance : Ne jamais accorder aucun crédit aux certifications émises par cette clef. confiance inconnue ou indéterminée : Ignorer les certifications émises par cette clef. confiance marginale : Tenir compte des certifications seulement dans une certaine mesure (voir plus loin). confiance complète : Accorder toute leur valeur aux certifications. Confiance ultime : Valeur spéciale normalement réservée aux clefs “locales”, c’est-à-dire les clefs dont la partie privée est disponible. Dans le modèle de la toile de confiance simple, la confiance est toujours explicitement assignée par l’utilisateur. Chaque clef ajoutée au trousseau se voit assignée par défaut une confiance inconnue, et ce jusqu’à ce que l’utilisateur décide de la changer explicitement.\nL’assignation de la confiance se fait via la commande trust de l’éditeur de clefs de GnuPG.\nDans l’exemple que nous avons vu plus haut, la clef de Bob, telle qu’elle figure dans le trousseau d’Alice, a une confiance marginale (trust: marginal).\nRègles de la toile de confiance On peut maintenant poser le principe de fonctionnement de la toile de confiance, telle qu’elle est implémentée par GnuPG.\nPour déterminer la validité d’une identité, on commence par retirer toutes les certifications inexploitables portées par cette identité. Précisément, on retire les certifications :\némises par des clefs inconnues, c’est-à-dire qui ne figurent pas dans le trousseau local ; émises par des clefs invalides ou à validité inconnue (ce qui élimine entre autres l’auto-certification émise par la clef même que l’on cherche à valider) ; émises par des clefs révoquées ; dont le niveau de certification est supérieur à zéro mais inférieur au paramètre --min-cert-level (qui vaut 2 par défaut, ce qui signifie que les certifications de niveau 1 sont ignorées) ; révoquées par leur signataire, sauf si la certification initiale était marquée non-révocable. Pour chaque certification restante, on regarde ensuite la confiance assignée à la clef émettrice. S’il y a…\nau moins 1 certification émise par une clef à confiance ultime, l’identité est complètement valide ; au moins n certifications émises par des clefs à confiance complète (avec n = 1 par défaut, modifiable avec l’option --completes-needed), l’identité est complètement valide ; au moins m certifications émises par des clefs à confiance marginale (avec m = 3 par défaut, modifiable avec l’option --marginals-needed), l’identité est complètement valide ; entre 1 et n − 1 certification(s) émise(s) par des clefs à confiance complète, ou entre 1 et m − 1 certification(s) émises par des clefs à confiance marginale, l’identité est marginalement valide ; aucune certification émise par une clef à confiance au moins marginale, l’identité est à validité inconnue. Un exemple Considérons un instant la clef d’Alice :\nalice$ gpg --list-keys alice pub rsa4096 2015-06-05 [SC] [expires: 2018-06-04] 318D1F0158F237EB64797C0C5C5CE0D82EADF7D4 uid [ultimate] Alice \u0026lt;alice@example.org\u0026gt; S’agissant d’une clef dont la partie privée est disponible (puisque nous sommes sur le système d’Alice), elle est intrinsèquement ultimement valide et de confiance.\nNote\nDans toutes les captures d’écrans qui suivent, pour gagner à la fois en place et en clarté, les sous-clefs seront systématiquement omises.\nMaintenant, imaginons qu’Alice vient juste d’obtenir la clef publique de Bob. Elle l’importe dans son trousseau et y jette un œil :\nalice$ gpg --import bob.asc gpg: key 21321A16B4902A74: public key \u0026#34;Robert \u0026lt;bob@example.com\u0026gt;\u0026#34; imported gpg: Total number processed: 1 gpg: imported: 1 alice$ gpg --list-keys --with-sig-check bob gpg: 2 good signatures pub rsa2048 2015-06-05 [SC] F336DF59EADFF278C40DBD7A21321A16B4902A74 uid [ unknown] Robert \u0026lt;bob@example.com\u0026gt; sig!3 21321A16B4902A74 2015-06-05 Robert \u0026lt;bob@example.com\u0026gt; uid [ unknown] Bob du 92 \u0026lt;bob92@provider.example\u0026gt; sig!3 21321A16B4902A74 2015-10-07 Robert \u0026lt;bob@example.com\u0026gt; Cette clef a deux identités (Robert \u0026lt;bob@example.com\u0026gt; et Bob du 92 \u0026lt;bob92@provider.example\u0026gt;), chacune porteuse d’une auto-certification (émise par la clef 0xB4902A74, c’est-à-dire cette clef). En l’absence d’autres certifications, ces deux identités sont de validité inconnue.\nImaginons à présent qu’Alice est personnellement certaine qu’il s’agit bien de la clef de Bob (par exemple, Bob lui a confirmé l’empreinte de vive voix). Elle va donc certifier (signer) sa clef :\nalice$ gpg --edit-key bob pub rsa2048/21321A16B4902A74 created: 2015-06-05 expires: never usage: SC trust: unknown validity: unknown [ unknown] (1). Robert \u0026lt;bob@example.com\u0026gt; [ unknown] (2). Bob du 92 \u0026lt;bob92@provider.example\u0026gt; Alice sélectionne la première identité, correspondant à la seule adresse de Bob dont elle soit sûre, puis la certifie :\ngpg\u0026gt; 1 pub rsa2048/21321A16B4902A74 created: 2015-06-05 expires: never usage: SC trust: unknown validity: unknown [ unknown] (1)* Robert \u0026lt;bob@example.com\u0026gt; [ unknown] (2) Bob du 92 \u0026lt;bob92@provider.example\u0026gt; gpg\u0026gt; sign pub rsa2048/21321A16B4902A74 created: 2015-06-05 expires: never usage: SC trust: unknown validity: unknown Primary key fingerprint: F336 DF59 EADF F278 C40D BD7A 2132 1A16 B490 2A74 Robert \u0026lt;bob@example.com\u0026gt; Are you sure that you want to sign this key with your key \u0026#34;Alice \u0026lt;alice@example.org\u0026gt;\u0026#34; (5C5CE0D82EADF7D4) Really sign? (y/N) y gpg\u0026gt; save Note\nIci, en utilisant la commande sign, Alice a opté pour une signature « normale », sans fioritures : niveau de certification 0, exportable, révocable.\nJetons à présent à nouveau un œil comme précédemment sur la clef de Bob :\nalice$ gpg --list-keys --with-sig-check bob gpg: 3 good signatures pub rsa2048 2015-06-05 [SC] F336DF59EADFF278C40DBD7A21321A16B4902A74 uid [ full ] Robert \u0026lt;bob@example.com\u0026gt; sig!3 21321A16B4902A74 2015-06-05 Robert \u0026lt;bob@example.com\u0026gt; sig! 5C5CE0D82EADF7D4 2016-11-26 Alice \u0026lt;alice@example.org\u0026gt; uid [ unknown] Bob du 92 \u0026lt;bob92@provider.example\u0026gt; sig!3 21321A16B4902A74 2015-10-07 Robert \u0026lt;bob@example.com\u0026gt; Si rien n’a changé pour l’identité « Bob du 92 » (qui n’a toujours que sa seule auto-certification et est donc toujours de validité inconnue), l’identité de « Robert », elle, porte désormais la certification d’Alice. La clef d’Alice étant de confiance ultime, cette identité est donc pleinement valide, en application des règles de la toile de confiance vues précédemment.\nRemarquez qu’Alice n’a jamais directement modifié la validité de la clef de Bob. Je me permets d’insister parce que c’est la notion centrale de cet article : la validité est toujours calculée automatiquement par GnuPG, jamais directement assignée par l’utilisateur. C’est en jouant sur la confiance que l’on affecte la validité, selon des modalités qui varient selon le modèle de confiance utilisé.\nPoursuivons l’exemple. Alice obtient à présent la clef de Charlie. Comme précédemment, elle l’importe et l’examine :\nalice$ gpg --import charlie.asc gpg: key 3800CBA74B493BB7: public key \u0026#34;Charlie \u0026lt;charlie@example.net\u0026gt;\u0026#34; imported gpg: Total number processed: 1 gpg: imported: 1 alice$ gpg --list-keys --with-sig-check charlie gpg: 2 good signatures pub rsa2048 2015-06-05 [SC] 3172310F9C0C11AEA1B057433800CBA74B493BB7 uid [ unknown] Charlie \u0026lt;charlie@example.net\u0026gt; sig!3 3800CBA74B493BB7 2015-06-05 Charlie \u0026lt;charlie@example.net\u0026gt; sig! 21321A16B4902A74 2016-11-26 Robert \u0026lt;bob@example.com\u0026gt; La clef de Charlie n’a qu’une identité, laquelle porte deux certifications : l’auto-certification de rigueur, et une certification émise par Bob. Pourquoi cette identité est-elle considérée « de validité inconnue » ?\nParce que Alice n’a jamais assigné de valeur de confiance à la clef de Bob ! GnuPG lui a donc attribué, par défaut, une confiance inconnue, qui dans le modèle de la toile de confiance ne confère aucun crédit aux certifications émises par cette clef. Allons éditer la clef de Bob pour changer ça :\nalice$ gpg --edit-key bob pub rsa2048/21321A16B4902A74 created: 2015-06-05 expires: never usage: SC trust: unknown validity: full sub rsa2048/E32EF7E899E238AD created: 2015-06-05 expires: never usage: E [ full ] (1). Robert \u0026lt;bob@example.com\u0026gt; [ unknown] (2) Bob du 92 \u0026lt;bob92@provider.example\u0026gt; gpg\u0026gt; trust Please decide how far you trust this user to correctly verify other users\u0026#39; keys (by looking at passports, checking fingerprints from different sources, etc.) 1 = I don\u0026#39;t know or won\u0026#39;t say 2 = I do NOT trust 3 = I trust marginally 4 = I trust fully 5 = I trust ultimately m = back to the main menu Your decision? 3 pub rsa2048/21321A16B4902A74 created: 2015-06-05 expires: never usage: SC trust: marginal validity: full sub rsa2048/E32EF7E899E238AD created: 2015-06-05 expires: never usage: E [ full ] (1). Robert \u0026lt;bob@example.com\u0026gt; [ unknown] (1) Bob du 92 \u0026lt;bob92@provider.example\u0026gt; Please note that the shown key validity is not necessarily correct unless you restart the program. gpg\u0026gt; quit Alice a donc assigné une confiance marginale à la clef de Bob. Voyons ce que cela change sur la validité de la clef de Charlie :\nalice$ gpg --list-keys --with-sig-check charlie gpg: 2 good signatures pub rsa2048 2015-06-05 [SC] 3172310F9C0C11AEA1B057433800CBA74B493BB7 uid [marginal] Charlie \u0026lt;charlie@example.net\u0026gt; sig!3 3800CBA74B493BB7 2015-06-05 Charlie \u0026lt;charlie@example.net\u0026gt; sig! 21321A16B4902A74 2016-11-26 Robert \u0026lt;bob@example.com\u0026gt; Avec une certification émise par une clef à confiance marginale, et avec les paramètres par défaut de la toile de confiance, la clef de Charlie est désormais marginalement valide.\nChaîne de certification et profondeur Le dernier exemple permet d’illustrer le concept de chaîne de certification, dont nous avons besoin pour expliquer une dernière règle du modèle de la toile de confiance, celle de la profondeur maximale de la chaîne de certification.\nDans cet exemple, Alice a certifié la clef de Bob, qui a lui-même certifié la clef de Charlie. Cette dernière se trouve ainsi à l’extrémité d’une chaîne remontant jusqu’à la clef d’Alice par l’intermédiaire de celle de Bob.\nComme nous regardons tout ceci depuis le point de vue d’Alice, sa clef est le point de départ de la chaîne. Elle est associée à une profondeur nulle. La clef de Bob, directement certifiée Alice, a une profondeur de 1 ; celle de Charlie, certifiée par Bob, a une profondeur de 2. Si Charlie certifiait la clef de David (et en supposant qu’Alice attribue une confiance explicite à la clef de Charlie, ce qu’elle n’a pas encore fait dans notre exemple), celle-ci aurait une profondeur de 3, et ainsi de suite.\nLa règle de la profondeur maximale dit simplement que la profondeur associée à une clef ne peut pas dépasser 5 (valeur par défaut, modifiable par l’option --max-cert-depth), ou autrement dit, qu’une chaîne de certification ne peut pas compter plus de 6 maillons.\nAinsi, si David certifiait la clef de Fanny qui elle-même certifiait la clef de Gordon qui lui-même certifiait la clef de Helen, cette dernière serait quoi qu’il arrive trop éloignée de la clef d’Alice (profondeur de 6) pour être considérée valide, même si Alice faisait explicitement confiance à David, Fanny et Gordon.\nNote\nDans les faits, il est extrêmement rare qu’une clef ne soit pas validée à cause de cette profondeur maximale. Les chaînes de certifications s’arrêtent généralement avant de heurter cette limite, par défaut de confiance explicite (plus on s’éloigne d’Alice, moins il y a de chance qu’elle connaisse suffisamment bien les personnes impliquées pour pouvoir assigner un niveau de confiance à leurs clefs).\nLa toile de confiance étendue Jusque là, ce que nous avons vu était la toile de confiance simple (si, si…). Voyons à présent ce que recouvre la toile de confiance étendue.\nLa toile de confiance étendue fonctionne comme la toile de confiance simple, mais prend en compte un type particulier de certifications qu’on appelle les trust signatures.\nNote\nLa toile de confiance étendue est le modèle de confiance par défaut de GnuPG. Toutefois, si vous n’utilisez pas (et n’avez jamais émis) de trust signatures, alors dans les faits vous n’utilisez que la toile de confiance simple… comme la quasi-totalité des utilisateurs de GnuPG.\nNotion de trust signature Une trust signature est semblable à une certification simple comme décrit plus haut (c’est-à-dire une signature sur un couple {clef brute, identité}), mais avec deux paramètres supplémentaires :\nune profondeur n, indiquant que la clef portant cette trust signature est habilitée à émettre elle-même des trust signatures de profondeur n − 1 (une profondeur de zéro rend la trust signature strictement équivalente à une certification simple) ; une valeur de confiance à assigner à la clef portant cette trust signature ; en principe cette valeur peut s’étendre de zéro à 255, mais en pratique il n’y a que deux possibilités : toute valeur inférieure à 120 est interprétée comme assignant une confiance marginale, et toute valeur supérieure ou égale à 120 est interprétée comme assignant une confiance complète. C’est dans ce second paramètre que réside la différence entre la toile de confiance simple et la toile de confiance étendue : les certifications de la toile de confiance simple ne servent qu’à déterminer la validité d’une identité, l’assignation de la confiance étant du seul ressort de l’utilisateur ; les trust signatures de la toile de confiance étendue déterminent à la fois la validité d’une identité et la confiance assignée à la clef associée.\nImpact des trust signatures Pour illustrer l’impact des trust signatures sur la toile de confiance, reprenons à nouveau l’exemple d’une chaîne de certification allant de Alice à David en passant par Bob et Charlie.\nEn absence de trust signatures, du point de vue d’Alice seule la clef de Bob est valide (puisqu’elle est certifiée par une clef à confiance ultime, la sienne). Même si Bob a certifié la clef de Charlie, cette dernière restera à validité inconnue tant que Alice n’aura pas explicitement exprimé sa confiance envers Bob. (Il en va de même, a fortiori, pour la clef de David.)\nNotez que chez lui, Bob fait peut-être confiance à Charlie, auquel cas la clef de David serait valide à ses yeux. Mais c’est sans intérêt pour Alice, qui n’a de toute façon aucun moyen de savoir quelle confiance Bob accorde à Charlie. Bob est le seul à savoir ça (même Charlie l’ignore) : dans la toile de confiance simple, la confiance est toujours une valeur locale, jamais partagée avec les autres membres de la toile.\nImaginons à présent que Alice a certifié la clef de Bob, non avec une certification simple, mais avec une trust signature de profondeur 2 et de confiance 120 : la clef de Bob est alors non seulement valide, mais se voit aussi automatiquement attribué une confiance complète. Si, de son côté, Bob a certifié la clef de Charlie avec une trust signature de profondeur 1 et de confiance 120, alors pour Alice, la clef de Charlie est valide et se voit aussi assigné automatiquement une confiance complète. Du coup, la clef de David, certifiée par Charlie, devient valide aux yeux d’Alice, même si elle ne s’est jamais prononcée elle-même sur la confiance à accorder à Charlie.\nNotez que si Alice avait certifié la clef de Bob avec une certification simple, ou avec une trust signature de profondeur 1, la trust signature de Bob sur la clef de Charlie aurait été ignorée, ou plus exactement, traitée comme une certification simple, et aucune confiance n’aurait été automatiquement assignée à la clef de Charlie.\nCela signifie qu’il n’y a aucun risque d’utiliser la toile de confiance étendue par erreur. Même si tous les correspondants d’Alice émettaient des trust signatures à tout-va, celles-ci ne seront prises en compte par Alice que si elle décide elle-même d’entrer à son tour dans le jeu de la toile de confiance étendue, en émettant des trust signatures sur les clefs de ses correspondants. Si elle souhaite au contraire continuer à décider elle-même, seule, de la confiance à accorder à chacun, il lui suffit de ne jamais émettre que des certifications simples… ce que fait déjà GnuPG par défaut.\nNote\nEn pratique, personne n’émet de trust signatures. Sérieusement. En plus de dix ans d’utilisation de GnuPG, je n’en ai jamais vu une seule dans la nature. C’est pourquoi, bien que la toile de confiance étendue soit le modèle de confiance par défaut de GnuPG, dans les faits tout le monde utilise la toile de confiance simple (où les trust signatures peuvent exister mais sont traitées comme des certifications simples : leur valeur de confiance est ignorée, et elles ne servent qu’à calculer la validité).\nLimitation du champ des trust signatures Outre la profondeur et la valeur de confiance, une trust signature peut se voir adjoindre un troisième paramètre : une expression rationnelle qui limite les identités pour lesquelles la clef portant cette trust signature est autorisée à émettre elle-même des trust signatures.\nPar exemple, imaginons que Alice certifie la clef de Bob avec une trust signature associée à l’expression rationnelle \u0026lt;[^\u0026gt;]+@example.net\u0026gt;$. Dans ce cas, les trust signatures émises par Bob ne seront considérées comme légitimes que si elles sont appliquées sur des identités dont l’adresse e-mail est dans le domaine example.net. Si Bob certifie une identité Charlie \u0026lt;charlie@nimportequoi.example\u0026gt;, sa certification sera ignorée.\nCe mécanisme est analogue à l’extension Name Constraints du monde X.509, qui limite les domaines pour lesquels une autorité de certification est habilitée à émettre des certificats.\nNote\nL’implémentation de cette fonctionnalité dans GnuPG est plus restrictive que ne le permet le RFC 4880. GnuPG ne permet que d’exprimer une contrainte sur le domaine de l’adresse e-mail (comme dans l’exemple ci-dessus) ; il n’est pas possible de spécifier librement une expression rationnelle arbitraire.\nLe modèle Trust On First Use Pourquoi un nouveau modèle de confiance ? Le modèle de confiance Trust On First Use (TOFU) a été introduit dans GnuPG 2.1.10, en décembre 2015. C’est la première introduction d’un nouveau modèle de confiance depuis les débuts de GnuPG.\nLa raison d’être de ce modèle part d’un constat qui ne surprendra guère les utilisateurs de GnuPG (ou de toute autre implémentation d’OpenPGP) : la toile de confiance est trop complexe à appréhender. Beaucoup d’utilisateurs (y compris parfois des utilisateurs de longue date) ne la comprennent pas réellement, ou ne comprennent pas toutes ses subtilités, et en conséquence ne l’utilisent pas correctement. Et même pour les connaisseurs, elle est souvent trop pénible à utiliser.\nLe modèle de la « confiance à la première utilisation » est, sur le papier, moins « puissant » que la toile de confiance ; il est vulnérable, par définition, à une tentative d’usurpation lors du premier contact. Mais il est plus facile à appréhender et à utiliser. Il offre ce que certains auteurs anglophones appellent de la better-than-nothing security.\nL’introduction de ce modèle de confiance (qui n’est pas encore le modèle par défaut — c’est toujours la toile de confiance étendue, pour l’instant — mais qui est appelé à le devenir) s’inscrit dans le cadre d’une ré-orientation des objectifs de GnuPG dans l’ère post-Snowden. Depuis ses débuts, GnuPG a été conçu pour répondre aux besoins d’utilisateurs faisant face à un niveau de menace élevé — le genre d’utilisateurs pour qui la difficulté d’accès du logiciel n’était pas forcément rédhibitoire, ou était un prix à payer acceptable. Désormais, à l’ère de la surveillance de masse, les développeurs de GnuPG considèrent que GnuPG doit être facile d’accès par défaut, pour les utilisateurs « ordinaires » souhaitant échapper à cette surveillance.8\nNote\nL’idée n’est absolument pas de « castrer » GnuPG, de le rendre inutile à ceux qui font face à un niveau de menace élevé — notamment, ceux qui font face à des attaques ciblées et non pas à la simple surveillance de masse. C’est juste que, par défaut, GnuPG ne sera pas configuré pour eux.\nPrincipe GnuPG conserve une trace de toutes les associations {adresse e-mail, clef} qu’il rencontre (une telle association est appelée un binding dans la description du modèle), et associe à chacune d’elles une politique TOFU, parmi les cinq suivantes : unknown, auto, good, bad, et ask.\nChaque politique (à part la politique ask) correspond à une valeur possible de validité : unknown correspond à une validité inconnue, auto à une validité marginale, good à une validité complète, et bad correspond à une invalidité. Lorsque le modèle est interrogé pour déterminer la validité d’une identité, il renvoie la valeur de validité correspondant à la politique associé au binding concerné. (Si la politique est ask, GnuPG demande en direct à l’utilisateur ce qu’il doit faire avec cette clef.)\nÀ la réception d’un premier message signé par bob@example.com, le binding {bob@example.com, 0xB4902A74} est ajouté à la base de données TOFU, associé à la politique par défaut qui est auto. Cela confère automatiquement une validité marginale à cette clef.\nL’utilisateur peut à tout moment changer la politique associée à un binding. Par exemple, si Alice est sûre qu’il s’agit bien de la clef de Bob, elle peut lui assigner la politique good, conférant à sa clef une validité complète.9\nÀ la réception d’un nouveau message de bob@example.com, GnuPG vérifie si la clef utilisée est la même que celle figurant dans le binding précédemment enregistré. Si c’est bien le cas, il n’y a pas de conflit, et GnuPG affiche que le message provient d’une clef marginalement valide. Si la clef est différente, l’utilisateur est alerté de l’existence d’un conflit.\nChoix de la politique TOFU par défaut La politique TOFU par défaut est celle appliquée implicitement lorsqu’un binding est ajouté à la base de données TOFU. Par défaut, cette politique par défaut est auto (comme on l’a vu ci-dessus), mais elle est modifiable avec l’option --tofu-default-policy. Et le choix de cette politique par défaut change profondément le comportement du modèle.\nTrois politiques peuvent être définies comme la politique TOFU par défaut : good, unknown, et auto.\nAvec good comme politique par défaut, on choisit un modèle « optimiste », dans lequel toute clef nouvellement rencontrée est implicitement considérée comme complètement valide. C’est en quelque sorte, le « vrai TOFU », le TOFU proprement dit.\nÀ l’inverse, avec unknown comme politique par défaut, on choisit un modèle « pessimiste » voire « paranoïaque ». Il n’y a aucune validité implicite, toute clef nouvellement rencontrée est à validité inconnue et le reste jusqu’à ce que l’utilisateur assigne explicitement une politique good ou auto. C’est ce qui se rapproche le plus du modèle de confiance « directe » que j’avais rapidement abordé en présentant les différents modèles de confiance, avec en plus la détection des conflits.\nEnfin, avec auto comme politique par défaut, on choisit un modèle intermédiaire, dans lequel toute clef nouvellement rencontrée est considérée comme marginalement valide.\nLe modèle TOFU+PGP Le modèle TOFU+PGP, comme son nom l’indique, est une combinaison du modèle de la toile de confiance étendue et du modèle TOFU.\nPour déterminer la validité d’une identité, les deux modèles sont interrogés successivement ; l’identité est valide si ① elle est valide dans au moins un des deux modèles, et ② elle n’est invalide dans aucun des deux modèles.\nCe modèle est particulièrement intéressant lorsque la politique TOFU par défaut est unknown. Dans ce cas, seule la toile de confiance assigne des valeurs de validité positives (validité marginale ou complète), et le modèle TOFU ne sert alors qu’à détecter les conflits.\nTraduction libre du terme anglais key material, désignant au sens strict la partie purement mathématique d’une clef cryptographique (par exemple, le couple {module, exposant} pour une clef RSA). Concrètement, c’est le contenu d’un paquet OpenPGP de type Public-Key Packet .\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nEt GnuPG ne fournit aucun moyen de passer outre — même l’option --expert, qui autorise certaines actions normalement déconseillées, ne permet pas d’utiliser une clef expirée ou révoquée.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nC’est pourquoi on parle aussi parfois de calculated trust pour désigner la validité.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nCette volonté apparaît à plusieurs reprises dans le standard OpenPGP. En fait, ce standard peut être compris comme une “PKI en kit”, un ensemble de briques permettant d’élaborer une infrastructure de clef publique, davantage que comme une infrastructure de clef publique prête à l’emploi.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nLes qualificatifs “simple” et “étendue” sont une invention de l’auteur, ils ne figurent pas dans les documentations de GnuPG. Nous verrons plus loin la différence entre les deux modèles.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nIntroduit dans GnuPG 2.1.10, sorti en décembre 2015.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nHors le cas des clefs expirées ou révoquées, qui sont toujours inconditionnellement invalides quel que soit le modèle de confiance.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nWerner Koch, développeur principal de GnuPG, a exprimé cette idée lors de la rencontre annuelle des développeurs Debian de 2015 (DebConf 2015). L’enregistrement de son intervention est disponible , de même que ses diapositives .\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nNéanmoins, dans le modèle TOFU, la distinction entre la validité complète et la validité marginale est moins pertinente que dans le modèle de la toile de confiance, et Alice pourrait simplement laisser la politique par défaut.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/blog/2016-11-27-de-la-confiance-dans-le-monde-openpgp/","tags":["gnupg","debian"],"title":"De la confiance dans le monde OpenPGP"},{"categories":null,"contents":"The German Unix User Group (GUUG) is pleased to announce public conference on the OpenPGP protocol taking place in Cologne, Germany on September 8+9, 2016.\nOpenPGP.conf is a conference for users and implementers of the OpenPGP protocol, the popular standard for encrypted email communication and protection of data at rest. That protocol is the foundation of encryption software like PGP, GnuPG, Mailvelope, OpenKeyChain, and others.\nOpenPGP.conf is a place to meet, discuss, and learn about latest developments of OpenPGP aware applications and what technical measures can be deployed to repel the ever increasing trend to mass surveillance.\nTopics are:\nThe OpenPGP protocol and its planned revision Current status of OpenPGP applications Interesting use cases Key discovery and distribution Ubiquitous end-to-end encryption Security analysis User interface studies Anonymous mail and the spam problem The full program is available at:\nhttps://openpgp-conf.org/program.html More information has been published at the conference site:\nhttps://openpgp-conf.org/ ","permalink":"/fr/event/2016-08-24_openpgp-conf/","tags":null,"title":"OpenPGP (technical) conference"},{"categories":["Guide"],"contents":"Article initialement publié sur LinuxFR.org Dans un commentaire de la dépêche sur la carte OpenPGP, Spack demandait :\nOK mais je la mets où ma clef ? Sous l’oreiller ? Quels sont les bons conseils pour mettre sa clef privée au chaud et de façon pérenne ?\nCe à quoi je répondais, en bottant honteusement en touche, que ça n’avait rien à voir avec la carte OpenPGP. Mais la question n’en est pas moins intéressante et mérite que l’on tente d’y répondre.\nJe me propose donc, dans ce journal, d’aborder pêle-mêle plusieurs questions tournant autour du thème central de la « bonne gestion de ses clefs OpenPGP ». Il pourrait s’agir du premier journal d’une série plus large consacrée à OpenPGP et GnuPG, si les lecteurs se montrent intéressés.\nComme le fait remarquer la FAQ de GnuPG , il n’y a pas beaucoup de « bonnes pratiques » liées à OpenPGP qui fassent réellement consensus. Sauf mention contraire, les pratiques que j’évoquerai dans ce journal ne seront en fait rien d’autres que mes pratiques, avec tout ce que ça implique concernant leur valeur et leur pertinence (étant entendu, au cas où quelqu’un en douterait, que je ne suis ni cryptographe ni expert en sécurité informatique). Les commentaires pourront bien sûr servir à discuter du bien-fondé des pratiques en questions.\nFaut-il changer les algorithmes préférés ? Chaque certificat OpenPGP contient, entre autres choses, une sélection d’algorithmes préférés permettant au titulaire du certificat d’annoncer les algorithmes à utiliser pour communiquer avec lui. Plusieurs documents sur Internet suggèrent que la sélection par défaut de GnuPG est bancale et doit être corrigée par l’utilisateur. Par exemple, une critique qui revient souvent est que l’algorithme de condensation préféré par défaut serait SHA-1.\nCe n’est plus vrai depuis… GnuPG 2.0.13 , il y a bientôt six ans.\nEn fait, si on regarde les préférences par défaut sur une clef fraîchement générée :\n$ gpg2 --edit-key alice […] gpg\u0026gt; showpref [ultimate] (1). Alice \u0026lt;alice@example.org\u0026gt; Cipher: AES256, AES192, AES, 3DES Digest: SHA256, SHA384, SHA512, SHA224, SHA1 Compression: ZLIB, BZIP2, ZIP, Uncompressed Features: MDC, Keyserver no-modify on constate que ces préférences sont plutôt « saines » et ne nécessitent pas, à mon avis, que l’on recommande systématiquement aux utilisateurs de les changer (pour chipoter, je ferais bien passer AES128 avant AES256 et AES192, mais c’est un détail). La présence de 3DES et SHA1 peut surprendre (à quoi bon les utiliser si AES et la famille SHA2 sont disponibles ?), mais ces algorithmes sont les seuls imposés par le standard OpenPGP1 et ils garantissent l’interopérabilité avec d’autres implémentations du standard (pas la peine d’essayer de les supprimer de la liste des préférences, GnuPG les rajoutera implicitement).\nDonc, à moins que vous n’ayez des opinions bien arrêtées sur ce que valent les différents algorithmes cryptographiques, faites confiance à la sélection par défaut de GnuPG.\nDétail amusant, même Bruce Schneier n’a pas jugé utile de changer les préférences par défaut de GnuPG pour sa clef , même pas pour y insérer ses propres algorithmes Blowfish (qui fut en compétition avec Rijndael pour devenir AES) ou Twofish.\nAttention néanmoins, si vous avez générée votre clef il y a longtemps, sa sélection d’algorithmes préférés est peut-être effectivement dépassée. Pour la mettre automatiquement à jour, utilisez la commande setpref sans arguments dans l’éditeur de clef de GnuPG.\nClef primaire et sous-clefs Lors de la création d’une nouvelle clef, le comportement par défaut de GnuPG est de créer en réalité deux clefs : une clef primaire de certification et de signature, et une sous-clef de chiffrement.\nL’utilisation de sous-clefs se justifie d’abord pour une simple raison technique : à l’exception notable du très flexible RSA, la plupart des algorithmes à clef publiques utilisés par OpenPGP permettent soit de signer (comme DSA ou ECDSA) soit de chiffrer (comme ElGamal ou ECDH), mais ils ne permettent pas de faire les deux. Cela impose donc d’utiliser des clefs distinctes pour les opérations de signature/certification et de chiffrement.\nMais un autre avantage des sous-clefs est qu’elles peuvent être remplacées à tout moment indépendamment de la clef primaire dont elles dépendent.\nLa clef primaire est la clef qui est associée à vos identités, c’est celle que tout le monde connaît et surtout c’est celle que tout le monde signe. Révoquer cette clef et la remplacer par une autre revient à perdre toutes les signatures péniblement accumulées au fil du temps, et à disparaître virtuellement de la toile de confiance. Il faut alors faire signer sa nouvelle clef pour se ré-introduire dans la toile ; comme cela implique généralement de sortir de chez soi (Brrr) et de voir du monde (Argh), c’est quelque chose que l’on souhaite naturellement avoir à faire le moins souvent possible.\nÀ l’inverse, une sous-clef peut être révoquée et remplacée à tout moment, cela n’affecte aucunement la validité et la réputation de la clef primaire, et c’est en plus transparent pour les utilisateurs qui de toute façon ne manipulent jamais directement les sous-clefs : si votre interlocuteur veut vous envoyer un message chiffré, il n’a besoin que de sélectionner votre clef primaire, c’est son implémentation d’OpenPGP qui se chargera de trouver la sous-clef de chiffrement.\nEn bref, le principe des sous-clefs permet de dissocier la clef qui établit votre identité et vous représente au sein de la toile de confiance, des clefs que vous utilisez concrètement.\nDonc, ne vous contentez pas de la sous-clef de chiffrement générée par défaut par GnuPG, et générez en plus une seconde sous-clef pour les opérations de signature. Utilisez la clef primaire exclusivement pour signer des clefs.\nSous-clefs de compatibilité Il n’y a, en principe, pas de raison d’avoir plus d’une sous-clef de chiffrement et une sous-clef de signature.\nUne raison plausible et intéressante, toutefois, est d’assurer une certaine compatibilité avec des implémentations plus anciennes d’OpenPGP.\nImaginons la situation suivante : Alice utilise GnuPG 2.1, et elle aimerait pouvoir utiliser les algorithmes à base de courbes elliptiques (ECC, Elliptic Curve Cryptography) que ce dernier prend en charge. Malheureusement, si Bob utilise aussi GnuPG 2.1, Charlie, lui, utilise encore GnuPG 2.0, qui ne connaît pas les courbes elliptiques. Si Alice génère des clefs ECC, elle se coupe de Charlie ; si elle génère des clefs RSA, elle ne se coupe de personne, mais personne ne profite de l’introduction d’ECC dans GnuPG — du coup, pas grand’monde n’est motivé pour passer à GnuPG 2.1, ce qui freine d’autant plus le déploiement des clefs ECC dont tout le monde dit pourtant qu’elles sont l’avenir parce que RSA, c’est has-been.2\nLes sous-clefs offrent une solution possible à ce blocage. Si Alice a une clef primaire RSA, elle peut avoir une sous-clef de chiffrement RSA et une sous-clef de chiffrement ECDH. Quand Charlie voudra chiffrer un message à destination d’Alice, son GnuPG 2.0 sélectionnera automatiquement la sous-clef RSA en ignorant la sous-clef ECDH qu’il ne sait pas utiliser. Le GnuPG 2.1 de Bob, en revanche, pourra utiliser la sous-clef ECDH (petite subtilité : il faudra que la sous-clef ECDH ait été générée après la sous-clef RSA, puisque GnuPG sélectionne automatiquement la sous-clef la plus récente lorsqu’il en trouve plusieurs utilisables). Ainsi, Alice ne se coupe de personne, et peut utiliser les algorithmes les plus récents avec ceux qui les acceptent.\nCette solution est aussi applicable aux opérations de signature. Dans ce cas, comme le signataire ne sait pas forcément qui vérifiera la signature, la compatibilité maximale peut être assurée en signant systématiquement à la fois avec une sous-clef RSA ou DSA et avec une sous-clef ECDSA.\nÀ terme, lorsque GnuPG 2.1 (ou d’autres implémentations d’OpenPGP prenant en charge les courbes elliptiques, comme Google End-to-end) sera suffisamment répandu, les sous-clefs RSA pourront éventuellement être révoquées.\nDisclaimer : J’ai expérimenté cette notion de « sous-clefs de compatibilité » à l’occasion de l’écriture de ce journal, mais je ne l’utilise pas en pratique. Je n’ai pas de clefs ECC, donc le problème de compatibilité avec GnuPG 1.4 et 2.0 ne se pose pas à moi.\nFaut-il faire expirer les clefs ? Par défaut, les nouvelles clefs OpenPGP créées par GnuPG 2.1 n’ont pas de date d’expiration et sont donc valides ad vitam aeternam jusqu’à ce qu’elles soient éventuellement révoquées. Est-ce une bonne idée ? Faudrait-il spécifier une date d’expiration, et le cas échéant, quelle devrait être la durée initiale de validité ?\nJe n’ai pas de réponse absolue à ces questions, mais il faut noter deux choses pour commencer. D’une part, GnuPG est assez psychorigide vis-à-vis de l’expiration et refusera catégoriquement de vous laisser utiliser une clef expirée (ce comportement est non-débrayable, ce qui est sujet à débat dans la communauté). D’autre part, la date d’expiration n’est pas gravée dans le marbre : tant que vous avez accès à la clef primaire privée, vous pouvez à tout moment changer la date d’expiration à votre guise (y compris ajouter une date d’expiration à une clef qui était initialement éternellement valide, ou inversement repousser la date d’expiration initiale aux calendes grecques). Cela se fait en re-signant votre propre clef.\nCela étant dit, quel est l’intérêt de faire expirer une clef ?\nSur une clef primaire, qui ne peut être révoquée que par la clef privée correspondante,3 l’intérêt se manifeste dans le cas où vous perdez d’une façon ou d’une autre l’usage de votre clef privée, et que n’avez pas (ou plus) sous la main le certificat de révocation qui avait été généré en même temps (par exemple, une défaillance de votre disque dur vous fait perdre tout votre répertoire ~/.gnupg, et quant à vos sauvegardes… « euh, quelles sauvegardes ? »). L’expiration permettra dans ce cas d’éviter de laisser en circulation une clef éternellement valide mais en pratique inutilisable.\nNotez que l’expiration n’a aucun intérêt en cas de vol de votre clef privée, puisque votre attaquant n’aura qu’à utiliser la clef volée pour re-signer votre clef publique et repousser la date d’expiration.\nSur une sous-clef, l’intérêt est à mon sens plus réduit. Si vous perdez l’usage d’une sous-clef, vous pourrez toujours révoquer la clef publique correspondante (et donc signaler à vos interlocuteurs de ne plus l’utiliser) avec votre clef primaire. En fait, même si vous ne révoquez pas la clef inutilisable, le simple fait de générer une nouvelle sous-clef devrait suffire pour que vos interlocuteurs cessent d’utiliser l’ancienne, puisqu’en présence de plusieurs sous-clefs GnuPG utilisera systématiquement la plus récente. Faire expirer ou révoquer les anciennes clefs permet juste d’exprimer explicitement votre volonté de ne plus voir ces clefs utilisées.\nJe suggérerai personnellement (sans aller néanmoins jusqu’à prétendre que c’est une bonne pratique) de faire expirer votre clef primaire tous les deux ou trois. Ça vous oblige à la re-signer périodiquement, ce qui d’une part vous donne l’occasion de vérifier qu’elle est bien à jour (par exemple, elle ne contient pas une identité que vous n’utilisez plus depuis des années, et que vous aviez complètement oublié), et d’autre part ré-affirme auprès des autres utilisateurs que cette clef est toujours d’actualité et que vous continuez à vous en servir.\nOù et comment stocker ses clefs privées ? À part les attaques cryptanalytiques, le principal risque auquel sont exposées les clefs privées est celui de l’exfiltration, où un attaquant obtient une copie de vos clefs privées. Le stockage des clefs doit tenir compte de ce risque.\nGnuPG stocke les clefs privées dans le dossier ~/.gnupg/private-keys-v1.d, à raison d’un fichier par clef, ou dans le fichier ~/.gnupg/secring.gpg (GnuPG 1.4/2.0). La restriction de l’accès à ces fichiers est du ressort du système d’exploitation, GnuPG n’a pas grand’chose à voir là-dedans — tout ce qu’il fait, lors de la première utilisation, est de s’assurer que le dossier $GNUPGHOME a les permissions appropriées, soit 0700.\nLes clefs sont chiffrées par une clef AES de 128 bits dérivée de votre phrase de passe par n itérations d’une fonction de condensation, n étant déterminée empiriquement pour que la dérivation prenne environ 100 millisecondes — ceci afin de rendre la recherche exhaustive de la phrase de passe trop coûteuse. Par ailleurs, une clef n’est déchiffrée que juste avant d’être utilisée, et la clef déchiffrée est supprimée de la mémoire immédiatement après utilisation.\nUn attaquant souhaitant s’emparer de vos clefs a donc deux obstacles à surmonter : il doit accéder aux fichiers contenant les clefs (par effraction physique ou, plus probablement, par piratage informatique), et déchiffrer celles-ci (soit en cassant la clef AES, soit en trouvant la phrase de passe).\nToutefois, dans un scénario où l’attaquant a infiltré votre machine pour exfiltrer les fichiers contenant les clefs privées, il n’est pas difficile d’imaginer qu’il a aussi installé un keylogger pour récupérer en même temps votre phrase de passe.\nL’exposition de vos clefs à ce dernier scénario peut être réduite en les stockant hors-ligne, au lieu de les laisser sur votre machine.\nStockage hors-ligne de la clef primaire Si vous avez une sous-clef de chiffrement et une sous-clef de signature comme recommandée plus haut, vous n’avez plus besoin de la clef primaire que pour modifier votre propre clef (ajouter/révoquer une identité ou une sous-clef, changer les préférences) et signer les clefs d’autres utilisateurs. Du coup, vous ne perdrez pas grand’chose en confort d’utilisation à conserver la clef primaire privée exclusivement hors ligne, hors de portée de toute attaque informatique.\nSi la procédure pour cela était relativement « tordue » avec GnuPG 1.4/2.0 (il n’était pas possible de supprimer uniquement la clef primaire du trousseau privée, de sorte qu’il fallait, en gros : ① exporter les sous-clefs uniquement, ② supprimer la clef primaire, ce qui supprimait aussi les sous-clefs rattachées, puis ③ ré-importer uniquement les sous-clefs — et encore je ne parle pas de la procédure à suivre pour utiliser la clef hors-ligne…), c’est devenu beaucoup plus simple avec GnuPG 2.1.\nTrouvez le keygrip de votre clef primaire :\n$ gpg2 --with-keygrip -K /home/alice/.gnupg/pubring.kbx ------------------------------ sec rsa4096/5B491A54 2014-12-31 [SC] [expires: 2017-12-30] Keygrip = D4DF0C35D3E22FA6AC37DA2E54FB03F73616A3CB uid [ultimate] Alice \u0026lt;alice@example.org\u0026gt; […] La clef privée 5B491A54 se trouve dans le fichier ~/.gnupg/private-keys-v1.d/D4DF0C35D3E22FA6AC37DA2E54FB03F73616A3CB.key. Sortez simplement ce fichier de son répertoire et stockez-le sur le support de votre choix. Quand vous avez besoin d’utiliser la clef primaire, remettez temporairement le fichier en place. C’est tout.\nLe « support de votre choix » peut être une clef USB, une carte SD, une disquette , un CD-R …\nOù conserver le support ? Là où on ne vous le volera pas, mais aussi et surtout là où vous ne le perdrez pas (égarer le support est un risque probablement plus grand que le risque de vol, à mon avis). Donc, pas caché quelque part dans un coin improbable (sous l’oreiller, dans une brique creuse de la cheminée ou sous une latte de parquet), mais plutôt proprement rangé dans un tiroir, en fait au même endroit que là où vous rangez déjà vos papiers et autres trucs importants.\n(La FSF Europe recommande une grotte gardée par des orques , ce qui est certainement efficace, mais si vous n’avez pas ni grottes ni orques dans votre région, un coffre-fort gardé par des banquiers peut aussi faire l’affaire.)\nUne option intéressante est d’utiliser une méthode de secret réparti pour partager la clef privée en n fragments, dont m sont nécessaires pour reconstituer la clef complète. La clef peut ainsi répartie sur plusieurs supports sans que la perte de l’un d’entre eux ne fasse perdre toute la clef, et sans que le vol de l’un d’entre eux ne compromette toute la clef non plus.\nChez moi, j’utilise libgfshare , une implémentation de la méthode de secret réparti d’Adi Shamir, pour mettre en œuvre cette dernière option.\nStockage hors-ligne des sous-clefs En principe, les sous-clefs peuvent être gardées hors-ligne de la même façon que la clef primaire. Toutefois, les sous-clefs sont utilisées beaucoup plus fréquemment que la clef primaire et devoir ressortir le support et rapatrier les clefs dans le dossier ~/.gnupg/private-keys-v1.d pour chaque opération de signature ou de chiffrement deviendrait rapidement pénible.\nSi vous tenez à garder les sous-clefs hors-ligne, la meilleure solution est de les stocker sur un token à partir duquel elles peuvent être directement utilisées sans devoir les rapatrier sur l’ordinateur. C’est ce que permet la carte OpenPGP, sur laquelle je ne m’étendrai pas ici puisque j’en ai déjà largement parlé dans ma dépêche de décembre dernier .\nLes sauvegardes Une question voisine du stockage des clefs privées est celle de leur sauvegarde. Avoir (au moins) une copie de sauvegarde de vos clefs privées est crucial : plein de choses imprévues peuvent arriver à vos clefs ou au disque dur sur lequel elles se trouvent.4 En fait, la perte accidentelle est probablement plus probable qu’une compromission par un attaquant…\nIl est préférable de ne pas sauvegarder les clefs privées au même endroit que le reste de vos données, à moins que vous ne stockiez toutes vos sauvegardes sur des supports eux-mêmes chiffrés et/ou auxquels vous seul avez accès. (Si votre support de sauvegarde est chiffré, attention au problème d’œuf et de poule : ne sauvegardez pas la clef permettant d’ouvrir le support de sauvegarde sur ce même support !)\nOutre les copies de sauvegardes classiques, je recommande également une sauvegarde au format papier. L’outil paperkey exporte les informations essentielles de votre trousseau privé dans un format aisément imprimable sur une bonne vieille feuille de papier, dont la capacité de rétention d’informations sur de longues périodes n’est plus à démontrer. Conservez ensuite cette feuille avec le reste de vos documents importants.\nQuelles sont les autres données à protéger ? À part les clefs privées, quels sont les autres fichiers sensibles ?\nLe(s) certificat(s) de révocation. Quiconque s’en empare peut inconditionnellement révoquer votre clef (par exemple pour tenter de faire accepter ensuite une fausse clef à vos correspondants, avant que nous n’ayez eu le temps d’en générer une nouvelle de votre côté). Il est souvent recommandé de le stocker hors-ligne, au même endroit que là où vous mettez votre clef primaire.\nL’état du pool d’entropie (stocké dans ~/.gnupg/random_seed). La connaissance de cet état pourrait permettre à un attaquant de déduire les prochaines clefs de session. En cas de doute, il vaut mieux supprimer purement et simplement ce fichier, GnuPG reconstituera un pool avec de l’entropie en provenance du système.\nLa base de confiance (stockée dans /.gnupg/trustdb.gpg). Modérément sensible. La fuite de cette base peut permettre de tisser un graphe plus précis de vos relations : savoir que vous avez signé la clef d’Alice (ce que tout le monde peut savoir en regardant sa clef publique) dit seulement que vous connaissez Alice, mais savoir que vous lui faites complètement confiance témoigne que vous le connaissez bien (ou que vous prenez la gestion de votre toile de confiance à la légère). Cette base de confiance peut toujours être reconstituée manuellement si besoin (mais c’est fastidieux si votre trousseau public est bien rempli).\nClef privée compromise, quelles conséquences ? Il n’est pas inutile, je pense, de passer rapidement en revue les conséquences d’une compromission d’une clef privée. Admettons donc, pour les besoins du raisonnement, que Mallory a d’une façon ou d’une autre mis la main sur une des clefs privées d’Alice, à son insu. Que peut-il en faire ?\nSous-clef de chiffrement compromise C’est probablement le pire cas de figure pour la confidentialité des communications. Mallory peut déchiffrer tous les messages à l’intention d’Alice, le risque de détection pour lui est quasiment nul : tout ce qu’il a à faire est d’intercepter les messages destinés à Alice tout en les laissant arriver intact jusqu’à elle. Seule une erreur de Mallory, comme une exploitation imprudente des renseignements qu’il obtient de cette manière, pourra conduire Alice à soupçonner que ses messages sont lus.\nSous-clef de signature compromise Mallory peut signer des messages au nom d’Alice. C’est potentiellement dommageable (imaginons par exemple qu’Alice signe les releases de son logiciel libre : Mallory peut faire accepter à Bob une version proprement troué par ses soins), mais avec un risque de détection assez élevé. Mallory doit absolument éviter que les fausses signatures ne parviennent jusqu’à Alice, faute de quoi celle-ci réalisera immédiatement que quelque chose ne va pas. C’est néanmoins envisageable si Mallory a un contrôle suffisant du réseau (et en cryptographie, on suppose toujours que l’attaquant contrôle totalement le réseau).\nClef primaire compromise Il est un peu plus difficile d’appréhender ce que peut faire un attaquant ayant mis la main sur la clef primaire. Avant tout, il faut noter que Mallory ne peut pas s’en servir pour obtenir les sous-clefs privées : il n’y a aucun lien mathématique entre une clef primaire et une sous-clef et la connaissance de la clef primaire ne permet pas de tirer la moindre information sur les sous-clefs. Partant, Mallory ne peut pas déchiffrer en l’état les communications d’Alice.\nEn revanche, Mallory peut\nSigner des messages au nom d’Alice. Même si Alice a une sous-clef de signature, la clef primaire reste utilisable pour signer.\nSigner des clefs au nom d’Alice. À la différence de la sous-clef de signature, la clef primaire peut signer non seulement des messages mais aussi les clefs d’autres utilisateurs. Mallory peut ainsi faire accepter de fausses clefs à ceux qui font confiance en la signature d’Alice.\nJouer à l’homme du milieu. Mallory génère une nouvelle sous-clef de chiffrement et publie une nouvelle version de la clef publique d’Alice avec cette sous-clef rattachée. Les correspondants d’Alice récupèrent cette sous-clef en rafraîchissant leur trousseau public (contrairement à une attaque MITM « classique », Mallory n’a ici aucune difficulté à faire accepter sa sous-clef de chiffrement, puisqu’elle est attachée à la vraie clef publique d’Alice que ses correspondants connaissent), et se mettent à chiffrer leurs messages destinés à Alice avec la sous-clef créée par Mallory. Celui-ci intercepte les messages, les déchiffre, les re-chiffre avec la sous-clef de chiffrement originale d’Alice, et les fait suivre à Alice.\nToutes ces actions ont en commun de présenter un risque de détection élevé. C’est particulièrement vrai pour la dernière, où Mallory doit s’assurer non seulement que sa nouvelle sous-clef de chiffrement n’est vue que par les correspondants d’Alice et surtout pas par Alice elle-même, mais aussi qu’il intercepte bien tous les messages destinés à Alice — si celle-ci voit arriver ne serait-ce qu’un seul message à son intention mais chiffré avec une sous-clef qu’elle ne connaît pas, elle réalisera immédiatement l’interférence.\nModifier les préférences de la clef publique. Plus sournoisement, Mallory peut publier une nouvelle version de la clef publique d’Alice dans laquelle il a altéré la sélection d’algorithmes préférés, afin de mettre en tête (ou uniquement) un algorithme plus « facile » à casser (3DES par exemple). Contrairement à ce qui précède, cette attaque, même si elle est détectable, peut tout de même facilement inaperçue. Elle suppose néanmoins que Mallory soit capable de casser au moins un des algorithmes symétriques utilisés par OpenPGP, ce qui n’est pas gagné (même 3DES, a priori le plus faible des algorithmes disponibles, résiste encore très bien aux attaques cryptanalytiques).\nLa première version du standard , en 1998, demandait que MD5 soit aussi pris en charge aux côtés de SHA1, mais la version suivante en 2007 a déclaré cet algorithme obsolète. SHA1 pourrait subir le même sort si une troisième version devait voir le jour.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nPour ce que ça vaut, je ne partage absolument pas cette opinion. Je suis même plutôt sceptique vis-à-vis des algorithmes ECC et surtout des courbes dont les paramètres ont été choisis sur des critères non-spécifiés.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nC’est un petit mensonge : il est en réalité possible de désigner des « révocateurs », des tiers de confiance que vous autoriser à révoquer votre clef à votre place dans l’éventualité où vous perdriez l’usage de votre clef primaire privée.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nDernier exemple en date, chez moi : un synthétiseur de quinze kilos qui tombe sur un ordinateur portable de un kilo et demi, le disque dur du portable n’a pas survécu — j’avais pensé à plein d’incidents pouvant arriver à mes données, mais ça je dois avouer que je ne l’avais pas vu venir… ’foiré de chat !\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/blog/2015-05-17-de-la-gestion-des-clefs-openpgp/","tags":["gnupg"],"title":"De la gestion des clefs OpenPGP"},{"categories":["Guide"],"contents":"Article initialement publié sur LinuxFR.org À la demande générale de deux personnes , dans cette dépêche je me propose de vous présenter l’application cryptographique « OpenPGP » pour cartes à puce au format ISO 7816 . Une carte à puce dotée d’une telle application vous permet d’y stocker et de protéger vos clefs OpenPGP privées.\nPrésentation de la carte OpenPGP Présentation La carte OpenPGP a été imaginée par les développeurs à l’origine de GnuPG et est spécialement conçue pour fonctionner avec ce dernier. Son utilisation est aussi transparente que possible et avoir vos clefs privées sur une carte OpenPGP ne change fondamentalement rien à la manière d’utiliser GnuPG : la seule différence est qu’à chaque fois que GnuPG aura besoin d’accéder à une de vos clefs privées, au lieu de vous demander la phrase de passe protégeant la clef sur votre disque dur, il vous demandera le PIN de la carte.\nOutre la signature et le déchiffrement de messages OpenPGP, les autres usages possibles de la carte incluent :\nla signature ou le déchiffrement de messages S/MIME ; l’authentification auprès d’un serveur SSH ; l’authentification auprès d’un serveur TLS ; et probablement d’autres qui restent à imaginer ou à mettre en œuvre. Les clefs cryptographiques La carte OpenPGP permet de stocker jusqu’à trois clefs privées, une pour chaque type d’utilisation : une clef de (dé)chiffrement, une clef de signature et une clef d’authentification.\nLe rôle majeur de la carte est de protéger ces clefs privées. Lorsqu’elles sont stockées sur la carte, il est par conception impossible de les en extraire, elles ne peuvent qu’être utilisées « sur place ».\nAinsi, toutes les opérations cryptographiques nécessitant l’une de ces clefs sont réalisées directement sur la carte elle-même : l’ordinateur envoie à la carte les données à déchiffrer 1 , signer ou authentifier et il reçoit le résultat de l’opération en retour, sans jamais avoir entraperçu les clefs.\nNote\nFaire réaliser les opérations cryptographiques par la carte ne les rend pas plus rapides, pour au moins trois raisons :\nil est peu probable que le processeur de la carte, même s’il est spécialisé, soit plus véloce que votre CPU ;\nl’échange de données entre l’ordinateur et la carte introduit un délai non négligeable ;\nla carte ne réalise en réalité qu’une partie du travail, le reste restant à la charge de l’ordinateur (précisément, entre autres, pour limiter le volume de données à transférer entre les deux appareils) ; par exemple, pour déchiffrer un message OpenPGP, la carte n’est responsable que du déchiffrement de la clef de session symétrique (soit seulement 16 octets pour une clef AES 128 bits) — le déchiffrement du corps du message est fait par l’ordinateur, une fois qu’il a obtenu de la carte la clef de session déchiffrée.\nBref, il ne faut pas compter sur la carte pour accélérer les opérations cryptographiques, ce n’est pas son but.\nPour l’instant, les clefs de la carte ne peuvent être que des clefs RSA — d’autres types de clefs, notamment à base de courbes elliptiques dont la prise en charge arrive dans GnuPG 2.1, seront probablement possibles à l’avenir. La spécification garantit une taille minimale pour chaque clef de 1024 bits et n’impose pas de taille maximale. En pratique, toutes les implémentations courantes devraient permettre des clefs de 2048 bits et certaines permettent des clefs de 4096 bits (c’est notamment le cas de l’implémentation de référence de ZeitControl — voir plus loin).\nSécurité de la carte La carte OpenPGP est protégée par deux ou (optionnellement) trois codes PIN, désignés PW1 ou « PIN utilisateur » (User PIN, parfois appelé seulement « PIN », par opposition au suivant), PW3 ou « PIN administrateur » (Admin PIN) et RC (Resetting Code, optionnel).\nLes opérations de la carte peuvent être classées en fonction du PIN nécessaire pour les réaliser :\naucun PIN n’est nécessaire pour lire les données de la carte ; le PIN utilisateur est demandé pour toute opération exploitant les clefs privées (signature, déchiffrement, authentification) et pour changer le PIN utilisateur lui-même ; le PIN administrateur est demandé pour presque toutes les écritures sur la carte (modification des informations stockées sur la carte, importation ou génération de clefs privées, changement d’un PIN autre que le PIN utilisateur). À chaque PIN est associé un compteur d’essai (Retry Counter), qui est décrémenté à chaque saisie incorrecte du PIN. Tant que le compteur est supérieur à zéro, il suffit de saisir le PIN correct pour remettre le compteur à trois. Lorsque le compteur tombe à zéro, la vérification du PIN correspondant n’est plus possible et toutes les opérations dépendantes de cette vérification sont interdites. Dans ce cas, il faut enregistrer un nouveau PIN pour remettre le compteur à trois.\nConcrètement, cela signifie ① que trois saisies erronées consécutives du PIN utilisateur entraînent un blocage de la carte (puisque toutes les opérations cryptographiques nécessitent de vérifier le PIN utilisateur), ② que la carte peut être débloquée en changeant le PIN utilisateur, après avoir saisi le PIN administrateur, ③ qu’après trois saisies erronées consécutives du PIN administrateur, la carte est irréversiblement bloquée (puisqu’il faudrait changer le PIN administrateur pour remettre son compteur d’essai à trois, or cela nécessite de vérifier le PIN administrateur, ce qui n’est justement pas possible si son compteur est à zéro).\nNote\nCertaines implémentations prévoient néanmoins la possibilité de ré-initialiser complètement une carte dont les compteurs d’essai des PIN utilisateur et administrateur sont tous les deux à zéro. La ré-initialisation efface toutes les données de la carte, restaure les PIN utilisateur et administrateur par défaut et remet leur compteur à trois.\nEt le Resetting Code ? S’il est défini, il peut être utilisé à la place du PIN administrateur pour ré-initialiser le PIN utilisateur et donc débloquer la carte. Peu pertinent pour une utilisation individuelle, le RC est surtout utile dans les situations où la carte est délivrée par une autorité à un utilisateur qui n’est pas supposé en modifier le contenu et à qui on ne veut donc pas révéler le PIN administrateur, mais que l’on veut tout de même autoriser à débloquer sa carte tout seul. (Le RC est donc assimilable au code « PUK » utilisé pour débloquer une carte SIM.) Par défaut, aucun Resetting Code n’est défini et son compteur d’essai est à zéro.\nLe PIN utilisateur doit faire au minimum 6 caractères, le PIN administrateur et le Resetting Code au minimum 8. La taille maximale n’est pas définie dans la spécification (elle est de 32 caractères pour chaque PIN sur l’implémentation de référence de ZeitControl). Il est possible d’utiliser n’importe quel caractère UTF-8 et non pas seulement des chiffres, mais un code non-numérique ne pourra pas être saisi sur le clavier intégré à certains lecteurs de carte.\nDans la suite de ce document, « PIN » sans précision désignera implicitement le PIN utilisateur. Lorsqu’il sera question du PIN administrateur, il sera toujours désigné explicitement.\nDonnées stockées sur la carte Outre les clefs privées, la carte OpenPGP contient un certain nombre de champs (“Data Objects” ou DO, dans le jargon des cartes à puce) pour stocker des données supplémentaires.\nLes champs à usage défini Ce sont des champs dont l’usage est explicitement défini dans la spécification de la carte OpenPGP. Toutefois, GnuPG n’utilise pas lui-même la plupart de ces champs — il permet de les consulter et les modifier, mais c’est à l’utilisateur ou à d’autres programmes exploitant la carte de leur trouver une utilisation.\nCes champs sont :\nle nom du détenteur de la carte ; son sexe ; ses préférences linguistiques : une liste de 1 à 4 codes de langue au format ISO 639-1 ; son « identifiant » : la spécification mentionne la possibilité qu’un système d’authentification basée sur la carte OpenPGP utilise ce champ pour savoir sur quel compte connecter l’utilisateur une fois qu’il a saisi son PIN, mais je ne connais pas de systèmes qui le font ; un certificat : typiquement, un certificat X.509, mais n’importe quel autre format est possible (GnuPG traite ce champ comme un simple blob binaire) ; une URL vers la clef publique de l’utilisateur : GnuPG s’en sert pour rapatrier automatiquement la clef publique en question, ce qui permet d’avoir rapidement un trousseau opérationnel lorsque vous êtes amenés à travailler sur une machine qui n’est pas la vôtre ; jusqu’à trois « empreintes de clefs de confiance » (“CA Fingerprints”) : des empreintes SHA-1 de clefs considérées valides et auxquelles il est fait une confiance absolue — là encore, GnuPG ne se sert pas de ces champs et je ne connais aucun exemple concret d’utilisation. Les « champs privés » ou à usage indéfini En plus des champs ci-dessus, la version 2.0 de la spécification définit 4 champs inutilisés, de 254 octets chacun, dont l’usage est entièrement et officiellement laissé à la discrétion de l’utilisateur : les “Private Use DOs” 1 à 4.\nLa différence entre ces 4 champs réside dans le PIN demandé pour y accéder en lecture ou en écriture :\nprivate # . Lecture . Écriture Private DO 1 . aucun PIN . PIN utilisateur Private DO 2 . aucun PIN . PIN administrateur Private DO 3 . PIN utilisateur . PIN administrateur Private DO 4 . PIN administrateur . PIN administrateur (On notera que ces conditions s’écartent quelque peu du principe général énoncé plus haut selon lequel la lecture de la carte ne demande pas de PIN et l’écriture demande le PIN administrateur.)\nCes champs sont vides par défaut, il appartient à chacun d’imaginer l’usage qu’il peut en faire. (La carte fournie par la FSFE à ses adhérents contient, dans le Private DO 2, le numéro, le nom et l’adresse électronique en @fsfe.org de l’adhérent.)\nLe matériel La carte à puce La « carte OpenPGP » est juste une spécification ; tout le monde peut l’implémenter sur le support de son choix.\nActuellement, l’implémentation la plus répandue est réalisée sur la carte BasicCard de ZeitControl, une carte à puce programmable en BASIC. Elle est distribuée par Kernel Concepts . La Free Software Foundation Europe fournit également à tous ses nouveaux fellows un exemplaire personnalisé de cette carte , aux couleurs de la FSFE et sérigraphié au nom de l’adhérent.\nGnuk est une implémentation de la carte OpenPGP pour microcontrôleur STM32F103, permettant notamment de réaliser un token USB — un périphérique qui apparaît, aux yeux de l’ordinateur, comme un lecteur de cartes à puce classique contenant une carte unique insérée en permanence. Le FST-01 est un exemple d’un tel token basé sur Gnuk, il est disponible auprès de Seeed Bazaar .\nLe CryptoStick est un autre token USB formé d’une carte OpenPGP physique (celle de ZeitControl, a priori) embarquée dans un boîtier USB. Le projet envisage aussi de créer une version basée sur Gnuk.\nIl existe aussi plusieurs implémentations ciblant des [[Java Card]]s (cartes à puce programmables en Java). La YubiKey NEO en contient une, désactivée par défaut — Yubico fournit les instructions pour l’activer .\nLe lecteur de cartes À moins d’opter pour un token USB comme le FST-01, le CryptoStick ou la YubiKey, un lecteur de cartes à puce est évidemment nécessaire pour utiliser une carte OpenPGP.\nIl existe une grande variété de lecteurs, voici les principaux points à considérer pour choisir le sien.\nPort série, port PCMCIA ou port USB ? La plupart des lecteurs aujourd’hui sont des lecteurs USB — et, faute d’expérience de l’auteur avec les autres types de lecteurs, ce sont les seuls dont il sera question dans cet article.\nClavier intégré ? Un petit nombre de lecteurs contiennent un clavier intégré permettant de saisir le PIN directement sur le lecteur (par exemple le SPR 332 de SCM Microsystems ). L’intérêt en termes de sécurité est que dans ce cas, le PIN ne passe jamais par l’ordinateur et n’est pas susceptible d’être enregistré par un éventuel keylogger ou autre logiciel malveillant. Attention, le clavier ne comprend la plupart du temps que des chiffres, interdisant la saisie d’un PIN qui ne serait pas entièrement numérique ; certains de ces lecteurs limitent aussi la longueur maximale du PIN, qui peut être plus courte que ce qu’autorise la carte OpenPGP.\nPrise en charge de l’Extended APDU ? Les APDU (Application Protocol Data Unit) sont les messages échangés entre la carte à puce et son lecteur. Ils peuvent être short (les données transmises sont limitées à 256 octets) ou extended (données limitées à 65536 octets). Pour importer une clef de 1024 bits sur la carte OpenPGP, le lecteur doit prendre en charge les extended APDU.\nUn autre point important est bien sûr la prise en charge du lecteur sous votre système. La question des pilotes sera abordée dans la section suivante, mais disons tout de suite que sous GNU/Linux, vous vous simplifierez probablement la tâche en choisissant un lecteur conforme à la norme CCID (Chip/Card Interface Device). Le pilote ccid prend en charge une grande partie de ces lecteurs et ses développeurs tiennent à jour des listes des lecteurs pris en charge ou non — et indiquent en plus pour chaque lecteur les problèmes potentiels comme l’absence de gestion des extended APDU.\nL’auteur de ces lignes a choisi pour sa part le SCR 3500 SmartFold de SCM Microsystems (maintenant Identive), un petit lecteur compact et aisément transportable. Il fait partie des lecteurs qui « devraient fonctionner » (should work readers) avec le pilote ccid et je confirme qu’il fonctionne bien. Pour ce que ça vaut, j’en suis satisfait, même si je le trouve un peu trop fragile pour l’utilisation nomade à laquelle sa taille le destine.\nLes logiciels En règle générale, l’utilisation de cartes à puce nécessite une pile logicielle à trois niveaux : un pilote pour le lecteur de cartes, un middleware exposant une API standard d’accès aux cartes à puce (permettant aux applications de faire abstraction du matériel et des pilotes) et les applications utilisatrices.\nLes pilotes de lecteurs de carte Le pilote ccid déjà évoqué ci-dessus prend en charge un grand nombre de lecteurs USB compatibles avec la norme CCID. Cela inclut également les tokens USB comme le CryptoStick, les tokens basés sur Gnuk ou le YubiKey NEO, qui sont tous compatibles CCID.\nIl existe également des pilotes plus spécifiques pour des modèles précis de lecteurs. Pour les utilisateurs de Debian (et dérivés), le paquet virtuel pcsc-ifd-handler en fournit commodément une liste.\nDes modèles non-pris en charge par les pilotes libres disposent parfois d’un pilote propriétaire fourni par le constructeur. C’est le cas par exemple des lecteurs de la gamme HID Omnikey, dont les pilotes sont disponibles sur www.hidglobal.com/drivers .\nLibre ou non, le pilote d’un lecteur USB doit être installé dans un dossier appelé _nom-du-pilote_.bundle, lui-même situé dans le dossier /usr/local/pcsc/drivers (par défaut — ce dossier est configurable à la compilation de PCSC-Lite, vous pouvez consulter la page de manuel de pcscd(8) pour connaître le chemin effectif sur votre système). Vous pouvez bien sûr ignorer cette étape si le pilote est fourni dans les paquets de votre distribution.\nLe middleware PCSC-Lite PCSC-Lite est une implémentation libre pour systèmes Unix-like (y compris Mac OS X) de l’API Windows SCard, introduite dans Windows XP/Windows Server 2003 et normalisée par la suite sous le nom de spécification PC/SC .\nPCSC-Lite comprend deux composants : un démon (pcscd) qui gère le lecteur et communique avec la carte et une bibliothèque (libpcsclite.so), qui expose l’API PC/SC aux programmes qui lui sont liés.\nLe paquet de PCSC-Lite fourni par votre distribution devrait faire le nécessaire pour que le démon pcscd soit automatiquement lancé au démarrage. Si ce n’était pas le cas, consultez la documentation de votre système pour savoir comment ajouter le script shell / le job Upstart / l’unité Systemd / le truc lanceur de machins appropriés à votre système.\nÀ son lancement, le démon pcscd détecte automatiquement les lecteurs de carte présents sur le système. En revanche, si vous connectez votre lecteur série ou PCMCIA après le lancement du démon, celui-ci ne le détectera pas automatiquement, il faudra utiliser pcscd --hotplug pour l’inciter à rescanner ; ceci n\u0026rsquo;est pas nécessaire pour les lecteurs USB (cf commentaire .\nSinon il est possible d\u0026rsquo;utiliser une règle Udev semblable à la suivante (à ajouter dans /etc/udev/rules.d/90-local.rules, ou l’équivalent pour votre distribution) :\nACTION==\u0026#34;add\u0026#34;, SUBSYSTEM==\u0026#34;usb\u0026#34;, ATTR{idVendor}==\u0026#34;04e6\u0026#34;, ATTR{idProduct}==\u0026#34;5410\u0026#34;, RUN+=\u0026#34;/usr/sbin/pcscd --hotplug\u0026#34; où 04e6 et 5410 identifient le fournisseur et le modèle de votre lecteur, respectivement (les valeurs données ici correspondent au SCR 3500 de l’auteur, vous pouvez trouver celles correspondants à votre modèle avec lsusb -v par exemple).\nSi pcscd tourne sous un compte utilisateur dédié non-privilégié (ce qui est recommandé), il faut de plus s’assurer que ledit compte possède les droits sur le lecteur de carte. Le plus simple pour cela est de compléter la règle Udev ci-dessus en ajoutant les clefs suivantes (en supposant ici que pcscd tourne sous le compte utilisateur scard) :\n[…], OWNER=\u0026#34;scard\u0026#34;, MODE=\u0026#34;600\u0026#34; GnuPG GnuPG est bien entendu la principale application utilisatrice de la carte OpenPGP et c’est la seule qui sera abordée dans cet article. Sachez néanmoins que d’autres applications peuvent exploiter cette carte. En effet, quoique développée spécifiquement pour les besoins de GnuPG, la carte OpenPGP est compatible avec le standard PKCS#15 , qui définit une manière commune de stocker et d’accéder à des données cryptographiques sur une carte à puce. En fait, on peut voir la carte OpenPGP comme une carte PKCS#15, avec quelques spécificités propres à OpenPGP en plus. (Réciproquement, GnuPG peut aussi exploiter des cartes PKCS#15 standards en plus de « sa » carte OpenPGP.)\nÀ propos des versions de GnuPG Il existe actuellement trois variantes de GnuPG : la branche 1.x, dite « classique », dont la dernière version à l’heure où ces lignes sont écrites est la 1.4.18 ; la branche 2.0.x dite « stable » (dernière version : 2.0.26) ; et la nouvelle version 2.1.1 dite « moderne » qui vient tout juste de sortir le 16 décembre 2014.\nToutes les variantes permettent d’utiliser la carte OpenPGP, mais GnuPG 1.x seul ne permet que les opérations « de base » (éditer le contenu de la carte, déchiffrer et signer des messages OpenPGP). Les usages plus avancés qui seront décrits plus loin et, notamment, l’utilisation de la clef d’authentification, nécessitent les outils auxiliaires apportés par la branche 2.x, en particulier l’agent GnuPG (gpg-agent). GnuPG 2.x est donc conseillé pour exploiter tout le potentiel de la carte OpenPGP.\nNote\nIncidemment, avec la sortie de GnuPG 2.1.0 il semble clair que GnuPG 1.x n’a probablement pas beaucoup d’avenir sur le bureau. Entre autres indices :\nLes algorithmes à base de courbes elliptiques, qui viennent de faire leur entrée dans GnuPG 2.1, ne seront pas pris en charge par GnuPG 1.x . GnuPG 2.1 introduit un nouveau format de stockage des trousseaux de clefs incompatible avec celui des précédentes versions. Auparavant, il était possible d’utiliser conjointement GnuPG 1.x et GnuPG 2.0.x avec un trousseau commun, puisque les deux versions utilisaient le même format. Désormais, si la cohabitation de GnuPG 1.x et GnuPG 2.1 est toujours possible, les deux versions utiliseront chacune un trousseau distinct et les modifications faites avec GnuPG 1.x ne seront pas répercutées sur le trousseau de GnuPG 2.1 et inversement. Werner Koch lui-même explique qu’il maintient GnuPG 1.x principalement pour les besoins des anciennes plates-formes et des serveurs. Dans le reste de ce document, je supposerai l’utilisation de GnuPG 2.x, en faisant lorsque c’est nécessaire la distinction entre 2.0 et 2.1. Les captures de sortie standard seront issues de GnuPG 2.0.26, mais sauf mention contraire, tous les exemples seront applicables à GnuPG 2.1.\nSi vous tenez à utiliser GnuPG 1.x, sachez que vous pouvez l’utiliser conjointement avec l’agent GnuPG de la branche 2.x. Dans ce cas, certains des « usages avancés » vous seront accessibles, notamment l’authentification SSH. En revanche, si vous tenez à utiliser GnuPG 1.x seulement (sans agent), vous ne pourrez pas faire usage de la clef d’authentification (en tout cas pas avec GnuPG).\nComment GnuPG accède au lecteur de carte Les applications de GnuPG 2.x (gpg2 et gpgsm) n’accèdent jamais directement au lecteur de carte, dont ils sont séparés par plusieurs niveaux d’indirection. Elles interagissent seulement avec l’agent GnuPG, un démon qui gère les clefs secrètes et les phrases de passe pour l’ensemble du système GnuPG 2.x.\nL’agent GnuPG lui-même délègue la gestion des cartes à puce à un autre démon, Scdaemon (SmartCard Daemon). C’est lui seul qui s’occupe de détecter le lecteur de carte et de communiquer avec la carte qu’il contient. Il utilise un protocole ad-hoc pour recevoir ses instructions de l’agent GnuPG.\nScdaemon dispose de deux options pour accéder au lecteur de carte. Dans le cas général, il utilise le middleware PCSC-Lite que nous avons vu précédemment. Mais il peut aussi utiliser un petit pilote CCID interne, qui lui permet de communiquer directement avec les lecteurs USB compatibles sans passer par un intermédiaire.\nGnuPG 1.x, de son côté, peut utiliser l’agent GnuPG (ce qu’il fait automatiquement par défaut, s’il détecte qu’un agent est en cours d’exécution), auquel cas tout se passe comme avec GnuPG 2.x. Mais il peut aussi se passer des démons auxiliaires et communiquer seul avec le lecteur de carte.\nLe pilote CCID interne Comme évoqué à l’instant, GnuPG (toutes versions confondues) contient un petit pilote générique pour les lecteurs compatibles CCID. Ses développeurs décrivent ce pilote comme “un pilote limité […] à utiliser en dernier recours quand rien d’autre ne fonctionne ou que l’on tient à avoir un système minimal pour des raisons de sécurité”.2\nSi votre lecteur de carte est pris en charge par le pilote interne, vous pouvez être tenté de simplifier la pile logicielle en vous passant du middleware PCSC-Lite. Gardez toutefois à l’esprit que le pilote interne est spécifique à GnuPG : si vous prévoyez d’utiliser votre lecteur pour d’autres applications (ne serait-ce que pour explorer, par curiosité, le contenu de votre carte bancaire, de votre carte vitale ou de votre carte de transports en commun, par exemple avec Cardpeek ), vous aurez besoin de PCSC-Lite de toute façon.\nPour utiliser PCSC-Lite, il suffit que le démon de PCSC-Lite soit démarré : GnuPG tentera d’accéder au lecteur avec son pilote interne, échouera puisque le lecteur sera déjà monopolisé par pcscd et se rabattra, automatiquement, sur PCSC-Lite (vous pouvez éventuellement désactiver explicitement le pilote interne, en ajoutant l’option disable-ccid dans le fichier de configuration de scdaemon, $GNUPGHOME/scdaemon.conf).\nInversement, pour utiliser le pilote interne, assurez-vous que PCSC-Lite n’est pas installé (ou, a minima, que son démon n’est pas démarré) et que votre propre compte utilisateur, sous l’identité duquel tourne GnuPG, a accès au lecteur de carte.\nL’agent GnuPG L’agent GnuPG (gpg-agent) est indispensable au bon fonctionnement de GnuPG 2.x. et à l’exploitation de toutes les fonctionnalités de la carte OpenPGP. GnuPG 2.1.0 a introduit quelques changements importants dans la façon d’utiliser l’agent, il est donc utile de profiter de cet article pour les aborder.\nGnuPG 2.0.x L’agent GnuPG 2.0.x peut être soit lancé au démarrage d’une session utilisateur, soit à la demande sitôt qu’un composant de GnuPG en a besoin.\nPour démarrer l’agent en même temps que votre session graphique, ajoutez simplement la ligne suivante à votre fichier ~/.xprofile :\neval $(gpg-agent --daemon) Puis redémarrez votre session. L’agent sera lancé en même temps et écoutera sur une socket Unix au nom aléatoire et la variable GPG_AGENT_INFO sera définie dans l’environnement, pour permettre aux composants de GnuPG de trouver l’agent en cours d’exécution.\nNotez que votre gestionnaire de paquets s’est peut-être déjà chargé de ça pour vous — c’est au moins le cas sur Debian, où le paquet gnupg-agent ajoute un script /etc/X11/Xsession.d/90gpg-agent à cet effet.\nSi vous préférez que l’agent soit démarré seulement quand il est nécessaire plutôt que systématiquement au début de la session, il doit être configuré pour utiliser une socket au nom constant et prédéfinie ($GNUPGHOME/S.gpg-agent). Cela se fait soit à la compilation, en passant l’option --enable-standard-socket au script configure, soit à l’exécution en ajoutant l’option use-standard-socket dans le fichier de configuration de l’agent ($GNUPGHOME/gpg-agent.conf). Une fois l’agent configuré ainsi, la ligne ci-dessus dans le fichier ~/.xprofile n’est plus nécessaire, le premier programme de GnuPG 2.0.x ayant besoin de l’agent en invoquera automatiquement un s’il ne détecte pas la socket « standard ».\nLe démarrage à la demande a toutefois l’inconvénient que seuls les composants de GnuPG 2.x sont capables de démarrer l’agent ainsi. GnuPG 1.x par exemple ne peut pas le faire et même si vous ne prévoyez d’utiliser que GnuPG 2.x, gardez à l’esprit que certains frontends graphiques (comme Enigmail par exemple) font par défaut appel à GnuPG 1.x. Vous devez donc soit modifier la configuration de ces frontends, pour qu’ils appellent gpg2 au lieu de gpg, soit forcer tout de même l’agent à démarrer au début de la session pour que gpg puisse le trouver.\nUne autre raison de forcer le démarrage de l’agent en début de session est si vous prévoyez de l’utiliser comme agent SSH (ce qui est nécessaire pour utiliser la carte OpenPGP pour s’authentifier auprès d’un serveur SSH, comme nous le verrons plus loin) : cela permet de s’assurer que l’agent sera toujours disponible pour les clients SSH (qui ne sont évidemment pas conçus pour lancer un agent GnuPG à la demande).\nGnuPG 2.1.x L’agent de GnuPG 2.1.x utilise toujours une socket standard et peut donc toujours être lancé à la demande sans qu’aucune configuration particulière ne soit nécessaire.\nToutefois, pour les mêmes raisons que ci-dessus, il reste pertinent de forcer le démarrage de l’agent en début de session : pour être sûr que GnuPG 1.x et les programmes SSH soient capables de le trouver quand ils en ont besoin. Pour cela, ajoutez la ligne suivante dans votre fichier ~/.xprofile :\ngpg-connect-agent /bye export GPG_AGENT_INFO=$HOME/.gnupg/S.gpg-agent:0:1 La première ligne force le démarrage de l’agent (gpg-connect-agent est un utilitaire permettant de communiquer avec l’agent GnuPG ; comme les autres composants de GnuPG 2.1.0, il lance automatiquement un nouvel agent s’il n’en détecte pas un déjà en cours d’exécution). La deuxième définit la variable GPG_AGENT_INFO au bénéfice de GnuPG 1.x (vous pouvez vous en passer si vous ne prévoyez pas du tout d’utiliser GnuPG 1.x, que ce soit directement ou via un frontend).\nSi vous prévoyez d’utiliser l’agent GnuPG comme agent SSH, ajoutez en plus la ligne suivante, au bénéfice des clients SSH :\nexport SSH_AUTH_SOCK=$HOME/.gnupg/S.gpg-agent.ssh Préparer la carte Changer les PIN La carte peut vous être fournie soit avec des PIN par défaut, qui sont alors 123456 pour le PW1 et 12345678 pour le PW3, soit avec des PIN personnalisés qui doivent alors vous être communiqués (c’est le cas par exemple si vous obtenez la carte auprès de la Free Software Foundation Europe). Dans tous les cas, vous devriez changer ces PIN au plus tôt.\nInsérez la carte dans le lecteur et lancez l’éditeur de carte de GnuPG, qui vous accueille en listant le contenu des principaux DO de la carte :\n$ gpg2 --card-edit Application ID ...: D2760001240102000005000012340000 Version ..........: 2.0 Manufacturer .....: ZeitControl Serial number ....: 00001234 Name of cardholder: [not set] Language prefs ...: de Sex ..............: [not set] URL of public key : [not set] Login data .......: [not set] Signature PIN ....: forced Max. PIN lengths .: 32 32 32 PIN retry counter : 3 0 3 Signature counter : 0 Signature key ....: [not set] Encryption key ...: [not set] Authentication key: [not set] gpg/card\u0026gt; (Lorsque vous voudrez juste afficher le contenu de la carte, vous pourrez obtenir la même sortie avec la commande non-interactive gpg2 --card-status.)\nVous êtes alors dans le menu d’édition de carte de GnuPG, signalé par l’invite gpg/card\u0026gt;. Lorsque vous arrivez dans ce menu, la plupart des commandes d’édition ne sont pas immédiatement disponibles, il faut les demander explicitement avec la commande admin :\ngpg/card\u0026gt; admin Admin commands are allowed. Vous pouvez à présent accéder au menu relatif aux différents PIN :\ngpg/card\u0026gt; passwd 1 - change PIN 2 - unblock PIN 3 - change Admin PIN 4 - set the Reset Code Q - Quit Changez successivement le PIN administrateur (option 3 — le PIN administrateur actuel, celui par défaut, vous sera alors demandé), puis le PIN utilisateur (option 1).\nAttention\nSouvenez‐vous que que la carte impose une longueur minimale pour chaque code PIN. Un code PIN utilisateur de moins de 6 caractères sera refusé, de même qu’un PIN administrateur de moins de 8 caractères. Les longueurs maximales, non définies par la spécification, sont, quant à elles, indiquées par la ligne Max. PIN lengths dans la sortie ci‐dessus (dans l’ordre PIN utilisateur, Reset Code, PIN administrateur).\nModifier les données de la carte Pendant que vous êtes dans le menu d’édition, vous pouvez remplir les différents champs de données concernant le porteur de la carte (je supposerai par la suite que vous vous appelez Alice, par souci de la tradition) :\ngpg/card\u0026gt; name Cardholder\u0026#39;s surname: Smith Cardholder\u0026#39;s given name: Alice gpg/card\u0026gt; lang Language preferences: fr gpg/card\u0026gt; sex Sex ((M)ale, (F)emale or space): F gpg/card\u0026gt; url URL to retrieve public key: http://example.net/~alice/pgp.asc gpg/card\u0026gt; login Login data (account name): alice Vous pouvez aussi écrire dans les champs privés avec la commande privatedo, même si celle-ci n’apparaît pas dans le menu de l’éditeur de carte. Par exemple, pour écrire dans le Private DO 1 :\ngpg/card\u0026gt; privatedo 1 Private DO data: lorem ipsum dolor sit amet Même chose à partir d’un fichier :\ngpg/card\u0026gt; privatedo 1 \u0026lt; fichier Quand vous avez modifié ce que vous vouliez, quittez l’éditeur pour revenir à l’invite de commande du shell :\ngpg/card\u0026gt; quit Les clefs privées Avant de pouvoir utiliser la carte pour des opérations cryptographiques, il faut y stocker des clefs privées.\nLes clefs peuvent être générées directement sur la carte, auquel cas GnuPG récupère les clefs publiques correspondantes et les importe dans le trousseau public. Attention, dans ce cas la carte contient les seuls exemplaires existants des clefs privées, aucune sauvegarde n’est possible puisque, par conception, on ne peut pas extraire les clefs privées de la carte.\nL’autre option consiste à générer les clefs, comme d’habitude, sur son ordinateur, puis à importer les clefs privées sur la carte. Elles sont alors supprimées du trousseau privé et remplacées par des stubs dont la seule fonction est d’indiquer à GnuPG que les vraies clefs privées sont sur une carte à puce.\nC’est cette option que nous allons voir à présent — après tout si vous vous êtes procuré une carte OpenPGP, c’est que vous êtes probablement déjà utilisateur de GnuPG et vous avez donc probablement déjà un jeu de clefs.\nDans le reste de ce document, nous utiliserons comme exemple le trousseau suivant :\n$ gpg2 --list-keys alice pub 4096R/6FA9FD8B 2014-08-06 [expires: 2017-08-05] uid [ultimate] Alice \u0026lt;alice@example.net\u0026gt; sub 2048R/129E3125 2014-08-06 [expires: 2015-08-06] sub 2048R/E293CCFC 2014-08-06 [expires: 2015-06_06] Nous avons ici une clef maître RSA de 4096 bits et deux sous-clefs RSA de 2048 bits chacune — une de chiffrement et une de signature, même si cela n’apparaît pas dans ce listing. Seules ces deux sous-clefs sont utilisées quotidiennement, la clef maître ne sert qu’à modifier le jeu de clefs (ajouter ou révoquer des identités ou des sous-clefs) ou pour signer les clefs d’autres utilisateurs.\nCréer une sous-clef d’authentification Nous allons d’abord ajouter une troisième sous-clef RSA de 2048 bits qui servira aux fonctions d’authentification que nous verrons plus loin.\nNote\nSi vous ne prévoyez pas de faire usage des fonctions d’authentification, vous pouvez passer directement à la section suivante, où nous transférerons toutes les sous-clefs sur la carte. Si vous changez d’avis par la suite, vous pourrez toujours ajouter une sous-clef d’authentification à tout moment.\nLancez l’éditeur de clefs de GnuPG sur votre trousseau (notez l’option --expert dans la ligne de commande ci-dessous : elle vous donne accès aux options avancées de création de clefs) :\n$ gpg2 --expert --edit-key alice Secret key is available. pub 4096R/6FA9FD8B created: 2014-08-06 expires: 2017-08-05 usage: CS trust: ultimate validity: ultimate sub 2048R/129E3125 created: 2014-08-06 expires: 2015-08-06 usage: E sub 2048R/E293CCFC created: 2014-08-06 expires: 2015-08-06 usage: S [ultimate] (1). Alice \u0026lt;alice@example.net\u0026gt; Note\nContrairement au précédent, ce listing fait apparaître les rôles attribuées à chaque clef : E pour le chiffrement (Encrypt), S pour la signature et C pour la signature de clefs (Certify — « signer une clef » revient à certifier qu’elle appartient bien à qui elle prétend appartenir).\ngpg\u0026gt; addkey Key is protected You need a passphrase to unlock the secret key for user: \u0026#34;Alice \u0026lt;alice@example.net\u0026gt;\u0026#34; 4096-bit RSA key, ID 6FA9FD8B, created 2014-08-06 Please select what kind of key you want: (3) DSA (sign only) (4) RSA (sign only) (5) Elgamal (encrypt only) (6) RSA (encrypt only) (7) DSA (set your own capabilities) (8) RSA (set your own capabilities) Your selection? Choisissez (8) RSA (set your own capabilities).\nPossible actions for a RSA key: Sign Encrypt Authenticate Current allowed actions: Sign Encrypt (S) Toggle the sign capability (E) Toggle the encrypt capability (A) Toggle the authenticate capability (Q) Finished Your selection? Choisissez successivement (S), (E) et (A) pour désactiver les fonctions de signature et de chiffrement et activer la fonction d’authentification, puis (Q) pour quitter ce sous-menu. Le reste de la procédure est classique pour une génération de sous-clef :\nRSA keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) Requested keysize is 2048 bits Please specify how long the key should be valid. 0 = keys does not expire \u0026lt;n\u0026gt; = key expires in n days \u0026lt;n\u0026gt;w = key expires in n weeks \u0026lt;n\u0026gt;m = key expires in n months \u0026lt;n\u0026gt;y = key expires in n years Key is valid for? (0) Key expires at Wed 20 Sep 2017 18:31:56 PM CEST Is this correct? (y/N) Really create? (y/N) We need to generate a lot of random bytes. It is a good idea to perform some other actions (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. pub 4096R/6FA9FD8B created: 2014-08-06 expires: 2017-08-05 usage: CS trust: ultimate validity: ultimate sub 2048R/129E3125 created: 2014-08-06 expires: 2015-08-06 usage: E sub 2048R/E293CCFC created: 2014-08-06 expires: 2015-08-06 usage: S sub 2048R/EC8E794D created: 2014-09-21 expires: 2017-09-20 usage: A [ultimate] (1). Alice \u0026lt;alice@example.net\u0026gt; Transférer les sous-clefs sur la carte Nous pouvons à présent transférer les trois sous-clefs sur la carte OpenPGP. Notez qu’il est tout-à-fait possible d’y transférer la clef maître (dans le slot réservé à la clef de signature, puisque la clef maître peut généralement signer en plus de pouvoir certifier), mais cet usage est généralement déconseillé.\nNote\nSi vous ne l’avez pas déjà fait après avoir créé vos clefs, vous devriez envisager de sauvegarder votre trousseau privé actuel avant de procéder au transfert. Souvenez-vous, le transfert des clefs privées sur la carte les supprime du trousseau sur l’ordinateur. Si vous voulez pouvoir restaurer vos sous-clefs en cas de perte de la carte, vous aurez besoin de cette sauvegarde :\n$ gpg2 --armor --output my-private-keys.asc --export-secret-key alice Stockez le fichier résultant dans un endroit sûr, hors-ligne (au même endroit que là où vous avez stocké le certificat de révocation de la clef maître).\nAssurez-vous que votre carte est dans le lecteur et relancez l’éditeur de clefs (pas l’éditeur de carte — c’est contre-intuitif mais logique : transférer une clef existante sur une carte est une modification du trousseau) :\n$ gpg2 --edit-key alice Secret key is available. pub 4096R/6FA9FD8B created: 2014-08-06 expires: 2017-08-05 usage: CS trust: ultimate validity: ultimate sub 2048R/129E3125 created: 2014-08-06 expires: 2015-08-06 usage: E sub 2048R/E293CCFC created: 2014-08-06 expires: 2015-08-06 usage: S sub 2048R/EC8E794D created: 2014-09-21 expires: 2017-09-20 usage: A [ultimate] (1). Alice \u0026lt;alice@example.net\u0026gt; Basculez en mode d’affichage des clefs privées :\ngpg\u0026gt; toggle sec 4096R/6FA9FD8B created: 2014-08-06 expires: 2017-08-05 ssb 2048R/129E3125 created: 2014-08-06 expires: never ssb 2048R/E293CCFC created: 2014-08-06 expires: never ssb 2048R/EC8E794D created: 2014-09-21 expires: never (1) Alice \u0026lt;alice@example.net\u0026gt; Sélectionnez la première sous-clef (la clef de chiffrement)…\ngpg\u0026gt; key 1 sec 4096R/6FA9FD8B created: 2014-08-06 expires: 2017-08-05 ssb* 2048R/129E3125 created: 2014-08-06 expires: never ssb 2048R/E293CCFC created: 2014-08-06 expires: never ssb 2048R/EC8E794D created: 2014-09-21 expires: never (1) Alice \u0026lt;alice@example.net\u0026gt; … et envoyez-là vers la carte à puce :\ngpg\u0026gt; keytocard Signature key ....: [none] Encryption key ...: [none] Authentication key: [none] Please select where to store the key: (2) Encryption key Your selection? La première sous-clef n’ayant que la capacité de chiffrer, vous n’avez pas d’autre choix ici que de la stocker dans le slot réservé à la clef de chiffrement.\nYou need a passphrase to unlock the secret key for user: \u0026#34;Alice \u0026lt;alice@example.net\u0026gt;\u0026#34; 2048-bit RSA key, ID 129E3125, created 2014-08-06 Saisissez comme demandé la phrase de passe qui protège actuellement votre clef privée sur votre disque dur.\nsec 4096R/6FA9FD8B created: 2014-08-06 expires: 2017-08-05 ssb* 2048R/129E3125 created: 2014-08-06 expires: never card no: 0005 00001234 ssb 2048R/E293CCFC created: 2014-08-06 expires: never ssb 2048R/EC8E794D created: 2014-09-21 expires: never (1) Alice \u0026lt;alice@example.net\u0026gt; Notez la mention card no: qui indique que la sous-clef se trouve sur la carte portant le numéro de série 0005 00001234.\nDéselectionnez la première sous-clef puis répétez la procédure avec la seconde (la clef de signature) :\ngpg\u0026gt; key 1 sec 4096R/6FA9FD8B created: 2014-08-06 expires: 2017-08-05 ssb 2048R/129E3125 created: 2014-08-06 expires: never card no: 0005 00001234 ssb 2048R/E293CCFC created: 2014-08-06 expires: never ssb 2048R/EC8E794D created: 2014-09-21 expires: never (1) Alice \u0026lt;alice@example.net\u0026gt; gpg\u0026gt; key 2 sec 4096R/6FA9FD8B created: 2014-08-06 expires: 2017-08-05 ssb 2048R/129E3125 created: 2014-08-06 expires: never card no: 0005 00001234 ssb* 2048R/E293CCFC created: 2014-08-06 expires: never ssb 2048R/EC8E794D created: 2014-09-21 expires: never (1) Alice \u0026lt;alice@example.net\u0026gt; gpg\u0026gt; keytocard Signature key ....: [none] Encryption key ...: 934E E224 AF04 3996 6264 B4D1 7DAC 67E9 129E 3125 Authentication key: [none] Please select where to store the key: (1) Signature key (3) Authentication key Your selection? Stockez cette clef dans le slot (1), réservé à la clef de signature. Le slot réservé à la clef d’authentification vous est aussi proposé car une clef capable de signer peut aussi servir à authentifier (l’authentification est un cas particulier de signature, où vous signez un défi posé par celui qui vous demande de vous authentifier).\nYou need a passphrase to unlock the secret key for user: \u0026#34;Alice \u0026lt;alice@example.net\u0026gt;\u0026#34; 2048-bit RSA key, ID E293CCFC, created 2014-08-06 sec 4096R/6FA9FD8B created: 2014-08-06 expires: 2017-08-05 ssb 2048R/129E3125 created: 2014-08-06 expires: never card no: 0005 00001234 ssb* 2048R/E293CCFC created: 2014-08-06 expires: never card no: 0005 00001234 ssb 2048R/EC8E794D created: 2014-09-21 expires: never (1) Alice \u0026lt;alice@example.net\u0026gt; Répétez une dernière fois la procédure pour transférer la sous-clef d’authentification dans le slot prévu à cet effet, puis, quittez l’éditeur de clefs en enregistrant vos modifications — sinon les sous-clefs auront bien été transférées sur la carte, mais ne seront pas effacées de votre trousseau privé sur votre disque dur !\nSigner ou déchiffrer des messages OpenPGP Le fait que vos clefs privées soient désormais sur une carte à puce ne change à peu près rien à votre manière d’utiliser GnuPG tous les jours pour signer ou déchiffrer des messages OpenPGP. Et ce, indépendamment du programme que vous utilisez en avant-plan (que ce soit GnuPG directement en ligne de commande, un frontend graphique comme GNU Privacy Assistant, un greffon pour client de messagerie comme Enigmail, etc.).\nAu moment de signer ou déchiffrer un message, l’agent GnuPG, au lieu de vous demander la phrase de passe protégeant le trousseau privé, vous demandera d’insérer votre carte dans le lecteur si elle n’y est pas déjà, puis vous demandera le PIN. En arrière-plan, le fonctionnement de GnuPG sera quelque peu différent (puisqu’il devra déléguer une partie du travail à la carte au lieu de le faire lui-même), mais ça ne sera pas visible pour vous (à part un éventuel clignotement de la diode témoin d’activité de votre lecteur de carte).\nLe seul changement important réside dans le fait qu’une fois votre PIN saisi une première fois, il ne vous sera plus jamais demandé tant que vous ne retirez pas la carte du lecteur. Inutile d’aller jouer avec l’option --default-cache-ttl de l’agent GnuPG, ce n’est pas lui qui garde votre PIN en cache : c’est la carte OpenPGP elle-même qui reste dans un état « PIN vérifié » tant que la connexion entre la carte et Scdaemon est maintenue.\nPour contraindre ponctuellement la carte à vous redemander le PIN, il faut provoquer une réinitialisation de la connexion, soit en retirant physiquement la carte du lecteur, soit en envoyant une commande SCD RESET à l’agent GnuPG :\n$ gpg-connect-agent \u0026#39;SCD RESET\u0026#39; /bye Le mode « PIN forcé » pour les signatures La carte peut être configurée pour exiger systématiquement le PIN avant toute opération utilisant la clef de signature, indépendamment du fait que le PIN a déjà été vérifié ou non. C’est le mode forced PIN, dont l’état (enclenché ou non) est visible lorsque GnuPG affiche le contenu de la carte :\n$ gpg2 --card-edit […] Signature PIN ....: not forced […] Ici, la carte est en mode normal, le PIN ne sera exigé que s’il n’a pas encore été vérifié depuis l’insertion de la carte. La commande forcesig permet de basculer entre le mode normal et le mode « PIN forcé » :\ngpg/card\u0026gt; forcesig gpg/card\u0026gt; list […] Signature PIN ....: forced […] gpg/card\u0026gt; quit Cette option ne concerne que les opérations de signature. Pour le déchiffrement ou l’authentification, le PIN ne sera jamais exigé s’il a déjà été vérifié une première fois et que la carte n’a pas été réinitialisée entre-temps.\nS’authentifier auprès d’un serveur SSH Dans ce que j’appelle les « usages avancés » de la carte OpenPGP, l’authentification SSH est probablement l’un des plus intéressants.\nIl faut pour cela remplacer l’agent SSH fourni en standard avec OpenSSH (ssh-agent) par l’agent GnuPG. Ajoutez simplement l’option enable-ssh-support dans le fichier de configuration de l’agent GnuPG $GNUPGHOME/gpg-agent.conf. Puis, comme évoqué ci-avant , assurez-vous que ledit agent est bien démarré systématiquement en début de session et que la variable d’environnement SSH_AUTH_SOCK est définie et pointe vers la socket spécialement créée à l’intention des clients SSH.\nNote\nSi vous utilisiez précédemment ssh-agent, assurez-vous aussi qu’il n’est plus démarré au début de votre session.\nL’agent GnuPG s’utilise comme l’agent SSH standard et vous pouvez toujours interagir avec lui avec l’outil classique ssh-add. Vos clefs SSH pré-existantes sont toujours utilisables de la même façon qu’auparavant. Par exemple, pour charger votre clef par défaut (~/.ssh/id_rsa) dans l’agent, procédez comme d’habitude :\nPour utiliser la clef d’authentification que vous avez générée un peu plus tôt et transférée sur votre carte OpenPGP, vous n’avez rien d’autre à faire que d’insérer la carte dans le lecteur : l’agent GnuPG détectera automatiquement la présence d’une clef d’authentification et la rendra accessible aux clients SSH. Vous pouvez le vérifier en demandant à l’agent de lister les « identités » disponibles :\n$ ssh-add -l 2048 77:e5:34:2f:8d:1c:7a:de:89:b5:13:a2:f1:2c:77:bf cardno:000500001234 (RSA) Il ne vous reste plus qu’à exporter votre clef publique sous une forme utilisable dans un fichier ~/.ssh/authorized_keys, ce que vous pouvez faire soit avec ssh-add encore (seulement quand la carte est dans le lecteur) :\n$ ssh-add -L ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWuoVgdIK8pmN5DJl5kymyI+em+uIfzPCuls7DVOfd C2oz0sXkuvdqMvIGmUW80uRFWetdXO2ltF78dABPjUGtfXUdjjsD6WEuP6j0JeH2w2l2j7f3icwDVmNN OdwwE6sFmW0YgNNPRr5leGaoA9OMo5klF5BTyn2iFCgK0QV3zL1pk7E3x8oSA0COC2Jn0P5Pc2foEqSn Dtaq+KTJKA3Sng5R+khWL6Ux5/F7VKPOzIBaJm+wQ16LW4pitVbPMYxrNWO44X+2GpJ6IXBw/ixZK8rE qysSPJz7jfUZ8HPJvAnnEwHWOpYfksZU/dXTnQ4C2btpMDZeoQsnRnxTx4Mh cardno:000500001234 Soit avec l’outil (non-documenté) gpgkey2ssh, qui prend en paramètre l’identifiant de la sous-clef d’authentification :\n$ gpgkey2ssh EC8E794D ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWuoVgdIK8pmN5DJl5kymyI+em+uIfzPCuls7DVOfd C2oz0sXkuvdqMvIGmUW80uRFWetdXO2ltF78dABPjUGtfXUdjjsD6WEuP6j0JeH2w2l2j7f3icwDVmNN OdwwE6sFmW0YgNNPRr5leGaoA9OMo5klF5BTyn2iFCgK0QV3zL1pk7E3x8oSA0COC2Jn0P5Pc2foEqSn Dtaq+KTJKA3Sng5R+khWL6Ux5/F7VKPOzIBaJm+wQ16LW4pitVbPMYxrNWO44X+2GpJ6IXBw/ixZK8rE qysSPJz7jfUZ8HPJvAnnEwHWOpYfksZU/dXTnQ4C2btpMDZeoQsnRnxTx4Mh COMMENT Une fois la clef publique connue du serveur, vous pouvez vous y connecter comme d’habitude, avec n’importe quelle commande SSH (ssh, scp, etc.) ou n’importe quel programme utilisant SSH en arrière-plan (git push par exemple). L’agent GnuPG vous demandera votre PIN si nécessaire ; s’il a déjà été vérifié plus tôt, vous serez automatiquement connecté sans avoir à saisir quoi que ce soit.\nNote\nRemarquez que du point de vue du serveur SSH, il ne se passe rien de spécial. Tout ce qu’il voit est une banale authentification par clef — le fait que la partie privée de la clef soit, côté client, stockée sur une carte à puce, est indifférent pour le serveur. Tout ce qui lui importe est que la partie publique figure dans la liste des clefs autorisées.\nUtiliser un certificat X.509 À partir de chacune des clefs privées de la carte OpenPGP, il est possible de créer un certificat X.509 . Un tel certificat permet d’utiliser la carte pour, entre autres usages, s’authentifier auprès d’un serveur TLS, signer ou chiffrer des messages S/MIME, ou encore signer des documents OpenDocument.\nCréer un certificat X.509 GnuPG 2.x fournit l’outil gpgsm pour créer, manipuler et utiliser des certificats X.509. Mettez votre carte dans le lecteur et appelez gpgsm pour créer une nouvelle demande de certificat :\n$ gpgsm --armor --output certificat.csr --gen-key Please select what kind of key you want: (1) RSA (2) Existing key (3) Existing key from card Your selection? Serial number of the card: D2760001240102000005000012340000 Available keys: (1) 39820691E60A775AF9B979F4A960B23A2FC8892A OPENPGP.1 (2) BE3918CCCC237E42AF6D15869DCAE291276C5548 OPENPGP.2 (3) 386F81432E2C864085885251EB5D6D0B875D1E91 OPENPGP.3 Your selection? Les empreintes affichées ici ne correspondent pas aux empreintes traditionnelles de GnuPG (celles que gpg2 affiche avec l’option --fingerprint) : ce sont des keygrips. Un keygrip est calculé sur une clef « brute » et permet donc d’identifier une clef indépendamment du format du certificat qui la contient — un certificat OpenPGP et un certificat X.509 utilisant la même clef auront deux empreintes différentes, mais le même keygrip.\nMalheureusement, avec GnuPG 2.0.x, il n’y a aucun moyen simple à ma connaissance d’obtenir le keygrip d’une clef OpenPGP et donc de savoir à quelle clef correspondent chacun des keygrips ci-dessus (GnuPG 2.1 a une option --with-keygrip pour ça). À la place, vous devez vous référer aux noms des slots de la carte OpenPGP, sachant que le premier (OPENPGP.1) correspond à la clef de signature, le second à la clef de chiffrement et le troisième à la clef d’authentification.\nLe choix de la clef conditionnera les usages possibles du futur certificat : il sera utilisable seulement pour signer avec la clef OPENPGP.1, seulement pour chiffrer avec la clef OPENPGP.2, pour signer et s’authentifier avec la clef OPENPGP.3. Il n’est pas possible d’utiliser la carte pour produire un certificat utilisable à la fois pour signer/authentifier et pour chiffrer.\nDans cet exemple, nous choisirons la troisième clef pour obtenir un certificat utilisable pour la signature et l’authentification.\nPossible actions for a RSA key: (1) sign, encrypt (2) sign (3) encrypt Your selection? La clef d’authentification ne permet pas de chiffrer, donc la seule option pertinente ici est la seconde, (2) sign. Ce menu ne sert qu’à déterminer la valeur de l’extension X509v3 Key Usage de la demande de certificat — même si vous choisissez (1) sign, encrypt, ça ne changera rien au fait que la clef sous-jacente ne permet pas de chiffrer, même si le certificat proclamera le contraire.\nVous devez ensuite renseigner le sujet du futur certificat :\nEnter the X.509 subject name: CN=alice,O=Example Corp,DC=example,DC=net Enter email addresses (end with an empty line): alice@example.net Enter DNS names (optional; end with an empty line): Enter URIs (optional; end with an empty line): Parameters to be used for the certificate request: Key-Type: card:OPENPGP.3 Key-Length: 1024 Key-Usage: sign Name-DN: CN=Alice,O=Example Corp,DC=example,DC=net Name-Email: alice@example.net Really create request? (y/N) Now creating certificate request. This may take a while ... gpgsm: about to sign CSR for key: \u0026amp;386F81432E2C864085885251EB5D6D0B875D1E91 gpgsm: certificate request created Ready. You should now send this request to your CA. Vous récupérez la demande de certificat dans le fichier certificat.csr. Vous pouvez si vous le souhaitez l’examiner avec, par exemple, openssl req -in -text.\nIl vous faut maintenant faire signer cette demande par une autorité de certification. Le choix de l’autorité de certification à laquelle vous adresser dépend grandement de l’usage que vous voulez faire du certificat. Il peut s’agir d’une autorité générique « reconnue » (probablement le meilleur choix pour signer des messages S/MIME à destination de n’importe qui, puisque tout le monde fait confiance — à tort ou à raison — à ces autorités), d’une autorité spécifique à votre institution ou à votre compagnie (pour signer des messages internes à cette institution ou compagnie), ou même de votre propre autorité (par exemple pour vous authentifier auprès de votre propre serveur TLS).\nUne fois en possession de votre certificat signé, importez-le dans le trousseau de gpgsm :\n$ gpgsm --import certificat.crt Vous devriez aussi importer le certificat racine de l’autorité qui l’a signé, ainsi que les éventuels certificats intermédiaires. Finalement, testez votre nouveau certificat en signant un fichier quelconque :\n$ gpgsm --output quelconque.signed --sign quelconque gpgsm: signature created $ gpgsm --verify quelconque.signed gpgsm: Signature made 2014-12-01 12:11:32 using certificate ID 0xAB4057B0 gpgsm: Good signature from \u0026#34;/CN=Alice/O=Example Corp/DC=example/DC=net\u0026#34; gpgsm: aka \u0026#34;alice@example.net\u0026#34; S’authentifier auprès d’un serveur web Je supposerai ici que vous voulez accéder à un serveur web qui exige une authentification du client par certificat et que vous souhaitez utiliser, pour cela, le certificat fraîchement obtenu ci-dessus.\nJe ne traiterai pas de la mise en place de l’authentification côté serveur, qui sort du cadre de ce document (et qui est de toute façon assez bien documentée ailleurs). Je me contenterai de rappeler que les deux lignes suivantes, dans la configuration d’un serveur Apache httpd 2.2.x, obligent un client à présenter un certificat signé par la clef privé du certificat /etc/ssl/certs/client_ca.pem pour être autorisé à accéder au serveur :\nSSLCACertificateFile /etc/ssl/certs/client_ca.pem SSLVerifyClient require En ces temps où les mots de passe sont de plus en plus mis à mal , l’authentification par certificat (avec ou sans carte à puce) est une méthode de contrôle d’accès très intéressante et probablement trop peu utilisée. Combinée avec l’option FakeBasicAuth du module mod_ssl , elle peut remplacer complètement l’authentification par login et mot de passe.\nSimilairement à ce que nous avons vu plus haut pour SSH, le serveur est indifférent au fait que le certificat que vous allez lui présenter a sa clef privée sur une carte à puce, il ne voit qu’un certificat X.509 comme un autre. C’est du côté du client que les choses intéressantes se passent.\nCôté client, donc, vous devez avoir fait signer votre requête de certificat par l’autorité appropriée et avoir importé le certificat signé dans le trousseau de gpgsm. Ensuite, il vous faut installer Scute et configurer Firefox pour qu’il charge dynamiquement cette bibliothèque (la procédure complète, captures d’écrans à l’appui, est détaillée dans la documentation de Scute ).\nNote\nEn principe, Scute devrait aussi être utilisable par n’importe quelle application capable d’utiliser un module PKCS #11 (Chromium par exemple). Mais je n’ai testé que Firefox, LibreOffice et Thunderbird (voir plus bas).\nSitôt la carte OpenPGP insérée dans le lecteur, Scute rendra votre certificat disponible pour Firefox — vous pourrez le vérifier en allant constater sa présence dans le Certificate Manager de Firefox. En vous connectant au serveur exigeant un certificat client, Firefox sélectionnera automatiquement ce certificat3 et vous serez invité à saisir votre PIN (si nécessaire) pour signer une partie de la poignée de main TLS, prouvant ainsi au serveur que vous possédez la clef privée du certificat.\nAttention\nActuellement, Scute (version 1.4.0) ne fonctionne pas avec TLS 1.2, dont la prise en charge a récemment été introduite dans Firefox à partir de sa version 27. En effet, TLS 1.2 a changé, entre autres choses, la nature du message digest que le client est supposé signer avec sa clef privée : avec TLS \u0026lt;= 1.1, c’était systématiquement un double condensat MD5 et SHA-1 ; avec TLS 1.2, c’est maintenant un condensat variable (SHA-1 ou SHA-256, le plus souvent) enveloppé dans une structure ASN.1. Ce changement a cassé le code au sein de Scute chargé de relayer le message digest à la carte OpenPGP.\nMalheureusement, le seul contournement aisé pour l’instant est de… désactiver TLS 1.2, ce qui se fait en réglant la variable security.tls.version.max à 2 dans about:config.\nPour ceux qui sont prêts à mettre un peu les mains dans le cambouis, Werner Koch a proposé un patch contre Scute 1.4.0 apportant la prise des message digests utilisés par TLS 1.2. Si vous utilisez GnuPG 2.0.26, ce n’est toutefois pas suffisant, il faut aussi appliquer un patch de votre serviteur Par ailleurs, si vous utilisez GnuPG 2.1.0, cette version a révélé un bug de Scute qui conduit l’authentification à échouer dans certaines occasions. J’ai proposé un second patch contre Scute (à appliquer en plus de celui de Werner Koch) qui semble corriger le problème.\nLa prudence s’impose bien sûr avant d’appliquer ces correctifs. On ne patche pas des programmes ou bibliothèques cryptographiques à la légère (il y en a chez Debian qui ont essayé…).\nSigner des documents OpenDocument Si vous avez installé Scute et configuré Firefox pour l’utiliser comme expliqué dans la section précédente, vous pouvez également utiliser votre certificat X.509 pour apposer une signature électronique à vos documents OpenDocument depuis LibreOffice.\nIl suffit pour cela de définir la variable d’environnement MOZILLA_CERTIFICATE_FOLDER et de la faire pointer vers le dossier de votre profil Firefox :\nexport MOZILLA_CERTIFICATE_FOLDER=~/.mozilla/firefox/nom_du_profil Dès lors, LibreOffice peut utiliser tous les certificats présents dans le Certificate Manager de Firefox, y compris celui que vous avez généré à partir de votre carte OpenPGP.\nPour signer un document, rien de plus simple : insérez votre carte dans le lecteur et dans LibreOffice, allez dans File → Digital Signatures). Choisissez Sign Document…, sélectionnez votre certificat, entrez votre PIN, si nécessaire.\nSigner des messages S/MIME S/MIME (RFC 3851 ) est, avec OpenPGP, l’autre standard proposant la confidentialité et l’authentification « de bout en bout » des messages.\nThunderbird prend en charge nativement S/MIME, mais ne permet pas l’utilisation d’une clef privée sur carte à puce. Comme pour Firefox, c’est la bibliothèque Scute qui va lui apporter cette fonctionnalité.\nNote\nScute ne permet la signature de messages S/MIME que si les patches évoqués plus haut sont appliqués.\nInstallez Scute sous Thunderbird de la même manière que sous Firefox (dans les préférences, allez dans la section Advanced, onglet Certificates, Security Devices ; dans le « Device Manager », ajoutez un nouveau module PKCS #11 et spécifiez le chemin complet vers la bibliothèque libscute.so). Une fois la carte dans le lecteur, votre certificat devrait apparaître dans l’onglet Your Certificates du « Certificate Manager ».\nDans les paramètres de votre compte de messagerie, visitez la section Security (attention à ne pas confondre avec la section OpenPGP Security, présente si vous utilisez Enigmail et qui, comme son nom l’indique, concerne OpenPGP et non S/MIME) et sélectionnez votre certificat X.509 pour signer vos messages. Cochez éventuellement la case « Digitally sign messages (by default) », si vous souhaitez systématiquement signer vos messages sortant (ce réglage est toujours ponctuellement désactivable au cas par cas).\nVotre certificat X.509 est également utilisable à partir de Mutt, à condition que ce dernier utilise la bibliothèque gpgme (GnuPG Made Easy) en lieu et place d’OpenSSL, comme backend cryptographique (en ajoutant l’option set crypt_use_gpgme dans le fichier de configuration de Mutt). Par l’intermédiaire de cette bibliothèque, Mutt déléguera les opérations de signature S/MIME à gpgsm qui, à son tour, fera appel à la carte OpenPGP.\nUtiliser la carte comme token PKCS #15 Dans tous les cas d’utilisation du certificat X.509 présentés ci-dessus, la carte OpenPGP ne contient rien d’autre que la clef privée associée au certificat. Le certificat proprement dit est stocké dans le trousseau de GpgSM, où les applications doivent aller le chercher soit en appelant directement gpgsm, soit par l’intermédiaire de Scute.\nIl est toutefois possible de stocker le certificat sur la carte OpenPGP elle-même, ce qui le rend utilisable indépendamment de GpgSM. En fait, cela transforme de facto la carte en un token PKCS #15 , utilisable avec n’importe quel système ou application compatible avec ce format.\nLe certificat doit être au format DER pour pouvoir être importé sur la carte. Si vous l’aviez rangé dans le trousseau de GpgSM, la commande suivante le sortira directement dans ce format :\n$ gpgsm -o alice.der --export alice@example.net Si votre autorité de certification vous a remis un certificat au format PEM, vous pouvez utiliser OpenSSL (par exemple) pour le convertir en DER :\n$ openssl x509 -inform PEM -in alice.pem -outform DER -out alice.der Lancez l’éditeur de carte de GnuPG pour procéder au transfert du certificat sur la carte. Notez que la commande writecert n’apparaît pas dans l’aide en ligne de l’éditeur.\n$ gpg2 --card-edit Application ID ...: D27600012301020000005000012340000 […] gpg/card\u0026gt; admon Admin commands are allowed gpg/card\u0026gt; writecert 3 \u0026lt; alice.der gpg/card\u0026gt; quit Note\nLe premier argument de writecert est supposé indiquer le slot sur la carte dans lequel enregistrer le certificat. Toutefois, la carte OpenPGP ne possède qu’un seul slot pour certificat, et cet argument doit toujours être 3.\nVotre carte OpenPGP PKCS #15 est désormais utilisable de manière autonome et ne requiert plus la présence des composants de GnuPG sur la machine. Toute application prenant en charge PKCS #15 (par exemple par l’intermédiaire d’OpenSC ) peut exploiter la carte.\nAttention\nL’utilisation simultanée de la carte avec GnuPG et comme token PKCS #15 est impossible. En effet, Scdaemon requiert un accès exclusif à la carte, interdisant son utilisation par d’autres programmes comme OpenSC. C’est d’ailleurs la raison d’être de Scute : permettre à des programmes indépendants de GnuPG d’accèder à la carte via une interface standard (PKCS #11) fonctionnant au-dessus de Scdaemon, et laisser ce dernier être le seul à exploiter la carte directement.\nMiscellanées Communiquer avec Scdaemon et la carte Scdaemon, le démon auxiliaire de GnuPG 2.x gérant les cartes à puce, travaille normalement dans l’ombre des autres composants de GnuPG et l’utilisateur n’a jamais affaire à lui.\nIl est néanmoins possible de dialoguer avec Scdaemon indépendamment des frontend de GnuPG. Cela peut occasionnellement être utile à des fins de débogage, pour d’éventuels usages avancés non prévus par les frontend, ou simplement par curiosité, pour comprendre ce qui se passe en arrière-plan.\nComme l’agent GnuPG, Scdaemon écoute sur une socket Unix et utilise le protocole Assuan pour recevoir ses commandes.\nAvec GnuPG 2.1.0, la socket de Scdaemon est constante et fixée à $GNUPGHOME/S.scdaemon. On peut ainsi contacter le démon de la manière suivante :\n$ echo SERIALNO | socat - unix-connect:/home/alice/.gnupg/S.scdaemon OK GNU Privacy Guard\u0026#39;s Smartcard server ready S SERIALNO D276000240102000005000012340000 0 OK (La commande SERIALNO demande à Scdaemon le numéro de la série de la carte OpenPGP actuellement insérée dans le lecteur.)\nMais il est probablement plus simple de passer par l’agent GnuPG (et son utilitaire gpg-connect-agent), qui fournit une commande SCD pour transmettre des commandes à Scdaemon. Cela permet de contacter Scdaemon sans avoir à se soucier de l’emplacement de sa socket :\n$ gpg-connect-agent \u0026#39;SCD SERIALNO\u0026#39; /bye S SERIALNO D276000240102000005000012340000 0 OK Une fois qu’on sait communiquer avec Scdaemon, on peut obtenir la liste des commandes acceptées avec la commande HELP, et l’aide d’une commande particulière avec HELP commande :\n$ gpg-connect-agent \u0026gt; SCD HELP […] # SERIALNO [\u0026lt;apptype\u0026gt;] # LEARN [--force] [--keypairinfo] # READCERT \u0026lt;hexified_certid\u0026gt;|\u0026lt;keyid\u0026gt; # READKEY \u0026lt;keyid\u0026gt; # SETDATA [--append] \u0026lt;hexstring\u0026gt; # PKSIGN [--hash=[rmd160|sha{1,224,256,384,512}|md5]] \u0026lt;hexified_id\u0026lt; # PKAUTH \u0026lt;hexified_id\u0026gt; # PKDECRYPT \u0026lt;hexified_id\u0026gt; # INPUT # OUTPUT # GETATTR \u0026lt;name\u0026gt; # SETATTR \u0026lt;name\u0026gt; \u0026lt;value\u0026gt; # WRITECERT \u0026lt;hexified_certid\u0026gt; # WRITEKEY [--force] \u0026lt;keyid\u0026gt; # GENKEY [--force] [--timestamp=\u0026lt;isodate\u0026gt;] \u0026lt;no\u0026gt; # RANDOM \u0026lt;nbytes\u0026gt; # PASSWD [--reset] [--nullpin] \u0026lt;chvno\u0026gt; # CHECKPIN \u0026lt;idstr\u0026gt; # LOCK [--wait] # UNLOCK # GETINFO \u0026lt;what\u0026gt; # RESTART # DISCONNECT # APDU [--[dump-]attr] [--more] [--exlen[=N]] [hexstring] # KILLSCD OK \u0026gt; SCD HELP READKEY # READKEY \u0026lt;keyid\u0026gt; # # Return the public key for given cert or key ID as a standard # S-expression. # # Note, that this function may even be used on a locked card. OK \u0026gt; /bye Pour les plus aventureux, la commande probablement la plus intéressante est ADPU, qui permet d’envoyer des commandes APDU brutes à la carte (rapportez-vous à la spécification de la carte OpenPGP pour le détail des commandes APDU). Par exemple, pour lire les « octets historiques » de la carte :\n$ gpg-connect-agent --hex \u0026#39;SCD APDU 00CA5F5200\u0026#39; /bye D[0000] 00 31 C5 73 C0 01 40 05 90 00 90 00 .1.s..@..... OK Ré-initialiser une carte bloquée Comme expliqué dans la section « Sécurité » , après trois saisies erronées consécutives du PIN utilisateur et du PIN administrateur, plus aucun PIN ne peut être vérifié et la carte est définitivement bloquée.\nLa version 2.0 de la carte OpenPGP prévoit toutefois la possibilité de ré-initialiser une carte bloquée. La ré-initialisation efface toutes les données de la carte et la ramène à son état de sortie d’usine.\nCette fonctionnalité est optionnelle. Pour savoir si une carte donnée est ré-initialisable, il faut consulter les « octets historiques » comme dans l’exemple à la fin de la section précédente :\n$ gpg-connect-agent --hex \u0026#39;SCD APDU 00CA5F5200\u0026#39; /bye D[0000] 00 31 C5 73 C0 01 40 05 90 00 90 00 .1.s..@..... OK Le huitième octet (05) est le « Life Cycle Status indicator ». Une valeur de 5 indique que la carte peut être ré-initialisée.\nPour ré-initialiser une telle carte, il faut lui envoyer successivement les deux commandes APDU « TERMINATE DF » et « ACTIVATE FILE », comme suit :\n$ gpg-connect-agent \u0026gt; SCD APDU 00 E6 00 00 \u0026gt; SCD APDU 00 44 00 00 /bye Pour éviter toute erreur malheureuse, la commande « ACTIVATE FILE » ne fonctionne que si elle est utilisée après la commande « TERMINATE DF », et cette dernière n’a elle-même pas d’effet si la carte n’est pas bloquée.\nPour forcer la ré-initialisation de la carte quel que soit son état actuel (bloqué ou non), on peut utiliser le script suivant (ou la commande factory reset de l’éditeur de carte de GnuPG, dans sa dernière version 2.1.1) :\nSCD RESET SCD SERIALNO undefined SCD APDU 00 A4 04 00 06 D2 76 00 01 24 01 SCD APDU 00 20 00 81 08 40 40 40 40 40 40 40 40 SCD APDU 00 20 00 81 08 40 40 40 40 40 40 40 40 SCD APDU 00 20 00 81 08 40 40 40 40 40 40 40 40 SCD APDU 00 20 00 81 08 40 40 40 40 40 40 40 40 SCD APDU 00 20 00 83 08 40 40 40 40 40 40 40 40 SCD APDU 00 20 00 83 08 40 40 40 40 40 40 40 40 SCD APDU 00 20 00 83 08 40 40 40 40 40 40 40 40 SCD APDU 00 20 00 83 08 40 40 40 40 40 40 40 40 SCD APDU 00 e6 00 00 SCD RESET SCD SERIALNO undefined SCD APDU 00 A4 04 00 06 D2 76 00 01 24 01 SCD APDU 00 44 00 00 /echo Card has been reset to factory defaults /bye Stockez ces commandes dans un fichier et envoyez le tout à la carte via l’agent GnuPG :\n$ gpg-connect-agent --hex --run fichier Attention\nRappelez-vous que la ré-initialisation est une fonctionnalité optionnelle. N’exécutez surtout pas la commande précédente sans avoir vérifié que votre carte est ré-initialisable ! Si elle ne l’est pas, votre carte sera bel et bien définitivement bloquée.\nLa carte n’est jamais utilisée pour chiffrer, puisqu’en cryptographie asymétrique, seul le déchiffrement nécessite une clef privée — le chiffrement utilise la clef publique du destinataire.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nCommentaire en tête du fichier scd/ccid-driver.c, dans les sources de GnuPG.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nÀ moins que vous ayez plus d’un certificat signé par l’autorité attendue par le serveur, auquel cas il vous demandera de sélectionner vous-même celui qu’il faut utiliser.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/blog/2014-08-21-openpgp-card-une-application-cryptographique-pour-carte-a-puce/","tags":["gnupg","security-tocken","specification"],"title":"“OpenPGP card”, une application cryptographique pour carte à puce"},{"categories":["solution"],"contents":"Authentification Internet L\u0026rsquo;authentification Internet est le processus permettant de vérifier l\u0026rsquo;identité d\u0026rsquo;un utilisateur avant d\u0026rsquo;accorder l\u0026rsquo;accès à des ressources en ligne. Elle joue un rôle crucial dans la sécurisation des comptes et la protection des données personnelles. Voici une description détaillée de ce qu\u0026rsquo;elle consiste et des technologies utilisées, en mettant un accent particulier sur le concept des clés de sécurité :\nEn quoi consiste l\u0026rsquo;authentification Internet : Méthodes d\u0026rsquo;authentification :\nIdentifiant et mot de passe : La méthode la plus courante où l\u0026rsquo;utilisateur entre son nom d\u0026rsquo;utilisateur et un mot de passe associé. Authentification multifacteur (MFA) : Ajoute une couche de sécurité supplémentaire en demandant une deuxième forme d\u0026rsquo;identification en plus du mot de passe. Biométrie : Utilise des attributs physiques uniques tels que les empreintes digitales ou la reconnaissance faciale. Types d\u0026rsquo;authentification multifacteur (MFA) :\nSMS/Email : Envoi de codes de vérification via SMS ou email. Mot de passe à usage unique basé sur le temps (TOTP) : Dispositifs physiques ou logiciels générant des codes temporaires pour la vérification. Cryptographie asymétrique : Utilisation d\u0026rsquo;une paire de clés, l\u0026rsquo;une publique et l\u0026rsquo;autre privée. Utilisé notamment par ssh . Clés de sécurité matérielles : Utilisation de dispositifs physiques tels que les YubiKeys, lesquels exploitent au plus haut niveau de sécurité, la cryptographie asymétrique. YubiKey, NitroKey, etc. : des éléments clé de l\u0026rsquo;authentification Internet Qu\u0026rsquo;est-ce ?\nCe sont des dispositifs de sécurité matériel. La YubiKey est développé par Yubico , la NitroKey par Nitrokey GmbH . Conçues pour renforcer la sécurité des authentifications en ligne, elles prennent la forme de petites clés USB, souvent équipées de capacités NFC pour une utilisation sans fil. Fonctionnement\nConnexion physique : Ces clés se branchent directement sur un port USB de l\u0026rsquo;appareil ou se connecte sans fil via NFC. Authentification à une touche : Une simple pression permet de générer un code unique ou de valider l\u0026rsquo;authentification. Chiffrement robuste : Utilise des algorithmes de chiffrement avancés pour sécuriser les informations d\u0026rsquo;authentification. Avantages\nSécurité renforcée : Protègent contre les attaques de phishing, les keyloggers et autres menaces en ligne. Simplicité d\u0026rsquo;utilisation : Faciles à utiliser, avec une authentification à une touche. Compatibilité : Fonctionnent avec une large gamme de services et de plateformes, y compris Google, Microsoft, Facebook, et bien d\u0026rsquo;autres. Durabilité : La YubiKey est résistante à l\u0026rsquo;eau et aux chocs, conçue pour durer des années. Utilisation\nAuthentification forte : Utilisées pour renforcer les connexions aux comptes en ligne sensibles. Connexion sans mot de passe : Permettent une authentification sécurisée sans avoir à entrer de mot de passe, utilisant des protocoles comme FIDO2, TOTP ou OpenPGP. Authentification à distance : Utiles pour les employés travaillant à distance, assurant un accès sécurisé aux systèmes de l\u0026rsquo;entreprise. L\u0026rsquo;authentification Internet, et particulièrement l\u0026rsquo;utilisation de dispositifs comme des YubiKeys ou des NitroKeys, est essentielle pour protéger les utilisateurs contre les cybermenaces et garantir la sécurité des informations en ligne. En combinant simplicité et robustesse, ces technologies offrent une solution efficace pour renforcer la sécurité des accès numériques.\n","permalink":"/fr/solutions/theme-authentication/","tags":["Authentication","AI"],"title":"Authentification"},{"categories":["solution"],"contents":"Chiffrement Général Le chiffrement est un procédé de cryptographie grâce auquel on peut rendre la compréhension d\u0026rsquo;un document impossible à toute personne non autorisée. Chiffrer consiste à utiliser des algorithmes mathématiques avec des données courtes appelées \u0026ldquo;clés\u0026rdquo;, pour coder d\u0026rsquo;autres données. Les deux principaux types de chiffrement sont le chiffrement symétrique et le chiffrement asymétrique :\nChiffrement symétrique :\nUtilise la même clé pour chiffrer et déchiffrer les données. Rapide et efficace pour chiffrer de grandes quantités de données. Exemple : AES (Advanced Encryption Standard). Chiffrement asymétrique :\nUtilise une paire de clés : une clé publique pour chiffrer les données et une clé privée pour les déchiffrer. Plus sécurisé pour l\u0026rsquo;échange de clés et l\u0026rsquo;authentification. Exemple : RSA (Rivest-Shamir-Adleman). OpenPGP (Pretty Good Privacy) OpenPGP est un ensemble de spécifications définies essentiellement par un groupe de travail dédié au sein de l\u0026rsquo;IETF . Elles combinent des techniques de chiffrement symétrique et asymétrique pour garantir la confidentialité, l\u0026rsquo;intégrité et l\u0026rsquo;authenticité des communications numériques.\nFonctionnement du chiffrement OpenPGP : 1.Génération de clés Avec pgpid , chaque utilisateur génère trois paires de clés : les clés publiques sont à minima partagées avec les correspondants. Les clés privées sont elles bien gardées secrètes. Elles ne devront donc jamais être sur aucun système connecté, autre que des clés de sécurités telles des YubiKeys ou des NitroKeys. 2.Chiffrement des données : Le message est chiffré avec une clé symétrique de session générée aléatoirement. La clé de session est ensuite chiffrée avec la clé publique dédiée du destinataire. Le message chiffré (symétriquement) et la clé de session chiffrée (asymétriquement) sont envoyés au destinataire. 3.Déchiffrement des données : Le destinataire utilise sa clé de sécurité (eg: YubiKey,\u0026hellip;) pour, à partir de la clé privée dédiée, déchiffrer la clé de session. La clé de session est utilisée par l\u0026rsquo;application (eg: client mail) pour déchiffrer le message. Applications qui utilisent le chiffrement OpenPGP au travers de clés de sécurité Linux Claws Mail Evolution: Seahorse KMail: Kleopatra Mutt Mac OS Apple Mail: GPGTools Mutt Windows Claws Mail ⚠ non testé ⚠ Gpg4win ⚠ non testé ⚠ Postbox using Enigmail ⚠ non testé ⚠ Android K-9 Mail: OpenKeychain FlowCrypt ⚠ non testé ⚠ iOS FlowCrypt ⚠ non testé ⚠ Les applications qui utilisent et respectent les spécifications OpenPGP sont donc des outils puissants pour sécuriser les communications et les données numériques dans un monde de plus en plus menacé par les cyberattaques.\n","permalink":"/fr/solutions/encryption/","tags":["Encryption","pgpid"],"title":"Chiffrement"},{"categories":null,"contents":"Grille Tarifaire En euros € Nitrokey 3A NFC Yubikey 5 NFC Certification OpenPGP ID Stockage de fragments 60 € 70 € 10 € 12 €/fragment/an Pour les adhérents Nitrokey 3A NFC Yubikey 5 NFC Certification OpenPGP ID Stockage de fragments 5,6 Ɉ 5,7 Ɉ 0 Ɉ 0,1 Ɉ/fragment/an Pour découvrir les nombreux usages que vous pouvez faire de ces clés, nous vous invitons à consulter nos formations .\n","permalink":"/fr/solutions/offer-security-keys/","tags":null,"title":"Clés de sécurité"},{"categories":null,"contents":"Conseil ","permalink":"/fr/solutions/offer-advice/","tags":null,"title":"Conseil"},{"categories":null,"contents":"Merci pour votre soutien aux activités et projets portés par l\u0026rsquo;association.\nSi vous avez créé votre identité OpenPGP ID , votre certificat devrait être enregistré sur notre serveur de clés , et vous recevrez des courriels que seul votre clé OpenPGP peut déchiffrer.\n","permalink":"/fr/about/success/","tags":null,"title":"Cotisation"},{"categories":["solution"],"contents":"Si vous avez des améliorations ou corrections à proposer, vous pouvez contribuer directement sur Codeberg .\nDémonstration : sécuriser un courriel avec OpenPGP Cette démonstration présente les bases de la sécurisation des courriels avec OpenPGP :\nchiffrer un message pour garantir sa confidentialité, déchiffrer un courriel reçu, signer un message pour prouver son authenticité, vérifier la signature d’un courriel. La démonstration est réalisée avec Evolution et GnuPG pour la gestion des clés.\nYour browser does not support the video tag. Clients mail compatibles OpenPGP Evolution : ordinateurs Linux/Unix. Thunderbird : Linux/Unix, Windows, macOS, Android et IOS. K-9 Mail : smartphones Android. Cas d’usage Evolution / Thunderbird + GnuPG : usage personnel ou professionnel sur ordinateur, avec des fonctionnalités complètes. K-9 Mail / Thunderbird + OpenKeychain : usage mobile sécurisé, idéal en déplacement. Conclusion Evolution, Thunderbird et K-9 Mail sont des applications de messagerie offrant une prise en charge fiable d’OpenPGP pour sécuriser vos courriels. Selon la plateforme utilisée, ces applications utilisent GnuPG ou OpenKeychain pour chiffrer, déchiffrer, signer et vérifier les messages, assurant ainsi la confidentialité et l’authenticité des échanges.\n","permalink":"/fr/solutions/theme-email/","tags":["email"],"title":"Courriel"},{"categories":null,"contents":"Chercheur en biologie ; utilisateur de GNU/Linux et développeur occasionnel de logiciels libres ; contributeur à GnuPG (notamment mainteneur de Scute) et animateur d’ateliers au sein des cryptoparties londoniennes.\n","permalink":"/fr/author/damien-goutte-gattat/","tags":null,"title":"Damien Goutte-Gattat"},{"categories":null,"contents":"Penseur en économie, membre d\u0026rsquo;altermonnaie et Monnaie Libre En Transition , fondateur du mouvement.AAA et de L\u0026rsquo;Espoyr .\n","permalink":"/fr/author/didier-loyens/","tags":null,"title":"Didier Loyens"},{"categories":null,"contents":"Découvrez Yves MICHEL en vidéo .\n","permalink":"/fr/partner/yvesmichel/","tags":null,"title":"Éditions Yves Michel"},{"categories":null,"contents":"Je m\u0026rsquo;appelle Evyn FAURE j\u0026rsquo;ai 19 ans je suis actuellement en BTS SIO dans le Lycée Dominique Villars à Gap, je suis passionné par l\u0026rsquo;informatique plus précisément la programmation c\u0026rsquo;est pour cela que je suis en option SLAM.\n","permalink":"/fr/author/evyn-faure/","tags":null,"title":"Evyn Faure"},{"categories":null,"contents":"À propos de la formation Objectifs Au travers de quelques exemples, nous apprendrons à aiguiser notre esprit critique, ainsi que quelques pistes pour éviter de perdre son énergie dans les flots de l\u0026rsquo;information, souvent trompeurs.\nLocalisation Dans les locaux de l’association FoOPGP ; À domicile ; Dans les locaux de votre structure. ","permalink":"/fr/course/fakenew-detect/","tags":null,"title":"FAKE... ¡No pasarán!"},{"categories":null,"contents":"Nous sommes à votre disposition depuis plus de 18 ans pour vous aider sur les domaines de l’informatique et des nouvelles technologies.\nDonc, fort de cette longue et exceptionnelle expérience, nous pouvons vous fournir une prestation complète et entièrement personnalisée.\nAgrément Service À la Personne Habilitation Avance immédiate de crédit d\u0026rsquo;impôt ","permalink":"/fr/partner/formaintinfo/","tags":null,"title":"Formaint'info"},{"categories":null,"contents":"J\u0026rsquo;ai contribué à de nombreux projets de logiciel libre, dont le système d\u0026rsquo;exploitation Haiku. Je sais que je suis nul en sécurité, mais je progresse.\n","permalink":"/fr/author/francois-revol/","tags":null,"title":"François Revol"},{"categories":null,"contents":"Carré \u0026amp; professionnel.\n","permalink":"/fr/author/fred-zwikel/","tags":null,"title":"Fred Zwikel"},{"categories":["solution"],"contents":"Identité numérique L\u0026rsquo;identité numérique est un ensemble de données permettant d\u0026rsquo;identifier une personne ou une entité sur Internet et dans les systèmes informatiques. Elle est composée de divers éléments qui peuvent inclure des informations personnelles, des attributs de vérification et des certificats de sécurité.\nOpenPGP est un format ouvert qui a été pensé pour créer et gérer des identités numériques. De plus, son évolutivité lui permet d\u0026rsquo;utiliser, depuis toujours, les meilleurs algorithmes cryptographiques du moment. Il offre ainsi un niveau de sécurité inégalé.\nA quoi peut servir une identité numérique ? S\u0026rsquo;identifier sur des sites de commerces en ligne.\nS\u0026rsquo;identifier sur des réseaux sociaux.\nS\u0026rsquo;identifier auprès de services tels :\nassurance santé assurance chomâge assurances privées services municipaux \u0026hellip; Éviter les usurpations d\u0026rsquo;identité.\nEnregistrer des qualifications, par exemple :\npermis de conduire diplômes \u0026hellip; Lutter contre les informations trompeuses .\nLutter contre les abus d\u0026rsquo;intelligence artificielle .\npgpid Afin de gérer aux mieux ces identités, et les clés privés associées, l\u0026rsquo;association foopgp a développé pgpid . Cet outil permet de :\nCréer une identité numérique OpenPGP unique en partant de zéro ou bien d\u0026rsquo;un passport international (aux normes ICAO ) Générer les clés privées des certificats OpenPGP associés. Chiffrer et répartir ces clés privés sur au moins 3 documents (QR codes) imprimés. Sauvegarder de manière ultra-sécurisée ces clés privés : secrets répartis et en dehors de tout réseau informatique. Déchiffrer ces sauvegardes pour pousser les clés (numériques) privées dans des clés (physiques) de sécurité comme la YubiKey ou la Nitrokey . Voici un exemple de sauvegarde papier d\u0026rsquo;une identité numérique pgpid :\nBref, L\u0026rsquo;identité numérique permet de sécuriser les transactions en ligne, d\u0026rsquo;accéder à divers services numériques et de vérifier l\u0026rsquo;identité des utilisateurs de manière fiable. Elle joue un rôle crucial dans la cybersécurité et la protection des données personnelles.\nQuand d\u0026rsquo;autres vous vendent des technologies qui vous asservissent, foopgp permet à tous de nous approprier des technologies qui nous servent. Des technologies plus sûres et entièrement souveraines.\n","permalink":"/fr/solutions/theme-identity/","tags":["Identity","pgpid"],"title":"Identité"},{"categories":null,"contents":"La meilleur façon de soutenir le projet consiste à investir sous forme de cotisations.\nCes cotisations, à prix libre, vous permettent d\u0026rsquo;obtenir vos premiers jetons foopgp, et financent le travail de l\u0026rsquo;association pour permettre la transition d\u0026rsquo;un système monétaire, économique et politique qui détruit nos vies et notre planète, vers un système plus respectueux de l\u0026rsquo;ensemble du vivant . 1\nLe jeton foopgp Les jetons foopgp, aussi appelés djis (Ɉ), sont comparables à des actions : ils sont librement échangeables entre les adhérents de l\u0026rsquo;association et, lorsque nous devons prendre des décisions qui ne trouvent pas de consensus, nous votons avec un nombre de voix dépendant de la quantité de djis sur nos portefeuilles nominatifs.\nCependant, la comparaison s\u0026rsquo;arrête là, car ces jetons ont d\u0026rsquo;autres caractéristiques très intéressantes :\nLa création de ces jetons est extrêmement rigoureuse et démocratique. Voir les articles 4 et 5 de notre règlement intérieur . 2 3\nLe coefficient multiplicateur du retour sur investissement diminue avec la quantité investie. Voir ce joli graphique en 3D .\nLes gros actionnaires n\u0026rsquo;ont pas forcément plus de pouvoir que les petits. Nos règles permettant de régler finement le curseur entre « une part, une voix » et « une personne, une voix ». Voir l\u0026rsquo;article 8 de notre règlement intérieur .\nGrâce aux technologies que nous assemblons et développons (OpenPGP , git , blockchain , \u0026hellip;), les échanges en djis (Ɉ) sont extrêmement faciles et peu couteux, pour l\u0026rsquo;ensemble du monde.\nQuel sera la valeur du dji ? Supposons que nous sommes en février 2026 et que la taille du gateau économique ne bouge plus.\nDans la zone euro, la masse monétaire M1 est de 11235768 millions d\u0026rsquo;euros, c\u0026rsquo;est à dire en moyenne : 11235768/350 =~ 32102.19 € par citoyen de cette zone. 4\nDès que nous commençons à utiliser le dji (émancipateur) à la place de l\u0026rsquo;euro (qui cause tant de maux), nous avons échangé et utilisons donc en moyenne 13.549179 Ɉ pour 32102.19 €.\nC\u0026rsquo;est à dire qu\u0026rsquo;un dji (Ɉ) vaut 32102.19/13.549179 = 2369.31 €.\n# bc -l \u0026lt;\u0026lt;\u0026lt;\u0026#34;11235768/350\u0026#34; 32102.19428571428571428571 # bl-foopgp --date 2026-02-02 g2t 32102.19 13.549179 # bc -l \u0026lt;\u0026lt;\u0026lt;\u0026#34;32102.19/13.549179\u0026#34; 2369.30887103934489314813 Précisons maintenant :\nPression à la baisse : le « dividende universel ». 3 Pression à la hausse : le paramètre stingynalty (mis en place pour contenir la pression du « dividende universel » ou l\u0026rsquo;inflation de l\u0026rsquo;euro). 2 Pression à baisse puis à la hausse : Tout le monde n\u0026rsquo;a pas en moyenne 32102.19 € sur son compte en banque\u0026hellip; 4 Pression à la hausse : Le dji est la part sociale d\u0026rsquo;une société qui produit des innovations comme OpenPGP ID et Djibian . Ces produits s\u0026rsquo;attaquent (entre autres) aux parts de marché de Microsoft et d\u0026rsquo;Apple, c\u0026rsquo;est-à-dire (rien que pour eux deux) : 7200 milliards de capitalisation (en 2025) . Ainsi le premier calcul ne représente que le cas où la société ne produit rien, dans une économie totalement égalitaire.\nEt le chiffre de 2369.31 €, n\u0026rsquo;est qu\u0026rsquo;une estimation plancher.\nReprenons maintenant le cours du temps : il est tout à fait probable qu\u0026rsquo;un jour, la valeur d\u0026rsquo;un dji dépasse allègrement les 2500 euros (1 Ɉ \u0026gt; 2500 €). 5\nPrêt à générer vos djis ? Alors prenez votre part et 🌟 inscrivez-vous ici 🌟.\nOu veuillez télécharger ici le bulletin d\u0026rsquo;adhésion , le remplir, et l\u0026rsquo;envoyer.\npar voie postale, accompagné d\u0026rsquo;un chèque à l\u0026rsquo;ordre de l\u0026rsquo;association foopgp, 75 Impasse Serre des Isnards, 05000 Pelleautier.\npar courrier électronique à info at foopgp.org , en indiquant la référence du virement effectué en parallèle sur notre compte IBAN : FR76 1027 8079 9800 0208 2780 107.\nBienvenue chez vous : nôtre nouveau monde ! 🥰\nNotre livre blanc : https://foopgp.org/fr/about/white-book/ \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nArticle 4 de notre règlement intérieur : https://foopgp.org/fr/about/rules-of-procedures/ \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nArticle 5 de notre règlement intérieur : https://foopgp.org/fr/about/rules-of-procedures/ \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nmomentum : ~99% des citoyens de la zone euro ont intérêt à adopter le dji, justement parce qu\u0026rsquo;ils sont en dessous de cette moyenne. Par rapport à l\u0026rsquo;euro, une pression supplémentaire à la hausse apparaîtra lorsque, même pour les ~1% des plus riches, ce que nous produisons sera acheté dans notre monnaie, émancipatrice ; plutôt que dans leur monnaie, qui ne leur coûte rien (ou presque, cf. effet Cantillon).\u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nTout investissement comporte des risques de perte partielle ou totale en capital.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/about/donate/","tags":null,"title":"Investir"},{"categories":null,"contents":"La meilleur façon de soutenir le projet consiste à investir sous forme de cotisations.\nCes cotisations, à prix libre, vous permettent d\u0026rsquo;obtenir vos premiers jetons foopgp, et financent le travail de l\u0026rsquo;association pour permettre la transition d\u0026rsquo;un système monétaire, économique et politique qui détruit nos vies et notre planète, vers un système plus respectueux de l\u0026rsquo;ensemble du vivant . 1\nLe jeton foopgp Les jetons foopgp, aussi appelés djis (Ɉ), sont comparables à des actions : ils sont librement échangeables entre les adhérents de l\u0026rsquo;association et, lorsque nous devons prendre des décisions qui ne trouvent pas de consensus, nous votons avec un nombre de voix dépendant de la quantité de djis sur nos portefeuilles nominatifs.\nCependant, la comparaison s\u0026rsquo;arrête là, car ces jetons ont d\u0026rsquo;autres caractéristiques très intéressantes :\nLa création de ces jetons est extrêmement rigoureuse et démocratique. Voir les articles 4 et 5 de notre règlement intérieur . 2 3\nLe coefficient multiplicateur du retour sur investissement diminue avec la quantité investie. Voir ce joli graphique en 3D .\nLes gros actionnaires n\u0026rsquo;ont pas forcément plus de pouvoir que les petits. Nos règles permettant de régler finement le curseur entre « une part, une voix » et « une personne, une voix ». Voir l\u0026rsquo;article 8 de notre règlement intérieur .\nGrâce aux technologies que nous assemblons et développons (OpenPGP , git , blockchain , \u0026hellip;), les échanges en djis (Ɉ) sont extrêmement faciles et peu couteux, pour l\u0026rsquo;ensemble du monde.\nQuel sera la valeur du dji ? Supposons que nous sommes en février 2026 et que la taille du gateau économique ne bouge plus.\nDans la zone euro, la masse monétaire M1 est de 11235768 millions d\u0026rsquo;euros, c\u0026rsquo;est à dire en moyenne : 11235768/350 =~ 32102.19 € par citoyen de cette zone. 4\nDès que nous commençons à utiliser le dji (émancipateur) à la place de l\u0026rsquo;euro (qui cause tant de maux), nous avons échangé et utilisons donc en moyenne 13.549179 Ɉ pour 32102.19 €.\nC\u0026rsquo;est à dire qu\u0026rsquo;un dji (Ɉ) vaut 32102.19/13.549179 = 2369.31 €.\n# bc -l \u0026lt;\u0026lt;\u0026lt;\u0026#34;11235768/350\u0026#34; 32102.19428571428571428571 # bl-foopgp --date 2026-02-02 g2t 32102.19 13.549179 # bc -l \u0026lt;\u0026lt;\u0026lt;\u0026#34;32102.19/13.549179\u0026#34; 2369.30887103934489314813 Précisons maintenant :\nPression à la baisse : le « dividende universel ». 3 Pression à la hausse : le paramètre stingynalty (mis en place pour contenir la pression du « dividende universel » ou l\u0026rsquo;inflation de l\u0026rsquo;euro). 2 Pression à baisse puis à la hausse : Tout le monde n\u0026rsquo;a pas en moyenne 32102.19 € sur son compte en banque\u0026hellip; 4 Pression à la hausse : Le dji est la part sociale d\u0026rsquo;une société qui produit des innovations comme OpenPGP ID et Djibian . Ces produits s\u0026rsquo;attaquent (entre autres) aux parts de marché de Microsoft et d\u0026rsquo;Apple, c\u0026rsquo;est-à-dire (rien que pour eux deux) : 7200 milliards de capitalisation (en 2025) . Ainsi le premier calcul ne représente que le cas où la société ne produit rien, dans une économie totalement égalitaire.\nEt le chiffre de 2369.31 €, n\u0026rsquo;est qu\u0026rsquo;une estimation plancher.\nReprenons maintenant le cours du temps : il est tout à fait probable qu\u0026rsquo;un jour, la valeur d\u0026rsquo;un dji dépasse allègrement les 2500 euros (1 Ɉ \u0026gt; 2500 €). 5\nPrêt à générer vos djis ? Alors prenez votre part et 🌟 inscrivez-vous ici 🌟.\nOu veuillez télécharger ici le bulletin d\u0026rsquo;adhésion , le remplir, et l\u0026rsquo;envoyer.\npar voie postale, accompagné d\u0026rsquo;un chèque à l\u0026rsquo;ordre de l\u0026rsquo;association foopgp, 75 Impasse Serre des Isnards, 05000 Pelleautier.\npar courrier électronique à info at foopgp.org , en indiquant la référence du virement effectué en parallèle sur notre compte IBAN : FR76 1027 8079 9800 0208 2780 107.\nBienvenue chez vous : nôtre nouveau monde ! 🥰\nNotre livre blanc : https://foopgp.org/fr/about/white-book/ \u0026#160;\u0026#x21a9;\u0026#xfe0e;\nArticle 4 de notre règlement intérieur : https://foopgp.org/fr/about/rules-of-procedures/ \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nArticle 5 de notre règlement intérieur : https://foopgp.org/fr/about/rules-of-procedures/ \u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nmomentum : ~99% des citoyens de la zone euro ont intérêt à adopter le dji, justement parce qu\u0026rsquo;ils sont en dessous de cette moyenne. Par rapport à l\u0026rsquo;euro, une pression supplémentaire à la hausse apparaîtra lorsque, même pour les ~1% des plus riches, ce que nous produisons sera acheté dans notre monnaie, émancipatrice ; plutôt que dans leur monnaie, qui ne leur coûte rien (ou presque, cf. effet Cantillon).\u0026#160;\u0026#x21a9;\u0026#xfe0e;\u0026#160;\u0026#x21a9;\u0026#xfe0e;\nTout investissement comporte des risques de perte partielle ou totale en capital.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/about/join/","tags":null,"title":"Investir"},{"categories":null,"contents":"Gentleman Farmer, fondateur de BBK Bio… Fondation fer de lance du sursaut « Liban d’abord »\n","permalink":"/fr/author/jacques-moussali/","tags":null,"title":"Jacques Moussali"},{"categories":null,"contents":"Plus de 15 ans d\u0026rsquo;expérience dans les systèmes Linux (GNU et embarqués), les réseaux, l\u0026rsquo;architecture ou la sécurité (mais pas tout en même temps).\n","permalink":"/fr/author/jean-jacques-brucker/","tags":null,"title":"Jean-Jacques Brucker"},{"categories":null,"contents":"","permalink":"/fr/author/laurent-ceard/","tags":null,"title":"Laurent CEARD"},{"categories":null,"contents":"Entreprise spécialisé dans des solutions d\u0026rsquo;auto-hébergement, notamment de services NextCloud ou Odoo configurés dans des systèmes Debian GNU/Linux .\n","permalink":"/fr/partner/librezo/","tags":null,"title":"Librezo"},{"categories":["about"],"contents":"Synopsis Internet, autrefois symbole d’une utopie collective promettant liberté, égalité et partage des savoirs, s’est progressivement transformé en un outil de surveillance, de manipulation et de surconsommation.\nAujourd\u0026rsquo;hui, il est clair que l’idéal originel a été détourné par des régies publicitaires et des modèles économiques dictés par la quête de croissance à tout prix.\nLesquels ne sont pas sans conséquences sur la viabilité de notre humanité sur cette petite planète.\nLivre Blanc Le livre blanc de notre organisation se compose de trois parties :\n1ère partie : Où nous diagnostiquons cette dérive et proposons trois axes fondamentaux pour y remédier. 2ème partie : Où nous présentons nos solutions fonctionnelles en rapport à ces axes, et expliquons notre règlement intérieur . 3ème partie : (non publiée) Où nous présenterons nos solutions techniques, et comment elles s\u0026rsquo;appuient sur OpenPGP. Ce livre blanc propose des solutions concrètes pour un Internet plus juste, durable et respectueux des individus. Vous y découvrirez comment la technologie OpenPGP et des systèmes monétaires innovants transformeront notre façon de vivre et de coopérer dans le monde d\u0026rsquo;aujourd\u0026rsquo;hui.\n","permalink":"/fr/about/white-book/","tags":["specification"],"title":"Livre Blanc"},{"categories":null,"contents":"Dans le cadre de mes études en BTS SIO (Services Informatiques aux Organisations), option SLAM, j\u0026rsquo;ai effectué mes stages de première et de deuxième année au sein de l\u0026rsquo;association Foopgp.\n","permalink":"/fr/author/mael-lemoine/","tags":null,"title":"Maël Lemoine"},{"categories":null,"contents":"Materiel ","permalink":"/fr/solutions/offer-computers/","tags":null,"title":"Materiel"},{"categories":["about"],"contents":"Éditeur \u0026ldquo;Friends of OpenPGP\u0026rdquo; (foOpgp) est né en France sous le statut d\u0026rsquo;association. Numéro RNA : W052008166.\nSes statuts stipulent son objet :\nrassembler toutes personnes physiques ou morales qui utilisent ou développent des solutions technologiques basées sur les normes OpenPGP, selon les valeurs portées par l\u0026rsquo;association qui sont la transparence, la bienveillance, la coopération et la proximité ; promouvoir et faciliter l\u0026rsquo;adoption de ces technologies et soutenir leur croissance et leur utilisation.\nSiège social :\n75, impasse Serre des Isnards - 05000 Pelleautier.\nVie privée Le site internet foopgp.org n\u0026rsquo;utilise aucun cookie, aucune base de donnée.\nVous pouvez vérifier et même héberger par vous même ce site internet : l\u0026rsquo;intégralité du code et de son contenu est ouvert et accessible sur un dépôt git .\nEn vue d’adapter le site aux demandes de nos visiteurs, nous analysons cependant le trafic avec GoAccess . Les données recueillies (adresse IP, User-Agent…) sont accessibles à tous . Si autant de transparence vous dérange, nous vous conseillons d\u0026rsquo;utiliser TOR ou de modifier votre User-Agent .\nPropriété intellectuelle Associer ces deux termes est un non-sens (cf. Discussion avec Albert Jacquard). Cela dit, sauf mention contraire, tous les contenus sont sous Licence CC BY SA 4.0 .\n","permalink":"/fr/about/legal-notice/","tags":null,"title":"Mentions Légales"},{"categories":["about"],"contents":"OpenPGP est un format non propriétaire pour authentifier ou chiffrer des données, en utilisant la cryptographie asymétrique .\nOpenPGP définit également une norme de certificats qui, contrairement à la plupart des autres formats de certificats, permet de construire des toiles de confiance .\nIl est basé sur le logiciel original PGP (Pretty Good Privacy).\nÀ partir de 1997, le groupe de travail OpenPGP a été formé au sein de l\u0026rsquo;Internet Engineering Task Force (IETF) pour standardiser ce qui était un produit propriétaire depuis 1991.\nAu cours des dernières décennies, PGP, et plus tard OpenPGP, sont devenus la norme pour presque tous les courriels signés ou chiffrés dans le monde.\nMais OpenPGP peut également être utilisé pour de nombreuses autres applications , comme l\u0026rsquo;Authentification sur Internet ou le vote électronique .\nLe format et les utilisations d\u0026rsquo;OpenPGP sont aujourd\u0026rsquo;hui spécifiés dans de nombreux RFCs et brouillons IETF 1. Ces normes peuvent donc être implémentées par n\u0026rsquo;importe quelle entreprise, sans payer de frais de licence à quiconque.\nRFC 3156 Sécurité MIME avec OpenPGP, RFC 9580 Format de Message OpenPGP Format (le RFC le plus important), RFC 5581 Le chiffrement Camellia dans OpenPGP, RFC 6091 Utilisation des clés OpenPGP pour l\u0026rsquo;authentification TLS (Transport Layer Security), RFC 6637 Cryptographie à courbe elliptique (ECC) dans OpenPGP, et plus encore .\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/fr/about/openpgp/","tags":["Specification"],"title":"OpenPGP"},{"categories":["solution"],"contents":"Paiements numériques Nous développons une solution permettant d\u0026rsquo;enregistrer et de consulter des transactions financières.\nLes technologies que nous mettons au point pour échanger nos djis (Ɉ) sont également applicables à n\u0026rsquo;importe quelle autre devise.\nElles pourraient donc permettre aussi d\u0026rsquo;échanger des monnaies à cours légal (€, $, ¥, \u0026hellip;) ou des actifs numériques (bitcoins, \u0026hellip;).\nCes technologies présentent d\u0026rsquo;énormes avantages :\naussi efficaces que les systèmes de paiement de type Visa ou MasterCard,\naussi décentralisées que les actifs numériques de type bitcoin,\nbien moins coûteuses (énergie, données, maintenance, etc.) que toutes les solutions aujourd\u0026rsquo;hui utilisées,\nsupport des latences ou des déconnexions réseau.\nLe seul « inconvénient », qu\u0026rsquo;elle partage avec l\u0026rsquo;ensemble des solutions en réseau (Visa, MasterCard, blockchain, etc.) : les échanges en réseau sont traçables. Vous ne devriez donc pas utiliser ces technologies si vous souhaitez blanchir de l\u0026rsquo;argent à travers le monde. (Désolé !)\nToutefois, pour localement faciliter l\u0026rsquo;usage et permettre un peu d\u0026rsquo;anonymat, notre solution autorise la sortie de jetons du système numérique vers le monde réel, et inversement. Cela est possible au travers de bons papier temporaires, que vous pouvez émettre et réaliser vous-même :\nCréation du bon à partir de jetons du système numérique. Impression du bon et de son information secrète. Dissimulation de l\u0026rsquo;information secrète dans le bon (collage dans la partie noire). Personnalisation du bon de manière difficilement falsifiable (en gribouillant par exemple au stylo à bille sur une surface tendre). Enregistrement du bon avec sa personnalisation dans le système numérique (envoi photo). Circulation du bon. Authenticité vérifiable à tout moment via le système numérique. Destruction partielle du bon (pour accéder à l\u0026rsquo;information secrète). Enregistrement des jetons dans le système numérique (utilisation de l\u0026rsquo;information secrète et envoi photo de la destruction). Sachant que les jetons de tous bons enregistrés reviendront automatiquement à l\u0026rsquo;émetteur du bon si les jetons ne sont pas réenregistrés avant la date d\u0026rsquo;expiration.\nDans ce processus, la personne qui pourrait le plus facilement fabriquer de faux bons est l\u0026rsquo;émetteur du bon. Aussi c\u0026rsquo;est elle qui est responsable de la qualité du bon, et a donc tout intérêt à ce qu\u0026rsquo;il soit difficilement falsifiable. (Afin d\u0026rsquo;éviter toute sanction, cf. Statuts - article 8.)\n","permalink":"/fr/solutions/theme-currency/","tags":null,"title":"Paiement"},{"categories":["about"],"contents":"Paramètres généraux de l\u0026rsquo;association foopgp Ce document a pour objectif de rassembler tous les paramètres régissant le fonctionnement de l\u0026rsquo;association foopgp, notamment ceux décrits dans son règlement intérieur .\nValeurs en vigueur à partir du 31 décembre 2025 (cf. AGO du 9 mars 2025 ) Paramètre valeur description stingynalty 1 + 5‰/mois facteur d\u0026rsquo;inflation, confer article 4 du règlement intérieur . growth 4‰/mois taux de croissance autonome de la quantité de jetons, confer article 5 du règlement intérieur . taxe 2%/ans contributions obligatoires, confer article 7 du règlement intérieur . sharp 1/2 = 0.5 exposant de pouvoir, confer article 8 du règlement intérieur . Nombre de jetons pour une cotisation initiale Graphique en 3 dimensions -\u0026gt; https://www.math3d.org/xzuclzIbuZ Ces tableaux permettent d\u0026rsquo;appréhender la quantité de jetons crée par cotisation initiale.\nCette quantité dépend du facteur d\u0026rsquo;inflation stingynalty dont la réévaluation est effective à chaque changement de mois.\nConfer article 4 du règlement intérieur .\nPour générer ces tableaux:\ngit clone https://codeberg.org/foopgp/bash-libs/ cd bash-libs sudo make install bl-foopgp --help for ((i=0;i\u0026lt;12;i++)) ; do echo -e \u0026#34;\\n#### $(LANG=fr date +\u0026#34;%B %Y\u0026#34; --date \u0026#34;$i months\u0026#34;)\\n\u0026#34; bl-foopgp -v --date \u0026#34;$i months\u0026#34; giftarray --with-header 2\u0026gt;\u0026amp;1 done Note : le mot stingynalty est la contraction des mots anglais stingy et penalty. Ce facteur d\u0026rsquo;inflation pouvant être éventuellement considéré comme un malus à l\u0026rsquo;avarice.\njusqu\u0026rsquo;au 30 juin 2024 stingynalty = 1\ncotisation initiale en € quantité de jetons Ɉ 1.00 € 100.0000 cɈ 1.00 € 100.0000 cɈ 2.00 € 158.4962 cɈ 3.00 € 200.0000 cɈ 5.00 € 258.4962 cɈ 7.00 € 300.0000 cɈ 10.00 € 345.9431 cɈ 15.00 € 400.0000 cɈ 20.00 € 439.2317 cɈ 31.00 € 500.0000 cɈ 50.00 € 567.2425 cɈ 63.00 € 600.0000 cɈ 100.00 € 665.8211 cɈ 127.00 € 700.0000 cɈ 200.00 € 765.1051 cɈ 255.00 € 800.0000 cɈ 500.00 € 896.8666 cɈ 511.00 € 900.0000 cɈ 1000.00 € 996.7226 cɈ 1023.00 € 1000.0000 cɈ 2000.00 € 1096.6505 cɈ 2047.00 € 1100.0000 cɈ 4095.00 € 1200.0000 cɈ \u0026hellip; \u0026hellip; du 1er au 31 décembre 2024 juillet 2024 : stingynalty = 1.005\naoût 2024 : stingynalty = 1.010025\nseptembre 2024 : stingynalty = 1.015075125\noctobre 2024 : stingynalty = 1.020150500625\nnovembre 2024 : stingynalty = 1.025251253128125\ndécembre 2024 : stingynalty = 1.030377509393765625\njanvier 2025 stingynalty = 1.03552939694073445312\ncotisation initiale en € quantité de jetons Ɉ 1.00 € 96.5689 cɈ 1.05 € 100.0000 cɈ 2.00 € 153.0581 cɈ 3.21 € 200.0000 cɈ 5.00 € 249.6271 cɈ 7.62 € 300.0000 cɈ 10.00 € 334.0737 cɈ 16.66 € 400.0000 cɈ 20.00 € 424.1615 cɈ 35.20 € 500.0000 cɈ 50.00 € 547.7802 cɈ 73.20 € 600.0000 cɈ 100.00 € 642.9765 cɈ 151.09 € 700.0000 cɈ 200.00 € 738.8541 cɈ 310.75 € 800.0000 cɈ 500.00 € 866.0948 cɈ 638.05 € 900.0000 cɈ 1000.00 € 962.5247 cɈ 1308.95 € 1000.0000 cɈ 2000.00 € 1059.0240 cɈ 2684.22 € 1100.0000 cɈ 5000.00 € 1186.6395 cɈ 5503.34 € 1200.0000 cɈ \u0026hellip; \u0026hellip; de février à décembre 2025 février : stingynalty = 1.04070704392543812538\nmars 2025 : stingynalty = 1.045910579145065316\navril 2025 : stingynalty = 1.05114013204079064258\nmai 2025 : stingynalty = 1.05639583270099459579\njuin 2025 : stingynalty = 1.06167781186449956876\njuillet 2025 : stingynalty = 1.06698620092382206660\naoût 2025 : stingynalty = 1.07232113192844117693\nseptembre 2025 : stingynalty = 1.07768273758808338281\noctobre 2025 : stingynalty = 1.08307115127602379972\nnovembre 2025 : stingynalty = 1.08848650703240391871\ndécembre 2025 : stingynalty = 1.09392893956756593830\nJanvier 2026 stingynalty = 1.09939858426540376799\ncotisation initiale en € quantité de jetons Ɉ 1.00 € 90.9588 cɈ 1.15 € 100.0000 cɈ 2.00 € 144.1663 cɈ 3.60 € 200.0000 cɈ 5.00 € 235.1251 cɈ 8.84 € 300.0000 cɈ 10.00 € 314.6658 cɈ 20.00 € 399.5200 cɈ 20.08 € 400.0000 cɈ 44.17 € 500.0000 cɈ 50.00 € 515.9571 cɈ 95.77 € 600.0000 cɈ 100.00 € 605.6230 cɈ 200.00 € 695.9306 cɈ 206.34 € 700.0000 cɈ 443.24 € 800.0000 cɈ 500.00 € 815.7793 cɈ 950.85 € 900.0000 cɈ 1000.00 € 906.6071 cɈ 2000.00 € 997.5004 cɈ 2038.49 € 1000.0000 cɈ 4368.90 € 1100.0000 cɈ 5000.00 € 1117.7020 cɈ 9362.19 € 1200.0000 cɈ février 2026 bl-foopgp: Info: stingynalty=1.10489557718673078682\nEUR DJI 1.00 € 90.5062 cɈ 1.16 € 100.0000 cɈ 2.00 € 143.4490 cɈ 3.63 € 200.0000 cɈ 5.00 € 233.9553 cɈ 8.95 € 300.0000 cɈ 10.00 € 313.1003 cɈ 20.00 € 397.5323 cɈ 20.41 € 400.0000 cɈ 45.03 € 500.0000 cɈ 50.00 € 513.3901 cɈ 98.01 € 600.0000 cɈ 100.00 € 602.6100 cɈ 200.00 € 692.4683 cɈ 211.94 € 700.0000 cɈ 456.99 € 800.0000 cɈ 500.00 € 811.7207 cɈ 984.06 € 900.0000 cɈ 1000.00 € 902.0966 cɈ 2000.00 € 992.5377 cɈ 2117.69 € 1000.0000 cɈ 4555.95 € 1100.0000 cɈ 5000.00 € 1112.1413 cɈ 9800.23 € 1200.0000 cɈ mars 2026 bl-foopgp: Info: stingynalty=1.11042005507266444075\nEUR DJI 1.00 € 90.0560 cɈ 1.16 € 100.0000 cɈ 2.00 € 142.7353 cɈ 3.67 € 200.0000 cɈ 5.00 € 232.7914 cɈ 9.07 € 300.0000 cɈ 10.00 € 311.5426 cɈ 20.00 € 395.5545 cɈ 20.74 € 400.0000 cɈ 45.92 € 500.0000 cɈ 50.00 € 510.8359 cɈ 100.00 € 599.6119 cɈ 100.31 € 600.0000 cɈ 200.00 € 689.0231 cɈ 217.72 € 700.0000 cɈ 471.24 € 800.0000 cɈ 500.00 € 807.6823 cɈ 1000.00 € 897.6086 cɈ 1018.60 € 900.0000 cɈ 2000.00 € 987.5997 cɈ 2200.40 € 1000.0000 cɈ 4752.00 € 1100.0000 cɈ 5000.00 € 1106.6083 cɈ 10261.12 € 1200.0000 cɈ avril 2026 bl-foopgp: Info: stingynalty=1.11597215534802776295\nEUR DJI 1.00 € 89.6079 cɈ 1.17 € 100.0000 cɈ 2.00 € 142.0252 cɈ 3.70 € 200.0000 cɈ 5.00 € 231.6332 cɈ 9.19 € 300.0000 cɈ 10.00 € 309.9926 cɈ 20.00 € 393.5866 cɈ 21.07 € 400.0000 cɈ 46.84 € 500.0000 cɈ 50.00 € 508.2945 cɈ 100.00 € 596.6288 cɈ 102.67 € 600.0000 cɈ 200.00 € 685.5952 cɈ 223.70 € 700.0000 cɈ 486.00 € 800.0000 cɈ 500.00 € 803.6640 cɈ 1000.00 € 893.1429 cɈ 1054.53 € 900.0000 cɈ 2000.00 € 982.6862 cɈ 2286.77 € 1000.0000 cɈ 4957.52 € 1100.0000 cɈ 5000.00 € 1101.1028 cɈ 10746.15 € 1200.0000 cɈ mai 2026 bl-foopgp: Info: stingynalty=1.12155201612476790176\nEUR DJI 1.00 € 89.1621 cɈ 1.18 € 100.0000 cɈ 2.00 € 141.3186 cɈ 3.74 € 200.0000 cɈ 5.00 € 230.4808 cɈ 9.31 € 300.0000 cɈ 10.00 € 308.4503 cɈ 20.00 € 391.6285 cɈ 21.42 € 400.0000 cɈ 47.77 € 500.0000 cɈ 50.00 € 505.7656 cɈ 100.00 € 593.6605 cɈ 105.11 € 600.0000 cɈ 200.00 € 682.1842 cɈ 229.86 € 700.0000 cɈ 500.00 € 799.6657 cɈ 501.31 € 800.0000 cɈ 1000.00 € 888.6994 cɈ 1091.92 € 900.0000 cɈ 2000.00 € 977.7973 cɈ 2376.98 € 1000.0000 cɈ 5000.00 € 1095.6246 cɈ 5173.03 € 1100.0000 cɈ 10000.00 € 1184.7739 cɈ 11256.70 € 1200.0000 cɈ juin 2026 bl-foopgp: Info: stingynalty=1.12715977620539174126\nEUR DJI 1.00 € 88.7185 cɈ 1.19 € 100.0000 cɈ 2.00 € 140.6156 cɈ 3.78 € 200.0000 cɈ 5.00 € 229.3341 cɈ 9.43 € 300.0000 cɈ 10.00 € 306.9158 cɈ 20.00 € 389.6801 cɈ 21.77 € 400.0000 cɈ 48.73 € 500.0000 cɈ 50.00 € 503.2494 cɈ 100.00 € 590.7069 cɈ 107.61 € 600.0000 cɈ 200.00 € 678.7903 cɈ 236.23 € 700.0000 cɈ 500.00 € 795.6872 cɈ 517.17 € 800.0000 cɈ 1000.00 € 884.2780 cɈ 1130.83 € 900.0000 cɈ 2000.00 € 972.9326 cɈ 2471.24 € 1000.0000 cɈ 5000.00 € 1090.1738 cɈ 5399.06 € 1100.0000 cɈ 10000.00 € 1178.8795 cɈ 11794.25 € 1200.0000 cɈ juillet 2026 bl-foopgp: Info: stingynalty=1.13279557508641869996\nEUR DJI 1.00 € 88.2771 cɈ 1.20 € 100.0000 cɈ 2.00 € 139.9160 cɈ 3.81 € 200.0000 cɈ 5.00 € 228.1932 cɈ 9.55 € 300.0000 cɈ 10.00 € 305.3888 cɈ 20.00 € 387.7414 cɈ 22.13 € 400.0000 cɈ 49.71 € 500.0000 cɈ 50.00 € 500.7457 cɈ 100.00 € 587.7681 cɈ 110.19 € 600.0000 cɈ 200.00 € 675.4132 cɈ 242.81 € 700.0000 cɈ 500.00 € 791.7286 cɈ 533.62 € 800.0000 cɈ 1000.00 € 879.8786 cɈ 1171.33 € 900.0000 cɈ 2000.00 € 968.0921 cɈ 2569.72 € 1000.0000 cɈ 5000.00 € 1084.7500 cɈ 5636.16 € 1100.0000 cɈ 10000.00 € 1173.0145 cɈ 12360.34 € 1200.0000 cɈ août 2026 bl-foopgp: Info: stingynalty=1.13845955296185079345\nEUR DJI 1.00 € 87.8379 cɈ 1.21 € 100.0000 cɈ 2.00 € 139.2199 cɈ 3.85 € 200.0000 cɈ 5.00 € 227.0579 cɈ 9.67 € 300.0000 cɈ 10.00 € 303.8695 cɈ 20.00 € 385.8123 cɈ 22.49 € 400.0000 cɈ 50.00 € 498.2544 cɈ 50.71 € 500.0000 cɈ 100.00 € 584.8439 cɈ 112.84 € 600.0000 cɈ 200.00 € 672.0530 cɈ 249.60 € 700.0000 cɈ 500.00 € 787.7896 cɈ 550.68 € 800.0000 cɈ 1000.00 € 875.5011 cɈ 1213.50 € 900.0000 cɈ 2000.00 € 963.2758 cɈ 2672.66 € 1000.0000 cɈ 5000.00 € 1079.3533 cɈ 5884.94 € 1100.0000 cɈ 10000.00 € 1167.1786 cɈ 12956.64 € 1200.0000 cɈ septembre 2026 bl-foopgp: Info: stingynalty=1.14415185072666004741\nEUR DJI 1.00 € 87.4009 cɈ 1.22 € 100.0000 cɈ 2.00 € 138.5272 cɈ 3.89 € 200.0000 cɈ 5.00 € 225.9282 cɈ 9.80 € 300.0000 cɈ 10.00 € 302.3577 cɈ 20.00 € 383.8928 cɈ 22.87 € 400.0000 cɈ 50.00 € 495.7755 cɈ 51.74 € 500.0000 cɈ 100.00 € 581.9342 cɈ 115.56 € 600.0000 cɈ 200.00 € 668.7094 cɈ 256.62 € 700.0000 cɈ 500.00 € 783.8703 cɈ 568.37 € 800.0000 cɈ 1000.00 € 871.1454 cɈ 1257.40 € 900.0000 cɈ 2000.00 € 958.4833 cɈ 2780.26 € 1000.0000 cɈ 5000.00 € 1073.9833 cɈ 6146.02 € 1100.0000 cɈ 10000.00 € 1161.3717 cɈ 13584.90 € 1200.0000 cɈ octobre 2026 bl-foopgp: Info: stingynalty=1.14987260998029334764\nEUR DJI 1.00 € 86.9661 cɈ 1.22 € 100.0000 cɈ 2.00 € 137.8380 cɈ 3.93 € 200.0000 cɈ 5.00 € 224.8042 cɈ 9.93 € 300.0000 cɈ 10.00 € 300.8534 cɈ 20.00 € 381.9829 cɈ 23.25 € 400.0000 cɈ 50.00 € 493.3090 cɈ 52.80 € 500.0000 cɈ 100.00 € 579.0390 cɈ 118.37 € 600.0000 cɈ 200.00 € 665.3825 cɈ 263.87 € 700.0000 cɈ 500.00 € 779.9704 cɈ 586.72 € 800.0000 cɈ 1000.00 € 866.8113 cɈ 1303.12 € 900.0000 cɈ 2000.00 € 953.7148 cɈ 2892.76 € 1000.0000 cɈ 5000.00 € 1068.6401 cɈ 6420.08 € 1100.0000 cɈ 10000.00 € 1155.5938 cɈ 14247.00 € 1200.0000 cɈ novembre 2026 bl-foopgp: Info: stingynalty=1.15562197303019481437\nEUR DJI 1.00 € 86.5334 cɈ 1.23 € 100.0000 cɈ 2.00 € 137.1523 cɈ 3.97 € 200.0000 cɈ 5.00 € 223.6858 cɈ 10.00 € 299.3566 cɈ 10.06 € 300.0000 cɈ 20.00 € 380.0825 cɈ 23.64 € 400.0000 cɈ 50.00 € 490.8547 cɈ 53.88 € 500.0000 cɈ 100.00 € 576.1582 cɈ 121.26 € 600.0000 cɈ 200.00 € 662.0721 cɈ 271.36 € 700.0000 cɈ 500.00 € 776.0900 cɈ 605.76 € 800.0000 cɈ 1000.00 € 862.4988 cɈ 1350.74 € 900.0000 cɈ 2000.00 € 948.9699 cɈ 3010.41 € 1000.0000 cɈ 5000.00 € 1063.3235 cɈ 6707.82 € 1100.0000 cɈ 10000.00 € 1149.8445 cɈ 14944.92 € 1200.0000 cɈ décembre 2026 bl-foopgp: Info: stingynalty=1.16140008289534578844\nEUR DJI 1.00 € 86.1029 cɈ 1.24 € 100.0000 cɈ 2.00 € 136.4699 cɈ 4.01 € 200.0000 cɈ 5.00 € 222.5729 cɈ 10.00 € 297.8673 cɈ 10.20 € 300.0000 cɈ 20.00 € 378.1915 cɈ 24.04 € 400.0000 cɈ 50.00 € 488.4126 cɈ 54.99 € 500.0000 cɈ 100.00 € 573.2918 cɈ 124.23 € 600.0000 cɈ 200.00 € 658.7782 cɈ 279.11 € 700.0000 cɈ 500.00 € 772.2288 cɈ 625.52 € 800.0000 cɈ 1000.00 € 858.2078 cɈ 1400.35 € 900.0000 cɈ 2000.00 € 944.2487 cɈ 3133.46 € 1000.0000 cɈ 5000.00 € 1058.0334 cɈ 7009.99 € 1100.0000 cɈ 10000.00 € 1144.1239 cɈ 15680.78 € 1200.0000 cɈ janvier 2027 bl-foopgp: Info: stingynalty=1.16720708330982251738\nEUR DJI 1.00 € 85.6746 cɈ 1.25 € 100.0000 cɈ 2.00 € 135.7910 cɈ 4.05 € 200.0000 cɈ 5.00 € 221.4656 cɈ 10.00 € 296.3854 cɈ 10.33 € 300.0000 cɈ 20.00 € 376.3100 cɈ 24.44 € 400.0000 cɈ 50.00 € 485.9827 cɈ 56.13 € 500.0000 cɈ 100.00 € 570.4396 cɈ 127.29 € 600.0000 cɈ 200.00 € 655.5007 cɈ 287.11 € 700.0000 cɈ 500.00 € 768.3869 cɈ 646.02 € 800.0000 cɈ 1000.00 € 853.9381 cɈ 1452.05 € 900.0000 cɈ 2000.00 € 939.5509 cɈ 3262.20 € 1000.0000 cɈ 5000.00 € 1052.7695 cɈ 7327.38 € 1100.0000 cɈ 10000.00 € 1138.4318 cɈ 16456.82 € 1200.0000 cɈ ","permalink":"/fr/about/rules-parameters/","tags":null,"title":"Paramètres généraux de l'association foopgp."},{"categories":["solution"],"contents":"Cette page vous guide à travers nos principaux projets et leurs développements open source sur nos dépôts Git .\nbash-libs bash-libs est un ensemble d\u0026rsquo;outils qui peuvent également être utilisés comme bibliothèques bash.\nCet ensemble contient :\nbl-pgpid : Génère des identifiants foopgp, tels que u4, pour identifier les personnes dans le monde entier, ou un uid Unix fixe pour chacune d\u0026rsquo;entre elles.\nbl-qrkey : Sauvegarde ou restauration des clés OpenPGP à l\u0026rsquo;aide de QR codes imprimés utilisant le partage de clé secrète de Shamir. Facilite également la modification des mots de passe protégeant les clés OpenPGP ou des codes (PIN ou Admin) des jetons de sécurité OpenPGP (YubiKey, \u0026hellip;).\nbl-djibian : Outils système pour Djibian GNU/Linux. Principalement pour gérer les utilisateurs.\nbl-dji : gère les djis (Ɉ), aussi appelés jetons foopgp.\nbl-foopgp : calcule combien de jetons foopgp (Ɉ) peuvent être créés pour chaque cotisation à l\u0026rsquo;association foopgp.\nbl-json : utilise jq (processeur JSON en ligne de commande) pour convertir des données json en variables ou tableaux bash, et vice-versa.\nbl-interactive : aide à gérer les choix interactifs, tout en prenant en charge plusieurs interfaces : NONE, whiptail, dialog ou zenity.\nbl-markdown : manipule des données au format markdown . Aujourd\u0026rsquo;hui, sert principalement à convertir : tableaux markdown \u0026lt;\u0026gt; tableaux bash.\nbl-security : fournit certaines fonctionnalités de sécurité informatique.\nbl-log : wrapper pour la commande logger, qui peut également afficher de jolis lignes sur stderr.\nRemarque : sauf indication contraire, toutes les bash-libs sont sous licence LGPL-3.0-only .\npgpid pgpid marque le début de foopgp . Les deux outils en son cœur sont :\npgpid-gen : génère des certificats et des secrets OpenPGP sur plusieurs codes QR (schéma de partage de secrets physiques).\npgpid-qrscan : transfère les secrets OpenPGP des codes QR pgpid vers une carte à puce OpenPGP (par exemple : yubikey, nitrokey, \u0026hellip;).\ndjibian.foopgp.org Ce service est notre propre dépôt de paquets Debian , destiné à distribuer nos dernières versions logicielles.\nDe cette manière, vous pouvez facilement installer nos logiciels sur vos systèmes Debian :\ngpg --keyserver keys.foopgp.org --recv-keys 2C364630A2436D7E FE1349E747CF1896 gpg --export 2C364630A2436D7E FE1349E747CF1896 | sudo tee /usr/local/share/foopgp-archive-keyring.pgp \u0026gt; /dev/null cat \u0026lt;\u0026lt;EOF | sudo tee /etc/apt/sources.list.d/foopgp.sources Types: deb URIs: http://djibian.foopgp.org/debs/ Suites: ./ Components: Signed-By: /usr/local/share/foopgp-archive-keyring.pgp EOF sudo apt update sudo apt install bashlibs-all sudo apt install djibian-onboarding Remarques :\nCes paquets ayant peu de dépendances, ils pourraient être compatibles avec d\u0026rsquo;autres systèmes de type Debian : Ubuntu, Mint, etc. Pour tester les versions de préproduction, remplacez l\u0026rsquo;URI http://djibian.foopgp.org/debs/ par http://djibian.foopgp.org/test/ . keys.foopgp.org C\u0026rsquo;est notre serveur de clés OpenPGP conforme au protocole draft-gallagher-openpgp-hkp-00 .\nIl utilise une version améliorée d\u0026rsquo;Onak , et nous transmettons régulièrement nos contributions au développeur principal de la version originale .\nfoopgp-hugotheme foopgp-hugotheme contient le thème Hugo de notre site web. Vous pouvez l\u0026rsquo;utiliser pour vos propres sites web Hugo. Si vous ajoutez des corrections ou des améliorations à ce thème Hugo, veuillez le partager avec nous.\nRemarque : sauf indication contraire, tout le contenu de foopgp-hugotheme est soumis à la licence MIT .\nfoopgp-hugowebsite foopgp-hugowebsite contient le site web que vous êtes en train de consulter. Vous pouvez l\u0026rsquo;utiliser pour améliorer, ajouter ou partager de nouvelles informations publiques.\nRemarque : sauf indication contraire, tout le contenu de foopgp-hugowebsite est sous licence CC BY SA 4.0 .\n","permalink":"/fr/solutions/activity-rd/","tags":null,"title":"Projets R\u0026D"},{"categories":null,"contents":"","permalink":"/fr/search/","tags":null,"title":"Recherche locale"},{"categories":null,"contents":"Montagnes, huskis.\n","permalink":"/fr/author/sebastien-picardeau/","tags":null,"title":"Sebastien Picardeau"},{"categories":["solution"],"contents":"Les signatures numériques OpenPGP (Pretty Good Privacy) sont une méthode courante pour garantir l\u0026rsquo;authenticité des données.\nAvantages des Signatures OpenPGP Authenticité :\nLes signatures numériques vérifient l\u0026rsquo;identité de l\u0026rsquo;expéditeur. Intégrité :\nLes signatures garantissent que le message n\u0026rsquo;a pas été altéré pendant le transit. Utilisation des Signatures OpenPGP Installation et Configuration\nLes utilisateurs doivent installer un logiciel OpenPGP compatible (comme K9-Mail , FairEmail, Evolution , Thunderbird, \u0026hellip;). Génération de clés privées et d\u0026rsquo;un certificat publique avec pgpid-gen. Partage ou publication du certificat publique. Importation des clés privées dans une clé de sécurité (Yubikey, NitroKey, \u0026hellip;) avec pgpid-qrscan. Envoi de données signées\nAjout d\u0026rsquo;une signature numérique en utilisant la clé privée de l\u0026rsquo;expéditeur. Réception et Vérification\nVérification de la signature avec la clé publique de l\u0026rsquo;expéditeur. Signature des Emails Lorsqu\u0026rsquo;un utilisateur envoie un email, il peut ajouter une signature numérique en utilisant sa clé privée. La signature numérique prouve que le message provient bien de l\u0026rsquo;expéditeur prétendu et n\u0026rsquo;a pas été modifié en transit. Le destinataire peut vérifier la signature en utilisant la clé publique de l\u0026rsquo;expéditeur. Si la signature est valide, cela confirme l\u0026rsquo;authenticité du message. Exemple de Signature avec LibreOffice Les signatures avec les clés OpenPGP sur LibreOffice permettent d\u0026rsquo;assurer l\u0026rsquo;authenticité et l\u0026rsquo;intégrité des documents que vous créez ou recevez. En utilisant OpenPGP, vous pouvez signer numériquement un document pour prouver qu\u0026rsquo;il provient bien de vous et qu\u0026rsquo;il n\u0026rsquo;a pas été modifié depuis sa signature. Voici comment utiliser les signatures OpenPGP dans LibreOffice :\nSigner un document LibreOffice Accéder aux signatures numériques :\nAllez dans Fichier, puis cliquez sur Signatures numériques. Brancher votre clé de sécurité :\nConnectez votre YubiKey ou NitroKey à votre ordinateur, puis enregistrez vous. Vérification de la signature :\nUne bannière de confirmation devrait apparaître en haut de votre page pour indiquer que la signature a été ajoutée avec succès. Vérifier une signature Validation automatique :\nLors de l\u0026rsquo;ouverture d\u0026rsquo;un document signé, LibreOffice vérifiera automatiquement les signatures et vous informera de leur validité. Accéder aux détails des signatures :\nVous pouvez également aller dans Fichier \u0026gt; Signatures numériques pour voir les détails des signatures. Utiliser OpenPGP pour signer vos documents dans LibreOffice est une excellente manière d\u0026rsquo;ajouter une couche de sécurité et de confiance à vos communications numériques.\nSignature avec git Git est un logiciel de gestion de versions décentralisé. Depuis le début des années 2010, il s’agit du logiciel le plus populaire dans le développement logiciel et web. Il permet de travailler très efficacement à plusieurs sur du code ou autres textes communs. Il est utilisé par des dizaines de millions de personnes.\nGit utilise OpenPGP pour signer et vérifier qu\u0026rsquo;un changement provient d\u0026rsquo;une personne reconnue. Ce qui permet de s\u0026rsquo;assurer que le code n\u0026rsquo;a pas été modifié par des personnes tierces, potentiellement incompétentes ou malveillantes.\nAujourd\u0026rsquo;hui les signatures de code ne sont pas encore systématiques. Pourtant elles permettraient de lutter efficacement contre certaines cyberattaques, comme par exemple celle de SolarWinds en 2020 .\nAussi, tous les utilisateurs de git devraient adopter le processus recommandé par l\u0026rsquo;association :\nGénération de certificats publiques et clés privées avec pgpid-gen. Importation des clés privées dans des clés de sécurité (YubiKey, NitroKey, \u0026hellip;) avec pgpid-qrscan. Configuration de git pour signer tous les changements dans les dépôts communs : $ git config --global commit.gpgsign true Conclusion Les signatures OpenPGP sont une puissante solution pour garantir l\u0026rsquo;authenticité et l\u0026rsquo;intégrité des communications et autres données numériques. En utilisant des paires de certificats publiques et clés privées, les utilisateurs peuvent protéger leurs informations sensibles contre les interceptions non autorisées et s\u0026rsquo;assurer que les messages proviennent de sources fiables. La mise en œuvre de OpenPGP peut nécessiter une configuration initiale, mais elle offre une sécurité extrêmement robuste pour les communications numériques.\n","permalink":"/fr/solutions/signature/","tags":["Signature","pgpid"],"title":"Signature"},{"categories":null,"contents":"Matériel et logiciels Sun Valley Systems vous propose des ordinateurs portables de différentes marques, tailles et de différentes catégories de puissance pour correspondre au mieux à vos envies, vos besoins et votre budget. Nous assemblons directement par nos soins tous les ordinateurs de bureau de type « tour » . Ceci dans le but de vous garantir le choix des meilleurs composants des dernières générations.\nNous pouvons bien-sûr équiper ces ordinateurs de Windows et des logiciels Microsoft. Mais aussi de Linux Ubuntu et divers logiciels Libres, gratuits, sécurisés et légaux comme par exemple LibreOffice. Pour la gestion et la comptabilité, nous sommes distributeurs officiel EBP. Si vous êtes fans de la marque à la Pomme nous pouvons également vous proposer du matériel Apple. Et si vous débutez dans l’informatique ou les smartphones, nous sommes distributeurs officiels Ordissimo.\nNous pouvons vous proposer tous types de périphériques. Comme par exemple des écrans, claviers, souris, imprimantes (hors consommables). Ou encore des clés USB, disques dur externes, des NAS pour avoir votre « Cloud » personnel, des cordons ou des adaptateurs divers. Également du matériel réseau comme des switches, des cartes ou des répéteurs Wifi.\nDe plus, nous pouvons vous livrer votre matériel et vous aider à le maitriser grâce à des formations dans vos locaux ou à votre domicile.\nDépannage et maintenance Enfin si votre ordinateur présente des lenteurs, s’il a besoin de mises à jour, voire s’il a été contaminé par des virus nous mettrons tout en œuvre pour le nettoyer. Nous pourrons aussi le faire évoluer ou changer des pièces (comme par exemple l’écran, le disque dur ou la RAM) si besoin. Si vous n’avez pas de sauvegardes de vos précieux fichiers nous pourrons vous la mettre en place. Sans oublier que nous sommes également distributeur officiel de l’antivirus Eset, pour qu’il soit ensuite mieux protégés.\n","permalink":"/fr/partner/sun-valley-systems/","tags":null,"title":"Sun Valley Systems"},{"categories":null,"contents":"À propos de la formation Objectifs Comprendre l’intérêt d’une signature OpenPGP et du chiffrement d’un courriel ; Créer une paire de clés OpenPGP dans Mozilla Thunderbird ; Partager une clé publique sur un serveur ; Paramétrer la gestion par défaut de cette clé ; Rédiger un courriel et le chiffrer (ou pas) en fonction du destinataire. Prérequis Un ordinateur avec Mozilla Thunderbird déjà installé et au moins une adresse courriel configurée. Localisation Dans les locaux de l’association FoOPGP ; À domicile ; Dans les locaux de votre structure. Modalités Individuel ou groupe de 5 personnes maximum ; Pour voir les possibilités de prise en charge de la formation, merci de contacter notre partenaire . ","permalink":"/fr/course/atelier-thunderbird/","tags":null,"title":"Thunderbird"},{"categories":["solution"],"contents":"Gouvernance du projet Debian Le projet Debian est une initiative communautaire qui développe un système d\u0026rsquo;exploitation libre basé sur le noyau Linux.\nPour prendre des décisions importantes, telles que l\u0026rsquo;élection de leaders de projet ou l\u0026rsquo;approbation de nouvelles politiques, Debian utilise un système de vote démocratique. Ce processus de vote est structuré et formel pour garantir que toutes les opinions des membres de la communauté soient prises en compte de manière équitable.\nSeuls les membres du projet, appelés développeurs ou mainteneurs Debian, peuvent voter. Les votes sont conduits de manière électronique en utilisant OpenPGP pour assurer une participation large et efficace.\nLa méthode de vote Schulze La méthode de vote Schulze, aussi connue sous le nom de méthode de Condorcet-Schulze, est un algorithme utilisé pour déterminer le vainqueur d\u0026rsquo;une élection où il y a plus de deux options. Elle est particulièrement appréciée pour sa capacité à refléter fidèlement les préférences des électeurs dans des scénarios complexes.\nPrincipe de la méthode Schulze Préférences des Électeurs : Chaque électeur classe les propositions par ordre de préférence. Paires de Comparaison : Pour chaque paire de propositions, on compare combien d\u0026rsquo;électeurs préfèrent une proposition à chaque autre. Graphes de Chemins : Les préférences sont représentées sous forme de graphes où les nœuds sont les propositions et les arêtes représentent la force de préférence d\u0026rsquo;une proposition sur une autre. Chemins de Plus Fortes Préférences : Pour chaque paire de propositions, on détermine le chemin de préférences le plus fort. Comparaison de Chemins : Le vainqueur est la proposition pour laquelle le chemin de préférence le plus faible vers tout autre proposition est plus fort que le chemin de préférence le plus faible de tout autre proposition vers elle. La méthode de Schulze est largement utilisée dans les systèmes où il est important de minimiser les inégalités dans la représentation des préférences des électeurs. Elle permet d\u0026rsquo;éviter les paradoxes de Condorcet, où aucune proposition n\u0026rsquo;est préférée à toutes autres, en identifiant la proposition qui a la plus forte « résistance ».\nApplication dans Debian Debian utilise OpenPGP et la méthode de vote Schulze pour ses élections et résolutions générales afin de garantir que les décisions reflètent au mieux la volonté collective de la communauté. Ce système permet d\u0026rsquo;assurer une élection juste et démocratique, respectant les préférences de la majorité tout en étant robuste face aux éventuelles manipulations électorales.\nEn résumé, OpenPGP et la méthode Schulze sont des éléments clés pour le fonctionnement démocratique du projet Debian. Ils assurent, à l\u0026rsquo;échelle mondiale, des prises de décisions justes et équitables en se basant sur des préférences structurées et une analyse rigoureuse.\n","permalink":"/fr/solutions/theme-vote/","tags":["Vote"],"title":"Vote"}]