CN100373285C - 在验证中的分布式处理 - Google Patents

在验证中的分布式处理 Download PDF

Info

Publication number
CN100373285C
CN100373285C CNB028297210A CN02829721A CN100373285C CN 100373285 C CN100373285 C CN 100373285C CN B028297210 A CNB028297210 A CN B028297210A CN 02829721 A CN02829721 A CN 02829721A CN 100373285 C CN100373285 C CN 100373285C
Authority
CN
China
Prior art keywords
user
equipment
server
client
smart card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB028297210A
Other languages
English (en)
Other versions
CN1705923A (zh
Inventor
T·P·陈
W·Y·姚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agency for Science Technology and Research Singapore
Nanyang Technological University
Original Assignee
Agency for Science Technology and Research Singapore
Nanyang Technological University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agency for Science Technology and Research Singapore, Nanyang Technological University filed Critical Agency for Science Technology and Research Singapore
Publication of CN1705923A publication Critical patent/CN1705923A/zh
Application granted granted Critical
Publication of CN100373285C publication Critical patent/CN100373285C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/22Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder
    • G07C9/25Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder using biometric data, e.g. fingerprints, iris scans or voice recognition
    • G07C9/257Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder using biometric data, e.g. fingerprints, iris scans or voice recognition electronically

Abstract

公开了身份验证系统和技术,其解决了在生物统计验证的处理中关于有限处理能力和智能卡技术的问题。通过在智能卡和计算机终端之间分配身份验证过程的处理,可以执行生物统计匹配过程中所涉及的复杂计算,以允许利用存储在智能卡上的生物统计参数进行检验。公开了用于用户验证的系统和技术,以及用于分布式处理的系统和技术。也描述了一种注册方法。

Description

在验证中的分布式处理
背景技术
在电子或其它远程业务中,由于没有实际联系,识别真正的用户是很困难的。例如,如果一个人想要通过互联网购买东西,很可能需要提供信用卡号码,但是不必要实际出示该卡来检验。然而,黑客可以很容易地获得所述号码,更不用说在流通中存在的为数众多的伪造信用卡。银行卡需要PIN号码(个人识别号码)来验证用户的身份。然而,在许多情况下,因为用户将PIN写在其卡上或者其它相关的地方,或者因为该PIN号码还可以通过欺诈手段获得,所以该PIN号码也可以很容易地获得。一些客户具有不只一个的银行帐户,因而,记得每天使用的各种PIN/密码的全部各种PIN号码是一个挑战。移动或电子商务的最重要的问题是如何识别“真正的”的客户,而不依靠任何复杂和棘手的机制来检验。生物统计是解决所述问题的最佳选择。
由于智能卡较小、便携并包含安全的计算平台,因此现今已经变成用于电子商务业务的普遍特征。利用智能卡的传统方式是在卡上存储和检验用户的PIN。例如,作为用于GSM移动电话的智能卡的一种形式的用户识别模块(SIM)卡,被用来存储所述用户的PIN号码和一些到移动台的接入安全代码。其同样也检验所述PIN号码。
利用智能卡技术来解决生物统计验证是合乎需要的。也就是说,代替或除了个人识别号码,允许利用用户的生物统计数据来验证。利用智能卡的困难在于有限的处理能力和该智能卡可用的存储,但是利用生物统计数据的验证技术经常需要大量的处理能力。任何一般的便携式安全计算和数据存储平台都面临类似的情况,其包括通用串行总线(USB)令牌、非接触式卡、多媒体卡、存储棒(memorystick)、安全处理器芯片和智能表。
美国专利5,767,504描述了一种具有许多用于检验和确认的区域的智能卡。所述区域由计算器和证书形成,并且不涉及生物统计模板。
美国专利6,012,049描述了一种用于金融交易系统的智能卡。访问保存在所述智能卡中的记录被分成3个或3个以上级别的层次。认识到所述系统可以结合生物统计和PIN来检验,但是所述是在该智能卡读卡机级别完成的。
美国专利6,052,690描述了一种用于智能卡的具有多重交互环境的相干数据结构的发明。所介绍的技术适于所述智能卡的不同的执行环境,并且介绍了一种方法来共享资源,以及通过多重应用定义共享数据的多重访问条件。然而,所述操作局限于所述智能卡的处理能力并且没有试图获得外部的附加资源。
美国专利6,157,966描述了一种连接到终端的智能卡,其还被连接到主机和/或网络。所述智能卡被配置成初始化与所述终端的通信,这使得该智能卡能控制所述终端、主机或者网络,并访问连接到该终端、主机或网络的资源。通信协议定义了这样的命令:利用异步或逻辑异步通信,所述智能卡可以发送并允许该智能卡进行通信。当所述通信速度缓慢时,所述方法不适于执行涉及许多命令的计算密集的任务。
美国专利6,182,892描述了一种指纹验证方法论,其中,具有信用卡形式因素的智能卡被用来传送指纹印记给指纹辨识(live-scan)设备。所述智能卡主要被用于存储所述指纹,而其处理方面很少提及。
美国专利6,199,114描述了利用智能卡在互联网终端初始化用户会话的方法和系统。所述互联网终端耦合到服务器系统。所述互联网终端检测智能卡的存在,在该智能卡中存储了唯一的智能卡标识符,并利用该标识符来找到所述服务器的特定用户的相关配置信息。配置信息可以包括所定义的客户环境或用于定制所述互联网终端的操作的客户优选,所述操作例如是下列类型:所述互联网终端上的屏幕键盘类型、所述互联网终端所使用的用于显示文本的字体、背景音乐选项和电子邮件选项。这不涉及所述智能卡的安全和身份验证。
美国专利6,226,744描述了一种通过网络验证用户的方法和装置,所述网络具有客户计算机和服务器计算机,并且该客户计算机具有智能卡和智能卡读卡机。所述客户机发送请求到所述服务器,以访问该服务器所存储的限制信息。所述服务器发送智能卡接口模块到所述客户机。所述服务器请求来自所述用户的访问代码,以访问所述智能卡。一旦所述服务器接收了所述访问代码,则该服务器利用程序和访问代码来访问存储在所述智能卡上的用户信息。所述服务器比较所述用户信息与该服务器可用的验证信息,而不是所述客户机可用的验证信息。如果所述用户信息与验证信息匹配,则所述服务器就授权所述客户机访问限制信息。所述访问代码不是生物统计的一部分,并且不涉及所述生物统计信息的处理。
发明内容
本发明一方面的目的是利用生物统计并且在例如智能卡的用户出示(userpresented)的设备进行处理,来增加身份验证的安全性。
本发明另一方面的目的是解决与智能卡的有限处理能力相关的问题,来处理生物统计验证。
本发明另一方面的目的是提供一种穿过不止一个处理器来分配任务处理的技术,以允许优先使用所述处理器中具有较高处理能力的那个。
根据本发明的一个方面,提供了这样一种方法:根据呈现在验证设备处的用户的生物统计参数,在用户出示的设备上验证用户,在该用户出示的设备上存储了被分成安全部分和开放部分的生物统计识别模板,所述方法包括:将来源于所述验证设备的所述用户生物统计参数的数据传送到客户终端;仅将存储在所述用户出示的设备上的所述生物统计识别模板的开放部分传送到所述客户终端;在该客户终端,在所述数据和所述部分之间执行身份验证过程的第一阶段,并将所述验证过程的结果传送给所述用户出示的设备;以及在该用户出示的设备,利用所述结果执行第二阶段来完成所述身份验证过程,并基于其发布验证结果。
所述第一阶段的结果可以直接或通过所述验证设备被传送到所述用户出示的设备。
本发明的另一方面提供一种根据所述用户的生物统计参数来验证用户的系统,该系统包括:用户出示的设备,其上存储有被分成安全部分和开放部分的生物统计识别模板,其中,只有所述开放部分可以被传送出所述设备;验证设备,可操作用来读取来源于用户的生物统计数据,并且包括与所述用户出示的设备和客户终端进行通信的装置;客户终端,被安排接收存储在所述用户出示的设备上的所述生物统计识别模板的开放部分,以及来源于所述用户的生物统计数据,并且包括客户处理器,可操作该客户处理器在所述数据和所述部分之间执行身份验证过程的第一阶段,并将所述身份验证过程的结果传送到所述用户出示的设备,并且其中,所述用户出示的设备包括设备处理器,可操作该设备处理器来执行第二阶段以利用所述结果完成所述身份验证过程,并基于其发布验证结果。
所述验证设备和用户出示的设备可以是物理上分离的设备,或作为单单个物理单元,其中,所述用户出示的设备仅仅是该单个设备的过程或内部专门的部分,所述单个设备能够进行高安全性处理并与形成所述验证设备的一般处理单元分离。例如,该单个设备可以是ASIC芯片,其中,所述用户出示的设备是安全的处理器模块,而该芯片的剩余部分是所述验证设备。
如果所述验证设备具有足够的处理和存储资源,则所述客户终端和验证设备也可以是分离的设备或单个物理单元。在后者的情况下,在所述客户终端和该验证设备之间不存在区别。
本发明的另一方面提供了一种方法,其根据所述验证设备所呈现的用户生物统计参数来进行用户的注册,所述方法包括:将来源于在所述验证设备获得的用户生物统计参数的数据传送到被授权的客户终端;在所述被授权的客户终端,将所计算的生物统计识别模板分成安全部分和开放部分,从所述被授权的客户终端向用户出示的设备传送生物统计识别模板的开放部分和安全部分,将由开放和安全部分组成的模板存储到所述用户出示的设备上,并且仅可以在该用户出示的设备内部而不是外部访问所述安全部分。
此处所讨论的特定生物统计参数是指纹,但是应该知道,本发明可以应用于任何适当的生物统计参数。另外,此处所讨论的特定的用户出示的设备是智能卡,但是应该知道,本发明可以应用于任何一般的便携式安全计算和数据存储平台。
本发明的另一方面提供一种利用第一和第二处理器执行操作的方法,该方法包括:将包含具有相关过程标识符的许多过程名的第一任务表存储在所述第一处理器中,每个都与过程定位器相关;将包含所述过程名和过程标识符的第二任务表存储在所述第二处理器中;在所述第二处理器识别将要执行的过程,并向所述第一处理器发布请求以执行该过程;利用过程定位器来定位所述过程,并在所述第一处理器执行所述过程以产生结果;将该结果返回到所述第二处理器。
本发明的另一方面提供一种处理系统,其包括:第一处理器,其中存储了包含许多过程名和过程标识符的第一任务表,每个都与过程定位器相关;第二处理器,其中存储了包含具有相关过程标识符的所述过程名的第二任务表;所述第二处理器包括分布式对象执行管理器,用来识别将要执行的过程并向所述第一处理器发布请求以执行该过程;以及所述第一处理器包括客户分布式对象执行管理器,用来控制所述第一处理器的所述过程的执行,在所述第一处理器所执行的过程的执行结果被返回到所述第二处理器。
当所述第二处理器比所述第一处理器具有明显更小的处理能力时,或者当所述第二处理器将其处理能力用于其它应用并且所述第一处理器是安全的和可信赖的时,本发明是有益的。
本发明的所述方面的特定应用允许穿过客户终端和智能卡分配指纹验证过程。
因而,下文所讨论的本发明的实施例解决了处理生物统计验证过程中关于智能卡技术的有限处理能力的问题。当前,智能卡具有有限的RAM(小于2k字节)、EEPROM(小于64k字节)和处理能力。通过利用PC作为协处理器来处理涉及一部分指纹匹配过程的复杂计算,可以利用存储在智能卡上的生物统计参数来进行检验。存在下文所描述的、用来保护电子或移动商业交易的安全验证协议。应该明白,整个方案可以用于任何便携式计算设备以执行安全验证交易。
在所描述的实施例中,由于存储在智能卡中的完整指纹模板(或其它生物统计模板)没有从智能卡中被传送,因此增加了所述系统的安全性。在优选的实施例中,所述用户的身份以唯一的个人识别号码的形式被传送到外界,该个人识别号码包括所述生物统计匹配的结果。
特别地,在通过例子的方式对优选实施例所进行的特定描述中,更详细地讨论了下列元素。
协议
安全指纹匹配协议已经发展到将指纹模板的一部分从智能卡传送到客户终端。这避免了将整个模板从智能卡传送到PC的需要,其由于暴露了人的指纹模板而构成了安全风险。所述智能卡中的指纹模板被分成安全部分和开放部分。在任何情况下,所述安全部分总是存在于所述智能卡中。只有所述指纹模板的开放部分从智能卡被传送到所述客户终端,并且所述被传送的模板的开放部分不足以用来构造伪模板以获得对该智能卡的访问。
同样,讨论了安全指纹智能卡启动交易协议,其可以防止任何试图闯入事务服务器(transaction server)以进行非法访问的入侵者。由于所有交易需要通过存储在所述智能卡上的指纹启动事务applet(小应用程序)(transaction applet),因此所述智能卡成为所述交易的物理密钥。
负载分担
通过穿过所述智能卡的处理器和所述客户终端的处理器来分配所述指纹验证处理,该智能卡的负载被减小了。因此,不必使用具备强大计算资源的、可能昂贵的智能卡来执行具有高检验准确度的卡上匹配。同样,可以确保所述客户终端是可信赖的和安全的,并且执行所述指纹验证处理的代码是安全的。
用户识别号码
提供了一种能够在每次使用时改变的唯一的用户识别号码。用户无须记得所述识别号码。仅仅发布公司的系统和所述用户的智能卡具有所述用户识别号码的副本。所述用户依靠另一个个人识别号码或生物统计数据来合成用户识别号码,以确定授权对交易的访问。
分布式远程执行管理器协议
所述协议允许穿过第一和第二处理器并行处理将要执行的操作,所述第一和第二处理器特别是智能卡和客户终端。这克服了智能卡或其它移动设备具有有限处理能力的问题,即一些例如指纹匹配的计算密集的技术将费时太久而无法在智能卡上执行。与具有更强计算能力的客户终端的负载分担加速了所述过程。所述协议不但可以在智能卡上执行,也可以在包括个人数字助理在内的任何具有有限处理能力的设备上执行。
附图说明
为了更透彻地理解本发明并说明如何实现本发明,可以结合附图参考相应的例子,其中:
图1是验证系统的示意图;
图1A是智能卡的示意图;
图2是在客户终端和智能卡之间执行匹配的数据流图;
图3是用于执行商业交易的消息流的示意框图;
图4说明了安全访问核对密钥的格式;
图5是多重处理单元的简化结构图;
图6说明了任务表;
图7说明了用于分布式计算的简化结构;
图7A说明了用于初始化所述任务表的程序的流程图;
图8示出了Initialization_Of_Object命令的格式;
图9示出了命令串的格式;
图10示出了返回参数的格式;
图11示出了堆栈的格式;
图12是具有单个客户处理器的多重远程设备的示意图;
图12A是用于初始化软件对象及其成员函数的程序的流程图;
图13示出了用于对象与函数ID的编码格式;
图13A是说明用于负载分担指纹匹配操作的程序的流程图;
图14示出了一个包括多重处理单元的系统;
图15说明了分布式对象执行管理器桥的结构;
图16是在分布式对象执行管理器桥中的任务表的例子;
图17示出了多重服务器环境中的对象标识符的格式;
图18是网络执行管理器的示意框图;
图19是远程设备中的分布式对象执行管理器的示意框图;
图20是客户终端的分布式对象执行管理器的框图;
图21是桥中的分布式对象执行管理器的示意框图;以及
图22是执行管理器的示意框图。
具体实施方式
下面描述了一种用于安全的电子和移动商业交易的方案。图1示出了一个实施例中的组件的连接。所述方案由智能卡读卡机1、本地客户计算机2、网络连接4、安全服务器5和事务服务器计算机6组成。在讨论所述交易的方法之前,将定义所有涉及的项目和使用的术语。所述智能卡读卡机1是用于在智能卡1a和所述本地客户计算机2之间通信的硬件设备。所述本地客户计算机2是用于将所述用户连接到所述服务器6以执行交易的终端。所述终端2可以是PC、PDA或具有嵌入式通信设备的手提式计算机。所述网络连接4是在所述客户机2和服务器6之间通信的方法,并且包括可以是无线或有线的连接链路1,其提供基于局域网或广域网4的通信。无线连接可以是利用GSM、IEEE802.11b无线LAN、蓝牙或者红外线数据通讯标准的IrDA。有线连接可以是利用以太网、RS-232C、IBM令牌环等等。所述安全服务器5针对入侵者保护所述事务服务器6的安全并管理所述用户的文件夹。所述事务服务器6是执行全部实际商业交易的服务器。所述事务服务器6的位置可以在所述安全服务器5或分离服务器6的后面,所述安全服务器5由该安全服务器的防火墙7来保护,所述分离服务器6由本地防火墙7和8来保护。如何启动所述防火墙的细节将在后文讨论。所述智能卡读卡机1被连接到所述本地客户计算机2,例如通过标准RS-232C或USB链路。所述链路本身没有任何数据加密。所述智能卡1a和所述客户计算机2进行加密以隐藏信息。本实施例中的智能卡1a包括Java卡、可执行Java字节代码(Java ByteCode)的智能卡。参考图1A,所述智能卡1a具有存储器10,其存储了下列信息:
(a)本地匹配applet
(b)客户匹配applet
(c)所述安全服务器的URL(统一资源定位码,uniform Resource Locator)
(d)事务applet
(e)用于比较SACK的安全applet
所述存储器10同样存储了所述智能卡的授权用户的指纹识别模板11。所述智能卡1a也具有用于执行所述智能卡1a上的代码的处理器13。
所述本地匹配applet(a)是压缩可执行程序,例如可以运行在智能卡1a上的Java字节代码。所述客户匹配applet(b)是另一个附加的可执行程序,例如可以在客户计算机2中执行的Java字节代码。所述客户匹配applet(b)可以被存储在所述智能卡的存储器10中。然而,对于一些具有有限存储器的智能卡,所述客户匹配代码的尺寸可能过大了。作为替代,提供了可以获得用于所述客户匹配applet的代码的安全服务器的URL(c)。URL(c)对于所述客户访问互联网以到达所述服务器并且下载代码是必需的。无论客户在何处下载客户匹配代码,该客户应该总是核对所述Java字节代码的完整性。所述事务applet(d)执行实际的商业交易。启动所述事务applet的唯一方式是通过本地匹配applet。在下面的详细描述中,一旦所述本地匹配applet已经确认了所述用户的指纹是有效的,则其将安全启动代码发送到所述智能卡的内部防火墙,以允许所述事务服务器6进行商业交易。所述事务服务器6如何执行商业交易的细节将在下面讨论。
指纹传感器3捕获所述指纹的图像,并将其发送到所述客户计算机2。所述客户计算机2处理所述图像并构造指纹模板。所述指纹模板包含允许唯一识别该指纹的指纹特征的关键信息。所述客户匹配applet(b)和本地匹配applet(a)比较来自该传感器3的模板和存储在智能卡1a上的模板11。比较的结果生成了指出在所述指纹模板之间的匹配度的相似级别,一个模板有效获得自所述指纹传感器3并且另一个存储在所述智能卡1a中。
链路1是到所述LAN与WAN4的有线或无线的连接。所述LAN与WAN
4通过所述防火墙7、8连接到服务器5、6。所述安全服务器5和事务服务器6可以在相同或不同的服务器机器中实现。如果两个服务器都被安装在相同的机器上,则仅需要一个防火墙。否则,每个服务器将有其自己的防火墙。链路4是在所述安全服务器5和事务服务器6之间的可选的网络连接。如果两个服务器在所述LAN4中都处于相同的子网且信任关系已经建立,则所述通信可以是通过LAN4的直接连接。然而,当信息通过该WAN4,需要加密和错误检测方案来分别避免任何信息暴露和通信错误。
所述客户计算机2访问所述安全服务器5,并获得用于身份检验的所有必要成分。所述客户匹配applet(b)可以从所述安全服务器或从所述智能卡1a下载到所述客户计算机2。一旦所述客户计算机2具有全部的指纹检测和匹配成分,用户可以着手选择检验的组合。
1)仅仅指纹
2)仅仅PIN(识别号码或密码)
3)指纹+PIN
4)仅仅其它生物统计
5)其它生物统计+指纹
6)其它生物统计+指纹+PIN
其它生物统计可以是手写识别、面貌识别、视网膜扫描或其它适当的生物统计标识符。所述事务服务器6可以基于所选择的组合来调整置信指数(confidentindex),以控制所述用户的访问限制来执行交易。所述发布者可以为生物统计的每个类型分配准确度级别。下列等式是在使用指纹和PIN的情形下,使用置信指数来计算该匹配分数的例子。
Cl=FM*K1+PIN----(1)
Cl:置信指数
FM:指纹匹配分数(从0到100)
K1:系数
PIN:PIN分数
所述PIN分数或是50(正确的PIN)或是0(不正确的PIN)。如果K1等于0.5,则Cl的范围是从0到100。对于低安全性应用,门限值分数可以被设置成低于50。因此,可以访问所述系统的用户具有正确的PIN或者有效的指纹。对于高安全性应用,门限值可以被调整到大于50。这样,所述用户将兼备有效的指纹和PIN号码以访问所述事务服务器6。
注册
在所述用户能够使用所述智能卡执行检验以前,该用户将把指纹注册在该智能卡上。图1示出了所述执行交易和指纹验证的系统。注册不涉及任何交易。因此,可以除去到所述事务服务器的链路3。智能卡读卡机1、智能卡1a、客户终端2和指纹传感器3是注册所必需的。由于所述安全服务器应当记录下新用户的信息,因此到该安全服务器的连接也是必需的。被授权的客户终端2必须被用于安全注册。所述用户在所述指纹传感器呈现指纹。所述传感器捕获所述生物统计参数,并将该参数传送到所述客户终端2。所述客户终端2构造具有安全部分和开放部分两个部分的指纹模板。所述客户终端2将模板的两个部分加载到所述智能卡1a上。包含关键信息的安全部分被存储在所述用户出示的设备中,且所述部分决不会从该设备被发送出去。包含较少关键信息的开放部分以压缩的形式被存储在所述智能卡1a上。一旦所述客户终端2完成由开放部分和安全部分组成的模板的处理,其将加载所述用户信息到所述智能卡1a和安全服务器5上以达到记录的目的。
用于智能卡上的指纹匹配的协议
在2000年7月西班牙巴塞罗那的第15届国际模式识别大会Proc.ICPR2000上XD Jiang、WY Yau的“Fingerprint Minutiae Matching Based on the Local
and Global Structures”中所公开的指纹匹配算法适于用在本方案中。所述算法被分成两个阶段-本地阶段和全局阶段。所述本地阶段运用指纹细目的子集(即在先前提到的开放部分),在用户出示的指纹中的细目和被存储的模板11之间建立对应。一旦发现充分的对应,则计算这样的转换函数:将该用户出示的指纹中的细目映射到所述被存储的模板的细目的子集。所述转换函数接着利用所述细目对准所述两个模板。然后执行全局匹配以确定所查询的指纹类似于被注册的指纹的置信度。所述算法自然适合于分布式或客户-服务器处理。如前面部分所述,所述手指匹配过程被分成两端:智能卡1a端和客户计算机2端。两端相互合作执行所述匹配过程。所述客户计算机2计算全部预处理参数,并重新对准来自所述客户计算机2端和所述智能卡1a端的模板。然后所述客户计算机2将其传送给所述智能卡1a以执行最后的匹配。以所述方式匹配指纹模板的理由是:
1)更好的验证安全性,这是因为原始的注册模板11从不向公众泄露而仅仅是细目的子集。
2)通过利用所述客户计算机2的处理能力增加匹配速度,来增加智能卡1a处理器十分有限的处理能力。
3)因为智能卡1a固有的高安全特性,黑客决不能使用任何软件方法来察看存在该智能卡1a中的匹配程序。
图2示出智能卡1a上执行匹配的过程。全部的箭头指出数据流的方向。下面叙述了每个箭头的说明:
A)客户计算机2(PC)计算从所述指纹传感器3处获得的指纹模板(步骤S1)。
B)在初始化后(步骤S2),智能卡1a为PC发送部分细目的基本信息(步骤S3),以计算匹配系数(加密信息)(步骤S4)。
C)PC请求来自所述智能卡1a的最多九个潜在细目的坐标(coordinate)。所述细目被用来对准所述两个模板,以使其在相同的坐标空间。
D)智能卡1a向PC发送细目(最多九个细目)的加密坐标(步骤S5)。
E)PC对准模板(步骤S6),并向智能卡1a发送所对准的输入指纹模板和匹配系数。
F)智能卡1a接收模板和匹配系数,计算匹配结果(步骤S7),并发送确认信号到PC,该确认信号确认了模板匹配的结束(步骤S8)。
由于所述远程计算(即在客户终端2)仅被用于对准所述两组细目,即使不具有用于对准的最多九个细目的全部细目信息,也不影响实际的全局匹配过程本身,因而所建议的分布式处理不管怎样也不会危及所述指纹匹配的安全性。
指纹-智能卡启动交易协议
一旦所述智能卡1a结束了匹配结果的计算,该智能卡1a依靠确认信号,通过所述客户计算机2来通知所述安全服务器5,并请求来自所述服务器5的安全访问核对密钥(SACK,SecurityAccess Check Key)。所述SACK用来允许所述匹配applet(a)激活所述智能卡1a上的事务applet(d)。所述SACK代码是一个具有时间标记(stamp)的UIN(唯一个人识别号码,Unique PersonalIdentification Number)。所述SACK密钥的细节将在下面讨论。图3示出了系统如何执行交易的消息路径。下列顺序示出了利用所述SACK来启动事务applet(d)的方法。
(1.1)匹配applet(a)通知所述安全服务器5所述匹配过程已经结束(路径15)。
(1.2)所述安全服务器5在所述智能卡1a和事务服务器6(路径12)上将SACK密钥发送到所述匹配applet(a)。
(13)一旦所述匹配applet(a)接收所述SACK(路径14),其将匹配分数增加给SACK(下面的等式2)。
(1.4)所述匹配applet(a)在内部将SACK传送到所述事务applet(d)(路径16)。
(1.5)所述事务applet(d)解码SACK以核对所述匹配分数。如果验证成功(即该分数高于安全门限值),则该applet(d)将自身转换到交易启动状态,否则(即该分数低于安全门限值),所述事务applet(d)将立即中止自身,并通知所述卡管理器处理该安全异常。路径18是执行所述交易的消息路径。
SACKMatching applet::UIN=SACKSecurity Server::UIN+Matching Score...(2)
注解:符号′::′的意味着...的成员。因此,SACKMatchingapplet::U I N意味着所述SACKMatching applet的UIN域。
到目前为止,除由所述安全服务器5发布的SACK密钥以外,已经在所述智能卡1a的核心内完成了用于事务applet(d)的全部安全启动过程。所述外部客户计算机2仅仅执行一些用于所述匹配计算的辅助。最后的匹配结果、安全启动代码和事务applet(d)激活在所述智能卡1a上被完成;没有任何信息被发送到所述客户计算机2。所述客户计算机2的角色正是所述服务器和智能卡1a之间的通信桥,并作为用于所述智能卡1a的协处理器。最后决定还取决于所述智能卡1a上的匹配结果。如果过程(1.5)中的安全applet(e)中止自身并引起安全异常,则该applet(e)将通知所述卡管理器处理该安全异常。所述卡管理器中止到所述安全applet(e)的全部交易,并通过抛出安全异常来通知所述客户计算机2。当然,所述客户计算机2有能力处理所述异常。如果所述客户计算机2从所述智能卡1a接收到该异常,则该客户计算机2将执行该安全异常处理例程来将所述错误报告给所述用户以及事务服务器6。所述事务服务器6终止所述交易并报告给管理员以获得进一步指示。
一旦所述事务applet(d)已经启动,所述事务服务器6将执行商业交易。例如,用户想支付$100到信用卡公司。下列过程可用于执行商业交易。将为该交易建立双向通信信道(路径18)。
(2.1)所述客户计算机2通过路径18发送购买请求和交易量($100)到所述事务服务器6。该客户计算机2同样也发送该交易量到所述智能卡1a。
(2.2)所述事务服务器6发送具有新的时间标记的SACK密钥到所述智能卡1a。
(23)智能卡1a的事务applet(d)比较该SACK密钥,并核对所述时间标记(一个来自于匹配applet,另一个来自于事务服务器6)。
(2.4)如果两个密钥是一样的,同时该时间标记在时间期限之内,则所述applet(d)将扣除来自所述智能卡1a($100)的值。然后,该applet(d)通知所述事务服务器6该交易已经成功完成。
(2.5)如果两个密钥是无效的,或所述时间标记超出时间期限,则所述事务applet(d)发送交易失败消息。所述事务服务器6放弃该交易并立即通知管理员。
(2.6)如果所述交易从智能卡1a接收了交易成功的消息,则其将与信用卡公司着手进行实际交易,以存款$100到该信用卡公司的帐户。此刻,所述用户已经以电子交易的方式支付了$100到该信用卡公司。
在过程(2.2),所述SACK密钥事实上是来自如上所述的安全服务器5的。仅有的差异是其具有新的时间标记但是没有匹配分数。在过程(2.3),检验所述SACK密钥的方法是通过检测来自该SACK的UIN域。由于两个密钥都来自于安全服务器5,因此除所述匹配分数之外其还应当具有一样的UIN密钥。因此,检验所述UIN密钥的方法是:
SACKMatching applet::UIN-SACKTransaction Server::UIN=Matching Score....(3),if so
SACKTransactionServer::U I N=SACKSecurityServer::U I N....(4)
在所述智能卡1a上的事务applet(d)执行两个密钥的减法。所述结果应当是匹配分数。否则,每一个密钥或两个密钥都是无效的。时间标记域指出登录或执行交易的时间。等式5计算在登录和交易之间持续的时间。
Duration=SACKTransaction Server::TimeStamp-SACKMatchingApplet::TimeStamp...(5)
如果在登录时间(SACKMatchingapplet::TimeStamp)和交易时间(SACKTransaction Server::TimeStamp)之间的持续时间比时间期限长(例如5分钟),则该事务applet(d)放弃所述交易,并将错误信息发送回事务服务器6。这样,用户需要再次登录以继续该交易。
唯一个人识别号码和SACK
由于所述SACK是用于允许所述安全applet(e)启动事务applet(d)的密钥,因此其是允许该事务applet(d)执行交易的唯一密钥。为此,在这里也提出了唯一个人识别号码(UIN)。
对于每个人,为他分配唯一个人识别号码(UIN),但是他不用知道也不用记得该UIN。所述UIN将是随机生成的。所述UIN还可以包括这样的号码:其能够识别所述发布公司和所使用的生物统计系统。另外,获得了人的生物统计,例如他的指纹。已经解释过,该人可以通过向指纹检验系统呈现其手指来使用他的指纹验证其身份,在此之前,他已经注册过所述服务。所述指纹检验系统于是将生成对应该人与在所述系统中已经注册的人是否是同一人的置信等级的数值。换句话说,所述指纹检验系统生成该人是其声称的那个人的确认级别,称为匹配分数。当所述数值被增加给所述UIN,新的号码被称为生物统计识别号码(BIN)。该人是其声称的那个人的对应100%置信的最大可达到的匹配分数(AMS)可以是任何数值,不必是100,例如10,000。同样地,最小匹配分数(IMS)也可以分配给所述系统。为了增加安全性,时间标记和随机密钥被增加到所述密钥。图4说明了所述SACK密钥的格式,其中它的域如下:
A1:置乱函数密钥
A2:随机密钥
A3:时间标记
A4:UIN
CS:核对总和
其中,A1是置乱函数密钥,A1不被编码。A1被用来选择哪个置乱函数(例如移位、旋转、增加常数等)和位或字节与哪个数据类型相关,以便为了安全而置乱下列域(A2-A4)。在前面部分中已经讨论过,A2和A3分别是随机密钥和时间标记。CS是整个密钥的核对总和以避免任何传输错误。A4是UIN。
下面示出了UIN的例子:
唯一个人识别号码:2345678988011009
最大匹配分数:10000
最小匹配分数:2500
最大BIN:2345678988011009+10000=2345678988021009
最小BIN:2345678988011009+2500=2345678988013509
由于用户不知道所述UIN,因此BIN将同样不为用户所知。同样地,所述用户也不必记得所述号码。所述UIN将被公司的计算机存储介质保存,例如,发布该UIN和用户的安全服务器5。例如,当用户想使用所述系统时,他将注册该服务,他的例如指纹的生物统计将被获取。所述发布公司将所述UIN和指纹模板存储在智能卡1a上,接着将该智能卡1a给所述用户。为了更安全,所述UIN可以在每次使用系统时被改变。为了每次改变所述UIN,所述安全服务器5和远程客户机(智能卡1a或客户计算机2)应当具有安全applet(e)或过程,以管理该UIN的改变。所述服务器发送新的加密UIN到所述远程客户机。所述客户机解密该UIN并将其附加到旧的UIN中。所述消息长度的上半部分是旧的UIN并且下半部分是新的UIN。一旦所述交易完成,则所述UIN的上半部分将被删除,并且该UIN的下半部分将被转移到上半部分以用于下一个交易。以下的例子示出了如何生成和利用UIN:
接收的号码:2345678988011009
当前UIN:23456789
下一个UIN:88011009
最大匹配分数:10000
最小匹配分数:2500
最大当前BIN:23456789+10000=23 466 789
最小BIN:23 456 789+2500=23 459 289
在下一个过程中,假定接收到的号码是8 801 100 977 123 456
当前UIN:88 011 009
下一个UIN:77 123 456
在安装了新的设备或者是新用户的情况下,可以使用例如null UIN(空UIN)的复位代码来复位UIN。依据该复位,所述UIN将被所述客户机和安全服务器5忽略,且该客户机将使用新的UIN,该新的UIN来自于所述安全服务器5所生成的新的SACK。
利用生物统计的用户识别过程
当用户试图访问系统时发生下列过程。
(3.1)用户插入所述智能卡1a到所述读卡机1中。
(3.2)所述客户计算机2提示密码或个人识别号码(PIN)。
(33)该用户在该客户计算机2输入其密码或PIN。
(3.4)客户计算机2提示指纹。
(3.5)用户将其手指置于所述传感器3上。
(3.6)客户计算机2获得所述指纹并提取所述指纹模板。
(3.7)客户计算机2给所述智能卡1a提供所述PIN和指纹模板。
(3.8)智能卡1a匹配所述指纹和其存储的模板11。
(3.9)匹配applet(a)请求来自所述安全服务器5或来自所述智能卡1a的UIN。
(3.10)如果获得的匹配分数是有效的(即获得的匹配分数在IMS(最小匹配分数)和AMS(最大匹配分数)之间),则该获得的匹配分数将被加到UIN,以获得所述生物统计识别号码(BIN)。
例子:获得的匹配分数=4500
BIN=2 345 678 988 011 009+4 500=2 345 678 988 015 509
(3.11)如果所述指纹匹配低于IMS或高于AMS,则高于AMS的随机数值将被加到UIN,以获得BIN。
例子:获得的匹配分数=100
生成的随机匹配分数=18000
BIN=2345678988011009+18000=2345678988029009
(3.12)智能卡1a将合并所述PIN和BIN,对其加密并将其发送到所述客户计算机2,该客户计算机2然后将其发送给所述事务服务器6。例如用户名等的其它信息也可以被包括在所发送的消息中。所述事务服务器6同样也可以计算所述SACK密钥。
(3.13)所述事务服务器6将匹配所述PIN,并减去来自所述BIN的UIN以获得匹配分数(MS)。存在如下6个可能的情况:
a)PIN匹配,并且MS在可能的分数以内(IMS<=MS<=AMS)
b)PIN匹配,但是MS超出了可能的分数
c)PIN不匹配,但是MS在可能的分数以内
d)PIN不匹配,并且MS超出了可能的分数
e)PIN匹配,并且MS=0
f)PIN不匹配,并且MS=0
(注解:如果所述事务applet(d)没有启动,则意味着来自所述智能卡1a端的登录失败,并且所述交易在这里被终止。)
(3.14)根据上面的结果,可以做出相应的决定。
例子:对于情况(a),授权全部访问
对于情况(b),授权有限的访问(或用户重试)
对于情况(c),授权有限的访问(或用户重试)
对于情况(d),智能卡1a被保留。
对于情况(e),当做具有密码保护的信用卡来处理。
对于情况(f),当做正常的信用卡来处理。
(3.15)所述事务服务器6然后将发送该决定到所述智能卡,智能卡将遵照获得的决定行动。
所述UIN可以包括识别所述组织的标识符,例如银行代码。同样地,所述UIN可以包括来自不止一个的生物统计参数的验证结果,并包括所使用的生物统计类型和生物统计系统提供者。另一个选择是将所述号码作为报头或脚注附加到所述加密消息。号码不必被加密。
将所述标识符代码包括到所述生物统计系统具有下列优点:
1.发布所述智能卡的公司不必依赖于单个生物统计系统提供者。任何遵守该发布公司指定协议的智能卡都可以使用。
2.所述用户可以选择其满意的生物统计。
3.所述发布公司不必明了全部所使用的生物统计,并在所述服务器执行该生物统计的匹配。同样地所述BIN允许生物统计系统的混合和匹配。
4.所述BIN类似于现今使用的PIN系统,并且同样地,该发布公司可以容易地升级具有所使用的现存PIN系统的当前事务服务器6,来合并所述生物统计特征。
还可以实现自动选择验证所述用户身份的最安全或适当的方式。验证模式包括所使用的生物统计类型或密码等。给每个验证模式类型分配唯一的号码,验证设备身份号码。所述客户计算机2将识别所有可用的验证模式,并存储所述设备身份号码。在所述安全服务器5端,所述服务器系统排列所述验证模式的每一个的置信等级或安全性。所述排列通常取决于用户的选择或优选。所述排列通过提供存储有所述设备身份号码的项目表而完成。所述表顶部的项目对应用户验证的最大置信设备,而底部多数项目是最小置信设备。当需要身份验证时,所述客户计算机2将通过提供可用的验证设备识别号码来指明可用的验证模式。所述安全服务器5于是将从所述入口中选出最适当的设备来验证用户的身份。
所述协议如下:
(4.1)安全服务器5具有项目表来排列该公司所接受的验证模式的置信等级。
(4.2)当所述客户计算机2被使用时,可用的验证模式的指示器将被发送给所述安全服务器5。
(43)安全服务器5决定要使用的验证模式的类型,并发送答复给所述客户计算机2。
(4.4)所述客户计算机2获得该命令,并执行需要的验证模式以用于识别用户。
(4.5)所述安全服务器5然后根据来自由所述客户计算机2和智能卡1a的采集和处理的数据来匹配所述响应,以验证用户的身份。
分布式远程执行管理器协议
已经介绍了一种通过所述客户计算机2的辅助的、所述智能卡1a上的指纹匹配的协议。现在将要讨论所述智能卡1a如何与所述客户计算机2一起执行所述函数的细节。
传统的智能卡具有有限的资源,例如有限的存储器(RAM/EEPROM)、处理能力(8位或16位)和速度(小于15MHz)。从客户计算机2到智能卡1a的数据传输速率也很慢。下面讨论的分布式远程执行管理器协议允许共享执行而克服低数据传输速率的问题。所述协议在上面指定的远程验证过程的情况下被描述,但是其同样适合于具有较低计算能力和较慢通信链路的其它计算设备。支持所述协议的结构可以按比例放大到多重远程设备以请求远程执行,或多重服务器以管理所请求的过程。
分布式计算结构
图5示出了多重处理单元的简化结构。
假定处理单元1(PU1)比处理单元2(PU2)有更强的计算能力。PU1和PU2分别是客户计算机和远程设备(具有较低处理能力的设备,例如智能卡或个人数字助理)。所述客户计算机PU1执行任务的处理。所述远程设备PU2请求所述客户计算机PU1执行任务。每个处理单元具有保存任务细节的任务表的副本。图6是所述任务表的例子。
在所述任务表中,第一栏包含对象名及其函数。第二栏包含对象ID和函数ID。全部名称是ASCII格式的。对象ID可以是32位带符号整数,并且函数ID可以是16位带符号整数。EOT表示可以是16位带符号整数的表格的结束。EOT等于-1。所述任务表的第三栏和第四栏仅用于客户端(PU1)。所述远程设备PU2)没有栏三和四。栏三是参数表。其包含参数的类型转换(type casting)。栏四包含函数/对象入口点(entry point),其是所述函数/对象的起始地址。任务表的对象的数目是没有限制的,但是程序员要知道所述远程设备(PU2)的存储量以避免存储器溢出异常。所述任务表是所述函数名/对象名到所述ID号码的映射。在所述远程设备(PU2)上执行的分布式对象执行管理器(D-OEM,Distributed-Object Execution Manager)使用所述任务表通知客户端PU1(D-OEM_client)的管理器(D-OEM),应当执行哪一个任务(对象与函数)。在客户端PU1上的D-OEM_client利用该任务表,通过映射所述ID到所述函数的起始地址来执行该函数。
图7是示出所述分布式计算结构的示意图。动态绑定被用来初始化在PU1和PU2中的任务表的所有项目,也就是说函数入口点在运行时间期间被确定。所述客户处理单元,PU1已经被分成4个级别。第一级是所述客户管理器(CM),其通过图7中的黑实线所表示的通信信道CL来处理通信。第二级是D-OEM_client。任务表TT1被存储在所述D-OEM_client内部。第三级是控制函数执行的执行管理器EM1。第四级是程序域PA1。全部的函数和对象都被存储在该级中。
所述远程设备单元PU2具有类似的结构,但是代替所述客户管理器CM,其具有远程设备管理器RDM且没有执行管理器。作为替代,PU2中的D-OEM具有堆栈S来处理所述函数的返回值。使用所述堆栈的细节将在下面讨论。
在所述任务表初始化以前,除了对象名栏以外,任务表中所有的项目都是空的。在所述远程设备PU2调用所述本地客户PU1中的函数或对象之前,所述D-OEM应当初始化客户PU1和远程设备PU2中的任务表。图7A的步骤示出了初始化所述任务表的方法。
步骤S10远程设备PU2发送请求命令(Initialization_Of_Obj ect)TT1到所述客户PU1。该Initialization_Of_Object请求命令的格式在图8中示出。
步骤S12D-OEM_client在所述任务表TT1中搜索对象名。
步骤S14如果D-OEM_client在所述任务表TT1中找到对象,D-OEM_client将调用执行管理器EM1来调用所述对象的构造器(constructor),从而初始化所有对象的变量和函数。执行管理器EM1计算全部参数和入口点,并将所述入口填入所述任务表(栏三和四)TT1。
步骤S16如果D-OEM_client找不到具有给定名称的对象,则所述D-OEM_client将抛出异常给所述系统并终止该过程。
步骤S18一旦所述执行管理器EM1完成了所述对象的构造,则所述D-OEM_client将生成用于公共函数、保护函数和该对象本身的全部ID。所述D-OEM_client将该ID填入所述任务表TT1(栏二)。
步骤S20D-OEM_client发送栏二中的ID到远程设备PU2。
步骤S22所述远程设备PU2接收所述ID,并存储该项目到本地任务表TT2。
当所述系统需要使用所述对象时,该对象在任何时候都可以被初始化。当所述D-OEM将生成用于系统调用不同对象的任务表TT2的多重副本时,大量对象可以被使用。生成所述ID的细节将在后面讨论。一旦所述远程设备PU2上的代码被终止,则所述任务表的全部项目将被刷新。
现在参考图8,其示出了Initialization-Of-Object命令的格式。第一域是远程设备ID82。对于智能卡,所述ID可以是智能卡ID。对于具有网络支持的移动设备,所述ID可以是IP地址或MAC地址。所述D-OEM init命令80是唯一的二元命令,用于指示所述D-OEM_client实现远程对象执行初始化。对象名84是ASCII格式的对象名称。参数86是用于对象构造的初始值。结束代码88指出传输的结束。
远程函数的执行和同步
为了执行远程函数,所述远程设备PU2需要使用其D-OEM来调用函数,并在所述客户计算机PU1端运行该函数。这里是所述情况的例子,在该情况中,所述远程设备PU2需要调用是对象1的成员函数的函数1:
                            Return value=
