|
1 | 1 | # Introduction
|
2 | 2 |
|
3 |
| -CBOM: |
4 |
| -NIST: |
5 |
| -SP: https://www.nccoe.nist.gov/sites/default/files/2023-12/pqc-migration-nist-sp-1800-38b-preliminary-draft.pdf |
6 |
| -Lines 536 and 952 onwards |
7 |
| -as part of NCCOE effort |
8 |
| -Apache 2.0 - attribute IBM |
| 3 | +A Cryptography Bill of Materials (CBOM) is an object model to describe cryptographic assets and their dependencies. |
| 4 | +Support for CBOM is included in CycloneDX v1.6 and higher. Discovering, managing, and reporting on cryptographic assets |
| 5 | +is necessary as the first step on the migration journey to quantum-safe systems and applications. Cryptography is |
| 6 | +typically buried deep within components that are used to compose and build systems and applications. It makes sense to |
| 7 | +minimize this effort through alignment and reuse of concepts and components used to implement the Software Supply Chain |
| 8 | +Security (SSCS). |
9 | 9 |
|
| 10 | +## CBOM Design |
| 11 | +The overall design goal of CBOM is to provide an abstraction that allows modeling and representing crypto assets in a |
| 12 | +structured object format. This comprises the following points. |
10 | 13 |
|
| 14 | +1. Modelling cryptographic assets |
| 15 | + Cryptographic assets occur in several forms. Algorithms and protocols are most commonly implemented in specialized cryptographic libraries. They may, however, also be 'hardcoded' in software components. Certificates and related cryptographic material like keys, tokens, secrets, or passwords are other cryptographic assets to be modeled. |
11 | 16 |
|
| 17 | +2. Capturing cryptographic asset properties |
| 18 | + Cryptographic assets have properties that uniquely define them and that make them actionable for further reasoning. For example, it makes a difference if one knows the algorithm family (e.g. AES) or the specific variant or instantiation (e.g. AES-128-GCM). This is because the security level and the algorithm primitive (authenticated encryption) are only defined by the definition of the algorithm variant. The presence of a weak cryptographic algorithm like SHA1 vs. HMAC-SHA1 also makes a difference. Therefore, the goal of CBOM is to capture relevant cryptographic asset properties. |
12 | 19 |
|
| 20 | +3. Capturing crypto asset dependencies |
| 21 | + To understand the impact of a cryptographic asset, it is important to capture its dependencies. Cryptographic libraries 'implement' certain algorithms and protocols, but their implementation alone does not reflect their usage by applications. CBOM, therefore, differentiates between 'implements' and 'uses' dependencies. It is possible to model algorithms or protocols that use other algorithms (e.g., TLS 1.3 uses ECDH/secp256r1), libraries that implement algorithms, and applications that 'use' algorithms from a library. |
13 | 22 |
|
14 |
| -CycloneDX Attestations is a modern standard for security compliance. CycloneDX Attestations enable organizations with a machine-readable format for communication about security standards, claims and evidence about security requirements, and attestations to the veracity and completeness of those claims. You can think of Attestations as a way to manage "compliance as code." The Attestations project began in 2023 as part of the broader CycloneDX project. |
| 23 | +4. Applicability to various software components |
| 24 | + CycloneDX supports various components such as applications, frameworks, libraries, containers, operating systems, devices, firmware, and files. CBOM extends this model and can communicate a component's dependency on cryptographic assets. |
15 | 25 |
|
16 |
| -CycloneDX Attestations is a part of the OWASP CycloneDX project. CycloneDX is an OWASP flagship project, has a formal standardization process and governance model, and is supported by the global information security community. |
| 26 | +5. High compatibility to CycloneDX SBOM and related tooling |
| 27 | + CBOM is native to the CycloneDX standard. It integrates cryptographic assets as an additional component type in the CycloneDX schema and further extends dependencies with the ability to specify dependency usage and implementation details. CBOM data can be present in existing SBOMs or externalized into dedicated CBOMs, thus creating modularity, which may optionally have varying authentication and authorization requirements. |
17 | 28 |
|
18 |
| -## Intended Audience |
19 |
| -CycloneDX Attestations is intended for use by: |
20 |
| -* Software development teams that want to meet security requirements and automate security evidence generation and communication |
21 |
| -* Security teams that want to ensure the security and compliance of software projects being created, and manage the compliance process with assessors. |
22 |
| -* Executives who are required to attest to their compliance with security standards. |
23 |
| -* Security assessors that want to have a standard way of processing compliance documentation and tracking compliance. |
24 |
| -* Security tool providers that build software for managing compliance processes. |
25 |
| -* Security standard creators that want to create a machine-readable version of their requirements. |
26 |
| - |
27 |
| -## Problem Statement |
28 |
| -Currently, organizations use a variety of paper-based and non-standard electronic documents to communicate about security requirements, evidence, and attestation. The labor required to create, process, manage, update, and track these documents is expensive, labor-intensive, and often overwhelming. Not surprisingly, the results are generally underwhelming. There are often large gaps between what the original requirement envisioned and the argument presented by the software producer. Similarly, assessors often misinterpret requirements and focus on minutae instead of the intent of the original requirement. |
29 |
| - |
30 |
| -The problem is so bad there are endless [articles](https://www.google.com/search?q=compliance+is+not+security) explaining why compliance is not the same as security. This is unfortunate. If the security requirements really represented the shared security interests of all stakeholders, then security and compliance would be aligned. Unfortunately, in most cases, at least some of the requirements make no sense to apply to the product, and many critical aspects of security are not reflected in the requirements. |
31 |
| - |
32 |
| -The root cause of these issues is a fundamental communications problem. Security requirements don't often match up well with the expected threats for a particular real-world system and its defenses. Further, security requirements are often far too abstract for development organizations to clearly understand what they must do with their particular organization, processes, and technologies. The assessors that should be facilitating the interpretation of the requirements in the context of the actual system are often relegated to strict interpretation of the words in vague, high-level requirements. |
33 |
| - |
34 |
| -Our challenge is to encourage standards bodies, builders, and assessors to communicate effectively. All the parties need a way to ensure that the *intent* of each requirement is applied appropriately to a particular product or system and achieved with confidence. |
35 |
| - |
36 |
| -## How CycloneDX Attestations Addresses Challenge |
37 |
| -Of course, CycloneDX Attestations can't solve this problem entirely. However, by allowing all parties to communicate in a standard machine-readable format, we hope to encourage more productive interaction and far less paperwork. |
38 |
| - |
39 |
| -We believe: |
40 |
| - |
41 |
| -* The use of machine-readable standards in Attestations format will encourage faster and deeper understanding by all parties. |
42 |
| -* The Attestations claims and evidence approach will allow development organizations to articulate their compliance rationale quickly and clearly |
43 |
| -* The use of Attestations will enable all forms of assessors, certifiers, and accreditors to more quickly evaluate compliance and provide feedback to producers |
44 |
| -* Attestations will enable faster compliance feedback loops and less surprises and delays |
45 |
| - |
46 |
| -## Intended Use Cases |
47 |
| -// TODO |
48 |
| -// * Supplier to consumer use case where the consumer requires adherence to something (e.g. SSDF) |
49 |
| -// * Internal use case where an internal policy is created from requirements defined in CDXA |
50 |
| -// * Regulatory and industry compliance requirements |
51 |
| - |
52 |
| -## Tool Support |
53 |
| - |
54 |
| -Over time, we expect better tools for managing all aspects of security attestation to emerge. As a producer, imagine being able to select appropriate standards for a project, eliminate duplication, articulate compliance rationales, automatically generate and include supporting evidence, manage reviews, and digitally sign attestations. From the assessor point of view, imagine being able to quickly evaluate claims and evidence, easily identify changes, point out gaps, and digitally sign approvals. |
55 |
| - |
56 |
| -## Join Us |
57 |
| - |
58 |
| -If you are interested in using CycloneDX Attestations or want to help us realize our vision, please join us! |
59 |
| - |
60 |
| -https://www.youtube.com/@CycloneDX |
61 |
| -https://owasp.org/www-project-cyclonedx/ |
62 |
| -https://cyclonedx.org/about/participate/ |
| 29 | +6. Enable automatic reasoning |
| 30 | + CBOM enables tooling to reason about cryptographic assets and their dependencies automatically. This allows checking for compliance with policies that apply to cryptographic use and implementation. |
63 | 31 |
|
64 | 32 | <div style="page-break-after: always; visibility: hidden">
|
65 | 33 | \newpage
|
|
0 commit comments