Re: [Acme] S/MIME and ACME: concerns about dual certificates (maybe pull the S/MIME draft back to ACME WG)

Michael Richardson <mcr+ietf@sandelman.ca> Thu, 19 November 2020 12:48 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: acme@ietfa.amsl.com
Delivered-To: acme@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 286553A0D89 for <acme@ietfa.amsl.com>; Thu, 19 Nov 2020 04:48:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 kBUGVpQ_h5Ji for <acme@ietfa.amsl.com>; Thu, 19 Nov 2020 04:48:09 -0800 (PST)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B55D03A0D84 for <acme@ietf.org>; Thu, 19 Nov 2020 04:48:09 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id 338DF389CE; Thu, 19 Nov 2020 07:49:07 -0500 (EST)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id paxVzDcTPcrO; Thu, 19 Nov 2020 07:49:06 -0500 (EST)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id 89B04389CD; Thu, 19 Nov 2020 07:49:06 -0500 (EST)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 1E7F01AA; Thu, 19 Nov 2020 07:48:07 -0500 (EST)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
cc: acme@ietf.org
In-Reply-To: <87y2ixafve.fsf@fifthhorseman.net>
References: <87y2ixafve.fsf@fifthhorseman.net>
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Thu, 19 Nov 2020 07:48:07 -0500
Message-ID: <8400.1605790087@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/OarSRLmqOXflIed_DiEUfBgtr_A>
Subject: Re: [Acme] S/MIME and ACME: concerns about dual certificates (maybe pull the S/MIME draft back to ACME WG)
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Automated Certificate Management Environment <acme.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/acme>, <mailto:acme-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/acme/>
List-Post: <mailto:acme@ietf.org>
List-Help: <mailto:acme-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/acme>, <mailto:acme-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 Nov 2020 12:48:12 -0000

Thank you for taking this on!

Daniel Kahn Gillmor <dkg@fifthhorseman.net> wrote:
    > So, an S/MIME MUA probably wants to control two distinct certificates
    > per e-mail account it manages: one for signing, and one for encryption.

Gosh, I thought we got all of this right even for RSA years ago.
{I sure remember a debate in Memphis in a conference room with lovely doors}

The keys need to be different for reasons of escrow (both corporate and
personal: I need to leave my decryption key to my spouse).
Certainly PGP has gotten this right for decades, and I just assumed that
SMIME did too, but I honestly never really checked, because SMIME for email
is just so uncommon.  (I have checked S/MIME signatures on email though)

    > - should the MUA run the ACME process twice, once per certificate?  if
    > so, how does it specify which certificate is for signing and which is
    > for encryption?

I think that it gets one authorization, and then processes two orders.
That's based upon my understanding of how ACME would work for draft-friel-acme-subdomains.
You are essentially doing the same thing, but instead of foo.example.com,
and bar.example.com, you are doing it for KEY1<foo@example.com>, and KEY2<foo@example.com>

    > - If not, how does the client communicate both certificate requests to
    > the server at the same time?  If there's a way to do that, can the
    > user indicate that they want different issuance parameters for the
    > different key usages?

I don't know.

    > For example, maybe a sensible MUA with an automated workflow might
    > want to rotate their signing certificate every month (it's cheap and
    > easy to get a new one, and a validity period of a month on each
    > certificate limits the window of any particular compromise).  But it
    > might want to request a new encryption certificate every 6 months
    > (and it might want the validity window for the encryption certificate
    > to last for a year, so that any acquaintance that receives mail from
    > the user will be able to reply encrypted up to a year later without
    > having to rediscover the user's certificate).  Can/should the MUA
    > just indicate those preferences in the generated CSRs?  if it's
    > embedded in the CSR, do we have rules for how a CA ought to verify
    > the semantics of such a request?

These are definitely sensible policies and should be supported.
I am unaware of CSR attributes that express designed lifetime.
That's usually the perogative of the CA.  I agree that it needs to be tweaked.

    > - alternately, are we comfortable with just saying that the ACME S/MIME
    > work doesn't actually support this dual-certificate model, and just
    > have the same key used for both signing and encryption?  that seems
    > to go against NIST guidance at least, and risks introducing some kind
    > of cross-protocol attack.

I'm not comfortable with this.
I need to be able to leave some (if not all) of my encryption keys to my
spouse/next-of-kin, etc.

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        |    IoT architect   [
]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [



--
Michael Richardson <mcr+IETF@sandelman.ca>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide