Zum Hauptinhalt springen

CBOM - Cryptography Bill of Materials

Gilt für:
CycloneDX 1.7OWASPNISTPCI-DSSSOC2

Überblick​

CBOM (Cryptography Bill of Materials) ist ein spezialisiertes Bestandsformat zur Dokumentation aller kryptografischen Assets in Ihren Anwendungen und Ihrer Infrastruktur. Der PQC Scanner generiert CycloneDX-1.7-konforme CBOM-Dokumente, die sich wie folgt nutzen lassen:

CBOM-Fähigkeiten

Mit Security-Teams teilenPrüfern eine standardisierte Krypto-Bestandsaufnahme bereitstellen
In Schwachstellenmanagement importierenMit Schwachstellenmanagement-Systemen integrieren
Compliance-ReportingNIST-, PCI-DSS-, SOC2-Frameworks
QuantenbereitschaftMigration zur Quantenbereitschaft verfolgen
CI/CD-PipelinesCBOM-Generierung in Pipelines automatisieren

CBOM Explorer​

Im Cockpit stellt der CBOM Explorer die CycloneDX-Bestandsaufnahme als interaktiven Graphen kryptografischer Assets dar – Sie können quantenanfällige Primitive isolieren, die Identifikatoren einer Komponente (BOM-Ref, OID, Schlüsseltyp/-größe, Format) inspizieren und für jeden gebrochenen Algorithmus die empfohlene Migration einsehen.

CBOM Explorer – interaktiver Graph kryptografischer Assets

Hinweis
Jede Komponente zeigt ihre Quantenexposition (z. B. Quantum-broken für ECDSA-256) und eine empfohlene Migration an, etwa „Migrate to ML-DSA (Dilithium) or SLH-DSA (SPHINCS+) per NIST FIPS 204/205“.

Was ist CycloneDX?​

CycloneDX ist ein OWASP-Standard für Software Bill of Materials (SBOM). Version 1.7 führte native Unterstützung für kryptografische Assets ein und macht ihn damit zum De-facto-Standard für CBOM.

Schnellstart​

CBOM aus Scan-Ergebnissen generieren​

# 1. Einen Scan ausführen
dke-scanner-agent agent --output scan-results.json

# 2. CBOM generieren
dke-scanner-agent cbom --input scan-results.json \
--app-name "Payment API" \
--app-version "2.1.0" \
--output payment-api-cbom.json

CBOM-Zusammenfassung anzeigen​

# Mit Pretty-Printing generieren
dke-scanner-agent cbom -i scan.json --pretty

# Die Ausgabe zeigt:
# CBOM generated successfully!
# Input: scan.json
# Output: scan-cbom.json
# Components: 47
# Dependencies: 12

Anwendungsfälle​

Sicherheitsaudit & Compliance

CBOM für jährliche Sicherheitsaudits und Compliance-Reports generieren

CI/CD-Integration

CBOM-Generierung in Deployment-Pipelines automatisieren

Verfolgung der Quantenbereitschaft

Migrationsfortschritt von klassischer zu Post-Quantum-Krypto verfolgen

Sicherheitsfragebogen für Lieferanten

CBOM für Sicherheitsüberprüfungen von Kunden generieren

CLI-Referenz​

Befehlssyntax​

dke-scanner-agent cbom [OPTIONS] --input <FILE>

Erforderliche Argumente​

ArgumentBeschreibungBeispiel
-i, --input <FILE>Datei mit Scan-Ergebnissen (JSON-Format)scan-results.json

Optionale Argumente​

ArgumentKurzformBeschreibungStandard
--output <FILE>-oPfad der CBOM-Ausgabedatei<input>-cbom.json
--app-name <NAME>Anwendungsname für MetadatenHostname aus dem Scan
--app-version <VER>Anwendungsversion"1.0"
--prettyJSON-Ausgabe hübsch formatierenfalse

Beispiele​

Einfache CBOM-Generierung​

# Minimaler Befehl (Ausgabename automatisch generieren)
dke-scanner-agent cbom -i scan.json

# Mit benutzerdefinierter Ausgabe
dke-scanner-agent cbom -i scan.json -o crypto-inventory.json

# Mit Pretty-Printing
dke-scanner-agent cbom -i scan.json --pretty

Mit Anwendungsmetadaten​

# Anwendungsdetails angeben
dke-scanner-agent cbom \
--input scan-results.json \
--app-name "E-Commerce Platform" \
--app-version "4.2.1" \
--output ecommerce-cbom.json \
--pretty

