Re: [PATCH v2 00/14] KEYS: Add support for PGP keys and signatures
From: Roberto Sassu
Date: Wed Sep 11 2024 - 05:56:02 EST
On Tue, 2024-09-10 at 16:16 +0100, Jonathan McDowell wrote:
> On Tue, Sep 10, 2024 at 04:51:22PM +0200, Roberto Sassu wrote:
> > On Tue, 2024-09-10 at 16:36 +0200, Roberto Sassu wrote:
> > > On Tue, 2024-08-20 at 15:12 +0100, Jonathan McDowell wrote:
> > > > On Mon, Aug 19, 2024 at 05:15:02PM +0200, Roberto Sassu wrote:
> > > > > On Mon, 2024-08-19 at 16:08 +0100, Jonathan McDowell wrote:
> > > > > > On Sun, Aug 18, 2024 at 06:57:42PM +0200, Roberto Sassu wrote:
> > > > > > > From: Roberto Sassu <roberto.sassu@xxxxxxxxxx>
> > > > > > >
> > > > > > > Support for PGP keys and signatures was proposed by David long time ago,
> > > > > > > before the decision of using PKCS#7 for kernel modules signatures
> > > > > > > verification was made. After that, there has been not enough interest to
> > > > > > > support PGP too.
> > > > > >
> > > > > > You might want to update the RFC/bis references to RFC9580, which was
> > > > > > published last month and updates things.
> > > > >
> > > > > Yes, makes sense (but probably isn't too much hassle to support more
> > > > > things for our purposes?)
> > > >
> > > > I'm mostly suggesting that the comments/docs point to the latest
> > > > standard rather than the draft version, not changing to support the new
> > > > v6 keys.
> > > >
> > > > > > Also, I see support for v2 + v3 keys, and this doesn't seem like a good
> > > > > > idea. There are cryptographic issues with fingerprints etc there and I
> > > > > > can't think of a good reason you'd want the kernel to support them. The
> > > > > > same could probably be said of DSA key support too.
> > > > >
> > > > > Uhm, if I remember correctly I encountered some old PGP keys used to
> > > > > verify RPM packages (need to check). DSA keys are not supported, since
> > > > > the algorithm is not in the kernel.
> > > >
> > > > I would question the benefit gained from using obsolete key/signature
> > > > types for verification (I was involved in the process of Debian dropping
> > > > them back in *2010* which was later than it should have been). Dropping
> > > > the code for that path means a smaller attack surface/maintenance
> > > > overhead for something that isn't giving a benefit.
> > >
> > > Removed support for v3 PGP signatures... but that broke openSUSE
> > > Tumbleweed.
>
> Is this a signature from a v3 key, or a v3 signature? Unfortunately
> there are implementations which will issue a v3 signature even from a v4
> key; IIRC this ambiguity has been cleared up in the updated RFC.
Yes, it looks a v3 signature from a v4 key.
> > > [ 295.837602] PGPL: Signature packet with unhandled version 3
> >
> > To add more context, this patch set adds the ability to the kernel to
> > verify the PGP signature of RPM packages against Linux distributions
> > PGP keys.
>
> > The purpose of this is to verify the authenticity of such RPM packages,
> > and to extract from them file digests, which are in turn used as
> > reference values for integrity check (appraisal) with IMA.
>
> I don't believe allowing a v3 *key* gives a useful verification that is
> worth supporting. However unfortunately I think it sounds like support
> for v3 signatures from v4 keys is necessary.
Yes, after re-adding support for v3 signatures, openSUSE Tumbleweed is
back to normal, does IMA appraisal with RPM packages.
Thanks
Roberto