Military Messaging for Internet Email

SMHS Ltd has been working on standardising STANAG 4406 Edition 2 Elements of Service for Internet Email. One of the Internet Drafts that has been submitted to the IETF is the Registration of Military Message Handling System (MMHS) header fields for use in Internet Mail. This Internet Draft specifies the header field definitions to support the provision of STANAG 4406 MMHS over Internet Email and also provides for a STANAG 4406 / Internet Email Gateway supporting message conversion compliant to the Internet Draft.

In order to help gain wider adoption of this approach for MMHS over SMTP, SMHS has prototyped a number of extensions to popular email clients. These extensions enable:

On this initiative, SMHS have been collaborating closely with Isode Ltd. MMHS Over SMTP has been documented in a Isode Whitepaper which delivers a detailed synopsis of the approaches that are being taken in order to make this a reality. Isode have enhanced their M-Switch capability in R15.0 to support the RFC’s and Internet Drafts outlined in this whitepaper in order to deliver a MMHS Over SMTP capability.

Thunderbird Client Extensions

The SMHS Military Messaging Client extends Thunderbird by providing an MMHS Form that can be loaded by; default on compose; selected on the tool bar of a compose Message; and loaded on reception if an MMHS Header is present.

Main Tab

The Main Tab of the MMHS Form, illustrated below, allows for an MMHS User to select:

  • Precedence Values for action and info recipients
    • Select List of STANAG 4406 Precedence
  • Message Type
    • Select List of Exercise, Project, Operation or Drill
  • Message Type Identifier
    • String to be associated with the Message Type
  • Extended Authorisation Info
    • Set Now button to set the value
    • If left blank, the header value will be determined at Submission

Other Tab

The Other Tab, illustrated below, allows for an MMHS User to select:

  • Originator Reference
    • String Value
  • Other Recipients
    • Primary and Copy Recipients must be specified
  • Message Instructions
    • Sequence of String Values
  • Subject Indicator Codes
    • Sequence of String Values
  • Exempted Addresses
    • Sequence of RFC 5322 Address-List values

ACP127 Tab

The ACP 127 tab, illustrated below, allows an MMHS User to select:

  • Acp 127 Message Identifer
    • String Value
  • Originator Plain Language Address
    • String Value
  • Codress Message Indicator
    • Integer Value
  • Handling Instructions
    • Sequence of String Values

Submission

On Submission, the Header Values will be subjected to syntax compliance checks based on the Internet Draft.

Any value that is deemed invalid will result in an error dialog being displayed, illustrating the field at fault, valid values for that field and an example. Such an error message is depicted below.

A MMHS submitted message, with the values illustrated in the previous pages, will produce the following headers in the Internet Email Message:

Return-Path:
Received: from [10.0.0.101] (cpc4-stap7-0-0-cust500.12-2.cable.virginmedia.com [86.18.193.245])
by mx.google.com with ESMTPS id n73sm903346wej.12.2011.04.01.02.41.09
(version=SSLv3 cipher=OTHER);
Fri, 01 Apr 2011 02:41:10 -0700 (PDT)
Sender: Alan Ross
Message-ID: <4D959DAB.7050307@smhs.co.uk>
Date: Fri, 01 Apr 2011 10:40:59 +0100
From: Rossi
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9
MIME-Version: 1.0
To: alan.ross@smhs.co.uk
Subject: Test MMHS Message Over SMTP
MMHS-Primary-Precedence: 1 (Routine)
MMHS-Message-Type: 0 (exercise); identifier="CANDLE FISH"
MMHS-Extended-Authorisation-Info: Fri, 01 Apr 2011 10:40:57 +0100
MMHS-Originator-Reference: UNCLAS WHAT WAS 1500Z POSITION OF USS ESTES
MMHS-Other-Recipient-Indicator: primary="UK SHL COS"; copy="UK SHL LEGAD"
MMHS-Message-Instructions: MINIMIZE CONSIDERED; NO DISTRIBUTION
MMHS-Subject-Indicator-Codes: SDM; KKZ; BRL
MMHS-Exempted-Address: UK SHL CGT Samuals G <graham.samuals@shl.example.com>,
UK SHL Duty Officer <duty@shl.example.com>
MMHS-Acp127-Message-Identifier: RPDLE 123 11/1215Z
MMHS-Originator-PLAD: SACLANT
MMHS-Codress-Message-Indicator: 23
MMHS-Handling-Instructions: ZNY; RRRRR
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Reception

