<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.3.21 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-benecke-cfbl-address-header-00" category="exp">

  <front>
    <title abbrev="CFBL Address Header">Complaint Feedback Loop Address Header</title>

    <author initials="J." surname="Benecke" fullname="Jan-Philipp Benecke">
      <organization>CleverReach GmbH &amp; Co. KG</organization>
      <address>
        <postal>
          <street>Schafjueckenweg 2</street>
          <city>Rastede</city>
          <code>26180</code>
          <country>Germany</country>
        </postal>
        <phone>+49 4402 97390-16</phone>
        <email>jpb@cleverreach.com</email>
      </address>
    </author>

    <date year="2021" month="June" day="29"/>

    <area>art</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document describes a method to allow a mail sender to specify a complaint feedback loop address as an email header
and how a mail receiver can use it. This document also defines the rules for processing and forwarding such a complaint.
The motivation for this arises out of the absence of a standardized and automated way to provide a complaint feedback loop address to mailbox providers.
Currently, providing and maintaining such an address to a mailbox provider is a manual and time-consuming process.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction-and-motivation" title="Introduction and Motivation">

<t>Since a long time there is a way to forward manual complaints back to e.g. a broadcast marketing list operator.
The mailbox provider provides a so-called feedback loop <xref target="RFC6449"/>. This feedback loop is being used to give e.g. operators of broadcast marketing lists 
feedback about resulting complaints from their marketing mailings. Those complaints are based on manual user interaction e.g. IMAP movement to "Junk".</t>

<t>As described in <xref target="RFC6449"/> the registration for such a feedback loop needs to be done manually by a human at any FBL provider he wants to receive complaints from.
Which can be quite time-consuming if there are new feedback loops rising up, or the mail sender wants to add new ip addresses or DKIM domains.
Besides, a manual process isn't well suitable and/or doable for smaller mailbox providers.</t>

<t>The change of such a complaint address e.g. due to an infrastructure change is another problem. 
Due to this manual process the mail sender needs to go through all providers again and delete his existing subscriptions and re-signup with the new complaint address.</t>

<t>This document addresses this problem with a new email header.
It extends the described complaint feedback loop recommendations in <xref target="RFC6449"/> with an automated way to provide the complaint feedback loop address to mail receiver.</t>

<t>Mail senders can add this header and willing mailbox provider can use this header to forward the generated report to the provided complaint address.
The mail sender just needs to add a email header and isn't required to signup manually at every feedback loop provider.
Another benefit would be the mailbox provider doesn't need to develop a manual registration process and verification process.</t>

<t>A new email header has been chosen over a new DNS record in favour to be able to easily distinguish between
multiple broadcast marketing list operators / mail senders, without the intervention of its users or administrators.
For example, if a company uses multiple sending systems, each system can set this header on their own, without the need of a change that has to be done by its users or administrators.
On the side of the mailbox provider, there is no need to do an additional DNS query to get the complaint address.</t>

<t>This document has been created with GDPR and other data-regulation laws in mind and to address the resulting problems 
in providing an automated complaint feedback loop address, as the email may contain personal data.</t>

<t>Summarised this document has following goals:</t>

<t><list style="symbols">
  <t>Allow mail senders to signal that there is a complaint address without a manual registration at all providers.</t>
  <t>Have a way for mailbox provider to get a complaint address without developing an own manual registration process.</t>
  <t>Be able to provide a complaint address to smaller mailbox providers who do not have a feedback loop registration process.</t>
  <t>Provide a GDPR compliant way for a complaint feedback loop</t>
</list></t>

</section>
<section anchor="definitions" title="Definitions">

<t>The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/>
when, and only when, they appear in all capitals, as shown here.</t>

<t>The keyword "FBL" in this document is the abbreviation for "feedback loop" and will hereafter be used.</t>

<t>The keyword "CFBL" in this document is the abbreviation for "complaint feedback loop" and will hereafter be used.</t>

<t>The keyword "MBP" in this document is the abbreviation for "mailbox provider" and will hereafter be used.</t>

