-
-
Notifications
You must be signed in to change notification settings - Fork 81
CBOM 2.0 features #769
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CBOM 2.0 features #769
Conversation
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>
Signed-off-by: Basil Hess <bhe@zurich.ibm.com>
There was a problem hiding this 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
implementationPlatformfrom single string to array to support multiple platforms - Added
keyUsageproperty to cryptographic and related crypto material properties for usage specifications (CIPHER, SIGN, VERIFY, WRAP, UNWRAP, etc.) - Added
secPropertiesto 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.algorithmReffrom 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.
stevespringett
left a comment
There was a problem hiding this 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>
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>
Implement the following features for CBOM v2.0 as described in #738
(open string array with examples: CIPHER, SIGN, VERIFY, WRAP, UNWRAP, etc.)
(open string array with examples: IND-CPA, IND-CCA, SUF-CMA, EUF-CMA, etc.)
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