@@ -1485,10 +1485,17 @@ it in the next step.
1485
1485
2 . Otherwise, recursively search the list of delegations in
1486
1486
order of appearance.
1487
1487
1488
- 1 . Let DELEGATEE denote
1488
+ 1 . If the current delegation is a multi-role delegation,
1489
+ recursively visit each delegated role, and check that each has signed
1490
+ exactly the
1491
+ same non-custom metadata (i.e., length and hashes) about the target (or
1492
+ the lack of any such metadata). Otherwise, abort the update cycle, and
1493
+ report the failure.
1494
+
1495
+ 2 . Let DELEGATEE denote
1489
1496
the current target role DELEGATOR is delegating to.
1490
1497
1491
- 2 . ** Download the DELEGATEE targets metadata file** , up to either
1498
+ 3 . ** Download the DELEGATEE targets metadata file** , up to either
1492
1499
the number of bytes specified in the snapshot metadata file, or some Z
1493
1500
number of bytes. The value for Z is set by the authors of the application
1494
1501
using TUF. For example, Z may be tens of kilobytes. IF DELEGATEE cannot be
@@ -1501,29 +1508,23 @@ it in the next step.
1501
1508
in the snapshot metadata file. In either case, the client MUST write the
1502
1509
file to non-volatile storage as FILENAME.EXT.
1503
1510
1504
- 3 . ** Check against snapshot metadata.** The hashes (if any), and
1511
+ 4 . ** Check against snapshot metadata.** The hashes (if any), and
1505
1512
version number of the new DELEGATEE metadata file MUST match the trusted
1506
1513
snapshot metadata, if any. This is done, in part, to prevent a mix-and-match
1507
1514
attack by man-in-the-middle attackers. If the new DELEGATEE metadata file
1508
1515
does not match, abort the update cycle, and report the failure.
1509
1516
1510
- 4 . ** Check for an arbitrary software attack.** The new DELEGATEE
1517
+ 5 . ** Check for an arbitrary software attack.** The new DELEGATEE
1511
1518
metadata file MUST have been signed by a threshold of keys specified in the
1512
1519
DELEGATOR metadata file. If the new DELEGATEE metadata file is not signed
1513
1520
as required, abort the update cycle, and report the failure.
1514
1521
1515
- 5 . ** Check for a freeze attack.** The latest known time
1522
+ 6 . ** Check for a freeze attack.** The latest known time
1516
1523
should be lower than the expiration timestamp in the new DELEGATEE
1517
1524
metadata file. If so, the new DELEGATEE file becomes the trusted DELEGATEE
1518
1525
file. If the new DELEGATEE metadata file is expired, abort the update
1519
1526
cycle, and report the potential freeze attack.
1520
1527
1521
- 6 . If the current delegation is a multi-role delegation,
1522
- recursively visit each role, and check that each has signed exactly the
1523
- same non-custom metadata (i.e., length and hashes) about the target (or
1524
- the lack of any such metadata). Otherwise, abort the update cycle, and
1525
- report the failure.
1526
-
1527
1528
7 . If the current delegation is a terminating delegation,
1528
1529
then jump to step [[ #fetch-target]] .
1529
1530
0 commit comments