The Transport Layer Security (TLS) Protocol Version 1.1
RFC 4346
Document | Type |
RFC - Historic
(April 2006; Errata)
Obsoleted by RFC 5246
Obsoletes RFC 2246
Status changed by status-change-tls-oldversions-to-historic
|
|
---|---|---|---|
Authors | Tim Dierks , Eric Rescorla | ||
Last updated | 2021-02-02 | ||
Stream | Internent Engineering Task Force (IETF) | ||
Formats | plain text html pdf htmlized (tools) htmlized with errata bibtex | ||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 4346 (Historic) | |
Action Holders |
(None)
|
||
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Russ Housley | ||
Send notices to | (None) |
Network Working Group T. Dierks Request for Comments: 4346 Independent Obsoletes: 2246 E. Rescorla Category: Standards Track RTFM, Inc. April 2006 The Transport Layer Security (TLS) Protocol Version 1.1 Status of This Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2006). Abstract This document specifies Version 1.1 of the Transport Layer Security (TLS) protocol. The TLS protocol provides communications security over the Internet. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. Dierks & Rescorla Standards Track [Page 1] RFC 4346 The TLS Protocol April 2006 Table of Contents 1. Introduction ....................................................4 1.1. Differences from TLS 1.0 ...................................5 1.2. Requirements Terminology ...................................5 2. Goals ...........................................................5 3. Goals of This Document ..........................................6 4. Presentation Language ...........................................6 4.1. Basic Block Size ...........................................7 4.2. Miscellaneous ..............................................7 4.3. Vectors ....................................................7 4.4. Numbers ....................................................8 4.5. Enumerateds ................................................8 4.6. Constructed Types ..........................................9 4.6.1. Variants ...........................................10 4.7. Cryptographic Attributes ..................................11 4.8. Constants .................................................12 5. HMAC and the Pseudorandom Function .............................12 6. The TLS Record Protocol ........................................14 6.1. Connection States .........................................15 6.2. Record layer ..............................................17 6.2.1. Fragmentation ......................................17 6.2.2. Record Compression and Decompression ...............19 6.2.3. Record Payload Protection ..........................19 6.2.3.1. Null or Standard Stream Cipher ............20 6.2.3.2. CBC Block Cipher ..........................21 6.3. Key Calculation ...........................................24 7. The TLS Handshaking Protocols ..................................24 7.1. Change Cipher Spec Protocol ...............................25 7.2. Alert Protocol ............................................26 7.2.1. Closure Alerts .....................................27 7.2.2. Error Alerts .......................................28 7.3. Handshake Protocol Overview ...............................31 7.4. Handshake Protocol ........................................34 7.4.1. Hello Messages .....................................35 7.4.1.1. Hello request .............................35 7.4.1.2. Client Hello ..............................36 7.4.1.3. Server Hello ..............................39 7.4.2. Server Certificate .................................40 7.4.3. Server Key Exchange Message ........................42 7.4.4. Certificate request ................................44 7.4.5. Server Hello Done ..................................46 7.4.6. Client certificate .................................46 7.4.7. Client Key Exchange Message ........................47 7.4.7.1. RSA Encrypted Premaster Secret Message ....47 7.4.7.2. Client Diffie-Hellman Public Value ........50 7.4.8. Certificate verify .................................50 7.4.9. Finished ...........................................51 Dierks & Rescorla Standards Track [Page 2] RFC 4346 The TLS Protocol April 2006 8. Cryptographic Computations .....................................52Show full document text