Re: [Captive-portals] Thinking of something related to captive portals for the ietf98 hackathon

Dave Dolson <ddolson@sandvine.com> Wed, 22 February 2017 17:04 UTC

Return-Path: <ddolson@sandvine.com>
X-Original-To: captive-portals@ietfa.amsl.com
Delivered-To: captive-portals@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 701B812998D for <captive-portals@ietfa.amsl.com>; Wed, 22 Feb 2017 09:04:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.255
X-Spam-Level:
X-Spam-Status: No, score=-1.255 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_SOFTFAIL=0.665] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pCXgOIJVwXqH for <captive-portals@ietfa.amsl.com>; Wed, 22 Feb 2017 09:04:24 -0800 (PST)
Received: from mail1.sandvine.com (Mail1.sandvine.com [64.7.137.134]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C9F8812940A for <captive-portals@ietf.org>; Wed, 22 Feb 2017 09:04:23 -0800 (PST)
Received: from BLR-EXCHP-2.sandvine.com (192.168.196.172) by WTL-EXCHP-2.sandvine.com (192.168.194.177) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 22 Feb 2017 12:04:22 -0500
Received: from WTL-EXCHP-1.sandvine.com ([fe80::ac6b:cc1e:f2ff:93aa]) by blr-exchp-2.sandvine.com ([::1]) with mapi id 14.03.0319.002; Wed, 22 Feb 2017 12:04:21 -0500
From: Dave Dolson <ddolson@sandvine.com>
To: Lorenzo Colitti <lorenzo@google.com>
Thread-Topic: [Captive-portals] Thinking of something related to captive portals for the ietf98 hackathon
Thread-Index: AdKNFR+bf0xZqFFnS8Og1nbMlvXDPgALR9OAAABizAD//65cY4AAXUeA///HQLY=
Date: Wed, 22 Feb 2017 17:04:21 +0000
Message-ID: <E8355113905631478EFF04F5AA706E987051F25D@wtl-exchp-1.sandvine.com>
References: <D76BBBCF97F57144BB5FCF08007244A77058108A@wtl-exchp-1.sandvine.com> <CADo9JyUz6QRVg23cFmv7xTu_0dzbQM-xVXx7=79k3ao+59szVg@mail.gmail.com> <CAKD1Yr0B2HUz6AXExA7nK3URqkq3yFFuBXRVGM+mMR+KjnO1Ag@mail.gmail.com> <E8355113905631478EFF04F5AA706E987051EC6E@wtl-exchp-1.sandvine.com>, <CAKD1Yr0p37+SuE03SLKQ2tZDxxeL3=jO8gSw9y66UnYXSDzeKw@mail.gmail.com>
In-Reply-To: <CAKD1Yr0p37+SuE03SLKQ2tZDxxeL3=jO8gSw9y66UnYXSDzeKw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [192.168.142.9]
x-c2processedorg: b2f06e69-072f-40ee-90c5-80a34e700794
Content-Type: multipart/alternative; boundary="_000_E8355113905631478EFF04F5AA706E987051F25Dwtlexchp1sandvi_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/captive-portals/8P8KIY7D3G5NcyXg3S_hjL0-0Bg>
Cc: "captive-portals@ietf.org" <captive-portals@ietf.org>, Kyle Larose <klarose@sandvine.com>, "warren@kumari.net" <warren@kumari.net>, David Bird <dbird@google.com>
Subject: Re: [Captive-portals] Thinking of something related to captive portals for the ietf98 hackathon
X-BeenThere: captive-portals@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Discussion of issues related to captive portals <captive-portals.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/captive-portals>, <mailto:captive-portals-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/captive-portals/>
List-Post: <mailto:captive-portals@ietf.org>
List-Help: <mailto:captive-portals-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/captive-portals>, <mailto:captive-portals-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 Feb 2017 17:04:25 -0000

As I understand it, to "think something is wrong" requires an application-layer timeout. Some people think this is about 5s, but I don't believe TCP specifies an upper bound.

An ICMP message can give an "instant" response.

It's worth considering that the ICMP message may trigger the "sacrificial" HTTP request by the operating system.



________________________________
From: Lorenzo Colitti [lorenzo@google.com]
Sent: Wednesday, February 22, 2017 10:24 AM
To: Dave Dolson
Cc: David Bird; warren@kumari.net; Kyle Larose; captive-portals@ietf.org
Subject: Re: [Captive-portals] Thinking of something related to captive portals for the ietf98 hackathon

Ok, but the implementations that are the most likely to implement this sort of feature already send sacrificial plaintext HTTP requests on connect, and are quite capable of generating HTTP requests on demand when they think something is wrong.

On Wed, Feb 22, 2017 at 11:53 PM, Dave Dolson <ddolson@sandvine.com<mailto:ddolson@sandvine.com>> wrote:
Lorenzo,
My interest in ICMP is that it could work with any protocol, not just HTTP, and doesn't require any MITM for HTTPS.
I recall a discussion about adding a difficult-to-guess token to the ICMP message, making it hard to spoof.

-Dave



________________________________
From: Captive-portals [captive-portals-bounces@ietf.org<mailto:captive-portals-bounces@ietf.org>] on behalf of Lorenzo Colitti [lorenzo@google.com<mailto:lorenzo@google.com>]
Sent: Wednesday, February 22, 2017 9:42 AM
To: David Bird
Cc: warren@kumari.net<mailto:warren@kumari.net>; Kyle Larose; captive-portals@ietf.org<mailto:captive-portals@ietf.org>
Subject: Re: [Captive-portals] Thinking of something related to captive portals for the ietf98 hackathon

I'm not a fan of the ICMP method. I think the security implications need more thought.

As is, it looks like pretty much anyone on the Internet can send you one of these packets, and you have no way of knowing if it's legitimate. Relying on such an easy-to-spoof signal to decide that a network no longer provides Internet access could be quite harmful, particularly if the receiving device decided to switch to cellular data and incur the associated traffic costs. Even if the signal is only taken as a hint to revalidate the network, that still has battery implications.

It would seem to be much more useful to use:

  *   A header in the initial redirect that captive portals almost always generate.
  *   A well-known URL where the state of the captive portal can be revalidated, either periodically or when some other indication of loss of connectivity is observed.

At the last IETF we talked about possibly having a more structured way of communicating this and other bits of information from captive portal to host (a RESTful API, IIRC). That would also be useful, if we can all collectively resist the temptation to overengineer such a mechanism. :-)

