Subject: [Anima] BRSKI over 802.11

From: Michael Richardson <[email-masked]>
Date: Wed, 07 Feb 2018 10:59:45 -0500

Q1) Is there interest in doing bootstrap of devices/routers/etc. over WIFI?

Q2) If there is, should the BRSKI document proscribe an Ad-Hoc (IBSS) ESSID
    on which bootstrap would be done (perhaps named "BRSKI" or "ANIMA").

Q3) Would you want to use this network as a substrate for the ACP later on?

Q4) Should such a network be
     a) unsecured (cleartext)
     b) use WPA-PSK with a known "network key"
     b) use WPA2 enterprise 802.1X using a published username/password.
        (like we use for ietf network)
        This is no less secure than unsecured, but unlike (b), each
        session gets a unique session key.

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        | network architect  [
]     [email-masked]  http://www.sandelman.ca/        |   ruby on rails    [

---

From: Artur Hecker <[email-masked]>
Date: Wed, 7 Feb 2018 17:21:59 +0000

Hi Michael,

My opinion:

Q1: In principle, I believe that it would make sense to do it. However, a different question is whether ANIMA WG of the IETF is the right place for it. For instance, the integration of WPA-Enterprise you mentioned had been done by the WiFi-Alliance, albeit heavily relying on IETF protocols (RADIUS, PPP, EAP, Microsoft's MPPE, VSAs, etc).

Q2: Specifically, the relevant issues would seem to rather fall into the scope of IEEE 802.1 (for the supplicant), IEEE 802.11 (for the wireless client) or of the WiFi Alliance (for integration, etc). We need to consider their way(s) of specifying all that. For instance, one could argue that the bootstrapping should be done over the DS, whereas whether the DS itself is wireless or not should not play any role. In this case, I believe it would be wrong to define ESSIDs or modes of operation of 802.11, because it's extremely biased. I am not even talking about OAM, because I do not want troubles :-)

Q3: Sorry, I did not quite understand this one. If you meant the ad-hoc essid based network, my first intuition would be to object, as I believe that we should not prescribe such modes for ACP, but rather use the best available one.

Q4: As I believe that Q2 is strongly biased, I believe that so is Q4. The WiFi Alliance already specifies several ways how to bootstrap wireless access points, including e.g. WPS. We would rather need to see, how to integrate with such means. And again, I don't believe we have authority on that.

Regards
artur

> -----Original Message-----
> From: Anima [mailto:[email-masked]] On Behalf Of Michael 
> Richardson
> Sent: 07 February 2018 17:00
> To: [email-masked]
> Subject: [Anima] BRSKI over 802.11
> 
>

---

From: Michael Richardson <[email-masked]>
Date: Wed, 07 Feb 2018 14:06:30 -0500

> My opinion:

I don't think understood the question :-)

1) It's not about Wireless Access Points, so all of the Wifi Alliance,
   etc. talk makes no sense to me.  There can be no access points until they
   have been configured.  It's possible that there might NEVER been any
   access points, because the operator actually doesn't want/need any enabled.
   Think about inside of a cage in a data center.

2) It's about *devices* that have 802.11 interfaces.
   You can't use WPS or anything else involving 802.1x until you have
   credentials, which is what BRSKI gets you.
   So you can't use WPS to *bootstrap* WPS.
   (and pushing buttons on the front of the AP is by definition not "zero-touch")

    > Q3: Sorry, I did not quite understand this one. If you meant the ad-hoc
    > essid based network, my first intuition would be to object, as I
    > believe that we should not prescribe such modes for ACP, but rather use
    > the best available one.

3) The ACP is secured inside IPsec over Link-Layer IPv6 (or MACSEC, or
   a bunch of other possible technologies in the ACP document).
   It's not about the security of the ACP.

Since the point of the ACP is that it's always available, it needs to be
available even when the Wifi Access Point is toast or not yet configured.
Of course, once there is a non-adhoc/IBSS network available, the ACP would
see this as additional interfaces and make additional mesh links across it
for the ACP to use.  But that's not bootstrap, that's operation.

    > Q4: As I believe that Q2 is strongly biased, I believe that so is
    > Q4. The WiFi Alliance already specifies several ways how to bootstrap
    > wireless access points, including e.g. WPS. We would rather need to
    > see, how to integrate with such means. And again, I don't believe we
    > have authority on that.

Maybe you could point to specific documents that would permit two devices
which have never been touched to communicate over 802.11 without configuration.

--
Michael Richardson <[email-masked]>, Sandelman Software Works
 -= IPv6 IoT consulting =-

---

From: Artur Hecker <[email-masked]>
Date: Thu, 8 Feb 2018 09:24:47 +0000

Hi Michael

Sorry, maybe I misunderstood the intention. Is your intention to make it "standard" or just to make a demonstration? If the latter, then it's OK. It's the first that I simply doubt it will work.

I am not claiming that there are better means to do that, let alone that what you proposed makes no sense. I actually said that this makes sense. I just think that we enter the realms of 802.1 and 802.11 at the same time and have no authority there.

It has indeed nothing to do with Wireless access points. Any STA (802.11) and any supplicant (802.1X) is subject to standardization and regulation of the bodies of IEEE, in any mode of operation. WPS should not be limited to any Access Point presence, since it supports WiFi Direct. I agree, the supported methods are rudimentary. If I remember correctly, something like PIN, the push button you mentioned, NFC and USB.

I guess, a possibility would be to specify an additional ANIMA/ACP/BRSKI method for WPS, why not. All I am saying is that we probably need to do it there, as any try to do it in the ANIMA WG would require specific 802.11 modes and specific 802.1X functions/behaviours, which I am not sure we can dictate to have.

Regards
artur

> From: Michael Richardson [mailto:[email-masked]]
> Sent: 07 February 2018 20:07
> To: Artur Hecker <[email-masked]>
> Cc: [email-masked]
> Subject: Re: [Anima] BRSKI over 802.11
> 
> 
> Since the point of the ACP is that it's always available, it needs to be available
> even when the Wifi Access Point is toast or not yet configured.
> see this as additional interfaces and make additional mesh links across it for
> the ACP to use.  But that's not bootstrap, that's operation.
>

