RFC 7444

Security Labels in Internet Email

๐Ÿ“… published February 2015, from ietf

Security Labels in Internet Email ๐ŸŽ€ (RFC 7444, February 2015)

Okay bestie, let's get into RFC 7444 ๐Ÿ’– It was written by K. Zeilenga and A. Melnikov from Isode Limited, and it's an Independent Submission in the Informational category ๐Ÿ“š (ISSN 2070-1721). It doesn't list anything it obsoletes or updates, so there's nothing to chase there ๐Ÿฆ‹

Abstract โœจ

This doc is about a header field called SIO-Label for Internet email ๐Ÿ’Œ It lets you show how sensitive a message is, with a textual version (a display marking), a structured version (a security label), or both. There's also a second header, SIO-Label-History, that keeps track of any changes to the message's label ๐Ÿ•ฐ๏ธ

Status of This Memo ๐Ÿงพ

Real talk: this is NOT an Internet Standards Track spec. It's published just for information ๐ŸŒธ

This is a contribution to the RFC Series, independent of any other RFC stream. The RFC Editor picked to publish it at their own discretion, and they make no claims about whether it's good to implement or deploy ๐Ÿคทโ€โ™€๏ธ Documents the RFC Editor approves aren't eligible for any level of Internet Standard. See Section 2 of RFC 5741 for the details ๐Ÿ’…

More info about the current status, any errata, and how to give feedback lives at http://www.rfc-editor.org/info/rfc7444 ๐Ÿ”—

Copyright (c) 2015 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) as they stand on the date this document was published. Please read these carefully, because they spell out your rights and restrictions for this document ๐Ÿ“œ

Table of Contents ๐Ÿ—‚๏ธ

1. Introduction ....................................................2
   1.1. Relationship to Inline Sensitivity Markings ................3
   1.2. Relationship to Preexisting Security Label Header Fields ...4
   1.3. Relationship to Enhanced Security Services for S/MIME ......4
2. Conventions Used in This Document ...............................5
3. Overview ........................................................5
4. The SIO-Label Header Field ......................................6
5. The SIO-Label-History Header Field ..............................9
6. IANA Considerations ............................................12
7. Security Considerations ........................................12
8. References .....................................................14
   8.1. Normative References ......................................14
   8.2. Informative References ....................................15
Acknowledgements ..................................................16
Authors' Addresses ................................................16

1. Introduction ๐ŸŒˆ

Okay so a security label (sometimes called a confidentiality label) is a structured way of saying how sensitive a piece of information is ๐Ÿ” You can pair it with a clearance, which is a structured way of saying what sensitive info a person (or other entity) is allowed to access, plus a security policy, and together they control who gets to see each piece of info. For example, an email could carry an "EXAMPLE CONFIDENTIAL" label, which means the sender and the receiver both need a clearance that grants access to info labeled "EXAMPLE CONFIDENTIAL". X.841 [X.841] has a whole discussion of security labels, clearances, and security policy ๐Ÿ“–

A display marking is a textual version of how sensitive something is. "EXAMPLE CONFIDENTIAL" is a textual representation of the sensitivity, for instance ๐Ÿ’… A security policy can generate display markings from security labels, and display markings are generally expected to be shown prominently whenever the content is displayed ๐Ÿ‘€

Sensitivity-based authorization shows up in networks that run on a set of information classification rules, like government and military agency networks ๐Ÿช– The standardized formats for security labels, clearances, security policy, and the associated authorization models are generalized, so they can be used in non-government deployments where that makes sense โœจ

Security labels can be used for stuff other than authorization too ๐Ÿงš They can simply convey how sensitive a piece of information is, and they could be used, for instance, to organize content in a content store ๐Ÿ—ƒ๏ธ

This document describes a protocol for conveying how sensitive an electronic mail message [RFC5322] is as a whole ๐Ÿ’Œ Specifically, it describes a header field, SIO-Label, that carries a security label, a display marking, and display colors. It also describes a header field, SIO-Label-History, that records changes to the message's security label ๐Ÿฆ‹

