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
Detail client-constructed landmark-relative construction
Flesh out how a party holding a standalone certificate constructs a
landmark-relative certificate for the same entry, and cross-reference
the MTC-TLOG profile from the log-serving and cost discussions.
Copy file name to clipboardExpand all lines: draft-ietf-plants-merkle-tree-certs.md
+15-3Lines changed: 15 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1052,7 +1052,7 @@ This protocol aims to enable monitors to detect misissued certificates by observ
1052
1052
1053
1053
This document does not prescribe a particular method of observing the issuance log. The access protocols do not affect certificate interoperability, and different applications may have different needs. For example, a PKI that authenticates public services might publicly serve issuance logs, while a PKI that authenticates a single organization's intranet services might keep the log private to the organization. Relying parties SHOULD define log serving requirements, including the allowed protocols and expected availability, as part of their policies on which CAs to support. See also {{log-availability}}.
1054
1054
1055
-
For example, a log ecosystem could use {{TLOG-TILES}} to serve logs. {{TLOG-TILES}} improves on {{?RFC6962}} and {{?RFC9162}} by exposing the log as a collection of cacheable, immutable "tiles". This works well with a variety of common HTTP {{?RFC9110}} serving architectures. It also allows log clients to request arbitrary tree nodes, so log clients can fetch the structures described in {{subtrees}}.
1055
+
For example, a log ecosystem could use {{TLOG-TILES}} to serve logs; {{MTC-TLOG}} defines such a profile for Merkle Tree Certificates. {{TLOG-TILES}} improves on {{?RFC6962}} and {{?RFC9162}} by exposing the log as a collection of cacheable, immutable "tiles". This works well with a variety of common HTTP {{?RFC9110}} serving architectures. It also allows log clients to request arbitrary tree nodes, so log clients can fetch the structures described in {{subtrees}}.
1056
1056
1057
1057
### Log Pruning
1058
1058
@@ -1422,7 +1422,19 @@ Given the inputs in {{certificate-inputs}} and a landmark sequence, a landmark-r
1422
1422
1423
1423
Before sending this certificate, the authenticating party SHOULD obtain an application-protocol-specific signal that implies the relying party has been configured with the corresponding landmark. ({{trusted-subtrees}} defines how relying parties are configured.) The trust anchor ID of the landmark may be used as an efficient identifier in the application protocol. {{use-in-tls}} discusses how to do this in TLS {{!RFC8446}}.
1424
1424
1425
-
The procedure above is not specific to the CA. Any party with access to the certificate inputs ({{certificate-inputs}}), the issuance log, and the landmark sequence can construct a landmark-relative certificate. {{MTC-TLOG}} describes such a procedure for an authenticating party holding a standalone certificate, in log ecosystems based on {{TLOG-TILES}}.
1425
+
The procedure above is not specific to the CA. Any party with access to the certificate inputs ({{certificate-inputs}}), the issuance log, and its landmark sequence can construct a landmark-relative certificate. In particular, a party holding a standalone certificate ({{standalone-certificates}}) for an entry can construct a landmark-relative certificate for the same entry, without any CA-specific issuance service, as follows:
1426
+
1427
+
1. Recover the certificate inputs ({{certificate-inputs}}) from the standalone certificate. The TBSCertificateLogEntry fields and subject public key are those of the standalone certificate, and the log entry's `extensions` are carried in the standalone certificate's MTCProof ({{certificate-format}}). The CA ID is the certificate's issuer ({{ca-ids}}), and the log number and entry index are recovered from the serial number, which is `(log_number << 48) | index` ({{certificate-format}}).
1428
+
1429
+
1. Obtain the CA's landmark sequence, for example from its published active landmarks ({{publishing-landmarks}}).
1430
+
1431
+
1. Produce the subtree inclusion proof ({{subtree-inclusion-proofs}}) by reading the necessary hashes directly from the issuance log ({{issuance-logs}}). A party that is aware of a mirror of the issuance log MAY read these hashes from the mirror instead.
1432
+
1433
+
1. Construct the landmark-relative certificate following the steps above, selecting the landmark subtree that covers the entry and using no signatures. The result copies every field of the standalone certificate except the `signatureValue`: its MTCProof instead describes the selected landmark subtree and its inclusion proof, and has an empty `signatures` field.
1434
+
1435
+
To use such a certificate, the party configures certificate selection as for any landmark-relative certificate ({{use-in-tls}} describes this for TLS). The certificate's landmark trust anchor ID and its single-log landmark group ({{single-log-landmark-groups}}) follow directly from the CA ID, log number, and landmark number. However, if the PKI also uses timestamped landmark groups ({{timestamped-landmark-groups}}) spanning multiple CAs, configuring the corresponding group inclusions requires knowledge of those group definitions, which is not derivable from the issuance log and must be obtained out of band.
1436
+
1437
+
The CA does not need to perform any per-entry work to enable this: the landmark sequence and inclusion proof hashes are exactly those already published by the issuance log. {{MTC-TLOG}} specifies this construction for log ecosystems based on {{TLOG-TILES}}, including where to fetch the landmark sequence and the inclusion proof hashes.
1426
1438
1427
1439
## Size Estimates
1428
1440
@@ -1711,7 +1723,7 @@ As an alternative to fetching the landmark-relative certificate from the ACME se
1711
1723
1712
1724
While Merkle Tree certificates expect CAs to operate logs, the costs of these logs are expected to be much lower than a CT log from {{?RFC6962}} or {{?RFC9162}}:
1713
1725
1714
-
{{publishing-logs}} does not constrain the API to the one defined in {{?RFC6962}} or {{?RFC9162}}. If the PKI uses a tile-based protocol, such as {{TLOG-TILES}}, the issuance log benefits from the improved caching properties of such designs.
1726
+
{{publishing-logs}} does not constrain the API to the one defined in {{?RFC6962}} or {{?RFC9162}}. If the PKI uses a tile-based protocol, such as {{TLOG-TILES}} (profiled for Merkle Tree Certificates in {{MTC-TLOG}}), the issuance log benefits from the improved caching properties of such designs.
1715
1727
1716
1728
Unlike a CT log, an issuance log does not have public submission APIs. Log entries are only added by the CA directly. Costs are thus expected to scale with the CA's own issuance.
0 commit comments