首页> 中国专利> 不安全网络上的远端指纹认证

不安全网络上的远端指纹认证

摘要

本发明涉及一种允许使用客户机-服务器架构在不安全网络上进行远端指纹认证的方法、系统和计算机程序产品,这通过根据存储在服务器上的指纹数据生成一组与指纹模式相关的随机查询,客户机根据所观察的指纹模式对其进行响应,然后服务器发送与接收到确认答复的指纹模式之间的几何关系有关的随机生成的询问集,最终认证由客户机对所述询问的正确答复数来确定。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-20

    专利权有效期届满 IPC(主分类):G06F 1/00 专利号:ZL028086201 申请日:20020502 授权公告日:20050601

    专利权的终止

  • 2006-12-06

    专利申请权、专利权的转移专利权的转移 变更前: 变更后: 登记生效日:20061027 申请日:20020502

    专利申请权、专利权的转移专利权的转移

  • 2005-06-01

    授权

    授权

  • 2004-08-18

    实质审查的生效

    实质审查的生效

  • 2004-06-09

    公开

    公开

说明书

技术领域

本发明涉及使用客户机-服务器架构的不安全网络上的远端指纹认证。它一般涉及根据一个人的指纹认证该人的问题,更具体地说,涉及以通过获取在认证过程中所涉及的通信记录(transcript)打算以后模仿用户的窃听者得不到任何好处的方式通过不安全网络或信道上的通信实现该认证的问题。

背景技术

商业过程经常需要一个或多个商业实体的认证。同时,数字技术也已产生新的应用来认证如计算机用户、信用卡用户等。在这些认证过程中越来越多地使用各种生物测定。随着网络的广泛使用,很多这些应用涉及通信网络上的认证,其中,产生若干安全和隐私相关的问题。随着网络的普及,生物测定已从简单的桌面实现转到涉及防火墙和多操作平台的网络认证系统。指纹在所用的生物测定中是最流行的一种。当前生物测定认证机制的最重要弱点之一在于生物测定表示的数字表示。如果生物测定数字表示在认证过程中被网络侵入者获得,则商业过程的安全性可能遭到永久性的损害,因为生物测定表示一般首先是一元的(即,我们全都只有一个左拇指纹)。不同于密码,人不能改变所使用的生物数据。网络上指纹认证的所有现有技术方法涉及以某种形式发送所有或某一部分指纹,其中,该形式如果被解密,则会将所提供的安全性减至不可接受的低级别,从而使商业方法遭到损害。

使用加密是对通信安全和隐私需要的一种响应。更具体地说,该方法涉及在数据传输中使用编码或加密,并且只有当该编码或加密未被对手破解时才是安全的。

描述用于允许使用生物测定以在网络上认证的各种技术的一些发明如下给出:

US5917928:用于自动验证对象标识的系统和方法(System andmethod for automatically verifying identity of a subject),从基准图像获得特定基准段,然后,在验证过程中,使用基准段来选择所提供图像的一部分以与基准图像进行逐像素的比较。

WO035135A1:使用身体部分的连续变化特性作为密钥的安全系统(SECURE SYSTEM USING CONTINUOUSLY-CHANGINGFEATURES OF A BODY PART AS A KEY),对于每次验证,都传输一部分指纹图像,并且所传输的部分每一次验证均发生改变。这是用来保证窃听者每次仅获取图像的一部分。

WO9825385A1:用于改善网络应用中的安全性的方法和系统(METHOD AND SYSTEM FOR IMPROVING SECURITY INNETWORK APPLICATIONS)(也是US6076167),使用生物测定信息来在通信会话的开始认证用户,但是假定可以获得安全信道来传输该信息。更具体地说,对双方之间的通信进行加密。

WO9812670A1:用于提供安全访问的生物测定识别系统(BIOMETRIC IDENTIFICATION SYSTEM FOR PROVIDINGSECURE ACCESS)提出一种用于捕获并发送编码生物测定信息到接收器以用于各种应用的设备。

US6038666:使用个人识别的远端标识验证技术(Remote identityverification technique using a personal identification)也提出使用生物测定数据来进行认证,但是它还提出以加密形式进行传输(也就是,该发明的安全性依赖于通信信道的安全性)。

