RFC 6477 INFORMATIONAL EMAIL · SECURITY · INTEROPERABILITY

Registration of Military Message Handling System (MMHS) Header Fields for Use in Internet Mail

Header fields for military message services in Internet email.

On rfc-editor.org ↗
PUBLISHED
January 2012
AUTHORS
A. Melnikov, G. Lunt
STREAM
IETF
HEADER FIELDS DEFINED
14
PRECEDENCE LEVELS
0 (deferred) to 5 (override)
PREFIX
MMHS-
DOI
10.17487/RFC6477

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                       A. Melnikov
Request for Comments: 6477                                     Isode Ltd
Category: Informational                                          G. Lunt
ISSN: 2070-1721                                                 SMHS Ltd
                                                            January 2012

        Registration of Military Message Handling System (MMHS)
                 Header Fields for Use in Internet Mail

Abstract

   A Military Message Handling System (MMHS) processes formal messages
   ensuring release, distribution, security, and timely delivery across
   national and international strategic and tactical networks.  The MMHS
   Elements of Service are defined as a set of extensions to the ITU-T
   X.400 (1992) international standards and are specified in STANAG 4406
   Edition 2 and ACP 123.  This document specifies message header fields
   and associated processing for RFC 5322 (Internet Message Format) to
   provide a comparable messaging service.  In addition, this document
   provides for a STANAG 4406 / Internet Email Gateway that supports
   message conversion.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see Section 2 of RFC 5741.

   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/rfc6477.

Copyright Notice

   Copyright (c) 2012 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.

Table of Contents

   1. Introduction ....................................................2
   2. Conventions Used in This Document ...............................3
   3. Registration Templates ..........................................3
      3.1. Header Field: MMHS-Exempted-Address ........................5
      3.2. Header Field: MMHS-Extended-Authorisation-Info .............5
      3.3. Header Field: MMHS-Subject-Indicator-Codes .................6
      3.4. Header Field: MMHS-Handling-Instructions ...................6
      3.5. Header Field: MMHS-Message-Instructions ....................7
      3.6. Header Field: MMHS-Codress-Message-Indicator ...............8
      3.7. Header Field: MMHS-Originator-Reference ....................8
      3.8. Header Field: MMHS-Primary-Precedence ......................9
      3.9. Header Field: MMHS-Copy-Precedence ........................10
      3.10. Header Field: MMHS-Message-Type ..........................10
      3.11. Header Field: MMHS-Other-Recipients-Indicator-To .........11
      3.12. Header Field: MMHS-Other-Recipients-Indicator-CC .........12
      3.13. Header Field: MMHS-Acp127-Message-Identifier .............13
      3.14. Header Field: MMHS-Originator-PLAD .......................13
   4. Formal Syntax ..................................................14
   5. Service in Comparison to ACP 123 / STANAG 4406 .................16
   6. Gatewaying with ACP 123 / STANAG 4406 ..........................16
   7. Gatewaying with ACP 127 ........................................18
   8. IANA Considerations ............................................18
   9. Security Considerations ........................................18
   10. References ....................................................19
      10.1. Normative References .....................................19
      10.2. Informative References ...................................19
   Appendix A. Acknowledgements ......................................21

1.  Introduction

   [RFC5322] defines a protocol for the format of electronic messages
   exchanged on the Internet.  MMHS is a military specification defined
   in ACP 123 [ACP123] (also specified in STANAG 4406 [STANAG-4406]),
   which defines a number of extensions to the basic X.400 (1992)
   protocol for the services required by military messaging.

   This document supports translating most of the Elements of Service
   defined in ACP 123 [ACP123] to Internet message header fields (see
   Section 5 for more details).  This specification is written to extend
   the Mime Internet X.400 Enhanced Relay (MIXER) specification
   [RFC2156] to enable inter-conversion in a MIXER gateway with the
   X.400 Interpersonal Messaging System (IPMS) heading extensions
   defined in ACP 123 / STANAG 4406, Annex A.

   The document is aimed at the ability to represent MMHS messages as
   RFC 5322 messages.  All RFC 5322 header fields defined in this
   document are prefixed with the string "MMHS-" to distinguish them
   from any other header fields.

   Unless stated otherwise, all header fields described in this document
   are OPTIONAL in an Internet Message.

   This document is structured as follows: Section 3 and its subsections
   formally define new Internet header fields and show some examples.
   Section 4 provides Augmented Backus-Naur Form (ABNF) syntax for them.
   Section 5 provides some background information about which features
   of ACP 123 / STANAG 4406 were not implemented in this specification.
   Subsequent sections talk about additional requirements for gatewaying
   to/from ACP 123 / STANAG 4406 and ACP 127 [ACP127] environments,
   respectively.

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 ABNF [RFC5234] notation including the core
   rules defined in Appendix B of RFC 5234 [RFC5234].