This protocol is partly based on "XEP-0258: Security Labels in XMPP" [XEP258] ๐Ÿซถ

1.1. Relationship to Inline Sensitivity Markings ๐Ÿ–๏ธ

In environments where messages have to be marked with how sensitive they are, it's really common to put a textual version of the sensitivity (a display marking) in the message body and/or in the Subject header field ๐Ÿ˜ญ For instance, the authors often receive messages of the form:

To: author <author@example.com>;
From: Some One <someone@example.net>;
Subject: the subject (UNCLASSIFIED)

UNCLASSIFIED

Text of the message.

UNCLASSIFIED

When the marking goes in the body, it usually shows up as the first line(s) of text, which is called a FLOT (First Line(s) of Text) marking ๐ŸŒธ The marking may or may not be surrounded by other text that makes it clear the marking is about the sensitivity of the message. A FLOT can also come with a LLOT (Last Line(s) of Text) marking ๐ŸŒ™ The message above has a two-line FLOT and a two-line LLOT. In both cases there's a line with the marking and an empty line between the marking and the original content ๐Ÿ™ˆ

When the marking goes in the Subject, it's usually put before or after the original Subject text, wrapped in parentheses or something similar, and/or separated from the content by white space ๐ŸŽ€

How inline sensitivity markings work, their syntax and their semantics, is generally a local matter ๐Ÿ  That makes it hard for an organization to act on them consistently, and even harder for cooperating organizations to share sensitivity info in a useful way ๐Ÿ˜ตโ€๐Ÿ’ซ

The authors expect these markings to keep being widely used, especially since there isn't ubiquitous support yet for a standardized header field that shows the sensitivity of a message ๐Ÿงƒ

The authors hope that a formally specified header field can improve interoperability, both within organizations and between them ๐Ÿคž

1.2. Relationship to Preexisting Security Label Header Fields ๐Ÿ—๏ธ

A bunch of non-standard header fields, like the X-X411 field, are already used to carry a representation of a message's sensitivity, whether structured or textual ๐Ÿงฉ

The authors hope that over time, those preexisting (non-standard) header fields get replaced by the header field described in this document ๐Ÿ”„

1.3. Relationship to Enhanced Security Services for S/MIME ๐Ÿ”

Enhanced Security Services for S/MIME (ESS) [RFC2634] offers, among other services, signature services "for content integrity, non-repudiation with the proof of origin, and [securely] binding attributes (such as a security label) to the original content" ๐Ÿ’œ

You could maybe use the protocol in this document alongside ESS, but this protocol should generally be seen as an alternative to ESS ๐Ÿ”€

Note that in ESS, the security label applies to MIME [RFC2045] content, whereas in this protocol, the label applies to the message as a whole ๐Ÿ“จ

Also, in ESS, security labels are securely bound to the MIME content using digital signatures. This protocol doesn't provide message-signing services, so it doesn't securely bind the label to the message, and it doesn't provide content integrity or non-repudiation of the proof of origin ๐Ÿ™…โ€โ™€๏ธ

This protocol is designed for situations and environments where message signing isn't necessary to provide sufficient security ๐ŸŒท

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 specs in this document use the Augmented Backus-Naur Form (ABNF) as described in [RFC5234] ๐Ÿ”ค

The term "base64 encoding" refers to the "Base 64 encoding" defined in Section 4 of [RFC4648] ๐Ÿฌ The term "BER encoding" refers to encoding per the Basic Encoding Rules (BER) as defined in [X.690] ๐Ÿงฎ

3. Overview ๐Ÿ—บ๏ธ

A Mail User Agent (MUA) that originates a message can, if it's configured that way, offer the user a menu of sensitivities to pick from ๐Ÿ“ Once the user picks one, the MUA can insert the display marking, foreground and background colors, and security label parameters for that choice into the SIO-Label header field of the message ๐ŸŽจ

