CBOM - Cryptography Bill of Materials
CBOM - Cryptography Bill of Materials
Generieren Sie eine standardisierte Cryptography Bill of Materials (CBOM) gemäß der OWASP-CycloneDX-1.7-Spezifikation für eine umfassende Bestandsaufnahme kryptografischer Assets und Risikobewertung.
Ü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
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.

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
| Argument | Beschreibung | Beispiel |
|---|---|---|
| -i, --input <FILE> | Datei mit Scan-Ergebnissen (JSON-Format) | scan-results.json |
Optionale Argumente
| Argument | Kurzform | Beschreibung | Standard |
|---|---|---|---|
| --output <FILE> | -o | Pfad der CBOM-Ausgabedatei | <input>-cbom.json |
| --app-name <NAME> | Anwendungsname für Metadaten | Hostname aus dem Scan | |
| --app-version <VER> | Anwendungsversion | "1.0" | |
| --pretty | JSON-Ausgabe hübsch formatieren | false |
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
Fehlerbehebung
Siehe auch
Support
Benötigen Sie Hilfe bei CBOM?
- Dokumentation: https://docs.duokey.com/dke-scanner-agent/cbom
- Community: https://community.duokey.com/t/cbom
- Issues: https://github.com/duokey/dke-scanner-agent/issues
- E-Mail: [email protected]