3.  Registration Templates

   Header field entries are summarized below in tabular form for
   convenience of reference and presented in full in the following
   subsections.

   Any header field specified in this document MUST NOT appear more than
   once in message headers.

   +------------------------------------+----------+-------------------+
   | Header name                        | Protocol | Reference         |
   +------------------------------------+----------+-------------------+
   | MMHS-Exempted-Address              | mail     | [ACP123],         |
   |                                    |          | Appendices A1.1   |
   |                                    |          | and B.105         |
   | MMHS-Extended-Authorisation-Info   | mail     | [ACP123],         |
   |                                    |          | Appendices A1.2   |
   |                                    |          | and B.106         |
   | MMHS-Subject-Indicator-Codes       | mail     | [ACP123],         |
   |                                    |          | Appendices A1.3   |
   |                                    |          | and B.107         |
   | MMHS-Handling-Instructions         | mail     | [ACP123][ACP123], |
   |                                    |          | Appendices A1.4   |
   |                                    |          | and B.108         |
   | MMHS-Message-Instructions          | mail     | [ACP123],         |
   |                                    |          | Appendices A1.5   |
   |                                    |          | and B.109         |
   | MMHS-Codress-Message-Indicator     | mail     | [ACP123],         |
   |                                    |          | Appendices A1.6   |
   |                                    |          | and B.110         |
   | MMHS-Originator-Reference          | mail     | [ACP123],         |
   |                                    |          | Appendices A1.7   |
   |                                    |          | and  B.111        |
   | MMHS-Primary-Precedence            | mail     | [ACP123],         |
   |                                    |          | Appendices A1.8   |
   |                                    |          | and B.101         |
   | MMHS-Copy-Precedence               | mail     | [ACP123],         |
   |                                    |          | Appendices A1.9   |
   |                                    |          | and B.102         |
   | MMHS-Message-Type                  | mail     | [ACP123],         |
   |                                    |          | Appendices A1.10  |
   |                                    |          | and B.103         |
   | MMHS-Other-Recipients-Indicator-To | mail     | [ACP123],         |
   |                                    |          | Appendices A1.12  |
   |                                    |          | and B.113         |
   | MMHS-Other-Recipients-Indicator-CC | mail     | [ACP123],         |
   |                                    |          | Appendices A1.12  |
   |                                    |          | and B.113         |
   | MMHS-Acp127-Message-Identifier     | mail     | [ACP123],         |
   |                                    |          | Appendices A1.14  |
   |                                    |          | and B.116         |
   | MMHS-Originator-PLAD               | mail     | [ACP123],         |
   |                                    |          | Appendices A1.15  |
   |                                    |          | and B.117         |
   +------------------------------------+----------+-------------------+

3.1.  Header Field: MMHS-Exempted-Address

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   The MMHS-Exempted-Address header field, by its presence, indicates
   the addresses of members in an Address List (AL) that should not
   receive the message.  If this header field is absent from the
   message, all members of an AL will be considered to be valid
   recipients of the message.

   Note: there is no guarantee that the exempted addresses will not
   receive the message as the result of redirection, Distribution List
   (DL) expansion, etc.

   Example:
   MMHS-Exempted-Address:
    UK SHL CGT Samuals G <graham.samuals@shl.example.com>,
    UK SHL Duty Officer <duty@shl.example.com>

3.2.  Header Field: MMHS-Extended-Authorisation-Info

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]]

   The MMHS-Extended-Authorisation-Info header field, by its presence,
   indicates either the date and the time when the message was
   officially released by the releasing officer or the date and time
   when the message was initially submitted to a communication facility
   for transmission.

   This header field SHOULD always be present in an email message that
   complies with this specification.

   Example:
   MMHS-Extended-Authorisation-Info:
     Mon, 09 Aug 2010 15:27:40 +0100

   The example above demonstrates use of folding white space (FWS
   [RFC5322]).

3.3.  Header Field: MMHS-Subject-Indicator-Codes

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   A Subject Indicator Code (SIC) is a mechanism for formally
   identifying the topic of a message.  SICs are nested codes that
   provide information for message distribution after delivery to the
   recipient organization.  SICs are usually three letters or three
   letters and digits, but may be up to eight characters long.  Nations
   and organizations using SICs usually maintain a central registry.

   When present, an MMHS-Subject-Indicator-Codes header field contains
   one or more SICs, which indicates distribution information to a
   recipient or a recipient's User Agent.  This information can be used
   to perform automatic or manual local distribution of a message.  If
   the MMHS-Subject-Indicator-Codes header field is absent, then the
   local distribution will be in accordance with the message handling
   policy of the recipient's domain.

   [ACP123] specifies two optional components of the Distribution Code
   Element of Service.  The MMHS-Subject-Indicator-Codes header field
   covers only the SIC code component of distribution codes.

   Example:
   MMHS-Subject-Indicator-Codes: SDM; KKZ ; BRL

   The example above includes three SIC codes: "SDM" (GROUND/LAND
   REQUIREMENTS), "KKZ" (HELICOPTER PUBLICATIONS/MANUALS), and "BRL"
   (HILEX INCIDENTS).