所有这些发明依赖于在认证期间使用加密来获得安全性。然而,存在下面若干不能通过加密来完全满足安全性需要的情形。首先,加密在处理速度、计算能力和设备成本方面具有一定的成本,并且这些成本在很多应用中可能是一种障碍或者可避免的负担。其次,使用加密可能向用户施加记忆密钥、保持密钥安全和以安全和非损害的方式使用加密的负担。技术上不熟练和本性上健忘或粗心的用户造成若干安全弱点。最后,完全依赖于网络安全性需要用户信任加密机构、密钥和其他加密基础设施、通信装置等的提供商。除了安全性考虑之外,当一些或所有这些当事人与用户具有利益冲突时,该信任可能是不良的。

发明内容

因此,本发明提供一种允许使用客户机-服务器架构在不安全网络上进行远端指纹认证的方法,包括:将指纹源的标识传输到服务器;在服务器从指纹数据库检索指纹源的指纹模式数据;将一组查询(query)传输到所述客户机,其中,各查询得自在所述指纹模式中随机选择的指纹模式元素集;在客户机将所接收的查询集与所观察的指纹模式进行比较;如果至少限定最小数目的查询得到验证,则将由客户机观察到匹配的那些查询的标识传输到服务器;生成一组与被标识的查询中指纹模式元素之间的限定物理关系有关的询问(challenge);将所述询问传输到所述客户机;在客户机根据所观察的指纹模式答复所述询问;以及如果服务器判定至少限定最小比例的答复正确,则确认认证过程。

最好,提供一种基于指纹的认证装置,可以以安全且值得信赖的方式工作于不保证通信安全性或隐私性的通信信道或网络。最好,提供一种系统和方法来用于该认证从而实现两个目的:使用指纹的高准确认证和在执行前一功能的时候不泄露指纹(与指纹相关的基本信息)。

在优选实施例中,提供一种改进的系统和方法来使用指纹进行认证。最好,这都提高安全性。此外,最好是不泄露指纹。此外,最好是称作服务器的认证方和称作用户的被认证方在不安全的通信信道或网络上相互远端通信。

在一个优选实施例中,提供一种改进的基于网络的商业方法,其中,即使当网络安全性已被损害时,商业伙伴也可以安全地得到认证。

在一个优选实施例中,标识是由所述客户机观察到指纹模式匹配的那些查询的索引。

最好,各查询包括有关指纹模式元素的相应随机选择集的几何信息。

最好,各查询包括指纹模式元素对之间的距离。

在一个实施例中,各查询包括从所选指纹模式元素到各个其他指纹模式元素的距离。

在一个优选实施例中,距离是两点之间的欧几里得距离或波峰计数(Ridge-Count)距离,或者笛卡儿值对,其中,两个值分别为欧几里得距离和波峰计数距离。

最好,各询问与被标识查询中指纹模式元素之间的几何关系有关。

最好,客户机试图最大化对所述询问的正确答复数。

在一个优选实施例中,对查询的最小匹配数是3,并且通过将被标识或匹配的查询的元素分组成均包含分别来自3个被标识查询的一个元素的有序3元组(tuple)来构造询问,对其的正确答复是通过以预定顺序连接3元组中的3个点形成的角度。

最好,为了使协议对噪声输入更稳固(robust),对查询的最小匹配数增至6,并且通过从各个查询中分别选取一个元素共6个模式元素、以及选择以设计为不泄露有关指纹的任何有用信息给窃听者的方式所选的由这6个元素形成的4个角度,构造询问。

最好,为了提高安全性,作为向量对传输查询,其中,向量对中的第二向量根据仅对于客户机和服务器已知的秘密排列来排列,客户机在处理之前对各查询的向量进行反排列。

最好,为通过拒绝虚假模式来提高准确性,服务器在登记的时候获取用户的若干指纹图像,其中,以成对的方式考虑指纹模式,并且一个图像中的指纹模式元素与另一图像中的对应元素相匹配,并且仅有匹配的那些元素存储在服务器的所述指纹数据库中。

