掌桥专利:专业的专利平台
掌桥专利
首页

基于可撤销的生物度量印迹的标识

文献发布时间:2023-06-19 11:27:38


基于可撤销的生物度量印迹的标识

背景技术

生物度量(biometrics)是对活实体的生理特性的测量,该活实体大多数时候是人类。生物度量经常被用于标识人类和/或控制人类对资源的访问的目的。例如,生物度量可以包括指纹、面部特征、掌静脉图案、手部几何形状、虹膜图案、视网膜图案等。为了由计算系统使用,适当的生物度量被转换成计算机可读代码,该计算机可读代码经常被称为“生物度量印迹(biometric print)”。

例如,许多移动设备具有指纹扫描器,该指纹扫描器允许人类用户登记指纹(例如,每手指一个指纹)用于稍后访问该移动电话的目的。那些指纹作为一组生物度量印迹被存储在移动设备上,针对每个已登记指纹有一个生物度量印迹。稍后,如果用户期望解锁移动设备或者使用移动设备的受限制的特征,则用户可以重扫描他们已登记手指中的一个已登记手指,该已登记手指与已登记指纹进行匹配。这样的指纹重扫描是获得对移动设备的访问的其他形式(诸如也许是录入密码)的备选。

匹配通过将被重扫描的指纹转换成新的生物度量印迹而发生。该新的生物度量印迹然后被与已登记生物度量印迹中的每个已登记生物度量印迹比较,直到足够类似的已登记生物度量印迹被找到为止,或者直到所有的已登记生物度量印迹被检查而没有匹配为止。如果匹配的已登记生物度量印迹被找到,则移动设备解锁其自身和/或启用移动设备的受限制的特征。

本文所要求保护的主题不限于解决诸如上述那些的任何缺点或仅在诸如上述那些的环境中操作的实施例。而是,仅提供该背景来说明可以实践本文所描述的一些实施例的一个示例性技术领域。

发明内容

本文中所描述的原理准许用户撤销生物度量印迹,该生物度量印迹是表示该用户的生物度量(例如,指纹)的计算机可读代码。传统上,给定被用于根据生物度量计算生物度量印迹的处理的知识,相同的样本生物度量将总是引起相同的生物度量印迹。这意味着一旦生物度量印迹被知晓,就没有重新发布针对用户的替代生物度量印迹的方式。相反,本文中所描述的原理允许生物度量印迹被撤销。

使用生物度量来认证包括两个阶段:登记阶段和稍后的匹配阶段。在登记阶段中,用户以及他的/她的生物度量数据被登记在认证系统中。当确定该生物度量来自该相同的用户时,该已登记的生物度量数据将被用于将来的匹配阶段中。在该匹配阶段中,用户提供当前生物度量,该当前生物度量被用于生成当前生物度量数据(本文中也被称为“经处理印迹”),该认证系统可以通过将当前生物度量数据与已登记生物度量数据进行匹配来使用该当前生物度量数据进行认证。

根据本文中所描述的原理,登记通过基于至少两片信息来生成经处理印迹而发生。第一,存在要被登记的生物度量印迹。第二,存在用户特定的数据,该用户特定的数据是、或者对应于被认证系统识别为与用户相关联的用户特定的数据。通过使用用户特定的数据来执行生物度量印迹的单向处理,经处理印迹被生成。单向处理是这样的处理:来自该处理的处理的原始输入无法从输出被导出。一个示例是将输入进行哈希,或者以私钥来对输入签名。

作为第一示例,用户特定的数据可以是针对用户的哈希盐,并且单向处理可以是对生物度量印迹与用户的盐哈希一起进行哈希(或许进行链哈希(chain-hashing))。作为第二示例,用户特定的数据可以是与用户相关联的公钥/私钥对中的私钥。在该第二示例中,单向处理包括使用私钥来对生物度量印迹(或者生物度量印迹的经哈希版本或许经链哈希版本)数字地签名。认证系统具有对公钥/私钥对中的公钥的访问并且因此可以验证用户使用对应的私钥签名。

经处理印迹而不是生物度量印迹然后被提供给认证系统,用于稍后使用经处理印迹和由认证系统识别为与用户相关联的用户特定的数据来认证用户。因此,利用认证系统看着通信通道的任何人将不会发现实际的生物度量印迹。

通过使用户特定的数据无效,经处理的生物度量可以被撤销。例如,用户的哈希盐可以被撤销,或者公钥/私钥对可以被无效。这意味着只要经处理印迹也是使用被无效的用户特定的数据而被生成的,则从生物度量印迹生成的任何经处理印迹将不被承认。

在匹配期间,用户稍后提供当前生物度量(例如,已登记手指的指纹),这引起当前生物度量印迹的生成。针对多个用户中的每个用户,用户特定针对该用户被获取,并且针对每个用户至少一个经处理印迹基于当前生物度量印迹而被生成。经处理印迹由认证系统用以将所提供的当前经处理印迹与已登记的经处理印迹中的每个已登记的经处理印迹来进行匹配。如果匹配被找到,则用户被标识为是与匹配的已登记的经处理印迹相关联的用户。