3.4.  Header Field: MMHS-Handling-Instructions

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   The MMHS-Handling-Instructions header field, by its presence,
   indicates human-readable local handling instructions that require
   some manual handling by a traffic operator.  If this header field is
   absent, the message will be considered as not requiring manual
   handling by a traffic operator.

   Handling instructions (also called "transmission instructions") are a
   part of format line 4 as defined in ACP 127 [ACP127] and concern the
   sending of the message, e.g., that a particular system shall be used
   for transfer of the message.

   This header field is used to support interoperability with ACP 127
   systems.

   Example:
   MMHS-Handling-Instructions: RXFPA ZOV MINDEF

   The example above includes one ACP 131(F) handling instruction:
   "RXFPA ZOV MINDEF".  The "ZOV MINDEF" indicates that MINDEF rerouted
   the message for some reason, and the correct routing is via RXFPA.

3.5.  Header Field: MMHS-Message-Instructions

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   The MMHS-Message-Instructions header field, by its presence,
   indicates message instructions (also known as "remarks") accompanying
   the message (e.g., similar to the operating signals specified in ACP
   131 [ACP131]).  If this header field is absent, the message will be
   considered received without message instructions.

   The difference between handling instructions and message instructions
   is that the former is only for manual handling by traffic operators,
   while the latter also contains information of interest to the persons
   reading the message.

   Example:
   MMHS-Message-Instructions: MINIMIZE CONSIDERED; NO DISTRIBUTION

   The example above includes two message instructions defined by
   ACP123(B) [ACP123]: "MINIMIZE CONSIDERED" indicating that the
   originating user has considered the Minimize status of the recipients
   and "NO DISTRIBUTION" indicating that the recipients should not
   distribute the message further without the originating user's
   approval.

3.6.  Header Field: MMHS-Codress-Message-Indicator

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   The MMHS-Codress-Message-Indicator header field, by its presence,
   indicates that the message is in Codress format.  If this header
   field is absent, the message will be considered received without the
   Codress format.

   A Codress message is one in which all addresses, i.e., the sender and
   all recipients, are encrypted within the ACP 127 text (body)
   [ACP127].  The heading of any Codress message contains only the
   minimum amount of information that will enable a receiving station to
   deal properly and expeditiously with the particular transmission.
   The general rules for the preparation and transmission of Codress
   messages are given in ACP 121 [ACP121].

   This header field is used only to support interoperability with ACP
   127 systems.

   Example:
   MMHS-Codress-Message-Indicator: 23

3.7.  Header Field: MMHS-Originator-Reference

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   The MMHS-Originator-Reference header field, by its presence,
   indicates a user-defined reference called the "originator's number".
   If this header field is absent, then the message will be considered
   received without any user-defined reference.

   The originator's number is used by the originating organizational
   unit and is further qualified within national policy.

   Note: trailing and leading spaces in an originator reference are not
   allowed by syntax.

   Example:
   MMHS-Originator-Reference: IMSCOM-JIC-612-78

3.8.  Header Field: MMHS-Primary-Precedence

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   The MMHS-Primary-Precedence header field, by its presence, indicates
   the precedence level of the primary ("action") recipients.  The
   message originating domain MUST ensure that this header field is
   always present if the message contains "To:" ("action") addresses.

   The MMHS Primary Precedence Element of Service indicates the relative
   order in which Military Messages are to be handled for primary
   (action) recipients, i.e., a Military Message with a higher MMHS-
   Primary-Precedence header field value SHOULD be handled before a
   Military Message with a lower MMHS-Primary-Precedence header field
   value.

   The header field value is a non-negative integer, or one of the six
   predefined case-insensitive labels: "deferred" (same as "0"),
   "routine" (same as "1"), "priority" (same as "2"), "immediate" (same
   as "3"), "flash" (same as "4"), or "override" (same as "5"),
   optionally followed by a comment.  Note that, according to ACP 123,
   values in the range from 0 to 15 are reserved for NATO-defined
   precedence levels, and values in the range from 16 to 31 are reserved
   for national users.

   Example 1:
   MMHS-Primary-Precedence: 0 (Deferred)

   Example 2:
   MMHS-Primary-Precedence: FLASH

   Example 3:
   MMHS-Primary-Precedence: 7

3.9.  Header Field: MMHS-Copy-Precedence

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   The MMHS-Copy-Precedence header field, by its presence, indicates the
   precedence level of the copy ("information") recipients.  The message
   originating domain MUST ensure that this header field is always
   present if the message contains "Cc:" or "Bcc:" ("information")
   addresses.

   The MMHS Copy Precedence Element of Service indicates the relative
   order in which Military Messages are to be handled for copy
   (information) recipients. i.e. a Military Message with higher MMHS-
   Copy-Precedence header field value SHOULD be handled before a
   Military Message with a lower MMHS-Copy-Precedence header field
   value.

   The header field value is a non-negative integer, or one of the 6
   predefined case-insensitive labels: "deferred" (same as "0"),
   "routine" (same as "1"), "priority" (same as "2"), "immediate" (same
   as "3"), "flash" (same as "4"), or "override" (same as "5"),
   optionally followed by a comment.  Note that according to ACP 123,
   values in the range from 0 to 15 are reserved for NATO-defined
   precedence levels and values in the range from 16 to 31 are reserved
   for national users.

   Example 1:
   MMHS-Copy-Precedence: 2 (priority)

   Example 2:
   MMHS-Copy-Precedence: Priority

