Re: [openpgp] Code-signing in OpenPGP [was: Re: SLH-DSA code points]

Michael Richardson <mcr+ietf@sandelman.ca> Sun, 24 March 2024 02:21 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: openpgp@ietfa.amsl.com
Delivered-To: openpgp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 788C1C14F683 for <openpgp@ietfa.amsl.com>; Sat, 23 Mar 2024 19:21:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=sandelman.ca
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yG3OFcfOaNxZ for <openpgp@ietfa.amsl.com>; Sat, 23 Mar 2024 19:20:59 -0700 (PDT)
Received: from relay.sandelman.ca (relay.cooperix.net [176.58.120.209]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 82443C14F5E2 for <openpgp@ietf.org>; Sat, 23 Mar 2024 19:20:58 -0700 (PDT)
Received: from dyas.sandelman.ca (unknown [111.65.56.232]) by relay.sandelman.ca (Postfix) with ESMTPS id 4ABE01F4A8; Sun, 24 Mar 2024 02:20:56 +0000 (UTC)
Authentication-Results: relay.sandelman.ca; dkim=pass (2048-bit key; secure) header.d=sandelman.ca header.i=@sandelman.ca header.b="CdTxhbFy"; dkim-atps=neutral
Received: by dyas.sandelman.ca (Postfix, from userid 1000) id 186D1A1913; Sun, 24 Mar 2024 12:08:57 +1000 (AEST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=sandelman.ca; s=dyas; t=1711246137; bh=8wHJHe48rI/uYfKYphw7rZrhf5qpE7k1nCB/y4OWxB4=; h=From:To:Subject:In-reply-to:References:Date:From; b=CdTxhbFy8GJ09ySjiPtYySm9QYa/Br2wDW3EjtKs8nB+zMxbggOVPPRRGYG8Httf8 80FXmARaGniYfqyX6AU8NmG6CrclC4TajR+SR9MRiQQJpRQADHV9JUtLvHRz0r6AEW hQv8pnvAw9SLJBakXnNTMXDX1TN7HYaa+szvG8dzER2JtcvFyr4GHaCsatbwATX+Nk UbLaiknWbbmR5ksbZv6jeU1WUI5hlJKl9W32dtKA8X2XURF8elx7kr9zLqwza4FlOZ 60VNuOKYR22RleS1sW/Tys/+icB5AUl95qIo/dJzeyhv26yV4tvccrN2vx1RGrwegJ OK9xV4DGXcL6g==
Received: from dyas (localhost [127.0.0.1]) by dyas.sandelman.ca (Postfix) with ESMTP id 14E38A0012; Sun, 24 Mar 2024 12:08:57 +1000 (AEST)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Simon Josefsson <simon=40josefsson.org@dmarc.ietf.org>, Daniel Kahn Gillmor <dkg@fifthhorseman.net>, openpgp@ietf.org
In-reply-to: <877chu10y0.fsf@kaka.sjd.se>
References: <42ff8d55-88a9-4c84-99bd-688f1d29b508@mtg.de> <cmw0WtLf6I-72e-G31FTB9xrwcccedIXaLi0QxYKjN-q9HAwCryEfqHwv6tZnlc2O3STIbVEoFY7gRzENrRBS8EDd_2lKWwx33UQBPrG204=@protonmail.com> <87bk763ykr.fsf@fifthhorseman.net> <877chu10y0.fsf@kaka.sjd.se>
Comments: In-reply-to Simon Josefsson <simon=40josefsson.org@dmarc.ietf.org> message dated "Fri, 22 Mar 2024 21:11:35 +0100."
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.3
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Sun, 24 Mar 2024 12:08:57 +1000
Message-ID: <328833.1711246137@dyas>
Archived-At: <https://mailarchive.ietf.org/arch/msg/openpgp/E9sJodR34TmrV9y33-EB4GnUR2A>
Subject: Re: [openpgp] Code-signing in OpenPGP [was: Re: SLH-DSA code points]
X-BeenThere: openpgp@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Ongoing discussion of OpenPGP issues." <openpgp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/openpgp>, <mailto:openpgp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/openpgp/>
List-Post: <mailto:openpgp@ietf.org>
List-Help: <mailto:openpgp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/openpgp>, <mailto:openpgp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 24 Mar 2024 02:21:04 -0000

Simon Josefsson <simon=40josefsson.org@dmarc.ietf.org> wrote:
    >> If i had to make two bins, it'd probably be something like:
    >>
    >> # Lightweight sigs (frequent, informal, maybe EdDSA?)
    >>
    >> - daily e-mails
    >> - git commits
    >>
    >> # Heavyweight sigs (infrequent, formal, maybe SLH-DSA?)
    >>
    >> - tarballs
    >> - release announcement e-mails
    >> - git tags

    > This roughly matches my use-cases too, but I don't feel confident using
    > EdDSA for the first use-case forever, in case a quantum computers can
    > attack it in the future.  A hybrid EdDSA + ML-DSA-87 could work.

In the case of git commits, subsequent signatures coroborate (or do I mean
endorse?) the earlier ones.  And the release/tag commit signature effectively
signs everything that was before.

(Not the same for release announcement e-mails signing daily e-mails, but
maybe that's something we should think about: a heavyweight signature that
endorse many earlier signatures)

    > I think what you are looking for here goes beyond what we'll be able to
    > provide.  If I understand you correctly, the normal solution to this
    > problem today is to create a "release-only" key using a separate key id,
    > and publish human language statements explaining the relationship
    > between the two keys.  I think this is a fairly successful pattern used
    > by many projects, including GnuPG --

Yes, and generally one wants to share (or secret-split perhaps) the release
signing key so across many people.  Okay, some projects are single
developers, but perhaps they should always form a collective with other
single authors.

DKG has been trying to teach me to merge my travel keys a subkeys for my main
key so that I don't have multiple identities.

--
Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-                      *I*LIKE*TRAINS*