用于为生物测量散列产生唯一稳定生物测量代码的系统和方法与流程

文档序号:25543414发布日期:2021-06-18 20:40
相关申请的交叉引用本申请要求2019年1月31日提交的名称为“systemandmethodforproducingauniquestablebiometriccodeforabiometrichash(用于为生物测量散列产生唯一稳定生物测量代码的系统和方法)”的美国临时专利申请号62/799,537;以及2019年5月15日提交的名称为“systemandmethodforproducingauniquestablebiometriccodeforafingerprinthash(用于为指纹散列产生唯一稳定生物测量代码的系统和方法)”的美国临时专利申请号62/848,463;以及2020年1月28日提交的名称为“systemandmethodforproducingauniquestablebiometriccodeforabiometrichash(用于为生物测量散列产生唯一稳定生物测量代码的系统和方法)”的美国专利申请号16/775,144的优先权,所有这些专利申请以其全文引用的方式并入本文中。
背景技术
::生物测量信息可以用于众多应用,例如用户的识别、验证和认证。尽管应理解,识别、验证和认证在生物测量、安全性和密码领域的上下文中是指不同操作,但除非在本公开中另外指出,否则对一个这样的操作(例如,验证)的任何提及应理解为包括其它这样的操作(例如,认证或识别)。用户的生物测量信息(例如,虹膜、面部、指纹等)可以最初在注册阶段期间获取。在以后的时间,候选者可以提供要与注册信息进行比较的信息。在许多应用中,例如,由于照明、设备规格等原因,必须在非理想条件下进行生物测量信息的后续获取。例如,尽管注册设备可以提供用于捕获生物测量信息的理想条件(例如,设备、照明和相对于设备在期望位置定位生物测量特征的固定装置),但用于捕获比较生物测量数据的设备可能无法例如在移动装置或其它远程系统上捕获相同质量的图像。因此,生物测量系统在比较阶段期间可能不需要精确匹配,而是可以依赖于诸如在注册信息(例如,注册代码)与比较信息(例如,比较代码)之间的汉明距离的技术。如果注册信息与比较信息之间的差异足够小,则可以识别生物测量匹配。使用汉明距离、欧几里得距离或任何生物测量距离度量进一步限制了安全性,因为无法复制如加密应用所需的稳定且可重复的严格个体的二进制代码。此外,尽管可以对用户的生物测量数据进行加密,但是仍必须对其进行存储以用于比较,这使该关键个人信息容易受到黑客攻击。技术实现要素:在本公开的一些实施例中,一种用于生成安全生物测量代码的方法包括接收用户生物测量数据的至少一个第一样本,以及获取基于用户的生物测量数据的公共代码,其中,公共代码不包括任何生物测量数据,并且其中,不能从公共代码识别用户。该方法还可以包括根据公共代码从生物测量数据的至少一个第一样本生成稳定代码,以及从稳定代码生成第一可重复代码,其中,第一可重复代码适合与根据用户的公共代码从用户的生物测量数据的至少一个第二样本生成的第二可重复代码进行逐位比较。在本公开的一些实施例中,一种生物测量处理系统包括配置成从用户捕获生物测量数据的传感器,存储器,所述存储器包括存储于其上的指令,以及耦接到传感器和存储器的处理器。处理器配置成执行指令以接收用户的生物测量数据的至少一个第一样本;获取基于生物测量数据的公共代码,其中,公共代码不包括生物测量数据中的任何生物测量数据,且其中,不能从公共代码识别用户;根据公共代码从生物测量数据的至少一个第一样本生成稳定代码;以及从稳定代码生成第一可重复代码,其中,第一可重复代码适合与根据用户的公共代码从用户的生物测量数据的至少一个第二样本生成的第二可重复代码进行逐位比较。在本公开的一些实施例中,一种非暂态计算机可读介质具有存储于其上的指令,该指令在由生物测量处理系统的处理器执行时,使处理器执行操作,包括:接收用户生物测量数据的至少一个第一样本,以及获取基于用户的生物测量数据的公共代码,其中,公共代码不包括任何生物测量数据,并且其中,不能从公共代码识别用户。该指令还使处理器执行操作,包括:根据所述公共代码从生物测量数据的至少一个第一样本生成稳定代码;以及从所述稳定代码生成第一可重复代码,其中,所述第一可重复代码适合与根据所述用户的所述公共代码从所述用户的所述生物测量数据的至少一个第二样本生成的第二可重复代码进行逐位比较。附图说明结合附图,在考虑以下详细描述后,本公开的上述和其它特征、其性质和各种优点将更加显而易见,在附图中:图1示出了根据本公开的一些实施例由生物测量数据的一部分产生的代码;图2示出了根据本公开的一些实施例在生成生物测量代码所花费的时间内的有效且稳定的生物测量代码位数;图3a-3c示出了根据本公开的一些实施例从2d虹膜图像获得的稳定虹膜环带1d信号;图4描绘了根据本公开的一些实施例的示范性捕获的指纹图像;图5描绘了根据本公开的一些实施例的所捕获的指纹的示范性感兴趣区域(roi);图6描绘了根据本公开的一些实施例的示范性roi取向、注册和验证;图7描绘了根据本公开的一些实施例的示范性指纹roi重定位操作的操作;图8描绘了根据本公开的一些实施例的示范性指纹纹线矢量识别和处理;图9描绘了根据本公开的一些实施例的生物测量注册和认证的示范性实施例;图10描绘了根据本公开的一些实施例用于开发稳定代码的特征矢量的示范性提取;图11描绘了根据本公开的一些实施例的感兴趣区域的示范性支持掩码;图12描绘了根据本公开的一些实施例在不同时间从相同手指的四次捕获提取的示范性特征矢量图;图13描绘了根据本公开的一些实施例的来自傅里叶振幅图的稳定特征矢量位置的示范性识别;图14描绘了根据本公开的一些实施例的具有多个roi的示范性指纹捕获;图15描绘了根据本公开的一些实施例的用于特征矢量数据二值化的示范性相位校准;图16描绘了根据本公开的一些实施例的特征矢量振幅的示范性二值化;图17示出了根据本公开的一些实施例的使用初级生物测量代码的生物测量验证的过程;图18示出了根据本公开的一些实施例的使用掩蔽生物测量代码的生物测量验证的过程;图19示出了根据本公开的一些实施例的随时间推移从所接收的生物测量数据示范性生成有效性掩码;图20示出了根据本公开的一些实施例的分别由次要代码和主要代码确定的掩蔽生物测量代码;图21示出了根据本公开的一些实施例的生物测量识别系统的示范性流程图;图22示出了根据本公开的一些实施例的生物测量识别和认证系统的示范性流程图;图23示出了根据本公开的一些实施例的包括生物测量散列的生物测量认证的过程;图24示出了根据本公开的一些实施例的确定代码是否准备好散列化的测试;图25示出了根据本公开的一些实施例从面部特征确定的特征矢量;图26示出了根据本公开的一些实施例的多个roi配准的示范性实施例;图27示出了根据本公开的一些实施例的利用多个roi生成并使用补偿代码的示范性实施例;图28示出了根据本公开的一些实施例的多个roi验证的示范性实施例;图29示出了根据本公开的一些实施例的针对多个roi的代码提取和生成的示范性实施例;图30示出了根据本公开的一些实施例的针对多个roi的示范性生物测量散列生成和检查;图31描绘了根据本公开的一些实施例利用生物测量代码的示范性不对称加密;图32描绘了根据本公开的一些实施例利用生物测量代码的示范性pki加密;图33描绘了根据本公开的一些实施例的示范性识别散列注册;图34描绘了根据本公开的一些实施例的示范性散列识别和认证;以及图35描绘了根据本公开的一些实施例的示范性生物测量处理系统。具体实施方式本公开涉及用于生物测量和物理数据的识别和认证系统,例如虹膜、面部、指纹、流体和气体识别系统,以及有测量误差或可变性的任何其他数据。例如,(例如,使用诸如图像传感器、音频传感器、飞行时间传感器、超声波传感器、生理传感器、光谱法、光谱学等技术)测量物理实体或现象的任何数据集都可能输出模糊数据,所述模糊数据具有使逐位分析(例如,用于加密应用)极其困难的可变性,这是因为测量数据的一位的变化损害了整个经加密输出或散列函数。如本文中所述,可以分析所捕获数据点的集合以确定哪些数据点适合在有效性掩码中使用(例如,特征矢量可以包括要在有效性掩码中使用的数据点)。然后,该有效性掩码可以与捕获的生物测量数据一起使用以生成能够与稍后捕获的比较数据逐位比较的可重复注册代码(例如,散列化生物测量代码)。例如,捕获比较生物测量数据的装置可以利用有效性掩码来生成可重复比较代码(例如,由有效性掩码修改的捕获数据的散列)。可以生成有效性掩码,使得可重复注册代码可以与可重复比较代码进行逐位比较(例如,散列函数的比较),同时保持低错误拒绝率(frr)和错误接受率(far)。执行这种比较使得生物测量信息的安全性和隐私性得以增加,例如,因为注册生物测量信息和比较生物测量信息都是加密和模糊的,因此不需要以原生格式存储,或者可以限于存储在仅高度安全的位置(例如,在装置的安全飞地内存储用于计算散列函数的生物测量信息)。出于说明而非限制的目的,本文描述了示范性生物测量捕获系统。例如,本领域技术人员可以理解,说明性实施例可以相对于其它生物测量系统以及例如虹膜、面部或指纹识别系统的其它识别应用具有适用性。捕获的生物测量信息(例如,虹膜、面部、指纹等)可以由诸如二进制代码的信息表示。例如,生物测量信息可以通过“初级”代码来量化。初级代码可以要求候选者与登记的生物测量代码具有精确匹配(即,一个不同的位值阻止逐位匹配)。表征捕获的生物测量图像的特征矢量通常对于所有人来说可能是低振幅的,并且以这种方式容易受到由于来自相机或其它捕获装置的噪声、照明变化、焦点、边界检测等引起的波动的影响。由这些特征矢量携带的信号振幅中的一些相对于波动范围而言可能很低,且所产生的位元容易不稳定且从一次生物测量扫描到另一次生物测量扫描会变化。因此,难以实现低错误拒绝率(frr)(例如,许多真正候选者被拒绝,因为所捕获图像或其它生物测量数据的环境受到噪声的影响,噪声使系统确定所捕获图像或其它数据与所登记图像或其它数据不匹配)。利用初级代码的生物测量识别系统可能需要高精度且因此需要更昂贵的部件。自然变化可能随时间流逝而发生,并且可能产生影响从生物测量数据收集的代码的几位的变化。例如,可能需要虹膜、面部特征、指纹或其它生物测量或物理特性的高质量数据来维持可重复且稳健的识别。高质量数据可以通过更昂贵的部件和受控环境(例如,眼睛/面部/指纹/等的距离、指向和/或取向,并且照明和其它控制对于每次认证试验必须相同)产生。这些操作约束使得在难以在不能实现受控环境的常见使用情况(例如,移动电话用户识别)下使用初级代码。本公开的实施例描述了生成所捕获生物测量数据的稳健量化表示以用于生物测量验证系统中的系统。掩蔽生物测量代码是解决初级生物测量代码的局限性的一种此类表示。掩蔽生物测量代码为捕获生物测量图像的环境提供了灵活性,因此允许使用更低成本的部件,并且对时间上的自然可变性提供了更大的耐受性。由于使用有效性掩码,掩蔽生物测量代码是可重复的,且错误接受率较低。这种性能稳定性可以允许将生物测量验证与关联的应用领域结合使用(例如,使用生物测量识别联合认证数字签名)。在创建电子sri之前,可以增强原始图像以改进所捕获的调制传递函数(mtf)(例如,用于由具有edof光学器件的系统捕获的图像)。在一些实施例中,原始图像可以以多种图像处理路径处理,包括图像增强、归一化、均衡或其任何组合。图1示出了根据本公开的一些实施例由生物测量数据的一部分产生的代码100。在一些实施例中,代码是生物测量图像、面部图像、指纹捕获或其它生物测量或物理数据的一部分的二进制表示。当无法以最小误差概率确定代码的某一位时,该代码位可以由第三符号(例如,星号)表示。如从图1可见,在一些情况下,不能以最小误差概率来确定很大部分的位。例如,所捕获的代码102和104可以表示来自第一个体的两个不同的生物测量数据捕获,所捕获的代码112和114可以表示来自第二个体的两个不同的生物测量数据捕获,并且所捕获的代码122和124可以表示来自第三个体的两个不同的生物测量数据捕获。对于两个生物测量捕获都超过最小误差概率的位,相同个体的捕获位(即,代码102和104、代码112和114以及代码122和124)是相同的,这与生物测量匹配一致。在捕获位中的一个或两个不能以最小误差概率确定的情况下,不可能使用代码的此部分来逐位确定生物测量匹配。图2示出了根据本公开的一些实施例在生成生物测量代码所花费的时间内的有效且稳定的生物测量代码位数。例如,在时间ta(例如,在合适的数量的帧,例如8个帧之后)时,可以开始将位的第一部分识别为有效,如曲线202所示。在稍晚的时间,tr208(例如,在处理额外生物测量数据帧之后),系统可以确定适合于处理生物测量代码的有效位数nr206。在一些实施例中,该系统继续生成生物测量代码位,并将生成nv204个位,其中nv是生物测量图像捕获过程期间有效位数的收敛极限。有效位的最大数量可以根据生物测量参数和图像质量(例如,分辨率)而变化。在一些情况下,有效位的数量nv可以是生物测量码位总数n的至少85%。对于包括许多对比度或唯一特征的生物测量源,有效位的数量可以是生物测量代码位总数的至少95%。差异化生物测量特征的数量增加反映了高的生物测量熵。另一方面,具有稀疏数量的差异化特征的生物测量源可以提供较小百分比的有效位(例如,75%的生物测量代码位通过满足某一置信度阈值而有效)。在此情况下,具有极少差异化特征的生物测量源反映了低的生物测量熵。生物测量熵是与可与类似模式的生物测量源相关联的差异化图案的可能数量相关联的量。该量是在假设以类似方式图案化的一组生物测量源可以由一个二进制代码表示的情况下确定的。生物测量熵即使在被加密盐隐藏的情况下也考虑位彼此之间的现有部分依赖性。可以通过以下方程获得数值熵,en:其中nv是测量的有效位的数量,并且底数2是由于二进制代码的性质决定的。为了将公共生物测量图像图案提取成二进制代码,通过线性变换来修改2d电子sri。例如,电子sri表示可以投影在归一化和正交矢量的矢量基上。正交化确保了代码的每种复合码的内部独立性。此外,可能需要投影的矢量基来滤除或排除像素灰度级之间的依赖性的影响。例如,信息的采样集合必须收集独立特征。为了测量像素灰度级之间的依赖性,系统可以对包括所捕获图像的生物测量图案的极角和径向坐标进行自相关。丰富的生物测量图案可能具有尖锐且狭窄的自相关函数,指示生物测量源的特征彼此非常不同。使用具有逐位独立性的独立矢量对于防止可能由逐位依赖性(例如,可以从其它位确定一些位)引起的安全破坏是重要的。这些矢量也可以被称为“特征矢量”。特征矢量具有被设计用于生物测量识别的属性。特征矢量与其它特征矢量正交以最大化代码内每个位的独立性。例如,矢量中的第三元素不是第一元素和第二元素之和的模2。如果第三元素确实取决于第一元素和第二元素,那么知道这一点的冒充者将能够确定用户的私人生物测量代码。通过这种方式,代码的内部熵得到最大化,并且特征矢量更安全。如果特征矢量的振幅具有可能引起生物测量源的不当表征的变化(例如,将在本文其它部分中描述的边界变化),则可以任选地对特征矢量进行归一化。可以选择特征矢量,使它们表示生物测量源的最经常暴露于相机或其它捕获装置并且不被干扰物体(例如,对于虹膜为睫毛,对于面部为头发,对于指纹为碎屑等)损坏的区段。图3a-3c示出了根据本公开的一些实施例从2d虹膜图像获得的稳定虹膜环带1d信号。可以通过获取稳定虹膜环带的一维表示340的快速傅里叶变换(fft)来获得特征矢量。稳定的虹膜环带可以是含有虹膜图案而没有诸如睫毛的干扰眼镜特征的任何障碍物的虹膜环的一段。在本公开的实施例中,图3a中描绘了虹膜的示范性二维图像。在图3a中,原始图像302捕获包括眼睛304的用户面部的一部分的图像。在眼睛内,可以识别外虹膜边界306以及瞳孔308的外边界和角膜310上的镜面反射。这些特征可以用于识别虹膜,包括为了虹膜识别而捕获的特征314。稳定的虹膜环带312对应于虹膜的不应在图像捕获之间改变并且不太可能被例如睫毛等物体遮挡的部分。稳定的虹膜环带312可以通过如图3b中所描绘的极坐标表示。归一化虹膜图像324可以包括虹膜在极坐标中的描绘320,包括虹膜图案328、例如睫毛326的障碍物和裁剪区域322。稳定虹膜环带1d信号340形式的数据可从极坐标图像的稳定虹膜环带区域捕获,如图3c所示。为了改善稳定性,稳定的虹膜环带312可以乘以平滑函数以去除边界变化效应。可通过如下方程获得稳定虹膜环带1d信号的快速傅里叶变换其中xk是n个复数值的集合,并且k是离散频率(例如,k=0、1、2、...、n-1)。每个离散频率提供复振幅。频率0是平均值。在一些实施例中,频率1和2经受照明梯度。如本文中所提及,离散频率可以被视为以每单位距离的周期数为单位或以每单位距离的弧度数为单位的波数。在一些实施例中,频率4到12可以携带虹膜图像中存在的大多数虹膜特征。对属性进行fft之后的特征矢量是正交的。虹膜图案的天然结构可以使在范围0到2π(含)中的每个相位值都从均匀的统计分布中选取。遵循这些离散频率的虹膜图案不一定彼此同相。例如,频率4的虹膜图案可能与频率5的虹膜图案异相,并且相移可以是从0到2π(含)的值,任何这样的值具有相等概率。特征矢量可以是二进制的。在一些实施例中,可以通过分别将正振幅和负振幅分别编码为1和0来完成特征矢量的二值化。例如,单个特征矢量可以由复振幅表示,所述复振幅可进一步由具有实数振幅的两个独立且正交的矢量表示。可以将复数单个矢量分成两个实数分量的总和(例如,使用欧拉方法)。两个实数分量的振幅的符号可以指示特征矢量位的值。通过这种方式,将位编码为0或1的概率相等。为了在确定特征矢量时增加稳定性或测量准确度,可以通过平滑函数来修改稳定的虹膜环带,以避免边界变化效应。特别在使用fft时,如果离散信号的边界相差没有过大量值,使得系统不会错误地确定离散信号的边界处的高频响应,则这可能是有用的。可以在进行fft之前将平滑函数乘以稳定虹膜环带信号(例如,通过虹膜环带信号与汉明窗口相乘)。通过这种方式,虹膜环带信号的末端可以是类似的值,当进行fft时,其不会导致错误的高频响应。对于不佳的虹膜图案,在示范性的最坏情况下,可以收集24个有效位。例如,在概念验证实验中,所述系统能够针对2%的采样群体收集总共32位的24个有效位(例如,2%的群体可能具有不佳的虹膜图案)。代表不佳虹膜图案的24个有效位可能导致仅64,000的低生物测量熵。由具有24个有效位的掩蔽代码携带且针对平均虹膜质量为两只眼睛测量的示范性生物测量熵为大约250,000。完全独立的24个有效位的熵为16,777,216(例如,224)。如果虹膜环带信号部分相关,则可能存在引入系统的依赖性。例如,概念验证还在虹膜上使用了不同直径的至少两个同心环带,由于天然虹膜特征上的非零径向相关,这样导致了环带之间的部分相关。在此示例中,在不同环带半径下与相同频率相关联的位之间存在部分依赖性。由于部分相关的位对,熵降低到约250,000。由于真实相关值的性质在人与人之间变化,这种计算是近似的。可以通过增加有效性掩码中的位数来降低far。在概念验证的一些实施例中,虹膜的扫描限于虹膜最常暴露的区域。与虹膜代码相关联的有效性掩码可以在每次相应的用户注册时在几个位上发生改变。在一些情况下,同一人的重复注册使得生物测量身份通过这些有效性掩码位的改变而更加安全。注册可以通过新注册而自动撤销,因为它将产生不同的次要有效性掩码,因此如本文所述产生不同的紧凑代码(cc)。图4描绘了根据本公开的一些实施例的示范性捕获的指纹图像402。在过程的注册和认证和/或识别两个步骤中,指纹捕获都可能需要准确且一致地捕获指纹的特定部分(即,“感兴趣区域”),以便于分析相同的指纹特征,并且可以在相同手指的每次新扫描时提取相同的生物测量代码的生成。在本公开的一些实施例中,可以根据阈值或质量测试程序执行指纹捕获。然而,(例如,通过光学感测、电容感测、超声波感测、热感测)获得指纹数据,捕获与指纹的位置、宽度、深度和其它特征有关的数据。然而,任何此类形式的感测都可能遇到一些错误,无论是来自传感器本身还是来自外部条件,例如障碍物、环境条件、水分的存在等。因此,在一些实施例中,仅当符合质量得分阈值时,才可以使用所捕获的指纹数据。在一些实施例中,可以例如通过后处理或滤波来增强捕获的指纹数据以用于进一步分析。例如,非线性滤波器可以提取具有增强的对比度的指纹纹线,从而产生更接近标准化指纹图案的滤波指纹图像。滤波还可以减少压力、湿气、环境条件的变化的影响,并且在一些实施例中,可以基于此类条件的当前或近期测量值或分析来修改这些条件。在一些实施例中,如本文所述,可以在一段时间内在众多样本中分析指纹图像,从而允许进一步锐化和滤波。一旦捕获到指纹图像,在本公开的一些实施例中,就可以识别参考点410(例如,用于识别roi)。尽管可以通过各种方式识别感兴趣位置,但在一些实施例中,感兴趣位置可以对应于已知或典型的指纹特征,所述已知或典型的指纹特征通常对应于指纹的中央区域(例如,对应于特定纹线图案通常所处的位置)。roi位置的选择应当反映最常暴露于传感器的中央区,以使用户的体验平滑而自然。在一些实施例中,可以识别参考取向(例如,轴线412和414)。尽管可以使用指纹取向的各种不同技术,但是指纹取向搜索的一个示范性属性是获取由于扫描指纹的特定方式(例如,用于捕获的装置、湿气、手指压力、环境条件等)而对所收集数据的变化具有低敏感性的可重复的取向参考轴线。在一些实施例中,可能期望确保参考取向的可重复性,例如任意手指轴线的变化为±5°。例如,诸如梯度、力矩等的角直方图的技术是本领域众所周知的,并且可以用于识别参考取向。示范性的正式数学表达式包括坐标系其中,和由稳定参考取向测量值设定,并且正交于指纹板。可以从捕获的指纹数据识别一个或多个感兴趣区域,用于提取生物测量特征。尽管各种形状和区域可以用于感兴趣区域(例如,正方形、椭圆形、其它形状、从参考点开始的预定数量的纹线等),但在示范性实施例中,roi可以具有圆形形状,并且可以具有2mm的直径至10mm的直径。更大的roi导致所捕获数据有更高生物测量熵,但不利地产生了对于特定指纹扫描不会收集整个roi的较大概率。在一些实施例中,可以基于例如提供far和frr之间的适当折衷的要求,基于捕获条件、捕获硬件、所需安全水平等来选择和/或动态地修改roi。图5描绘了根据本公开的一些实施例的捕获的指纹502的示范性roi504。可以以多种方式选择roi位置、形状和取向。在实施例中,可以在所捕获图像的中间任意设置roi,而不考虑指纹的实际“中间”位置。例如,如果在注册和认证/识别中可以一致地捕获相同区域,则可能不需要特定指纹区域是实际中心或包括特定细节或特征。在一些实施例中,初始位置可以接近用户在传感器上正常使用指纹扫描期间将暴露的指纹区域的中心(例如,即使当匆忙扫描时,大多数用户也捕获指纹中心的至少一部分)。无论将指纹的哪个区域用于所捕获的roi,良好的用户体验都要求完整的roi盘面与手指的所捕获区域重叠。roi盘面的裁剪将不允许生成稳定的生物测量代码,因为用于生成代码的指纹特征将缺失或不完整,这是因为被裁剪区域对从roi之内特征计算的特征矢量子集的振幅产生负面作用。如果预期生物测量特征的部分缺失或未能提供被分配以产生如本文所述的恒定二值化值的范围值中的振幅,则即使在用户提供真正指纹的情况下,也会发生自动导致错误拒绝事件的位错误。图6描绘了根据本公开的一些实施例的示范性roi取向和识别以及注册和认证/识别。为了在注册阶段和验证阶段都从指纹中提取相同的特征,应当将来自注册步骤的选定roi重新定位在验证步骤的指纹捕获中。在图6的示范性实施例中,相对于对应于捕获区域的x轴和y轴描绘来自注册阶段的第一指纹捕获602。圆形roi614位于所捕获的指纹602的中心附近。roi沿着轴线606和608取向,所述轴线为roi614提供参照系和取向,如重采样的roi612中所示。轴线610位于roi614的中心,并且平行于捕获区域的x轴延伸。角度θri表示roi614的轴线610和轴线608之间的角度。与roi614的直径一起,roi614的中心点的x轴和y轴坐标(例如,xri和yri)以及角度θri限定了用于建立重采样roi612的位置和取向604,以用于生成生物测量代码,以用于与验证生物测量代码进行比较。相对于对应于捕获区域的x轴和y轴描绘了来自验证阶段的第二指纹捕获622。在图6中所描绘的实施例中,第二指纹捕获622具有与注册指纹捕获602相同的指纹,但位于捕获装置的不同区域和不同取向。圆形roi634位于所捕获的指纹622的中心附近。roi沿着轴线626和628取向,所述轴线为roi634提供参照系和取向,如重采样的roi632中所示。轴线630位于roi634的中心,并且平行于捕获区域的x轴延伸。角度θvi表示roi634的轴线630和轴线628之间的角度。与roi634的直径一起,roi634的中心点的x轴和y轴坐标(例如,xvi和yvi)以及角度θvi限定了用于建立重采样roi632的位置和取向624,以用于生成生物测量代码,以用于与注册生物测量代码进行比较。在真正手指的情况下,重定位必须满足一定水平的精度。当引入重定位误差时,特征的提取可能被截断和偏移。取决于超出重定位误差的某个阈值的误差振幅,生物测量代码的一些位可能被错误计算,并可能发生错误拒绝。在冒充指纹的情况下,重定位将不起作用或将发现一些不可预测的区域具有很少的相似性标准。如果重定位算法返回错误消息,则可能不需要尝试发出代码,因为这是阈值真实拒绝事件。如果重定位算法返回roi的位置和取向,则内部指纹图案将不同且将发出不同的代码。在这种情况下,代码将不会相同,也会出现真实拒绝。图7描绘了根据本公开的一些实施例的示范性指纹roi重定位操作的操作。有多种不同的方法可用来处理重定位问题。一些示范性指纹算法,特别是在移动电话解锁应用中使用的算法,可以基于同一手指的不同区域的缝合扫描,当手指在屏幕的不同位置之间移动时,通过注册手指的图像来执行重定位。识别公共重叠允许系统找到缝合在一起的区域并构建完整的模板。此类缝合算法可以提供用于从任意起点重定位的坐标。在一些实施例中,例如图7中描绘的实施例,可以使用所捕获的指纹数据的部分的相关性进行重定位。在实施例中,位置704的起点或参考(例如,由xro、yro、θro限定)可以被认为是在注册阶段期间获取的指纹702的一个中央图像的位置,其中roi706的取向对应于轴线708和710。在本公开的实施例中,选择捕获的指纹702数据的环形重定位区域712,其环绕roi706,但其内径仅略微大于roi706的外径。以此方式,重定位区域的使用可以与邻近roi706的特征紧密结合,并且因此不太可能由于例如手指放置位置、压力、畸变等问题而产生误差。可以在重定位区域712与roi706之间保持分离间隙,以用于特征矢量提取以产生生物测量稳定代码。为了便于在验证过程期间重定位,用于重定位的所收集和预处理的数据可以包括在传递至认证过程的生物测量公共代码结构中。然后,该数据可以用于计算和找到在验证期间收集的识别/认证数据中的重定位坐标。根据本公开,可以提供重定位数据,使得与重定位区域有关的底层生物测量信息都不在生物测量公共代码中传输。例如,不能从用于重定位的区域中猜测纹线的结构和位置,因此,有权访问生物测量公共代码的黑客将不可能猜测roi的稳定代码的任何位或者以其他方式从重定位数据提取生物测量信息。以一种方式分析和量化示范性重定位区域714,以允许与为了验证而获取的指纹数据722的相似区域732(例如,相对于中心点726具有相同的内径和外径)进行比较。如图7中所描绘,在验证期间使用的候选指纹可以不应用于与在注册期间获取的指纹数据702相同的位置和取向(例如,基于轴线728和730)。由于重定位区域712和732的相对位置和大小的原因,可能无法确定roi区域706和726中的纹线和其它特征的详细结构。可以根据本领域已知的相关技术并且如图7所示来执行相应重定位区域712的定量数据的相关。例如,重定位区域714的取向716a在与如图7所示那样取向的重定位区域732(例如,重定位区域被取向成大约相隔90度)相关时可能导致如716b处所描绘的低相关性。作为另一示例,重定位区域714的取向718a在与如图7所示那样取向的重定位区域732(例如,重定位区域被取向成大约相隔45度)相关时可能导致如718b处所描绘的低相关性。在另一示例中,重定位区域716的取向720a在与如图7所示那样取向的重定位区域732(例如,重定位区域被取向成重叠)相关时可能导致如720b处所描绘的相关峰。在一些实施例中,可以通过利用捕获的验证图像执行相关模板的fft来获得更好的处理效率。通过小旋转角度步骤来旋转模板,可以通过相关循环来应对旋转管理。所有收集的相关峰的最大值将确定旋转角度和(x,y)平移两者以定义验证指纹数据722的坐标726所得的适当取向的roi可以用作重采样roi704,以生成特征矢量和生物测量代码,以与注册数据进行比较,如本文所述。返回到图4,右下指纹图像展示了一个示范性实施例,用于一旦在识别出指纹位置和取向(例如,在注册和/或验证期间)后从指纹信息识别特征矢量。在图4的示范性实施例中,不需要识别特定的感兴趣区域,因为特征矢量是基于在具有与取向轴线412和414相关联的主轴线和次轴线的椭圆形的相应位置处的纹线方向确定的。可以如本文中所描述或本领域已知的各种合适的方式确定适当的中心位置410和取向轴线412、414。在一些实施例中,可以通过收集具有归一化矢量的二维网状物来执行纹线方向的映射。有多种提取纹线方向的可能算法,例如,在一个示范性实施例中,利用纹线的归一化正交方向。在图4的示范性实施例中,可以基于矢量对诸如椭圆形416、418、420和422的一组椭圆形的取向从纹线上的矢量收集一组信号。如本文所述,每个椭圆以坐标系中的固定坐标点为中心。在一些实施例中,椭圆的配置(例如,尺寸、取向、偏心性)可以(例如,基于捕获的图像动态地)以近似于与纹线结构拟合的方式设定,从而导致较低的采样率和减少的计算负荷。图8描绘了根据本公开的一些实施例的示范性指纹纹线矢量识别和处理。与图4一致,指纹捕获802包括中心点810和取向轴线812和814。椭圆816、818、820和822相对于指纹802的纹线定位。在一些实施例中,如由放大框824所描绘的,可以相对于椭圆的部分识别纹线位置。如对于放大框824所描绘,椭圆在特定位置且以特定交角与纹线相交。每个椭圆将产生2n个取向矢量的重采样集合(例如,诸如n=7的值足以收集每个椭圆的128个取向矢量)。每个椭圆上的特定排序或重采样可以按惯例是顺时针或逆时针的。在一些实施例中,每个取向矢量可以被归一化,使得对于每个矢量椭圆的法向矢量(例如,矢量830、834、838、842、846和850)。还获取指纹布局矢量(例如,矢量832、836、840、844、848和852),其中矢量也是归一化的。在实施例中,矢量和可以在椭圆外部取向。对于每个椭圆,样本值可以如下计算:n={0,1,2,...,2n-1}其中......椭圆上的采样坐标可以如下确定:其中:(cx,cy,0)是椭圆上的当前采样点的坐标;并且:a和b是椭圆的2个半轴长度。样本结果860可以描绘根据此方法确定的示范性样本结果。一旦确定了样本结果,在本公开的实施例中,可以如下计算用于集合sn的离散fft(快速傅里叶变换):其中:每个离散频率提供复振幅;频率0是平均值;频率1、2(低)受到非常常见的特征的影响,并且相关联的位将具有一些不期望的相关性,使得相关联的特征矢量可能被丢弃;并且频率3到12携带所收集信号中存在的相关指纹特征,使得可以保留相关联的特征矢量。根据fft性质,fft特征矢量是正交的。超过12的频率由于对噪声、手指压力、参考点位置上的测量误差和方向具有更高的敏感性,因此可能提供更低的稳定性。在一些实施例中,保留的特征矢量在公共收集椭圆内部是独立的。该结果可以是由单个手指的性质和傅里叶矢量基(fourierbase)的正交性产生的特征。可以选择椭圆之间的相应间隙以优化椭圆矢量结果之间的间隙距离和相关性。在一些实施例中,使用约4或5个椭圆提供了良好的折衷,以提供具有高熵的独立位。一旦计算对于指纹数据的值(例如,通过椭圆指纹纹线之间相交的矢量的fft和/或如本文所述的其它方法),就可以针对数据计算有效性掩码。对于每个椭圆和每个频率,所得输出具有复振幅。实部和虚部可以分开作为分离的特征矢量的振幅。在注册阶段,可以应用振幅绝对值的阈值来确定相关联的位码,并且可以保留或丢弃。如果超过阈值,那么位可视为对于如本文所述的生物测量代码是有效且有用的。通过任意惯例,当振幅满足阈值标准时,有效性位可以是1,当不满足阈值标准时,有效性位可以是0。在一些实施例中,可以任选地包括特征矢量振幅的逐帧积累,以改进测量的稳定性。如本文中所述,注册过程可以继续,直到命中最小数量的所需有效位并且可以设置次要有效性掩码。当将有效性位设置为1时,代码位值将由对应特征矢量的振幅的符号来设定(例如,1表示正的,0表示负的)。在此类指纹数据的验证阶段期间,所述过程或收集有效位继续,直到来自注册的处于1的所有有效性掩码位将在验证阶段内达到1,如本文针对其它生物测量模式所述。在过程结束时,如本文所述,发出用于认证/识别的紧凑代码,其匹配当同一手指被呈现给传感器时在注册步骤期间发出的代码。类似地,如本文所述,由紧凑代码生成的可重复代码,例如紧凑代码的散列,将产生与来自注册的可重复代码(例如,生物测量散列)匹配的可重复代码(例如,生物测量散列)。图9描绘了根据本公开的一些实施例的生物测量注册和认证的示范性实施例。对于图9的示范性实施例,将在指纹类型生物测量数据的上下文中描述所述过程,但应理解,图9的公开内容可适当地应用于其它生物测量应用(例如,虹膜、面部等)以及物理和化学性质的其它测量值的确认。在图9的示范性实施例中,在不同时间使用注册装置902和认证装置904(装置902和904的每个包括本地生物测量捕获装置和支持硬件和软件,无论是作为集成装置还是彼此通信的多个装置)来首先获取用户的生物测量数据,然后在稍晚时间基于相同生物测量数据的稍晚采集来认证用户。诸如指纹捕获系统(例如,光学感测、电容感测、超声波感测、热感测)的生物测量捕获装置906可以捕获用户的生物测量数据。在一些实施例中,可以从单次使用中检查生物测量特征的多个样本,或者可以另外要求用户提供多个读数(例如,在读取器上按压指纹的多个周期),以便获取额外样本以供分析和比较。注册装置902的注册部分908(例如,执行计算机可读指令以执行本文中所描述的操作的一个或多个计算装置的部分)可以执行如本文中所描述的操作,以便生成生物测量代码、密钥和相关数据(例如,重定位信息),用于执行如本文中所描述的生物测量注册和认证。在指纹注册的示范性实施例中,可以选择roi或roi的集合(例如,在一些实施例中,可以使用多个roi以允许手指放置中的额外可变性),并且将其投影到特征矢量基上,并且可以选择特征矢量(例如,基于对一致二值化的可接受性和位反转的低可能性)。重定位数据可以是用有效性掩码处理的编码和选定的特征矢量。尽管注册装置902的注册部分908可以生成各种生物测量代码、密钥和相关数据,但在本公开的示范性实施例中,注册部分908可以生成稳定代码910和公共代码912。在一些实施例中,公共代码912不包含任何生物测量信息,使得由公共代码912携带的信息不允许第三方通过猜测稳定代码910的任何位值来识别个人。公共代码912与稳定代码(即,包括生物测量信息,其随后例如通过在发布以供使用之前散列化而被模糊化)之间的这种分离促成了一种系统,其中实际底层生物测量数据从不需要传输或存储。在本公开的一些实施例中,仅在注册阶段(例如,在注册装置902处)生成公共代码912,而在一些实施例中,公共代码可以是对更早公共代码的修改。如果使用对在先公共代码的修改来生成公共代码912,那么任何此类修改将影响相关联的稳定代码910。公共代码912可以起作用以有利于稳定代码910生成算法对适当特征矢量进行列示和排序,当生物测量扫描来自真人时,这样能够进行稳定的位提取。公共代码912可以包括用于选择特征矢量的信息,所述特征矢量继而又用于重建稳定代码910。公共代码912的特定操作模式可以基于特定生物测量模式而变化。公共代码包含引导信息,所述引导信息在另一生物测量捕获期间告知装置稳定或可重复特征的位置以及如何对所有该信息进行分类,所述稳定或可重复特征将用于二值化。公共代码回答了“信息在哪里?”的问题。但是,在回答这一问题时,公共代码不包含允许任何第三方在没有实际的底层生物测量信息的情况下猜测稳定代码的任何位的任何信息。在生物测量扫描的示范性实施例中,公共代码可以包括有效性掩码,其描述从生物测量信息导出的哪些位应被视为有效以及哪些位应该丢弃。特征矢量的提取的校准可以通过使用自然边界和容易定位点,例如内部和外部生物测量边界,或检测两眼之间的公共轴来自动控制。在指纹的示范性实施例中,公共代码中可能需要更复杂的信息,因为指纹可能具有有限数量的自然边界或公共和可重复图案。因此,用于提取用于指纹的稳定代码910的区域的位置和取向(例如,重定位数据)可以是必须在公共代码912中传递以实现认证期间的稳定特征提取的额外必要信息。尽管公共代码912可以包括各种数据类型和结构,但用于捕获的生物测量数据(例如,指纹数据)的示范性公共代码912可以包括各种信息,所述信息虽然不识别底层生物测量数据的任何方面,但有助于在认证期间生成生物测量稳定代码,所述生物测量稳定代码可以与生物测量稳定代码910进行逐位比较(例如,在例如通过散列化生成可重复代码之后)。例如,在实施例中,公共代码可以包括用于重定位在认证期间捕获的指纹的数据以及用于生成稳定代码的校准数据。示范性重定位数据可以包括用于识别用于重定位的特定特征的信息,例如包含感兴趣特征的像素数据的表格和特征矢量空间中特征矢量的选定坐标的表格。用于校准的示范性数据可以包括例如参考相位(例如,每个选定特征矢量1个值)的表格的信息,以及例如盐位、模糊代码和表示有效性掩码的数据的任选信息。重定位数据可以各种方式处理和存储,这取决于诸如所使用的特定重定位方法、公共代码912的可用位等因素。产生重定位数据的一种示范性方式是利用环形掩码环绕roi,产生从注册扫描数据提取的相关数据的内核。与所获取的认证数据相比,重定位过程将尝试相关的序列,其中以小步长(例如,每2度)在不同角度旋转相关内核。所有相关峰中的最大值将对应于用于平移的位置(例如,在所获取数据的x轴和y轴上)和平移后围绕roi中心点的旋转角(θ)。一旦在认证阶段执行重定位,就可以在平移和旋转坐标处对roi数据重采样,因此包括特征矢量投影的数据矩阵准备好用于进一步处理。虽然在一些实施例中相关是在准确性(低误差率)方面产生良好重定位结果的方法之一,但在其他实施例中,可以使用例如指纹缝合的技术来识别重定位数据。在本公开的实施例中,稳定代码910可以是二进制代码或由生物测量扫描的投影的二值化发出的字符序列。特征矢量空间中特征矢量的选定坐标的表格可以是特征矢量空间中的坐标列表。这些坐标可以在注册阶段被选择为对应于稳定特征矢量的坐标。如本文关于图10所描绘和描述的,可以选择特定坐标以提供用于生成稳定代码910的独立位。如本文所述,可以针对特征矢量空间中的指纹图案和纹理的统计属性执行许多规则。稳定代码910的所用特征矢量的序列和选择由公共代码912引导。稳定代码910的大小可以直接取决于在注册期间识别为强的独立特征矢量的数量。例如,对于在500dpi和roi直径4mm下获取的指纹,稳定位的示范性数量可以是64。基于特征矢量的正交基启用位的高水平内部独立性。通过不将roi约束到指纹内的特定位置(例如,核心、增量点或其它类似位置)并使用高度可辨别的特征矢量来启用位的高水平外部独立性。图10描绘了根据本公开的一些实施例用于开发稳定代码910的特征矢量的示范性提取。在roi的傅里叶空间中存在用于搜索提取稳定特征矢量的有效空间。fft对离散傅里叶变换的复数矩阵进行运算。对矩阵大小2n×2n操作二维fft,其中n是正整数值。在一些实施例中,n=6或的值或可以用于指纹扫描(例如,对应于500dpi的分辨率)以覆盖roi而不破坏图像且覆盖发现稳定特征的空间频率范围。使用傅里叶空间的示范性优点包括具有对空间频率带宽的控制以收集稳定特征。使用傅里叶空间的另一示范性优点可以是:每个矢量是roi中的所有收集的像素数据的函数,使得没有对可能受划痕或湿气点或其它类型的指纹数据损坏所破坏的局部区域的强依赖性。使用傅里叶空间的另一示范性优点是频率选择可以自动拒绝与手指的压力或水分变化比实际生物测量特征更相关的极低频率。它还可以拒绝收集由重定位的残余误差触发的更多噪声和不稳定性的高频率。如图10中所描绘,指纹1002可以与roi1004相关联,所述roi继而在轴线1006和1008的交点处居中并且相对于这些轴线取向。在一些实施例中,可以重定位识别的roi1010,并且可以基于重定位的roi1012的fft的二维地图1014来分析重定位的roi1012。尽管可以选择各种位置进行分析,但在图10的实施例中,在fft的二维地图1014上在低和中空间频率中选择了四个相应的象限1016、1018、1020和1022。在图10所描绘的实施例中,描绘了从相应象限1016和1018生成两个特征矢量1032和1034。在图10的示范性实施例中,象限1020和1022可以对称地冗余,因为输入矩阵是实数矩阵。结果是更复杂的函数,其中实部和虚部以两个单独的矩阵表示,如实数和虚数数据1024和1026(关于象限1016和特征矢量1032的实数和虚数数据)以及实数和虚数数据1028和1030(关于象限1018和特征矢量1034的实数和虚数数据)所示。在图10的示范性图像中,较亮的区域可以对应于负值,而灰色区域可以对应于正值。图11描绘了根据本公开的一些实施例的感兴趣区域的示范性支持掩模。图11描绘了掩蔽之前(1102)和掩蔽之后(1104)的示范性roi。在本公开的一些实施例中,roi的支持掩码可以是具有低偏心性的圆盘或椭圆。此裁剪掩码可以提供独立于手指取向的性能水平,并且在一些实施例中,可能通过如1104处所示的旋转对称的旋转平滑函数而变迹(apodized)。在实施例中,可以使用具有“帽子”形状的函数,包括超高斯函数,例如:响应于小型不受控制的重定位误差,例如,通过平滑roi的边界区域处或附近的像素的权重估量,变迹可以在特征矢量投影的振幅上提供更好的数值稳定性。平移中的重定位误差可能产生相移。例如,如果特征矢量基在roi的傅里叶变换上,则复振幅上的平移t(dx,dy)的重定位误差产生t(dx,dy)(fv(u,v)),其中:t(dx,dy)(fv(u,v))=e-2iπ(u·dx+v·dy)·fv(u,v)并且其中(u,v)是傅里叶域中的空间频率图12描绘了根据本公开的一些实施例的在不同时间从相同手指的四次捕获1212、1214、1216和1218提取的示范性特征矢量图。来自如本文中所描述处理的指纹数据的傅里叶基中的纹理可以产生从一次生物测量扫描到另一次生物测量扫描一致的峰和谷。结果可以弹性地适应误差源,例如自然重定位误差、指纹压力、湿气、来自传感器的噪声等。当如本文所述处理时,由于诸如纹线位置的指纹特征造成的特征矢量的峰和谷可以比由于手指放置、压力、湿气、传感器噪声等引起的变化更显著和稳定几个数量级。通过在傅里叶域中选择振幅在峰上较高且在谷底处较低的个体点,有可能获得表示“1”或“0”的数据之间的较大间隙,从而对指纹扫描条件的变化和局部损坏例如皮肤上的划痕具有高度耐受性。图13描绘了根据本公开的一些实施例的来自傅里叶振幅图1314的稳定特征矢量位置的示范性识别。如图13中所描绘,第一象限1302特征矢量和第二象限1304特征矢量1304中的每一个包括相应的实部和虚部(第一象限1302的实部1306和虚部1308,以及第二象限1304的实部1310和虚部1312)。从这些示范性傅里叶振幅图1314,可以识别出判别性频率范围中的峰和谷。在实施例中,对这些峰和谷的体积连续的评估可以提供这些峰和谷的相应强度的良好估计。通过对这些体积进行分类,可以获取用于(例如,在注册阶段期间)选择特征矢量的最佳候选者的列表。稳定性图1316可以表示特征矢量在二值化后在多次扫描内具有误差的程度。例如,较暗的区可以表示在被测试的扫描次数期间经历误差的特征矢量的部分(例如,每一百次次扫描至少一次误差),而亮区可以表示没有经历误差或经历小于阈值误差百分比的特征矢量。稳定特征矢量位置1318可以对应于基于超过阈值稳定性水平而有可能二值化的特征矢量内的位置。特定位置的实际选择可以基于许多因素,例如二值化所需的位数、相应的稳定性水平、稳定位置的多样性和其它类似因素。图14描绘了根据本公开的一些实施例的具有多个roi的示范性指纹捕获。每个roi可以具有形状和大小(例如,具有特定直径的圆形),使得可以从单个典型指纹获得多个roi。在注册和认证时获取多个roi可以针对用户或设备误差或不提供完整指纹图像的受损指纹提供额外耐受性。在一些实施例中,指纹图像(例如,指纹图像1402)的多个roi(例如,roi1406、1408和1410)可以允许例如,基于相应的roi特征矢量(例如,特征矢量1412、1414和1416)以及由其形成的数据象限的相应实部和虚部(例如,第一象限的实部1418和虚部1420以及第二象限的实部1422和虚部1424)建立多个独立特征矢量以及相关联的公共代码和稳定代码。图15描绘了根据本公开的一些实施例的用于特征矢量数据二值化的示范性相位校准。在一些实施例中,为了最大化系统在认证期间对重定位误差的耐受性,可以基于在注册时测量的相位来设置(例如,居中)用于特征矢量数据的二值化的相位参考。然后,可以在每个特征矢量的公共代码中记录相位参考。在一些实施例中,可以执行若干操作以从公共代码的相位参考信息中移除任何生物测量信息,使得公共代码中不包括可辨别的生物测量数据或可以用于确定底层生物测量数据的任何信息。特征矢量样本1502针对第一用户的第一采集指纹在实轴(x轴)和虚轴(y轴)上绘示了所采集特征矢量“j”的第一集合,而特征矢量样本1504针对第二用户的第二采集指纹在实轴和虚轴上绘示了所采集特征矢量“k”的第二集合。校准的特征矢量样本1506和1508对应于在围绕实轴二值化之后的“j”特征矢量样本1502,例如,使得所得的特征矢量样本1506和1508由其实数分量清楚地定义,并且基于实轴上的特征矢量样本值(例如,对应于“0”的“j”特征矢量样本1506、对应于“1”的“j”特征矢量样本1508,或反之)实现二值化。校准的特征矢量样本1510和1512对应于在围绕实轴二值化之后的“k”特征矢量样本1504,例如,使得所得的特征矢量样本1510和1512由其实数分量清楚地定义,并且基于实轴上的特征矢量样本值(例如,对应于“0”的“k”特征矢量样本1510、对应于“1”的“k”特征矢量样本1512,或反之)实现二值化。在其它实施例中,可以通过不同方式,例如通过校准围绕虚轴的二值化来执行用于二值化的相位校准。对于与每个生物测量(例如,指纹)数据捕获相关联的每个特征矢量,在实施例中,可以将测量的复振幅aj乘以以减小二值化中的误差概率,其中对应于用公共代码记录的参考相位。对于示范性“j”特征矢量样本1502,结果可以对应于在实施例中,对于秩为“j”的每个特征矢量fvj,可以通过相位的随机反转以加密形式记录参考相位。相位反转将相关联的位码反转。在应用相位参考的随机反转序列之前的初始相位可以不记录在公共代码中,因此在没有访问真实生物测量扫描以在其上投射相关特征矢量的情况下,不可能猜测稳定代码的任何位。相位反转例如如下所述将相关联的位码反转:在示范性实施例中,基于合适的随机值生成(例如,利用具有相等分布式概率0.5和0.5的纯随机基生成),“bit_rand()”的值可以是0或1。所得的表格可以对应于参考相位的表格,每个选定特征矢量有一个值。因此,所得的经校准特征矢量样本(例如,由aj特征矢量样本1502生成的特征矢量样本1506和1508的a’j和由ak特征矢量样本1504生成的特征矢量样本1510和1512的a’k)可以对应于以下内容:可以通过对与捕获的数据相关联的相应振幅求平均值,通过对多个生物测量(例如,指纹)数据捕获执行注册,来获得更精确的估计。在实施例中,来自注册阶段的等效重定位误差贡献可以根据注册捕获次数的平方根倒数而减小。函数bit_rand()可以产生随机位值0或1。从加密角度来看,随机位生成器可以提供尽可能接近真实的随机数据。例如由伪随机生成器创建的随机值可以包括可能导致安全性破坏的确定序列。在实施例中,用于相位校准的底层随机值可以不记录在公共代码中,使得对于公共代码中记录的每个相位参考,不可能确定用于相位参考的特定位是否在生成阶段期间被反转。来自注册的所捕获的生物测量(例如,指纹)数据可以含有许多不同类别的噪声,例如散粒噪声,噪声可能与可以用于生成公共代码和/或初级代码的底层信息基本上或完全无关。在一些实施例中,来自注册的所捕获的生物测量数据的lsb(最低有效位)(例如,对应于无关噪声)可以用作随机位的来源。与原始注册图像的任何最小残余相关不会导致确定底层生物测量数据的威胁,因为图像和相关联的生物测量信息在使用后不会存储在任何地方,并且一旦完成注册就将从存储器擦除。图16描绘了根据本公开的一些实施例的特征矢量振幅的示范性二值化。图16的表示将二维信号简化为一维信号,以清楚表示特征矢量(x轴)和振幅(y轴)的关系。尽管应理解,特征矢量数据可基于振幅和振幅变化以多种方式得以二值化,但在图16的示范性实施例中,基于振幅零交叉(例如,其中零振幅交叉以阈值斜率值发生,所述零交叉超过沿x轴的特征矢量数据的阈值部分,和/或零交叉的最大振幅(例如,斜率等于零)超过阈值)来识别特征矢量并使其二值化。如图16中所示,一组特征矢量fvi1602、fvi+11604、fvi+21606、fvi+31608、fvi+41610和fvi+51612可以被识别为具有对应的零斜率振幅峰/谷ai(对于fvi1602)、ai+1(对于fvi+11604)、ai+2(对于fvi+21606)、ai+3(对于fvi+31608)、ai+4(对于fvi+41610)、ai+5(对于fvi+51612)。在示范性实施例中,峰(振幅>0)可以对应于二进制“1”,而谷(振幅<1)可以对应于二进制值“0”。在另一个示范性实施例中,二值化可以基于某些相应特征矢量参数符合阈值条件,例如特征矢量振幅(例如,零斜率峰和谷)之间的绝对差值超过阈值,需要峰和谷之间的零振幅交叉、峰和谷处的振幅的绝对值、其它合适的技术以及它们的组合。对特征矢量值二值化的更严格要求减少了位数,但由于天然变化,降低了验证时位反转的概率。为了维持位的交叉依赖性,特定特征矢量振幅峰或谷仅可使用一次以产生特征矢量二进制位。回到图9,也可以生成公共代码912的有效性掩码作为公共代码912的分量。根据本公开,有效性掩码可以不包含任何生物测量信息或使得能够导出稳定代码910的任何位的任何其他提及。有效性掩码的每个位可以与生成的稳定代码910的位相关联。在指纹的示范性实施例中,用于生成稳定代码910的特征矢量坐标集合可能不需要使用有效性掩码进行注册或认证,因为对于用于生成代码的每个特征矢量都可能存在有效位。然而,在一些实施例中,将有效性掩码引入到公共代码912中可以为创建成对的稳定代码位提供显著的额外灵活性。(例如,由and布尔运算符)应用于稳定代码的有效性掩码可以方便选择有效位的优选子集,并且为稍后的代码撤销提供更多机制。例如,除了稳定代码之外还提供有效性掩码使得能够撤销稳定代码,以被另一个替换,而不必再次扫描手指。更改公共代码的有效性掩码的选定位的子集还将改变取决于公共代码912的有效性掩码的可重复生物测量散列代码。稳定代码910可以经历散列化操作914(例如,作为生成可重复代码的示例)。因为稳定代码910是底层生物测量信息的唯一来源(即,生物测量信息无法从公共代码912确定),所以散列化算法应当是稳健的单向散列化算法(例如,sha-256)。在一些实施例中,可以为散列化操作914使用盐。稳定代码910的生物测量代码大小可以直接取决于在注册过程期间收集的独立稳定位的数量。例如,利用现有的指纹捕获技术,有可能在直径为3mm至5mm的roi上收集30-70个稳定位。稳定代码可以被归一化为合适数量的位(例如,2n个位,其中n是整数),例如通过将稳定代码级联成散列化操作914的64位模式以生成生物测量散列918(例如,使用sha256散列化生成的256位生物测量散列)。从安全角度来看,诸如生物测量散列918的可重复代码应足够长以抵抗例如暴力攻击的攻击。扩展生物测量散列结果中的位数量的一种方式是添加若干“盐”位。在实施例中,盐位可以是包括在公共代码912内的随机位。因为盐位是通过随机过程生成的,所以它们不包含任何生物测量信息。在一些实施例中,仍然可能需要模糊公共代码912内的盐位。例如,盐位可以根据许多已知模糊化方法散布在公共代码912内。存在将盐位混合在本领域中众所周知的代码中的有效混淆方法。这需要多添加几位的混淆代码,因此在验证序列期间混淆仍然是可解密的。一旦获得用于公共代码912的所有数据(例如,重定位数据、校准数据、参考相位、盐位、模糊代码、有效性掩码等)并且构建了公共代码,公共代码就可以通过加密操作916(例如,对称加密)来加密,以生成加密公共代码920,所述加密公共代码可以被公布以供认证装置使用。公开加密公共代码920并不会揭示任何底层生物测量信息,因为仅有在注册过程之后保留的生物测量信息的来源是生物测量散列918(即,在注册期间获得的所有中间生物测量数据被永久删除)。尽管如此,主动的黑客可能试图利用生物测量扫描的不同修改,利用数百万次测试,结合所有可能的修改的公共代码的集合,在认证时确定生物测量信息,以试图对公共代码的位和与其相关联的底层特征矢量之间的关系进行反向工程。在一些实施例中,对一个或多个特征矢量添加或减除数据,随后乘高系数可以使稳定代码的位反转而不影响其它位。该过程与矩阵对角化非常相似。此类黑客攻击过程将极其耗费资源,但以暴力方式重复所述过程以跟踪每个位的特征矢量在理论上是可能的。然而,只要没有原始生物测量信息(例如,所有生物测量数据被删除,并且仅通过参照生物测量散列918验证才能访问),本系统的安全性就保持稳固。知道使用了哪些特征矢量但没有实际底层生物测量数据的黑客将不能确定用于生成生物测量散列918的底层稳定代码910的位。尽管如此,仍期望使甚至对加密公共代码920进行反向工程也非常困难。因此,可以利用标准对称加密来对公共代码912应用强加密。在一些实施例中,对潜在黑客来说,将“盐”和“胡椒”位应用于重定位信息使得非常难以识别有效性掩码的位。创建具有足够数量的位(例如,96位或更多位)的加盐且加密的公共代码,导致在现实上不可能被黑客攻击的加密公共代码920。在一些实施例中,公共代码912的简单对称加密916足以混淆与特征矢量的底层基的关系。在此类实施例中,可能不需要交换来自安全注册装置902的任何密钥。安全认证装置904(或此类装置的安全飞地)可以包括要进行解密(例如,使用对称解密924)以获得公共代码926的信息。生物测量捕获922(例如,指纹数据捕获)可以被执行并提供给认证部分928,所述认证部分利用代码中所含的信息将数据从生物捕获922重定位,逆转加盐和模糊操作,并应用有效性掩码以获得稳定代码930。稳定代码可以例如通过散列化操作932被处理以生成可重复代码,该散列操作利用与散列化操作914相同的散列化算法。如果对应于从生物测量捕获922获得的生物测量数据的稳定代码930的位(例如,如由重定位数据和有效性掩码修改的)匹配稳定代码910的位,则生物测量散列934将匹配生物测量散列918。这些相应的生物测量散列可以被逐位比较以认证用户,而始终不能在安全注册和认证装置902和904(或其安全飞地)之外访问来自生物测量扫描906和922的底层生物测量信息。可以在用于生成稳定代码之后立即在安全装置902和904内删除生物测量数据。以此方式,本公开使得能够对生物测量数据进行稳健的逐位比较,而从不会影响底层生物测量数据。生物测量数据仅能够在其存在于安全装置中的最少时间内被访问,并且仅在黑客能够不受阻挡地访问安全装置的范围内被访问。图17示出了根据本公开的一些实施例的使用初级生物测量代码的生物测量验证的过程1700。在捕获生物测量数据1702(例如,虹膜、面部、指纹等)之后,系统可以确定表示所捕获生物测量数据1702的二进制代码1704。在初级代码1706不具有相关联的有效性掩码的情况下,为了进行逐位匹配,需要与来自注册的整个初级代码精确匹配。所述系统可以仅在试验中的生物测量代码(例如,生物测量代码1708和1712)的所有位与已登记生物测量代码(例如,如由确认位1710和1714指示的)匹配时才验证真实身份匹配,其中已登记生物测量代码也是初级生物测量代码。否则,如果试验中的生物测量代码(例如,生物测量代码1716)的至少一个位与登记生物测量代码不匹配(例如,如由确认位1718指示),则系统可以确定所捕获的生物测量图像属于冒充者。如果使用初级代码来生成用于逐位验证的其它数据,例如通过使用相同的散列化算法和盐数据生成所登记代码和比较代码的散列并比较散列结果,则会出现类似结果。图18示出了根据本公开的一些实施例的使用掩蔽生物测量代码的生物测量验证的过程1800。在捕获生物测量数据1802之后,系统可以确定表示所捕获生物测量数据1802的二进制代码1804。系统接着可确定有效性掩码1806,其中有效性掩码的长度可以与生物测量代码相同(例如,8位长的生物测量代码与也是8位长的有效性掩码相关联,等等)。在掩蔽生物测量代码系统中,掩蔽生物测量代码不必所有位都精确匹配登记生物测量代码,因为有效性掩码1806会启用或禁用生物测量代码1804的某些位进行验证。例如,8位有效性掩码1810的第二位可以设置为“0”,由此禁用登记生物测量代码1808的第二位。此外,在此示例中,8位有效性掩码1810的第三位可以设置为“1”,从而启用登记生物测量代码1808的第三位进行验证。有效性掩码1810中的位的值可以指示对应生物测量代码1808位是否已知,以及该位是否可以被以足够置信度使用。有效性掩码1810的位可以仅当登记生物测量代码的对应位在置信水平以上生成时被设置为‘1’。在一些实施例中,有效性掩码1810是跨越多个生物测量捕获周期的信号分析结果。可以针对与生物测量代码相关联的单个有效性掩码1810生成多个掩码。例如,已经生成了试验1的掩码1816、试验2的掩码1822和登记生物测量代码的有效性掩码1812,以认证试验1中的试验生物测量代码1814、试验2中的试验生物测量代码1820和冒充生物测量代码1826。在示范性注册中,生成的有效性掩码1812与第一位、第三位、第四位、第五位、第六位和第八位相关联。因此,可能用于比较的所得数据包括与启用的有效性掩码位对应的8个可能的有效位中的6个。在生物测量代码1814的示范性第一匹配试验中,掩码1816针对匹配的第一位、第四位、第六位和第八位(例如,来自注册的有效性掩码的子集)进行测试。在一种情况下,为了测试匹配,在试验1814下的生物测量代码的在对应于被启用掩码位1816的位置的位必须与登记生物测量代码1808的在被启用位位置中位匹配。如本文中所提及,“启用”位是值为“1”的位,且“掩蔽位”是试验中的生物测量代码的处于未启用掩码位的位置的位。在诸如匹配结果1818中描绘的一些情况下,试验生物测量代码1814的所有启用的掩码位位置将匹配登记生物测量代码1808的对应位。如图18中所示,生物测量代码1820的第二匹配试验还确定与掩码1822相关联的所有掩蔽位(即,启用第一、第四、第五和第六位)是匹配的。以此方式,该系统通过捕获的生物测量数据验证用户的身份,如匹配结果1824所示。在一些实施例中,掩蔽位中的至少一个位可能与登记生物测量代码不匹配。例如,试验中的生物测量代码1826的掩蔽位与登记生物测量代码1808的相应位不匹配(例如,在图18中的第八位位置和第四位位置),如匹配结果1830所示。在这种情况下,所述系统拒绝正在试验的生物测量代码,并且可以认为生物测量数据来自冒充者。在一些实施例中,在生成时动态地检查生物测量代码和有效性掩码。在由虹膜、面部或指纹图像生成的生物测量代码的示例中,用于确定频率的振幅可能随着环带信号被反复重新收集而随时间变化。当在多个时间段内确定的振幅开始变化越来越小时,该系统可以确定这些振幅有较高置信度。在由指纹数据生成的生物测量代码的示例中,代码可类似地在额外捕获循环中稳定。得分函数阵列可以测量特征矢量中的每个元素的敏感度(例如,得分函数阵列可以表示与特征矢量的元素相对应的每个频率振幅随时间流逝的差异)。每个时间段动态地检查振幅,并且一旦置信度达到阈值置信度值,振幅可被视为有效的。图19示出了根据本公开的一些实施例的随时间推移从所接收的生物测量数据示范性生成1900有效性掩码。示范性生物测量代码和对应的有效性掩码可以各自为32位矢量。32位中的每一个的值被取向为图19的图表中的一行。时间增长被显示在图表的左侧并且在从上到下的方向增加,从时间等级1开始,到时间等级30结束,每个时间等级对应于生物测量数据的捕获。如图例1904所示,与数据相关联的有效性掩码“0”不满足置信度标准,并且由星号指示,而有效性掩码“1”以及生物测量代码的位的关联值“0”或“1”由“0”或“1”指示。在图19中的图表的时间等级1处,不存在关于多个样本上所收集生物测量数据的一致性的数据,因为仅创建了一个样本。因此,所有位都用星号标记,但在一些实施例中,可以例如基于特征(例如,虹膜、面部、指纹等)的突出性而立即针对有效性掩码识别某些数据。在(例如,从连续捕获的生物测量数据集合)收集生物测量代码时,如本文所述分析数据以识别达到一致性或确定性阈值水平的数据。此时,将有效性掩码针对该位设置为“1”,并记录下方代码值(“0”或“1”)。随着时间的过去,更多的位将满足一致性要求,而一些位可能无法满足那些要求。例如,在图19中的图表的时间等级5处,代码的第8位以足够高的置信度值被确定为零,从而将有效性掩码设置为“1”且生物测量代码设置为“0”。在一些实施例中,第8位可以针对确定其他位时的所有未来时间段保持设置为‘0’。例如,在图表的下一个时间等级,即时间等级6中,在通过得分函数阵列进行的估计确定在每个时间段处计算的振幅没有随时间发生相对大的变化之后,确定第16位为“1”。到示范性图表1900的时间等级22(即,对应于有效性掩码和值1906),已经以至少符合置信度阈值的置信度值确定了代码总共32位中的22个。以此方式,还确定针对满足阈值的位启用有效性掩码,且针对那些未能满足阈值的那些禁用有效性掩码(例如,位31和30可以是对应于有效性掩码“1”和值“0”的“0”,位29和28可以是对应于有效性掩码“0”的“*”,位25和27可以是对应于有效性掩码“1”和值“1”的“1”)。如本文所述,有效性掩码和值1906可以对应于“次要代码”。到示范性图表1900的时间等级30(即,对应于有效性掩码和值1908),已经以至少符合置信度阈值的置信度值确定了代码总共32位中的22个。以此方式,还确定针对满足阈值的位启用有效性掩码,且针对那些未能满足阈值的那些禁用有效性掩码(例如,位31和30可以是对应于有效性掩码“1”和值“0”的“0”,位29和28可以是对应于有效性掩码“0”的“*”,位24-27可以是对应于有效性掩码“1”和值“1”的“1”)。如本文所述,有效性掩码和值1908可以对应于“主要代码”。将初级生物测量代码与掩蔽生物测量代码进行比较表明掩蔽生物测量代码可以相对于初级生物测量代码提供多个优点。例如,生物测量源可以相对于捕获装置定位在位置更大的变化处,因为有效性掩码的实施不需要试验中的生物测量代码与登记生物测量代码之间精确匹配。由于有必须确定精确匹配的要求,初级生物测量代码可能需要对生物测量源定位有严格的公差。在另一示例中,掩蔽生物测量代码可以花费减少的时间量(例如,比初级代码少2.5-5x)来确定捕获的生物测量数据是真正与用户匹配还是冒充者的生物测量数据。掩蔽生物测量代码还可以改进生物测量识别的frr和far。例如,要求试验中的生物测量源精确匹配登记生物测量数据的初级代码可能具有高达50%的frr。考虑所有生物测量扫描都在正确的得分质量水平,掩蔽生物测量代码可以具有较低的frr,并且可能完全不产生错误拒绝(例如,0%的frr)。虽然初级代码可能具有0.01%的far,但掩蔽生物测量代码可能具有在0.0001%的far下的小得多百分比的错误接受。此外,掩蔽生物测量代码可以被撤销(例如,通过修改有效性掩码和/或底层数据),而初级生物测量代码不具有可撤销性。在撤销的示范性实施例中,可以通过更新稳定代码来执行硬复位。因为并非需要所有特征矢量来生成稳定代码,所以可以利用特征矢量的不同部分或子组为单个用户生成新的和不同的稳定代码和公共代码。在将注册更新为新的生物测量散列和公共代码的此类情况下,即使先前的公共代码和生物测量散列(或底层稳定代码)也不足以预测新的稳定代码/生物测量散列和公共代码。由在正交基上的投影所发出的特征矢量的独立性水平破坏历史依赖性,并进行总体撤销。在一些实施例中,通过使用与用于初始注册不同的生物测量特征区域(例如,用于指纹的roi、用于虹膜的环带等)来进一步改善独立性。在撤销的另一个示范性实施例中,可以更改公共代码,使得即使利用适当的指纹,在认证期间也无法生成正确的稳定代码和生物测量散列。例如,此撤销可以使用先前的公共代码,并且通过将有效性掩码的一些位从1改变为0来切换一些位为关闭。以不同方式掩蔽并任选地对代码的位进行分类将产生不同的代码。这种形式的撤销可能不如通过硬复位进行撤销那样强。仅一个位的改变就足以得到与先前散列代码无关的新散列代码。在虹膜、面部或指纹识别的示范性实施例中,掩蔽生物测量代码可以用于涉及edof透镜的验证应用中,其中edof提供稳定的mtf以进一步降低误差的可能性。在一些实施例中,额外使用edof透镜能够在用于跨越扩展距离范围收集生物测量图案的空间频率带宽中实现稳定mtf。因为由edof提供的操作性工作距离范围可以显著增加标准透镜的操作性工作距离,所以edof方案提供了更好的用户体验(例如,用户不需要由机器保持在适当位置以维持透镜与虹膜之间的严格距离)。一种示范性生物测量捕获系统可以利用具有增大的速度(例如,对于相机,基于合适的快门速度,例如25fps)的相机或其它传感器来实现,以用于捕获且因此用于代码生成,显著缩短了执行生物测量识别所需的时间(例如,小于两秒,或在几百毫秒的尺度上)。该系统可以使用以标准c(ansi)编写的算法,所述算法允许针对不同操作系统(例如,安卓)重建sdk。相机驱动程序可以与linux内核一起工作。在图像捕获相机和分配的处理器而非usb之间可以有直接的mipi连接,这样可以防止任何通过usb数据采集的安全破坏。生物测量代码和有效性掩码的表示可以不限于二进制,并且可以使用任何其它合适的数值表示法。图20示出了根据本公开的一些实施例的分别针对8位次要代码2006和8位主要代码2016的掩蔽生物测量代码2000。掩蔽代码的质量可以逐位测量。在一些实施例中,次要代码2006使用有效性掩码2004,所述有效性掩码配置有将在所有识别尝试中有效的最少的有效位。次要代码2006可以是一旦达到最小位数的标准就快速生成的代码。在图20的示范性次要代码中,次要代码2006包括4个有效位,如有效性掩码2004在8个总代码位2002上所示。在一些实施例中,主要代码2016具有可识别的最大数量的有效位。这可能需要更长的过程,具有大量的图像。在图20的示范性主要代码2016中,主要代码2016包括6个有效位,如有效性掩码2014在8个总代码位2012上所示。次要代码可以是设置为有效的若干nmi位的集合,意味着代码可以具有得分函数,该得分函数对位的有效性和稳定性提供足够的置信度。根据特征矢量的振幅的二值化方法,这些得分函数对于每个位或位的子组可以是独立的。示范性的二值化方法使用特征矢量元素的符号来确定代码位的值。可以按任意但恒定的顺序对位进行排序。对原始生物测量捕获的子序列进行分组的每个生物测量采集序列可以产生有效位和无效位。被设置为无效状态的位值可能无关紧要,因为它可以是“0”或“1”。这些位可以被有效性掩码自动掩蔽。有效位的位置不一定是静态且严格可重复的。在一个序列和另一个序列之间可能会发生一些变化。这些位可以分为三个类别:非常可靠的位、接近可靠性阈值极限的可靠位,以及不可靠位。非常可靠的位可以在捕获序列中快速地设置为有效状态。在一些实施例中,所有这些位都将在次要代码中存在且有效。接近可靠性阈值极限的可靠位有时可以在每个生物测量采集序列处被设定为有效或非有效。以此方式,有效性掩码的结果可能有变化。在一些实施例中,如果捕获条件是有利的,并且如果在采集中给予更多的时间来提高累积信号的质量(例如,累积更多采集可以降低信噪比),则位可以设置为有效。在这些条件下生成的代码可以称为主要代码。在一些实施例中,不可靠位由相对于自然波动(例如,噪声)具有不充分高振幅的特征矢量生成。这可能导致可靠性得分低于接受阈值。在大多数采集序列中,这些位可以保持设置为无效状态。图21示出了根据本公开的一些实施例的生物测量识别系统的示范性流程图。新用户的注册2102在步骤2106处开始,可以包括三个主要步骤:生物测量数据的循环采集(例如,包括生物测量捕获2108和足够数据的确认2110),发出次要代码2112,以及散列化2114以生成生物测量代码2116。循环采集可以涉及多轮采集(例如,直到满足决策框2110的条件)以确定是否已获得足够的数据,如本文所述。在本公开的实施例中,在循环的每一轮,如果生物测量数据符合传感器上的捕获质量标准,则可以将特征矢量振幅添加到先前合格捕获。以此方式,存在特征矢量的振幅的迭代积分。在一些实施例中,积分必须具有有限的支持,使得当受试者一直暴露于生物测量传感器时,积分将收敛到恒定的积分振幅。例如,积分可以限于若干次采集。点扩散函数(狄拉克峰)可以是离散门函数。积分的另一示例可使用递归求和:ci,j=α·ci-1,j+(1-α)·ai,j其中ci,j是秩为j的特征矢量的时间等级i的积分振幅,ai,j是秩为j的特征矢量的时间等级i的直接测量振幅,并且α是积分系数。在一些实施例中,α具有值0<α<1,并且当α更接近1时,积分宽度更长。在一些实施例中,所述递归积分函数具有一阶线性低通滤波器的属性。本领域的普通技术人员可以通过额外阶将其扩展到递归求和,以获得二阶低通滤波器,这在拒绝错误峰时可能更有效。在特征矢量振幅2108和2110上的每个积分循环处,可以对每个特征矢量振幅进行有效性测试。在一些实施例中,有效性的最重要标准是稳定性。可以通过经积分的振幅与振幅的时域标准偏差的比值来度量振幅的质量:在一些实施例中,如果振幅的质量超过阈值质量值(例如,qi,j>4,其中,这指示振幅是其时间变化的标准偏差的至少四倍),则相关联的位可以被视为稳定且可靠的。每个特征矢量的振幅的标准偏差可以在每个新的生物测量捕获处演化。在与振幅方法类似的方法上,方差的递归求和可以用于有限数量的累积生物测量捕获。另外,具有一阶低通滤波器的属性的递归求和可以用于有限数量的累积生物测量捕获。vi,j=α·vi-1,j+(1-α)·(ai,j-ci,j)2其中vi,j是秩为j的特征矢量的振幅的时间等级i处演化的积分方差,ci,j是秩为j的特征矢量的时间等级i的积分振幅,ai,j是秩为j的特征矢量的时间等级i的直接测量振幅,并且α是积分系数。在一些实施例中,α具有值0<α<1,并且当α更接近1时,积分宽度更长。在一些实施例中,在已经收集到足够的生物测量数据之后,新用户注册的下一个步骤是发出次要代码2112。在一些实施例中,用于发出次要代码的一般条件可以是具有足够的有效振幅以产生直接有效位。这种情况的一个原因是有效位的数量随着生物测量采集的次数而增加。在一些实施例中,位数增大引起更高的熵但更长的处理时间。次要代码可以是二进制代码。二进制代码和有效性掩码都可以是n位长的。在本公开的实施例中,代码的每个位可以与有效性掩码的对应位配对,并且有效性位可以按代码位相同的方式排序。这种排序可以根据秘密代码以不同方式完成,以搅乱恶意攻击。此外,此代码和有效性掩码可以通过对称加密使用秘密私钥或不对称加密来加密,其中生物测量装置保持该秘密私钥。在实施例中,次要代码可以具有两种不同用途。在一些实施例中,次要代码是用于生成生物测量散列的输入代码。在一些实施例中,次要代码提供代码的次要有效性掩码,所述次要有效性掩码可以用作将允许在识别和认证两者期间产生相同生物测量散列的公共代码。次要代码可以由mibc所表示的n位代码和mivc所表示的n位有效性掩码构成。在实施例中,可以由于在mibc与mivc之间的布尔逐位运算“and”而产生紧凑代码:cc=((mibc)and(mivc))此紧凑代码可以是可以用于生物测量散列的最终稳定生物测量代码的示例。尽管稳定性可以以如本文所述的多种方式确定,但在一些实施例中,只要相同的有效性掩码由同样使用产生由相同有效性掩码启用的相同代码位值的生物测量装置的同一人使用,那么就假设有稳定性。如本文所述,未由对应有效性掩码启用的位码的任何部分可能无关紧要。在一些实施例中,生成紧凑生物测量代码的布尔运算在每个在次要有效性掩码上设置为非有效的位上产生“0”。次要代码的有效性掩码可以随着同一用户的每次新的独立注册而改变几位。该属性使得注册本质上是可撤销的。生成新的次要有效性掩码的新独立注册中发生改变的有效性等级有很大百分比。产生相同有效性掩码的概率可能非常低,且此概率可能随着代码的位数增加而迅速减小。如果由于装置丢失或敏感生物测量数据被盗而有必要撤销,那么新的次要有效性掩码可以有意地不同或自然地改变。可撤销性的这种属性可以使用某种生物测量距离测量值来解决生物测量系统的局限性,从而对所测量数据的可变性提供某种耐受性。例如,如果虹膜注册数据已泄露给第三方,则基于汉明距离的识别将接受新的独立注册。本公开的可撤销性可以增加对生物测量数据和次要有效性掩码的更高保护,并且通过提供个人可撤销密钥以实现同一人的生物测量认证,从而在流程中提供进一步的安全性。次要代码和有效性掩码(例如,作为公共代码2120的一部分)不包含如本文所述的生物测量信息,并且可以安全地传输到其它系统并且例如在备份2118处(例如,以加密形式)加以存储。一旦已经设置次要代码,处理就可以继续进行到步骤2114,在该步骤中,生成所生成的稳定代码的生物测量散列2116。散列可以是数字过程,其允许将任何输入代码转换为具有恒定大小的唯一代码,该唯一代码不允许通过转换以将散列反转到初始生物测量数据。公共领域中有许多标准化的散列解决方案,例如sha-1、sha-2、sha-256和sha-512。散列的强度可以主要取决于输出的位数。例如,输出的位数越多,两个用户具有相同散列(例如,冲突)的风险就越小。生物测量系统的安全性可以通过添加密码技术来改进。例如,可以将盐添加到代码中以在散列化之前增加输入位的数量,如本文所述。在另一示例中,可以利用对称或不对称加密来加密紧凑生物测量代码,其中私钥秘密地托管在装置中。在注册阶段2102之后,生物测量系统可以进行到识别和验证阶段2104。识别和验证阶段在步骤2122处开始,在此之后,在类似的循环过程中捕获用户的生物测量信息以进行注册,只是在识别和验证2104的模式中,该循环确认生物测量捕获数据2124涵盖包括在次要代码和有效性掩码中的生物测量数据的部分(步骤2126和2128)。如果无法获得所有这些位,则用户可能是冒充者。如果获得了所有相关的生物测量位,则该处理继续进行到执行加密的步骤2130、对捕获的数据进行散列化以生成生物测量散列2134的步骤2132,以及比较注册生物测量散列2116和识别/验证生物测量散列的步骤2136。图22示出了根据本公开的一些实施例的生物测量识别和认证系统的示范性流程图。注册系统2202在步骤2206处开始。循环执行生物测量捕获2208,其中,捕获的数据被反复投影到特征矢量2210上,与先前特征矢量2212积分,并且在步骤2214处更新生物测量代码和有效性掩码,直到在步骤2216处获得用于次要代码的足够位为止,如本文中所述。在实施例中,注册系统2202和识别/认证/验证系统2204中的每一个都可以包括私钥2218/2252。在注册期间,私钥2218可以用于加密生成的紧凑代码和次要有效性掩码,它们可以被提供为公共代码2230的一部分,并且在一些实施例中被存储在联网的备份装置2228中。紧凑代码(例如,稳定的生物测量代码)可以如本文所述进行散列化以生成生物测量散列2226。示范性识别/认证/验证系统2204在步骤2234处开始。循环执行生物测量捕获2236,其中,捕获的数据被反复投影到特征矢量2238上,与先前特征矢量2240积分,并且更新生物测量代码和有效性掩码,直到在步骤2242处获得用于次要代码的足够位为止,如本文中所述。另外,次要有效性掩码是2248,是通过基于公钥2232(例如,与私钥2218相关联的不对称公钥)的解密2250而从公共代码2230获得的。基于如本文中所描述的次要有效性掩码2248处理迭代更新的生物测量代码和有效性掩码2242,并且该循环继续进行,直到在步骤2246处获得用于最终生物测量散列比较的所有必要位。如果在阈值数量的循环(未示出)内未获得所有位,则可以将用户识别为冒充者或者可以确定错误。处理也在步骤2250处进行,在该步骤处基于私钥2252(其匹配私钥2218)执行加密2252,以获得加密的紧凑代码和次要有效性掩码2256。这些值可以在步骤2258处被散列化以生成生物测量散列2260。通过将生物测量散列2260与生物测量散列2226进行比较,可以识别、认证和/或验证用户。图23示出了根据本公开的一些实施例的包括生物测量散列的生物测量认证的过程2300。注册阶段2304可以接收输入代码2302,可以从该输入代码生成包括次要生物测量代码(mibc)2312和次要有效性掩码2314(mivm)的次要代码2308。通过次要生物测量代码(mibc)2312和次要有效性掩码2314(mivm)的and运算,可以生成第一紧凑验证代码2316c1以用于进行散列化以及稍后在识别/认证/验证阶段2306期间进行比较。在散列化之前,生物测量散列可能需要稳定的输入。在一些实施例中,稳定生物测量代码必须与在注册阶段产生的代码严格相同。以此方式,可能需要识别/认证/验证阶段以产生与在注册阶段2304期间生成的紧凑验证代码2316c1严格相同的紧凑代码2328c2。该要求可以通过两个条件满足。一个条件可以是能够从注册访问次要有效性掩码2314(mivm)。第二个条件可以是,在2326处测试当前主要有效性掩码2324(mavm)上的所有有效位是否在注册的次要有效性掩码2314(mivm)上也有效。在一些实施例中,当满足第二条件时,获得主要代码2322(例如,mabc)。一旦两个条件都满足,就可以通过逐位布尔运算来发出稳定紧凑生物测量代码2328c2:c2=((mabc)and(mivm))如果同一个人被呈现给该装置,那么稳定紧凑的生物测量代码2328c2可以与在注册阶段2304期间生成的验证代码2316c1相同。可以在步骤2318和2330处对相应的紧凑代码进行散列化,并且在2332处进行比较以确认生物测量输入2320的身份/真实性。图24示出了根据本公开的一些实施例的确定代码是否准备好散列化的测试2400。在一些实施例中,使用逐位布尔运算2414的测试可以用于确定有效次要代码的所有位是否在主要有效性掩码上也是有效的。(mivmand(notmavm))=0?如果测试的至少一个有效输出是“1”,则系统可以确定代码尚未准备好进行散列化。例如,第一次要有效性掩码2402可以具有二进制值10011001,而第一主要有效性掩码2404的补码可以具有二进制值01101010。这些相应二进制值的and运算可以产生具有二进制值00001000的紧凑代码2410,其中“1”对应于第一次要有效性掩码2402的第四位值“1”和第一主要有效性掩码2404的第四位值“0”的补码相互and(即,与“1”相互and)的结果。因此,与第一次要有效性掩码2402和第一主要有效性掩码2404相关联的第一代码可能未准备好进行散列化。作为另一示例,第二次要有效性掩码2406可具有二进制值10011001,而第二主要有效性掩码2408可以具有二进制值10111101。这些相应二进制值的and运算可以获得具有二进制值00000000,即等于零的紧凑代码2412。因此,与第二次要有效性掩码2406和第二主要有效性掩码2408相关联的第二代码可能未准备好进行散列化。类似于注册阶段,可以在识别、认证和验证阶段添加各种加密操作以增加安全性或遵守各种系统架构。本领域的普通技术人员可以添加或定制如所公开的一般流程。次要掩码可以拥有使得能够生成紧凑和稳定的生物测量代码的特定属性。在一些实施例中,初级功能是列出在可靠和可重复的基础上测量的代码位。这些启用的有效位可以是稳定代码的一部分。与收集的代码位的“and”布尔运算可以构成稳定且紧凑的生物测量代码。次级功能可以是生成个人公共代码,从而能够从有效位的新独立收集的收集生成相同的紧凑代码。这可能对于同一人的认证是必要的。在一些实施例中,生物测量代码是要保密的最合理数据而不是有效性掩码。可以暴露次要有效性掩码,而对安全性没有任何威胁。为了给进入的攻击造成更大的困难,也可以加密由公共次要有效性掩码携带的信息,使得攻击者不知道位在哪里有效以及在哪里无效。这可以隐式地在全局编码信息中加盐。如果使用相同的装置或处理单元进行注册和认证两者,则可以不需要导出公共次要有效性掩码。在一些实施例中,公共次要有效性掩码可以保密。可能需要将注册装置上生成的公共次要有效性掩码传输到认证装置,以通过从同一人收集新的生物测量代码,从而能够生成相同的紧凑生物测量代码。在另一实施例中,如果将不同的人(例如,冒充者)呈现给认证装置,则结果将既有不同的生物测量代码又有不同的最终紧凑代码。根据本公开,冒充者生物测量扫描将不能提供能够凭以生成匹配生物测量散列的真实稳定代码。例如,基于公共代码中的信息,将不能正常重定位冒充者生物测量扫描。例如,重定位算法本身可以基于未能找到超过阈值的相关性而将生物测量数据识别为冒充者。只要冒充者生物测量数据可能通过重定位算法,就将在稳定代码生成期间发生拒绝。因为可以在(例如,[-π,π]mod2π的)范围中以均匀概率密度来在随机分布上分布选定特征矢量的相位,所以冒充者扫描获得的代码的每个位将导致不可预测的位值(例如,在{0,1}中)。作出错误匹配的概率理论上是2-n,其中n是代码中被认为有效位的数量。这种理论估计假设所有位从静态角度讲是完全独立的。生物测量的现实是,在生物测量代码中部分反映的生物测量特征(例如,虹膜特征、面部特征、指纹纹理)之间存在某种部分依赖性。在公共特性得到更少表示的范围中进行特征矢量的选择,以减少这种依赖性。通过指纹的位数据库进行的一些示范性测量显示使用30位的far(错误接受率)为1/115,000。该结果接近2-17,等价于17个完全独立的位,而不是30个。部分依赖性可以等价于失去一些位,因为自然生物测量熵比假设所收集特征的总独立性的数值熵更低。通过比较两个紧凑代码或两个散列代码而发出错误接受的概率是其中en是熵。通过假设所有位在代码内部是完全独立的并且在不同的人之间是独立的(通过选择重采样生物测量收集数据的自相关瓣没有重叠的正交特征矢量,对于生物测量代码而言尤其可能是这种情况),熵处于理论极限处于en=2n,其中,n是次要有效性掩码设置的有效位数量。因此,far将为frr率可以是每个有效位上的误差累积概率。每个位都有其自身的误差概率,与其他位无关。pj(err)是有效位或秩j上的误差概率。如果用于位验证的内部阈值设置在质量级别4处(例如,在标准偏差的四倍处),假设特征矢量的振幅的统计分布遵循正态高斯分布,那么通过重新分配的正态函数,误差概率为大约3.88e-5。使用3.88e-5的每位强函数误差率,22个有效位上的最终frr将为0.85%。图25示出了根据本公开的一些实施例从面部特征2500确定的特征矢量。特征矢量上的累积振幅方法、次要有效性掩码的生成和本文所述的其它方法还可以适用于生成面部特征以及容易发生模糊测量的其它生物测量或物理数据的紧凑代码和散列代码。可以通过寻找地标在特定局部区域中从面部图像提取独立且正交的特征矢量。在一些实施例中,地标是定义新的稳定坐标系的稳定点。图25示出了对应于眉毛2502和2504、眼睛2506和2508、鼻子2510和2512、嘴2514和下巴2516的部分的70个地标的示例。图25还示出了区域的四个示例,每个示例被表示为相对于地标定位的感兴趣区域(roi),包括roi2518(对应于脸颊区域)、roi2520(对应于鼻子和眼睛之间的区域)、roi2522(对应于鼻梁)和roi2524(对应于眉毛之间的区域)。简单区域可以形状为圆形,但区域不限于圆形。通过在roi上引入几何畸变,感兴趣区域的封闭周边可具有自由形式。在roi的每个周边,可以在n个样本上对像素上的灰度级重新采样。离散阵列中的这种数据收集可以通过具有闭合自由形式而是周期性的。可以从自由形式周边处所收集数据的快速傅里叶变换的选择频率提取正交特征矢量。某一频率下的每个复振幅可以用作两个具有实数振幅的独立矢量(例如,将复振幅分成分别对应于余弦和正弦的其实部和虚部)。从选择频率和自由形式的振幅的二值化发出的所生成位的独立性可能并非在所有频率下有效。以此方式,频率的选择不是任意的。低频率在不同面部之间可能具有非常强的相关性。中高频率可以提供面部之间的更多差异化(例如,在频率4-12下面部之间的更低相关性)。在高频率下,由面部倾斜、表情、照明等产生的变化产生细微差异,这些细微差异变得与较高频率的面部图案难以区分。可以使用特征矢量的许多其它和各种矢量基。在归一化坐标系中收集的像素灰度级是指稳定的地标并且打开非常大量的可能矢量基。该过程可以被扩展到非常大量的维度。常见的面部识别解决方案在本征(eigen)矢量上投射面部数据。例如,主成分分析描述了在一组通常称为“本征面部”的基础函数方面,面部图像中的强度图案。这可以与3d建模组合。大量维度可能需要使用深度学习技术来分选和识别矢量或对其系数进行稳定二值化的正交矢量的组合。不管如何识别它们,这些矢量的识别列表将记录在公共代码中。系数的二值化提供稳定代码。图26示出了根据本公开的一些实施例的多个roi配准的示范性实施例。在一些实施例中,可能希望为单个用户注册多个roi。多个roi提供了关于用户在认证期间如何扫描其生物测量信息的更多可变性。尽管可以在指纹捕获的上下文中描述与多个roi有关的图26和以下附图(例如,图27-30),但应理解,其它生物测量技术可以类似地利用多个roi(例如,用于虹膜捕获的多个环形区域或用于面部识别的多个面部特征)。在图26的示范性实施例中,五个roi与指纹2602相关联,包括位于指纹2602中间附近的roi2612,在-y方向上从指纹2602的中心偏移的roi2604,在+x方向上从指纹2602中心偏移的roi2606,在+y方向上从指纹2602的中心偏移的roi2608,以及在-x方向上从指纹2602的中心偏移的roi2610。针对每个roi建立n个roi(例如,n=5)的roi中心和位置2614。这些继而被处理以生成n个加密输出2618的相应输出,每个加密输出包括公共代码、稳定代码和补偿掩码的分量2616。如本文所述生成公共代码和稳定代码。下文更详细描述的补偿代码提供roi之间的转换,使得所有稳定代码可以被修改为具有用于散列化和比较的公共全局稳定代码2620值。图27示出了根据本公开的一些实施例的利用多个roi生成并使用补偿代码的示范性实施例。全局稳定代码2706的属性使得:当稳定代码2702中的每一个(例如,每个稳定代码(i))由其相应的相关联补偿掩码2704(例如,每个补偿掩码(i))通过合适的运算(例如,逐位异或运算2710)来修改时,则获得相同的全局稳定代码2706(假设正确地从同一用户的指纹获得底层稳定代码)。如在2714处所示,补偿掩码2704和全局稳定代码2706的属性可以使得在反向对全局稳定代码2706执行用于生成全局稳定代码2706的相同运算导致原始相应稳定代码2702(例如,基于与相应补偿掩码2704的逐位异或2712)或补偿掩码(例如,基于与相应稳定代码2702的逐位异或2708)的恢复。图28示出了根据本公开的一些实施例的多个roi验证的示范性实施例。在图28的示范性实施例中,该系统尝试捕获五个roi,与在注册期间获得的五个roi一致,基于每个roi的不同位置(例如,在-y方向上更向上)和角度(转动大约负35°-40°)而偏移。因此,五个roi与指纹2802相关联,包括位于指纹2802中间附近的roi2812,在-x方向和-y方向上从指纹2802的中心偏移的roi2804,在+x方向和-y方向上从指纹2802中心偏移的roi2806,在+x方向和+y方向上从指纹2802的中心偏移的roi2808,以及在-x方向和+y方向上从指纹2802的中心偏移的roi2810。针对每个roi,通过如本文所述的重定位建立n个roi(例如,n=5)的roi中心和位置2814。这些继而被处理以生成n个加密输出2818的相应输出,每个加密输出包括公共代码、稳定代码和补偿掩码的分量2816。如本文所述生成公共代码和稳定代码。本文所述的通过对稳定代码的逐位xor(异或)运算而应用的补偿代码提供了roi之间的转换,使得所有稳定代码可以被修改为在针对每个稳定代码的生物测量捕获成功的程度上具有用于散列化和比较的公共全局稳定代码2820值。在图28的示范性实施例中,roi2804可以被裁剪,并且因此可以不包括成功生成正确的稳定代码所需的所有位。图29示出了根据本公开的一些实施例的针对多个roi的代码提取和生成的示范性实施例。继续图28的示例,指纹2902对应于指纹2802,roi2904对应于roi2804,roi2906对应于roi2806,roi2908对应于roi2808,roi2910对应于roi2810,roi2912对应于roi2812。如关于图28所述,可以成功获得和重定位roi2906、2908、2910和2912中的每一个,使得可以获得相应稳定代码所需位。在此示范性实施例中,roi2904可以被部分地裁剪,使得无法从roi2904的所捕获生物测量数据确定匹配的稳定代码。示范性稳定代码2916被描绘为与相应roi中的每一个相关联。稳定代码2916中的每一个取决于相应roi的底层生物测量数据和特征矢量,因此稳定代码中的每一个都不同。对于roi2904,可以确定满足本文要求的稳定代码,因此所有位都设置为默认值(例如,“0”)。与每个roi相关联的稳定代码2916中的每一个用相应的补偿掩码2918进行修改(例如,通过逐位异或运算2920)。如本文所述,稳定代码2916和补偿掩码2918(例如,通过来自注册的公共代码获得)的逐位异或运算输出roi2906、2908、2910和2912的公共补偿代码2922“efb8dee4”。另一方面,roi2904由于获得roi2904的稳定代码2916的尝试失败而具有不同的补偿代码2922值。检查2924补偿代码,并且将建立公共补偿代码efb8dee4作为全局稳定代码2926,以与在注册时(例如,在散列化每个全局稳定代码值之后,如本文中所描述)建立的代码进行比较。在一些实施例中,多于一个roi可能与其他roi不匹配。此外,坏数据或冒充数据可能会通过算法成为可能的稳定代码2916。在存在多个冲突补偿代码2922的情况下,可以使用许多方法选择要用作全局稳定代码2926的值。例如,所有可能的补偿代码值都可以进行散列化,并与来自注册的原始生物测量散列进行比较。只要其中一个散列化补偿代码匹配,这对于某些应用可能就足够了。在一些实施例中,可以建立更高安全性要求,例如要求至少两个roi具有匹配的补偿代码,或仅利用与具有极少干扰或缺失数据的roi相关联的补偿代码。图30示出根据本公开的一些实施例的针对多个roi的示范性生物测量散列生成和检查。继续图28-29的示例,相应加盐的稳定代码3002(从左到右)对应于roi2808/2908、roi2810/2910、roi2804/2904、roi2806/2906和roi2812/2912。在图30的示范性实施例中,将相应的稳定代码如本文所述加盐以生成加盐稳定代码3002,只是无法从roi2804/2904生成稳健稳定代码。对加盐稳定代码3002进行散列化以生成私有散列代码3006,所述私有散列代码由散列补偿掩码3008修改(例如,通过异或运算3010)以生成补偿的散列代码3012。在散列代码检查3014处,与除了roi2804/2904之外的所有roi相关联的补偿散列代码3012都匹配,并且建立匹配的补偿散列代码3012作为全局稳定散列代码3016。图31描绘了根据本公开的一些实施例利用生物测量代码的示范性不对称加密。在示范性不对称加密系统3100中,将大随机数3102输入到密钥生成程序3104中以生成相应的私钥3108和公钥3106。在生物测量不对称密钥生成3110的实施例中,生物测量捕获3112用于获取生物测量数据,所述生物测量数据接着用于生成私钥和公钥。生物测量数据由生物测量散列算法3114处理以生成公共代码3116(或在不对称加密的情况下,以生成私钥和/或公钥,生物测量散列算法3114访问公共数据3116)和生物测量散列3118。生物测量散列3118随后被用作密钥生成程序3120的输入,以生成私钥3124和公钥3122。以此方式,根据本公开生成的生物测量散列可以用于基于用户的生物测量数据生成和分配私有和公共不对称密钥。图32描绘了根据本公开的一些实施例利用生物测量代码的示范性pki加密。根据本公开,用户的生物测量信息可以用于生成分布式公钥(例如,公钥3220/3270)和生成可重复的临时私钥(例如,私钥3216/3266)。以此方式,用户的生物测量信息基本上充当私钥。在示范性注册阶段期间,可以如本文所述循环获得用户的生物测量信息3202,直到本地安全装置3204识别出足够多有效位3206以确定稳定代码3208和公共代码3210为止。可以将公共代码3210(例如,作为加密公共代码)提供给其它装置以供稍后处理(例如,本地安全装置3254)。生物测量散列3212可以从稳定代码3208生成,并且生物测量散列3212继而可以通过密钥生成过程(例如,pki密钥生成3214)进行处理以生成分布式公钥3220和临时私钥3216。私钥可以用来处理由公钥3220编码的任何编码消息3222以访问解码消息3218。如果不存在要处理的当前编码消息,或如果编码消息的处理完成,则可以永久删除私钥。为了访问由公钥3220编码的附加消息,用户将必须用用户的生物测量信息重新建立私钥。一旦建立公共代码3210/3260和公钥3220/3270,用户的生物测量信息就可以用于在其它本地安全装置(例如,本地安全装置3254)处生成私钥3216/3266。可以如本文所述循环获得用户的生物测量信息3252,直到本地安全装置3254识别出足够多有效位3256以确定稳定代码3258为止。公共代码3260可以对应于公共代码3210,且可以由如本文中所描述的本地安全装置3254获取。生物测量散列3262可以从稳定代码3258生成,并且生物测量散列3262继而可以通过密钥生成过程(例如,pki密钥生成3264)进行处理以生成临时私钥3266。假设用户实际上是注册初始私钥3216和公钥3220的同一用户,则私钥3266应当与私钥3216匹配,且应当用以对由公钥3270/3220编码的编码消息3272解码。以此方式,用户可以在本地安全装置3254处访问解码消息3268,而不会将用户的私钥永久地存储在任何装置上。图33描绘了根据本公开的一些实施例的示范性识别散列注册。如本文所述,公共代码可以不包括可据以确定用户生物测量数据的信息,而生物测量散列允许对被用于创建生物测量散列的底层单向散列函数永久模糊化的数据进行总体逐位比较。生物测量散列也可以用于生成如本文所述的私钥/公钥对。此输出数据均不允许确定底层生物测量信息,而是仅仅可以使用相同的生物测量特征来识别和/或认证用户。在图33中所描绘的注册的示范性实施例中,捕获的生物测量数据3306(例如,通过如本文所述的处理循环获取)可以由生物测量散列程序3304处理,以生成公共代码3306、用于存储3312和稍后比较的生物测量散列3308,以及用于生成3314私钥3318和公钥3316的生物测量散列3310。除了可以如本文所述在使用之后删除的私钥3318之外,该信息可以根据需要存储和分发,以向用户提供在几乎全球任何位置或捕获装置上快速且容易地执行识别和/或认证的能力,并且不损害或甚至存储用户的底层生物测量信息。图34描绘了根据本公开的一些实施例的示范性散列识别和认证。在图34中所描绘的识别和/或认证的示范性实施例中,公共代码3406、生物测量散列3424和公钥3418可能已经在注册数据库或其它公共存储库处建立。安全装置捕获生物测量数据3402,所述生物测量数据由生物测量散列程序3404基于相关联的公共代码3408处理。如果适当用户提供生物测量信息,则所得生物测量散列3410可以用于识别与生物测量散列3424的匹配3422,而私钥3420可以被生成以匹配初始私钥(例如,私钥3318),并编码或解码信息以与拥有公钥3418的第三方通信。图35描绘了根据本公开的一些实施例的示范性生物测量处理系统。在图35中所描绘的示范性实施例中,例如生物测量装置3510诸如智能手机等移动装置被描绘为生物测量数据捕获和处理装置,所述生物测量数据捕获和处理装置接着与其它捕获装置、处理装置、存储装置、服务器、远程处理以及用于通过本领域已知的合适的有线和无线网络执行本文所述的操作的其它合适的部件通信。尽管某些操作将被描述为由生物测量装置3510执行,并且生物测量装置3510可以被描述为包括某些部件、硬件和软件,但是应理解,根据本公开,生物测量装置3510的操作和部件的任何合适部分可以在多个本地和/或联网装置之间拆分,例如本地联网的捕获装置、iot装置、电器/车辆/设备的智能系统、台式计算机或笔记本计算机以及具有必要处理、通信和/或数据捕获能力的其他合适装置。用于一种或多种生物测量特征(例如,虹膜、面部、指纹等)示范性生物测量捕获系统(例如,光学、ir、飞行时间、电容、超声波等)3520包括控制器3550,所述控制器包括一个或多个处理器3554(例如,微处理器、核心或应用程序处理器、图形处理器和/或处理器等),并且包括例如ios、microsoftwindows、linux、android等操作系统。处理器可以是或包括具有执行本文所述的处理功能所必需的处理能力的任何适当处理器,包括但不限于硬件逻辑、在处理器上运行的计算机可读指令或其任何组合。在一些实施例中,处理器3554可以包括通用或专用微处理器、有限状态机、控制器、计算机、中央处理单元(cpu)、现场可编程门阵列(fpga)或数字信号处理器。处理器3554可运行软件以执行本文所述的操作,包括在有形的非暂态计算机可读存储介质(例如,闪存、ram、rom、sram、eeprom、硬盘驱动器等)上以机器可读形式访问的软件,以及描述硬件配置的软件,例如用于设计芯片的硬件描述语言(hdl)软件。控制器3550还可以包括操作性耦接到处理器3554的存储器单元(“存储器”)3512,其上可以存储可由处理器3554执行的一系列指令。如本文所用,术语“存储器”是指任何有形(或非暂态)存储介质,包括磁盘、拇指驱动器和存储器等,但不包括传播的信号。有形计算机可读存储介质可以包括易失性和非易失性、可移除和不可移除介质,例如计算机可读指令、数据结构、程序模块或其它数据。此类介质的示例包括ram、rom、eprom、eeprom、闪存存储器、cd-rom、dvd、磁盘或光学存储装置、磁性存储装置,或存储由处理器或计算装置访问的信息的任何其它非暂态介质。在示范性实施例中,控制器3550可以包括端口或驱动器(未示出),其适于容纳可移除处理器可读介质3516,例如cd-rom、dvd、存储棒或类似存储介质。本公开的生物测量方法可以在各种实施例中实施于机器可读介质(例如,存储器3512)中,所述机器可读介质包括用于使控制器3550执行方法并控制操作系统的操作的机器可读指令(例如,计算机程序和/或软件模块)。在示范性实施例中,计算机程序从存储器3512取出并在处理器3554上运行,并且当存储在可移除介质3516上时,可经由磁盘驱动器或端口3522,或当存储在控制器3550之外时经由有线或无线网络连接,或经由其它类型的计算机或机器可读介质(可以从其读出并利用计算机程序),从永久存储装置被传输到主存储器。例如,在一些实施例中,本文所述的一些或所有处理可以由远程系统执行,所述远程系统从手持式装置远程接收生物测量数据、公共和稳定代码或其它数据(例如,与生物测量数据相关联的得分)以执行处理的各个方面(例如,生物测量数据的处理、生物测量代码的生成、与代码参考数据库的比较等)。计算机程序和/或软件模块可以包括多个模块或对象以执行本公开的各种方法,并控制生物测量装置3510中的各种部件的操作和功能。用于代码的计算机编程语言的类型可以在程序代码类型语言与面向对象的语言之间变化。取决于程序员的需要,文件或对象不需要具有与所描述的模块或方法步骤的一对一对应。此外,所述方法和设备可以包括软件、硬件和固件的组合。固件可以被下载到处理器3554中,以用于实施本公开的各种示范性实施例。控制器3550还可以包括显示器3530(例如,提供各种应用和接口的触摸屏显示器),其可以是用于例如使用多种字母数字和图形表示以任何合适方式显示信息的任何适当显示器。在实施例中,存储器3512和/或与处理器相关联的存储器中的指令可以包括用于各种应用程序的指令,所述应用程序可以利用生物测量装置3510的生物测量捕获和处理能力,例如提供对手持式装置的访问,提供对在手持式装置上运行的特定应用程序的访问,辅助设置生物测量识别系统(例如,以登记用户),或执行其它合适的功能。例如,在一些实施例中,显示器3530可以显示生物测量图像(例如,由生物测量装置3510捕获和/或增强的图像)、与生物测量代码有关的信息、用于登记用户的指令或可能的用户匹配。控制器3550还可以包括数据输入装置3532,其在图35的手持式装置的实施例中可以被体现为触摸屏显示器3530上所描绘的用户界面的图像。在一些实施例中,数据输入装置3532可以包括允许系统3510的用户与控制器3550交互的任何适当装置。例如,键盘或触摸屏可以允许用户输入用于控制器3550的信息(例如,被捕获对象的名称等)并手动控制系统3510的操作。在示范性实施例中,控制器3550被做得足够紧凑以配合于手持式或便携式装置,例如图35中所示装置3552的小形状因子外壳之内。生物测量装置3510还可以包括可操作地连接到控制器3550的数据库单元。在实施例中,数据库单元可以包括充当计算机可读介质的存储器单元,所述计算机可读介质适于从处理器3554接收公共代码、稳定代码和其它生物测量信息且存储相关联的经处理的数字数据。数据库单元的存储器单元可以包括如本文中所描述的任何合适的存储器,且可以以任何合适的方式(例如,在生物测量装置3510内本地或远程地)可操作地连接到控制器3550。在示范性实施例中,数据库单元被包括在控制器3550内,但其中的任何合适部分可以被包括在其它本地装置或远程系统处。前述描述包括根据本公开的示范性实施例。提供这些示例仅出于说明目的而非限制目的。应当理解,本公开可以不同于本文明确描述和描绘的形式实施,并且本领域的普通技术人员可以根据以下权利要求实施各种修改、优化和变化。当前第1页1 2 3 当前第1页1 2 3 
再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1