6008
PROPOSED STANDARD
Authentication-Results Registration for Differentiating among Cryptographic Results
Authors: M. Kucherawy
Date: September 2010
Working Group: NON WORKING GROUP
Stream: IETF
Abstract
This memo updates the registry of properties in Authentication- Results: message header fields to allow a multiple-result report to distinguish among one or more cryptographic signatures on a message, thus associating specific results with the signatures they represent. [STANDARDS-TRACK]
RFC 6008
PROPOSED STANDARD
Internet Engineering Task Force (IETF) M. Kucherawy
Request for Comments: 6008 Cloudmark, Inc.
Category: Standards Track September 2010
ISSN: 2070-1721
<span class="h1">Authentication-Results Registration for Differentiating</span>
<span class="h1">among Cryptographic Results</span>
Abstract
This memo updates the registry of properties in Authentication-
Results: message header fields to allow a multiple-result report to
distinguish among one or more cryptographic signatures on a message,
thus associating specific results with the signatures they represent.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
<a href="https://www.rfc-editor.org/info/rfc6008">http://www.rfc-editor.org/info/rfc6008</a>.
Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
<span class="grey">Kucherawy Standards Track [Page 1]</span>
<span id="page-2" ></span>
<span class="grey"><a href="./rfc6008">RFC 6008</a> Auth-Results Header.b Registration September 2010</span>
Table of Contents
<a href="#section-1">1</a>. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-2">2</a>. Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-3">3</a>. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-2">2</a>
<a href="#section-4">4</a>. Definition . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-5">5</a>. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-6">6</a>. Security Considerations . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-6.1">6.1</a>. Improvement . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-6.2">6.2</a>. Result Forgeries . . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-6.3">6.3</a>. New Schemes with Small Signatures . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-7">7</a>. References . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-7.1">7.1</a>. Normative References . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-7.2">7.2</a>. Informative References . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#appendix-A">Appendix A</a>. Authentication-Results Example . . . . . . . . . . . . <a href="#page-6">6</a>
<a href="#appendix-A.1">A.1</a>. Multiple DKIM Signatures with One Failure . . . . . . . . . <a href="#page-6">6</a>
<a href="#appendix-B">Appendix B</a>. Acknowledgements . . . . . . . . . . . . . . . . . . . <a href="#page-7">7</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
[<a id="ref-AUTHRES">AUTHRES</a>] defined a new header field for electronic mail messages
that presents the results of a message authentication effort in a
machine-readable format. Absent from that specification was the
means by which the results of two cryptographic signatures, such as
those provided by [<a href="#ref-DKIM" title=""DomainKeys Identified Mail (DKIM) Signatures"">DKIM</a>], can both have results reported in an
unambiguous manner.
Fortunately, [<a href="#ref-AUTHRES" title=""Message Header Field for Indicating Message Authentication Status"">AUTHRES</a>] created IANA registries of reporting
properties, enabling an easy remedy for this problem. This memo thus
registers an additional reporting property allowing a result to be
associated with a specific digital signature.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Keywords</span>
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 [<a href="#ref-KEYWORDS" title=""Key words for use in RFCs to Indicate Requirement Levels"">KEYWORDS</a>].
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Discussion</span>
A message can contain multiple signatures of a common sender
authentication mechanism, such as [<a href="#ref-DKIM" title=""DomainKeys Identified Mail (DKIM) Signatures"">DKIM</a>]. For example, a DomainKeys
Identified Mail (DKIM) signer could apply signatures using two or
more different message canonicalization algorithms to determine the
resistance of each to being broken in transit.
<span class="grey">Kucherawy Standards Track [Page 2]</span>
<span id="page-3" ></span>
<span class="grey"><a href="./rfc6008">RFC 6008</a> Auth-Results Header.b Registration September 2010</span>
By applying supported "ptype.property" combinations (cf. the ABNF in
[<a href="#ref-AUTHRES" title=""Message Header Field for Indicating Message Authentication Status"">AUTHRES</a>]), a result can be associated with a given signature
provided the signatures are all unique within one of the registered
values (e.g., all of them had unique "header.d" or "header.i"
values). This is not guaranteed, however; a single signing agent
might have practical reasons for affixing multiple signatures with
the same "d=" values while varying other signature parameters. This
means one could get a "dkim=pass" and "dkim=fail" result
simultaneously on verification, which is clearly ambiguous.
It is thus necessary either to create or to identify a signature
attribute guaranteed to be unique, such that it is possible to
unambiguously associate a result with the signature to which it
refers.
Collisions during general use of SHA1 and SHA256 are uncommon (see
[<a href="#ref-HASH-ATTACKS" title=""Attacks on Cryptographic Hashes in Internet Protocols"">HASH-ATTACKS</a>]), and RSA key signing mechanisms are resilient to
producing common substrings. Thus, the actual digital signature for
a cryptographic signing of the message is an ideal property for such
a unique identification. It is not, however, necessary to include
the entire digital signature in an [<a href="#ref-AUTHRES" title=""Message Header Field for Indicating Message Authentication Status"">AUTHRES</a>] header field just to
identify which result goes with which signature; since the signatures
will almost always be substantially different, it is anticipated that
only the first several bytes of a signature will be needed for
disambiguating results.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Definition</span>
This memo adds the "header.b" reporting item to the IANA "Email
Authentication Methods" registry created upon publication of
[<a href="#ref-AUTHRES" title=""Message Header Field for Indicating Message Authentication Status"">AUTHRES</a>]. The value associated with this item in the header field
MUST be at least the first eight characters of the digital signature
(the "b=" tag from a DKIM-Signature) for which a result is being
relayed, and MUST be long enough to be unique among the results being
reported. Where the total length of the digital signature is fewer
than eight characters, the entire signature MUST be included.
Matching of the value of this item against the signature itself MUST
be case-sensitive.
If an evaluating agent observes that, despite the use of this
disambiguating tag, unequal authentication results are offered about
the same signature from the same trusted authserv-id, that agent
SHOULD ignore all such results.
<span class="grey">Kucherawy Standards Track [Page 3]</span>
<span id="page-4" ></span>
<span class="grey"><a href="./rfc6008">RFC 6008</a> Auth-Results Header.b Registration September 2010</span>
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. IANA Considerations</span>
Per [<a href="#ref-IANA-CONSID" title="">IANA-CONSID</a>], the following item is added to the "Email
Authentication Methods" registry:
+------------+----------+--------+----------------+-----------------+
| Method | Defined | ptype | property | value |
+------------+----------+--------+----------------+-----------------+
| dkim | <a href="./rfc4871">RFC4871</a> | header | b | full or partial |
| | | | | value of |
| | | | | signature "b" |
| | | | | tag |
+------------+----------+--------+----------------+-----------------+
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Security Considerations</span>
[<a id="ref-AUTHRES">AUTHRES</a>] discussed general security considerations regarding the use
of this header field. The following new security considerations
apply when adding or processing this new ptype/property combination:
<span class="h3"><a class="selflink" id="section-6.1" href="#section-6.1">6.1</a>. Improvement</span>
Rather than introducing a new security issue, this can be seen to fix
a security weakness of the original specification: Useful information
can now be obtained from results that could previously have been
ambiguous and thus obscured or, worse, misinterpreted.
<span class="h3"><a class="selflink" id="section-6.2" href="#section-6.2">6.2</a>. Result Forgeries</span>
An attacker could copy a valid signature and add it to a message in
transit, modifying some portion of it. This could cause two results
to be provided for the same "header.b" value even if the entire "b="
string is used in an attempt to differentiate the results. This
attack could cause an ambiguous result to be relayed and possibly
neutralize any benefit given to a "pass" result that would have
otherwise occurred, possibly impacting the delivery of valid
messages.
It is worth noting, however, that a false negative ("fail") can be
generated in this way, but it is extremely difficult to create a
false positive ("pass") through such an attack. Thus, a cautious
implementation could discard the false negative in that instance.
<span class="h3"><a class="selflink" id="section-6.3" href="#section-6.3">6.3</a>. New Schemes with Small Signatures</span>
Should a new signing scheme be introduced with a signature whose
length is less than eight characters, <a href="#section-4">Section 4</a> specifies that the
entire signature must be used. The obvious concern in such a case
<span class="grey">Kucherawy Standards Track [Page 4]</span>
<span id="page-5" ></span>
<span class="grey"><a href="./rfc6008">RFC 6008</a> Auth-Results Header.b Registration September 2010</span>
would be that the signature scheme is itself prone to collisions,
making the value reported by this field not useful. In such cases,
the risk is created by the likelihood of collisions and not by this
mechanism; furthermore, <a href="#section-4">Section 4</a> recommends the results be ignored
if that were to occur, preventing the application of an ambiguous
result.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. References</span>
<span class="h3"><a class="selflink" id="section-7.1" href="#section-7.1">7.1</a>. Normative References</span>
[<a id="ref-AUTHRES">AUTHRES</a>] Kucherawy, M., "Message Header Field for Indicating
Message Authentication Status", <a href="./rfc5451">RFC 5451</a>, April 2009.
[<a id="ref-DKIM">DKIM</a>] Allman, E., Callas, J., Delany, M., Libbey, M.,
Fenton, J., and M. Thomas, "DomainKeys Identified
Mail (DKIM) Signatures", <a href="./rfc4871">RFC 4871</a>, May 2007.
[<a id="ref-KEYWORDS">KEYWORDS</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.
<span class="h3"><a class="selflink" id="section-7.2" href="#section-7.2">7.2</a>. Informative References</span>
[<a id="ref-HASH-ATTACKS">HASH-ATTACKS</a>] Hoffman, P. and B. Schneier, "Attacks on
Cryptographic Hashes in Internet Protocols",
<a href="./rfc4270">RFC 4270</a>, November 2005.
[<a id="ref-IANA-CONSID">IANA-CONSID</a>] Narten, T. and H. Alvestrand, "Guidelines for Writing
an IANA Considerations Section in RFCs", <a href="https://www.rfc-editor.org/bcp/bcp26">BCP 26</a>,
<a href="./rfc5226">RFC 5226</a>, May 2008.
<span class="grey">Kucherawy Standards Track [Page 5]</span>
<span id="page-6" ></span>
<span class="grey"><a href="./rfc6008">RFC 6008</a> Auth-Results Header.b Registration September 2010</span>
<span class="h2"><a class="selflink" id="appendix-A" href="#appendix-A">Appendix A</a>. Authentication-Results Example</span>
This section presents an example of the use of this new item header
field to indicate unambiguous authentication results.
<span class="h3"><a class="selflink" id="appendix-A.1" href="#appendix-A.1">A.1</a>. Multiple DKIM Signatures with One Failure</span>
A message that had two DKIM signatures applied by the same domain,
one of which failed:
Authentication-Results: mail-router.example.net;
dkim=pass (good signature) header.d=newyork.example.com
header.b=oINEO8hg;
dkim=fail (bad signature) header.d=newyork.example.com
header.b=EToRSuvU
Received: from newyork.example.com
(newyork.example.com [192.0.2.250])
by mail-router.example.net (8.11.6/8.11.6)
for <recipient@example.net>
with ESMTP id i7PK0sH7021929;
Fri, Feb 15 2002 17:19:22 -0800
DKIM-Signature: v=1; a=rsa-sha256; s=rashani;
d=newyork.example.com;
t=1188964191; c=relaxed/simple;
h=From:Date:To:Message-Id:Subject;
bh=sEu28nfs9fuZGD/pSr7ANysbY3jtdaQ3Xv9xPQtS0m7=;
b=oINEO8hgn/gnunsg ... 9n9ODSNFSDij3=
DKIM-Signature: v=1; a=rsa-sha256; s=rashani;
d=newyork.example.com;
t=1188964191; c=simple/simple;
h=From:Date:To:Message-Id:Subject;
bh=sEu28nfs9fuZGD/pSr7ANysbY3jtdaQ3Xv9xPQtS0m7=;
b=EToRSuvUfQVP3Bkz ... rTB0t0gYnBVCM=
From: [email protected]
Date: Fri, Feb 15 2002 16:54:30 -0800
To: [email protected]
Message-Id: <12345.abc@newyork.example.com>
Subject: here's a sample
Example 1: Header field reporting results from multiple signatures
added at initial signing
Here we see an example of a message that was signed twice by the
author's ADministrative Management Domain (ADMD). One signature used
"relaxed" header canonicalization, and the other used "simple" header
canonicalization; both used "simple" body canonicalization.
<span class="grey">Kucherawy Standards Track [Page 6]</span>
<span id="page-7" ></span>
<span class="grey"><a href="./rfc6008">RFC 6008</a> Auth-Results Header.b Registration September 2010</span>
Presumably due to a change in one of the five header fields covered
by the two signatures, the former signature passed, while the latter
signature failed to verify. In particular, the "relaxed" header
canonicalization of [<a href="#ref-DKIM" title=""DomainKeys Identified Mail (DKIM) Signatures"">DKIM</a>] is resilient to changes in whitespace in
the header, while "simple" is not, and the latter is the one that
failed in this example.
The item registered by this memo allows an evaluation module to
determine which DKIM result goes with which signature. Without the
"header.b" portion of the result, it is unclear which one passed and
which one failed.
<span class="h2"><a class="selflink" id="appendix-B" href="#appendix-B">Appendix B</a>. Acknowledgements</span>
The author wishes to acknowledge the following for their review and
constructive criticism of this proposal: Dave Crocker, Tony Hansen,
Eliot Lear, S. Moonesamy, and Alessandro Vesely.
Author's Address
Murray S. Kucherawy
Cloudmark, Inc.
128 King St., 2nd Floor
San Francisco, CA 94107
US
Phone: +1 415 946 3800
EMail: [email protected]
Kucherawy Standards Track [Page 7]
Annotations
Select text to annotate