[cifs-protocol] Session keys are not always 16 bytes long
hongweis at microsoft.com
Fri Aug 15 23:10:41 GMT 2008
For your SMB signing problem shown in the network traces attached, what is your configuration ? Are you using Vista client connecting to Samba server and KDC ? You also mentioned windows servers. How are they used in your configuration ? I just want to make sure we check the correct section of the code and create a testing environment that will be more helpful for finding the problem.
From: Stefan (metze) Metzmacher [mailto:metze at samba.org]
Sent: Thursday, August 14, 2008 10:36 AM
To: Hongwei Sun
Cc: Andrew Bartlett; pfif at tridgell.net; cifs-protocol at samba.org
Subject: Re: [cifs-protocol] Session keys are not always 16 bytes long
Hongwei Sun schrieb:
>>> I just found that the session key used to decrypt the password attributes in the DsGetNCChanges() is not truncated.
> Do you have network trace for this case ?
See the attached capture and keytab.
>>> And I need to use gsskrb5_get_subkey() instead of gsskrb5_get_initiator_subkey(), when aes keys are used.
> Does this happen only when you use AES keys
Yes, as for AES the acceptor subkey is different from the initiator one.
Windows servers seem to just use the same subkey as acceptor subkey and the inititor subkey for rc4 and des keys.
For me the remaining unsolved problem is smb signing with AES keys.
If I disable mutual auth is works using the initiator subkey, but if mutual auth is used I'm getting a NT_STATUS_ACCESS_DENIED on the tree connect after the session setup. Both initiator and acceptor subkey doesn't work. And truncating the session key to 16 bytes also doesn't help. I attached 2 capture of it.
SMB2 signing works fine with the 32byte acceptor subkey.
Could it be a bug in windows? Or does smb signing works for you with AES keys and mutual auth?
More information about the cifs-protocol