Re: [PATCH v3 0/6] Composefs: an opportunistically sharing verified image filesystem

From: Alexander Larsson
Date: Tue Feb 07 2023 - 03:13:27 EST


On Mon, Feb 6, 2023 at 9:06 PM Amir Goldstein <amir73il@xxxxxxxxx> wrote:
>
> On Mon, Feb 6, 2023 at 9:32 PM Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
> >
> > On Mon, 6 Feb 2023 at 18:16, Amir Goldstein <amir73il@xxxxxxxxx> wrote:
> >
> > > it's not overlay{erofs+erofs}
> > > it's overlay{erofs+ext4} (or another fs-verity [1] supporting fs)
> > > the lower layer is a mutable fs with /objects/ dir containing
> > > the blobs.
> > >
> > > The way to ensure the integrity of erofs is to setup dm-verity at
> > > erofs mount time.
> > >
> > > The way to ensure the integrity of the blobs is to store an fs-verity
> > > signature of each blob file in trusted.overlay.verify xattr on the
> > > metacopy and for overlayfs to enable fsverity on the blob file before
> > > allowing access to the lowerdata.
> > >
> > > At least this is my understanding of the security model.
> >
> > So this should work out of the box, right?
> >
>
> Mostly. IIUC, overlayfs just needs to verify the signature on
> open to fulfill the chain of trust, see cfs_open_file():
> https://lore.kernel.org/linux-fsdevel/9b799ec7e403ba814e7bc097b1e8bd5f7662d596.1674227308.git.alexl@xxxxxxxxxx/

Yeah, we need to add an "overlay.digest" xattr which if specified
contains the expected fs-verity digest of the content file for the
metacopy file.
We also need to export fsverity_get_digest for module use:
https://lore.kernel.org/linux-fsdevel/f5f292caee6b288d39112486ee1b2daef590c3ec.1674227308.git.alexl@xxxxxxxxxx/

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Alexander Larsson Red Hat, Inc
alexl@xxxxxxxxxx alexander.larsson@xxxxxxxxx