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*
<-------- 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,
<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]