[PATCH] openwrt-keyring: Only copy sign key for snapshots
Daniel Golle
daniel at makrotopia.org
Fri May 14 16:34:38 PDT 2021
On Fri, May 14, 2021 at 11:31:27PM +0200, Hauke Mehrtens wrote:
> On 5/14/21 12:17 PM, Paul Spooren wrote:
> > Hi,
> >
> > On 5/13/21 1:32 AM, Hauke Mehrtens wrote:
> > > Instead of adding all public signature keys from the openwrt-keyring
> > > repository only add the key which is used to sign the master feeds.
> > >
> > > If one of the other keys would be compromised this would not affect
> > > users of master snapshot builds.
> > >
> > > Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
> > > ---
> >
> > Thanks for working on this.
> >
> > I'm still in favor to include a *openwrt-next* key which becomes the
> > signing key for the next release. This way a upgrade step between
> > release branches is possible.
>
> I would prefer to create it closer to the next release.
>
> > > As far as I know the other keys are not compromised, this is just a
> > > precaution.
> > >
> > > I would do similar changes to 21.02 and 19.07 to only add the key which
> > > is used for this specific release.
> > In case of 19.07 please add 21.02 release keys as well, since it's *the
>
> > next key*.
>
> Yes, good idea.
>
> > > Instead of adding just this single key, should we add all keys of
> > > currently maintained releases like 19.07, 21.02 and master key into all
> > > 3 branches?
> > How about adding keys like that:
> > 19.07: 19.07 + 21.02 keys
> > 21.02: 21.02 + openwrt-next keys
> > snapshot: snapshot key
> >
> > The snapshot key stays the same "forever", it shouldn't be included in
> > releases.
> >
> > > The signature verification of sysupgrade images is currently not used as
> > > far as I know, so normal we do not need the keys for of other releases.
> >
> > If the `ucert` package is installed and the env variable
> > `REQUIRE_IMAGE_SIGNATURE` is set, the images are verified. This should
> > eventually become the default.
>
> How reliable is this working?
I've been using ucert on many devices for a long time for now.
In order to be more secure, the signed data should be normalized
(ie. sorted and non-relevant data removed), which has not been done
yet. Right now, hash collissions could be constructed by changing
the order of fields and/or adding useless additional data -- however,
that would still mean having to break SHA256.
Generally, to be considered more than just a small extra barrier
or even a security risk, much more review would be needed. See:
https://git.openwrt.org/?p=project/ucert.git;a=blob;f=README.md;hb=refs/heads/master#l6
>
> Currently we do not ship ucert by default and this is needed to check the
> image signature.
People can, however, install ucert which enabled signature checks
of future sysupgrade. When using 'auc' or 'luci-app-attendedsysupgrade'
for upgrade, all explicitely installed packages are also kept accross
updates, and that can include 'ucert' (which is what I've been doing
for a while now on my local devices)
>
> > So ideally we already start shipping the correct keys before activating
>
> > the extra security measurements.
> >
>
> Hauke
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list