本文中所描述的一些实施例还防止重演生物度量印迹。因此,即使另一方获得对该生物度量印迹的不适当访问,该用户也将不能够使用该生物度量印迹来假装他们是在使用生物度量印迹来向认证系统认证时的用户。根据这些实施例中的至少一些实施例,这通过使单向处理包括链哈希来达成。

提供本发明内容以简化的形式介绍了概念的选集,这些概念将在以下具体实施方式中被进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于协助确定所要求保护的主题的范围。

附图说明

为了描述可以获取本发明的上述和其他优点和特征的方式,将参考在附图中所图示的本发明的特定实施例来对以上所简要描述的本发明进行更具体的描述。因此,这些附图仅描绘了本发明的示例实施例,并且因此不应被认为是对本发明范围的限制。鉴于此,将参考附图来描述和解释本发明的示例实施例,在附图中:

图1图示了本文中所描述的原理可以在其中操作的系统,该系统包括用户,该用户出于向认证系统登记生物度量、以及稍后匹配该生物度量用于认证该用户的目的而与客户端计算系统交互;

除了与登记相关联的各种数据流被图2图示以外,图2还图示了和图1的系统相同的系统;

图3图示了用于登记用户以便启用对该用户的可撤销的生物度量认证的方法的流程图;

图4A图示了第一示例,在第一示例中用户特定的数据是哈希盐,并且单向处理是生物度量印迹和哈希盐的组合的单个哈希操作;

图4B图示了第二示例,在第二示例中用户特定的数据是公钥/私钥对中的私钥,并且单向处理是使用私钥来对生物度量印迹进行数字签名;

图4C图示了第三示例,在第三示例中用户特定的数据是哈希盐,并且单向处理是生物度量印迹和哈希盐的组合的链哈希操作;

图4D图示了第四示例,在第四示例中用户特定的数据是私钥,并且单向处理是对生物度量印迹的链哈希操作,随后使用私钥对结果进行数字签名;

图5是除了现在认证系统的更多元素被图示、并且与匹配相关联的数据流也被示出以外,和图2中的系统类似的系统;

图6图示了方法的流程图,该方法用于在登记用户之后向认证系统标识(匹配的)用户;以及

图7图示了在其中可以采用本文中所描述的原理的示例计算机系统。

具体实施方式

本文中所描述的原理准许用户撤销生物度量印迹,该生物度量印迹是表示该用户的生物度量(例如,指纹)的计算机可读代码。传统上,给定被用于根据生物度量计算生物度量印迹的处理的知识,相同的样本生物度量将总是引起相同的生物度量印迹。这意味着一旦生物度量印迹被知晓,就没有方法来重新发布针对用户的替代生物指标印迹。相反,本文中所描述的原理允许生物度量印迹被撤销。

使用生物度量的来认证包括两个阶段:登记阶段和稍后的匹配阶段。在登记阶段中,用户和他的/她的生物度量数据被登记在认证系统中。当确定该生物度量来自该相同的用户时,该已登记的生物度量数据将被使用在将来的匹配阶段中。在该匹配阶段中,用户提供当前生物度量,该当前生物度量被用于生成当前生物度量数据(本文中也被称为“经处理印迹”),认证系统可以通过将当前生物度量数据与已登记生物度量数据进行匹配来使用该当前生物度量数据进行认证。

根据本文中所描述的原理,登记通过基于至少两片信息来生成经处理印迹而发生。第一,存在要被登记的生物度量印迹。第二,存在用户特定的数据,该用户特定的数据是、或者对应于被认证系统识别为与用户相关联的用户特定的数据。通过使用用户特定的数据来执行生物度量印迹的单向处理,经处理印迹被生成。单向处理是这样的处理:来自该处理的处理的原始输入无法从输出被导出。一个示例是将输入进行哈希,或者利用私钥来对输入签名。

作为第一示例,用户特定的数据可以是针对用户的哈希盐,并且单向处理可以是对生物度量印迹与用户的盐哈希一起进行哈希(或许进行链哈希)。作为第二示例,用户特定的数据可以是与用户相关联的公钥/私钥对中的私钥。在该第二示例中,单向处理包括使用私钥来对生物度量印迹(或者生物度量印迹的经哈希的或也许经链哈希的版本)进行数字签名。认证系统具有对公钥/私钥对中的公钥的访问并且因此可以验证用户使用对应的私钥签名。

经处理印迹而不是生物度量印迹然后被提供给认证系统,以供稍后使用经处理印迹和由认证系统识别为与用户相关联的用户特定的数据来认证用户。因此,利用认证系统看着通信通道的任何人将不会发现实际的生物度量印迹。

通过使用户特定的数据无效,经处理的生物度量可以被撤销。例如,用户的哈希盐可以被撤销,或者公钥/私钥对可以被无效。这意味着只要经处理印迹也是使用被无效的用户特定的数据而被生成的,则从生物度量印迹生成的任何经处理印迹将不被承认。

