You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A complete example can be found at [https://cyclonedx.org/shortcut/example/key](https://cyclonedx.org/shortcut/example/key)
119
+
146
120
147
121
## Protocol
148
-
A cryptographic protocol is added to the components array of the BOM. The example below lists an instance of the protocol TLS v1.2 with a number of TLS cipher suites.
122
+
The following example lists an instance of the TLS v1.2 protocol with a number of cipher suites.
149
123
150
124
```json
151
125
"components": [
@@ -171,7 +145,7 @@ A cryptographic protocol is added to the components array of the BOM. The exampl
| dependsOn | The bom-ref identifiers of the components or services that are dependencies of this dependency object. |
16
+
| provides | The bom-ref identifiers of the components or services that define a given specification or standard, which are provided or implemented by this dependency object. For example, a cryptographic library which implements a cryptographic algorithm. A component which implements another component does not imply that the implementation is in use. |
17
+
18
+
19
+
The dependency type, dependsOn, is leveraged by classic SBOMs to define a complete graph of direct and transitive
20
+
dependencies. However, for cryptographic and similar assets, "provides" allows for many additional use cases.
21
+
22
+

23
+
24
+
The example shows an application (nginx) that uses the libssl cryptographic library. This library implements the TLSv1.2 protocol. The relationship between the application, the library and the protocol can be expressed by using the depenedencies properties of the SBOM standard.
25
+
26
+
Since a TLS protocol supports different cipher suites that include multiple algorithms, there should be a way to represent these relationships as part of the CBOM. Compared to adding the algorithms as "classic" dependencies to the protocol, we defined special property fields that allow referencing the deployment with additional meaning. The protocolProperties allow adding an array of algorithms to a cipher suite as part of the cipher suite array. By modeling and then referencing these algorithms, we can still have only one classical component at the SBOM level, but a subtree of crypto dependencies within the crypto asset components.
27
+
28
+
The following example illustrates a simple application with a dependency on a cryptographic library, which in turn,
29
+
implements AES-128-GCM. The cryptographic library also has a dependency on another library.
0 commit comments