用于认证的装置,方法和计算机程序产品与流程

文档序号:14652021发布日期:2018-06-08 22:01阅读:179来源:国知局
用于认证的装置,方法和计算机程序产品与流程

本公开的实施例总体上涉及数据处理,并且更具体地涉及用于认证的技术。



背景技术:

随着在线服务和云服务以及诸如便携式和可穿戴设备的各种电子设备的快速增长,安全性变得越来越重要。可用性和隐私保护是针对用户认证机制的接受性的重要问题。

如今,用于用户认证的非常常见的方式可以基于用户ID和/或其密码(例如图形或文字密码)与注册的用户ID和/或其密码的匹配。许多服务和/或设备都采用这种方法。用户可能拥有多个ID和密码是很常见的。但是,记住所有这些ID和密码对于用户而言可能变得越来越困难,尤其是当服务请求设置高安全性密码,或者用户可能记忆力不好,或者用户已经很长时间没有访问某些服务。而且,攻击者可能会闯入这样的认证系统并窃取大量的ID和密码。这可能会对用户造成很大的损失,特别是当用户为多个服务和设备设置相同的ID和密码时。另外,生物信息(例如,语音,掌纹,指纹等)也可以应用于用户认证。用户不需要记住他/她的ID和密码。但是这种认证方法的一个缺点是生物信息可能会被泄露给不可信第三方,并且一些生物信息可能被攻击者伪造。因此,改进的认证解决方案是可取的。



技术实现要素:

以简化的形式提供发明内容以介绍构思的选择,这些构思将在详细描述中被进一步地描述。发明内容不旨在确定所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。

根据本公开的一个方面,提供了一种用于认证的方法。所述方法可以包括:从用户装置接收认证请求;向所述用户装置发送验证码,其中,所述验证码包括模式码的组合,并且所述模式码与所述用户已分别注册的加密的生物模式相关联;接收与所述验证码对应的所述用户的第一加密的生物信息;以及计算与模式码的组合对应的已注册的加密的生物模式和所述第一加密的生物信息之间的第一加密的偏差。

根据本公开的另一方面,提供了一种包括被配置为执行上述方法的构件的装置。

根据本公开的另一方面,提供了一种计算机程序产品,该计算机程序产品存储在可由计算机读取的分发介质上并且包括程序指令,所述程序指令在被加载到计算机中时执行上述方法。

根据本公开的另一方面,提供了一种非暂时性计算机可读介质,其具有编码在其上的语句和指令以使得处理器执行上述方法。

根据本公开的另一方面,提供了一种用于认证的装置。所述装置可以包括:接收元件,被配置为从用户装置接收认证请求;发送元件,被配置为向所述用户装置发送验证码,其中,所述验证码包括模式码的组合,并且所述模式码与所述用户已分别注册的加密的生物模式相关联;所述接收元件还被配置为接收与所述验证码相对应的所述用户的第一加密的生物信息;以及计算元件,被配置为计算与所述模式码的组合对应的已注册的加密的生物模式和第一加密的生物信息之间的第一加密的偏差。

根据本公开的一个方面,提供了一种用于认证的方法。所述方法可以包括:从身份提供者接收加密的偏差;对加密的偏差进行运算;基于该运算结果来确定认证结果。

根据本公开的另一方面,提供了一种包括被配置为执行上述方法的构件的装置。

根据本公开的另一方面,提供了一种计算机程序产品,该计算机程序产品存储在可由计算机读取的分发介质上并且包括程序指令,所述程序指令在被加载到计算机中时执行上述方法。

根据本公开的另一方面,提供了一种其上编码有语句和指令以使处理器执行上述方法的非暂时性计算机可读介质。

根据本公开的另一方面,提供了一种用于认证的装置。所述装置可以包括:接收元件,被配置为从身份提供者接收加密的偏差;运算元件,被配置为对加密的偏差进行运算;以及确定单元,被配置为基于运算结果确定认证结果。

根据本公开的一个方面,提供了一种用于认证的方法。所述方法可以包括:向身份提供者发送认证请求;从所述身份提供者接收验证码,其中所述验证码包括模式码的组合,所述模式码与所述用户分别已经注册的加密的生物模式相关联;将与所述验证码对应的所述用户的第一加密的生物信息发送给身份提供者。

根据本公开的另一方面,提供了一种包括被配置为执行上述方法的构件的装置。

根据本公开的另一方面,提供了一种计算机程序产品,该计算机程序产品存储在可由计算机读取的分发介质上并且包括程序指令,所述程序指令在被加载到计算机中时执行上述方法。

根据本公开的另一方面,提供了一种其上编码有语句和指令以使处理器执行上述方法的非暂时性计算机可读介质。

根据本公开的另一方面,提供了一种用于认证的装置。所述装置可以包括:发送元件,被配置为向身份提供者发送认证请求;接收元件,其被配置为从所述身份提供者接收验证码,其中所述验证码包括模式码的组合,并且所述模式码与所述用户已经分别注册的加密的生物模式相关联;并且所述发送元件还被配置为向所述身份提供者发送与所述验证码相对应的所述用户的第一加密的生物信息。

根据下面结合附图阅读的本公开的说明性实施例的详细描述,本公开的这些和其他目的、特征和优点将变得显而易见。

附图说明

图1示出了可以实现本公开的一些实施例的示意性系统;

图2是示出根据本公开的实施例的装置的简化框图;

图3是示出根据本公开的另一实施例的装置的简化框图;

图4是示出根据本公开的另一实施例的装置的简化框图;

图5是示出根据本公开的另一实施例的装置的简化框图;

图6是示出根据本公开的另一实施例的装置的简化框图;

图7是描绘根据本公开的实施例的用于认证的过程的流程图;

图8是描绘根据本公开的另一实施例的用于认证的过程的流程图;

图9是描绘根据本公开的另一实施例的用于认证的过程的流程图;

图10是示出根据本公开的另一实施例的用于认证的过程的流程图;

图11是描绘根据本公开的另一实施例的用于认证的过程的流程图。

具体实施方式

出于解释的目的,在以下描述中阐述了细节以便提供对所公开实施例的透彻理解。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节的情况下或者利用等同布置来实施这些实施例。

