Skip to content

🔐 ImplĂ©mentation d’une stratĂ©gie de signature GPG + vĂ©rification supply-chain multi-plateforme #94

@Akmot9

Description

@Akmot9

Labels: security, ci/cd, release, backlog


🎯 Objectif

Mettre en place une stratégie de signature cryptographique des artifacts de release (Windows / Linux / macOS) afin de :

  • Garantir l’intĂ©gritĂ© des binaires publiĂ©s
  • Permettre la vĂ©rification indĂ©pendante par les utilisateurs
  • RĂ©duire le risque supply-chain (compromission CI / altĂ©ration des assets GitHub)
  • Standardiser la procĂ©dure de release sĂ©curisĂ©e

Build rĂ©alisĂ© sur GitLab local → publication sur GitHub Releases.


📩 PĂ©rimĂštre

Artifacts concernés (Tauri) :

  • NSIS (.exe)
  • DEB (.deb)
  • RPM (.rpm)
  • DMG (.dmg)

đŸ§± Architecture cible

1ïžâƒŁ Build sĂ©curisĂ©

  • Compilation sur GitLab local (runner contrĂŽlĂ©)
  • Build taggĂ© (ex: app-v3.10.8)

2ïžâƒŁ GĂ©nĂ©ration des checksums

sha256sum * > SHA256SUMS

3ïžâƒŁ Signature GPG dĂ©tachĂ©e

gpg --armor --detach-sign SHA256SUMS

Artifacts publiés :

  • binaires
  • SHA256SUMS
  • SHA256SUMS.asc

🔎 VĂ©rification cĂŽtĂ© utilisateur

gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum -c SHA256SUMS

🔐 SĂ©curitĂ© clĂ© GPG

À dĂ©finir :

  • GĂ©nĂ©ration d’une clĂ© dĂ©diĂ©e “Sonar Release Signing”
  • Publication de la clĂ© publique dans le repository
  • Stockage sĂ©curisĂ© de la clĂ© privĂ©e (runner GitLab / machine offline / smartcard ?)
  • Protection variable CI (masked + protected)

📑 AmĂ©liorations futures (optionnel)

  • Signature des tags Git (git tag -s)
  • GĂ©nĂ©ration SBOM (CycloneDX)
  • Signature SBOM
  • Fichier provenance.json signĂ©
  • Étude Sigstore / cosign

📋 Tñches

  • GĂ©nĂ©rer clĂ© GPG dĂ©diĂ©e
  • Ajouter Ă©tape signature dans pipeline GitLab
  • Ajouter publication automatique vers GitHub Releases
  • Documenter procĂ©dure de vĂ©rification dans README
  • Documenter procĂ©dure de rotation de clĂ©

💡 Motivation

SONAR est open-source et distribué publiquement.
L’objectif est d’apporter une garantie cryptographique forte sur les releases, indĂ©pendamment de la confiance dans GitHub.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementAméliorationgithub_actionsPull requests that update GitHub Actions codequestionFurther information is requestedv2

    Projects

    Status

    Backlog

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions