-
Notifications
You must be signed in to change notification settings - Fork 86
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
Support extending trust store with Linux kernel keyrings #1096
Comments
Thank you @bureado for creating this issue. There is a smiliar issue for windows certificates #721. I think this is a valid ask. If I understand correctly, the request is for the Notary Project trust store to be enhanced to read certificates from the OS system trust store. OS system owners can manage certificates in the system trust store. As a result, normal users won’t need to configure the Notary Project trust store themselves; they would only need to specify which trust store to use in the trust policy and define the trust identities. |
I have a concern that the notation trust store contains the root certificate that the user trusted specifically for notation verification. However, the system store may contain certificates for other purposes, and other apps may mistakenly add or delete certificates from the system store. Therefore, implicitly using those certificates may not work as expected. Is it possible to do |
There are many certificate stores in Linux. Some are in userspace, others are in kernel space, and they all have various ways to access them. Kernel keyrings such as I'm suggesting a feature that doesn't require |
Is your feature request related to a problem?
Modern Linux-based systems use the kernel keyrings (part of a broader kernel service) to determine what keys are trusted by the system.
Among other things, this allows the owner of a system and the owner of the OS image to both contribute keys to the trust store. Inability to use the kernel keyring means that any changes to the trust store need to be reflected in the policy, typically on disk.
What solution do you propose?
Externalize or extend the trust store to use certificates in the kernel keyring, possibly when instructed to do so via a trust policy or an environment variable.
What alternatives have you considered?
The alternative seems to be for a userspace process to walk over the kernel keyrings, perform export operations, reconstruct a trust policy and populate the trust store, which results in duplication, need to synchronize lifecycle events, and more userspace code which increases the attack surface.
For example, the AKV plugin calls for an
az keyvault certificate show ...
followed by anotation cert add
. This is the specific step I'm suggesting we can get rid of by a trust policy potentially indicating it's acceptable fornotation
to use the kernel keyring as an extended trust store.I read the documentation on plugins which appears to focus on extending signing mechanisms, not on externalizing trust stores.
Any additional context?
No response
The text was updated successfully, but these errors were encountered: