Red Hat et Google ont présenté Sigstore, un service de vérification du code cryptographique

Red Hat et Google, en collaboration avec l'Université Purdue, ont fondé le projet Sigstore, visant à créer des outils et des services pour vérifier les logiciels à l'aide de signatures numériques et maintenir un journal public pour confirmer l'authenticité (journal de transparence). Le projet sera développé sous les auspices de l'organisation à but non lucratif Linux Foundation.

Le projet proposé améliorera la sécurité des canaux de distribution de logiciels et protégera contre les attaques visant à remplacer les composants et dépendances logiciels (chaîne d'approvisionnement). L'un des principaux problèmes de sécurité des logiciels open source est la difficulté de vérifier la source du programme et de vérifier le processus de construction. Par exemple, la plupart des projets utilisent des hachages pour vérifier l'intégrité d'une version, mais souvent les informations nécessaires à l'authentification sont stockées sur des systèmes non protégés et dans des référentiels de code partagés, ce qui permet aux attaquants de compromettre les fichiers nécessaires à la vérification et d'introduire des modifications malveillantes. sans éveiller les soupçons.

Seule une petite proportion de projets utilisent des signatures numériques lors de la distribution des versions en raison des difficultés liées à la gestion des clés, à la distribution des clés publiques et à la révocation des clés compromises. Pour que la vérification ait un sens, il est également nécessaire d’organiser un processus fiable et sécurisé de distribution des clés publiques et des sommes de contrôle. Même avec une signature numérique, de nombreux utilisateurs ignorent la vérification car ils doivent consacrer du temps à étudier le processus de vérification et à comprendre quelle clé est digne de confiance.

Sigstore est présenté comme l'équivalent de Let's Encrypt pour le code, fournissant des certificats pour la signature numérique du code et des outils pour automatiser la vérification. Avec Sigstore, les développeurs peuvent signer numériquement des artefacts liés aux applications tels que des fichiers de version, des images de conteneurs, des manifestes et des exécutables. Une particularité de Sigstore est que le matériel utilisé pour la signature est reflété dans un journal public inviolable qui peut être utilisé à des fins de vérification et d'audit.

Au lieu de clés permanentes, Sigstore utilise des clés éphémères de courte durée, qui sont générées sur la base d'informations d'identification confirmées par les fournisseurs OpenID Connect (au moment de générer des clés pour une signature numérique, le développeur s'identifie via un fournisseur OpenID lié à un e-mail). L'authenticité des clés est vérifiée à l'aide d'un journal public centralisé, qui permet de vérifier que l'auteur de la signature est exactement celui qu'il prétend être et que la signature a été formée par le même participant qui était responsable des versions passées.

Sigstore propose à la fois un service prêt à l'emploi que vous pouvez déjà utiliser et un ensemble d'outils qui vous permettent de déployer des services similaires sur votre propre équipement. Le service est gratuit pour tous les développeurs et fournisseurs de logiciels et est déployé sur une plate-forme neutre : la Linux Foundation. Tous les composants du service sont open source, écrits en Go et distribués sous licence Apache 2.0.

Parmi les composants développés on peut noter :

  • Rekor est une implémentation de journal permettant de stocker des métadonnées signées numériquement reflétant des informations sur les projets. Pour garantir l'intégrité et protéger contre la corruption des données après coup, une structure arborescente « Merkle Tree » est utilisée, dans laquelle chaque branche vérifie toutes les branches et nœuds sous-jacents, grâce à un hachage conjoint (arborescent). Disposant du hachage final, l'utilisateur peut vérifier l'exactitude de tout l'historique des opérations, ainsi que l'exactitude des états passés de la base de données (le hachage de vérification racine du nouvel état de la base de données est calculé en tenant compte de l'état passé ). Pour vérifier et ajouter de nouveaux enregistrements, une API Restful est fournie, ainsi qu'une interface cli.
  • Fulcio (SigStore WebPKI) est un système de création d'autorités de certification (Root-CA) qui émettent des certificats de courte durée basés sur des e-mails authentifiés via OpenID Connect. La durée de vie du certificat est de 20 minutes, pendant lesquelles le développeur doit avoir le temps de générer une signature numérique (si le certificat tombe ultérieurement entre les mains d'un attaquant, il sera déjà expiré).
  • Сosign (Container Signing) est une boîte à outils permettant de générer des signatures pour les conteneurs, de vérifier les signatures et de placer les conteneurs signés dans des référentiels compatibles avec OCI (Open Container Initiative).

Source: opennet.ru

Ajouter un commentaire