Network Working Group C. Zhou Internet-Draft H. Gao Intended status: Informational Huawei Technologies Expires: April 21, 2016 October 19, 2015 The Transport Layer Security (TLS) Extension to Support Server Redirect draft-zhou-tls-server-redirect-00 Abstract In some applications, e.g., Hypertext Transfer Protocol Secure (HTTPS) visit, a client request needs to be redireted to the operator's web server for authentication or overdue processing. This specification defines a new extension of TLS handshake protocol [RFC5246] to transmit the redirect Uniform/Universal Resource Locator (URL) for HTTPS applications. 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 April 21, 2016. 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 Zhou & Gao Expires April 21, 2016 [Page 1] Internet-Draft TLS Server Redirect Extension October 2015 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. TLS Handshake Message Extension . . . . . . . . . . . . . . . 3 3.1. The Extended Hello Extensions . . . . . . . . . . . . . . 3 3.2. The Extended Server Redirect . . . . . . . . . . . . . . 3 4. The Packet Processing . . . . . . . . . . . . . . . . . . . . 4 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 7. Normative References . . . . . . . . . . . . . . . . . . . . 5 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5 1. Introduction With the rapid growing of HTTPS applications (e.g., Google), the redirect problems need to be solved in the scenarios which support HTTPS visit. One example scenario is web authentication (in most wifi accesses): when the user wants to visit the web page after acquiring the address, it will be redirected to the operator's authentication page to authenticate. Another scenario is overdue: when the user wants to visit the web page but it is overdue, it will be redirected to the operator's overdue reminding page. In the HTTPS redirect scenarios, the first server, e.g., Broadband Remote Access Server(BRAS), will receive the HTTPS visit request on behalf of the website. It communicates with the client using the web server's certificate for TLS negotiation before redirecting the request to the web server. However, the client (e.g., personal computer) will print warnings after checking that the certificate does not match the domain name it visited. The user usually turns off the page in this case. Therefore, the redirect process fails because the user will have no access to the authentication or overdue redirect page. In [RFC5246], the client sends the ClientHello message to initiate the TLS handshake process. To support the web server redirect, an indication needs to carried in the ClientHello message. The first server, e.g., BRAS, will then send the redirect URL to the client before sending the certificate response or with the certificate response message. This document describes a new extension to the TLS handshake packet to support such redirection in HTTPS applications. Zhou & Gao Expires April 21, 2016 [Page 2] Internet-Draft TLS Server Redirect Extension October 2015 2. Terminology 3. TLS Handshake Message Extension This document defines a TLS extension in the "Hello Extensions" message to carry the "redirect_url_enable" for indicating redirect URL, and defines a new handshake message "Server Redirect" to transmit the redirect URL string. 3.1. The Extended Hello Extensions The "Hello Extensions" message is extended to support the redirect URL: enum { redirect_url_enable(TBA), (65535) } ExtensionType; The length value is zero, carrying no data. 3.2. The Extended Server Redirect A new TLS handshake packet, Server Redirect, is defined to transmit the redirect URL string. The structure is specified as: struct { uint8 urllength; /*redirect_url_length*/ opaque string<0-255>; /*redirect_url*/ } ServerRedirect; Accordingly, a new handshake type is defined as below: select (HandshakeType) { case hello_request: HelloRequest; case client_hello: ClientHello; case server_hello: ServerHello; case certificate: Certificate; case server_key_exchange: ServerKeyExchange; case certificate_request: CertificateRequest; case server_hello_done: ServerHelloDone; case certificate_verify: CertificateVerify; case client_key_exchange: ClientKeyExchange; case finished: Finished; case server_redirect: Server Redirect } body; Zhou & Gao Expires April 21, 2016 [Page 3] Internet-Draft TLS Server Redirect Extension October 2015 4. The Packet Processing Client The first Server Web Server 1. ClientHello --------> 2.ServerHello Redirect* Certificate* ServerKeyExchange* CertificateRequest* <-------- ServerHelloDone 3.Certificate* ClientKeyExchange CertificateVerify* [ChangeCipherSpec] Finished --------> 4.[ChangeCipherSpec] <-------- Finished Get HTTPS --------> <------- Redirect HTTPS HTTPS HTTPS Application Data <--------------------------> Application Data Figure 1: HTTPS Redirect Process * Indicates optional or situation-dependent messages that are not always sent. An example packet processing for HTTPS redirect is illustrated in Figure 1: 1. The client sends a ClientHello packet, carrying the extended redirect_url_enable option, to indicate that the client supports the new HTTPS redirect function. 2. When the first server, which is on behalf of the operator (e.g., BRAS), receives the request, it sends the Server Redirect packet to the client after sending the ServerHello. The URL of the web server is contained in the Server Redirect packet and the certificate of the web server is contained in the Server Certificate packet. 3. The client will check whether the certificate and the URL match after receiving the ServerRedirect. It generates the redirect Zhou & Gao Expires April 21, 2016 [Page 4] Internet-Draft TLS Server Redirect Extension October 2015 reminder page if they match. Otherwise, it will generate the fault warning page. In this case, the client continues the TLS handshake with the first server if it selects to continue visiting. 4. After the TLS handshake message finishes between the client and the first server, and after receiving the Get packet, the client responds with the Redirect HTTPS packet, which carries the redirect URL and some other information related to web page, e.g., Media Access Control (MAC) address, option 82. 5. The client will turn off the connection when it does not receive the Redirect HTTPS or the URL in the Redirect HTTPS is different with the former URL in the Server Redirect. 5. Security Considerations 6. IANA Considerations This document has no actions for IANA. 7. 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, . [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/RFC5246, August 2008, . Authors' Addresses Cathy Zhou Huawei Technologies Bantian, Longgang District Shenzhen 518129 P.R. China Email: cathy.zhou@huawei.com Zhou & Gao Expires April 21, 2016 [Page 5] Internet-Draft TLS Server Redirect Extension October 2015 Hongliang Gao Huawei Technologies Bantian, Longgang District Shenzhen 518129 P.R. China Email: gaohongliang410@huawei.com Zhou & Gao Expires April 21, 2016 [Page 6]