Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add simple guidance on repo mapping metadata #111

Merged
merged 4 commits into from
Jun 5, 2019

Conversation

tkfu
Copy link
Member

@tkfu tkfu commented May 31, 2019

Closes #53.

I also added a short paragraph on time, because many procedures still reference loading secure attestations of time, and the full time server procedure was removed in #104.

@tkfu tkfu changed the title Add simple guidance on epo mapping metadata Add simple guidance on repo mapping metadata May 31, 2019
Copy link
Member

@trishankatdatadog trishankatdatadog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM @tkfu thanks!

I've got a couple of additional minor edits I want to make, should I just add commits here?

1. Load and verify the current time, or the most recent securely attested time.
1. Download and check the Root metadata file from the Director repository, following the procedure in {{check_root}}.
1. Download and check the Timestamp metadata file from the Director repository, following the procedure in {{check_timestamp}}.
1. Download and check the Snapshot metadata file from the Director repository, following the procedure in {{check_snapshot}}.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Download and check the Snapshot metadata file from the Director repository, following the procedure in {{check_snapshot}}.
4. Download and check the Snapshot metadata file from the Director repository, following the procedure in {{check_snapshot}}.

Copy link
Collaborator

@mnm678 mnm678 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple of small edits.

@@ -634,6 +633,8 @@ Each ECU in a vehicle receiving over-the-air updates is either a primary or a se

All ECUs MUST verify image metadata as specified in {{metadata_verification}} before installing an image or making it available to other ECUs. A primary ECU MUST perform full verification ({{full_verification}}). A secondary ECU SHOULD perform full verification if possible. See [Uptane Deployment Considerations](#DEPLOY) for a discussion of how to choose between partial and full verification.

ECUs MUST have a secure source of time. The Uptane deployment considerations ({{DEPLOY}}) describe one way to implement an external time server to cryptographically attest time, but any other source of time that the OEM or Uptane implementor considers to be secure MAY be used. When "loading time" is referenced in procedures in this standard, it should be understood to mean loading into memory the current time (if the ECU has its own secure clock), or the most recent attested time.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like the phrase "considers to be secure", is there anything more specific we can cite?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe RFC 7384? I don't want to do that normatively, though. I think that when it comes down to it, OEMs are going to make choices about time that are not perfectly secure, but are "good enough" by their own internal valuation of the risk. So the best realistic thing we can do here is give some best practices in the deployment considerations.

Repository mapping metadata informs a primary ECU about which repositories to trust for images or image paths. Repository mapping metadata MUST be present on all primary ECUs, and MUST contain the following information:
As described in the introduction to {{design}}, Uptane requires a Director repository and an Image repository. However, it is possible to have an Uptane-compliant implementation that has more than two repositories.

Repository mapping metadata informs a primary ECU about which repositories to trust for images or image paths. {{TAP-4}} describes how to make use of more complex repository mapping metadata have more than the two required repositories.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the second sentence is missing a word.

@iramcdonald
Copy link

iramcdonald commented Jun 4, 2019 via email

Copy link
Contributor

@JustinCappos JustinCappos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tkfu tkfu merged commit 815cc2b into master Jun 5, 2019
@trishankatdatadog
Copy link
Member

Merged before I could review again, but I think we should be good

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Repository mapping metadata
6 participants