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

David Bird <dbird@google.com> Wed, 22 February 2017 17:10 UTC

Return-Path: <dbird@google.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 22FD1129A2D for <captive-portals@ietfa.amsl.com>; Wed, 22 Feb 2017 09:10:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
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 uZUlRWuh-aN9 for <captive-portals@ietfa.amsl.com>; Wed, 22 Feb 2017 09:10:53 -0800 (PST)
Received: from mail-qt0-x234.google.com (mail-qt0-x234.google.com [IPv6:2607:f8b0:400d:c0d::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3D17C12997E for <captive-portals@ietf.org>; Wed, 22 Feb 2017 09:10:53 -0800 (PST)
Received: by mail-qt0-x234.google.com with SMTP id b16so8043904qte.0 for <captive-portals@ietf.org>; Wed, 22 Feb 2017 09:10:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=LDnXG4Gafkym/LOogUMMgjlpkmHx+/Czvcim/loTB9c=; b=g5WVbiV+Z3u3QSdKzGFwh5sVpIAKt5H4Ss5DFo7tw8t0IyeBnYPONYS0RaxxRIGiv3 0p+ud3eyTpVKZcdQ+ad828bIrVMHcOkHGNznAuSYTjJARnjJWJPyXDYx/89eOejq5gn1 PGe3tm3zqY4d0zNyRMbGE5h9+fN9Qt/B5DzvKgwfA2UAL45ErsafsWKK1rT+WOilbk10 rz1yAgnqIwAy0Aro3NNQ8xoCPKssspIRaOyDegsVT/kcY9vYm5otnrSNkaxZYcuKNm4C i9hcjTTe+o8a9vu1BElB4gfYewdcOraICJvi0iOnIyGergZ6oxv+JdTsavEc6WSQIc8V twPg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=LDnXG4Gafkym/LOogUMMgjlpkmHx+/Czvcim/loTB9c=; b=OMtKobeX53KJbJLVRuaVYVzvACP3RCK9JY2QZe1VU39Nazpa1Aa/+aJkMdDWXbym3y PEb5fAI2AnqkkKv5NKWlsSrvf0wtWLBxrXrLnOQQ7z8FS7TDajCTw+bU5HJ3RZ/TxdYh kmyQOIqMYtUDKUm3O/jDYyTQjAnDnapW59buIQKLQd79RWOfE8q5F4cn6G6u7JbKPwP1 rYY3Hw/8iy7/R3w6WrYsHIVY3k0LJXiA8zk0/exuL904cVxThb6D1ZK1lBfReDgAcRQG +84feJHFPuK7kwdVVyGkdIbstJmPhQ94hdcYJ+s7u5QroXvFUEvgG5WP+hce8Hex0vaJ sCAg==
X-Gm-Message-State: AMke39nsYDuNOhoQMxvdTtUDwLA38aAmU1uqtKqlzJXwKXIinwvNOXkRRqYGO3d51FaBhHTiVjiRVEA/BPnaJjmC
X-Received: by 10.200.38.50 with SMTP id u47mr33868461qtu.293.1487783452101; Wed, 22 Feb 2017 09:10:52 -0800 (PST)
MIME-Version: 1.0
Received: by 10.12.128.167 with HTTP; Wed, 22 Feb 2017 09:10:51 -0800 (PST)
In-Reply-To: <E8355113905631478EFF04F5AA706E987051F305@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> <E8355113905631478EFF04F5AA706E987051F25D@wtl-exchp-1.sandvine.com> <CAKD1Yr06UukkD+vM5ueiBfqe4h2t53G=-7hZN=wy1nO1_efJ2w@mail.gmail.com> <E8355113905631478EFF04F5AA706E987051F305@wtl-exchp-1.sandvine.com>
From: David Bird <dbird@google.com>
Date: Wed, 22 Feb 2017 09:10:51 -0800
Message-ID: <CADo9JyXki8J_Gd_ac8xAsp9V0b79rK0dPdXzHkuoLV-OQ47C2w@mail.gmail.com>
To: Dave Dolson <ddolson@sandvine.com>
Content-Type: multipart/alternative; boundary="001a114116f22aa0ff05492194a1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/captive-portals/gVUurAPPgb38DLSF_DMbknt01tY>
Cc: "captive-portals@ietf.org" <captive-portals@ietf.org>, Kyle Larose <klarose@sandvine.com>, "warren@kumari.net" <warren@kumari.net>, Lorenzo Colitti <lorenzo@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:10:55 -0000

Further, we could tie this to RFC 7710, so that you can disregard this ICMP
from networks not expected to be captive portal and networks who do
implement captive portal can easily (as in iptables rules) filter out
external ICMP of this nature.

On Wed, Feb 22, 2017 at 9:07 AM, Dave Dolson <ddolson@sandvine.com> wrote:

> Agreed. Hence the discussion about using a difficult-to-guess token in the
> message.
>
> ------------------------------
> *From:* Lorenzo Colitti [lorenzo@google.com]
> *Sent:* Wednesday, February 22, 2017 12:05 PM
>
> *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
>
> The ability for any host in the Internet to trigger an instant response
> sounds it could turn into a DOS vector, though.
>
> On Thu, Feb 23, 2017 at 2:04 AM, Dave Dolson <ddolson@sandvine.com> wrote:
>
>> 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>
>> 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] on behalf of
>>> Lorenzo Colitti [lorenzo@google.com]
>>> *Sent:* Wednesday, February 22, 2017 9:42 AM
>>> *To:* David Bird
>>> *Cc:* warren@kumari.net; Kyle Larose; 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> 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>
>>>> 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
>>>>> https://www.ietf.org/mailman/listinfo/captive-portals
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Captive-portals mailing list
>>>> Captive-portals@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/captive-portals
>>>>
>>>>
>>>
>>
>