---

From: Eliot Lear <[email-masked]>
Date: Thu, 8 Feb 2018 10:51:12 +0100

Artur,

I suspect much – but not all – of this could be addressed in EAP.

Eliot

On 08.02.18 10:24, Artur Hecker wrote:
> _______________________________________________
> Anima mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/anima
>

---

From: "Liubing (Leo)" <[email-masked]>
Date: Sun, 11 Feb 2018 09:16:39 +0000

Hi Michael, Eliot and all,

A clarification question: it sounds like there are two approaches proposed, not sure I understood it correctly:

Michael's proposal: there is a dedicated SSID, say "Anima", it is enabled by default, and there is no security. And that SSID can only do BRSKI, no other services permitted (just like the http portal authentication). After getting the certificate, then certificate-based EAP could be run to do the 802.1x authentication; or maybe they just negotiated a key for WPA2. In this case, the BRSKI just works as the bootstrap of WiFi.

Eliot's proposal: we'll have a new EAP method, say "EAP-BRSKI", just treat BRSKI as an option encapsulated in EAP protocol, under the WiFi access framework.

Michael and Eliot: did I get you correctly?

B.R.
Bing

> From: Anima [mailto:[email-masked]] On Behalf Of Eliot Lear
> Sent: Thursday, February 08, 2018 5:51 PM
> To: Artur Hecker <[email-masked]>; [email-masked]
> > Sorry, maybe I misunderstood the intention. Is your intention to make it
> "standard" or just to make a demonstration? If the latter, then it's OK. It's the
> first that I simply doubt it will work.
> >
> > I am not claiming that there are better means to do that, let alone that what
> you proposed makes no sense. I actually said that this makes sense. I just think
> that we enter the realms of 802.1 and 802.11 at the same time and have no
> authority there.
> >
> > It has indeed nothing to do with Wireless access points. Any STA (802.11) and
> any supplicant (802.1X) is subject to standardization and regulation of the bodies
> of IEEE, in any mode of operation. WPS should not be limited to any Access
> Point presence, since it supports WiFi Direct. I agree, the supported methods are
> rudimentary. If I remember correctly, something like PIN, the push button you
> mentioned, NFC and USB.
> >
> > I guess, a possibility would be to specify an additional ANIMA/ACP/BRSKI
> method for WPS, why not. All I am saying is that we probably need to do it there,
> as any try to do it in the ANIMA WG would require specific 802.11 modes and
> specific 802.1X functions/behaviours, which I am not sure we can dictate to
> have.
> >
> >
> > Regards
> > artur
> >
> >
> >
> >>    (and pushing buttons on the front of the AP is by definition not
> >> "zero-
> >> touch")
> >>
> >> Since the point of the ACP is that it's always available, it needs to
> >> be available even when the Wifi Access Point is toast or not yet configured.
> >> Of course, once there is a non-adhoc/IBSS network available, the ACP
> >> would see this as additional interfaces and make additional mesh
> >> links across it for the ACP to use.  But that's not bootstrap, that's operation.
> >>
> >> Maybe you could point to specific documents that would permit two
> >> devices which have never been touched to communicate over 802.11
> >> without configuration.
> >>
> >> --

---

From: Eliot Lear <[email-masked]>
Date: Mon, 12 Feb 2018 10:55:52 +0100

Hi Bing,

I think you've got it down, but I want to stress that these are early
days, and I could, perhaps easily, be convinced to go another way.  I
think Michael is trying to do that ;-)  I think the question is this: in
a WiFi environment how can the device know which network to connect with
in the first place, and how does it then send packets to complete the
BRSKI flow?

As a difficult use case, consider a business in an office building on
the 10th floor in New York City or London, where you might hear 2 dozen
different networks.

Eliot

---

From: Michael Richardson <[email-masked]>
Date: Mon, 12 Feb 2018 19:10:48 -0500

Liubing (Leo) <[email-masked]> wrote:
    > A clarification question: it sounds like there are two approaches
    > proposed, not sure I understood it correctly:

(1) > Michael's proposal: there is a dedicated SSID, say "Anima", it is
    > enabled by default, and there is no security. And that SSID can only do
    > BRSKI, no other services permitted (just like the http portal
    > authentication).

(2) > After getting the certificate, then certificate-based
    > EAP could be run to do the 802.1x authentication; or maybe they just
    > negotiated a key for WPA2. In this case, the BRSKI just works as the
    > bootstrap of WiFi.

(3) > Eliot's proposal: we'll have a new EAP method, say "EAP-BRSKI", just
    > treat BRSKI as an option encapsulated in EAP protocol, under the WiFi
    > access framework.

    > Michael and Eliot: did I get you correctly?

Yes, I think you described that exactly correctly.
I've put some numbers in to help split up the thoughts.

The decidcated SSID would be in IBSS mode, and it could use WPA2-Enterprise
with a known username/password (like we do for the IETF SSID), which would
get per-station keying material.    There is also "Wifi Direct", defined by
the Wi-fi Alliance, which also might make sense and might provide similar L2
keying.   There would be no DHCPv4 or DHCPv6 or RAs on the link, as it would
all just be LL.  The only traffic would be GRASP M_FLOODs (from the DULL).

There is a
(4) - bring up an ACP across this dedicated SSID.  This is not mutually
    exclusive with (2).

If one does (3), then I guessone can do (2) to get connectivity.
(3) still has to define some kind of SSID on which this new 1x method will be
seen.

It could be that we can do something with 802.11 beacons to indicate the
capability and not have to pick a particular SSID name on which to
"rendezvous"

---

From: "Nancy Cam-Winget (ncamwing)" <[email-masked]>
Date: Tue, 13 Feb 2018 02:31:36 +0000