在匹配期间,用户稍后提供当前生物度量(例如,已登记手指的指纹),这引起当前生物度量印迹的生成。针对多个用户中的每个用户,用户特定针对该用户被获取,并且针对每个用户至少一个经处理印迹基于当前生物度量印迹而被生成。经处理印迹由认证系统用以将所提供的当前经处理印迹与已登记的经处理印迹中的每个已登记的经处理印迹来进行匹配。如果匹配被找到,则用户被标识为是与匹配的已登记的经处理印迹相关联的用户。

本文中所描述的一些实施例还防止重演生物度量印迹。因此,即使另一方获得对该生物度量印迹的不适当访问,那个用户也将不能够使用该生物度量印迹来假装他们是在使用生物度量印迹来向认证系统认证时的用户。根据这些实施例中的至少一些实施例,这通过使单向处理包括进行链哈希来达成。

首先,将参考图1来描述包括用户、客户端计算系统、和认证系统的系统。然后,将参考图2、图3和图4A来描述向认证系统登记用户的生物度量。其后,将参考图5和图6来描述匹配用户的生物度量以供认证该用户。然后将参考图4B、图4C和图4D来描述单向处理的附加示例。最终,将参考图7描述示例计算系统,该示例计算系统可以是客户端计算系统和/或认证系统。

图1图示了本文中所描述的原理可以在其中操作的系统100。系统100包括与客户端计算系统110交互的用户A。系统100还包括认证系统120。客户端计算系统110和认证系统120可以各自如以下针对图7的计算系统700所描述的而被构造。

如图1所图示,用户A具有生物度量101。生物度量象征性地被图示为圆圈。生物度量101可以是将用户A从绝大多数其他用户区分开的用户A的任何可测量的生理特征或特征的组合。作为示例,生物度量101可以是指纹、面部特征、掌静脉图案、手部几何形状、虹膜图案、视网膜图案等。生物度量101被图示为包括四个生物度量101A、101B、101C和101D。然而,省略号101E表示用户101具有可枚举的生理特征,这些可枚举的生理特征对该用户很大程度上是独有的,并且因此可以被用于标识该用户。

客户端计算系统110还包括生物度量印迹捕获组件111、单向处理组件112和通信组件113。这些组件111、112和113可以是客户端计算系统110的软件组件和/或硬件组件。例如,如果客户端计算系统110如以下针对图7的计算系统700所描述的而被构造,则生物度量印迹捕获组件111、单向处理组件112和通信组件113中的每个组件可以被如针对图7的可执行组件706所描述的而被构造。

使用生物度量来认证包括两个阶段:登记阶段和稍后的匹配阶段。在登记阶段中,用户以及他的/她的生物度量数据被登记在认证系统中。当确定该生物度量来自该相同的用户时,该已登记的生物度量数据将被使用在将来的匹配阶段中。在该匹配阶段中,用户使用当前生物度量(或者更具体地,从该当前生物度量所生成的当前生物度量数据),认证系统可以使用该当前生物度量数据来通过将当前生物度量数据与已登记生物度量数据进行匹配来进行认证。

现在将参考图2和图3描述示例登记过程。除了与登记相关联的各种数据流被图2图示以外,图2还图示了和图1的系统100相同的系统200。图3图示了用于登记用户以便启用对该用户的可撤销的生物度量认证的方法300的流程图。方法300可以针对用户的多个生物度量印迹中的每个生物度量印迹而被执行。现在将利用对图2的系统200的频繁引用来描述图3的方法300。

方法300包括获取用户的生物度量印迹(动作301)。生物度量印迹是用户的生物度量的计算机可读表示。例如,在图2中,用户A向客户端计算系统110提供他的/他的生物度量101中的一些生物度量(具体地,生物度量101A、101B和101D)。生物度量印迹捕获组件111针对所提供的生物度量101A、101B和101D中的每个所提供的生物度量来生成生物度量印迹201。例如,生物度量印迹捕获组件111生成数字地表示生物度量101A的生物度量印迹201A、数字地表示生物度量101B的生物度量印迹201B、以及数字地表示生物度量101D的生物度量印迹201D。

省略号201E表示生物度量印迹捕获组件111可以生成针对由用户A提供的其他生物度量101的生物度量印迹201。生物度量印迹201C的缺少只是为解释用户A具有许多生物度量,并且不是那些生物度量中的所有生物度量需要被提供。的确,生物度量印迹捕获组件111可能未被装备用于捕获用户的生物度量中的所有生物度量。例如,生物度量印迹捕获组件111可以是仅捕获指纹的指纹读取器。生物度量印迹捕获组件111可以与任何生物度量印迹捕获组件相同地被构造,无论是现在存在的还是尚未被开发的生物度量印迹捕获组件。生物度量印迹捕获组件111的精确结构对本文中所描述的更宽泛的原理是不重要的,并且仅针对上下文被解释。

参考图3,与常规生物度量系统不同,方法300还包括获取用户特定的数据(动作302),该用户特定的数据是、或者对应于被认证系统识别为与用户相关联的用户特定的数据。例如,在图2中,单向处理组件接收特定于用户A的用户特定的数据202。