</section>
<section anchor="requirements" title="Requirements">

<section anchor="complaining-about-an-email" title="Complaining about an email">
<t>The email (sent by mail sender/broadcast marketing list operator) about which a complaint should be sent MUST have at least one valid <xref target="DKIM"/> signature, which covers the From-Header <xref target="MAIL"/> domain. 
The email about which a complaint should be sent MUST be aligned as specified in <xref target="DMARC"/>.
The Complaint-FBL-Address header MUST be covered by the signature, it MUST be included in the "h=" tag of the valid DKIM-Signature header field.</t>

<t>If the message isn't properly aligned, nor it does have the required header coverage by <xref target="DKIM"/>, the MBP SHOULD NOT send a report email.</t>

<t>This ensures that only reports are sent to the complaint address that are based on an authenticated email.</t>

</section>
<section anchor="report-email" title="Report email">
<t>The report email (sent by MBP to mail sender) MUST have a valid <xref target="DKIM"/> signature and MUST cover the From-Header <xref target="MAIL"/> domain.</t>

<t>If the message does not have the required valid <xref target="DKIM"/>, the mail sender SHOULD NOT process this email.</t>

<t>It is highly RECOMMENDED that the mail sender does further plausibility checks.</t>

</section>
</section>
<section anchor="implementation" title="Implementation">

<section anchor="mail-senders" title="Mail senders">
<t>A mail sender that wishes to receive complaints about their mailings MUST place a Complaint-FBL-Address in the message.
The mail sender MAY place a Feedback-ID header in the message out of various reasons.</t>

<t>The receiving complaint FBL address, placed in the message, MUST accept <xref target="ARF"/> compatible reports.
It is highly RECOMMENDED processing these ARF reports automatically and unsubscribe the complaining receivers.</t>

<t>The mail sender MUST take action to address the described requirements in <xref target="requirements"></xref>.</t>

</section>
<section anchor="mailbox-provider" title="Mailbox provider">
<t>An MBP MAY process the complaint and forward it to the complaint FBL address.</t>

<t>If the MBP wants to process the complaints and forwards it, he MUST query the Complaint-FBL-Address header.</t>

<t>An <xref target="ARF"/> compatible report MUST be sent when a manual action has been taken, e.g. when a receiver marks a mail as spam, 
by clicking the "This is spam"-button in any web portal or by moving a mail to junk folder, this includes also IMAP/POP3 movements.
The MBP SHOULD NOT send any report when an automatic decisions has been made, e.g. spam filtering.</t>

<t>The MBP MUST validate and take action to address the described requirements in <xref target="requirements"></xref>.</t>

</section>
</section>
<section anchor="complaint-report" title="Complaint report">
<t>The complaint report (sent by MBP to mail sender) MUST be an <xref target="ARF"/> report. 
The report MUST contain at least the Message-ID <xref target="MAIL"/> or the header "Feedback-ID" of the complaining email.</t>

<t>The MBP MAY omit all further headers and/or body to comply with any data-regulation laws.</t>

<t>It is highly RECOMMENDED that, if used, the Feedback-ID includes a hard to forge component such as an <xref target="HMAC"/> using a secret
key, instead of a plain-text string.</t>

</section>
<section anchor="header-syntax" title="Header Syntax">

<section anchor="complaint-fbl-address" title="Complaint-FBL-Address">
<t>The following ABNF imports fields, WSP, CRLF and addr-spec from <xref target="MAIL"/>.</t>

<figure><artwork type="abnf"><![CDATA[
fields /= cfbl-address

cfbl-address = "Complaint-FBL-Address:" 0*1WSP "<" addr-spec ">" CRLF
]]></artwork></figure>

</section>
<section anchor="feedback-id" title="Feedback-ID">
<t>The following ABNF imports fields, WSP, CRLF and atext from <xref target="MAIL"/>. It imports ALPHA and DIGIT from <xref target="RFC5234"/>.</t>

