首页> 中国专利> 使用距离保持变换来保护敏感数据的安全

使用距离保持变换来保护敏感数据的安全

摘要

在一些示例中公开了用于使用距离保持变换来保护生物特征数据的安全的方法、系统、设备和机器可读介质。距离保持变换是将元素映射到同一个或另一个度量空间的函数,以使新度量空间中元素之间的距离等于原始度量空间中元素之间的距离。

著录项

  • 公开/公告号CN112513843A

    专利类型发明专利

  • 公开/公告日2021-03-16

    原文格式PDF

  • 申请/专利权人 微软技术许可有限责任公司;

    申请/专利号CN201980051859.6

  • 发明设计人 A·A·哈桑;E·C·贾伊莫三世;

    申请日2019-06-25

  • 分类号G06F21/32(20060101);H04L29/06(20060101);

  • 代理机构72002 永新专利商标代理有限公司;

  • 代理人贾丽萍

  • 地址 美国华盛顿州

  • 入库时间 2023-06-19 10:14:56

说明书

背景技术

在计算机系统上对用户进行认证的当前方法通常依赖于用户名和密码,在某些情况下还依赖于一次性代码。这些方法有许多缺点。例如,最强的密码是具有随机字符而不是单词或短语的密码。但是,这些随机密码很难记住,因此用户经常选择带有容易受到字典攻击的单词或短语的密码。在字典攻击中,攻击者尝试来自被称为字典的常见单词和短语列表中的各种常见单词和短语的组合。此外,要求使用发送到第二受信任计算设备(例如智能手机)的一次性代码的所谓两因素认证防护措施也很容易受到攻击。例如,蜂窝电话提供商被欺骗以向恶意个人提供对合法个人的文本消息的访问。

生物特征是一个人的可测量特性,其能够在特定的唯一性水平内识别该人。由于几种常见生物特征的唯一性水平特别高,因此生物特征特别适合用于认证用户。例如,指纹被认为对于每个人都是唯一的,并且可以用作非常准确的指示,即该人就是其声称的那个人。具有高度唯一性的示例生物统计信息包括指纹、虹膜结构、视网膜结构、DNA组成、面部数据(例如特征距离)、声纹、耳朵结构等。

为了利用生物特征来认证用户,用户首先通过将其生物特征的样本呈现给计算设备以供捕获或扫描来建立生物特征认证。例如,通过在指纹传感器上按下手指,通过允许虹膜的图像、视网膜扫描或面部扫描。捕获此种生物特征数据并将其采样为被称为生物特征模板的一个或多个数据点的集合。生物特征模板是从扫描的生物特征数据中提取的一个或多个特征的数字表示。例如,指纹中脊和谷的位置。一旦存储了该初始模板,便将用户配置为使用其生物特征进行认证。该初始保存的生物特征模板可以被称为范例生物特征模板,因为它被用作范例-识别用户的真实生物特征,并与在后续认证尝试中提交的生物特征模板进行比较。当某人尝试使用生物特征来认证设备时,该人将其生物特征呈现给计算设备以供捕获或扫描。该生物特征数据被捕获并采样为一个或多个数据点,并且被存储为“质询模板”。将质询模板与范例模板进行比较,如果它们匹配,则用户被认证并被授权访问由生物特征数据保护的一个或多个计算机资源。如果模板不匹配,则用户没有被认证,并且可以拒绝该用户访问一个或多个计算机化的资源。

与用户名和密码相反,生物特征不需要记住密码,因此它们不会被忘记。此外,生物特征很难伪造。例如,恶意行为者将很难:1.)获得个体的视网膜扫描;以及2.)在视网膜扫描仪前复制该视网膜扫描。因此,对于对安全认证方法感兴趣的应用程序开发人员来说,生物特征识别技术是一个诱人的选择。

附图说明

在附图中,类似的附图标记可以描述不同视图中的相似组件,附图不一定是按比例绘制的。具有不同字母后缀的类似数字可表示相似组件的不同实例。附图通过示例而非限制的方式大体上示出了本文档中讨论的各种实施例。

图1示出了根据本公开内容的一些示例的生物特征系统的示意性数据流。

图2示出了根据本公开内容的一些示例的应用距离保持函数来保护生物特征模板安全的方法的流程图。

图3示出了根据本公开内容的一些示例的用于应用距离保持函数以利用基于网络的认证服务进行认证的方法的流程图。

图4示出了根据本公开内容的一些示例的认证服务的方法的流程图。

图5示出了根据本公开内容的一些示例的用户设备和基于网络的认证服务的示意图。

图6是示出了可以在其上实现一个或多个实施例的机器的示例的框图。

具体实施方式

尽管生物特征认证有诸多益处,但是生物特征的使用也带来了一些缺点。例如,如前所述,生物特征认证要求用户注册他们的生物特征数据(例如,提供范例生物特征)。如果用户拥有多个他们希望使用生物特征来进行认证的设备和/或帐户,则他们通常需要通过为这些设备和帐户中的每一个提供生物特征范例来进行注册。该注册时间通常会使用户烦恼。此外,在某些生物特征(例如指纹)的情况下,用户必须记住他们向每个设备提交的作为范例的是哪个指纹。在试图进行后续认证时,这可能会引起用户混淆。为了消除这些问题,可以将范例生物特征数据存储在基于网络(例如,基于云)的服务器中,然后将其通信地耦合到用户的设备。当用户希望通过他们的设备之一进行认证时,质询生物特征随后被发送到基于网络的服务器,该服务器通过将质询模板与范例模板进行比较来确定用户是否被认证。这允许在用户所有的设备上进行单个注册过程。

无论生物特征范例存储在何处(在每个设备之内或在基于网络的服务器中),安全的生物特征存储都很重要,因为与密码相反,如果用户的数据被盗,则无法更改生物特征数据。通过将生物特征模板移至云端,认证服务成为黑客的诱人目标。保护该数据的一种方法是使用加密。例如,加密可以包括使用加密函数e(x,k)将生物特征模板从第一形式变换为加密形式,其中x是生物特征模板,而k是秘密密钥。能够访问存储的加密生物特征数据的攻击者可能无法在不知晓用于对生物特征模板进行解密的密钥的情况下利用该数据。

与密码不同(在用户知道密码或不知道密码的情况),由于扫描仪的准确性、用户位置的差异、环境光差异等,相同指纹、虹膜、面部等的一系列扫描可能会产生略有不同的生物特征数据。由于生物特征通常依赖于各种检测到的特征(例如指纹上的脊线或漩涡、面部特征……)的位置(或位置差异),并且由于加密算法对生物特征数据进行了加扰(对这些位置和/或距离进行了加扰),因此均由同一密钥加密的两个非常接近的生物特征模板可能会非常不同。为了处理这些差异,可以在解密时比较生物特征模板。因此,加密的范例是在验证尝试期间通过以下方式解密的:使用密钥产生原始范例,然后将其与质询模板进行比较。这样可以将新扫描的生物特征与范例直接进行比较。然后可以利用误差的公差,例如,指纹上的测量点之间的阈值距离。然而,为了对示例生物特征模板进行解密,执行认证的设备必须知道解密密钥,并且必须将其存储,这可能使攻击者可以访问解密密钥。其他类型的变换函数(例如散列函数)也遇到相同的问题,即,经变换的值未保留用于进行认证决策的重要信息(例如,点的位置或点之间的距离),从而必须存储函数的逆函数。