3.10.  Header Field: MMHS-Message-Type

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   The MMHS-Message-Type heading extension, by its presence, indicates
   whether the message is to be considered as an exercise, an operation,
   a project, or a drill.  (Note that the list of types is extensible,
   and other types can be specified using the numeric form, see below).

   It may include an optional parameter specifying the name of the
   exercise, operation, project, or drill.  If this extension is absent,
   the message will be considered to be of an undefined type.

   The header field value is a non-negative integer, or one of the four
   predefined case-insensitive labels: "exercise" (same as "0"),
   "operation" (same as "1"), "project" (same as "2"), "drill" (same as
   "3").  Note that according to ACP 123, values in the range from 0 to
   127 are reserved for NATO-defined Message Type identifiers and values
   in the range from 128 to 255 are not defined by NATO and may be used
   nationally or bilaterally.

   Example 1:
   MMHS-Message-Type: 0(exercise); identifier="CANDLE FISH"

   Example 2:
   MMHS-Message-Type: 3

   Example 3:
   MMHS-Message-Type: 2 (projet)

   Example 4:
   MMHS-Message-Type: project

   Note that some of the examples above demonstrate use of optional
   comments.  See Section 4 for the exact syntax of this header field.

3.11.  Header Field: MMHS-Other-Recipients-Indicator-To

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   The MMHS-Other-Recipients-Indicator-To header field, by its presence,
   indicates the names of primary ("action") recipients that are
   intended to receive, or have received, the message via means other
   than MMHS.  Note that the absence of both this header field and the
   MMHS-Other-Recipients-Indicator-CC header field (see Section 3.12)
   does not guarantee that all recipients are within the MMHS.

   This header field enables a recipient to determine all action
   recipients of a Military Message.  This header field is derived from
   the Other Recipient Indicator Element of Service.

   There are several reasons as to why a recipient of a Military Message
   may be identified by this header:

   1.  The recipient is not part of the MMHS.

   2.  The path to the recipient through the MMHS may not be secure;
       therefore, the originator has used alternative mechanisms to
       distribute the Military Message.

   3.  The recipient was already in receipt of the Military Message
       prior to the Military Message being inserted into the MMHS.

   Example:
   MMHS-Other-Recipients-Indicator-To: UK SHL COS; UK SHL IM

   The example above includes names of two primary recipients that
   received the message via means other than MMHS.

3.12.  Header Field: MMHS-Other-Recipients-Indicator-CC

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   The MMHS-Other-Recipients-Indicator-CC header field, by its presence,
   indicates the names of copy ("information") recipients that are
   intended to receive, or have received, the message via means other
   than MMHS.  Note that the absence of both this header field and the
   MMHS-Other-Recipients-Indicator-To header field (see Section 3.11)
   does not guarantee that all recipients are within the MMHS.

   This header field enables a recipient to determine all copy
   recipients of a Military Message.  This header field is derived from
   the Other Recipient Indicator Element of Service.

   There are several reasons as to why a recipient of a Military Message
   may be identified by this header:

   1.  The recipient is not part of the MMHS.

   2.  The path to the recipient through the MMHS may not be secure;
       therefore, the originator has used alternative mechanisms to
       distribute the Military Message.

   3.  The recipient was already in receipt of the Military Message
       prior to it being inserted into the MMHS.

   Example:
   MMHS-Other-Recipients-Indicator-CC: UK SHL LEGAD

   The example above includes 1 copy (information) recipient that
   received the message via means other than MMHS.

3.13.  Header Field: MMHS-Acp127-Message-Identifier

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   The MMHS-Acp127-Message-Identifier header field, by its presence,
   indicates an ACP 127 message identifier [ACP127] for a message that
   originated from an ACP 127 domain.  If this extension is absent, then
   the message did not encounter an ACP 127 domain.

   The MMHS-Acp127-Message-Identifier contains the contents of ACP 127
   format line 3, which consists of three space-separated fields: the
   Calling Station (DERI), Station Serial Number (SSN), and Filing Time
   (JFT) [ACP127].

   This header field is used only to support interoperability with ACP
   127 systems, it should be treated as opaque by a pure MMHS system.

   Example:
   MMHS-Acp127-Message-Identifier: RPDLE 1234 0341215