<figure><artwork type="abnf"><![CDATA[
fields /= feedback-id

feedback-id = "Feedback-ID:" 0*1WSP fid CRLF

fid = 1*(atext | ":")
]]></artwork></figure>

</section>
</section>
<section anchor="security-considerations" title="Security Considerations">
<t>This section discusses possible security issues, and their possible solutions, of a complaint FBL address header.</t>

<section anchor="attacks-on-the-fbl-address" title="Attacks on the FBL address">
<t>As any other email address, a complaint FBL addresses can be an attack vector for malicious emails. 
The complaint FBL addresses can be for example flooded with spam. 
This is an existing problem with any existing email address and isn't newly created by this document.</t>

<t>The broadcast marketing lists operator/mail sender must take appropriated measures.
One possible countermeasure would be a rate limit on the delivering IP.
However, this should be done with caution, the normal FBL email traffic must not be impaired.</t>

</section>
<section anchor="enumeration-attacks-provoking-unsubscription" title="Enumeration attacks / provoking unsubscription">
<t>A malicious person can send a bunch of forged ARF reports to a known complaint FBL addresses and try to guess a Message-ID/Feedback-ID.
He might try to do a mass-unsubscription of a complete marketing list. This is also an already existing problem with the current FBL implementation.</t>

<t>The receiving broadcast marketing lists operator/mail sender must take appropriated measures.</t>

<t>As a countermeasure it is recommended that the Message-ID and, if used, Feedback-ID uses a hard to forge component such as an <xref target="HMAC"/> using a secret
key, instead of a plain-text string, to make an enumeration attack impossible.</t>

<t>If it is impossible for the broadcast marketing lists operator/mail sender to use a hard to forge component, the broadcast marketing lists operator/mail sender
should take measures to avoid enumeration attacks.</t>

</section>
<section anchor="gdpr-and-other-data-regulation-laws" title="GDPR and other data-regulation laws">
<t>Providing such a header itself doesn't produce a data-regulation law problem.
The resulting ARF report, that is sent to the mail sender by the MBP, may conflict with a data-regulation law, as it may contain personal data.</t>

<t>This document already addresses some parts of this problem and describes a data-regulation law safe way to send a FBL report.
As described in <xref target="complaint-report"></xref>, the MBP may omit the complete body and/or headers and just sends the required fields.
Nevertheless, each MBP must consider on their own, if this implementation is acceptable and complies with the existing data-regulation laws.</t>

<t>As described in <xref target="complaint-report"></xref>, it is also highly RECOMMENDED that the Message-ID and, if used, the Feedback-ID 
includes a hard to forge component such as an <xref target="HMAC"/> using a secret key, instead of a plain-text string.
See <xref target="hmac-example"></xref> for an example.</t>

<t>Using HMAC, or any other hard to forge component, ensures that only the mail sender has knowledge about the data.</t>

</section>
</section>
<section anchor="iana-considerations" title="IANA Considerations">

<section anchor="complaint-fbl-address-1" title="Complaint-FBL-Address">
<t>The IANA is requested to register a new header field, per <xref target="RFC3864"/>, into the "Permanent Message Header Field Names" registry:</t>

<figure><artwork type="abnf"><![CDATA[
Header field name: Complaint-FBL-Address
  
Applicable protocol: mail

Status: experimental

Author/Change controller: Jan-Philipp Benecke <jpb@cleverreach.com>

Specification document: this document
]]></artwork></figure>

</section>
<section anchor="feedback-id-1" title="Feedback-ID">
<t>The IANA is requested to register a new header field, per <xref target="RFC3864"/>, into the "Permanent Message Header Field Names" registry:</t>

<figure><artwork type="abnf"><![CDATA[
Header field name: Feedback-ID

Applicable protocol: mail

Status: experimental

Author/Change controller: Jan-Philipp Benecke <jpb@cleverreach.com>

Specification document: this document
]]></artwork></figure>

</section>
</section>
<section anchor="examples" title="Examples">
<t>For simplicity the DKIM header has been shortened.</t>

