[lamps] AD Review of draft-ietf-lamps-e2e-mail-guidance-13

Roman Danyliw <rdd@cert.org> Thu, 18 January 2024 18:08 UTC

Return-Path: <rdd@cert.org>
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 8FDE8C14F68A for <spasm@ietfa.amsl.com>; Thu, 18 Jan 2024 10:08:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.107
X-Spam-Level:
X-Spam-Status: No, score=-7.107 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_HI=-5, 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 (1024-bit key) header.d=cert.org
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 5JAwMDlDLi1H for <spasm@ietfa.amsl.com>; Thu, 18 Jan 2024 10:08:05 -0800 (PST)
Received: from USG02-CY1-obe.outbound.protection.office365.us (mail-cy1usg02on0094.outbound.protection.office365.us [23.103.209.94]) (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 675CAC14F60F for <spasm@ietf.org>; Thu, 18 Jan 2024 10:08:05 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none; b=qLkOQFRY4/6quwhZnvAp1NUTa8N2KAu4ew/B18n3BMN6mwAmOVHUGiGDRMGbZ/rnbh7YebZORt0FF1Q7b8omXVPEX8BkbjjmkGmxzqNwq/94fNcwqew2FVPAFmKEgBkuB/tPZGPQTY/xUavVRvBnmjkUontmdnhddl0+KrB5FUEG5qJQDwyffaH5H6FjgZpN3KVDkv1H17jfRls24LoDLD/NN32bVDmAUA++EiFmTDgoNKWQ7N08xSBhmC89yXjFJTqb+eIxTtLHN9rakP3YK0sFWkFpwaCVKGyOBOMHvgrhi8+XF3AbqCAUOUJkUgUuQKYOtiO/bH6ydO6jKIRkhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector5401; 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=Bf97qaWnJpDTQkT8h5CrupwS633O3SAAnHuZTbX9deQ=; b=AnAVo8sPWOnrle2kJSa2KDm4ATxM3+OFjGhH4WaOR7uWJkVa+c/th516nwk8w599AjoTWp7QoayNMb9HtuwbE3dGkGA/lYBZTfjp7R94iywO8c/Ux+B0okZBfeiBLTrgSK0JhkBsl7MCgAYZF9sDCpfIeDR7B06i6WolZrutHiDhbhGhqL1mnMtQatVPSSbeFiYTjtG2Ecu2bdwxtSPdGY+kVr+XKZ05Jdyk9ABfHPMQFV0ZxMACzeJBjrMitaFcgDY2fw+v0CulQE2HPCX9K6HKjGoN6VZ4/INr4TL+AY+9Z/Dpt+a0VKJyDjtC/DN0pqeSmsBuXvAb32BKMmNFKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cert.org; dmarc=pass action=none header.from=cert.org; dkim=pass header.d=cert.org; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cert.org; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bf97qaWnJpDTQkT8h5CrupwS633O3SAAnHuZTbX9deQ=; b=ON0nBCfJCoWpkDx2GUe6QietViXKNcY1phJ+Jkqmq1e9DCjOVR2N6NUKYdvyATDrq/3/fy6deF84aPGc7W18PvFcSq6anxs2RI3jBBd8CE3ZaTVBk+QTM90MaemsG/5OBBBQDDKdOEqan2ihITxEOyGMHutY2ETm6w9J3GJMb/M=
Received: from BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:168::11) by BN2P110MB1713.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:16b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.24; Thu, 18 Jan 2024 18:08:03 +0000
Received: from BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM ([fe80::364:96fe:e2d6:b29f]) by BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM ([fe80::364:96fe:e2d6:b29f%4]) with mapi id 15.20.7202.024; Thu, 18 Jan 2024 18:08:03 +0000
From: Roman Danyliw <rdd@cert.org>
To: "spasm@ietf.org" <spasm@ietf.org>
Thread-Topic: AD Review of draft-ietf-lamps-e2e-mail-guidance-13
Thread-Index: AdpKN5mZr7NCv0MjTCub8fakctPByg==
Date: Thu, 18 Jan 2024 18:08:03 +0000
Message-ID: <BN2P110MB1107CEF3691FDD320A195FA3DC71A@BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cert.org;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN2P110MB1107:EE_|BN2P110MB1713:EE_
x-ms-office365-filtering-correlation-id: 1e366777-a743-46a1-59d5-08dc185069c0
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 343CQIF1LtBh2xenMSAUb747RHrOBblWEogObjFB8aL50cBumEbFQgFVznq3bglbk2KAUrRBPMaavpRiepKaJStebTdsIifKnC7v5OSP5En8uzh0etqBbwM3mHbl1cwqk9lRupdO5s/6IUXBaHjTxQoVuuTnyvGZumt8mjXqAD28fSFWeMBRGU92YH9dkO9k0eZYiSfsz/4K76FuQgyWengNos41s0d41raomrEqNt8vioCRl4PUmesWQwJ9G4irIIX7o8CO163MghKmKe7APg5GVKo2zML7U9T7PnDygqn2PlVBEAqu6DyPuEZ6IyjHGPGutkarNn7OjyHBCKlaguIFhpJTBGcXEEfFY5Z7LuXrId6MxwSuZ9GtYzFYxEX4GIMEhEZLzZdeVw42f0bDcG6J22BRADsljvJ57759Cb9M9jY/m0TL3FabgwMTdQZLBTCk4I1jHfxCSJ3odMHQkEz4gjFj7q6ohncBh7dPnSSZvLMCmsioxBacuThWnlrZOeRSFdd6crrGJGCQEAn6aUi1kZnNJjizCiZiXS0LE6rHLoFYChfqz94Ss5928IV2PxEGpLv8l9dtI5OZ4fcs+3uEkip6xLLgdgnLbVWXI8NtiGGADR6BwuJbaOltfKLjri78Alkzod7apKg0JLWbR4u9B675cxXDP+1JrPovMFSNppxB/hLJfDwRAEz+nRPFez6KaXsG2LJK4dWyAMexYw==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(366004)(396003)(136003)(39830400003)(230173577357003)(230922051799003)(230273577357003)(230373577357003)(230473577357003)(1800799012)(186009)(64100799003)(451199024)(38070700009)(55016003)(66899024)(41320700001)(26005)(2906002)(71200400001)(6506007)(5660300002)(9686003)(7696005)(30864003)(66556008)(76116006)(66446008)(66476007)(66946007)(64756008)(45080400002)(8936002)(8676002)(52536014)(6916009)(122000001)(83380400001)(41300700001)(38100700002)(508600001)(86362001)(33656002)(82960400001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: os4NsTR8chyDEVJHJ9THMZtVU+fZ+1lOCeufOT8UfVb1M2D5e69vkZP0zKnVmnipIE+8MQjtKVymRa+LKfA/NgUDno7QTfx+xx8jtPLT2gN85OA05Jkc+8JLY/xFGF9iy9tNcGS6a60R2cGrd/RtQW/qKPQBuL1kWEDkIz2CWSYQwyWgobqzVVulytloHZxtVA5kAhPnKVKqRu5YvaXK8a+3Ms7p2kOPkapG4LH4AQtx9dafrNpDoxysLbQ8hXnSIWacMdCRH1JUH7Ee23ulz7euSz6x7TCNm5O2CduYga4UuXH6Egj21djyno+/EuexNITg4SGhsjRTK87eEH9MGkgLQ+kQrZR8k0J9NWFtHorfIFNKfGs3TLyaFrDKX4OMHoLO3qifve0Jv1uIU9Cdxwt4dgD+qSw1J62Ziu68gqc2n35loesCK7fTz5N/w/qfPoJ4V+Z2s+228RG8wz5PWiL3ieSqbV6CPn9u4taJQM60CDvnRuKiOK9qecTtuwuAX5BDuu3ji3Nfmh0ULMuhakYcvjPbeoaoTVoaKKDF317yjpx+dVOSVUXrm6kiQECtPjK0q/0vKAVGOnM7CyGQxYJoKgQc4eq0nlWIi/b8ySacQ6O1qZx1lpJy6n8OUG14vcYIRajY6eUI5bmqdmhlH+6wFeXo7r1elR4oAKpZlDVO5zJ+s8ekqDhaURET/zhCwi0xt1thPxkb2xSTrWTPAZUZRt7mTNCsrf1QdIljPmqXEyXQNDe5ClvKAHqQ0r1oOLw+L1RCdH3YocmrKxnd2SG0yErsBRmkwCBKozM4R5Jf7asOlwtSLGzVhpOCJSP5frPisoX6ambVp5Tmk7uJkPBKBCJ1Hvut8K3WF0OdEOW3c4L1aNXnWkBSm70lxLd7mCii3KAb1OzL6y+qUMrkWz9dswOqapg0AC/hzkxClYj9C/1SL0d1leh3sGPKYO5j65RRR/02uq8Su4+UCBBeWnyuA4svjEkNMAqKcioF6s/G9/ed73L95DR8EKl5hxolFrO8zdAqCoGX9acc+Hmros8WPBNF7dXOeGpEOr9uNhIf0YITOrYlHIocT/TG+v6fpNR2hTxzybtBKJuPEW/KbExq2GWsMtgBnoY0Eyx4jhJpD0+sFOM61akxSgODDgsoomWEzOX9OtIgYrkXUuyTEICRkzfaDEiMH/PhF4pDiyXrXTnPJMxfu7MFe7nx2NUi7w/Ci9SN7sPcVdfsZtK6RU/16/QV+pJwsgsrq4apcBaxmKaHQKtnQyGAzPR2krJb/fJZrZSsXLD72A84zGE1+DXysPru02bhV+tMEgGo2Nb0aBNuQhyGVhRwwoqB3mwkLPuYz1MizKrd8IO6OL44YEWyFUxp+HK6+VL4t1XUj4/q6ikKdzy8d1+ZFuhsmXva9Lw6J3MpZG6YsdaSV0rt7jfuguq660NHMwPPTo10IgYj4f8d/9UvRePGPcCy7aCbd9C+JHsDb2oKuJy8Hq2uk1N8PHaEm21ZTOJ83WQz2mA=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: cert.org
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN2P110MB1107.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e366777-a743-46a1-59d5-08dc185069c0
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2024 18:08:03.0242 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 95a9dce2-04f2-4043-995d-1ec3861911c6
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN2P110MB1713
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/S3QI-Dojr10iUXII04z7k--Reu8>
Subject: [lamps] AD Review of draft-ietf-lamps-e2e-mail-guidance-13
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: This is the mail list for the LAMPS Working Group <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, 18 Jan 2024 18:08:09 -0000

Hi!

I performed an AD review of draft-ietf-lamps-e2e-mail-guidance-13.  Thanks for the significant work on this document, and attempting to improve the real-world uptake and usability of E2E mail.  My feedback is below.

** What are the WG expectations for implementors on applying the design guidance and associated configuration?  The abstract reminds us that the associate standards for cryptographic protection provide “extremely flexibility.”  I don’t quarrel with that assessment.  I observe that there is a large number of SHOULDs in this document, many without explanation on why the prescribed behavior is not mandatory.  This seems exactly akin to the flexibility that motivated this document.  Several examples include:

-- Section 4.5:  “An Errant Cryptographic Layer SHOULD NOT contribute to the message's overall cryptographic state.”

-- Section 5.2. “A MUA SHOULD NOT generate an encrypted and signed message where the only signature is outside the encryption.”

-- Section 6.1. “The Cryptographic Layers themselves SHOULD NOT be rendered otherwise.”

-- Section 6.2.2.1.  “When composing a reply to a message that has any encryption layer, even an errant one, the reply message SHOULD be marked for   encryption, as noted in Section 5.4.”

-- Section 7.2. “For a message with end-to-end cryptographic protection, any attachment SHOULD be included within the Cryptographic Payload.  If an attachment is found outside the Cryptographic Payload, then the message is not well-formed (see Section 6.1), and will not be handled by other MUAs as intended.”

-- Section 8.2.1.1.  “The MUA SHOULD NOT encourage the use of a single S/MIME certificate for both encryption and signing, to avoid possible cross-protocol key misuse.”  How would the MUA know it is acceptable for cross-protocol key reuse to happen?

For all the above, I would ask, why aren’t these a “MUST”?  Under what circumstances would this behavior be acceptable?  

Did the working group consider making this a “profile” of sorts where all of these proposed practices were mandatory?

Additionally, the document, especially in Section 3.* makes reference to “legacy” ecosystems and tools.  It isn’t clear to me what that ecosystem entails?  How does one know an implementation is “not legacy”?  Is it implementations that follow this document? With the preponderance of “SHOULDs” in this document, I’m having trouble understanding what conformance to this document would even mean.

** Section 3.1 presents a compelling framework.  A few questions on it:

-- The assertion in this section is that “even ... four states approach the limits of complexity for an interface for normal users”.  Why is there confidence that the three states of “unprotected, verified and confidential” can be handled by the user?  Why does one state less make a difference?  Could an argument be made that it should be just two (unprotected or signed+encrypted)?

-- How is this mental model supposed to be used by implementers?  There are a number of places later in the document where it seems like it could be invoked but is not.  For example:

oo Section 6.2.1.  “In such a situation, an MUA SHOULD NOT indicate in the Cryptographic Summary that the message is signed.”  Should this be shown as “unprotected.” How would a user troubleshoot the error if it is being hidden from them? 

oo Section 6.2.1.1.  “Then, the MUA MAY indicate to the user that this is a signed message that has been wrapped by the mailing list.”  In the Section 3.1 mental model, does this mean it is “signed”?  

oo Section 6.2.3.1.  “It is challenging to communicate to the user exactly which part of such a message is covered by the signature, so it is better to leave the message marked as unsigned”

oo Section 6.4. “A MUA SHOULD NOT render a message with a failed signature as more dangerous or more dubious than a comparable message without any    signature at all.”

oo Section 9.9.  “A receiving MUA that encounters a message with end-to-end cryptographic protections that contain a subresource should either refuse to retrieve and render the external subresource, or it should decline to treat the message as having cryptographic protections.”


More detailed feedback follows:

** Section 1.1.2.  Editorial.  Define user headers just like structural headers. 

OLD
   Of all the headers that an e-mail message may contain, only a handful
   are typically presented directly to the user.  Typically, user-facing
   headers are:

NEW (rough)
   Of all the mail header fields headers that an e-mail message may contain, only a handful
   are typically presented directly to the user.  This document refers to them as “user-facing” headers.  Typically, these are:

** Section 2.2.  Per the section header of “E-mail Users Want a Familiar Experience”, what is the basis of that assertion regarding the users' desires?  Is there a citable UX survey?

** Section 2.2.
   *  Ubiquity: Most correspondents will have an e-mail address, while
      not everyone is present on every alternate messaging service,

What is the basis of this assertion?  With mobile device penetration rate reaching billions, is there citable confidence that more people have/use email vs. have/use SMS?  Perhaps there is a distinction being made that SMS is not “internet”?

** Section 2.2
   *  Federation: interaction between users on distinct domains who have
      not agreed on a common communications provider is still possible,
      and

See above.  Isn’t that true of SMS too?

** Section 2.2
   A user of e-mail is likely using e-mail instead of other systems
   because of the distinctions outlined above.  

What is the basis of this assertion? Isn’t some email usage driven by community factors.  For example, I might prefer to use GitHub Issues or Slack/Zulip/etc for IETF communication on drafts but our processes require email in certain cases.  As another example, my employer forces me to use email for certain internal workflow.  In the enterprise setting, my MUA of Outlook is chose for me.

** Section 2.2.  Typo. s/Implmenters/Implementers/

** Section 2.2
   Care should be taken that enabling
   cryptography in a MUA does not inadvertently limit the ability of the
   user to interact with legacy correspondents.

Is “legacy correspondents” someone who doesn’t support encrypted email?  If so, that’s an odd phrasing to me since I would assert that encrypted email is a small fraction of all email.  The dominant way to send email is without S/MIME or OPENPGP cryptography.

** Section 2.3
   By analogy, when the user of a MUA first enables end-to-end
   cryptographic protection, it's likely that they will want to see
   which messages _have_ protection.  But a user whose private e-mail
   communications with a given correspondent, or within a given domain
   are known to be entirely end-to-end protected might instead want to
   know which messages do _not_ have the expected protections.

This analogy to the https lock doesn’t seem exactly right and suggests complexity.  There is strong analog to the “browser-lock-icon” but it seems weak with the current “browser-declares-everything-but-HTTPS-insecure.”  I assert that most email is not E2E encrypted so now the user needs to remember if communication with a given party should be encrypted to call out if it has failed.  Additionally, the transition to HTTPS largely happened transparently for the end user – the migration was done by the website operators and browsers implementors spurred by the availability of free TLS certificates.  Put in another way, the end user didn’t have to do anything.  With encrypted email, the end user is in the loop having to do something different. 

** Section 3.1
   However, most users do not have (or want to have) a sophisticated
   mental model of what kinds of protections can be associated with a
   given message.  Even the four states above approach the limits of
   complexity for an interface for normal users.

My intuition agrees with that, but is there citable research or references to this effect?

** Section 3.1
   In an ecosystem where encrypted-only messages are never deliberately
   sent (see Section 5.3), representing an Encrypted But Unverified
   message as a type of user-visible error is not unreasonable.

How does one know they are in such an ecosystem?

** Section 3.1
   Note that a cleartext message with an invalid signature SHOULD NOT be
   represented to the user as anything other than Unprotected (see
   Section 6.4).

I’m reading “cleartext message” as no encryption with an invalid signature.  Why is this not a MUST?  Under what circumstances would be it appropriate to return back “Verified” or one of the Encrypted states (Confidential or Encrypted but not verified)?

** Section 3.1
   In a messy legacy ecosystem, a MUA may prefer instead to represent
   "Signed" and "Encrypted" as orthogonal states of any given message,
   at the cost of an increase in the complexity of the user's mental
   model.


-- For example, MS Outlook does this now.  The presentation for encrypted is orthogonal to signed.  What is the basis to say this complexity is significant?  

-- Editorial.  Why the judgement of “messy legacy ecosystem”?

** Section 4.1.*.  Should all references to RFC4880 be replaced by draft-ietf-openpgp-crypto-refresh-13?

** Section 5.2.  Editorial.
   Users expect any message that is both signed and encrypted to be
   signed _inside_ the encryption, and not the other way around.

Do users expect it or is it a matter of best practice?  Section 2 spends some time talking about how users don’t understand the details.

** Section 5.3. Typo. s/be be/be/

** Section 5.3.
   It is unclear what the use case is for an e-mail message with end-to-
   end confidentiality but without authenticity or integrity.

Consider the use cases of an anonymous submission.  Recipient publishes a key.  Sender uses a throw away or anonymous account to confidentially send content without signing it.

** Section 6.1
   The receiving MUA should evaluate and assemble the cryptographic
   properties of the Cryptographic Envelope into a Cryptographic Summary
   and display that status to the user in a secure, strictly-controlled
   part of the UI.  In particular, the part of the UI used to render the
   Cryptographic Summary of the message MUST NOT be spoofable,
   modifiable, or otherwise controllable by the received message itself.

-- What is a “strictly-controlled part of the UI”?

-- Isn’t the Crypto Summary derived from the received message?  If so, isn’t it influencing the value of the Crypto Summary.  Hence, I’m not sure what “not modifiable” or “not controllable” might mean.

** Section 6.2.1.1.  Does the guidance in Section 6.1 of the cryptography summary not being able to spoofable apply.  Can an attacker change behavior, perhaps by injecting a List-ID header?

** Section 6.3

   The rendering MUA MAY render a Cryptographic Summary of the
   protections afforded to the forwarded message by its own
   Cryptographic Envelope, as long as that rendering is unambiguously
   tied to the forwarded message itself, and cannot be spoofed either by
   the enclosing message or by the forwarded message.

Does “unambiguously tied” mean well formed headers and message boundaries?

**  Section 6.4
   A MUA that encounters an encrypted-and-signed message where the
   signature is invalid SHOULD treat the message the same way that it
   would treat a message that is encryption-only.

Won’t this inconsistent treatment of a message (i.e., some MUA might treat this SHOULD as a MUST, others might as RECOMMENDED or MAY) lead to confusing behavior in the MUAs from the perspective of the user?

** Section 6.4
   Some different ways that a signature may be invalid on a given
   message:

..

   *  the signature relies on suspect cryptographic primitives (e.g.
      over a legacy digest algorithm, or was made by a weak key, e.g.,
      1024-bit RSA)

Is this invalid in the sense of policy?  The signature might technically validate from the “math perspective” but policy says there shouldn’t be confidence in that signature?  If is so, it might be helpful to clarify this matter.

** Section 7.1

   Note that due to uncertainty about the capabilities and configuration
   of the receiving MUA, the composing MUA SHOULD consider that multiple
   parts might be rendered as the Main Body Part when the message is
   ultimately viewed.

It wasn’t clear to me from this text or the subsequent paragraph what an implementer should do after considering that multiple parts might be rendered into the main body part.

** Section 7.3.  Typo. s/folloiwing/following/

** Section 8.2.1

   If the MUA does not have any certificate or secret key for the user,
   it SHOULD help the user to generate, acquire, or import them with a
   minimum of difficulty.

Recommend using a lower-case SHOULD here if what constitutes “minimal difficulty” can’t be qualified.

** Section 8.2.1.1   
   A better approach is for the MUA to integrate some form of automated
   certificate issuance procedure, for example, by using the ACME
   protocol for end user S/MIME certificates ([RFC8823]).

In addition to ACME, wouldn’t a hard token of some kind with the certificates also be useful?

** Section 8.2.1.3
   Regardless of protocol used (S/MIME or PGP), when producing
   certificates for the end user, the MUA SHOULD ensure that it has
   generated secret key material locally, and MUST NOT accept secret key
   material from an untrusted external party as the basis for the user's
   certificate.

This is good advice.  This document repeatably suggests that the end user is unlikely to know the cryptographic details (and secure defaults are needed).  This technically nuanced guidance might be difficult to attain for the class of user previously scoped.

-- How will the MUA know what is a “trusted vs. untrusted external party” when presented with a secret key material?

-- Related is under what circumstance it is acceptable NOT to generate the secret key material locally?

** Section 8.2.2.

   *  The user's own certificate set for the account does not include a
      valid, unexpired encryption-capable X.509 certificate, and a
      valid, unexpired signature-capable X.509 certificate.

Is this advice relevant in OpenPGP-only deployments?

** Section 9.1

   When composing a message, a typical MUA will store a copy of the
   message sent in sender's Sent mail folder so that the sender can read
   it later.

During composition, isn’t it more common to be stored in a “Drafts” folder (e.g., Outlook, RoundCube).  Only after it has been sent might it go into ‘Sent’/

** Section 9.5
   When composing a message, most MUAs offer the opportunity to save a
   copy of the as-yet-unsent message to a "Drafts" folder.  If that
   folder is itself stored somewhere not under the user's control (e.g.
   and IMAP mailbox), it would be a mistake to store the draft message
   in the clear, because its contents could leak.

-- Don’t many mail clients “auto-save” into the Drafts rather than asking for explicit tasking to save the draft (e.g., Outlook, Gmail)?

-- Isn’t it a default config on many MUAs to auto-save to drafts?  Should guidance be given about?

** Section 9.5

  Furthermore, when encrypting a draft message, the message SHOULD only
   be encrypted to the user's own certificate, or to some equivalent
   secret key that only the user possesses.

Does this assume that the encryption/signing operation doesn’t just happen when the “Send button is pressed”?

** Section 9.7.2.  Typo. s/negogiate/negotiate/

** Section 9.8.  Typo. s/the the/the/

** Section 9.9.
   A receiving MUA that encounters a message with end-to-end
   cryptographic protections that contain a subresource should either
   refuse to retrieve and render the external subresource, or it should
   decline to treat the message as having cryptographic protections.

Is uppercased MUST or SHOULD appropriate here?

Thanks,
Roman