3.14.  Header Field: MMHS-Originator-PLAD

   Applicable protocol: mail [RFC5322]
   Status: informational
   Author/change controller: IESG (iesg@ietf.org) on behalf of the IETF
   Specification document(s): [RFC6477]

   The MMHS-Originator-PLAD (PLAD: Plain Language Address Designator)
   header field, by its presence, indicates the plain language address
   associated with an originator for cross-referencing purposes.  If
   this header field is absent, then the message will be considered not
   to have an originator PLAD cross-reference between the MMHS and ACP
   127 domains.

   This header field is used only to support interoperability with ACP
   127 systems.

   This header field and the MMHS-Extended-Authorisation-Info header
   field provide a cross-reference for message identification in both
   ACP 127 and MMHS domains.

   Example:
   MMHS-Originator-PLAD: SACLANT

4.  Formal Syntax

   The following syntax specification uses the Augmented Backus-Naur
   Form (ABNF) as described in [RFC5234].  Terms not defined here are
   taken from [RFC5322], [RFC5234], and [RFC2156].

   NZ-DIGIT       =  %x31-39
                     ; "1".."9"

   nonneg-integer = "0" / (NZ-DIGIT *DIGIT)

   military-string = 1*69( ps-char )

   quoted-military-string = DQUOTE military-string DQUOTE

   military-string-sequence = military-string
                       *( [FWS] ";" [FWS] military-string )

   Exempted-Address = "MMHS-Exempted-Address:"
                      [FWS] address-list [FWS] CRLF

   Extended-Authorisation-Info = "MMHS-Extended-Authorisation-Info:"
                                 [FWS] date-time CRLF

   Subject-Indicator-Codes = "MMHS-Subject-Indicator-Codes:"
                             [FWS] sic-sequence [FWS] CRLF

   sic-sequence = sic *( [FWS] ";" [FWS] sic )
                  ; ACP 123 specifies that the maximum number of
                  ; SICs is 8. Use of more than 8 SICs is
                  ; permitted, but additional SICs might not
                  ; be transferred to ACP 123 system.

   sic = 3*8( ps-char )

   Handling-Instructions = "MMHS-Handling-Instructions:"
                           [FWS] military-string-sequence [FWS] CRLF

   Message-Instructions = "MMHS-Message-Instructions:"
                          [FWS] military-string-sequence [FWS] CRLF

   Codress-Message-Indicator = "MMHS-Codress-Message-Indicator:"
                               [FWS] nonneg-integer [FWS] CRLF

   Originator-Reference = "MMHS-Originator-Reference:"
                          [FWS] military-string [FWS] CRLF

   PrimaryPrecedence = "MMHS-Primary-Precedence:" [FWS] precedence CRLF

   CopyPrecedence = "MMHS-Copy-Precedence:" [FWS] precedence CRLF

   precedence = (nonneg-integer / std-precedence) [CFWS]

   std-precedence = "deferred" / "routine" / "priority" /
                    "immediate" / "flash" / "override"
                    ; deferred == 0
                    ; routine == 1
                    ; priority == 2
                    ; immediate == 3
                    ; flash == 4
                    ; override == 5

   MessageType = "MMHS-Message-Type:" [FWS] message-type [CFWS]
                 [";" [FWS] MessageTypeParam [FWS] ] CRLF

   message-type = nonneg-integer / std-message-type

   std-message-type = "exercise" / "operation" / "project" /  "drill"
                      ; exercise  == 0
                      ; operation == 1
                      ; project == 2
                      ; drill == 3

   MessageTypeParam = "identifier" [FWS] "=" [FWS]
                      quoted-military-string

   Designator = military-string

   OtherRecipIndicatorPrimary = "MMHS-Other-Recipients-Indicator-To:"
                        [FWS] Designator *([FWS] ";" [FWS] Designator)
                        [FWS] CRLF

   OtherRecipIndicatorCopy = "MMHS-Other-Recipients-Indicator-CC:"
                        [FWS] Designator *([FWS] ";" [FWS] Designator)
                        [FWS] CRLF

   Acp127MessageIdentifier = "MMHS-Acp127-Message-Identifier:"
                             [FWS] military-string [FWS] CRLF

   OriginatorPLAD = "MMHS-Originator-PLAD:" [FWS] military-string [FWS]
                    CRLF

   address-list = <Defined in RFC 5322>

