Skip to content

Commit 2457d2e

Browse files
committed
Remove workflow maximum duration from update cycle
PR #118 introduced BOTH a fixed notion of time to the update cycle AND an (arguable misnamed) workflow maximum duration T, which allowed for some slack in the comparison of expiration time. The combination of fixed time, expiration time slack, and a change of the prose describing how to check for a freeze attack resulted in the specification incorrectly describing a freeze attack check as: fixed_time = now() + T expired = expiration > fixed_time Which results in the freeze attack check requiring that an expiration time be greater than the start time plus slack, rather than less than the start time plus slack. That is, that an expiration time in the future could be incorrectly thought of as expired if it is less than T in the future. Remove the workflow maximum duration to make things accurate and easier to reason about. Signed-off-by: Joshua Lock <[email protected]>
1 parent 56ef954 commit 2457d2e

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

tuf-spec.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# <p align="center">The Update Framework Specification
22

3-
Last modified: **2 December 2020**
3+
Last modified: **3 December 2020**
44

5-
Version: **1.0.15**
5+
Version: **1.0.16**
66

77
We strive to make the specification easy to implement, so if you come across
88
any inconsistencies or experience any difficulty, do let us know by sending an
@@ -1091,13 +1091,11 @@ repo](https://github.com/theupdateframework/specification/issues).
10911091
still be able to update again in the future. Errors raised during the update
10921092
process should not leave clients in an unrecoverable state.
10931093

1094-
**5.0**. **Record the time at which the update began.** Add the update
1095-
workflow maximum duration T to the recorded update start time to derive the
1096-
fixed update expiration time. The value for T is set by the authors of the
1097-
application using TUF. For example, T may be tens of minutes.
1098-
This update expiration time will be used when checking for freeze attacks,
1099-
and is fixed at the beginning of the update workflow to prevent metadata
1100-
from expiring during an in-progress update.
1094+
**5.0**. **Record the time at which the update began** as the fixed update
1095+
expiration time. Time is fixed at the beginning of the update workflow to
1096+
allow an application using TUF to effectively pause time, in order to prevent
1097+
metadata which is valid at the beginning of an update from expiring during
1098+
the update workflow.
11011099

11021100
**5.1**. **Load the trusted root metadata file.** We assume that a good,
11031101
trusted copy of this file was shipped with the package manager or software

0 commit comments

Comments
 (0)