Mail Submission Agents (MSAs), Mail Transfer Agents (MTAs), and Mail Delivery Agents (MDAs) can then, if they're configured to, use the sensitivity info they were given (or the lack of it) to decide whether to accept, forward, or otherwise act on the message as it was submitted ๐Ÿ“ฌ These agents, called Service Agents (SAs) from here on, can also, if configured, change the sensitivity info of the message, like swapping the security label and/or display marking for equivalent representations of the message's sensitivity ๐Ÿ” SAs that add, modify, or delete the SIO-Label header field SHOULD add an SIO-Label-History header ๐Ÿงพ

Receiving MUAs that implement this extension SHALL, when displaying the message, also prominently display the marking (if there is one) conveyed in the SIO-Label header field. If they're policy-aware and configured to display locally generated markings, they can instead show a marking generated from the conveyed label and the governing policy ๐Ÿ’– It's also desirable to display this marking in message listings ๐Ÿ‘‘ If the conveyed marking is displayed, it SHOULD be displayed using the foreground and background colors conveyed in the header field. If the marking was generated from a conveyed label and the governing policy, it SHOULD be displayed using the foreground and background colors conveyed by the governing policy ๐ŸŒˆ

MUAs aren't expected to make authorization decisions based on the values of the SIO-Label header field, but they can otherwise use the provided sensitivity info (or the lack of it) to decide how to act on the message ๐Ÿซง For instance, the MUA might organize messages in its message store based on the content of this header field ๐Ÿ—‚๏ธ

4. The SIO-Label Header Field โœจ

okay bestie, the header field name is "SIO-Label" ๐ŸŽ€ and its content is a set of key/value pairs. Each pair is called a parameter, and they're lowkey the whole personality of this header ๐Ÿ’…

Here's the formal header field syntax:

sio-label = "SIO-Label:" [FWS] sio-label-parm-seq [FWS] CRLF

sio-label-parm-seq = sio-label-parm
    [ [FWS] ";" [FWS] sio-label-parm-seq ]

sio-label-parm = parameter

The parameter production comes from [RFC2231], the FWS production comes from [RFC5322], and the CRLF production comes from [RFC5234]. ngl, [RFC2231] builds on the ABNF in [RFC0822], and that one implicitly allows white space in certain spots. The big one is right before and after the "=" in a parameter, which is allowed ๐Ÿ™ˆ [RFC2231] also allows quoted-string values that are pretty long, string characters outside of US-ASCII, and other cases like that. Implementors should consult the referenced specifications for details ๐Ÿ’–

The "marking" parameter is a display string for implementations that can't, or won't, use the governing security policy to generate display markings ๐Ÿงš The "marking" parameter SHOULD generally be provided in SIO-Label header fields. It ought only be absent where an SA relies on other SAs to generate the marking โœจ

The "fgcolor" and "bgcolor" parameters are tokens that follow the color production. They set the foreground and background colors for colorizing the display marking string ๐ŸŒˆ Their values are either RGB colors in hexadecimal format (like "#ff0000"), or one of the Cascading Style Sheets (CSS) color names (like "red") from the named-color type below. That list is the 16 HTML4 colors plus "orange" [CSS3-Color]. The default foreground color is black, and the default background is white ๐Ÿ“ The "fgcolor" and "bgcolor" parameters SHALL be absent if the "marking" parameter is absent. The HEXDIG production below comes from [RFC5234].

Formal color syntax:

color = hex-color / named-color

hex-color = "#" 6HEXDIG    ; Hex-encoded RGB

named-color =
           "aqua" /
           "black" /
           "blue" /
           "fuschia" /
           "gray" /
           "green" /
           "lime" /
           "maroon" /
           "navy" /
           "olive" /
           "purple" /
           "red" /
           "silver" /
           "teal" /
           "white" /
           "yellow" /
           "orange" ; named colors