如本文所使用的,同态加密是允许在密文上执行计算的加密形式,由此生成加密结果,该加密结果在解密时匹配在明文上执行的运算的结果。支持对密文进行任意计算的密码系统称为完全同态加密(FHE)。这样的方案使得能够构建针对任何期望的功能的程序,其可以在加密的输入上运行以产生结果的加密。由于这样的程序不需要解密其输入,它可以由不信任的一方运行,而不会泄露其输入和内部状态。

随着在线服务和云服务以及诸如便携式和可穿戴设备的各种电子设备的日益流行和快速增长,用户越来越依赖电子设备来访问在线服务和云服务以及其他设备,例如智能家居系统中的设备。通常,由服务使用的大多数认证系统可以依赖于身份管理(IdM)系统或其他合适的系统来促进对标识符,证书,个人信息的管理以及将该信息呈现给其他方。

例如,在IdM系统中,所有涉及的系统实体可以分为三种类型的角色:试图访问服务或设备的用户装置(UA);作为服务所有者或被访问设备的依赖方(RP);身份提供者(IdP),其拥有关于UA的信息,并将向RP提供用于对用户进行认证的必要信息。在许多IdM系统中,IdP会向用户颁发身份或凭证,而RP可以依赖于IdP在它允许用户访问服务或设备之前检查用户凭证。

然而,在现有的IdM系统或其他认证系统中,如上所述,用户可能需要保存多个ID和密码。但是,记住所有这些ID和密码对于用户来说可能变得越来越困难。而且,攻击者可能会闯入这样的系统并窃取大量的ID和密码,从而给用户带来很大的损失。另外,尽管生物信息可以用于用户认证,但是诸如指纹的一些生物信息可能被攻击者伪造。另外,生物信息可能被泄露给不可信第三方。因此,如果认证解决方案易于使用,安全且能够保护隐私,则它可能是非常期望的。

图1描绘了可以实现本公开的一些实施例的示意性系统。如图1所示,系统100可以包括:用户装置(UA)102,其通过链路112可操作地连接到依赖方(RP)108,通过链路110连接到可信第三方(TTP)104,通过链路118连接到身份提供者(IdP)106。UA 102可以以硬件,软件或其组合的形式实现,其包括但不限于固定终端,移动终端,便携式终端,智能电话,台式计算机,云客户端,膝上型计算机,手持机,台,单元,设备,多媒体平板电脑,互联网/网络节点,通信器,个人数字助理(PDA),客户端软件或其任何组合。如果用户已经被RP 108认证,则用户可以使用UA 102来访问由RP 108提供的服务。例如,UA 102的用户可以通过使用安装在UA 102中的任何合适的应用来访问服务。通常,UA 102可以配备有一个或多个I/O设备,诸如麦克风,照相机,手写板,触摸屏,显示器等,以输入和/或输出用户的生物信息或其他信息。注意到系统100可以包括一个或多个UA 102,尽管在图1中仅示出了一个UA 102。

系统100可以包括RP 108。RP 108可以通过链路114可操作地连接到TTP 104,并且通过链路116连接到IdP 106。RP 108可以以硬件,软件或其任何组合来实现,其包括但不限于固定终端,移动终端,便携终端,智能手机,服务器,台式电脑,笔记本电脑,云计算机,手机,台,单元,设备,多媒体平板电脑,互联网/网络节点,通信器,个人数字助理(PDA),服务软件或其任何组合。RP 108可以维护一对它的公钥和私钥并将其公钥发送给TTP 104,UA102和IdP106。RP 108可以提供可以由UA 102访问的至少一个服务。例如,该服务可以是任何类型的服务,包括但不限于诸如LinkedIn,Facebook,Twitter,YouTube等社交网络服务,诸如微信,Yahoo!Mail等消息服务,设备管理服务以及诸如亚马逊,阿里巴巴,淘宝等的在线购物服务。RP 108可以在IdP 106处将其服务注册为RP_id。另外,RP 108可以在IdP 106的支持下断定认证。注意到系统100可以包括一个或多个RP 108,尽管在图1中仅示出了一个RP 108。

系统100还可以包括TTP 104。TTP 104可以以硬件,软件或其组合的形式实现,包括但不限于固定终端,移动终端,便携式终端,智能电话,服务器,桌面计算机,膝上型计算机,云计算机,手持机,台,单元,设备,多媒体平板电脑,因特网/网络节点,通信器,个人数字助理(PDA),软件或其任何组合。TTP 104可以维护一对它的同态公钥和私钥,并将其同态公钥发送给RP 108和UA 102。在一个实施例中,TTP 104可以为RP 108生成重加密密钥并将其发送给RP 108,使得RP 108能够重新加密由同态公钥加密的密文,然后用RP 108的私钥解密重新加密的密文。在另一个实施例中,TTP 104可以协助RP 108解密密文并将解密结果发送给RP 108。

系统100可以进一步包括IdP 106。IdP 106可以以硬件,软件或其组合的形式实现,包括但不限于服务器,台式计算机,膝上型计算机,云计算机,因特网/网络节点,通信器,服务软件或其任何组合。另外,IdP 106可以管理和存储与UA 102和RP 108有关的信息,拥有由UA 102用TTP 104的同态公钥加密的加密的生物信息,提供用于支持RP 108来认证用户的必要信息,执行注册功能,完全同态加密功能和/或其他合适的功能。

如图1所示,链路110,112,114,116和118可以是安全通道。例如,可以通过应用安全通信协议(例如SSL)或其他合适的安全协议(诸如HTTPs)在系统100中的每个双方之间建立安全通道。此外,IdP 106和RP 108都可以被部署为云服务。

在系统100中,要求RP 108和IdP 106不能侵入用户隐私。RP 108可以在IdP106的支持下对用户进行认证。TTP 104可以负责密钥管理(诸如其同态公钥和私钥)以及发布给RP 108的重加密密钥。在另一个实施例中,TTP 104可以帮助RP 108解密由TTP 104的公钥加密的密文。

