Dieses Dokument befindet sich in aktiver Entwicklung und ist noch nicht finalisiert.
Skip to content

SBOM & Signierung

Übersicht

Die Software Bill of Materials (SBOM) und die kryptographische Signierung von Artefakten sind zentrale Bausteine der CRA-Konformität. Dieses Kapitel beschreibt den vollständigen Lebenszyklus einer SBOM -- von der Generierung über die Formatierung und Archivierung bis hin zur Signierung -- sowie die übergreifenden Signierungsverfahren für alle Artefakttypen (Container-Images, Binaries, Firmware, SBOMs).

RECHTSGRUNDLAGE

Art. 13 Abs. 23 CRA: „Der Hersteller ermittelt und dokumentiert die Schwachstellen und Komponenten, die in dem Produkt mit digitalen Elementen enthalten sind, unter anderem durch Erstellung einer Software-Stückliste in einem allgemein gebräuchlichen und maschinenlesbaren Format, die mindestens die Top-Level-Abhängigkeiten des Produkts erfasst."

Art. 10 Abs. 12 CRA: „Der Hersteller stellt sicher, dass Sicherheitsupdates, die an Nutzer weitergegeben werden, sicher bereitgestellt werden und dass die Integrität des Produkts gewährleistet ist, wenn diese Sicherheitsupdates automatisch installiert werden."

Annex I, Teil I, Nr. 3: „Produkte mit digitalen Elementen [...] gewährleisten den Schutz der Integrität gespeicherter, übermittelter oder anderweitig verarbeiteter Daten [...] vor Manipulation oder Veränderung."

Prozessübersicht

Release-Trigger (Git Tag)


Build Artifact (Binary, Image, Firmware)

    ├──▶ SBOM generieren (Trivy/Syft → CycloneDX JSON)
    │       ├──▶ SBOM als Release-Asset anhängen
    │       ├──▶ SBOM signieren (Cosign)
    │       ├──▶ SHA256-Hash erzeugen
    │       └──▶ SBOM archivieren (Compliance-Repo)

    ├──▶ Build-Artefakt signieren (Cosign)
    │       ├──▶ SHA256-Hash erzeugen
    │       └──▶ Signatur als Release-Asset

    └──▶ Release
            ├── Artifact + Signature + Hash
            ├── SBOM + Signature + Hash
            ├── Public Key (cosign.pub)
            └── SHA256SUMS.txt

Anforderungen

AnforderungUmsetzungCRA-Artikel
Maschinenlesbares FormatCycloneDX JSONArt. 13 Abs. 23
Top-Level-AbhängigkeitenAutomatische Erkennung via Syft/TrivyArt. 13 Abs. 23
Pro ReleaseSBOM wird bei jedem Release-Tag generiertBest Practice
IntegritätsschutzSignierung aller Artefakte mit CosignArt. 10 Abs. 12
AuthentizitätKryptographische Signatur belegt HerkunftAnnex I, Teil I, Nr. 3
NachvollziehbarkeitGit-Historie + Release-AssetsAnnex VII
VerfügbarkeitArchivierung im Compliance-Repo + Release-AssetsArt. 13 Abs. 23

Signierte Artefakttypen

ArtefaktSignierungToolStatus
Docker/Container ImagesCosign (Image Signing)docker-build.ymlImplementiert
Release BinariesCosign (Blob Signing)cra-release.ymlImplementiert
SBOMsCosign (Blob Signing, keyless OIDC)cra-release.ymlImplementiert
Firmware BinariesCosign (Blob Signing)Build-WorkflowsGeplant

Tooling

ToolFunktionEinsatzbereich
TrivySBOM-Generierung aus Container-Images und FilesystemsCycloneDX, SPDX
SyftSBOM-Generierung aus Source Code und BinariesCycloneDX, SPDX
CosignSignierung von Artefakten und SBOMsSigstore
GitHub ActionsAutomatisierung der gesamten PipelineCI/CD

Workflow-Integration

Die SBOM-Generierung und Signierung erfolgt über zwei Wege:

1. Automation-Templates (bestehend): Die SBOM-Generierung ist in den bestehenden Release-Workflow (automatic-release.yml) über das Modul modules-license-compliance.yml integriert.

yaml
# Aktivierung in Workflow-Aufruf
license-compliance:
  generate-sbom: true
  sbom-format: cyclonedx-json

2. CRA Compliance Workflows (neu): Der dedizierte CRA-Release-Workflow übernimmt SBOM-Generierung, Signierung und Archivierung als Release-Assets -- unabhängig von den bestehenden Release-Workflows.

yaml
# Nutzung in jedem Repository (Zero-Config)
jobs:
  cra-release:
    uses: bauer-group/SEC-CRACompliance/.github/workflows/cra-release.yml@main
    permissions:
      contents: write
      id-token: write
      security-events: write

Der Workflow nutzt die Composite Actions cra-sbom-generate (Trivy, Auto-Detect) und cra-sbom-sign (Cosign, keyless OIDC).

Kapitelstruktur

SektionThemaBeschreibung
SBOM-GenerierungAutomatisierte Erzeugung der SBOM pro Release
Format-SpezifikationCycloneDX JSON als primäres SBOM-Format
Archivierung & RetentionSpeicherorte und Aufbewahrungsfristen
SignierungSBOM- und Artefakt-Signierung mit Cosign
Key ManagementSchlüsselverwaltung und -rotation
VerifikationVerifizierungsverfahren für Endnutzer und Systeme

Dokumentation lizenziert unter CC BY-NC 4.0 · Code lizenziert unter MIT