On Wed, Feb 22, 2017 at 11:31 PM, David Bird <dbird@google.com<mailto:dbird@google.com>> wrote:
Hi Kyle,

I think that is a great idea!

I had started to implement here: https://github.com/coova/coova-chilli/tree/capport-icmp

What would be nice, in addition to the NAS changes, is to also demonstrate the client side ... either something like icmpd<https://github.com/snaewe/books-code/tree/master/unpv13e/icmpd> (to listen for the ICMP and provide applications a way of checking the status of their dest. unreach. connections), or the necessary Linux kernel changes. Also with kernel changes, the I-D could also be implemented using iptables, or other NAS software too.

Cheers,
David


On Wed, Feb 22, 2017 at 6:12 AM, Kyle Larose <klarose@sandvine.com<mailto:klarose@sandvine.com>> wrote:
Hey everyone,

I was thinking of doing something (anything) related to captive portals for the ietf 98 hackathon. In particular, https://tools.ietf.org/html/draft-wkumari-capport-icmp-unreach-01 caught my eye. I was wondering if anyone had thoughts on that, and whether there is anything else they'd like to see me champion.

Thanks,

Kyle

_______________________________________________
Captive-portals mailing list
Captive-portals@ietf.org<mailto:Captive-portals@ietf.org>
https://www.ietf.org/mailman/listinfo/captive-portals


_______________________________________________
Captive-portals mailing list
Captive-portals@ietf.org<mailto:Captive-portals@ietf.org>
https://www.ietf.org/mailman/listinfo/captive-portals