5.  Service in Comparison to ACP 123 / STANAG 4406

   The service specified in this document is a subset of the
   functionality set out in Annex A1 "Military Heading Extensions" of
   [ACP123].  The majority of this functionality is supported in this
   document.  A few capabilities have been left out, which would have
   significantly increased the complexity of this specification.

   For Distribution Codes (A.1.3) only Subject Indicator Codes are
   supported and Distribution Extensions are omitted.  Authors of this
   document believe that distribution extensions are not widely used.

   Address List Indication (A.1.11) is not supported.  This complex
   extension is deprecated in [ACP123].

   Pilot Forwarding Information (A.1.13) is not supported.

   Security Information Labels (A.1.16) is not supported.  This
   extension is deprecated in favor of Annex A of [ACP123], which uses
   Enhanced Security Services (ESS) Labels [RFC2634] that can be
   supported in a directly compatible manner in S/MIME [RFC5751].

   ACP 127 Notification Requests (see Annex A.2.1 of [ACP123) and
   Responses (see Annex A.3.1 of [ACP123]) are not supported.  These
   extensions are used to request and return notifications from ACP 127
   gateways, and are not relevant to an SMTP gateway.

6.  Gatewaying with ACP 123 / STANAG 4406

   The header fields defined in this specification are designed to be
   mapped with ACP 123 Annex A1 heading extensions as part of a MIXER
   mapping according to [RFC2156].  The syntax of these headings is
   defined such that mapping is mechanical.  OR Names SHOULD be mapped
   with Internet Email addresses according to [RFC2156].

   This section summarizes how a gateway between [ACP123] and [RFC5322]
   conformant to this specification operates.

   If an incoming X.400 message is encoded as P772, [RFC5322] header
   fields MUST be generated according to this specification for all ACP
   123 heading extensions where an equivalent header is defined in this
   specification.  For the three heading extensions where no mapping is
   defined, the heading extension MAY be discarded or mapped in a
   proprietary manner.  If a Distribution Extension is encoded, this MAY
   be discarded or represented as a comment (<CFWS>).  The whole message
   MAY be signed according to [RFC5652].  These rules also apply to
   heading extensions in forwarded messages.  MM-Message MUST be treated
   as a forwarded message for the purposes of MIXER mapping.  If an ACP
   127 Notification Request is present, this MAY be discarded or
   represented as a comment (<CFWS>).

   Incoming X.400 notifications are encoded according to [RFC2156].  If
   an ACP 127 Notification Response is present, this MAY be discarded or
   mapped in a proprietary manner.

   If an incoming SMTP message contains any of the header fields defined
   in this specification, the outgoing X.400 message MUST be encoded as
   P772.  The outgoing message MAY be encoded as P772 for other reasons,
   for instance, policy or characteristics such as the message
   containing a military body part.  The X.400 message might be signed
   according to ACP 123 Annex B [ACP123] or STANAG 4406 Annex G
   [STANAG-4406].  message/rfc822 body parts included in the message
   SHOULD be mapped to MM-Message and the heading mapping rules applied.

   Generated P772 messages SHOULD follow the following rules, generating
   heading extensions if needed.

   a.  Extended Authorization is required.  If the MMHS-Extended-
       Authorization-Info header field is absent, then the default value
       is taken from the Date header field.

   b.  Primary Precedence is required if the To header field is present.
       If the MMHS-Primary-Precedence header field is absent, the
       message need not be considered a Military Message and can be
       handled according to a local policy.

   c.  Copy Precedence is required if the Cc header field is present and
       there is an MMHS-Copy-Precedence header field that is different
       from the MMHS-Primary-Precedence header field.

   d.  For Message-ID fields, ACP 123 applies additional constraints
       over X.400, leading to the following rules in addition to
       [RFC2156], which SHOULD be followed by a gateway following this
       specification.

       1.  The local identifier MUST be at least 15 characters long.  If
           the [RFC2156] generated value is shorter than this, then it
           is padded with spaces to 15 characters.  This value will
           correctly reverse map.

       2.  The OR Address part is required, and it is not usually
           generated by an [RFC2156] mapping.  It is mandatory in ACP
           123.  The gateway SHOULD generate an OR Address in a manner
           that can be reverse mapped.  It MAY use the OR Address to
           encode long message ids that cannot be encoded in the local
           identifier.

7.  Gatewaying with ACP 127

   The header fields defined in this specification include fields to
   carry Elements of Service specific to ACP 127 [ACP127].  This
   specification does not define a mapping of these header fields to ACP
   127.  In the absence of this mapping, it is recommended that these
   headings be mapped to ACP 123 and hence into ACP 127 following the
   Annex D (Gateway Translation) of [STANAG-4406].

8.  IANA Considerations

   IANA has added the list of header fields specified in subsections of
   Section 3 to the "Permanent Message Header Field Names" registry
   defined by "Registration Procedures for Message Header Fields"
   [RFC3864].

9.  Security Considerations

   Annex B of [ACP123] describes how MMHS messages can be protected in
   an X.400 environment.  Similar protection can be provided using
   S/MIME [RFC5751] and/or DKIM [RFC6376].  In particular, DKIM can be
   used to protect against alteration, deletion, or insertion of header
   fields specified in this document that can affect disposition and
   quality of service applied to processing of the protected Internet
   message by receiving gateways/endpoints that support this
   specification.  (Note that most of the header fields defined in this
   document might affect processing of the message by the receiving
   gateway/end system, MMHS-Subject-Indicator-Codes and MMHS-Primary-
   Precedence/MMHS-Copy-Precedence header fields being the most
   important examples.  For example, alteration of the MMHS-Primary-
   Precedence header field value might affect processing speed of the
   message by the recipient Message Transfer Agent (MTA).)

   When the original message header fields are digitally signed, the act
   of gatewaying messages with such header fields to/from an Internet
   environment from/to an ACP 123 environment breaks digital signatures.
   The gateway can sign the translated message itself (e.g., with DKIM),
   but a message recipient would be unable to verify that the message
   was generated by the original sender.

10.  References

10.1.  Normative References

   [ACP123]    CCEB, "Common Messaging Strategy and Procedures", ACP 123
               (B), May 2009, http://jcs.dtic.mil/j6/cceb/acps/acp123/.

   [ACP127]    CCEB, "Communication Instructions - Tape Relay
               Procedures", ACP 127 (G), November 1988,
               http://jcs.dtic.mil/j6/cceb/acps/acp127/.

   [RFC2119]   Bradner, S., "Key words for use in RFCs to Indicate
               Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2156]   Kille, S., "MIXER (Mime Internet X.400 Enhanced Relay):
               Mapping between X.400 and RFC 822/MIME", RFC 2156,
               January 1998.

   [RFC3864]   Klyne, G., Nottingham, M., and J. Mogul, "Registration
               Procedures for Message Header Fields", BCP 90, RFC 3864,
               September 2004.

   [RFC5234]   Crocker, D., Ed., and P. Overell, "Augmented BNF for
               Syntax Specifications: ABNF", STD 68, RFC 5234, January
               2008.

   [RFC5322]   Resnick, P., Ed., "Internet Message Format", RFC 5322,
               October 2008.

   [RFC5652]   Housley, R., "Cryptographic Message Syntax (CMS)", STD
               70, RFC 5652, September 2009.

   [RFC6376]   Crocker, D., Ed., Hansen, T., Ed., and M. Kucherawy, Ed.,
               "DomainKeys Identified Mail (DKIM) Signatures", RFC 6376,
               September 2011.

