<?xml version="1.0" encoding="US-ASCII"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>  
<?rfc subcompact="no"?>

<rfc number="7601" ipr="trust200902" category="std" obsoletes="7001, 7410"
submissionType="IETF" consensus="yes">

<front>
        <title abbrev="Authentication-Results Header Field">
                Message Header Field for Indicating Message Authentication
                Status
        </title>

        <author initials="M. S." surname="Kucherawy"
                fullname="Murray S. Kucherawy">
                <address>
                        <postal>
                                <street>270 Upland Drive</street>
                                <city>San Francisco</city>
                                <region>CA</region>
                                <code>94127</code>
                                <country>United States</country>
                        </postal>

                        <email>superuser@gmail.com</email>
                </address>
        </author>

        <date month="August" year="2015"/>

        <area>Applications</area>
        <workgroup>Individual submission</workgroup>

        <keyword>DKIM</keyword>
        <keyword>DomainKeys</keyword>
        <keyword>SenderID</keyword>
        <keyword>SPF</keyword>
        <keyword>ADSP</keyword>
        <keyword>ATPS</keyword>
        <keyword>VBR</keyword>
        <keyword>Authentication</keyword>
        <keyword>Reputation</keyword>

        <abstract>
                <t> This document specifies a message header field called
                    Authentication-Results for use with
                    electronic mail messages to indicate the results of
                    message authentication efforts.  Any receiver-side
                    software, such as mail filters or Mail User Agents
                    (MUAs), can use this header field to relay that
                    information in a convenient and meaningful way to users
                    or to make sorting and filtering decisions. </t>
        </abstract>
</front>