在系统设置中,TTP 104可以生成其同态公钥和私钥对(PK_TTP,SK_TTP)。RP 108可以生成它自己的公钥和私钥。RP 108可以在IdP 106处将其服务注册为RP_id,并获得TTP 104的公钥PK_TTP。在一个实施例中,RP 108可以从TTP 104请求其重新加密密钥(RK(ttp->rp)),使得RP 108可以利用重新加密密钥重新加密密文并且使用其私钥解密重新加密的密文,其中密文是用TTP 104的同态公钥加密的。注意可以在系统100中使用任何合适的现有和将来的重新加密技术,其允许RP 108将在TTP 104的同态公钥下计算的密文转换为可以由RP 108的私钥打开的密文。在另一个实施例中,RP 108可以将密文发送给TTP 104并指示TTP104解密密文并发回解密结果。

尽管主要在语音生物信息认证的上下文中讨论以下实施例,但是普通技术人员将理解,本公开不限于此。事实上,本公开的各个方面在任何合适的生物信息认证中都是有用的。例如,用户的生物信息可以包括用户的语音或笔迹。另外,用户的生物信息还可以包括用户的上下文信息。例如,生物信息可以是语音和其它合适信息的组合,诸如其他生物信息(例如,笔迹,指纹,脸部,虹膜等)和用户周围和/或与用户有关的信息(例如,背景噪音,周围温度,登录时间,登录设备等)。

图2-3分别示出了根据本公开的各种实施例的用于系统中的认证的装置200和300的简化框图。如上所述,该系统可以包括如图1中所描述的组件。装置200和300可以被实现为图1中的IdP 106的一部分。

参考图2和图1,装置200可以包括被配置为从UA 102接收注册请求的接收元件202。例如,接收元件202可以直接从UA 102接收注册请求。或者,接收单元202可以接收由RP 108转发的注册请求。例如,UA 102可以将注册请求发送给RP 108,然后RP 108可以将注册请求转发给装置200。注册请求可以包含任何合适的信息。例如,注册请求可以包含UA 102的地址(UA_add),诸如MAC(媒体访问控制)地址,IPv4或IPv6地址或其他合适的UA地址。注意到UA 102可以包含多个地址,例如每个地址可以对应于不同的用户。在一个实施例中,注册请求可以不包含UA 102的地址,接收元件202可以从注册请求的分组头部获得UA 102的地址。在另一个实施例中,注册请求可以包含RP_id。例如,如果RP 108提供了多个服务,则注册请求应该包含RP_id以指示用户想要访问哪个服务。在这种情况下,如果UA 102已经知道RP_id,则它可以将RP_id添加到注册请求中;或者如果UA 102不知道RP_id,则它可以将注册请求发送给RP 108,然后RP 108可以将RP_id添加到注册请求中并且将其转发给装置200。

在另一个实施例中,例如,当在系统中只有一个RP_id时,注册请求可以仅包含用于指示注册请求的信号。在另一个实施例中,注册请求可以包含用户通过UA 102说出的个人注册命令(PRC)。例如,UA 102可以包括语音用户接口(UI),其可以接收用户的语音并对它进行预处理(例如分离噪声,提取特征值)。

在接收到注册请求之后,装置200可以通过例如识别PRC或其他合适的方法来识别注册请求,并且如果重复检查是正面的,则生成链接到服务ID RP_id的唯一标识符UA_id。例如,重复检查可以基于PRC,UA_add,任何合适的信息或它们的组合。在一个实施例中,UA_id可以链接到RP_id和UA_add。

在生成UA_id之后,装置200可以使用或生成一系列模式码,并且装置200的发送元件204可以将它们发送给UA 102。可以以任何合适的形式将模式码提供给用户如语音,文字,图像或视频。在一个实施例中,模式码可以包括字母,单词,数字,符号,句子或其他合适的代码。在一个实施例中,模式码可以包括登录模式码,注册更新模式码,注册删除模式码或其他合适的模式码。UA 102可以提供与模式码相关联的用户的加密的生物模式。例如,生物模式可以是对应于模式码的个人语音模式或笔迹模式。用户可以使用语音或笔迹来重复模式码。用户的生物模式可以用TTP 104的同态公钥PK_TTP来加密并由UA102将它们发送给装置200。UA 102可以从由用户提供的与模式码相关联的生物信息中提取用户的生物模式,然后用同态公钥PK_TTP对它们进行加密。

随后,接收元件202可以从UA 102接收加密的生物模式。如果装置200不能获得足够的加密的生物模式,则发送元件204可以再次向UA 102发送其他模式码。当装置200获得足够的加密的生物模式时,存储元件206可以将加密的生物模式存储在诸如用户的简档中。用户简档可以包括用户的标识符和加密的生物模式。另外,用户简档还可以包含任何其他合适的信息。例如,用户的简档可以包含UA 102的地址和RP 108的服务ID。

此外,发送元件204可以分别向UA 102和RP 108发送注册结果,或者将其发送给RP 108,然后RP 108可以将其转发给UA 102。注册结果可以指示注册是否成功。如果成功,注册结果可以包含例如用户的标识符。在另一个实施例中,注册结果可以进一步包含UA_add和RP_id或其他合适的信息。如果失败,注册结果可以指示原因。

当用户已经成功注册时,用户可以发送一些认证请求来访问某个服务。参考图3和图1,装置300的接收元件302可以从UA 102接收认证请求。认证请求可以包括登录请求,注册更新请求或注册删除请求或任何其他合适的请求。认证请求可以包含用于指示认证请求的类型的指示。此外,如上所述,也可以例如使用语音将认证请求注册为加密的生物模式。在这种情况下,认证请求可以包括可以用TTP 102的同态公钥加密的用户的第二加密的生物信息。另外,认证请求可以包含其他合适的信息,例如UA 102的ID,UA 102的地址,服务ID等。以登录请求为例,登录请求可以包含UA_id和与登录模式码对应的用户语音。因此,装置300可以通过UA_id定位用户的简档,通过使用任何合适的生物识别技术(诸如语音识别技术)来识别认证请求。

在一个实施例中,认证请求可以包括用户的第二加密的生物信息,并且装置300的识别元件(未示出)可以基于第二加密的生物信息识别认证请求。例如,识别元件可以通过应用可搜索的加密技术和/或全同态加密技术来识别认证请求。举例来说,如果认证请求是登录请求,则UA 102可以使用分组(ELPC,UA_id,UA_add,RP_id)将与登录模式码(ELPC)相对应的第二加密的生物信息(诸如加密的语音特征值)发送给装置300。然后,接收元件302可以接收该分组,并且装置300可以通过UA_id定位由UA_id索引的对应用户的简档。识别元件可以基于第二加密的生物信息,通过使用可搜索的加密技术和/或全同态加密技术或的其他合适方法来识别ELPC。

