Internet DRAFT - draft-zhou-tls-server-redirect

draft-zhou-tls-server-redirect







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*
                        &lt--------      ServerHelloDone
   3.Certificate*
     ClientKeyExchange
     CertificateVerify*
     [ChangeCipherSpec]
     Finished             -------->
                                  4.[ChangeCipherSpec]
                        &lt--------          Finished

     Get HTTPS           -------->

                        &lt-------       Redirect HTTPS

    HTTPS                                                     HTTPS
    Application Data    &lt-------------------------->  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,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC5246]  Dierks, T. and E. Rescorla, "The Transport Layer Security
              (TLS) Protocol Version 1.2", RFC 5246,
              DOI 10.17487/RFC5246, August 2008,
              <http://www.rfc-editor.org/info/rfc5246>.

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]