此外,方法300包括通过使用所获取的用户特定的数据执行对生物度量印迹的单向处理,来生成经处理印迹(动作303)。单向处理是在其中处理的原始输入无法从该处理的输出被导出的处理。以下将参考图4A至图4D来描述使用用户特定的数据来处理生物度量印迹的单向处理的示例。

例如,在图2中,单向处理组件112使用用户特定的数据来执行对生物度量印迹201中的至少一些生物度量印迹的单向处理,以由此生成经处理印迹203。例如,单向处理组件112使用用户特定的数据202来执行对生物度量印迹201A的单向处理,以由此生成对应的经处理印迹203A。同样,单向处理组件112使用用户特定的数据202来执行对生物度量印迹201B的单向处理,以由此生成对应的经处理印迹203B。这表示了在其中用户特定的数据特定于用户、但是可以被用于该用户的多个生物度量印迹的实施例。生物度量印迹201是原始生物度量印迹的事实由生物度量印迹201中的每个生物度量印迹是向上指的三角形来表示。经处理印迹203是生物度量印迹的经处理版本由经处理印迹203中的每个经处理印迹是向下指的三角形来表示。相同的符号也被使用在图5中。

图4A图示了简单的示例400A,在示例400A中用户特定的数据202是哈希盐201A,并且单向处理是单个哈希操作。在图4A中,生物度量印迹401A和哈希盐402A的组合被提供给哈希组件410A以生成经处理印迹411A。例如,设想哈希盐402A是s

模板

在式1的示例中,用户特定的数据是用户的哈希盐,并且单向处理包括对生物度量印迹与用户的哈希盐一起进行哈希(也被称为进行生物度量印迹的加盐哈希(saltedhashing)),产生经处理印迹。