Hi,
Catching up on this thread....it is not clear to me that we can prescribe an "SSID" as there can be a couple of solutions....
And for that level, I believe is out of scope for IETF; that said, there are a couple of means to do this w/in 802.11 the cleanest one is using the service/capability advertisements from 802.11u.    The SSID is really not sufficient on the 802.11 as we've build agility there as well to denote the types of authentication and key management that we would also want to retain (agility to) as we do this ala BRSKI.  But, I break it down to "discovery" as perhaps being an 802.11 scope and thereafter we can discuss work relevant here.

That said, for the actual enrollment would very well be suited to be in the EAP realm as 802.11 already prescribes to using that model within 802.1X.

Hopefully that makes sense,
	Nancy

On 2/12/18, 1:56 AM, "Anima on behalf of Eliot Lear" <[email-masked] on behalf of [email-masked]> wrote:

    Hi Bing,

    
    Eliot

---

From: Toerless Eckert <[email-masked]>
Date: Wed, 14 Feb 2018 17:56:01 +0100

WG-chair:

I would prefer for any work in this space to happen in
followup document(s), not in BRSKI itself.

I think anything done in ANIMA should purely be describing mechanisms
to leverage unmodified existing 802.11 mechanisms and ideally we find
some existing work that also built some form of layered standards
on top of 802.11.

The issue we IMHO need to overcome is that there
are ways how this could also be done by extending 802.11 and we
need to have an argument why that may be an option but it is 
nonwithstanding for us to do it NOT that way. We had for example
also a long discussion in the beginning of ANIMA why not to use EAP
in BRSKI.

Nancy mentioned other 802.11 options beside SSID, so maybe we should
gate a decision to adopt any such work to the WG having sufficient
understanding of what the existing options in 802.11 are that
we could leverage without having to extend 802.11. Maybe we could
draft Nancy or some other 802.11 expert to give a summary to the WG
(802.11u eg.).

Contributor:

An ANIMA standardized method of BRSKI via 802.11 would be great.

A single AP may already provide SSIDs under different logical
administtrative domains. For example in SP-Wifi, where the AP
is logically paid for by a subscriber and residing in the subscribers
residence but also providing a managed "community" SSID from the
SP. For example with comcast that second SSID is called "xfinity"
and if you want to have access to that SSID on any of the other
subscribers AP, you also have to permit for xfinity SSID to be
enabled on your device (if you have one).

Note: all the following is only taking my limited knowledge of 802.11
into account, aka: might change when i learn about 802.11 or other
options. But the principles expressed below should stay the same.

And of course the impliciation is that you should be able to
have multiple SSIDs for BRSKI, one for each administrative
domain, because otherwise we would have to figure out how to set
up a multi-registrar / multi-operator BRSKI proxy/registrar
infra.

Aka: I would propose that the SSID (ESSID ?) scheme is something like:

    BRSKI<char><existing-ssid>

<char> should be choosen to be least likely already used,
e.g.: "-" would be bad, but i am not sure what the most
obfuscated, 802.11 permitted char is. "%" ?

 BRSKI%xfinity
 BRSKI%tte-home-network

The selection rules for equipment would say to just try
all the BRSKI%... SSIDs. If we wanted to be fancy, we should
try to find a method to signal priority to pledges. Not sure
if there are any nicer attributed, but if not, wee could (yuck yuck)
do something like BRSKI%1%tte-homenet to indicate first
priority for that SSID.

We should also have

    BRSKI<char><char><well-known-service>

The well-known-ssid would be requiring a specification how
pledges would select those. For example we could consider
some standardized cloud-service offered by multiple SPs
for home-automation - acme-aut. Equipment from various 
vendors (sensors/actors) built against that standardized
cloud service would prefer BRSKI%%acme-aut over other
SSIDs to enroll. And the service would also hopefully
define a mechanism to allow such equipment to be enrolled
into the SSID of the subscriber itself, e.g.: by also
recognizing any higher priority existing-ssid (BRSKI%1%tte-homenet).

Or use a redirect in BRSKI itself....

Ok, i hope i get highscore for overdesigning the solution (kidding).

Aka: selecting the best SSID in face of competing offers
multiple or single AP is the type of work i think we should
give some tthought to. Ideally something extensible
where we can in the first spec get away with a most simple
start but will have forward compatibility with later 
updates/extensions.

Cheers
    Toerless

On Tue, Feb 13, 2018 at 02:31:36AM +0000, Nancy Cam-Winget (ncamwing) wrote:
> ???On 2/12/18, 1:56 AM, "Anima on behalf of Eliot Lear" <[email-masked] on behalf of [email-masked]> wrote:
> 
>     Hi Bing,
>     
>     >> I suspect much ??? but not all ??? of this could be addressed in EAP.
>     >>
>     >> Eliot
>     >>
>     >>

-- 
---
[email-masked]

---

From: Eliot Lear <[email-masked]>
Date: Wed, 14 Feb 2018 18:00:55 +0100

Hi Toerless,

On this point:

> start but will have forward compatibility with later 

+1.  And I think this needs to be a pretty broad discussion.  We need to
sort, at least in our own minds, at what layer to solve what problem,
and how to do that without driving end users and administrators
absolutely crazy.

Eliot

---

From: Michael Richardson <[email-masked]>
Date: Wed, 14 Feb 2018 14:08:20 -0500

> followup document(s), not in BRSKI itself.

I agree completely.
I wasn't imagining putting it into the current document.

    > also a long discussion in the beginning of ANIMA why not to use EAP

I agree completely.

    > draft Nancy or some other 802.11 expert to give a summary to the WG

I'm willing to listen to ideas, but I'm afraid of going down the IEEE hole
here.

    > start but will have forward compatibility with later

your suggestions are inline with what I was thinking.

---

From: Toerless Eckert <[email-masked]>
Date: Wed, 14 Feb 2018 20:12:57 +0100

On Wed, Feb 14, 2018 at 02:08:20PM -0500, Michael Richardson wrote:
> I'm willing to listen to ideas, but I'm afraid of going down the IEEE hole here.

Maybe i was unclear. I think we should just know the whole slew of tools available
from 802.11 that we can use without changing 802.11. I only know SSID/ESSID, so
i try to figure out how to abuse oops: well use them. Nancy pointed to more tools.

