[lamps] header protection: multipart/signed wrapped message

Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 27 May 2021 01:45 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 DDD6C3A0920 for <spasm@ietfa.amsl.com>; Wed, 26 May 2021 18:45:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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_DNSWL_BLOCKED=0.001, 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=da5NWxOG; dkim=pass (2048-bit key) header.d=fifthhorseman.net header.b=D4KIAhjb
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 k_GggsfjF1PO for <spasm@ietfa.amsl.com>; Wed, 26 May 2021 18:45:04 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [IPv6:2001:470:1:116::7]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C47B43A091D for <spasm@ietf.org>; Wed, 26 May 2021 18:45:04 -0700 (PDT)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019; t=1622079902; h=from : to : subject : date : message-id : mime-version : content-type : from; bh=CcsnjuhnX06uDoamIXHilSRXg4ETuG4sIJ9tIMpOYaQ=; b=da5NWxOG0TZpzo0I/WVbkvGJH7EZj+Xyk8O7z5hJ2mnp9wjAk7BdrqLgL2bA/OwHzF6dQ LtuzTt+w1taj5PODg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019rsa; t=1622079902; h=from : to : subject : date : message-id : mime-version : content-type : from; bh=CcsnjuhnX06uDoamIXHilSRXg4ETuG4sIJ9tIMpOYaQ=; b=D4KIAhjb9T03LYB+YLiMfMQXjgbc9qq8flLGHJR0SQIiZdVGXANl7WiQCvPMpnx1c6i1j oN+yBlC6MYNzWdigljQ7WKbgZy1mcUr91xRWtz5pOwPN8wTi3CK0FG/kO5JVUI5z9enNC6n T9CCQqaieUpsaJUikWzxJ21NCbn6VaasI8mFFNkYjJOSh5jaCVgYFYkzhxkQSBsGcKX1hz+ 7XFuT8yNVVOXiJK2mufZbAJwMTyHaRKA9+SxcLals8B1wmlJtOQRvIKocd3ij4ubp8mSwbD IIM+J1gZ9/i+daCvhUd2ts1/+zWZglbVxDBsKaDb98927aPvvp52u83cHBTw==
Received: from fifthhorseman.net (lair.fifthhorseman.net [108.58.6.98]) (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 987E1F9A5 for <spasm@ietf.org>; Wed, 26 May 2021 21:45:02 -0400 (EDT)
Received: by fifthhorseman.net (Postfix, from userid 1000) id 3607620455; Wed, 26 May 2021 21:30:46 -0400 (EDT)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: LAMPS WG <spasm@ietf.org>
Autocrypt: addr=dkg@fifthhorseman.net; prefer-encrypt=mutual; keydata= mDMEX+i03xYJKwYBBAHaRw8BAQdACA4xvL/xI5dHedcnkfViyq84doe8zFRid9jW7CC9XBiI0QQf FgoAgwWCX+i03wWJBZ+mAAMLCQcJEOCS6zpcoQ26RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl cXVvaWEtcGdwLm9yZ/tr8E9NA10HvcAVlSxnox6z62KXCInWjZaiBIlgX6O5AxUKCAKbAQIeARYh BMKfigwB81402BaqXOCS6zpcoQ26AADZHQD/Zx9nc3N2kj13AUsKMr/7zekBtgfSIGB3hRCU74Su G44A/34Yp6IAkndewLxb1WdRSokycnaCVyrk0nb4imeAYyoPtBc8ZGtnQGZpZnRoaG9yc2VtYW4u bmV0PojRBBMWCgCDBYJf6LTfBYkFn6YAAwsJBwkQ4JLrOlyhDbpHFAAAAAAAHgAgc2FsdEBub3Rh dGlvbnMuc2VxdW9pYS1wZ3Aub3JnL0Gwxvypz2tu1IPG+yu1zPjkiZwpscsitwrVvzN3bbADFQoI ApsBAh4BFiEEwp+KDAHzXjTYFqpc4JLrOlyhDboAAPkXAP0Z29z7jW+YzLzPTQML4EQLMbkHOfU4 +s+ki81Czt0WqgD/SJ8RyrqDCtEP8+E4ZSR01ysKqh+MUAsTaJlzZjehiQ24MwRf6LTfFgkrBgEE AdpHDwEBB0DkKHOW2kmqfAK461+acQ49gc2Z6VoXMChRqobGP0ubb4kBiAQYFgoBOgWCX+i03wWJ BZ+mAAkQ4JLrOlyhDbpHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnfvo+ nHoxDwaLaJD8XZuXiaqBNZtIGXIypF1udBBRoc0CmwICHgG+oAQZFgoAbwWCX+i03wkQPp1xc3He VlxHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnaheiqE7Pfi3Atb3GGTw+ jFcBGOaobgzEJrhEuFpXREEWIQQttUkcnfDcj0MoY88+nXFzcd5WXAAAvrsBAIJ5sBg8Udocv25N stN/zWOiYpnjjvOjVMLH4fV3pWE1AP9T6hzHz7hRnAA8d01vqoxOlQ3O6cb/kFYAjqx3oMXSBhYh BMKfigwB81402BaqXOCS6zpcoQ26AADX7gD/b83VObe14xrNP8xcltRrBZF5OE1rQSPkMNy+eWpk eCwA/1hxiS8ZxL5/elNjXiWuHXEvUGnRoVj745Vl48sZPVYMuDgEX+i03xIKKwYBBAGXVQEFAQEH QIGex1WZbH6xhUBve5mblScGYU+Y8QJOomXH+rr5tMsMAwEICYjJBBgWCgB7BYJf6LTfBYkFn6YA CRDgkus6XKENukcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcEAx9vTD3b J0SXkhvcRcCr6uIDJwic3KFKxkH1m4QW0QKbDAIeARYhBMKfigwB81402BaqXOCS6zpcoQ26AAAX mwD8CWmukxwskU82RZLMk5fm1wCgMB5z8dA50KLw3rgsCykBAKg1w/Y7XpBS3SlXEegIg1K1e6dR fRxL7Z37WZXoH8AH
Date: Wed, 26 May 2021 21:30:45 -0400
Message-ID: <874keparp6.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/mq_fbMmtFL8gBEgI4kIoYvMgyqM>
Subject: [lamps] header protection: multipart/signed wrapped message
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: Thu, 27 May 2021 01:45:11 -0000

Hi LAMPS folks--

I observe that the S/MIME sample messages produced for
draft-ietf-lamps-header-protection contain a few whose signatures do not
validate for my tests.  I need help from the WG (in the form of
evaluation or generating sample messages) to diagnose the problem.

Please help!

In particular, the messages that fail signature validation have both of
these two properties:

 - they are multipart/signed
 - they use the Wrapped Message header protection scheme

multipart/signed messages without Wrapped Message header protection
(either Injected Headers or no header protection) do *not* fail
validation, and one-part signed (SMIME signedData) or encrypted+signed
messages with Wrapped Message header protection also all validate just
fine.

Either I'm doing something wrong in generating those messages, or all
the validation libraries i've tested are making the same mistake.  I'm
not sure which.

How you can help:

Make a multipart/signed message with Wrapped Message header protection
----------------------------------------------------------------------

Does someone have a MUA that generates the Wrapped Message header
protection scheme and can send multipart/signed messages?  If so, could
you try generating such a multipart/signed message (not encrypted!)
using Alice's Signing Key and Certificate from
draft-ietf-lamps-samples-04, with the WrappedMessage header protection
scheme and forward the message (as an attachment, maybe) to this list
(or just reply to me privately)?

Alice's signing secret key and verification certificate are here:

   https://www.ietf.org/archive/id/draft-ietf-lamps-samples-04.html#name-alices-signing-private-key-
   https://www.ietf.org/archive/id/draft-ietf-lamps-samples-04.html#name-alices-signature-verificati

Or you can load them both (plus Alice's decryption key and encryption
certificate) from a PKCS#12 file with the password "alice" which can be
un-base64'ed from:

    https://www.ietf.org/archive/id/draft-ietf-lamps-samples-04.html#name-pkcs12-object-for-alice

Examine multipart/signed test vectors that are Wrapped Messages
---------------------------------------------------------------

Alternately, if you are up for taking a look at the two messages that
fail validation for me, you can fetch them here:

   https://header-protection.cmrg.net/header-protection.maildir/new/smime-multipart-wrapped.eml
   https://header-protection.cmrg.net/header-protection.maildir/new/smime-multipart-complex-wrapped.eml

Or of course you can copy them out of the draft at:

   https://www.ietf.org/archive/id/draft-ietf-lamps-header-protection-04.html#name-s-mime-signed-only-multipart-
   https://www.ietf.org/archive/id/draft-ietf-lamps-header-protection-04.html#name-s-mime-signed-only-multipart-si

Thanks for looking into this,

       --dkg