The "type" parameter is a quoted string. It holds either the string ":ess", the string ":x411", the string ":xml", or a URI [RFC3986] that says what type and encoding the "label" parameter uses ๐Ÿ’œ The "label" parameter value is a quoted string. The "type" parameter SHALL be present if the "label" parameter is present. The "label" parameter SHALL be present if the "type" parameter is present. When sensitivity-based authorization is performed, having no "type" and "label" parameters means the message gets default handling rules, as if no SIO-Label was there at all ๐Ÿฆ‹

The string ":ess" means the "label" value is the base64 encoding of the BER encoding of an ESS security label [RFC2634] ๐Ÿซถ

ESS Label Example:

SIO-Label: marking="EXAMPLE CONFIDENTIAL";
    fgcolor=black; bgcolor=red;
    type=":ess"; label="MQYGASkCAQM="

The string ":x411" means the "label" value is the base64 encoding of the BER encoding of an X.411 security label [X.411] ๐Ÿ‘‘

X.411 Label Example:

SIO-Label: marking="EXAMPLE CONFIDENTIAL";
    fgcolor=black; bgcolor=red;
    type=":x411"; label="MQYGASkCAQM="

The string ":xml" means the "label" value is the base64 encoding of a security label written using [XML] ๐ŸŒธ The XML prolog SHOULD be absent unless specifically required (such as when the character encoding is not UTF-8). The exact flavor of security label is shown by the root element name and its name space ๐Ÿ”ฅ

XML Label Example:

SIO-Label: marking="EXAMPLE CONFIDENTIAL";
    fgcolor=black; bgcolor=red;
    type=":xml";
    label*0="PFNlY0xhYmVsIHhtbG5zPSJodHRwOi8vZXhhbX";
    label*1="BsZS5jb20vc2VjLWxhYmVsLzAiPjxQb2xpY3lJ";
    label*2="ZGVudGlmaWVyIFVSST0idXJuOm9pZDoxLjEiLz";
    label*3="48Q2xhc3NpZmljYXRpb24+MzwvQ2xhc3NpZmlj";
    label*4="YXRpb24+PC9TZWNMYWJlbD4=";

Here's the XML label with new lines and white space added so it's readable ๐Ÿงš

<SecLabel xmlns="http://example.com/sec-label/0">
    <PolicyIdentifier URI="urn:oid:1.1"/>
    <Classification>3</Classification>
</SecLabel>
The ":ess" and ":x411" formats SHOULD be used to represent ESS or X.411 security labels, respectively, instead of any direct XML representation of these formats. Don't skip this one, it's giving "use the thing that already exists" ๐Ÿ™…โ€โ™€๏ธ

The header field SHALL minimally contain a "marking" parameter, or contain both the "type" and "label" parameters. That's the core requirement, periodt ๐Ÿ’…

This header field may be extended to add more parameters through a future document that formally updates (or replaces) this one. Implementations SHOULD ignore additional parameters they don't recognize. This recommendation is not a mandate, though, so agents are allowed to process a message with an SIO-Label header field that has unrecognized parameters differently than one without them ๐Ÿฆ‹

Each message SHALL contain zero or one SIO-Label header field. Only one, no cap ๐ŸŽ€

Extended Example:

SIO-Label: marking*=us-ascii'en'EXAMPLE%20CONFIDENTIAL;
    fgcolor = black ; bgcolor = red ;
    type=":ess"; label*0="MQYG";
    label*1="ASkCAQM="

The Extended Example is equivalent to the ESS Label Example above. Same vibes, just a different outfit ๐Ÿ’–


5. The SIO-Label-History Header Field

Any service agent MAY record label changes in an SIO-Label-History header. This header field is meant to provide trace information, and only trace information ๐Ÿ•ต๏ธโ€โ™€๏ธ For instance, it can record the label change when an SIO-Label header is added, modified, or deleted by a service agent. This field can also be used in other situations. For example, a gateway that translates X.400 messages to RFC 5322 mail can use this header field to record the labeling changes it makes during translation โœจ

