Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: [STDS-802-11-TGAI] Resolution of CIDs from LB201 concerning key derivation



Ah, and one more thing:

 

As far as I can see, the last paragraph of 11.11.2.3 has nothing to

do with "Key derivation with FILS authentication" and hence should

be moved elsewhere (don't know where).

 

Furthermore, as I understand it, the only AKM selectors used by FILS

are AKM is 00-0F-AC:<ANA-1> and 00-0F-AC:<ANA-2>, so the "If the

negotiated AKM is 00-0F-AC:<ANA-1> or 00-0F-AC:<ANA-2>," should be

deleted.

 

(The text I am referring to is:

 

If the negotiated AKM is 00-0F-AC:<ANA-1> or 00-0F-AC:<ANA-2>, FILS requires an additional element: a 13 octet AEAD counter to be part of the newly created PTKSA. The STA shall set the AEAD counter to 13 octets of zero and the AP shall set the first octet to the value 128 and the remaining octets to zero (i.e. the first bit of the AEAD counter is 1 and the rest of the bits in the counter are 0). To allow for proper processing, each side shall include the AEAD counter of the other as a peer's AEAD counter (see 11.11.2.5 (AEAD cipher mode)). AEAD counters are processed per 11.11.2.5 (AEAD cipiher mode for FILS).

 

CID 4394 points out the grammar is poor, but then only fixes a minor

deficiency.  My attempt at rewording this would be something like:

 

If FILS authentication is used, the PTKSA shall include two 13-octet AEAD counters, one for the local STA and the other for the peer STA. On PTKSA creation, the non-AP STA shall set the AEAD counter for the local STA to 13 octets of zero and the AP shall set the first octet of the AEAD counter for the local STA to the value 128 and the remaining octets to zero (i.e. the first bit of the AEAD counter is 1 and the other bits are 0); in both cases the AEAD counter for the peer STA shall be set to zero. See 11.11.2.5 (AEAD cipiher mode for FILS).

 

In turn, and if my understanding that there are in fact two AEAD counters

is correct, I think some tweaks are needed elsewhere (these may already

have been caught by a commenter):

 

11.6.2 EAPOL-Key frames

 

When the AKM is 00-0F-AC-<ANA-1> or 00-0F-AC-<ANA-2> the current value of the AEAD counter for the local STA from the PTKSA is copied to the left-most 13 octets of this field and the right-most 3 octets of this field are set to zero.

 

11.11.2.4.1 Association Request for FILS key confirmation

 

The plaintext passed to the AEAD encryption algorithm is the data that would follow the FILS session element in an unencrypted frame. If the AEAD cipher requires a unique counter, the current value of the AEAD counter for the local STA from the PTKSA shall be passed to the AEAD encryption algorithm. The ciphertext output by the AEAD encryption operation becomes the data that follows the FILS session element in the encrypted and authenticated 802.11 Association Request frame. The resulting Association Request frame shall be transmitted to the AP.

 

The AP decrypts and verifies the received Association Request frame with KEK. The AAD is reconstructed as defined in this section above and is passed, along with the ciphertext of the received frame to the AEAD decrypt operation. If the AEAD cipher mode requires an AEAD counter, the AP implicitly uses the non-AP STA's initial AEAD counter of all zeros to decrypt and verify the received frame.

 

11.11.2.4.2 Association response for FILS key confirmation

 

The plaintext passed to the AEAD encryption algorithm is the data that would follow the FILS session element in an unencrypted frame. If the AEAD cipher requires a unique counter, the current value of the AEAD counter for the local STA from the PTKSA shall passed to the AEAD encryption algorithm. The ciphertext output by the AEAD encryption operation becomes the data that follows the FILS session element in the encrypted and authenticated Association Response frame. The resulting Association Response frame shall be transmitted to the STA.

 

The STA decrypts and verifies the received Association Response frame with KEK. The AAD is reconstructed as defined in this section above and is passed, with the ciphertext of the received frame to the AEAD decrypt operation. If the AEAD cipher mode requires an AEAD counter, the STA implicitly uses the AP's initial AEAD counter of the value 128 followed by 12 octets of zero to decrypt and verify the received frame.

 

11.11.2.5 AEAD cipiher mode for FILS

 

When the AEAD cipher mode used is CCM, the nonce, N, shall be set to the AEAD counter for the local or peer STA (as defined in the subclause invoking the AEAD algorithm) in the PTKSA as passed in the frame being protected and the following values for parameters M and L shall be used:

— M=16;

— L=2

Each successive invocation of the encryption operation of CCM shall increment the AEAD counter by one (1). Processing of a received EAPOL-Key frame shall include verification that the received frame contains a counter that is strictly greater than the counter in the last received frame, and shall update its copy of the peer's AEAD counter for the peer STA in its PTKSA to the value of the AEAD counter in the received, and verified, frame.

 

But then this leads to further issues:

 

- Why the stuff in 11.11.2.4.1/2 about the implied AEAD counter?  Shouldn't it be using the actual counter, i.e. the peer STA counter from the PTKSA?  Isn't the point of the AEAD counter to protect against replay attacks?

 

- I don't understand "the data that would follow the FILS session element in an unencrypted frame".  That data would be some other element (or perhaps the FCS, if there are no more elements).

 

- Similarly, I'm having trouble with "The ciphertext output by the AEAD encryption operation becomes the data that follows the FILS session element in the encrypted and authenticated 802.11 Association Request frame." Does this mean that the Association Request MMPDU is encrypted, then the AEAD cipher output is spliced into this at the octet position after the FILS session element?  This sounds a bit grotesque.

 

- So Association Request/Response are encrypted in FILS?  This would appear to contradict 8.2.4.1.9 of the baseline, which states that "The Protected Frame field is set to 1 if the Frame Body field contains information that has been processed by a cryptographic encapsulation algorithm. The Protected Frame field is set to 1 only within Data frames and within Management frames of subtype Authentication, and individually addressed robust Management frames. The Protected Frame field is set to 0 in all other frames, except in Control frames of subtype Control Frame Extension where this field is reserved.".

 

- I don't understand "If the AEAD cipher mode requires an AEAD counter,".  As far as I can determine (from 11.11.2.5), there's only one AEAD cipher mode, namely CCM, and it requires an AEAD counter.

 

- 11.11.2.5 only mentions encryption -- what about decryption, as referred to in 11.11.2.4.1/2?

 

- "cipiher"

 

- "The resulting Association Request/Response shall be transmitted" -- well, duh!

 

I'm going to stop picking at the scab for now.

)

 

Mark

 

--

Mark RISON, Standards Architect, WLAN   English/Esperanto/Français

Samsung Cambridge Solution Centre       Tel: +44 1223  434600

Innovation Park, Cambridge CB4 0DS      Fax: +44 1223  434601

ROYAUME UNI                             WWW: http://www.samsung.com/uk

 

From: *** 802.11 TGai - Fast Initial Link Set-Up *** [mailto:STDS-802-11-TGAI@xxxxxxxx] On Behalf Of Mark Rison
Sent: 2 June 2014 16:19
To: STDS-802-11-TGAI@xxxxxxxxxxxxxxxxx
Subject: Re: [STDS-802-11-TGAI] Resolution of CIDs from LB201 concerning key derivation

 

I have timed out and uploaded 14/0692r2.  If you run out of things to

talk about tomorrow, and security people are in attendance, then feel

free to talk about this (I may not be able to attend).

 

It's probably best to view the "Final" (i.e. changes not shown) version

first, and if this seems right, then go through the change tracking and

the comments.

 

Mark

 

--

Mark RISON, Standards Architect, WLAN   English/Esperanto/Français

Samsung Cambridge Solution Centre       Tel: +44 1223  434600

Innovation Park, Cambridge CB4 0DS      Fax: +44 1223  434601

ROYAUME UNI                             WWW: http://www.samsung.com/uk

 

From: *** 802.11 TGai - Fast Initial Link Set-Up *** [mailto:STDS-802-11-TGAI@xxxxxxxx] On Behalf Of Mark Rison
Sent: 30 May 2014 11:09
To: STDS-802-11-TGAI@xxxxxxxxxxxxxxxxx
Subject: Re: [STDS-802-11-TGAI] Resolution of CIDs from LB201 concerning key derivation

 

In the absence of specific information to the contrary, I am going

to assume that 14/0692r1 was in error when it removed the nonces from

the PTKSA KDF, and that what it should have done was (in addition to

swapping the first and third arguments) to *add* the STA and AP

addresses to the context, i.e. end up with:

 

KCK || KEK || TK = KDF-X (PMK, “FILS PTKSA Derivation”, SPA || AA || SNonce || ANonce)

 

Unfortunately, I have yet another question!

 

11.6.1.3 of the baseline (11mc/D2.0) says that:

 

The PTK shall be derived from the PMK by

PTK <- PRF-X (PMK, “Pairwise key expansion”, Min (AA, SPA) || Max (AA, SPA) || Min (ANonce, SNonce) || Max (ANonce, SNonce))

 

(Why) are min/max not needed for PTKSA key derivation for FILS?

 

(And doesn't "Except when preauthentication is used, the pairwise key

hierarchy utilizes PRF-384 or PRF-512 to derive session-specific keys

from a PMK" at the start of 11.6.1.3 need "or FILS authentication"

added?)

 

Mark

 

--

Mark RISON, Standards Architect, WLAN   English/Esperanto/Français

Samsung Cambridge Solution Centre       Tel: +44 1223  434600

Innovation Park, Cambridge CB4 0DS      Fax: +44 1223  434601

ROYAUME UNI                             WWW: http://www.samsung.com/uk

 

From: *** 802.11 TGai - Fast Initial Link Set-Up *** [mailto:STDS-802-11-TGAI@xxxxxxxx] On Behalf Of Mark Rison
Sent: 29 May 2014 13:50
To: STDS-802-11-TGAI@xxxxxxxxxxxxxxxxx
Subject: Re: [STDS-802-11-TGAI] Resolution of CIDs from LB201 concerning key derivation

 

I have an additional question:

 

What does "Regardless of whether PMKSA caching is used or not, a PTKSA

shall be generated with each FILS authentication exchange" mean?

 

Now (i.e. given the changes in 14/0692r1) the FILS PTK key derivation is

a factor of the PMK and of constants (a constant string, and the MAC

addresses of the AP and STA).  So if PMKSA caching is used, and hence

the PMK does not change, won't the PTKSA be the same as for the

previous FILS authentication exchange?

 

Mark

 

--

Mark RISON, Standards Architect, WLAN   English/Esperanto/Français

Samsung Cambridge Solution Centre       Tel: +44 1223  434600

Innovation Park, Cambridge CB4 0DS      Fax: +44 1223  434601

ROYAUME UNI                             WWW: http://www.samsung.com/uk

 

From: *** 802.11 TGai - Fast Initial Link Set-Up *** [mailto:STDS-802-11-TGAI@xxxxxxxx] On Behalf Of Mark Rison
Sent: 26 May 2014 16:33
To: STDS-802-11-TGAI@xxxxxxxxxxxxxxxxx
Subject: Re: [STDS-802-11-TGAI] Resolution of CIDs from LB201 concerning key derivation

 

My question to the TGai regulars is:

 

Is the following

 

the context is:

     rMSK if shared key authentication is being used without PFS

     rMSK || ss if shared key authentication is being used with PFS

     ss if public key authentication is being used

 

a) complete (i.e. there are no cases other than 1) shared w/o PFS, 2) shared w/ PFS and 3) public)

