CBOM - Nomenclature cryptographique
CBOM - Nomenclature cryptographique
Générez une nomenclature cryptographique (CBOM) standardisée conforme à la spécification OWASP CycloneDX 1.7 pour un inventaire complet des actifs cryptographiques et une évaluation des risques.
Vue d'ensemble
Le CBOM (Cryptography Bill of Materials, nomenclature cryptographique) est un format d'inventaire spécialisé pour documenter tous les actifs cryptographiques de vos applications et de votre infrastructure. Le PQC Scanner génère des documents CBOM conformes à CycloneDX 1.7 qui peuvent être :
Capacités du CBOM
Explorateur CBOM
Dans le Cockpit, l'explorateur CBOM restitue l'inventaire CycloneDX sous forme de graphe interactif d'actifs cryptographiques — vous pouvez isoler les primitives vulnérables au quantique, inspecter les identifiants d'un composant (BOM-Ref, OID, type/taille de clé, format) et voir la migration recommandée pour chaque algorithme compromis.

Qu'est-ce que CycloneDX ?
CycloneDX est une norme OWASP pour les nomenclatures logicielles (SBOM). La version 1.7 a introduit une prise en charge native des actifs cryptographiques, en faisant la norme de facto pour le CBOM.
Démarrage rapide
Générer un CBOM à partir des résultats d'analyse
# 1. Run a scan
dke-scanner-agent agent --output scan-results.json
# 2. Generate CBOM
dke-scanner-agent cbom --input scan-results.json \
--app-name "Payment API" \
--app-version "2.1.0" \
--output payment-api-cbom.json
Afficher le résumé du CBOM
# Generate with pretty printing
dke-scanner-agent cbom -i scan.json --pretty
# Output shows:
# CBOM generated successfully!
# Input: scan.json
# Output: scan-cbom.json
# Components: 47
# Dependencies: 12
Cas d'usage
Audit de sécurité et conformité
Générer un CBOM pour les audits de sécurité annuels et les rapports de conformité
Intégration CI/CD
Automatiser la génération de CBOM dans les pipelines de déploiement
Suivi de la préparation quantique
Suivre la progression de la migration de la cryptographie classique vers la cryptographie post-quantique
Questionnaire de sécurité fournisseur
Générer un CBOM pour les revues de sécurité clients
Référence CLI
Syntaxe de la commande
dke-scanner-agent cbom [OPTIONS] --input <FILE>
Arguments requis
| Argument | Description | Exemple |
|---|---|---|
| -i, --input <FILE> | Fichier de résultats d'analyse (format JSON) | scan-results.json |
Arguments optionnels
| Argument | Court | Description | Par défaut |
|---|---|---|---|
| --output <FILE> | -o | Chemin du fichier CBOM de sortie | <input>-cbom.json |
| --app-name <NAME> | Nom de l'application pour les métadonnées | Nom d'hôte issu de l'analyse | |
| --app-version <VER> | Version de l'application | "1.0" | |
| --pretty | Formater la sortie JSON de façon lisible | false |
Exemples
Génération de base d'un CBOM
# Minimal command (auto-generate output name)
dke-scanner-agent cbom -i scan.json
# With custom output
dke-scanner-agent cbom -i scan.json -o crypto-inventory.json
# With pretty printing
dke-scanner-agent cbom -i scan.json --pretty
Avec métadonnées d'application
# Specify application details
dke-scanner-agent cbom \
--input scan-results.json \
--app-name "E-Commerce Platform" \
--app-version "4.2.1" \
--output ecommerce-cbom.json \
--pretty
Intégration dans un pipeline CI/CD
# GitLab CI example
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"
Structure du CBOM
Format CycloneDX 1.7
{
"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"
}
]
}
]
}
Types d'actifs
Le scanner génère des entrées CBOM pour ces types d'actifs cryptographiques :
Analyse du CBOM
Extraction des données de vulnérabilité
# Extract all quantum-vulnerable assets
jq '.components[] | select(.properties[] | select(.name == "quantum:vulnerable" and .value == "true")) | {name, type: .cryptoProperties.assetType}' crypto-bom.json
# Count assets by type
jq '.components | group_by(.cryptoProperties.assetType) | map({type: .[0].cryptoProperties.assetType, count: length})' crypto-bom.json
# Find high-risk algorithms (risk score > 7)
jq '.components[] | select(.properties[] | select(.name == "quantum:risk_score" and (.value | tonumber) > 7)) | .name' crypto-bom.json
Rapports de conformité
# Generate NIST compliance report
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
Exemples d'intégration
Différentiel CBOM et suivi des changements
Suivre les changements dans le temps
Bonnes pratiques
Bonnes pratiques CBOM
Versionnez vos CBOM
Utilisez le versionnage sémantique pour le suivi
Stockez avec le code source
Conservez les CBOM à côté de votre base de code
Automatisez les analyses régulières
Planifiez une génération de CBOM hebdomadaire via cron
Incluez dans les releases
Ajoutez le CBOM aux artefacts de release
Normes et conformité
Spécification CycloneDX 1.7
Le PQC Scanner génère des CBOM conformes à :
- OWASP CycloneDX 1.7 - Spécification complète
- NIST SSDF - Secure Software Development Framework
- Directives SBOM de la CISA - Exigences pour les infrastructures critiques
- Executive Order 14028 - Improving the Nation's Cybersecurity
Norme des propriétés cryptographiques
Suit les extensions cryptographiques de CycloneDX :
Sections prises en charge
Dépannage
Voir aussi
Assistance
Besoin d'aide avec le CBOM ?
- Documentation : https://docs.duokey.com/dke-scanner-agent/cbom
- Communauté : https://community.duokey.com/t/cbom
- Problèmes : https://github.com/duokey/dke-scanner-agent/issues
- E-mail : [email protected]