Skip to content
Ashish.
All posts
Diagram showing the relationship between SBOM and CBOM layers in software supply chain security.
6 min readSecuritySecurity Engineers, ArchitectsFeatured#cbom#sbom#cyclonedx#post-quantum#crypto-security#supply-chain-security

SBOM and CBOM: Cryptographic Bills of Materials

Explore how Cryptographic Bills of Materials (CBOM) extend Software Bills of Materials (SBOM) to map cryptographic assets, supporting CycloneDX and post-quantum readiness.

By Ashish KumarPart 11 of Machine Identity & DevSecOps Series

The Missing Layer: Why SBOMs Aren’t Enough for Crypto Security

Software Bills of Materials (SBOMs) have become the industry standard for supply chain transparency. When a vulnerability like Log4Shell emerges, security teams can quickly query their SBOM to identify affected systems. However, an SBOM tells you what software is running, not how that software secures data. This distinction is critical in an era where cryptographic failures are common and post-quantum computing looms.

Enter the Cryptographic Bill of Materials (CBOM). While an SBOM lists components, a CBOM maps the cryptographic assets within those components—algorithms, keys, protocols, and parameters. For security engineers and architects, the CBOM is the mechanism that enables true crypto-agility and prepares organizations for the quantum threat.

The Opacity Problem in Standard SBOMs

A standard SBOM, such as one generated in CycloneDX or SPDX format, provides a structured inventory of software components. It might list openssl, libcurl, and spring-boot. This information is valuable for patching known vulnerabilities in code. However, it lacks cryptographic context.

Consider two instances of openssl in your inventory. One might be configured to use TLS 1.2 with RSA-2048, while another uses TLS 1.3 with Elliptic Curve Diffie-Hellman (ECDHE). An SBOM does not distinguish between them. This opacity creates two major risks:

  1. Compliance Blind Spots: Regulations like FIPS 140-2/3 require specific approved algorithms. Without knowing which algorithms are in use, you cannot prove compliance.
  2. Vulnerability Misalignment: A vulnerability in a cryptographic library (e.g., Heartbleed) affects the implementation, but the impact depends on the algorithm and key usage. An SBOM alone cannot assess the cryptographic risk surface.

How CBOMs Extend the SBOM Mechanism

A CBOM is not a replacement for an SBOM; it is a specialized extension. It adds a layer of metadata that describes the cryptographic resources used by each component. According to emerging industry frameworks, a CBOM maps cryptographic functions to specific software artifacts. This metadata layer enables security engineers to automate compliance checking by correlating algorithm usage with regulatory requirements, and to correlate vulnerabilities more precisely by linking CVEs to specific cryptographic primitives rather than just package names.

The mechanism works by attaching cryptographic attributes to the components listed in the SBOM. For each component, the CBOM specifies:

  • Algorithms: The specific cryptographic primitives used (e.g., AES-256-GCM, SHA-256, RSA-OAEP).
  • Parameters: Key lengths, curve names (e.g., P-256, X25519), and hash iterations.
  • Protocols: The versions of protocols implemented (e.g., TLS 1.2, SSHv2).
  • Key Management: How keys are stored, generated, and rotated (e.g., HSM, software store, hardcoded).

CycloneDX has begun addressing this with evolving specifications for cryptographic resources. In a CycloneDX JSON document, a component can include a cryptoProperties section that details these attributes. This allows tools to automatically scan binaries and source code to extract cryptographic constants, building a graph of crypto dependencies.

{
  "component": {
    "name": "my-app",
    "type": "library",
    "cryptoProperties": {
      "algorithms": [
        {
          "name": "AES",
          "variant": "GCM",
          "keySize": 256
        }
      ],
      "protocols": [
        {
          "name": "TLS",
          "version": "1.2"
        }
      ]
    }
  }
}

This structure enables automated risk assessment. If a new vulnerability is discovered in AES-GCM implementations, the CBOM allows you to filter for only those components using AES-256-GCM, ignoring those using RSA or ChaCha20.

