Le noyau Linux expérimente une nouvelle méthode d’authentification des développeurs et du code

Contexte

Depuis des décennies, les développeurs du noyau Linux s’appuient sur PGP pour signer les commits et valider l’identité des contributeurs. Ce mécanisme a permis d’améliorer la sécurité, mais il présente des limites : participation à des séances de signature en personne, clés qui vieillissent, gestion manuelle et risques de confidentialité et d’ingénierie sociale. Des incidents passés (ex. compromission de services de distribution et tentatives d’injection de code malveillant) ont montré la fragilité d’un modèle reposant sur quelques clés durables.

Ce que proposent les mainteneurs

La Linux Foundation (via son initiative Decentralized Trust) et des partenaires (dont Affinidi) présentent un prototype appelé ici Linux ID : une pile technologique pour créer, émettre et échanger des attestations cryptographiques sur des personnes et des relations. Plutôt que de s’appuyer uniquement sur des signatures PGP anciennes, Linux ID s’appuie sur :

  • DIDs (Decentralized Identifiers, standard W3C) pour représenter des identités décentralisées ;
  • Verifiable Credentials (VCs) pour émettre des attestations (ex. « cette personne est employée par X », « ce mainteneur reconnaît ce contributeur ») ;
  • Protocoles de messagerie décentralisée (REST, DIDComm, etc.) et des DIDs éphémères pour préserver la confidentialité des relations ;
  • Des attestations courtes (durée en jours/semaines) et des registres de révocation/transparence pour permettre une réponse rapide en cas de compromission.

Fonctionnement technique (simplifié)

  1. Un développeur crée un DID (peut réutiliser des clés Curve25519 existantes).
  2. Des émetteurs (gouvernements, entreprises, la Linux Foundation, centres d’identification) délivrent des Verifiable Credentials attestant de faits sur la personne.
  3. Les relations entre contributeurs sont matérialisées par des « verifiable relationship credentials » (VRC) et des DIDs pair-à-pair éphémères.
  4. Les signatures de code peuvent être accompagnées d’un « bundle » d’attestations vérifiables et consignées dans des logs de transparence, augmentant la confiance et facilitant l’audit.

Avantages attendus

  • Meilleure résilience : un attaquant devrait compromettre plusieurs émetteurs et maintenir des attestations courtes pour être crédible.
  • Confidentialité accrue : DIDs éphémères et isolation des relations limitent la cartographie des interactions humaines.
  • Flexibilité et gouvernance locale : chaque projet peut choisir quels émetteurs il fait confiance et quel niveau de preuve il exige.
  • Révocation et réponse rapide : attestations courtes et registres de révocation facilitent le retrait de droits en cas de compromission.
  • Compatibilité avec l’automatisation : possibilité de déléguer des autorités limitées à des agents (y compris IA) avec des credentials séparés.

Limites et risques

  • Ce n’est pas une panacée : les auteurs reconnaissent que Linux ID « augmente le coût » d’une attaque supply-chain mais ne l’empêche pas complètement.
  • Complexité d’adoption : migration depuis le web PGP existant, choix d’émetteurs et interopérabilité devront être gérés.
  • Dépendance à un écosystème d’émetteurs : la force du système repose sur une diversité d’émetteurs fiables.
  • Risques d’implémentation : bugs, mauvaise configuration ou gestion des registres de révocation peuvent créer de nouveaux vecteurs d’attaque.

Calendrier et déploiement

Le projet en est encore au stade de prototypage et d’exploration. Les mainteneurs prévoient d’aborder le sujet lors de prochaines réunions techniques (Linux Plumbers, Kernel Summit). Une migration progressive est envisagée : importer le web PGP existant pour faciliter la transition et effectuer des tests parallèles.

Perspectives et impact

Si le modèle s’impose, il pourrait servir de référence pour d’autres projets open source et écosystèmes logiciels confrontés aux menaces sur la chaîne d’approvisionnement. En combinant attestations courtes, logs de transparence et contrôles décentralisés, Linux ID vise à moderniser la confiance dans les contributions logicielles — et à mieux intégrer les interactions homme/machine (ex. agents automatisés avec credentials dédiés).

Conclusion

Linux ID représente une évolution majeure du point de vue conceptuel : passer d’un web de confiance PGP figé à une couche d’identité décentralisée, composable et tournée vers la confidentialité et la révocation rapide. Le travail reste expérimental, mais il pourrait sensiblement renforcer la sécurité et la traçabilité des contributions au noyau Linux — et être un modèle pour d’autres communautés open source.