Network Working Group | A. Melnikov |
Internet-Draft | Isode Ltd |
Intended status: Informational | May 4, 2016 |
Expires: November 5, 2016 |
Message Authorizing Email Header Field and its use for Draft & Release
draft-melnikov-mmhs-authorizing-users-14
This document describes a procedure for when an 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 review signatures.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 5, 2016.
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. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
In some secure environments email messages can't be released to the MTS (Message Transfer System) and, thus 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 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.
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].
Drafter: Any email user that composes a message (Draft Message) needing authorisation 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 authorise the release of Draft Message before it can be sent. An organization may require more than one Authorizing User to authorize release of a Draft Message.
The original email message to be sent doesn't include the MMHS-Authorizing-Users header field. It may or may not include sender's S/MIME signature.
The message to be sent is first submitted over SMTP [RFC6409]. The specific mechanism for how it arrives to 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 Draft and Release procedure, MSA MUST check that MMHS-Authorizing-Users header field (if present) is syntactically valid, contains email addresses of entities authorized to act as authorizing users and, when review signatures are used, that every entity listed has one or more matching review signature (or signature) which is valid.
Each user agent 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):
Any encrypted message sent in an environment where Draft and Release procedure is in force needs to be also 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 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 in order 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 sender's INBOX.
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 that matches MMHS-Authorizing-Users header field values as valid, only if all signatures in the chain verify. 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 MTAs without the need to decrypt content.
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 presence and validity of MMHS-Authorizing-Users header field in the message, as well as 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.
Sender's domain border MTAs are responsible for ensuring that all messages that leave sender's domain were properly authorized by authorizing user(s), as determined by the sender's domain email system configuration. They verify presence and validity of MMHS-Authorizing-Users header field in outgoing messages, as well as validity of associated signatures on the message.
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 MTS. Each user/entity is described by her/his/its 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.
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 malformed message SHOULD either return it to sender (if possible) or fix the message so that it only contains one copy of the header field.)
MMHS-Authorizing-Users = "MMHS-Authorizing-Users:" mailbox-list CRLF mailbox-list = <Defined in RFC 5322>
This section provides an updated version of the MIXER mapping specified in [RFC2156] for MMHS applications.
In the absence of the MMHS-Authorizing-Users header field, From and Sender header fields are mapped to their X.400 equivalents as specified in [RFC2156].
If MMHS-Authorizing-Users header field is present:
Mapping from X.400 to Internet is controlled by whether or not a particular message is considered to be a military message. A message is considered to be 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 to be military messages).
For non military messages, mapping from X.400 as specified in [RFC2156] is used.
For military messages, the following mapping is used:
IANA is requested to add the MMHS-Authorizing-Users header field specified in Section 4 to the "Provisional Message Header Field Names", 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 XXXX]]
Related information:
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 wish to not disclose authorizing users' group membership, care must also be taken to ensure 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.
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 that 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.
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 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.
[RFC3864] | Klyne, G., Nottingham, M. and J. Mogul, Registration Procedures for Message Header Fields", BCP 90, RFC 3864, DOI 10.17487/RFC3864, September 2004. |
[STANAG-4406] | STANAG 4406 Edition 2: Military Message Handling System", STANAG 4406 Ed. 2, March 2005. | , "
[I-D.melnikov-smime-msa-to-mda] | Ottaway, W. and A. Melnikov, "Domain-based signing and encryption using S/MIME", Internet-Draft draft-melnikov-smime-msa-to-mda-04, March 2014. |
[RFC5752] | Turner, S. and J. Schaad, "Multiple Signatures in Cryptographic Message Syntax (CMS)", RFC 5752, DOI 10.17487/RFC5752, January 2010. |
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.