<section anchor="simple" title="Simple">
<t>Email about the report will be generated:</t>

<figure><artwork><![CDATA[
Return-Path: <sender@mailer.example.com>
From: Awesome Newsletter <newsletter@example.com>
To: me@example.net
Subject: Super awesome deals for you
Complaint-FBL-Address: <fbl@example.com>
Message-ID: <a37e51bf-3050-2aab-1234-543a0828d14a@mailer.example.com>
Content-Type: text/plain; charset=utf-8

This is a super awesome newsletter.
]]></artwork></figure>

<t>Resulting ARF report:</t>

<figure><artwork><![CDATA[
Feedback-Type: abuse
User-Agent: FBL/0.1
Version: 0.1
Original-Mail-From: sender@mailer.example.com
Arrival-Date: Tue, 23 Jun 2020 06:31:38 GMT
Reported-Domain: example.com
Source-Ip: 192.0.2.1

------=_Part_240060962_1083385345.1592993161900
Content-Type: text/rfc822; charset=UTF-8
Content-Transfer-Encoding: 7bit

Return-Path: <sender@mailer.example.com>
From: Awesome Newsletter <newsletter@example.com>
To: me@example.net
Subject: Super awesome deals for you
Complaint-FBL-Address: <fbl@example.com>
Message-ID: <a37e51bf-3050-2aab-1234-543a0828d14a@mailer.example.com>
Content-Type: text/plain; charset=utf-8

This is a super awesome newsletter.
------=_Part_240060962_1083385345.1592993161900--
]]></artwork></figure>

</section>
<section anchor="gdpr-safe-report" title="GDPR safe report">
<t>Email about the report will be generated:</t>

<figure><artwork><![CDATA[
Return-Path: <sender@mailer.example.com>
From: Awesome Newsletter <newsletter@example.com>
To: me@example.net
Subject: Super awesome deals for you
Complaint-FBL-Address: <fbl@example.com>
Message-ID: <a37e51bf-3050-2aab-1234-543a0828d14a@mailer.example.com>
Feedback-ID: 111:222:333:4444
Content-Type: text/plain; charset=utf-8

This is a super awesome newsletter.
]]></artwork></figure>

<t>Resulting ARF report contains only the Feedback-ID:</t>

<figure><artwork><![CDATA[
Feedback-Type: abuse
User-Agent: FBL/0.1
Version: 0.1
Original-Mail-From: sender@mailer.example.com
Arrival-Date: Tue, 23 Jun 2020 06:31:38 GMT
Reported-Domain: example.com
Source-Ip: 192.0.2.1

------=_Part_240060962_1083385345.1592993161900
Content-Type: text/rfc822-headers; charset=UTF-8
Content-Transfer-Encoding: 7bit

Feedback-ID: 111:222:333:4444
------=_Part_240060962_1083385345.1592993161900--
]]></artwork></figure>

</section>
<section anchor="hmac-example" title="GDPR safe report with HMAC">
<t>Email about the report will be generated:</t>

<figure><artwork><![CDATA[
Return-Path: <sender@mailer.example.com>
From: Awesome Newsletter <newsletter@example.com>
To: me@example.net
Subject: Super awesome deals for you
Complaint-FBL-Address: <fbl@example.com>
Message-ID: <a37e51bf-3050-2aab-1234-543a0828d14a@mailer.example.com>
Feedback-ID: 3789e1ae1938aa2f0dfdfa48b20d8f8bc6c21ac34fc5023d63f9e64a
       43dfedc0
Content-Type: text/plain; charset=utf-8

This is a super awesome newsletter.
]]></artwork></figure>

<t>Resulting ARF report contains only the Feedback-ID:</t>

