summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7912.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc7912.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc7912.txt')
-rw-r--r--doc/rfc/rfc7912.txt619
1 files changed, 619 insertions, 0 deletions
diff --git a/doc/rfc/rfc7912.txt b/doc/rfc/rfc7912.txt
new file mode 100644
index 0000000..67284ef
--- /dev/null
+++ b/doc/rfc/rfc7912.txt
@@ -0,0 +1,619 @@
+
+
+
+
+
+
+Independent Submission A. Melnikov
+Request for Comments: 7912 Isode Ltd
+Category: Informational June 2016
+ISSN: 2070-1721
+
+
+ Message Authorizing Email Header Field and Its Use for the
+ Draft and Release Procedure
+
+Abstract
+
+ This document describes a procedure for when a Military Message
+ Handling System (MMHS) message is composed by one user and is only
+ released to the mail transfer system when one or more Authorizing
+ Users authorize release of the message by adding the
+ MMHS-Authorizing-Users header field. The resulting message can be
+ optionally signed by the sender and/or reviewer, allowing recipients
+ to verify both the original signature (if any) and the review
+ signatures.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for informational purposes.
+
+ This is a contribution to the RFC Series, independently of any other
+ RFC stream. The RFC Editor has chosen to publish this document at
+ its discretion and makes no statement about its value for
+ implementation or deployment. Documents approved for publication by
+ the RFC Editor are not a candidate for any level of Internet
+ Standard; see Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc7912.
+
+Copyright Notice
+
+ Copyright (c) 2016 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document.
+
+
+
+
+Melnikov Informational [Page 1]
+
+RFC 7912 Message Authorizing Header Field June 2016
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 2. Conventions Used in This Document . . . . . . . . . . . . . . 3
+ 3. Draft and Release Procedure . . . . . . . . . . . . . . . . . 3
+ 3.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
+ 3.2. Handling of Initial Message Submission by the MSA . . . . 3
+ 3.3. Review by Authorizing User(s) . . . . . . . . . . . . . . 4
+ 3.3.1. Processing of Encrypted Messages . . . . . . . . . . 5
+ 3.3.2. Authorizing S/MIME Signatures . . . . . . . . . . . . 5
+ 3.4. Role of Other Messaging Agents at the Sender's Domain . . 6
+ 3.4.1. MDA at the Sender's Domain . . . . . . . . . . . . . 6
+ 3.4.2. Border MTA at the Sender's Domain . . . . . . . . . . 6
+ 4. MMHS-Authorizing-Users Header Field . . . . . . . . . . . . . 6
+ 5. Updated MIXER Mapping . . . . . . . . . . . . . . . . . . . . 7
+ 5.1. Mapping from RFC 5322/MIME to X.400 . . . . . . . . . . . 7
+ 5.2. Mapping from X.400 to RFC 5322/MIME . . . . . . . . . . . 7
+ 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
+ 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8
+ 7.1. Forged Header Fields . . . . . . . . . . . . . . . . . . 9
+ 7.2. Intentionally Malformed Header Fields . . . . . . . . . . 9
+ 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
+ 8.1. Normative References . . . . . . . . . . . . . . . . . . 9
+ 8.2. Informative References . . . . . . . . . . . . . . . . . 10
+ Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 11
+ Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 11
+
+1. Introduction
+
+ In some secure environments, email messages can't be released to the
+ Message Transfer System (MTS); thus, they can't be delivered to
+ recipients unless they are authorized by one or more Authorizing
+ Users (e.g., Releasing Officers or Release Authorities). This
+ document describes how this mechanism can be realized by an
+ additional Internet Email [RFC5322] header field and optionally
+ protected using S/MIME [RFC5750] [RFC5751] or DomainKeys Identified
+ Mail (DKIM) [RFC6376].
+
+ This document describes a procedure for how an email message composed
+ by one user can be released to the MTS when one or more Authorizing
+ Users authorize and optionally countersign the message. The MMHS-
+ Authorizing-Users header field (see Section 4) communicates which
+ user(s) authorized the message. If S/MIME signed, the resulting
+ message allows recipients to verify both the original (if any) and
+ counter signatures. The original S/MIME signature generated by the
+ sender (if any) is unaffected by additional S/MIME review signatures.
+
+
+
+
+
+Melnikov Informational [Page 2]
+
+RFC 7912 Message Authorizing Header Field June 2016
+
+
+2. Conventions Used in This Document
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC2119].
+
+ The formal syntax uses the Augmented Backus-Naur Form (ABNF)
+ [RFC5234] notation, including the core rules defined in Appendix B of
+ RFC 5234 [RFC5234]. Terms not defined in this document are taken
+ from [RFC5322].
+
+3. Draft and Release Procedure
+
+3.1. Terminology
+
+ Drafter: Any email user that composes a message (Draft Message)
+ needing authorization before it is released to its intended
+ recipients.
+
+ Authorizing User (also Releaser or Authorizer): The mailbox of a user
+ or a group of users that must inspect and authorize the release of a
+ Draft Message before it can be sent. An organization may require
+ more than one Authorizing User to authorize the release of a Draft
+ Message.
+
+3.2. Handling of Initial Message Submission by the MSA
+
+ The original email message to be sent doesn't include the MMHS-
+ Authorizing-Users header field. It may or may not include the
+ sender's S/MIME signature.
+
+ The message to be sent is first submitted over SMTP [RFC6409]. The
+ specific mechanism for how it arrives to the Authorizing User(s) is
+ not specified in this document. One possibility is for the Message
+ Submission Agent (MSA) to redirect all email messages not addressed
+ to Authorizing Users and not submitted by Authorizing Users to a
+ preconfigured mailbox(es) that can be accessed by Authorizing
+ User(s). Another possibility is for the MSA to redirect all email
+ messages without the MMHS-Authorizing-Users header field and/or
+ corresponding S/MIME review signatures to a preconfigured mailbox(es)
+ that can be accessed by Authorizing User(s).
+
+ In order to prevent a malicious sender from bypassing or altering the
+ Draft and Release procedure, the MSA MUST check that the MMHS-
+ Authorizing-Users header field (if present) is syntactically valid,
+ contains the email addresses of entities authorized to act as
+ Authorizing Users, and, when review signatures are used, that every
+
+
+
+
+Melnikov Informational [Page 3]
+
+RFC 7912 Message Authorizing Header Field June 2016
+
+
+ entity listed has one or more matching review signature (or
+ signature) that is valid.
+
+3.3. Review by Authorizing User(s)
+
+ Each user agent (UA) that is used by an authorized user MUST perform
+ the following steps (if there are multiple Authorizing Users, the
+ whole sequence of steps below is repeated for each Authorizing User):
+
+ 1. Verify the origination of the message (From/Sender header
+ fields). The exact mechanism to do that is out of scope for this
+ document, but one example is by verifying the S/MIME signature,
+ making sure that the signature protects all header fields (i.e.,
+ wrapped by message/rfc822, as described in Section 3.1 of
+ [RFC5751]) and that it matches the sender of the message, as
+ described in [RFC5750]. Another example is by verifying a DKIM
+ signature [RFC6376] (added by the Drafter's Mail User Agent (MUA)
+ or MSA) that covers the From/Sender header fields.
+
+ 2. Check if the message already contains the MMHS-Authorizing-Users
+ header field with the email address of the Authorizing User.
+ (This can happen, for example, if the email system is
+ misconfigured and thus contains a loop, or if a malicious sender
+ or attacker is trying to affect the authorization procedure.) If
+ the message doesn't contain the email address of the Authorizing
+ User in the MMHS-Authorizing-Users header field, then go to the
+ next step. If the MMHS-Authorizing-Users header field contains
+ the email address of the Authorizing User, verify the validity of
+ the header field (for example, by checking for the S/MIME
+ signature/review signature or for the DKIM signature) and also
+ verify that the email address associated with the signature
+ matches the email address of the Authorizing User. If the
+ validity of the MMHS-Authorizing-Users header field can be
+ verified, go to step 5 below. Otherwise, return the message to
+ the sender (bounce) or redirect the message to a designated abuse
+ mailbox.
+
+ 3. Allow the Authorizing User to review the content of the message.
+ Some of the checks can be automated (for example, search for
+ keywords). (See Section 3.3.1 for additional considerations.)
+ If, based on the check, the Authorizing User is happy to release
+ the message to the MTS (or to the next Authorizing User, if
+ multiple authorizations are required), the UA SHOULD enable the
+ Authorizing User to protect additions to the MMHS-Authorizing-
+ Users header field, for example, by allowing the addition of the
+ S/MIME review signature (if S/MIME is used for protecting the
+ MMHS-Authorizing-Users header field. See Section 3.3.2 for more
+ details). If the Authorizing User wants to reject the message,
+
+
+
+Melnikov Informational [Page 4]
+
+RFC 7912 Message Authorizing Header Field June 2016
+
+
+ it SHOULD be returned to the Drafter with an explanatory note or
+ it MAY be discarded. The Authorizing User can also choose to
+ forward the message to another Authorizing User for additional
+ approval or become a new Drafter of the message. If the
+ Authorizing User becomes the new Drafter, its UA MUST strip any
+ existing email addresses from the MMHS-Authorizing-Users header
+ field.
+
+ 4. If there is an existing MMHS-Authorizing-Users header field
+ containing the email address of the Authorizing User, skip this
+ step. Otherwise, insert a new MMHS-Authorizing-Users header
+ field (if absent) containing the email address of the Authorizing
+ User or append the email address of the Authorizing User to the
+ end of the existing MMHS-Authorizing-Users header field.
+
+ 5. The (possibly) updated email message is either released to the
+ MTS or to the next Authorizing User, as per email system
+ configuration. Note that if the Authorizing User updates the
+ message in a manner that invalidates existing S/MIME or DKIM
+ signature(s), the Authorizing User becomes the Drafter and needs
+ to reapply any protections.
+
+3.3.1. Processing of Encrypted Messages
+
+ Any encrypted message sent in an environment where the Draft and
+ Release procedure is in force also needs to be encrypted to all
+ Authorizing Users, so that they can perform review of the message.
+ If a User Agent used by an Authorizing User can't decrypt the
+ message, it SHOULD notify the sender (which can be the Drafter or a
+ previous Authorizing User) about the problem using a non-delivery
+ Delivery Status Notification (DSN) or through some other means. The
+ ciphertext that cannot be decrypted by the Authorizing User MAY be
+ included in the notification to aid debugging. A possible reason not
+ to notify the sender is to avoid Denial-of-Service attacks, for
+ example, if an attacker discovers a way to inject fake messages with
+ encryption that doesn't validate in order to overflow the sender's
+ INBOX.
+
+3.3.2. Authorizing S/MIME Signatures
+
+ If S/MIME were not used, the Authorizing User can become the original
+ signer of the message.
+
+ If a message is signed with multiple signatures (for example, using
+ different cryptographic algorithms, as described in [RFC5752]), all
+ of the signatures that can be verified by an Authorizing User SHOULD
+ be signed with a review signature (authorizing signatures). A
+ recipient of the message can consider any chain of review signatures
+
+
+
+Melnikov Informational [Page 5]
+
+RFC 7912 Message Authorizing Header Field June 2016
+
+
+ that matches MMHS-Authorizing-Users header field values as valid,
+ only if all signatures in the chain are verified. All of the
+ signatures that cannot be verified MUST be stripped by the
+ Authorizing User Agent.
+
+ When triple wrapping [RFC2634] is used, authorizing signatures are
+ applied to the outer level, so that it can be verified by Message
+ Transfer Agents (MTAs) without the need to decrypt content.
+
+3.4. Role of Other Messaging Agents at the Sender's Domain
+
+3.4.1. MDA at the Sender's Domain
+
+ If a message being sent is to be delivered within the sender's
+ domain, Message Delivery Agents (MDAs) are responsible for ensuring
+ that the message was properly authorized by Authorizing User(s), as
+ determined by the sender's domain email system configuration. They
+ verify the presence and validity of the MMHS-Authorizing-Users header
+ field in the message, as well as the validity of associated
+ signatures on the message.
+
+ Note that the above requirements don't apply to direct delivery to
+ any user designated as an Authorizing User.
+
+3.4.2. Border MTA at the Sender's Domain
+
+ The sender's domain border MTAs are responsible for ensuring that all
+ messages that leave the sender's domain were properly authorized by
+ the Authorizing User(s), as determined by the sender's domain email
+ system configuration. They verify the presence and validity of the
+ MMHS-Authorizing-Users header field in outgoing messages, as well as
+ the validity of associated signatures on the message.
+
+4. MMHS-Authorizing-Users Header Field
+
+ The MMHS-Authorizing-Users header field specifies the list of
+ Authorizing Users (or entities(*)) that countersigned this email
+ message (for example, using S/MIME) before it was authorized for
+ release to the MTS. Each user/entity is described by the email
+ address.
+
+ (*) Note that in some environments, identities of Authorizing Users
+ are required to be hidden from recipients of email messages; so, upon
+ receipt, MMHS-Authorizing-Users might contain an email address
+ associated with a group of possible users. Such email addresses need
+ to have signatures that don't disclose group membership.
+
+
+
+
+
+Melnikov Informational [Page 6]
+
+RFC 7912 Message Authorizing Header Field June 2016
+
+
+ The MMHS-Authorizing-Users header field specified in this document
+ MUST NOT appear more than once in message headers. An email message
+ that contains multiple MMHS-Authorizing-Users is malformed. An agent
+ processing such a malformed message SHOULD either return it to the
+ sender (if possible) or fix the message so that it contains only one
+ copy of the header field.
+
+ MMHS-Authorizing-Users = "MMHS-Authorizing-Users:"
+ mailbox-list CRLF
+
+ mailbox-list = <Defined in RFC 5322>
+
+5. Updated MIXER Mapping
+
+ This section provides an updated version of the MIXER mapping
+ specified in [RFC2156] for MMHS applications.
+
+5.1. Mapping from RFC 5322/MIME to X.400
+
+ In the absence of the MMHS-Authorizing-Users header field, the From
+ and Sender header fields are mapped to their X.400 equivalents as
+ specified in [RFC2156].
+
+ If the MMHS-Authorizing-Users header field is present:
+
+ 1. If the Sender header field is present, it is mapped to
+ IPMS.Heading.originator; otherwise, the first From header field
+ address is mapped to IPMS.Heading.originator.
+
+ 2. Map the From header field address(es) and the MMHS-Authorizing-
+ Users header field address(es) to IPMS.Heading.authorizing-users,
+ skipping the first From header field address if it was mapped to
+ IPMS.Heading.originator.
+
+5.2. Mapping from X.400 to RFC 5322/MIME
+
+ Mapping from X.400 to the Internet is controlled by whether or not a
+ particular message is considered a military message. A message is
+ considered a military message (as defined by ACP 123 [ACP123] and
+ also specified in STANAG 4406 [STANAG-4406]) if there are any MMHS
+ heading extensions present. Alternatively, this MAY be done by
+ configuration (i.e., all messages can be considered military
+ messages).
+
+ For non-military messages, mapping from X.400 as specified in
+ [RFC2156] is used.
+
+
+
+
+
+Melnikov Informational [Page 7]
+
+RFC 7912 Message Authorizing Header Field June 2016
+
+
+ For military messages, the following mapping is used:
+
+ 1. IPMS.Heading.originator is mapped to the From header field.
+
+ 2. The IPMS.Heading.authorizing-users is mapped to the MMHS-
+ Authorizing-Users header field.
+
+6. IANA Considerations
+
+ IANA has added the MMHS-Authorizing-Users header field specified in
+ Section 4 to the "Provisional Message Header Field Names" registry,
+ defined by "Registration Procedures for Message Header Fields"
+ [RFC3864]. The registration template is as follows:
+
+ Header field name: MMHS-Authorizing-Users
+
+ Applicable protocol: mail ([RFC5322])
+
+ Status: provisional
+
+ Author/Change controller: Alexey Melnikov <alexey.melnikov@isode.com>
+
+ Specification document(s): RFC 7912
+
+ Related information:
+
+7. Security Considerations
+
+ In some military environments, the identities of Authorizing Users
+ are required to be hidden from recipients of email messages. This
+ can be accomplished by using a group address for the MMHS-
+ Authorizing-Users. In this way, the recipient will know that it was
+ released by an Authorizing User in that group, but the recipient will
+ not know which one of them took the action.
+
+ For those organizations that do not wish to disclose the Authorizing
+ Users' group membership, care must also be taken to ensure that the
+ information included in the certificate used for signing email
+ messages does not disclose individuals in the group.
+
+ Further security considerations are described in subsections of this
+ section.
+
+
+
+
+
+
+
+
+
+Melnikov Informational [Page 8]
+
+RFC 7912 Message Authorizing Header Field June 2016
+
+
+7.1. Forged Header Fields
+
+ A malicious sender may add/change an MMHS-Authorizing-Users header
+ field to bypass or alter the message authorization procedure invoked
+ for messages with no MMHS-Authorizing-Users header field. For this
+ reason, it is important for agents and clients that rely on the
+ validity of the MMHS-Authorizing-Users header field to also verify
+ the review signature (or a similar protection mechanism) that
+ confirms that a particular person or entity authorized release of a
+ message.
+
+7.2. Intentionally Malformed Header Fields
+
+ It is possible for an attacker to add an MMHS-Authorizing-Users
+ header field that is extraordinarily large or otherwise malformed in
+ an attempt to discover or exploit weaknesses in the header field
+ parsing code. Implementations MUST thoroughly verify all such header
+ fields received from MTAs and be robust against intentionally as well
+ as unintentionally malformed header fields.
+
+8. References
+
+8.1. Normative References
+
+ [ACP123] CCEB, "Common Messaging strategy and procedures", ACP 123
+ (B), May 2009.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <http://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC2156] Kille, S., "MIXER (Mime Internet X.400 Enhanced Relay):
+ Mapping between X.400 and RFC 822/MIME", RFC 2156,
+ DOI 10.17487/RFC2156, January 1998,
+ <http://www.rfc-editor.org/info/rfc2156>.
+
+ [RFC2634] Hoffman, P., Ed., "Enhanced Security Services for S/MIME",
+ RFC 2634, DOI 10.17487/RFC2634, June 1999,
+ <http://www.rfc-editor.org/info/rfc2634>.
+
+ [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
+ Specifications: ABNF", STD 68, RFC 5234,
+ DOI 10.17487/RFC5234, January 2008,
+ <http://www.rfc-editor.org/info/rfc5234>.
+
+
+
+
+
+
+Melnikov Informational [Page 9]
+
+RFC 7912 Message Authorizing Header Field June 2016
+
+
+ [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322,
+ DOI 10.17487/RFC5322, October 2008,
+ <http://www.rfc-editor.org/info/rfc5322>.
+
+ [RFC5750] Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet
+ Mail Extensions (S/MIME) Version 3.2 Certificate
+ Handling", RFC 5750, DOI 10.17487/RFC5750, January 2010,
+ <http://www.rfc-editor.org/info/rfc5750>.
+
+ [RFC5751] Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet
+ Mail Extensions (S/MIME) Version 3.2 Message
+ Specification", RFC 5751, DOI 10.17487/RFC5751, January
+ 2010, <http://www.rfc-editor.org/info/rfc5751>.
+
+ [RFC6376] Crocker, D., Ed., Hansen, T., Ed., and M. Kucherawy, Ed.,
+ "DomainKeys Identified Mail (DKIM) Signatures", STD 76,
+ RFC 6376, DOI 10.17487/RFC6376, September 2011,
+ <http://www.rfc-editor.org/info/rfc6376>.
+
+ [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail",
+ STD 72, RFC 6409, DOI 10.17487/RFC6409, November 2011,
+ <http://www.rfc-editor.org/info/rfc6409>.
+
+8.2. Informative References
+
+ [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration
+ Procedures for Message Header Fields", BCP 90, RFC 3864,
+ DOI 10.17487/RFC3864, September 2004,
+ <http://www.rfc-editor.org/info/rfc3864>.
+
+ [RFC5752] Turner, S. and J. Schaad, "Multiple Signatures in
+ Cryptographic Message Syntax (CMS)", RFC 5752,
+ DOI 10.17487/RFC5752, January 2010,
+ <http://www.rfc-editor.org/info/rfc5752>.
+
+ [STANAG-4406]
+ NATO, "STANAG 4406 Edition 2: Military Message Handling
+ System", STANAG 4406 Ed. 2, March 2005.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Melnikov Informational [Page 10]
+
+RFC 7912 Message Authorizing Header Field June 2016
+
+
+Acknowledgements
+
+ Many thanks for reviews and text provided by Steve Kille, Jim Schaad,
+ Russ Housley, David Wilson, Chris Bonatti, and Sean Turner.
+
+ Some text in this document was copied from RFC 7001.
+
+Author's Address
+
+ Alexey Melnikov
+ Isode Ltd
+ 14 Castle Mews
+ Hampton, Middlesex TW12 2NP
+ United Kingdom
+
+ Email: Alexey.Melnikov@isode.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Melnikov Informational [Page 11]
+