Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierinformatique général
  • ✇Korben
  • Claude casse un algo post-quantique en 60 heures
    Anthropic, le concurrent direct d'OpenAI sur les modèles d'IA, a publié hier un billet de recherche qui a fait pas mal de bruit : son modèle Claude Mythos Preview a trouvé en 60 heures une faiblesse dans HAWK, un schéma de signature post-quantique que deux ans de relecture humaine n'avaient pas repérée. La cryptographie post-quantique, ce sont ces nouveaux algorithmes conçus pour résister aux futurs ordinateurs quantiques, qui pourraient un jour casser une partie du chiffrement actuel. Le NIST,

Claude casse un algo post-quantique en 60 heures

29 juillet 2026 à 17:17

Anthropic, le concurrent direct d'OpenAI sur les modèles d'IA, a publié hier un billet de recherche qui a fait pas mal de bruit : son modèle Claude Mythos Preview a trouvé en 60 heures une faiblesse dans HAWK, un schéma de signature post-quantique que deux ans de relecture humaine n'avaient pas repérée.

La cryptographie post-quantique, ce sont ces nouveaux algorithmes conçus pour résister aux futurs ordinateurs quantiques, qui pourraient un jour casser une partie du chiffrement actuel. Le NIST, l'organisme américain qui normalise ces standards, organise depuis des années un concours public, et HAWK y concourt au troisième tour pour les signatures numériques, ce mécanisme qui prouve qu'un message vient bien de vous.

Sauf que voilà, ce que l'IA a réellement cassé, c'est HAWK-256, un paramètre de défi mis à disposition des chercheurs pour être attaqué, pas les versions HAWK-512 et HAWK-1024 pensées pour un usage réel. L'attaque fait passer le coût d'une récupération de clé de 2 puissance 64 à 2 puissance 38 opérations, de quoi diviser par deux la taille de clé effective sur un schéma qui n'est déployé nulle part.

Deuxième résultat mis en avant : une attaque 200 à 800 fois plus rapide que la meilleure méthode connue contre AES-128 réduit à 7 tours. AES, c'est le chiffrement le plus utilisé au monde, celui qui protège votre navigateur, vos sauvegardes ou votre disque dur.

Un tour, c'est une passe de brouillage des données, et AES-128 en enchaîne dix. Les cryptographes attaquent depuis toujours des versions volontairement raccourcies pour jauger la marge de sécurité du vrai chiffre, du coup 7 tours, c'est un exercice académique, rien de plus.

Même sur cette version affaiblie, l'attaque suppose de faire chiffrer environ 2 puissance 105 messages choisis par l'attaquant, une quantité de données que personne ne réunira jamais. Anthropic l'écrit noir sur blanc : aucun système en production n'est touché.

Le sujet est ailleurs. La technique contre AES, que le modèle a baptisée le pont de Möbius, est sortie de trois jours de travail quasi autonome pour environ 100 000 dollars de calcul, avant plusieurs centaines d'heures de vérification par des chercheurs humains, seuls capables de confirmer que l'attaque tient debout.

Anthropic a d'ailleurs prévenu les auteurs de HAWK dès juin et coordonné sa publication avec le NIST. Chez Keyfactor, une société spécialisée dans la gestion du chiffrement, on y voit la preuve que le processus d'évaluation fait son travail : mieux vaut découvrir ces faiblesses maintenant qu'une fois le standard déployé partout.

Une IA qui trouve toute seule des failles dans du chiffrement, c'est franchement impressionnant. Les titres qui enterrent déjà le chiffrement mondial, beaucoup moins.

Source : Anthropic

  • ✇Korben
  • Cold boot attack - Dumper la RAM d'un PC avec 5 Ko d'assembleur
    Vous branchez une clé USB sur un PC, vous démarrez dessus, et le temps de vous servir un petit café, hop, tout le contenu de la mémoire vive est recopié sur la clé. Le rêve pour les gens qui font du forensic, car dans la RAM on trouve des mots de passe, des clés de chiffrement et tout ce qui traîne. De quoi choper de sérieux indices ! Parce que oui, si vous pensiez être bien tranquille avec votre disque chiffré grâce à BitLocker, FileVault ou LUKS, sachez que la clé de déchiffrement se balade en

Cold boot attack - Dumper la RAM d'un PC avec 5 Ko d'assembleur

Par : Korben ✨
6 juillet 2026 à 09:00

Vous branchez une clé USB sur un PC, vous démarrez dessus, et le temps de vous servir un petit café, hop, tout le contenu de la mémoire vive est recopié sur la clé. Le rêve pour les gens qui font du forensic, car dans la RAM on trouve des mots de passe, des clés de chiffrement et tout ce qui traîne. De quoi choper de sérieux indices !

Parce que oui, si vous pensiez être bien tranquille avec votre disque chiffré grâce à BitLocker, FileVault ou LUKS, sachez que la clé de déchiffrement se balade en clair dans la RAM. Pas la peine de casser de la crypto quand il suffit d'aller cueillir la clé là où elle traîne. C'est cet angle mort qu' ElcomSoft exploitait déjà en 2012 pour cracker TrueCrypt et BitLocker .

Sauf que pour aller cueillir cette clé, encore faut-il que la machine soit allumée, non ?

Eh bien pas forcément car contrairement à ce qu'on croit, la RAM ne s'efface pas d'un coup quand on coupe le courant.

Hé oui, les données restent lisibles plusieurs secondes, voire une minute, ce qui est largement suffisant pour récupérer des infos importantes. Et si vous refroidissez les barrettes (par exemple jusqu'à -60°C avec de l'azote liquide), le contenu peut tenir plusieurs heures !!

Ce phénomène n'a rien de neuf. On appelle ça une cold boot attack, et ce sont des chercheurs de Princeton qui l'ont mise en lumière dès 2008, en révélant un truc totalement contre-intuitif : une mémoire vive censée se vider dès qu'on l'éteint, garde en réalité ses secrets bien après.

Alors on va me dire que tout ça, c'est mitigé depuis des lustres : Le scrubbing mémoire au boot, où le firmware écrase la RAM au démarrage, les clés planquées dans les registres du CPU façon TRESOR, le chiffrement mémoire chez Intel et AMD, les barrettes carrément soudées à la carte mère... les parades existent, c'est vrai. Sauf qu'en 2018, deux chercheurs de F-Secure ont remis une pièce dans la machine en montrant comment désactiver ce fameux scrubbing sur quasiment tous les ordi portables modernes, Dell, Lenovo et même les Mac.

Et c'est là qu'arrive BareMetal RAM Dumper, un outil signé pIat0n qui rejoue justement cette vieille attaque de 2008. Le truc tient dans 5 Ko d'assembleur x86 et démarre directement sur le BIOS en mode legacy, avant de basculer en unreal mode pour aller taper dans toute la mémoire au-dessus de 1 Mo.

La récupération totale ne dépassera pas 4 Go par contre, car l'unreal mode ne grimpe pas plus haut, mais en général c'est bien suffisant pour repêcher quelques clés d'accès. Et surtout, ça fait gagner un temps fou aux gens qui font du forensic : plus besoin d'un labo dédié, une clé USB et le tour est joué. Ça rejoint donc la longue liste des façons d'ouvrir un disque soi-disant blindé, comme BitPixie qui déverrouille BitLocker en cinq minutes .

Bref, c'est aussi une bonne piqûre de rappel qu'un chiffrement ne protège vraiment vos données que quand la machine est éteinte pour de bon. Le code est sur GitHub sous licence AGPL !

  • ✇Korben
  • Let's Encrypt - Les sanctions US s'invitent dans le contrat
    Si vous êtes développeur en Iran, à Cuba ou en Corée du Nord, vous venez officiellement de perdre l'accès à Let's Encrypt ! En effet, la version 1.7 du Subscriber Agreement publiée par l'ISRG (Internet Security Research Group), l'organisation derrière le service, est malheureusement entrée en vigueur le 4 juin dernier. Et sur les 8 pages du document, il n'y a qu'un seul ajout, mais il pèse trèèès lourd : section 3.1, un nouveau bullet point oblige maintenant chaque utilisateur à garantir qu'il

Let's Encrypt - Les sanctions US s'invitent dans le contrat

Par : Korben ✨
9 juin 2026 à 16:32

Si vous êtes développeur en Iran, à Cuba ou en Corée du Nord, vous venez officiellement de perdre l'accès à Let's Encrypt !

En effet, la version 1.7 du Subscriber Agreement publiée par l'ISRG (Internet Security Research Group), l'organisation derrière le service, est malheureusement entrée en vigueur le 4 juin dernier. Et sur les 8 pages du document, il n'y a qu'un seul ajout, mais il pèse trèèès lourd : section 3.1, un nouveau bullet point oblige maintenant chaque utilisateur à garantir qu'il "n'est pas localisé, organisé sous les lois de, ou résident dans un pays cible de sanctions américaines complètes".

