Skip to content

Commit 7d1695e

Browse files
committed
Clarify recovery from ffwd on top-level roles
Clarify what files to delete or untrust in various situations to recover from a fast-forward attack on top-level metadata.
1 parent dd112ec commit 7d1695e

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

tuf-spec.md

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1318,16 +1318,28 @@ it in the next step.
13181318
report the potential freeze attack. On the next update cycle, begin at step
13191319
[[#update-root]] and version N of the root metadata file.
13201320

1321-
11. **If the timestamp and / or snapshot keys have been rotated, then delete the
1322-
trusted timestamp and snapshot metadata files.** This is done
1323-
in order to recover from fast-forward attacks after the repository has been
1324-
compromised and recovered. A _fast-forward attack_ happens when attackers
1325-
arbitrarily increase the version numbers of: (1) the timestamp metadata, (2)
1326-
the snapshot metadata, and / or (3) the targets, or a delegated targets,
1327-
metadata file in the snapshot metadata. Please see [the Mercury
1328-
paper](https://theupdateframework.io/papers/prevention-rollback-attacks-atc2017.pdf)
1321+
11. **Fast-forward attack recovery** A _fast-forward attack_ happens
1322+
when attackers arbitrarily increase the version numbers in any of the
1323+
timestamp, snapshot, targets, or delegated targets metadata. To recover from
1324+
fast-forward attacks after the repository has been compromised and recovered,
1325+
certain metadata files need to be deleted as specified in this section.
1326+
Please see [the Mercury
1327+
paper](https://ssl.engineering.nyu.edu/papers/kuppusamy-mercury-usenix-2017.pdf)
13291328
for more details.
13301329

1330+
1. **Targets recovery** If a threshold of targets keys are removed
1331+
from the root metadata, delete the old top-level targets, snapshot, and
1332+
timestamp metadata files.
1333+
1334+
2. **Snapshot recovery** If a threshold of snapshot keys have
1335+
been removed in the new trusted root metadata compared to the previous
1336+
trusted root metadata, delete the old snapshot and timestamp metadata
1337+
files.
1338+
1339+
3. **Timestamp recovery** If a threshold of timestamp keys have
1340+
been removed from the new trusted root metadata compared to the previous
1341+
trusted root metadata, delete the old timestamp metadata file.
1342+
13311343
12. **Set whether consistent snapshots are used as per the trusted**
13321344
root metadata file (see [[#file-formats-root]]).
13331345

0 commit comments

Comments
 (0)