根据另一方面,本发明提供一种允许使用客户机-服务器架构在不安全网络上进行远端指纹认证的系统,包括:一装置,用于将指纹源的标识传输到服务器;一装置,用于在服务器从指纹数据库检索指纹源的指纹模式数据;一装置,用于将一组查询传输到所述客户机,其中,各查询得自在所述指纹模式中随机选择的指纹模式元素集;一装置,用于在客户机将所接收的查询集与所观察的指纹模式进行比较;一装置,用于如果至少限定最小数目的查询得到验证,则将由客户机观察到匹配的那些查询的标识传输到服务器;一装置,用于生成一组与被标识的查询中指纹模式元素之间的限定物理关系有关的询问;一装置,用于将所述询问传输到所述客户机;一装置,用于在客户机根据所观察的指纹模式答复所述询问;以及一装置,用于如果服务器判定至少限定最小比例的答复正确,则确认认证过程。

最好,用于传输查询的装置使用有关指纹模式元素的相应随机选择集的几何信息。

最好,用于传输查询的装置使用指纹模式元素对之间的距离。

在一个实施例中,所述用于传输查询的装置使用从所选指纹模式元素到各个其他指纹模式元素的距离。

最好,用于生成询问的装置使用被标识查询中指纹模式元素之间的几何关系。

最好,对查询的最小匹配数是3,并且用于生成询问的装置将被标识的匹配查询的元素分组成均包含分别来自3个被标识查询的一个元素的有序3元组,对其的正确答复是通过以预定顺序连接3元组中的3个点形成的角度。

在另一方面,本发明提供一种包括存储在计算机可读存储介质上的计算机可读程序码的计算机程序产品,其中,该计算机可读程序码用于允许使用客户机-服务器架构在不安全网络上进行远端指纹认证,该计算机程序产品包括:计算机可读程序码单元,被配置用于将指纹源的标识传输到服务器;计算机可读程序码单元,被配置用于在服务器从指纹数据库检索指纹源的指纹模式数据;计算机可读程序码单元,被配置用于将一组查询传输到所述客户机,其中,各查询得自在所述指纹模式中随机选择的指纹模式元素集;计算机可读程序码单元,被配置用于在客户机将所接收的查询集与所观察的指纹模式进行比较;计算机可读程序码单元,被配置用于如果至少限定最小数目的查询得到验证,则将由客户机观察到匹配的那些查询的标识传输到服务器;计算机可读程序码单元,被配置用于生成一组与被标识的查询中指纹模式元素之间的限定物理关系有关的询问;计算机可读程序码单元,被配置用于将所述询问传输到所述客户机;计算机可读程序码单元,被配置用于在客户机根据所观察的指纹模式答复所述询问;以及计算机可读程序码单元,被配置用于如果服务器判定至少限定最小比例的答复正确,则确认认证过程。

附图说明

现在仅作为示例参照下面附图对本发明的优选实施例进行描述:

图1示出根据本发明一个优选实施例的系统;

图2示出根据本发明一个优选实施例的客户机操作的流程图;

图3示出根据本发明一个优选实施例的处理查询的客户机操作的流程图;

图4示出根据本发明一个优选实施例的服务器操作的流程图;

图5示出在服务器生成查询的过程变体。

具体实施方式

图1示出根据一个优选实施例的系统,它由在不安全网络上连接的两部分即客户机和服务器组成。所有登记用户的指纹数据库驻留在服务器上。服务器假定是安全的。客户机和通信介质假定是不安全的。目标是通过使用服务器数据库中的指纹验证声明标识I的任何人在客户机提供的指纹来对他进行认证。客户机和服务器模块相互通信以实现该验证,客户机是受验者,并且服务器是验证者。本优选实施例的协议假定客户机与服务器之间的开放通信信道,并且目标是保证窃听者得不到可能使他能够模仿具有标识I的人的任何有价值信息。

基本协议基于客户机与服务器之间的询问-答复序列。

1.协议以客户机声明标识I开始。

2.服务器从其数据库中检索I注册指纹的本地模板L,并且从L构造一组k个模式,各模式是来自L的一组细目(minutiae)(下面将详细说明)。这些k个模式是然后发送到客户机的查询。

3.在客户机的查询模板L’中,对于所接收的k个模式,客户机分别试图查找匹配。匹配的概念将在下面规定。它将能够最成功匹配的k个模式的子集的索引发送到服务器。我们将该子集称作S。

4.服务器然后构造与S中的模式相关的一组询问,并且将这些询问发送到客户机。

5.客户机尽其能力回答这些询问。

6.根据客户机答复的正确性,服务器判定客户机的标识声明是否得到确认。