在识别认证请求之后,装置300可以生成模式码的组合作为验证码,其中验证码包括模式码的组合,并且模式码与用户已经分别注册的加密的生物模式相关联。例如,如果模式码的数量是数字n,则可以有n+n2+n3+...+nn个验证码的组合。

然后,装置300的发送元件304可以向UA 102发送验证码。例如,发送元件304可以发送随机生成的验证码。在这种情况下,即使附近的攻击者可以盗取语音输入的验证码,但攻击者可能无法使用记录的用户验证码输入来通过验证,因为每次提出的验证码是不同的且由装置300根据上下文和安全性要求随机生成。而且,发送元件304可以根据安全要求发送多个验证码。

在一个实施例中,发送元件304可以发送以下指示:应该在指定时间内提供对应于验证码的第一加密的生物信息。

在UA 102已经发送了与验证码相对应的用户的第一加密的生物信息之后,接收元件302可以接收第一加密的生物信息。根据各种实施例,加密的生物信息由UA 102用TTP 102的同态公钥加密。

然后,装置300的计算元件306可以计算与模式码组合相对应的已注册的加密的生物模式和和第一加密的生物信息之间的第一加密的偏差。在一个实施例中,该计算可以通过应用完全同态加密来执行。请注意,计算是在加密形式中进行的。加密的偏差不能被装置300解密,并且只能用TTP 104的私钥SK_TTP解密。计算元件306可以执行在与模式码的组合相对应的已注册的加密的生物模式和第一加密的生物信息之间的匹配计算。在一个实施例中,匹配可以基于最小均方误差(MMSE)或最大相关系数或以下提出的算法:Guang Hua;Goh,J.;Thing,V.L.L.,A Dynamic Matching Algorithm for Audio Timestamp Identification Using the ENF Criterion,IEEE Trans.on Information Forensics and Security,vol.9,no.1,pp.1045-1055,2014,,通过引用将该文献并入本文。

根据各种实施例,在模式码的不同组合的情况下,发送元件304,接收元件302和计算元件306可以重复执行各自的动作。例如,当认证失败或认证标准严格时,或者响应于RP 108的请求,装置300可以向UA 102发送多个验证码。为了做出正确的认证决定,这个过程可以迭代预定的最大次数。

然后,发送元件304可以将加密的偏差发送给依赖方108。在该实施例中,发送元件310可以将加密的偏差发送给RP 108,以允许其断定认证结果。

接收元件302可以进一步接收认证结果。例如,当认证请求需要装置300执行一些动作时,则接收元件302可以接收认证结果。

执行元件(未示出)可以基于认证结果执行一个或多个操作。例如,假设认证请求为注册更新请求,则执行单元可以在认证成功时执行更新操作,否则可以指示发送元件302发送不同的验证码以再次进行认证或拒绝更新操作。如上所述,注册更新请求的过程可以类似于注册请求的过程。假设认证请求为注册删除请求,执行单元可以在认证成功时执行删除操作,否则可以指示发送元件302发送不同的验证码以再次进行认证或拒绝删除操作。

根据各种实施例,加密的生物模式可以包括用户的第一加密的上下文信息,以及/或者,第一加密的生物信息包括用户的第二加密的上下文信息,并且计算元件306还被配置为计算上下文信息之间的第二加密的偏差。

在一个实施例中,计算元件306可以计算多个加密的生物模式的上下文信息之间的第二加密的偏差。该第二加密的偏差可以允许一方(例如RP 108)检查多个加密的生物模式的上下文是否是相同的或相似的。

在另一个实施例中,计算元件306可以计算多个第一加密的生物信息的上下文信息之间的第二加密的偏差。该第二加密的偏差可以允许一方(例如RP 108)检查多个第一加密的生物信息的上下文是相同还是相似。

在又一个实施例中,计算元件306可以计算第一加密的上下文信息与第二加密的上下文信息之间的第二加密的偏差。该第二加密的偏差可以允许一方(例如RP 108)检查第一加密的上下文信息和第二加密的上下文信息是否是相同的或相似的。

此外,上下文信息可以包括背景噪声,周围温度,登录时间,登录设备等。可以像生物信息那样对上下文信息进行加密和计算,以允许例如RP 108检查上下文信息的相似性。例如,背景噪声特征值可以被加密,并且与以前的在加密的形式中的值(如果有的话)进行比较。这个比较结果(例如加密的上下文信息的偏差)也可以被发送给RP 108以对抗关于本发明的一些潜在攻击。

根据各种实施例,生物信息是从用户的语音或笔迹获得的。例如,用户可以用麦克风输入他的语音,或者用触摸屏/屏幕输入笔迹。

根据各种实施例,如本文所述的加密可以通过同态加密来执行。例如,UA 102可以用TTP 104的同态公钥对用户的生物信息或其他合适的信息(诸如背景噪声)进行加密。此外,IdP 106可以使用完全同态加密技术来计算加密的偏差,并且TTP 104可以为RP 108生成重新加密密钥,使得RP 108可以对加密的偏差进行重新加密并且用其私钥对其解密。

图4示出根据本公开的实施例的用于在系统中进行认证的装置400的简化框图。如上所述,该系统可以包括如图1中所描述的组件。装置400可以被实现为图1中RP 108的一部分。

参照图4和图1,装置400可以包括接收元件402,其被配置为从IdP106接收加密的偏差,其中如上所述,可以由装置300计算加密的偏差。在一个实施例中,如上所述,加密的偏差可以包括生物信息的加密的偏差和/或上下文信息的加密的偏差。

然后,装置400的运算元件404可以对加密的偏差进行运算。由于加密的偏差可以用TTP 104的同态公钥加密,由于没有同态私钥,所以运算元件404不能直接解密加密的偏差。在一个实施例中,运算元件404可以从TTP 104接收重新加密密钥。重新加密密钥可以通过使用任何合适的方法来生成。然后,运算元件404可以用重加密密钥对加密的偏差进行重新加密,并使用其私钥对重新加密的加密的偏差进行解密。在另一个实施例中,运算元件404可以将加密的偏差发送给TTP 104,以要求TTP 104解密该加密的偏差并发回解密结果。在这种情况下,运算元件404可以从TTP 104接收解密结果。

