diff mbox series

netdev: relax requirement for OWE AKM in assoc reply

Message ID 20230713144237.2977210-1-prestwoj@gmail.com (mailing list archive)
State Accepted, archived
Headers show
Series netdev: relax requirement for OWE AKM in assoc reply | expand

Commit Message

James Prestwood July 13, 2023, 2:42 p.m. UTC
Some APs don't include the RSNE in the associate reply during
the OWE exchange. This causes IWD to be incompatible since it has
a hard requirement on the AKM being included.

This relaxes the requirement for the AKM and instead warns if it
is not included.

Below is an example of an association reply without the RSN element

IEEE 802.11 Association Response, Flags: ........
     Type/Subtype: Association Response (0x0001)
     Frame Control Field: 0x1000
     .000 0000 0011 1100 = Duration: 60 microseconds
     Receiver address: 64:c4:03:88:ff:26
     Destination address: 64:c4:03:88:ff:26
     Transmitter address: fc:34:97:2b:1b:48
     Source address: fc:34:97:2b:1b:48
     BSS Id: fc:34:97:2b:1b:48
     .... .... .... 0000 = Fragment number: 0
     0001 1100 1000 .... = Sequence number: 456
IEEE 802.11 wireless LAN
     Fixed parameters (6 bytes)
     Tagged parameters (196 bytes)
         Tag: Supported Rates 6(B), 9, 12(B), 18, 24(B), 36, 48, 54, [Mbit/sec]
         Tag: RM Enabled Capabilities (5 octets)
         Tag: Extended Capabilities (11 octets)
         Ext Tag: HE Capabilities (IEEE Std 802.11ax/D3.0)
         Ext Tag: HE Operation (IEEE Std 802.11ax/D3.0)
         Ext Tag: MU EDCA Parameter Set
         Ext Tag: HE 6GHz Band Capabilities
         Ext Tag: OWE Diffie-Hellman Parameter
             Tag Number: Element ID Extension (255)
             Ext Tag length: 51
             Ext Tag Number: OWE Diffie-Hellman Parameter (32)
             Group: 384-bit random ECP group (20)
             Public Key: 14ba9d8abeb2ecd5d95e6c12491b16489d1bcc303e7a7fbd…
         Tag: Vendor Specific: Broadcom
         Tag: Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element

Reported-By: Wen Gong <quic_wgong@quicinc.com>
---
 src/netdev.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Denis Kenzior July 14, 2023, 3:51 a.m. UTC | #1
Hi James,

On 7/13/23 09:42, James Prestwood wrote:
> Some APs don't include the RSNE in the associate reply during
> the OWE exchange. This causes IWD to be incompatible since it has
> a hard requirement on the AKM being included.
> 
> This relaxes the requirement for the AKM and instead warns if it
> is not included.
> 
> Below is an example of an association reply without the RSN element
> 
> IEEE 802.11 Association Response, Flags: ........
>       Type/Subtype: Association Response (0x0001)
>       Frame Control Field: 0x1000
>       .000 0000 0011 1100 = Duration: 60 microseconds
>       Receiver address: 64:c4:03:88:ff:26
>       Destination address: 64:c4:03:88:ff:26
>       Transmitter address: fc:34:97:2b:1b:48
>       Source address: fc:34:97:2b:1b:48
>       BSS Id: fc:34:97:2b:1b:48
>       .... .... .... 0000 = Fragment number: 0
>       0001 1100 1000 .... = Sequence number: 456
> IEEE 802.11 wireless LAN
>       Fixed parameters (6 bytes)
>       Tagged parameters (196 bytes)
>           Tag: Supported Rates 6(B), 9, 12(B), 18, 24(B), 36, 48, 54, [Mbit/sec]
>           Tag: RM Enabled Capabilities (5 octets)
>           Tag: Extended Capabilities (11 octets)
>           Ext Tag: HE Capabilities (IEEE Std 802.11ax/D3.0)
>           Ext Tag: HE Operation (IEEE Std 802.11ax/D3.0)
>           Ext Tag: MU EDCA Parameter Set
>           Ext Tag: HE 6GHz Band Capabilities
>           Ext Tag: OWE Diffie-Hellman Parameter
>               Tag Number: Element ID Extension (255)
>               Ext Tag length: 51
>               Ext Tag Number: OWE Diffie-Hellman Parameter (32)
>               Group: 384-bit random ECP group (20)
>               Public Key: 14ba9d8abeb2ecd5d95e6c12491b16489d1bcc303e7a7fbd…
>           Tag: Vendor Specific: Broadcom
>           Tag: Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element
> 
> Reported-By: Wen Gong <quic_wgong@quicinc.com>
> ---
>   src/netdev.c | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
> 

