Re: [Captive-portals] CAPPORT support in iOS 14 and macOS Big Sur betas

Erik Kline <ek.ietf@gmail.com> Fri, 03 July 2020 20:33 UTC

Return-Path: <ek.ietf@gmail.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 7B8E03A0E37 for <captive-portals@ietfa.amsl.com>; Fri, 3 Jul 2020 13:33:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 nR4H_IfqHP6d for <captive-portals@ietfa.amsl.com>; Fri, 3 Jul 2020 13:33:16 -0700 (PDT)
Received: from mail-oi1-x22c.google.com (mail-oi1-x22c.google.com [IPv6:2607:f8b0:4864:20::22c]) (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 2B0223A0E39 for <captive-portals@ietf.org>; Fri, 3 Jul 2020 13:33:16 -0700 (PDT)
Received: by mail-oi1-x22c.google.com with SMTP id l63so25977098oih.13 for <captive-portals@ietf.org>; Fri, 03 Jul 2020 13:33:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=MolSJPK7v2DO4634GMdMv1ATkZfssrcJ56MJqbEQ7/M=; b=HCxpjYUIWT7hbvyo7pjIci07G/fIUmpCq33HcEkbIeOtOpxjofYxDkPozhKaFa/eaM Ks6kAYezE1rmk4UBVbLEV99l///1lJvVwNxAd8z9ABQSRZvwgm0qsYbMyqR6ruOIOtmW 9QiWlduJ1WVrejPhHQM07UU/C/2XXVoqFTdXDTYFUYknnpZg0mxMxSoixdd8NX1XVeTp KGTICNStLUlDn2uYMND+KilPQYBcnitg358x8JnWeHTomgv8tDiyN3d3FATMxUku5ptq Aczug08I5rGpHRto2Fa3ujVulNWz/sBcRZR6MsypZr//4aBpbCKfGbbtiEWk4voYr59e 3S9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=MolSJPK7v2DO4634GMdMv1ATkZfssrcJ56MJqbEQ7/M=; b=qyx9XN8vLGlAP4s+2H6FHoYiiCdI03x1eMrjyyj+Rs/PudKMilvN926MgwMbahI6sA wYHa+F7pMgtZZt9qv/Tpk+i9UG+KqMd2sdJw2JtFN1Jm0HxjgOgz8QsTEQdS8TOTPcFi Ch5n/XnnDGs4TPZvgh5Q8i29u+Js6U5wlAJjC9WFPGAECQO6GKjgoLeVtcIDoOwMw1di EjBO5o0ob5t2bxIbXVDFeVW/qyf1oww+OCk7jkqRYtC3U0JLO326ukjmAV+DNUKNlg9l El8x4rsy+JXX1O/E3+YYmj7V1ypeB1bbZ76BQtGjmQHdiL273xfQmEFdIQkhyMp2gNbw cO7g==
X-Gm-Message-State: AOAM533dTqEi5KFJN9HEkQtF2/QE3RWL3Jf8yq3iDy1orBUavngBvQmx S36nEaTvxS+Bwt6vFXomcaXYUXeNwbEAolw4lIU=
X-Google-Smtp-Source: ABdhPJyjSsSQHV/kCG5NcPycsyDdkpusDGPjyZfAjPK5BH22RltIIbkVXF0IVh5enjRzZF/y6zKi1ZNrOEpn217TuWU=
X-Received: by 2002:a54:478f:: with SMTP id o15mr29723730oic.77.1593808395122; Fri, 03 Jul 2020 13:33:15 -0700 (PDT)
MIME-Version: 1.0
References: <CADo9JyUVZfRSpmjYLxBBH73hd7F-+1hwSbr2qDzriaQjLndmFA@mail.gmail.com> <4E013237-9B3C-426B-961A-878EDFCE4806@apple.com> <CADo9JyWD6=hXtB8RURYtgc_xQhZvO+=iWfJr6zauZ1OtzExOrA@mail.gmail.com> <D41B4C9B-C23B-4357-BCD7-BCC520F6B4A4@boaz.org.uk> <CADo9JyWNvNXrFQ3uMb4eZ4OJMieSYKYwP2Yod-A2zOhx68VAeA@mail.gmail.com> <6F344EAD-88F4-4004-92AB-1F60E3D94D48@boaz.org.uk>
In-Reply-To: <6F344EAD-88F4-4004-92AB-1F60E3D94D48@boaz.org.uk>
From: Erik Kline <ek.ietf@gmail.com>
Date: Fri, 03 Jul 2020 13:33:04 -0700
Message-ID: <CAMGpriXsKQQkF--KuywXTM7NcmWYi1oO+vG=jCks3P80eGv8zQ@mail.gmail.com>
To: Steve Haskew <steve@boaz.org.uk>
Cc: David Bird <dbird=40google.com@dmarc.ietf.org>, captive-portals <captive-portals@ietf.org>, Tommy Pauly <tpauly@apple.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/captive-portals/W8KPQSLEwaUibT7XSu48wRyAecE>
Subject: Re: [Captive-portals] CAPPORT support in iOS 14 and macOS Big Sur betas
X-BeenThere: captive-portals@ietf.org
X-Mailman-Version: 2.1.29
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: Fri, 03 Jul 2020 20:33:20 -0000

The enforcement device and the API endpoint can be the same device, if you like.

On Fri, Jul 3, 2020 at 9:37 AM Steve Haskew <steve@boaz.org.uk> wrote:
>
> David,
>
> This is a very good observation - and one that we have had to consider in our implementation. The source of the captive status needs to be reliable and quick enough to achieve the flow described in section 6 (Example Interaction):
>
> "Once the user satisfies the requirements for external network access, the client SHOULD query the API server again to verify that it is no longer captive.”.
>
> For us, the API saying the user is online but the enforcement device still blocking them would be a major support headache, but could be caused by a number of different scenarios. This sentence was key in making us seek a robust solution to that possibility.
>
> Thanks,
>
> Steve
>
>
> On 3 Jul 2020, at 17:23, David Bird <dbird=40google.com@dmarc.ietf.org> wrote:
>
> Thanks Steve, I have no doubt that some operators will implement this very well! :-)
>
> Indeed, the login flow is the same through the Portal via API (assuming you figure out the "unique device identity" question).. and I'm sure you'll have the API server fully integrated with your AAA so that all sorts of logout events are handled (e.g. NAS restart, idle timeout, etc).
>
> In the long-tale of public access, I believe users will experience a wide range of networks, with various levels of integration. My concern is more that users learn (or even told by venue staff) to disable CAPPORT support if they find it often "wrong" (e.g. there is a CAPPORT API but no NAS enforcement; API says you are logged in, but NAS is dropping/redirecting; etc)...
>
> [I personally believe we missed an opportunity to make a more robust protocol by directly involving the NAS (for notification of captivity), providing a single source of truth...]
>
> On Fri, Jul 3, 2020 at 7:13 AM Steve Haskew <steve@boaz.org.uk> wrote:
>>
>> Hi David, Tommy, all,
>>
>> Just to add the the discussion, from the perspective of a network operator! We are just implementing and going to be testing this very soon. We don’t see any issues in terms of policy application, because the final step to log the user in will be the same with either approach. Actually, this provides a really nice route for us to resolve the ever-increasing issue of the ugliness of forcing redirects, especially with the decreasing use of plain HTTP (and therefore causing SSL warnings). We can only hope that other vendors roll this out soon too! I see it as a big step forward.
>>
>> However, the challenge for us that is linked revolves around identity. MAC Randomisation (also coming in iOS 14)  is great for privacy, but in the short term is poor for user experience on any form of guest wifi, particularly for longer stays (e.g. hotel, vs cafe). We’ve actually seen a deterioration of support for Hotspot2.0/Passpoint, in that installation of a profile from within the Captive Network Assistant on iOS no longer works.
>>
>> It feels like the dichotomy of privacy vs user experience here has no practical solutions - could this be something that the wider WG has previously considered, and is it within the remit of the group to look at?
>>
>> Thanks,
>>
>> Steve Haskew
>>
>>
>> On 3 Jul 2020, at 14:23, David Bird <dbird=40google.com@dmarc.ietf.org> wrote:
>>
>> Thanks Tommy,
>>
>> Might you have screenshots of the user experience ? I'd be interested to see it....
>>
>> Agreed, adopting the new CAPPORT spec is very easy to setup (just a DHCP server config change at the access point, and an API/Portal server on the Internet). The complexity for network operators comes when fully integrating this new "application" method of captive portaling with existing "network" (NAS/redirect) methods. The complexity is in ensuring the NAS and API are enforcing the same policies, for all kinds of users (roaming, paid, free, etc) ... if the network operator doesn't do this well, or at all, then the complexity is shifted to client device support, answering questions like "Why does the WiFi at airport X not work only for new devices?". For this reason, I believe you will eventually start probing for redirects again...
>>
>> You may trust the API, but you may also want to verify.... :)
>>
>>
>> On Thu, Jul 2, 2020 at 7:24 AM Tommy Pauly <tpauly@apple.com> wrote:
>>>
>>> Hi David,
>>>
>>> One point I wanted to clarify: the iOS and macOS betas support for CAPPORT discovery and APIs still goes through the standard and existing UI flow for captive portals. The times in which the captive portal UI is shown is limited, for example to times when the user is in WiFi settings. Thus, while adoption should indeed be easy and only require adding a small bit of infrastructure in order to provide a flow that doesn’t require redirects, the set of circumstances in which a network can display content to the user is not increased.
>>>
>>> Thanks,
>>> Tommy
>>>
>>> On Jul 1, 2020, at 5:27 PM, David Bird <dbird@google.com> wrote:
>>>
>>> 
>>> That's pretty cool!
>>>
>>> This will give new opportunities in monetizing WiFi for new iOS and macOS devices with only a DHCP server change and an API server!
>>>
>>> On Wed, Jul 1, 2020 at 4:22 PM Erik Kline <ek.ietf@gmail.com> wrote:
>>>>
>>>> +1
>>>>
>>>> Out of curiosity, does the implementation handle the 7710bis options'
>>>> urn:ietf:params:capport:unrestricted value?
>>>>
>>>> On Mon, Jun 22, 2020 at 5:00 PM Martin Thomson <mt@lowentropy.net> wrote:
>>>> >
>>>> > Tommy, this is great!  Thanks for all your work here, it's good to see this turn into something concrete.
>>>> >
>>>> > On Tue, Jun 23, 2020, at 07:30, Tommy Pauly wrote:
>>>> > > Hello CAPPORT,
>>>> > >
>>>> > > I wanted to highlight an announcement we’ve made for the betas of iOS
>>>> > > and macOS released today:
>>>> > >
>>>> > > How to modernize your captive network
>>>> > > <https://developer.apple.com/news/?id=q78sq5rv>
>>>> > >
>>>> > > The betas for iOS and macOS support both draft-ietf-capport-rfc7710bis
>>>> > > and draft-ietf-capport-api by default. This doesn’t change the user
>>>> > > experience of logging onto captive networks, but the system will
>>>> > > request the DHCP options and handle the RA option, and will prefer
>>>> > > using the Captive Portal API Server interaction over having a probe
>>>> > > that is intercepted.
>>>> > >
>>>> > > If you have a portal system that is already implementing the CAPPORT
>>>> > > features, please test out these betas and let us know if you see any
>>>> > > issues! And if you have a captive portal solution, we’d encourage you
>>>> > > to start supporting this soon.
>>>> > >
>>>> > > Best,
>>>> > > Tommy
>>>> > > _______________________________________________
>>>> > > 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
>>>>
>>>> _______________________________________________
>>>> 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
>>
>>
>> _______________________________________________
>> 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
>
>
> _______________________________________________
> Captive-portals mailing list
> Captive-portals@ietf.org
> https://www.ietf.org/mailman/listinfo/captive-portals