I agree with Ben here. This is very much application-layer (HTTPS) 
functionality being pushed down into the security (TLS) layer. HTTP(S) already 
has a fully functional redirect mechanism, why does this functionality need to 
be pushed to a lower layer? All the cases described in the Introduction can be 
handled at layers independent of TLS

In section 4: “...and after receiving the Get packet, the client responds with 
the…” I believe that “client” should be replaced with “server”.

Section “5. Security Considerations” is completely blank.

From the description it is not clear how much of the handshake completes before 
handling the Redirect. It implies that the Redirect may be acted upon (“fault 
warning page") before the handshake completes, and thus it is not secure. A 
MITM could easily inject the Redirect packet that impacts the client, 
preventing access.

But that is “sorta” the point, a captive portal, acting as a MITM, needs to 
authenticate the user, potentially at any time. This may be going off on a 
tangent, but if the captive portal accepted an HTTPS connection destined for 
anywhere, and if it could announce back to the client that I am your captive 
portal, and the client could verify that, then there would be no need for a 
TLS-level redirect. A browser should be able to handle this by querying for the 
router (i.e. captive portal) IP address/DNS name, and comparing that to the 
received TLS  server credentials. If they match, the client program knows it’s 
talking to a captive portal. I could go into more detail, but it outside the 
scope of this draft.

--
-Todd Short
// tsh...@akamai.com<mailto:tsh...@akamai.com>
// "One if by land, two if by sea, three if by the Internet."

On Oct 21, 2015, at 12:13 PM, Benjamin Kaduk 
<bka...@akamai.com<mailto:bka...@akamai.com>> wrote:

On 10/20/2015 10:02 PM, Zhouqian (Cathy) wrote:
[Cathy]Yes, both web authentication and overdue use cases could be
considered as captive portals. And I have already sent an email to the
capport mailing list for their comments.

I mentioned capport because it sounds like they are trying to solve the
same sort of problem that your solution is trying to solve, not because
I think your proposal will be well-received there.  I agree with Warren
and Joel that directly intercepting TLS connections is not something I
want to support.

In any case, it is far from clear that HTTP-specific issues should be handled at
the TLS layer -- TLS is a generic secure channel protocol used in many
applications other than HTTPS.
[Cathy] As defined in [RFC 5246], "application protocol
     An application protocol is a protocol that normally layers
     directly on top of the transport layer (e.g., TCP/IP).  Examples
     include HTTP, TELNET, FTP, and SMTP.",
the TLS protocol could be used for HTTP applications.


I don't think that's quite the point I was trying to make.  HTTPS is
HTTP layered on top of TLS, yes, but in order for there to be a
separation of layers, TLS should not include any data structures that
are only useful for the HTTPS case.  This document seems to add a field
to TLS that is only used in the HTTPS use case, which seems like a
layering violation to me.

-Ben

_______________________________________________
TLS mailing list
TLS@ietf.org<mailto:TLS@ietf.org>
https://www.ietf.org/mailman/listinfo/tls

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to