在运算元件404已经解密了加密的偏差之后,装置400的确定元件406可以基于运算(诸如解密)结果来确定认证结果。解密结果包含解密的偏差。在一个实施例中,成功的认证可以被定义为:每个模式码的匹配百分比应该超过预定义的阈值,平均匹配百分比应该超过另一个预定义的阈值,偏差应该低于预期的阈值,或者它们的组合,或者其他合适的标准。在另一个实施例中,解密结果可以包括诸如背景噪声的上下文信息的偏差,并且确定元件406可以检查上下文信息的偏差。例如,应用用户的上下文信息(诸如背景噪声)的信息相似性以进行如下双重检查:重复的验证码及其注册的模式码是否在相同的上下文中提供,或者每个挑战的模式码是否在相同的上下文中提供或者在每个重复的验证码是否在相同的上下文中提供,以便对抗关于本发明的一些潜在攻击。认证结果可以指示认证是否成功,并且包含任何其他合适的信息。

然后,装置400的发送元件(未示出)可以将认证结果发送给适当的实体或者根据认证请求自己使用它。作为示例,发送元件可以将认证结果发送给UA 102和/或IdP 106和/或其他合适的实体。当RP 108,UA 102和/或IdP 106和/或其他合适的实体已经获得认证结果时,他们可以基于认证结果来执行它们各自的动作。

例如,当认证请求是登录请求时,发送元件可以将认证结果发送给UA 102。如果认证成功,则装置400可以允许UA 102访问其服务,否则将会拒绝来自UA 102的服务访问。

当认证请求是注册更新请求时,发送元件可以将认证结果发送给IdP 106。当认证成功时,IdP 106可以执行更新操作,否则可以发送不同的验证码以再次认证或者拒绝更新操作。

当认证请求是注册删除请求时,发送元件可以将认证结果发送给IdP 106。当认证成功时,IdP 106可以执行删除操作,否则可以发送不同的验证码以再次认证或者拒绝删除操作。

根据各种实施例,通过同态加密来对偏差进行加密。例如,如上所述,IdP 106可以通过使用完全同态加密来计算加密的偏差。

图5和图6分别示出了根据本公开的各种实施例的用于系统中的认证的装置500和装置600的简化框图。如上所述,该系统可以包括如图1中所描述的组件。装置500、600可以被实现为图1中的UA 102的一部分。注意,装置500、600可以执行与装置200、300的操作互补的操作。因此,为了简洁,在此省略了上面已经提到的一些描述。

参照图5和图1,装置500可以包括发送元件502,其被配置为向IdP 106发送注册请求。如上所述,发送元件502可以直接向IdP 106发送注册请求或者将注册请求发送给RP108,然后RP108可以将注册请求转发给IdP106。

如上所述,当IdP 106已经接收到注册请求时,它将使用或生成一系列模式码并将模式码发送给UA 102。然后,装置500的接收元件504可以接收模式码。

在该实施例中,UA 102的用户可以提供与模式码相对应的用户的生物信息,并且UA 102可以处理它以生成生物模式,并且用同态公密加密生物模式然后发送元件506可以将加密的生物模式发送给IdP 106。如上所述,模式码可以包括登录模式码,注册更新模式码,注册删除模式码或者其他合适的模式码。换句话说,用户也可以注册他/她的加密的特定的模式码。例如,当模式码包括登录模式码时,用户可以说出登录模式码并将它们注册在IdP 106中。

如上所述,IdP 106可以发送注册结果。接收元件504可以接收注册结果。注册结果可以指示注册是否成功。如果成功,注册结果可以包含唯一标识符。在另一个实施例中,注册结果可以进一步包含UA_add和RP_id。如果失败,注册结果可能会指示原因。

当用户已经成功注册时,用户可以发送某一认证请求来访问某个服务。参照图6和图1,装置600可以包括发送元件602,其被配置为向IdP 106发送认证请求。如上所述,认证请求可以包括登录请求,注册更新请求或注册删除请求或者任何其他合适的请求。

根据一个实施例,认证请求可以包括用户的第二加密的生物信息,并且如上所述,IdP 106可以基于第二加密的生物信息识别认证请求。

然后,装置600的接收元件604可以从IdP 106接收验证码,其中验证码包括模式码的组合,并且模式码与用户已经分别注册的加密的生物模式相关联。装置600的用户可以基于验证码提供相应的生物信息。例如,如果验证码指示用户逐一说出“数字0至9”,则用户可以用装置600的麦克风逐一地说出“数字0至9”。如果验证码指示用户写出单词“认证”,则用户可以用装置600的触摸屏或手写板书写该单词。

在一个实施例中,接收元件604可以接收如下指示:应该在指定时间内提供与验证码对应的加密的生物信息。然后用户可以知道该指示并在指定的时间内提供生物信息。

装置600可以用TTP 102的同态公钥对与验证码对应的用户的生物信息进行加密,发送元件602可以将与验证码对应的用户的第一加密的生物信息发送给IdP 106。在一个实施例中,在加密之前,装置600可以预处理用户的生物信息以便例如提取其特征值。

根据各种实施例,在不同的模式码的组合的情况下,接收元件604和发送元件602可以重复执行各自的动作。这个过程可以迭代最大次数,以便做出正确的认证决定。

在一个实施例中,装置600可以进一步接收认证结果。例如,假设认证请求是登录请求,则装置600可以在认证成功时访问由RP 108提供的服务,否则装置600可以发送另一认证请求。

根据各种实施例,加密的生物模式可以包括用户的第一加密的上下文信息,以及/或者,第一加密的生物信息包括用户的第二加密的上下文信息。例如,上下文信息可以包括背景噪声,周围温度,登录时间,登录设备等。可以像生物信息那样对上下文信息进行加密和计算,以允许例如RP 108检查上下文信息的相似性。

根据各种实施例,可以从用户的语音或笔迹获得生物信息。例如,用户可以用麦克风输入语音或者用触摸面板/屏幕输入笔迹。根据各种实施例,这里描述的加密可以通过同态加密来执行。

在同一发明构思下,图7至图12是示出根据本公开的一些实施例的用于认证的过程的流程图。以下将参考这些图来描述本公开。对于前述实施例中所述的相同部件或功能,为了简洁起见,省略其描述。

