1
1
# Trusting digital signatures in TEA
2
2
3
- Software transparency is a lot about trust. Within the
4
- API documents need to be signed with an electronic
3
+ Software transparency requires a trust platform so that users
4
+ can validate the information and artefacts published. Given
5
+ the situation today any information published is better than
6
+ none, so the framework for digital signatures will not
7
+ be mandatory for API compliance. Implementations may
8
+ require all published information to be signed and
9
+ validated.
10
+
11
+ Within the
12
+ API documents can be signed with an electronic
5
13
signature. CycloneDX boms supports signatures within
6
14
the JSON file, but other artefacts may need external
7
- signature files.
15
+ signature files, a detached signature .
8
16
9
17
- __ Integrity__ : Documents dowloaded needs to be the same
10
18
as documents published
@@ -15,14 +23,15 @@ signature files.
15
23
- A TEA server may want to verify that published
16
24
documents are signed by the expected publisher
17
25
and that signatures are valid.
18
-
19
- In order to sign, a pair of asymmetric keys will be needed.
20
- The public key is used to create a certificate, signed
21
- by a certificate authority (CA).
22
26
23
- A software publisher may buy CA services from a commercial vendors
24
- or set up an internal solution. The issue with that is that external
25
- parties do not automatically trust that internal PKI.
27
+ In order to sign an object, a pair of asymmetric keys will be
28
+ needed. The public key is used to create a certificate, signed
29
+ by a certificate authority (CA). The private key is used for
30
+ signing and needs to be protected.
31
+
32
+ A software publisher may buy CA services from a commercial vendor
33
+ or set up an internal solution. The issue with internal PKIs is that
34
+ external parties do not automatically trust that internal PKI.
26
35
27
36
This document outlines a proposal on how to build that trust and
28
37
make it possible for publishers to use an internal PKI. It is
@@ -40,28 +49,36 @@ the TLS server certificate to make sure that the certificate name
40
49
(CN or Subject Alt Name) matches the host part of the URI.
41
50
42
51
If the certificate validates properly, the API can be trusted.
43
- The server is the right server. This trust can be used to
44
- implement trust in a private PKI used to sign documents.
52
+ Validation proves that the server is the right server for the
53
+ given host name in the URL. This trust can be used to
54
+ implement trust in a private PKI used to sign documents. In
55
+ addition, trust anchors can be published in DNS as an extra
56
+ level of validation.
45
57
46
58
## Getting trust anchors
47
59
48
60
Much like the EST protocol, the TEA protocol can be used
49
61
to download trust anchors for a private PKI. These are
50
- PEM-encoded certificates that are in one text file.
62
+ PEM-encoded certificates in one single text file.
51
63
52
64
The TEA API has a ` /trust-anchors/ ` API that will download
53
65
the current trust anchor APIs. This file is not signed,
54
- that would cause a chicken-and-egg problem.
66
+ that would cause a chicken-and-egg problem. The certificates
67
+ in the file are all signed.
68
+
69
+ An implementation should download these and apply them only
70
+ for this service, not in global scope. A PKI valid for example.com
71
+ is not valid for example.net.
55
72
56
73
## Validating the trust anchors using DNSsec (DANE)
57
74
58
75
## Digital signatures
59
76
60
77
### Digital signatures as specified for CycloneDX
61
78
62
- "Digital signatures may be applied to a BOM or to an assembly within a BOM.
63
- CycloneDX supports XML Signature, JSON Web Signature (JWS), and JSON Signature Format (JSF).
64
- Signed BOMs benefit by providing advanced integrity and non-repudiation capabilities."
79
+ > "Digital signatures may be applied to a BOM or to an assembly within a BOM.
80
+ > CycloneDX supports XML Signature, JSON Web Signature (JWS), and JSON Signature Format (JSF).
81
+ > Signed BOMs benefit by providing advanced integrity and non-repudiation capabilities."
65
82
<https://cyclonedx.org/use-cases/#authenticity>
66
83
67
84
### External (detached) digital signatures for other documents
0 commit comments