图2示出根据本发明一个优选实施例的客户机操作的流程图。进入系统的用户提供他的指纹,并且向客户机软件声明标识。该协议以在功能块500中客户机将对标识I的用户声明传送到服务器开始。

然后,客户机模块的执行等待服务器在功能块1000中将一组k个查询传送给它。

执行流程然后进入客户机模块的功能块1500。在处理所有查询之后,执行流程进入功能块2000,其中,客户机对它能够匹配的查询数进行计数。如果匹配查询数低于阈值w(在本优选实施例中,该阈值为3),则用户不能证实他的标识,并且执行流程进入功能块2500,其中,将失败消息显示给用户。否则,执行流程进入功能块3000,其中,客户机向服务器公开w个最佳匹配集。匹配集通过指定它对应于哪个查询以及所有其元素的索引号来显示。这是子集S。在本优选实施例中,集合S由对应于某三个查询i、j、k的三个匹配集组成。

客户机的执行流再次进入等待,并且当在功能块3500中客户机从服务器获得一组询问时恢复。各询问是由客户机发送的匹配集的联合子集。作为响应,客户机必须计算并发送该子集的某属性。在本优选实施例中,每一个询问包含分别来自由客户机发送的三个匹配集的一点。因此,询问的形式为{N(Qai)、N(Qbj)、N(Qck)}。响应该询问,客户机计算并发送通过连接Qai和Qbj到Qck形成的角度f。这发生于功能块4000。

服务器将验证的成功或失败传送到客户机,客户机将其通知给用户。

查询包括由L中的某细目子集组成的几何模式信息。在本优选实施例中,第i模式是r+1细目点的集合{pi0、pi1、pi2、...、pir}。为安全起见,这些细目是从L的细目中随机均匀选择的。第i查询是向量{di1、di2、...、dir},其中,dij是pi0与pij之间的距离。虽然可以使用很多不同的距离测量如欧几里得距离和波峰计数距离(指纹中两点之间的波峰计数距离是连接这两点的线段上的波峰数)或其组合,在本优选实施例中,我们使用作为笛卡尔值对的距离测量,其中,两个值分别是欧几里得距离和波峰计数距离。

当接收到查询i时,客户机试图在L’中匹配它。也就是说,它试图在L’中查找一组点X={qi0、qi1、qi2、...、qis}以及大小s的查询子集Y,从而使集合X和Y在某种几何意义上类似,并且最大化s。在本优选实施例中,客户机试图查找L’中的细目集合{qi0、qi1、qi2、...、qis}以及从[1,s]到[1,r]的一一映射,从而对于范围[1,s]中的所有j,从qij到qi0的距离等于dif(j)(指定容限内)。该集合称作查询候选匹配。客户机查找这样的最大集合。如果最大候选匹配的大小s超过指定阈值t,则查询认为是与{qi0、qi1、qi2、...、qis}匹配--否则它不匹配。qij的索引号N(qij)定义为f(j)。

图3示出根据本发明一个优选实施例的处理查询的客户机操作的流程图。客户机接收k个查询。这些查询一次处理一个。执行开始于判决块1510,其中,客户机检查是否存在任何剩余查询尚未处理。如果没有剩余未被处理的查询,则执行继续,否则它进入功能块1520,其中,客户机选择所要处理的下一查询i。下一步,在功能块1530中,客户机为该查询查找(某大小s的)最大候选匹配。在判决块1550中,客户机检查是否s>t。如果否,则查询i不被匹配,否则它得到匹配,并且在功能块1580中,客户机选择查询i的匹配集--qi0、qi1、qi2、...、qis的子集Q1i、Q2i、......、QTi。下一步,执行返回到判定块1510。

图4示出根据本发明一个优选实施例的服务器操作的流程图。开始,在功能块500中,服务器等待客户机将其对标识I的声明传送给它。执行流程进入功能块5000,其中,服务器从其数据库中检索对应于I的指纹L。

然后,执行流程进入功能块5500,其中,使用L来如上所述构建k个查询。下一步,执行流程进入功能块1000,其中,服务器将该k个查询的集合发送到客户机。