En pratique, la liste OFAC des juridictions sous sanctions globales actuelles couvre Cuba, l'Iran, la Corée du Nord, et les zones occupées de Crimée, Donetsk et Lougansk (la Syrie en a été retirée fin 2025 ce qui montre bien à quel point ce périmètre peut évoluer rapidement).

Et le couperet ne tombe pas que sur des États-paria abstraits puisque ONG d'aide humanitaire, journalistes, universités, et tout le monde qui travaille ou vit dans ces zones perd le service. Du coup, pour récupérer un certificat HTTPS gratuit, vous devez maintenant signer une clause d'embargo. Plusieurs utilisateurs rapportent également que des certificats de sites russes auraient déjà été révoqués au cours des derniers mois, sans préavis officiel de l'ISRG...

Le piège, c'est la section 2.2 du contrat, intacte depuis longtemps mais qui prend un sens tout neuf : l'agrément reste en vigueur tant que vous possédez un seul certificat valide. Cela veut dire qu'une violation potentielle sur UN certificat peut donc, en théorie, déclencher une révocation en cascade de TOUS les autres, un peu comme un crédit immobilier où une mensualité ratée rendrait tout le contrat caduque...

Je vous laisse imaginer la tronche d'un hébergeur qui gère mille sites le jour où ça tombe et qui crée des certificats Let's Encrypt pour ses clients... La section 4.2 énumère onze motifs de révocation activables "à la seule discrétion" de l'ISRG, dont la violation de l'agrément et un joli fourre-tout "d'autres motifs raisonnables et légaux".

Notez que l'ISRG est domiciliée à San Jose, en Californie et que tous les CA américains (DigiCert, Sectigo, GlobalSign US) sont déjà soumis aux mêmes obligations OFAC depuis toujours, donc c'est pas vraiment non plus une surprise... Mais ça tombe toujours mal ce genre de conneries.

Maintenant, côté alternatives, si vous voulez sortir de la juridiction US, y'a pas grand chose... Je me souviens de ZeroSSL qui ressemblait à une option européenne mais qui a été racheté début 2024 par HID Global (filiale du suédois Assa Abloy, basée au Texas... donc aux Etats-Unis), donc soumis aux mêmes obligations OFAC à terme. Après vous avez peut-être des services à me recommander ? Sinon il faudra passer par des certificats payants.

Bref, le HTTPS gratuit a toujours eu un drapeau, mais on faisait juste semblant de l'oublier...

  • ✇LinuxFr.org : les dépêches
  • SelfRecover — protocole AGPL de récupération de compte sans email
    Je suis agriculteur en Creuse et je code sur mon temps libre. J'ai commencé à m'intéresser à la question de la récupération de compte en développant ARC PVE Hub, un site destiné à fédérer une communauté de joueurs. Je n'ai jamais compris pourquoi il fallait transmettre son email pour régénérer un mot de passe — ça déplace la sécurité du compte vers un fournisseur SMTP tiers, qui n'est pas contrôlé par l'utilisateur. J'ai donc imaginé un protocole de récupération sans email, sans SMS et sans tie

SelfRecover — protocole AGPL de récupération de compte sans email

Je suis agriculteur en Creuse et je code sur mon temps libre. J'ai commencé à m'intéresser à la question de la récupération de compte en développant ARC PVE Hub, un site destiné à fédérer une communauté de joueurs. Je n'ai jamais compris pourquoi il fallait transmettre son email pour régénérer un mot de passe — ça déplace la sécurité du compte vers un fournisseur SMTP tiers, qui n'est pas contrôlé par l'utilisateur.

J'ai donc imaginé un protocole de récupération sans email, sans SMS et sans tiers. Le travail s'est étoffé en partenariat avec un assistant IA (Claude), comme outil de réflexion et de mise en forme — j'y reviens en fin de dépêche dans une note de transparence.

L'incident de sécurité ANTS du 15 avril 2026 a publiquement illustré le problème. J'en ai eu connaissance après avoir développé SelfRecover, ce qui m'a confirmé la pertinence d'un protocole sans dépendance à l'email. SelfRecover est publié sous AGPL-3.0-or-later sur GitHub.

