Re: [PATCH v2 00/14] KEYS: Add support for PGP keys and signatures
From: Jonathan McDowell
Date: Tue Sep 10 2024 - 11:34:55 EST
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.
> > [ 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.
J.
--
Listen to the words, they tell you what to do...