基于智能知识验证的身份认证技术分析
在刑侦破案中,警察会通过审讯疑犯等方式来采集信息,通过对这些信息的推理分析就能有效地推断出凶手。借鉴这一思想,本文提出了基于智能知识验证的身份认证系统。该方法模拟人脑的思维判断过程,以与用户智能对话的形式,结合系统已掌握的信息,对用户身份进行综合性全面性的判断,解决了传统身份认证方法中简单依赖密码等少量身份因素的问题,抵御身份盗窃,提高了认证的可靠性。
1 技术现状
1.1 基于口令的身份认证
最原始的是使用“用户名+口令”的静态密码的身份认证方式,其安全性非常弱。一方面用户名易被窃取,另一方面,口令安全性也低,它可以通过按键记录软件获取、搭线窃听、窥探、垃圾搜索等方式获取,即使口令经过加密后存放在口令文件中,一旦口令文件被窃取,就可以进行离线的字典式攻击。而后产生的“挑战/应答式动态密码认证系统”有具有使用过程繁琐、占用过多通信时间等缺点。
1.2 基于生物特征识别的身份认证
从1684年植物形态学家Grew发表了第一篇研究指纹的科学论文以来,生物特征识别技术逐渐走进身份识别领域,尤其是21世纪以来,指纹识别、掌纹识别、掌形识别、人脸识别、虹膜识别等已愈趋成熟。但该技术也存在不足,在系统建立前期,这种机制的数据采集工作颇为麻烦,系统的研制和开发费用昂贵;除此之外,该技术还容易受外界因素影响,会产生拒认、误认和特征值不能录入等情况,使得在提取生物特征或进行匹配时产生困难;另外,特征传送中也易被非法截获。
1.3 基于芯片的身份认证
芯片是以数字签名、安全加密和密钥保护为主要功能的密码产品。具体应用如智能卡(IC卡)、USB Key等。智能卡可以独立完成加密、解密、身份认证、数字签名等对安全较为敏感的计算任务,但是智能卡有不记名的特点,一旦智能卡丢失,后果不堪设想。此外,系统的研制和开发费用也很昂贵。USB Key内置的密码算法可以实现对用户身份的认证,但当U-key丢失、损坏或者锁定时,就无法进行身份认证。
2 系统概述
2.1 总体方案
为避免已有认证方式的缺陷,本文提出了基于智能知识验证的身份认证方式。系统采用人工智能技术,通过模仿人脑思维方式,对用户相关信息进行推理学习,提高了身份认证的准确性。
具体工作如下:(1)用户登录时输入ID,系统由此确定用户身份,并在数据库中搜索用户相关信息,放进内存数据结构中;(2)调用推理规则对内存中的数据进行推理,并不断与用户和网络进行动态交互,将所得的知识放进内存中继续推理。直至判断出用户输入的信息的真实性;(3)利用用户输入的信息的真实性,判断用户身份。认证通过,则进入系统;反之,进入登录失败界面。
2.2 系统模块
系统共有五个主要模块,分别是用户界面、上网搜索系统、内存数据结构、推理规则和数据库。
作为原身份认证系统的辅助系统,本系统不需要用户单独注册,而是直接从原数据库中获取用户的相关知识,并默认有效直接存入数据库。为保证知识的时效性,定期会从原数据库中更新知识。
首先,用户界面根据用户输入的ID锁定用户身份,数据库以此搜索用户信息,存入内存数据结构中。然后,调用推理规则,通过推理进一步完善知识库。在已有知识库和已知属性的基础上,一方面生成问题返回到用户界面,通过与用户的动态问答,获取用户信息;另一方面不断与上网搜索系统交互,获取网络上的用户知识。通过推理,判断用户回答的正确性,综合各种问题的权重,判断用户的身份。最后向用户输出推理结果,同时将推理出的全部有效知识存入数据库,以此来丰富数据库,达到系统学习的目的,进一步提高下次认证的准确性。
3 关键技术
3.1 信息获取技术
信息获取技术包括信息搜索与提取和信息查找。
首先要进行信息搜索与提取。这是根据推理模块提供的搜索关键字,调用百度搜索引擎进行网络搜索,得到与之相关的网页。采用网络蜘蛛算法实现对网页内容的提取,即:过滤掉其他格式的信息如HTML的命令标识符等,得到以字符串为主的信息。
提取到字符串信息后就要进行信息查找。在得到的字符串信息中,采用KMP匹配算法根据关键字,即目标码进行字符串模式匹配,获取包含相关信息的部分,根据推理模块要求的信息属性,提取并返回用户相关信息。
3.2 数据存储技术
本文综合考虑了数据库和内存数据结构两个方面的数据存储技术。
在数据库中,一个用户即为一个元素,用Person类来封装。用ID来确定每个用户的身份,进而进行身份验证。每个用户都拥有多种属性和关系,这些属性和关系中有明显推理关系的聚合成一个属性类,成为一个推理闭包。用户和属性类以及具体属性通过链表相连,构成数据库中的基本结构。
每个具体的属性或关系都称为一条知识,每条知识都分别带有三个标记,分别为所属用户、所属属性分类和重要性等级,对于内存数据结构而言,内存是应用推理规则进行推理的地方,因此其数据结构的设计应与推理相适应。由于网上、数据库、用户回答的信息都会放进内存,这些信息可能就会有重复,在不知道信息真假的情况下,为避免信息发生碰撞,本文采用了立体的数据结构,来进行信息存储。同时,各个知识之间设立链接,方便规则在内存中的实现,保证了推理的顺利进行。如图1所示。
图1 用户及其属性、关系表
表中垂直纸面向内延伸的部分表示不同的信息来源获得的属性,如:互联网、系统数据库、用户回答等。
为快速查取数据,我们采用T树索引组织方式,如图2所示。
图2 T树简单索引图
由图2可看出,T树结构能实现对大量元素的存储,同时数据移动只需要在单个节点内。在我们的系统中,T树最顶端的父节点对应于每个用户的ID。Data1, Data2,…,DataN对应于用户的多个属性。依次遍历子树即可得到用户各个属性的内容及联系。
4 测试分析
4.1 测试人群
在本学校抽取几个普通教学班、俱乐部、集训队、竞赛班,从每个班中抽取若干学生作为测试对象。
4.2 测试过程及结果
4.2.1 安全性测试
本文首先为测试人员编号(ID),然后请测试人员登录系统。为证明本系统的安全性,本文列举第
一次测试的部分结果如表1所示。
表1 第一次测试结果示例1
问题编号 问题内容 测试人的回答
1 测试人ID user001
2 姓名 萧何
3 身份证号 37014819870324238x
4 学号 200604010112
5 年龄 27
6 年级 2006级
认证结果 认证通过
由于是第一次测试,所以本系统数据库中只有从原数据库中取来的用户信息——ID、姓名和身份证号。测试人输入ID后,系统即从数据库和网络中搜索相关信息,又得到学号,根据身份证与生日、年龄的关系,学号和年级的关系,以及年龄和年级的关联,再加上本系统的推理认证体系结构,判断出各信息的真实性以及用户的身份。由于本系统采用智能对话的方式,所以认证对话并不相同,如表2所示。
表2 第一次测试结果示例2
问题编号 问题内容 测试人的回答
1 测试人ID user007
2 姓名 王铁鸣
3 身份证号 431259199302043322
4 学号 201104020031
5 年龄 25
6 院系 计算机学院
7 户口所在省 安徽省
8 年级 2010级
认证结果 拒绝通过
4.2.2 学习性测试
为测试系统的学习能力,本文请测试人员多次登录系统。仍以user001为例,其第二次登录系统时测试结果如表3所示。
表3 第二次测试结果示例
问题编号 问题内容 测试人的回答
1 测试人ID user001
2 姓名 萧何
3 学号 200604010112
4 出生年月 1987.3.24
5 年龄 27
6 是否认识郑辉 是
认证结果 认证通过
在第一次认证时,系统就已经将正确的学号记入了数据库,再次认证时直接做真实知识来使用。第一次认证过程中,有一名测试员是郑辉,认证结果为他和user001应为同学,因此也将二人的关系进行了提问。利用上次认证学来的知识,经过系统的推理认证,再次准确的判断出用户的身份。
5 结束语
本文认识到现有身份认证方式的不足,创造性地利用智能知识验证的方式进行身份认证,提高了认证的可靠性和应用系统的安全性。该技术采用智能知识验证的思路,结合人工智能技术,模拟人脑思维方式,建立知识间的联系,并调用推理规则进行推理验证,最终得出用户的可信度,返回登录结果。经过测试,发现本系统在信息获取中对于信息提取的恰当性还有待进一步完善,这需要对自然语言更深层次的理解。内存数据结构、推理规则的设计仍有不足,本文下一步的研究将重点关注数据结构与规则遍历的配合,在优化问题生成模块的基础上,完善系统和用户的动态交互机制,增强验证的准确性。
参考文献
[1]孙超,陈钢.基于Agent技术的统一身份认证系统[J].计算机应用研究,2005(03):138-140.
.Statistic Science,2002(03):235-255.
[3]夏亮,韩冬,马书才.基于神经网络的多因素身份认证方法[J].吉林大学学报:信息科学版,2011(02):169-173.
[4]戚文静,张素,于承新.几种身份认证技术的比较及其发展方向[J]. 山东建筑工程学院学报,2004(02):84-87.
[5]周继祥,刘玉兰.必要条件假言推理在侦查工作中的运用[J].山东警察学院学报,2004(05):51-54.
[6]周继祥,邵守臻.充分条件假言推理在侦查工作中的运用[J].北京人民警察学院学报,2002(02):25-28.
作者简介:董洁钰(1992-),女,山东烟台人,本科在读,学员,研究方向:网络工程。