Internet DRAFT - draft-srose-dkim-ecc
draft-srose-dkim-ecc
Internet Engineering Task Force S. Rose
Internet-Draft NIST
Updates: 6376 (if approved) April 6, 2017
Intended status: Standards Track
Expires: October 8, 2017
Defining Elliptic Curve Cryptography Algorithms for use with DKIM
draft-srose-dkim-ecc-00
Abstract
DomainKeys Identified Mail (DKIM) uses digital signature to associate
a message with a given sending domain. Currently, there is only one
cryptography algorithm defined for use with DKIM (RSA). This
document defines four new elliptic curve cryptography algorithms for
use with DKIM. This will allow for algorithm agility if a weakness
is found in RSA, and allows for smaller key length to provide the
same digital signature strength.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 8, 2017.
Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) 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
Rose Expires October 8, 2017 [Page 1]
Internet-Draft dkim-ecc April 2017
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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
2. Defining New ECC algorithms for Use with DKIM . . . . . . . . 3
3. Sender Considerations . . . . . . . . . . . . . . . . . . . . 3
4. Receiver Considerations . . . . . . . . . . . . . . . . . . . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . 4
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.1. Normative References . . . . . . . . . . . . . . . . . . 5
7.2. Informative References . . . . . . . . . . . . . . . . . 5
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
DomainKeys Identified Mail (DKIM)[RFC6376] uses digital signatures to
associate a sending domain with a given message. Each DKIM signed
email message as a digital signature in its header, that can be
validated by a receiver by obtaining the appropriate public key
stored in the DNS. Currently, DKIM has only one cryptographic
algorithm defined for use (RSA) and two digital signature algorithms
(RSA/SHA-1 and RSA/SHA-256). In the past, 1024-bit RSA keys were
common, equating to (roughly) a security key strength of 80 bits
[NIST.800-57.2016]. Today, a minimum of 112 bits is recommended,
which equates to 2048 bit RSA keys.
The public portion of 2048 bit RSA keys are still small enough to fit
into a DNS TXT RR without issues in performance. The encoded public
key is too large to fit into the maximum allowed characters in a
string, but a DNS TXT RR allows for multiple strings, so the key can
be broken into "chunks" to allow it to be served. Elliptic Curve
Cryptography (ECC) has shown to have the same (roughly) equivalent
key strength with smaller sizes. A 224 to 255 bit ECDSA key has
(roughly) the same key strength as a 2048 bit RSA key (112 bits of
strength). This means smaller keys can be used to achieve the same
DKIM security strength, as well as being easier to manage in the DNS.
Having additional digital signature algorithms defined for use with
DKIM also permits algorithm agility. If a weakness is discovered in
one digital signature algorithm, email senders can quickly migrate to
another algorithm without waiting for a standards action and
subsequent software update.
Rose Expires October 8, 2017 [Page 2]
Internet-Draft dkim-ecc April 2017
This document defines two new algorithms for DKIM: ECDSA and Edwards-
Curve Digital Signature Algorithm (EdDSA) Ed25519 [RFC8032]. This
document also defines a new hash algorithm (sha512) as well. This
document updates the IANA registry with new values for the
algorithms. This document does not change the DKIM key or signature
formats, but only defines new algorithm values using those formats.
1.1. Requirements Language
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 RFC 2119 [RFC2119].
2. Defining New ECC algorithms for Use with DKIM
This document defines new digital signature algorithms for use with
DKIM. They are ECDSA with P-256 and EdDSA 25519 curve (Ed25519).
algorithm | mnemonic
-------------+-------------
ECDSA P-256 | eccp256
ECDSA P-348 | eccp348
EdDSA 255519| ed25519
EdDSA 448 | ed448
NOTE: Any other algorithms? Or is this too many? Right now, it is
two FIPS approved algorithms and two non-NIST curves (for those that
want those).
The SHA-512 hash algorithm is also now defined for use with DKIM
using the mnemonic 'sha512' for the "h=" DKIM key tag and "a=" sig-
a-tag-h DKIM signature tag.
All of these newly defined algorithms MUST be used with either
SHA-256 or SHA-512 as the hash algorithm. The SHA-1 hash algorithm
MUST NOT be used. The previously defined algorithm (RSA) MAY be used
with the SHA-512 hash algorithm.
NOTE: Any other hash algorithms? SHA-3?
3. Sender Considerations
New algorithms for an established protocols take some time to gain
wide deployment. There will be a period of time where new algorithms
are in operation side by side with older algorithms. There will also
be a sizable percentage of DKIM validators that will not understand
new algorithms until they are upgraded. This will lead to a period
Rose Expires October 8, 2017 [Page 3]
Internet-Draft dkim-ecc April 2017
of time where multiple DKIM signature algorithms are in use for a
sender. Email administrators MAY want to also sign with RSA/SHA-1 or
RSA/SHA-256 for a period of time. This period of time is difficult
to measure, but DMARC [RFC7960] aggregate reports could provide a
view on DKIM validation rates by receivers.
4. Receiver Considerations
These requirements are for DKIM verifiers (as defined it [RFC6376]).
These entities would be the consumers of any end-to-end email
security policy and would be the entity responsible for validating
DKIM signatures.
DKIM verifiers claiming conformance to this document MUST implement
all of the above cryptographic algorithms and SHOULD implement the
SHA-512 hash algorithm.
This document does NOT change the behavior of the core DKIM
specification in that verifiers MUST ignore unknown algorithms in
DKIM signatures.
5. Security Considerations
This document defines the use of new elliptic curve cryptographic
algorithms for use with DomainKey Identified Mail (DKIM). This
document is not a discussion of the relative strengths or weaknesses
of these algorithms, but only defines their use.
There is a risk for mail receivers that do not understand or
implement the new algorithms. Attackers could modify or spoof
messages from sending zones using one of the newly defined algorithms
and it would not be detectable as an attack by ECC-ignorant
receivers. Likewise, ECC-ignorant receivers may mark valid DKIM
signed email messages as invalid due to unknown algorithms.
6. IANA Considerations
Rose Expires October 8, 2017 [Page 4]
Internet-Draft dkim-ecc April 2017
This draft defines the use of new algorithms for DKIM. This draft
updates the "DKIM Key Tag" registry to include the following new
values:
algorithm | mnemonic | Reference
-------------+------------+--------------
ECDSA P-256 | eccp256 | This document
ECDSA P-348 | eccp348 | This document
EdDSA 255519| ed25519 | This document
EdDSA 448 | ed448 | This document
The current DKIM Key Tag registry is located at
https://www.iana.org/assignments/dkim-parameters/dkim-
parameters.xhtml#dkim-parameters-6
This draft also defines a new hash algorithm for use with DKIM. This
draft updates the "DKIM Hash Algorithms" registry to include the
following new entry:
algorithm | mnemonic | Reference
-------------+------------+--------------
SHA-512 | sha512 | This document
The current DKIM Hash Algorithm registry is located at
https://www.iana.org/assignments/dkim-parameters/dkim-
parameters.xhtml#dkim-parameters-7
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC6376] Crocker, D., Ed., Hansen, T., Ed., and M. Kucherawy, Ed.,
"DomainKeys Identified Mail (DKIM) Signatures", STD 76,
RFC 6376, DOI 10.17487/RFC6376, September 2011,
<http://www.rfc-editor.org/info/rfc6376>.
7.2. Informative References
Rose Expires October 8, 2017 [Page 5]
Internet-Draft dkim-ecc April 2017
[NIST.800-57.2016]
National Institute of Standards and Technology,
"Recommendations for Key Management Part 1: General",
NIST 800-57, January 2016.
[RFC7960] Martin, F., Ed., Lear, E., Ed., Draegen. Ed., T., Zwicky,
E., Ed., and K. Andersen, Ed., "Interoperability Issues
between Domain-based Message Authentication, Reporting,
and Conformance (DMARC) and Indirect Email Flows",
RFC 7960, DOI 10.17487/RFC7960, September 2016,
<http://www.rfc-editor.org/info/rfc7960>.
[RFC8032] Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital
Signature Algorithm (EdDSA)", RFC 8032,
DOI 10.17487/RFC8032, January 2017,
<http://www.rfc-editor.org/info/rfc8032>.
Author's Address
Scott Rose
NIST
100 Bureau Dr.
Gaithersburg, MD 20899
USA
Phone: +1 301-975-8439
Email: scott.rose@nist.gov
Rose Expires October 8, 2017 [Page 6]