Cheers
    Toerless

---

From: "Owen Friel (ofriel)" <[email-masked]>
Date: Thu, 15 Feb 2018 19:54:48 +0000

(some context - I've been talking internally to Max and Eliot about this quite a bit)

First, a high level summary of 802.11u-2011 (which is incorporated into 802.11-2016) capabilities.

STAs and APs advertise support for 802.11u by setting the Interworking bit in the Extended Capabilities IE, and by including the Interworking IE in Beacon, Probe Request and Probe Response frames.

The Interworking IE includes info on:
- Access Network Type (Private, Free public, Chargeable public, etc.)
- internet bit (yes/no)
- ASRA (Additional Step required for Access - e.g. this could mean EAP-TLS, or a BRSKI flow)

802.11u introduced ANQP Access Network Query Protocol which enables STAs to query APs for info not present in Beacons/Probe Reponses.

ANQP defines these key IEs for enabling the STA to determine which network to connect to:

Roaming consortium IE: includes the OI(s) of the roaming consortium(s). The OI is typically  provisioned on cell phones by the SP, so the cell phone can automatically detect wifi networks that provide access to its SP's consortium.

3GPP Cellular Network IE: includes the Mobile Country Code (MCC) and Mobile Network Code (MNC) of the SP the AP provides access to.

Network Access Identifier Realm IE: includes RFC4282 realm names that the AP provides access to (e.g. wifi.service-provider.com). The NAI Realm IE also includes info on the EAP type required to access that realm e.g. EAP-TLS.

Domain name IE: the domain name(s) of the local AP operator. Its purpose is to enable a STA to connect to a domain operator that may have a more favourable pricing model for backhaul connections to the internet / SP.

STAs can use some or all of the above IEs to make a suitable decision on which SSID to pick.

HotSpot 2.0 is an example of a spec built on top of 802.11u and defines 10 additional ANQP elements using the standard vendor extensions mechanisms defined in 802.11.
It also defines a HS2.0 Indication element that is includes in Beacons and Probe Responses so that STAs can immediately tell if an SSID supports HS2.0.

That's the end of the .11u intro, but I'll come back to NAI Realms in a bit.

I agree with Nancy below on splitting this into SSID discovery and connection/authentication steps. There were a few discovery options proposed in this thread, and I'll add to that:

1. define a well-known naming convention for BRSKI capable SSIDs e.g. BRSKI%xfinity

This goes against the grain of .11u whose whole purpose is for STAs to make a decision on which SSID to use based on advertised capabilities, rather than SSID naming convention.

Additionally, operators will not want to deploy a new SSID just to enable BRSKI flows as each SSID eats up air space and wifi channel capacity due to beacon overheads, etc. It would be better to add the relevant bits to the AQNP for an existing SSID. From the operator perspective, that's modifying the config of an existing SSID rather than deploying a new one.
	
2. Leverage existing 802.11u

It appears as if NAI Realm could be a possible mechanism for advertising BRSKI capability (and Roaming consortium, 3GPP cellular network are not). We could possibly piggy back on top of NAI Realm and advertise a realm of simply "_bootstrapks". WLCs certainly appear to allow this kind of configuration (although today some WLCs tie .11u configuration to HS2.0 configuration i.e. you cannot enable advertising 802.11u bits without also advertising HS2.0 in Beacons - but thats a WLC implementation gap not a standards gap).

The key conceptual difference is that we are using this special realm name more as a logical service advertisement rather than as a backhaul internet provider advertisement. This would not require any 802.11 IEEE spec changes, but could fall into the realm of IETF spec definition. i.e. if you configure your existing wifi network using existing 802.11u mechanisms to advertise this NAI Realm, then IoT devices will know that this SSID offers BRSKI services.

Additionally (or alternatively...) as NAI Realm includes advertising the EAP mechanism required, if a new EAP-BRSKI were to be defined, then this could be advertised. STAs could just scan for an NAI Realm that enforced EAP-BRSKI, and ignore the realm name.

One big issue with this is Eliot's point about "a business in an office building on the 10th floor in New York City or London, where you might hear 2 dozen different networks". The STA ends up scanning a lot of SSIDs, and it may find multiple SSIDs that advertise EAP-BRSKI or NAI Realm "_bootstrapks". It would have to attempt to join all of them in sequence, and rely on the operator configuring their network such that the manufacturer IDevID CA or the specific IDevID is not trusted and rejects the device. It could also result in the STA joining the wrong SSID, which would not be ideal.

3. Define new 802.11u extensions

Similar to HS2.0, we define a new BRSKI Indication Element that is advertised in Beacons, and then define any additional AQNP elements as are required. This is likely a standards body quagmire (and would also requires significant infrastructure / WLC development if that's a consideration...)

4. Use / Extend WPS

None of the existing WPS mechanism are really suitable (PIN, push button, NFC, USB). Extending WPS, similar to defining new 802.11u extensions, seems like a standards body quagmire. Defining a new EAP-BRSKI mechanism seems more tractable.

5. Use WiFi Device Provisioning Protocol (Eliot suggested this one)

Some comments on briefly reviewing this. At a high level, if we have a bootstrapping Thing trying to discover and connect to an AP (with no one doing supervision/handholding via a mobile app or anything), then the Thing is the DPP Enrolee and the AP is the DPP Configurator. Additionally, the AP must initiate the DPP exchange and not the Thing (the Thing must be the DPP responder) because as per DPP, the Initiator must know in advance and validate the bootstrapping public key (which would be the public key of the IDevID I guess)of the Responder. This means that the AP must be continuously polling for Things that it wants to bootstrap (and the Thing must be cycling through all channels listening for a DPP initiation request, similar to standard SSID passive scanning) . It needs further thought if this has any channel capacity implications. The DPP groupId is meant to help with this I think...

One big advantage of this is that the Thing is not attempting (and potentially failing, or worse - succeeding to connect to the wrong SSID) to connect to a large number of SSIDs unlike option 2 NAI Realm. It also means that an operator should not inadvertently claim someone else's Thing as it should be unlikely that two Things will have identical bootstrapping public keys.

Anyways, once the device somehow knows the SSID, it can begin connection and authentication.

There have been comments that pre-completing BRSKI, the client must connect to an unsecure network. That's not entirely true. The network could in fact enforce 802.1x and EAP-TLS based on the manufacturer's cert / IDevID. Similarly, if an EAP-BRSKI mechanism were to be defined, the network could deny access and not even allow the client to send its /requestvoucher unless it successfully completed the initial TLS and presented a trusted IDevID. So it could be a bootstrapping network segment that allows devices from trusted manufacturers. That seems like a better alternative to using WPA-PSK with a known network key or WAP-802.1x with a known username/password (both of which require somehow provisioning that key into the device).

And on defining a new EAP-BRSKI mechanism, it should be possible to achieve today what EAP-BRSKI would enable, albeit with 2 x 802.1x, 2 x DHCP requests. A flow could be:

1. device discovers SSID
2. network enforces 802.1x EAP-TLS and checks that device has an IDevID signed by a trusted manufacturer CA; if not deny access
3. AAA instructs WLC to put device in a network segment that grants it access to the Registrar and nothing else
4. device does DHCP, gets and IP, and does the BRSKI dance and uses its IDevID to get an LDevID
5. Once device has an LDevID, it does  DHCP Release and an EAPOL-Logoff
6. Device restarts 802.1x
7. network enforces 802.1x EAP-TLS and this time checks that device has a trusted LDevID
8. AAA instructs WLC to put device in a network segment that grants it access to all required services
9. device does DHCP and we are done

Not saying that that complex flow is desirable, the 2x 802.1x and 2x DHCP will make constrained Things baulk, but its feasible. And if we were to say use the NAI Realms "_bootstrapks" mechanism, we could in theory build that solution out now with no infrastructure revs, and with minimal standardisations effort (rfc to define the use of NAI Realm).

The EAP-BRSKI flow would be something like:

1. device discovers SSID
2. network enforces 802.1x EAP-BRSKI and checks that device has an IDevID signed by a trusted manufacturer CA; if not deny access
3. BRSKI flow takes place at L2, with /requestvoucher being tunnelled inside EAP, etc.
4. Once device has completed BRSKI and has an LDevID, it gets its EAP-Success
5. AAA instructs WLC to put device in a network segment that grants it access to all required services
6. device does DHCP and we are done

This is simpler than the 2 x 802.1x, 2 x DHCP above.

Owen

-----Original Message-----
From: Anima [mailto:[email-masked]] On Behalf Of Toerless Eckert
Sent: Wednesday 14 February 2018 19:13
To: Michael Richardson <[email-masked]>
Cc: [email-masked]
Subject: Re: [Anima] BRSKI over 802.11

> I'm willing to listen to ideas, but I'm afraid of going down the IEEE hole here.

Maybe i was unclear. I think we should just know the whole slew of tools available from 802.11 that we can use without changing 802.11. I only know SSID/ESSID, so i try to figure out how to abuse oops: well use them. Nancy pointed to more tools.

Cheers
    Toerless

---

From: Michael Richardson <[email-masked]>
Date: Thu, 15 Feb 2018 17:12:29 -0500

Owen, thanks for the extensive email... I actually read to the end.
What's this legacy "DHCP" protocol?  Does anyone still use it? :-)
I thought IPv4 was an over-the-top service now.. :-) :-)

