Internet DRAFT - draft-martin-authentication-results-tls
draft-martin-authentication-results-tls
Network Working Group F. Martin, Ed.
Internet-Draft LinkedIn
Updates: 7001 (if approved) December 19, 2014
Intended status: Standards Track
Expires: June 22, 2015
Authentication-Results Registration for TLS
draft-martin-authentication-results-tls-03
Abstract
This memo updates the registry of properties in Authentication-
Results: message header fields to allow relaying of the results of an
email sent using STARTTLS [RFC3207] or not.
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 June 22, 2015.
Copyright Notice
Copyright (c) 2014 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
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.
Martin Expires June 22, 2015 [Page 1]
Internet-Draft Auth-Results TLS Registration December 2014
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2
1.2. Discussion . . . . . . . . . . . . . . . . . . . . . . . 2
2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. results meaning . . . . . . . . . . . . . . . . . . . . . 3
2.2. properties . . . . . . . . . . . . . . . . . . . . . . . 4
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
4. Security Considerations . . . . . . . . . . . . . . . . . . . 7
5. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.1. Normative References . . . . . . . . . . . . . . . . . . 7
5.2. Informative References . . . . . . . . . . . . . . . . . 8
Appendix A. Authentication-Results Examples . . . . . . . . . . 8
A.1. TLS Results . . . . . . . . . . . . . . . . . . . . . . . 8
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
STARTTLS [RFC3207] defines how to send an email over an SMTP
[RFC5321] encrypted session between two mail servers.
This memo thus registers an additional reporting property allowing a
TLS result to be relayed as an annotation in a message header.
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].
1.2. Discussion
STARTTLS [RFC3207] defines how to send an email over an encrypted
session between two mail servers, Message Transfer Agent (MTA), using
the TLS [RFC5246] protocol.
Most of these exchanges are opportunistic, meaning a best effort is
done to establish an encrypted message exchange regardless of the
strength of the cipher or the validity of the certificates used.
However, the results of this negotiation should be recorded in the
message via the Authentication-Results header [RFC7001] to indicate
to other message processing algorithms, including Messaging User
Agents (MUA), how securely this message was transmitted from the MTA
client to the MTA server.
The concept of authentication here is related to the presentation of
a certificate which is verified valid by a set of trusted Certificate
Martin Expires June 22, 2015 [Page 2]
Internet-Draft Auth-Results TLS Registration December 2014
Authorithies (CA), via DANE [RFC6698] or by local policy. This does
not indicate that any string in the certificate is related to any
string in the email.
The usage and usefulness of the Authentication-Results header is
discussed in [RFC7001].
2. Definitions
This memo adds to the "Email Authentication Methods" registry,
created by IANA upon publication of [RFC7001], the following:
o The method "tls"; and
o Associated with that method, the properties (reporting items)
"cert.client", "cert.server", "cert.verif", "tls.v",
"key.ciphersuite", "key.fingerprint", "key.length" and
"key.strength".
2.1. results meaning
The "tls" method can have the following results:
none: the message was sent in clear.
pass: the message was sent encrypted and the client certificate was
verified valid either using a trusted CA, via DANE [RFC6698] or via a
local policy and host identity was verified.
selfsigned: the message was sent encrypted but the client certificate
is self signed.
invalidhost: the message was sent encrypted and the client
certificate is verified valid but the host identity is invalid.
fail: the message was sent encrypted but the client certificate is
not valid. It is advised to use comments to indicate the nature of
the problem like certifcate expired, not linked to a trusted CA,...
temperror: the message was sent encrypted and the server was not able
to verify the client certificate at this time. This may indicate for
instance that the server could not fetch the CRL.
permerror: the message was sent encrypted and the client certificate
was not verified by the MTA server. MTA should always attempt to
verify the client certificate.
Martin Expires June 22, 2015 [Page 3]
Internet-Draft Auth-Results TLS Registration December 2014
2.2. properties
cert.client: the subject of the X.509 certificate used by the client
to initiate TLS.
cert.server: the subject of the X.509 certificate used by the server
to initiate TLS (optional).
cert.clientalt: the subject alternative name of the X.509 certificate
used by the client to initiate TLS (optional).
cert.serveralt: the subject alternative name of the X.509 certificate
used by the server to initiate TLS (optional).
cert.clientissuer: the issuer of the X.509 certificate used by the
client to initiate TLS (optional).
cert.serverissuer: the issuer of the X.509 certificate used by the
server to initiate TLS (optional).
cert.verif: the type of certification performed: CA, DANE [RFC6698],
LOCAL (optional).
tls.v: the protocol version used to encrypt SSL2.0, SSL3.0, TLS1.0,
TLS1.1,... (optional)
key.ciphersuite: the description of the TLS cipher suite used as
defined in the IANA cipher suite registry.
key.fingerprint: the fingerprint of the key used (optional).
key.length: the length in bits of the key used (optional).
key.strength: as many SMTP TLS are opportunistic in nature this
property is an arbitrary value set by the MTA server to indicate the
strength of the encryption (optional).
While ciphers strength vary overtime, and key length in bits does not
indicate a comparable strength between various cyphers, it may be
difficult for all the processors of the authentication-results header
to redo the analysis based on the cipher used and all to arrive to
the same conclusion. It seems, therefore, best if the receiving MTA
does that analysis and communicate it to the other layers. This is
the purpose of the key.strength. For instance This value could be
used by the MUA to indicate to the end user some quality of the
encryption channel.
Martin Expires June 22, 2015 [Page 4]
Internet-Draft Auth-Results TLS Registration December 2014
3. IANA Considerations
Per [IANA], the following items have been added to the "Email
Authentication Methods" registry:
+----------+----------+--------+----------------+------------------+
| Method | Defined | ptype | property | value |
+----------+----------+--------+----------------+------------------+
| tls | RFC 3207 | cert | client | subject of |
| | | | | client |
| | | | | certificate |
| | | | | section 4.1.2.6 |
| | | | | of RFC 5280 |
+----------+----------+--------+----------------+------------------+
| tls | RFC 3207 | cert | server | subject of |
| | | | | server |
| | | | | certificate |
| | | | | section 4.1.2.6 |
| | | | | of RFC 5280 |
+----------+----------+--------+----------------+------------------+
| tls | RFC 3207 | cert | clientalt | alternate subject|
| | | | | of client |
| | | | | certificate |
| | | | | section 4.2.1.6 |
| | | | | of RFC 5280 |
+----------+----------+--------+----------------+------------------+
| tls | RFC 3207 | cert | serveralt | alternate subject|
| | | | | of server |
| | | | | certificate |
| | | | | section 4.2.1.6 |
| | | | | of RFC 5280 |
+----------+----------+--------+----------------+------------------+
| tls | RFC 3207 | cert | clientissuer | issuer of |
| | | | | client |
| | | | | certificate |
| | | | | section 4.1.2.4 |
| | | | | of RFC 5280 |
+----------+----------+--------+----------------+------------------+
| tls | RFC 3207 | cert | serverissuer | issuer of |
| | | | | server |
| | | | | certificate |
| | | | | section 4.1.2.4 |
| | | | | of RFC 5280 |
+----------+----------+--------+----------------+------------------+
| tls | RFC 3207 | cert | verif | CA |
| | | | | DANE |
| | | | | LOCAL |
+----------+----------+--------+----------------+------------------+
Martin Expires June 22, 2015 [Page 5]
Internet-Draft Auth-Results TLS Registration December 2014
| tls | RFC 3207 | tls | v | protocol |
| | | | | version |
| | | | | description |
| | | | | from RFC 5246 |
+----------+----------+--------+----------------+------------------+
| tls | RFC 3207 | key | ciphersuite | IANA cipher |
| | | | | suite registry |
| | | | | description |
| | | | | from RFC 5246 |
+----------+----------+--------+----------------+------------------+
| tls | RFC 3207 | key | fingerprint | key |
| | | | | fingerprint |
| | | | | from RFC 5246 |
+----------+----------+--------+----------------+------------------+
| tls | RFC 3207 | key | length | in bits |
+----------+----------+--------+----------------+------------------+
| tls | RFC 3207 | key | strength | low |
| | | | | medium |
| | | | | high |
| | | | | |
+----------+----------+--------+----------------+------------------+
Also, the following items have been added to the "Email
Authentication Result Names" registry:
Martin Expires June 22, 2015 [Page 6]
Internet-Draft Auth-Results TLS Registration December 2014
+-------------+--------------+------------+---------+---------------+
| Code | Existing/New | Defined In | Method | Meaning |
+-------------+--------------+------------+---------+---------------+
| none | existing | RFC 7001 | tls | this memo |
| | | | (added) | |
+-------------+--------------+------------+---------+---------------+
| pass | existing | RFC 7001 | tls | this memo |
| | | | (added) | |
+-------------+--------------+------------+---------+---------------+
| selfsigned | existing | RFC 7001 | tls | this memo |
| | | | (added) | |
+-------------+--------------+------------+---------+---------------+
| invalidhost | existing | RFC 7001 | tls | this memo |
| | | | (added) | |
+-------------+--------------+------------+---------+---------------+
| fail | existing | RFC 7001 | tls | this memo |
| | | | (added) | |
+-------------+--------------+------------+---------+---------------+
| temperror | existing | RFC 7001 | tls | this memo |
| | | | (added) | |
+-------------+--------------+------------+---------+---------------+
| permerror | existing | RFC 7001 | tls | this memo |
| | | | (added) | |
+-------------+--------------+------------+---------+---------------+
4. Security Considerations
This memo creates a mechanism for relaying STARTTLS [RFC3207] results
using the structure already defined by [RFC7001]. The Security
Considerations sections of those documents should be consulted.
By this mechanism, some identifiers of the client certificates gets
to live pass the receiving MTA. This is a change in the sender
expectation on where the client certificate is used
5. References
5.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over
Transport Layer Security", RFC 3207, February 2002.
[RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC
Text on Security Considerations", BCP 72, RFC 3552, July
2003.
Martin Expires June 22, 2015 [Page 7]
Internet-Draft Auth-Results TLS Registration December 2014
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, August 2008.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, May 2008.
[RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
October 2008.
[RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication
of Named Entities (DANE) Transport Layer Security (TLS)
Protocol: TLSA", RFC 6698, August 2012.
[RFC7001] Kucherawy, M., "Message Header Field for Indicating
Message Authentication Status", RFC 7001, September 2013.
5.2. Informative References
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
Appendix A. Authentication-Results Examples
This section presents an example of the use of this new header field
to indicate TLS results.
A.1. TLS Results
Martin Expires June 22, 2015 [Page 8]
Internet-Draft Auth-Results TLS Registration December 2014
A message that went over a successful TLS session:
Authentication-Results: mail-router.example.net;
dkim=pass (good signature) header.d=newyork.example.com
header.b=oINEO8hg;
tls=pass (verified, expires 20140505)
cert.verif=CA
cert.client="CN=smtp.example.com,O=ACME,L=ToonTown,
ST=CA,C=US"
cert.clientalt="DNS:smtp.example.com, DNS:newyork.example.com"
cert.clientissuer="C=US, O=AcmeCert Inc, CN=AcmeCert CA"
key.ciphersuite=TLS_RSA_WITH_RC4_128_SHA
tls.v=TLS1.0
key.fingerprint="68:B3:29:DA:98:93:E3:40:99:C7:D8:
AD:5C:B9:C9:40"
key.length=128
key.strength=MEDIUM;
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 ESMTPS 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:VBR-Info:Message-Id:Subject;
bh=sEu28nfs9fuZGD/pSr7ANysbY3jtdaQ3Xv9xPQtS0m7=;
b=oINEO8hgn/gnunsg ... 9n9ODSNFSDij3=
From: sender@newyork.example.com
Date: Fri, Feb 15 2002 16:54:30 -0800
To: meetings@example.net
Message-Id: <12345.abc@newyork.example.com>
Subject: here's a sample
Author's Address
Franck Martin (editor)
LinkedIn
Mountain View, CA
US
Email: fmartin@linkedin.com
Martin Expires June 22, 2015 [Page 9]