为了避免使用解密密钥或应用逆函数,并且避免质询模板和示例模板之间的微小差异带来认证问题,可以在对生物特征模板进行变换或加密之前对其进行量化。也就是说,对于给定的采样生物特征点(例如,指纹上的点),该点可以被映射到下一个最接近的点。对此的另一种思考方式是可以对生物特征进行下采样。因为在应用加密函数和/或变换函数之前,质询模板可能与示例模板相同的可能性增加了,所以经加密或经变换的模板相同的机率也增加了。这增加了针对范例和质询所捕获的生物特征之间的微小改变的容忍度。通过执行该量化,可以比较加密的范例和加密的质询模板,而无需先对其进行解密。这种方法的缺点在于,它降低了生物特征在确定身份方面的准确度。

解决该问题的另一种方法是捕获若干个生物特征范例。例如,在各种照明条件下并从各个角度捕获用户的面部识别范例。然后对所有这些范例进行加密或变换并存储。在随后的认证尝试后,将加密的质询模板与所有范例进行比较。如果其中之一匹配,则用户被认证。就存储方面而言,这种方法是昂贵的。尽管单个模板在所需的存储方面可能相对较小,但是在可能存储数百万个用户的生物特征范例模板的认证服务中,所需的存储量快速增加为双倍、三倍甚至四倍。另外,由于认证系统需要对照不是一个而是两个或更多个范例模板来检查质询模板,因此处理时间增加。如果认证服务正在处理大量认证,则该额外的处理时间并非是无关紧要的。

在一些示例中公开了用于使用距离保持变换来保护生物特征数据安全的方法、系统、设备和机器可读介质。距离保持变换是将元素映射到同一个或另一个度量空间的函数,以使新度量空间中元素之间的距离等于原始度量空间中元素之间的距离。示例性距离保持函数包括平移、旋转和反射。因此,如果两个点在变换之前相距X距离,则它们在变换之后仍保持相距X距离。例如,如果模板具有点(3,5)和第二点(7,8),则距离为

距离保持函数通过将生物特征数据变换成不容易逆转的形式来对其进行保护。与其他变换相比,将距离保持变换用于生物特征的一个优点是,设备上的局部失真(例如指纹污迹或未对准)会转换为经变换的生物特征模板上的类似失真。如已经提到的,在生物特征数据中容忍某些模糊的能力非常重要,因为扫描生物特征的过程存在与之相关联的某种程度的误差。由于距离保持变换不会更改特定生物特征内各点之间的关系,因此无需应用降低生物特征准确性的量化过程,也无需在将质询模板与范例模板进行比较之前应用解密密钥。

通过利用距离保持变换,在不对范例进行解密或使用多个经变换范例的情况下将单个经变换的范例与经变换的质询模板进行比较变为可能。可以对经变换的质询模板和经变换的范例进行比较,并且如果它们在彼此的预定距离内,则可以构成匹配。由于计算机系统不需要解密任何东西,也不需要对照几个范例来检查质询模板,因此通过减少对生物特征质询进行认证所需的时间,在计算机系统的功能方面提供了显著改善。由于存储了单个范例,因此也需要较少的存储。此外,这使得所公开的过程更加安全,因为不存储或不利用密钥和逆函数,因此攻击者不可能获得对生物特征的访问。

图1示出了根据本公开内容的一些示例的生物特征系统100的示意性数据流。在设置阶段期间,用户可以向计算设备102呈现一个或多个生物特征104,例如指纹、虹膜、面部、视网膜等。计算设备102可以包括一个或多个生物特征扫描仪106-A,例如指纹读取器、虹膜扫描仪、视网膜扫描仪、摄像头(用于面部识别)等。扫描仪106-A可以对生物特征进行数字化。例如,对于指纹,扫描仪可以读取用户手指上的图案并将其转换为这些图案的数字表示。采样器108-A可以将那些图案的数字表示转换为一系列的一个或多个数据点。例如,指纹的脊的位置、用于面部识别的面部特征之间的距离(例如,鼻子和嘴之间的距离)等产生被称为生物特征模板的生物特征数据。在一些示例中,采样器108-A可以是扫描仪106-A的一部分。在设置阶段期间产生的生物特征模板可以被称为范例生物特征模板110。

变换器112-A可以通过应用变换函数(例如距离保持函数)来将范例生物特征模板110变换为受保护的范例模板116。变换器使用一个或多个变换函数参数114来应用变换函数。在一些示例中,为了防止在受保护的范例模板116被盗的情况下进行重放攻击,变换器112-A还可以应用一个或多个用户特定值来修改范例生物特征模板(例如,随机数值)。这使得在用户特定值由于通过用新的用户特定值重新注册而受到损害(这产生新的受保护的范例模板116)的情况下,该用户可以通过改变用户特定值来改变受保护的范例模板116。在其他示例中,函数参数114可以包括用户特定值,其出于相同原因改变基于用户特定值应用的变换并产生相同效果,即通过改变受保护的范例模板116来防止重放攻击。

受保护的范例模板116可以本地存储在计算设备102上,或者受保护的范例模板116可以经由通信网络被传输到一个或多个基于网络的服务,例如认证服务140。认证服务140可以具有一个或多个服务器计算设备142、一个或多个数据存储设备(例如,数据库)118等。服务器计算设备142可以包括或实现比较器120(例如,服务器计算设备142的硬件或软件组件)。受保护的范例模板116可以存储在数据库118中,并且与用户的标识符(例如,用户名、密码或其他证书)相关联。

当用户希望以后使用他们的生物特征来进行认证时,用户可以使用相同的计算设备或不同的计算设备。如图1所示,被标记为A和B的组件可以是同一设备上的相同组件,也可以是不同计算设备上相同组件的不同实例。如图1所示,使用了膝上型计算设备形式的不同计算设备107。作为认证过程的一部分,用户将其生物特征105(可以是与104相同的生物特征)呈现给计算设备107上的扫描仪106-B。采样器108-B以与采样器108-A所使用的相同或相似的过程来对由扫描仪106-B产生的生物特征表示进行采样。这产生了质询生物特征模板126。

变换器112-B利用函数参数128(其可以是与函数参数114相同的函数参数)来应用与变换器112-A所应用的相同的变换函数,以产生受保护的质询模板130。在其中应用了用户特定值的示例中,也可以应用该用户特定值。所生成的受保护质询模板130可以与在计算设备上本地存储的受保护范例模板116进行比较(例如,计算设备102或107可以实现比较器120),或者可以经由通信网络被发送至认证服务140,在此其由比较器120进行比较。然后,比较器120可以将受保护的质询模板130与受保护的范例模板116进行比较,如果它们匹配则输出授予访问的消息或信号124,如果它们不匹配则输出拒绝访问的消息或信号122。这些消息或信号可以是指示认证是成功还是失败的到一个或多个计算设备(例如用户计算设备(例如102和/或107)、第三方服务器或服务等)的指令。

