@@ -16,7 +16,7 @@ Boilerplate: copyright no, conformance no
16
16
Local Boilerplate: header yes
17
17
Markup Shorthands: css no, markdown yes
18
18
Metadata Include: This version off, Abstract off
19
- Text Macro: VERSION 1.0.24
19
+ Text Macro: VERSION 1.0.25
20
20
</pre >
21
21
22
22
Note: We strive to make the specification easy to implement, so if you come
@@ -1399,9 +1399,11 @@ it in the next step.
1399
1399
2 . ** Check against timestamp role's snapshot hash** . The hashes
1400
1400
of the new snapshot metadata file MUST match the hashes, if any, listed in
1401
1401
the trusted timestamp metadata. This is done, in part, to prevent a
1402
- mix-and-match attack by man-in-the-middle attackers. If the hashes do not
1403
- match, discard the new snapshot metadata, abort the update cycle, and report
1404
- the failure.
1402
+ mix-and-match attack by man-in-the-middle attackers. It is safe to check the
1403
+ hashes before the signatures, because the hashes come from the timestamp
1404
+ role, which we have already verified in the previous step; it is also a quick
1405
+ way to reject bad metadata. If the hashes do not match, discard the
1406
+ new snapshot metadata, abort the update cycle, and report the failure.
1405
1407
1406
1408
3 . ** Check for an arbitrary software attack** . The new snapshot
1407
1409
metadata file MUST have been signed by a threshold of keys specified in the
@@ -1448,9 +1450,11 @@ it in the next step.
1448
1450
2 . ** Check against snapshot role's targets hash** . The hashes
1449
1451
of the new targets metadata file MUST match the hashes, if any, listed in the
1450
1452
trusted snapshot metadata. This is done, in part, to prevent a mix-and-match
1451
- attack by man-in-the-middle attackers. If the new targets metadata file does
1452
- not match, discard the new target metadata, abort the update cycle, and
1453
- report the failure.
1453
+ attack by man-in-the-middle attackers. It is safe to check the hashes before
1454
+ the signatures, because the hashes come from the snapshot role, which we have
1455
+ already verified in the previous step; it is also a quick way to reject bad
1456
+ metadata. If the new targets metadata file does not match, discard the new
1457
+ target metadata, abort the update cycle, and report the failure.
1454
1458
1455
1459
3 . ** Check for an arbitrary software attack** . The new targets
1456
1460
metadata file MUST have been signed by a threshold of keys specified in the
0 commit comments