当客户机以w个查询的索引(集合S)和相应的匹配集响应时,执行流程进入功能块6000,其中,服务器从S构造T个询问。服务器将w个匹配集的元素分组成元素组或模式,在本优选实施例中,这些元素分组成T个形式均为(Qai、Qbj、Qck)的有序3元组。各3元组包含分别来自3个匹配集的一个元素(如前所述,在本优选实施例中w=3)。每个该3元组为询问,对其的正确答复将是通过连接Qai和Qbj到Qck所形成的角度q。

构造询问之后,执行流程进入功能块3500,其中,服务器向客户机询问以使其公开{N(pai)、N(pbj)、N(pck)}之间的角度。例如,询问可以翻译如下:“公开第2查询的第3点、第5查询的第7点与第1查询的第6点之间的角度”。

在功能块4000中,客户机以各询问的角度答复。服务器模块的执行流程进入功能块6500,其中,服务器对来自客户机的正确回复进行计数。对于客户机发送角度f且正确响应为q的询问,如果q与f之间的差值小(即,abs(f-q)<A,其中,A为某所选阈值),则服务器认为答复正确;否则它认为答复不正确。

然后,执行流程到达判定块7000,其中,服务器检查正确答复数是否超过M,其中,M是另一所选阈值。如果超过,则客户机得到认证8000,否则,服务器声明认证失败7500。服务器将相应的判定结果传送到客户机,然后终止。

图5示出在服务器生成查询的过程变体(变体1)中使用用于构造查询的多个角度。该变体的动机是使协议对噪声输入更稳固,在这种噪声输入的情况下,由客户机的细目检测软件返回的很多细目是虚假的。

匹配模式元素的最小数目值‘w’增至6--客户机标识并选择6个查询,并且将相应匹配集发送到服务器。服务器然后从每个被标识的查询中选取一个细目,即6个细目p1、p2、p3、p4、p5、p6,并且选择由这6个细目形成的4个角度。6个细目之间的4个角度是以设计为不将有关指纹的任何有用信息泄露给窃听者的特定方式选择的。图5示出该角度选择规则。

协议的其余部分保持不变。

查询生成过程的另一变体(变体2)的目的是减少错误。考虑存在与中心的距离/波峰计数相同的2点的情况,即,q1和q2与q0的距离/波峰计数相同。在这种情况下,即使“正确”的是客户机在候选匹配中包括q2,它也可能错误地包括q1。变体2的动机是避免这些错误。

在该变体中,使用均匀随机选择的r个细目的集合与2个不同点pi0和vi的距离,形成查询I。我们首先随机选择{pi0、vi、pi1、pi2、...、pir},然后作为向量对(di1、di2、...、dir)、(Di1、Di2、...、Dir)构造查询,其中,cij是p10与pij之间的距离,并且Dij是vi与pij之间的距离。现在,候选匹配的形式为{qi0、zi、qi1、qi2、...、qis},从而对于所有j,从qij到qi0的距离等于dif(j),并且从qij到zi的距离等于Dif(j)(均在指定容限内)。

协议的所有其他元素保持不变。

一般而言,变体2可以以各查询由大小均为r的x个向量组成的方式来修改,其中,各向量对应于r个所选点与不同中点的距离。

在服务器和客户机可以共享仅对于它们已知的秘密排列的应用中,变体2可以提供额外一层安全性。服务器在发送均为向量对的查询的时候,将根据秘密排列来排列向量对中的第二向量。客户机将对各查询的第二向量进行反排列,然后如同以前进行处理。

除了上面提出的变体之外,认证过程操作可以通过提高协议准确性来进一步改进。协议准确性受到由于图像噪声而由细目提取软件产生的虚假细目的影响。如果用于构造查询i的细目pi0是虚假的,则该查询不可能对认证过程有用。这就表明虚假细目如何减少正确遵循协议的客户机成功认证的机会。一个改进是通过减少服务器数据库的图像中虚假细目数来克服这一困难。

在该改进中,在登记用户的时候,当将用户指纹加到服务器数据库时,获取若干用户指纹图像。然后,成对地考虑这些图像,并且试图将这些图像对的一个图像中的细目与图像对的另一图像中的细目相匹配。该匹配可以人工或者使用软件来完成。如果第一图像中的细目匹配第二图像中的细目b,则细目a和b被认为是非虚假的。

所要存储在服务器数据库中的指纹得自若干图像之一。这通过从图像中丢弃在上述过程中不与其他图像中的任何细目相匹配的所有细目来完成。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号