比较器120可能需要精确匹配-也就是说,除非受保护的范例模板与受保护的质询模板精确匹配,否则将发送访问拒绝消息122。在其他示例中,比较器可以具有可以容忍并且仍然可以准予访问的阈值错误级别。

函数参数128和114可以被存储在计算设备102和107上,或者它们可以被存储在认证服务140上。在其中在每个计算设备上实现变换器112-A和112-B并且函数参数128、114被存储在基于网络的认证服务140处的示例中,基于网络的认证服务140可以将函数参数发送到计算设备102、107,以在变换器112-A和112-B中使用,以便将生物特征模板变换为受保护的模板。在其中函数参数128和114被存储在每个计算设备上的示例中,基于网络的认证服务140可以协助将函数参数128、114分配给设置为使用生物特征认证的设备。

在一些示例中,变换器112-A和112-B使用一种或多种距离保持函数,例如一种或多种平移、旋转和反射。在一些示例中,函数参数128和114可以是下列各项中的一项或多项:对一个或多个平移、旋转和反射的选择;和/或各种变换的数量和/或幅度。例如,函数参数128和114可以规定要应用平移和旋转而不应用反射,并且该平移具有特定的幅度并且旋转经过特定的指定角度。此外,变换可以是平移、旋转和反射的特定序列,例如,变换可以是第一幅度的平移、第二角度的旋转以及第三幅度的进一步平移。

函数参数114、128可以在注册时随机确定,可以由用户、管理员确定,预先编程到系统中等。在一些示例中,函数参数可以被分配给用户的所有用户设备。在一些示例中,函数参数可以驻留在认证服务中,并且可以周期性地或作为认证程序的一部分被传输到计算设备102和107。在其中函数参数驻留在认证服务中的其他示例中,变换器112-A和112-B可以在基于网络的认证服务中实现。

在其他示例中,可以基于用户的秘密(例如密码;公钥或私钥;或第二生物特征)来确定函数参数。例如,可以将秘密输入到选择函数中以选择函数参数,函数参数然后由变换器112-A和112-B用于将范例和质询模板变换为受保护的模板。在一些示例中,该方法提供的优点在于,不存储函数参数114和128,因此不需要分配函数参数114的方法。此外,如果受保护的范例模板116被泄露,则在攻击者在认证期间注入受保护的范例模板116而不提供生物特征104、105的情况下,用户可以通过改变秘密并重新注册该范例以防止重放攻击来改变受保护的范例模板116。

作为一个简单的例子,密码形式的用户秘密可以由一系列统一码(Unicode)数字来表示。这些数字可以对应于平移、旋转和反射序列。例如,密码:“password 1234”可以被转换为数字112、097、115、115、119、111、114、100、049、050、051、052。在一些示例中,这应用于模式。例如,平移112,然后旋转097度,然后反射(115mod 2)=1次,然后平移115,然后旋转119度,等等。在这些示例中,用户可以在注册时以及随后进行认证时都应用其密码。

扫描仪106-A和106B;采样器108-A和108B;变换器112-A和112-B;以及比较器120可以用计算设备(例如计算设备102、107或服务器计算设备142)的硬件或软件来实现。尽管某些功能在图1中显示为发生在某些设备上,但是受益于本公开内容的本领域普通技术人员将理解,取决于期望的实现方式,可以利用其他功能组织。例如,可以在基于网络的认证服务140中实现扫描仪106-A、106-B,采样器108-A、108-B以及变换器112-A和112-B中的一个或多个,并且数据库118和比较器120中的一个或多个可以在设备102或107中实现。

图2示出了根据本公开内容的一些示例的应用距离保持函数来保护生物特征模板安全的方法200的流程图。在操作220处,计算设备可以接收表示用户的生物特征特性的一个或多个数据点。例如,由采样器产生的生物特征模板应用于由扫描设备捕获的数据。在操作225处,计算设备可以确定在变换函数中使用的一个或多个参数。如前所述,参数可以本地存储在设备上或从基于网络的认证服务中检索。在其他示例中,根据用户输入的秘密(例如,密码、第二生物特征等)来确定参数,该秘密被应用于用于选择参数的选择函数。

在操作230处,利用从操作225确定的参数,将一个或多个距离保持函数应用于生物特征数据。例如,可以将若干一个或多个平移、旋转和/或反射应用于数据。在一些示例中,参数可以是或包括用户特定值,例如随机数、用户指定值(例如密码)、安全数字证书中的值、用户的第二生物特征模板等等。在其他示例中,用户特定值可以在操作240处的变换之前被应用为对生物特征模板的变换(例如,操作240处的变换是第二变换)。在一些示例中,用户特定值不是用户的生物特征的表示。如果生物特征被泄露,则用户可以改变用户特定值,从而改变经变换的生物特征以防止重放攻击。

在操作240处,可以利用受保护的生物特征模板。例如,通过将受保护的生物特征模板发送到认证服务的认证服务器以将其存储为范例。作为另一示例,可以通过将受保护的生物特征模板发送到认证服务的认证服务器来利用受保护的生物特征模板,该认证服务将其与存储的范例进行比较作为认证尝试的一部分。在其他示例中,受保护的生物特征模板可以被本地计算设备利用,因为其可以将受保护的生物特征模板作为范例来存储或者将其与所存储的范例进行比较以确定是否存在匹配。

图3示出了根据本公开内容的一些示例的应用距离保持函数以使用基于网络的认证服务进行认证的方法300的流程图。图3是图2的详细实施例,其示出了图2的特定用例作为认证尝试的一部分。在操作350处,计算设备可以捕获生物特征数据。在操作360处,可以对生物特征数据进行采样以创建生物特征模板。在操作365处,系统可以确定距离保持函数的参数。参数可以包括距离保持函数的类型、变换的角度或幅度等。在操作370处,将一个或多个距离保持函数应用于生物特征模板以产生受保护的生物特征模板。在操作380处,将安全模板发送到基于网络的认证服务作为质询过程的一部分,其包括用户标识符和受保护的质询模板。在一些示例中,除了变换函数之外,还可以在传输期间(例如,使用TLS)或在存储期间针对附加的安全层对安全生物特征模板进行额外加密。在操作390处,计算设备可以接收认证结果。在一些示例中,认证的结果被用于向用户提供或拒绝对计算设备或另一计算设备的一个或多个计算资源的访问。通过认证保护的示例计算资源包括访问一个或多个帐户、访问计算设备、解锁计算设备、登录到计算设备的帐户、获得对一个或多个文件的访问等等。

图4示出了根据本公开内容的一些示例的认证服务的方法400的流程图。在操作410处,接收到与认证函数有关的消息。例如,来自诸如图1的计算设备102或107的计算设备。该消息可以是通过一个或多个通信网络接收的。示例网络类型可以包括一个或多个基于分组的网络、电路交换网络等。具体的通信网络示例包括互联网、广域网(WAN)、局域网(LAN)、普通老式电话系统(POTS)网络等。在其他示例中,可以在用户计算设备自身上执行图4的方法步骤,因此可以通过进程间通信技术、邮箱、事件、函数调用、共享存储器等来接收消息。

