[ntpwg] [ntp:hackers] MS-SNTP

Andrew Bartlett abartlet at samba.org
Thu Mar 27 05:15:08 UTC 2008


On Thu, 2008-03-27 at 00:36 +0000, David L. Mills wrote:
> Guys,
> 
> I'm sending this to both hackers and the WG, but maybe it should go to 
> only one. Your preferences would be cherished.
> 
> There has been a lot of discussion on NTP bugs about MS-SNTP, 
> Microsoft's extension to NTP for symmetric key cryptography, as well as 
> a generic model to rethink the reference implemention key management 
> services. I took a look at the MS_SNTP spec, which is even more dreary 
> than an IETF spec,

BTW, if you want to force Microsoft to improve their spec, you can
either make comment in their forums
(http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=573&SiteID=1, or you can join the Protocol Freedom Information Foundation (www.protocolfreedom.org), and use the PFIF's contact with MS and it's formal, enforceable, 'clarification request' process.  

>  and came up with the following observations:
> 
> 1. The intent in the NTPv4 specification is to use the NTPv3 defined 
> cryptographic provisions, but substitute MD5 for DES-CBC. The NTPv4 spec 
> explicitly calls out the protocol processing steps for both the server 
> and client. If an SNTP client implements authentication in some form, it 
> must be compatible with NTPv4.
> 
> 2. The NTPv4 spec requires the client to generate the MAC, which the 
> server checks. This is consistent with symmetric modes and and makes a 
> cleaner spec. The MS-SNTP spec requires the client to supply only the 
> key ID and not to provide the MAC. An MS-SNTP client would provoke a 
> CRYPTO-NAK from an NTPv4 server and interpret this as an authentication 
> failure. It would be simple to add an enable/disable flag to require/not 
> require the client to generate a MAC. If not required, MS-SNTP clients 
> could use NTPv4 servers.
> 
> 3. Another problem is that MS-SNTP and NTPv4 interpret the key ID field 
> in quite different ways. MS-SNTP constructs the key ID from a one-bit 
> key selector concatenated with a 31-bit private value based on domain 
> and machine identifiers. In general, this exhausts the key ID space. 
> However, Autokey uses a pivot point of 65535 and below for symetric keys 
> and above for public key IDs. Autokey generates pseudo-random key ID 
> streams by MD5 hashes including key IDs where the streams have no 
> collisions and hashes always greater than the pivot. Thus, the collision 
> probability is close to 2^32 - 2^16, which is negligible.

I'm a bit unclear on this - I would expect that most (but not all) RIDs
used by Microsoft clients would be in the range 0-65535, as they are
generally allocated from a base of 500.

> 4. It could be, as previously suggested, to provide a different pivot 
> point or another pivot point that would support some combination of 
> symmetric key, MS-SNTP key and Autokey, but the problem is that would 
> make the hash collisions much more frequent and still not provide 
> sufficient floor space for the MS-SNTP key ID.

I never quite expected that deployments would enable both authentication
mechanisms at once, but this seems like a reasonable way forward.

Andrew Bartlett

-- 
Andrew Bartlett
http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org
Samba Developer, Red Hat Inc.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ntp.org/pipermail/ntpwg/attachments/20080327/aa47feea/attachment.bin 


More information about the ntpwg mailing list