Looks fine to me.

Wen, any chance you can test this patch so I can also add your Tested-By?

Regards,
-Denis
Wen Gong July 14, 2023, 3:56 a.m. UTC | #2
On 7/14/2023 11:51 AM, Denis Kenzior wrote:
> Hi James,
>
> On 7/13/23 09:42, James Prestwood wrote:
>>
...
>
> Looks fine to me.
>
> Wen, any chance you can test this patch so I can also add your Tested-By?
>
> Regards,
> -Denis
I have tested it before:
Jul 11 20:32:32.646611 wd[1024]: src/netdev.c:netdev_mlme_notify() MLME 
notification Connect(46)
Jul 11 20:32:32.646611 wd[1024]: src/netdev.c:netdev_connect_event()
Jul 11 20:32:32.646611 wd[1024]: not care OWE DH element/RSN not found
Jul 11 20:32:32.681820 wd[1024]: src/station.c:station_connect_cb() 5, 
result: 0
Jul 11 20:32:32.681820 wd[1024]: src/station.c:station_connect_ok()
Denis Kenzior July 14, 2023, 2:10 p.m. UTC | #3
Hi James,

On 7/13/23 09:42, James Prestwood wrote:
> Some APs don't include the RSNE in the associate reply during
> the OWE exchange. This causes IWD to be incompatible since it has
> a hard requirement on the AKM being included.
> 
> This relaxes the requirement for the AKM and instead warns if it
> is not included.
> 
> Below is an example of an association reply without the RSN element
> 
> IEEE 802.11 Association Response, Flags: ........
>       Type/Subtype: Association Response (0x0001)
>       Frame Control Field: 0x1000
>       .000 0000 0011 1100 = Duration: 60 microseconds
>       Receiver address: 64:c4:03:88:ff:26
>       Destination address: 64:c4:03:88:ff:26
>       Transmitter address: fc:34:97:2b:1b:48
>       Source address: fc:34:97:2b:1b:48
>       BSS Id: fc:34:97:2b:1b:48
>       .... .... .... 0000 = Fragment number: 0
>       0001 1100 1000 .... = Sequence number: 456
> IEEE 802.11 wireless LAN
>       Fixed parameters (6 bytes)
>       Tagged parameters (196 bytes)
>           Tag: Supported Rates 6(B), 9, 12(B), 18, 24(B), 36, 48, 54, [Mbit/sec]
>           Tag: RM Enabled Capabilities (5 octets)
>           Tag: Extended Capabilities (11 octets)
>           Ext Tag: HE Capabilities (IEEE Std 802.11ax/D3.0)
>           Ext Tag: HE Operation (IEEE Std 802.11ax/D3.0)
>           Ext Tag: MU EDCA Parameter Set
>           Ext Tag: HE 6GHz Band Capabilities
>           Ext Tag: OWE Diffie-Hellman Parameter
>               Tag Number: Element ID Extension (255)
>               Ext Tag length: 51
>               Ext Tag Number: OWE Diffie-Hellman Parameter (32)
>               Group: 384-bit random ECP group (20)
>               Public Key: 14ba9d8abeb2ecd5d95e6c12491b16489d1bcc303e7a7fbd…
>           Tag: Vendor Specific: Broadcom
>           Tag: Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element
> 
> Reported-By: Wen Gong <quic_wgong@quicinc.com>
> ---
>   src/netdev.c | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
> 

Applied, thanks.

Regards,
-Denis
diff mbox series

Patch

diff --git a/src/netdev.c b/src/netdev.c
index f5c5fc51..56c6ebd2 100644
--- a/src/netdev.c
+++ b/src/netdev.c
@@ -2911,11 +2911,15 @@  process_resp_ies:
 		}
 
 		if (netdev->owe_sm) {
-			if (!owe_dh || !owe_akm_found) {
-				l_error("OWE DH element/RSN not found");
+			if (!owe_dh) {
+				l_error("OWE DH element not found");
 				goto deauth;
 			}
 
+			if (!owe_akm_found)
+				l_warn("OWE AKM was not included in the RSNE. "
+					"This AP is out of spec!");
+
 			if (L_WARN_ON(owe_process_dh_ie(netdev->owe_sm, owe_dh,
 							owe_dh_len) != 0))
 				goto deauth;