图7示出了根据本公开的实施例的用于系统中的认证的过程700。如上所述,该系统可以包括如图1中所描述的组件。过程700可以由图2中所示的装置200执行。

如图7所示,过程700可以从步骤702开始。在702,装置200可以从UA 102接收注册请求。注册请求可以包含如上所述的任何合适的信息。在接收到注册请求之后,装置200可以通过例如识别用户说出的个人注册命令或用其他合适的方法来识别注册请求。如果重复检查是正面的,则装置200可以为链接到服务的UA 102的用户生成唯一标识符UA_id。

在704处,装置200可以使用或生成一系列模式码并将它们发送给UA 102。在一个实施例中,模式码可以包括登录模式码,注册更新模式码,注册删除模式码或其他合适的模式码。在706处,装置200可以从UA 102接收与模式码相关联的加密的生物模式。当装置200获得足够的加密的生物模式时,在708处,它可以将加密的生物模式存储在用户的简档中。此外,装置200可以将注册结果发送给UA 102和/或RP 108。如果装置200不能获得足够的加密的生物模式,则过程700可以返回到步骤704。

图8示出了根据本公开的实施例的用于在系统中进行认证的过程800。如上所述,该系统可以包括如图1所述的组件。过程800可以由图3中示出的装置300执行。

在步骤802处,装置300可以从UA 102接收认证请求。认证请求可以包括登录请求,注册更新请求或注册删除请求或任何其他合适的请求。在一个实施例中,认证请求可以包括可以用TTP 102的同态公钥加密的用户的第二加密的生物信息。另外,认证请求可以包含如上所述的其他合适信息。

根据一个实施例,认证请求可以包括用户的第二加密的生物信息,并且过程800可以包括被配置为基于第二加密的生物信息识别认证请求的识别步骤。

在识别认证请求之后,装置300可以生成模式码的组合作为验证码,其中验证码包括模式码的组合,并且模式码与用户已经分别注册的加密的生物模式相关联。

然后在804,装置300可以将验证码发送给UA 102。在一个实施例中,装置300可以发送指示,即应该在指定时间内提供与验证码对应的第一加密的生物信息。

然后在806,装置300可以接收与验证码相对应的用户的第一加密的生物信息。根据各种实施例,加密的生物信息可以由UA 102用TTP 102的同态公钥加密。

在接收到第一加密的生物信息之后,在808处,装置300可以计算与模式码的组合对应的已注册的加密生物模式和第一加密的生物信息之间的加密的偏差。在一个实施例中,该计算可以通过应用完全同态加密来执行。

根据各种实施例,在模式码的不同组合的情况下,可以重复执行步骤804、806、808。此过程可以迭代预定义的最大次数,以便做出正确的身份认证决定。

过程800可以包括发送步骤,该发送步骤被配置为将加密的偏差发送给RP 108。在该实施例中,发送步骤可以将加密的偏差发送给RP 108以允许其断定认证结果。

过程800可以包括被配置为接收认证结果的接收步骤。例如,当认证请求需要装置300执行一些动作时,则接收步骤可以接收认证结果。

过程800可以包括被配置为基于认证结果来执行如上所述的一个或多个操作的执行步骤。

根据各种实施例,加密的生物模式包括用户的第一加密的上下文信息,以及/或者,第一加密的生物信息包括用户的第二加密的上下文信息,在808,装置300可以计算加密的上下文信息之间的第二加密的偏差。例如,上下文信息可以包括背景噪声,周围温度,登录时间,登录设备等。如上所述,在808,装置300可以计算多个加密的生物模式的上下文信息之间的第二加密的偏差,或多个第一加密的生物信息的上下文信息之间的第二加密的偏差,或第一加密的上下文信息和第二加密的上下文信息之间的第二加密的偏差。该上下文信息也可以像生物信息那样被加密和计算,以允许例如RP 108检查上下文信息的相似性,以对抗关于本发明的一些潜在攻击。该比较结果(例如加密的上下文信息的偏差)也可以被发送给RP 108。

根据各种实施例,生物信息是从用户的语音或笔迹获得的。根据各种实施例,这里描述的加密可以通过同态加密来执行。

图9示出了根据本公开的实施例的用于在系统中进行认证的过程900。如上所述,该系统可以包括如图1中所描述的组件。过程900可以由图4中所示的装置400执行。

如图9所示,在902处,装置400可以从IdP 108接收加密的偏差,其中如上所述,可以由装置300计算加密的偏差。在一个实施例中,加密的偏差包括生物信息的加密的偏差和/或上下文信息的加密的偏差。

在904,装置400可以对加密的偏差进行运算。在一个实施例中,在904,装置400可以利用从可信第三方接收的重新加密密钥来对加密的偏差进行重新加密;并使用其私钥对重新加密的加密的偏差进行解密。在另一个实施例中,在904,装置400可以将加密的偏差发送给TTP 104,以要求TTP 104解密加密的偏差并且发回解密结果。在这种情况下,装置400可以从TTP 104接收解密结果。

在解密加密的偏差之后,在906,装置400可以基于运算(解密)结果来确定认证结果。解密结果包含解密的偏差。在一个实施例中,可以将成功的认证定义为:每个模式码的匹配百分比应该超过预定义的阈值,平均匹配百分比应该超过另一个预定义的阈值,偏差应该低于预期的阈值,或者它们的组合,或者其他合适的标准。在另一个实施例中,解密结果可以包括诸如背景噪声的上下文信息的偏差,如上所述,装置400可以检查上下文信息的相似度。认证结果可以指示认证是否成功,并且包含任何其他合适的信息。

过程900可以包括被配置为发送认证结果的发送步骤。例如,如上所述,发送步骤可以根据认证请求将认证结果发送给适当的实体。

根据各种实施例,偏差通过同态加密来加密。例如,如上所述,IdP 106可以通过使用完全同态加密来计算加密的偏差。

图10-11示出了根据本公开的一些实施例的用于在系统中进行认证的过程1000、1100。如上所述,该系统可以包括如图1中所描述的组件。过程1000、1100可以由图5、6中分别示出的装置500、600来执行。注意到过程1000、1100分别与过程700、800互补。

