<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type='text/xsl'
                href='http://xml.resource.org/authoring/rfc2629.xslt' ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc compact="no" ?>
<?rfc subcompact="yes" ?>
<?rfc toc="yes" ?>
<?rfc tocindent="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes" ?>
<?rfc iprnotified="yes" ?>
<?rfc autobreaks="no"?>
<?rfc strict="yes" ?>

<rfc category="std" docName="draft-otis-dkim-dosp-00" ipr="full3978">
  <front>
    <title abbrev="DOSP">DKIM Originating Signing Policy (DOSP)</title>

    <author fullname="Douglas Otis" initials="D." surname="Otis">
      <organization>Trend Micro, NSSG</organization>
      <address>
        <postal>
          <street>1737 North First Street, Suite 680</street>
          <city>San Jose</city>
          <region>CA</region>
          <code>95112</code>
          <country>USA</country>
        </postal>
        <phone>+1.408.453.6277</phone>
        <email>doug_otis@trendmicro.com</email>
      </address>
    </author>

    <date month="September" year="2006"/>
    <area>Internet Area</area>
    <workgroup>DKIM Working Group</workgroup>
    <keyword>DOSP</keyword>
    <keyword>Draft</keyword>

    <abstract>
      <t>DOSP (DKIM Originator's Signing Policy) is a DNS-based mechanism for associating domain-names and asserting
        separate DKIM related policies for all originating header fields and parameters found in DKIM related messages.
        DOSP can associate an email-address with a list of signing domains, and a signing domain with a list of SMTP
        Clients. DOSP also provides a means to assert whether signatures are always initial provided, whether there was
        an effort to protect these signatures, their role related to offering assurances, such as when an identity
        referencing the DOSP policy is assured to be valid. <vspace blankLines="100"/></t>
    </abstract>

    <note title="Requirements Language">
      <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="RFC2119"/>.</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>This document describes how <xref target="I-D.ietf-dkim-base"/> signing can be related to all of the various
        originating header fields and parameters found in DKIM related messages. DOSP better secures the use of the
        email-addresses and domain-names found in message header fields and parameters. Recommended or suggested actions
        for a DKIM receiver are not included, and are considered "out-of-scope" for this document. The receiver is
        assumed to better understand their environment's impact upon the performance of DKIM signatures and how DKIM
        signatures are utilized within their domain.</t>

      <t>There are many uncertainties in respect to the actual usage of the DKIM protocol. These uncertainties exist for
        the following reasons:<list style="symbols">
          <t>Intentionally vague DKIM protocol semantics</t>
          <t>Full adoption of DKIM is not implied</t>
          <t>Limited semantics for some signing domains</t>
          <t>Optional validity of email-addresses</t>
          <t>No assumed signature ordering or signing roles</t>
          <t>No direct association with the SMTP Client</t>
        </list>
      </t>

      <t>DOSP can assert that messages originating from a domain within a specific header field or parameter are all
        initially signed by a designated signing domain. DOSP can also assert that only complaint services are
        subsequently used with an intended goal of ensuring initial signatures are not damaged or removed. The assurance
        of using compliant services may enable more stringent message handling by a receiver.</t>

      <t>DOSP can also assert that an email-address domain is never used. This assertion provides a means for avoiding
        invalid DKIM signature spoofing of their domain. DOSP does not make distinctions between first-party and
        third-party signatures. Any designated signature is considered equivalent to a first-party signature for the
        purposes of policy evaluation. DOSP domain-name associations are only inclusive.</t>

      <t>The DOSP allows the originating domain to make assertions that indicate when a referencing identity is valid or
        when a signing domain fulfills DOSP policy requirements. This is accomplished by designating roles for various
        signing domains. In addition, DOSP allows signing domains to associate with the SMTP Clients. By allowing
        signing domains to designate their SMTP Clients, anti-replay mechanisms can be by-passed for these SMTP
          Clients.<vspace blankLines="100"/></t>

      <t>The goal of DOSP is to: <list style="symbols">
          <t>Fully enumerate signing practices for all originating domains</t>
          <t>Facilitate associations with all other domains</t>
          <t>Simplify steps for establishing a comprehensive DKIM policy</t>
          <t>Accommodate all practical deployment strategies</t>
          <t>Provide a means to assure email-addresses and sources</t>
        </list>
      </t>

      <t>A message signed with DKIM, whether or not there is also a referenced policy, does not indicate when a message
        is from a good or bad actor. However, DKIM signatures will allow a recipient's trust to be strengthened. Good
        actors establish trust. Bad actors do not.</t>

      <t>Trust is an essential prerequisite. The DKIM signature header field's 'i=' semantics or the DOSP policies
        regarding the validity of related identities provide valuable advisory information. This advisory information
        allows the safe application of message annotations for ensuring trusted identities are properly recognized.
        Policy assertions convey which domains are authoritative and can assure valid identifiers. This information is
        essential for the proper recognition of valid email-addresses of trusted identities, as well as when a message
        source may require added scrutiny.</t>

      <t>The goal of DOSP is to incorporate a full range of possible signing practices. The main objective of DOSP is to
        establish a basis for evaluating all originating domains and their related email-addresses. As should be
        expected, DOSP policy assertions are only assurances of the message's the initial state. Blocking messages from
        non-designated sources or with invalid signatures will not provide sufficient protection, and is also likely to
        disrupt message delivery in many cases. Senders may become frustrated with delivery problems, while recipients
        remain exposed to look-alike or "cousin" domain spoofs, and are easily misled when only the display-name is
        initially seen.</t>

      <t>For an email-address to be considered valid, it must be signed by either a matching or a designated domain. In
        addition, this email-address must be fully included within the DKIM Signature header field 'i=' parameter, or
        must be signed by a domain with a role of only signing valid email-addresses. Even when an email-address is
        assured to be valid by one of these mechanisms, it is not reasonable to consider all email-addresses from a
        domain represent equally trustworthy identities or all follow the same practices.</t>

      <t>For the purposes of annotating messages based upon a trusted domain, local-part associations permit a domain to
        indicate which identities are trustworthy from their perspective. The recipient must determine independently,
        through various out-of-band methods, which domains or identities should be considered trustworthy. When trust is
        based upon a domain-name rather than a specific email-address, message annotations should differ, and should be
        constrained to those identities asserted as trustworthy in the DOSP local-part policies.</t>
    </section>

    <section title="DKIM Policy Compliance and Safe Annotations">
      <t>DKIM allows a signing domain to selectively protect portions of a message from modification and to selectively
        vouch for the validity of an email-address when fully contained within the DKIM Signature header field's 'i='
        parameter. Neither this document or <xref target="I-D.ietf-dkim-base"/> prescribe specific actions for receivers
        to take upon completion of signature validation and policy conformance assessments. While this document allows
        all originating domains a means to succinctly assert domain associations and signing practices, it does not
        advise how messages are to be handled.</t>

      <t>The DKIM protocol is designed to protect message content from alteration and to offer a verified signing
        domain. However, by design, the signing domain remains unseen by the recipient. Message annotations are required
        before recipients benefit substantially from DKIM protections. Annotations of assured and trusted
        email-addresses may entail placement into various folders or the addition of distinctive markings. As with
        messages handling in general, this document also does not define how message annotations might be accomplished.</t>

      <t>DKIM is fully independent of the SMTP Client and the <xref target="RFC2821"/>.MailFrom email-address. Being
        able to associate and assert policy for the <xref target="RFC2821"/>.MailFrom email-address may prevent Delivery
        Status Notifications (DSNs) from being sent when this email-address is forged. Being able to associate SMTP
        Clients with the signing domain may circumvent mechanisms guarding against possible message replay abuse. These
        two policies represent entirely optional protection strategies that may or may not prove either effective or
        practical. These are offered only to allow experimentation.</t>

      <t>Unlike IPv4 addresses, there is virtually no limit on the number of domain-names available. Registrar pricing
        of domain-names should remain uniform, otherwise higher fees based upon an intrinsic value established by the
        owner may cause them to become extortion targets. Fees could be added under a guise of being incurred due to
        poor email administration, for example. Initial costs for domain-names are unlikely to represent a deterrent,
        and it is unlikely registrars will be able to fairly withdraw domain-names due to unsolicited bulk email
        practices.</t>

      <t>In addition, DKIM can not directly identify the domain transmitting the message, and can not prevent abusive
        message replay. Abusive replay messages may prove indistinguishable from bulk mailings of various types. As a
        result, message acceptance will likely remain based primarily upon the IP address of the SMTP Client. Abuse
        reporting facilitated by a DKIM signature should therefore correspond with the domain administering the SMTP
        Client publicly transmitting the message.</t>

      <t>When the signing domain differs from that of the domain of the originating email-address, DOSP offers a simple
        solution for email-address policy compliance. Just as a DKIM signature can assert an email-address is valid, a
        signing domain that only signs validated email-addresses can be designated as playing the role of providing
        valid email-addresses. This assertion remains valid even when signing domains and the email-address domains
        differ.</t>

      <t>A domain could also be designated as only providing a valid signature for fulfilling an assertion that all
        email-addresses are being signed, but that these email-addresses are not assured to be valid. While this latter
        role does not ensure all possible spoofing is prevented, these messages should not receive annotations
        indicating any assurances either. This role represents an economical alternative enabling large scale autonomous
        administration of domain associations.</t>

      <t>When the originating email-address domain differs from that of a provider adding DKIM signatures, DNS
        delegation or key exchanges are required before these domains can match. The provider would need to sign with
        the customer's key for messages sent using their account. DNS delegations or private key exchanges will likely
        involve a significant amount of detail, such as key selectors, user limitations, suitable services, key resource
        record's Time-To-Live, revocation and update procedures, and whether the DKIM Signature header field's 'i='
        semantics should be applied as indicating valid email-addresses.</t>

      <t>This DNS delegation effort will likely involve the sharing of these details between the email provider, the
        domain owner, and the DNS provider. As there are many ways in which this could be accomplished, it is also
        unlikely for there to be consistent or standardized formats for the exchange of this information. In addition,
        when there are any security breaches, the domain owner might be held accountable for message content that was
        never seen or logged by them.</t>

      <t>Protections offered by DKIM are largely related to better recognition of prior correspondents, and improved
        identification of initial sources when instances of abuse are reported. While DOSP may allow the receiver to
        detect and reject messages that appear non-compliant, the overall cases where this might happen are likely to
        represent a fairly small portion of the overall messages. When the receiver seeks to protect the DKIM
        verification process with a preliminary message filter, even acquiring DOSP policy records or DKIM keys may
        inadvertently leak valuable information benefiting abusive senders. The validation of DKIM and the obtaining of
        DOSP resource records may consequently become limited to known trustworthy domains.</t>
    </section>

    <section title="DOSP Assertions">
      <t>Syntax descriptions use the form described in Augmented BNF for Syntax Specifications <xref target="RFC4234"/>.
        The "base32" function is defined in <xref target="RFC3548"/> and the "sha-1" hash function is defined <xref
          target="FIPS.180-2.2002"/>. The function "lcase" converts upper-case ALPHA characters to lower-case. The
        terminating period is not included in domain-name conversions.<vspace blankLines="1"/>
        <list style="empty">
          <t>asterisk = %x2A ; "*"</t>
          <t>plus = %2B ; "+"</t>
          <t>hyphen = %x2D ; "-"</t>
          <t>period = %x2E ; "."</t>
          <t>colon = %x3A ; ":"</t>
          <t>semicolon = %x3B ; ";"</t>
          <t>equals = %x3D ; "="</t>
          <t>underscore = %x5F ; "_" <vspace blankLines="1"/></t>

          <t>ldh = ALPHA / DIGIT / hyphen ;</t>
          <t>let-dig = ALPHA | DIGIT ;</t>
          <t>subdomain = let-dig [*61(ldh) let-dig] ;</t>
          <t>domain = subdomain 1*(period subdomain) ;<vspace blankLines="1"/></t>

          <t>ANY = asterisk period ; "*."</t>
          <t>FWS = ([*WSP CRLF] 1*WSP) ; </t>
          <t>VALCHAR = %x21-3A / %x3C-7E ; "!" to "~" except ";"</t>
          <t>ALNUMPUNC = ALPHA / DIGIT / underscore ;<vspace blankLines="1"/></t>

          <t>tag-value = [1*VALCHAR 0*( 1*(WSP / FWS) 1*VALCHAR)] ;</t>
          <t>tag-list = tag-spec 0*(semicolon tag-spec)[semicolon] ;</t>
          <t>tag-spec = [FWS] tag-name [FWS] equals [FWS] tag-value [FWS] ;</t>
          <t>tag-name = ALPHA 0*ALNUMPUNC ; <vspace blankLines="1"/></t>

          <t>From = "F" ; <xref target="RFC2822"/>.From</t>
          <t>Originator = "O" ; <xref target="RFC2822"/>.Sender/Resent-Sender/Resent-From</t>
          <t>MailFrom = "M" ; <xref target="RFC2821"/>.MAIL FROM</t>
          <t>EHLO = "E" ; <xref target="RFC2821"/>.EHLO</t>
          <t>LocalPart = "L" ; left-hand side of email-address<vspace blankLines="1"/></t>

          <t>sig-policy = (From / Originator / MailFrom) ;</t>
          <t>sig-label = base32( sha-1( lcase(signing-domain))) ; 32 characters</t>
          <t>lp-policy = LocalPart (From / Originator) ;</t>
          <t>lp-label = base32( sha-1(local-part)) ; 32 characters</t>
          <t>ehlo-policy = MailFrom ; </t>
          <t>ehlo-label = base32( sha-1( lcase(EHLO-domain))) ; 32 characters</t>
        </list><vspace blankLines="100"/></t>

      <texttable title="DOSP Tags">
        <ttcol align="center">Tag</ttcol>
        <ttcol align="left">Function</ttcol>
        <c>v=</c>
        <c>Version</c>
        <!--  -->
        <c>f=</c>
        <c>Flags</c>
        <!--  -->
        <c>a=</c>
        <c>Designated Signing for Address</c>
        <!--  -->
        <c>d=</c>
        <c>Designated Signing for Domain</c>
        <!--  -->
        <c>l=</c>
        <c>Designated Local-Part</c>
        <!--  -->
      </texttable>

      <texttable title="DOSP Flags">
        <ttcol align="center">Flag</ttcol>
        <ttcol align="left">Function</ttcol>
        <c>A</c>
        <c>All initial messages signed</c>
        <!--  -->
        <c>N</c>
        <c>Not signing</c>
        <!--  -->
        <c>O</c>
        <c>Only compliant subsequent services employed</c>
        <!--  -->
        <c>L</c>
        <c>Local-Part policies are published</c>
        <!--  -->
        <c>T</c>
        <c>Trusted Designated Local-Part</c>
        <!--  -->
        <c>V</c>
        <c>Valid Designated Local-Part</c>
        <!--  -->
      </texttable>

      <t>The receiver obtains the DOSP email-address domain policy using a DNS query for an IN class TXT resource
        record. The character strings contained within the TXT resource record are concatenated into forming a single
        string. The content of this concatenated string contains a tag-list based upon the ABNF format defined within
        this section. Unrecognized tags MUST be ignored. A policy record may be located at these domains:<list>
          <t/>
          <t>"&lt;sig-label&gt;._DKIM-&lt;sig-policy&gt;.&lt;email-address domain&gt;."</t>
          <t>"&lt;lp-label&gt;._DKIM-&lt;lp-policy&gt;.&lt;email-address domain&gt;."</t>
          <t>"&lt;ehlo-label&gt;._DKIM-&lt;ehlo-policy&gt;.&lt;signing domain&gt;."</t>
        </list>
        <vspace blankLines="1"/>
      </t>
      <section title="Version">
        <t>v= Version (MUST be included). This tag defines the version of this specification that applies to the
          signature record. It MUST have the value 0.0.</t>
        <t>
          <list>
            <t> Version = %x76 [FWS] equals [FWS] "0.0"<vspace blankLines="1"/></t>

            <t>INFORMATIVE NOTE: DKIM-Signature version numbers are expected to increase arithmetically as new versions
              of this specification are released.<vspace blankLines="1"/></t>

            <t>[INFORMATIVE NOTE: Upon publication, this version number should be changed to "1", and this note should
              be delete.]</t>
          </list>
        </t>
      </section>
      <section title="Flags">
        <t>f= Flags (Optional). This tag defines a list of flags that assert various aspects of the email-address domain
          signing policy.</t>
        <t>
          <list>
            <t>flag = %x41 / %x4C / %x4E / %x4F ; "A", "L", "O", "T", &amp; "V" </t>
            <t>Flags =%x66 [FWS] equals [FWS] flag 0*(*FWS colon *FWS flag) <vspace blankLines="1"/></t>
          </list>
        </t>

        <section title="(A)ll initial messages signed">
          <t>This "A" flag asserts that messages carrying the email-address domain within the relevant header field or
            parameter are all initially signed by a designated domain.</t>
        </section>

        <section title="(L)ocal-Part policy is published">
          <t>This "L" flag asserts that local-part policy is published for the corresponding message header field or
            parameter. For example when a policy is published at &lt;sig-label&gt;._DKIM-F.&lt;email-address
            domain&gt; that has the "L" flag asserted, then local-part policy can be found at
            &lt;lp-label&gt;._DKIM-LF.&lt;email-address domain&gt;. This flag is not valid in
            "ehlo-policy" records.</t>
        </section>

        <section title="(N)ot signing">
          <t>This "N" flag asserts that messages carrying the email-address domain within the relevant header field or
            parameter are not initially signed. This assertion might be suitable as a means to prevent or terminate a
            policy record search, and to assure that no signatures are generated by this domain as a means to prevent
            invalid signature spoofing.</t>
        </section>

        <section title="(O)nly compliant services employed">
          <t>This "O" flag asserts that messages carrying the email-address domain within the relevant header field or
            parameter are not subsequently used in conjunction with services that may either damage or remove the
            initial signature. This assertion might be suitable for domains willing to forego the use of many common
            services where signatures might be damaged, for example.</t>
        </section>

        <section title="(T)rusted Designated Local-Parts">
          <t>This "T" flag asserts that messages carrying the email-address containing a designated local-part found in
            the 'l=' tag local-part list are considered trustworthy by the email-address domain. This flag is not valid
            in "ehlo-policy" records.</t>
        </section>

        <section title="(V)alid Designated Local-Parts">
          <t>This "V" flag asserts that messages carrying the email-address containing a designated local-part found in
            the 'l=' tag local-part list are considered to be valid by the email-address domain. This flag is not valid
            in "ehlo-policy" records.</t>
        </section>
      </section>

      <section title="Designated Signing for Address">
        <t>a= Designated Signing for Address (Optional). This list defines domains considered to be the equivalent of
          the respective email-address domain for the purpose of assessing policy. These domains do not play the role of
          providing valid email-addresses, they only provide valid signatures. When the domain is prefixed with the "*."
          wildcard label, then all subdomains of this domain are also included to allow multiple "sig-labels" to share a
          common resource record.</t>

        <t>It is possible for a signing domain to be at a higher level than the respective email-address domain and not
          be designated. When the signing domain is not specifically listed within either designated signing domain
          lists (a= &amp; d=), no policy related assurances are made. This list is not valid in "ehlo-policy"
          records. When the signing domain used to generate the "sig-label" is not found in the list, and the list is
          not empty, the policy should be obtained by replacing the "sig-label" with "*" instead. In practice, this step
          should rarely be needed.</t>
        <t>
          <list>
            <t>dsa = [ANY] domain 0*(*FWS colon *FWS [ANY] domain)</t>
            <t>dsa-list = %x61 [FWS] equals [FWS] dsa<vspace blankLines="1"/></t>
          </list>
        </t>
      </section>

      <section title="Designated Signing for Domain">
        <t>d= Designated Signing for Address (Optional). This list defines domains considered to be the equivalent of
          the respective email-address domain for the purpose of assessing policy. In addition, these domains play the
          role of providing valid email-addresses. When the domain is prefixed with the "*." wildcard label, then all
          subdomains of this domain are also included, which allows multiple "sig-labels" to share a common resource
          record.</t>

        <t>It is possible for a signing domain to be at a higher level than the respective email-address domain and not
          be designated. When the signing domain is not specifically listed within either designated signing domain
          lists (a= &amp; d=), no policy related assurances are made. This list also confirms SMTP Client domains in
          "ehlo-policy" records. When the EHLO or signing domain used to generate the "ehlo-label" or "sig-label"
          respectively is not found in the list, and the list is not empty, the policy should be obtained by replacing
          the "ehlo-label" or "sig-label" with "*" instead. In practice, this step should rarely be needed.</t>
        <t>
          <list>
            <t>dsd = [ANY] domain 0*(*FWS colon *FWS [ANY] domain)</t>
            <t>dsd-list = %x64 [FWS] equals [FWS] dsd<vspace blankLines="1"/></t>
          </list>
        </t>

      </section>
      <section title="Local-Part">
        <t>l= Local-Part policy published (Optional). This tag lists the designated local-part for which policy is being
          published. The local-part values contained within this tag confirms that the policy applies for the listed
          local-parts. These local-part values may be included in policies not referenced using "lp-labels". It is
          expected only a few email-addresses warrant special handling. When the local-part used to generate the
          "lp-label" is not found in the list, and the list is not empty, the policy should be obtained by replacing the
          "lp-label" with "*" instead. In practice, this step should rarely be needed. This list is not valid in
          "ehlo-policy" records.</t>
        <t>
          <list>
            <t>lp = local-part 0*(*FWS colon *FWS local-part)</t>
            <t>lp-list = %x6C [FWS] equals [FWS] lp<vspace blankLines="1"/></t>
          </list>
        </t>
      </section>

      <section title="Policies in Aggregate">
        <t>
          <list style="symbols">
            <t>The default policy assumed is the same as when no optional fields are entered in the DOSP records. This
              default policy makes no assurance about whether all initial messages have been signed and does not include
              any additional domain associations.</t>

            <t>When a policy flags is asserted, it may be necessary to list the respective email-address domains in
              either the "Designated Signing for Address" (a=) or "Designated Signing for Domain" (d=) list.</t>

            <t>Listing the email-address domain in the "Designated Signing for Domain" list asserts that regardless of
              the DKIM signature header field's 'i=' semantics, email-address should not be considered valid.</t>

            <t>When the "Designated Signing for Domain" (d=) list applies in the case of the of <xref target="RFC2821"
              />.MailFrom parameter, this is indicative of a valid signature satisfying a possibly asserted "(A)ll
              initial messages signed" flag. It is unlikely there are benefits obtained by listing the domain in
              "Designated Signing for Address" (a=) list.</t>

            <t>When both the "Designated Signing for Address" (a=) and "Designated Signing for Domain" (d=) list are
              empty, and the "(A)ll initial messages signed" flag is asserted, this then means that no mail originates
              from this domain.</t>

            <t>A domain that ensures that all messages are initially signed and attempts to ensure their users employ
              only complaint services, may indicate this extraordinary effort is being made by asserting both the "(A)ll
              initial messages signed" and the "(O)nly compliant services employed" flags. This combination of flags
              could be helpful in overcoming phishing attempts without negatively affecting domains that assert just the
              "(A)ll initial messages signed" flag.</t>

            <t>Future flags may make use of the "+" symbol to indicate a logical OR of the related assertions. The
              current ":" flag separator can be considered to represent a logical AND of the related assertions.</t>
          </list>
        </t>
      </section>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>This document may wish IANA to reserve the use of the "_DKIM-F", "_DKIM-LF", "_DKIM-O", "_DKIM-LO", "_DKIM-M",
        and "_DKIM-E" domain-name label.</t>
      <t>Note to RFC Editor: this section may be removed on publication as an RFC and no request is desired or
        considered practical.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>This draft defines signing policies related to <xref target="I-D.ietf-dkim-base"/>. There is no expectation
        this policy information is from an authenticated source. Network resources expended to acquire this information
        should be proportional to that needed to verify the signature. Strategies used by the receiver to limit possible
        amplifications that might occur with signature verification should also limit the impact of obtaining this
        information.</t>

      <t>The use of the SHA-1 hash algorithm does not represent a security concern. The hash simply ensures a
        deterministic domain-name size is achieved. Unexpected collisions can be detected and handled by using a default
        value.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>Hector Santos, and Frank Ellermann.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.I-D.ietf-dkim-base" ?>
      <?rfc include="reference.RFC.2119" ?>
      <?rfc include="reference.RFC.2821" ?>
      <?rfc include="reference.RFC.2822" ?>
      <?rfc include="reference.RFC.3548" ?>
      <?rfc include="reference.RFC.4234" ?>
      <?rfc include="reference.FIPS.180-2.2002" ?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.4686" ?>
      <?rfc include="reference.I-D.ietf-dkim-overview" ?>
    </references>

    <section title="DNS Example" toc="default">
      <figure title="">
        <artwork name="" type="" height="" width="" xml:space="preserve">

####          
# example.com email domain using isp.com as a signing domain
# EHLO host-name
                                  mx-01.example.com. IN A  10.1.1.1

#### 2822.From policy
                               *.DKIM-F.example.com. IN TXT
    "v=0.0; a=*.example.com; l=admin; f=A:T:V;"

# "isp.com" sig-label
 hgssd3snmi6635j5743vdjhajkmpmfif.DKIM-F.example.com. IN TXT
    "v=0.0; a=isp.com; f=A;"


#### 2821.MailFrom policy
                                *.DKIM-M.example.com. IN TXT
    "v=0.0; a=*.example.com; f=A;"
          
# "isp.com" sig-label
          
 hgssd3snmi6635j5743vdjhajkmpmfif.DKIM-M.example.com. IN TXT
    "v=0.0; a=isp.com; f=A;"

          
#### 2822.Sender policy
                                *.DKIM-O.example.com. IN TXT
    "v=0.0; a=*.example.com; f=A;"
          
# "isp.com" sig-label
          
 hgssd3snmi6635j5743vdjhajkmpmfif.DKIM-O.example.com. IN TXT
    "v=0.0; a=isp.com; f=A;"

          
          
#### 2821.EHLO policy
                                *.DKIM-E.example.com. IN TXT
    "v=0.0; a=*.example.com; f=A;"

# "mx-01.example.com" ehlo-label
          
 inkzgjwvtenf4zjexukzo4qknqhgwee6.DKIM-E.example.com. IN TXT
    "v=0.0; a=*.example.com; f=A;"

        </artwork>
      </figure>
    </section>
  </back>
</rfc>

