利用计算机的输入装置的输入特征的个人认证方法、用于该方法的程序及程序的存储媒体的制作方法

文档序号:6401976阅读:185来源:国知局
专利名称:利用计算机的输入装置的输入特征的个人认证方法、用于该方法的程序及程序的存储媒体的制作方法
技术领域
本发明是有关于利用计算机的键盘等输入装置的输入特征的个人认证方法、用于该方法的程序及程序的存储媒体。有关于通过键盘等输入方法进行输入时,利用个人输入特征进行个人认证的个人认证。更详细地说,是关于例如利用输入个人认证用的口令时个人操作键盘的键的特征及喜好可以进行个人认证,利用计算机的输入装置的输入特征的个人认证方法,其程序及程序的存储媒体。
背景技术
历来,在访问计算机等时,有使用通过输入预先决定的口令进行个人认证的口令认证方法(以下称为方法1。)。口令一般通过与计算机相连的键盘等设备进行输入。此时,口令通过按下与其构成各自对应的符号(文字、数字、符号)的键而完成输入。即使输入错误也可以利用退格键等功能键进行修改。
另外,也有将键盘的键敲击时间作为认证要素之一的利用键盘输入特征的口令认证方法(以下称为方法2。)。这种方法2为,取得按下键盘键的开始时间(时间1)、键按下结束时间(时间2)等。按照用户事先登录从按下某一键到按下下一键的时间,作为认证要素之一。另外,还有将按下键持续时间(时间3)、手指从一个键离开到手指从下一键离开的时间(时间4)等加入认证要素的提案。
如上所述,口令认证系统是通过执行专用的程序而实现的。这种专用的程序是在用户模式(请参考后述说明)下运行,取得用户从键盘进行访问的时间。正确时,通过用户所访问的控制输入装置的设备驱动取得上述时间1、时间2等有关时间的信息。下面,对以往的计算机的设备驱动、动作模式等进行说明。
计算机由中央处理器(CPU)、存储设备(内存、硬盘等)、输入装置(键盘、鼠标等)、输出设备(显示器等)、连接周边设备(打印机、扫描仪等)的插槽等许多硬件资源组成,并且通过存储设备中存储的操作系统(Operating System)对这些硬件进行运行控制。
在计算机上运行的各种应用程序是在操作系统上运行的。操作系统控制着计算机所有的动作,吸收不同的硬件设计的差异,为应用程序提供通用的环境。也就是说,操作系统是提供了将所谓键盘输入屏幕输出的输入输出功能、磁盘及内存管理等很多应用程序进行通用使用的基本功能,是对计算机的整体系统进行管理的软件环境、也被称为“基本软件环境”。
计算机的硬件是由不同的厂商生产的,由于厂商的不同造成设计上会有差异。作为利用计算机进行程序开发的开发人员,希望不需关心硬件设计的区别,直接进行应用程序的开发。操作系统吸收了硬件的这种设计差异并提供对于应用程序通用的环境。
应用程序的开发者由于利用了操作系统提供的功能,故可以省去开发时间使应用程序的操作性得以统一。对于有的面向操作系统开发的应用程序,基本上可以适用于运行该操作系统的所有计算机。
在操作系统中,有MS-DOS(注册商标)、UNIX(注册商标)、Linux、Free设备驱动器BSD(注册商标)等为代表的很多种类,对于企业、家庭的一般用户使用的操作系统,最流行的是Microsoft公司的Windows系列。在DTP行业及多媒体行业中,Apple公司的MacOS(登录商标)被广泛使用。企业的服务器及学术机构大多使用UNIX系列的操作系统、免费使用的Linux及Free设备驱动器BSD等的UNIX系列的操作系统。近年来,面对服务器使用的操作系统Microsoft公司的Windows NT/2000(注册商标)的市场份额在不断加大。
在此,图13中将以Microsoft公司的Windows NT/2000(注册商标)作为操作系统的代表的体系结构简要表示。从图13可知、Windows NT/2000由整体的硬件环境2、操作系统3、实现实际用户需求功能的应用程序4的层次构造而成。微核心51是进行OS3的全部管理的程序,以微核心51的层次为中心,在这层以上运行的各种软件(核心模式软件)构成了核心模式8(请参照后述说明)。并且,最上层的应用程序4以用户模式9运行(请参照后述说明)。
操作系统3大致有,执行程序50、微核心51、硬件抽象化层(HAL)52构成的层次结构。HAL52是位于紧贴硬件2的上层重视对硬件进行控制的程序,吸收处理机等各种硬件设计,是为上层服务(微核心51、执行程序50等)提供相同环境(不依赖机型)的程序。
微核心51为系统整体提供基本功能。执行程序50为,利用微核心51、HAL52所提供的服务功能来实现提供操作系统3的主要服务的程序的总体。在执行程序50中包含缓存管理53、对象管理54、进程管理55、内存管理56、I/O管理57等具代表性的执行程序。
对象管理54为,对正在运行的对象(为实现某目的的功能的程序)进行监视控制、调整的程序。进程管理55为对正在运行的进程(仅为了实现某功能的程序)进行监视控制、调整的程序。缓存管理53和内存管理56为,对内存、虚拟内存进行控制、调整的程序。I/O管理57为,对操作系统3的输入输出功能进行监视控制的程序。计算机以此执行程序50进行运行时称为核心模式8。
在核心模式8中,为了操作操作系统3的所有命令可以被执行,反之如果执行了错误命令会给系统整体带来不好影响。另外,在操作系统3的功能中,有应用程序等对用户完全开放的用户模式9。在这种用户模式9中,为了不给系统造成不好影响对操作操作系统3的命令作了限制。由于系统自动拦截对系统造成不好影响的命令,所以是对于用户来说容易使用的环境。
但是,由于这种限制的设定与限制操作系统3的功能是相同的,故以用户模式9运行的应用程序4就不能直接访问硬件2的相关部分,而必须经由核心模式8完成。核心模式8可以完全地使用操作系统3的功能,并能完全访问各输入输出设备。并且,以核心模式8运行的程序比用户模式9的程序被优先地处理,可以具有较高的性能。
设备驱动5属于操作系统3,是计算机管理外部硬件的软件,在核心模式8下运行。通常情况下,一个设备驱动5只对应一个相同属性的设备存在。对于用户模式9下运行的应用程序4要访问各设备就必须经由设备驱动5。
例如,如图14所示,设备A要向设备设备驱动器B传送数据时,数据的流程为“设备A”→“设备驱动器A”→(从核心模式8到用户模式9进行运行模式的转换)“应用程序4”(从用户模式9到核心模式8进行运行模式的转换)→“设备驱动设备驱动器B”→“设备设备驱动器B”,系统是在从核心模式8到用户模式9或从用户模式9到核心模式8的运行模式的转换的同时进行处理。
用户模式9和核心模式8的转换处理是需要时间的,在对图像数据等大量的数据进行传送时,传送速度变慢、耗费时间。因此,提高用应用程序进行数据传输的速度是比较困难的。原因是每次用应用程序4进行处理时必须经过用户模式9和核心模式8之间的转换过程。
在此,对以往的设备间的数据传送的运行顺序进行说明,在图14中对应用程序4及设备驱动5和运行模式8、9的关系进行了概要图示。如图所示,应用程序4在用户模式9下运行。
设备驱动5是在操作系统3下、核心模式8中运行。构成计算机硬件2的设备6是由各种内部设备及与计算机接续的外部设备构成,各自由特有的设备驱动5进行控制。也就是说,对设备6的访问全部是通过设备驱动5进行的。设备驱动5通过操作系统3根据应用程序4发出的命令进行运行。
下面将数据的传送流程参照图15的流程图进行说明。在用户模式9下运行的应用程序4,对于从设备A到设备设备驱动器B进行数据传送的流程将系统的运作模式8、9进行比较说明。首先,应用程序4发出(S50)数据的传送请求(命令)。
此时,对设备A发出数据发送的请求(S51)、对设备设备驱动器B发出数据接收请求(S52)。系统的运行模式从用户模式9转换到核心模式8。设备驱动器A接收数据发送请求(S53),向设备A发送数据(S54)。设备A接收数据发送的请求(S55),进行数据发送(S56)。设备驱动器A接收被发送的数据(S57),将此数据进行内部处理(S58),向应用程序4进行数据发送(S59)。
系统的运行模式从核心模式8转换到用户模式9,应用程序4对数据进行接收并处理(S60、S61),将处理结果发送到设备驱动设备驱动器B(S62)。系统的运行模式再次从用户模式9转换到核心模式8。设备驱动设备驱动器B接收数据(S63),将此数据进行内部处理(S64),将结果发送到设备设备驱动器B(S65)。
设备设备驱动器B接收数据(S66)、向设备驱动设备驱动器B发送数据接收完成的信息(S67)。设备驱动设备驱动器B接收到该数据的接收完成的信息(S68),向应用程序4通知数据传送完成(S69)。系统转换到用户模式9,应用程序4接收数据传送完成的消息(S70),进入下面的处理,一系列的数据传送处理结束(S71)。
如此,数据被以“设备A”→“设备驱动器A”→(运行模式转换)“应用程序4”(运行模式转换)→“设备驱动设备驱动器B”→“设备设备驱动器B”的顺序进行传送。其间,系统在运作模式从核心模式8到用户模式9重复转换的过程中进行运行。大量的数据处理时这种转换的次数增多。
此外,在系统上有其它应用程序同时运行时,由于为了这个应用程序进行系统运行模式进行转换,系统整体会的运行模式的转换次数增多,成为各个同等应用程序的执行处理变慢的原因。如此,运行模式转换的次数增多使数据的收发处理低速化、特别是对于图像处理等对实时性要求较高的情况,可能会成为屏幕上显示的图像出现马赛克等的原因。
对于这样的系统,为了确保系统性能,在对硬件的开发、设计技术重视的同时对这些硬件2进行控制的设备驱动5的开发技术也很重要。特别是在对如图像等大量数据进行传输时,降低用户模式9和核心模式8的转换,使数据传送高速化成为需求。另外希望可以在需要维护数据时在用户接触不到的核心模式8内进行运行。特别是,利用口令进行用户认证时这些秘密的口令数据的安全性十分重要。
在WO98/47074中,在核心模式中层次构造的设备间公开显示控制权的数据的传送技术,但关于本发明的个人认证技术没有被公开。
下面针对个人认证技术进行的顺序做出说明。考虑用户通过与计算机相连的键盘进行口令(例如,假设口令为“PIANO”。)输入,运行口令认证专用应用程序进行认证的情况。这种情况下,键盘对应于设备6、口令认证专用应用程序对应于应用程序4。另外,键盘的键盘驱动器对应于设备驱动5。
应用程序4从键盘取得输入的键信息的顺序以图16的流程图进行说明。对于键操作的信息,包括哪个键被按下或者离开了哪个键等信息。
首先,应用程序4被启动(用户模式、S80)。然后应用程序4向键盘驱动器发出将键盘输入的数据进行发送的指示(用户模式、S81)。键盘驱动器接收此指示(变换模式为核心模式、S82),对键盘发送将键操作数据进行发送的请求(核心模式、S83)。
键盘接收将键操作数据进行发送的请求(S84),发送键操作数据(S85)。键盘驱动器接收此数据(核心模式、S86),对此数据进行内部处理(S87),向应用程序4进行发送(核心模式、S88)。应用程序4从键盘驱动器接收键操作数据(模式变换为用户模式,S89),接收系统的时间数据,掌握键操作的时间(S90)。
然后,进行其后的处理(S91)。如此,一系列的操作结束(S92)。再次需要键盘操作的数据时,再重复S80~S92的操作。如此,用键输入文字的一连串操作在用户模式、核心模式、用户模式的转换之中实现。下一个键的操作也是同样作业的重复完成的。如此,在用户模式、核心模式的转换过程中接收口令的全部文字、对其进行加密及认证处理。
对于之前所述的方法1的情况,有由于口令容易被别人知道,造成不正当访问的缺点。之前所述的利用了个人的敲键盘习惯等的个人输入特征的方法2克服了这种问题。但是,一旦登录进入了计算机以后就进入谁都可以使用的状态了。用户登录后,稍微离开计算机等的情况下,可能会发生别的人进行访问、以用户的身份恶作剧的事情。
另外,在计算机上运行其他应用程序时,口令专用的应用程序从设备驱动接收输入相关信息。这种接收动作由于是在用户模式、核心模式不断转换的过程中进行的,故不能取得正确的输入时间,输入时间的误差比较大。这可能会成为对正规用户的认证率下降的原因。为了提高正规用户的认证率,就只能采取降低认证精度的方法。
在图9中,横轴为取用户用键盘进行文字输入时的键按下时间,纵轴为取键按下持续时间而制成的图表。图9的图表(a)为,用户输入时的真实图表。加入具有输入特征的用户输入时的时间误差后,用户输入某个键时可用四角60大致图表化。
以应用程序取得键的按下时间时,如图9图表(设备驱动器B)所示,其用户的输入时的时间的误差范围被扩大到如椭圆61所示。另外,其他的应用等计算机的中央处理设备等的加载负荷的处理进行时,线62和线63的时间偏移变大。如果这个偏移变大,原本的用户输入特征就不可见了。
另外,实现上述验证的应用程序是以用户模式运行的应用程序,在个人的敲击键时的定时抽取上可能出现时间差。例如,从以上说明可知,在用户模式下大部分的应用程序不运行的情况和进行大量的处理的应用程序运行的情况下定时抽取上会有差异。因此,在进行用户认证时,预先必须留出比较大的误差范围,随之认证精度就会降低了。
特开2000-305654中对利用键盘的输入特征的个人认证执行方法作了提案。但是,这种方法由于以上说明过的核心模式转换次数过多故用这种方法较难正确的定时抽取。

发明内容
本发明为,以以上的技术背景进行发明的,为达到以下目的的发明。
本发明的目的为,使计算机使用者的个人认证可以在计算机的操作系统的运行模式即核心模式下进行,利用了计算机的输入装置的输入特征的个人认证方法,为其提供程序、程序的存储媒体。
本发明的进一步的目的为,提供以正确的定时抽取计算机使用者的键盘等输入装置的操作时间、利用计算机的输入装置的输入特征进行的个人认证方法,为其提供程序及程序的存储媒体。
本发明的其它的进一步目的为,利用应用程序和设备驱动通用的接口,可以保护数据的保密性并能达到数据的安全传送,利用计算机输入装置的输入特征进行的个人认证方法,为其提供程序及程序的存储媒体。
本发明的利用计算机的输入装置的输入特征的个人认证方法,其程序及程序的存储媒体有以下的优点。
本发明为,将进行计算机使用者的个人认证所用的键盘等的操作时间的数据的收集处理在计算机的操作系统的核心模式的运行模式下运行,可以在正确的定时进行抽取以提高个人认证的可靠性。
本发明由于利用应用程序和设备驱动的通用接口,使用此接口设备的程序进行个人认证,所以数据的保密性得到保护并且可达到数据安全传送的效果。
本发明的计算机的个人认证方法、其程序及程序的存储媒体为,使用计算机的用户通过上述输入装置利用数据输入时的操作特征是为了对上述用户进行特别指定,在可以执行上述操作系统的全部命令的运行模式核心模式下,取得操作上述输入装置时的时间,对上述操作时间进行分析掌握上述操作特征并将其作为特征。
另外,在上述计算机的存储方式中包含了由上述操作特征的上述用户个人认证数据构成的数据库被存储,将上述操作时间与上述个人认证数据进行对照从而进行个人认证为好。
还有,上述输入装置为键盘,
上述操作时间为,按下上述键盘的键,从上述按下开始到离开上述键的操作时间的信息为好。
还有,关于上述操作时间,从按下上述键盘的某个键到离开这个键的时间为第1时间,从按下上述键盘的某个键到按下下一个键的时间为第2时间,从离开上述键盘的某个键到按下下一个键的时间为第3时间,及从离开上述键盘的某个键到离开下一个键的时间为第4时间,从中选择任何一个以上的时间为好。
上述个人认证使用神经网络方法为好。
对于上述神经网络方法,学习向量量子化法为好。
上述学习向量量子化法为,对表示由上述个人认证数据构成的教师数据特征的特征向量进行学习而求得,上述的学习为,上述特征向量mi、mj与教师数据x为最近距离时,t为学习的次数,mi为与教师数据属不同组时,mj为与教师数据属同组时,用mi(t+1)=mi(t)-σ(t)[x(t)-mi(t)]mj(t+1)=mj(t)+σ(t)[x(t)-mj(t)]...(式1)mk(t+1)=mk(t)for k≠i,j0<σ(t)<1对上述特征向量进行更新,求得包含上述操作时间的输入数据与上述特征向量之间的距离来对上述用户进行识别为好。
旨在执行上述个人认证方法的个人认证程序为好。
另外,对上述输入装置进行操作的操作时间,由在上述操作系统的可以执行全部命令的运行模式即核心模式中获取的装置,和对上述操作时间进行分析为掌握上述操作特征的分析装置,和定义上述用户的ID,及由上述用户操作上述输入装置的上述操作信息构成的个人认证数据被上述计算机的存储装置进行存储的数据厍,和将上述操作时间与上述个人认证数据进行对照并进行个人认证的认证等构成为好。
还有,上述计算机具有控制上述设备的设备驱动,根据上述计算机上运行的应用程序发出的命令进行上述的设备间数据的信息收发时,从上述应用程序对上述设备驱动进行发送数据、或者有对命令进行收发时提供通用接口的通用接口装置,上述通用接口装置由,为了实现从上述应用程序接收命令,根据上述命令将命令执行结果通知上述应用程序的应用接口装置,和为了从上述设备驱动读取接收数据的接口装置,和在上述接收数据上追加显示接收时刻的时间数据的时间戳处理,并生成发送数据的数据处理装置,和对上述发送数据进行受理及分析,向上述应用接口装置进行发送的流程控制装置,等构成为好。
上述获取装置为,将对上述键进行特别指定的信息的键数据,作为上述输入时间是按下上述键的时间信息的按下数据,以及离开上述键的时间信息的弹起数据等用上述通用接口装置获取,上述分析装置为,计算上述操作时间,掌握上述操作特征为好。
上述接口装置为,从为了操作上述键盘进行的上述设备驱动即键盘驱动器接收上述键盘的对键操作的数据即键操作数据,上述数据处理装置为,通过从上述键数据中获取由上述接口装置进行处理过的上述键操作数据,并且对上述按下数据或弹起数据进行上述时间戳处理并生成上述发送数据为好。
对于上述认证装置,上述用户没有被认证时具有上述流程控制装置将从上述输入装置进行的访问停止、或者运行临时停止功能,和用上述流程控制装置没有通过对上述用户的认证时,由上述流程控制装置将不认证的信息通知给上述计算机管理者的通知装置为好。
上述个人认证装置由学习步骤和识别步骤构成为好。
上述学习步骤由,将上述个人认证数据进行读入的第1步骤,和生成表征上述个人认证数据的特征的特征向量的第2步骤,和学习上述特征向量并求得最适宜的特征向量即最适特征向量的第3步骤,和将上述最适特征向量进行输出的第4步骤,构成为好。
上述第3步骤为,计算上述个人认证数据x和上述特征向量的距离,计算其最短距离的上述特征向量mi的第5步骤,和求得上述特征向量mi的组的第6步骤,和将在上述第6步骤求得的组与上述个人认证数据x的组进行比较的第7步骤,和上述第7步骤的结果为相同的组时,将上述特征向量以公式mj=mj+σ[x-mj]、0<σ<1;进行更新的第8步骤,和与上述第7步骤的结果为不同组时,将上述特征向量以公式mj=mj-σ[x-mj]、0<σ<1;进行更新的第9步骤,和从上述第5步骤到第9步骤进行规定次数的重复,将结果作为上述最适特征向量进行输出的第十步骤,构成为好。
上述识别步骤由,将上述学习步骤中生成的最适特征向量进行读入的第11步骤,
和读入包含上述操作时间的输入数据的第12步骤,和计算上述输入数据和上述特征向量的距离的第13步骤,和由上述第13步骤的计算结果特别指定最短距离的特征向量的第14步骤,和将上述第14步骤的上述最短距离的特征向量的组作为上述用户的识别进行输出的第15步骤,构成为好。
将上述用户的个人认证每隔规定时间,用根据上述取得装置、上述分析装置及上述认证装置的监视装置构成为好。
上述键数据为,上述键盘中的功能键为好。
另外,上述数据库中,有识别上述键的代码、上述键按下或弹起的时间、表示上述按下或上述弹起的识别为好。
进一步,上述识别结果为,对每个上述用户生成结果文件、或者在上述结果文件中进行追加并保存在存储媒体中为好。


图1为,表示本发明实施状态的概念图。
图2为,表示本发明实施状态的动作流程图。
图3为,通用接口驱动器的构成4为,表示图3得动作的流程图。
图5为,经由网络进行个人认证的概念图。
图6为,表示图5的动作顺序的流程图。
图7为,表示经由网络进行个人认证时通用接口驱动器的动作顺序的流程图(1)。
图8为,延续图7的流程图(1)的流程图(2)。
图9为,表示以往的个人输入特征的图表。
图10为,表示本发明的个人输入特征的图表。
图11为,使用加密/解密专用卡的通用接口驱动器的功能模块图。
图12为,表示图11的动作的流程图。
图13为,表示Windows的体系结构图。
图14为,以往的操作系统和设备驱动的概念图。
图15为,表示以往的设备驱动的动作顺序的流程图。
图16为,以往的取得键操作数据的流程图。
图17为,表示实施状态6的概要图。
图18为,表示实施状态6的键的读取时间的时间间隔的图。
图19为,表示实施状态6的输入数据的实例的图。
图20为,表示实施状态6的学习部分的程序实例的流程图。
图21为,表示实施状态6的识别部分的程序实例的流程图。
图22为,表示实施状态6的识别结果的实例。
具体实施例方式
以下,对本发明的实施状态进行说明。
(通用接口驱动器)图1为,表示本发明的计算机的接口驱动程序的实施状态的概念图,使用了通用接口驱动器的操作系统的概念图。图2为,表示传送数据时的数据及命令的流程的流程图。
计算机1由CPU、内存、外设等的硬件环境2构成,这些硬件2在存储设备中存储的操作系统3控制下运作。终端用户使用的应用程序4在操作系统3所提供的环境下运作。操作系统3中,有控制外设的设备驱动5,根据应用程序4发出的命令对设备6进行控制,接受设备6(A)发出的数据及向设备6(设备驱动器B)进行数据发送。
在此实施状态下,运行着各设备驱动5的通用窗口、对与应用程序4的处理进行汇总的通用接口驱动器7。另外,可以通过应用程序4发出命令,对设备6之间的数据的收发进行控制。通用接口驱动器7为,设备驱动5(A)和设备驱动5(设备驱动器B)之间的接口,在核心模式8下运行。
如果进一步说明,设备6中,有设备A和设备设备驱动器B,各自由设备驱动器A和设备驱动设备驱动器B进行控制。由设备A向设备设备驱动器B传送数据时的数据流程表示于图2的流程图。在用户模式9下运行的应用程序4,在从设备A向设备设备驱动器B进行数据传送时(S1),发出数据传送请求(命令)(S2)。此时,系统的运行模式为用户模式9。
系统的运行模式转换到核心模式8,通用接口驱动器7接收从应用程序4发出的数据传送请求(S3),通用接口驱动器7对此数据传送请求进行分析(S4),向各处理部分发出指示。对设备驱动器A发出数据发送的请求(S5)。对设备驱动设备驱动器B发出数据接收请求(S6)。
设备驱动器A接收从通用接口驱动器7发出的数据发送请求(S7),向设备A发送数据(S8)。设备A接收数据发送请求(S9),将数据发送到设备驱动器A(S10)。设备驱动器A接收数据(S11),进行内部处理(S12),传给通用接口驱动器(S13)。通用接口驱动器7接收数据,进行压缩、加密等处理(S14)后将结果发送到设备驱动设备驱动器B(S15)。
设备驱动设备驱动器B接收通用接口驱动器7发出的数据(S16),进行内部处理(S17),将此内部处理结果发送给设备设备驱动器B(S18)。设备设备驱动器B接收数据(S19),将完成数据接收的信息向设备驱动设备驱动器B发送(S20)。设备驱动设备驱动器B接收完成数据接收的信息(S21),将数据传送结束的信息传送给通用接口驱动器7(S22)。
通用接口驱动器7接收数据传送结束的信息(S23),将数据传送结束的信息通知给应用程序4并对下面的命令待机(S24)。在此,系统的运行模式从核心模式8转换到用户模式9,应用程序4接收数据传送结束的信息(S25),进入下面的处理。
这样,数据传送一系列的作业结束(S26)。如此,数据通过“设备A”→“设备驱动器A”→“通用接口驱动器7”→“设备驱动设备驱动器B”→“设备设备驱动器B”进行传送,此间,系统的运行模式以核心模式8进行运行,没有模式切换的必要。
另外,数据不经由用户模式9的应用程序4而直接在核心模式8下在设备6之间传送,是大量数据可以高速地传送。另外由于直接在应用程序4不可涉及的核心模式8中传送,其安全性也得到提高。
设备设备驱动器B是键盘、鼠标等输入装置为首的各种各样的设备时,各设备具有相应的设备驱动。这些设备驱动并列地接续在通用接口驱动器7上,通过通用接口驱动器7互相或与应用程序4进行数据交换。
通用接口驱动器7由于具有数据压缩、加密、解密等为首的处理功能,可以使在应用程序4发出请求时使用这些功能,在设备间或应用程序4和设备A、设备驱动器B间的数据收发高速进行。
并且,由于通用接口驱动器7具有表示已接收数据的时间的时间戳功能,可以在从设备A、设备驱动器B接收的数据等上加盖时间戳。如果可以使用这个时间戳功能,就可以正确掌握从设备A、设备驱动器B输入的数据的输入时间的相关信息。
特别是,对于以用户的输入特征进行个人认证等的输入时间非常重要的情况,更需要正确地掌握时间。
考虑到用户从键盘输入ID和口令,利用这个输入时的输入特征、习惯进行个人认证时的情况。此时,使用通用接口驱动器7,从键盘取得已输入的信息。在这个信息中,有特别指定了按了键盘的哪个键的信息。
另外,通用接口驱动器7在这个信息上追加时间戳。对时间戳处理的键盘信息进行个人认证时进行分析,可以计算用户的输入特征并进行考虑了用户的键盘输入特征的个人认证。
进行这个计算时,可以利用下述的第1-4时间之内的一个以上的时间。这个时间中,从键盘的某个键被按下到离开这个键的时间间隔即第1时间,从按下键盘的某个键到下一个键被按下的间隔即第2时间,从离开键盘的某个键到按下下一个键的间隔即第3时间,从离开键盘的某个键到离开下一个键的间隔即第4时间。
还有,利用这里的第1-4时间进行统计处理的结果可作为用户输入特征进行利用。
(个人认证方法的实施状态1)以下,对于使用了在核心模式下运行的通用接口驱动器程序进行个人认证的实施状态1进行说明。对从键盘输入口令进行用户个人认证的顺序进行说明。图3为表示通用接口驱动器7的实施状态的图,特别是,表示计算机11的通用接口驱动器7的内部构成、命令及数据的流程。
用户通过键盘15的键输入口令等,由应用程序4进行个人认证。此时,经由通用接口7,应用程序4和键盘15间进行数据交换。通用接口驱动器7由,数据读取部分18、TDI客户端驱动部分(TDI ClientDriver部分)20、数据处理部分(具有加密部分、解密部分)19、AP接口部分17、流程控制部分25等构成,各部分的概略功能如下。
数据读取部分18是,为了从键盘驱动器即HID24接收键盘15的操作数据等,并将其输入通用接口驱动器7的部分。AP接口部分17为,提供应用程序4和通用接口驱动器7之间的接口,接收应用程序4发出的参数设定及开始运行的命令,进行分析,向各处理部分传送运行参数,监视数据的收发状况。
数据处理部分19为,为了对从数据读取部分18接收到的数据的加密、压缩、时间戳等输入数据进行处理的部分。接收从数据读取部分18输入的键盘操作数据,追加其输入时间的时间戳,通过AP接口部分17向应用程序4或通过TDI客户端驱动部分20向网络发送数据。
TDI客户端驱动部分20为网卡设备21和通用接口驱动器7提供接口。网卡设备21由协议驱动器22和NDIS(Network Driver InterfaceSpecification)驱动23构成,控制网卡16,并对向网络传送数据时确立接续及协议进行控制。
协议驱动器22为,对向网络传送数据时的通信协议进行控制的模块。NDIS驱动器23为,为协议22和网卡16提供接口的模块。TDI客户端驱动部分20将从数据处理部分19接受的已打包的数据输出到协议驱动器22。
流程控制部分25为,根据特定的命令对数据读取部分18进行控制,并做不允许从外部进行访问的控制。对于上述特定的命令,可以是应用程序4或者网络发出的。特别是,在防止不正当访问时使用。
另外,计算机11的个人认证专用的应用程序4进行对从键盘15输入的使用口令的个人认证的执行步骤参照图4的流程图进行说明。
此流程图表示在用户模式9下运行的根据应用程序4的命令,通用接口驱动器7接收从键盘15发出的口令数据并发送给应用程序4的步骤。首先,应用程序4输出从键盘15收发口令数据的命令,数据接收开始(S100)。这个输出命令以Windows的标准设计通过接口被输出到通用接口驱动器7。
通用接口驱动器7的AP接口部分17接收从应用程序4发出的命令(S101)。命令中包含数据读取参数及运行开始命令等。之后,AP接口部分17将数据读取参数传到流程控制部分25(S102)。流程控制部分25接收数据读取参数(S103)、将这个数据读取参数进行解析(S104)、传送给数据读取部分18(S105)。
数据读取部分18进行数据读取参数的设定(S106)、并进行与HID24的接续处理(S107),则从键盘15处接收数据的准备结束。从键盘15传送来的数据通过HID24被读入数据读取部分18的接收缓冲区内(S108)。然后,将数据读取部分18的接收缓冲区中的数据传给数据处理部分19(S109)。
数据读取部分18在从AP接口部分17发出请求时(S110),为了向应用程序4进行发送数据,生成数据接收状况、数据处理状况等的所需信息(S111)。生成的信息通过流程控制部分25传送给AP接口部分17(S112)。然后,继续需要接收键盘操作数据时,重复S108-110(或者S112),进行键盘操作数据的接收。
在数据处理部分19对接收的键盘操作数据的进行数据处理(S114)。在此数据处理中,进行应用程序4所需的附加信息即表示键盘输入的时间等的时间戳操作,或者使开始加密的操作进行相应所需处理。
然后,还原这些被处理过的数据并生成向应用程序4发送所用的发送数据(S115)。此时,如果数据过长则将数据进行分割打包等处理(S116)。流程控制部分25接收从数据处理部分19发出的发送数据(S117),将已接受的该数据进行解析(S118),传给AP接口部分17(S119)。
最后,AP接口部分17向应用程序4发送键盘操作数据(S120),对从应用程序4发出的请求进行监视(S121),没有指示时,继续进行数据的读取(S121→S108)。如果有停止指示时(S121)则将该命令指示给各处理部分17-20、25,结束处理(S122)。
图6为,表示进行个人认证时的运行步骤的流程图。在进行个人认证时,利用用户ID、口令等由键盘进行输入时的输入特征。该输入特征为,利用键盘的键按下或弹起时的时间信息进行计算而求得。通用接口驱动器7将时间戳追加到特别指定键的信息。然后,这个时间信息被送到服务器,服务器在进行个人认证时用下述的第1-4时间中的1个以上的时间进行计算后加以利用(S155、S156)。
这些时间为,从按下键盘的某个键到离开这个键的时间间隔为第1时间,从按下键盘的某个键到按下下一个键的时间间隔为第2时间,从离开键盘的某个键到按下下一个键的时间间隔为第3时间,从离开键盘的某个键到离开下一个键的时间间隔为第4时间。另外,将对1-4时间进行统计处理后的信息作为用户的输入特征加以利用。
图10中,横轴为取用户从键盘输入文字时的按下键的时间,纵轴为取键按下持续的时间所成的图表。与上述图9相同。图10的图表(a)是用户进行输入时的真实图表。如果计入个人输入时的时间误差,则用户输入某键的图形大体可为四角形60。
通用接口驱动器7获取键按下时的时间时,如图10的图表(设备驱动器B)所示,其用户输入时的时间误差范围如椭圆64所示。另外,有其它的应用程序等计算机的中央处理器设备等加载了负荷处理的时候,线65和线66稍微倾斜以表示时间差别。可见,图10的图表(设备驱动器B)的椭圆64比图9的图表(设备驱动器B)的椭圆61小了很多。另外,线66也同样比线63的时间差别少。
图10的图表(设备驱动器B)中,按下某键的时间为点A,离开这个键的时间为点设备驱动器B,按下、离开下面的键的时间分别由C、D表示。上述的第1时间为TI=设备驱动器B-A,第2时间为T2=C-A。同样的,第3时间、第4时间分别为T3=C-设备驱动器B、T4=D-设备驱动器B。
(实施状态2)下面,表示利用网络的个人认证的实施状态。在图5中,表示了本实施状态2的系统概要。用户所使用的计算机11通过网络26与个人认证服务器28接续。为了用户访问计算机11,键盘15、鼠标27等输入装置接续在计算机11上。另外,计算机11为了与网络26接续而装有网卡(图上没有表示)。
上述网络26可以是局域网或互联网等通用的各种网络。在个人认证服务器28上运行着个人认证的应用程序,控制着计算机11的通用接口驱动器7。如此,可以使用TCP/IP等协议。个人认证服务器28利用IP地址对用户使用的计算机11进行确定,可以对该计算机11的通用接口驱动器7进行控制。
通用接口驱动器7按照个人认证应用程序的指示,使欲进行不正当访问的用户不能进行访问。为此,具有输入装置对访问进行中止、限制从输入装置对特定的或所有对应用程序的访问,或将计算机的系统整体成为锁定状态的功能。
个人认证服务器28具有存储媒体,预先备有数据库29。为了确定正在操作计算机11的用户是否为正规的用户,个人认证应用程序通过将数据库29中的该用户相关信息与计算机11送来的信息进行比较来进行确定。
为了实现这种用户认证,最少要有用户的姓名或者预先设置的ID,并且还要有表示个人输入特征信息的口令等。表示个人输入特征的信息中,要有用户按下键盘15某键的持续时间、从按下某键到按下下一键的时间等。
然后,对这些动作参照图6中的流程图进行说明。计算机11运转(S150),安装在计算机11的存储媒体中的操作系统启动(S151)。由于操作系统的标准设计中预先设定了网络功能,故通过网络26可与个人认证服务器28进行接续(S152)。
个人认证服务器28确定新接续的计算机11,个人认证应用程序为了对该用户进行认证,请求相应口令(S153)。计算机11接收此请求,向用户请求发出口令等的要求。用户输入口令等后,将此发送给个人认证服务器28(S154)。个人认证服务器28接收此口令等,个人认证应用程序进行用户的认证(S155)。
个人认证应用程序将从计算机11发来的信息与个人认证服务器28的数据库29进行比较,对用户的口令等是否正确做判断(S156),如果判断结果为正式的用户,则发送用户可以访问计算机11的许可消息(S157)。
然后,继续对用户访问计算机11的要素进行在线监视(S158→S159)。如果只是核对口令,则认证作业结束(S158→END)。
进行在线监视时,在规定的一定时间内进行待机(S159、S160),通用接口驱动器7生成文字的输入信息(S161),向个人认证服务器28发送文字输入相关信息(S162)。接收了从计算机11发送来的文字输入相关信息的个人认证服务器28进行个人认证(S163)。如此,判断使用计算机11的用户是否为正当的用户(S164)。
如果判断结果为正当用户时,继续对下次认证进行指定时间的待机(S165→S159)。如果判断为不正当访问(S166)时,通知管理人(责任人)(S168)。另外,在步骤S156中进行口令对照时,由于口令等出错而造成不被许可的情况下(S167),通知管理人(责任人)(S168)。
而且,根据初始设定等的判断,判断访问计算机11的级别,使其不可使用(S169)。所谓这个级别有,由于口令出错而使系统被锁定从而不能对计算机11进行一切访问的状态,或者是进入不可以从输入装置进行访问并不能进行输入的状态,还有,虽然继续正在运行的应用程序但不可以进行输入的状态等状态。
而且,最后对计算机11的访问者通知不可以对计算机进行访问并结束一系列认证工作。由通用接口驱动器7对设备驱动进行控制,可对一切访问计算机11的状况进行控制,故可以使S169中的锁定计算机11、不可输入等状态成为可能。之后说明的流程控制部分25将这些控制功能进行整合,可完成上述状态和控制。
另外,在这些状态下,可进行经过一定时间后再次进入口令认证状态,或可由管理人(责任人)许可后恢复原状态等柔软控制。另外,也可以实施必须切断计算机11的电源并重新启动后才能恢复原状态的方法。
上述控制为举例说明,没必要必须进行与本实施状态2相同的控制。只要具有上述功能则何种状态都是可以的。另外,不仅局限于鼠标27或键盘15等的输入装置,网卡及其它外设也可同样对待。
在进行用户个人认证时,也有利用用户ID、口令等,并利用将其从键盘输入时的输入的输入特征等方法。此输入特征为,利用按下或离开键盘的键时的时间信息进行计算而求得的结果。
通用接口驱动器7在特别指定键的信息上追加时间戳。这个时间信息被送到个人认证服务器28,在个人认证服务器28进行个人认证时,使用下述1-4时间中的一个以上的时间进行计算(S155、S156)。
这些时间为,从按下键盘15的某个键到离开这个键的时间间隔为第1时间,从按下键盘15的某个键到按下下一个键的时间间隔为第2时间,从离开键盘15的某个键到按下下一个键的时间为第3时间,离开键盘15的某个键到离开下一个键的时间为第4时间。对于这些1-4时间,通过与上述的T1-T4同样的计算求得。
然后,将对这些第1-4时间进行统计处理后的结果作为用户的输入特征加以利用。另外,同样的在进行在线监视的时候,利用上述的第1-4时间中的一个以上的时间或统计处理后的结果进行判定(S163、S164时)。
下面,将本实施的状态2下通用接口驱动器7的运行参照图7、图8的流程图进行说明。通用接口驱动器7的构成与上述图3的实施的状态1相同,各部分的功能也相同。在此,利用上述的实施的状态中所述的功能及追加的功能进行说明。
计算机11开始运转,操作系统启动后,根据操作系统的初始设定、或专用的应用程序的请求,计算机11与网络26上的个人认证服务器28接续,通过网络26请求进行个人认证。将此请求通过操作系统所提供的接口,由通用接口驱动器7的AP接口部分17接收(S201)。
这个发向个人认证服务器28的接续要求中包含与网络26接续所需的参数及开始运行的命令。AP接口部分17通过流程控制部分25,将这些各网络参数传给TDI客户端驱动部分20(S202)。TDI客户端驱动部分20进行与NDIS驱动器23的接续处理(S203),并进行协议驱动器22的网络参数设定(S204)。
如此,网卡驱动器21发送与个人认证服务器28的接续请求,与接续在网络26上的个人认证服务器28取得接续,并对个人认证服务器28的请求进行待机(S205)。然后,接收个人认证服务器28发出的请求(S206)。TDI客户端驱动部分20接收个人认证服务器28送来的服务器请求并传给数据处理部分19(S206、S207)。数据处理部分19接收服务器请求(S208),对服务器请求进行解密(S209),并发送给流程控制部分25(S210)。
流程控制部分25接收请求并进行解析(S211)。对服务器请求是何种目的的、是给应用程序4的数据或是用于个人认证的请求等进行解析。另外,对出现从外部进行的不正当访问的情况、对其进行防止的命令进行解析。如果是个人认证的所用的键盘15发送来的访问信息时,则将键盘15的输入信息指示各部分以返给服务器(S212、S213)。
数据读取部分18接收流程控制部分25的指示(S222),并与HID24进行接续(S223)。然后,将键盘15的输入数据读入接收缓冲区(S224),将此接收缓冲区的键盘输入信息传送到数据处理部分19(S225)。数据处理部分19接收接收缓冲区的数据,进行追加接收时间信息的时间戳处理等处理(S226),进行加密处理(S227)。
然后,生成易于发送给网络26的打包数据即发送数据(S228)。发送数据被发送到TDI客户端驱动部分20的发送缓冲区(S229)。然后,TDI客户端驱动部分20从发送缓冲区将发送数据发送到协议驱动器22,向个人认证服务器28的发送结束后通知流程控制部分25(S230、S231)。
流程控制部分25接收数据包发送完成信息(S232),如果有必要向应用程序4等提供信息时,则生成相应信息传给AP接口部分17(S233-S235)。然后,如不需要由键盘15发送输入数据时,则结束一系列操作,待机等待个人认证服务器28发出之后的指示(S236→S205)。
如此,通过TDI客户端驱动部分20接收个人认证服务器28发出的指示(S205-S207),在数据处理部分19进行相应解密处理(S208-S210),在流程控制部分25进行解析(S211-S213)。此时,如果判断为从个人认证服务器28对键盘15的输入信息的访问不正确即非正当的用户的情况,则流程控制部分25对各部分发送相应指示(S214)。
必要时,通过AP接口部分17对应用程序4进行通知(S215、S216、S220、S221)。在数据读取部分18,如果从流程控制部分25发出指示(S217),则将从HID24的输入暂停并待机等待从流程控制部分25发出之后的指示(S218、S219)。
而且,对如此一系列的不正当访问进行对应后,对系统是否发出再请求或到从个人认证服务器28发出相应订正命令的到来进入待机状态。这种情况下,完全成为用户行为或其他人持口令进行访问的情况就可以及时得到对应。
(实施状态3)下面对在线监视的实施状态3进行说明。本实施状态的系统构成与实施状态2的系统图5相同,下面仅对与实施状态2不同的部分及不同的操作进行说明。
本实施状态3为,可以对正在访问计算机的用户是否为正当用户做监视的系统。用户在访问计算机时,不需进行登录可以继续进行访问作业。但是,计算机11通过网络26由个人认证服务器28进行监视。
个人认证服务器28上有用于监视的监视程序和数据库29,对正在访问计算机11的用户是否为正当用户进行监视。这个监视作业是与上述的上述的实施状态2相同的图6的流程图的S158-S170的步骤。上述事实状态2中,以S170结束。
但是,这里并不是以S170结束,而是在一定时间内限制计算机11的访问或者限制可访问计算机11的应用程序4。然后,在过了一定的时间后S158再次开始进行监视。
(实施状态4)如上述的实施状态中表示的使用了通用接口驱动器7进行口令认证时,为了可以直接利用从键盘15输入的键盘操作信息,可以利用“退格键”、“左Shift键”、“右Shift键”等功能键进行口令认证。
例如,输入“PIANO”、退格(以下称设备驱动器BS)、退格(以下称设备驱动器BS)、“NO”后,结果为“PIANO”。将以往的“PIANO”、“设备驱动器BS”、“设备驱动器BS”、“NO”与直接输入“PIANO”等同对待。这是因为设备驱动器BS等功能键在口令认证时不作处理而仅是为修正输入数据误差时使用。
如果是利用功能键进行口令认证,由于“PIANO”、“设备驱动器BS”、“设备驱动器BS”、“NO”输入过程与直接输入“PIANO”过程有差别,可以将其作为口令进行使用。这种结合了个人输入特征的个人认证为强有力的个人认证。
(实施状态5)下面,对使用了加密/解密专用卡31的实施状态5通过图11进行说明。本实施状态5中,计算机11的加密、解密处理在其专用卡即加密/解密专用卡31上进行。计算机11的通用接口驱动器7的组成部分及处理与上述的实施状态1-4相同,其处理内容省略。但是,由于使用了加密/解密专用卡31,故数据处理部分19的构成及加密、解密处理有所不同。
如图11所示,加密/解密专用卡31为计算机的附属硬件,由卡驱动器30对数据处理进行控制。在卡驱动器30与通用接口驱动器7的数据处理部分19进行数据收发。也就是说,数据处理部分19仅将要进行加密或解密的数据发送给卡驱动器30,被处理的数据成为接受数据的构成。这个操作的步骤参照图12的流程图进行说明。
数据处理部分19在要对数据进行加密或解密处理时,与卡驱动器30进行接续处理(S300)。然后将加密或解密处理数据发送给卡驱动器30(S301),已处理的数据为等待数据接收而待机(S302)。
卡驱动器30接收此数据(S303),与加密/解密专用卡31进行接续处理,传送数据(S304),已处理的数据为等待数据接收而待机(S305)。加密/解密专用卡31将此数据进行加密或解密处理并将已处理的数据返给卡驱动器30。
卡驱动器30接收从加密/解密专用卡31处返来的已处理数据并发送到数据处理部分19(S306、S307)。数据处理部分19接收这些已处理数据并进入下面的处理。
本实施状态5仅为一实例,从通用接口驱动器7向加密/解密专用卡31的访问,可通过数据读取部分18等自由地进行。另外,在表示操作步骤的流程图中仅处理了一个数据,也可变更为处理一系列的数据或对适合在线监视的数据进行连续的加密或解密处理的相应步骤。
(实施状态6)图17为实施状态6的概要图。实施状态6的个人认证系统至少由客户端201和服务器202构成。客户端201与服务器202通过网络203互相接续并进行数据收发。网络203为可使客户端201和服务器202的收发信息的局域网或互联网等有线或无线的网络皆可。
客户端201为至少有键盘15和网卡16的计算机。客户端201安装着通用接口驱动器7。通用接口驱动器7与实施状态1至5的通用接口驱动器7具有同样的功能,在此不详细叙述。通用接口驱动器7有取得用户从键盘15输入的数据并将其发送给服务器202的功能。详细地说,取得用户按下或离开键的识别数据及包含其时间数据的输入数据并发送给服务器202。
服务器202上安装有用户认证程序204。服务器202上有由表示用户从键盘15输入时的输入特征的数据组成的用户数据库205。用户认证程序204接收从客户端201发送来的输入数据,将其输入数据与用户数据库205的数据进行比较并进行解析以确定用户。
用户认证程序204在对输入数据进行解析时,使用神经网络方法进行数据解析。例如,使用学习向量量子化算法(Learning VectorQuantization,以下简称LVQ)。LVQ为T.Kohonen发明的方法,有LVQ1到LVQ3的多个版本本实施状态6使用了LVQ1。使用其它的LVQ算法及神经网络方法的算法也可以。对LVQ的详细说明,由于是T.Kohonen所著的“《Self-Organizing Maps》(Springer Series in InformationSciences,30,2000;Springer Verlag)”等记载众所周知的技术,故在此不做详细说明。
将初始状态时提供的标本数据(以下简称教师数据)分为附有复数的特征向量的特征的组并进行量子化,计算输入向量与各特征向量之间的距离。使用将与这个距离最近的特征向量所属的组判定为输入向量所属的组的方法。
LVQ1由下式表示,学习如下进行。在初始状态下,给组赋予附有特征的复数的特征向量。计算已输入的教师数据与所有特征向量的距离,可以将距离最近的特征向量所属的组推定为教师数据所属的组。
每组生成指定个数的特征向量,用随机数对这些特征向量开始初始化学习。此时的随机数的值在各组的向量数据的最大、最小值之间。按照以下的式1更新特征向量并进行学习。通过指定次数的这个学习,求得教师数据最适合的特征向量。
mi、mj为与教师数据x距离最近的特征向量。mi与教师数据x属于不同的组时,mj为与教师数据x属于相同组的情况。σ(t)为系数,取0到1之间的值。
mi(t+1)=mi(t)-σ(t)[x(t)-mi(t)]mj(t+1)=mj(t)+σ(t)[x(t)-mj(t)]...(式1)mk(t+1)=mk(t)for k≠i,j[个人特征]在本实施状态6中,用户的输入特征为用户按下特定的键的时间及离开这个键的时间,如下所示。使用按下键时的按下时间及离开已按下键时的离开时间。以用户敲打的键与其前后敲打的键的先后关系作为用户的输入特征。
图18中表示其例子。使用下面的各种时间作为表示用户的输入特征的数据。图中的横轴为时间轴。用向下的大箭头表示按下键时的动作时间。同样的,向上的大箭头表示离开键时的动作时间。这两个箭头成为一组表示按下和离开一个键的动作。通用接口驱动器7取得用户从键盘15进行输入时识别各敲击键的键代码、键的按下时间及离开时间,并将其作为输入数据发送给服务器202。
图18的图表(a)中,表示从键1到键3敲击键盘的实例。t1、t2、t3表示键1到键2的时间上的相互关系。t1为从键1的按下时间到键2的按下时间的时间,t2为从键1的离开时间到键2的按下时间的时间,t3为键1的离开时间到键2的离开时间的时间。
t1’、t2’、t3’表示t1、t2、t3时同样的键2和键3的时间上的相互关系。t2和t2’为,根据键1的离开时间、键2的按下时间或者键2的离开时间、键3的按下时间的相对关系有可能取负值。
图18的图表(设备驱动器B)中,表示从键1到键3敲击键盘的另一个实例。t4、t5、t4’、t5’、t4”表示从键1到键3的时间上的相互关系。t4为从键1的按下时间到离开键1的时间的时间,t5为从键1的离开时间到键2的按下时间的时间。t4’为从键2的离开时间到键2的离开时间的时间,t5’为从键2的离开时间到键3的按下时间的时间,t4”为从键3的按下时间到键3的离开时间的时间。
t5和t5’为,根据键1的离开时间、键2的按下时间或者键2的离开时间、键3的按下时间的相对关系有可能取负值。
在本实施状态6中,客户端201在用户从键盘15输入时取得输入数据并发送到服务器202。在客户端201上,由在核心模式下运行的通用接口驱动器7取得与键有关的数据。对于通用接口驱动器7的动作由于在上述实施状态1到5中有详细的说明故在此进行省略。
图19中表示了由通用接口驱动器7取得输入数据并发送给服务器202的实例。输入数据由“编号”210、“时间”211、“IP”212、“键码”213、“按/起”214的栏目组成。“编号”210为取得数据的序号,“时间”211为取得键数据时的时间。“时间”211以实际时间的100纳秒单位进行表示。
“IP”212为用以识别客户端201的网络地址。“键码”213为键的代码编号。“键码”213为国家或者国际机构制定的键码,或者为键盘的物理上的代码编号也可以。“按/起”214为表示键按下或离开的栏目,“1”为按下、“0”为离开。
通用接口驱动器7通过数据读取部分18取得键数据,在数据处理部分19处在键数据上附加时间数据等以生成输入数据(参照图3)。生成的输入数据通过TDI客户端驱动部分20,经网卡驱动器21发送到服务器202。
在服务器202接收从客户端201发送来的输入数据作为输入数据文件206在硬盘或内存等存储媒体中保存。在服务器202取得预先特别指定用户的输入数据生成用户数据库205。用户认证程序204将输入数据文件206的数据与用户数据库205的数据进行比较以对用户进行识别。
用户认证程序204由学习部分208和识别部分209构成。学习部分208为由用户数据库205生成特征向量的程序。识别部分209为将输入数据与特征向量进行比较以进行用户识别的程序。下面,对各部分的详细动作进行说明。
学习部分208读入教师数据求得特征向量。由读入的教师数据,求得如图18中示例的已输入的键、其按下离开的时间数据、其键的前后输入的键相关联的时间数据,作为特征数据。图18中举例所示的从t1到t3或者t4、t5为其一实例。求得对应于所有的教师数据的特征数据,求得表示所有特征数据的特征的特征向量。
图20的流程图表示了学习部分208的运行步骤。启动了服务器202的用户认证程序204后,学习部分208开始执行(S400)。将已保存的教师数据从用户数据库205读入(S401)。用户数据库205将其以文本、二进制形式的文件进行保存。不断读入教师数据,直到教师数据达到指定数(S402→S401)。
对已读入的教师数据是否正确读入进行判定(S403)。在没有正确读入的情况下,对学习部分208的程序进行强制结束(S404)。在正确读入的情况下,将特征向量初始化(405)。生成在特征向量的初始化时所指定数量的特征向量,使用随机数进行初始化。随机数取各组特征向量的最大值和最小值之间的值。
然后,开始进行学习。对学习次数进行初始化(L=0)(S406),只进行确定次数n次LVQ学习(S407-S409)。在LVQ学习中,如式1所示对特征向量进行更新。σ固定取0.1进行学习。
仅进行了确定次数n次的学习后,写出学习后的结果的特征向量(S410),学习部分208结束(S411)。将特征向量以文本或二进制形式进行输出并存储在服务器402的存储设备中。
执行了学习部分208的程序并输出了特征向量结束后,识别部分209的程序开始执行。图21的流程图为,表示识别部分209的程序的步骤。识别部分209的程序开始后(S420),读入学习部分208输出的特征向量(S421)。读入特征向量,读入验证用户的输入数据(S422)。
输入数据由客户端201处发送给服务器202作为输入数据文件206进行保存。输入数据读取结束后,进行识别处理(S423)。识别处理结束后输出识别结果(S424),读入下面的数据并进行识别(S425-S422)。如果没有下面的数据或有结束指示时则结束程序(S426)。
识别部分209的程序输出的识别结果在服务器202的存储设备中以文本或二进制形式的文件进行存储。图22中表示了识别结果的实例。将识别结果图示为,“读入文件”220的行和“识别结果”221的列所构成的表。“读入文件”220的行和“识别结果”221的列分别由“A”、“设备驱动器B”、...、“G”的各行、各列构成。
“读入文件”220的各行表示输入数据,“识别结果”221的各列表示教师数据的各特征向量。各行与各列向对应交叉的格为,输入数据属于各特征向量的比例的百分数。识别部分209的程序读入输入数据“读取文件A”222,求得该输入数据属于哪个特征向量,将结果以百分数的形式输出。
由此表可以判断出在客户端201的键盘进行输入的用户是谁。“读入文件A”222的用户为具有“特征向量A”224的用户的可能性为“75%”,为具有“特征向量设备驱动器B”225的用户的可能性为“6%”。“读入文件设备驱动器B”223的用户为具有“特征向量A”224的用户的可能性为“0%”,为具有“特征向量设备驱动器B”225的用户的可能性为“100%”如此,由各用户的个人特征的进行确定有“100%”的情况,也有由于与其他用户相似而成为“70%”到“80%”的情况。
本发明为,抽取在核心模式下由键盘进行输入的正确的定时并可以求得定时的正确度的安全保护的相关领域,如个人信息、国家机密信息、企业秘密等的管理系统中进行装入,可使安全性得到提高。
权利要求
1.一种利用电子计算机的输入装置的输入特征的个人认证方法,其特征在于存在连接着包含输入装置的多个设备,而且运行着操作系统的计算机,使用上述计算机的用户通过上述输入装置进行数据输入时,由于利用上述用户操作上述输入装置的操作特征对上述用户进行确认,在可执行上述操作系统的所有命令的运行模式即核心模式下,取得操作上述输入装置时的操作时间,对上述操作时间进行分析并掌握上述操作特征。
2.根据权利要求1的个人认证方法,其特征在于上述计算机的存储装置中存储着由包含上述操作特征的上述用户的个人认证数据构成的数据库,将上述操作时间与上述个人认证数据进行对照以进行个人认证。
3.根据权利要求1或2的个人认证方法,其特征在于上述输入装置为键盘,上述操作时间为,利用按下上述键盘的某个键时的第1时间信息、或者按下上述键或其它键后离开时的第2时间的时间信息。
4.根据权利要求1或2的个人认证方法,其特征在于上述操作时间为,从按下上述键盘的某键到离开该键的时间即第1时间,从按下上述键盘的某键到按下下一键的时间即第2时间,从离开上述键盘的某键到按下下一键的时间即第3时间,及从离开上述键盘的某键到离开下一键的时间即第4时间中选择任意一个以上的时间。
5.根据权利要求1或2的个人认证方法,其特征在于上述个人认证为,使用神经网络方法的学习向量量子化法。
6.根据权利要求5的个人认证方法,其特征在于上述学习向量量子化法为,学习并求得表示由上述个人认证数据构成的教师数据的特征的特征向量,上述学习为,上述特征向量mi、mj与教师数据x距离最近的情况下,t为上述学习的次数,mi与教师数据x属于不同的组时,mj为与教师数据x属于相同组的情况下,以mi(t+1)=mi(t)-σ(t)[x(t)-mi(t)]mj(t+1)=mj(t)+σ(t)[x(t)-mj(t)]...(式1)mk(t+1)=mk(t) for k≠i,j0<σ(t)<1式对上述特征向量进行更新,求得包含了上述操作时间的输入数据与上述特征向量的距离,对上述用户进行识别。
7.根据权利要求6的个人认证方法,其特征在于上述操作时间为,从按下上述键盘的某键到离开该键时的时间即第1时间,从按下上述键盘的某键到按下下一键时的时间即第2时间,从离开上述键盘的某键到按下下一键时的时间即第3时间,从离开上述键盘的某键到离开下一键时的时间即第4时间中选择任意一个以上的时间。
8.一种利用电子计算机的输入装置的输入特征的个人认证程序,其特征在于存在连接着包含输入装置的多个设备且在操作系统下运行的计算机,该个人认证程序使上述计算机作为个人认证装置发挥功能,在利用上述计算机的用户通过上述输入装置进行输入时,对于上述用户操作上述输入装置的操作特征对上述用户进行个人认证,包括将操作上述设备的操作时间从可执行上述操作系统的所有命令的运行模式即核心模式中取得的取得装置,对上述操作时间进行分析并掌握上述操作特征的分析装置,为特定上述用户所用的ID、及由上述用户操作上述输入装置时的上述操作信息构成的个人认证数据被上述计算机的存储装置进行存储的数据库,和将上述操作时间与上述个人认证数据对照以进行个人认证的认证装置。
9.根据权利要求8的个人认证程序,其特征在于上述计算机应具备控制上述设备的设备驱动,具有根据上述计算机上运行的应用程序发出的命令在上述设备间进行数据收发信时,为由上述应用程序向上述设备驱动将数据或命令进行收发信提供了通用接口的通用接口装置,上述通用接口装置包括接收上述应用程序发来的命令,根据上述命令将命令执行结果通知给上述应用程序的应用接口装置,用于从上述设备驱动读入接收数据的接口装置,进行在上述接收数据上追加表示接收时刻的时间数据的时间戳处理并生成发送数据的数据处理装置,和对上述发送数据进行受理并分析后发送到上述应用接口装置的流程控制装置。
10.根据权利要求8或9的个人认证程序,其特征在于上述输入装置为键盘,上述操作时间为,上述用户按下上述键盘的键、离开上述已按下键的操作,上述取得装置通过上述通用接口装置取得特定上述键的信息的键数据、作为上述输入时间的按下上述键的时间信息即按下数据、及离开上述键的时间的信息即离开数据,上述分析装置对,从按下上述键盘的某键到离开该键的时间间隔即第1时间,从按下上述键盘的某键到按下下一键的时间间隔即第2时间,从离开上述键盘的某键到按下下一键的时间间隔即第3时间,及从离开上述键盘的某键到离开下一键的时间间隔即第4时间中取至少一个时间进行计算,对上述操作特征进行掌握。
11.根据权利要求10的个人认证程序,其特征在于上述接口装置从为操作上述键盘的上述设备驱动即键盘驱动器接收操作上述键盘的键数据即键操作数据,上述数据处理装置从上述键数据取得由上述接口装置受理的上述键操作数据,并且作为上述按下数据或离开数据进行上述时间戳处理并生成上述发送数据。
12.根据权利要求10的个人认证程序,其特征在于在上述认证装置中上述用户没有被认证时,上述流程控制装置将从上述输入装置进行访问停止或暂停的功能,和上述认证装置中上述用户没有通过认证时,上述流程控制装置具有将不认证的信息通知上述计算机管理人的通知装置。
13.根据权利要求8或9的个人认证程序,其特征在于上述个人认证装置使用了神经网络装置的学习向量量子化法,由学习步骤和识别步骤构成。
14.根据权利要求13的个人认证程序,其特征在于上述学习步骤包括读入上述个人认证数据的第1步骤,和生成表示上述个人认证数据的特征的特征向量的第2步骤,和学习上述特征向量求得最适宜的特征向量即最适特征向量的第3步骤,和输出上述最适特征向量的第4步骤。
15.根据权利要求14的个人认证程序,其特征在于上述第3步骤包括计算上述个人认证数据x和上述特征向量之间的距离,算出距离最短的上述特征向量mi的第5步骤,求得上述特征向量mi的组的第6步骤,将上述第6步骤中求得的组与上述个人认证数据x的组进行比较的第7步骤,在上述第7步骤的结果为相同组时,将上述特征向量用式mi=mi+σ[x-mi]、0<σ<1;进行更新的第8步骤,在上述第7步骤的结果为不同组时,将上述特征向量用式mi=mi-σ[x-mi]、0<σ<1;进行更新的第9步骤,和对上述步骤5到步骤9进行规定次数的重复,将其结果作为上述最适特征向量进行输出的第10步骤。
16.根据权利要求13的个人认证程序,其特征在于上述识别步骤包括读入上述学习步骤中生成的最适特征向量的第11步骤,读入包含上述操作时间的输入数据的第12步骤,计算上述输入时间与上述特征向量的距离的第13步骤,由上述第13步骤的计算结果确定最短距离的特征向量的第14步骤,和将上述第14步骤的上述最短距离的特征向量的组作为上述用户的识别进行输出的第15步骤。
17.根据权利要求8的个人认证程序,其特征在于还包括监视装置,用于每个规定时间,通过上述取得装置、上述分析装置及上述认证装置而进行上述用户的个人认证。
18.根据权利要求10的个人认证程序,其特征在于上述键数据为上述键盘中的功能键。
19.一种利用电子计算机的输入装置的输入特征的个人认证程序的记录媒体,其特征在于具有连接着包含输入装置的多个设备且在操作系统下运行的计算机,在利用上述计算机的用户通过上述输入装置进行输入时,对于在上述计算机上发挥功能的利用上述用户操作上述输入装置的操作特征作为对上述用户进行个人认证的个人认证装置的个人认证程序的存储媒体中,将操作上述输入装置的操作时间从可执行上述操作系统的所有命令的运行模式即核心模式中取得的装置,对上述操作时间进行分析并掌握上述操作特征所用的分析装置,为指定上述用户所用的ID、及由上述用户操作上述输入装置时的上述操作信息构成的个人认证数据被上述计算机的存储装置进行存储的数据库,和将上述操作时间与上述个人认证数据相比较以进行个人认证的认证装置。
20.根据权利要求19的记录媒体,其特征在于上述计算机应具备控制上述设备的设备驱动,具有根据上述计算机上运行的应用程序发出的命令在上述设备间进行数据收发时,为由上述应用程序向上述设备驱动将数据或命令进行收发提供了通用接口的通用接口装置,上述通用接口装置为,接收上述应用程序发来的命令,根据上述命令将命令执行结果通知给上述应用程序的应用接口装置,和为了从上述设备驱动读入接收数据的接口装置,和进行在上述接收数据上追加表示接收时刻的时间数据的时间戳处理并生成发送数据的数据处理装置,和对上述发送数据进行受理并分析后发送到上述应用接口装置的流程控制装置。
21.根据权利要求19或20的记录媒体,其特征在于上述输入装置为键盘,上述操作时间为,上述用户按下上述键盘的键、离开上述已按下键的操作,上述取得装置为,将确定上述键的信息的键数据、作为上述输入时间的按下上述键的时间的时间信息即按下数据、及离开上述键的时间的信息即离开数据等通过上述通用接口装置取得,上述分析装置为,从按下上述键盘的某键到离开该键的时间间隔即第1时间,从按下上述键盘的某键到按下下一键的时间间隔即第2时间,从离开上述键盘的某键到按下下一键的时间间隔即第3时间,及从离开上述键盘的某键到离开下一键的时间间隔即第4时间中取至少一个时间进行计算,掌握上述操作特征。
22.根据权利要求21的记录媒体,其特征在于上述接口装置为,从为操作上述键盘的上述设备驱动即键盘驱动器接收操作上述键盘的操作键数据即键操作数据,上述处理装置为,从上述键数据取得由上述接口装置受理的上述键操作数据,并且作为上述按下数据或离开数据进行上述时间戳处理并生成上述发送数据。
23.根据权利要求20到22中选择的1项的记录媒体,其特征在于在上述认证装置中上述用户没有被认证时,上述流程控制装置将从上述输入装置进行访问停止或暂停的功能,和上述认证装置中上述用户没有通过认证时,上述流程控制装置具有将不认证的信息通知上述计算机管理人的通知装置。
24.根据权利要求19或20的记录媒体,其特征在于上述个人认证装置使用了神经网络方法的学习向量量子化法,由学习步骤和识别步骤构成。
25.根据权利要求24的记录媒体,其特征在于上述学习步骤包括读入上述个人认证数据的第1步骤,和生成表示上述个人认证数据的特征的特征向量的第2步骤,和学习上述特征向量求得最适宜的特征向量即最适特征向量的第3步骤,和输出上述最适特征向量的第4步骤。
26.根据权利要求24的记录媒体,其特征在于上述第3步骤包括计算上述个人认证数据x和上述特征向量之间的距离,算出距离最短的上述特征向量mi的第5步骤,和求得上述特征向量mi的组的第6步骤,和将上述第6步骤中求得的组与上述个人认证数据x的组进行比较的第7步骤,和在上述第7步骤的结果为相同组时,将上述特征向量用式mi=mi+σ[x-mi]、0<σ<1;进行更新的第8步骤,和在上述第7步骤的结果为不同组时,将上述特征向量用式mi=mi-σ[x-mi]、0<σ<1;进行更新的第9步骤,和对上述步骤5到步骤9进行规定次数的重复,将其结果作为上述最适特征向量进行输出的第10步骤。
27.根据权利要求24的记录媒体,其特征在于上述识别步骤包括读入上述学习步骤中生成的最适特征向量的第11步骤,和读入包含上述操作时间的输入数据的第12步骤,和计算上述输入数据与上述特征向量的距离的第13步骤,和由上述第13步骤的计算结果确定最短距离的特征向量的第14步骤,和将上述第14步骤的上述最短距离的特征向量的组作为上述用户的识别进行输出的第15步骤。
28.根据权利要求19的记录媒体,其特征在于还包括监视装置,用于每个指定时间,通过上述取得监视装置、上述监视装置及上述监视装置而进行上述用户的个人认证。
29.根据权利要求21的记录媒体,其特征在于上述键数据为,上述键盘中的功能键。
30.根据权利要求19的记录媒体,其特征在于上述数据库中,有识别上述键的代码、按下或离开上述键的时间、表示上述按下或上述离开的识别信息。
31.根据权利要求19的记录媒体,其特征在于上述识别结果为,对每个上述用户生成结果文件或在上述结果文件上进行追加并保存在存储媒体中。
全文摘要
本发明的使用计算机输入装置的输入特征的个人认证方法及其程序和程序的存储媒体,在运行着计算机的操作系统的运行模式即核心模式下进行计算机使用者的个人认证。在进行利用使用计算机(3)的用户操作键盘(15)的操作特征进行个人认证时,在可以执行操作系统(3)的所有命令的运行模式即核心模式(8)下,取得用户操作键盘(15)时的操作时间,对操作时间进行分析并掌握用户操作键盘(15)时的操作特征、利用计算机输入装置的输入特征进行的个人认证。
文档编号G06F21/31GK1592897SQ0380154
公开日2005年3月9日 申请日期2003年2月17日 优先权日2002年2月15日
发明者小路幸市郎, 野崎隆 申请人:科学园株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1