消息可以包括受保护的范例模板(例如,诸如受保护的范例模板116)、受保护的质询模板(例如,受保护的质询模板130)、用户标识符、标识消息类型的消息类型等等中的一个或多个。可以在操作415处(例如,使用消息类型)进行确定,该确定评估消息是配置操作还是认证尝试。配置操作包括新用户的注册,改变针对该用户存储的生物特征范例等。认证尝试是对照存储的范例模板对用户进行认证的请求。

如果该消息是用于注册范例生物特征模板或替换现有生物特征模板的配置消息,则在操作420处,系统确定用户是否被授权继续。例如,用户是否被允许向授权系统注册,用户是否被授权替换其现有的生物特征范例模板,等等。例如,用户可以提供用户名、密码、生物特征、用户ID或其他标识符。可以在操作420处检查用户的证书以确保它们有效。在一些示例中,可以在操作420处创建新帐户。在操作425处,如果用户被授权,则范例模板可以被存储并且可以被链接到用户的账户。在操作430处,可以返回成功消息。如果用户未被授权,则在操作435处,认证系统可以返回错误。

如果在操作415处,消息正在请求用户认证,则系统可以在操作445处检索安全范例生物特征模板。例如,系统可以定位与在操作410处接收的请求消息中提供的用户标识相匹配的存储的用户的用户简档。可以从本地存储、从基于网络的认证服务(例如,在以下示例中:范例生物特征模板可以存储在基于网络的认证服务中,但是可以在本地机器上进行比较)等中检索安全范例生物特征模板。在操作450处,进行检查以确定是否找到了安全范例。如果否,则在操作440处,系统可以返回失败。如果找到了安全生物特征范例模板,则在操作455处,可以将安全生物特征范例模板与在操作410处接收的请求消息中提供的模板(例如,质询模板)进行比较。如所指出的,如果模板匹配或在彼此的阈值距离之内,则系统可以在操作460处确定它们匹配,并且在操作470处发送成功消息以准予对一个或多个计算设备的访问。如果模板不匹配,则在操作440处,系统可以发送失败消息。

图5示出了根据本公开内容的一些示例的用户计算设备505和基于网络的认证服务540的示意图。图5所示的组件可以实现为硬件、软件或硬件和软件的组合。基于网络的认证服务540的组件可以由一个或多个计算设备(例如服务器计算设备)实现。如前所述,计算设备505和基于网络的认证服务540能够使用一个或多个通信网络(例如,互联网、WAN、LAN等)进行通信。计算设备505可以是图1的计算设备102和/或107的示例。基于网络的认证服务540可以是图1的基于网络的认证服务140的示例。如前所述,计算设备505的一些或全部功能可以由基于网络的认证服务540实现,而基于网络的认证服务540的一些或全部功能可以由计算设备505实现。

计算设备505可以包括一个或多个生物特征扫描仪506,例如指纹传感器、摄像头(用于面部识别)、虹膜扫描仪、麦克风(用于声纹)等。扫描仪506可以是图1的扫描仪106-A和/或106-B的示例。扫描仪506可以生成用户的一个或多个生物特征的数字表示。例如,人的脸的图像、虹膜的图像、指纹的图像等。采样器508可以是来自图1的采样器108-A和108-B的示例,并且可以将由扫描仪506输出的扫描的生物特征的数字表示转换为一系列的一个或多个点,例如值的矩阵或向量。例如,采样器508可以检测指纹的脊的位置;脊、谷和其他特性之间的距离;面部特征的位置;用于面部识别的面部特征之间的距离(例如,鼻子和嘴巴之间的距离);声音模式;虹膜或视网膜中的图案;等等,以产生被称为生物特征模板的生物特征数据。

可以使用变换器512来对这些模板进行变换,变换器512可以是变换器112-A和/或112-B的示例。例如,变换器512可以应用一个或多个距离保持变换,例如平移、旋转和反射。经变换的模板可以被称为受保护的模板,并被存储在存储单元537或存储单元585中。变换器512可以利用一个或多个函数参数,这些函数参数指定要应用的距离保持函数以及变化幅度和/或角度。模板中的每个点都可以由相同的函数进行变换,并具有相同的变化幅度和/或角度。如前所述,函数参数可以是预先选择的或预定的;基于用户的秘密选择的,例如密码或用户的另一个不同生物特征或同一生物特征的不同部分(例如另一个指纹或指纹的另一部分);作为与用户相关联的数字证书或加密密钥的一部分;等等。在一些示例中,变换器512和函数参数可以是矩阵乘法,该矩阵乘法将生物特征模板乘以表示一个或多个距离保持函数的矩阵。

用户接口515可以提供一个或多个用户接口,以允许用户输入或呈现他们的生物特征并进行认证。用户接口515还可以呈现受生物特征认证限制访问的一个或多个计算机资源,即,在认证时,用户接口515可以呈现在认证之前用户先前不可访问的一个或多个计算机资源的一个或多个用户接口。网络接口530可以提供一个或多个网络接口和功能以用于使用通信网络进行通信。示例包括提供通信协议,例如由IEEE 802.11标准、以太网标准、互联网协议(IP)标准、传输控制协议(TCP)标准等描述的通信协议。此外,网络接口530可以被配置为实施协议以通过定义的协议(例如,代表状态转移(REST)协议)与基于网络的认证服务进行通信。

认证器535可以结合用户接口515、扫描仪506、采样器508、变换器512、存储单元537和网络接口530来创建用户接口,接受用户输入,并以其他方式为用户提供对生物特征范例的注册,使用距离保持函数来保护生物特征范例的安全,尝试稍后使用生物特征来进行认证,将使用距离保持函数变换的生物特征模板发送到基于网络的认证服务(用于存储或比较),或者将经变换的生物特征模板本地存储并进行本地认证(比较)。在一些示例中,函数参数(例如,参数集合)可以被存储在存储单元537中。

基于网络的认证服务540可以是图1的基于网络的认证服务140的示例。比较器520比较两个受保护的生物特征模板,例如范例生物特征模板和质询生物特征模板,并确定它们是否足够接近以构成匹配。例如,它们是否在预定的相似度(例如,距离)内匹配。

认证接口560可以与用户计算设备505和其他计算设备对接来对计算设备505的用户进行认证。例如,第三方计算设备可以寻求通过使用生物特征来认证用户。第三方计算设备可以联系认证接口560以认证用户。然后,认证接口560通过向计算设备505发送认证请求来请求进行用户认证。然后,计算设备505收集生物特征,对模板进行变换,并将其发送到认证接口560。然后,认证接口560将接收到的受保护的生物特征模板传递给比较器520。然后,认证接口560将比较器520产生的结果传递回第三方请求者。在其他示例中,受保护的计算资源可以在计算设备505上。例如,计算设备505的用户可以尝试访问计算设备505上的受保护资源(例如,登录到该设备、解锁该设备、访问某些文件和/或目录等)。计算设备505可以联系基于网络的认证服务540的认证接口560以对用户进行认证。认证的结果可以被发送回计算设备505,其可以允许用户(取决于结果)访问受保护的资源。受保护的资源是仅限于特定用户并且用户必须进行认证才能访问的任何计算机数据(例如文件、消息、程序),功能或访问。

