Microsoft NTLM (v2) 中的时间戳使用

timestamp use in Microsoft NTLM (v2)

我正在致力于自定义实施 NTLM 和 NTLMv2 协议以在 Lync(Skype for business)服务器上进行授权。在阅读官方规范和 http://davenport.sourceforge.net/ntlm.html 时,我有几个问题找不到答案。其中之一如下:

问题是关于 NTLMv2 响应(尤其是 blob)。它说 blob 应该包含时间戳

since January 1, 1601

。这个是来做什么的?如果服务器不知道我的本地时间,它如何确保安全。或者我应该使用服务器在类型 2 消息中提供的时间戳?

答案不完整,但我现在还没好

Or maybe I should use timestamp provided in type 2 message by server?

是的。正如我在评论 MS-NLMP

上面链接的文档中所说
If NTLM v2 authentication is used, the client SHOULD send the timestamp in the
CHALLENGE_MESSAGE.<47>
If there exists a CHALLENGE_MESSAGE.TargetInfo.AvId ==
MsvAvTimestamp
 Set Time to CHALLENGE_MESSAGE.TargetInfo.Value of that AVPair
Else
 Set Time to Currenttime
Endif