如图10所示,在1002,装置500可以向IdP 106发送注册请求。在1004,装置500可以接收模式码。在该实施例中,装置500的用户可以提供对应于模式码的用户的生物信息,并且装置500可以对其进行处理以生成生物模式,并且使用TTP 104的同态公钥PK_TTP对生物模式进行加密。

在1006,装置500可以将加密的生物模式发送给IdP 106。如上所述,模式码可以包括登录模式码,注册更新模式码,注册删除模式码或其他合适的样式码。

过程1000可以包括被配置为接收注册结果的接收步骤。注册结果可以指示注册是否成功。

如图11所示,在1102,装置600可以向IdP 106发送认证请求。如上所述,认证请求可以包括登录请求,注册更新请求或注册删除请求或者任何其他合适的认证请求。根据一个实施例,认证请求可以包括用户的第二加密的生物信息。

在1104处,装置600可以从IdP 106接收验证码,其中验证码包括模式码的组合,模式码与用户已经分别注册的加密的生物模式相关联。在一个实施例中,在1104处,装置600可以接收如下指示:应该在指定时间内提供与验证码对应的加密的生物信息。然后,用户可以知道该指示并在指定时间内提供生物信息。

然后,装置600可以用TTP 102的同态公钥对与验证码对应的用户的生物信息进行加密,并且在1106,将与验证码相对应的用户的第一加密的生物信息发送给IdP 106。在一个实施例中,在加密之前,装置600可以预处理用户的生物信息以便例如提取其特征值。

根据各种实施例,在模式码的不同组合的情况下,可以重复执行步骤1104、1106。这个过程可以迭代最大次数,以便做出正确的认证决定。

在一个实施例中,过程1100可以包括被配置为接收如上所述的认证结果的接收步骤。

根据各种实施例,加密的生物模式包括用户的第一加密的上下文信息,以及/或者,第一加密的生物信息可以包括用户的第二加密的上下文信息。例如,上下文信息可以包括背景噪声,周围温度,登录时间,登录设备等。也可以像生物信息那样对上下文信息进行加密和计算,以允许例如RP 108检查上下文信息的相似度以对抗关于发明的一些潜在攻击。

根据各种实施例,生物信息是从用户的语音或笔迹获得的。例如,用户可以用麦克风输入他/她的语音,或者用触摸面板/屏幕输入笔迹。根据各种实施例,这里描述的加密可以通过同态加密来执行。

注意,图2-6中描绘的装置200、300、400、500、600的任何组件可以被实现为硬件或软件模块。在软件模块的情况下,它们可以存储在有形的计算机可读可记录存储介质上。例如,所有的软件模块(或其任何子集)可以在相同的介质上,或者每个软件模块可以在不同的介质上。软件模块可以运行在例如硬件处理器上。然后,可以使用如上所述的不同软件模块在硬件处理器上执行方法步骤。

根据本公开的一方面,提供了一种用于认证的装置。所述装置包括被配置为从用户装置接收认证请求的构件;被配置为向所述用户装置发送验证码的构件,其中所述验证码包括模式码的组合,所述模式码与所述用户已经分别注册的加密的生物模式相关联;被配置为接收对应于所述验证码的所述用户的第一加密的生物信息的构件;以及被配置为计算与模式码的组合对应的已注册的加密的生物模式和第一加密的生物信息之间的第一加密的偏差的构件。

根据一个实施例,该装置还包括:被配置为将加密的偏差发送给依赖方的构件。根据一个实施例,该装置还包括被配置为从用户装置接收注册请求的构件;被配置为将所述模式码发送给所述用户装置的构件;被配置为从用户装置接收加密的生物模式的构件;以及被配置为存储加密的生物模式的构件。

根据一个实施例,认证请求包括登录请求,注册更新请求或注册删除请求。

根据一个实施例,其中所述认证请求包括所述用户的第二加密的生物信息,所述装置还包括:被配置为基于所述第二加密的生物信息识别所述认证请求的构件。

根据一个实施例,该装置还包括被配置为从依赖方接收认证结果的构件;以及被配置为基于所述认证结果执行一个或多个操作的构件。

根据一个实施例,其中加密的生物模式包括用户的第一加密的上下文信息,以及/或者,第一加密的生物信息包括用户的第二加密的上下文信息,计算装置还被配置为计算加密的上下文信息之间的第二加密的偏差。

根据一个实施例,其中生物信息是从用户的语音或笔迹获得的。

根据一个实施例,其中通过同态加密来执行加密。

根据本公开的另一方面,提供了一种用于认证的装置。所述装置包括被配置为从身份提供者接收加密的偏差的构件;被配置为对加密的偏差进行运算的构件;以及被配置为基于运算结果确定认证结果的构件。

根据一个实施例,所述操作装置进一步包括被配置为利用从可信第三方接收的重新加密密钥来重新加密所述加密的偏差的构件;以及被配置为利用所述装置的私钥解密所述重新加密的加密的偏差的构件。

根据一个实施例,所述操作装置还包括被配置为将加密的偏差发送给可信第三方的构件;以及被配置为从可信第三方接收解密结果的构件。

根据一个实施例,其中加密的偏差包括生物信息的加密的偏差和/或上下文信息的加密的偏差。

根据一个实施例,所述装置进一步包括被配置为将认证结果发送给身份提供者的构件。

根据一个实施例,其中偏差通过同态加密来加密。

根据本公开的另一方面,提供了一种用于认证的装置。所述装置包括被配置为向身份提供者发送认证请求的构件;被配置为从所述身份提供者接收验证码的构件,其中所述验证码包括模式码的组合,所述模式码与所述用户分别注册的加密的生物模式相关联;以及被配置为将与验证码相对应的用户的第一加密的生物信息发送给身份提供者的构件。

根据一个实施例,所述装置还包括被配置为向所述身份提供者发送注册请求的构件;被配置为从身份提供者接收模式码的构件;以及被配置为将加密的生物模式发送给身份提供者的构件。

根据一个实施例,其中该认证请求包括登录请求,注册更新请求或注册删除请求。

根据一个实施例,其中认证请求包括用户的第二加密的生物信息。

根据一个实施例,其中加密的生物模式包括用户的第一加密的上下文信息和/或第一加密的生物信息包括用户的第二加密的上下文信息。

根据一个实施例,其中生物信息是从用户的语音或笔迹获得的。