10.2.  Informative References

   [ACP121]    CCEB, "Comms Instructions - General", ACP 121 (I),
               October 2010, http://jcs.dtic.mil/j6/cceb/acps/acp121/.

   [ACP131]    CCEB, "Comms Instructions - Operating Signals", ACP 131
               (F), April 2009,
               http://jcs.dtic.mil/j6/cceb/acps/acp131/.

   [RFC2634]   Hoffman, P., Ed., "Enhanced Security Services for
               S/MIME", RFC 2634, June 1999.

   [RFC5751]   Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet
               Mail Extensions (S/MIME) Version 3.2 Message
               Specification", RFC 5751, January 2010.

   [STANAG-4406]
               NATO, "STANAG 4406 Edition 2: Military Message Handling
               System", STANAG 4406, March 2005.

Appendix A.  Acknowledgements

   This document copies a lot of text from the "Mapping between X.400
   P772 and RFC-822" by Julian Onions and Graeme Lunt and STANAG 4406
   (2nd Edition).  So the authors of this document would like to
   acknowledge contributions made by the authors of these documents.

   Many thanks for reviews and text provided by Steve Kille, Alan Ross,
   David Wilson, James Usmar, Kathy Nuckles, Andy Trayler, Ken Carlberg,
   Chris Bonatti, Oeyvind Jonsson, Mykyta Yevstifeyev, Sean Turner,
   Stephen Farrell, Adrian Farrel, and Peter Saint-Andre.

Authors' Addresses

   Alexey Melnikov
   Isode Ltd
   5 Castle Business Village
   36 Station Road
   Hampton, Middlesex, TW12 2BX
   UK

   EMail: Alexey.Melnikov@isode.com

   Graeme Lunt
   SMHS Ltd
   Bescar Moss Farm
   Bescar Lane
   Ormskirk  L40 9QN
   UK

   EMail: graeme.lunt@smhs.co.uk

AI ELI5

On this page
PROBLEMMilitary message handling systems (X.400-based STANAG 4406 and ACP 123) define special service elements that do not map directly to Internet email, making it difficult to gateway messages between military and standard email networks.
MECHANISMRFC 6477 registers 14 new MMHS-prefixed header fields for Internet email that carry military messaging service features like precedence levels, message types, distribution codes and handling instructions.
MILITARY-EMAIL INTEROPERABILITYMessages can now be converted between military and standard email systems while preserving service information, supporting interoperability between NATO and national military messaging systems and public Internet mail.

§1Military Messages and Internet Email

RFC 6477 defines a set of new email header fields that enable military messaging to work with Internet mail. Military Message Handling System (MMHS) is the standard for international military communications, defined in STANAG 4406 Edition 2 and ACP 123. These military standards are based on X.400, the international email standard from the 1990s.

The problem is that MMHS defines messaging services and features that Internet email (RFC 5322) does not have. When military and civilian email systems need to exchange messages through a gateway, the service information gets lost. This RFC solves that by creating new header fields that carry the military service elements in a format that Internet email systems understand and can pass through.

All 14 header fields defined here are prefixed with MMHS- to clearly distinguish them from standard Internet email headers. They are all optional in Internet messages, so regular email continues to work unchanged.