在一些示例中,基于网络的认证服务可以包括变换器575。例如,函数参数可以存储在基于网络的认证服务540中。在一些示例中,计算设备505将未受保护的质询模板发送到基于网络的认证服务,基于网络的认证服务然后对其进行变换以与受保护的范例进行比较。在其他示例中,分发器580可以管理将函数参数分发到一个或多个设备,例如计算设备505。

网络接口582可以提供一个或多个网络接口和功能以用于使用通信网络进行通信。示例包括提供通信协议,例如由IEEE 802.11标准、以太网标准、互联网协议(IP)标准、传输控制协议(TCP)标准等描述的通信协议。此外,网络接口582可以被配置为实施协议以通过定义的协议(例如,代表状态转移(REST)协议)与计算设备505进行通信。存储单元585可以存储受保护的范例、函数参数、用户标识符和/或简档等。

尽管所公开的实施例集中于保护生物特征,但是所公开的对距离保持函数的使用可以适用于其他类型的信息和数据。例如,一个或多个距离保持函数可以应用于本文针对生物特征数据所描述的其他类型的敏感信息,例如用户的其他证书(例如用户名和/或密码)、用户健康数据(例如,针对政府需求)、社会安全号码、政府标识号码、财务信息、交易信息、银行帐户信息等。由一个或多个距离保持函数变换的信息可以存储在基于网络的存储单元中,然后在以后访问,而不必担心信息被盗。如上所述,该信息与其他信息的任何后续比较不仅可以寻找直接匹配,而且可以允许一定的差异容忍度。

其他示例使用可以包括使用距离保持函数来对文档进行变换。可以稍后将该范例文档与质询文档进行比较(以与生物特征模板相同的方式进行),以查看它们是否匹配或相似。可以通过距离保持函数保护文档免于暴露。其他示例可以包括对水印、密码密钥等进行变换。

图6示出了可以在其上实现本文中讨论的技术(例如,方法)中的任意一种或多种技术的示例机器600的框图。在选择性的实施例中,机器600可以作为单独的设备操作,或者可以连接(例如网络连接)到其他机器。在网络化的部署中,在服务器-客户端网络环境中,机器600可以作为服务器机器、客户端机器或这二者来进行操作。在示例中,机器600可以用作对等(P2P)(或其他分布式)网络环境中的对等机器。机器600可以是基于网络的认证服务的服务器、用户设备、个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、智能电话、网络设备、网络路由器、交换机或桥、或者能够(顺序或以其他方式)执行规定将要由该机器执行的动作的指令的任何机器。一个或多个机器600可以实现系统100、基于网络的认证服务540、计算设备505,并且被配置为执行图2-图4的方法。此外,虽然仅示出了单个机器,但术语“机器”也应该被认为包括单独或联合执行一组(或多组)指令以便执行本文中讨论的方法中的任意一种或多种方法的机器的任意集合,例如云计算、软件即服务(SaaS)以及其他计算机集群配置。

如本文所描述的,示例可以包括下列各项或者可以在下列各项上操作:逻辑单元、或多个组件、模块或机制(“模块”)。模块是能够执行指定操作的有形实体(例如,硬件),并且可以用某种方式配置或布置。在一个示例中,可以用指定的方式将电路布置(例如,内在地或相对于例如其他电路的外部实体)为模块。在示例中,一个或多个计算机系统(例如,单独的客户端或服务器计算机系统)的部分或整体,或者一个或多个硬件处理器可由固件或软件(例如,指令、应用部分或应用)配置为操作以执行指定操作的模块。在示例中,软件可以位于机器可读介质上。在示例中,当由模块的底层硬件执行时,软件使得硬件执行指定操作。

因此,应该理解术语“模块”包含有形实体,是物理构建的、特别配置(例如,硬线连接的)或临时配置(例如,编程)以便以指定方式操作,或者执行本文中描述的任何操作的部分或所有的实体。考虑在其中模块是临时配置的示例,这些模块中的每个模块不需要在任何一个时刻进行实例化。例如,在模块包括使用软件配置的通用硬件处理器的情况下,通用硬件处理器可以在不同时刻被配置为各个不同的模块。软件可以相应地配置硬件处理器,例如,以便在一个时刻构造特定的模块,并且在不同的时刻构成不同的模块。

机器(例如,计算机系统)600可以包括硬件处理器602(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器内核或它们的任意组合)、主存储器604和静态存储器606,其中的一些或所有可以经由互联链接(例如,总线)608与彼此进行通信。机器600还可以包括显示单元610、字母数字输入设备612(例如,键盘)、以及用户接口(UI)导航设备614(例如,鼠标)。在示例中,显示单元610、输入设备612和UI导航设备614可以是触摸屏显示器。机器600还可以包括存储设备(例如,驱动单元)616、信号生成设备618(例如,扬声器)、网络接口设备620、以及一个或多个传感器621(诸如全球定位系统(GPS)传感器、罗盘、加速计、或其他传感器)。机器600可以包括输出控制器628,诸如串行(例如,通用串行总线(USB)、并行或其他有线或无线(例如,红外线(IR)、近场通信(NFC)等)连接以便通信或控制一个或多个外围设备(例如,打印机、卡阅读器等)。

存储设备616可以包括机器可读介质622,在其上存储有体现本文中描述的技术或功能中的任意一种或多种或由其使用的一组或多组数据结构或指令624(例如,软件)。指令624还可以完全或至少部分位于主存储器604内、静态存储器606内,或者在由机器600对该指令的执行期间在硬件处理器602内。在一个示例中,硬件处理器602、主存储器604、静态存储器606或存储设备616的一种或任意组合可以构成机器可读介质。

虽然将机器可读介质622示为单个介质,但术语“机器可读介质”可以包括被配置用于存储一个或多个指令624的单个介质或多个介质(例如,集中式或分布式数据库、和/或相关联的高速缓存器和服务器)。

术语“机器可读介质”可以包括以下任何介质:能够进行存储、编码或携带用于由机器600执行的指令,并且使得机器600执行本公开内容中的技术中的任意一种或多种技术,或者能够进行存储、编码或携带由这些指令使用或者与这些指令相关联的数据结构。非限制性的机器可读介质的示例可以包括固态存储器以及光学和磁介质。机器可读介质的具体示例可以包括:非易失性存储器(诸如半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)))、以及闪存器设备、磁盘(诸如内部硬盘和可移动盘)、磁-光盘、随机存取存储器(RAM)、固态硬盘(SSD)以及CD-ROM和DVD-ROM盘。在一些示例中,机器可读介质可以包括非暂时性机器可读介质。在一些示例中,机器可读介质可以包括非暂时性的机器可读介质,例如非暂时性传播信号。

