上QQ阅读APP看书,第一时间看更新
三、身份认证
身份认证是系统安全中一道相当重要的防线,用来确认尝试访问的用户身份,也是防止未经授权的用户或进程进入系统的有效方法和保障措施。如果在身份认证这道防线上发生了疏漏,系统的其他安全措施将形同虚设,其后果可能是无法预料和接受的。本节将阐述身份认证的基本概念,并分别介绍基于口令、智能卡和生物特征的鉴别机制。
(一)基本概念
认证,是证实一件事是否真实发生或有效发生的一个过程。身份认证,指的是身份识别和验证,即用户必须提供自己的身份证明,由系统对操作者的身份进行确认,再进行后续的操作。
举例来说,某计算机系统中存入了用户A的某条认证信息。当A想接入该系统时,就必须提供该条信息,只有信息符合时,A才能访问该系统,否则无法访问。又比如,如果用户B想要进入某服务器的操作系统,那么B需要输入用户名和密码,服务器接收后,将它们与数据库中已经存入的用户名和密码进行比对,如果相符合,就通过了认证。图2-22是身份认证的一个具体例子。
图2-22 身份认证示例
系统接收到用户提供的数据后,需要进行认证。认证需要建立一种证明有效性的手段,会面临安全传输数据及确认用户是否是当初通过认证的用户等问题。目前认证用户身份的形式有:
1.弱识别
即基于静态的、非随时间变化而变化的口令进行识别。
2.强识别
用户向认证系统提供自己知道某种秘密信息的情况,以此来证明自己。在这种识别协议中,即使传输的信息被窃取或暴露,窃取者也不会从中获得秘密信息。
认证用户身份的依据主要有三种:
1.根据你知道的信息证明身份,即你知道什么。
2.根据你拥有的东西证明身份,即你有什么。
3.直接根据独一无二的身体特征证明身份,即你是谁。
基于这三种认证依据,人们开发出了三种对应的认证技术。以下将详细介绍这三种鉴别机制。
(二)基于口令的身份认证
最普通的鉴别机制就是用户标识和口令的结合。标识是用户向系统表示身份的一种行为,通常是一个登录ID。图2-23为一种基于口令的认证示例。
图2-23 基于口令的身份认证示例
口令则是一种根据已经知道的事物认证身份的方法。军事上采用的各种口令、电影电视中出现的对暗语、现代网络中的用户名密码等都是基于口令的鉴别技术。它仅仅依赖于用户知道什么来进行认证,是被研究最深,也是使用最为广泛的一种身份认证方法。在口令的选择上,容易记住、很难被别人猜出、良好的抗分析能力都是需要考虑的因素。
1.基于静态口令的身份认证
静态口令是指用户的口令或密码由其自身设定,在身份认证过程中输入正确的口令,系统就认定其为合法的授权用户。虽然这种方式对于用户来说非常简单方便,但在实际操作中,许多用户为了防止忘记口令,常常采用别人容易猜到的数字组合,如生日、123456等,或者将密码存进手机、写在纸上,造成密码的泄露。静态的口令由于其不变性,在认证和传输过程中,就算有加密措施,也可能会被第三方截取、破译,导致损失(图2-24)。
图2-24 一种窃取示例
此外,在静态口令的身份认证中,还存在由管理员分配和发放口令、或系统自动生成口令的形式。这种情况下,口令也容易在中间环节产生泄露问题。所以,静态口令的安全性是令人堪忧的。
2.基于动态口令的身份认证
由于静态口令的不安全性,产生了新的认证形式:动态口令。动态口令是指用户在身份认证的过程中,输入系统的验证信息是动态变化的。例如,系统根据某种计算方法,结合用户名和当前的时间,产生一个不断变化、没有重复的动态口令,来取代静态口令。系统验证动态口令,即可知道当前登录的用户是否合法。这种方式他人无法预测,有足够的安全性,避免了静态口令带来的一系列隐患。
动态口令的产生有以下几种方式:
(1)共享一次性口令表:
系统和用户掌握一张仅有双方知道的口令表,系统给用户提供计算动态口令的方式,用户根据表上的信息提供动态口令。每个口令只能进行一次识别,系统会验证口令的时效性,从而保证了口令的安全性。
(2)口令序列:
这种口令是一个单向的前后相关的序列,系统记录第n+1个口令。用户用第n个口令登录时,系统算出第n+1个口令是否和自己记录的相吻合,从而判断用户的合法性。口令序列是有限的,使用n次后需要重新初始化或更换序列。
(3)时间同步机制:
以用户登录的时间作为一个参数进行计算,要求系统和用户的时间基本一致,一般以分钟作为单位。
以下是几种基于动态口令的具体形式:
(1)短信密码:
用户在登录时,系统用手机短信的方式给用户发送动态的随机密码(一般为4位或6位),用户输入后,身份认证系统进行验证,验证通过即可登录。短信密码有一定的安全性和普及性,但手机的高遗失率也带来了一定的风险。
(2)口令密码卡:
基于共享一次性口令表的一种动态口令,用户根据系统的提示进行输入,从而得以验证身份。
(3)USB KEY:
基于USB的身份认证,是近几年逐渐发展起来的一种方便、安全的认证技术,它采用软硬件相结合的方式对用户的身份进行认证(图2-25)。USB KEY是一种USB接口的设备,内置单片机或智能芯片,用以存储用户的密钥或数字证书,是较为流行的身份认证方式。
图2-25 USB KEY示例
(三)基于令牌的身份认证
令牌是指用来认证个人身份的物品,即用户有具体的物来证明身份。中国古代的虎符、现在每个人都有的身份证、职员进出公司的工作卡等,都是以令牌形式进行的身份认证。现代社会的令牌一般是指磁卡(图2-26)或IC卡(图2-27)。
磁卡中的磁条成本低,但没有存储能力,可能存在转录和泄露字符等风险。而IC卡中的微处理器芯片有一定的大小,芯片中存储与具体用户身份相关的数据,可以进行数据的读取和处理,由专门的厂家使用专业的设备进行生产制造,可以说是不可复制的。IC卡上还有密码控制和访问控制,保证了足够高的安全性能。
图2-26 磁卡示例
图2-27 IC卡示例
目前,基于令牌的IC卡技术广泛应用于社会保障、医疗卫生、交通旅游、金融财务、教务管理等各个领域,是身份认证中较为普遍的一种形式。
(四)基于生物特征的身份认证
现代社会对安全性的要求越来越高,基于口令和令牌的身份认证渐渐满足不了需求,口令会被窃取,令牌可以伪造,从而让人们提出了更为高级的生物认证。生物特征是每个人独有的标识,难以被窃取、伪造,所以使用生物认证作为验证方式是可行并且可信的。
个人独有的生物特征虽然有很多,但由于场合限制或仪器需求,一般情况下使用指纹和视网膜/虹膜进行认证较为普遍。在某些特殊场合,如刑事侦查等,则可能需要DNA等其他更为可靠的生物特征。
虽然检测的内容不同,但生物认证的流程基本相同,见图2-28。
图2-28 生物认证流程
1.指纹
指纹识别可能是生物特征识别中最知名的方法,很早就有画押、定契约等确定身份的例子。由于没有任何两个人(包括孪生儿)的皮肤纹路图样完全相同,并且它的形状也不随时间而变化,提取存档又非常方便,让指纹成为进行身份认证的准确而可靠的手段(图2-29)。
指纹痕迹是由手指表面凸出和凹陷的纹路形成的,它展现了每个手指表面的物理差异。每个凸出纹路的末端,形成了一个细节点,每个细节点的大小和形状都不同。指纹通常由专家进行认证,而计算机的发展,使得自动识别指纹图样成为可能。
2.视网膜/虹膜
视网膜扫描是通过低强度的光束照射进入眼球,扫描其反射光在视网膜上产生的毛细血管(动脉和静脉之间的微小的连接)的图案来实现的。视网膜上的血管比周围的组织吸收更多的光,因此形成了不同灰度的单色图像,其中较暗的代表血管,较亮的代表眼底。
图2-29 不同指纹示例
另一种眼扫描技术是虹膜扫描(图2-30)。虹膜扫描不关注眼部静脉,而关注其更复杂的结构,并且它的有效性不受眼镜或隐形眼镜的干扰。虹膜通常被部分眼睑遮盖,因此想要得到整个眼球的扫描图像是不现实的也是不必要的,所以只用扫描虹膜的边界和瞳孔即可。和视网膜扫描相比,虹膜扫描对眼睛与扫描仪之间的距离要求宽松得多,虹膜扫描通常可以在大约一米远的距离进行。
图2-30 虹膜
目前的生物特征认证由于技术成熟度的影响,还具有较大的局限性。当用户用于识别的生物特征受到损伤或有污渍,往往会无法识别,导致合法用户无法登录。同时,由于研发的投入需求较大,生物认证的成本通常很高,现在只适用于某些安全性要求高的场合,无法做到大面积的推广。不过,生物认证的高安全性将会是信息社会未来的必然需求,生物认证仍是值得研究和发展的。
(五)双因素身份认证
单技术的身份认证可能会被攻破,所以一部分认证机构开始采用双因素身份认证,包括但不限于基于口令和令牌、基于令牌和生物特征和基于生物特征和口令等的身份认证。双重认证即是双重保险,如口令被窃取,但第三方没有令牌,也无法接入系统,加强了安全性能。目前使用较为广泛的双因素身份认证有:口令密码卡+静态密码;USB KEY+静态密码;IC卡+指纹扫描等。
身份认证不仅是为了确定用户的信息,更是为了保障整个系统的安全。在如今这个信息电子化的时代,计算机和网络这类存储和传播信息的媒介已经成为重要的,不可或缺的资源。如何防护它们不受侵害,身份认证有着举足轻重的作用。
(吴杰)