Ethereal-users: Re: [Ethereal-users] Re: WPA AES Malformed Group key EAPOL ?

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Mon, 26 Jan 2004 00:44:31 -0800
On Sun, Jan 25, 2004 at 11:42:17PM -0800, mmmgrrrl wrote:
>    > 1) that WPA key *shouldn't* be interpreted as 802.11 tagged parameters
> 
>     I'm not 100% sure but I did find a few presentations and whitepapers
>     online (no rfcs and I refuse to pay wi-fi.org $25 to download the
>     wpa specs) that indicate the tags are not applicable; the key length
>     (2 octets) is 24 bytes and the key is the 24 bytes that follow.

Page 49 of the slide show at

	http://csrc.nist.gov/wireless/S10_802.11i%20Overview-jw1.pdf

showas an "EAPoL Key Message", which is probably what's being dissected.
Page 51 says that the Data is

	- RSN IEs from discovery
	   o STA's RSN IE in 4-Way Handshake Message 2
	   o AP's RSN IE in 4-Way Handshake Message 3
	- GTK in Group Key Handshake message 1

The "Key Information" field of the message is

    Key Information: 0x03a2
        .... .... .... .010 = Key Descriptor Version: AES-CBC-MAC for MIC and +HMAC-SHA1 for encryption (2)
        .... .... .... 0... = Key Type: Group key
        .... .... ..10 .... = Key Index: 2
        .... .... .0.. .... = Install flag: Not set
        .... .... 1... .... = Key Ack flag: Set
        .... ...1 .... .... = Key MIC flag: Set
        .... ..1. .... .... = Secure flag: Set
        .... .0.. .... .... = Error flag: Not set
        .... 0... .... .... = Request flag: Not set

Perhaps the fact that the "Key Type" flag is "Group key" means that this
is part of a group key handshake.  If so, and if the flag being 1 for
"Pairwise Key" means that the messages are part of the 4-way handshake,
then perhaps the WPA key dissection should dissect the data as 802.11
tagged parameters *ONLY* if the "key type" flag is 1.

(I am not an 802.11i or WPA expert, so I leave the decision as to
whether to do that up to any such experts who are in the audience.  I'd
prefer to leave the implementation up to them as well, although if
somebody can make an authoritative, definitive statement that the WPA
key dissector should check the "Key Type" flag and dissect the data
field as 802.11 tagged parameters only if that flag is set, I'll do the
implementation.)