33* Version: 1
44* Last-Modified: 29-Jan-2024
55* Author: Marina Moore
6- * Status: Draft
6+ * Status: Accepted
77* Content-Type: text/markdown
88* Created: 19-Jan-2024
99
@@ -39,7 +39,7 @@ still the source of trust, but allows the role to act independently.
3939
4040# Motivation
4141
42- Several use cases can benefit from an independent revocation mechanism:
42+ The following use case can benefit from an independent revocation mechanism:
4343
4444
4545## Community repositories
@@ -81,21 +81,21 @@ signatures wrapper as in tuf spec, not shown here):
8181
8282``` python
8383{
84- " _type" : " rotate" ,
85- " previous " : PREV_FILENAME
84+ " _type" : " rotate" ,
85+ " version " : VERSION ,
8686 " role" : ROLE ,
8787 " keys" : {
8888 KEYID : KEY
8989 , ... } ,
90- " threshold" : THRESHOLD }
90+ " threshold" : THRESHOLD
9191}
9292```
9393
9494Where ROLE, KEYID, KEY, and THRESHOLD are as defined in the original
9595tuf spec. The value of ROLE has to be the same as the role for the
96- delegation. The value of THRESHOLD is its new value. PREV_FILENAME is
97- the name of the previous rotate file in the chain, or the empty string if this is
98- the first rotate file for this role. The keys specify the new valid keys
96+ delegation. The value of THRESHOLD is its new value. VERSION is the index of
97+ this rotate file, incrementing by 1 on each rotation. The keys specify the new
98+ valid keys
9999and associated key ids (which may be a subset or superset of
100100the old ones). A rotate file does _ not_ contain an expiration date,
101101it is meant to be signed once and never modified. The rotate
@@ -125,23 +125,23 @@ where NULL is the null key.
125125
126126### Prioritizing Self Revocation
127127
128- Rotation files are immutable unless replaced with a revocation (rotate
129- to null). This is the only case in which they can be replaced or
128+ Rotation files are immutable unless replaced with a revocation.
129+ This is the only case in which they can be replaced or
130130modified. If a client wants to rotate to a different
131131key, without having access to their currently delegated private key,
132132this requires a key revocation by the delegating metadata.
133133
134-
135134# Security Analysis
136135
137136There should be no negative security impact. The major benefits are
138137that many security-sensitive revocations that require key use by
139138multiple parties, will now be much easier to do.
140139
141- Clients need to take care to check for rotation to a null key (rotate
140+ Clients need to take care to check for revocation (rotate
142141files that contain a null key). This shall be handled in the
143142same manner as an invalid metadata signature on by the role possessing
144- the key. The role will be invalid until it is re-delegated to with a new key.
143+ the key. The role will be invalid until it is re-delegated to with a new
144+ rolename and key.
145145Clients MUST use snapshot metadata to ensure that they receive all rotate files
146146in the chain.
147147
@@ -162,7 +162,7 @@ verify the revocations.
162162
163163# Augmented Reference Implementation
164164
165- TODO
165+ https://github.com/theupdateframework/python-tuf/pull/2257/files
166166
167167# Copyright
168168
0 commit comments