随着计算机和网络技术的不断普及,网络中的安全问题日益突出,本文从客户端和服务器端两方面进行分析,给出了基于指纹检刚的用户身份认证系统的设计方案,详细描述了本方案的工作流程,并分析了方案的安全性。
一、引言
随着计算机的普及和网络技术的不断发展和成熟,现代企业的设备管理部门根据发展的需要,逐渐实现了数字化、自动化。大大降低了人员的劳动强度,简化了企业分厂报送设备计划的流程,实现了设备运行状态的动态监控。然而其中的安全管理问题逐渐受到关注,通过研究企业设备管理软件,发现普遍存在以下几方面问题:1.身份认证机制过于单一,一般仅采用“用户名十密码”形式;2.设备敏感消息在网络上以明文方式传输,而且一般不包含时间标志;3没有消息完整性鉴别策略,消息被篡改后接收方无法鉴别。4设备敏感消息涉及到企业生产环节,关系到多方利益,一旦出现问题往往牵涉到报批双方责任认定和责任追究,因而对于安全性方面有着较高要求。综上考虑,企业设备管理软件必须能保证消息完整性、私密性、唯一性、不可否认性。
二、指纹识别认证机制整体架构
(一)客户端认证机制。客户端的任务是:采集指纹,提取指纹特征,建立通信渠道,发送认证数据消息,接收认证结果。因此,客户端认证机制建设包括软件和硬件两方面。客户端认证机制架构图如图1所示:
图1 客户端认证机制架构图
操作流程如下:(a)用户通过客户端操作界面输入用户名ID;(b)客户端告知系统开始新的认证;(c)客户端提示用户输入指纹;(d)客户端用户把手指放在指纹仪上;(e)客户端软件通过指纹仪采集用户指纹,从中提取指纹特征:(d)客户端将提取的指纹特征上传给服务器端,由服务器端进行指纹匹配,并将匹配结果返回给客户端,同时根据用户的角色认定赋予用户相应的权限;(e)用户通过客户端浏览相应的授权内容。
(二)服务器端认证机制
服务器端的主要任务是对客户端传来的认证数据实施认证,根据认证结果赋予用户相应的权限,并建立安全的网络连接。为了完成这一任务,还需要对用户指纹模板库进行注册和管理。因此,服务端认证机制建设包含三方面:在线指纹匹配模块、指纹模版库管理模块、企业网站和数据库.在线匹配模块主要功能是响应客户端发送的认证请求,接收客户端传递过来的指纹特征信息,通过指纹特征信息辨别用户身份的真伪,最后赋给用户对应的权限。指纹管理模块由两个部分组成:指纹注册子模块,密钥管理子模块。服务器端的架构图如下:
图2 服务器端认证机制架构图
设计原则是:在通信前必须明确发送方和接受方的身份,以防止恶意攻击:敏感消息在网络上必须以密文方式传输,杜绝任何形式的明文传输,确保消息的私密性,防止被攻击。具体解决对策如下:
1.根据用户的指纹完成身份认证。利用使用者的生物特征保证密码的唯一性,无需记忆,不会被借用、盗用和遗失。2指纹信息在Internet上传输时采用登陆握手时的临时会话密钥加密,并加入时间标记,可以防止重放攻击。3.在登陆之前的登陆握手协议中,客户端获得服务器端的数字证书并向CA验证证书的有效性,确认服务器的身份。4.利用混合密码技术,使用对称密钥技术来加密消息数据,使用非对称密钥技术来分发对称密钥及签名。
三、指纹认证机制工作流程
整个企业办公系统涉及:CA、身份认证服务器、企业网站服务器和客户端。在用户和服务器的信息交换过程中,消息总是以密文的形式在网上传输。客户端发送消息后,设备信息将以密文形式存储在企业数据库中;授权浏览用户通过将Internet传送过来的加密数据解密后可以浏览装备信息。
系统的运转共分为3大部分:SSL会话建立、指纹认证、安全的Web浏览。
A 5SL会话建立
B指纹认证协议
指纹认证协议包含两个方面:注册阶段和认证阶段。当一个新用户想要加入到该认证系统时,执行注册过程,且只执行一次;而每当一个用户登陆到认证系统时,执行认证过程。
该协议涉及到三方:用户U、认证服务器S和管理员AD。在认证环节中,用户借助指纹仪提供指纹数据,认证服务器对用户提供的指纹数据进行匹配认证以确认用户身份。管理员在整个认证过程中作用非常重要,他作为可信第三方存在。当用户方注册时,管理员监督用户提供的指纹数据的真实性,并同时提供管理员指纹数据供认证服务器验证用户指纹数据的真实性。
注册阶段
当用户需要注册指纹时,需到管理员处登记,由管理员负责其指纹数据的真实性,并由管理员负责将该用户的指纹数据注册到认证服务器S。
注册过程如下:
i.AD→S:U,Registration Request
管理员AD向认证服务器S发出一个用户U的指纹注册请求。
ii.S→AD:Registration Ready
认证服务器S向管理员AD发出响应
iii.AD→S:Fa||Fu
管理员AD获得自己的指纹数据Fa及用户U的指纹数据Fu后,审核用户U的身份并验证其指纹数据的真实性后,通过加密的SSL链路将自己的指纹数据与用户的指纹数据串联后一起发送给认证服务器S。S接收到认证消息后,得到Fa和Fu。在i=1,2,...m的范围内,比较Fa是否与Fa,i匹配。如果没有找到任何一个i,使得Fa与Fa,i匹配,则该用户U不能注册:否则,将用户U的指纹数据Fu保存在S中,作为用户U的认证信息。
认证阶段
i.U→S:U,SR
用户U向认证服务器S发出一个登录请求SR。
ii.S→U:接受请求或者拒绝请求信息
如果发现U未注册,则S拒绝U此次登录请求;否则服务器S向U发出同意登录响应。
iii.U→S:Fc
用户U收到S的同意登录响应后,借助指纹仪获取自己的指纹数据,并从中提取出指纹特征Fce然后U将指纹特征Fc通过安全信道传送给S。
iv.S收到用户指纹特征Fc后,验证是否Fc=Fu,如果Fc=Fu,U通过认证;如果Fc≠Fu,S拒绝U登录。
安全的Web浏览
身份认证服务器把认证结果反馈给企业设备管理网站系统,系统依据用户角色赋予用户相应的浏览权限。由于Web网站的内容都是通过SSL协议传送的,所以也是安全的。
四、安全性分析
本方案的指纹具有唯一性,不可否认性。并且通信都是建立在SSL链路上,为了减轻服务器和客户端的负担没有再附加其他的加密方案。因此,该认证机制的安全性主要依赖于SSL协议的安全。
握手协议层的安全性:SSL握手协议允许通信实体在交换应用数据之前协商密钥的算法、加密密钥和对客户端进行认证的协议,为下一步记录协议要使用的密钥信息进行协商,使客户端和服务器建立并保持安全通信的状态信息。握手层注重的是消息的完整性。
记录协议层的安全性:5SL通过各种对称加密算法来保证数据的保密性,另外,SSL使用加密的MAC保证数据的完整性。