b) correct (i.e. the three cases have the right context for the KDF)

 

?

 

Mark

 

--

Mark RISON, Standards Architect, WLAN   English/Esperanto/Français

Samsung Cambridge Solution Centre       Tel: +44 1223  434600

Innovation Park, Cambridge CB4 0DS      Fax: +44 1223  434601

ROYAUME UNI                             WWW: http://www.samsung.com/uk

 

From: Mark Rison [mailto:m.rison@xxxxxxxxxxx]
Sent: 16 May 2014 04:30
To: 'STDS-802-11-TGAI@xxxxxxxxxxxxxxxxx'
Subject: RE: [STDS-802-11-TGAI] Resolution of CIDs from LB201 concerning key derivation

 

Here is text which may address the syntactical issue in 14/0692r0.

As is my wont, I've made various other editorial changes along

the way.  I have made my best efforts to keep my understanding of

the desired technical outcome but I cannot make any strong promises.

 

11.11.2.3.1 PMK key derivation with FILS authentication

 

For PMKSA generation, the inputs to the KDF are:

     the two nonces, NSTA and NAP

     a constant label

     the EAP-RP secret result, rMSK, if shared key authentication is being used

     the Diffie-Hellman shared secret, ss, if PFS is being used or public key authentication is being used

 

The KDF produces a PMK and a PMKID which is used to uniquely identify the PMKSA. The length of the PMK shall be 256 bits, and the length of the PMKID shall be 128 bits:

 