On reception the SMHS Client determines that the message is an MMHS Message when it finds a valid MMHS Header. This results in the MMHS Form being displayed in the reading pane and when the received message is opened. The figure below illustrates the MMHS Form on reception.

Download

SMHS has developed the client extension by extending the functionality provided by the Trustedbird Mail XForms Add-On. The MMHS Capability consists of 3 items:

  • Mozilla XForms Version 0.8.7
  • SMHS - Mail XForms (Engine) – based on Trustedbird Mail XForms (Engine)
  • SMHS - MMHS Headers I-D Form

The client extension can be downloaded as a zip file from here.

The instructions for installation of these 3 items are provided in the SMHS Military Messaging Client Installation Instructions document included in the zip download.

The three modules are distributed under free software licenses MPL version 1.1 and GPL version 3.

Roadmap

The SMHS Military Messaging Client Extension for Thunderbird has been developed to support the adoption of a number of STANAG 4406 Elements of Service over Internet Email. Further work will be undertaken to aid and support additional Elements of Service facilitating a complaint secure client based MMHS capability over Internet Email. The roadmap listed below identifies some of the areas of work that will be addressed to support the evolution of this technology:

  • Security Labels
    • Open XML SPIF
    • Security Label Catalogs
      • Encoded Label
      • Display Markings
  • Directory Integration
    • LDAP Version 3
  • Security Integration
    • S/MIME Version 3.1
    • Authorisations
      • ACDF
      • Domain Capabilities
    • Content Inspection
      • Label Dominance
      • Dirty Words
    • Security Label Format
      • RFC 2634 Enhanced Security Services Security Labels
      • First Line of Text
      • XML
  • SMTP Integration
  • Message Distribution
    • Profiling
      • Subject Indicator Codes
      • Functional Descriptors
  • Language Integration
    • Internationalisation

Outlook Client Extensions

SMHS have developed a prototype Outlook custom form that can send and receive the MMHS extension header fields in accordance with the draft 02 of the Registration of Military Message Handling System (MMHS) header fields for use in Internet Mail.

The MMHS custom form has been developed using the in-built development features of Microsoft Outlook. The VBScripting makes use of the PropertyAccessor method which is only available in later versions of Outlook. Therefore this custom form will only work with Outlook 2007 or later.

In addition to the MMHS custom form, two additional extensions are also provided:

Custom Form

The SMHS custom MMHS form has been developed using the Outlook Forms Designer and some VBScript coding to handle the individual MMHS fields. It uses a feature of Outlook 2007 (and later) to allow the setting of custom properties which map in SMTP message heading fields. This approach works directory through an SMTP/IMAP account (e.g. to GMail) or through an SMTP Connector via an Exchange account

The MMHS custom form is derived from the "IPM.Note" message which is used to send standard email messages in Outlook, and as a result will be generally familiar to Outlook users. Whilst the "IPM.Note" form consists of only a single tab, containing the standard messaging fields, the MMHS custom form contains three separate tabs across which the the MMHS fields are distributed. These three tabs are present when the user is both composing an MMHS message and reading an MMHS message.

The most commonly used and/or important MMHS fields are included on the standard "IPM.Note" tab. These include the primary and copy precedences, which are grouped with the standard "To:" and "Cc:" recipients, the extended authorisation information (or DTG) which should always be present in an MMHS message and the message type. Note that the extended authorization info is not currently supported on reception.

In order to distinguish this tab from the other MMHS tabs, this tab is named "Message" (as the "IPM.Note" form has a single tab, it is not displayed with a name).



The "Message" Tab in Compose Mode

The second tab is the "Other" tab which contains the other MMHS fields. These fields include the other recipients indicators, the exempted recipients, the subject indicator codes (SICs) and the message instructions. The "Other" tab can be chosen by selecting it from the "Show" button in the "Message" ribbon.



The "Other" Tab in Compose Mode

The third tab is the "ACP127" which contains the MMHS fields which provide interoperability with ACP127 systems. This tab could be removed for systems that do not require ACP127 interoperability or any of the services that these fields offer.



The "ACP127" Tab in Compose Mode