<figure><artwork><![CDATA[
Feedback-Type: abuse
User-Agent: FBL/0.1
Version: 0.1
Original-Mail-From: sender@mailer.example.com
Arrival-Date: Tue, 23 Jun 2020 06:31:38 GMT
Reported-Domain: example.com
Source-Ip: 192.0.2.1

------=_Part_240060962_1083385345.1592993161900
Content-Type: text/rfc822-headers; charset=UTF-8
Content-Transfer-Encoding: 7bit

Feedback-ID: 3789e1ae1938aa2f0dfdfa48b20d8f8bc6c21ac34fc5023d63f9e64a
       43dfedc0
------=_Part_240060962_1083385345.1592993161900--
]]></artwork></figure>

</section>
</section>
<section anchor="acknowledgments" title="Acknowledgments">

<t>Technical and editorial reviews and comments were provided by colleagues at CleverReach, and the colleagues at Certified Senders Alliance.
Legal reviews and comments were provided by the colleagues at the Certified Senders Alliance.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC2119" target='https://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="RFC8174" target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<date year='2017' month='May' />
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>



<reference  anchor="DKIM" target='https://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="MAIL" target='https://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="DMARC" target='https://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="ARF" target='https://www.rfc-editor.org/info/rfc5965'>
<front>
<title>An Extensible Format for Email Feedback Reports</title>
<author initials='Y.' surname='Shafranovich' fullname='Y. Shafranovich'><organization /></author>
<author initials='J.' surname='Levine' fullname='J. Levine'><organization /></author>
<author initials='M.' surname='Kucherawy' fullname='M. Kucherawy'><organization /></author>
<date year='2010' month='August' />
<abstract><t>This document defines an extensible format and MIME type that may be used by mail operators to report feedback about received email to other parties.  This format is intended as a machine-readable replacement for various existing report formats currently used in Internet email.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5965'/>
<seriesInfo name='DOI' value='10.17487/RFC5965'/>
</reference>



<reference  anchor="RFC5234" target='https://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>




    </references>

    <references title='Informative References'>





<reference  anchor="RFC6449" target='https://www.rfc-editor.org/info/rfc6449'>
<front>
<title>Complaint Feedback Loop Operational Recommendations</title>
<author initials='J.' surname='Falk' fullname='J. Falk' role='editor'><organization /></author>
<date year='2011' month='November' />
<abstract><t>Complaint Feedback Loops similar to those described herein have existed for more than a decade, resulting in many de facto standards and best practices.  This document is an attempt to codify, and thus clarify, the ways that both providers and consumers of these feedback mechanisms intend to use the feedback, describing some already common industry practices.</t><t>This document is the result of cooperative efforts within the Messaging Anti-Abuse Working Group, a trade organization separate from the IETF.  The original MAAWG document upon which this document is based was published in April, 2010.  This document does not represent the consensus of the IETF; rather it is being published as an Informational RFC to make it widely available to the Internet community and simplify reference to this material from IETF work. This document is not an Internet Standards Track specification; it is published for informational purposes.</t></abstract>
</front>
<seriesInfo name='RFC' value='6449'/>
<seriesInfo name='DOI' value='10.17487/RFC6449'/>
</reference>



<reference  anchor="HMAC" target='https://www.rfc-editor.org/info/rfc2104'>
<front>
<title>HMAC: Keyed-Hashing for Message Authentication</title>
<author initials='H.' surname='Krawczyk' fullname='H. Krawczyk'><organization /></author>
<author initials='M.' surname='Bellare' fullname='M. Bellare'><organization /></author>
<author initials='R.' surname='Canetti' fullname='R. Canetti'><organization /></author>
<date year='1997' month='February' />
<abstract><t>This document describes HMAC, a mechanism for message authentication using cryptographic hash functions. HMAC can be used with any iterative cryptographic hash function, e.g., MD5, SHA-1, in combination with a secret shared key.  The cryptographic strength of HMAC depends on the properties of the underlying hash function.  This memo provides information for the Internet community.  This memo does not specify an Internet standard of any kind</t></abstract>
</front>
<seriesInfo name='RFC' value='2104'/>
<seriesInfo name='DOI' value='10.17487/RFC2104'/>
</reference>



<reference  anchor="RFC3864" target='https://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>




    </references>



  </back>

<!-- ##markdown-source:
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

-->

</rfc>