PMKID || PMK = KDF-384(NSTA || NAP, "FILS PMKSA Derivation", context)

 

where the context is:

     rMSK if shared key authentication is being used without PFS

     rMSK || ss if shared key authentication is being used with PFS

     ss if public key authentication is being used

 

Upon completion of PMK generation, ss and rMSK, if derived, shall be irretrievably destroyed.

 

Note that I have used || for concatenation rather than |, since that

seems to be the baseline usage.  This should, if adopted, be done

in 11.11.2.3.2 too.

 

Mark

 

--

Mark RISON, Standards Architect, WLAN   English/Esperanto/Français

Samsung Cambridge Solution Centre       Tel: +44 1223  434600

Innovation Park, Cambridge CB4 0DS      Fax: +44 1223  434601

ROYAUME UNI                             WWW: http://www.samsung.com/uk

 

From: *** 802.11 TGai - Fast Initial Link Set-Up *** [mailto:STDS-802-11-TGAI@xxxxxxxx] On Behalf Of Dan Harkins
Sent: 15 May 2014 11:22
To: STDS-802-11-TGAI@xxxxxxxxxxxxxxxxx
Subject: [STDS-802-11-TGAI] Resolution of CIDs from LB201 concerning key derivation

 

 

  Hello,

 

  I have generated resolutions for the CIDs from LB201 related to the key derivation