It seems like you have most of an ID already there... perhaps you'd like to
write something up... since you seem to have thought through all the possibilities.

---

From: Toerless Eckert <[email-masked]>
Date: Thu, 15 Feb 2018 23:44:20 +0100

Thanks, Owen, inline

> That's the end of the .11u intro, but I'll come back to NAI Realms in a bit.

Right. I've looked at http://web.mit.edu/freebsd/head/contrib/wpa/hostapd/hostapd.conf 
where it shows all the parameters you could configure. If we wanted to 
make this applicable to BRSKI i am mostly worried that we wold need to
register somehow new values for parameters that allow only predefined values.

Any idea what the process for that is ?

> This goes against the grain of .11u whose whole purpose is for STAs to make a decision on which SSID to use based on advertised capabilities, rather than SSID naming convention.

Sure. But the whole world does not support 802.11u, and there
is a lot of pre-existing practice to use well-known SSID names.

> Additionally, operators will not want to deploy a new SSID just to enable BRSKI flows as each SSID eats up air space and wifi channel capacity due to beacon overheads, etc. It would be better to ad…

Yes. The technical argument in favor of separate SSID is that it
does not change the security model of existing SSIDs. Ideally,
we wold want unencrypted SSID for BRSKI because we rely on the
application layer crypto of the TSL level and the voucher. The
typical use case would be that you want to allow for devices
to use BRSKI to enroll into a service, and the service itself
uses some 802.11 crypto for which you need the LDevID that you
only get through BRSKI+EST.

Can you quantify the overhead of an SSID ? You can exclude the
artifical overhead created by vendors like Cisco (could be Huawei too)
like "you can only configure N SSID on the AP, if you want more, you have
to pay more".

> The key conceptual difference is that we are using this special realm name more as a logical service advertisement rather than as a backhaul internet provider advertisement. This would not require…

Aka; NAI realm is your proposal for a 802.11u atribute that allow
values without registration == no IETF process, and it could logically
be argued how BRSKI is a NAI realm.

Again, see above: My primary concern is how i can combine BRSKI
with no 802.11 crypto with a service afterwards that uses 802.11
crypto. Using a single SSID. AFAIK, you can not have multiple
crypto options on an SSID, or at least it would considered to
be highly problematic to allows non-802.11 crypto based BRSKI
on an SSID that otherwise should have 802.11 crypto.

> One big issue with this is Eliot's point about "a business in an office building on the 10th floor in New York City or London, where you might hear 2 dozen different networks". The STA ends up scan…

Yes. This is a problem independent of 802.11, just most likely to be happening
with 802.11.

It would be great if we could tackle this problem, but IMHO a draft
doing that should not be specific to 802.11 because i feel a lot of what
we could/should do here could expand beyond 802.11

