Skip to content

Commit 558fb43

Browse files
Merge branch 'add-detailed-workflow' of github.com:trishankkarthik/tuf into add-detailed-workflow
2 parents 98de3c4 + 06665c0 commit 558fb43

File tree

4 files changed

+35
-33
lines changed

4 files changed

+35
-33
lines changed

LICENSE.txt

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,25 @@
1-
This file contains the license for TUF: The Update Framework.
1+
The MIT License (MIT)
22

3-
It also lists license information for components and source
4-
code used by TUF: The Update Framework.
3+
Copyright (c) 2010 New York University
54

6-
If you got this file as a part of a larger bundle,
7-
there may be other license terms that you should be aware of.
8-
9-
===============================================================================
10-
TUF: The Update Framework is distributed under this license:
11-
12-
Copyright (c) 2010, Justin Samuel and Justin Cappos.
13-
14-
Permission is hereby granted, free of charge, to any person obtaining a copy of
15-
this software and/or hardware specification (the “Work”) to deal in the Work
16-
without restriction, including without limitation the rights to use, copy,
17-
modify, merge, publish, distribute, sublicense, and/or sell copies of the Work,
18-
and to permit persons to whom the Work is furnished to do so, subject to the
19-
following conditions:
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
2011

2112
The above copyright notice and this permission notice shall be included in all
22-
copies or substantial portions of the Work.
13+
copies or substantial portions of the Software.
2314

24-
THE WORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2516
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
27-
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
28-
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
29-
ARISING FROM, OUT OF OR IN CONNECTION WITH THE WORK OR THE USE OR OTHER
30-
DEALINGS IN THE WORK.
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
22+
3123
===============================================================================
3224
Many files are modified from Thandy and are licensed under the
3325
following license:

SECURITY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#Security
1+
# Security
22

33
Generally, a software update system is secure if it can be sure that it knows about the latest available updates in a timely manner, any files it downloads are the correct files, and no harm results from checking or downloading files. The details of making this happen are complicated by various attacks that can be carried out against software update systems.
44

@@ -32,7 +32,7 @@ snapshot metadata, and thus new updates could never be downloaded.
3232

3333
* **Vulnerability to key compromises**. An attacker who is able to compromise a single key or less than a given threshold of keys can compromise clients. This includes relying on a single online key (such as only being protected by SSL) or a single offline key (such as most software update systems use to sign files).
3434

35-
##Design Concepts
35+
## Design Concepts
3636

3737
The design and implementation of TUF aims to be secure against all of the above attacks. A few general ideas drive much of the security of TUF.
3838

docs/tuf-spec.txt

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The Update Framework Specification
22

3-
18 May 2017
3+
23 May 2017
44
Version 1.0 (Draft)
55

66
1. Introduction
@@ -1132,11 +1132,21 @@ Version 1.0 (Draft)
11321132
role. When replacing root keys, an application will sign the new root.json
11331133
file with both the new and old root keys. Any time such a change is
11341134
required, the root.json file is versioned and accessible by version number,
1135-
e.g. 3.root.json. Clients update the set of trusted root keys by requesting
1135+
e.g., 3.root.json. Clients update the set of trusted root keys by requesting
11361136
the current root.json and all previous root.json versions, until one is
1137-
found that has been signed by keys the client already trusts. This is to
1138-
ensure that outdated clients remain able to update, without requiring all
1139-
previous root keys to be kept to sign new root.json metadata. See step 1 in
1137+
found that has been signed by a threshold of keys that the client already
1138+
trusts. This is to ensure that outdated clients remain able to update,
1139+
without requiring all previous root keys to be kept to sign new root.json
1140+
metadata.
1141+
1142+
In the event that the keys being updated are root keys, it is important to
1143+
note that the new root.json must at least be signed by the keys listed as
1144+
root keys in the previous version of root.json, up to the threshold listed
1145+
for root in the previous version of root.json. If this is not the case,
1146+
clients will (correctly) not validate the new root.json file. For example,
1147+
if there is a 1.root.json that has threshold 2 and a 2.root.json that has
1148+
threshold 3, 2.root.json MUST be signed by at least 2 keys defined in
1149+
1.root.json and at least 3 keys defined in 2.root.json. See step 1 in
11401150
Section 5.1 for more details.
11411151

11421152
To replace a delegated developer key, the role that delegated to that key

tuf/client/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#updater.py
1+
# updater.py
22
**updater.py** is intended as the only TUF module that software update
33
systems need to utilize for a low-level integration. It provides a single
44
class representing an updater that includes methods to download, install, and
@@ -152,7 +152,7 @@ for target in updated_target:
152152
target_custom_data = target['fileinfo']['custom']
153153
```
154154

155-
###A Simple Integration Example with basic_client.py
155+
### A Simple Integration Example with basic_client.py
156156
``` Bash
157157
# Assume a simple TUF repository has been setup with 'tuf.repository_tool.py'.
158158
$ basic_client.py --repo http://localhost:8001

0 commit comments

Comments
 (0)