Re: [lamps] WG Last Call: draft-ietf-lamps-e2e-mail-guidance-08

Stephen Farrell <stephen.farrell@cs.tcd.ie> Thu, 27 July 2023 20:33 UTC

Return-Path: <stephen.farrell@cs.tcd.ie>
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 22A8AC151707 for <spasm@ietfa.amsl.com>; Thu, 27 Jul 2023 13:33:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, NICE_REPLY_A=-0.091, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=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=cs.tcd.ie
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 MbBX_HVGwc7q for <spasm@ietfa.amsl.com>; Thu, 27 Jul 2023 13:33:04 -0700 (PDT)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2103.outbound.protection.outlook.com [40.107.20.103]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1D760C151544 for <spasm@ietf.org>; Thu, 27 Jul 2023 13:33:03 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I1r4BR57ra0oX1Mml6So/uZrOZJE+2Sj04iXMlycGSLluxXF7Oqf2mVFxR2PmEvrMmSoaHFbiWknFzgF296SdBdhUcynFryoSSnkWOMVL9She94Tz0xKmYnZVgn616/XJb8dW2ovboh1MgmAWSSl0f3lwiRRWz3rRF+LDkIcqez0yq+KJ6ppVXFqG/iVHpsr6PQ+2lhxr4tKLgLOe8S8qaf14xafR8peZ2RvTnIAA+Dq/x6Cxy7tfdeXT8mbfBLbZSPvwaPWkR1YifWGXDrLnNK1SWiov2tUd3y1uZgW8JO/ggBnURzrNYGuKWkkriuwuuiFtpt4smG0PjN80YCAbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xiYaAYzpYD2YMq1bGRMUs3JWUCLOyjAwHy/StKHsQSU=; b=b6QOXMWxQo7rBrlRmn+Mz2HfhDBHRpFabqQa1UuSiYuUrSQ8n/lbWk4S9dXf1KbSZuPFqJylDL7L6QAxHGb7md2prxOxaGxMVRVvVyDyplKp+U8KA0qpbbZdRWIOibOg8DW/SjAVsvdZHlF+3kRNzKu4vFID29nFbdO25znoiGR9fa4gcAtYtYAcVz9JrQXCAf1lWIcwPui+H3KDAzi3YSh5hlynCemEQ3KATZosfZGLg7v0vBFTQLrCkX7Tr3kGKiQ6FA1qpbKpaCSt22kihI0VhMryMvG3ajHuxISOt5BdUfj3DmFhADnVGL6crZU534JGodJY3wa7qCkl9z+EHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cs.tcd.ie; dmarc=pass action=none header.from=cs.tcd.ie; dkim=pass header.d=cs.tcd.ie; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.tcd.ie; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xiYaAYzpYD2YMq1bGRMUs3JWUCLOyjAwHy/StKHsQSU=; b=C/N7ltoAUd9dE8Ct9SnBy9c6WiPbCzoqC1721beax2tHfkK4+000+JFx+bRBlDHh7pKK+gFyEcfJRnRPdYrnJEpdrQlTpkopGGb/7rIJXzU+48tZKi3cwJRfWKHgddHMqEEYocA9fvLZ/aj12xW3plEDFK+mgxFky3NrhsrwgsYcTTTI/WQ/Pv2ZYXFu/kqxNX46XmeMQixp5VC9jCW15OZYRjc/lb3lB4zeF//rnYccz+DbhqaHQPjSVRMVSqVVtWNygVJlA7pkacsMr2t0VLmkByY+ne84UTNmTZ/WGgRVwUccP5IBowWGwa3m349MK8/1HoqiGv0n2o7dVy72cA==
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cs.tcd.ie;
Received: from DB7PR02MB5113.eurprd02.prod.outlook.com (2603:10a6:10:77::15) by AS8PR02MB7786.eurprd02.prod.outlook.com (2603:10a6:20b:441::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.5; Thu, 27 Jul 2023 20:32:59 +0000
Received: from DB7PR02MB5113.eurprd02.prod.outlook.com ([fe80::fa1f:4010:420f:140d]) by DB7PR02MB5113.eurprd02.prod.outlook.com ([fe80::fa1f:4010:420f:140d%4]) with mapi id 15.20.6631.023; Thu, 27 Jul 2023 20:32:59 +0000
Message-ID: <f930a6c9-9bd0-e2db-2f1e-65c95410c449@cs.tcd.ie>
Date: Thu, 27 Jul 2023 21:32:51 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0
Content-Language: en-US
To: Daniel Kahn Gillmor <dkg@fifthhorseman.net>, Russ Housley <housley@vigilsec.com>, LAMPS <spasm@ietf.org>
References: <CDB2F6AA-3034-4ECD-A433-F197825BA043@vigilsec.com> <de08fdcd-1ca8-4455-7fdb-c3798c6780e8@cs.tcd.ie> <875y6xc59s.fsf@fifthhorseman.net>
From: Stephen Farrell <stephen.farrell@cs.tcd.ie>
In-Reply-To: <875y6xc59s.fsf@fifthhorseman.net>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="------------rsFL8CEP2qpT1vCLNZohC7Bm"
X-ClientProxiedBy: SJ0PR03CA0279.namprd03.prod.outlook.com (2603:10b6:a03:39e::14) To DB7PR02MB5113.eurprd02.prod.outlook.com (2603:10a6:10:77::15)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DB7PR02MB5113:EE_|AS8PR02MB7786:EE_
X-MS-Office365-Filtering-Correlation-Id: 0a69ec33-446c-48b5-b7a9-08db8ee0aab9
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-TCD-Routed-via-EOP: Routed via EOP
X-TCD-ROUTED: Passed-Transport-Routing-Rules
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: bYbDo1ami4bjrFX65xnYp1cEm3x2y0k3Xz2iU9BKhbDfz6yKD4gfW94272O967V7jPKUDUFx6i4U6AEhu1+rqBGjlTfExnQMOuPP/GabPTdYfDW86vKKC0/MqTab+ef2IOFac3gVg7XySq5CGOnTzs3TackaPmQ4fIV4hWqe7/Abc0hmzvftnROFsCcMO8GOQZYc5gZsInE8mxJhXUc9HDSAH7i3gAPBHCXIOp0NYUvxCrMkSFz6ockEHfW5fEH2odBsTa4FjWx0YoDJONEN1hjGm52nDtN9ySbqwzAg7WbcQnRTUJ3jxRXg5LgyK/969z2WjqdmO8yPOROGoIcPWIijbm0TWKU7hO6Jyv9SekRdiFURRK722nU+q6FSuY22w/uBJ3YxSY7N8ar+0Fa6Vll/4w7MI/cu+ZrFgLzfg+rrttiDrkhCDZJxgtbSTDPXrk0ykGfhKBeTVkGxeLltTzOlR2DDTzp3EM+gYfFW72e2AEGP5TF7UpKVtQH7DC9HPuKEUzGcz196SeYa91mdYmibhpSQvfjLBFPU7wJO725lhNTXQ2aHBuB2fCj7MN/tpnsYHIN8WfKA9p0wJvmHtRRWHHtttYV67fG4qu0hEeAt7I1AKB7493r7RO6akOZd8TXCbKC9DbSfHQ2S4arWbxY5OKqDGbSBXoZRV5y6lNBqskLUWt57sgHRF80Y1uCB
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR02MB5113.eurprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(376002)(366004)(39860400002)(136003)(396003)(346002)(451199021)(2906002)(66899021)(316002)(786003)(8936002)(8676002)(235185007)(5660300002)(44832011)(41300700001)(30864003)(36756003)(86362001)(31696002)(6512007)(6486002)(6666004)(33964004)(478600001)(6506007)(53546011)(186003)(21480400003)(110136005)(966005)(2616005)(83380400001)(66946007)(31686004)(38100700002)(66556008)(66476007)(71440200002)(2004002)(43740500002)(45980500001); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 6hWZnuYJv/7RYeDXJjcYTorA9x0IzC7mbPJd1T9V5ZM9+jsc5/6TvGHp5bwfnPhrkiMXbAn7UyEqM9508Hlw6Pnea5K2qGcZ37nk5xDmbyaKuoGBCYkUrj1AFITZPM/39ok3nsILDzdbsiGiVOSaQ5cu/CNrdj/9RyodmE/Gm4vDCraI+SD6QcHkjDIdG7Kv/cH/rmFhQLTbAv+P41o5ESEsHLxB68X81gtkfI6g1lw59yV3oO3PKWldOMaNBRpF/wl/pvERST6g5Mqu42lZCj4ujESuZPXMF9D/gCh0Vi0BCStzRdSJ3OTpMlFt68+vrEXd0Ncpf2u7TQZjDr++nPsZ9XQHbE36dbaCC2M5J0XfvRaBuuxE6MpfKRNbCEAK2CEN0pE+SHo6dXBPtud4UExHtjSkMEdWtGBfbVPwPDFinQzn7BCU6H3an+vASwAF73JpRLr1SBasS/XyriW5IQxGVVSq2PJ4KGRE2X3CAV32vkCcxjQSpAVVXkYijvqUDE4WWH7tapTO3OjqmOOLITvuJpYkmNq8b23VpNyfTggn2R56Q3mgirvBN9qJb0Nmjv5A2aTPGZKOwZcvXzF9rlAnVoRDHfjjscOeHTaHOCdahSvHIsIvDb/ceVQvgKaXrw1ilMp5jOs7BFdvc7E70yB/scUFUUv3ZyApFd0NagPJ3OdS+e/ucAHGD7WuPELsafMbzxhiLQhCRAHz7fjhaDQaQg+c1uwCO5fVRnoum6THBAefC/krmRkY8UZTMuPsXn8rS6idw5ZripJKoacn6FEzdIskDxD8nGRyltWFIGIMdGiO/K08P6QHeinkDp08OQcSG5ZkBL3FwSLUU6y9OIj0vnZJ3qp7CrXh/oV4CGggSrL3wpFfgBSOzfWTohgxxmTcndUH6DYy/rLSFaqZ+0avss+4rBs5zX6P8EEH95rB2MYmVUO+k+dCwIfCzEmHmGJPzKPHB8Q3a1acVeGfKKkPDe3hZ97mPWPPE/OcPmS4ju0EEh4datiSIXc1C4m/JXW5JMqWrYadL/VzPDw5eR4cGuhpCHKaJMSonzhiQTpYv5tU3xD6asrq74a+rSDd4gTykN8NxCHC/M7+XRaiTJaZlweu7G/aUJfejk2MfN30ZnLwhX/FsSPEPw7ILDacEIxblUf15wteM70qEW2ufh3VMa8the/XHpbc27XgjCxBLLKKS1tVHyujzYzmH1X1fMR9hHb1smY9Kw+Rb31ZgaMQZDvBO+2mVNzKdcuG0R2u6/KGVvtpRz8h6A5w690U1tGqAtLTq2a3wT+ZGGMfiEdEKATspPSZXqCNfKYE6C8EGO2+9LRo1pT1Ol+1cRW6kN1+nR/pSDYwtNgRG2DoziDCbMBFin3JV8KPIraoOAz4luOT5LRu5npF/N3BTvLlInY9zkC1IAQEP6XTr9kUtR+l9JqjGBUk4iTQKaCHZURnt8DCn9IIS1Cp89TM8BSSYALH4YDSsKZxEWjX8zZa0Rr4Qh+DIizG0lSLIReq8Ys234Q63VVdHP430GVmqvcrCyHiLWQtsQkRl2YjWznMlmi36fpU8qgfhWWhaBLUWw2+AoAc6O9UaYfF5pqTiyWv5g0S+4f456xYr+vI69qaf0jfYPXzgAD89cG4/Ca/4rHGM/OSDjP7I9YPPopFsD3g
X-OriginatorOrg: cs.tcd.ie
X-MS-Exchange-CrossTenant-Network-Message-Id: 0a69ec33-446c-48b5-b7a9-08db8ee0aab9
X-MS-Exchange-CrossTenant-AuthSource: DB7PR02MB5113.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2023 20:32:59.5073 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: d595be8d-b306-45f4-8064-9e5b82fbe52b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XxS1KBgFzDocHhiOmdsZz8qP+S93jHY/mjJxjfRpMxra5elZ01AE15Okbqb/Mz2J
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR02MB7786
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/gz-zopa6nq-iQq7p4Vw3qa0Sm3A>
Subject: Re: [lamps] WG Last Call: draft-ietf-lamps-e2e-mail-guidance-08
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.39
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 Jul 2023 20:33:09 -0000

Hiya,

Sorry for the slow response. Bottom line is I accept that
the WG have consensus to put this out more or less as it
is (recognising it's imperfections) so it's ok that I'm
either wrong or in the rough:-)

More detailed responses below.

On 06/07/2023 18:35, Daniel Kahn Gillmor wrote:
> Hi Stephen--
> 
> thanks for this review, and sorry for the delay in responding to it.
> 
> I've just published draft -09 which includes a handful of small changes
> in response to your observations below.  In this message i've tried to
> respond to each of your points.
> 
> Please let me know if i've missed something or if you have other fixes
> which you'd prefer to see made.
> 
> On Wed 2023-06-21 17:04:28 +0100, Stephen Farrell wrote:
> 
>> - general: other than mentions of p#12, I don't see any
>> guidance about using multiple MUAs with the same (set of)
>> private key(s). Multiple MUAs is I think now the most
>> common setup and ignoring that seems wrong. I know we
>> don't have really good answers, but ignoring that doesn't
>> seem like a good plan to me. I do see A.3.1 but think
>> the main body should at least recommend something
>> explicitly for this such as saying that MUAs should
>> support import and export of credentials for this
>> reason.
> 
> I agree with you that this particular situation (shared keys across
> MUAs) is important and currently underspecified.
> 
> As you observe, A.3.1 ("Cross-MUA sharing of Local Certificates and
> Secret Keys") calls this out for future work.
> 
> section 8.2.1.1 ("User Certificates for S/MIME") already says:
> 
>      An S/MIME-capable MUA that has access to user certificates and their
>      corresponding secret key material should also offer the ability to
>      export those objects into a well-formed PKCS #12 object that could
>      be imported into another MUA operated by the same user.
> 
> What other text do you want to see added?

Ah fair enough I must've missed that.

> 
>> - general: have MUA developers commented on this? I
>> think we'd be very wise to ensure that's happened before
>> we publish.
> 
> The three main editors (Bernie, Alexey, and myself) all contribute to
> different MUAs (Bernie works with pEp, which produces several MUAs and
> MUA plugins, see https://pep.foundation/pEp-software/; Alexey works on
> Isode's Harrier (https://www.isode.com/products/harrier.html); and i
> contribute (with particular substantial focus on cryptography) to
> notmuch (https://notmuchmail.org) and in smaller ways to several other
> free software MUAs).  We've been asking the LAMSP group for comment
> here, and doing private outreach to other MUA developers.  If no one
> else responds publicly, i'm not sure what else we can do.

I agree it can be hard to get feedback, but equally if we
don't know what implementers of the most commonly used MUAs
think of this then we're in an undesirable position in that
we don't know which bits of this might help and which may
be ignored etc. I accept being in the rough on this.

> 
>> - section 2: "it is likely is that the user will continue to encounter
>> unprotected messages, and may need to send unprotected messages" I
>> think that's utterly wrong, and importantly so - it is certain that
>> both will happen, and both will happen far far more frequently that
>> dealing with e2e encrypted email, even if we'd prefer the opposite
>> were true.
> 
> You're right, of course, about the scenarios that users of a MUA will
> see.  But I think the text is actually saying the same thing you're
> saying, just in a more mild "dry engineering humor" form ("likely"
> instead of "certain").  I've changed it from "it is likely" to "it is a
> near certainty."  Is that better?

Better, yes. Still not correct though, but it's ok.

> There are in fact contexts where an e-mail acount is used entirely
> privately; but they are few and far between, and a dedicated
> communications channel may well be better implemented on a bespoke
> channel, rather than on top of a MUA.
> 
>> I think that has consequences e.g. 2.3 says "But a user whose e-mail
>> communications are entirely end-to-end protected might instead want to
>> know which messages do not have the expected protections" but that's
>> totally unrealistic and hence not good guidance for an MUA developer.
> 
> I've changed this sentence to start with "But a user whose private
> e-mail communications *with a given correspondent, or within a given
> domain* are entirely end-to-end protected…" to make it clear that no one
> currently believes it's plausible to have an entirely end-to-end
> protected e-mail inbox today, though (as it says in the subsequent
> paragraph) there are some contexts where it's possible and reasonable to
> hold such an expectation about a given e-mail message.

Yep, that's better, thanks.

> I've also added a subsection to the "future work" appendix that talks
> about expectation management and its interaction with security
> indicators.

Ack.

>> - section 3.1: 'If the user is unaware of the protections,
>>     then they do not extend all the way to the "end".' I
>> think I don't agree with that but not 100% sure. Couldn't
>> it also be a tactic to try e2e encrypt as much as possible
>> (even with low quality key management) and only tell the
>> user abou it later?  Is there evidence that the quoted text
>> above is the better approach?
> 
> I think what you're describing here is opportunistic encryption.  I'm a
> fan of opportunistic encryption, where the user doesn't even know that
> it's happening when it happens, or unless they do a manual inspection.
> But i don't think it's end-to-end.  If the parties at the end won't
> notice if the encryption goes away, then how can we say that the
> encryption is even present?

So my question was about whether there's evidence here not
whether one or other situation was better. I'm ok that we
proceed without that evidence.

> 
>> - Similarly, 3.1 proposes unprotected/verified/confidential
>>     as a model.  Where is there evidence that that's a good
>> model? I don't have a problem with separating out
>> encrypted-but-not-signed but I doubt "verified" vs
>> "confidential" would be meaningful to users.
>>
>> - 3.2 seems to assume that opportunistic methods can only
>>     apply to mail transport security. I think that's
>> incorrect.
> 
> how so?  the first sentence acknowledges approaches like
> "opportunistically encrypting on a per-recipient basis".  That's
> something that can only be done at the message level, not at the
> transport level.
> 
> I've tried to clarify the text in that section to acknowledge that
> opportunistic transport protections can exist *as well* as opportunistic
> message protections.

ack.

>> - section 8: while expecting an MUA to check for revocation
>> is what we've always wanted, afaik, it mostly doesn't
>> happen, except maybe in enterprise s/mime deployments
>> (even there, I'm not sure what's the reality). I don't
>> think the guidance here ought pose impossible problems
>> to MUA developers, so text along the lines of "if you
>> do check revocation, here's <guidance>, but we know
>> mostly you don't."
> 
> I agree that checking revocation is a fuzzy/dubious process for most
> MUAs today, and i haven't heard anyone offer compelling guidance on how
> to do it.  There is a section tracking this gap in the Future Work
> appendix, see §A.2.3.

I still think the text ought not propose things we know
won't be done, but I'll accept being in the rough.

>> - 8.1.1: I don't know that the eku ckeck (the last bullet)
>>     is reasonable to require - can you re-assure me on that?
>> (Concern is that might cause a pile of existing certs to no
>> longer be usable, for not super-great additional benefit.)
> 
> The security goal here is related to various forms of key reuse concerns
> -- the same ones that Eliot and I were talking about (e.g. DROWN and
> IKE) for why we want certs to only be signing or encryption.  If a user
> is using a non-e-mail key for e-mail encryption, then any attack on the
> other protocol could break the confidentiality of their e-mail messages.
> 
> Consuming implementations *should* be conservative here, to encourage
> certificate generators to do the right thing.  We've already covered
> this in RFC 9216 (sample certificates for e-mail) that are intended to
> show reasonable practices.
> 
> Furthermore, i'm under no illusion that the recommendations in this
> draft will be adopted universally next week or next month even -- this
> is a slow-moving ecosystem.  But most X.509 certificates expire within a
> year or two at most.  Having this guidance be clear for certificate
> issuers today, to understand consequences of their actions is important
> so that future certificates are more likely to be issued with the
> appropriate eKU.
> 
> If someone has evidence that shows that there are many certificates
> currently in use that this will break, and which do not expire within a
> few years, or that there are widely used CAs that issue
> certificates for use with e-mail with an eKU but without the e-mail OID
> or the anyExtendedKeyUsage OID, then i'd be happy to dig more deeply
> into the details of the specific situation.

Again, I'll accept being in the rough.

>> - 8.2.1.1: wrt p#12, there's a new I-D to be discussed
>> at ietf-117 secdispatch I think that could be well worth
>> considering - some text there might remove the need for
>> some here for example
> 
> I think you're talking about draft-woodhouse-cert-best-practice -- is
> that right?  I've added an informational reference to this section to
> refer to it.  I'd prefer to not remove anything from
> draft-ietf-e2e-mail-guidance at the moment, since (a) i don't want to
> make it a normative reference, and (b) we don't know how that document
> is ultimately going to turn out.

That's fine thanks.

>> - 8.2.1.1: do any CAs have operational support for rfc8823?  If so,
>> are any free? (I'm not aware of such.) If there were such, then I'd
>> argue for making a stronger statement asking for MUA support. If not,
>> current text is probably ok.
> 
> I'm not aware of any at the moment.  Let's Encrypt is currently not
> provisioned for that
> (https://community.letsencrypt.org/t/s-mime-acme-using-rfc8823/150227),
> and i wasn't able to find anyone offering it today.
> https://acme.castle.cloud appears to offer tooling capable of
> implementing the server side (and the client?) but i don't know of any
> widely-trusted authorities that have it deployed.

ack.

> 
>> - 8.2.1.2: does any MUA do anything like the "pruning"
>>     recommended in the last para? If not, seems like a bit of
>> a stretch to ask. (And, is that a real problem anyway? Not
>> sure myself.)
> 
> Yes, bloated OpenPGP certificates are a real problem (see
> draft-dkg-openpgp-abuse-resistant-keystore for way more detail than you
> probably want).  There are multiple OpenPGP implementations that do
> pruning of various qualities (e.g. GnuPG has an "export-minimal" option,
> and sequoia has "sq keyring filter"), and there are MUAs (including, for
> example, those following the Autocrypt guidance) that deliberately prune
> certificates for minimization before transport.

Ok.

>> - 8.2.1.3: Why a *3rd* party? ISTM an external key
>>     generator would be a 2nd party. Also, how could this work
>> for a web MUA? Do you consider the web server a 1st party?
>> If so, that's maybe reasonable given the code is coming
>> from there, but worth saying.
> 
> good call, i've changed it from "untrusted third party" to "untrusted
> external party".
> 
> I think if you're using a web MUA, your web server is part of your
> trusted computing base, so it's not an untrusted external party.  I'm
> not wild about that scenario from an e2e perspective (the server can
> often be run by a potential adversary, and most people are not able to
> identify that risk, let alone vet it properly), but i don't think we
> need to call out web-based MUAs in this particular subsection any more
> than any other.

Ok.

>> - 8.2.2: wouldn't it be counterproductive for an MUA to
>>     warn about each specific thing there? If so, I'm not sure
>> what kind of warning is envisaged.
> 
> This section specifically says that proactive fixing is better than
> warning, but that we don't have detailed guidance on how to do the
> fixing (that's part of the "Active Local Certificate Maintenance"
> subsection of "Future Work").  I agree that warning about each specific
> thing would be pretty noisy, but the original intent was just to
> encourage the MUA to do a certificate health check, and to warn the user
> if their certificates might be unacceptable to a reasonable peer.
> 
> I've added a sentence with more recommendations about the warning,
> encouraging an aggregate warning with simple language and
> recommendations for next steps.

Ack, thanks.

>> The 3rd bullet also seems a bit wrong given that most MUAs support
>> multiple accounts.
> 
> That's a good point, thanks; i've reframed the section to be in
> reference to a single e-mail account managed by the MUA.

ack

>> - 8.2: Is this section generally missing guidance for
>> MUA developers on where to look for certificates in inbound
>> messages? I don't know if that ought be identical to the
>> guidance on where to put 'em in outbound messages but
>> there could be different guidance needed, not sure.
> 
> §8.2 is about the user's own certificates, not certificates for the
> user's peers.  So no, guidance about looking for certificates in inbound
> messages wouldn't be appropriate to this section.
> 
> The "Future Work" appendix has "Certificate Discovery from Incoming
> Messages", describing some of the challenges about importing
> certificates from arbitrary incoming messages, without offering a
> specific prescription for how to do it.  As the document says, I think
> we currently lack consenus or understanding around "how to assemble and
> manage th[e] cache" of discovered certificates.

Ok

>> - 9.1: I expected guidance on how to avoid problems when
>> a message in the sent folder is encrypted for the sender
>> but the relevant certificate has expired - that used
>> to be a common bug.
> 
> Hm, good call!  But it's not just about sent messages, that particular
> bug can strike the regular inbox too.  I've added a separate subsection
> to "Common Pitfalls and Guidelines" about "Reading Encrypted Messages after
> Certificate Expiration".

Ack, thanks.

>> - 9.8: is it really feasible to pre-fetch an HTML resource
>> and include it inline? I'd be surprised if so. Same for
>> using SRI as the content may be intended to change and
>> the MUA can't know that.
> 
> Yes, it is indeed feasible to pre-fetch, or to use SRI. A MUA that
> renders an HTML message during composition (i.e. in a WYSIWYG interface)
> will pre-fetch the resource so that the composer can see how the message
> is expected to look on receipt.
> 
> If the resource is intended to change, then a signature over the message
> is of dubious value, because the thing being signed is not at all clear
> to the user.  If the resource is *not* expected to change, then
> pre-fetching or using SRI is reasonable.
> 
> The point in this subsection is about an interaction between MUAs: a
> reasonable recipient MUA shouldn't indicate that a message with mutable
> external content is signed (or fully end-to-end encrypted, since the
> external resource is visible to the HTTP origin).  So if the *sending*
> MUA intends to sign and/or encrypt, it should account for the reasonable
> receipient behavior by ensuring that the entire message is covered by
> the expected cryptographic protections.

I still don't think the guidance here is great, but I'll
accept being in the rough.

Cheers,
S.

PS: Skipping nits, just to be sure I don't cause another
iteration by accident:-)

> 
>> nits:
>>
>> - intro: be good to explainA sentence of two, in
>>     case the URL goes away (and/or find a better reference)
> 
> done (for EFAIL), thanks.
> 
>> - 2.1: I agree with "cryptographic protections should adply
>>     to the message as a whole" but what about when a message
>> is forwarded? Could be better not mentioned I guess.
> 
> I agree with you that there's an edge case here, but including it in the
> beginning of this subsection makes it much harder to understand the main
> point.  I've added a parenthetical aside to the end of this subsection.
> I would be fine removing it if folks think that it's too distracting.
> 
>> - 2.3: I don't understand "Note also that some messages are
>>     expected to be confidential, but other messages are
>> expected to be public -- the types of protection (see
>> Section 3) that apply to each particular message will be
>> different. And the types of protection that are expected to
>> be present in any context might differ (for example, by
>> sender, by thread, or by date)."
> 
> What this means is: If you and i exchange e-mail regularly, and i always
> sign my mail to you, you might have an expectation that i sign my mail.
> 
> Or, if I send you encrypted mail, and you respond, i should expect your
> response to also be encrypted, or else something has gone wrong.
> 
> (or, if i am used to getting signed mail from you, but i also know that
> your signing certificate expires on thursday, i would also *not* expect
> to see signed mail from you after thursday unless i find a new key)
> 
> do these examples make the subsection make more sense? should i add them
> in?
> 
> 
>> - 3.2: maybe a ref to RFC7435 could be useful?
>> seems
> 
> Done, thanks.
> 
>> - 6.4: "the certificate that made the signature" is an odd
>>     phrase, and seems basically incorrect, "the certificate
>> intended to be used to verify the signature" is better
>> perhaps
> 
> Good catch.  I've changed it to "the certificate used to verify the
> signature".
> 
>> - 8.1.1: the MUA is selecting certs for peers that it
>> thinks are capable of decryption, not encryption
> 
> hm, the MUA wants a peer that is capable of decryption, but it wants a
> cert that is encryption-capable.  i see how the language was ambiguous
> there.  I've improved it.
> 
>          --dkg