<middle>
        <section anchor="intro" title="Introduction">
                <t> This document describes a header field called
                    Authentication-Results for electronic mail messages that
                    presents the results of a message authentication effort
                    in a machine-readable format.  The intent of the header
                    field is to create a place to collect such data when
                    message authentication mechanisms are in use so that a
                    Mail User Agent (MUA) and downstream filters can make
                    filtering decisions and/or provide a recommendation to the
                    user as to the validity of the message's origin and
		    possibly the safety and integrity of its content. </t>

                <t> This document revises the original definition found in
                    <xref target="RFC5451"/> based upon various authentication
                    protocols in current use and incorporates errata logged
                    since the publication of the original specification. </t>

                <t> End users are not expected to be direct consumers of this
                    header field.  This header field is intended for
                    consumption by programs that will then use such data or
                    render it in a human-usable form. </t>

                <t> This document specifies the format of this header
                    field and discusses the implications of its presence or
                    absence.  However, it does not discuss how the data
                    contained in the header field ought to be used, such as
		    what filtering decisions are appropriate or how an MUA
		    might render those results, as these are local policy
		    and/or user interface design questions that are not
		    appropriate for this document. </t>

                <t> At the time of publication of this document, the following
                    are published email authentication methods:

                    <list style="symbols">
                        <t> Author Domain Signing Practices
                            (<xref target="ADSP"/>) (Historic) </t>
                        <t> SMTP Service Extension for Authentication
                            (<xref target="AUTH"/>) </t>
                        <t> DomainKeys Identified Mail Signatures
                            (<xref target="DKIM"/>) </t>
                        <t> Domain-based Message Authentication, Reporting and
			    Conformance (<xref target="DMARC"/>) </t>
                        <t> Sender Policy Framework (<xref target="SPF"/>) </t>
                        <t> reverse IP address name validation
                            ("iprev", defined in <xref target="iprev"/>) </t>
                        <t> Require-Recipient-Valid-Since Header Field and SMTP
			    Service Extension (<xref target="RRVS"/>) </t>
                        <t> S/MIME Signature Verification
			    (<xref target="SMIME-REG"/>) </t>
                        <t> Vouch By Reference (<xref target="VBR"/>) </t>
                        <t> DomainKeys (<xref target="DOMAINKEYS"/>)
                            (Historic) </t>
                        <t> Sender ID (<xref target="SENDERID"/>)
                            (Experimental) </t>
                    </list> </t>

		<t> There exist registries for tokens used within this header
		    field that refer to the specifications listed above.
		    <xref target="iana"/> describes the registries and their
		    contents and specifies the process by which entries are
		    added or updated.  It also updates the existing contents
		    to match the current states of these specifications. </t>

                <t> This specification is not intended to be restricted to
                    domain-based authentication schemes, but the existing
                    schemes in that family have proven to be a good starting
                    point for implementations.  The goal is to give current
                    and future authentication schemes a common framework within
                    which to deliver their results to downstream agents and
                    discourage the creation of unique header fields for
                    each. </t>

                <t> Although SPF defined a header field called "Received-SPF"
                    and the historic DomainKeys defined one called
                    "DomainKey-Status" for this purpose, those header fields
		    are specific to the conveyance of their respective results
		    only and thus are insufficient to satisfy the requirements
                    enumerated below.  In addition, many SPF implementations
                    have adopted the header field specified here at least as
                    an option, and DomainKeys has been obsoleted by DKIM. </t>

                <section anchor="purpose" title="Purpose">
                        <t> The header field defined in this document is
                            expected to serve several purposes:

                        <list style="numbers">
                                <t> Convey the results of various message
                                    authentication checks, which are applied by
                                    upstream filters and Mail Transfer
                                    Agents (MTAs) and then passed to MUAs and
                                    downstream filters within the same "trust
                                    domain".  Such agents might wish to render
                                    those results to end users or to use those
                                    data to apply more or less stringent
				    content checks based on authentication
                                    results; </t>

                                <t> Provide a common location within a message
                                    for this data;</t>

                                <t> Create an extensible framework for
                                    reporting new authentication methods as
                                    they emerge. </t>
                        </list> </t>

                        <t> In particular, the mere presence of this header
                            field does not mean its contents are valid.
                            Rather, the header field is reporting assertions
                            made by one or more authentication schemes 
                            (supposedly) applied somewhere upstream.
                            For an MUA or downstream filter to treat the
                            assertions as actually valid, there must be an
                            assessment of the trust relationship among such
                            agents, the validating MTA, and the mechanism for
                            conveying the information. </t>
                </section>

                <section anchor="trust" title="Trust Boundary">
                        <t> This document makes several references to the
                            "trust boundary" of an administrative management
                            domain (ADMD).  Given the diversity among existing
                            mail environments, a precise definition of this
                            term isn't possible. </t>

                        <t> Simply put, a transfer from the producer of the
                            header field to the consumer must occur within a
                            context that permits the consumer to treat
                            assertions by the producer as being reliable and
                            accurate (trustworthy).  How this trust is obtained
                            is outside the scope of this document.  It is
                            entirely a local matter. </t>

                        <t> Thus, this document defines a "trust boundary" as
                            the delineation between "external" and "internal"
                            entities.  Services that are internal -- within the
                            trust boundary -- are provided by the ADMD's
                            infrastructure for its users.  Those that are
                            external are outside of the authority of the
                            ADMD.  By this definition, hosts that are within
                            a trust boundary are subject to the ADMD's
			    authority and policies, independent of their
			    physical placement or their physical operation.
			    For example, a host within a trust boundary might
			    actually be operated by a remote service provider
			    and reside physically within its data center. </t>

                        <t> It is possible for a message to be evaluated inside
                            a trust boundary but then depart and re-enter the
                            trust boundary.  An example might be a forwarded
                            message such as a message/rfc822 attachment
                            (see Multipurpose Internet Mail Extensions
                            <xref target="MIME"/>) or one that is part of a
                            multipart/digest.  The details reported by this
			    field cannot be trusted in that case.  Thus, this
			    field found within one of those media types is
			    typically ignored. </t>
                </section>

                <section anchor="scope" title="Processing Scope">
                        <t> The content of this header field is meant to convey
                            to message consumers that authentication work on
                            the message was already done within its trust
                            boundary, and those results are being presented.
                            It is not intended to provide message parameters
                            to consumers so that they can perform
			    authentication protocols on their own. </t>
                </section>

                <section anchor="requirements" title="Requirements">
                        <t> This document establishes no new requirements on
                            existing protocols or servers. </t>

                        <t> In particular, this document establishes no
                            requirement on MTAs to reject or filter arriving
                            messages that do not pass authentication checks.
                            The data conveyed by the specified header field's
                            contents are for the information of MUAs and
                            filters and are to be used at their
                            discretion. </t>
                </section>

                <section anchor="definitions" title="Definitions">
                        <t> This section defines various terms used throughout
                            this document. </t>

                        <section anchor="defs_keywords" title="Key Words">
                                   <t> 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
                                    <xref target="KEYWORDS"/>. </t>
                        </section>

                        <section anchor="defs_security" title="Security">
                                <t> "Guidelines for Writing RFC Text on
                                    Security Considerations"
                                    (<xref target="SECURITY"/>) discusses
                                    authentication and authorization and the
                                    conflation of the two concepts.  The use
                                    of those terms within the context of
                                    recent message security work has given rise
                                    to slightly different definitions, and
                                    this document reflects those current
                                    usages, as follows:

                                    <list style="symbols">
                                        <t> "Authorization" is the
                                            establishment of permission to use
                                            a resource or represent an
                                            identity.  In this context,
                                            authorization indicates that a
                                            message from a particular ADMD
                                            arrived via a route the ADMD
                                            has explicitly approved. </t>

                                        <t> "Authentication" is the assertion
                                            of validity of a piece of data
                                            about a message (such as the
                                            sender's identity) or the message
                                            in its entirety. </t>
                                    </list> </t>

                                <t> As examples: SPF and Sender ID
                                    are authorization mechanisms in that they
                                    express a result that shows whether or not
				    the ADMD that apparently sent the message
				    has explicitly authorized the connecting
				    Simple Mail Transfer Protocol
				    (<xref target="SMTP"/>) client to relay
				    messages on its behalf, but they do not
				    actually validate any other property of
				    the message itself.  By contrast, DKIM
                                    is agnostic as to the routing of a message
                                    but uses cryptographic signatures to
                                    authenticate agents, assign (some)
                                    responsibility for the message (which
				    implies authorization), and ensure that
				    the listed portions of the message were not
                                    modified in transit.  Since the signatures
                                    are not tied to SMTP connections, they can
                                    be added by either the ADMD of origin,
                                    intermediate ADMDs (such as a mailing list
                                    server), other handling agents, or any
                                    combination. </t>

                                <t> Rather than create a separate header field
                                    for each class of solution, this proposal
                                    groups them both into a single header
                                    field. </t>
                        </section>

                        <section anchor="defs_email" title="Email Architecture">
                                <t> <list style="symbols">
                                        <t> A "border MTA" is an MTA that
                                            acts as a gateway between the
                                            general Internet and the users
                                            within an organizational
                                            boundary.  (See also
                                            <xref target="trust"/>.) </t>

                                        <t> A "delivery MTA" (or Mail Delivery
                                            Agent or MDA) is an MTA that
                                            actually enacts delivery of a
                                            message to a user's inbox or other
                                            final delivery. </t>

                                        <t> An "intermediate MTA" is any MTA
                                            that is not a delivery MTA and is
                                            also not the first MTA to handle
                                            the message. </t>
                                </list> </t>

                                <t> The following diagram illustrates the flow
                                    of mail among these defined components.
				    See Internet Mail Architecture
                                    <xref target="EMAIL-ARCH"/> for further
				    discussion on general email system
				    architecture, which includes detailed
                                    descriptions of these components, and
                                    <xref target="op_considerations"/> of this
                                    document for discussion about the common
                                    aspects of email authentication in current
                                    environments. 

        <figure><artwork>
                       +-----+   +-----+   +------------+
                       | MUA |--&gt;| MSA |--&gt;| Border MTA |
                       +-----+   +-----+   +------------+
                                                 |
                                                 |
                                                 V
                                            +----------+
                                            | Internet |
                                            +----------+
                                                 |
                                                 |
                                                 V
+-----+   +-----+   +------------------+   +------------+
| MUA |&lt;--| MDA |&lt;--| Intermediate MTA |&lt;--| Border MTA |
+-----+   +-----+   +------------------+   +------------+
        </artwork></figure>
                            </t>

                                <t> Generally, it is assumed that the work of
                                    applying message authentication schemes
                                    takes place at a border MTA or a delivery
                                    MTA.  This specification is written with
                                    that assumption in mind.  However, there
                                    are some sites at which the entire mail
                                    infrastructure consists of a single host.
                                    In such cases, such terms as "border MTA"
                                    and "delivery MTA" might well apply to the
                                    same machine or even the very same agent.
                                    It is also possible that some message
                                    authentication tests could take place on
                                    an intermediate MTA.  Although this
                                    document doesn't specifically describe
                                    such cases, they are not meant to be
                                    excluded. </t>
                        </section>

                        <section anchor="defs_other" title="Other Terms">
                                <t> In this document, the term "producer"
				    refers to any component that adds this
				    header field to messages it is handling,
				    and "consumer" refers to any component
				    that identifies, extracts, and parses the
				    header field to use as part of a handling
				    decision. </t>
                        </section>
                </section>

                <section anchor="environment" title="Trust Environment">
                        <t> This header field permits one or more message
                            validation mechanisms to communicate output to
                            one or more separate assessment mechanisms.  These
                            mechanisms operate within a unified trust boundary
                            that defines an Administrative Management Domain
                            (ADMD).  An ADMD contains one or more entities
                            that perform validation and generate the header
                            field and one or more that consume it for some
                            type of assessment.  The field often contains no
                            integrity or validation mechanism of its own, so
                            its presence must be trusted implicitly.  Hence,
                            valid use of the header field requires removing
                            any occurrences of it that are present when the
                            message enters the ADMD.  This ensures that later
                            occurrences have been added within the trust
                            boundary of the ADMD. </t>

                        <t> The authserv-id token defined in
                            <xref target="format_formal"/> can be used to
                            reference an entire ADMD or a specific validation
                            engine within an ADMD.  Although the labeling
                            scheme is left as an operational choice, some
                            guidance for selecting a token is provided
                            in later sections of this document. </t>
                </section>
        </section>

        <section anchor="format"
	         title="Definition and Format of the Header Field">
                <t> This section gives a general overview of the format
                    of the header field being defined and then provides more
                    formal specification. </t>

                <section anchor="format_general" title="General Description">
                        <t> The header field specified here is called
                            Authentication-Results.  It is a Structured
                            Header Field as defined in Internet Message
                            Format (<xref target="MAIL"/>), and thus all of
			    the related definitions in that document
			    apply. </t>

                        <t> This header field is added at the top of the
			    message as it transits MTAs that do authentication
			    checks, so some idea of how far away the checks
			    were done can be inferred.  It is therefore
			    considered to be a trace field as defined in
			    <xref target="MAIL"/>, and thus all of the related
			    definitions in that document apply.  </t>

                        <t> The value of the header field (after removing
                            comments) consists of an authentication
                            identifier, an optional version, and then a series
			    of statements and supporting data.  The statements
			    are of the form "method=result" and indicate which
			    authentication method(s) were applied and their
			    respective results.  For each such statement, the
			    supporting data can include a "reason" string and
			    one or more "property=value" statements indicating
			    which message properties were evaluated to reach
			    that conclusion. </t>

                        <t> The header field can appear more than once in a
                            single message, more than one result can be
                            represented in a single header field, or a
                            combination of these can be applied. </t>
                </section>

                <section anchor="format_formal" title="Formal Definition">
                        <t> Formally, the header field is specified as
                            follows using Augmented Backus-Naur Form
                            (<xref target="ABNF"/>): </t>

                        <figure><artwork>
  authres-header = "Authentication-Results:" [CFWS] authserv-id
           [ CFWS authres-version ]
           ( no-result / 1*resinfo ) [CFWS] CRLF

  authserv-id = value
              ; see below for a description of this element

  authres-version = 1*DIGIT [CFWS]
          ; indicates which version of this specification is in use;
          ; this specification is version "1", and the absence of a
          ; version implies this version of the specification

  no-result = [CFWS] ";" [CFWS] "none"
            ; the special case of "none" is used to indicate that no
            ; message authentication was performed

  resinfo = [CFWS] ";" methodspec [ CFWS reasonspec ]
            *( CFWS propspec )

  methodspec = [CFWS] method [CFWS] "=" [CFWS] result
             ; indicates which authentication method was evaluated
             ; and what its output was

  reasonspec = "reason" [CFWS] "=" [CFWS] value
             ; a free-form comment on the reason the given result
             ; was returned

  propspec = ptype [CFWS] "." [CFWS] property [CFWS] "=" pvalue
           ; an indication of which properties of the message
           ; were evaluated by the authentication scheme being
           ; applied to yield the reported result

  method = Keyword [ [CFWS] "/" [CFWS] method-version ]
         ; a method indicates which method's result is
         ; represented by "result", and is one of the methods
         ; explicitly defined as valid in this document
         ; or is an extension method as defined below

  method-version = 1*DIGIT [CFWS]
         ; indicates which version of the method specification is
         ; in use, corresponding to the matching entry in the IANA
         ; "Email Authentication Methods" registry; a value of "1"
         ; is assumed if this version string is absent

  result = Keyword
         ; indicates the results of the attempt to authenticate
         ; the message; see below for details

  ptype = Keyword
        ; indicates whether the property being evaluated was
        ; a parameter to an [SMTP] command, was a value taken
        ; from a message header field, was some property of
        ; the message body, or was some other property evaluated by
        ; the receiving MTA; expected to be one of the "property
        ; types" explicitly defined as valid, or an extension
        ; ptype, as defined below

  property = special-smtp-verb / Keyword
          ; indicates more specifically than "ptype" what the
          ; source of the evaluated property is; the exact meaning
          ; is specific to the method whose result is being reported
          ; and is defined more clearly below

  special-smtp-verb = "mailfrom" / "rcptto"
          ; special cases of [SMTP] commands that are made up
          ; of multiple words

  pvalue = [CFWS] ( value / [ [ local-part ] "@" ] domain-name )
           [CFWS]
         ; the value extracted from the message property defined
         ; by the "ptype.property" construction
                        </artwork></figure>

                        <t> "local-part" is defined in Section 3.4.1 of
			    <xref target="MAIL"/>, and "CFWS" is defined in
			    Section 3.2.2 of <xref target="MAIL"/>. </t>

                        <t> "Keyword" is defined in Section 4.1.2 of
                            <xref target="SMTP"/>. </t>

                        <t> The "value" is as defined in Section 5.1 of
                            <xref target="MIME"/>. </t>

                        <t> The "domain-name" is as defined in Section 3.5 of
                            <xref target="DKIM"/>. </t>

                        <t> The "Keyword" used in "result" above is further
                            constrained by the necessity of being enumerated
                            in <xref target="m_and_r"/>. </t>

                        <t> See <xref target="identifier"/> for a description
                            of the authserv-id element. </t>

                        <t> If the value portion of a "pvalue" construction
                            identifies something intended to be an email
                            identity, then it MUST use the right hand portion
			    of that ABNF definition. </t>

                        <t> The list of commands eligible for use with the
                            "smtp" ptype can be found in Section 4.1 of
                            <xref target="SMTP"/>. </t>

                        <t> The "propspec" may be omitted if, for example,
                            the method was unable to extract any properties
                            to do its evaluation yet has a result to
                            report. </t>

                        <t> Where an SMTP command name is being reported as a
                            "property", the agent generating the header field
                            represents that command by converting it to
			    lowercase and dropping any spaces (e.g., "MAIL
			    FROM" becomes "mailfrom", "RCPT TO" becomes
			    "rcptto", etc.). </t>

                        <t> A "ptype" value of "policy" indicates a policy
                            decision about the message not specific to a
                            property of the message that could be extracted.
			    See <xref target="policyptype"/> for details.  </t>

                        <t> Examples of complete messages using this
                            header field can be found in
                            <xref target="examples"/>. </t>
                </section>

		<section anchor="ptypes"
		         title="Property Types (ptypes) and Properties">
			<t> The "ptype" in the ABNF above indicates the
			    general type of property being described by the
			    result being reported, upon which the reported
			    result was based.  Coupled with the "property", 
			    which is more specific, they indicate from which
			    particular part of the message the reported data
			    were extracted. </t>

			<t> Combinations of ptypes and properties are
			    registered and described in the "Email
			    Authentication Methods" registry, coupled with
			    the authentication methods with which they are
			    used.  This is further described in 
			    <xref target="iana"/>. </t>

			<t> Legal values of "ptype" are as defined in the
			    IANA "Email Authentication Property Types"
			    registry, created by
			    <xref target="RFC7410"/>. 

 The initial
			    values and what they typically indicate are as
			    follows, based on <xref target="RFC7001"/>:

			    <list style="hanging">
				<t hangText="body:"> Information
					that was extracted from the body of the
				        message.  This might be an arbitrary
					string of bytes, a hash of a string of
					bytes, a Uniform Resource Identifier,
					or some other content of interest.  The
					"property" is an indication of where
					within the message body the extracted
					content was found, and can indicate an
					offset, identify a MIME part, etc. </t>

				<t hangText="header:"> Indicates information
					that was extracted from the header of
					the message.  This might be the value
					of a header field or some portion of a
					header field.  The "property" gives
					a more precise indication of the place
					in the header from which the extraction
					took place. </t>

				<t hangText="policy:"> A local policy mechanism
					was applied that augments or overrides
					the result returned by the
					authentication mechanism.  (See
					<xref target="policyptype"/>.) </t>

				<t hangText="smtp:"> Indicates information that
					was extracted from an SMTP command
					that was used to relay the
					message.  The "property" indicates
					which SMTP command included the
					extracted content as a parameter. </t>
			    </list> </t>

			<t> Results reported using unknown ptypes MUST NOT be
			    used in making handling decisions. They can be
			    safely ignored by consumers. </t>

			<t> Entries in the "Email Authentication Methods"
			    registry can define properties that deviate from
			    these definitions when appropriate.  Such
			    deviations need to be clear in the registry and/or
			    in the defining document.  See
			    <xref target="dkim_dk_results"/> for an
			    example. </t>
		</section>

		<section anchor="policyptype"
		         title="The &quot;policy&quot; ptype">
			<t> A special ptype value of "policy" is also defined.
			    This ptype is provided to indicate that some
			    local policy mechanism was applied that augments
			    or even replaces (i.e., overrides) the result
			    returned by the authentication mechanism.  The
			    property and value in this case identify the
			    local policy that was applied and the result it
			    returned.</t>

			<t> For example, a DKIM signature is not required to
			    include the Subject header field in the set of
			    fields that are signed.  An ADMD receiving such
			    a message might decide that such a signature is
			    unacceptable, even if it passes, because the
			    content of the Subject header field could be
			    altered post-signing without invalidating the
			    signature.  Such an ADMD could replace the DKIM
			    "pass" result with a "policy" result and then
			    also include the following in the corresponding
			    Authentication-Result field: </t>

			    <figure><artwork>
   ... dkim=fail policy.dkim-rules=unsigned-subject ...
                            </artwork></figure>

			<t> In this case, the property is "dkim-rules",
			    indicating some local check by that name took
			    place and that check returned a result of
			    "unsigned-subject".  These are arbitrary names
			    selected by (and presumably used within) the
			    ADMD making use of them, so they are not normally
			    registered with IANA or otherwise specified apart
			    from setting syntax restrictions that allow for
			    easy parsing within the rest of the header
			    field. </t>

			<t> This ptype existed in the original specification
			    for this header field, but without a complete
			    description or example of intended use.  As a
			    result, it has not seen any practical use to date
			    that matches its intended purpose.  These added
			    details are provided to guide implementers toward
			    proper use. </t>
		</section>

                <section anchor="identifier"
                        title="Authentication Identifier Field">
                        <t> Every Authentication-Results header field 
                            has an authentication service identifier field
                            (authserv-id above).  Specifically, this is any
                            string intended to identify the authentication
                            service within the ADMD that conducted
                            authentication checks on the message.  This
                            identifier is intended to be machine-readable and
			    not necessarily meaningful to users. </t>

                        <t> Since agents consuming this field will use this
                            identifier to determine whether its contents
                            are of interest (and are safe to use), the
                            uniqueness of the identifier MUST be guaranteed by
                            the ADMD that generates it and MUST pertain to
                            that ADMD.  MUAs or downstream filters SHOULD use
			    this identifier to determine whether or not the
			    data contained in an Authentication-Results header
			    field ought to be used or ignored. </t>

                        <t> For simplicity and scalability, the authentication
                            service identifier SHOULD be a common token used
                            throughout the ADMD.  Common practice is to use
                            the DNS domain name used by or within that ADMD,
                            sometimes called the "organizational domain",
                            but this is not strictly necessary. </t>

                        <t> For tracing and debugging purposes, the
                            authentication identifier can instead be the
			    specific hostname of the MTA performing the
			    authentication check whose result is being
			    reported.  Moreover, some implementations define
			    a substructure to the identifier; these are
			    outside of the scope of this specification. </t>

                        <t> Note, however, that using a local, relative
			    identifier like a flat hostname, rather
                            than a hierarchical and globally unique ADMD
                            identifier like a DNS domain name, makes
                            configuration more difficult for large sites.  The
                            hierarchical identifier permits aggregating
                            related, trusted systems together under a single,
                            parent identifier, which in turn permits assessing
                            the trust relationship with a single reference.
                            The alternative is a flat namespace requiring
                            individually listing each trusted system.  Since
                            consumers will use the identifier to determine
                            whether to use the contents of the header field:

                            <list style="symbols">
                                <t> Changes to the identifier impose a large,
                                    centralized administrative burden. </t>

                                <t> Ongoing administrative changes require
                                    constantly updating this centralized
                                    table, making it difficult to ensure
                                    that an MUA or downstream filter will have
                                    access to accurate information for
                                    assessing the usability of the header
                                    field's content.  In particular, consumers
                                    of the header field will need to know not
                                    only the current identifier(s) in use
                                    but previous ones as well to account
                                    for delivery latency or later
                                    re-assessment of the header field's
                                    contents. </t>
                            </list> </t>

                        <t> Examples of valid authentication identifiers are
                            "example.com", "mail.example.org", 
                            "ms1.newyork.example.com", and "example-auth". </t>
                </section>

                <section anchor="versions" title="Version Tokens">
                        <t> The grammar above provides for the optional
                            inclusion of versions on both the header field
                            itself (attached to the authserv-id token)
                            and on each of the methods being reported.
                            The method version refers to the method itself,
                            which is specified in the documents describing
                            those methods, while the authserv-id version
                            refers to this document and thus the syntax of
                            this header field. </t>

                        <t> The purpose of including these is to avoid
                            misinterpretation of the results.  That is,
                            if a parser finds a version after an
                            authserv-id that it does not explicitly
                            know, it can immediately discontinue trying to
                            parse since what follows might not be in an
                            expected format.  For a method version, the
                            parser SHOULD ignore a method result if the
                            version is not supported in case the semantics
                            of the result have a different meaning than what
                            is expected.  For example, if a hypothetical
                            DKIM version 2 yielded a "pass" result for
                            different reasons than version 1 does, a consumer
                            of this field might not want to use the altered
                            semantics.  Allowing versions in the syntax
                            is a way to indicate this and let the consumer
                            of the header field decide. </t>
                </section>

                <section anchor="m_and_r"
                         title="Defined Methods and Result Values">
                        <t> Each individual authentication method returns
                            one of a set of specific result values.  The
                            subsections below provide references to the
                            documents defining the authentication methods
                            specifically supported by this document, and
                            their corresponding result values. Verifiers
                            SHOULD use these values as described below.  New
                            methods not specified in this document, but
			    intended to be supported by the header field
			    defined here, MUST include a similar result table
			    either in their defining documents or in
			    supplementary ones.  </t>

                        <section anchor="dkim_dk_results"
                                 title="DKIM and DomainKeys">
                                <t> DKIM is represented by the "dkim"
                                    method and is defined in
                                    <xref target="DKIM"/>.  DomainKeys is
                                    defined in <xref target="DOMAINKEYS"/>
                                    and is represented by the "domainkeys"
                                    method. </t>

				<t> Section 3.8 of <xref target="DOMAINKEYS"/>
				    enumerates some possible results of a
				    DomainKeys evaluation.  Those results are
				    not used when generating this header field;
				    rather, the results returned are listed
				    below. </t>

                                <t> A signature is "acceptable to the
                                    ADMD" if it passes local policy
                                    checks (or there are no specific local
                                    policy checks).  For example, an ADMD
				    policy might require that the signature(s)
				    on the message be added using the DNS
				    domain present in the From header field of
				    the message, thus making third-party
				    signatures unacceptable even if they
				    verify. </t>

				<t> Both DKIM and DomainKeys use the same
				    result set, as follows:

                                    <list style="hanging">
                                        <t hangText="none:"> The message was
                                            not signed. </t>

                                        <t hangText="pass:"> The message was
                                            signed, the signature or signatures
                                            were acceptable to the ADMD,
                                            and the signature(s) passed
                                            verification tests. </t>

                                        <t hangText="fail:"> The message
                                            was signed and the signature or
                                            signatures were acceptable to the
                                            ADMD, but they failed the
                                            verification test(s). </t>

                                        <t hangText="policy:"> The message
                                            was signed, but some aspect of the
                                            signature or signatures was not
                                            acceptable to the ADMD. </t>

                                        <t hangText="neutral:"> The message
                                            was signed, but the signature or
                                            signatures contained syntax errors
                                            or were not otherwise able to be
                                            processed.  This result is
                                            also used for other failures
                                            not covered elsewhere in this
                                            list. </t>

                                        <t hangText="temperror:"> The message
                                            could not be verified due to some
                                            error that is likely transient
                                            in nature, such as a temporary
                                            inability to retrieve a public
                                            key.  A later attempt may produce
                                            a final result. </t>

                                        <t hangText="permerror:"> The message
                                            could not be verified due to some
                                            error that is unrecoverable, such
                                            as a required header field being
                                            absent.  A later attempt is
                                            unlikely to produce a final
                                            result. </t>
                                </list> </t>

				<t> DKIM results are reported using a ptype
				    of "header".  The property, however,
				    represents one of the tags found in the
				    DKIM-Signature header field rather than
				    a distinct header field.  For example,
				    the ptype-property combination "header.d" 
				    refers to the content of the "d"
				    (signing domain) tag from within the
				    signature header field, and not a distinct
				    header field called "d". </t>

<t>
   The ability to report different DKIM results for a message with
   multiple signatures is described in <xref target="RFC6008"/>. </t>

                                <t> <xref target="DKIM"/> advises that if a
                                    message fails verification, it is to be
                                    treated as an unsigned message.  A report
                                    of "fail" here permits the receiver of the
                                    report to decide how to handle the failure.
                                    A report of "neutral" or "none" preempts
                                    that choice, ensuring the message will
                                    be treated as if it had not been
                                    signed. </t>

				<t> Section 3.1 of <xref target="DOMAINKEYS"/>
				    describes a process by which the sending
				    address of the message is determined.
				    DomainKeys results are thus reported along
				    with the signing domain name, the
				    sending address of the message, and the
				    name of the header field from which the
				    latter was extracted.  This means that
				    a DomainKeys result includes a
				    ptype-property combination of "header.d",
				    plus one of "header.from" and
				    "header.sender".  The sending address
				    extracted from the header is included
				    with any <xref target="MAIL"/>-style
				    comments removed; moreover, the local-part
				    of the address and the "@" character 
				    are removed if it has not been authenticated
				    in some way. </t>
                        </section>

                        <section anchor="spf_sid_results"
                                 title="SPF and Sender ID">
                                <t> SPF and Sender ID use the "spf" and
                                    "sender-id" method names, respectively.
                                    The result values for SPF are defined in
                                    Section 2.6 of <xref target="SPF"/>, and
				    those definitions are included here by
				    reference: 

                                <figure><artwork>
  +-----------+--------------------------------+
  |    Code   | Meaning                        |
  +-----------+--------------------------------+
  | none      | [RFC7208], Section 2.6.1       |
  +-----------+--------------------------------+
  | pass      | [RFC7208], Section 2.6.3       |
  +-----------+--------------------------------+
  | fail      | [RFC7208], Section 2.6.4       |
  +-----------+--------------------------------+
  | softfail  | [RFC7208], Section 2.6.5       |
  +-----------+--------------------------------+
  | policy    | RFC 7601, Section 2.4          |
  +-----------+--------------------------------+
  | neutral   | [RFC7208], Section 2.6.2       |
  +-----------+--------------------------------+
  | temperror | [RFC7208], Section 2.6.6       |
  +-----------+--------------------------------+
  | permerror | [RFC7208], Section 2.6.7       |
  +-----------+--------------------------------+
                                </artwork> </figure> </t>

                                <t> These result codes are used in the context
                                    of this specification to reflect the result
                                    returned by the component conducting SPF
                                    evaluation. </t>

                                <t> For SPF, the ptype used is "smtp", and the
				    property is either "mailfrom" or "helo",
				    since those values are the ones SPF can
				    evaluate.  (If the SMTP client issued
				    the EHLO command instead of HELO, the
				    property used is "helo".) </t>

                                <t> The "sender-id" method is described in
				    <xref target="SENDERID"/>.  For this
				    method, the ptype used is "header" and the
				    property will be the name of the header
				    field from which the Purported Responsible
				    Address (see <xref target="PRA"/>) was
				    extracted -- namely, one of "Resent-Sender",
				    "Resent-From", "Sender", or "From". </t>

                                <t> The results for Sender ID
                                    are listed and described in Section 4.2 of
                                    <xref target="SENDERID"/>, but for the
				    purposes of this specification, the SPF
				    definitions enumerated above are used
				    instead.  Also, <xref target="SENDERID"/>
				    specifies result codes that use mixed
				    case, but they are typically used all
				    lowercase in this context. </t>

                                <t> For both methods, an additional result of
                                    "policy" is defined, which means the
                                    client was authorized to inject or relay
                                    mail on behalf of the sender's
                                    DNS domain according to the
                                    authentication method's algorithm,
                                    but local policy dictates that the
                                    result is unacceptable.  For example,
                                    "policy" might be used if SPF returns a
                                    "pass" result, but a local policy check
                                    matches the sending DNS domain to one found
                                    in an explicit list of unacceptable
                                    DNS domains (e.g., spammers). </t>

                                <t> If the retrieved sender policies used to
                                    evaluate SPF and Sender ID do not contain
                                    explicit provisions for authenticating the
                                    local-part (see Section 3.4.1 of
                                    <xref target="MAIL"/>) of an address,
                                    the "pvalue" reported along with results
                                    for these mechanisms SHOULD NOT
                                    include the local-part or the following
				    "@" character. </t>
                        </section>

                        <section anchor="iprev_results"
                                 title="&quot;iprev&quot;">
                                <t> The result values used by the
                                    "iprev" method, defined in
                                    <xref target="iprev"/>, are as follows:

                                <list style="hanging">
                                        <t hangText="pass:"> The DNS
                                            evaluation succeeded, i.e., the
                                            "reverse" and "forward" lookup
                                            results were returned and were
                                            in agreement. </t>

                                        <t hangText="fail:"> The 
                                            DNS evaluation failed.  In
                                            particular, the "reverse" and
                                            "forward" lookups each produced
                                            results, but they were not in
                                            agreement, or the "forward" query
                                            completed but produced no result,
                                            e.g., a DNS RCODE of 3, commonly
                                            known as NXDOMAIN, or an RCODE of
                                            0 (NOERROR) in a reply containing
                                            no answers, was returned. </t>

                                        <t hangText="temperror:"> The 
                                            DNS evaluation could not be
                                            completed due to some error that
                                            is likely transient in nature,
                                            such as a temporary DNS error,
					    e.g., a DNS RCODE of 2, commonly
					    known as SERVFAIL, or other error
					    condition resulted.  A later
					    attempt may produce a final
					    result. </t>

                                        <t hangText="permerror:"> The
                                            DNS evaluation could not be
                                            completed because no PTR data are
                                            published for the connecting IP
                                            address, e.g., a DNS RCODE
                                            of 3, commonly known as NXDOMAIN,
                                            or an RCODE of 0 (NOERROR) 
                                            in a reply containing no answers,
                                            was returned.  This prevented
                                            completion of the evaluation.  A
                                            later attempt is unlikely to
                                            produce a final result. </t>
                                </list> </t>

                                <t> There is no "none" for this method since
                                    any TCP connection delivering email
                                    has an IP address associated with it,
                                    so some kind of evaluation will always
                                    be possible. </t>

				<t> The result is reported using a ptype of
				    "policy" (as this is not part of any
				    established protocol) and a property of
				    "iprev". </t>

                                <t> For discussion of the format of DNS
                                    replies, see "Domain Names - Implementation
                                    and Specification"
                                    (<xref target="DNS"/>). </t>
                        </section>

                        <section anchor="auth_results" title="SMTP AUTH">
                                <t> SMTP AUTH (defined in
                                    <xref target="AUTH"/>) is represented by
                                    the "auth" method.  Its result values
                                    are as follows:

				<list style="hanging">
				    <t hangText="none:"> SMTP authentication
					was not attempted. </t>

				    <t hangText="pass:"> The SMTP client
					authenticated to the server
					reporting the result using
					the protocol described in
					<xref target="AUTH"/>. </t>

				    <t hangText="fail:"> The SMTP client
					attempted to authenticate to the
					server using the protocol described in
					<xref target="AUTH"/> but was
					not successful (such as providing
					a valid identity but an incorrect
					password). </t>

				    <t hangText="temperror:"> The SMTP
					client attempted to authenticate
					using the protocol described in
					<xref target="AUTH"/> but was
					not able to complete the attempt
					due to some error that is likely
					transient in nature, such as a
					temporary directory service lookup
					error.  A later attempt may
					produce a final result. </t>

				    <t hangText="permerror:"> The SMTP
					client attempted to authenticate
					using the protocol described in
					<xref target="AUTH"/> but was
					not able to complete the attempt
					due to some error that is likely
					not transient in nature, such as a
					permanent directory service lookup
					error.  A later attempt is not
					likely to produce a final
					result. </t>
				</list> </t>

				<t> The result of AUTH is reported using a
				    ptype of "smtp" and a property of either:

				    <list style="symbols">
					<t> "auth", in which case the value
					    is the authorization identity
					    generated by the exchange initiated
					    by the AUTH command; or </t>

					<t> "mailfrom", in which case the
					    value is the mailbox identified
					    by the AUTH parameter used with
					    the MAIL FROM command. </t>
                                    </list> </t>

				<t> If both identities are available, both
				    can be reported.  For example, consider
				    this command issued by a client that has
				    completed session authentication with
				    the AUTH command resulting in an
				    authorized identity of "client@c.example":

				    <figure><artwork>
  MAIL FROM:&lt;alice@a.example&gt; AUTH=&lt;bob@b.example&gt;
                                    </artwork></figure> </t>

				<t> This could result in a "resinfo" construction
				    like so:

				    <figure><artwork>
  ; auth=pass smtp.auth=client@c.example smtp.mailfrom=bob@b.example
                                    </artwork></figure> </t>

				<t> Note that in all cases other than "pass",
				    the message was sent by an unauthenticated
				    client.  All non-"pass" cases SHOULD
				    thus be treated as equivalent with respect
				    to this method. </t>
                        </section>

                        <section anchor="other_results"
                                title="Other Registered Codes">
                                <t> Result codes were also registered in other
                                    RFCs as follows:

				    <list style="symbols">
					<t> Vouch By Reference (in
                                            <xref target="AR-VBR"/>,
					    represented by "vbr"); </t>

					<t> Authorized Third-Party Signatures
				            (in <xref target="ATPS"/>,
					    represented by "dkim-atps"); </t>

					<t> Author Domain Signing Practices
					    (in <xref target="ADSP"/>,
					    represented by "dkim-adsp"); </t>

					<t> Require-Recipient-Valid-Since
					    (in <xref target="RRVS"/>,
					    represented by "rrvs"); </t>

					<t> S/MIME
					    (in <xref target="SMIME-REG"/>,
					    represented by "smime"). </t>
				    </list> </t>
                        </section>

                        <section anchor="x_methods" title="Extension Methods">
                                <t> Additional authentication method
                                    identifiers (extension methods) may be
                                    defined in the future by later revisions
                                    or extensions to this specification.
                                    These method identifiers are registered
                                    with the Internet Assigned Numbers
                                    Authority (IANA) and, preferably,
                                    published in an RFC.  See
                                    <xref target="iana"/> for further
                                    details. </t>

                                <t> Extension methods can be defined for the
                                    following reasons:

                                <list style="numbers">
                                        <t> To allow additional information
                                            from new authentication systems to
                                            be communicated to MUAs or
                                            downstream filters.  The
                                            names of such identifiers ought to
                                            reflect the name of the method
                                            being defined but ought not be
                                            needlessly long. </t>

                                        <t> To allow the creation of
                                            "sub-identifiers" that indicate
                                            different levels of authentication
                                            and differentiate between
                                            their relative strengths, e.g.,
                                            "auth1-weak" and
                                            "auth1-strong". </t>
                                </list> </t>

                                <t> Authentication method implementers are
                                    encouraged to provide adequate information,
                                    via message header field comments if
                                    necessary, to allow an MUA developer to
                                    understand or relay ancillary details of
                                    authentication results.  For example, if
                                    it might be of interest to relay what
                                    data was used to perform an evaluation,
                                    such information could be relayed as a
                                    comment in the header field, such as: </t>

                                <figure><artwork>
     Authentication-Results: example.com;
               foo=pass bar.baz=blob (2 of 3 tests OK)
                                </artwork></figure>

                                <t> Experimental method identifiers MUST only
                                    be used within ADMDs that have explicitly
                                    consented to use them.  These method
                                    identifiers and the parameters associated
                                    with them are not documented in RFCs.
                                    Therefore, they are subject to change at
                                    any time and not suitable for production
                                    use.  Any MTA, MUA, or downstream filter
                                    intended for production use SHOULD ignore
                                    or delete any Authentication-Results
                                    header field that includes an experimental
                                    (unknown) method identifier. </t>
                        </section>

                        <section anchor="x_results"
                                title="Extension Result Codes">
                                <t> Additional result codes (extension results)
                                    might be defined in the future by later
                                    revisions or extensions to this
                                    specification.  Result codes MUST be
                                    registered with the Internet Assigned
                                    Numbers Authority (IANA) and preferably
                                    published in an RFC.  See
                                    <xref target="iana"/> for further
                                    details. </t>

                                <t> Experimental results MUST only be used
				    within ADMDs that have explicitly consented
				    to use them.  These results and the
                                    parameters associated with them are
                                    not formally documented.  Therefore, they
                                    are subject to change at any time and not
                                    suitable for production use.  Any MTA, MUA,
                                    or downstream filter intended for
                                    production use SHOULD ignore or delete any
                                    Authentication-Results header field that
                                    includes an extension result. </t>
                        </section>
                </section>
        </section>

        <section anchor="iprev"
                title="The &quot;iprev&quot; Authentication Method">
                <t> This section defines an additional authentication method
                    called "iprev". </t>

                <t> "iprev" is an attempt to verify that a client
                    appears to be valid based on some DNS queries, which is to
                    say that the IP address is explicitly associated with
                    a domain name.
                    Upon receiving a session initiation of some kind from
                    a client, the IP address of the client peer is queried
                    for matching names (i.e., a number-to-name translation,
                    also known as a "reverse lookup" or a "PTR" record
                    query).  Once that result is acquired, a lookup of each
                    of the names (i.e., a name-to-number translation, or an "A"
                    or "AAAA" record query) thus retrieved is done.  The
                    response to this second check will typically result in at
                    least one mapping back to the client's IP address. </t>

                <t> Expressed as an algorithm: If the client peer's IP
                    address is I, the list of names to which I maps (after a
                    "PTR" query) is the set N, and the union of IP addresses
                    to which each member of N maps (after corresponding "A"
                    and "AAAA" queries) is L, then this test is successful if
                    I is an element of L. </t>

		<t> Often an MTA receiving a connection that fails this test
		    will simply reject the connection using the enhanced
		    status code defined in <xref target="AUTH-ESC"/>.
		    If an operator instead wishes to make this information
		    available to downstream agents as a factor in handling
		    decisions, it records a result in accordance with
		    <xref target="iprev_results"/>. </t>

                <t> The response to a PTR query could contain multiple names.
                    To prevent heavy DNS loads, agents performing these queries
                    MUST be implemented such that the number of names evaluated
                    by generation of corresponding A or AAAA queries is limited
                    so as not to be unduly taxing to the DNS infrastructure,
                    though it MAY be configurable by an administrator.
                    As an example, Section 4.6.4 of <xref target="SPF"/> chose
		    a limit of 10 for its implementation of this
		    algorithm. </t>

                <t> "DNS Extensions to Support IP Version 6"
                    (<xref target="DNS-IP6"/>) discusses the query formats for
                    the IPv6 case. </t>

                <t> There is some contention regarding the wisdom and
                    reliability of this test.  For example, in some regions,
                    it can be difficult for this test ever to pass because
                    the practice of arranging to match the forward and
                    reverse DNS is infrequently observed.  Therefore,
                    the precise implementation details of how a verifier
                    performs an "iprev" test are not specified here.  The
                    verifier MAY report a successful or failed "iprev" test
                    at its discretion having done some kind of check of
                    the validity of the connection's identity using DNS.  It is
                    incumbent upon an agent making use of the reported "iprev"
                    result to understand what exactly that particular verifier
                    is attempting to report. </t>

                <t> Extensive discussion of reverse DNS mapping and its
                    implications can be found in "Considerations for the use
                    of DNS Reverse Mapping" (<xref target="DNSOP-REVERSE"/>).
                    In particular, it recommends that applications avoid using
                    this test as a means of authentication or security.  Its
                    presence in this document is not an endorsement but is
                    merely acknowledgment that the method remains common and
                    provides the means to relay the results of that test.  </t>
        </section>

        <section anchor="adding" title="Adding the Header Field to a Message">
                <t> This specification makes no attempt to evaluate the
                    relative strengths of various message authentication
                    methods that may become available.  The methods listed are
                    an order-independent set; their sequence does not indicate
                    relative strength or importance of one method over another.
                    Instead, the MUA or downstream filter consuming this header
                    field is to interpret the result of each method based on
		    its own knowledge of what that method evaluates. </t>

                <t> Each "method" MUST refer to an authentication method
                    declared in the IANA registry or an extension method
                    as described in <xref target="x_methods"/>, and each
                    "result" MUST refer to a result code declared in the
                    IANA registry or an extension result code as defined
                    in <xref target="x_results"/>.  See
                    <xref target="iana"/> for further information about
                    the registered methods and result codes. </t>

                <t> An MTA compliant with this specification adds this
                    header field (after performing one or more message
                    authentication tests) to indicate which MTA or ADMD
                    performed the test, which test got applied, and what the
                    result was.  If an MTA applies more than one such test,
                    it adds this header field either once per test or
                    once indicating all of the results.  An MTA MUST NOT add
                    a result to an existing header field. </t>

                <t> An MTA MAY add this header field containing only the
                    authentication identifier portion and the "none" token
                    (see <xref target="format_formal"/>) to indicate explicitly
                    that no message authentication schemes were applied prior
                    to delivery of this message. </t>

                <t> An MTA adding this header field has to take steps to
		    identify it as legitimate to the MUAs or downstream
		    filters that will ultimately consume its content.  One
		    process to do so is described in <xref target="removing"/>.
                    Further measures may be necessary in some environments.
                    Some possible solutions are enumerated in
                    <xref target="forged_headers"/>.  This document does not
                    mandate any specific solution to this issue as each
                    environment has its own facilities and limitations. </t>

                <t> Most known message authentication methods focus on a
                    particular identifier to evaluate.  SPF and Sender ID
                    differ in that they can yield a result based on more
                    than one identifier; specifically, SPF can evaluate
                    the RFC5321.HELO parameter or the RFC5321.MailFrom
                    parameter, and Sender ID can evaluate the
                    RFC5321.MailFrom parameter or the Purported Responsible
                    Address (PRA) identity.  When
                    generating this field to report those results, only the
                    parameter that yielded the result is included. </t>

                <t> For MTAs that add this header field, adding header
                    fields in order (at the top), per Section 3.6 of
                    <xref target="MAIL"/>, is particularly important.
                    Moreover, this header field SHOULD be inserted above any
                    other trace header fields such MTAs might prepend.  This
                    placement allows easy detection of header fields that can
		    be trusted. </t>

                <t> End users making direct use of this header field might
                    inadvertently trust information that has not been properly
                    vetted.  If, for example, a basic SPF
                    result were to be relayed that claims an authenticated
                    addr-spec, the local-part of that addr-spec has actually
                    not been authenticated.  Thus, an MTA adding this
                    header field SHOULD NOT include any data that has not
                    been authenticated by the method(s) being applied. 
                    Moreover, MUAs SHOULD NOT render to users such information
                    if it is presented by a method known not to authenticate
                    it. </t>

                <section anchor="position"
                         title="Header Field Position and Interpretation">
                        <t> In order to ensure non-ambiguous results and avoid
                            the impact of false header fields, MUAs and
                            downstream filters SHOULD NOT interpret this header
                            field unless specifically configured to do so by
                            the user or administrator.  That is, this
                            interpretation should not be "on by default".


   Naturally then, users or administrators ought not activate
   such a feature unless (1) they are certain the header field will be
   validly added by an agent within the ADMD that accepts the mail that
   is ultimately read by the MUA, and (2) instances of the header field
   that appear to originate within the ADMD but are actually added by
   foreign MTAs will be removed before delivery.
   </t>
                        <t> Furthermore, MUAs and downstream filters SHOULD
                            NOT interpret this header field unless the
                            authentication service identifier it bears appears
                            to be one used within its own ADMD as configured
                            by the user or administrator. </t>

                        <t> MUAs and downstream filters MUST ignore any
                            result reported using a "result" not specified in
                            the IANA "Result Code" registry or a "ptype"
                            not listed
                            in the "Email Authentication Property Types"
			    registry for such values as 
                            defined in <xref target="iana"/>.  Moreover, such
                            agents MUST ignore a result indicated for any
                            "method" they do not specifically support. </t>

                        <t> An MUA SHOULD NOT reveal these results to 
                            end users, absent careful human factors design
                            considerations and testing, for the presentation
                            of trust-related materials.
                            For example, an attacker could register
                            examp1e.com (note the digit "1" (one)) and send
                            signed mail to intended victims; a verifier
                            would detect that the signature was valid and
                            report a "pass" even though it's clear the
                            DNS domain name was intended to mislead.  See
                            <xref target="misleading"/> for further
                            discussion. </t>

                        <t> As stated in <xref target="format_general"/>,
                            this header field MUST be treated as though
                            it were a trace header field as defined in Section
                            3.6.7 of <xref target="MAIL"/> and
                            hence MUST NOT be reordered and MUST be
                            prepended to the message, so that there is
                            generally some indication upon delivery of where
                            in the chain of handling MTAs the message
                            authentication was done. </t>

                        <t> Note that there are a few message handlers that are
                            only capable of appending new header fields to a
                            message.  Strictly speaking, these handlers are not
                            compliant with this specification.  They can
                            still add the header field to carry authentication
                            details, but any signal about where in the handling
                            chain the work was done may be lost.  Consumers
                            SHOULD be designed such that this can be tolerated,
                            especially from a producer known to have this
                            limitation. </t>

                        <t> MUAs SHOULD ignore instances of this header field
                            discovered within message/rfc822 MIME
                            attachments. </t>

                        <t> Further discussion of these topics can be found in
                            <xref target="security"/> below. </t>
                </section>

                <section anchor="policy" title="Local Policy Enforcement">
                        <t> Some sites have a local policy that considers any
                            particular authentication policy's non-recoverable
                            failure results (typically "fail" or similar) as
                            justification for rejecting the message.  In such
                            cases, the border MTA SHOULD issue an SMTP
			    rejection response to the message, rather than
			    adding this header field and allowing the message
			    to proceed toward delivery.  This is more
			    desirable than allowing the message to reach an
			    internal host's MTA or spam filter, thus possibly
			    generating a local rejection such as a Delivery
			    Status Notification (DSN) <xref target="DSN"/> to
			    a forged originator.  Such generated rejections
			    are colloquially known as "backscatter". </t>

                        <t> The same MAY also be done for local policy
                            decisions overriding the results of the
                            authentication methods (e.g., the "policy" result
                            codes described in <xref target="m_and_r"/>). </t>

                        <t> Such rejections at the SMTP protocol level are not
                            possible if local policy is enforced at the MUA
                            and not the MTA. </t>
                </section>
        </section>

        <section anchor="removing" title="Removing Existing Header Fields">
                <t> For security reasons, any MTA conforming to this
                    specification MUST delete any discovered instance of
                    this header field that claims, by virtue of its
                    authentication service identifier, to have been added
                    within its trust boundary but that did not come directly
                    from another trusted MTA.  For example, an MTA for
                    example.com receiving a message MUST delete or otherwise
                    obscure any instance of this header field bearing an
                    authentication service identifier indicating that the
		    header field was added within example.com prior to adding
		    its own header fields.  This could mean each MTA will have
		    to be equipped with a list of internal MTAs known to be
                    compliant (and hence trustworthy). </t>

                <t> For simplicity and maximum security, a border MTA could
                    remove all instances of this header field on mail crossing
                    into its trust boundary.  However, this may conflict with
                    the desire to access authentication results performed by
                    trusted external service providers.  It may also invalidate
                    signed messages whose signatures cover external instances
                    of this header field.  A more robust border MTA could
                    allow a specific list of authenticating MTAs whose
                    information is to be admitted, removing the header field
                    originating from all others. </t>

                <t> As stated in <xref target="trust"/>, a formal definition
                    of "trust boundary" is deliberately not made here.  It is
                    entirely possible that a border MTA for example.com will
                    explicitly trust authentication results asserted by
                    upstream host example.net even though they exist in
                    completely disjoint administrative boundaries.  In that
                    case, the border MTA MAY elect not to delete those results;
                    moreover, the upstream host doing some authentication work
                    could apply a signing technology such as
                    <xref target="DKIM"/> on its own results to assure
                    downstream hosts of their authenticity.  An example of
                    this is provided in <xref target="examples"/>. </t>

                <t> Similarly, in the case of messages signed using
                    <xref target="DKIM"/> or other message-signing methods
                    that sign header fields, this removal action could
                    invalidate one or more signatures on the message if they
                    covered the header field to be removed.  This behavior can
                    be desirable since there's little value in validating the
                    signature on a message with forged header fields.
                    However, signing agents MAY therefore elect to omit these
                    header fields from signing to avoid this situation. </t>

                <t> An MTA SHOULD remove any instance of this header field
                    bearing a version (express or implied) that it does not
                    support.  However, an MTA MUST remove such a header
                    field if the <xref target="SMTP"/> connection relaying the
                    message is not from a trusted internal MTA.  This means
                    the MTA needs to be able to understand versions of this
                    header field at least as late as the ones understood by the
                    MUAs or other consumers within its ADMD. </t>
        </section>

        <section anchor="iana" title="IANA Considerations">
                <t> IANA has registered the defined header field and created
		    tables as described below.  These registry actions
		    were originally defined by <xref target="RFC5451"/> and
		    updated by <xref target="RFC6577"/> and
		    <xref target="RFC7001"/>.  The created registries are
		    being further updated here to increase their
		    completeness. </t>

                <section anchor="new_header"
		         title="The Authentication-Results Header Field">

                        <t> <xref target="RFC5451"/> added the
                            Authentication-Results header field to the
                            IANA "Permanent Message Header Field Names"
                            registry, per the procedure found in
                            <xref target="IANA-HEADERS"/>.  That entry has 
                            been updated to reference this document.
                            The following is the registration template:
                                <figure><artwork>
  Header field name: Authentication-Results
  Applicable protocol: mail ([MAIL])
  Status: Standard
  Author/Change controller: IETF
  Specification document(s): RFC 7601
  Related information: none
                                </artwork></figure>
                        </t>
                </section>

                <section anchor="name_registry_1"
                     title="&quot;Email Authentication Methods&quot; Registry Description">
                        <t> Names of message authentication methods supported
                            by this specification have been registered with
                            IANA, with the exception of experimental names as
                            described in <xref target="x_methods"/>.  Along
			    with each method is recorded the properties
			    that accompany the method's result.  </t>

			<t> The "Email Authentication Parameters" 
			    group, and within it the "Email Authentication
			    Methods" registry, were created by
			    <xref target="RFC5451"/> for this purpose.
			    <xref target="RFC6577"/> added
			    a "status" field for each entry.
			    <xref target="RFC7001"/> amended
                            the rules governing that registry and also added
			    a "version" field to the registry. </t>

			<t> The reference for that registry has been updated
			    to reference this document. </t>

                        <t> New entries are assigned only for values
                            that have received Expert Review, per
                            <xref target="IANA-CONSIDERATIONS"/>.  The
                            designated expert shall be appointed by the
                            IESG.  The designated expert has discretion to
                            request that a publication be referenced if a
                            clear, concise definition of the authentication
                            method cannot be provided such that
                            interoperability is assured.  Registrations should
                            otherwise be permitted.  The designated expert
                            can also handle requests to mark any current
                            registration as "deprecated". </t>

			<t> No two entries can have the same combination of
			    method, ptype, and property. </t>

                        <t> An entry in this registry contains the following:

			    <list style="hanging">
				<t hangText="Method:"> the name of the
					method. </t>

				<t hangText="Definition:"> a reference to
					the document that created this
					entry, if any (see below). </t>

				<t hangText="ptype:"> a "ptype" value
					appropriate for use with that
					method. </t>

				<t hangText="property:"> a "property" value
					matching that "ptype" also appropriate
					for use with that method. </t>

				<t hangText="Value:"> a brief description of
					the value to be supplied with that
					method/ptype/property tuple. </t>

				<t hangText="Status:"> the status of this
					entry, which is either:

				    <list style="hanging">
					<t hangText="active:"> The entry is
						in current use. </t>

					<t hangText="deprecated:"> The entry is
						no longer in current use. </t>
				    </list> </t>

				<t hangText="Version:"> a version number
					associated with the method (preferably
					starting at "1"). </t>
			    </list> </t>

			<t> The "Definition" field will typically refer to
			    a permanent document, or at least some descriptive
			    text, where additional information about the
			    entry being added can be found.  This might in turn
			    reference the document where the method is
			    defined so that all of the semantics around
			    creating or interpreting an Authentication-Results
			    header field using this method, ptype, and property
			    can be understood. </t>
		</section>
				    
                <section anchor="name_registry_2"
                     title="&quot;Email Authentication Methods&quot; Registry Update">
                        <t> The following changes have been made to this
			    registry per this document:

			    <list style="numbers">
				<t> The "Defined" field has been renamed 
				    "Definition", to be consistent with the other
				    registries in this group. </t>

				<t> The entry for the "dkim" method,
				    "header" ptype, and "b" property 
				    now reference <xref target="RFC6008"/>
				    as the defining document, and the reference
				    has be removed from the description. </t>

				<t> All other "dkim", "domainkeys", "iprev",
				    "sender-id", and "spf" method entries
				    have had their "Definition" fields changed
				    to refer to this document, as this document contains
				    a complete description of the registry and
				    these corresponding values. </t>

				<t> All "smime" entries have had their "Definition"
				    fields changed to
				    <xref target="SMIME-REG"/>. </t>

				<t> The "value" field of the "smime" entry
				    using property "smime-part" has been
				    changed to read: "The MIME body part
				    reference that contains the S/MIME
				    signature.  See Section 3.2.1 of RFC 7281
				    for full syntax." </t>

<t>
The single entry for the "auth" method was intended to reflect the
identity indicated by the "AUTH" parameter to the SMTP "MAIL FROM" command
verb.  However, there is also an "AUTH" command verb.  To clarify this
ambiguity, the entry for the "auth" method has had its "property"
field changed to "mailfrom", and its "Definition" field changed to this
document.
			    </t>

				<t> The following entry has been added:
				    <list style="hanging">
					<t hangText="Method:"> auth </t>

					<t hangText="Definition:">
						this document (RFC 7601)</t>

					<t hangText="ptype:"> smtp </t>

					<t hangText="property:"> auth </t>

					<t hangText="Value:"> identity
						confirmed by the AUTH
						command </t>

					<t hangText="Status:"> active </t>

					<t hangText="Version:"> 1 </t>
				    </list> </t>

				<t> The values of the "domainkeys" entries for
				    ptype "header" have been updated as follows:
				    <list style="hanging">
					<t hangText="from:"> contents of the
						<xref target="MAIL"/> From:
						header field, after removing
						comments, and removing the
						local-part and following "@"
						if not authenticated </t>

					<t hangText="sender:"> contents of the
						<xref target="MAIL"/> Sender:
						header field, after removing
						comments, and removing the
						local-part and following
						"@" if not authenticated </t>
				    </list> </t>

				<t> For all entries for "dkim-adsp" and
				    "domainkeys", their Status values have been
				    changed to "deprecated", reflecting the
				    fact that the corresponding specifications
				    now have Historic status.  Their
				    "Definition" fields have also been modified
				    to include a reference to this
				    document. </t>
			    </list> </t>
                </section>

                <section anchor="ptype_registry"
                     title="&quot;Email Authentication Property Types&quot; Registry">
			<t> <xref target="RFC7410"/> created the
			    "Email Authentication Property Types" registry. </t>

			<t> Entries in this registry are subject to the Expert
			    Review rules as described in
			    <xref target="IANA-CONSIDERATIONS"/>.  Each entry
			    in the registry requires the following values:

			    <list style="hanging">
				<t hangText="ptype:"> The name of the ptype
					being registered, which must fit within
					the ABNF described in 
					<xref target="format_formal"/>. </t>

				<t hangText="Definition:"> An optional
					reference to a defining
					specification. </t>

				<t hangText="Description:"> A brief description
					of what sort of information this
					"ptype" is meant to cover. </t>
			    </list> </t>

			<t> For new entries, the Designated Expert needs to
			    assure that the description provided for the new
			    entry adequately describes the intended use.  An
			    example would be helpful to include in the entry's
			    defining document, if any, although entries in
			    the "Email Authentication Methods" registry or
			    the "Email Authentication Result Names" registry
			    might also serve as examples of intended use. </t>

			<t> As this is a complete restatement of the definition
			    and rules for this registry, IANA has updated this
			    registry to show <xref target="ptypes"/> of this
			    document as the current definitions for the "body",
			    "header", "policy", and "smtp" entries of that
			    registry.  References to <xref target="RFC7001"/>
			    and <xref target="RFC7410"/> have been removed. </t>
		</section>

                <section anchor="result_registry"
                        title="&quot;Email Authentication Result Names&quot; Description">
                        <t> Names of message authentication result codes
                            supported by this specification must be registered
                            with IANA, with the exception of experimental
                            codes as described in <xref target="x_results"/>.
                            A registry was created by <xref target="RFC5451"/>
                            for this purpose.  <xref target="RFC6577"/>
			    added the "status" column and
			    <xref target="RFC7001"/> updated
                            the rules governing that registry. </t>

                        <t> New entries are assigned only for values
                            that have received Expert Review, per
                            <xref target="IANA-CONSIDERATIONS"/>.  The
                            designated expert shall be appointed by the
                            IESG.  The designated expert has discretion to
                            request that a publication be referenced if a
                            clear, concise definition of the authentication
                            result cannot be provided such that
                            interoperability is assured.  Registrations should
                            otherwise be permitted.  The designated expert
                            can also handle requests to mark any current
                            registration as "deprecated". </t>

			<t> No two entries can have the same combination of
			    method and code. </t>

                        <t> An entry in this registry contains the following:

			    <list style="hanging">
				<t hangText="Auth Method:"> an authentication
					method for which results are being
					returned using the header field
					defined in this document. </t>

				<t hangText="Code:"> a result code that can be
					returned for this authentication
					method. </t>

				<t hangText="Specification:"> either free form
					text explaining the meaning of this
					method-code combination, or a reference
					to such a definition. </t>

				<t hangText="Status:"> the status of this
					entry, which is either:

				    <list style="hanging">
					<t hangText="active:"> The entry is
						in current use. </t>

					<t hangText="deprecated:"> The entry is
						no longer in current use. </t>
				    </list> </t>
			    </list> </t>
                </section>

                <section anchor="result_registry_2"
                        title="&quot;Email Authentication Result Names&quot; Update">
			<t> This document includes a complete description of
			    the registry, obsoleting <xref target="RFC7001"/>.
			    Accordingly, the following changes have been made
			    to this registry per this document:

			    <list style="symbols">
				<t> The "Defined" field has been removed. </t>

				<t> The "Meaning" field has been renamed
				     "Specification", as described
				    above. </t>

				<t> The "Auth Method" field now appears
				    before the "Code" field. </t>

				<t> For easier searching, the table has been
				    arranged such that it is sorted first by
				    Auth Method, then by Code within each
				    Auth Method grouping. </t>

				<t> All entries for the "dkim", "domainkeys",
				    "spf", "sender-id", "auth", and "iprev"
				    methods have had their "Specification"
				    fields replaced as follows:

				    <list style="hanging">
					<t hangText="dkim:">
						<xref
						    target="dkim_dk_results"/>
					of this document (RFC 7601)</t>

					<t hangText="domainkeys:">
						
						<xref
						    target="dkim_dk_results"/>
					of this document (RFC 7601)</t>

					<t hangText="spf:">
						for "hardfail",
						Section 2.4.2 of <xref target="RFC5451"/>; for all others,

						<xref
						    target="spf_sid_results"/>
					of this document (RFC 7601)</t>

					<t hangText="sender-id:">
						for "hardfail", Section 2.4.2
						of 
						<xref target="RFC5451"/>; for all others,
						
						<xref
						    target="spf_sid_results"/>
					of this document (RFC 7601)</t>

					<t hangText="auth:">

						<xref target="auth_results"/>
						of this document (RFC 7601) </t>

					<t hangText="iprev:">
						<xref target="iprev_results"/>
						of this document (RFC 7601)</t>
				    </list> </t>

				<t> All entries for "dkim-adsp" that were
				    missing an explicit reference to a
				    defining document now reference
				    <xref target="ADSP"/> in their
				    "Specification" fields. </t>

				<t> All entries for "dmarc" have had their
				    "Specification" fields changed to
				    reference Section 11.2 of
				    <xref target="DMARC"/>. </t>

				<t> All entries for "dkim-adsp" and
				    "domainkeys" have had their Status values
				    changed to "deprecated", reflecting the
				    fact that the corresponding specifications
				    now have Historic status.  Their
				    "Specification" fields have also been
				    modified to include a reference to this
				    document. </t>
			    </list> </t>
                </section>

                <section anchor="iana_esc"
		         title="SMTP Enhanced Status Codes">
			<t> The entry for X.7.25 in the "Enumerated Status
			    Codes" sub-registry of the "Simple Mail Transfer
			    Protocol (SMTP) Enhanced Status
			    Codes Registry" has been updated to refer to
			    this document instead of
			    <xref target="RFC7001"/>. </t>
		</section>
        </section>

        <section anchor="security" title="Security Considerations">
                <t> The following security considerations apply when
                    adding or processing the Authentication-Results
                    header field: </t>

                <section anchor="forged_headers" title="Forged Header Fields">
                        <t> An MUA or filter that accesses a mailbox whose
                            messages are handled by a non-conformant MTA, and
                            understands Authentication-Results header fields,
                            could potentially make false conclusions based on
                            forged header fields.  A malicious user or agent
                            could forge a header field using the DNS domain
                            of a receiving ADMD as the authserv-id token
                            in the value of the header field and, with the
                            rest of the value, claim that the message was
                            properly authenticated.  The non-conformant MTA
                            would fail to strip the forged header field, and
                            the MUA could inappropriately trust it. </t>

                        <t> For this reason, it is best not to have
                            processing of the Authentication-Results header
                            field enabled by default; instead, it should be
                            ignored, at least for the purposes of enacting
                            filtering decisions, unless specifically enabled
                            by the user or administrator after verifying that
                            the border MTA is compliant.  It is acceptable to
                            have an MUA aware of this specification but have
                            an explicit list of hostnames whose
                            Authentication-Results header
                            fields are trustworthy; however, this list should
                            initially be empty. </t>

                        <t> Proposed alternative solutions to this problem were
                            made some time ago and are listed below.  To date,
                            they have not been developed due to lack of demand
                            but are documented here should the information be
                            useful at some point in the future:

                            <list style="numbers">
                                <t> Possibly the simplest is a digital
                                    signature protecting the header field,
                                    such as using <xref target="DKIM"/>, that
                                    can be verified by an MUA by using a
                                    posted public key.  Although one of the
                                    main purposes of this document is to
                                    relieve the burden of doing message
                                    authentication work at the MUA, this only
                                    requires that the MUA learn a single
                                    authentication scheme even if a number
                                    of them are in use at the border MTA.
                                    Note that <xref target="DKIM"/> requires
                                    that the From header field be signed,
                                    although in this application, the signing
                                    agent (a trusted MTA) likely cannot
                                    authenticate that value, so the fact that
                                    it is signed should be ignored.  Where
                                    the authserv-id is the ADMD's domain name,
                                    the authserv-id matching this valid
				    internal signature's "d=" DKIM value is 
                                    sufficient. </t>

                                <t> Another would be a means to interrogate
                                    the MTA that added the header field to
                                    see if it is actually providing any
                                    message authentication services and saw
                                    the message in question, but this isn't
                                    especially palatable given the work
                                    required to craft and implement such a
                                    scheme. </t>

                                <t> Yet another might be a method to
                                    interrogate the internal MTAs that
                                    apparently handled the message
                                    (based on Received header fields) to
                                    determine whether any of them conform to
                                    <xref target="removing"/> of this
                                    memo.  This, too, has potentially high
                                    barriers to entry. </t>

                                <t> Extensions to <xref target="IMAP"/>,
                                    <xref target="SMTP"/>, and
                                    <xref target="POP3"/> could be defined
                                    to allow an MUA or filtering agent
                                    to acquire the authserv-id in use
                                    within an ADMD, thus allowing it to
                                    identify which Authentication-Results
                                    header fields it can trust. </t>

                                <t> On the presumption that internal MTAs
                                    are fully compliant with Section 3.6 of
                                    <xref target="MAIL"/> and the compliant
                                    internal MTAs are using their own
				    hostnames or the ADMD's DNS domain name
				    as the authserv-id token, the header field
                                    proposed here should always appear above
                                    a Received header added by a trusted
                                    MTA.  This can be used as a test for
                                    header field validity. </t>
                            </list> </t>

                        <t> Support for some of these is being considered for
                            future work. </t>

                        <t> In any case, a mechanism needs to exist for an
                            MUA or filter to verify that the host that appears
                            to have added the header field (a) actually did
                            so and (b) is legitimately adding that header
                            field for this delivery.  Given the variety
                            of messaging environments deployed today,
                            consensus appears to be that specifying a
                            particular mechanism for doing so is not
                            appropriate for this document. </t>
                
                        <t> Mitigation of the forged header field attack can
                            also be accomplished by moving the authentication
                            results data into metadata associated with
                            the message.  In particular, an
                            <xref target="SMTP"/> extension could be
                            established to communicate
                            authentication results from the border MTA to
                            intermediate and delivery MTAs; the latter of
                            these could arrange to store the authentication
                            results as metadata retrieved and rendered
                            along with the message by an <xref target="IMAP"/>
                            client aware of a similar extension in that
                            protocol.  The delivery MTA would be told to
                            trust data via this extension only from
                            MTAs it trusts, and border MTAs would not accept
                            data via this extension from any source.  There is
                            no vector in such an arrangement for forgery of
                            authentication data by an outside agent. </t>
                </section>

                <section anchor="misleading" title="Misleading Results">
                        <t> Until some form of service for querying
                            the reputation of a sending agent is widely
                            deployed, the existence of this header field
                            indicating a "pass" does not render the message
                            trustworthy.  It is possible for an arriving
                            piece of spam or other undesirable mail to pass
                            checks by several of the methods enumerated above
                            (e.g., a piece of spam signed using
                            <xref target="DKIM"/> by the originator of the
                            spam, which might be a spammer or a compromised
                            system).  In particular, this issue is not resolved
                            by forged header field removal discussed
                            above. </t>

                        <t> Hence, MUAs and downstream filters must take some
                            care with use of this header even after possibly
                            malicious headers are scrubbed.  </t>
                </section>

                <section anchor="position2" title="Header Field Position">
                        <t> Despite the requirements of
                            <xref target="MAIL"/>, header fields can
                            sometimes be reordered en route by
                            intermediate MTAs.  The goal of requiring header
                            field addition only at the top of a message is an
                            acknowledgment that some MTAs do reorder
                            header fields, but most do not.  Thus, in the
                            general case, there will be some indication of
                            which MTAs (if any) handled the message after the
                            addition of the header field defined here. </t>
                </section>

                <section anchor="iprev-dos"
                        title="Reverse IP Query Denial-of-Service Attacks">
                        <t> Section 4.6.4 of <xref target="SPF"/> describes
                            a DNS-based denial-of-service attack for verifiers
                            that attempt DNS-based identity verification
                            of arriving client connections.  A verifier
                            wishing to do this check and report this
                            information needs to take care not to go to
			    unbounded lengths to resolve "A" and "PTR" queries.
                            MUAs or other filters making use of an "iprev"
                            result specified by this document need to be aware
                            of the algorithm used by the verifier reporting
                            the result and, especially, its limitations. </t>
                </section>

                <section anchor="backscatter"
		         title="Mitigation of Backscatter">
                        <t> Failing to follow the instructions of
                            <xref target="policy"/> can result in a
                            denial-of-service attack caused by the
                            generation of <xref target="DSN"/> messages
                            (or equivalent) to addresses that did not
                            send the messages being rejected. </t>
                </section>

                <section anchor="internal" title="Internal MTA Lists">
                        <t> <xref target="removing"/> describes a procedure
                            for scrubbing header fields that may contain forged
                            authentication results about a message.  A
                            compliant installation will have to include, at
                            each MTA, a list of other MTAs known to be
                            compliant and trustworthy.  Failing to keep this
                            list current as internal infrastructure changes
                            may expose an ADMD to attack. </t>
                </section>

                <section anchor="method-attacks"
                        title="Attacks against Authentication Methods">
                        <t> If an attack becomes known against an
                            authentication method, clearly then the agent
                            verifying that method can be fooled into thinking
                            an inauthentic message is authentic, and thus
                            the value of this header field can be misleading.
                            It follows that any attack against the
                            authentication methods supported by this document
                            is also a security consideration here. </t>
                </section>

                <section anchor="bugs"
                        title="Intentionally Malformed Header Fields">
                        <t> It is possible for an attacker to add an
                            Authentication-Results header field that
                            is extraordinarily large or otherwise malformed
                            in an attempt to discover or exploit weaknesses
                            in header field parsing code.  Implementers must
                            thoroughly verify all such header fields received
                            from MTAs and be robust against intentionally as
                            well as unintentionally malformed header
                            fields. </t>
                </section>

                <section anchor="compromised"
                        title="Compromised Internal Hosts">
                        <t> An internal MUA or MTA that has been compromised
                            could generate mail with a forged From header
                            field and a forged Authentication-Results header
                            field that endorses it.  Although it is clearly a
                            larger concern to have compromised internal
                            machines than it is to prove the value of this
                            header field, this risk can be mitigated by
                            arranging that internal MTAs will remove this
                            header field if it claims to have been added by a
                            trusted border MTA (as described above), yet the 
                            <xref target="SMTP"/> connection is not coming from
                            an internal machine known to be running an
                            authorized MTA.  However, in such a configuration,
                            legitimate MTAs will have to add this header
                            field when legitimate internal-only messages
                            are generated.  This is also covered in
                            <xref target="removing"/>. </t>
                </section>

                <section anchor="encapsulated" title="Encapsulated Instances">
                        <t> MIME messages can contain
                            attachments of type "message/rfc822", which
                            contain other messages.
                            Such an encapsulated message can also contain an
                            Authentication-Results header field.  Although
                            the processing of these is outside of the intended
                            scope of this document (see
                            <xref target="scope"/>), some early guidance to
                            MUA developers is appropriate here. </t>

                        <t> Since MTAs are unlikely to strip
                            Authentication-Results header fields after
                            mailbox delivery, MUAs are advised in
                            <xref target="position"/> to ignore such instances
                            within MIME attachments.
                            Moreover, when extracting a message digest to
                            separate mail store messages or other media, such
                            header fields should be removed so that they will
                            never be interpreted improperly by MUAs that might
                            later consume them. </t>
                </section>

                <section anchor="iprev_weak" title="Reverse Mapping">
                        <t> Although <xref target="iprev"/> of this memo
                            includes explicit support for the "iprev" method,
                            its value as an authentication mechanism is
                            limited.  Implementers of both this proposal
                            and agents that use the data it relays are
                            encouraged to become familiar with the issues
                            raised by <xref target="DNSOP-REVERSE"/> when
                            deciding whether or not to include support for
                            "iprev". </t>
                </section>
        </section>
</middle>

<back>
        <references title="Normative References">

                <reference anchor="ABNF" target='http://www.rfc-editor.org/info/rfc5234'>
    <front>
    <title>Augmented BNF for Syntax Specifications: ABNF</title>
    <author initials='D.' surname='Crocker' fullname='D. Crocker' role='editor'><organization /></author>
    <author initials='P.' surname='Overell' fullname='P. Overell'><organization /></author>
    <date year='2008' month='January' />
    <abstract><t>Internet technical specifications often need to define a formal syntax.  Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications.  The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power.  The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges.  This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='STD' value='68'/>
    <seriesInfo name='RFC' value='5234'/>
    <seriesInfo name='DOI' value='10.17487/RFC5234'/>
    </reference>

                <reference anchor="IANA-HEADERS" target='http://www.rfc-editor.org/info/rfc3864'>
    <front>
    <title>Registration Procedures for Message Header Fields</title>
    <author initials='G.' surname='Klyne' fullname='G. Klyne'><organization /></author>
    <author initials='M.' surname='Nottingham' fullname='M. Nottingham'><organization /></author>
    <author initials='J.' surname='Mogul' fullname='J. Mogul'><organization /></author>
    <date year='2004' month='September' />
    <abstract><t>This specification defines registration procedures for the message header fields used by Internet mail, HTTP, Netnews and other applications.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
    </front>
    <seriesInfo name='BCP' value='90'/>
    <seriesInfo name='RFC' value='3864'/>
    <seriesInfo name='DOI' value='10.17487/RFC3864'/>
    </reference>
			
                <reference anchor="KEYWORDS" target='http://www.rfc-editor.org/info/rfc2119'>
    <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
    <date year='1997' month='March' />
    <abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
    </front>
    <seriesInfo name='BCP' value='14'/>
    <seriesInfo name='RFC' value='2119'/>
    <seriesInfo name='DOI' value='10.17487/RFC2119'/>
    </reference>
		
                <reference anchor="MAIL" target='http://www.rfc-editor.org/info/rfc5322'>
    <front>
    <title>Internet Message Format</title>
    <author initials='P.' surname='Resnick' fullname='P. Resnick' role='editor'><organization /></author>
    <date year='2008' month='October' />
    <abstract><t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of &quot;electronic mail&quot; messages.  This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, &quot;Standard for the Format of ARPA Internet Text Messages&quot;, updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='RFC' value='5322'/>
    <seriesInfo name='DOI' value='10.17487/RFC5322'/>
    </reference>

                <reference anchor="MIME" target='http://www.rfc-editor.org/info/rfc2045'>
    <front>
    <title>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</title>
    <author initials='N.' surname='Freed' fullname='N. Freed'><organization /></author>
    <author initials='N.' surname='Borenstein' fullname='N. Borenstein'><organization /></author>
    <date year='1996' month='November' />
    <abstract><t>This initial document specifies the various headers used to describe the structure of MIME messages.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='RFC' value='2045'/>
    <seriesInfo name='DOI' value='10.17487/RFC2045'/>
    </reference>

		<reference anchor="SMTP" target='http://www.rfc-editor.org/info/rfc5321'>
    <front>
    <title>Simple Mail Transfer Protocol</title>
    <author initials='J.' surname='Klensin' fullname='J. Klensin'><organization /></author>
    <date year='2008' month='October' />
    <abstract><t>This document is a specification of the basic protocol for Internet electronic mail transport.  It consolidates, updates, and clarifies several previous documents, making all or parts of most of them obsolete.  It covers the SMTP extension mechanisms and best practices for the contemporary Internet, but does not provide details about particular extensions.  Although SMTP was designed as a mail transport and delivery protocol, this specification also contains information that is important to its use as a &quot;mail submission&quot; protocol for &quot;split-UA&quot; (User Agent) mail reading systems and mobile environments.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='RFC' value='5321'/>
    <seriesInfo name='DOI' value='10.17487/RFC5321'/>
    </reference>
        </references>

        <references title="Informative References">

		<reference anchor="ADSP" target='http://www.rfc-editor.org/info/rfc5617'>
    <front>
    <title>DomainKeys Identified Mail (DKIM) Author Domain Signing Practices (ADSP)</title>
    <author initials='E.' surname='Allman' fullname='E. Allman'><organization /></author>
    <author initials='J.' surname='Fenton' fullname='J. Fenton'><organization /></author>
    <author initials='M.' surname='Delany' fullname='M. Delany'><organization /></author>
    <author initials='J.' surname='Levine' fullname='J. Levine'><organization /></author>
    <date year='2009' month='August' />
    <abstract><t>DomainKeys Identified Mail (DKIM) defines a domain-level authentication framework for email to permit verification of the source and contents of messages.  This document specifies an adjunct mechanism to aid in assessing messages that do not contain a DKIM signature for the domain used in the author's address.  It defines a record that can advertise whether a domain signs its outgoing mail as well as how other hosts can access that record.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='RFC' value='5617'/>
    <seriesInfo name='DOI' value='10.17487/RFC5617'/>
    </reference>

<?rfc include="reference.RFC.7001"?>
<?rfc include="reference.RFC.5451"?>
<?rfc include="reference.RFC.6008"?>
<?rfc include="reference.RFC.6577"?>

                <reference anchor="AR-VBR" target='http://www.rfc-editor.org/info/rfc6212'>
    <front>
    <title>Authentication-Results Registration for Vouch by Reference Results</title>
    <author initials='M.' surname='Kucherawy' fullname='M. Kucherawy'><organization /></author>
    <date year='2011' month='April' />
    <abstract><t>This memo updates the registry of properties in Authentication- Results: message header fields to allow relaying of the results of a Vouch By Reference query.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='RFC' value='6212'/>
    <seriesInfo name='DOI' value='10.17487/RFC6212'/>
    </reference>

                <reference anchor="ATPS" target='http://www.rfc-editor.org/info/rfc6541'>
    <front>
    <title>DomainKeys Identified Mail (DKIM) Authorized Third-Party Signatures</title>
    <author initials='M.' surname='Kucherawy' fullname='M. Kucherawy'><organization /></author>
    <date year='2012' month='February' />
    <abstract><t>This experimental specification proposes a modification to DomainKeys Identified Mail (DKIM) allowing advertisement of third-party signature authorizations that are to be interpreted as equivalent to a signature added by the administrative domain of the message's author.  This document defines an Experimental Protocol for the Internet community.</t></abstract>
    </front>
    <seriesInfo name='RFC' value='6541'/>
    <seriesInfo name='DOI' value='10.17487/RFC6541'/>
    </reference>
                <reference anchor="AUTH" target='http://www.rfc-editor.org/info/rfc4954'>
    <front>
    <title>SMTP Service Extension for Authentication</title>
    <author initials='R.' surname='Siemborski' fullname='R. Siemborski' role='editor'><organization /></author>
    <author initials='A.' surname='Melnikov' fullname='A. Melnikov' role='editor'><organization /></author>
    <date year='2007' month='July' />
    <abstract><t>This document defines a Simple Mail Transport Protocol (SMTP) extension whereby an SMTP client may indicate an authentication mechanism to the server, perform an authentication protocol exchange, and optionally negotiate a security layer for subsequent protocol interactions during this session.  This extension includes a profile of the Simple Authentication and Security Layer (SASL) for SMTP.</t><t>This document obsoletes RFC 2554.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='RFC' value='4954'/>
    <seriesInfo name='DOI' value='10.17487/RFC4954'/>
    </reference>

                <reference anchor="AUTH-ESC" target='http://www.rfc-editor.org/info/rfc7372'>
    <front>
    <title>Email Authentication Status Codes</title>
    <author initials='M.' surname='Kucherawy' fullname='M. Kucherawy'><organization /></author>
    <date year='2014' month='September' />
    <abstract><t>This document registers code points to allow status codes to be returned to an email client to indicate that a message is being rejected or deferred specifically because of email authentication failures.</t><t>This document updates RFC 7208, since some of the code points registered replace the ones recommended for use in that document.</t></abstract>
    </front>
    <seriesInfo name='RFC' value='7372'/>
    <seriesInfo name='DOI' value='10.17487/RFC7372'/>
    </reference>
		<reference anchor="DKIM" target='http://www.rfc-editor.org/info/rfc6376'>
    <front>
    <title>DomainKeys Identified Mail (DKIM) Signatures</title>
    <author initials='D.' surname='Crocker' fullname='D. Crocker' role='editor'><organization /></author>
    <author initials='T.' surname='Hansen' fullname='T. Hansen' role='editor'><organization /></author>
    <author initials='M.' surname='Kucherawy' fullname='M. Kucherawy' role='editor'><organization /></author>
    <date year='2011' month='September' />
    <abstract><t>DomainKeys Identified Mail (DKIM) permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message.  This can be an author's organization, an operational relay, or one of their agents.  DKIM separates the question of the identity of the Signer of the message from the purported author of the message.  Assertion of responsibility is validated through a cryptographic signature and by querying the Signer's domain directly to retrieve the appropriate public key.  Message transit from author to recipient is through relays that typically make no substantive change to the message content and thus preserve the DKIM signature.</t><t>This memo obsoletes RFC 4871 and RFC 5672.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='STD' value='76'/>
    <seriesInfo name='RFC' value='6376'/>
    <seriesInfo name='DOI' value='10.17487/RFC6376'/>
    </reference>
                <reference anchor="DMARC" target='http://www.rfc-editor.org/info/rfc7489'>
    <front>
    <title>Domain-based Message Authentication, Reporting, and Conformance (DMARC)</title>
    <author initials='M.' surname='Kucherawy' fullname='M. Kucherawy' role='editor'><organization /></author>
    <author initials='E.' surname='Zwicky' fullname='E. Zwicky' role='editor'><organization /></author>
    <date year='2015' month='March' />
    <abstract><t>Domain-based Message Authentication, Reporting, and Conformance (DMARC) is a scalable mechanism by which a mail-originating organization can express domain-level policies and preferences for message validation, disposition, and reporting, that a mail-receiving organization can use to improve mail handling.</t><t>Originators of Internet Mail need to be able to associate reliable and authenticated domain identifiers with messages, communicate policies about messages that use those identifiers, and report about mail using those identifiers.  These abilities have several benefits: Receivers can provide feedback to Domain Owners about the use of their domains; this feedback can provide valuable insight about the management of internal operations and the presence of external domain name abuse.</t><t>DMARC does not produce or encourage elevated delivery privilege of authenticated email.  DMARC is a mechanism for policy distribution that enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered delivery, up to message rejection.</t></abstract>
    </front>
    <seriesInfo name='RFC' value='7489'/>
    <seriesInfo name='DOI' value='10.17487/RFC7489'/>
    </reference>


                <reference anchor="DNS" target='http://www.rfc-editor.org/info/rfc1035'>
    <front>
    <title>Domain names - implementation and specification</title>
    <author initials='P.V.' surname='Mockapetris' fullname='P.V. Mockapetris'><organization /></author>
    <date year='1987' month='November' />
    <abstract><t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System.  It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t></abstract>
    </front>
    <seriesInfo name='STD' value='13'/>
    <seriesInfo name='RFC' value='1035'/>
    <seriesInfo name='DOI' value='10.17487/RFC1035'/>
    </reference>
                <reference anchor="DNS-IP6" target='http://www.rfc-editor.org/info/rfc3596'>
    <front>
    <title>DNS Extensions to Support IP Version 6</title>
    <author initials='S.' surname='Thomson' fullname='S. Thomson'><organization /></author>
    <author initials='C.' surname='Huitema' fullname='C. Huitema'><organization /></author>
    <author initials='V.' surname='Ksinant' fullname='V. Ksinant'><organization /></author>
    <author initials='M.' surname='Souissi' fullname='M. Souissi'><organization /></author>
    <date year='2003' month='October' />
    <abstract><t>This document defines the changes that need to be made to the Domain Name System (DNS) to support hosts running IP version 6 (IPv6).  The changes include a resource record type to store an IPv6 address, a domain to support lookups based on an IPv6 address, and updated definitions of existing query types that return Internet addresses as part of additional section processing.  The extensions are designed to be compatible with existing applications and, in particular, DNS implementations themselves.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='RFC' value='3596'/>
    <seriesInfo name='DOI' value='10.17487/RFC3596'/>
    </reference>
		<reference anchor="DOMAINKEYS" target='http://www.rfc-editor.org/info/rfc4870'>
    <front>
    <title>Domain-Based Email Authentication Using Public Keys Advertised in the DNS (DomainKeys)</title>
    <author initials='M.' surname='Delany' fullname='M. Delany'><organization /></author>
    <date year='2007' month='May' />
    <abstract><t>&quot;DomainKeys&quot; creates a domain-level authentication framework for email by using public key technology and the DNS to prove the provenance and contents of an email.</t><t>This document defines a framework for digitally signing email on a per-domain basis.  The ultimate goal of this framework is to unequivocally prove and protect identity while retaining the semantics of Internet email as it is known today.</t><t>Proof and protection of email identity may assist in the global control of &quot;spam&quot; and &quot;phishing&quot;.  This memo defines a Historic Document for the Internet community.</t></abstract>
    </front>
    <seriesInfo name='RFC' value='4870'/>
    <seriesInfo name='DOI' value='10.17487/RFC4870'/>
    </reference>
                <reference anchor="DSN" target='http://www.rfc-editor.org/info/rfc3464'>
    <front>
    <title>An Extensible Message Format for Delivery Status Notifications</title>
    <author initials='K.' surname='Moore' fullname='K. Moore'><organization /></author>
    <author initials='G.' surname='Vaudreuil' fullname='G. Vaudreuil'><organization /></author>
    <date year='2003' month='January' />
    <abstract><t>This memo defines a Multipurpose Internet Mail Extensions (MIME) content-type that may be used by a message transfer agent (MTA) or electronic mail gateway to report the result of an attempt to deliver a message to one or more recipients.  This content-type is intended as a machine-processable replacement for the various types of delivery status notifications currently used in Internet electronic mail. Because many messages are sent between the Internet and other messaging systems (such as X.400 or the so-called &quot;Local Area Network (LAN)-based&quot; systems), the Delivery Status Notification (DSN) protocol is designed to be useful in a multi-protocol messaging environment.  To this end, the protocol described in this memo provides for the carriage of &quot;foreign&quot; addresses and error codes, in addition to those normally used in Internet mail.  Additional attributes may also be defined to support &quot;tunneling&quot; of foreign notifications through Internet mail.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='RFC' value='3464'/>
    <seriesInfo name='DOI' value='10.17487/RFC3464'/>
    </reference>
                <reference anchor="EMAIL-ARCH" target='http://www.rfc-editor.org/info/rfc5598'>
    <front>
    <title>Internet Mail Architecture</title>
    <author initials='D.' surname='Crocker' fullname='D. Crocker'><organization /></author>
    <date year='2009' month='July' />
    <abstract><t>Over its thirty-five-year history, Internet Mail has changed significantly in scale and complexity, as it has become a global infrastructure service.  These changes have been evolutionary, rather than revolutionary, reflecting a strong desire to preserve both its installed base and its usefulness.  To collaborate productively on this large and complex system, all participants need to work from a common view of it and use a common language to describe its components and the interactions among them.  But the many differences in perspective currently make it difficult to know exactly what another participant means.  To serve as the necessary common frame of reference, this document describes the enhanced Internet Mail architecture, reflecting the current service.  This memo provides  information for the Internet community.</t></abstract>
    </front>
    <seriesInfo name='RFC' value='5598'/>
    <seriesInfo name='DOI' value='10.17487/RFC5598'/>
    </reference>

		<!-- draft-ietf-dnsop-reverse-mapping-considerations-06
		     EXPIRED -->
                <reference anchor="DNSOP-REVERSE">
                        <front>
				<title> Considerations for the use of DNS
				        Reverse Mapping </title>

				<author initials="D" surname="Senie"
				        fullname="Daniel Senie">
    					<organization/>
				</author>

				<author initials="A" surname="Sullivan"
				        fullname="Andrew  Sullivan">
					<organization/>
				</author>

				<date month="March" day="13" year="2008"/>
			</front>

			<seriesInfo name="Work in Progress," value="draft-ietf-dnsop-reverse-mapping-considerations-06"/>
		</reference>

                <reference anchor="IANA-CONSIDERATIONS" target='http://www.rfc-editor.org/info/rfc5226'>
    <front>
    <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
    <author initials='T.' surname='Narten' fullname='T. Narten'><organization /></author>
    <author initials='H.' surname='Alvestrand' fullname='H. Alvestrand'><organization /></author>
    <date year='2008' month='May' />
    <abstract><t>Many protocols make use of identifiers consisting of constants and other well-known values.  Even after a protocol has been defined and deployment has begun, new values may need to be assigned (e.g., for a new option type in DHCP, or a new encryption or authentication transform for IPsec).  To ensure that such quantities have consistent values and interpretations across all implementations, their assignment must be administered by a central authority.  For IETF protocols, that role is provided by the Internet Assigned Numbers Authority (IANA).</t><t>In order for IANA to manage a given namespace prudently, it needs guidelines describing the conditions under which new values can be assigned or when modifications to existing values can be made.  If IANA is expected to play a role in the management of a namespace, IANA must be given clear and concise instructions describing that role.  This document discusses issues that should be considered in formulating a policy for assigning values to a namespace and provides guidelines for authors on the specific text that must be included in documents that place demands on IANA.</t><t>This document obsoletes RFC 2434.  This document specifies an Internet Best  Current Practices for the Internet Community, and requests discussion and  suggestions for improvements.</t></abstract>
    </front>
    <seriesInfo name='BCP' value='26'/>
    <seriesInfo name='RFC' value='5226'/>
    <seriesInfo name='DOI' value='10.17487/RFC5226'/>
    </reference>

                <reference anchor="IMAP" target='http://www.rfc-editor.org/info/rfc3501'>
    <front>
    <title>INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1</title>
    <author initials='M.' surname='Crispin' fullname='M. Crispin'><organization /></author>
    <date year='2003' month='March' />
    <abstract><t>The Internet Message Access Protocol, Version 4rev1 (IMAP4rev1) allows a client to access and manipulate electronic mail messages on a server. IMAP4rev1 permits manipulation of mailboxes (remote message folders) in a way that is functionally equivalent to local folders.  IMAP4rev1 also provides the capability for an offline client to resynchronize with the server. IMAP4rev1 includes operations for creating, deleting, and renaming mailboxes, checking for new messages, permanently removing messages, setting and clearing flags, RFC 2822 and RFC 2045 parsing, searching, and selective fetching of message attributes, texts, and portions thereof.  Messages in IMAP4rev1 are accessed by the use of numbers. These numbers are either message sequence numbers or unique identifiers. IMAP4rev1 supports a single server.  A mechanism for accessing configuration information to support multiple IMAP4rev1 servers is discussed in RFC 2244. IMAP4rev1 does not specify a means of posting mail; this function is handled by a mail transfer protocol such as RFC 2821.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='RFC' value='3501'/>
    <seriesInfo name='DOI' value='10.17487/RFC3501'/>
    </reference>
			
                <reference anchor="POP3" target='http://www.rfc-editor.org/info/rfc1939'>
    <front>
    <title>Post Office Protocol - Version 3</title>
    <author initials='J.' surname='Myers' fullname='J. Myers'><organization /></author>
    <author initials='M.' surname='Rose' fullname='M. Rose'><organization /></author>
    <date year='1996' month='May' />
    <abstract><t>The Post Office Protocol - Version 3 (POP3) is intended to permit a workstation to dynamically access a maildrop on a server host in a useful fashion.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='STD' value='53'/>
    <seriesInfo name='RFC' value='1939'/>
    <seriesInfo name='DOI' value='10.17487/RFC1939'/>
    </reference>

                <reference anchor="PRA" target='http://www.rfc-editor.org/info/rfc4407'>
    <front>
    <title>Purported Responsible Address in E-Mail Messages</title>
    <author initials='J.' surname='Lyon' fullname='J. Lyon'><organization /></author>
    <date year='2006' month='April' />
    <abstract><t>This document defines an algorithm by which, given an e-mail message, one can extract the identity of the party that appears to have most proximately caused that message to be delivered.  This identity is called the Purported Responsible Address (PRA).This memo defines an Experimental Protocol for the Internet community.</t></abstract>
    </front>
    <seriesInfo name='RFC' value='4407'/>
    <seriesInfo name='DOI' value='10.17487/RFC4407'/>
    </reference>


<reference  anchor='RFC7410' target='http://www.rfc-editor.org/info/rfc7410'>
<front>
<title>A Property Types Registry for the Authentication-Results Header Field</title>
<author initials='M.' surname='Kucherawy' fullname='M. Kucherawy'><organization /></author>
<date year='2014' month='December' />
<abstract><t>This document updates RFC 7001 by creating a registry for property types in the Authentication-Results header field, used in email authentication work, rather than limiting participants to using the original, small set of fixed values.</t></abstract>
</front>
<seriesInfo name='RFC' value='7410'/>
<seriesInfo name='DOI' value='10.17487/RFC7410'/>
</reference>

                <reference anchor="RRVS" target='http://www.rfc-editor.org/info/rfc7293'>
    <front>
    <title>The Require-Recipient-Valid-Since Header Field and SMTP Service Extension</title>
    <author initials='W.' surname='Mills' fullname='W. Mills'><organization /></author>
    <author initials='M.' surname='Kucherawy' fullname='M. Kucherawy'><organization /></author>
    <date year='2014' month='July' />
    <abstract><t>This document defines an extension for the Simple Mail Transfer Protocol (SMTP) called &quot;RRVS&quot; to provide a method for senders to indicate to receivers a point in time when the ownership of the target mailbox was known to the sender.  This can be used to detect changes of mailbox ownership and thus prevent mail from being delivered to the wrong party.  This document also defines a header field called &quot;Require-Recipient-Valid-Since&quot; that can be used to tunnel the request through servers that do not support the extension.</t><t>The intended use of these facilities is on automatically generated messages, such as account statements or password change instructions, that might contain sensitive information, though it may also be useful in other applications.</t></abstract>
    </front>
    <seriesInfo name='RFC' value='7293'/>
    <seriesInfo name='DOI' value='10.17487/RFC7293'/>
    </reference>

                <reference anchor="SECURITY" target='http://www.rfc-editor.org/info/rfc3552'>
    <front>
    <title>Guidelines for Writing RFC Text on Security Considerations</title>
    <author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
    <author initials='B.' surname='Korver' fullname='B. Korver'><organization /></author>
    <date year='2003' month='July' />
    <abstract><t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak.  This document provides guidelines to RFC authors on how to write a good Security Considerations section.   This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
    </front>
    <seriesInfo name='BCP' value='72'/>
    <seriesInfo name='RFC' value='3552'/>
    <seriesInfo name='DOI' value='10.17487/RFC3552'/>
    </reference>
                <reference anchor="SENDERID" target='http://www.rfc-editor.org/info/rfc4406'>
    <front>
    <title>Sender ID: Authenticating E-Mail</title>
    <author initials='J.' surname='Lyon' fullname='J. Lyon'><organization /></author>
    <author initials='M.' surname='Wong' fullname='M. Wong'><organization /></author>
    <date year='2006' month='April' />
    <abstract><t>Internet mail suffers from the fact that much unwanted mail is sent using spoofed addresses -- &quot;spoofed&quot; in this case means that the address is used without the permission of the domain owner.  This document describes a family of tests by which SMTP servers can determine whether an e-mail address in a received message was used with the permission of the owner of the domain contained in that e-mail address.  This memo defines an Experimental Protocol for the Internet community.</t></abstract>
    </front>
    <seriesInfo name='RFC' value='4406'/>
    <seriesInfo name='DOI' value='10.17487/RFC4406'/>
    </reference>
                <reference anchor="SMIME-REG" target='http://www.rfc-editor.org/info/rfc7281'>
    <front>
    <title>Authentication-Results Registration for S/MIME Signature Verification</title>
    <author initials='A.' surname='Melnikov' fullname='A. Melnikov'><organization /></author>
    <date year='2014' month='June' />
    <abstract><t>RFC 7001 specifies the Authentication-Results header field for conveying results of message authentication checks.  This document defines a new authentication method to be used in the Authentication- Results header field for S/MIME-related signature checks.</t></abstract>
    </front>
    <seriesInfo name='RFC' value='7281'/>
    <seriesInfo name='DOI' value='10.17487/RFC7281'/>
    </reference>
                <reference anchor="SPF" target='http://www.rfc-editor.org/info/rfc7208'>
    <front>
    <title>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</title>
    <author initials='S.' surname='Kitterman' fullname='S. Kitterman'><organization /></author>
    <date year='2014' month='April' />
    <abstract><t>Email on the Internet can be forged in a number of ways.  In particular, existing protocols place no restriction on what a sending host can use as the &quot;MAIL FROM&quot; of a message or the domain given on the SMTP HELO/EHLO commands.  This document describes version 1 of the Sender Policy Framework (SPF) protocol, whereby ADministrative Management Domains (ADMDs) can explicitly authorize the hosts that are allowed to use their domain names, and a receiving host can check such authorization.</t><t>This document obsoletes RFC 4408.</t></abstract>
    </front>
    <seriesInfo name='RFC' value='7208'/>
    <seriesInfo name='DOI' value='10.17487/RFC7208'/>
    </reference>
                <reference anchor="VBR" target='http://www.rfc-editor.org/info/rfc5518'>
    <front>
    <title>Vouch By Reference</title>
    <author initials='P.' surname='Hoffman' fullname='P. Hoffman'><organization /></author>
    <author initials='J.' surname='Levine' fullname='J. Levine'><organization /></author>
    <author initials='A.' surname='Hathcock' fullname='A. Hathcock'><organization /></author>
    <date year='2009' month='April' />
    <abstract><t>This document describes the Vouch By Reference (VBR) protocol.  VBR is a protocol for adding third-party certification to email.  It permits independent third parties to certify the owner of a domain name that is associated with received mail.  [STANDARDS-TRACK]</t></abstract>
    </front>
    <seriesInfo name='RFC' value='5518'/>
    <seriesInfo name='DOI' value='10.17487/RFC5518'/>
    </reference>
        </references>


        <section anchor="legacy_muas" title="Legacy MUAs">
                <t> Implementers of this protocol should be aware
                    that many MUAs are unlikely to be retrofitted to
                    support the new header field and its semantics.  In
                    the interests of convenience and quicker
                    adoption, a delivery MTA might want to
                    consider adding things that are processed by
                    existing MUAs in addition to the Authentication-Results
                    header field.  One suggestion is to include a Priority
                    header field, on messages that don't already have such a
                    header field, containing a value that reflects the
                    strength of the authentication that was accomplished,
                    e.g., "low" for weak or no authentication, "normal" or
                    "high" for good or strong authentication. </t>

                <t> Some modern MUAs can already filter based on
                    the content of this header field.  However, there is
                    keen interest in having MUAs make some kind of
                    graphical representation of this header field's meaning
                    to end users.  

   Until this capability is added (i.e., while this proposal and its 
   successors are being adopted), other interim means 
   of conveying authentication results may be necessary.
		</t>
        </section>

        <section anchor="examples" title="Authentication-Results Examples">
                <t> This section presents some examples of the use of this
                    header field to indicate authentication results. </t>

                <section anchor="example1"
		         title="Trivial Case; Header Field Not Present">
                        <figure>
                                <preamble> The trivial case: </preamble>
                                <artwork>
     Received: from mail-router.example.com
                   (mail-router.example.com [192.0.2.1])
               by server.example.org (8.11.6/8.11.6)
                   with ESMTP id g1G0r1kA003489;
               Fri, Feb 15 2002 17:19:07 -0800
     From: sender@example.com
     Date: Fri, Feb 15 2002 16:54:30 -0800
     To: receiver@example.org
     Message-Id: &lt;12345.abc@example.com&gt;
     Subject: here's a sample

     Hello!  Goodbye!
                                </artwork>
                                <postamble> Example 1: Trivial Case </postamble>
                        </figure>

                        <t> The Authentication-Results header field is
                            completely absent.  The MUA may make no conclusion
                            about the validity of the message.  This could be
                            the case because the message authentication
                            services were not available at the time of
                            delivery, or no service is provided, or the MTA
                            is not in compliance with this specification. </t>
                </section>

                <section anchor="example2"
		         title="Nearly Trivial Case; Service Provided, but No Authentication Done">
                        <figure>
                                <preamble> A message that was delivered by
                                           an MTA that conforms to this
                                           specification but provides no actual
                                           message authentication service:
                                           </preamble>
                                <artwork>
     Authentication-Results: example.org 1; none
     Received: from mail-router.example.com
                   (mail-router.example.com [192.0.2.1])
               by server.example.org (8.11.6/8.11.6)
                   with ESMTP id g1G0r1kA003489;
               Fri, Feb 15 2002 17:19:07 -0800
     From: sender@example.com
     Date: Fri, Feb 15 2002 16:54:30 -0800
     To: receiver@example.org
     Message-Id: &lt;12345.abc@example.com&gt;
     Subject: here's a sample

     Hello!  Goodbye!
                                </artwork>
                                <postamble> Example 2: Header Present but
                                            No Authentication Done </postamble>
                        </figure>

                        <t> The Authentication-Results header field is
                            present, showing that the delivering MTA conforms
                            to this specification.  It used its DNS domain name
                            as the authserv-id.  The presence of "none" (and
                            the absence of any method or result tokens)
                            indicates that no message authentication was
                            done.  The version number of the specification to
                            which the field's content conforms is explicitly
                            provided. </t>
                </section>

                <section anchor="example3"
		         title="Service Provided, Authentication Done">
                        <figure>
                                <preamble> A message that was delivered by
                                           an MTA that conforms to this
                                           specification and applied some
                                           message authentication:
                                </preamble>
                                <artwork>
     Authentication-Results: example.com;
               spf=pass smtp.mailfrom=example.net
     Received: from dialup-1-2-3-4.example.net
                   (dialup-1-2-3-4.example.net [192.0.2.200])
               by mail-router.example.com (8.11.6/8.11.6)
                   with ESMTP id g1G0r1kA003489;
               Fri, Feb 15 2002 17:19:07 -0800
     From: sender@example.net
     Date: Fri, Feb 15 2002 16:54:30 -0800
     To: receiver@example.com
     Message-Id: &lt;12345.abc@example.net&gt;
     Subject: here's a sample

     Hello!  Goodbye!
                                </artwork>
                                <postamble> Example 3: Header Reporting
                                            Results </postamble>
                        </figure>

                        <t> The Authentication-Results header field is
                            present, indicating that the border MTA
                            conforms to this specification.  The authserv-id
                            is once again the DNS domain name.  Furthermore,
                            the message was authenticated by that MTA via the
                            method specified in <xref target="SPF"/>.  Note
                            that since that method cannot authenticate the
                            local-part, it has been omitted from the result's
                            value.  The MUA could extract and relay this extra
                            information if desired. </t>
                </section>

                <section anchor="example4"
		         title="Service Provided, Several Authentications Done, Single MTA">
                        <figure>
                                <preamble> A message that was relayed inbound
                                           via a single MTA that conforms to
                                           this specification and applied three
                                           different message authentication
                                           checks: </preamble>
                                <artwork>
     Authentication-Results: example.com;
               auth=pass (cram-md5) smtp.auth=sender@example.net;
               spf=pass smtp.mailfrom=example.net
     Authentication-Results: example.com;
               sender-id=pass header.from=example.net
     Received: from dialup-1-2-3-4.example.net (8.11.6/8.11.6)
                   (dialup-1-2-3-4.example.net [192.0.2.200])
               by mail-router.example.com (8.11.6/8.11.6)
                   with ESMTPA id g1G0r1kA003489;
               Fri, Feb 15 2002 17:19:07 -0800
     Date: Fri, Feb 15 2002 16:54:30 -0800
     To: receiver@example.com
     From: sender@example.net
     Message-Id: &lt;12345.abc@example.net&gt;
     Subject: here's a sample

     Hello!  Goodbye!
                                </artwork>
                                <postamble> Example 4: Headers Reporting
                                            Results from One MTA </postamble>
                        </figure>

                        <t> The Authentication-Results header field is
                            present, indicating that the delivering MTA
                            conforms to this specification.  Once again,
                            the receiving DNS domain name is used as the
                            authserv-id.  Furthermore, the sender
                            authenticated herself/himself to the MTA
                            via a method specified in <xref target="AUTH"/>,
                            and both SPF and Sender ID checks were done and
                            passed.  The MUA could extract and relay this
                            extra information if desired. </t>

                        <t> Two Authentication-Results header fields are
                            not required since the same host did all of the
                            checking.  The authenticating agent could have
                            consolidated all the results into one header
                            field. </t>

                        <t> This example illustrates a scenario in which
                            a remote user on a dial-up connection (example.net)
                            sends mail to a border MTA (example.com)
                            using SMTP authentication to prove identity.
                            The dial-up provider has been explicitly authorized
                            to relay mail as example.com, producing 
                            "pass" results from the SPF and Sender ID checks. </t>


                </section>

                <section anchor="example5"
		         title="Service Provided, Several Authentications Done, Different MTAs">
                        <figure>
                                <preamble> A message that was relayed
                                           inbound by two different MTAs
                                           that conform to this specification
                                           and applied multiple message
                                           authentication checks: </preamble>
                                <artwork>
     Authentication-Results: example.com;
               sender-id=fail header.from=example.com;
               dkim=pass (good signature) header.d=example.com
     Received: from mail-router.example.com
                   (mail-router.example.com [192.0.2.1])
               by auth-checker.example.com (8.11.6/8.11.6)
                   with ESMTP id i7PK0sH7021929;
               Fri, Feb 15 2002 17:19:22 -0800
     DKIM-Signature:  v=1; a=rsa-sha256; s=gatsby; d=example.com;
               t=1188964191; c=simple/simple; h=From:Date:To:Subject:
               Message-Id:Authentication-Results;
               bh=sEuZGD/pSr7ANysbY3jtdaQ3Xv9xPQtS0m70;
               b=EToRSuvUfQVP3Bkz ... rTB0t0gYnBVCM=
     Authentication-Results: example.com;
               auth=pass (cram-md5) smtp.auth=sender@example.com;
               spf=fail smtp.mailfrom=example.com
     Received: from dialup-1-2-3-4.example.net
                   (dialup-1-2-3-4.example.net [192.0.2.200])
               by mail-router.example.com (8.11.6/8.11.6)
                   with ESMTPA id g1G0r1kA003489;
               Fri, Feb 15 2002 17:19:07 -0800
     From: sender@example.com
     Date: Fri, Feb 15 2002 16:54:30 -0800
     To: receiver@example.com
     Message-Id: &lt;12345.abc@example.com&gt;
     Subject: here's a sample

     Hello!  Goodbye!
                                </artwork>
                                <postamble> Example 5: Headers Reporting
                                            Results from Multiple
                                            MTAs </postamble>
                        </figure>

                        <t> The Authentication-Results header field is
                            present, indicating conformance to this
                            specification.  Once again, the authserv-id used
                            is the recipient's DNS domain name.  The header
                            field is present twice because two different MTAs
                            in the chain of delivery did authentication tests.
			    The first MTA, mail-router.example.com, reports
 			    that SMTP AUTH and SPF were both used and that
			    the former passed while the latter failed.  In the
			    SMTP AUTH case, additional information is
                            provided in the comment field, which the MUA can
                            choose to render if desired. </t>

                        <t> The second MTA, auth-checker.example.com,
                            reports that it did a Sender ID test (which
                            failed) and a DKIM test (which passed).  Again,
			    additional data about one of the tests is provided
			    as a comment, which the MUA may choose to render.
			    Also noteworthy here is the fact that there is
			    a DKIM signature added by example.com that assured
			    the integrity of the lower Authentication-Results
			    field. </t>

                        <t> Since different hosts did the two sets of
                            authentication checks, the header fields cannot be
                            consolidated in this example. </t>

                        <t> This example illustrates more typical transmission
                            of mail into example.com from a user on a
                            dial-up connection example.net.  The user appears
                            to be legitimate as he/she had a valid password
                            allowing authentication at the border MTA using
                            SMTP AUTH.  The SPF and Sender ID tests failed
                            since example.com has not granted example.net
                            authority to relay mail on its behalf.  However,
                             the DKIM test passed because
                            the sending user had a private key matching one
                            of example.com's published public keys and
                            used it to sign the message. </t>
                </section>

                <section anchor="example6"
		         title="Service Provided, Multi-tiered Authentication Done">
                        <figure>
                                <preamble> A message that had authentication
                                           done at various stages, one of
                                           which was outside the receiving
                                           ADMD: </preamble>
                                <artwork>
     Authentication-Results: example.com;
           dkim=pass reason="good signature"
             header.i=@mail-router.example.net;
           dkim=fail reason="bad signature"
             header.i=@newyork.example.com
     Received: from mail-router.example.net
               (mail-router.example.net [192.0.2.250])
           by chicago.example.com (8.11.6/8.11.6)
               for &lt;recipient@chicago.example.com&gt;
               with ESMTP id i7PK0sH7021929;
           Fri, Feb 15 2002 17:19:22 -0800
     DKIM-Signature: v=1; a=rsa-sha256; s=furble;
           d=mail-router.example.net; t=1188964198; c=relaxed/simple;
           h=From:Date:To:Message-Id:Subject:Authentication-Results;
           bh=ftA9J6GtX8OpwUECzHnCkRzKw1uk6FNiLfJl5Nmv49E=;
           b=oINEO8hgn/gnunsg ... 9n9ODSNFSDij3=
     Authentication-Results: example.net;
           dkim=pass (good signature) header.i=@newyork.example.com
     Received: from smtp.newyork.example.com
               (smtp.newyork.example.com [192.0.2.220])
           by mail-router.example.net (8.11.6/8.11.6)
               with ESMTP id g1G0r1kA003489;
           Fri, Feb 15 2002 17:19:07 -0800
     DKIM-Signature: v=1; a=rsa-sha256; s=gatsby;
           d=newyork.example.com;
           t=1188964191; c=simple/simple;
           h=From:Date:To:Message-Id:Subject;
           bh=sEu28nfs9fuZGD/pSr7ANysbY3jtdaQ3Xv9xPQtS0m7=;
           b=EToRSuvUfQVP3Bkz ... rTB0t0gYnBVCM=
     From: sender@newyork.example.com
     Date: Fri, Feb 15 2002 16:54:30 -0800
     To: meetings@example.net
     Message-Id: &lt;12345.abc@newyork.example.com&gt;
     Subject: here's a sample
                                </artwork>
                                <postamble> Example 6: Headers Reporting
                                            Results from Multiple
                                            MTAs in Different
                                            ADMDs </postamble>
                        </figure>

                        <t> In this example, we see multi-tiered authentication
                            with an extended trust boundary. </t>

                        <t> The message was sent from someone at example.com's
                            New York office (newyork.example.com) to a
                            mailing list managed at an intermediary.
                            The message was signed at the origin using
                            DKIM. </t>

                        <t> The message was sent to a mailing list service
                            provider called example.net, which is used by
                            example.com.  There, meetings@example.net
                            is expanded to a long list of recipients, one
                            of whom is at the Chicago office.  In this
                            example, we will assume that the trust boundary
                            for chicago.example.com includes the mailing list
                            server at example.net. </t>

                        <t> The mailing list server there first authenticated
                            the message and affixed an
                            Authentication-Results header field indicating
                            such using its DNS domain name for the authserv-id.
                            It then altered the message by affixing some
                            footer text to the body, including some
                            administrivia such as unsubscription
                            instructions.  Finally, the mailing list server
                            affixes a second DKIM signature
                            and begins distribution of the message. </t>

                        <t> The border MTA for chicago.example.com explicitly
                            trusts results from mail-router.example.net,
                            so that header field is not removed.  It performs
                            evaluation of both signatures and determines
                            that the first (most recent) is a "pass" but,
                            because of the aforementioned modifications, the
                            second is a "fail".  However, the first
                            signature included the Authentication-Results
                            header added at mail-router.example.net
                            that validated the second signature.
                            Thus, indirectly, it can be determined that
                            the authentications claimed by both signatures are
                            indeed valid. </t>

                        <t> Note that two styles of presenting metadata about
                            the result are in use here.  In one case, the
                            "reason=" clause is present, which is intended
                            for easy extraction by parsers; in the other
                            case, the CFWS production of the ABNF is used
                            to include such data as a header field
                            comment.  The latter can be harder for parsers
                            to extract given the varied supported syntaxes of
                            mail header fields. </t>
                </section>

                <section anchor="example7" title="Comment-Heavy Example">
                        <figure>
                                <preamble> The formal syntax permits
                                           comments within the content in a
                                           number of places.  For the sake
                                           of illustration, this example is
                                           also legal: </preamble>
                                <artwork>
    Authentication-Results: foo.example.net (foobar) 1 (baz);
        dkim (Because I like it) / 1 (One yay) = (wait for it) fail 
          policy (A dot can go here) . (like that) expired
          (this surprised me) = (as I wasn't expecting it) 1362471462
                                </artwork>
                                <postamble> Example 7: A Very Comment-Heavy
                                            but Perfectly Legal Example
                                            </postamble>
                        </figure>
                </section>
        </section>

        <section anchor="op_considerations"
                title="Operational Considerations about Message Authentication">
                <t> This protocol is predicated on the idea that authentication
                    (and presumably in the future, reputation) work is
                    typically done by border MTAs rather than MUAs or
                    intermediate MTAs; the latter merely make use of the
                    results determined by the former.  Certainly this is
                    not mandatory for participation in electronic mail or
                    message authentication, but this protocol
                    and its deployment to date are based on that model.  The
                    assumption satisfies several common ADMD requirements:

                    <list style="numbers">
                        <t> Service operators prefer to resolve the handling
                            of problem messages as close to the border of the
                            ADMD as possible.  This enables, for example,
                            rejection of messages at the SMTP level rather
                            than generating a DSN internally.  Thus, doing any
                            of the authentication or reputation work
                            exclusively at the MUA or intermediate MTA renders
                            this desire unattainable. </t>

                        <t> Border MTAs are more likely to have direct access
                            to external sources of authentication or reputation
                            information since modern MUAs are more likely to
                            be heavily firewalled.  Thus, some MUAs might not
                            even be able to complete the task of performing
                            authentication or reputation evaluations without
                            complex proxy configurations or similar
                            burdens. </t>

                        <t> MUAs rely upon the upstream MTAs within their trust
                            boundaries to make correct (as much as is
                            possible) evaluations about the message's envelope,
                            header, and content.  Thus, MUAs don't need to
                            know how to do the work that upstream MTAs do;
                            they only need the results of that work. </t>

<t>
       Evaluations about the quality of a message, from simple token
       matching (e.g., a list of preferred DNS domains) to cryptanalysis
       (e.g., public/private key work), do have a cost and thus need to 
       be minimized. 

                            To that end, performing those tests at the border
                            MTA is far preferred to doing that work at each
                            MUA that handles a message.  If an ADMD's
                            environment adheres to common messaging protocols,
                            a reputation query or an authentication check
                            performed by a border MTA would return the same
                            result as the same query performed by an MUA.  By
                            contrast, in an environment where the MUA does the
                            work, a message arriving for multiple recipients
                            would thus cause authentication or reputation
                            evaluation to be done more than once for the same
                            message (i.e., at each MUA), causing needless
                            amplification of resource use and creating a
                            possible denial-of-service attack vector. </t>

                        <t> Minimizing change is good.  As new authentication
                            and reputation methods emerge, the list of methods
                            supported by this header field would presumably be
                            extended.  If MUAs simply consume the contents of
                            this header field rather than actually attempt
                            to do authentication and/or reputation work, then
                            MUAs only need to learn to parse this header field
                            once; emergence of new methods requires only a
                            configuration change at the MUAs and software
                            changes at the MTAs (which are presumably fewer in
                            number).  When choosing to implement these
                            functions in MTAs vs. MUAs, the issues of
                            individual flexibility, infrastructure inertia, and
                            scale of effort must be considered.  It is
                            typically easier to change a single MUA than an
                            MTA because the modification affects fewer users
                            and can be pursued with less care.  However,
                            changing many MUAs is more effort than changing a
                            smaller number of MTAs.  </t>

                        <t> For decisions affecting message delivery and
                            display, assessment based on authentication and
                            reputation is best performed close to the time of
                            message transit, as a message makes its journey
                            toward a user's inbox, not afterwards.  DKIM keys
                            and IP address reputations, etc., can change over
                            time or even become invalid, and users can take
                            a long time to read a message once delivered.
                            The value of this work thus degrades, perhaps
                            quickly, once the delivery process has completed.
                            This seriously diminishes the value of this work
                            when done elsewhere than at MTAs. </t>
                    </list> </t>

                <t> Many operational choices are possible within an ADMD,
                    including the venue for performing authentication and/or
                    reputation assessment.  The current specification does not
                    dictate any of those choices.  Rather, it facilitates those
                    cases in which information produced by one stage of
                    analysis needs to be transported with the message to the
                    next stage.  </t>
        </section>

        <section anchor="changes" title="Changes since RFC 7001">
                <t> <list style="symbols">
                        <t> Applied RFC 7410. </t>

                        <t> Updated all references to RFC 4408 with RFC 7208. </t>

                        <t> Added section explaining "property" values.            
                            (Addressed Erratum #4201.) </t>

                        <t> Did some minor text reorganization. </t>

                        <t> Gave registry history -- enough that this is now       
                            the authoritative registry definition. </t>

                        <t> Added text explaining each of the                      
                            method-ptype-property tuples registered by           
                            this document. </t>

                        <t> Changed the meaning of the "Defined" column of        
                            the methods registry to be the place where           
                            each entry was created and described; it is          
                            expected that this will then refer to the            
                            method's defining document. Provided                  
                            IANA with corresponding update                       
                            instructions. </t>

                        <t> Cleaned up registry structure and content, and         
                            replaced all references to RFC 7001 with pointers to      
                            this document. </t>

                        <t> Added references:                                      
                                <xref target="DMARC"/>,                          
                                <xref target="PRA"/>,                            
                                <xref target="RFC6008"/>,                        
                                <xref target="RFC6577"/>,                        
                                <xref target="RRVS"/>,                           
                                <xref target="SMIME-REG"/>. </t>

                        <t> Added description of values that can be extracted      
                            from SMTP AUTH sessions and an example. </t>

                        <t> Provided much more complete descriptions of reporting         
                            DomainKeys results. </t>

                        <t> Added more detail about Sender ID. </t>

                        <t> Marked all ADSP and DomainKeys entries as              
                            deprecated since their defining documents            
                            are as well. </t>

                        <t> Reworked some text around ignoring unknown             
                            ptypes. </t>

                        <t> Completely described the ptypes registry. </t>

                        <t> Mentioned that EHLO is mapped to HELO for SPF. </t>

                        <t> RFC 7208 uses all-lowercase result strings now,       
                            so adjusted prose accordingly. </t>

                        <t> Updated list of supported methods, and                
                            mentioned the registries immediately below. </t>

                        <t> Mentioned that when a local-part is removed,           
                            the "@" goes with it. </t>

                        <t> Referred to RFC 7328 in the "iprev"                      
                            definition. </t>

                        <t> Corrected the "smime-part" prose. </t>

                        <t> Updated examples that use SMTP AUTH to claim                
                            "with ESMTPA" in the Received fields. </t>

                        <t> Made minor editorial adjustments. </t>
                      </list> </t>
        </section>


        <section anchor="thanks" title="Acknowledgments" numbered="no">
		<t> The author wishes to acknowledge the following
		    individuals for their review and constructive criticism of
		    this document:
		    Stephane Bortzmeyer,
		    Scott Kitterman,
		    John Levine,
		    Tom Petch,
		    and
		    Pete Resnick.
		    </t>
        </section>

</back>
</rfc>