CI/CD-Pipeline-Integration​

# GitLab-CI-Beispiel
dke-scanner-agent ci --source-path . --output scan.json
dke-scanner-agent cbom \
-i scan.json \
--app-name "${CI_PROJECT_NAME}" \
--app-version "${CI_COMMIT_SHA:0:8}" \
--output "${CI_PROJECT_NAME}-cbom.json"

CBOM-Struktur​

CycloneDX-1.7-Format​

{
"bomFormat": "CycloneDX",
"specVersion": "1.7",
"serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79",
"version": 1,
"metadata": {
"timestamp": "2025-01-29T14:30:52Z",
"component": {
"type": "application",
"name": "Payment API",
"version": "2.1.0"
}
},
"components": [
{
"type": "cryptographic-asset",
"bom-ref": "crypto-asset-1",
"name": "RSA-2048",
"version": "1.0",
"cryptoProperties": {
"assetType": "algorithm",
"algorithmProperties": {
"primitive": "asymmetric",
"parameterSetIdentifier": "2048",
"executionEnvironment": "software-plain-ram",
"implementationPlatform": "x86_64",
"certificationLevel": ["none"],
"mode": "PKCS1",
"padding": "OAEP",
"cryptoFunctions": ["encrypt", "decrypt", "sign", "verify"],
"classicalSecurityLevel": 112,
"nistQuantumSecurityLevel": 0
}
},
"properties": [
{
"name": "quantum:vulnerable",
"value": "true"
},
{
"name": "quantum:risk_score",
"value": "8.5"
}
]
}
]
}

Asset-Typen​

Der Scanner generiert CBOM-Einträge für diese kryptografischen Asset-Typen:

CBOM-Analyse​

Schwachstellendaten extrahieren​

# Alle quantenanfälligen Assets extrahieren
jq '.components[] | select(.properties[] | select(.name == "quantum:vulnerable" and .value == "true")) | {name, type: .cryptoProperties.assetType}' crypto-bom.json

# Assets nach Typ zählen
jq '.components | group_by(.cryptoProperties.assetType) | map({type: .[0].cryptoProperties.assetType, count: length})' crypto-bom.json

# Algorithmen mit hohem Risiko finden (Risikowert > 7)
jq '.components[] | select(.properties[] | select(.name == "quantum:risk_score" and (.value | tonumber) > 7)) | .name' crypto-bom.json

Compliance-Reporting​

# NIST-Compliance-Report generieren
jq '{
total_assets: .components | length,
quantum_vulnerable: [.components[] | select(.properties[] | select(.name == "quantum:vulnerable" and .value == "true"))] | length,
quantum_safe: [.components[] | select(.properties[] | select(.name == "quantum:vulnerable" and .value == "false"))] | length,
by_type: .components | group_by(.cryptoProperties.assetType) | map({type: .[0].cryptoProperties.assetType, count: length})
}' crypto-bom.json

Integrationsbeispiele​

CBOM-Diff & Änderungsverfolgung​

Änderungen im Zeitverlauf verfolgen​

Best Practices​

CBOM-Best-Practices

Versionieren Sie Ihre CBOMs

Verwenden Sie Semantic Versioning zur Nachverfolgung

Zusammen mit dem Quellcode speichern

Bewahren Sie CBOMs neben Ihrer Codebasis auf

Regelmäßige Scans automatisieren

Planen Sie die wöchentliche CBOM-Generierung per cron

In Releases einbeziehen

Fügen Sie CBOM zu den Release-Artefakten hinzu

Standards & Compliance​

CycloneDX-1.7-Spezifikation​

Der PQC Scanner generiert CBOMs, die konform sind mit:

  • OWASP CycloneDX 1.7 - Vollständige Spezifikation
  • NIST SSDF - Secure Software Development Framework
  • CISA-SBOM-Richtlinien - Anforderungen für kritische Infrastruktur
  • Executive Order 14028 - Improving the Nation's Cybersecurity

Standard für kryptografische Eigenschaften​

Folgt den CycloneDX Cryptography Extensions:

Unterstützte Abschnitte

Algorithm PropertiesAbschnitt 6.1
Certificate PropertiesAbschnitt 6.2
Related Crypto Material PropertiesAbschnitt 6.3
Protocol PropertiesAbschnitt 6.4

Fehlerbehebung​



Support​

Benötigen Sie Hilfe bei CBOM?