Windows NT 4 和 2000 系统的NTLM认证机制与实现
1. Windows 2000 安全概述
在Windows 2000系统中,安全涉及到对象和服务的访问控制以及用户认证两个关键方面。传统的低级安全结构和功能,以及基于受托人的访问控制功能,共同构建了系统的安全体系。例如,在处理客户端的访问请求时,服务器可以通过模拟客户端的方式,使用客户端的访问令牌而非服务器自身的令牌来进行文件访问,以此增强安全性。
下面是一个测试文件访问权限的示例代码:
Open szFileName For Random Access Read Write As hFile
‘--- Able to open the file, change the return value
bAllowed = True
‘--- Close the file
Close hFile
TestFileForAccess_Err:
‘--- Revert to primary access token
RevertToSelf
TestFileForAccess = bAllowed
End Function
这个函数首先模拟已登录的客户端,然后尝试使用传入的文件名打开文件。在返回之前,调用 RevertToSelf
函数,恢复使用服务器的访问令牌。
2. 用户认证方法
用户认证主要有两种方法:Windows NT LAN Manager (NTLM) 协议和 Kerberos 协议。本章主要介绍NTLM认证协议,它适用于NT 4和Window