The SIO-Label-History header field counts as a trace field, as defined in Section 3.6.7 of [RFC5322] ๐ŸŒˆ

The formal syntax of the SIO-Label-History header is the same as SIO-Label's, but with these parameters:

  • change - one of "add", "replace", "delete".
  • changed-by - a string identifying the agent, usually the agent's fully qualified domain name.
  • changed-at - a date-time production, as specified in [RFC5322], showing the date and time the header was rewritten.
  • changed-comment - a string containing a comment.
  • marking, fgcolor, bgcolor, type, label - record the message's label information before the SIO-Label was added, modified, or deleted. They use the same parameter syntax as SIO-Label. These parameters are absent when the change action is "add".
  • new-marking, new-fgcolor, new-bgcolor, new-type, new-label - record the message's label information after the SIO-Label was added, modified, or deleted. They use the same parameter syntax as the matching SIO-Label parameters. These parameters are absent when the change type is "delete".

The header field SHALL minimally contain the "change", "changed-by", and "changed-at" parameters ๐Ÿ“

This header field can be extended with more parameters through future documents that formally update (or replace) this one ๐Ÿงš

Each message can contain zero or more SIO-Label-History header fields. All SIO-Label-History header fields should immediately follow the SIO-Label header field, if there is one, and be grouped together. New SIO-Label-History header fields should be added immediately before any existing SIO-Label-History header fields ๐Ÿซถ

SIO Label History Add, Modify, Delete Example:

SIO-Label-History: marking="EXAMPLE CONFIDENTIAL";
    fgcolor=black; bgcolor=red;
    type=":xml";
    label*0="PFNlY0xhYmVsIHhtbG5zPSJodHRwOi8vZXhhbX";
    label*1="BsZS5jb20vc2VjLWxhYmVsLzAiPjxQb2xpY3lJ";
    label*2="ZGVudGlmaWVyIFVSST0idXJuOm9pZDoxLjEiLz";
    label*3="48Q2xhc3NpZmljYXRpb24+MzwvQ2xhc3NpZmlj";
    label*4="YXRpb24+PC9TZWNMYWJlbD4=";
    change=delete;
    changed-by="delete.example.com";
    changed-at="18 Feb 2013 9:24 PDT";
    changed-comment="delete"
SIO-Label-History: marking="EXAMPLE CONFIDENTIAL";
    fgcolor=black; bgcolor=red;
    type=":ess"; label="MQYGASkCAQM=";
    new-marking="EXAMPLE CONFIDENTIAL";
    new-fgcolor=black; new-bgcolor=red;
    new-type=":xml";
    new-label*0="PFNlY0xhYmVsIHhtbG5zPSJodHRwOi8vZXhhbX";
    new-label*1="BsZS5jb20vc2VjLWxhYmVsLzAiPjxQb2xpY3lJ";
    new-label*2="ZGVudGlmaWVyIFVSST0idXJuOm9pZDoxLjEiLz";
    new-label*3="48Q2xhc3NpZmljYXRpb24+MzwvQ2xhc3NpZmlj";
    new-label*4="YXRpb24+PC9TZWNMYWJlbD4=";
    change=replace;
    changed-by="modify.example.net";
    changed-at="18 Feb 2013 8:24 PDT";
    changed-comment="replaced with XML variant"
SIO-Label-History: new-marking="EXAMPLE CONFIDENTIAL";
    new-fgcolor=black; new-bgcolor=red;
    new-type=":ess"; new-label="MQYGASkCAQM=";
    change=add;
    changed-by="add.example.net";
    changed-at="18 Feb 2013 7:24 PDT";
    changed-comment="added label"

6. IANA Considerations

The SIO-Label and SIO-Label-History header fields have been registered in the "Provisional Message Header Field Registry" under [RFC3864] ๐Ÿ“‹ Here's what got registered ๐Ÿ’…

