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

Modify security design document #6

Merged
merged 1 commit into from
Apr 29, 2022
Merged

Modify security design document #6

merged 1 commit into from
Apr 29, 2022

Conversation

jialez0
Copy link
Member

@jialez0 jialez0 commented Feb 16, 2022

There are multiple image signing and verification protocols/solutions available now, and there’s no standardization work for image signing yet. So in the design of confidential containers, we should support different signature mechanisms with modular implementation.

The container image signing mechanism used by the image-rs of confidential containers V1
is consistent with the signing mechanism used in [containers/image](https://github.com/containers/image).
At present, the only supported cryptographic signature format in this mechanism is OpenPGP([RFC 4880](https://datatracker.ietf.org/doc/html/rfc4880#section-5.4)).
There are multiple image signing and verification protocols/solutions available now,
Copy link
Member

Choose a reason for hiding this comment

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

There are multiple image signing and verification protocols/solutions in the field, so an extensible modular architecture should be implemented to support them.

Copy link
Member

Choose a reason for hiding this comment

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

Even if this doc doesn't list them all, is it worth collecting the solutions we're aware of and plan to recognise in an issue?

Copy link
Member Author

Choose a reason for hiding this comment

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

@jodh-intel Done: #7

Copy link
Member

@jodh-intel jodh-intel left a comment

Choose a reason for hiding this comment

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

Thanks @jialez0. A few comments...

docs/ccv1_image_security_design.md Outdated Show resolved Hide resolved
docs/ccv1_image_security_design.md Outdated Show resolved Hide resolved
docs/ccv1_image_security_design.md Outdated Show resolved Hide resolved
docs/ccv1_image_security_design.md Outdated Show resolved Hide resolved
docs/ccv1_image_security_design.md Outdated Show resolved Hide resolved
docs/ccv1_image_security_design.md Outdated Show resolved Hide resolved
Copy link
Member

@fitzthum fitzthum left a comment

Choose a reason for hiding this comment

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

I think this is a good idea. In the future we might want to expand this even beyond signature verification. In addition to verifying the container signature, maybe the guest owner wants to scan the container image or perform more complex checks before running the workload. Eventually we might provide a hook for any trusted verification process. For now I think supporting multiple signature schemes is a good idea. Pending a bit of cleanup and maybe a few examples I think this is good.

introduced in the implementation of red hat simple signing in the [containers/image](https://github.com/containers/image) project.
This policy file can not only be used for red hat simple signing In the secret container design,
we will continue to customize and expand the content of the policy file as
a general signature verification configuration file compatible with different signature schemes.
Copy link
Member

Choose a reason for hiding this comment

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

Are we assuming that all signature schemes are going to have a policy file of some sort? Is there any reason to allow schemes to request additional files?

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 it is a better idea to use a unified policy file format in image-rs. I think there are the following reasons:

  1. The policy file is distributed by the owner from the attestation-agent, which is a good channel for image-rs to accept the owner's control and configuration. The use of a unified policy file format enables the owner to determine which image use which scheme for signature verification through the policy file. In addition, this is conducive to playing more roles of the policy file on the image-rs side in the future.

  2. The policy file format we currently use provides a strong configuration mechanism and has flexible scalability. We can support different signature schemes by customizing the current policy file.

  3. Using the unified policy file format can make the architecture of image-rs verification signature function not too loose. Maybe this will enable us to do more optimization in the future.

Copy link
Member

Choose a reason for hiding this comment

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

Ok, I think it's fine to start with this assumption. We might need to revisit if we encounter a signature scheme with totally different parameters.

Copy link
Member

@jodh-intel jodh-intel left a comment

Choose a reason for hiding this comment

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

Thanks @jialez0.

lgtm

There are multiple image signing and verification protocols/solutions available now,
and there’s no standardization work for image signing yet. So in the design of
confidential containers, we should support different signature mechanisms with
modular implementation.

Signed-off-by: Jiale Zhang <[email protected]>
sameo pushed a commit that referenced this pull request Apr 25, 2022
For the reason for adding this method and more details,
please refer to this PR:
#6
and this issue:
#7

Signed-off-by: Jiale Zhang <[email protected]>
@jodh-intel
Copy link
Member

Can someone merge this? I don't have privs but it seems to have been sitting here approved for a long time... ;)

Copy link
Member

@sameo sameo left a comment

Choose a reason for hiding this comment

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

LGTM thanks @jialez0 !

@sameo sameo merged commit 4573427 into confidential-containers:main Apr 29, 2022
eldios added a commit to switchboard-xyz/guest-components that referenced this pull request Jan 26, 2025
eldios added a commit to switchboard-xyz/guest-components that referenced this pull request Jan 27, 2025
eldios added a commit to switchboard-xyz/guest-components that referenced this pull request Jan 27, 2025
eldios added a commit to switchboard-xyz/guest-components that referenced this pull request Feb 5, 2025
eldios added a commit to switchboard-xyz/guest-components that referenced this pull request Feb 5, 2025
eldios added a commit to switchboard-xyz/guest-components that referenced this pull request Feb 5, 2025
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.

5 participants