> Similar to HS2.0, we define a new BRSKI Indication Element that is advertised in Beacons, and then define any additional AQNP elements as are required. This is likely a standards body quagmire (and…

Right.

> None of the existing WPS mechanism are really suitable (PIN, push button, NFC, USB). Extending WPS, similar to defining new 802.11u extensions, seems like a standards body quagmire. Defining a new…

Well, not sure if you followed anima mailing list a few years back when we
had that discussion, i also had a lot of OOB discussions about that,
but i would always try to avoid going down that path if i can find a feasible
solution not requireing any IEEE level work.

> Some comments on briefly reviewing this. At a high level, if we have a bootstrapping Thing trying to discover and connect to an AP (with no one doing supervision/handholding via a mobile app or any…

Well. Would be happy to get more of a debrief of the details of DPP to figure out
applicability without modification of IEEE level standards.

> One big advantage of this is that the Thing is not attempting (and potentially failing, or worse - succeeding to connect to the wrong SSID) to connect to a large number of SSIDs unlike option 2 NAI…

How would that work in the face of multi-operator domains supported by the
AP ? Aka: on my home AP i can have xfinity and my own home network service,
and we would not want to assume coordination betwen them about which of the
two domain should claim a device.

> There have been comments that pre-completing BRSKI, the client must connect to an unsecure network. That's not entirely true. The network could in fact enforce 802.1x and EAP-TLS based on the manufacturer's cert / IDevID.

I am somewhat cautious as to how easy it would be to get all the necessary bits
implemented in APs to support that approach without impacting the pre-existing SSID
security. For example, if this requires to know something about
IDevIDs on the radius server, and radius server upgrades, then it IMHO a nogo.

> Similarly, if an EAP-BRSKI mechanism were to be defined, the network could deny access and not even allow the client to send its /requestvoucher unless it successfully completed the initial TLS and presented a trusted IDevID. So it could be a bootstrapping network segment that allows devices from trusted manufacturers. That seems like a better alternative to using WPA-PSK with a known network key or WAP-802.1x with a known username/password (both of which require somehow provisioning that key into the device).
> 

This is getting back to the discussion i referred to a few years back.

> This is simpler than the 2 x 802.1x, 2 x DHCP above.

Cheers
    toerless

-- 
---
[email-masked]

---

From: "Owen Friel (ofriel)" <[email-masked]>
Date: Fri, 16 Feb 2018 13:16:51 +0000

Inline Toerless.

-----Original Message-----
From: Toerless Eckert [mailto:[email-masked]] 
Sent: Thursday 15 February 2018 22:44
To: Owen Friel (ofriel) <[email-masked]>
Cc: Michael Richardson <[email-masked]>; [email-masked]; Max Pritikin (pritikin) <[email-masked]>; Eliot Lear (elear) <[email-masked]>
Subject: Re: [Anima] BRSKI over 802.11

Thanks, Owen, inline

> Network Access Identifier Realm IE: includes RFC4282 realm names that the AP provides access to (e.g. wifi.service-provider.com). The NAI Realm IE also includes info on the EAP type required to acc…

[ofriel] One other comment on NAI Realms, WLCs often place artificial restrictions on the numbers of these than can be configured. 802.11 allows 2x octet count of realms, but WLCs could only allow e.g. 32. Additionally, big mobile SPs often have dozens of roaming partners, and these guys tend to use a single Roaming  consortium OI instead of NAI Realms.

Right. I've looked at http://web.mit.edu/freebsd/head/contrib/wpa/hostapd/hostapd.conf
where it shows all the parameters you could configure. If we wanted to make this applicable to BRSKI i am mostly worried that we wold need to register somehow new values for parameters that allow only predefined values.

[ofriel] Well, if we went down the path of using NAI Realms for BRSKI, NAI Realms already allows entry of free-form domains. It doesn't have pre-defined values for NAI Realms. What would be needed is some registry where we define the well-known NAI Realm that should be configured on the WLC. That wouldn't require IEEE changes. And that value could be defined in an IETF draft that points to an IANA registry..?

[ofriel] That hostapd.conf file has a section " # NAI Realm information " outlining how to configure these, it also allows specification of the EAP Method Type, with that value being taken from the IANA registry. It gives examples for 13 (EAP-TLS) and 21 (EAP-TTLS) so if a EAP-BRSKI method were defined, that hostapd.conf already supports that type of config.

[ofriel] If we wanted to e.g. advertise a new value for the Access Network Type bits in the Access Network Options octet in the Interworking IE, that's IEEE work I guess. If we wanted to define a new vendor extension IE (similar to HS2.0) then that's.. Wi-Fi alliance work..?

> This goes against the grain of .11u whose whole purpose is for STAs to make a decision on which SSID to use based on advertised capabilities, rather than SSID naming convention.

Sure. But the whole world does not support 802.11u, and there is a lot of pre-existing practice to use well-known SSID names.

[ofriel] By pre-existing practice, are you primarily referring to e.g. hotel 'guest' or 'internet' SSIDs? Are there other use cases defined in specs for example?

> Additionally, operators will not want to deploy a new SSID just to enable BRSKI flows as each SSID eats up air space and wifi channel capacity due to beacon overheads, etc. It would be better to ad…

Yes. The technical argument in favor of separate SSID is that it does not change the security model of existing SSIDs. Ideally, we wold want unencrypted SSID for BRSKI because we rely on the application layer crypto of the TSL level and the voucher. The typical use case would be that you want to allow for devices to use BRSKI to enroll into a service, and the service itself uses some 802.11 crypto for which you need the LDevID that you only get through BRSKI+EST.

[ofriel] By configuring suitable AAA policy, we could possibly have our cake and eat it. Devices/BRSKI Pledges connect to a secure network enforcing some kind of 802.1x password-less authentication such as EAP-TLS, and ignore the infrastructure cert presented in the initial 802.1x EAP until after the BRSKI flow is complete (very similar to what the existing BRSKI draft does). And the AAA can determine based on the LDevID what to do with the bootstrapping device.

Can you quantify the overhead of an SSID ? You can exclude the artifical overhead created by vendors like Cisco (could be Huawei too) like "you can only configure N SSID on the AP, if you want more, you have to pay more".

[ofriel] Here is an SSID overhead calculator: http://www.revolutionwifi.net/revolutionwifi/p/ssid-overhead-calculator.html

I'll also quote from two WLC recommended best practices as I do not claim by any means to be an expert here:
https://www.cisco.com/c/en/us/td/docs/wireless/technology/wlc/8-5/82463-wlc-config-best-practice.html#pgfId-390434
" RF pollution increases as more SSIDs are added. Also, some smaller wireless stations such as PDA, WiFi Phones, and barcode scanners cannot cope with a high number of basic SSID (BSSID) information. This results in lockups, reloads, or association failures. Also, the more SSIDs, the more beaconing needed, which results in less RF time for real data transmits. It is recommended to have one to three SSIDs for an enterprise, and one SSID for high-density designs. AAA override can be leveraged for per user VLAN/settings on a single SSID scenario. "

http://www.arubanetworks.com/assets/vrd/Aruba_VHD_VRD_Engineering_Configuration_Guide.pdf
"Airtime is an extremely limited resource. To maximize performance, you must use the absolute minimum
number of SSIDs. When SSIDs are created for specific user groups such as staff or press or ticketing, they
generate significant additional beacon traffic throughout the area, which leaves less airtime for actual user
traffic."

> The key conceptual difference is that we are using this special realm name more as a logical service advertisement rather than as a backhaul internet provider advertisement. This would not require…

Aka; NAI realm is your proposal for a 802.11u atribute that allow values without registration == no IETF process, and it could logically be argued how BRSKI is a NAI realm.

[ofriel] Well, wouldn't it require some formal spec to register "_bootstrapks" as the correct value to configure in the NAI Realm? This would need to be baked into device firmware. Once could possibly see this is a pre-canned option in WLC config.

Again, see above: My primary concern is how i can combine BRSKI with no 802.11 crypto with a service afterwards that uses 802.11 crypto. Using a single SSID. AFAIK, you can not have multiple crypto options on an SSID, or at least it would considered to be highly problematic to allows non-802.11 crypto based BRSKI on an SSID that otherwise should have 802.11 crypto.

[ofriel] I think this could be possible via backend AAA config policy if you uses 802.11 and 802.1x. I plan on deploying a WLC and AAA to test this theory, hopefully before IETF 101...

> One big issue with this is Eliot's point about "a business in an office building on the 10th floor in New York City or London, where you might hear 2 dozen different networks". The STA ends up scan…

Yes. This is a problem independent of 802.11, just most likely to be happening with 802.11.

It would be great if we could tackle this problem, but IMHO a draft doing that should not be specific to 802.11 because i feel a lot of what we could/should do here could expand beyond 802.11

[ofriel] Right. It would be good to frame the problem by identifying 2 or 3 specific deployment options (802.11 being one of those) and see if a common solution could be found.

> Similar to HS2.0, we define a new BRSKI Indication Element that is 
> advertised in Beacons, and then define any additional AQNP elements as 
> are required. This is likely a standards body quagmire (and would also 
> requires significant infrastructure / WLC development if that's a 
> consideration...)

Right.

> None of the existing WPS mechanism are really suitable (PIN, push button, NFC, USB). Extending WPS, similar to defining new 802.11u extensions, seems like a standards body quagmire. Defining a new…

Well, not sure if you followed anima mailing list a few years back when we had that discussion, i also had a lot of OOB discussions about that, but i would always try to avoid going down that path if i can find a feasible solution not requireing any IEEE level work.

[ofriel] No, not aware of prior discussions on this. Any pointers to the specific threads on the mailers you could provide so I can brush up would be appreciated..

> Some comments on briefly reviewing this. At a high level, if we have a bootstrapping Thing trying to discover and connect to an AP (with no one doing supervision/handholding via a mobile app or any…

Well. Would be happy to get more of a debrief of the details of DPP to figure out applicability without modification of IEEE level standards.

[ofriel] Maybe Eliot can help here. I only read DPP for the first time last week.

> One big advantage of this is that the Thing is not attempting (and potentially failing, or worse - succeeding to connect to the wrong SSID) to connect to a large number of SSIDs unlike option 2 NAI…

How would that work in the face of multi-operator domains supported by the AP ? Aka: on my home AP i can have xfinity and my own home network service, and we would not want to assume coordination betwen them about which of the two domain should claim a device.

[ofriel] That is a good question!

> There have been comments that pre-completing BRSKI, the client must connect to an unsecure network. That's not entirely true. The network could in fact enforce 802.1x and EAP-TLS based on the manuf…

I am somewhat cautious as to how easy it would be to get all the necessary bits implemented in APs to support that approach without impacting the pre-existing SSID security. For example, if this requires to know something about IDevIDs on the radius server, and radius server upgrades, then it IMHO a nogo.

[ofriel] Is the nogo about having to upgrade the AAA server to support new functionality, or the nogo about having to reconfigure the AAA using existing functionality? The former should be avoided if at all possible, but I don't see how the latter can be avoided... Having the AAA know about the IDevID manufacturer signing CA should fall into the realms of reconfiguring the AAA.

> 2. network enforces 802.1x EAP-TLS and checks that device has an 
> IDevID signed by a trusted manufacturer CA; if not deny access 3. AAA 
> instructs WLC to put device in a network segment that grants it access 
> to the Registrar and nothing else 4. device does DHCP, gets and IP, 
> and does the BRSKI dance and uses its IDevID to get an LDevID 5. Once 
> device has an LDevID, it does  DHCP Release and an EAPOL-Logoff 6. 
> Device restarts 802.1x 7. network enforces 802.1x EAP-TLS and this 
> time checks that device has a trusted LDevID 8. AAA instructs WLC to 
> put device in a network segment that grants it access to all required 
> services 9. device does DHCP and we are done
> 

[ofriel] Well, that flow above about is enabling BRSKI without defining a new EAP-BRSKI mechanism and just leveraging existing EAP-TLS and existing AAA policy flexibility. The flow below relies on a new EAP-BRSKI mechanism

> 2. network enforces 802.1x EAP-BRSKI and checks that device has an 
> IDevID signed by a trusted manufacturer CA; if not deny access 3. BRSKI flow takes place at L2, with /requestvoucher being tunnelled inside EAP, etc.
> 4. Once device has completed BRSKI and has an LDevID, it gets its 
> EAP-Success 5. AAA instructs WLC to put device in a network segment 
> that grants it access to all required services 6. device does DHCP and 
> we are done
> 

Cheers
    toerless

--
---
[email-masked]

---

From: "Owen Friel (ofriel)" <[email-masked]>
Date: Fri, 16 Feb 2018 13:41:40 +0000

-----Original Message-----
From: Michael Richardson [mailto:[email-masked]] 
Sent: Thursday 15 February 2018 22:12
To: Owen Friel (ofriel) <[email-masked]>
Cc: Toerless Eckert <[email-masked]>; [email-masked]; Max Pritikin (pritikin) <[email-masked]>; Eliot Lear (elear) <[email-masked]>
Subject: Re: [Anima] BRSKI over 802.11

Owen, thanks for the extensive email... I actually read to the end.
What's this legacy "DHCP" protocol?  Does anyone still use it? :-) I thought IPv4 was an over-the-top service now.. :-) :-)

It seems like you have most of an ID already there... perhaps you'd like to write something up... since you seem to have thought through all the possibilities.

[ofriel] I think a more comprehensive analysis of the various SSID discover options (DPP, hardcoded SSID, NAI Realm,..) and how each fits into the two post-SSID discovery options of (i) a new EAP-BRSKI vs. (ii) reuse of EAP-TLS (or some suitable EAP method, possibly with 2x 80.1x exchanges) is needed before any consensus on the contents of an ID is necessary. Unless you are suggesting than an initial ID merely outlines the multiple options but makes no final recommendation yet. Happy to get started on that...

--
Michael Richardson <[email-masked]>, Sandelman Software Works  -= IPv6 IoT consulting =-

---

From: Michael Richardson <[email-masked]>
Date: Fri, 16 Feb 2018 11:43:04 -0500

Owen Friel (ofriel) <[email-masked]> wrote:
    > [ofriel] I think a more comprehensive analysis of the various SSID
    > discover options (DPP, hardcoded SSID, NAI Realm,..) and how each fits
    > into the two post-SSID discovery options of (i) a new EAP-BRSKI
    > vs. (ii) reuse of EAP-TLS (or some suitable EAP method, possibly with
    > 2x 80.1x exchanges) is needed before any consensus on the contents of
    > an ID is necessary. Unless you are suggesting than an initial ID merely
    > outlines the multiple options but makes no final recommendation
    > yet. Happy to get started on that...

Yes... the point of the ID would be to layout the options....

The options-not-selected would go into an appendix of a final document to
explain paths not taken.

---

From: Toerless Eckert <[email-masked]>
Date: Fri, 16 Feb 2018 19:00:31 +0100

I am not even sure we would need to come up with just one permitted option.

The two directions i see now from Owens input:

a) "enterprise" Model.

Relying on AAA server to be able to authenticate Pledges
based on e.g.: EAP-TLS with IDevID as auth. No additional SSID needed. Should
try to also announce 802.11u GAS, but need to figure out if/how this would
work in the face of multiple SSIDs supported (aka: multi-domain).

b) SSID approach
- can work without any change to 802.11 infra, just put BRSKI proxy on the BRSKI VLAN.
- Work without AAA, e.g.: PSK (home AP).
- multi-domain, no 802.11u support needed (unclear how ubiquitous that is).

Single domain mode where AP has only one domain offering BRSKI, BRSKI SSID
is just called BRSKI%%, no beacon sent (called "hidden" in most UIs). Connects
only to BRSKI Proxy, carries only BRKSI traffic therefore. 

Multiple <ssid>'s on an AP, each one wanting to offer BRSKI, second and further
SSID have to be renamed to BRSKI%<ssid>. But actual SSID for BRSKI for those <ssid>'s
is BRSKI%<ssid>. No crypto, just connected to BRSKI Proxy. 

Cheers
    Toerless

-- 
---
[email-masked]

---

From: "Owen Friel (ofriel)" <[email-masked]>
Date: Tue, 27 Feb 2018 11:06:17 +0000

An early draft of this is now available at:

https://github.com/anima-wg/brski-over-802dot11/blob/master/brski-over-802dot11.md

-----Original Message-----
From: Toerless Eckert [mailto:[email-masked]] 
Sent: Friday 16 February 2018 18:01
To: Michael Richardson <[email-masked]>
Cc: Owen Friel (ofriel) <[email-masked]>; Max Pritikin (pritikin) <[email-masked]>; Eliot Lear (elear) <[email-masked]>; [email-masked]
Subject: Re: [Anima] BRSKI over 802.11

a) "enterprise" Model.

Relying on AAA server to be able to authenticate Pledges based on e.g.: EAP-TLS with IDevID as auth. No additional SSID needed. Should try to also announce 802.11u GAS, but need to figure out if/how this would work in the face of multiple SSIDs supported (aka: multi-domain).

b) SSID approach

Single domain mode where AP has only one domain offering BRSKI, BRSKI SSID is just called BRSKI%%, no beacon sent (called "hidden" in most UIs). Connects only to BRSKI Proxy, carries only BRKSI traffic therefore. 

Multiple <ssid>'s on an AP, each one wanting to offer BRSKI, second and further SSID have to be renamed to BRSKI%<ssid>. But actual SSID for BRSKI for those <ssid>'s is BRSKI%<ssid>. No crypto, just connected to BRSKI Proxy. 

Cheers
    Toerless

On Fri, Feb 16, 2018 at 11:43:04AM -0500, Michael Richardson wrote:
> The options-not-selected would go into an appendix of a final document 
> to explain paths not taken.
> 
> --

--
---
[email-masked]