@@ -1485,10 +1485,17 @@ it in the next step.
14851485 2 . Otherwise, recursively search the list of delegations in
14861486 order of appearance.
14871487
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
14891496 the current target role DELEGATOR is delegating to.
14901497
1491- 2 . ** Download the DELEGATEE targets metadata file** , up to either
1498+ 3 . ** Download the DELEGATEE targets metadata file** , up to either
14921499 the number of bytes specified in the snapshot metadata file, or some Z
14931500 number of bytes. The value for Z is set by the authors of the application
14941501 using TUF. For example, Z may be tens of kilobytes. IF DELEGATEE cannot be
@@ -1501,29 +1508,23 @@ it in the next step.
15011508 in the snapshot metadata file. In either case, the client MUST write the
15021509 file to non-volatile storage as FILENAME.EXT.
15031510
1504- 3 . ** Check against snapshot metadata.** The hashes (if any), and
1511+ 4 . ** Check against snapshot metadata.** The hashes (if any), and
15051512 version number of the new DELEGATEE metadata file MUST match the trusted
15061513 snapshot metadata, if any. This is done, in part, to prevent a mix-and-match
15071514 attack by man-in-the-middle attackers. If the new DELEGATEE metadata file
15081515 does not match, abort the update cycle, and report the failure.
15091516
1510- 4 . ** Check for an arbitrary software attack.** The new DELEGATEE
1517+ 5 . ** Check for an arbitrary software attack.** The new DELEGATEE
15111518 metadata file MUST have been signed by a threshold of keys specified in the
15121519 DELEGATOR metadata file. If the new DELEGATEE metadata file is not signed
15131520 as required, abort the update cycle, and report the failure.
15141521
1515- 5 . ** Check for a freeze attack.** The latest known time
1522+ 6 . ** Check for a freeze attack.** The latest known time
15161523 should be lower than the expiration timestamp in the new DELEGATEE
15171524 metadata file. If so, the new DELEGATEE file becomes the trusted DELEGATEE
15181525 file. If the new DELEGATEE metadata file is expired, abort the update
15191526 cycle, and report the potential freeze attack.
15201527
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-
15271528 7 . If the current delegation is a terminating delegation,
15281529 then jump to step [[ #fetch-target]] .
15291530
0 commit comments