Re: [PATCH v17 17/21] ipe: enable support for fs-verity as a trust provider

Eric Biggers
2024-04-25T04:20:06Z

On Wed, Apr 24, 2024 at 08:42:33PM -0700, Eric Biggers wrote:
> On Fri, Apr 12, 2024 at 05:56:00PM -0700, Fan Wu wrote:
> > +config IPE_PROP_FS_VERITY
> > + bool "Enable property for fs-verity files"
> > + depends on FS_VERITY && FS_VERITY_BUILTIN_SIGNATURES
> > + help
> > + This option enables the usage of properties "fsverity_signature"
> > + and "fsverity_digest". These properties evaluate to TRUE when
> > + a file is fsverity enabled and has a valid builtin signature
> > + whose signing cert is in the .fs-verity keyring or its
> > + digest matches the supplied value in the policy.
> > +
> > + if unsure, answer Y.
>
> Does this really need to depend on FS_VERITY_BUILTIN_SIGNATURES? That's needed
> for fsverity_signature to work, but fsverity_digest would work without it.
>
> I'd prefer if people had the option of only turning on
> FS_VERITY_BUILTIN_SIGNATURES if they really need it.
>

I see that IPE_PROP_DM_VERITY is auto-selected when
DM_VERITY && DM_VERITY_VERIFY_ROOTHASH_SIG. That differs from
IPE_PROP_FS_VERITY. Should they really differ in this way?

Would it perhaps make more sense to not have the IPE_PROP_DM_VERITY and
IPE_PROP_FS_VERITY kconfig options at all, and instead just support the
corresponding IPE properties when the underlying kconfig options are enabled
(and SECURITY_IPE is also enabled)?

DM_VERITY => dmverity_roothash
DM_VERITY_VERIFY_ROOTHASH_SIG => dmverity_signature
FS_VERITY => fsverity_digest
FS_VERITY_BUILTIN_SIGNATURES => fsverity_signature

That would keep the number of kconfig options down, while also not forcing
people to enable the signature support in dm-verity and fsverity if they'd like
to use digests only.

- Eric