网络通信 频道

身份认证连载:双因素认证技术剖析

  2.认证代理

  认证代理是实现认证功能的中间组件,它部署在应用服务器上,用来实施动态口令的安全策略。常用的应用服务包括活动目录服务器、Web Services、远程访问服务器、VPN集中器等。主要功能是将具体应用的身份认证请求通过安全的通道传输给身份管理服务器,并通知用户验证结果。

  当企业中的这些服务器安装了认证代理客户端软件后,就成为被保护的服务器。访问的用户无论是通过本地还是远程访问该服务器时,在得到访问授权之前,都将被截取。通过安全的通道向身份管理服务器证明身份之后,用户才会得到访问资源的权限,而这些服务的访问权限也是分别保护的,所以即使用户得到了一台服务器的访问权限也不会出现权限滥用的情况。

  3.身份管理服务器

  管理服务器是双因素认证系统的核心。其主要作用为:验证用户口令的有效性、向用户签发口令令牌、签发可信代理主机证书、实时监控,创建日志信息等。

  管理服务器模块通常是在UNIX或NT机器上运行的监控程序。客户端软件负责把用户信息传递给指定的管理服务器,然后对返回的响应进行操作。管理服务器负责接收用户连接请求。在管理服务器中设立一个中心数据库,这个中心数据库包括用户身份认证信息(比如用户名,口令),根据这个中心数据库来认证用户。通常管理服务模块会采用RADIUS(Remote Authentication Dial In User Service,远程身份验证拨入用户服务)服务器。

  RADIUS是RFC 2865"远程身份验证拨入用户服务 (RADIUS)"和 RFC 2866"RADIUS 记账"中描述的业界标准协议。RADIUS客户端(通常为拨号服务器、VPN 服务器或无线访问点)以RADIUS消息的形式向 RADIUS服务器发送用户凭据和连接参数信息。RADIUS初衷是用来管理使用串口和调制解调器的大量分散用户,但在今天更多的是和AAA配合使用。

  AAA是验证授权和记账Authentication、Authorization、Accounting 的简称。它是运行于NAS上的客户端程序,它提供了一个用来对验证、授权和记账这三种安全功能进行配置的一致的框架。AAA的配置实际上是对网络安全的一种管理,这里的网络安全主要指访问控制,包括哪些用户可以访问网络服务器,具有访问权的用户可以得到哪些服务,如何对正在使用网络资源的用户进行记账。

   验证(Authentication): 验证用户是否可以获得访问权

   授权(Authorization) : 授权用户可以使用哪些服务

   记账(Accounting) : 记录用户使用网络资源的情况

  要真正实现双因素认证,就是让上述3个组件协同工作起来。管理服务器在选定的网络节点之间(通过签发代理主机证书) 建立一个保护的环境。每个受保护的网络节点都是一个客户端,必须运行认证代理软件。用户访问受保护网络节点时,客户端软件代理要求用户输入验证信息(用户名,PIN码和动态密码),并同时将客户端的节点密文传输到管理服务器。管理服务器在接受到验证信息后,首先根据节点密文确定客户端是否为可信节点。

  然后根据用户名在用户信息数据库中取出用户的初始密钥,并在当前时间前后的一定时间段内生成一系列动态口令(注意:这个时间段设置上很有讲究,我在第一次设置的时候选择了30秒,但当时的拨号用户由于速度太慢,根本完成不了输入过程),如果用户提交的动态口令在这组口令中得以匹配,并且PIN码也相符,则可以认定该用户为合法用户,接受用户的验证请求。这就是动态口令和用户PIN码相结合的处理过过程,如下图所示:




0
相关文章