##POST_IMAGE_BLOG_MARKER_START##

Post-Quantum Readiness: From Guesswork to Surgery

The most compelling use case for CBOMs is post-quantum migration. Quantum computers, once sufficiently powerful, will break widely used public-key cryptosystems like RSA and ECC using Shor’s algorithm. This threat is not theoretical; it is a matter of when, not if.

Organizations must migrate to Post-Quantum Cryptography (PQC) algorithms standardized by NIST, such as CRYSTALS-Kyber (key encapsulation) and CRYSTALS-Dilithium (digital signatures). However, this migration is complex because cryptographic algorithms are often embedded deep in transitive dependencies.

Without a CBOM, identifying all instances of RSA or ECC in your software stack is a manual, error-prone process. You might miss a legacy library that still uses RSA-2048 for certificate validation. With a CBOM, the process becomes surgical:

  1. Inventory: The CBOM automatically identifies all components using vulnerable algorithms (RSA, ECC).
  2. Impact Analysis: It shows which protocols and data flows rely on these algorithms.
  3. Targeted Update: Engineers can prioritize updates for the most critical or exposed components.

This approach reduces the attack surface during migration. If you update only some components, you risk creating interoperability issues or leaving weak links. A CBOM ensures a complete view of the cryptographic landscape, allowing for a coordinated transition.

Building and Maintaining the CBOM

Generating a CBOM requires automated tooling that can parse software artifacts. Unlike SBOMs, which often rely on package managers, CBOMs require analysis of compiled binaries and source code to extract cryptographic constants. Tools like Syft and Grype can be extended to detect cryptographic libraries and their configurations.

However, maintaining a CBOM is an ongoing process. Cryptographic configurations change with every update. A new version of a library might switch from RSA to ECC, or a configuration file might disable weak hashes. Therefore, CBOMs must be integrated into the CI/CD pipeline, generated on every build, and compared against previous versions to detect changes.

Conclusion

SBOMs are necessary for supply chain security, but they are insufficient for cryptographic security. The CBOM fills this gap by providing visibility into the algorithms and parameters that protect your data. As we move toward a post-quantum world, the CBOM becomes the essential map for navigating the migration. By adopting CBOMs, security engineers can move from reactive patching to proactive cryptographic management, ensuring that their software remains secure today and tomorrow.

The mechanism is clear: map the crypto, understand the risk, and plan the migration. Without a CBOM, you are flying blind. With it, you have a roadmap.

Common Pitfalls

  1. Assuming SBOMs are sufficient for crypto compliance: An SBOM lists components but rarely their cryptographic configurations, leading to false confidence in regulatory compliance.
  2. Ignoring transitive dependencies in crypto libraries: Vulnerabilities often reside in deep dependencies that are not explicitly declared in the root project's manifest.
  3. Failing to update CBOMs in CI/CD pipelines: Static CBOMs quickly become obsolete; without continuous generation, they provide a snapshot that is already outdated by the time it is reviewed.

Practical Takeaways

  • Integrate CBOM generation into your CI/CD pipeline to ensure continuous visibility into cryptographic assets.
  • Map crypto assets to compliance requirements early to identify gaps before audits.
  • Plan for post-quantum algorithm migration now, using the CBOM to identify vulnerable components.

FAQ

Is CBOM a replacement for SBOM? No. A CBOM is an extension of an SBOM. It relies on the SBOM for the list of components but adds the necessary cryptographic metadata to understand how those components secure data.

How does CBOM help with post-quantum migration? A CBOM provides an inventory of all components using vulnerable algorithms like RSA and ECC. This allows organizations to precisely identify which systems need to be updated to post-quantum standards, reducing the risk of missed dependencies.

What tools support CBOM generation? Tools like Syft and Grype can be extended to detect cryptographic libraries and configurations. CycloneDX provides specifications and tools that support the extraction and representation of cryptographic properties within the SBOM structure.

Related posts