在基础架构中,需要使用不同的身份验证协议(例如,LM、NTML、NTMLv2、Kerberos、LDAP)来验证用户并授予他们访问域的权限。
Microsoft®Active Directory(AD)支持Kerberos和轻型目录访问协议(LDAP)。Kerberos是一个开放标准,它提供了与使用相同标准的其他系统的互操作性。该协议使用密钥加密为客户端和服务器提供了强大的身份验证。Kerberos使用票据,而不是通过网络传输用户的实际密码。
票证由Kerberos密钥分发(KDC)颁发,它作为Active Directory域服务(AD DS)的一部分在域控制器上运行。当用户登录到系统时,客户端会从密钥分发中心为用户请求票据,利用用户的密码对请求进行加密。如果Kerberos密钥分发可以使用它知道的用户密码解密请求,那么会为用户创建一个票证授予票证(TGT)。票证授予票证使用用户密码加密票证,并将其发送回客户端。
如果客户端可以使用其拥有的密码解密票证,则它知道密钥分发中心是合法的。客户机通过提供其票证授予票证和票证授予服务(TGS)请求(其中包括其要访问的服务的名称),从密钥分发中心请求服务的票证。
然后,密钥分发中心创建一个用服务的密码哈希加密的服务票证,然后用共享票证授予服务会话密钥加密票证和验证器消息,最后将其发送回客户端。客户机随后通过将从密钥分发中心获得的服务票证提供给应用程序服务器来请求访问该服务,应用程序服务器使用自己的密码哈希对消息进行解密。如果成功,应用程序服务器将授予对客户端的访问权限。
Active Directory还支持用于目录查找的轻型目录访问协议,与Kerberos结合使用并不罕见。本质上,轻量级目录访问协议允许系统和应用程序与目录服务(如Active Directory)对话。当使用轻量级目录访问协议时,有两种主要机制:简单身份验证以及简单身份验证和安全层(SASL)。
简单身份验证方法包括三种方法:匿名身份验证、未经身份验证和名称/密码身份验证。通常,简单身份验证意味着使用名称和密码创建向服务器进行身份验证的BIND请求。简单的身份验证和安全层框架利用另一个服务(如Kerberos)向身份验证过程添加另一个安全层。