Transport Layer Security (TLS) Session Hash and Extended Master Secret Extension
RFC 7627
Document | Type |
RFC - Proposed Standard
(September 2015; No errata)
Updates RFC 5246
|
|
---|---|---|---|
Authors | Karthikeyan Bhargavan , Antoine Delignat-Lavaud , Alfredo Pironti , Adam Langley , Marsh Ray | ||
Last updated | 2015-10-14 | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized bibtex | ||
Reviews | |||
Stream | WG state | Submitted to IESG for Publication | |
Document shepherd | Sean Turner | ||
Shepherd write-up | Show (last changed 2015-03-13) | ||
IESG | IESG state | RFC 7627 (Proposed Standard) | |
Consensus Boilerplate | Yes | ||
Telechat date | |||
Responsible AD | Stephen Farrell | ||
Send notices to | (None) | ||
IANA | IANA review state | Version Changed - Review Needed | |
IANA action state | RFC-Ed-Ack |
Internet Engineering Task Force (IETF) K. Bhargavan, Ed. Request for Comments: 7627 A. Delignat-Lavaud Updates: 5246 A. Pironti Category: Standards Track Inria Paris-Rocquencourt ISSN: 2070-1721 A. Langley Google Inc. M. Ray Microsoft Corp. September 2015 Transport Layer Security (TLS) Session Hash and Extended Master Secret Extension Abstract The Transport Layer Security (TLS) master secret is not cryptographically bound to important session parameters such as the server certificate. Consequently, it is possible for an active attacker to set up two sessions, one with a client and another with a server, such that the master secrets on the two sessions are the same. Thereafter, any mechanism that relies on the master secret for authentication, including session resumption, becomes vulnerable to a man-in-the-middle attack, where the attacker can simply forward messages back and forth between the client and server. This specification defines a TLS extension that contextually binds the master secret to a log of the full handshake that computes it, thus preventing such attacks. 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 Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7627. Bhargavan, et al. Standards Track [Page 1] RFC 7627 TLS Session Hash Extension September 2015 Copyright Notice Copyright (c) 2015 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. Table of Contents 1. Introduction ....................................................3 2. Requirements Notation ...........................................5 3. The TLS Session Hash ............................................5 4. The Extended Master Secret ......................................6 5. Extension Negotiation ...........................................6 5.1. Extension Definition .......................................6 5.2. Client and Server Behavior: Full Handshake .................7 5.3. Client and Server Behavior: Abbreviated Handshake ..........7 5.4. Interoperability Considerations ............................9 6. Security Considerations .........................................9 6.1. Triple Handshake Preconditions and Impact ..................9 6.2. Cryptographic Properties of the Hash Function .............11 6.3. Handshake Messages Included in the Session Hash ...........11 6.4. No SSL 3.0 Support ........................................12 7. IANA Considerations ............................................12 8. References .....................................................12 8.1. Normative References ......................................12 8.2. Informative References ....................................13 Acknowledgments ...................................................14 Authors' Addresses ................................................15 Bhargavan, et al. Standards Track [Page 2] RFC 7627 TLS Session Hash Extension September 2015 1. Introduction In TLS [RFC5246], every session has a "master_secret" computed as: master_secret = PRF(pre_master_secret, "master secret", ClientHello.random + ServerHello.random) [0..47]; where the "pre_master_secret" is the result of some key exchange protocol. For example, when the handshake uses an RSA ciphersuite,Show full document text