Header field name: SIO-Label
Applicable protocol: mail [RFC5322]
Status: provisional
Author/change controller: Kurt Zeilenga (kurt.zeilenga@isode.com)
Specification document(s): RFC 7444

Header field name: SIO-Label-History
Applicable protocol: mail [RFC5322]
Status: provisional
Author/change controller: Kurt Zeilenga (kurt.zeilenga@isode.com)
Specification document(s): RFC 7444

7. Security Considerations ๐Ÿ”’โœจ

okay bestie, this section is SERIOUS but also kind of iconic ๐Ÿ’… so let's go:

Sensitive information should be appropriately protected, labeled or not ๐Ÿ›ก๏ธ For email messages, it's generally appropriate for the sending entity to authenticate the receiving entity and to set up transport-level security, including protective services for both data integrity and data confidentiality ๐Ÿ” When a receiving entity makes authorization decisions based upon assertions of the sending entity, including assertions of identity, it's generally appropriate for the receiving entity to authenticate the sending entity ๐Ÿซถ

This document gives you a facility for expressing the sensitivity of an email message ๐Ÿ’Œ The mere expression of actual sensitivity generally does not elevate the sensitivity of the message, BUT expressions of sensitivities can themselves be regarded as sensitive information ๐Ÿ™ˆ For instance, a marking of "BLACK PROJECT RESTRICTED" could disclose the existence of a sensitivity project ๐Ÿ’€

The SIO-Label header field expresses the sensitivity of the whole message, including the header and body โœจ This document does not provide a means to express the sensitivity of portions of an email message, such as the possibly different sensitivities of various MIME parts that the message may be composed of ๐Ÿงฉ The approach used in this document favors simplicity and ease of use (i.e., a single expression of sensitivity) over the complexity and difficulty of marking and labeling portions of a message ๐Ÿ“

The expressed sensitivity can be used in determining how to handle a message ๐ŸŽ€ For instance, the value of the SIO-Label header field (or lack thereof) can be used to determine if it is appropriate to be forwarded to a particular entity and, if so, what minimum security services ought to be used in the forwarding exchange ๐Ÿฆ‹ The mechanism for determining how to handle a message-based expressed sensitivity is beyond the scope of this document ๐Ÿคทโ€โ™€๏ธ

The actual content may have more or less sensitivity than indicated by the security label ๐Ÿ‘€ Agents should avoid lowering security requirements for message exchange with a particular entity based upon conveyed sensitivity ๐Ÿšซ

This protocol does not itself provide message-signing services, such as used in providing message integrity protection, non-repudiation, and binding of attributes (such as the security label to the message) ๐Ÿ–Š๏ธ While it possible that this protocol could be used with a general message-signing service, this document does not detail such use ๐ŸŒธ

While security label and display marking parameters are expected to express the same sensitivity, nothing in this specification ensures that the security label and display marking values express the same sensitivity ๐Ÿ˜ฌ For instance, an MUA could submit a message that contains a security label that expresses one sensitivity and a display marking with a different sensitivity, and by doing so, possibly cause an SA to inappropriately handle the message ๐Ÿ’ฅ It is generally appropriate for each SA using the SIO-Label values to determine if the security label and display marking values express the same sensitivity and, if not, take appropriate action (such as rejecting the message) ๐Ÿ™…โ€โ™€๏ธ

This document also gives you a facility for expressing changes to the label of a message ๐Ÿ•ฐ๏ธ This is intended to be used for trace purposes only ๐Ÿ” It is noted that the SIO-Label-History header field can include sensitive information and, as such, can be removed from the message when its inclusion would result in disclosure of inappropriate information ๐Ÿงน

8. References ๐Ÿ“š

8.1. Normative References ๐Ÿ’œ