D_OEM·execute(″object1″,″function1″,wait_status,para1,para2,...);
D-OEM是静态基础(base)对象。如果本地函数或对象创造或继承其自身的D-OEM对象的副本,则该对象也可以是动态的对象。函数execute(...)是D-OEM的公共成员函数。所述函数远程启动了所述客户计算机PU1上的函数。第一参数是对象名。第二参数是函数名。第三参数是用于同步的等待状态的类型。如果下一个函数不需要返回值来执行,并且其可以与该函数并行执行,则no_wait可用于执行并行处理。否则,所述系统等待来自远程过程的响应。等待该远程过程响应的时间范围是从1到65535(用于16位无符号整数的情况)。0代表了no_wait。所述单元是毫秒的。如果所述过程在超时后不能接收任何响应,则超时异常将要被抛给所述D-OEM。其它参数(para1,para2,...)是函数1的参数。所述D-OEM在堆栈上推出了返回值的参考、对象ID与函数ID。所述堆栈用于处理该返回参数。所述D-OEM将该参数编码为命令串(图9),并发送该串到所述远程设备管理器RDM。所述D-OEM从任务表TT2中查找对象ID91和函数ID92。在图9中,所述命令串仅有两个参数(参数194和参数295)。参数的数目取决于函数本身。因此,所述串可以包含任意数目的参数(不必是如图9所示的两个)。
所述命令串被发给所述远程设备管理器RDM。然后,所述远程设备管理器RDM将通过通信链路CL将该命令串发送到所述客户计算机PU1。任何设备密码引擎(on-device cryptographic engine)可用来加密所述串以确保安全的数据传送。一旦所述客户计算机PU1接收所述命令串,则其将该命令串发送到所述客户管理器CM。所述D OEM_func_call90是二元命令,用于指出所述远程设备PU2请求远程函数调用。所述D-OEM_client解码所述串并且使用所述任务表TT1来查找对象与函数的软件入口点。所述D-OEM_client将所述入口点和所有函数参数传送到所述执行管理器EM以启动所述函数。利用所述执行管理器EM的理由是所述函数可以是正常的函数或线程(thread)。如果所述函数是线程,则所述执行管理器EM将为所述远程设备PU2执行同步。所述远程设备PU2可以实质上直接控制所述远程线程。一旦所述函数被终止,则该函数将返回值发回到D-OEM_client(图7中的虚线)。所述D-OEM_client通过客户管理器CM、通信链路CL和远程设备管理器RDM将所述返回值传送到D-OEM。图10示出了来自所述客户的返回参数的格式。
远程设备PU2上的D-OEM核对所述返回参数的报头,D-OEM_return
param100指出所述二进制串包含所述函数的返回参数。D-OEM仅接受具有有效报头的二进制串。所述D-OEM通过堆栈S中的对象ID102和函数ID104,搜索返回对象的参考。然后D-OEM将保存该返回值到变量,并在所述堆栈S上推送该变量。类型106指出所述返回值的类型转换。第五域包含所述函数的实际返回值108。结束代码110指明串的结束。
并发函数(concurrent function)的同步是必需的。如果wait_status被设置为no_wait,则所述远程设备PU2上的D-OEM将需要执行用于同步的额外的过程。如果该程序需要明确的同步,则可以使用synchronized(...)函数。考虑下列Java代码的片段:
1:r_value=D_OEM·execute(″object1″,″function1″,no_wait,para1,para2);2:coef=calc(input);3:result=coef*return_value;
第一行计算r_value。第二行计算coef。两行没有任何相关性,因此,其可以在相同的时间执行。第一行在所述客户计算机PU1上执行,并且第二行在本地执行,即在所述远程设备PU2中。然而,全部返回值需要在第3行计算结果。如果第1行的函数没有完成计算而第2行的函数已经完成计算(换句话说,coef即将使用,但是r_value还没有准备好),倘若第3行执行而没有等待r_result的计算,该行的函数将遇到错误。因此,在这种情况下必须执行同步。考虑下列代码片段。
1:r_value=D_OEM·execute(″object1″,″function1″,no_wait,para1,para2);2:coef=calc(input);3:D_OEM·synchronize(″object1″,″function1″,timeout);4:Result=coef*return_value;
额外行被添加到所述代码片段内。第3行的函数处理同步。函数synchronize(...)是D-OEM的公共成员函数。所述函数强制该系统等到所述变量(r_value)接收到来自所述客户计算机PU1的返回值。开头两个参数被用来识别已经调用了哪个需要执行同步的函数。第三参数以毫秒指出超时的最大值。如果D_OEM对象遭遇任何超时,则异常将被抛至该系统。所述远程设备管理器RDM捕获该异常并接着处理该错误。一旦所述return_value被接收,则所述系统将执行下一行以计算结果。下列过程示出了如何通过D-OEM执行同步。
(5.1)启动同步方法并复位计时器。
(5.2)核对计时器的值,如果该值与超时相等,则将抛出异常且放弃该同步方法。
(53)核对所述D-OEM提交缓冲器(D-OEM commit buffer)已经接收到任何返回参数。如果任何有效的参数属于该函数,则终止同步方法且返回该数据到所述变量(r_value)。
(5.4)环回到步骤2继续等待函数。
对象ID和函数ID的生成
由于这是分布式计算结构,因此所述通信可以是任何类型的通信(有线或无线)。可以连接多重远程设备到单个客户计算机PU。这样,所述客户计算机PU需要更强的计算能力以应付多重远程设备。因此,所述处理单元可以是高性能服务器。不管所述系统包含单个客户还是多重客户,生成所述ID的方法和处理多重请求的协议是一样的。
图12示出了两个连接到单个客户计算机PU的远程设备RD1、RD2。每个远程设备请求所述客户计算机PU执行某些对象。所述对象可以是一样的或不一样的过程。无论所述远程设备请求哪个过程或对象,该执行管理器都需要分配唯一的ID到该对象及其成员函数。为了生成唯一的ID,将生成用于每个远程设备的分离任务表。这样,使用24位计数器来生成所有对象ID,以及使用16位计数器来生成全部功能ID,因此每个成员函数的ID是48位(16位+32位)。即使存在许多远程设备同时请求并发任务,也不会轻易造成计数器的溢出并导致完全一样的ID。在所述对象ID是32位整数的情况下,所述对象计数器只能生成24位的ID。为多重服务器环境中的服务器ID保留最后的8位。多重服务器环境将在后面讨论。这样,最后的8位都被设置为0。所述执行管理器使用图12A中示出的步骤来初始化软件对象及其成员函数。
步骤S30D-OEM_client从所述远程设备之一接收请求(Initialization_Of_Obj ect)。
步骤S32D-OEM_client在所述任务表中利用对象名搜索该对象。如果D-OEM_client找不到具有给定名称的任何对象,则将抛出异常(步骤S34)。否则,将执行对象构造(步骤S36)。所述执行管理器构造所述对象,并从该对象ID计数器请求新的对象ID。然后,所述管理器使计数器加1以用于下一个对象。
步骤S38所述执行管理器利用函数ID计数器,为所述对象的公共和保护成员函数生成全部函数ID。
步骤S40所述执行管理器将所有ID发送回D-OEM_client。
步骤S42D-OEM_client核对属于特定远程设备的任务表的存在。如果其不存在,则创建具有所述远程设备ID的任务表的新副本。否则,D-OEM_client将该项目附加到现存的表。如果所述客户计算机PU连接到多重远程设备,则将为发送Initialization_Of_Object的特定设备生成分离任务表。
步骤S44D-OEM_client向所述请求方发回全部ID。
在步骤S42,如果仅一个远程设备RD1被连接到所述客户,则将仅生成任务表的单个副本。对于多重设备,每个设备具有其自己的任务表副本。图13示出了对所述对象ID与函数ID进行编码的二进制串。
所述D-OEM_client将所述串发送到所述客户管理器。所述客户管理器知道将该二进制串返回到正确的远程设备的路径。一旦所述远程设备接收到所述串,则其检查该远程设备的远程设备ID。如果所述ID是正确的,则其将发送该串到所述D-OEM。该D-OEM解码全部ID并将其存储在所述任务表中。ID的数目指出了所述串中的ID(包括所述对象ID)总数。
利用分布式计算执行用于智能卡上的指纹匹配的负载分担
在智能卡1a或者具有较低处理能力的远程设备计算机上执行完整的匹配是很费时的。为了克服所述问题,通过更强大的本地客户计算机2的负载分担机制可以加速该指纹匹配的处理时间。下面接着讨论利用分布式远程执行协议来执行用于上述指纹匹配的负载分担。
除细目检测之外,前面讨论的基于细目的匹配算法可以被分成两个部分,基础发现(本地阶段)和细目匹配(全局阶段)。所述基础发现过程被用来找到最佳基础细目以对准两个不同的指纹模板。所述基础发现过程计算一些为对准两个模板所必需的参数,然后传递所述参数到匹配阶段,以便确定该输入指纹是否匹配。然而,所述基础发现部分是计算密集的。如果该部分由所述智能卡1a计算,则将花费不止一分钟来得到匹配结果。为了增加速度,所述客户计算机2完成该计算部分。所述客户计算机2作为智能卡1a的协处理器来执行检验。如前所述,当所述基础发现部分仅处理所述指纹细目的很小的子集时,不会危及安全性。图13A的步骤说明了这样的例子:如何使用分布式远程执行协议以执行用于智能卡1a上的指纹匹配的负载分担。
步骤S50启动指纹匹配。
步骤S52所述智能卡1a上的D-OEM发送Initialization_Of_Object到所述客户计算机2,以用于基础评估对象的初始化。
步骤S54所述客户计算机2的D-OEM_client通过执行管理器初始化所述对象,并将该对象ID和函数ID返回到所述智能卡1a。
步骤S56智能卡1a发送基础信息给所述客户计算机2。
步骤S58所述智能卡1a的D-OEM发送远程处理请求命令来远程启动所述客户计算机2上的基础评估。
步骤S60所述D-OEM_client通知所述执行管理器执行基础评估例程。
步骤S62智能卡1a等到所述客户计算机2完成该基础评估。
步骤S64如果来自所述基础评估的细目指数(minutiae index)的数值是0,则所述智能卡1a将停止指纹匹配并返回匹配失败给客户计算机2。
步骤S66智能卡1a下载预匹配系数和已对准的输入指纹模板。
步骤S68在智能卡1a上执行最后的匹配。
步骤S54和S66使用如前所述的协议,以在智能卡1a和客户计算机2之间传送匹配信息。
通过多重处理单元的过程执行
在前面部分中已经讨论的情景是简单的对等通信和处理:即具有较低处理能力的远程设备200请求客户计算机202解决所述处理。然而,如果在所述客户计算机202上执行一些过程是不安全的,或该客户计算机202由于其过于计算密集而不能处理该代码,则必须使用例如多处理器(multiprocessor)服务器204、206的更强大的处理单元,来帮助实现所述执行。考虑图14。
在图14中,远程设备200被连接到所述客户计算机202。如果所述客户计算机202正是具有有限的处理能力的终端,则该客户计算机202将不能帮助所述远程设备200来执行负载分担。此外,如果该客户计算机202是公共计算机且所述网络服务器与该客户计算机202没有任何信任关系,则打算与所述远程设备200执行负载分担的验证过程的执行根本不安全。因此,对于低性能客户计算机202或不能信赖的客户计算机202,负载分担可以在服务器端被执行。所述客户计算机202作为所述远程设备200和服务器204、206之间的通信桥。
在图14中,两个服务器204、206被连接到所述客户计算机202。如果所述远程设备200需要执行一些指纹验证过程,则该远程设备200将在所述验证服务器204上启动远程过程请求。可以使用如前面部分所述的类似的结构。所述远程设备200上的D-OEM可以被用来请求远程处理,并且所述验证服务器204上的D-OEM_client可以被用来管理所述函数/对象的处理。对于所述客户计算机202,D-OEM_bridge被用来管理所述桥接过程(bridging procedure)。D-OEM和D-OEM_client的结构和命令与前面讨论的原始格式是相同的;没有必要为所述新环境进行修改。所述D-OEM_bridge具有与所述类似的结构。然而,其没有执行管理器和程序区。然而其具有网络执行管理器。图15示出了所述D-OEM_bridge的基本结构。
所述D-OEM_bridge具有在客户计算机212执行的客户管理器,以处理所述远程设备210和客户计算机212之间的通信。其也具有任务表TT。然而,仅开头两个栏,对象名和对象ID和图6中的表相同。第三栏是服务器的网络地址。该地址可以是URL或者是具有可选端口号码的IP地址。图16是在所述D-OEM_bridge部分中的任务表的例子。所述网络执行管理器NEM被用来监测所述远程设备210和服务器214、216(可以存在多于2台的服务器)之间的过程或线程同步。所述NEM通过有线或无线网络连接到所述服务器214、216。NEM的角色是帮助所述远程设备210在所述服务器214、216上直接启动任何远程过程。所述NEM为所述远程设备210和服务器214、216控制、翻译和同步数据和网络命令。事实上,NEM是用于管理具有多重服务器的分布式计算过程的软件代理。
D-OEM对象和对象ID的初始化
D-OEM对象的初始化类似于图7A中所示的方法。然而这样,所述客户计算机212根本不做任何处理。所述客户计算机212必须知道访问所述服务器214、216的方法。因此,所述远程设备210上的D-OEM可以将实际地址,或者URL或者IP地址,通知给所述客户计算机212。下列过程描述了D-OEM_bridge和D-OEM_client对象的初始化方法。
(6.1)远程设备210上的D-OEM发送具有URL/IP地址的请求(Initialization_Of_Object)给所述客户计算机212。
(6.2)D-OEM_bridge接收该请求。其通过来自所述远程设备210的URL/IP地址将该请求发送给所述服务器214、216。
(6.3)所述服务器214、216上的D-OEM_client初始化所有对象和任务表。
(6.4)所述服务器214、216将该任务表返回给D-OEM_bridge。
(6.5)所述NEM将所述服务器ID加入到所述对象ID。
(6.6)所述D-OEM_bridge在本地任务表TT中记录下该对象ID和URL/IP地址。
(6.7)所述D-OEM_bridge发送该对象ID给所述远程设备210,以执行如上所述的D-OEM初始化。
在过程(6.5),所述对象ID可以由不同的服务器生成。每个服务器按照如图12A所示的过程生成全部ID。倘若在不同的服务器上初始化两个对象,则不同的对象具有一样的对象ID是可能的。在前面例子中,8位服务器ID域已经被储存在32位对象ID中。在图15中,所述网络执行管理器NEM具有服务器ID计数器SIC。所述计数器SIC被用来为每个单独的服务器生成唯一的服务器ID。下列过程示出了分配新的服务器ID给新位置的方法。
(7.1)NEM从D-OEM_bridge接收到请求Initialization_Of_Object命令。
(7.2)NEM核对该位置是否存在任何预分配的服务器ID。
(7.3)如果NEM最近访问了该服务器地址,则NEM将使用NEM高速缓冲存储器中的旧服务器ID。
(7.4)如果NEM对用于分布式执行所请求的位置没有任何最近的访问,则该NEM从所述服务器ID计数器得到新的ID。NEM使该计数器加1以用于下一个服务器ID。
(7.5)NEM返回该服务器ID给所述D-OEM_bridge,以计算新的对象ID。
所述新的对象ID是来自服务器的对象ID和来自NEM的服务器ID的组合。图17示出了组合的对象ID的格式。每个对象ID在任务表中都具有唯一的号码以避免所述函数的错误启用。所述NEM检查由被终止的对象所释放的任何服务器ID。所述NEM可以重复利用任何使用过的服务器ID但是丢弃旧对象的参考。对于8位服务器ID,最大可能的服务器数量是256。
执行、同步和返回参数
对象和函数的远程执行的方法类似于上述方法,但是由所述客户计算机212作为桥。用于远程处理的全部请求被直接传送到所述服务器214、216。所述D-OEM_bridge从所述任务表TT中查找URL/IP地址,并传送该命令和所有参数给服务器214、216。所述服务器214、216按照上述标题为“远程函数的执行和同步”的方法,执行对象/函数的处理和同步。由于所述ID仅是为了所述桥从不同的服务器中区分该ID,因此所述服务器214、216忽略了该服务器ID。一旦服务器接收所述对象ID,在32位的情况下,其将如等式6所示的那样执行逻辑“与”,以取回所述对象ID的原始24位版本。其使用该对象ID从所述任务表TT中查找所述函数的入口点。所述服务器214、216执行如上所述的函数。Server Object ID=(D-OEM_Bridge Object ID)AND0x00FFFFFF....(6)
AND:逻辑“与”
为了同步,所述远程设备210等待来自处理服务器的响应。一旦服务器214、216中任何一个完成了该操作,其将返回参数传送给所述D-OEM_bridge。当所述D-OEM_bridge接收该返回参数时,其将通知远程设备210来自各自服务器的返回参数。所述D-OEM_bridge事实上作为通信桥在所述远程设备210和服务器214、216之间传送全部信息;因而,允许远程设备210实际上命令与多重服务器的直接通信。所述D-OEM_bridge处理访问多重服务器的过程。
返回参数格式与图10中所示的相同。然而,仅有的修改是对象ID102。一旦D-OEM_bridge接收到来自所述服务器214、216的返回参数串,其将提取该对象ID102。
由于所述对象ID102中的服务器ID域是空的,因此为该服务器连接先前分配的服务器ID被增加给所述对象ID102。然后,该被更新的对象ID102将被反回到所述返回参数串,并被返回到所述远程设备210。所述远程设备210使用先前保存在所述堆栈的函数返回地址,来保存该返回值到目标存储器位置。
网络执行管理器(NEM)
现在将描述事实上是软件代理的NEM的结构。该代理的角色是代表所述远程设备210在所述服务器214、216启动任何远程执行。下列任务通过NEM来执行:
(1)作为通信控制器来连接所述远程设备210和服务器214、216。
(2)在所述远程设备210和服务器214、216之间翻译通信协议。
(3)处理网络异常。
(4)为多重服务器管理服务器ID。
(5)缓冲所述请求来最小化网络拥塞。
(6)作为防火墙以防止非法访问。
图18示出了所述NEM的基本结构。其具有处理来自所述D_OEM_bridge302的命令的命令控制器300。协议翻译器304管理从一个网络到另一个网络的数据和命令的翻译。例如,所述智能卡使用ISO7816-4格式。在向网络发送请求以前,所述协议应该针对互联网连接而从ISO7816被翻译到TCP/IP。服务器管理器306管理所述服务器的连接和所述服务器ID。网络控制器308管理到网络的连接。其具有用于最小化网络拥塞的本地网络缓冲器。防火墙310被用来防止任何非法连接。另外,网络异常控制器312被用来应付任何网络错误,并将所发生的任何网络异常直接报告给所述命令控制器300。
分布式对象执行管理器(D-OEM)
D-OEM管理用于远程设备210的远程执行请求。该远程设备210发送负载分担请求给本地客户机/服务器。如果所述客户计算机212可以处理该对象/函数,则D-OEM_client将通过所述执行管理器本地执行该函数。否则,所述D-OEM_bridge将该请求传送给所述服务器214、216,并在该服务器214、216端实现执行。图19示出了D-OEM的基本结构。该D-OEM具有内核414,该内核具有单独的入口点。其具有访问D-OEM对象内的全部资源的特权。该D-OEM具有对象构造器416,以初始化该对象内部的所有组件。命令编码器和解码器418同步上述D-OEM命令。网络接口420是软件接口,其与外部的网络对象绑定以与外界部分建立通信。同步管理器422管理全部同步请求。异常处理器424管理来自所述远程函数或本地D-OEM异常的所有异常。堆栈控制器426管理函数和堆栈的返回参数。对象和函数伪入口点区428是远程过程的描述符,这样本地函数可以执行对于各自的函数/对象的实际调用。这允许本地函数调用任何远程函数就象调用本地函数一样容易。所述内核414完成实际的远程过程调用。任务管理器430控制所述远程对象与函数的初始化。其同样也管理所述任务表TT2。
对于所述D-OEM_client,如图20所示,其与所述D-OEM稍有不同。
在图20中,示出了D-OEM_client的基本结构。其类似于所述D-OEM。然而,全部返回参数被直接地返回到所述远程设备210。所述参数不需要被存储在所述D-OEM_client中,因而不需要所述堆栈控制器426。执行管理器EM控制函数和线程的执行。网络接口520接收来自远程设备210的请求命令。所有命令被发给内核514来处理。对象初始化由所述系统完成。其它组件具有与D-OEM一样的功能。所述执行管理器EM管理需要在本地执行的所请求的对象或函数。一旦所述D-OEM_client解码所述执行命令,并得到过程入口点,则该入口点将被传送到所述执行管理器EM以用于过程执行。所述执行管理器EM的细节将在下面讨论。
对于D-OEM_bridge,其角色是在所述服务器214、216和远程设备210之间传送命令和参数。其结构比D-OEM和D-OEM_client简单。
图21是D-OEM_bridge的结构图。该D-OEM_bridge作为所述远程设备210和服务器214、216之间的通信桥。内核614控制并初始化所述对象内部的所有组件。所述任务管理器630管理所述任务表TT2。系统缓冲器632存储未完成的任务,用于内核614以后处理。NEM桥634是到所述NEM的软件接口。该NEM控制上述较高级别的网络管理。
所述执行管理器EM被用来控制线程和函数的执行。图22示出了该执行管理器的结构。如果所请求的过程是线程,则线程控制器740将管理全部同步过程。如果所请求的处理是函数/对象,则函数执行器742将启动和监测所述过程的执行。如果存在来自所述函数或线程的任何异常,异常处理器744将处理所述过程执行。所述处理器744试图终止任何不正常的过程,以便最小化所述错误对其它并行过程的影响。