section 11.11.2.3. Please take a look at document 11-14/0692r0 for the submission

and text changes being proposed and document 11-14/0694r0 for the proposed

resolution spreadsheet changes. Both are on mentor.

 

  regards,

 

  Dan.

 

_______________________________________________________________________________

IF YOU WISH to be Removed from this reflector, PLEASE DO NOT send your request to this CLOSED reflector. We use this valuable tool to communicate on the issues at hand.

SELF SERVICE OPTION: Point your Browser to - http://listserv.ieee.org/cgi-bin/wa?SUBED1=STDS-802-11-TGAI and then amend your subscription on the form provided. If you require removal from the reflector press the LEAVE button.

Further information can be found at: http://www.ieee802.org/11/Email_Subscribe.html _______________________________________________________________________________

_______________________________________________________________________________

IF YOU WISH to be Removed from this reflector, PLEASE DO NOT send your request to this CLOSED reflector. We use this valuable tool to communicate on the issues at hand.

SELF SERVICE OPTION: Point your Browser to - http://listserv.ieee.org/cgi-bin/wa?SUBED1=STDS-802-11-TGAI and then amend your subscription on the form provided. If you require removal from the reflector press the LEAVE button.

Further information can be found at: http://www.ieee802.org/11/Email_Subscribe.html _______________________________________________________________________________