@@ -1318,16 +1318,28 @@ it in the next step.
1318
1318
report the potential freeze attack. On the next update cycle, begin at step
1319
1319
[[ #update-root]] and version N of the root metadata file.
1320
1320
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 )
1329
1328
for more details.
1330
1329
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
+
1331
1343
12 . ** Set whether consistent snapshots are used as per the trusted**
1332
1344
root metadata file (see [[ #file-formats-root]] ).
1333
1345
0 commit comments