Claims (37)

1.一种在用户出示的设备上验证用户的方法,其是根据用户在验证设备上所呈现的生物统计参数来验证该用户的,在该用户出示的设备上存储了被分成安全部分和开放部分的生物统计识别模板,该方法包括:
将来源于所述验证设备的所述用户生物统计参数的数据传送到客户终端;
从所述用户出示的设备到所述客户终端,仅传送存储在该用户出示的设备上的所述生物统计识别模板的开放部分;
在所述客户终端,在所述来源于所述用户生物统计参数的数据和所述开放部分之间执行身份验证过程的第一阶段,并将所述验证过程的结果传送给所述用户出示的设备;以及
在所述用户出示的设备,利用所述结果执行身份验证过程的第二阶段以完成该身份验证过程,并基于其发布验征结果。
2.一种根据用户在验证设备所呈现的用户生物统计参数进行用户注册的方法,该方法包括:
将来源于在所述验征设备获得的所述用户生物统计参数的数据传送到被授权的客户终端;
在该被授权的客户终端,将所计算的生物统计识别模板分成安全部分和开放部分;
将所述生物统计识别模板的开放部分和安全部分从所述被授权的客户终端传送给用户出示的设备;
将由开放和安全部分组成的所述模板存储到所述用户出示的设备上,并且所述安全部分仅仅在该用户出示的设备内部而不是外部是可访问的。
3.根据权利要求1或2的方法,其中,所述生物统计识别模板的安全部分是包含数据未授权修改的部分,这会导致将冒名顶替者错误地验证为真正用户。
4.根据权利要求1或2的方法,其中,所述生物统计识别模板的开放部分是包含数据未授权修改的部分,这不会导致将冒名顶替者错误地验证为真正用户。
5.根据权利要求1或2的方法,其中,所述生物统计参数是指纹。
6.根据权利要求1的方法,其中,所述模板的开放部分包括该模板的预定数目的唯一特征的参数。
7.根据权利要求6的方法,其中,在所述客户终端执行的所述身份验证过程的第一阶段包括:利用来源于所述用户生物统计参数的数据来确定唯一特征,并将其与所述预定数目的唯一特征对准,该预定数目的唯一特征来自存储在所述用户出示的设备上的识别模板。
8.根据权利要求1的方法,其中,在所述用户出示的设备上执行的所述身份验证过程的第二阶段,是利用存储所述用户出示的设备上的本地可执行匹配程序而被执行的。
9.根据权利要求1的方法,其中,在所述客户终端执行的所述身份验证过程的第一阶段,是利用客户可执行匹配程序而被执行的。
10.根据权利要求9的方法,其中,所述客户可执行匹配程序被存储在所述用户出示的设备上或所述验证设备上,并且其在验证时被传输到所述客户终端。
11.根据权利要求9的方法,其中,所述客户可执行匹配程序是由所述客户终端在验证时从远程存储器上下载的。
12.根据权要求1的方法,其中,所述验证结果被用来验证用户以授权安全交易。
13.根据权利要求12的方法,其中,所述安全交易是由存储在所述用户出示的设备上的可执行事务程序来控制的。
14.根据权利要求13的方法,其中,当所述验证结果指明足够匹配时,包括该验证结果的第一安全访问核对密钥被构造。
15.根据权利要求14的方法,其中,请求第二安全访问核对密钥,并将其与第一安全访问密钥比较,如果所述比较生成正确的验证结果,则该比较的结果被用来启动所述可执行事务程序。
16.根据权利要求15的方法,其中,所述第二安全访问核对密钥是从安全服务器发布的。
17.根据权利要求16的方法,其中,所述第一和第二安全访问核对密钥的每一个都包括唯一识别号码。
18.根据权利要求17的方法,其中,所述唯一识别号码包含从基于随机生成的号码和所述验证结果的数学操作而获得的号码。
19.根据权利要求18的方法,其中,所述随机生成的号码在每次该号码被使用时改变。
20.根据权利要求19的方法,其中,所述改变的随机号码通过将号码分成两个部分而被跟踪,第一部分被用作当前随机号码并且第二部分被用作下一个随机号码。
21.根据权要求17的方法,其中,所述唯一识别号码包含用户记得的号码。
22.根据权利要求18的方法,其中,可以使用不止一种验证方法来获得所述验证结果,每个验证结果都被包括到所述唯一识别号码中。
23.根据权利要求17的方法,其中,所述访问被分成几个级别,并且其中,授权用户的访问级别取决于从所述唯一识别号码所获得的正确身份的置信等级。
24.一种根据用户生物统计参数来验证用户的系统,该系统包括:
用户出示的设备,其上存储有被分成安全部分和开放部分的生物统计识别模板,其中,只有所述开放部分可以被传送出所述设备;
验证设备,可操作用来读取来源于用户的生物统计数据,并且包括用于与所述用户出示的设备和客户终端进行通信的装置;
客户终端,被安排接收存储在所述用户出示的设备上的生物统计识别模板的所述开放部分,以及来源于所述用户的生物统计数据,并且该客户终端包括客户处理器,该客户处理器可操作用来在所述来源于用户的生物统计数据和所述开放部分之间执行身份验证过程的第一阶段,并将所述身份验证过程的结果传送到所述用户出示的设备,并且其中,所述用户出示的设备包括设备处理器,其可操作用来执行身份验证过程的第二阶段以利用所述结果完成该身份验证过程,并基于其发布验证结果。
25.根据权利要求24的系统,其中,所述生物统计识别模板的安全部分是包含数据未授权修改的部分,这会导致将冒名顶替者错误地验证为真正的用户。
26.根据权利要求24的系统,其中,所述生物统计识别模板的开放部分是包含数据未授权修改的部分,这不会导致将冒名顶替者错误地验证为真正的用户。
27.根据权利要求24的系统,其中,所述生物统计参数是指纹,并且其中,所述验证设备包括指纹传感器。
28.根据权利要求24或27的系统,其中,所述模板的所述开放部分包括该模板的预定数目的唯一特征的参数。
29.根据权利要求24的系统,其中,所述用户出示的设备包括存储器,该存储器中存储了用于执行所述身份验证过程的第二阶段的本地可执行匹配程序。
30.根据权利要求29的系统,其中,在所述用户出示的设备上的存储器存储了客户可执行匹配程序,该程序被传输到所述客户处理器以执行所述身份验证过程的第一阶段。
31.根据权利要求24的系统,其包括连接到所述客户终端的安全服务器。
32.根据权要求31的系统,其中,所述安全服务器存储了用于执行所述身份验证过程的第一阶段的客户可执行匹配程序。
33.根据权利要求31的系统,其中,所述安全服务器存储了所述客户终端可请求的安全访问核对密钥用于启动交易。
34.根据权利要求24的系统,其包括被安排执行安全交易的事务服务器,该事务服务器与所述客户终端通信,使得所述验证结果可用于验证用户以授权安全交易。
35.根据权利要求34的系统,其中,所述用户出示的设备存储了用于控制所述安全交易的可执行事务程序。
36.根据权利要求34的系统,其中,可以使用不止一种验证方法来获得所述验证结果。
37.根据权利要求34的系统,其中,对所述事务服务器的访问被分成几个级别,并且其中,授权用户访问的级别取决于正确身份的置信等级,该置信等级是基于来自所使用的多种验证方法的结果而获得的。
CNB028297210A 2002-08-08 2002-08-08 在验证中的分布式处理 Expired - Fee Related CN100373285C (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SG2002/000199 WO2004019190A1 (en) 2002-08-08 2002-08-08 Distributed processing in authentication

Publications (2)

Publication Number Publication Date
CN1705923A CN1705923A (zh) 2005-12-07
CN100373285C true CN100373285C (zh) 2008-03-05

Family

ID=31944990

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028297210A Expired - Fee Related CN100373285C (zh) 2002-08-08 2002-08-08 在验证中的分布式处理

Country Status (5)

Country Link
US (1) US8406478B2 (zh)
JP (1) JP4433472B2 (zh)
CN (1) CN100373285C (zh)
AU (1) AU2002334565A1 (zh)
WO (1) WO2004019190A1 (zh)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7944953B2 (en) 2002-04-03 2011-05-17 Tvworks, Llc Method and apparatus for transmitting data in a data stream
AU2003902422A0 (en) * 2003-05-19 2003-06-05 Intellirad Solutions Pty. Ltd Access security system
WO2005086802A2 (en) 2004-03-08 2005-09-22 Proxense, Llc Linked account system using personal digital key (pdk-las)
US8700729B2 (en) 2005-01-21 2014-04-15 Robin Dua Method and apparatus for managing credentials through a wireless network
DE102005003208B4 (de) * 2005-01-24 2015-11-12 Giesecke & Devrient Gmbh Authentisierung eines Benutzers
JP2006301903A (ja) * 2005-04-20 2006-11-02 Hitachi Omron Terminal Solutions Corp 現金自動取引装置
TWI262696B (en) * 2005-06-17 2006-09-21 Lightuning Tech Inc Storage device and method for protecting data stored therein
EP1914938A4 (en) * 2005-08-11 2010-12-15 Beijing Watch Data Sys Co Ltd METHOD FOR PHYSICAL AUTHENTICATION AND DIGITAL DEVICE
CN1859096B (zh) * 2005-10-22 2011-04-13 华为技术有限公司 一种安全认证系统及方法
AU2005242135B1 (en) * 2005-12-07 2006-03-16 Ronald Neville Langford Verifying the Identity of a User by Authenticating a File
US8340672B2 (en) 2006-01-06 2012-12-25 Proxense, Llc Wireless network synchronization of cells and client devices on a network
US11206664B2 (en) 2006-01-06 2021-12-21 Proxense, Llc Wireless network synchronization of cells and client devices on a network
WO2007113040A1 (en) * 2006-03-31 2007-10-11 International Business Machines Corporation Method and systems using identifier tags and authenticity certificates for detecting counterfeited or stolen brand objects
US8989387B2 (en) 2006-03-31 2015-03-24 International Business Machines Corporation Using identifier tags and authenticity certificates for detecting counterfeited or stolen brand objects
US7818395B2 (en) * 2006-10-13 2010-10-19 Ceelox, Inc. Method and apparatus for interfacing with a restricted access computer system
US8412949B2 (en) * 2006-05-05 2013-04-02 Proxense, Llc Personal digital key initialization and registration for secure transactions
WO2008010899A2 (en) * 2006-06-30 2008-01-24 Electronics Plastics, Llc Biometric embedded device
JP4956096B2 (ja) * 2006-08-30 2012-06-20 株式会社東芝 認証システム及び装置
US7886156B2 (en) * 2006-09-18 2011-02-08 John Franco Franchi Secure universal transaction system
WO2008079491A2 (en) * 2006-10-20 2008-07-03 Electronic Plastics, Llc Decentralized secure transaction system
US9269221B2 (en) 2006-11-13 2016-02-23 John J. Gobbi Configuration of interfaces for a location detection system and application
GB2444286B (en) 2006-12-01 2011-06-08 Advanced Risc Mach Ltd Improving processing efficiency on secure systems having a host processor and smart card
US8296741B1 (en) * 2007-03-05 2012-10-23 Google Inc. Identifying function-level code dependency by simulating runtime binding
US9081948B2 (en) * 2007-03-13 2015-07-14 Red Hat, Inc. Configurable smartcard
US8078885B2 (en) 2007-07-12 2011-12-13 Innovation Investments, Llc Identity authentication and secured access systems, components, and methods
US8300904B2 (en) * 2007-07-18 2012-10-30 Agency For Science, Technology And Research Method and device for determining a similarity value between minutiae templates
US8659427B2 (en) 2007-11-09 2014-02-25 Proxense, Llc Proximity-sensor supporting multiple application services
US8171528B1 (en) 2007-12-06 2012-05-01 Proxense, Llc Hybrid device having a personal digital key and receiver-decoder circuit and methods of use
WO2009079666A1 (en) 2007-12-19 2009-06-25 Proxense, Llc Security system and method for controlling access to computing resources
US8508336B2 (en) 2008-02-14 2013-08-13 Proxense, Llc Proximity-based healthcare management system with automatic access to private information
US8302167B2 (en) * 2008-03-11 2012-10-30 Vasco Data Security, Inc. Strong authentication token generating one-time passwords and signatures upon server credential verification
WO2009126732A2 (en) 2008-04-08 2009-10-15 Proxense, Llc Automated service-based order processing
US20100161488A1 (en) * 2008-12-22 2010-06-24 Paul Michael Evans Methods and systems for biometric verification
JP4649523B2 (ja) * 2009-06-03 2011-03-09 株式会社東芝 アクセス制御システム
US9418205B2 (en) 2010-03-15 2016-08-16 Proxense, Llc Proximity-based system for automatic application or data access and item tracking
US9322974B1 (en) 2010-07-15 2016-04-26 Proxense, Llc. Proximity-based system for object tracking
US9246914B2 (en) 2010-07-16 2016-01-26 Nokia Technologies Oy Method and apparatus for processing biometric information using distributed computation
GB2483515B (en) * 2010-09-13 2018-01-24 Barclays Bank Plc Online user authentication
KR101178552B1 (ko) * 2010-12-29 2012-08-30 주식회사 유니온커뮤니티 생체인증 시스템과 그 생체 인증방법
US9265450B1 (en) 2011-02-21 2016-02-23 Proxense, Llc Proximity-based system for object tracking and automatic application initialization
US8810368B2 (en) 2011-03-29 2014-08-19 Nokia Corporation Method and apparatus for providing biometric authentication using distributed computations
US9436864B2 (en) * 2012-08-23 2016-09-06 Apple Inc. Electronic device performing finger biometric pre-matching and related methods
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
WO2014183106A2 (en) 2013-05-10 2014-11-13 Proxense, Llc Secure element as a digital pocket
US20150082390A1 (en) * 2013-09-08 2015-03-19 Yona Flink Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device
ES2812541T3 (es) * 2013-12-30 2021-03-17 Onespan Int Gmbh Aparato de autenticación con interfaz Bluetooth
KR102208631B1 (ko) * 2014-02-19 2021-01-28 삼성전자 주식회사 전자 장치의 보안 정보 입출력 방법 및 이를 사용하는 전자 장치
EP3540622B1 (en) * 2014-06-09 2021-04-28 Aware, Inc. System and method for performing biometric operations in parallel
US9875347B2 (en) * 2014-07-31 2018-01-23 Nok Nok Labs, Inc. System and method for performing authentication using data analytics
CN104301117B (zh) * 2014-10-22 2017-11-28 中国联合网络通信集团有限公司 身份校验方法及装置
CN104469768B (zh) * 2014-11-06 2018-03-02 中国联合网络通信集团有限公司 基于应用软件的用户身份校验方法和装置
US9836591B2 (en) 2014-12-16 2017-12-05 Qualcomm Incorporated Managing latency and power in a heterogeneous distributed biometric authentication hardware
US9912657B2 (en) * 2015-06-02 2018-03-06 Dipankar Dasgupta Adaptive multi-factor authentication system
EP3333796A4 (en) * 2015-08-03 2019-02-06 All It Top Co., Ltd. SYSTEM FOR RETRIEVING FINANCIAL TRANSACTIONS WITH LOCKING FUNCTION WITH MULTIPLE SECURITY PRINCIPLES FOR PROCESSING USER AUTHENTICATIONS BY SCANNING THE FINGER PULSE AND FINGERPRINTING, AND PROCESSING METHOD THEREFOR
FR3045885A1 (fr) * 2015-12-22 2017-06-23 Morpho Procede d'identification biometrique
SE539630C2 (en) * 2016-02-24 2017-10-24 Fingerprint Cards Ab Method and system for controlling an electronic device
SE1650354A1 (en) * 2016-03-16 2017-09-17 Fingerprint Cards Ab Method and system for evaluating fingerprint templates
US10990658B2 (en) 2016-07-11 2021-04-27 Samsung Electronics Co., Ltd. Method and apparatus for verifying user using multiple biometric verifiers
US10769635B2 (en) 2016-08-05 2020-09-08 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
JP6794808B2 (ja) * 2016-12-07 2020-12-02 コニカミノルタ株式会社 画像処理装置、同装置によるicカード処理回数の通知方法及び通知プログラム
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
KR20200100481A (ko) * 2019-02-18 2020-08-26 삼성전자주식회사 생체 정보를 인증하기 위한 전자 장치 및 그의 동작 방법
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
CN110348347A (zh) * 2019-06-28 2019-10-18 深圳市商汤科技有限公司 一种信息处理方法及装置、存储介质
KR20210032629A (ko) * 2019-09-17 2021-03-25 삼성전자주식회사 지문 인식 센서를 포함하는 스토리지 장치의 구동 방법 및 이를 수행하는 스토리지 장치
TWI710987B (zh) * 2019-12-03 2020-11-21 開曼群島商現代財富控股有限公司 具多重簽章的錢包服務系統及其方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2331825A (en) * 1997-11-28 1999-06-02 Nec Corp Personal identification authentication using fingerprints
US6003135A (en) * 1997-06-04 1999-12-14 Spyrus, Inc. Modular security device
WO2001011577A1 (en) * 1999-08-06 2001-02-15 Precise Biometrics Ab Checking of right to access
US6219439B1 (en) * 1998-07-09 2001-04-17 Paul M. Burger Biometric authentication system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754820B1 (en) * 2001-01-30 2004-06-22 Tecsec, Inc. Multiple level access system
SG67584A1 (en) * 1999-07-08 2001-02-20 Ct For Signal Proc Of The Nany Two-stage local and global fingerprint matching technique for automated fingerprint verification/indentification
WO2001042938A1 (fr) 1999-12-10 2001-06-14 Fujitsu Limited Systeme d'authentification personnelle et dispositif electronique portatif a fonction d'authentification personnelle utilisant des informations physiques
JP4189870B2 (ja) 1999-12-28 2008-12-03 日本電信電話株式会社 Icカードシステムにおいて利用可能なicカードおよびicカードシステム
JP2001236324A (ja) 2000-02-24 2001-08-31 Fujitsu Ltd バイオメトリクス情報による個人認証機能を有する携帯電子装置
ATE336755T1 (de) * 2001-06-29 2006-09-15 Precise Biometrics Ab Verfahren und vorrichtung zur prüfung der identität einer person, wobei ein für den fingerabdruck konstantes koordinatensystem der bezug ist
US7274807B2 (en) * 2002-05-30 2007-09-25 Activcard Ireland Limited Method and apparatus for supporting a biometric registration performed on a card
US20040122774A1 (en) * 2002-08-02 2004-06-24 Martin Studd Method and system for executing applications on a mobile device
US7574734B2 (en) * 2002-08-15 2009-08-11 Dominique Louis Joseph Fedronic System and method for sequentially processing a biometric sample

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003135A (en) * 1997-06-04 1999-12-14 Spyrus, Inc. Modular security device
GB2331825A (en) * 1997-11-28 1999-06-02 Nec Corp Personal identification authentication using fingerprints
US6219439B1 (en) * 1998-07-09 2001-04-17 Paul M. Burger Biometric authentication system
WO2001011577A1 (en) * 1999-08-06 2001-02-15 Precise Biometrics Ab Checking of right to access

Also Published As

Publication number Publication date
CN1705923A (zh) 2005-12-07
AU2002334565A1 (en) 2004-03-11
JP4433472B2 (ja) 2010-03-17
JP2005535989A (ja) 2005-11-24
US8406478B2 (en) 2013-03-26
WO2004019190A1 (en) 2004-03-04
US20060129838A1 (en) 2006-06-15

Similar Documents

Publication Publication Date Title
CN100373285C (zh) 在验证中的分布式处理
US6934855B1 (en) Remote administration of smart cards for secure access systems
US7447910B2 (en) Method, arrangement and secure medium for authentication of a user
US20070180263A1 (en) Identification and remote network access using biometric recognition
US20090070860A1 (en) Authentication server, client terminal for authentication, biometrics authentication system, biometrics authentication method, and program for biometrics authentication
CN108134791A (zh) 一种数据中心综合管理系统登录验证方法
US20120032782A1 (en) System for restricted biometric access for a secure global online and electronic environment
US20110314285A1 (en) Registration method of biologic information, application method of using template and authentication method in biometric authentication
CN101375546A (zh) 用于欺骗监控、检测和分层用户鉴权的系统和方法
KR20040053253A (ko) 네트워크를 거쳐 생체 인식 데이터를 안전하게 전송하고인증하는 방법 및 장치
US20210349988A1 (en) Systems and methods for decentralized recovery of identity attributes
JP5315137B2 (ja) 認証システム、認証方法、読取装置およびプログラム
CN113892099A (zh) 信息处理装置和信息处理方法
CN110533417B (zh) 一种数字资产管理装置、发行方法及系统
JP2003099404A (ja) 認証サーバ装置、クライアント装置およびそれらを用いたユーザ認証システム、並びにユーザ認証方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体
KR20230149339A (ko) 아이덴티티 검증을 위한 생체 인식 디지털 서명 생성
US7934640B2 (en) Method, system, and computer program product for implementing pin-based data transfer activities
JP2022153444A (ja) 認証システム、送信装置、受信装置、認証方法、及びプログラム
US7958540B2 (en) Method for conducting real-time execution of transactions in a network
US20230319031A1 (en) Verification based on an encrypted representation of a physical identifier associated with a user
WO2023162232A1 (ja) 通信システム、通信方法、及びプログラム
JP7151015B1 (ja) プログラム、コンピュータおよび情報処理方法
WO2023162233A1 (ja) 通信システム、通信方法、及びプログラム
US20240013198A1 (en) Validate digital ownerships in immutable databases via physical devices
WO2004055737A1 (en) Apparatus and method forming a bridge between biometrics and conventional means of secure communication

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080305

Termination date: 20160808