The Internet message headers that have been set by the MMHS custom form can be seen on a message in the Sent Items folder by selecting File | Info | Properties:


Internet headers

Ribbon Macro

This long-winded navigation can be circumvented by using a simple macro. For example, the following "NewMMHSMessage" macro can be used to create an MMHS form:

Sub NewMMHSMessage()
Dim oApp As Outlook.Application
Dim oEmail As Outlook.MailItem
Dim oNS As Outlook.NameSpace
Dim oItems As Outlook.Items
Set oApp = New Outlook.Application
Set oNS = oApp.GetNamespace("MAPI")
Set oDrafts = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderDrafts)
Set oItems = oDrafts.Items
Set oEmail = oItems.Add("IPM.Note.Custom.MMHS")
oEmail.Display
Set oEmail = Nothing
Set oItems = Nothing
Set oDrafts = Nothing
Set oNS = Nothing
Set oApp = Nothing
End Sub

In order to write the macro, the Developer Tick Box must first be selected. Once Selected a Developer Tab will appear on the Outlook Ribbon. Select the Macros Button to create a new macro and paste the code from above into your new macro. The Developer Tab can be seen in the image below for the Customised Ribbon.

To create the "NewMMHSMessage" select Home (Mail) on the Main Tabs pane. Select New Group and call it MMHS. Select the macro and Add >> to the MMHS (Custom) Folder. Select the Folder Underneath (created after the add) and rename. Choose the Shield Icon and call it "New Message".

This "NewMMHSMessage" configuration provides support for the ability to add a button to the ribbon that will run this macro and create a new MMHS message.



Customising the Ribbon with a MMHS Compose Macro

The resulting ribbon may look something like below:



Customised Ribbon

This prototype system does not currently provide signed macros and therefore the File | Options | Trust Center | Macro Settings | Trust Center Settings... | Macro Settings must be appropriately modified to allow the macro to be run. To enable the macro to run without prompting, the Macro Settings should be set to Enable all macros. This settings is not recommended for anything other than demonstration systems.

Rules and Alerts Action

All the SMTP messages that Outlook receives will be associated with the message class "IPM.Note" and consequently will be opened with the standard Microsoft IPM.Note form. This form will not display any MMHS fields to the recipient. (Microsoft does include a way to carry the message class of the received message, but this requires the support of TNEF by both sending and receiving clients.)

In order to be able to display the MMHS fields with the MMHS form, the message class of the Outlook message must be changed as it arrives in the recipients mailbox. This can be achieved my writing a custom action will be be performed on every message as it arrives.

A simple action looks at the PR_TRANSPORT_MESSAGE_HEADERS (0x007D001E) property which, for an SMTP message, contains the SMTP message headers. If this property contains one of the MMHS over SMTP message headers, the message class can be changed appropriately.

Sub MMHSMailMessageRule(Item As Outlook.MailItem)
Dim headers As String
headers = Item.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001E")
If (InStr(1, headers, vbCrLf & "mmhs-", vbTextCompare) > 0) Then
Item.MessageClass = "IPM.Note.Custom.MMHS"
Item.Save
End If
End Sub

A new rule can then be created in the "Rules and Alerts" dialog (Home | Rules | Manage Rules & Alerts...) which runs this script whenever a new message arrives. (The rule could be written to perform the action on different criteria, or even manually.)



Rule and Alerts Dialog

Download

As a prototype system, the Outlook client extensions do not have an installation build and the various components must be installed by hand. The Outlook form is distributed as a zip file containing:

  • mmhs.fdm - the form definition
  • mmhs.rwz - the rule that allow the message class to be set correctly on a received message

The MMHS form can be installed from the form definition file into Outlook through the "Forms Manager" dialogue on the File | Options | Advanced | Custom Forms... | Manage Forms... button. This will result in the form being installed in the Personal Forms Library.



Similarly, the rules can be imported from the rules wizard file Home | Rules | Manage Rules & Alerts... | Options | Import Rules....

The Ribbon Macro must be installed manually from the code provided on the Ribbon Macro page.

Further Information

The Outlook client extensions are beig developed to keep up to date with the Draft RFC and also to add further functionality and integration with Outlook.
If you would like to know more about the MMHS custom form, or would like SMHS to consider adding some further functionality, please contact info@smhs.co.uk