[CSS3-Color] Celik, T. and C. Lilley, "CSS3 Color Module",
             W3C Candidate Recommendation
             CR-css3-color-20030514, May 2003,
             <http://www.w3.org/TR/2003/CR-css3-color-20030514>.

[RFC2119]    Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997,
             <http://www.rfc-editor.org/info/rfc2119>.

[RFC2231]    Freed, N. and K. Moore, "MIME Parameter Value and
             Encoded Word Extensions: Character Sets, Languages, and
             Continuations", RFC 2231, November 1997,
             <http://www.rfc-editor.org/info/rfc2231>.

[RFC2634]    Hoffman, P., Ed., "Enhanced Security Services for
             S/MIME", RFC 2634, June 1999,
             <http://www.rfc-editor.org/info/rfc2634>.

[RFC3864]    Klyne, G., Nottingham, M., and J. Mogul, "Registration
             Procedures for Message Header Fields", BCP 90, RFC 3864,
             September 2004,
             <http://www.rfc-editor.org/info/rfc3864>.

[RFC3986]    Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
             Resource Identifier (URI): Generic Syntax", STD 66, RFC
             3986, January 2005,
             <http://www.rfc-editor.org/info/rfc3986>.

[RFC4648]    Josefsson, S., "The Base16, Base32, and Base64 Data
             Encodings", RFC 4648, October 2006,
             <http://www.rfc-editor.org/info/rfc4648>.

[RFC5234]    Crocker, D., Ed. and P. Overell, "Augmented BNF for
             Syntax Specifications: ABNF", STD 68, RFC 5234, January
             2008, <http://www.rfc-editor.org/info/rfc5234>.

[RFC5322]    Resnick, P., Ed., "Internet Message Format", RFC 5322,
             October 2008, <http://www.rfc-editor.org/info/rfc5322>.

[X.411]      ITU-T, "Message Handling Systems (MHS) - Message
             Transfer System: Abstract Service Definition and
             Procedures", ITU-T Recommendation X.411, June 1999.

[X.690]      ITU-T, "ASN.1 encoding rules: Specification of Basic
             Encoding Rules (BER), Canonical Encoding Rules (CER) and
             Distinguished Encoding Rules (DER)", ITU-T
             Recommendation X.690, November 2008.

[XML]        Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E.,
             and F. Yergeau, "Extensible Markup Language (XML) 1.0
             (Fifth Edition)", W3C Recommendation REC-xml-20081126,
             November 2008,
             <http://www.w3.org/TR/2008/REC-xml-20081126>.

8.2. Informative References ๐Ÿฆ‹

[RFC0822]    Crocker, D., "STANDARD FOR THE FORMAT OF ARPA INTERNET
             TEXT MESSAGES", STD 11, RFC 822, August 1982,
             <http://www.rfc-editor.org/info/rfc822>.

[RFC2045]    Freed, N. and N. Borenstein, "Multipurpose Internet Mail
             Extensions (MIME) Part One: Format of Internet Message
             Bodies", RFC 2045, November 1996,
             <http://www.rfc-editor.org/info/rfc2045>.

[X.841]      ITU-T, "Security information objects for access
             control", ITU-T Recommendation X.841, October 2000.

[XEP258]     Zeilenga, K., "XEP-0258: Security Labels in XMPP", XEP
             XMPP Extension Protocols, April 2013.

Acknowledgements ๐Ÿซถ

The authors appreciate the review, comment, and text provided by community members, including Dave Cridland, Brad Hards, Russ Housley, Steve Kille, Graeme Lunt, Alan Ross, Jim Schaad, and David Wilson ๐Ÿ’–

Authors' Addresses ๐ŸŽ€

Kurt Zeilenga
Isode Limited

EMail: Kurt.Zeilenga@isode.com


Alexey Melnikov
Isode Limited
14 Castle Mews
Hampton, Middlesex  TW12 2NP
United Kingdom

EMail: Alexey.Melnikov@isode.com
๐Ÿ“ฆ where this page comes from