@@ -1320,14 +1320,14 @@ it in the next step.
1320
1320
1321
1321
11 . ** Fast-forward attack recovery** A _ fast-forward attack_ happens
1322
1322
when attackers arbitrarily increase the version numbers in any of the
1323
- timestamp, snapshot, targets, or delegated targets metadata. The attacker goal
1323
+ timestamp, snapshot, targets, or delegated targets metadata. The attacker's goal
1324
1324
is to cause clients to refuse to update the metadata later because the attacker's
1325
1325
listed metadata version number (possibly MAX_INT) is greater than the new valid
1326
- version. To recover from
1327
- fast-forward attacks after the repository has been compromised and recovered,
1328
- certain metadata files need to be deleted as specified in this section.
1329
- Please see [ the Mercury
1330
- paper] ( https://ssl.engineering.nyu.edu/papers/kuppusamy-mercury-usenix-2017.pdf )
1326
+ version. To recover from a fast-forward attacks after the repository has been
1327
+ compromised and recovered, certain metadata files need to be deleted as
1328
+ specified in this section. If a delegated targets file is subjected to a
1329
+ fast-forward attack, the snapshot role's keys should be replaced. Please see
1330
+ [ the Mercury paper] ( https://ssl.engineering.nyu.edu/papers/kuppusamy-mercury-usenix-2017.pdf )
1331
1331
for more details on fast-forward attacks.
1332
1332
1333
1333
1. **Targets recovery** If a threshold of targets keys have been
@@ -1489,18 +1489,13 @@ it in the next step.
1489
1489
1 . Let DELEGATEE denote the current target role TARGETS is
1490
1490
delegating to.
1491
1491
1492
- 2 . ** Fast-forward attack recovery.** If a threshold of
1493
- delegated targets keys for the current delegation are removed from the
1494
- TARGETS metadata, delete the trusted DELEGATEE metadata, if any, and the
1495
- previously trusted snapshot metadata.
1496
-
1497
- 3 . ** Check for a rollback attack via snapshot.** The version number of the
1492
+ 2 . ** Check for a rollback attack via snapshot.** The version number of the
1498
1493
DELEGATEE metadata in the previous trusted snapshot metadata, if any, MUST
1499
1494
be less than or equal to its version number in the new trusted snapshot
1500
1495
metadata. If this is not the case, abort the update cycle, and report the
1501
1496
potential rollback attack.
1502
1497
1503
- 4 . ** Download the DELEGATEE targets metadata file** , up to either
1498
+ 3 . ** Download the DELEGATEE targets metadata file** , up to either
1504
1499
the number of bytes specified in the snapshot metadata file, or some Z
1505
1500
number of bytes. The value for Z is set by the authors of the application
1506
1501
using TUF. For example, Z may be tens of kilobytes. IF DELEGATEE cannot be
@@ -1513,40 +1508,40 @@ it in the next step.
1513
1508
in the snapshot metadata file. In either case, the client MUST write the
1514
1509
file to non-volatile storage as FILENAME.EXT.
1515
1510
1516
- 5 . ** Check against snapshot metadata.** The hashes (if any), and
1511
+ 4 . ** Check against snapshot metadata.** The hashes (if any), and
1517
1512
version number of the new DELEGATEE metadata file MUST match the trusted
1518
1513
snapshot metadata, if any. This is done, in part, to prevent a mix-and-match
1519
1514
attack by man-in-the-middle attackers. If the new DELEGATEE metadata file
1520
1515
does not match, abort the update cycle, and report the failure.
1521
1516
1522
- 6 . ** Check for an arbitrary software attack.** The new DELEGATEE
1517
+ 5 . ** Check for an arbitrary software attack.** The new DELEGATEE
1523
1518
metadata file MUST have been signed by a threshold of keys specified in the
1524
1519
TARGETS metadata file. If the new DELEGATEE metadata file is not signed
1525
1520
as required, abort the update cycle, and report the failure.
1526
1521
1527
- 7 . ** Check for a rollback attack on the DELEGATEE metadata.**
1522
+ 6 . ** Check for a rollback attack on the DELEGATEE metadata.**
1528
1523
The version number of the trusted DELEGATEE metadata file, if any, MUST be
1529
1524
less than or equal to the version number of the new DELEGATE metadata
1530
1525
file. If the new DELEGATEE metadata file is older than the trusted
1531
1526
DELEGATEE metadata file abort the update cycle, and report the potential
1532
1527
rollback attack.
1533
1528
1534
- 8 . ** Check for a freeze attack.** The latest known time
1529
+ 7 . ** Check for a freeze attack.** The latest known time
1535
1530
should be lower than the expiration timestamp in the new DELEGATEE
1536
1531
metadata file. If so, the new DELEGATEE file becomes the trusted DELEGATEE
1537
1532
file. If the new DELEGATEE metadata file is expired, abort the update
1538
1533
cycle, and report the potential freeze attack.
1539
1534
1540
- 9 . If the current delegation is a multi-role delegation,
1535
+ 8 . If the current delegation is a multi-role delegation,
1541
1536
recursively visit each role, and check that each has signed exactly the
1542
1537
same non-custom metadata (i.e., length and hashes) about the target (or
1543
1538
the lack of any such metadata). Otherwise, abort the update cycle, and
1544
1539
report the failure.
1545
1540
1546
- 10 . If the current delegation is a terminating delegation,
1541
+ 9 . If the current delegation is a terminating delegation,
1547
1542
then jump to step [[ #fetch-target]] .
1548
1543
1549
- 11 . Otherwise, if the current delegation is a non-terminating
1544
+ 10 . Otherwise, if the current delegation is a non-terminating
1550
1545
delegation, continue processing the next delegation, if any, by repeating
1551
1546
the preorder depth-first search with DELEGATEE as the current TARGET role.
1552
1547
Stop the search, and jump to step [[ #fetch-target]] . as soon as a
0 commit comments