When military people send messages through internet email, they need special labels that internet email did not have before. This creates those labels so the military information does not get lost.

§2The 14 Military Header Fields

RFC 6477 registers the following header fields:

Recipient and addressing fields: MMHS-Exempted-Address lists people in a mailing list who should not receive the message. MMHS-Other-Recipients-Indicator-To and MMHS-Other-Recipients-Indicator-CC name primary and copy recipients who got the message through channels other than MMHS (for instance, via a phone call or a separate network).

Precedence and handling: MMHS-Primary-Precedence and MMHS-Copy-Precedence set the priority level (deferred, routine, priority, immediate, flash, or override, or numeric 0-5) for action and information recipients respectively. MMHS-Handling-Instructions and MMHS-Message-Instructions carry human-readable notes for traffic operators (handling) and message readers (instructions).

Message classification: MMHS-Message-Type marks whether the message is an exercise, operation, project, or drill, optionally with a name. MMHS-Subject-Indicator-Codes carries distribution codes (3 to 8 characters each) used to route the message within receiving organizations.

Authorization and references: MMHS-Extended-Authorisation-Info holds the date and time when the message was released by an authorized officer. MMHS-Originator-Reference is a user-defined reference number assigned by the originating unit.

Legacy and ACP 127 support: MMHS-Codress-Message-Indicator, MMHS-Acp127-Message-Identifier, and MMHS-Originator-PLAD are used only when interfacing with older tape relay systems (ACP 127) or the X.400 Codress format where addresses are encrypted in the message body.

The 14 fields carry different kinds of military information: who should not get it, how fast it should be handled, what kind of exercise it is, date stamps, reference numbers, and sometimes old-fashioned forms of the address.

§3Field Values and Syntax

Each header field has a formal syntax defined in RFC 5234 (ABNF). Most precedence and message-type fields accept both symbolic names and numeric values. For example, MMHS-Primary-Precedence: FLASH is the same as MMHS-Primary-Precedence: 4. The six standard precedence levels use values 0 to 5, but the spec reserves 0-15 for NATO use and 16-31 for national extensions, allowing countries to define their own priority levels.

Dates in MMHS-Extended-Authorisation-Info follow RFC 5322 format (for example, Mon, 09 Aug 2010 15:27:40 +0100). Military string fields like MMHS-Handling-Instructions can be up to 69 characters and may contain semicolon-separated sequences, and address fields use standard RFC 5322 email address syntax.

No header field may appear more than once in a message. The specification is designed so that these headers can be mechanically converted to and from the corresponding X.400 heading extensions in STANAG 4406.

Each field has rules about what values it can hold. Some use words (like FLASH), some use numbers (like 4), and some hold email addresses or dates. The syntax ensures that military and internet email systems can translate between each other without mistakes.

§4Gateways Between Military and Internet Mail

A gateway between MMHS (X.400/STANAG 4406) and Internet mail (SMTP/RFC 5322) uses this specification to convert messages bidirectionally. When an X.400 message with MMHS heading extensions arrives at the gateway, the gateway generates the corresponding RFC 6477 header fields in the outgoing Internet message. When an Internet message with these headers enters an X.400 system, the gateway encodes them as X.400 heading extensions.

The conversion is not perfect for a few features that MMHS defines but this RFC does not implement: security information labels (deprecated in favor of S/MIME), address list indication (deprecated), pilot forwarding information, and ACP 127 notification requests and responses. For these unimplemented features, the gateway may discard them or map them in a proprietary way.

When an incoming Internet message contains these MMHS headers, the gateway must encode the outgoing X.400 message as P772 (the MMHS variant). The RFC also specifies detailed rules for handling Message-ID fields to meet ACP 123 constraints (at least 15 characters for the local part) and for gatewaying with the older tape relay system ACP 127.

A gateway machine sits between military and civilian email systems. When a military message arrives, the gateway translates its special labels into internet email headers. When an internet message arrives, the gateway translates them back. Not every feature translates perfectly, but the most important information gets through.

§5Security and Signature Concerns

RFC 6477 advises that MMHS messages can be protected using S/MIME and DKIM signatures. DKIM is particularly useful because it can protect against alteration or deletion of these header fields, which can affect how the receiving gateway or system processes the message. For example, changing the MMHS-Primary-Precedence field could cause a message to be handled with wrong priority.

A critical security issue arises when messages are gatewayed between MMHS/X.400 and Internet mail: if the original message was digitally signed, converting it breaks the signature because the header fields change. The receiving gateway can sign the translated message itself (using DKIM), but the recipient cannot verify that the message came from the original sender. The RFC notes this limitation and advises that organizations that require end-to-end signatures should consider direct point-to-point connections rather than gateways.

These headers can be digitally signed to prove nobody changed them. But when a message crosses from military to civilian mail, the signature breaks because the headers change. The new system can sign the message again, but the original sender's signature is lost.

§6References