Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upProposal to add Encrypted Layer Mediatype #775
Conversation
|
|
||
| When using the `+enc` mediatype, the layer data blobs are encrypted with a symmetric encryption algorithm (i.e. AES_128_GCM, AES_128_CBC, etc.) according to the [IANA Registry](https://www.iana.org/assignments/aead-parameters/aead-parameters.xhtml). | ||
|
|
||
| Details of the algorithms and protocols used in the encryption of the data blob are defined in a JSON object below. We note that: |
This comment has been minimized.
This comment has been minimized.
stevvooe
Jun 5, 2019
Contributor
If I'm understanding this correctly, this structure ends up in the annotations below. It might be helpful to describe the annotations first, then their contents.
I also think for annotations, they need to be added to the annotations.md.
This comment has been minimized.
This comment has been minimized.
lumjjb
Jun 10, 2019
•
Author
EDIT: Updated to reflect introduction of annotations with link to annotations.md before metadata explanation.
Agreed on adding to annotations.md.
f135fa9
to
6c6d3dc
|
@vbatts ptal |
|
@vbatts As per our conversation a couple days ago, Based on the RFC6838 and RFC6839. A specification like nondistributable layers would work:
The other way to do this is to have one encrypted layer mediatype cc: @estesp @dmcgowan @crosbymichael @mrunalp @mtrmac @vrothberg |
|
I don't think reproducing what was done for nondistributable layers is a good idea. Runtimes end up having to special case these since they are hard to interpret. For example |
Signed-off-by: Brandon Lum <lumjjb@gmail.com>
|
Updated based on discussions from OCI weekly dev discussion to move from |
|
@mikebrow Responding to #791 (comment) in this thread instead since it is more specific to encryption details. The main integration points for Encrypted Container Images are:
Do let me know if there's something specific you are looking for and I can provide a direct link. The specification and libraries to perform encryption/decryptionThe definition of encryption indication and how encryption metadata is defined in: The implementation to perform encryption and decryption of this spec is in:
Container RuntimesCurrent implementations for containerd stack
Current implementations for RedHat stack
RegistryCurrent docker distribution supports: https://github.com/docker/distribution. Tested with v2.7.1. Build toolchainThe plan for this is to have docker CLI, skopeo and buildah. In the meantime, we also support encryption of images in containerd via Current implementations for RedHat stack
Current implementations for containerd stack
Kubernetes IntegrationKEP: Add ImageDecryptSecrets
With KEP implementation in 1.17, containerd-cri and cri-o will need to add support the new API changes. It is important to note that kubernetes integration is not required to use encrypted container images. i.e. in cri-o you are able to specify a directory containing keys. cc: @stefanberger, @harche |
|
@lumjjb ok, finally discussing this in the weekly call. There is a lot of good work here in the PR, that should transfer to something like a README for these mime-types in the artifacts repo. |
Awesome, sounds good.. I will come by the next OCI call on Wednesday.
Yup! I will create an |

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

lumjjb commentedApr 27, 2019
•
edited
This is a first draft of modifications to the OCI spec on Encrypted Container Images. Work around this has been on-going for quite a while (since the start of the issue). The current design is based on the discussions we've had in the issue and with the runtime implementation in containerd.
Abstract
We would like to propose a new media type for encrypted layers of a container image. This addition would facilitate the ecosystem for encrypted container images. This allows users with stricter trust requirements to be able ensure end-to-end encryption from build to runtime. In addition, it allows users to use a centralized managed repository (i.e. Docker Hub) without any risk of their images being compromised.
Issue Details
Based on the discussion of #747
Signed-off-by: Brandon Lum lumjjb@gmail.com