Hi,
Sorry for the delay.
No problem. That's hardly urgent:-)
On Sun, 2018-11-11 at 12:02 +0100, Alexander Wetzel wrote:
IEEE 802.11-2012 added support for Extended Key ID, allowing pairwise
keys to also use keyID 1 and moving group keys to IDs 2 and 3.
Where do you read this? I've always been under the impression that
individually and group addressed frames use key IDs from different
"namespaces", so to speak, where PTK/STK can use 0 (0 or 1 with
"Extended Key ID" support) and GTK can use 0-3.
In fact, the per-frame pseudocode in 802.11-2016 12.9.2.6 clearly
states:
if MPDU has individual RA then
lookup pairwise key using Key ID from MPDU
else
lookup group key using Key ID from MPDU
endif
If it weren't different namespaces, you'd not have to differentiate
here.
I was indeed struggling to understand what the intend of the standard is
here. I may well be wrong, but the note in "12.6.1.1.10 Mesh GTKSA"
tipped the scales to assume keyIDs are within one namespace only.
"Since Key ID 0 is reserved for individually addressed frame
transmission, there are at most three available Key IDs (only two if
extended Key IDs for individually addressed frames are in use), and the
different MGTKs would contend for the single remaining Key ID upon
rollover."
I got the impression Extended Key IDs were added without updating all
sections which should get updates. But the pattern is suspect, even the
igtk numbers fit into the pattern:
PTK 0 & 1
GTK 1 & 2 & 3
iGTK 4 & 5
That may well be utterly wrong... Any idea how can we sort that out?
Support for Extended Key ID is basically completed and confirmed working
with both hwsim and "on the air" with ath9k/iwldvm using software
encryption and those patches here.
:)
Prior to propose this patch for merging I would like to get Extended
Key ID working with HW encryption for at least some devices, but after
experimenting with ath9k and to a lesser extend with ath10k it's now
clear that this will be an per-driver effort and it may well turn out to
be impossible without firmware updates.
Indeed. I think there might be some support with iwlwifi firmware, at
least newer versions? I can check later.
So I've decided to continue working on the HW support for now but also
ask you for feedback for what I got so far.
Sounds good.
I think I've solved the HW support issue, it looks like we'll be able to
support Extended Key IDs with minimal changes to the drivers in a
compatibility mode. It's basically working with iwldvm and ath9k but
needs some more work.
Alexander