-
-
Notifications
You must be signed in to change notification settings - Fork 83
Description
Describe the feature
Goal:
Transition the CycloneDX JSON signature implementation from JSON Signature Format (JSF) to the formally standardized JSON Signature Scheme (JSS) as defined in ITU-T X.590.
Problem Statement:
While CycloneDX currently utilizes the JSON Signature Format (JSF), it is important to note that JSF was never ratified as a formal standard. The JSF specification has since been updated and evolved into the JSON Signature Scheme (JSS), which achieved formal international standardization through the ITU as ITU-T X.590. This transition ensures that CycloneDX integrity mechanisms are anchored in a recognized, stable framework.
Value Proposition:
Standardization: Anchors CycloneDX integrity in a formal International Standard.
Regulatory Compliance: Simplifies adoption in sectors requiring ITU/ISO-level certification.
Consistency: Aligns with parallel efforts in the SPDX community.
Scope:
Limited to the signature object within the CycloneDX JSON Schema and associated references.
Possible solutions
TBD
Alternatives
TBD
Additional context
This proposal is a result of research and coordination within the OpenSSF SBOM Everywhere SIG and the SBOM Signing Best Practices initiative (GitHub). The shift from JSF to JSS (ITU-T X.590) addresses the need for a formally standardized signing mechanism.
Community Alignment
OpenSSF: Initially developed within the OpenSSF SBOM Everywhere SIG.
SPDX Alignment: This proposal has been presented on the SPDX Tech Call. SPDX is currently evaluating adding JSS-based signatures to their 3.0 data model (see SPDX Model Issue #1065 and SPDX Spec Issue #1362).
Interoperability: Adopting JSS (ITU-T X.590) drives consistency between CycloneDX and SPDX, significantly reducing the burden on tooling vendors who support both formats.
Technical Foundation
Canonicalization: JSS utilizes JSON Canonicalization Scheme (JCS - RFC 8785), maintaining consistency with existing JSF-based implementations in CycloneDX.
Standard Evolution: This move transitions CycloneDX from a community-led specification to an International Standard (ITU-T), which is critical for adoption in highly regulated sectors.
Stakeholder Engagement
The rationale for this transition was discussed with core authors and maintainers of these standards. Notable insights were provided by:
- Steve Springett (@stevespringett) – CycloneDX Chair
- Anders Rundgren (@cyberphone) – Author of JSF / Co-Author of JCS
- Bret Jordan (@jordan2175) – Co-Author of JCS and JSS (ITU-T X.590)
References
https://github.com/shiftleftcyber/sbom-signing-best-practices
https://cyclonedx.org/docs/1.7/json/#signature
https://spdx.dev/use/specifications/
https://cyberphone.github.io/doc/security/jsf.html
https://www.rfc-editor.org/rfc/rfc8785
https://www.itu.int/rec/T-REC-X.590-202310-I/en
spdx/spdx-3-model#1065 (comment)
spdx/spdx-spec#1362
https://www.linkedin.com/posts/j28smith_openssf-sbom-supplychainsecurity-activity-7426752007064985600-5cMX/