Cette dépêche présente le protocole, ses choix de conception, ses limites assumées, et la comparaison avec les approches existantes (Keycloak Recovery Codes en particulier, qui m'a été suggéré en relecture). Audit communautaire bienvenu.

Sommaire

Le contexte

Depuis l'essor du web, la réponse standard à « l'utilisateur a oublié son mot de passe » est « on lui envoie un lien de réinitialisation par email ». C'est devenu si universel qu'on oublie ce que ça implique :

  • La sécurité du compte est déléguée au fournisseur de la boîte mail (Gmail, Outlook, ProtonMail). Si la boîte mail tombe, le compte aussi.
  • Le canal email est régulièrement exploité par phishing : campagnes imitant des mails de réinitialisation légitimes pour capturer les mots de passe.
  • Les bases de données qui stockent les emails des utilisateurs deviennent une cible massive : leur fuite expose à la fois l'identité et les vecteurs de récupération.

L'incident de sécurité ANTS illustre une autre facette du problème de gestion des données d'authentification dans les services en ligne. Détecté le 15 avril 2026 et rendu public le 20 avril, il a touché 11,7 millions de comptes selon les communiqués officiels. La cause technique identifiée est une faille d'énumération de type IDOR (Insecure Direct Object Reference) : il était possible d'accéder aux données d'un autre compte en modifiant un identifiant dans une URL. La fuite ne concerne ni les mots de passe, ni les pièces justificatives, mais les données personnelles associées aux demandes de titres.

Devant ces limites structurelles autour de l'authentification web, SelfRecover propose une inversion : conserver le secret de récupération chez l'utilisateur, et utiliser le navigateur pour faire les calculs cryptographiques nécessaires à la vérification. Le serveur ne détient plus que des dérivés, jamais les secrets bruts.

Le protocole en deux phrases

Côté navigateur, on calcule HMAC-SHA256(secret, domaine) : une fonction cryptographique standard qui combine le secret de l'utilisateur avec le nom de domaine du site, et produit une empreinte impossible à inverser. Côté serveur, on ne stocke que cette empreinte, en plus protégée par un hash adaptatif et memory-hard : Argon2id, qui est le standard moderne recommandé contre les attaques par brute force.

Deux propriétés découlent de cette construction :

  • Le secret brut ne quitte jamais le poste de l'utilisateur.
  • Un secret capturé sur un site A (par exemple via phishing) est mathématiquement inutilisable sur un site B : la dérivation HMAC produit des empreintes différentes pour des domaines différents. C'est de l'anti-phishing par construction, pas par convention.

Note conceptuelle : l'inspiration vient des machines à rotors historiques type Enigma. Le principe partagé est qu'une même configuration secrète, présente des deux côtés (émetteur et récepteur), permet de produire et vérifier un message dérivé. La cryptographie moderne (HMAC-SHA256 ici) repose sur des fondations mathématiques différentes, mais ce principe de dérivation contrôlée par un secret commun est resté.

Deux modes d'adoption

SelfRecover propose deux modes selon le contexte de déploiement.

Mode Full — Sans email

L'application abandonne entièrement le flow de réinitialisation par email. L'utilisateur génère une passphrase diceware à l'inscription (liste EFF de 7 776 mots, 4 à 7 mots par défaut), qu'il mémorise ou stocke dans son gestionnaire de mots de passe. Cette passphrase, combinée au nom de domaine du site via HMAC-SHA256, permet de réinitialiser le mot de passe sans aucune dépendance externe.

Pour qui : nouveaux projets qui veulent s'affranchir de SMTP dès la conception, ou services qui adoptent un modèle de menace post-fuite (l'email n'est plus considéré comme un canal de confiance).

Mode Lite — Avec email + mot mémorisé

L'application conserve le flow de réinitialisation par email habituel, mais y ajoute une étape supplémentaire : l'utilisateur saisit un mot mémorisé (choisi à l'inscription) qui est dérivé HMAC-SHA256 côté navigateur. Le mot brut n'est jamais transmis au serveur. La validation combine donc deux facteurs :

  1. La possession de la boîte mail (lien reset reçu)
  2. La connaissance du mot mémorisé (dérivé HMAC côté client)

Pour qui : applications existantes qui ne peuvent abandonner SMTP du jour au lendemain, mais veulent durcir progressivement leur flow de récupération. Conséquence : un email intercepté seul ne suffit plus à compromettre un compte — il faut aussi connaître le mot mémorisé.

Synthèse

Mode Canal email Crypto utilisateur Cible
Full Aucun Passphrase diceware EFF + HMAC Nouveaux projets
Lite Conservé Mot mémorisé + HMAC Applications existantes

SelfRecover vs Keycloak Recovery Codes

Lors de la relecture de cette dépêche, devnewton a soulevé une question importante : quelle est la différence avec les Recovery Codes de Keycloak ?

Keycloak est l'IAM (Identity and Access Management) open-source de référence, maintenu par Red Hat sous licence Apache 2.0, déployé dans de nombreuses organisations depuis plus d'une décennie. Son mécanisme de Recovery Codes est un fallback d'authentification à deux facteurs : si l'utilisateur perd son téléphone TOTP, il peut saisir un code de secours préalablement généré côté serveur.

Note importante de positionnement : les Recovery Codes Keycloak adressent le cas « j'ai perdu mon 2FA mais je connais toujours mon mot de passe principal ». Le password reset principal de Keycloak utilise, lui, le canal email standard (configuration SMTP dans l'onglet Email de l'admin console).

SelfRecover s'attaque à un cas différent : « j'ai oublié mon mot de passe principal et je ne veux pas dépendre de l'email pour le récupérer ». Concrètement :

Aspect Keycloak Recovery Codes SelfRecover
Cible Fallback 2FA Password recovery sans email
Architecture Serveur IAM standalone (Java + BDD + admin) Bibliothèque à intégrer dans le code de l'application
Source du secret Serveur génère, utilisateur sauvegarde Utilisateur génère/mémorise (diceware ou mot mémorisé)
Stockage utilisateur Codes à sauvegarder physiquement Passphrase mémorisable (mode Full) ou mot mémorisé (mode Lite)
Email reset principal Reste nécessaire (SMTP configuré dans l'admin) Aucun (mode Full) ou en complément (mode Lite)
Anti-phishing crypto Pas spécifique au mécanisme Dérivation HMAC par domaine : un secret capturé sur un site est mathématiquement inutilisable ailleurs
Licence Apache 2.0 AGPL-3.0-or-later
Maturité 10+ ans, audité, déployé largement Récent, audit communautaire bienvenu

Pour la majorité des projets qui acceptent l'email comme canal de récupération, Keycloak (et son écosystème) reste le bon choix. SelfRecover s'adresse aux applications qui veulent réduire ou supprimer leur dépendance à SMTP, et qui n'ont pas besoin de la richesse d'un IAM complet (multi-realm, OIDC/SAML, fédération d'identité, etc.).

Que se passe-t-il si l'utilisateur perd son secret ?

C'est la question critique d'un protocole de récupération. SelfRecover y répond par escalade progressive sur trois niveaux, complétée par un système de litiges et un chat administrateur pour les cas extrêmes.

Niveau 1 — Passphrase oubliée

L'utilisateur saisit son username + sa passphrase diceware (match exact). Sur succès, un nouveau mot de passe est généré et affiché une seule fois. Anti-brute force : 3 tentatives par 15 minutes, 3 blocages successifs → éjection vers L2.

Niveau 2 — Passphrase perdue, mais identifiant + mot de récupération retenus

L'utilisateur saisit son identifiant public (numéro client, identifiant métier — fourni par le site) et son mot de récupération dérivé HMAC-SHA256 côté navigateur. 3 tentatives maximum avec compteur visible. Sur 3 échecs → redirection vers L3. Un litige est automatiquement créé (LIT-XXXX), tracé en base, admin notifié. Les litiges auto-résolus sont purgés après 24 heures.

Niveau 3 — Accès complètement perdu

Entrée par un lien discret « accès perdu » sur la page de connexion. L'utilisateur saisit son identifiant public en premier (anti-timing : délai forcé de 2 à 3 secondes), puis remplit un formulaire de scoring multi-facteur :

Catégorie Champs Points
Identifiant public 4 20
Mot de récupération (dérivé HMAC) 5 25
Username 3 30
Passphrase (fragments) 3 25

Bonus passifs : IP connue (+5), fingerprint connu (+5).

  • Score ≥ 60/100 → compte récupéré, nouveau mot de passe généré
  • Score < 60/100 après 3 tentatives → le compte passe en mode restreint : l'utilisateur n'a plus accès qu'au chat administrateur, le compte n'est ni utilisable ni écrasable tant que l'admin n'a pas validé
  • Cooldown : 1 heure entre tentatives

Chat administrateur humain en mode restreint — état actuel

Dans l'implémentation actuelle (déployée en production sur ARC PVE Hub), le chat L3 est un canal direct entre l'utilisateur en mode restreint et un administrateur humain du site. Pas d'intermédiaire automatisé, pas de bot.

Le canal de chat est bidirectionnel et fonctionne en polling (pas WebSocket temps réel, pour rester simple). L'admin vérifie l'identité par l'échange et décide manuellement :

Accorder la récupération : mot de passe régénéré, compteurs réinitialisés, litige clôturé, mode restreint levé.

Refuser la récupération : ban temporaire de 24 heures, pas de nouveau litige possible pendant cette fenêtre, compteur de refus incrémenté (1/3, 2/3, 3/3). À chaque clic, l'interface admin rappelle explicitement les conséquences via une modale de confirmation (ban 24h aux refus 1 et 2, suppression définitive au 3e refus).

Au 3e refus, le compte est définitivement supprimé : décision exclusivement humaine, prise en pleine connaissance de cause par l'admin via la modale d'avertissement explicite. La suppression libère l'identifiant public pour une nouvelle inscription.

Principe de design MySelf : aucune destruction de données utilisateur n'est déclenchée sans validation humaine consciente. L'interface admin explicite systématiquement les conséquences avant chaque action irréversible. Une IA peut se tromper ou être manipulée ; lui déléguer la décision de supprimer un compte créerait une surface d'attaque.

Ce mécanisme empêche un attaquant de spammer les litiges indéfiniment : chaque refus lui coûte 24 h, et trois échecs effacent toute trace. Un propriétaire légitime bloqué par erreur peut retenter après chaque fenêtre de ban, ou se réinscrire depuis zéro si totalement verrouillé.

Évolution prévue (en réflexion) : pré-traitement optionnel par chatbot LLM local

En complément du chat admin humain (qui resterait toujours disponible), une couche de pré-traitement par un agent conversationnel local (Ollama auto-hébergé) est en cours de design. Le chatbot poserait les questions initiales de vérification d'identité et estimerait si la demande est légitime. Sur estimation positive, le mot de passe serait régénéré directement ; sur doute, l'admin humain reprendrait la main.

Cette option serait configurable par site qui déploie (activable ou non), et le chatbot ne se substituerait jamais à l'admin pour les décisions destructives (suppression de compte) — ces décisions resteraient exclusivement humaines, conformément au principe MySelf énoncé plus haut.

L'enjeu principal en cours de réflexion : calibrer le seuil de confiance du chatbot pour ne pas créer un nouveau vecteur d'attaque par social engineering (un attaquant pourrait essayer de manipuler le LLM par prompts).

Démo standalone vs implémentation de référence

La démo publique (bi-self.my-self.fr/selfrecover/) ne couvre que les niveaux L1 et L2, car L3 nécessite une interface admin, un système de disputes et un dashboard — trop pour une démo à page unique.

L'implémentation de référence en production se trouve sur ARC PVE Hub, un site communautaire de joueurs ARC RAIDERS qui sert de terrain de test à l'écosystème MySelf. L1 + L2 + L3 + mode restreint + chat admin + dispute system y sont fonctionnels.

Pourquoi assumer cette friction

Dans la vie réelle, si l'on perd sa carte bancaire, son code, sa pièce d'identité, son adresse et sa date de naissance, on ne récupère pas son compte bancaire par email. On passe en agence avec preuve d'identité.

SelfRecover applique la même logique en ligne : la sécurité réelle nécessite parfois un passage par l'humain ou un processus d'identification rigoureux. Cette friction est assumée comme un trade-off conscient, pas comme une limitation à compenser.

Pour quel public

Adapté :
- Applications avec un administrateur actif et disponible pour traiter les litiges (forum communautaire, association, e-commerce indépendant, boutique en ligne militante)
- Sites où la sécurité prime sur la fluidité de récupération (services manipulant des données sensibles)
- Communautés à taille humaine (du forum de 50 membres au service de quelques milliers d'utilisateurs)

Non adapté :
- Plateformes à très grande échelle sans admin individuel (réseaux sociaux massifs, services publics avec millions d'utilisateurs) — le volume de litiges dépasse les capacités d'un humain réactif
- Services où une friction de récupération est inacceptable (gaming compétitif, services temps-réel)
- Projets sans maintenance active (l'admin doit pouvoir répondre aux litiges dans des délais raisonnables)

Pour ces cas, un IAM mature comme Keycloak avec ses mécanismes éprouvés reste plus adapté.

Modèle de menace assumé

Pour la transparence, voici les classes d'adversaires explicitement hors périmètre du protocole :

  • Compromission du poste utilisateur (logiciels malveillants, RAT, keyloggers) — un attaquant qui contrôle le poste peut capturer la passphrase à la saisie, indépendamment du protocole.
  • Compromission du navigateur (extensions malveillantes, exploits 0-day) — même cause, même effet : si le moteur JS qui calcule HMAC est compromis, la sortie l'est aussi.
  • Coercition physique — SelfRecover n'offre pas de plausible deniability (pas de second compte caché ou décoy).
  • Cryptanalyse théorique de SHA-256 / HMAC / Argon2id — un cassage mathématique de ces primitives mettrait à mal la quasi-totalité des systèmes cryptographiques modernes, pas seulement SelfRecover.

Ces limitations sont le périmètre normal d'un protocole côté navigateur. Pour les usages à plus haute exigence (cérémonies cryptographiques sensibles, génération initiale de clé maître), MySelf-Live est annoncé dans la roadmap V0.2 : une distribution Linux Live USB minimale, RAM-only, signée GPG, qui isolerait les opérations sensibles du système hôte. Pour les usages courants à fort enjeu, Tails ou Qubes OS offrent déjà ce niveau d'isolation et sont recommandés.

Démos en ligne

Aucune inscription préalable n'est requise. Les données sont éphémères côté serveur.

Code et image Docker

docker run -p 8080:8080 ghcr.io/pierroons/selfrecover:v0.1.1

La démo de référence tourne sur PHP 8.0+ et SQLite (~600 lignes auditables, zéro dépendance externe). Tag GPG-signé v0.1.1, release datée du 5 mai 2026.

Licence et philosophie

AGPL-3.0-or-later. Toute version déployée publiquement doit publier ses modifications sous la même licence. Pas de capture SaaS possible.

SelfRecover est une brique du méta-projet MySelf, un écosystème de modules auto-hébergés qui couvre l'identité, la modération communautaire, le droit, et l'agriculture.

Un module complémentaire répond de manière directe à la problématique illustrée par l'incident ANTS : SelfDataGuard chiffre les données utilisateur côté client de telle sorte qu'une fuite de base de données ne livre que des blobs inexploitables. Le code est public, AGPL, en v0.1.0-beta — une dépêche dédiée pourra suivre quand le module aura plus de maturité (audit communautaire, retours d'intégration).

Note de transparence

Conception en partenariat avec un assistant IA

Ce protocole a été conçu et codé en partenariat avec un assistant IA (Claude), comme outil de réflexion, de revue critique, et d'écriture de code.

Pour être totalement transparent : je ne suis pas développeur de formation. Mon expérience technique vient du dev web amateur (ARC PVE Hub, un site destiné à fédérer une communauté de joueurs ; un outil de gestion de stock pour mon entreprise ; quelques sites perso). Pour SelfRecover, l'écriture des primitives cryptographiques et la mise en œuvre du protocole ont été largement assistées par l'IA, sur la base de mes choix architecturaux et de ma vision.

Ce qui vient de moi (humain) :
- La vision (souveraineté numérique, refus du SMTP comme canal de récupération)
- Les choix philosophiques (AGPL-3.0-or-later, fallback humain assumé, aucune destruction de données sans validation humaine consciente)
- Le contexte initial (besoin né en développant ARC PVE Hub)
- Chaque décision de trade-off d'architecture
- La responsabilité juridique et morale du code publié sous mon nom et signé GPG

Ce qui vient de l'IA :
- L'écriture des primitives cryptographiques (HMAC, dérivations, vérifications)
- L'agencement du code, la structure des fichiers
- La formalisation des paragraphes du whitepaper et de cette dépêche
- La génération de tests unitaires
- La vérification de cohérence interne

Plan d'audit

  • Auto-audit interne : en cours et continu (chaque modification est relue critiquement)
  • Audit communautaire : ouvert dès maintenant, je réponds aux remarques techniques avec sérieux (cette dépêche en est l'illustration directe)
  • Audit tiers certifié : envisagé à moyen terme via un cabinet agréé CESTI ANSSI (Synacktiv, Quarkslab, Wavestone, ou équivalent), sous réserve de financement

Statut du projet

SelfRecover en est à la version 0.1.1, taguée GPG et signée. C'est un état PoC fonctionnel + déployé en production sur un site réel (ARC PVE Hub), mais pas encore mature pour une adoption massive dans des contextes à fort enjeu. La roadmap V0.2 (MySelf-Live, finalisation du chatbot L3, audit tiers) précisera ce périmètre.

Engagement communauté LinuxFr et culture du libre

Mon compte LinuxFr est récent, mais mon ancrage dans la culture du libre ne l'est pas : utilisateur exclusif de distributions Linux depuis quinze ans (principalement Debian), j'ai aidé plusieurs proches à migrer des PC anciens vers Debian pour leur donner une seconde vie au lieu de la déchèterie. J'arrive sur LinuxFr depuis le monde agricole/permaculture et le jeu vidéo (ARC PVE Hub), pas du milieu dev historique.

Je suis salarié couvreur dans une PME et installé en agriculture à temps partiel — mon temps libre pour le développement et la participation communautaire est compté. Je m'engage à répondre aux retours techniques sur cette dépêche et à suivre les disputes sur l'état du projet. Pour le reste (commentaires réguliers, dépêches futures sur d'autres modules MySelf — en particulier SelfDataGuard quand il sera plus mature), ce sera au gré du temps disponible, sans promesse.

Toute critique technique constructive est bienvenue. Pour les critiques sur la légitimité du projet ou la nature humain/IA de la collaboration, j'invite à juger sur les choix concrets, le code public, et la qualité des réponses à vos questions.

Pour aller plus loin

SelfRecover est un module de l'écosystème MySelf, expérimentation citoyenne sur la souveraineté numérique sous licence AGPL-3.0-or-later.

Les retours techniques, audits communautaires, propositions d'intégration et questions de fond sont les bienvenus — en commentaire de cette dépêche ou en issue sur le repo GitHub.

Si une administration ou une organisation souhaite tester le protocole en environnement isolé, l'image Docker et le Dockerfile sont à disposition. Aucune démarche commerciale n'est associée à cette publication.

Merci aux modérateurs et contributeurs de LinuxFr — Pierre Jarillon, devnewton, Florent Zara, bobble bubble — dont les retours pendant la phase de rédaction ont substantiellement amélioré cette dépêche.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇LinuxFr.org : les dépêches
  • Ackify CE : preuve de lecture cryptographique en Go + Vue3
    Ackify CE est une plateforme open-source (AGPL v3) permettant de générer des preuves de lecture cryptographiquement vérifiables pour des documents internes. Le problème Les organisations doivent souvent prouver qu'un collaborateur a lu un document (politique RGPD, charte de sécurité, formation obligatoire). Les solutions existantes sont soit trop lourdes (signature électronique qualifiée comme DocuSign à 10-30€/utilisateur/mois), soit non sécurisées (simple email). La solution Ackify génère de

Ackify CE : preuve de lecture cryptographique en Go + Vue3

Ackify CE est une plateforme open-source (AGPL v3) permettant de générer des preuves de lecture cryptographiquement vérifiables pour des documents internes.

Le problème

Les organisations doivent souvent prouver qu'un collaborateur a lu un document (politique RGPD, charte de sécurité, formation obligatoire). Les solutions existantes sont soit trop lourdes (signature électronique qualifiée comme DocuSign à 10-30€/utilisateur/mois), soit non sécurisées (simple email).

La solution

Ackify génère des preuves de lecture cryptographiques avec :

  • Signatures Ed25519 (même algo que SSH)
  • Horodatage immutable (PostgreSQL triggers)
  • Hash chain blockchain-like
  • Vérification offline possible

Cas d'usage

  • Validation de politiques internes (sécurité, RGPD)
  • Attestations de formation obligatoire
  • Prise de connaissance de procédures
  • Accusés de réception contractuels

Différence avec DocuSign

Ackify n'est pas une alternative à DocuSign pour des contrats juridiques. C'est une solution simple pour des besoins internes où la signature qualifiée est overkill.

N'hésitez pas si vous avez des questions techniques !

Installation

curl -fsSL https://raw.githubusercontent.com/btouchard/ackify-ce/main/install/install.sh | bash
cd ackify-ce
nano .env  # Configurer OAuth2
docker compose up -d

Installation complète en ~5 minutes.

Stack technique

Backend

  • Go 1.24 (Clean Architecture / DDD)
  • PostgreSQL 16
  • Chi Router
  • OAuth2 (Google, GitHub, GitLab, custom) ou Magic Link (passwordless)

Frontend

  • Vue 3 + TypeScript
  • Tailwind CSS
  • i18n (FR, EN, ES, DE, IT)

DevOps

  • Docker distroless < 30 MB
  • CI/CD GitHub Actions
  • Tests : 72,6% couverture (180 tests unitaires + 33 intégration)

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇Korben
  • Tor CGO - Quand chaque attaque se transforme en auto-sabotage
    Bonne nouvelle, les amis, Tor vient d’implémenter CGO (Counter Galois Onion) ! Si ça ne vous dit rien, c’est normal, moi non plus je ne connaissais pas, mais je vais tout vous expliquer ! Jusqu’à maintenant, le réseau Tor protégeait votre anonymat avec du chiffrement en oignon. Plusieurs couches de crypto, une par relais et ça marche bien… sauf qu’il existe une technique vicieuse qu’on appelle les attaques par tagging. Le tagging c’est quand un attaquant modifie votre trafic chiffré à différents

Tor CGO - Quand chaque attaque se transforme en auto-sabotage

Par : Korben
25 novembre 2025 à 12:03

Bonne nouvelle, les amis, Tor vient d’implémenter CGO (Counter Galois Onion) !

Si ça ne vous dit rien, c’est normal, moi non plus je ne connaissais pas, mais je vais tout vous expliquer !

Jusqu’à maintenant, le réseau Tor protégeait votre anonymat avec du chiffrement en oignon. Plusieurs couches de crypto, une par relais et ça marche bien… sauf qu’il existe une technique vicieuse qu’on appelle les attaques par tagging.

Le tagging c’est quand un attaquant modifie votre trafic chiffré à différents endroits du réseau (genre en ajoutant un marqueur invisible dans certains noeuds), puis il observe ce qui sort de l’autre côté pour vous tracer. C’est comme quand vous collez un traceur GPS dans votre voiture, sauf que là c’est des bits dans du trafic chiffré.

Et de son côté, CGO fait encore mieux que de bloquer cette attaque. En effet, il transforme chaque attaque en auto-sabotage ! Si quelqu’un modifie ne serait-ce qu’un seul bit de votre trafic chiffré, tout le message devient illisible. Et pas seulement ce message… tous les messages futurs de la session deviennent du bruit blanc irrécupérable.

Avec ça en place, l’attaquant se tire une balle dans le pied à chaque tentative.

Derrière ce système, il y a 4 cryptographes qui ont bossé très dur : Jean Paul Degabriele, Alessandro Melloni, Jean-Pierre Münch et Martijn Stam. Ils ont publié leur recherche cette année et ça a été implémenté dans Arti, la version Rust de Tor et l’implémentation C arrive bientôt.

Ce qui change tout, c’est le calcul risque/bénéfice pour les attaquants car avant, tenter de tracer quelqu’un avait peu de conséquences si ça échouait. Mais maintenant, tenter de tracer quelqu’un détruit définitivement votre capacité à surveiller cette personne. Et vous vous en doutez, les agences de surveillance détestent perdre leur accès… Elles préfèrent observer en silence plutôt que de tout casser dans une tentative maladroite. Du coup CGO les force à choisir. Soit rester invisibles, soit tout perdre.

Et puis il y a un autre aspect génial à cette techno, c’est le forward secrecy renforcé que ça engendre car à chaque message, CGO transforme les clés de chiffrement de façon irréversible. Même si un attaquant récupère vos clés actuelles, il ne peut pas déchiffrer les messages précédents car les clés précédentes ont été broyées et remplacées à chaque étape.

CGO remplace aussi l’ancien système d’authentification qui utilisait un digest de 4 bytes par un authenticateur de 16 bytes. C’est donc bien plus costaud et plus difficile à falsifier ainsi qu’à contourner.

Comme d’hab, Tor publie l’algorithme en open source donc vous pouvez vous plonger dans le code si ça vous amuse.

Cette implémentation de CGO est encore expérimentale pour le moment, mais une fois que cela aura été éprouvé par la communauté et testé pendant plusieurs mois, voire des années, ce sera déployé officiellement dans les futurs relais, puis dans les services onion de Tor.

Voilà donc comment Tor fait de chaque tentative de surveillance un auto-sabotage irréversible, et ça les amis, c’est un message qui devrait faire réfléchir pas mal de gens dans des bureaux sans fenêtres.

Source

  • ✇LinuxFr.org : les dépêches
  • Cryptographie embarquée : briques de base et communication avec serialguard
    Il était une fois un petit ESP32, installé dans une cave, qui voulait communiquer avec son copain sur le toit pour envoyer des données par 4G. Il parlait peu, donc il pouvait utiliser la norme radio LoRa. Elle est à bas débit, mais permet une portée bien plus grande qu’une modulation classique. Le problème, c’est qu’il parlait en clair, et que n’importe qui pouvait écouter ou pire : injecter de fausses données, voire corrompre le serveur distant. Le protocole de communication à la mode est celu

Cryptographie embarquée : briques de base et communication avec serialguard

Il était une fois un petit ESP32, installé dans une cave, qui voulait communiquer avec son copain sur le toit pour envoyer des données par 4G. Il parlait peu, donc il pouvait utiliser la norme radio LoRa. Elle est à bas débit, mais permet une portée bien plus grande qu’une modulation classique. Le problème, c’est qu’il parlait en clair, et que n’importe qui pouvait écouter ou pire : injecter de fausses données, voire corrompre le serveur distant.

Le protocole de communication à la mode est celui de Signal, utilisé aussi par WhatsApp et Messenger. Un autre protocole en vogue est WireGuard, dont l’objectif est d’offrir un VPN léger pour Linux, en s’appuyant sur un ensemble restreint de briques cryptographiques modernes et fortement recommandées, qui ne sont plus laissées au choix de l’utilisateur.

L’idée était donc de trouver une implémentation de ce type pour l’embarqué. Eh bien, je n’ai presque rien trouvé.

Sommaire

Briques de base

TLS est la référence absolue pour tous les algos, mais c’est à vous de faire votre choix. Libsodium est une implémentation des derniers algos recommandés et fait le choix pour vous. Ces deux bibliothèques sont énormes et sont optimisées pour PC. Un professeur de cryptographie a écrit une série de tweets qui contient une petite lib qui reprend les algorithmes de libsodium en version auditable (https://tweetnacl.cr.yp.to/). Mais elle est lente.

Une autre personne écrit ce que je cherche : Monocypher. C’est un fichier .c avec les algo principaux de libsodium et qui compile en pur C sans dépendance ! C’est parfait pour mon besoin.

Cette bibliothèque fournit uniquement les briques de base, on est très loin d’un protocole Signal. Quand on parle de cryptographie, on pense à AES pour le chiffrement symétrique, à RSA pour le chiffrement à clef publique et la signature, aux hashs SHA1 ou SHA512 pour un hash de qualité cryptographique. Les propriétés nécessaires sont fascinantes mais cela ne dit pas comment bien les utiliser ensuite.

Le chiffrement symétrique

Il s’agit de chiffrer un bloc avec une clé de taille fixe. Le représentant le plus connu est AES, avec des clés de 128 ou 256 bits. On a un bloc, on a une clé, et on obtient un bloc plus ou moins aléatoire. AES utilise des modes (GCM, XTS, …) pour renforcer le mélange et garantir la sécurité selon différents contextes.

Ici, l’algorithme recommandé est ChaCha20. Pas besoin de mode externe : tout est prévu dans l’algorithme de base.

Au déchiffrement, la brique ne se pose pas de question : si la donnée a été altérée, le résultat le sera aussi.Il faut donc ajouter un protocole d’authentification, qui utilise la même clé et un hash pour vérifier l’intégrité. Les algorithmes classiques sont MAC, HMAC, mais il est facile de faire une erreur dans leur utilisation.

Monocypher utilise Poly1305 pour authentifier le message (AEAD – Authenticated Encryption with Associated Data). Son API combine XChaCha20 et Poly1305, ce qui évite de se poser des questions : en cas de modification du message chiffré, la fonction de déchiffrement renvoie une erreur explicite.

Cette fonction nécessite un NONCE ("Number used once"), qui doit être différent à chaque appel.

Le hash

Un hash prend un bloc de données, fait une grosse salade et rend un chiffre de taille fixe avec de bonnes propriétés crypto. Le but est d’avoir une empreinte de taille fixe pour un bloc de données, et qu’il soit impossible de forger un hash identique en modifiant un peu les données d’origine. En gros.

Le hash recommandé est BLAKE2b : “as secure as SHA-3 and as fast as MD5”. Il fait 256 ou 512 bits.

“Password hashing” ou la création de clef à partir de mot de passe

Lorsqu’un mot de passe est saisi, il n’est jamais utilisé tel quel : il est d’abord transformé en une valeur de taille fixe via une fonction de hachage. Pour contrer les attaques par force brute, on a commencé par appliquer des centaines d’itérations de SHA1, avant d’adopter des fonctions de hachage volontairement lentes, comme bcrypt ou scrypt. Le but étant justement d’éviter qu’elles soient rapides, contrairement aux fonctions de hachage classiques.

Aujourd’hui, Argon2 est recommandé.

Chiffrement à clef publique

L’image est souvent celle d’un cadenas ouvert : n’importe qui peut fermer le cadenas, mais seul le possesseur de la clef peut l’ouvrir. RSA a été le premier algorithme inventé avec cette propriété. Aujourd’hui, la mode est aux courbes elliptiques avec X25519.

La fonction principale est basée sur l’échange Diffie-Hellman (DH). C’est le truc magique de la crypto asymétrique.

DH(Clef publique de A, Clé privée de B) = DH(Clef publique de B, Clé privée de A) = N

Sans une clef privée, il est cryptographiquement impossible de retrouver N.

Comment créer une clef privée ? C’est simplement 32 octets très aléatoires. Toute la sécurité dépend de cela. On se rappelle de la faille Debian utilisant un générateur prévisible en 2008.

Générateur d’aléatoire

Pour faire de la cryptographie sérieusement, il faut un vrai générateur aléatoire de qualité cryptographique. Monocypher, par exemple, n’en fournit pas, car cela dépend trop du matériel utilisé. C’est donc à vous d'en fournir un correct.

Ne surtout pas utiliser random() ou rand() : ces fonctions ne sont pas prévues pour la sécurité. Elles offrent souvent à peine 32 bits d’entropie, ce qui signifie qu’elles peuvent générer des valeurs qui tournent en boucle après seulement 4 milliards de cas, ce qui est trivial à explorer pour un attaquant moderne.

Un bon générateur s’appuie sur des sources d’entropie, autrement dit, des phénomènes imprévisibles : le bruit du système, les délais entre événements, la température, etc. Ensuite, ces sources sont mélangées (souvent via un gros hash) pour produire des nombres avec des propriétés statistiques solides.

Par exemple, Linux collecte plein de métriques internes (activité réseau, mouvements de la souris, etc.) pour alimenter son générateur aléatoire /dev/urandom.

Côté matériel, certaines plateformes proposent un vrai générateur physique : il peut mesurer le bruit électrique à travers une diode via un convertisseur analogique-numérique (ADC), ou encore exploiter les légères variations de vitesse d’oscillateurs internes (anneaux d’inverseurs), qui sont ensuite mélangées avec des circuits comme des LFSR combinés via XOR.

Utilisez le générateur cryptographique fourni par votre plateforme (par exemple getrandom(), arc4random(), ou un TRNG matériel si vous êtes en embarqué).

Il ne faut pas se créer son propre générateur sans savoir exactement ce que l’on fait. Le pire étant de réutiliser des données (des clefs par exemple) pour générer d’autres nombres. On crée ainsi une énorme dépendance entre eux, qui n’ont plus rien d’aléatoire.

Les dernières failles des imprimantes Brother proviennent du fait que les mots de passe d’administration sont dérivés de leur numéro de série (!).

Signature

On a un bloc de données, on signe avec une clef privée, on vérifie la signature avec la clef publique.

Monocypher propose EdDSA.

Serial Guard, le protocole de communication

Il ne faut pas créer sa propre cryptographie, c’est trop facile de se tromper. C’est pourtant exactement ce que j’ai fait. La suite peut donc contenir des erreurs. L’idée est de créer un protocole léger de communication. Si des experts passent par là et voient une horreur, qu’ils n’hésitent pas à crier.

On a maintenant les blocs de base. Et il faut maintenant les agencer comme il faut. On veut que A communique avec B (Alice et Bob), sans que E puisse comprendre les messages, insérer des messages, modifier des messages, rejouer des messages, récupérer les messages dans le futur s’il a tout enregistré et récupérer les clefs privées.

Dans le monde de l’embarqué « simple », on communique avec des read et des write sur lien série. L’idéal est d’avoir à peu près la même API.

Il faut réduire au minimum l’échange d’informations préalable pour être le plus léger possible.

Je laisse de coté le "framing", c'est à dire la mise en paquet pour être envoyé sur un lien physique. Un lien série envoie des octets, serialguard fonctionne par paquets d'octet. Il faut reconstituer un paquet avant de l'envoyer dans la bibliothèque.

La base est d’avoir une clef privée chacun, à longue durée de vie. Cela permet de s’authentifier selon le principe : si c’est toujours la même clef depuis l’installation, c’est toujours le même pair : TOFU.

Si on a besoin de faire mieux, il faudrait qu’une « clef de confiance » signe cette clef. Mais on entre dans les méandres complexes d’une public key infrastructure, des certificats ou des web of trust type GPG.

Pour pouvoir tout de même changer une clef privée à long terme, tout en ayant de la sécurité pour éviter les man-in-the-middle, il faut garder un secret partagé dans tous les pairs. Cela peut être très compliqué sur un réseau de serveurs, mais ici, chaque boîtier est programmé au même endroit.

Il s’agit simplement d’un nombre de 32 octets aléatoire partagé par tous. C’est nommé pompeusement pre-shared key (PSK).

Il faudra éviter de la laisser traîner dans le code source.

Une clef de session est une clef temporaire, renouvelable. L’idée est d’utiliser la cryptographie asymétrique pour se mettre d’accord sur une clef symétrique.

Si on utilise le nombre généré par Diffie-Hellman (DH) directement, il est unique par pair de clefs privées : ce n’est pas top. On pourrait échanger des nombres aléatoires pour se mettre d’accord sur une clef symétrique, mais je veux limiter les échanges au minimum.

Pour cela, je vais utiliser une clef de session asymétrique, qui est l’invention du protocole Signal. Une fois la clef symétrique générée, la clef privée éphémère est jetée. Il sera impossible ensuite de déchiffrer la session, même dans le futur.

On commence donc par un échange de 2 clefs publiques : l’une à durée de vie longue et l’autre éphémère.
On croise les 8 clefs (2 publiques et 2 privées de chaque côté) dans 3 échanges DH, on trie les nombres pour avoir le même ordre des 2 côtés, et le résultat est donné à la fonction de hachage avec la PSK.

On a ainsi notre clef de session symétrique.

Le rejeu

Tant que la session est active, l’envoi d’un message précédent reste valide. Pour éviter cela, un NONCE est utilisé dans le chiffrement symétrique. C’est un nombre fourni quelconque mais qui ne doit jamais être identique d’un paquet à l’autre. Il peut être transmis avec le paquet, mais cela prend de la place.

J’ai choisi d’utiliser un simple compteur, cela évite de devoir se rappeler les NONCE passés pour éviter le rejeu.

Les liaisons n’étant pas fiables, un paquet peut être corrompu : il faut pouvoir décoder le paquet suivant. J’ai simplement choisi de tester les 10 nombres successifs en cas d’erreurs, avant d’échouer.

Durée de session

Une session doit être limitée en temps ou en quantité d’informations transmises. Il faut trouver un événement symétrique des 2 côtés pour redéclencher un handshake. J’ai laissé ce point à l’application. Cela pourrait être inclus dans le protocole réseau de plus haut niveau.

Schéma

Envoi d’un seul message

Ce schéma ne couvre pas le cas d’envoi d’un seul message.

Dans l’Internet des objets, on pousse un message dans MQTT et on ne s’attend pas à une réponse. Cela serait bien plus pratique de pouvoir le faire. Il faut pouvoir faire l’envoi sans handshake préalable. Mais il faut tout de même envoyer les clefs publiques, ce qui prend de la place.

Le système a besoin de la clef publique du serveur et du PSK, et tout le reste est fourni en plus du chiffré (NONCE, clef publique, et clef publique éphémère) dans le message envoyé.

La différence est qu’il n’y a que 2 DH, et pas de clef éphémère du côté serveur.

Travail en cours

C’est encore un travail en cours. Il manque des tests sur le terrain et l’évaluation des performances sur plusieurs plateformes.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇Korben
  • Bruce Schneier - Le cryptographe qui a défié la NSA
    Cet article fait partie de ma série de l’été spécial hackers. Bonne lecture ! Vous savez ce qui est plus fort qu’un gouvernement qui veut lire vos emails ? Et bien c’est un petit gars de Brooklyn qui code des algorithmes dans son garage et les distribue gratuitement sur Internet. Bruce Schneier a littéralement cassé le monopole gouvernemental sur la cryptographie forte, et la NSA ne s’en est toujours pas remise. D’ailleurs son histoire explique pourquoi vous pouvez aujourd’hui chiffrer vos donné

Bruce Schneier - Le cryptographe qui a défié la NSA

Par : Korben
2 juillet 2025 à 13:37

Cet article fait partie de ma série de l’été spécial hackers. Bonne lecture !

Vous savez ce qui est plus fort qu’un gouvernement qui veut lire vos emails ? Et bien c’est un petit gars de Brooklyn qui code des algorithmes dans son garage et les distribue gratuitement sur Internet.

Bruce Schneier a littéralement cassé le monopole gouvernemental sur la cryptographie forte, et la NSA ne s’en est toujours pas remise. D’ailleurs son histoire explique pourquoi vous pouvez aujourd’hui chiffrer vos données sans demander l’autorisation à qui que ce soit.

  • ✇Korben
  • rPGP – Une bibliothèque Rust pour l’implémentation d’OpenPGP
    rPGP c’est un bibliothèque Rust qui va vous permettre de jouer avec OpenPGP comme des grands ! Plus besoin de vous taper des kilomètres de C pour avoir un bout de code qui chiffre trois mails bourrés de fautes. Maintenant, on a le droit à une implémentation 100% Rust, avec une API minimaliste mais qui fait le taf. Et en plus, c’est sous licence libre, donc on peut en faire ce qu’on veut ! Le top du top, c’est que rPGP gère tout ce qu’il faut pour être compatible avec Autocrypt 1.1. Si vous

rPGP – Une bibliothèque Rust pour l’implémentation d’OpenPGP

Par : Korben
13 septembre 2024 à 09:00

rPGP c’est un bibliothèque Rust qui va vous permettre de jouer avec OpenPGP comme des grands ! Plus besoin de vous taper des kilomètres de C pour avoir un bout de code qui chiffre trois mails bourrés de fautes. Maintenant, on a le droit à une implémentation 100% Rust, avec une API minimaliste mais qui fait le taf. Et en plus, c’est sous licence libre, donc on peut en faire ce qu’on veut !

Le top du top, c’est que rPGP gère tout ce qu’il faut pour être compatible avec Autocrypt 1.1. Si vous ne connaissez pas, c’est une spécification pour chiffrer les mails qui est censée être facile à utiliser pour monsieur et madame tout-le-monde.

Côté technique, rPGP est mis à jour régulièrement en tant que crate pgp (oui, ils ont pensé à nous, les flemmards qui ne veulent pas taper plus de trois lettres). Et pour la partie RSA, ça vit tranquillou sous le parapluie collectif RustCrypto. Et pour les petits malins qui voudraient se la jouer elliptique, pas de panique : le support ECC est assuré par la crate Curve25519-dalek. J’adore le nom 🙂

Bon, après, faut avouer que la doc de l’API est encore un peu légère mais si vraiment vous séchez, vous pouvez toujours ouvrir une issue sur GitHub. Les devs sont sympas, ils répondent (des fois).

D’ailleurs, rPGP s’est payé un petit audit de sécurité indépendant en 2019, réalisé par les gars d’IncludeSecurity et pas de failles critiques ! Bon, quelques trucs à corriger par ci par là, mais globalement, c’est du solide. Si vous voulez jeter un œil au rapport, c’est par ici.

Notez que rPGP est utilisé en prod par Delta Chat, l’app de messagerie basée sur les mails et ça tourne nickel sur Windows, Linux, macOS, Android et iOS, en 32 et 64 bits. Que demande le peuple ?

Et si vous êtes du genre à tout vouloir faire tourner dans votre navigateur (ou dans Node.js, on ne juge pas), rPGP a même pensé à vous avec une feature wasm ! Par contre, les bindings sont encore expérimentaux, mais tout se trouve dans le repo rpgp/rpgp-js.

Allez, je vous laisse, j’ai des messages secrets à chiffrer moi !

  • ✇LinuxFr.org : les dépêches
  • Petites brèves : forges, sécurité, Markdown, Asciidoc, K8S, crypto, IA, pourrissement du web
    Voici une sélection parmi ma veille du moment, ayant pour objectif de partager des liens mais aussi des sources : il s’agit bien évidemment de liens en rapport avec les thématiques du site (en l’occurrence dans cette fournée on trouvera logiciel libre, opendata, développement et vie privée par exemple), et ils sont plutôt variés ; les sources sont des sites web, des lettres d’actus et des réseaux sociaux (dans le cas présent, tous arrivés jusqu’à moi via des flux RSS/Atom), et c’est aussi une ma

Petites brèves : forges, sécurité, Markdown, Asciidoc, K8S, crypto, IA, pourrissement du web

Voici une sélection parmi ma veille du moment, ayant pour objectif de partager des liens mais aussi des sources : il s’agit bien évidemment de liens en rapport avec les thématiques du site (en l’occurrence dans cette fournée on trouvera logiciel libre, opendata, développement et vie privée par exemple), et ils sont plutôt variés ; les sources sont des sites web, des lettres d’actus et des réseaux sociaux (dans le cas présent, tous arrivés jusqu’à moi via des flux RSS/Atom), et c’est aussi une manière de les partager et de vous inviter à les suivre aussi. Dans la suite de la dépêche, on parlera donc en vrac GitHub, sécurité, Ruby, blocage de TikTok, Digital Services Act, biais, test, supervision, IA Act, Ada & Zangemann, pourrissement du web et bien d’autres choses encore.

Sommaire

En vrac

Des logiciels libres

Commentaires : voir le flux Atom ouvrir dans le navigateur

  • ✇Korben
  • Phil Zimmermann – Père de PGP et gardien de notre vie privée
    Je me souviens très bien, la première fois que j’ai entendu parler de Phil Zimmermann… C’était à la fin des années 90 quand pour la première fois, j’ai installé PGP sur mon ordinateur en me disant « Trop cool, on peut chiffrer en 4096 bits, c’est dingue (en plus d’être interdit à l’époque) !« . Philip R. Zimmermann est né en 1954 à Camden dans le New Jersey aux Etats-Unis et il est surtout connu de tous les techos que nous sommes pour avoir marqué l’histoire de l’informatique grâce à son in

Phil Zimmermann – Père de PGP et gardien de notre vie privée

Par : Korben
23 mai 2024 à 15:15

Je me souviens très bien, la première fois que j’ai entendu parler de Phil Zimmermann… C’était à la fin des années 90 quand pour la première fois, j’ai installé PGP sur mon ordinateur en me disant « Trop cool, on peut chiffrer en 4096 bits, c’est dingue (en plus d’être interdit à l’époque) !« .

Philip R. Zimmermann est né en 1954 à Camden dans le New Jersey aux Etats-Unis et il est surtout connu de tous les techos que nous sommes pour avoir marqué l’histoire de l’informatique grâce à son invention : PGP (Pretty Good Privacy).

Téléchargé au début par quelques geeks, PGP est rapidement devenu le logiciel de chiffrement d’email le plus utilisé au monde. Imaginez-le en 1991, à 37 ans bien tassé, développant ce qu’il espérait devenir un outil pour aider les droits de l’homme… Notre utopiste l’a d’ailleurs rendu disponible gratuitement très rapidement, en le diffusant sur le net… Et c’était un truc de dingue ! On pouvait enfin sécuriser sérieusement nos communications électroniques grâce à ce tout petit outil de rien du tout. C’est cet événement qui a à tout jamais façonné la réputation de Zimmermann en tant que pionnier de la cryptographie moderne.

Un des aspects fascinants de PGP, c’était que ce logiciel fonctionnait déjà comme un système de chiffrement hybride. Plutôt que de choisir entre de la cryptographie symétrique (rapide mais nécessitant une distribution sécurisée des clés) et asymétrique (sécurisée mais lente), Zimmermann a opté pour une combinaison des deux, histoire d’avoir la vitesse ET l’efficacité. La première version de PGP incluait même un algorithme de chiffrement qu’il avait développé lui-même, baptisé Bass-O-matic.

Bah oui, parce qu’avant l’arrivée de PGP, envoyer un e-mail c’était comme envoyer une carte postale. Tout le monde pouvait lire ce que vous écriviez. Mais avec cet outil, les informations envoyées sont devenues tellement indéchiffrables que même les services secrets ne pouvaient plus rien y faire. Et c’est là que Zimmermann a marqué des points dans mon cœur, en offrant à monsieur et madame tout-le-monde la possibilité de protéger ses échanges personnels de manière facile et surtout ultra sécurisée.

Toutefois, cette brillante invention a rapidement attiré l’attention des autorités. L’histoire se corse en 1993, lorsque le gouvernement américain, qui voyait déjà d’un mauvais œil la prolifération d’outils de chiffrement, a mené une enquête criminelle à l’encontre de Phil pour violation de la loi sur le contrôle des exportations. Car oui, selon les autorités, faire circuler PGP sur le net, c’était comme faire passer des armes à l’étranger. Cette enquête, déclenchée par un rapport de RSA Security concernant un différend de licence sur l’utilisation de l’algorithme RSA dans PGP, a duré trois ans. Finalement, elle a été abandonnée en 1996, après que le code source de PGP ait été publié par le MIT Press.

Zimmermann, en bon résistant, a utilisé cette publication comme une manière de contourner les restrictions d’exportation de code numérique. Il a confié plus tard qu’il était confus sur la façon dont USENET gérait les limitations géographiques, pensant à tort qu’un tag « US only » empêcherait réellement la diffusion mondiale. Mais sa démarche était claire : PGP devait appartenir au monde entier.

Après cet épisode tumultueux, il a ensuite fondé PGP Inc. en 1996, sa société destinée à commercialiser sa technologie de chiffrement. Puis, les rachats de boîtes se sont succédé comme dans une partie de Monopoly: PGP Inc. a été rachetée par Network Associates en 1997, avant d’être acquise par PGP Corporation en 2002, pour finalement atterrir chez Symantec en 2010. Et bien sûr, Phil est toujours resté à bord de sa coquille de noix en tant que conseiller et consultant, veillant sur PGP comme un gardien du temple.

Puis il a créé Zfone en 2006, un projet visant à sécuriser les communications VoIP. Grâce au protocole ZRTP, Zfone était capable de sécuriser les appels vocaux en créant une clé cryptographique unique pour chaque conversation.

Néanmoins, entre les licences logicielles et les attentes de la communauté, ce projet a connu quelques déboires. Ensuite, en 2012, avec ses amis Mike Janke et Jon Callas, il co-fonde Silent Circle, une entreprise spécialisée dans la sécurisation des communications mobiles. Leurs services de messagerie, d’appels et d’emails chiffrés sont alors utilisés par tout le monde, des journalistes en zones de conflit aux agences gouvernementales.

Avec Silent Circle, Zimmermann a alors une nouvelle fois transformé l’art de la communication sécurisée en quelque chose d’accessible à tous et de fluide peu importe le réseau… On est bien loin des soucis de configuration complexe de PGP qu’on pouvait rencontré au début. Suite à l’affaire Lavabit en 2013, où le FBI a exigé l’accès aux e-mails d’Edward Snowden, Silent Circle a pris peur et a déplacé ses serveurs en Suisse car ils sont moins susceptibles d’y rencontrer des pressions juridiques qu’aux États-Unis, comme l’a expliqué à l’époque Phil.

Puis en 2013, il a rejoint le mouvement Dark Mail Alliance avec Ladar Levison de Lavabit, pour créer un nouveau protocole qui dépasse les limitations de PGP en sécurisant non seulement les emails, mais aussi les métadonnées. Il s’est également impliqué dans le réseau social Okuna, aujourd’hui disparu, qui était une alternative éthique et respectueuse de la vie privée aux réseaux sociaux existants comme Facebook ou Twitter.

Alors comme l’a déclaré Zimmermann il y a fort longtemps : « La cryptographie forte fait plus de bien que de mal à la démocratie, même si elle peut servir aux terroristes.« 

Ce postulat est pour lui autant un angle de défense face à tous ceux qui privilégient leur sécurité à leur liberté (enfin surtout celle des autres), qu’une vision claire de son engagement. Il a d’ailleurs toujours insisté sur l’importance de la vie privée à l’ère du numérique.

Les contributions de Zimmermann à la cryptographie lui ont valu de nombreuses récompenses : du Chrysler Design Award en 1995 aux distinctions les plus prestigieuses comme son entrée au Temple de la renommée de l’Internet en 2012. Y’a beaucoup trop de distinctions pour que je vous les tartine toutes ici mais croyez moi sur parole, il en a eu une flopée et a même été dans des TOP 50 de personnalités les plus influentes.

En plus de ses réalisations techniques, Zimmermann a aussi joué un rôle éducatif et politique important. Entre 2016 et 2021, il a travaillé à l’Université de Technologie de Delft en tant que professeur dans la section cybersécurité de la Faculté de génie électrique, de mathématiques et d’informatique. Il a également été impliqué dans plusieurs conseils consultatifs, notamment pour le département d’ingénierie informatique de l’Université de Santa Clara et pour Hush Communications. Il a même contribué au développement du protocole d’accord de clé cryptographique pour la norme Wireless USB, ce qui démontre une fois encore l’étendue de ses compétences et de son influence dans le domaine de la sécurité.

Il a également participé à des discussions politiques et scientifiques sur la communication sécurisée et la sécurité nationale aux Etats-Unis et en tant que membre de l’Association Internationale de Recherche en Cryptologie et de la Ligue pour la Liberté de Programmer, il a continuellement défendu les droits des individus à une communication privée et sécurisée.

Aujourd’hui, sa plus grande inquiétude n’est pas les portes dérobées dans les logiciels, mais les pétaoctets d’informations stockées par des entreprises comme Google et Facebook. Il met également en garde contre les poursuites judiciaires facilitées par la technologie et craint qu’une infrastructure de surveillance aux mains d’un gouvernement malveillant ne puisse être utilisée pour créer un régime immuable. Il plaide également pour le rétablissement d’une certaine « friction » dans le travail policier, afin d’éviter de glisser trop facilement vers un état policier.

Pour conclure, Phil Zimmermann reste un pionnier inébranlable dans le domaine de la cryptographie. Il a inspiré des générations de développeurs et d’activistes à poursuivre leur quête d’un Internet libre et sécurisé. Donc un grand merci à lui pour avoir fait de notre Internet un monde plus sûr pour notre vie privée !

Sources :

  • ✇Korben
  • Cet internaute propose une nouvelle théorie sur l’identité réelle de Satoshi Nakamoto, le créateur du Bitcoin
    Qui est donc ce mystérieux Satoshi Nakamoto, le créateur de Bitcoin dont l’identité reste un mystère depuis plus d’une décennie ? C’est LA question qui fascine et intrigue la communauté crypto depuis les tous débuts. De nombreuses théories ont d’ailleurs été avancées au fil des années, mais aucune n’a réussi à percer définitivement le secret. Certains pensent que derrière ce pseudonyme se cache en réalité un groupe de personnes, travaillant main dans la main alors que d’autres imaginent un

Cet internaute propose une nouvelle théorie sur l’identité réelle de Satoshi Nakamoto, le créateur du Bitcoin

Par : Korben
8 avril 2024 à 11:12

Qui est donc ce mystérieux Satoshi Nakamoto, le créateur de Bitcoin dont l’identité reste un mystère depuis plus d’une décennie ? C’est LA question qui fascine et intrigue la communauté crypto depuis les tous débuts.

De nombreuses théories ont d’ailleurs été avancées au fil des années, mais aucune n’a réussi à percer définitivement le secret. Certains pensent que derrière ce pseudonyme se cache en réalité un groupe de personnes, travaillant main dans la main alors que d’autres imaginent un génie solitaire, un visionnaire qui a préféré rester dans l’ombre et laisser sa création parler d’elle-même…

Cependant, une nouvelle piste des plus intrigantes vient d’être mise au jour par un redditeur passionné. En fouillant méticuleusement dans de vieilles publications académiques sur la cryptographie, il a fait une découverte plutôt étonnante : Lors d’une conférence sur la crypto en 1998, un certain Satoshi Hada a donné une présentation aux côtés d’un autre intervenant nommé Toshiaki Tanaka.

Satoshi ? Cela a immédiatement titillé la curiosité de notre détective en herbe qui en creusant un peu plus, s’est rendu compte que les travaux de recherche de Satoshi Hada, Toshiaki Tanaka et d’un troisième larron, Naohiko Uramoto, portaient justement sur les clés publiques et privées… c’est à dire sur les fondements de la blockchain !

Encore plus troublant, si on combine astucieusement des morceaux de leurs trois noms, on obtient… Satoshi + Naka + MotoSatoshi Nakamoto ! Serait-ce un hommage de la part du véritable créateur de Bitcoin ? Ou bien ces trois cryptographes japonais d’IBM sont-ils les cerveaux derrière la révolutionnaire crypto-monnaie ?

Les indices s’accumulent en tout cas. Leurs publications académiques se sont mystérieusement taries peu après l’envol de Bitcoin. Troublant non ?

Bien sûr, il ne s’agit pour l’instant que d’une théorie, aussi fascinante soit-elle. Peut-être une simple coïncidence ou un habile leurre de la part du vrai Satoshi. Mais avouez que l’hypothèse a de quoi faire cogiter !

En tout cas, si ça vous intéresse, y’a tout un fil Reddit à ce sujet ici.

❌
❌