Cryptography Bill of Materials (CBOM)
Choose a format, discover all your cryptography — including the crypto nobody tracks — and make the inventory machine-verifiable.
Why this matters: You can't migrate crypto you can't see; a Cryptography Bill of Materials is the inventory every later phase depends on.
Start here: Tick the discovery tools you already run in the Source Coverage Mapper: the assets found in the sample estate, the per-layer gaps, the best next scanner and the hidden ghost assets update live.
For your role
- Executive / Business Leader
- The Source Coverage Mapper shows which discovery tools you already run and where the blind spots are: the inventory every later migration phase depends on, and the first thing an auditor asks for.
- GRC / Risk & Compliance
- Pick CycloneDX or SPDX for the CBOM, evaluate the inventory against a quantum-safe policy, and collapse four artifacts into one logical key by SPKI fingerprint: the machine-verifiable inventory the audit checklist's 'CBOM generated' item refers to.
- Developer / Engineer
- The Source Coverage Mapper reuses the scanners and build tooling you already run; the format step compares CycloneDX and SPDX for cryptographic assets, and the last step deduplicates keys by SPKI fingerprint.
- Security Architect
- Choose the BOM format, then evaluate the resulting inventory against a quantum-safe policy: the module shows what a CBOM has to carry for a migration decision to be made from it.
- IT Ops / DevOps
- Map your existing discovery sources first, then evaluate the inventory against policy: the gaps are the systems nobody's scanner covers, which is where key rotations fail.
Why a CBOM, and where Phase 2 sits
● standardA Cryptography Bill of Materials (CBOM) is a machine-readable inventory of every cryptographic asset — algorithms, keys, certificates, protocols and their configurations — and how they relate to software components. It extends the SBOM: the SBOM lists your software, the CBOM lists the cryptography inside it.
In the migration lifecycle it is Phase 2: discovery (Phase 1) feeds the CBOM, and risk scoring (Phase 3) consumes it. A bare list of algorithms isn't enough — the value is a CBOM you can query and rank.
◆ practitionerStart with a Minimum Viable CBOM: capture the fields you need to prioritise (algorithm, where it's used, what it protects, owner), not a perfect catalogue. Regulators are converging on the same expectation: the EU's NIS Cooperation Group roadmap (v1.1, 11 Jun 2025) sets an end-2026 milestone for Member States whose first steps include mature cryptographic asset management, saying they “should promote and support that useful cryptographic inventories are being created and maintained” and naming CBOM as a recommended format. It is guidance to Member States rather than a direct obligation on you — but it is what national rules will be built from.
Formats & governance: CycloneDX vs SPDX
● standardTwo BOM standards compete, with different stewards: CycloneDX (OWASP; standardized as ECMA-424, current spec v1.7) and SPDX (Linux Foundation; ISO/IEC 5962; v3.0.1).
The decider for a CBOM: SPDX 3.0.1 has no dedicated cryptography object model yet, so CycloneDX is the practical choice today. CycloneDX 1.7 adds a Cryptography Registry (consistent algorithm-family and curve naming) built for PQC-readiness reviews.
● standardThe PKI Consortium CBOM-Profiles Working Group (launched 8 Jun 2026) is building a neutral methodology so a CBOM profile maps onto both formats — the format-neutral future.
Find all the crypto: layered discovery
◆ practitioner“Ghost” crypto is every cryptographic use that isn't in any inventory — shadow-IT services, forgotten-but-live certs, hardcoded algorithms, embedded/OT crypto, default library crypto. A CBOM built only from known systems is falsely reassuring. You can't migrate what you can't find.
◆ practitionerReuse before you deploy. A new agent rollout is usually the real blocker. Pull from tools you already run as discovery sources — Qualys / Tenable / Rapid7 and on-host agents (which surface TLS endpoints, ciphers and certs), Venafi / Keyfactor / DigiCert for certificates — and scan net-new only where you are blind.
● standardNo single method finds it all — layer five: source code (sonar-cryptography / CBOMkit, IBM Quantum Safe Explorer), binary / container (CBOMkit-theia), network / traffic (passive handshake capture + active scanning), infrastructure / runtime (HSM/KMS, CLM, CT logs), and cloud (KMS/cert APIs + CSPM — no host to scan, provider-managed crypto, shared responsibility). Coverage = the union.
Estate mapping — what to record per instance
◆ practitionerFramework v2.1 Activity 1.3 defines 13 mandatory fields per cryptographic instance. Recording them consistently is what turns a raw discovery export into a queryable, risk-rankable backlog that Phase 3 can score and Phase 4 can sequence.
Linked to your CMDB — the anchor that ties the crypto instance to an owned, managed asset.
Key exchange, signing, encryption at rest, MAC, hashing — what the crypto is doing.
Fully qualified: RSA-2048, ECDHE-P256, AES-256-GCM. Avoid shorthand (e.g. "RSA") — the key size determines vulnerability.
Critical for quantum-vulnerability classification; a 1024-bit RSA key is more urgent than a 4096-bit one.
TLS 1.2 / 1.3, SSH 2.0, IPsec IKEv2, S/MIME — the transport context.
OpenSSL 3.0.12, BoringSSL, Java 17 JCA — the version determines upgrade path and CVE exposure.
Issuer, validity period, chain depth. Long-lived roots (20-year) are a TNFL risk; expiry gaps are a classical risk.
Ephemeral (per-session), short (1 year), long-lived (20-year root). Drives both HNDL and TNFL risk scoring.
Confidential / Restricted / Public — feeds the HNDL urgency calculation in Phase 3.
Shor-vulnerable (RSA, ECC, DH), Grover-weakened (symmetric, hashes), or neither. Set by algorithm + key size.
The team or person accountable for migrating this instance. No owner = no migration action.
Whether migration requires a vendor to ship a PQC-capable version. Flags Phase 7 vendor-orchestration work.
Full (control both endpoints), Partial (one endpoint only), or None (third-party managed). Determines migration feasibility.
Minimum Viable CBOM shortcut: if full capture is too slow, start with Algorithm + Key Size + Owner + Control Posture. Those four fields alone let you produce a prioritized remediation queue and unblock Phase 3 scoring for your highest-risk systems.
Key identity, provenance & where it's managed
◆ practitionerDiscovery finds artifacts; risk needs context. Attach to each key what it protects (+ confidentiality horizon = the HNDL input), its purpose (Track A vs B), location, owner, vendor-dependency, and active-vs-dormant. That enrichment turns an inventory into a risk-rankable backlog.
● standardTwo kinds of identifier. Assigned ids are local and don't correlate (PKCS#11 CKA_ID, KMIP Unique Identifier, KMS key-id, JWK kid). Content-derived ids do: the X.509 SKI / SPKI hash, KMIP Digest, JWK Thumbprint (RFC 7638), KCV for symmetric keys. Correlate “same key across HSM / cert / code / wire” on the SPKI fingerprint.
● standardAttestation proves a key's origin (generated in hardware, non-exportable) — HSM/TPM attestation, Android Key Attestation, FIDO2/WebAuthn; for PQC, attest generation in a FIPS 140-3-validated module. And record where the key is managed — software (exportable, sprawl-prone), HSM (non-exportable, attestable), or cloud KMS (API-mediated, envelope encryption) — it drives risk and migration feasibility.
Codifying & normalizing crypto
◆ practitionerOne mechanism has many names. ECDSA-P256-SHA256 is CKM_ECDSA_SHA256 to an HSM, OID 1.2.840.10045.4.3.2 to a certificate, ES256 to a JWT, and 0x0403 to TLS 1.3 — and the curve alone is P-256 = secp256r1 = prime256v1. Six codification layers (spec, OID, protocol code point, key-mgmt enum, library string, CBOM) with no shared key.
● standardPQC makes it worse. Each parameter set is its own algorithm: ML-DSA chose one OID per parameter set, parameters absent (id-ml-dsa-44/65/87, RFC 9881), so OIDs proliferate. Hybrid KEMs (X25519MLKEM768) and composite signatures each get their own identifier — combination × nomenclature.
● standardThe answer is to map every source onto a canonical model (the CycloneDX Cryptography Registry) while never over-collapsing security-relevant parameters (mode, padding, curve, hash). The PKIC CBOM-Profiles WG is the neutral venue maintaining this as registries keep moving.
For the full family/curve reference and a hands-on normalizer, see the dedicated CycloneDX Cryptography Registry module.
Make it machine-verifiable & protect it
● standardMachine-verifiable in practice = policy-as-code. CBOMkit runs an OPA/Rego check classifying each asset quantum-safe / quantum-vulnerable / na / unknown, queryable over a REST API. Normalized names (above) are what make the rules match reliably.
◆ practitionerSecure the CBOM. The CBOM plus the risk backlog is a map of your weakest cryptography — an attacker's shopping list. Protect it with access control and integrity, the way you would any sensitive asset inventory.
Related modules
Check your understanding
17 questions on Cryptography Bill of Materials (CBOM), each with its answer and the reason.
Take the quizNext step
Produce the artifact: Crypto BOM (CBOM) BuilderThis module belongs to phase 2 (CBOM); Crypto BOM (CBOM) Builder produces a deliverable of that phase in the Command Center.
Learning module content can be inaccurate. Please double-check its information. Report inaccuracies in PQC Today GitHub Discussions.