Re: [lamps] Advertising S/MIME capabilities in a certificate?

Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 26 November 2019 23:00 UTC

Return-Path: <dkg@fifthhorseman.net>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D5603120B04 for <spasm@ietfa.amsl.com>; Tue, 26 Nov 2019 15:00:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.299
X-Spam-Level:
X-Spam-Status: No, score=-4.299 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=fifthhorseman.net header.b=iS1gPqZ3; dkim=pass (2048-bit key) header.d=fifthhorseman.net header.b=usMaRNAl
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JkNIaMzke0PC for <spasm@ietfa.amsl.com>; Tue, 26 Nov 2019 15:00:57 -0800 (PST)
Received: from che.mayfirst.org (che.mayfirst.org [162.247.75.118]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 62B1B120B01 for <spasm@ietf.org>; Tue, 26 Nov 2019 15:00:57 -0800 (PST)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019; t=1574809256; h=from : to : subject : in-reply-to : references : date : message-id : mime-version : content-type : from; bh=WEc9IVG+GcAGAP3m7LdaVT74jZvP0XlTALIEbE1hP9o=; b=iS1gPqZ3dYO7JFYPPkGReOmHXIeIacjPUBk2SQRnAMLegGp4CnJhNYtr 4izbcGWjpZF2xqE48gHLAs4WJVWOAQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019rsa; t=1574809256; h=from : to : subject : in-reply-to : references : date : message-id : mime-version : content-type : from; bh=WEc9IVG+GcAGAP3m7LdaVT74jZvP0XlTALIEbE1hP9o=; b=usMaRNAlyjGKXfZZyrYFt1IPkKf6OmTFQIHDDggItnp4nDoXx+ZpY450 Dty8/w7EouPWBhpClmvjF2/BnlkF6WbW+cnoyc3Zr4iY4hmZkW6SA/PSUU J7kH55KY9d7N9iMcVT4eWKGnRCMN/9GReXpA3PGZkIu/x2wdjyq2BtYTGG JdxBsTDbt2kQsBRVmuIddlT/57wdx+Ggr5PSwkAUiEPyaL9PXDOOnfF52c MADNdJmnJSGncvDg57itqMdklfi+cDUFklSH7ohOx2csS2DjQ82CEtDz8O ldo0g4U1mns/S96dna8/4onHVC4/NY/88WT6WzdLNEo1RvQsHHhpGw==
Received: from fifthhorseman.net (unknown [38.109.115.130]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id D6EAEF9A9; Tue, 26 Nov 2019 18:00:55 -0500 (EST)
Received: by fifthhorseman.net (Postfix, from userid 1000) id 5478820524; Wed, 27 Nov 2019 07:00:53 +0800 (+08)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: Jim Schaad <ietf@augustcellars.com>, 'LAMPS WG' <spasm@ietf.org>
In-Reply-To: <066401d5a493$fb5c5de0$f21519a0$@augustcellars.com>
References: <87blt4i2ye.fsf@fifthhorseman.net> <053201d5a34b$56e34fb0$04a9ef10$@augustcellars.com> <877e3ngnza.fsf@fifthhorseman.net> <066401d5a493$fb5c5de0$f21519a0$@augustcellars.com>
Autocrypt: addr=dkg@fifthhorseman.net; prefer-encrypt=mutual; keydata= mDMEXEK/AhYJKwYBBAHaRw8BAQdAr/gSROcn+6m8ijTN0DV9AahoHGafy52RRkhCZVwxhEe0K0Rh bmllbCBLYWhuIEdpbGxtb3IgPGRrZ0BmaWZ0aGhvcnNlbWFuLm5ldD6ImQQTFggAQQIbAQUJA8Jn AAULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMS8Lds4zOlkhevpwvIGkReQOOXGBQJcQsbzAhkB AAoJEPIGkReQOOXG4fkBAO1joRxqAZY57PjdzGieXLpluk9RkWa3ufkt3YUVEpH/AP9c+pgIxtyW +FwMQRjlqljuj8amdN4zuEqaCy4hhz/1DbgzBFxCv4sWCSsGAQQB2kcPAQEHQERSZxSPmgtdw6nN u7uxY7bzb9TnPrGAOp9kClBLRwGfiPUEGBYIACYWIQTEvC3bOMzpZIXr6cLyBpEXkDjlxgUCXEK/ iwIbAgUJAeEzgACBCRDyBpEXkDjlxnYgBBkWCAAdFiEEyQ5tNiAKG5IqFQnndhgZZSmuX/gFAlxC v4sACgkQdhgZZSmuX/iVWgD/fCU4ONzgy8w8UCHGmrmIZfDvdhg512NIBfx+Mz9ls5kA/Rq97vz4 z48MFuBdCuu0W/fVqVjnY7LN5n+CQJwGC0MIA7QA/RyY7Sz2gFIOcrns0RpoHr+3WI+won3xCD8+ sVXSHZvCAP98HCjDnw/b0lGuCR7coTXKLIM44/LFWgXAdZjm1wjODbg4BFxCv50SCisGAQQBl1UB BQEBB0BG4iXnHX/fs35NWKMWQTQoRI7oiAUt0wJHFFJbomxXbAMBCAeIfgQYFggAJhYhBMS8Lds4 zOlkhevpwvIGkReQOOXGBQJcQr+dAhsMBQkB4TOAAAoJEPIGkReQOOXGe/cBAPlek5d9xzcXUn/D kY6jKmxe26CTws3ZkbK6Aa5Ey/qKAP0VuPQSCRxA7RKfcB/XrEphfUFkraL06Xn/xGwJ+D0hCw==
Date: Tue, 26 Nov 2019 18:00:52 -0500
Message-ID: <87o8wyfdjv.fsf@fifthhorseman.net>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha256"; protocol="application/pgp-signature"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/bhLRhWkLAPycTr9PiqqrAnmAHeU>
Subject: Re: [lamps] Advertising S/MIME capabilities in a certificate?
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 26 Nov 2019 23:01:00 -0000

On Tue 2019-11-26 11:59:13 -0800, Jim Schaad wrote:
>  [ re: multiple layers of sequences ]
> Welcome the structure of a Signed Attribute.  There are two different
> things that are causing the wrapping.  The signed attribute definition
> and the SMIMECapabilities definition.  In section 2.5.2 it stays that
> there can only be one item in the outer sequence so there are not
> multiple sequences defined.  If this was not done then a merge method
> of trying to figure out priorities would have had to be defined.
> Making it be a single sequence makes prioritization easier to defined.

OK, thanks for the pointer and the hint, i hadn't really understood that
from reading §2.5.2 the first time, but i see how it can be read that
way now :)

Are there any examples?  An example certificate would be really nice to
have as a demonstration!

draft-dkg-lamps-samples uses certtool (from GnuTLS) to create its
example certificates, but it looks like certtool can't currently
generate the right extensions in the certificate.  I've opened
https://gitlab.com/gnutls/gnutls/issues/863 to ask for such an
extension.

If anyone knows of another implementation that supports these capability
extensions, please let me know so that i can record it in that feature
request, as GnuTLS upstream likes to know what other implementations
provide it (presumably for interop testing)

> [ re: juggling capabilities discovered in certificates and messages ]
> That should potentially have been thought about in RFC 4262.  The
> algorithm for RFC 8551 is always replace.  If I was implementing this
> I would either define it as the message replaces the certificate or
> the certificate replaces the message.  At this point I would not know
> which way I would go as I have not thought it through.  First guess is
> that the certificate always wins.

Hm, that's interesting -- if certificate always wins, then it becomes
impossible for a client with any capabilities in the cert to announce
new capabilities based on a software upgrade.  right?

I was thinking that a union of the capabilities between the certificate
and the most-recently-received signed message would make the most sense
from a deployment perspective, but i agree that it would be good to have
that documented.

     --dkg