远程桌面客户端对服务器身份的验证,前面有一篇文档做过介绍,简单来说,分两个阶段,Windows Server 2003 SP1到Windows Server 2008阶段,可以配置SSL或是TSL来完成,从Windows Server 2008开始,就可以由Kerberos或是NLA来完成了。
依据标题,大家也猜明白了,今天的主题是NLA,Network Lever Authentication,网络级身份验证,给个截图,看个明白
 
NLA验证过程简述_第1张图片
 
它主要实现了两个功能,一是服务器身份的验证,二是验证客户端向服务器提交的用户和密码信息以便验证,今天我们就来简述一下NLA的机制。
 
1、默认情况下,Windows 7和Vista是启用了NLA的,但XP SP3的要改注册表,微软有篇KB951608的文档有详细的说明,其实改注册表是启用凭据安全支持提供程序 (CredSSP)功能,要实现NLA,CredSSP就必须启用的。实际上CredSSP协议实现了将客户端的应用程序的用户凭据提交到服务器进行验证的,具体说来,就是我们在RDC上输入的用户名和密码;
 
2、但是CredSSP并不是直接将这些敏感信息提交的,它还调用了TLS协议来首先验证服务器的身份,默认情况下,远程桌面(终端服务)器本身会生成一张自签名的证书,TLS结合这张自签名的证书,在客户端与服务器之间建立一个安全的通道;
 
3、安全通道建立后,客户端与服务器之间的身份验证数据都将在这个通道中传递,这时,另外一个重要的角色就该出场了, SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) 协议,SPNEGO协议就担任着验证CredSSP客户端和CredSSP服务器的任务了;
 
到此,客户端凭据和服务器身份验证的过程就算完成了,总结一下,实际上NLA只是CredSSP在远程桌面(终端服务)方面的一个具体具体化的例子,它依靠着TLS协议在客户端和服务器建立一个安全的通道,依靠着SPNEGO协议完成客户端凭据与服务器身份的验证。