在备选的实施例中,用户特定的数据也特定于具体的生物度量印迹。例如,图2示出了特定于用户A并且也特定于生物度量印迹201A的用户特定的数据202A、以及特定于用户A并且也特定于生物度量印迹201B的用户特定的数据用户特定的数据202B。在这种情况下,单向处理组件112使用用户特定的数据202A来执行对生物度量印迹201A的单向处理,以由此生成对应的经处理印迹203A。同样,单向处理组件112使用用户特定的数据202B来执行对生物度量印迹201B的单向处理,以由此生成对应的经处理印迹203B。式2图示了模板的示例,在该模板的示例中存在多个哈希盐[s

模板

本文中将进一步参考图4A的示例以及式1和式2,尽管稍后将参考图4B至图4D描述附加的示例,但这将在参考图5和图6对匹配的描述之后。

经处理印迹203D的缺乏简单地是为解释本文中所描述的原理不要求对由客户端计算系统110所捕获的每个生物度量印迹201的单向处理。然而,单向处理的确对由客户端计算系统所捕获的所有生物度量印迹而被执行,但是也可能对由客户端计算系统捕获的生物度量印迹中的仅一些生物度量印迹、或者也许甚至仅一个生物度量印迹而被执行。

方法300然后使经处理印迹被提供给认证系统(动作304)。例如,在图2中,通信组件113可以向认证系统120提供经处理印迹202。例如,多个经处理印迹的摘要可以被提供给认证系统120。经处理印迹的该摘要可以被用于稍后在一个或多个匹配阶段对用户A的认证。

回想与生物度量标识相关联的两个阶段中的第一个阶段是以上参考图2和图3所描述的登记阶段。现在将参考图5的系统500和图5的方法600来描述后续的匹配阶段。匹配阶段可以在登记阶段之后每次用户向认证系统认证他自己/她自己时可以被执行。

图5是与图2的图2的系统200类似的系统500,除了现在认证系统120的更多元素以认证系统520的形式被图示以外。例如,取决于在客户端计算系统110处所执行的单向处理的类型,认证系统520可以使用预处理组件541来执行附加的单向处理。另外,认证系统520包括匹配组件542,匹配组件542执行将接收的经处理印迹(或者经预处理的经处理印迹)与已登记的经处理印迹进行匹配。当认证系统120如以下针对计算系统700所描述的被构造时,预处理组件541和匹配组件542中的每个组件可以如以下针对图7的可执行组件706所描述的被构造。此外,在图5中,与匹配相关联的数据流被图示,而图2图示了与登记相关联的数据流。

认证系统520包括与多个用户相关联的已登记的经处理印迹510。例如,存在与用户A相关联的经处理印迹203A和203B(即,经处理印迹203),与用户B相关联的经处理印迹512A和512B(即,经处理印迹512),与用户C相关联的经处理印迹513A和513B(即,经处理印迹513),以及与用户D相关联的经处理印迹514A和514B(即,经处理印迹514)。另外,认证系统500具有分别与用户A至用户D中的每个用户相关联的用户特定的数据521至用户特定的数据524(即,用户特定的数据520)。同样,认证系统500也许具有分别与用户A至用户D中的每个用户相关联的处理信息531至处理信息534(即,处理信息530)。仅出于示例的目的,认证系统520被图示为包括与仅四个用户A、B、C和D相关联的经处理印迹510、用户特定的数据520以及处理信息。然而,认证系统可以包括针对任何数目的用户的这样的数据。

图6图示了方法600的流程图,方法600用于在登记用户之后向认证系统标识用户。方法600可以在图5的系统500中被执行。因此,现在将利用对图5的系统500的频繁引用来描述图6的方法600。由客户端计算系统(例如,图1、图2和图5的客户端计算系统110)执行的动作在图6的左列中的“客户端”标题下被表示。由认证系统(例如,图1、图2的认证系统120或者图5的认证系统520)执行的动作在图6的右列中的“认证系统”标题下被表示。即是说,出于匹配的目的而捕获生物度量印迹的计算系统不需要是出于先前登记的目的而捕获多个生物度量印迹的同一计算系统。

客户端计算系统获取用户的生物度量印迹(动作601)。例如,在图5中,生物度量印迹捕获组件111捕获用户A的生物度量101B以生成生物度量印迹501B。生物度量印迹501B很可能与生物度量印迹201B相同或者非常类似,生物度量印迹201B先前在登记时由生物度量印迹捕获组件111从同一生物度量101B捕获。然而,不同于登记阶段,也许一个生物度量印迹从单个生物度量被生成。作为示例,在登记期间,用户可能已经登记他的/她的手指中的所有手指。然而,当在匹配阶段期间稍后的认证时,也许用户仅使用单个手指来认证。

然后,多个经处理印迹从单个生物度量印迹而被生成,而不是从该单个生物度量印迹来生成单个经处理印迹。具体地,在图6中,盒610的内容可以针对多个用户中的每个用户(例如,针对用户A、B、C和D中的每个用户)而被执行。

更具体地,用户特定的数据被获取,该用户特定的数据是、或者对应于用户的相应的用户特定的数据(动作611)。例如,在图5中,单向处理组件112接收生物度量印迹501B,以及针对用户A、B、C和D中的每个用户的用户特定的数据521至用户特定的数据524。单向处理组件然后通过使用所获取的相应的用户特定的数据来执行对更近的生物度量印迹的相应单向处理,来针对那些用户中的每个用户生成对应的经处理印迹(动作612)。客户端计算系统110可以从认证系统520获取用户特定的数据521至用户特定的数据524。

例如,设想更近被接收的生物度量印迹501B被符号化为p

[h(p

在图5的示例中,经处理印迹包括从生物度量印迹501B使用用户特定的数据521所生成的经处理印迹502A,从生物度量印迹501B使用用户特定的数据522所生成的经处理印迹502B,从生物度量印迹501B使用用户特定的数据523所生成的经处理印迹502C,以及从生物度量印迹501B使用用户特定的数据524所生成的经处理印迹502D。

方法600然后包括使针对多个用户中的每个用户的经处理印迹被提供给认证系统用于对特定用户的认证(动作615)。例如,在图5中,通信组件113向认证系统520提供经处理印迹502(包括经处理印迹502A、502B、502C和502D中的每个经处理印迹)。

方法600然后进行到认证系统,认证系统尝试匹配生物度量以标识特定用户。具体地,认证系统访问当前的经处理印迹(动作621)。在图5的情况下,认证系统520接收经处理印迹502A至502D。认证系统还可以执行对经处理印迹的一些预处理(动作622)。以下将参考图4C和图4D进一步描述预处理可能在其中有益的场景。

盒630的内容然后可以针对多个用户中的每个用户而被执行以确定:如果有的话,最近被扫描的用户是已登记用户中的哪个已登记用户。作为该过程的部分,认证系统确定经处理印迹是使用用户特定的数据而被生成(动作631)。在盐哈希的情况下,这在将用户与匹配的经处理印迹进行匹配时是隐式的。最后,如果哈希不是基于有效的盐哈希而被生成,则匹配的经处理印迹无法被找到。

认证系统还访问针对对应的用户的已登记的经处理印迹的集合(动作632)。认证系统确定是否存在当前经处理印迹与针对对应的用户的已登记的经处理印迹的集合中的已登记的经处理印迹中的任何已登记的经处理印迹的匹配(决策框633)。如果否(决策框633中的“否”),则认证系统检查是否存在针对下个用户的匹配,或者如果不存在,则未能标识用户(动作634)。如果是这样(决策框633中的“是”),则认证系统确定对应的用户被标识(动作635)。

例如,在图5中,在存在用户A、B、C和D的情况下,认证系统120可以确定是否更近的经处理印迹502中的任何经处理印迹匹配那些已登记的经处理印迹203A和203B、512A和512B、513A和513B、以及514A和514B。在式3的盐哈希示例中,认证系统会确定h(p

一旦匹配的用户被找到,就不需要继续评估附加的用户(动作635)。然而,设想经处理印迹h(p

也许还存在对当前经处理印迹的一些最终单向处理(动作622)。当被执行的处理是执行对生物度量的单个哈希时,情况可能不是如此。然而,当整个单向处理涉及进行预定次数的链哈希时,很可能是这种情况。以下将参考图4C和图4D进一步描述该预处理。然而,目前,本说明书以图4B的描述继续。

图4B图示了可以由图1、图2和图5的单向处理组件112执行的单向处理400B。在该情况下,单向处理是数字地签名并且用户特定的数据是公钥/私钥对中的私钥。单向处理包括签名组件410B,签名组件410B使用私钥402B来对生物度量印迹401B数字地签名,以生成以经签名的生物度量印迹形式的经处理印迹411B。在该情况下,用户特定的数据是与用户相关联的公钥/私钥对中的私钥402B。对应的公钥是由认证系统识别为与用户相关联的用户特定的数据。认证系统520可以使用公钥以便确定经处理印迹411B的确是由用户签名(例如,在动作631中)。如果认证系统520不能做出该确定,则该用户不被确定为匹配(动作634)。

图4C图示了生物度量印迹的单向处理的另一示例400C。在该情况下,进行链哈希组件410C根据链长度403C对生物度量印迹401C和盐哈希402C的组合进行预定次数的链哈希。哈希盐402可以是用户特定的数据(例如,用户特定的数据520)。链长度403C可以是处理信息(例如,处理信息530)。客户端计算系统110可以从认证系统520获取该信息。

正如传统的生物度量系统,如果有效的加盐哈希可以被获取,则对生物度量印迹与哈希盐一起进行的哈希仍然可能被泄露。换而言之,如果攻击者能够获取针对用户

例如,假设一片数据x被哈希100次,以导致y=h

在登记期间,认证系统将确定对用户合适的链长度。在我们的示例中我们选择100的链长度。一旦链被耗尽,用户就将重登记以继续利用认证系统。为限制用户的不方便以及避免用户重登记,用户可以被提示使用另一机制来验证他们自身,该另一机制可以引导印迹的重链。

目前,我们看看更简单的情况,在该情况下,一旦链被耗尽,登记就将被要求继续使用系统。认证系统可以通知客户端计算系统1)执行链哈希多少次以便登记经处理印迹的摘要(例如,100),以及2)哈希盐s

在链长度被确定的情况下,登记将如之前被执行,但是模板现在将被如以下式4中被构建:

模板

在该状态下,每个印迹具有100的链长度,这允许特定印迹在需要登记之前被使用上至100次。

为执行匹配,未知用户的印迹根据以下式5如前被进行哈希:

[h(p

一旦摘要被准备好,匹配就被稍微改变,特别是在未知用户被与用户A比较的情况下。使用以上模板,模板

该系统然后将该新的、经链的摘要与模板

模板

此时,系统准备好再次使用该模板。下一次,然而,认证系统指令针对链长度98的经链哈希的印迹被提供。设想用户然后提供新的未知生物度量印迹p

更一般地说,认证系统基于每用户来跟踪在单向处理中要被执行的连接的数目,并且当用户成功被认证时递减该用户的链接数目。这允许认证系统指令客户端计算系统针对哪个用户执行什么单向处理。

例如,仅出于示例的目的,假设针对用户A的当前链长度是99,针对用户B的当前链长度是82,针对用户C的当前链长度是90,以及针对用户D的当前链长度是15。在该情况下,客户端计算系统会向认证系统提供十六个不同的经处理印迹,4个针对用户A(一个链长度14的,一个链长度81的,一个链长度89的,以及一个链长度98的),4个针对用户B(再次具有链长度14、81、89和98),4个针对用户C(具有相同的4个链长度),以及4个针对用户D(具有相同的链长度)。

现在,设想用户A针对一个认证而被标识。针对用户A的当前链长度会从99递减到98。针对用户B的当前链长度会保持在82处,针对用户C的当前链长度会保持在90处,并且针对用户D的当前链长度会保持在15处。在下个认证处,客户端计算系统会仍然向认证系统提供十六个不同的经处理印迹,4个针对用户A(一个链长度14的,一个链长度81的,一个链长度89的,以及一个链长度97的),4个针对用户B(再次具有链长度14、81、89和97),4个针对用户C(具有相同的4个链长度),以及4个针对用户D(具有相同的链长度)。如果用户D被认证,则针对用户D的当前链长度会被递减到14。

在另一示例中,链长度特定于用户和经处理印迹。例如,再次考虑其中A的模板是如下的情况:

模板

使用以上模板,系统将注意每个印迹摘要被链了上至100次,所以其将使用h(p

此时,系统已经证实未知用户的身份是用户A。其然后将第三摘要回滚一个,以导致A的模板为

模板

在特定印迹链已经被耗尽的情形中,系统将简单地要求用户执行如针对撤销经链的模板所详述的相同过程。这要求用户再次证明他们是谁、并且以经重新捕获的生物度量数据来为他们创建新的模板而对其跟进。该模板将具有新的、完全经链的印迹的集合,该集合准备好被用于再次匹配。

尽管不如重注册的情况安全,但是系统可以选择更加用户友好的方法来重链接印迹,如以下所详述的。

假设用户的印迹是处于该状态中:

模板

你将注意到第三经链的印迹将被耗尽。系统已经刚证实用户,但是链无法再进一步滚动。在该情况下,系统将使用经修改的解决方案,该经修改的解决方案利用每印迹种子。因此模板实际会被设计如下模板

通过采用该模型,我们现在可以在第三印迹耗尽时通过利用新的第3印迹种子,即s

该解决方案会允许有效的用户体验,并且允许印迹而不是模板的有针对性的撤销,允许仅已被泄露的印迹要被撤销以及在没有登记的情况下轻松将印迹重链接在模板中。

图4D图示了最终示例400D,在示例400D中单向处理410D包括对生物度量印迹401A进行链哈希410C上至链长度403C次,随后是使用私钥402B来对链哈希412D签名410B,以生成经处理印迹411D。

在以上中每项中,注意经处理印迹的撤销可以通过简单地通知认证系统用户特定的数据不再有效而被执行。这导致认证系统(在动作631处)确定用户特定的数据不再有效,并且因此从该用户特定的数据所生成的经处理印迹与用户不匹配。例如,在图4A和图4C中,哈希盐可以被无效。在图4B和4D中,公钥可以被无效。

因为本文所描述的原理在计算系统的情境中操作,所以将参考图7来描述计算系统。计算系统现在正越来越采取多种形式。计算系统可以是例如手持设备、装置、膝上型计算机、台式计算机、大型机、分布式计算系统、数据中心、或者甚至是传统上不被视为计算系统的设备,诸如可穿戴设备(例如眼镜、手表、带等)。在本说明书和权利要求书中,术语“计算系统”被宽泛地定义为包括任何如下设备或系统(或其组合):该设备或系统包括至少一个物理和有形的处理器,以及能够在其上具有可以由处理器执行的计算机可执行指令的物理和有形的存储器。存储器可以采取任何形式,并且可以取决于计算系统的性质和形式。计算系统可以被分布在网络环境上,并且可以包括多个组成计算系统。

如图7所图示的,在其最基本的配置中,计算系统700通常包括至少一个硬件处理单元702和存储器704。存储器704可以是物理系统存储器,其可以是易失性的、非易失性的、或者这两者的某种组合。术语“存储器”在本文中还可以被用于指代非易失性大容量存储装置,诸如物理存储介质。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。

计算系统700在其上具有经常被称为“可执行组件”的多个结构。例如,计算系统700的存储器704被图示为包括可执行组件706。术语“可执行组件”是可以被计算领域中的本领域普通技术人员很好理解的结构的名称,其是可以是软件、硬件或其组合的结构。例如,当用软件实现时,本领域的普通技术人员将理解,可执行组件的结构可以包括可以在计算系统上被执行的软件对象、例程、方法,无论这样的可执行组件是否存在于计算系统的堆中,或者可执行组件是否存在于计算机可读存储介质上。

在这样的情况下,本领域普通技术人员将认识到,可执行组件的结构存在于计算机可读介质上,以使得当由计算系统的一个或多个处理器(例如,由处理器线程)解释时,使计算系统执行功能。这样的结构可以是由处理器直接计算机可读的(如如果可执行组件是二进制的情况)。备选地,该结构可以被构造为(无论是在单个阶段中还是在多个阶段中)可解释和/或编译的,以便生成由处理器直接可解释的这样的二进制。当使用术语“可执行组件”时,对可执行组件的示例结构的这种理解很好地在计算领域的普通技术人员的理解之内。

术语“可执行组件”也被本领域普通技术人员很好地理解为包括只用硬件或几乎只用硬件所实现的结构,诸如在现场可编程门阵列(FPGA)、专用集成电路(ASIC)或任何其他专用电路内。因此,术语“可执行组件”是针对被计算领域的普通技术人员很好地理解的结构的术语,无论是用软件、硬件还是组合所实现的。在本说明书中,也可以使用术语“组件”或“顶点”。如本说明书中所使用的,并且在这种情况下,该术语(无论该术语是否被以一个或多个修饰符修饰)也旨在与术语“可执行组件”同义,或者是这样的“可执行组件”的特定类型,并且因此也具有被计算领域的普通技术人员很好地理解的结构。

在以下的描述中,参考由一个或多个计算系统执行的动作来描述实施例。如果这样的动作是用软件所实现的,则响应于已经执行了构成可执行组件的计算机可执行指令,(执行该动作的相关联的计算系统的)一个或多个处理器引导该计算系统的操作。例如,这样的计算机可执行指令可以被体现在形成计算机程序产品的一个或多个计算机可读介质上。这样的操作的示例涉及数据的操纵。

计算机可执行指令(和被操纵的数据)可以被存储在计算系统700的存储器704中。计算系统700还可以包含通信通道708,该通信通道708允许计算系统700例如通过网络710来与其他计算系统通信。

尽管并非所有计算系统都要求用户接口,但是在一些实施例中,计算系统700包括用于与用户进行对接的用户接口712。用户接口712可以包括输出机构712A以及输入机构712B。本文中所描述的原理不限于精确的输出机构712A或输入机构712B,因为这将取决于设备的性质。然而,输出机构712A可以包括例如扬声器、显示器、触觉输出、全息图,虚拟现实等。输入机构712B的示例可以包括例如麦克风、触摸屏、全息图、虚拟现实、相机、键盘、其他指针输入的鼠标、任何类型的传感器等。

本文中所描述的实施例可以包括或利用包括计算机硬件(诸如,例如一个或多个处理器和系统存储器)的专用或通用计算系统,如以下更详细地所讨论的。本文中所描述的实施例还包括物理的以及用于携带或存储计算机可执行指令和/或数据结构的其他计算机可读介质。这样的计算机可读介质可以是可以由通用或专用计算系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,实施例可以包括至少两种明显不同种类的计算机可读介质:存储介质和传输介质。

计算机可读存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置或其他磁性存储设备、或者可以被用于存储以计算机可执行指令或数据结构形式的期望程序代码装置、以及可以由通用或专用计算系统访问的任何其他物理和有形的存储介质。

“网络”被定义为一个或多个数据链路,该一个或多个数据链路启用电子数据在计算系统和/或组件和/或其他电子设备之间的输送。当信息通过网络或另一通信连接(硬连线、无线、或者硬连线或无线的组合)而被传送或被提供给计算系统时,该计算系统将连接适当地视为传输介质。传输介质可以包括网络和/或数据链路,该网络和/或数据链路可以被用于携带以计算机可执行指令或数据结构形式的期望程序代码,并且其可以由通用或专用计算系统访问。以上的组合也应被包括在计算机可读介质的范围内。

此外,在到达各种计算系统组件时,以计算机可执行指令或数据结构形式的程序代码装置可以自动地从传输介质被传送到存储介质(反之亦然)。例如,通过网络或数据链路所接收的计算机可执行指令或数据结构可以被缓冲在网络接口组件(例如,“NIC”)内的RAM中,并且然后最终被传送到计算系统RAM和/或计算系统处易失性较少的存储介质。因此,应当理解,可读介质可以被包括在也(或者甚至主要地)利用传输介质的计算系统组件中。

计算机可执行指令包括例如指令和数据,该指令和数据当在处理器上被执行时,使通用计算系统、专用计算系统或专用处理设备执行某种功能或功能组。备选地或附加地,计算机可执行指令可以将计算系统配置为执行某种功能或功能组。计算机可执行指令可以是例如二进制、或者在由处理器直接执行之前经过某种翻译(诸如编译)的指令,诸如中间格式指令(诸如汇编语言),或者甚至是源代码。

本领域技术人员将理解,可以在具有许多类型的计算系统配置的网络计算环境中实践本发明,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器或可编程的消费电子装置、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机、数据中心、可穿戴设备(诸如眼镜或手表)等。也可以在分布式系统环境中实践本发明,在分布式系统环境中,通过网络(要么通过硬连线数据链路、无线数据链路,要么通过硬连线数据链路和无线数据链路的组合)被链接的本地计算系统和远程计算系统两者都执行任务。在分布式系统环境中,程序组件可以位于本地存储器存储设备和远程存储器存储设备两者中。

本领域技术人员还将理解,可以在由一个或多个数据中心或其部分支持的云计算环境中实践本发明。云计算环境可以是分布式的,尽管这不是必需的。当是分布式的时,云计算环境可以在组织内国际地被分布和/或具有跨多个组织地被拥有的组件。

在本说明书和所附权利要求中,“云计算”被定义为用于启用对可配置计算资源(例如,网络、服务器、存储装置、应用和服务)的共享池的按需网络访问的模型。“云计算”的定义不限于在适当地被部署时可以从这种模型中所获取的其他众多优势中的任何优势。

例如,云计算在当前在市场中被采用,以便提供对可配置计算资源的共享池的无处不在的和方便的按需访问。此外,可配置计算资源的共享池可以经由虚拟化而被快速供应、并且以低管理工作量或服务提供方交互而被发行,并且然后对应地被缩放。

云计算模型可以由各种特性组成,诸如按需、自助服务、广泛的网络访问、资源池化、快速弹性、经测量的服务等。云计算模型也可以使用各种应用服务模型的形式,例如,软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)。也可以使用诸如私有云、社区云、公共云、混合云等不同的部署模型来部署云计算模型。在本说明书和权利要求书中,“云计算环境”是在其中采用云计算的环境。

在不脱离本发明的精神或必要特性的情况下,可以以其他特定形式体现本发明。所描述的实施例在所有方面仅应被认为是说明性的而非限制性的。因此,本发明的范围由所附权利要求书而不是前述的描述所指示。落入权利要求的等效体的含义和范围内的所有改变均应包含在其范围之内。

相关技术
  • 基于可撤销的生物度量印迹的标识
  • 一种基于度量学习的小样本遥感影像目标识别方法
技术分类

06120112933361