The Wayback Machine - https://web.archive.org/web/20171219203836/https://tools.ietf.org/html/draft-rescorla-tls-extended-random-02
[Docs] [txt|pdf|xml] [Tracker] [Email] [Diff1] [Diff2] [Nits]
Versions: 00 01 02
Network Working Group E. Rescorla
Internet-Draft RTFM, Inc.
Intended status: Informational M. Salter
Expires: September 3, 2009 National Security Agency
March 02, 2009
Extended Random Values for TLS
draft-rescorla-tls-extended-random-02.txt
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. This document may contain material
from IETF Documents or IETF Contributions published or made publicly
available before November 10, 2008. The person(s) controlling the
copyright in some of this material may not have granted the IETF
Trust the right to allow modifications of such material outside the
IETF Standards Process. Without obtaining an adequate license from
the person(s) controlling the copyright in such materials, this
document may not be modified outside the IETF Standards Process, and
derivative works of it may not be created outside the IETF Standards
Process, except to format it for publication as an RFC or to
translate it into languages other than English.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 3, 2009.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
Rescorla & Salter Expires September 3, 2009 [Page 1]
Internet-Draft Extended TLS Random March 2009
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Abstract
This document describes an extension for using larger client and
server Random values with Transport Layer Security (TLS) and Datagram
TLS (DTLS).
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions Used In This Document . . . . . . . . . . . . . . . 3
3. The ExtendedRandom Extension . . . . . . . . . . . . . . . . . 3
3.1. Negotiating the ExtendedRandom Extension . . . . . . . . . 4
3.2. PRF Modifications . . . . . . . . . . . . . . . . . . . . . 4
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 5
4.1. Threats to TLS . . . . . . . . . . . . . . . . . . . . . . 5
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.1. Normative References . . . . . . . . . . . . . . . . . . . 5
7.2. Informative References . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6
Rescorla & Salter Expires September 3, 2009 [Page 2]
Internet-Draft Extended TLS Random March 2009
1. Introduction
TLS [I-D.ietf-tls-rfc4346-bis] and DTLS [RFC4347] use a 32-byte
"Random" value consisting of a 32-bit time value time and 28 randomly
generated bytes:
struct {
uint32 gmt_unix_time;
opaque random_bytes[28];
} Random;
The client and server each contribute a Random value which is then
mixed with secret keying material to produce the final per-
association keying material.
The United States Department of Defense has requested a TLS mode
which allows the use of longer public randomness values for use with
high security level cipher suites like those specified in Suite B
[I-D.rescorla-tls-suiteb]. The rationale for this as stated by DoD
is that the public randomness for each side should be at least twice
as long as the security level for cryptographic parity, which makes
the 224 bits of randomness provided by the current TLS random values
insufficient.
This document specifies an extension which allows for additional
randomness to be exchanged in the Hello messages.
2. Conventions Used In This Document
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 [RFC2119].
3. The ExtendedRandom Extension
This document defines a new TLS extension called "extended_random".
The "extended_random" extension carried in a new TLS extension called
"ExtendedRandom".
struct {
opaque extended_random_value<0..2^16-1>;
} ExtendedRandom;
The extended_random_value MUST be a randomly generated byte string.
A cryptographically secure PRNG [RFC4086] SHOULD be used.
Rescorla & Salter Expires September 3, 2009 [Page 3]
Internet-Draft Extended TLS Random March 2009
3.1. Negotiating the ExtendedRandom Extension
The client requests support for the extended randomness feature by
sending an "extended_random" extension in its ClientHello. The
"extension_data" field contains an ExtendedRandom value.
When a server which does not recognize the "extended_random"
extension receives one, it will ignore it as required. A server
which recognizes the extension MAY choose to ignore it, in which case
it SHOULD continue with the exchange as if it had not received the
extension.
If the server wishes to use the extended randomness feature, it MUST
send its own "extended_random" extension with an
extended_random_value equal in length to the client's
extended_random_value. Clients SHOULD check the length of the
server's extended_random_value and generate a fatal
"illegal_parameter" error if it is present but does does not match
the length that was transmitted in the ClientHello.
Because TLS does not permit servers to request extensions which the
client did not offer, the client may not offer the "extended_random"
extension even if the server requires it. In this case, the server
should generate a fatal "handshake_failure" alert.
Because there is no way to mark extensions as critical, the server
may ignore the "extended_random" extension even though the client
requires it. If a client requires the extended randomness input
feature but the server does not negotiate it, the client SHOULD
generate a fatal "handshake_failure" alert.
3.2. PRF Modifications
When the extended randomness feature is in use, the extended random
values MUST be mixed into the PRF along with the client and server
random values during the PMS->MS conversion. Thus, the PRF becomes:
master_secret = PRF(pre_master_secret, "master secret",
ClientHello.random +
ClientHello.extended_random_value +
ServerHello.random +
ServerHello.extended_random_value)[0..47];
Because new extensions may not be introduced in resumed handshakes,
mixing in the extended inputs during the MS->keying material
conversion would simply involve mixing in the same material twice.
Therefore, the extended random inputs are only used when the PMS is
converted into the MS.
Rescorla & Salter Expires September 3, 2009 [Page 4]
Internet-Draft Extended TLS Random March 2009
4. Security Considerations
4.1. Threats to TLS
When this extension is in use it increases the amount of data that an
attacker can inject into the PRF. This potentially would allow an
attacker who had partially compromised the PRF greater scope for
influencing the output. Hash-based PRFs like the one in TLS are
designed to be fairly indifferent to the input size (the input is
already greater than the block size of most hash functions), however
there is currently no proof that a larger input space would not make
attacks easier.
Another concern is that bad implementations might generate low
entropy extented random values. TLS is designed to function
correctly even when fed low-entropy random values because they are
primarily used to generate distinct keying material for each
connection.
5. IANA Considerations
This document defines an extension to TLS, in accordance with
[I-D.ietf-tls-rfc4366-bis]:
enum { extended_random (??) } ExtensionType;
[[ NOTE: These values need to be assigned by IANA ]]
6. Acknowledgements
This work was supported by the US Department of Defense.
7. References
7.1. Normative References
[I-D.ietf-tls-rfc4346-bis]
Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", draft-ietf-tls-rfc4346-bis-10
(work in progress), March 2008.
[RFC4086] Eastlake, D., Schiller, J., and S. Crocker, "Randomness
Requirements for Security", BCP 106, RFC 4086, June 2005.
Rescorla & Salter Expires September 3, 2009 [Page 5]
Internet-Draft Extended TLS Random March 2009
7.2. Informative References
[I-D.ietf-tls-rfc4366-bis]
3rd, D., "Transport Layer Security (TLS) Extensions:
Extension Definitions", draft-ietf-tls-rfc4366-bis-03
(work in progress), October 2008.
[I-D.rescorla-tls-suiteb]
Salter, M., Rescorla, E., and R. Housley, "Suite B Profile
for Transport Layer Security (TLS)",
draft-rescorla-tls-suiteb-11 (work in progress),
November 2008.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer
Security", RFC 4347, April 2006.
Authors' Addresses
Eric Rescorla
RTFM, Inc.
2064 Edgewood Drive
Palo Alto, CA 94303
USA
Email: ekr@rtfm.com
Margaret Salter
National Security Agency
9800 Savage Rd.
Fort Meade 20755-6709
USA
Email: msalter@restarea.ncsc.mil
Rescorla & Salter Expires September 3, 2009 [Page 6]
Html markup produced by rfcmarkup 1.124, available from
https://tools.ietf.org/tools/rfcmarkup/