Skip to contentSkip to conversation

Does mac80211 guarantee no data frames are sent to driver until encryption is setup?

DISCUSSION Ben Greear 2 participants 3 messages Nov 13, 2015

lore
Share & tools
lore

Ben Greear

author
#0 lore raw

A certain firmware tries to do EAPOL inspection and only allow data pkts to be sent after the 4-way M4 has been sent, for instance.

This was breaking .11r because in that case you don't do the 4-way after roaming, so the firmware was waiting forever for an M4 to be sent and thus all tx data was hung.

I managed to get this working by just removing all of the EAPOL inspection from the firmware, but I am thinking that if the stack will send data packets to the driver before 4-way auth is completed and keys are set, then maybe I would
be opening up a race where un-encrypted frames could hit the air.

Any idea what protections, if any, the mac80211 stack provides for this case?

Thanks,
Ben

Signature · 2 lines
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com
#1 lore raw
Quoted 7 lines · Ben Greear

A certain firmware tries to do EAPOL inspection and only allow data pkts to be sent after the 4-way M4 has been sent, for instance.

This was breaking .11r because in that case you don't do the 4-way after roaming, so the firmware was waiting forever for an M4 to be sent and thus all tx data was hung.

Quoted 9 lines

I managed to get this working by just removing all of the EAPOL inspection from the firmware,
but I am thinking that if the stack will send data packets to the driver before 4-way auth is completed and keys are set, then maybe I would be opening up a race where un-encrypted frames could hit the air.

Any idea what protections, if any, the mac80211 stack provides for this case?

Check WLAN_STA_AUTHORIZED in mac80211.

BR
Janusz

author
#2 lore raw
Quoted 14 lines · Janusz Dziedzic
Quoted 13 lines · Ben Greear

A certain firmware tries to do EAPOL inspection and only allow data pkts to be sent after the 4-way M4 has been sent, for instance.

This was breaking .11r because in that case you don't do the 4-way after roaming, so the firmware was waiting forever for an M4 to be sent and thus all tx data was hung.

I managed to get this working by just removing all of the EAPOL inspection from the firmware,
but I am thinking that if the stack will send data packets to the driver before 4-way auth is completed and keys are set, then maybe I would be opening up a race where un-encrypted frames could hit the air.

Quoted 4 lines
Quoted 3 lines

Any idea what protections, if any, the mac80211 stack provides for this case?

Check WLAN_STA_AUTHORIZED in mac80211.

Thanks for the hint. Looks like my firmware change should be perfectly safe in that case.

Thanks,
Ben

Signature · 2 lines
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com