认证(Authentication)是证实实体身份的过程,是保证系统安全的重要措施之一。当服务器提供服务时,需要确认来访者的身份,访问者有时也需要确认服务提供者的身份。身份认证是指计算机及网络系统确认操作者身份的过程。计算机网络系统是一个虚拟的数字世界。在这个数字世界中,一切信息包括用户的身份信息都是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权。而现实世界是一个真实的物理世界,每个人都拥有独一无二的物理身份。如何保证以数字身份进行操作的操作者就是这个数字身份合法拥有者,也就是说,保证操作者的物理身份与数字身份相对应,就成为一个很重要的问题。身份认证技术的诞生就是为了解决这个问题。如何通过技术手段保证用户的物理身份与数字身份相对应呢?在真实世界中,验证一个人的身份主要通过三种方式判定:一是根据你所知道的信息来证明你的身份(what you know),假设某些信息只有某个人知道,比如暗号等,通过询问这个信息就可以确认这个人的身份;二是根据你所拥有的东西来证明你的身份(what you have),假设某一个东西只有某个人有,比如印章等,通过出示这个东西也可以确认个人的身份;三是直接根据你独一无二的身体特征来证明你的身份(who you are),比如指纹、面貌等。在信息系统中,一般来说,有三个要素可以用于认证过程,即用户的知识(Knowledge),如口令等;用户的物品(Possession),如IC卡等;用户的特征(Characteristic),如指纹等。
身份认证技术从是否使用硬件来看,可以分为软件认证和硬件认证;从认证需要验证的条件来看,可以分为单向认证和双向认证;从认证信息来看,可以分为静态认证和动态认证。身份认证技术的发展经历了从软件认证到硬件认证,从单向认证到双向认证,从静态认证到动态认证的过程。下面介绍常用的身份认证方法。
1.单向认证
如果通信的双方只需要一方被另一方鉴别身份,这样的认证过程就是一种单向认证,前面提到的口令核对法实际也可以算是一种单向认证,只是这种简单的单向认证还没有与密钥分发相结合。
与密钥分发相结合的单向认证主要有两类方案:一类采用对称密钥加密体制,需要一个可信赖的第三方,通常称为KDC(密钥分发中心)或AS(认证服务器),由这个第三方来实现通信双方的身份认证和密钥分发;另一类采用非对称密钥加密体制,无须第三方参与。
需要第三方参与的单向认证:
(1)A→KDC:IDA||IDB||N1
(2)KDC→A:EKa[Ks||IDB||N1||EKb[Ks||IDA]]
(3)A→B:EKb[ks||IDA]||EKs[M]
无须第三方参与的单向认证:
A→B:EKUb[Ks]||EKs[M]
当信息不要求保密时,这种无须第三方的单向认证可简化为:
A→B:M||EKRa[H(M)]
2.双向认证
在双向认证过程中,通信双方需要互相认证鉴别各自的身份,然后交换会话密钥,双向认证的典型方案是Needham/Schroeder协议。
Needham/Schroeder Protocol[1978]
(1)A→KDC:IDA||IDB||N1
(2)KDC→A:EKa[Ks||IDB||N1||EKb[Ks||IDA]]
(3)A→B:EKb[Ks||IDA]
(4)B→A:EKs[N2]
(5)A→B:EKs[f(N2)]
3.静态认证
静态认证利用用户自己设定的密码,在网络登录时输入正确的密码,计算机就认为操作者是合法用户。实际上,由于许多用户为了防止忘记密码,经常采用诸如生日、电话号码等容易被猜测的字符串作为密码,或者把密码抄在纸上放在一个自认为安全的地方,这样很容易造成密码泄漏。如果密码是静态的数据,在验证过程中需要在计算机内存中和传输过程可能会被木马程序或网络中截获。因此,静态密码机制无论是使用还是部署都非常简单,但从安全性上讲,用户名/密码方式是不安全的身份认证方式。
4.动态认证
动态认证又分为以下几种方式。
(1)智能卡
智能卡是一种内置集成电路的芯片,芯片中存有与用户身份相关的数据,它由专门的厂商通过专门的设备生产,是不可复制的硬件。智能卡由合法用户随身携带,登录时必须将智能卡插入专用的读卡器读取其中的信息,以验证用户的身份。
智能卡认证是通过智能卡硬件不可复制来保证用户身份不会被仿冒。然而由于每次从智能卡中读取的数据是静态的,通过内存扫描或网络监听等技术还是很容易截取到用户的身份验证信息,因此还是存在安全隐患。
(2)短信密码
以手机短信形式请求包含6位随机数的动态密码,这也是一种手机动态口令形式。身份认证系统以短信形式发送随机的6位密码到客户的手机上。客户在登录或者交易认证时候输入此动态密码,从而确保系统身份认证的安全性,如图8-3所示。
硬件令牌:它是客户手持用来生成动态密码的终端,主流的是基于时间同步方式的,每60秒变换一次OTP口令,口令一次有效,它产生6位动态数字进行一次一密的方式认证,目前应用广泛的有RSA、VASCO、d Key等动态口令牌。
手机令牌:手机令牌与硬件令牌功能相同,都是用来生成动态口令的载体,手机令牌作为一种手机客户端软件,在生成动态口令的过程中不会产生任何通信,因此不会在通信信道中被截取,欠费和无信号对其不产生任何影响,由于其具有高安全性、零成本、无须携带以及无物流等优势,相比硬件令牌更符合互联网的精神。基于以上优势,手机令牌可能会成为3G时代动态密码身份认证令牌的主流形式,如图8-4所示。
USB Key:基于USB Key的身份认证方式是近几年发展起来的一种方便、安全的身份认证技术。它采用软硬件相结合、一次一密的强双因子认证模式,很好地解决了安全性与易用性之问的矛盾。USB Key是一种USB接口的硬件设备,它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用USB Key内置的密码算法实现对用户身份的认证。基于USB Key身份认证系统主要有两种应用模式:一是基于冲击/响应的认证模式,二是基于PKI体系的认证模式,如图8-5所示。
(www.xing528.com)
图8-3 短信密码
图8-4 手机令牌
图8-5 USB key
5.生物识别技术
生物识别技术是通过可测量的身体或行为等生物特征进行身份认证的一种技术。生物特征是指唯一的可以测量或可自动识别和验证的生理特征或行为方式。生物特征分为身体特征和行为特征两类。身体特征包括:指纹、掌型、视网膜、虹膜、人体气味、脸型、手的血管和DNA等;行为特征包括:签名、语音、行走步态等。目前部分学者将视网膜识别、虹膜识别和指纹识别等归为高级生物识别技术;将掌型识别、脸型识别、语音识别和签名识别等归为次级生物识别技术;将血管纹理识别、人体气味识别、DNA识别等归为“深奥的”生物识别技术。指纹识别技术目前应用广泛的有微型支付,如指付通。
指纹识别:指纹其实是比较复杂的。与人工处理不同,许多生物识别技术公司并不直接存储指纹的图像。多年来各个公司及其研究机构产生了许多数字化的算法,但指纹识别算法最终都归结为在指纹图像上找到并比对指纹的特征。
我们定义了指纹的两类特征来进行指纹的验证:总体特征和局部特征。在考虑局部特征的情况下,英国学者E.R.Heny认为,只要比对13个特征点重合,就可以确认为是同一个指纹。
(1)总体特征
总体特征是指那些用人眼直接就可以观察到的特征,如图8-6所示。
①纹形:环型(loop)、弓型(arch)、螺旋型(whorl)。其他的指纹图案都基于这三种基本图案。仅仅依靠纹形来分辨指纹是远远不够的,这只是一个粗略的分类,通过更详细的分类使得在大数据库中搜寻指纹更为方便快捷。
②模式区(pattern area)。模式区是指指纹上包括了总体特征的区域,即从模式区就能够分辨出指纹是属于哪一种类型的。有的指纹识别算法只使用模式区的数据。
③核心点(core point)。核心点位于指纹纹路的渐进中心,它在读取指纹和比对指纹时作为参考点。许多算法是基于核心点的,即只能处理和识别具有核心点的指纹。核心点对securetouch的指纹识别算法很重要,但没有核心点的指纹它仍然能够处理。
④三角点(delta)。三角点位于从核心点开始的第一个分又点、断点、两条纹路会聚处、孤立点、折转处,或者指向这些奇异点。三角点提供了指纹纹路的计数跟踪的开始之处。
⑤纹数(ridge count)。指模式区内指纹纹路的数量。在计算指纹的纹数时,一般先连接核心点和三角点,这条连线与指纹纹路相交的数量即可认为是指纹的纹数。
图8-6 指纹特征
(2)局部特征
局部特征是指指纹上节点的特征,这些具有某种特征的节点称为特征点。两枚指纹经常会具有相同的总体特征,但它们的局部特征(特征点)却不可能完全相同。指纹纹路并不是连续的、平滑笔直的,而是经常出现中断、分叉或打折。这些断点、分叉点和转折点就称为“特征点”。就是这些特征点提供了指纹唯一性的确认信息。
指纹识别技术是目前最方便、可靠、非侵害和价格便宜的生物识别技术解决方案,对于广大市场的应用有着很大的潜力。
虹膜识别:是一种在眼睛中瞳孔内的织物状的各色环状物,每一个虹膜都包含一个独一无二的基于像冠、水晶体、细丝、斑点、结构、凹点、射线、皱纹和条纹等特征的结构,据称,没有任何两个虹膜是一样的。虹膜扫描安全系统包括一个全自动照相机来寻找你的眼睛,并在发现虹膜时就开始聚焦,想通过眨眼睛来欺骗系统是不行的。虹膜识别技术只需用户位于设备之前而无须物理的接触,可能会是最可靠的生物识别技术,尽管它还没有测试过。
面部识别:面部识别技术通过对面部特征及其之间的关系来进行识别,识别技术基于这些唯一的特征时是非常复杂的,这需要人工智能和机器知识学习系统,用于捕捉面部图像的两项技术为标准视频和热成像技术。标准视频技术通过一个标准的摄像头摄取面部的图像或者一系列图像,在面部被捕捉之后,一些核心点被记录。例如,眼睛、鼻子和嘴的位置以及它们之间的相对位置被记录下来后形成模板。热成像技术通过分析由面部的毛细血管的血液产生的热线来产生面部图像,与视频摄像头不同,热成像技术并不需要在较好的光源条件下,因此即使在黑暗情况下也可以使用。一个算法和一个神经网络系统加上一个转化机制,就可将一幅指纹图像变成数字信号,最终产生匹配或不匹配信号。
不过,生物识别技术也会发生以下三类错误。
①拒认:即将正当的使用者拒绝,导致需要多次尝试才能验证通过。该类型错误通常用称为“拒认率”的参数来衡量;
②误认:即将系统非法入侵者误认为正当用户,导致致命错误。该类型错误通常用称为“误认率”的参数来衡量;
③特征值不能录入:是指某些用户的生物特征值有可能因故不能被系统记录,导致用户不能使用系统。显然,上肢残缺者不能使用指纹或掌形系统,特别的胡须可能导致某些人不能使用面容识别系统,口吃者大多不能使用语音识别系统等。
发展中的生物特征识别系统在上述三类问题上已有很理想的改进,可以调节误认率和拒认率,以照顾实际应用中对安全性和便利性的不同需求。其中优秀的指纹识别系统更以其出色的性价比和使用的便利性等特点,为社会所普遍接受。
6.身份认证技术的未来
虽然现有的各类操作系统和安全体系(如各种加密系统、防火墙、PKI等)都为用户提供了相当的安全措施,但它们在如何识别使用者身份这一根本问题上却乏善可陈。使用者登录系统、访问应用软件、口令重置等都是IT资源管理所面临的日常安全操作,这些看上去很小的细节问题到了庞大的网络环境上,其倍数效应将对系统安全形成真正的挑战。
身份认证技术的发展经历了三个时代:口令、各种证卡和令牌、生物特征识别,生物特征才能解决根本的认证问题,证明你是你。这三种认证因素的组合可以达到比单向认证更高的安全等级。三种认证技术都有其局限性,同时客户的偏好和选择也是多样化的,因此,一套行之有效的认证系统应该兼容所有认证技术,并可以在认证因素之间进行任意组合。组合认证将是身份认证技术的发展方向。
在实际应用中,认证方案的选择应当从系统需求和认证机制的安全性能两个方面来综合考虑,安全性能最高的不一定是最好的。当然认证理论和技术还在不断发展之中,尤其是移动计算环境下的用户身份认证技术和对等实体的相互认证机制发展还不完善,另外如何减少身份认证机制和信息认证机制中的计算量和通信量,而同时又能提供较高的安全性能,是信息安全领域的研究人员进一步需要研究的课题。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。