Skip to content

Commit 7391745

Browse files
authored
Merge pull request #255 from ietf-plants-wg/current-log-number
Define a CA's current issuance log and rules around that
2 parents a6b3f49 + 28054b1 commit 7391745

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

draft-ietf-plants-merkle-tree-certs.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -898,7 +898,7 @@ A CA consists of the following components:
898898

899899
* A collision-resistant cryptographic hash function, used by the CA's issuance logs. SHA-256 {{!SHS=DOI.10.6028/NIST.FIPS.180-4}} is RECOMMENDED. Throughout this document, this hash function is referred to as HASH, and the size of its output in bytes is referred to as HASH_SIZE.
900900

901-
* A series of issuance logs ({{issuance-logs}}), which contain all statements the CA has certified.
901+
* A series of issuance logs ({{issuance-logs}}), which contain all statements the CA has certified. One issuance log is designated as the current log.
902902

903903
* A CA cosigner ({{certification-authority-cosigners}}), which signs subtrees of issuance logs to certify their contents.
904904

@@ -948,7 +948,7 @@ For example, the distinguished name for a CA with ID `32473.1` would be represen
948948

949949
## Issuance Logs
950950

951-
A CA operates a series of issuance logs, each identified by a positive integer *log number*. Log numbers are numbered consecutively starting from 1. Each log number MUST be at most 65535 (2<sup>16</sup>-1).
951+
A CA operates a series of issuance logs, each identified by a positive integer *log number*. Log numbers are numbered consecutively from 1 to at most 65535 (2<sup>16</sup>-1).
952952

953953
Each issuance log has a *log ID*, which is a trust anchor ID constructed by concatenating the following OID components:
954954

@@ -966,6 +966,8 @@ Unlike {{?RFC6962}} and {{?RFC9162}}, an issuance log does not have a public sub
966966

967967
A snapshot of the log is known as a *checkpoint*. A checkpoint is identified by its *tree size*, that is the number of elements committed to the log at the time. Its contents can be described by the Merkle Tree Hash ({{Section 2.1.1 of !RFC9162}}) of entries zero through `tree_size - 1`.
968968

969+
At any point in time, one of the CA's issuance logs is its *current* log. Initially, this is log 1. A CA MUST NOT append to any log that is not the current log. Logs before the current log may have historical entries. Logs after the current log MUST be empty. A CA MAY increment its current log number as part of recovering from certain operational failures.
970+
969971
### Log Entries
970972

971973
Each entry in the log is a MerkleTreeCertEntry, defined with the TLS presentation syntax below. A MerkleTreeCertEntry describes certificate information that the CA has validated and certified.
@@ -1542,7 +1544,7 @@ Cosigner roles are extensible without changes to certificate verification itself
15421544

15431545
## Trusted Subtrees
15441546

1545-
As an optional optimization, a relying party MAY incorporate a periodically updated, predistributed list of trusted subtrees from one or more of the CA's issuance logs. This allows the relying party to accept landmark-relative certificates ({{landmark-relative-certificates}}) constructed against those subtrees.
1547+
As an optional optimization, a relying party MAY incorporate a periodically updated, predistributed list of trusted subtrees from the CA's current issuance log. This allows the relying party to accept landmark-relative certificates ({{landmark-relative-certificates}}) constructed against those subtrees.
15461548

15471549
Each trusted subtree contains:
15481550

@@ -2571,3 +2573,5 @@ In draft-04, there is no fast issuance mode. In draft-05, frequent, non-landmark
25712573
- Discuss the implications of subordinate CAs in Security Considerations
25722574

25732575
- Added subtree test vector appendix
2576+
2577+
- Define a CA's current issuance log and rules around that

0 commit comments

Comments
 (0)