[Captive-portals] API and URL problems for IPv6 RA

Michael Richardson <mcr+ietf@sandelman.ca> Fri, 26 July 2019 20:17 UTC

Return-Path: <mcr@sandelman.ca>
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 0BEB91200D5 for <captive-portals@ietfa.amsl.com>; Fri, 26 Jul 2019 13:17:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham 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 JZJJJJDgOITa for <captive-portals@ietfa.amsl.com>; Fri, 26 Jul 2019 13:17:02 -0700 (PDT)
Received: from relay.sandelman.ca (relay.cooperix.net [176.58.120.209]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F26B1120090 for <captive-portals@ietf.org>; Fri, 26 Jul 2019 13:17:01 -0700 (PDT)
Received: from dooku.sandelman.ca (unknown [162.253.141.186]) by relay.sandelman.ca (Postfix) with ESMTPS id A3BB61F44B for <captive-portals@ietf.org>; Fri, 26 Jul 2019 20:16:59 +0000 (UTC)
Received: by dooku.sandelman.ca (Postfix, from userid 179) id 0143AFE7; Fri, 26 Jul 2019 16:17:19 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: captive-portals@ietf.org
X-Attribution: mcr
X-Mailer: MH-E 8.6; nmh 1.6; GNU Emacs 24.5.1
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha256"; protocol="application/pgp-signature"
Date: Fri, 26 Jul 2019 16:17:19 -0400
Message-ID: <19072.1564172239@dooku.sandelman.ca>
Archived-At: <https://mailarchive.ietf.org/arch/msg/captive-portals/62d99JimppDNpX6t1-DiLx52-nY>
Subject: [Captive-portals] API and URL problems for IPv6 RA
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, 26 Jul 2019 20:17:04 -0000

A hallway conversation with Lorenzo and Jean Rickard [Rickard Jean],
led me to re-read the API and rfc7110bis documents.

https://tools.ietf.org/html/draft-ietf-capport-api-03

}4.1.  URI of Captive Portal API endpoint
}
}   The URI of the API endpoint MUST be accessed using HTTP over TLS
}   (HTTPS) and SHOULD be served on port 443 [RFC2818].  The client
}   SHOULD NOT assume that the URI for a given network attachment will
}   stay the same, and SHOULD rely on the discovery or provisioning
}   process each time it joins the network.  Depending on how the Captive
}   Portal system is configured, the URI MIGHT BE UNIQUE FOR EACH CLIENT
}   HOST AND BETWEEN SESSIONS FOR THE SAME CLIENT HOST.

It is typical the case today that the URL that the client is sent to
includes the MAC address of the client system, or a token that refers to
or contains the (encrypted) mac address.
This is often the case because the Portal web server is *not* located
on the same L2 network as the client.

The discussion was how can this be implemented in IPv6 RAs.
The options seem to be:

1) IPv6 RAs will have to be unicast with unique URLs, and the unique
   info needs to be remembered across clients.
   (This might be a win on WIFI anyway)

2) The client will need to post it's MAC address to the captive portal
   URL.  How can the captive portal know it's not lying?
   (Is there an incentive to lie?)

3) It's not work for IPv6-only SLAAC-only networks.

4) There will need to be mechanism to map L3 addresses to L2 addresses
   between portal system and first-hop router

5) captive mechanism
   will have to be done for L3 addresses, which means doing it for
   v4, v6 and each privacy address.....

--
Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-