根据一个实施例,其中通过同态加密来执行加密。

另外,本公开的一方面可以利用运行在计算设备上的软件。例如,这样的实现可以使用处理器,存储器和由例如显示器和键盘形成的输入/输出接口。本文使用的术语“处理器”旨在包括任何处理设备,诸如例如包括CPU(中央处理单元)和/或其他形式的处理电路的处理设备。此外,术语“处理器”可以指不止一个单独的处理器。术语“存储器”旨在包括与处理器或CPU相关联的存储器,诸如例如RAM(随机存取存储器),ROM(只读存储器),固定存储器设备(例如硬盘驱动器),可移动存储设备(例如软盘),闪存等。处理器,存储器和输入/输出接口(如显示器和键盘)可以例如通过作为数据处理元件的一部分的总线互连。例如经由总线的合适的互连也可以被提供给网络接口,例如网卡,其可以被提供给与计算机网络的接口,以及被提供给媒体接口(诸如软盘或CD-ROM驱动器),它可以被提供给与媒体的接口。

因此,如本文所述,包括用于执行本公开的方法的指令或代码的计算机软件可以被存储在关联的存储器设备(例如,ROM,固定或可移动存储器)中,并且当准备好被利用时,被部分或全部加载(例如,进入RAM)并由CPU执行。这样的软件可以包括但不限于固件,驻留软件,微码等。

如上所述,本公开的各方面可以采取存储在计算机可读介质中的计算机程序产品的形式,所述计算机可读介质具有存储在其上的计算机可读程序代码。而且,可以使用计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子的,磁的,光学的,电磁的,红外的或半导体系统,装置或设备,或前述的任何合适的组合。计算机可读存储介质的更具体的示例(非穷举列表)可以包括以下内容:具有一个或多个导线的电连接,便携式计算机磁盘,硬盘,随机存取存储器(RAM),只读存储器(ROM),可擦除可编程只读存储器(EPROM或闪存),光纤,便携式光盘只读存储器(CD-ROM),光存储设备,磁存储设备或任何其它存储设备前述的适当组合。在本文档的上下文中,计算机可读存储介质可以是包含或存储由指令执行系统,装置或设备使用或与其结合使用的程序的任何有形介质。

用于执行本公开的各方面的操作的计算机程序代码可以以至少一种程序设计语言的任何组合来编写,所述程序设计语言包括诸如Java,Smalltalk,C++等的面向对象的程序设计语言和传统的过程性程序设计语言,如“C”编程语言或类似的编程语言。程序代码可以完全在用户的计算机上,部分在用户的计算机上,作为独立的软件包,部分在用户的计算机上,部分在远程计算机上,或者完全在远程计算机或服务器上执行。

本公开中描述的认证解决方案具有以下优点:

可用性:本公开提供了一种可用的认证解决方案。用户不需要记住用户名和密码。它适用于不同的用户群,例如儿童和长者。生物信息认证是基于自动挑战而应用的。

灵活性:认证解决方案可用于在线服务认证或用户设备认证。它可以同时用于许多服务。认证解决方案的系统结构支持针对需要用户认证的不同服务进行部署。它可以轻松实现联合身份管理。由于个体生物信息的独特性,各种服务可以共享相同的IdP以用于用户认证。这使得将IdP部署为云服务变得非常容易。

安全性:通过以下方式确保认证解决方案的安全性:1)认证准确性基于生物信息识别并与个人生物信息模式匹配;2)通过使用不同的验证码(随机生成)来挑战用户,增强了验证安全性。验证码每次都不相同,因此攻击者无法使用录制的用户验证码输入来通过验证;3)验证码挑战应在限定的时间内完成。如果用户在限定的时间内不能重复验证码,则验证失败;4)应用诸如背景语音之类的背景信息的相似性,以双重检查所有重复的验证码,在一个挑战期间的所有输入的验证模式码和/或相应的注册模式码是否是在相同的上下文中提供的。

隐私保护:个人用户的生物信息未向RP或IdP披露。通过PK_TTP对个人生物信息特征值和生物信息模式进行加密,因此RP和IdP不能得到生物信息特征值的明文。对于认证验证,只有加密的比较结果才会提供给RP,RP能够通过对加密的比较结果进行重新加密和解密来解密它,以便断定认证。通过这种方式,用户私人的生物信息被保护而不泄露给服务提供商,这些服务提供商需要为服务访问和认证身份管理提供者(其保存标识信息并处理认证)对用户进行认证。

附图中的流程图和框图图示了根据本公开的各种实施例的系统,方法和计算机程序产品的可能实现的架构,功能和操作。就此而言,流程图或框图中的每个框可以表示包括用于实现指定的逻辑功能的至少一个可执行指令的模块,组件,段或代码部分。还应该注意的是,在一些替代实施方式中,方框中提到的功能可以不按照附图中指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者框有时可以以相反的顺序执行。还将注意到,框图和/或流程图的每个框以及框图和/或流程图中的框的组合可以由执行指定功能或动作的基于专用硬件的系统,或专用硬件和计算机指令的组合来实现。

在任何情况下,应该理解的是,可以以各种形式的硬件,软件或其组合来实现本公开中示出的组件,例如专用集成电路(ASICS),功能电路,具有相关存储器的适当编程的通用数字计算机等。鉴于本文提供的公开内容的教导,相关领域的普通技术人员将能够设想本公开的组件的其他实现。

本文使用的术语仅用于描述特定实施例的目的,而不意图限制本公开。如本文所使用的,除非上下文另外清楚地指出,否则单数形式“一”,“一个”和“该”旨在也包括复数形式。应该理解,尽管这里可以使用术语第一,第二等来描述各种元件,但是这些元件不应该被这些术语限制。这些术语仅用于区分一个元素和另一个元素。例如,在不脱离示例实施例的范围的情况下,第一元素可以被称为第二元素,并且类似地,第二元素可以被称为第一元素。将进一步理解的是,当在本说明书中使用时,术语“包括”,“包含”和/或“含有”指定所陈述的特征,整体,步骤,操作,元件和/或组件的存在,但是不排除存在或添加另一特征,整数,步骤,操作,元素,组件和/或其组合。

出于说明的目的已经呈现了各种实施例的描述,但并非旨在穷举或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变型对于本领域的普通技术人员来说将是显而易见的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1