指令624还可以经由网络接口设备620使用传输介质在通信网络626上发送或接收。机器600可以利用多种传输协议(例如,帧中继、互联网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(例如,HTTP)等)中的任意一种来与一个或多个其他机器通信。示例通信网络可以包括局域网(LAN)、广域网(WAN)、分组数据网络(例如,互联网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络,以及无线数据网络(例如,被称为

其他注释和示例

示例1是一种用于保护在计算设备的用户的认证中使用的生物特征数据的安全的方法,所述方法包括:使用一个或多个硬件处理器:接收表示所述用户的生物特征特性的第一数据点集合;确定用于距离保持变换的函数参数集合;使用所述距离保持变换和所述函数参数集合将所接收的第一数据点集合变换为第二数据点集合;以及通过在通信网络上将所述第二数据点集合发送到基于网络的认证服务来针对所述用户调用认证操作。

在示例2中,示例1的主题包括,其中,所述认证操作是注册操作,所述注册操作使所述基于网络的认证服务将所述第二数据点集合与所述用户的标识符相关联地存储。

在示例3中,示例1-2的主题包括,其中,所述认证操作是认证请求,并且其中,所述方法还包括:接收以下通知:所述第二数据点集合与存储在所述基于网络的认证服务处的存储的数据点集合相匹配;以及基于所述通知,向所述用户提供对由所述一个或多个硬件处理器提供的资源的访问。

在示例4中,示例1-3的主题包括,其中,所述认证操作是认证请求,并且其中,所述方法还包括:接收以下通知:所述第二数据点集合与所述基于网络的认证服务上的存储的数据点集合不匹配;以及基于所述通知,拒绝对由所述一个或多个硬件处理器提供的资源的访问。

在示例5中,示例1-4的主题包括,其中,所述距离保持变换包括下列各项中的一项或多项:所述第一数据点集合的旋转、平移或反射。

在示例6中,示例5的主题包括,其中,所述函数参数集合包括下列各项中的一项或多项:旋转角度、平移幅度或反射次数。

在示例7中,示例6的主题包括,其中,所述方法还包括:基于描述所述用户的第二生物特征特性的数字化表示的第三数据点集合来选择所述函数参数集。

在示例8中,示例6-7的主题包括,其中,所述方法还包括:基于与所述用户相对应的秘密值来确定所述函数参数集合。

在示例9中,示例8的主题包括,其中,所述秘密值不对应于所述用户的生物特征的表示。

在示例10中,示例8-9的主题包括,其中,所述秘密值包含在用户特定的数字证书中。

在示例11中,示例8-10的主题包括,其中,将所接收的第一数据点集合变换为所述第二数据点集合包括:利用用户特定值和所述距离保持变换来将所接收的数据点集合变换为所述第二数据点集合。

在示例12中,示例11的主题包括,其中,所述方法还包括:接收以下指示:所述第二数据点集合被泄露,并且作为响应:选择第二用户特定值;接收描述所述用户的所述生物特征特性的数字化表示的第三数据点集合;使用所述距离保持变换和所述第二用户特定值将所接收的第三数据点集合变换为第四数据点集合;以及通过所述通信网络向所述基于网络的认证服务发送所述第四数据点集合。

在示例13中,示例1-12的主题包括,其中,所述生物特征特性包括下列各项中的一项:指纹数据、虹膜数据、面部识别数据、声纹数据或生理数据。

示例14是一种机器可读介质,其包括用于保护在计算设备的用户的认证中使用的生物特征数据的安全的指令,所述指令在被执行时使机器执行包括下列各项的操作:接收表示所述用户的生物特征特性的第一数据点集合;确定用于距离保持变换的函数参数集合;使用所述距离保持变换和所述函数参数集合将所接收的第一数据点集合变换为第二数据点集合;以及通过在通信网络上将所述第二数据点集合发送到基于网络的认证服务来针对所述用户调用认证操作。

在示例15中,示例14的主题包括,其中,所述认证操作是注册操作,所述注册操作使所述基于网络的认证服务将所述第二数据点集合与所述用户的标识符相关联地存储。

在示例16中,示例14-15的主题包括,其中,所述认证操作是认证请求,并且其中,所述操作还包括:接收以下通知:所述第二数据点集合与存储在所述基于网络的认证服务处的存储的数据点集合相匹配;以及基于所述通知,向所述用户提供对由所述一个或多个硬件处理器提供的资源的访问。

在示例17中,示例14-16的主题包括,其中,所述认证操作是认证请求,并且其中,所述操作还包括:接收以下通知:所述第二数据点集合与所述基于网络的认证服务上的存储的数据点集合不匹配;以及基于所述通知,拒绝对由所述一个或多个硬件处理器提供的资源的访问。

在示例18中,示例14-17的主题包括,其中,所述距离保持变换包括下列各项中的一项或多项:所述第一数据点集合的旋转、平移或反射。

在示例19中,示例18的主题包括,其中,所述函数参数集合包括下列各项中的一项或多项:旋转角度、平移幅度或反射次数。

在示例20中,示例19的主题包括,其中,所述操作还包括:基于描述所述用户的第二生物特征特性的数字化表示的第三数据点集合来选择所述函数参数集。

在示例21中,示例19-20的主题包括,其中,所述操作还包括:基于与所述用户相对应的秘密值来确定所述函数参数集合。

在示例22中,示例21的主题包括,其中,所述秘密值不对应于所述用户的生物特征的表示。

在示例23中,示例21-22的主题包括,其中,所述秘密值包含在用户特定的数字证书中。

在示例24中,示例21-23的主题包括,其中,将所接收的第一数据点集合变换为所述第二数据点集合的所述操作包括:利用用户特定值和所述距离保持变换来将所接收的数据点集合变换为所述第二数据点集合。

在示例25中,示例24的主题包括,其中,所述操作还包括:接收以下指示:第二数据点集合被泄露,并且作为响应:选择第二用户特定值;接收描述所述用户的所述生物特征特性的数字化表示的第三数据点集合;使用所述距离保持变换和所述第二用户特定值将所接收的第三数据点集合变换为第四数据点集合;以及通过所述通信网络向所述基于网络的认证服务发送所述第四数据点集合。

在示例26中,示例14-25的主题包括,其中,所述生物特征特性包括下列各项中的一项:指纹数据、虹膜数据、面部识别数据、声纹数据或生理数据。

示例27是一种用于保护在认证中使用的生物特征数据的安全的计算设备,所述计算设备包括:处理器;存储器,其包括指令,所述指令在由所述处理器执行时使所述处理器执行包括下列各项的操作:接收表示所述用户的生物特征特性的第一数据点集合;确定用于距离保持变换的函数参数集合;使用所述距离保持变换和所述函数参数集合将所接收的第一数据点集合变换为第二数据点集合;以及通过在通信网络上将所述第二数据点集合发送到基于网络的认证服务来针对所述用户调用认证操作。

在示例28中,示例27的主题包括,其中,所述认证操作是注册操作,所述注册操作使所述基于网络的认证服务将所述第二数据点集合与所述用户的标识符相关联地存储。

在示例29中,示例27-28的主题包括,其中,所述认证操作是认证请求,并且其中,所述操作还包括:接收以下通知:所述第二数据点集合与存储在所述基于网络的认证服务处的存储的数据点集合相匹配;以及基于所述通知,向所述用户提供对由所述一个或多个硬件处理器提供的资源的访问。

在示例30中,示例27-29的主题包括,其中,所述认证操作是认证请求,并且其中,所述操作还包括:接收以下通知:所述第二数据点集合与所述基于网络的认证服务上的存储的数据点集合不匹配;以及基于所述通知,拒绝对由所述一个或多个硬件处理器提供的资源的访问。

在示例31中,示例27-30的主题包括,其中,所述距离保持变换包括下列各项中的一项或多项:所述第一数据点集合的旋转、平移或反射。

在示例32中,示例31的主题包括,其中,所述函数参数集合包括下列各项中的一项或多项:旋转角度、平移幅度或反射次数。

在示例33中,示例32的主题包括,其中,所述操作还包括:基于描述所述用户的第二生物特征特性的数字化表示的第三数据点集合来选择所述函数参数集。

在示例34中,示例32-33的主题包括,其中,所述操作还包括:基于与所述用户相对应的秘密值来确定所述函数参数集合。

在示例35中,示例34的主题包括,其中,所述秘密值不对应于所述用户的生物特征的表示。

在示例36中,示例34-35的主题包括,其中,所述秘密值包含在用户特定的数字证书中。

在示例37中,示例34-36的主题包括,其中,将所接收的第一数据点集合变换为所述第二数据点集合的所述操作包括:利用用户特定值和所述距离保持变换来将所接收的数据点集合变换为所述第二数据点集合。

在示例38中,示例37的发明主题包括,其中,所述操作还包括:接收以下指示:第二数据点集合被泄露,并且作为响应:选择第二用户特定值;接收描述所述用户的所述生物特征特性的数字化表示的第三数据点集合;使用所述距离保持变换和所述第二用户特定值将所接收的第三数据点集合变换为第四数据点集合;以及通过所述通信网络向所述基于网络的认证服务发送所述第四数据点集合。

在示例39中,示例27-38的主题包括,其中,所述生物特征特性包括下列各项中的一项:指纹数据、虹膜数据、面部识别数据、声纹数据或生理数据。

示例40是一种用于保护在用户的认证中使用的生物特征数据的安全的设备,所述设备包括:用于接收表示所述用户的生物特征特性的第一数据点集合的单元;用于确定用于距离保持变换的函数参数集合的单元;用于使用所述距离保持变换和所述函数参数集合将所接收的第一数据点集合变换为第二数据点集合的单元;以及用于通过在通信网络上将所述第二数据点集合发送到基于网络的认证服务来针对所述用户调用认证操作的单元。

在示例41中,示例40的主题包括,其中,所述认证操作是注册操作,所述注册操作使所述基于网络的认证服务将所述第二数据点集合与所述用户的标识符相关联地存储。

在示例42中,示例40-41的主题包括,其中,所述认证操作是认证请求,并且其中,所述设备还包括:用于接收以下通知的单元:所述第二数据点集合与存储在所述基于网络的认证服务处的存储的数据点集合相匹配;以及用于基于所述通知,向所述用户提供对由所述一个或多个硬件处理器提供的资源的访问的单元。

在示例43中,示例40-42的主题包括,其中,所述认证操作是认证请求,并且其中,所述设备还包括:用于接收以下通知的单元:所述第二数据点集合与所述基于网络的认证服务上的存储的数据点集合不匹配;以及用于基于所述通知拒绝对由所述一个或多个硬件处理器提供的资源的访问的单元。

在示例44中,示例40-43的主题包括,其中,所述距离保持变换包括下列各项中的一项或多项:所述第一数据点集合的旋转、平移或反射。

在示例45中,示例44的主题包括,其中,所述函数参数集合包括下列各项中的一项或多项:旋转角度、平移幅度或反射次数。

在示例46中,示例45的主题包括,其中,所述设备还包括:用于基于描述所述用户的第二生物特征特性的数字化表示的第三数据点集合来选择所述函数参数集合的单元。

在示例47中,示例45-46的主题包括,其中,所述设备还包括:用于基于与所述用户相对应的秘密值来确定所述函数参数集合的单元。

在示例48中,示例47的主题包括,其中,所述秘密值不对应于所述用户的生物特征的表示。

在示例49中,示例47-48的主题包括,其中,所述秘密值包含在用户特定的数字证书中。

在示例50中,示例47-49的主题包括,其中,用于将所接收的第一数据点集合变换为所述第二数据点集合的单元包括:用于利用用户特定值和所述距离保持变换来将所接收的数据点集合变换为所述第二数据点集合的单元。

在示例51中,示例50的主题包括,其中,所述设备还包括:用于接收以下指示的单元:第二数据点集合被泄露,并且作为响应:用于选择第二用户特定值的单元;用于接收描述所述用户的所述生物特征特性的数字化表示的第三数据点集合的单元;用于使用所述距离保持变换和所述第二用户特定值将所接收的第三数据点集合变换为第四数据点集合的单元;以及用于通过所述通信网络向所述基于网络的认证服务发送所述第四数据点集合的单元。

在示例52中,示例40-51的主题包括,其中,所述生物特征特性包括下列各项中的一项:指纹数据、虹膜数据、面部识别数据、声纹数据或生理数据。

示例53是一种用于保护基于网络的服务中的敏感数据的安全的方法,所述方法包括:使用一个或多个硬件处理器:通过网络接收输入数据项;确定用于距离保持变换的函数参数集合;使用所述距离保持变换和所述函数参数集合将所接收的输入数据项变换为输出数据项;以及将所述输出数据项存储在所述基于网络的服务的存储设备中。

在示例54中,示例53的主题包括,其中,所述方法还包括:接收包括第三数据项的认证请求;确定所述第三数据项和所述输出数据项在预定阈值内匹配;以及使得准予用户访问计算资源。

在示例55中,示例53-54的主题包括,其中,所述方法还包括:接收包括第三数据项的认证请求;确定所述第三数据项和所述输出数据项在预定阈值内不匹配;以及使得拒绝用户访问计算资源。

在示例56中,示例53-55的主题包括,其中,所述输入数据项包括下列各项中的一项:认证证书;加密密钥;或水印。

在示例57中,示例53-56的主题包括,其中,所述距离保持变换包括下列各项中的一项或多项:所述第一数据项的旋转、平移或反射。

在示例58中,示例57的主题包括,其中,所述函数参数集合包括下列各项中的一项或多项:旋转角度、平移幅度或反射次数。

在示例59中,示例58的主题包括,其中,所述方法还包括:基于与用户相对应的秘密值来确定所述函数参数集合。

在示例60中,示例59的主题包括,其中,所述秘密值不对应于所述用户的生物特征的表示。

在示例61中,示例59-60的主题包括,其中,所述秘密值包含在用户特定的数字证书中。

在示例62中,示例59-61的主题包括,其中,所述方法还包括:接收以下指示:所述输出数据项被未授权方访问,并且作为响应:选择第二用户特定值;接收第三数据项;使用所述距离保持变换和所述第二用户特定值将所述第三数据项变换为第四数据项;以及将所述基于网络的服务的所述存储设备中的所述输出数据项替换为所述第三数据项。

示例63是一种用于保护基于网络的服务中的敏感数据的安全的机器可读介质,所述机器可读介质包括指令,所述指令在由机器执行时,使所述机器执行包括下列各项的操作:通过网络接收输入数据项;确定用于距离保持变换的函数参数集合;使用所述距离保持变换和所述函数参数集合将所接收的输入数据项变换为输出数据项;以及将所述输出数据项存储在所述基于网络的服务的存储设备中。

在示例64中,示例63的主题包括,其中,所述操作还包括:接收包括第三数据项的认证请求;确定所述第三数据项和所述输出数据项在预定阈值内匹配;以及使得准予用户访问计算资源。

在示例65中,示例63-64的主题包括,其中,所述操作还包括:接收包括第三数据项的认证请求;确定所述第三数据项和所述输出数据项在预定阈值内不匹配;以及使得拒绝用户访问计算资源。

在示例66中,示例63-65的主题包括,其中,所述输入数据项包括下列各项中的一项:认证证书;加密密钥;或水印。

在示例67中,示例63-66的主题包括,其中,所述距离保持变换包括下列各项中的一项或多项:所述第一数据项的旋转、平移或反射。

在示例68中,示例67的主题包括,其中,所述函数参数集合包括下列各项中的一项或多项:旋转角度、平移幅度或反射次数。

在示例69中,示例68的主题包括,其中,所述操作还包括:基于与用户相对应的秘密值来确定所述函数参数集合。

在示例70中,示例69的主题包括,其中,所述秘密值不对应于所述用户的生物特征的表示。

在示例71中,示例69-70的主题包括,其中,所述秘密值包含在用户特定的数字证书中。

在示例72中,示例69-71的主题包括,其中,所述操作还包括:接收以下指示:所述输出数据项被未授权方访问,并且作为响应:选择第二用户特定值;接收第三数据项;使用所述距离保持变换和所述第二用户特定值将所述第三数据项变换为第四数据项;以及将所述基于网络的服务的所述存储设备中的所述输出数据项替换为所述第三数据项。

示例73是一种用于保护基于网络的服务中的敏感数据的安全的计算设备,所述计算设备包括:处理器;以及存储器,其存储指令,所述指令在由所述处理器执行时,使所述处理器执行包括下列各项的操作:通过网络接收输入数据项;确定用于距离保持变换的函数参数集合;使用所述距离保持变换和所述函数参数集合将所接收的输入数据项变换为输出数据项;以及将所述输出数据项存储在所述基于网络的服务的存储设备中。

在示例74中,示例73的主题包括,其中,所述操作还包括:接收包括第三数据项的认证请求;确定所述第三数据项和所述输出数据项在预定阈值内匹配;以及使得准予用户访问计算资源。

在示例75中,示例73-74的主题包括,其中,所述操作还包括:接收包括第三数据项的认证请求;确定所述第三数据项和所述输出数据项在预定阈值内不匹配;以及使得拒绝用户访问计算资源。

在示例76中,示例73-75的主题包括,其中,所述输入数据项包括下列各项中的一项:认证证书;加密密钥;或水印。

在示例77中,示例73-76的主题包括,其中,所述距离保持变换包括下列各项中的一项或多项:所述第一数据项的旋转、平移或反射。

在示例78中,示例77的主题包括,其中,所述函数参数集合包括下列各项中的一项或多项:旋转角度、平移幅度或反射次数。

在示例79中,示例78的主题包括,其中,所述操作还包括:基于与用户相对应的秘密值来确定所述函数参数集合。

在示例80中,示例79的主题包括,其中,所述秘密值不对应于所述用户的生物特征的表示。

在示例81中,示例79-80的主题包括,其中,所述秘密值包含在用户特定的数字证书中。

在示例82中,示例79-81的主题包括,其中,所述操作还包括:接收以下指示:所述输出数据项被未授权方访问,并且作为响应:选择第二用户特定值;接收第三数据项;使用所述距离保持变换和所述第二用户特定值将所述第三数据项变换为第四数据项;以及将所述基于网络的服务的所述存储设备中的所述输出数据项替换为所述第三数据项。

示例83是用于保护基于网络的服务中的敏感数据的安全的设备,所述设备包括:用于通过网络接收输入数据项的单元;用于确定用于距离保持变换的函数参数集合的单元;用于使用所述距离保持变换和所述函数参数集合将所接收的输入数据项变换为输出数据项的单元;以及用于将所述输出数据项存储在所述基于网络的服务的存储设备中的单元。

在示例84中,示例83的主题包括,其中,所述设备还包括:用于接收包括第三数据项的认证请求的单元;用于确定所述第三数据项和所述输出数据项在预定阈值内匹配的单元;以及用于使得准予用户访问计算资源的单元。

在示例85中,示例83-84的主题包括,其中,所述设备还包括:用于接收包括第三数据项的认证请求的单元;用于确定所述第三数据项和所述输出数据项在预定阈值内不匹配的单元;以及用于使得拒绝用户访问计算资源的单元。

在示例86中,示例83-85的主题包括,其中,所述输入数据项包括下列各项中的一项:认证证书;加密密钥;或水印。

在示例87中,示例83-86的主题包括,其中,所述距离保持变换包括下列各项中的一项或多项:所述第一数据项的旋转、平移或反射。

在示例88中,示例87的主题包括,其中,所述函数参数集合包括下列各项中的一项或多项:旋转角度、平移幅度或反射次数。

在示例89中,示例88的主题包括,其中,所述设备还包括:用于基于与用户相对应的秘密值来确定所述函数参数集合的单元。

在示例90中,示例89的主题包括,其中,所述秘密值不对应于所述用户的生物特征的表示。

在示例91中,示例89-90的主题包括,其中,所述秘密值包含在用户特定的数字证书中。

在示例92中,示例89-91的主题包括,其中,所述设备还包括:用于接收以下指示的单元:所述输出数据项被未授权方访问,并且作为响应:用于选择第二用户特定值的单元;用于接收第三数据项的单元;用于使用所述距离保持变换和所述第二用户特定值将所述第三数据项变换为第四数据项的单元;以及用于将所述基于网络的服务的所述存储设备中的所述输出数据项替换为所述第三数据项的单元。

示例93是至少一种机器可读介质,其包括指令,所述指令在由处理电路执行时使所述处理电路执行操作以实现示例1-92中的任何一个示例。

示例94是一种包括用于实现示例1-92中的任何一个示例的单元的装置。

示例95是一种用于实现示例1-92中的任何一个示例的系统。

示例96是一种用于实现示例1-92中的任何一个示例的方法。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号