Skip to content

Conversation

@bhess
Copy link
Contributor

@bhess bhess commented Jan 7, 2026

Implement the following features for CBOM v2.0 as described in #738

  • Change implementationPlatform to array to support multiple platforms
  • Add keyUsage property to cryptoProperties and relatedCryptoMaterialProperties
    (open string array with examples: CIPHER, SIGN, VERIFY, WRAP, UNWRAP, etc.)
  • Add secProperties to algorithmProperties for security properties
    (open string array with examples: IND-CPA, IND-CCA, SUF-CMA, EUF-CMA, etc.)
  • Extend evidence/occurrences with system metadata: accountInfo, systemOwner
  • Extend evidence/occurrences with process metadata: startTime, endTime, usageCount
  • Change securedBy.algorithmRef to array of refs to support linking multiple
    securing assets (algorithms, hardware, keys, etc.)

Fixes #738

Adds support for pss in cryptoProperties.algorithmProperties.padding
Fixes #747

Adds support for key agreement or exchange in cryptoProperties.algorithmProperties.cryptoFunctions
Fixes #748

Adds support for additional cipher modes in cryptoProperties.algorithmProperties.mode
Fixes #749

Implement the following features for CBOM v2.0:

- Change implementationPlatform to array to support multiple platforms
- Add keyUsage property to cryptoProperties and relatedCryptoMaterialProperties
  (open string array with examples: CIPHER, SIGN, VERIFY, WRAP, UNWRAP, etc.)
- Add secProperties to algorithmProperties for security properties
  (open string array with examples: IND-CPA, IND-CCA, SUF-CMA, EUF-CMA, etc.)
- Extend evidence/occurrences with system metadata: accountInfo, systemOwner
- Extend evidence/occurrences with process metadata: startTime, endTime, usageCount
- Change securedBy.algorithmRef to array of refs to support linking multiple
  securing assets (algorithms, hardware, keys, etc.)

Extend cryptoProperties.mode/padding/cryptoFunctions

Signed-off-by: Basil Hess <bhe@zurich.ibm.com>
@stevespringett stevespringett added this to the 2.0 milestone Jan 8, 2026
@stevespringett stevespringett self-assigned this Jan 8, 2026
Signed-off-by: Basil Hess <bhe@zurich.ibm.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements CBOM v2.0 features for improved cryptographic asset modeling. The changes extend the CycloneDX schema to support multiple implementation platforms, key usage specifications, security properties for algorithms, extended evidence metadata, additional cipher modes and padding schemes, key agreement functions, and multiple securing asset references.

Changes:

  • Changed implementationPlatform from single string to array to support multiple platforms
  • Added keyUsage property to cryptographic and related crypto material properties for usage specifications (CIPHER, SIGN, VERIFY, WRAP, UNWRAP, etc.)
  • Added secProperties to algorithm properties for formal security guarantees (IND-CPA, IND-CCA, SUF-CMA, EUF-CMA, etc.)
  • Extended evidence/occurrences with system metadata (accountInfo, systemOwner) and process metadata (startTime, endTime, usageCount)
  • Changed securedBy.algorithmRef from single reference to array supporting multiple securing assets
  • Added support for PSS padding, keyagree crypto function, and additional cipher modes (siv, gcm-siv, ocb, eax, kw, kwp, cts, xts)

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.

File Description
schema/2.0/model/cyclonedx-cryptography-2.0.schema.json Core schema changes for CBOM 2.0 features including platform arrays, keyUsage, secProperties, and algorithmRef arrays
schema/2.0/model/cyclonedx-component-2.0.schema.json Added system and process metadata fields to evidence/occurrences
schema/2.0/cyclonedx-2.0-bundled.schema.json Bundled schema reflecting all CBOM 2.0 changes
schema/2.0/cyclonedx-2.0-bundled.min.schema.json Minified bundled schema with all changes

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Member

@stevespringett stevespringett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double check to ensure that we're not missing any meta:enum properties for the new enums added.

…oFunctions and relatedCryptoMaterial/keyUsage

- Makes sure meta:enum descriptions are added for new definitions in the PR
- Adds riscv64/riscv32 to implementation platforms

Signed-off-by: Basil Hess <bhe@zurich.ibm.com>
@bhess
Copy link
Contributor Author

bhess commented Jan 22, 2026

Double check to ensure that we're not missing any meta:enum properties for the new enums added.

I've updated the PR, making sure the meta:enum properties are available for new enums added.

Signed-off-by: Steve Springett <steve@springett.us>
@stevespringett stevespringett merged commit 1c9fc9e into CycloneDX:2.0-dev Jan 22, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cap: cryptography Capability: Cryptography (CBOM) proposed core enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants