使用基于网络的输入装置的输入特征的个人鉴别方法、其程序以及程序的记录媒体的制作方法

文档序号:7886513阅读:219来源:国知局
专利名称:使用基于网络的输入装置的输入特征的个人鉴别方法、其程序以及程序的记录媒体的制作方法
技术领域
本发明涉及使用电子计算机的键盘等输入装置的输入特征的基于网络的个人鉴别(身份认证)方法,其程序以及程序的记录媒体。更详细说,涉及,比如,在输入个人鉴别用的口令等之际,可以利用个人操作键盘的键的特征和习惯等进行个人鉴别的使用基于网络的输入装置的输入特征的个人鉴别方法、其程序以及程序的记录媒体。
背景技术
历来,为访问电子计算机等,有将预先确定的口令输入进行个人鉴别的口令鉴别方法(以下称其为方法1)。口令多是从与电子计算机相连接的键盘等设备输入。此时,口令是通过按下与构成口令的各符号(字符、数字、符号)相对应的按键进行输入。即使是输入错误,也可以利用退格键等的功能再次更改。
另外,公知的有在使用将击打键盘的键时的时间取作鉴别要素之一的键盘的输入特征的口令鉴别方法(以下称其为方法2)。在此方法2中,采用开始按下键盘的键的时间(时间1)、结束按下键的时间(时间2)等。事前将每个用户按下某一个键之后一直到按下下一个键为止的时间进行登录作为鉴别要素之一。此外,也提出将继续按下键的时间(时间3),手指松开键之后到松开下一个键为止的时间(时间4)等添加到鉴别要素中。
上述的口令鉴别是通过研制专用程序进行的。此专用程序,在用户模式(参考后述的说明)中运行,取得用户从键盘访问的时间。正确地说,从控制用户访问的输入设备的设备驱动器取得有关上述的时间1、时间2等输入时间的信息。下面对现有的电子计算机的设备驱动器和运行模式进行说明。
电子计算机由中央运算处理装置(CPU)、存储装置(存储器、硬盘等)、输入装置(键盘、鼠标等)、输出装置(显示器等)、用来连接外围设备(打印机、扫描仪等)的插卡槽等等众多硬件资源组成,并且由存储于存储装置中的OS(操作系统)控制这些硬件进行工作。
在电子计算机中运行的各种应用程序是在OS上运行。OS控制整个电子计算机的运行,吸收不同硬件的规格的差异,为应用程序提供共用环境。就是说,OS是提供键盘输入及画面输出这样的输入输出功能、盘及存储器的管理等、由众多的应用程序共用的基本功能,对整个电子计算机的系统进行管理的软件,有时也称为“基本软件”。
电子计算机的硬件由多家制造商生产,制造商不同其规格也不同。对于利用电子计算机的程序开发者而言,优选的是在不意识到此硬件的规格的差异的情况下进行应用程序的开发。硬件规格的这一差异由OS吸收并对应用程序提供共用的环境。
应用程序的开发者,通过利用OS提供的功能,可节省开发的工夫,可统一应用软件的操作性。面向某一OS开发的应用程序,基本上可以为运行该OS的任何电子计算机所利用。
在OS方面存在以MS-DOS(注册商标)、UNIX(注册商标)、Linux、FreeBSD(注册商标)等为代表的数目众多的种类,作为企业及家庭的一般用户使用的OS,最流行的是Microsoft公司的Windows系列。在DTP(桌面出版)行业及多媒体行业中,广泛使用Apple公司的MacOS(注册商标)。在企业的服务器及学术机构中使用各公司的UNIX系统的OS及无偿发行的Linux及FreeBSD等UNIX系统的OS很多。近年来,作为服务器用的OS,Microsoft公司的Windows NT/2000扩大了市场占有率。
下面在图13中示出Windows NT/2000(注册商标)的体系结构的概要作为OS的代表。从图13可知,Windows NT/2000,整体上大致为包括硬件2、OS3和实现实际用户要求的功能的应用程序4的层次结构。微内核51用来进行OS3的整体管理的程序,以微内核51的层次为中心,在该层之上运行的各种软件(内核模式软件)构成内核模式8(参照后述的说明)。于是,位于最上层的应用程序4由用户9运行,(参照后述的说明)。
OS3,大致划分的话,是具有由执行程序50、微内核51和硬件抽象层(HAL)52组成的层次结构。HAL52是位于硬件2之上最接近的层的着重硬件控制的程序,用来吸收处理器等的多种多样的硬件规格,为上位层服务(微内核51、执行程序50等)提供相同的环境(不依赖机种)的程序。
微内核51提供整个系统的基本功能。执行程序50是用来利用由微内核51、HAL52提供的服务功能实现OS3的主要服务的程序总体。在执行程序50中包含缓存管理程序53、对象管理程序54、过程管理程序55、存储器管理程序56、I/O管理程序57等代表性的执行程序。
对象管理程序54是用来对运行的对象(用来实现某一目的的功能的程序)进行监视而进行控制调整的程序。过程管理程序55是用来对运行的过程(只执行某一功能的程序)进行监视调整的程序。缓存管理程序53和存储器管理程序56是用来对存储器及虚拟存储器进行控制调整的程序。I/O管理程序57是对OS3的输入输出功能进行监视控制的程序。在电子计算机由此执行程序50运行时,称为内核模式8。
在内核模式8中,用来操作OS3的全部命令是可执行的,假如执行错误的命令,很可能对整个系统受到恶劣影响。另外,在OS3中有对应用程序等的用户完全开放的用户模式9。在此用户模式9中,对操作OS3的命令进行限制以使系统不会受到恶劣影响。由于系统自动捕获对系统给予恶劣影响的命令,所以对于用户而言是容易使用的环境。
然而,因为设置这种限制与限制OS3的功能是一样的,所以在用户模式9中运行的应用程序4,不能直接访问与硬件2有关的部分,必须经过内核模式8。内核模式8,可以充分使用OS3的功能,也可以完全访问各输入输出装置。并且,在内核模式8中运行的程序,比用户模式9的程序优先处理,可以获得高性能。
设备驱动程序5属于OS3,是用来管理电子计算机的外部硬件的软件,在内核模式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是在OS3内部在内核模式8中运行。构成电子计算机的硬件2的设备6是由各种内部设备和与电子计算机相连接的外部设备组成的,分别只由各自固有的设备驱动程序5进行控制。就是说,对设备6的访问全部都要经过设备驱动程序5进行。设备驱动程序5,经过OS3,按照应用程序4发出的命令运行。
下面参照图15的流程图对数据传送流予以说明。在对系统的内核模式8、9进行比较的同时,对在用户模式9中运行的应用程序4从设备A向设备B传送数据时的数据流进行说明。首先,应用程序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相对应。
下面利用图16的流程图对应用程序4取得从键盘输入的键操作的信息的步骤予以说明。作为键操作信息,有按下或松开哪一个键等信息。
首先,启动应用程序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中提出利用键盘的输入特征进行个人鉴别的方式。不过这一方式,前述的内核模式的切换数多而正确的定时抽取在此方式中很困难。

发明内容
本发明就是在上述技术背景下完成的,达到下述的目的。
本发明的目的是提供一种可以在作为电子计算机的OS的运行模式的内核模式中进行电子计算机使用者的个人鉴别的使用基于网络的电子计算机的输入装置的输入特征的个人鉴别方法、其程序以及程序的记录媒体。
本发明的另一目的是提供一种可以在正确的定时抽取电子计算机使用者的键盘等的输入装置的操作时间的使用基于网络的电子计算机的输入装置的输入特征的个人鉴别方法、其程序以及程序的记录媒体。
本发明的再一个目的是提供一种可以利用应用程序和设备驱动程序共用的接口保护数据的保密性,并且可以获得数据的安全传送的基于网络的电子计算机的输入装置的输入特征的个人鉴别方法、其程序以及程序的记录媒体。
本发明的再一个目的是提供一种可以经过网络在线监视电子计算机使用者防止非法访问的基于网络的电子计算机的输入装置的输入特征的个人鉴别方法、其程序以及程序的记录媒体。
本发明使用基于网络的电子计算机的输入装置的输入特征的个人鉴别方法、其程序以及程序的记录媒体具有以下的优点。
本发明,因为是在作为电子计算机的OS的运行模式的内核模式中经过网络进行用于电子计算机使用者的个人鉴别的键盘等的操作时间的数据的收集,可以抽取正确的定时,提高个人鉴别的可靠性。
本发明,因为是经过网络,利用应用程序和设备驱动程序共用的接口驱动程序,进行个人鉴别,所以可保护数据的保密性,并且可以获得数据的安全传送。
本发明,因为可以经过网络对电子计算机的使用者进行个人鉴别及在线监视,可以防止非法访问。
本发明的基于网络的个人鉴别方法、其程序以及程序的记录媒体的特征在于,在由与网络相连接的电子计算机和存储由用户的个人信息组成的数据库的服务器组成的网络系统中,
上述电子计算机,在用户利用上述输入装置进行输入时,在内核模式中取得上述用户的操作时间,向服务器传送包含上述操作时间的输入信息,上述服务器,接收输入信息并进行分析而求得操作特征,将上述操作特征与上述个人信息比较而进行上述用户的个人鉴别。
并且,上述个人鉴别可以使用神经网络方法。
上述神经网络方法,可以是学习矢量量化法。
上述学习矢量量化法,学习并求出表示由上述个人信息组成的教师数据的特征的特征矢量,上述学习,在上述矢量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) 对k≠i,j0<σ(t)<1在式中更新上述特征矢量,可以求出包含上述操作时间的输入数据和与上述特征矢量的距离而识别上述用户。
一种使用基于网络的输入装置的输入特征的个人鉴别程序,其特征在于在使通过与网络连接的第1网卡以及与包含输入装置的多个设备相连接的OS的运行的电子计算机和具有用来与上述网络相连接的第2网卡以及存储由利用上述电子计算机的用户的个人信息组成的数据库的服务器的存储单元的服务器组成的网络系统实现上述用户的个人鉴别用的个人鉴别程序中,
上述个人鉴别程序,由电子计算机用程序和服务器用程序构成,上述电子计算机用程序是在上述用户利用上述输入装置向上述电子计算机输入时,在作为可执行上述OS的全部命令的运行模式的内核模式中取得上述用户操作上述输入装置的操作时间,利用包含上述操作时间的输入数据生成发送给上述服务器的发送数据,利用上述第1网卡向上述网络发送上述发送数据用的取得功能得以实现而使用的程序,上述服务器用程序是使上述服务器,利用上述第2网卡接收上述发送数据,分析上述输入数据求出上述用户操作上述输入装置的操作特征使用的分析功能,以及将上述操作特征与上述个人信息比较而进行上述用户的个人鉴别并使鉴别功能得以实现的程序。
另外,上述取得功能可以包含用来接收由上述电子计算机运行的应用程序发送的命令,将根据此命令的命令执行结果通知上述应用程序的应用接口功能,用来在上述电子计算机具备控制上述设备的设备驱动程序时访问上述设备驱动程序取得输入信息的接口功能,用来在对上述输入信息添加有关上述访问时间的信息而把握上述操作时间并生成上述发送数据的数据处理功能,用来对上述第1网卡进行上述发送数据的收发的网络收发功能,以及用来受理和分析来自上述服务器的接收数据,向上述应用接口发送或执行上述服务器的命令的流程控制功能。
另外,上述数据处理功能可以包含用来对上述发送数据加密的加密功能,以及用来对上述接收数据译码的译码功能。
上述流程控制功能可以
在上述接收数据中有表示不能对上述用户进行个人鉴别的数据时,将停止、暂停或不鉴别的信息通知上述电子计算机的管理者。
上述输入装置可以是键盘。
上述操作时间是在按下上述键盘的键,在按下上述键之后松开上述键的操作的时间的信息,上述操作时间可以是在作为按下上述键盘的某一个键之后到松开该键为止的时间的第1时间,作为按下上述键盘的某一个键之后到按下下一个键为止的时间的第2时间,作为松开上述键盘的某一个键之后到按下下一个键为止的时间的第3时间,以及作为松开上述键盘的某一个键之后到松开下一个键为止的时间的第4时间之中选择的任何一个或一个以上的时间。
上述操作时间可以是操作上述键盘的功能键的操作时间。
上述个人鉴别功能可以是由利用神经网络方法的学习矢量量化法的学习步骤和识别步骤组成的。
上述学习步骤可以包含读入上述个人信息的第1步骤,生成表示上述个人信息的特征的特征矢量的第2步骤,学习上述特征矢量而求出作为最优的特征矢量的最优特征矢量的第3步骤,以及输出上述最优特征矢量的第4步骤。
上述第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步骤。
上述识别步骤可以包含读入在上述学习步骤中生长的最优特征矢量的第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为现有的OS和设备驱动程序的概念图。
图15为示出现有的设备驱动程序的流程图。
图16为取得现有的键操作数据的流程图。
图17为示出实施方式6的概要的示图。
图18为示出实施方式6的键的读取的时间间隔的示图。
图19为示出实施方式6的输入数据的示例的示图。
图20为示出实施方式6的学习部的程序的示例的流程图。
图21为示出实施方式6的识别部的程序的示例的流程图。
图22为示出实施方式6的识别结果的示例。
具体实施例方式
下面对本发明的实施方式进行说明。
(共用接口驱动程序)图1为示出本发明的电子计算机的接口驱动程序的实施方式的概念图,是利用共用接口驱动程序的OS的概念图。图2为示出传送数据时的数据及命令的流程的流程图。
电子计算机1由CPU、存储器、外围机器等的硬件2构成,由将这些硬件2存储到存储装置的OS3控制运行。最终用户使用的应用程序4的OS3在提供的环境中运行。在OS3中包含控制外围机器的设备驱动程序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),向各处理部发出指示(S5)。向设备驱动程序B发出数据接收请求(S6)。
设备驱动程序A接收从共用的接口驱动程序7发出的发送数据的请求(S7),向设备A发送(S8)。设备A接收发送数据的请求(S9),将数据发送到设备驱动程序A(S10)。设备驱动程序A,接收数据(S11),进行内部处理(S12),转送到接口驱动程序7(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 Client Driver部)20;数据处理部(具有加密部、译码部)19;AP接口部17;流程控制部25等;各个部分的大概功能如下。
数据获取部18是用来接收从作为键盘驱动程序的HID24发出的键盘15的操作数据,输入到共用接口驱动程序7的单元。AP接口部17提供应用程序4和共用接口驱动程序7之间的接口,接收应用程序4发出的参数设定及运行开始等的命令,进行分析,将运行参数传递到各处理部,对数据的收发状况进行监视。
数据处理部19是用来处理从数据获取部18接收的数据的加密、压缩、时间戳等的输入数据的。接收从数据获取部18输入的键盘操作数据,添加表示该输入时间的时间戳,经过AP接口部17发送到应用程序4或经过TDI客户驱动程序部20发送到网络。
TDI客户驱动程序部20提供LAN端口驱动程序21和共用接口驱动程序7的接口。LAN端口驱动程序21由协议驱动程序22和NDIS(网络驱动程序接口规范)驱动程序23构成,控制LAN端口16,进行传送网络数据时的连接确立和协议的控制。
协议驱动程序22控制传送网络数据之际的通信协议。NDIS驱动程序23提供协议驱动程序22和LAN端口16的接口。TDI客户驱动程序部20从数据处理部19接收打包(分组)数据并输出到协议驱动程序22。
流程控制部25是用来根据特定的命令控制数据获取部18,通过进行控制使从外部访问成为不可能的单元。上述特定命令也可以是来自应用程序4或网络。特别是,可用来防止非法访问。
下面参照图4的流程图对电子计算机11的个人鉴别用的应用程序4利用从键盘15输入的口令进行个人鉴别的步骤予以说明。
此流程图示出根据在用户模式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(或S113),进行键盘操作的数据的接收。
在数据处理部19中,对所接收的键盘操作数据的进行数据处理(S114)。在此数据处理中,进行表示作为应用程序4所必需的附加信息的键盘输入的时间等的时间戳处理或进行包括加密的必需处理。
于是,基于这些经过处理的数据生成用来向应用程序4发送的发送数据(S115)。此时,在处理数据长的场合,进行分割打包(S116)。流程控制部25,接收来自数据处理部19的发送数据(S117),分析该接收的数据(S118),传递到AP接口部17(S119)。
最后,AP接口部17,向应用程序4发送键盘操作数据(S120),在没有对来自应用程序4的请求进行监视(S121)的指示的场合,继续进行数据的获取(S121→S108)。在存在停止指示时,将该命令指示给各处理部17~20、25使处理结束(S122)。
图6为示出进行个人鉴别时的运行步骤的流程图。在用户个人鉴别时,利用在利用用户ID、口令等将其从键盘输入时的输入特征。此输入特征,是利用按下或松开键盘的键时的时间信息计算而求出的。由共用接口驱动程序7向确定键的信息添加时间戳。于是,将此时间信息传送到服务器,服务器在个人鉴别时从下述的第1~4时间内计算和利用一个或一个以上的时间(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时间为T1=B-A,第2时间为T2=C-A。这样,同样地,第3时间、第4时间分别为T3=C-B,第4时间为T4=D-B。
(实施方式2)下面示出利用内核模式的个人鉴别方法的实施方式予以说明。图5示出本实施方式2的系统的概要。用户利用的电子计算机11通过网络26与个人鉴别服务器28相连接。用户用来访问电子计算机11的键盘15、鼠标27等输入装置与电子计算机11相连接。另外,电子计算机11,具有用来与网络26相连接的网卡(未图示)。
上述的网络26,也可以是LAN或因特网等通信用的任何网络。在个人鉴别服务器28上运行个人鉴别的应用程序,控制电子计算机11的共用接口驱动程序7。因此,可以利用如TCP/IP这样的协议。个人鉴别服务器28,可以利用IP地址确定用户利用的电子计算机11,控制该电子计算机11的共用接口驱动程序7。
共用接口驱动程序7,按照个人鉴别应用程序的指示,使意欲减小非法访问的用户不可能访问。因此,具有停止从输入装置访问,限制从输入装置访问特定或全部应用程序的访问,或使整个电子计算机的系统变成锁定状态的功能。
个人鉴别服务器28具有存储媒体,存储有预先准备的数据库29。为了确定操作电子计算机11的用户是合法用户,个人鉴别应用程序将数据库29中的有关该用户的信息与从电子计算机11发送来的信息进行比较而确定。
为减小这一鉴别,至少需要有用户的姓名或预先赋予的ID,并且需要表示个人输入的特征的信息的口令。对于表示个人输入的特征的信息,需要用户持续按下键盘15的某一键的时间、按下某一键之后到按下下一个键为止的时间等。
下面参照图6所示的流程图对这些动作予以说明。电子计算机11动作(S150),存储于电子计算机11的存储媒体中的OS启动(S151)。通过预先设定由OS利用标准规格整理的网络功能的设定,经过网络26与个人鉴别服务器28相连接(S152)。
为了个人鉴别服务器28确定新连接的电子计算机11,个人鉴别应用程序进行该用户的鉴别,要求口令等(S153)。电子计算机11接收到此要求时,就向用户要求口令等。在用户输入口令等时,就将其发送到个人鉴别服务器28(S154)。个人鉴别服务器28接收到此口令等时,个人鉴别应用程序进行用户的鉴别(S155)。
个人鉴别应用程序,将电子计算机11发出的信息与个人鉴别服务器28的数据库29进行比较,进行用户的口令等是否正确的判定(S156),在判定是正式用户时,就发出用户可以访问电子计算机11的许可(S157)。
于是,接着,在线监视用户访问电子计算机11的要素(S158~159)。另外,只要经过口令核对,鉴别作业结束(S158~→结束)。
在在线监视时,等待规定的期间(S159、S160),利用共用接口驱动程序7生成字符的输入信息(S161),向个人鉴别服务器28发送有关此字符输入的信息(S162)。如果接收到从这一电子计算机11发送来的有关字符输入的信息,个人鉴别服务器28就进行个人鉴别(S163)。从而判断是否是合法的用户利用电子计算机(S164)。
在判断是合法用户利用时,接着等待规定时间直到下一次鉴别为止(S165→S159)。在判断是非法访问时(S166),就通知管理者(责任者)(S168)。另外,在S156的步骤,对口令等进行核对时,在口令等之中有错误时就不通过(S166),并通知管理者(责任者)(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时)。
下面参照图7、图8所示的流程图对示出本实施方式2的共用接口驱动程序7的运行予以说明。共用接口驱动程序7的构成与上述的图3所示的实施方式1相同,各个部分的功能也一样。下面利用在上述实施方式中描述的功能及与其添加的功能进行说明。
在电子计算机11动作,OS启动时,通过OS的初始设定或专用的应用程序的请求将电子计算机11与网络26上的个人鉴别服务器28相连接,请求通过网络26进行个人鉴别。这一请求通过OS提供的接口为共用接口驱动程序7的AP接口部17接收(S201)。
在对此个人鉴别服务器28的连接请求中包含与网络26连接所必需的各参数及运行开始命令等等。AP接口部17,通过流程控制部25,将这些网络参数传递给TDI客户驱动程序部20(S202)。TDI客户驱动程序部20进行与NDIS驱动程序23的连接处理(S203),并进行协议驱动程序22的网络参数的设定(S204)。
由此,由LAN端口驱动程序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)。
这样,从个人鉴别服务器28发出的指示,通过TDI客户驱动程序部20接收(S205~S207),以数据处理部19进行其译码处理(S208~S10),由流程控制部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,是用来对访问电子计算机的用户是否是合法用户进行监视的系统。在用户访问电子计算机时不需要登录就可以继续访问作业。但是,由个人鉴别服务器28经过网络26对电子计算机11进行监视。
个人鉴别服务器28具有监视用的监视程序和数据库29,对访问电子计算机11的用户是否是合法用户进行监视。此监视作业,与上述的上述实施方式2一样,是图6的流程图的S158~S170的步骤。在上述实施方式2中,在S170结束。
可是,可以不在S170结束,或是在一定期间内限制来自电子计算机11的访问,或是限制可以从电子计算机11访问的应用程序4。从而在经过一定时间之后再次重开S158的监视活动。
(实施方式4)如上述实施方式所示,在利用共用接口驱动程序7进行口令鉴别时,为了可以直接处理从键盘15输入的键操作信息,可以利用“退格键”、“左换档”、“右换档”等功能键进行口令鉴别。
比如,如果输入为“PIANO”、退格键(以下以BS表示)、退格键(以下以BS表示)、“NO”这样的话,结果看到的就是“PIANO”。历来,对输入“PIANO”“BS、BS”“NO”与直接输入“PIANO”是同样对待的。这是因为在口令鉴别时对BS等功能键不处理,只在修正输入差错时处理之故。
在口令鉴别中使用功能键时,由于输入“PIANO”“BS、BS”“NO”的历史记录与直接输入“PIANO”的历史记录不同,可以用作口令。将其与个人的输入特征组合就可以成为在进行个人鉴别时的强有力的个人鉴别。
(实施方式5)下面利用图11对利用加密/译码专用卡31的实施方式5予以说明。在本实施方式5中,利用作为其专用卡的加密/译码专用卡31进行电子计算机11的加密译码处理。电子计算机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可进行数据收发的LAN或因特网等的有线或无线的任何一种网络。
客户机201是至少具有键盘15和LAN端口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 Information Sciences,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) 对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经LAN端口驱动程序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)。在正确读入时,对特征矢量进行初始化(S405)。在特征矢量初始化中示出指定数目的特征矢量,利用随机数进行初始化。随机数的值在各类别的矢量的最大和最小值之间。
于是,开始学习。进行学习次数的初始化(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.一种使用基于网络的输入装置的输入特征的个人鉴别方法,其特征在于在使通过与网络连接的第1网卡以及与包含输入装置的多个设备相连接的由OS的运行的电子计算机、和具有用来与上述网络相连接的第2网卡以及存储由利用上述电子计算机的用户的个人信息组成的数据库的服务器的存储单元的服务器组成的网络系统中,上述电子计算机,在作为可执行上述OS的全部命令的运行模式的内核模式中取得上述用户操作上述输入装置的操作时间,将包含上述操作时间的输入信息利用上述第1网卡传送给服务器,上述服务器,利用上述第2网卡接收输入信息并进行分析而求得操作特征,将上述操作特征与上述个人信息比较而进行上述用户的个人鉴别。
2.如权利要求1所述的使用基于网络的输入装置的输入特征的个人鉴别方法,其特征在于上述输入装置是键盘,上述操作时间是采用在按下上述键盘的某一键时的第1时间信息或在按下上述键或其他键之后松开时的第2时间信息的时间信息。
3.如权利要求1或2中所述的使用基于网络的输入装置的输入特征的个人鉴别方法,其特征在于上述操作时间是在作为按下上述键盘的某一个键之后到松开该键为止的时间的第1时间,作为按下上述键盘的某一个键之后到按下下一个键为止的时间的第2时间,作为松开上述键盘的某一个键之后到按下下一个键为止的时间的第3时间,以及作为松开上述键盘的某一个键之后到松开下一个键为止的时间的第4时间之中至少一个的时间。
4.如权利要求1所述的使用电子计算机的输入装置的输入特征的个人鉴别方法,其特征在于上述个人鉴别使用作为神经网络方法的学习矢量量化法。
5.如权利要求4所述的使用电子计算机的输入装置的输入特征的个人鉴别方法,其特征在于上述学习矢量量化法,学习并求出表示由上述个人信息组成的教师数据的特征的特征矢量,上述学习,在上述特征矢量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)对k≠i,j0<σ(t)<1在式中更新上述特征矢量,求出包含上述操作时间的输入数据和与上述特征矢量的距离而识别上述用户。
6.如权利要求5所述的使用基于网络的输入装置的输入特征的个人鉴别方法,其特征在于上述输入装置是键盘,上述操作时间是在作为按下上述键盘的某一个键之后到松开该键为止的时间的第1时间,作为按下上述键盘的某一个键之后到按下下一个键为止的时间的第2时间,作为松开上述键盘的某一个键之后到按下下一个键为止的时间的第3时间,以及作为松开上述键盘的某一个键之后到松开下一个键为止的时间的第4时间之中选择的任何一个或一个以上的时间。
7.一种使用基于网络的输入装置的输入特征的个人鉴别程序,其特征在于在使通过与网络连接的第1网卡以及与包含输入装置的多个设备相连接的由OS的运行的电子计算机、和具有用来与上述网络相连接的第2网卡以及存储由利用上述电子计算机的用户的个人信息组成的数据库的服务器的存储单元的服务器组成的网络系统实现上述用户的个人鉴别用的个人鉴别程序中,上述个人鉴别程序,由电子计算机用程序和服务器用程序构成,上述电子计算机用程序是在上述用户利用上述输入装置向上述电子计算机输入时,在作为可执行上述OS的全部命令的运行模式的内核模式中取得上述用户操作上述输入装置的操作时间,利用包含上述操作时间的输入数据生成发送给上述服务器的发送数据,利用上述第1网卡向上述网络发送上述发送数据用的取得功能得以实现而使用的程序,上述服务器用程序是使上述服务器,利用上述第2网卡接收上述发送数据,分析上述输入数据求出上述用户操作上述输入装置的操作特征使用的分析功能,以及将上述操作特征与上述个人信息比较而进行上述用户的个人鉴别并使鉴别功能得以实现的程序。
8.如权利要求7所述的使用基于网络的输入装置的输入特征的个人鉴别程序,其特征在于上述取得功能包含用来接收由上述电子计算机运行的应用程序发送的命令,将根据此命令的命令执行结果通知上述应用程序的应用接口功能,用来在上述电子计算机具备控制上述设备的设备驱动程序时访问上述设备驱动程序取得输入信息的接口功能,用来在对上述输入信息添加有关上述访问时间的信息而把握上述操作时间并生成上述发送数据的数据处理功能,用来对上述第1网卡进行上述发送数据的收发的网络收发功能,以及用来受理和分析来自上述服务器的接收数据,向上述应用接口发送或执行上述服务器的命令的流程控制功能。
9.如权利要求8所述的使用基于网络的输入装置的输入特征的个人鉴别程序,其特征在于上述数据处理功能包含用来对上述发送数据加密的加密功能,以及用来对上述接收数据译码的译码功能。
10.如权利要求8所述的使用基于网络的输入装置的输入特征的个人鉴别程序,其特征在于上述流程控制功能在上述接收数据中有表示不能对上述用户进行个人鉴别的数据时,将停止、暂停或不鉴别的信息通知上述电子计算机的管理者。
11.如权利要求7或8所述的使用基于网络的输入装置的输入特征的个人鉴别程序,其特征在于上述输入装置是键盘,上述分析功能对作为按下上述键盘的某一个键之后到松开该键为止的时间的第1时间,作为按下上述键盘的某一个键之后到按下下一个键为止的时间的第2时间,作为松开上述键盘的某一个键之后到按下下一个键为止的时间的第3时间,以及作为松开上述键盘的某一个键之后到松开下一个键为止的时间的第4时间之中的至少一个时间进行计算。
12.如权利要求11所述的使用基于网络的输入装置的输入特征的个人鉴别程序,其特征在于上述操作时间是操作上述键盘的功能键的操作时间。
13.如权利要求7所述的使用电子计算机的输入装置的输入特征的个人鉴别程序,其特征在于上述个人鉴别功能是由利用神经网络方法的学习矢量量化法的学习步骤和识别步骤组成的。
14.如权利要求13所述的使用电子计算机的输入装置的输入特征的个人鉴别程序,其特征在于上述学习步骤包含读入上述个人信息的第1步骤,生成表示上述个人信息的特征的特征矢量的第2步骤,学习上述特征矢量而求出作为最优的特征矢量的最优特征矢量的第3步骤,以及输出上述最优特征矢量的第4步骤。
15.如权利要求13所述的使用电子计算机的输入装置的输入特征的个人鉴别程序,其特征在于上述第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或14所述的使用电子计算机的输入装置的输入特征的个人鉴别程序,其特征在于上述识别步骤包含读入在上述学习步骤中生成的最优特征矢量的第11步骤,读入上述输入数据的第12步骤,计算上述输入数据和上述特征矢量的距离的第13步骤,从上述第13步骤的计算结果确定最短距离的特征矢量的第14步骤,将上述第14步骤的上述最短距离的特征矢量的类别作为上述用户识别进行输出的第15步骤。
17.如权利要求7至10中任选一项中所述的使用基于网络的输入装置的输入特征的个人鉴别程序,其特征在于上述网络是因特网。
18.一种使用基于网络的输入装置的输入特征的个人鉴别程序的记录媒体,其特征在于在使通过与网络连接的第1网卡以及与包含输入装置的多个设备相连接的由OS的运行的电子计算机、和具有用来与上述网络相连接的第2网卡以及存储由利用上述电子计算机的用户的个人信息组成的数据库的服务器的存储单元的服务器组成的网络系统中,在用来使上述用户的个人鉴别实现的个人鉴别程序的记录媒体中,上述个人鉴别程序,由电子计算机用程序和服务器用程序构成,上述电子计算机用程序是在上述用户利用上述输入装置向上述电子计算机输入时,在作为可执行上述OS的全部命令的运行模式的内核模式中取得上述用户操作上述输入装置的操作时间,利用包含上述操作时间的输入数据生成发送给上述服务器的发送数据,利用上述第1网卡向上述网络发送上述发送数据用的取得功能得以实现而使用的程序,上述服务器用程序是使上述服务器,利用上述第2网卡接收上述发送数据,分析上述输入数据求出上述用户操作上述输入装置的操作特征使用的分析功能,以及将上述操作特征与上述个人信息比较而进行上述用户的个人鉴别并使鉴别功能得以实现的程序。
19.如权利要求18所述的使用基于网络的输入装置的输入特征的个人鉴别程序的记录媒体,其特征在于上述取得功能包含用来接收由上述电子计算机运行的应用程序发送的命令,将根据此命令的命令执行结果通知上述应用程序的应用接口功能,用来在上述电子计算机具备控制上述设备的设备驱动程序时访问上述设备驱动程序取得输入信息的接口功能,用来在对上述输入信息添加有关上述访问时间的信息而把握上述操作时间并生成上述发送数据的数据处理功能,用来对上述第1网卡进行上述发送数据的收发的网络收发功能,以及用来受理和分析来自上述服务器的接收数据,向上述应用接口发送或执行上述服务器的命令的流程控制功能。
20.如权利要求19所述的使用基于网络的输入装置的输入特征的个人鉴别程序的记录媒体,其特征在于上述数据处理功能包含用来对上述发送数据加密的加密功能,以及用来对上述接收数据译码的译码功能。
21.如权利要求19所述的使用基于网络的输入装置的输入特征的个人鉴别程序的记录媒体,其特征在于上述流程控制功能在上述接收数据中有表示不能对上述用户进行个人鉴别的数据时,将停止、暂停或不鉴别的信息通知上述电子计算机的管理者。
22.如权利要求18或19所述的使用基于网络的输入装置的输入特征的个人鉴别程序的记录媒体,其特征在于上述输入装置是键盘,上述操作时间是作为按下上述键盘的键的时间的按下信息,或作为松开上述键的时间的信息的松开数据,上述分析功能对作为按下上述键盘的某一个键之后到松开该键为止的时间的第1时间,作为按下上述键盘的某一个键之后到按下下一个键为止的时间的第2时间,作为松开上述键盘的某一个键之后到按下下一个键为止的时间的第3时间,以及作为松开上述键盘的某一个键之后到松开下一个键为止的时间的第4时间之中的至少一个时间进行计算。
23.如权利要求22所述的使用基于网络的输入装置的输入特征的个人鉴别程序的记录媒体,其特征在于上述操作时间是操作上述键盘的功能键的操作时间。
24.如权利要求18所述的使用基于网络的输入装置的输入特征的个人鉴别程序的记录媒体,其特征在于上述个人鉴别功能是由利用神经网络方法的学习矢量量化法的学习步骤和识别步骤组成的。
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或25所述的使用基于网络的输入装置的输入特征的个人鉴别程序的记录媒体,其特征在于上述识别步骤包含读入在上述学习步骤中生成的最优特征矢量的第11步骤,读入上述输入数据的第12步骤,计算上述输入数据和上述特征矢量的距离的第13步骤,从上述第13步骤的计算结果确定最短距离的特征矢量的第14步骤,将上述第14步骤的上述最短距离的特征矢量的类别作为上述用户识别进行输出的第15步骤。
28.如权利要求18至20所述的使用基于网络的输入装置的输入特征的个人鉴别程序的记录媒体,其特征在于上述网络是因特网。
29.如权利要求18所述的使用基于网络的输入装置的输入特征的个人鉴别程序的记录媒体,其特征在于上述数据库具有识别上述键的代码,按下或松开上述键的时间,表示上述按下或上述松开的识别,上述识别结果对上述每个用户生成结果文件,或对上述结果文件进行添加并保存于存储媒体中。
全文摘要
本发明的使用电子计算机的输入装置的输入特征的个人鉴别方法,其程序以及程序的记录媒体可以以正确的定时抽取电子计算机用户的键盘等的输入装置的操作时间。电子计算机(1),在用户利用键盘(15)输入时,在作为可执行OS(3)的全部命令的运行模式的内核模式(8)中取得用户操作键盘(15)的操作时间,利用网络(26)传送到个人鉴别服务器(28),在个人鉴别服务器(28)中,分析操作时间而求出操作特征,将操作特征与个人鉴别服务器(28)的数据库(29)的个人信息相比较而进行用户的个人鉴别。
文档编号H04L29/06GK1633649SQ0380384
公开日2005年6月29日 申请日期2003年2月17日 优先权日2002年2月15日
发明者小路幸市郎, 野崎隆 申请人:科学园株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1