具体实施方式
本申请的实施例提出一种新的基于生物特征的身份注册方法,在用户设备上预存用户侧设备认证参数,在服务端预存与用户侧设备认证参数相同或相对应的网络侧设备认证参数,由用户设备采用用户侧设备认证参数对注册请求报文进行加密或签名,由认证服务器采用该用户设备的网络侧设备认证参数通过解密或验签来对该用户设备进行验证,从而能够确保身份注册及后续的身份认证在可信的用户设备上进行,增加了用于身份认证的用户设备的安全性和身份认证的可靠性,以解决现有技术存在的问题。
本申请实施例应用场景的一种网络结构如图1所示,用户设备与业务服务器、业务服务器与认证服务器之间通过通信网络相互可访问。其中,用户设备是具有生物特征识别功能的终端设备,可以是手机、平板电脑、PC(Personal Computer,个人电脑)、笔记本等设备;业务服务器用来接收用户通过用户设备发起的业务请求(包括注册和认证请求),并向用户设备发送对其请求的响应;认证服务器用来对用户账户进行身份认证;业务服务器和认证服务器可以是一个物理或逻辑服务器,也可以是由两个或两个以上分担不同职责的物理或逻辑服务器、相互协同来实现本申请实施例中业务服务器或认证服务器的各项功能。本申请实施例对用户设备、业务服务器和认证服务器的种类,以及用户设备业务服务器之间、业务服务器与认证服务器之间通信网络的类型、协议等均不做限定。
本申请的实施例中,基于生物特征的身份注册方法应用在用户设备上的流程如图2所示,应用在认证服务器上的流程如图3所示。
本申请的实施例中,用户设备上保存有用户侧设备认证参数,认证服务器可以从本地或其他可访问的网络存储位置获取到用户设备的设备标识与该用户设备的网络侧设备认证参数的对应关系。同一个用户设备的用户侧设备认证参数与网络侧认证参数相同或相对应。
用户侧设备认证参数可以在设备出厂前预存在用户设备上;也可以由用户设备、认证服务器或某个其他的网络节点生成对应的用户侧设备认证参数和网络侧设备认证参数后,分别交由用户设备和认证服务器保存;本申请的实施例不做限定。用户侧设备认证参数可以保存在用户设备上的安全存储区域,并可以限制能够访问该安全存储区域的软件或进程,以实现更好的安全性。
用户侧设备认证参数和网络侧设备认证参数可以是参照现有技术中各种算法所生成的密钥、口令等,例如采用非对称加密算法生成私钥(用户侧设备认证参数)和公钥(网络侧设备认证参数);再如采用对称加密算法生成相同的密钥(同时作为用户侧设备认证参数和网络侧设备认证参数);本申请的实施例不做限定。
在用户设备上,步骤210,获取用户设备的设备标识。
通常可以将用户设备上具有唯一性的硬件标识用来作为该用户设备的设备标识,例如可以是用户设备的UUID(Universally Unique Identifier,通用唯一识别码)、MAC(Media Access Control,媒体接入控制)地址、蓝牙地址等。
在用户设备上,步骤220,获取用户的生物数据,利用所述生物数据对用户身份进行生物特征校验。
当用户在用户设备上启动利用生物特征进行身份验证的注册流程时,用户设备要求用户提供其用于身份注册的生物数据。用户的生物数据可以是用户设备支持的生物认证类型(即用户设备具有的生物特征识别功能)中的任何一种,例如可以是指纹、声音、虹膜、人脸等;对相同生物认证类型而言,用户的生物数据可以是该用户设备能够识别的任何一个特定对象,例如对指纹而言,可以是任何一个手指的指纹;对虹膜而言,可以是任意一只眼睛的虹膜。
用户可以针对某项业务或某个业务系统来进行身份认证的注册。在这种情况中,可以由该业务系统运行在用户设备上的客户端(可以是该业务系统安装在用户设备上的客户端软件,也可以是在浏览器中该业务系统的页面)来确定在该业务系统中进行身份认证时所采用的生物认证类型,并请求用户提供该类型的生物数据。
在用户设备获取到用户提供的生物数据(或所确定生物认证类型的生物数据)后,采用所获取的生物数据对用户身份进行生物特征校验。生物特征校验的具体方式可以参照现有技术中用户设备的生物特征识别方式来实现,例如可以是与用户设备上本地预先保存的样本数据进行比对,如果匹配程度满足某些预定条件,则生物特征校验成功。
需要说明的是,步骤210和步骤220之间没有时序关系。
在用户设备上,步骤230,在通过生物特征校验后,向业务服务器发送注册请求报文。注册请求报文中包括设备标识和账户标识,并采用用户侧设备认证参数进行加密或签名;供认证服务器在收到业务服务器转发的注册请求报文后,采用与用户侧设备认证参数相同或相对应的网络侧设备认证参数对注册请求报文进行解密或验签,并在解密成功或验签通过后保存设备标识和账户标识的对应关系,以用来对该账户进行身份认证。
在认证服务器上,步骤310,从业务服务器接收来自用户设备的注册请求报文,注册请求报文中包括该用户设备的设备标识和账户标识,并采用该用户设备的用户侧设备认证参数进行加密或签名。
在通过生物特征校验后,用户设备将设备标识、账户标识封装在注册请求报文中,用本地保存的用户侧设备认证参数对注册请求报文加密或签名,之后将注册请求报文发送给业务服务器。业务服务将注册请求报文转发给认证服务器。
账户标识可以是在认证服务器上唯一对应于进行身份注册的用户账户的信息,例如可以是账户名称、账户编码等等。
在认证服务器上,步骤320,根据注册请求报文中的设备标识,获取与该用户侧设备认证参数相同或相对应的网络侧设备认证参数。
认证服务器在收到业务服务器转发的注册请求报文后,从中提取用户设备的设备标识,在设备标识与网络侧设备认证参数的对应关系中查找该用户设备的网络侧设备认证参数。如果未能找到对应于该设备标识的网络侧设备认证参数,则该用户设备不是可信设备,注册流程以失败结束。
在认证服务器上,步骤330,采用所获取的网络侧设备认证参数对注册请求报文进行解密或验签,在解密成功或验签通过后保存所述设备标识与账户标识的对应关系,以用来对所述账户进行身份认证。
在得到该用户设备的网络侧设备认证参数后,认证服务器采用该网络侧认证参数对注册请求报文进行解密或验签,如果解密不成功或验签未通过,则很可能是具有注册请求报文中设备标识的用户设备被冒用,注册流程以失败结束。解密成功或验签通过后,认证服务器保存设备标识和账户标识的对应关系,在后续的身份认证流程中可以将设备标识用来进行该账户的身份认证。
用户设备可以在注册请求报文中携带与本地生物校验相关的信息,例如可以将用户通过本地生物校验的结果在注册请求报文中通知业务服务器和认证服务器。
在一种实现方式中,用户设备在通过生物特征校验后,获取与进行本地生物校验时用户提供的生物数据相对应的生物特征令牌,并且将该生物特征令牌携带在注册请求报文中发送给业务服务器;认证服务器在收到业务服务器转发的注册请求报文、并以网络侧设备认证参数对该注册请求报文解密成功或验签通过后,保存注册请求报文中设备标识、账户标识和生物特征令牌的对应关系,以便在后续的认证流程中以设备标识和生物特征令牌来对该账户进行身份认证。
生物特征令牌是该用户设备上唯一对应于用于校验该生物数据的样本数据的特征量或索引值。也就是说,用户的每个手指的指纹分别对应于一个不同的生物特征令牌,人脸的对应于另外一个不同的生物特征令牌;每次用户采用拇指进行生物特征校验时,用户设备采集的拇指指纹数据都是用拇指指纹的样本数据进行校验,因而这些拇指指纹数据都对应于同一个生物特征令牌。
本申请对生物特征令牌的形式和生成生物特征令牌的具体方式不做限定,例如可以是对该样本数据或该样本数据的一部分应用摘要算法后得到的信息摘要,也可以是一个对应于该样本数据的随机数。用户设备可以将用于校验该生物数据的样本数据与对应的生物特征令牌一并保存在用户设备的安全存储区。
本实现方式中将生物特征令牌作为注册信息,并且用户设备需要提供同样的生物特征令牌才能通过身份认证,相比于在身份认证时只需提供本地生物校验成功的结果,极大的增加了伪造本地生物校验结果的难度,使得用户账户安全性更高。
对支持两种以上生物认证类型的用户设备,用户设备可以在这些生物认证类型中确定其中的一种作为用户注册和认证时采用的生物认证类型,并获取该生物认证类型的生物数据来进行本地生物特征校验。用户设备可以在注册请求报文中携带该生物认证类型;认证服务器在该注册请求报文解密成功或验签通过后,保存注册请求报文中设备标识、账户标识、生物特征令牌和生物认证类型的对应关系,以便在后续的认证流程中以设备标识、生物特征令牌和生物认证类型来对该账户进行身份认证。
在用户提供的生物数据通过生物特征校验后,用户设备可以基于预置的算法生成相同或相对应的用户侧业务认证参数和网络侧业务认证参数;用户设备将用户侧业务认证参数保存在本地,将网络侧业务认证参数携带在注册请求报文中,上传给业务服务器并由业务服务器转发给认证服务器。认证服务器在该注册请求报文解密成功或验签通过后,保存其中设备标识、账户标识、生物特征令牌、生物认证类型和网络侧业务认证参数的对应关系。在后续的身份认证中,用户设备和认证服务器可以利用用户侧业务认证参数和网络侧业务认证参数来对认证流程中的报文进行加解密或签名及验签,以增加身份认证的可靠性。
用户侧业务认证参数和网络侧业务认证参数可以是参照现有技术中各种算法所生成的密钥、口令等,例如采用非对称加密算法生成私钥(用户侧业务认证参数)和公钥(网络侧业务认证参数);再如采用对称加密算法生成相同的密钥(同时作为用户侧业务认证参数和网络侧业务认证参数)。
需要说明的是,如果用户设备上可能将为两个以上业务系统的客户端生成的用户侧业务认证参数保存在一起、和/或将为一个业务系统的客户端生成的两个以上不同生物认证类型的用户侧业务认证参数保存在一起,则应保存用户业务认证参数与业务系统、和/或用户侧业务认证参数与生物认证类型的对应关系。
在一些应用场景中,认证服务器可以为多个不同的业务系统提供认证服务,这些业务系统分别拥有各自的用户账户,以下称为用户的业务账户,业务账户标识为在某个业务系统中唯一对应于某个业务账户的信息。
如果这些业务系统中的业务账户标识可能会有重复,则在向业务服务器发送注册请求报文前,用户设备可以向业务服务器发送注册信息请求报文,注册信息请求报文中包括用户的业务账户标识;业务服务器将注册信息请求报文转发给认证服务器;认证服务器在收到注册信息请求报文后,生成对应于该业务账户(即对应于该业务系统中的该业务账户)的虚拟账户标识,将虚拟账户标识封装在注册信息响应报文中发送给业务服务器;业务服务器在收到将注册信息响应报文转发给用户设备;用户设备从注册信息响应报文中提取虚拟账户标识,并在注册请求报文中以虚拟账户标识作为账户标识。
虚拟账户标识在认证服务器上唯一对应于某个业务系统中的某个业务账户,本申请实施例对生成虚拟账户标识的方式不做限定,例如,可以将业务系统标识与用户在该业务系统的业务账户标识来作为虚拟账户标识;再如,可以将该业务系统的该用户账户在认证服务器上登记注册账户的数据库中的索引来作为虚拟账户标识。
需要说明的是,如果虚拟账户标识的生成方式不能确保对相同业务系统的相同业务账户生成同样的虚拟账户标识,则认证服务器要保存所生成的虚拟账户标识与业务系统的业务账户的对应关系,以便在后续的身份认证流程中,能够将与注册流程中相同的虚拟账户标识分配给同一个业务系统的同一个用户账户。
如果这些业务系统中的业务账户标识各不相同,认证服务器可以直接采用业务账户标识来作为账户标识,也可以生成对应于业务账户的虚拟账户标识,在注册信息响应报文中通过业务服务器发送给用户设备,以便用户设备在注册请求报文中将虚拟账户标识作为其账户标识。
在身份注册流程中,可以采用各种安全措施来增加注册流程的安全性,以下举出两种实现方式作为例子。
第一个例子:在用户设备向业务服务器发送注册信息请求报文,以获取注册请求报文中所需注册信息(如虚拟账户标识)的实现方式中,在收到注册信息请求报文后,认证服务器生成虚拟账户标识和该虚拟账户的注册挑战码,注册挑战码的生成方式可以采用各种一次性口令的生成算法,本例中不做限定。认证服务器将虚拟账户标识和所生成的注册挑战码封装在注册信息响应报文中发送给业务服务器,并启动计时。用户设备在收到业务服务器转发的注册信息响应报文后,以其中的虚拟账户标识作为账户标识生成注册请求报文,并将注册响应报文中的注册挑战码封装在注册请求报文中,发送给业务服务器。认证服务器在该注册请求报文解密成功或验签通过后,如果注册请求报文中的注册挑战码和为注册请求报文中虚拟账户生成的注册挑战码相同、并且发送该虚拟账户的注册信息响应报文和收到注册请求报文的时间间隔在第一预定时长范围内时,保存该注册请求报文中设备标识与虚拟账户标识的对应关系;否则注册流程失败,认证服务器拒绝该注册请求。
第二个例子:可以在认证服务器上预先生成相对应的服务器私钥和服务器公钥,在用户设备向业务服务器发送注册信息请求报文、以获取注册请求报文中所需注册信息(如虚拟账户标识、或虚拟账户标识和注册挑战码)的实现方式中,认证服务器可以将服务器公钥封装在注册信息响应报文中,在采用服务器私钥对注册信息响应报文进行签名后再发送给业务服务器。用户设备在收到业务服务器转发的注册信息响应报文后,从中提取服务器公钥,对注册信息响应报文进行验签,如果验签通过则继续生成并发送注册请求报文的流程;如果验签失败则说明注册信息响应报文很可能并非来自于可靠的认证服务器,注册流程以失败结束。
需要说明的是,上述两个例子中的实现方式可以单独使用,也可以结合使用,并且同样可以与上述虚拟账户标识、用户侧及网络侧业务认证参数、生物认证类型、生物特征令牌的实现方式相结合而使用。
可见,本申请的实施例中,在用户设备上预存用户侧设备认证参数,在服务端预存与用户侧设备认证参数相同或相对应的网络侧设备认证参数,用户设备采用用户侧设备认证参数对其发送的注册请求报文加密或签名,认证服务器根据设备标识,获取该用户设备的网络侧设备认证参数,对注册请求报文进行解密或验签。通过采用用户侧设备认证参数和网络侧设备认证参数来对用户设备的可信度进行验证,本申请的实施例提高了用于身份认证的用户设备的安全性,并增加了身份认证的可靠性。
在完成本申请实施例中的上述注册流程后,服务器保存了账户标识与设备标识、以及其他信息的对应关系,设备标识及保存的其他信息成为该账户的已注册信息。在用户通过用户设备发起基于生物特征的身份认证,用户设备向认证服务器提供其账户的这些已注册信息,即可实现对该账户的身份认证。
具体而言,用户在用户设备上发起基于生物特征的身份认证流程后,用户设备获取设备标识;获取用户的生物数据并采用该生物数据对用户身份进行生物特征校验;在通过生物特征校验后,用户设备向业务服务器发送认证请求报文,其中包括设备标识和账户标识;业务服务器将认证请求报文转发给认证服务器;根据认证请求报文中的账户标识,认证服务器比对认证请求报文中的设备标识与该账户的已注册设备标识是否相同,相同则身份认证通过。
如果认证服务器保存了账户的其他已注册信息,则在认证流程中,用户设备可以参照注册流程中相类似的方式来获取对应的信息并提供给认证服务器,例如通过认证信息请求报文和认证信息响应报文来获取虚拟账户标识、认证挑战码;再如获取生物认真类型、生物特征令牌等。详细的描述请参见本申请应用示例中的认证流程。需要说明的是,这些已注册信息可以单独使用,也可以相互结合使用,本申请的实施例不做限定。
在本申请的一个应用示例中,用户设备上安装有业务客户端和认证客户端,业务客户端与业务服务器通过请求和响应来完成其所在业务系统提供的各项功能,其中包括基于生物特征的身份认证功能。在用户设备上业务客户端通过调用认证客户端来实现与基于生物特征的身份认证相关的功能,而业务服务器则通过访问认证服务器来实现与基于生物特征的身份认证相关的功能。用户设备在出厂前预存有该用户设备的设备私钥(即用户侧设备认证参数),与该设备私钥相对应的设备公钥(即网络侧设备认证参数)保存在认证服务器可访问的网络存储位置。
在身份注册流程中,用户设备上的业务客户端、认证客户端,以及用户设备、业务服务器与认证服务器之间的交互流程如图4所示。
当用户通过业务客户端发起身份注册流程后,业务客户端调用认证客户端,请求用户设备的设备数据。认证客户端获取用户设备的设备标识、设备型号、设备支持的生物认证类型以及其他设备信息,将这些设备数据返回给业务客户端。
业务客户端向业务服务器发送注册信息请求报文,注册信息请求报文中携带有用户设备的设备标识、用户在该业务系统的业务账户标识。业务服务器将注册信息请求报文转发给认证服务器。
认证服务器上保存有向对应的服务器私钥和服务器公钥。认证服务器收到注册信息请求报文后,将业务系统标识和业务账户标识作为对应于该业务账户的虚拟账户标识,生成该虚拟账户的注册挑战码,将虚拟账户标识、注册挑战码和服务器公钥封装在注册信息响应报文中,采用服务器私钥对注册信息响应报文进行签名,之后将注册信息响应报文发送给业务服务器,并开始计时。业务服务器将注册信息响应报文转发给用户设备的业务客户端。
根据认证客户端返回的设备数据中的设备支持的生物认证类型,业务客户端确定其中的一种生物认证类型作为用户注册和认证时采用的生物认证类型,并向用户请求、并获取用户提供的该生物认证类型的生物数据。
业务客户端以用户提供的该生物认证类型的生物数据调用认证客户端,认证客户端采用该生物数据进行本地的生物特征校验,并将生物特征校验的结果通知业务客户端。
如果生物特征校验未通过,则业务客户端结束注册流程,并告知用户未能通过本地的生物特征校验。在生物特征校验通过后,业务客户端以接收的注册信息响应报文调用认证客户端。
认证客户端提取注册信息响应报文中的服务器公钥,对注册信息响应报文进行验签,如果验签未通过,则通知业务客户端,业务客户端以失败结束注册流程。在验签通过后,认证客户端获取最近一次本地生物特征校验成功时所采用的生物数据(即业务客户端在进行本地生物特征校验时所采用生物数据)对应的生物特征令牌,采用预置算法生成业务私钥(即用户侧业务认证参数)和业务公钥(即网络侧业务认证参数);保存从注册信息响应报文中提取的虚拟账户标识、最近一次本地生物特征校验成功时采用的生物认证类型、生物特征令牌、和业务私钥的对应关系。认证客户端组装生成注册请求报文,其中携带有设备标识、虚拟账户标识、生物认证类型、生物特征令牌、业务公钥、和从注册信息响应报文中提取的注册挑战码。认证客户端读取用户设备保存的设备私钥,对注册请求报文进行签名后,返回给业务客户端。
业务客户端将注册请求报文发送给业务服务器。业务服务器将注册请求报文转发给认证服务器。
认证服务器从接收的注册请求报文中提取设备标识,从可访问的网络存储位置查找与该设备标识对应的设备公钥,利用设备公钥对注册请求报文进行验签,如果验签未通过,则拒绝注册请求并通知业务服务器,由业务服务器将注册失败的结果通知业务客户端。在验签通过后,认证服务器比对注册请求报文中的注册验证码和由本认证服务器为该注册请求报文中虚拟账户生成的注册验证码是否相同,并获取发送注册信息响应报文和收到注册请求报文的时间差。如果两个注册验证码不同或者该时间差超过第一预定时长,认证服务器拒绝注册请求并通知业务服务器,由业务服务器将注册失败的结果通知业务客户端;否则认证服务器保存注册请求报文中设备标识、虚拟账户标识、生物认证类型、生物特征令牌和业务公钥的对应关系,并向业务服务器返回注册成功的注册响应报文,其中携带上述对应关系中的虚拟账户标识和生物认证类型,以及与该虚拟账户标识对应的业务账户标识。
业务服务器保存注册成功的注册响应报文中业务账户标识、虚拟账户标识和生物认证类型的对应关系,并将注册成功的结果通知业务客户端。
在身份认证流程中,用户设备上的业务客户端、认证客户端,以及用户设备、业务服务器与认证服务器之间的交互流程如图5所示。
当用户通过业务客户端发起身份认证流程后,业务客户端调用认证客户端,请求用户设备的设备数据。认证客户端获取用户设备的设备标识、设备型号、设备支持的生物认证类型以及其他设备信息,将这些设备数据返回给业务客户端。
业务客户端向业务服务器发送认证信息请求报文,认证信息请求报文中携带有用户设备的设备标识、用户在该业务系统的业务账户标识。业务服务器从认证信息请求报文中提取业务账户标识,查询是否保存了对应于该业务账户标识的虚拟账户标识和生物认证类型,如果有则说明该业务账户已经向认证服务器注册了基于生物特征的身份认证,业务服务器将认证信息请求报文转发给认证服务器;如果没有则向业务客户端回复尚未开通身份认证的消息。
认证服务器收到认证信息请求报文后,以该业务系统标识和认证信息请求报文中的业务账户标识作为虚拟账户标识,生成该虚拟账户的认证挑战码,将虚拟账户标识、认证挑战码和服务器公钥封装在认证信息响应报文中,采用服务器私钥对认证信息响应报文进行签名,之后将认证信息响应报文发送给业务服务器,并开始计时。业务服务器将认证信息响应报文转发给用户设备的业务客户端。
业务客户端按照已确定的生物认证类型向用户请求、并获取用户提供的该生物认证类型的生物数据。
业务客户端以用户提供的该生物认证类型的生物数据调用认证客户端,认证客户端采用该生物数据进行本地的生物特征校验,并将生物特征校验的结果通知业务客户端。
如果生物特征校验未通过,则业务客户端结束认证流程,并告知用户未能通过本地的生物特征校验。在生物特征校验通过后,业务客户端以接收的认证信息响应报文调用认证客户端。
认证客户端提取认证信息信息响应报文中的服务器公钥,对认证信息响应报文进行验签,如果验签未通过,则通知业务客户端,业务客户端以失败结束认证流程。在验签通过后,认证客户端获取最近一次本地生物特征校验成功时所采用的生物数据(即业务客户端在进行上述本地生物特征校验时所采用生物数据)对应的生物特征令牌,将设备标识、从认证信息响应报文中提取的虚拟账户标识、最近一次本地生物特征校验成功时采用的生物认证类型、生物特征令牌和从认证信息响应报文中提取的认证挑战码封装后生成认证请求报文。认证服务器在保存的虚拟账户标识、生物认证类型、生物特征令牌、和业务私钥的对应关系中,查找到与最近一次本地生物特征校验成功时所采用的生物认证类型、认证信息响应报文中的虚拟账户标识和生物特征令牌对应的业务私钥,采用该业务私钥对认证请求报文签名后,返回给业务客户端。
业务客户端将认证请求报文发送给业务服务器。业务服务器将认证请求报文转发给认证服务器。
认证服务器从收到的认证请求报文提取认证验证码,比对认证请求报文中的认证验证码和由本认证服务器为该认证请求报文中虚拟账户生成的认证验证码是否相同,并获取发送认证信息响应报文和收到认证请求报文的时间差。如果两个认证验证码不同或者该时间差超过第一预定时长,认证服务器拒绝认证请求并通知业务服务器,由业务服务器将认证失败的结果通知业务客户端。
认证服务器查找与认证请求报文中虚拟账户标识、设备标识和生物认证类型对应的已注册生物特征令牌和已注册业务公钥,比对认证请求报文中的生物特征令牌与已注册生物特征令牌,并采用已注册业务公钥对认证请求报文进行验签。如果两个生物特征令牌不同、或者验签未通过,认证服务器拒绝认证请求并通知业务服务器,由业务服务器将认证失败的结果通知业务客户端。
在通过上述认证验证码、生物特征令牌和业务公钥的验证过程后,认证服务器身份认证通过的结果在认证响应报文中回复给业务服务器。业务服务器可以基于身份认证通过的结果进行相应的业务处理,并将身份认证通过的结果和/或业务处理的结果通知业务客户端。
与上述流程实现对应,本申请的实施例还提供了一种应用在用户设备上的基于生物特征的身份注册装置和一种应用在认证服务器上的基于生物特征的身份注册装置。上述装置均可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过用户设备或认证服务器的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图6所示的CPU、内存以及非易失性存储器之外,用户设备通常还包括用于进行无线信号收发的芯片等其他硬件,认证服务器通常还包括用于实现网络通信功能的板卡等其他硬件。
图7所示为本申请实施例提供的一种基于生物特征的身份注册装置,应用在用户设备上,所述用户设备保存有用户侧设备认证参数,所述装置包括设备标识获取单元、生物特征校验单元和注册请求发送单元,其中:设备标识获取单元用于获取用户设备的设备标识;生物特征校验单元用于获取用户的生物数据,利用所述生物数据对用户身份进行生物特征校验;注册请求发送单元用于在通过生物特征校验后,向业务服务器发送注册请求报文,所述注册请求报文中包括设备标识和账户标识,并采用所述用户侧设备认证参数进行加密或签名;供认证服务器在收到业务服务器转发的注册请求报文后,采用与用户侧设备认证参数相同或相对应的网络侧设备认证参数对注册请求报文进行解密或验签,并在解密成功或验签通过后保存所述设备标识和账户标识的对应关系,以用来对所述账户进行身份认证。
可选的,所述用户侧设备认证参数保存在用户设备的安全存储区域。
可选的,所述装置还包括生物特征令牌单元,用于在通过生物特征校验后,获取与所述生物数据对应的生物特征令牌;所述注册请求报文中还包括:所述生物特征令牌,供认证服务器在所述注册请求报文解密成功或验签通过后,保存所述设备标识、账户标识和生物特征令牌的对应关系,以用来对所述账户进行身份认证。
可选的,所述装置还包括生物认证类型确定单元,用于确定用户的生物认证类型;所述生物特征校验单元具体用于:根据所确定的生物认证类型,获取用户的生物数据,利用所述生物数据对用户身份进行生物特征校验;所述注册请求报文中还包括:生物认证类型,供认证服务器在所述注册请求报文解密成功或解密成功或验签通过后,保存所述设备标识、账户标识、生物特征令牌和生物认证类型的对应关系,以用来对所述账户进行身份认证。
可选的,所述装置还包括业务认证参数生成单元,用于在通过生物特征校验后,生成相同或相对应的用户侧业务认证参数和网络侧业务认证参数,保存用户侧业务认证参数;所述注册请求报文中还包括:网络侧业务认证参数,供认证服务器在所述注册请求报文验签通过后,保存所述设备标识、账户标识、生物特征令牌、生物认证类型和网络侧业务认证参数的对应关系,以用来对所述账户进行身份认证。
一个例子中,所述装置还包括注册信息请求发送单元和注册信息响应接收单元,其中:注册信息请求发送单元用于向业务服务器发送注册信息请求报文,所述注册信息请求报文由业务服务器转发给认证服务器,其中包括业务账户标识;注册信息响应接收单元用于接收业务服务器返回的注册信息响应报文,所述注册信息响应报文由认证服务器发送给业务服务器,其中包括认证服务器生成的对应于所述业务账户的虚拟账户标识;所述注册请求报文中的账户标识包括:所述虚拟账户标识。
上述例子中,所述注册信息响应报文中还可以包括:认证服务器生成的所述虚拟账户的注册挑战码;所述注册请求报文中还包括:所述注册挑战码,供认证服务器在收到业务服务器转发的注册请求报文后,根据所述注册挑战码以及发送注册信息响应报文和收到注册请求报文的时间间隔,对注册请求报文进行验证。
上述例子中,所述注册信息响应报文中还可以包括:服务器公钥;所述注册响应报文由认证服务器采用与所述服务器公钥对应的服务器私钥进行签名;所述装置还包括服务器公钥验签单元,用于在收到注册信息响应报文后,采用所述服务器公钥对所述注册信息响应报文进行验签,如果验签失败则注册流程结束。
图8所示为本申请实施例提供的一种基于生物特征的身份注册装置,应用在认证服务器上,包括注册请求接收单元、设备认证参数获取单元和注册请求处理单元,其中:注册请求接收单元用于从业务服务器接收来自用户设备的注册请求报文,所述注册请求报文中包括所述用户设备的设备标识和账户标识,并采用所述用户设备的用户侧设备认证参数进行加密或签名;设备认证参数获取单元用于根据所述设备标识,获取与所述用户侧设备认证参数相同或相对应的网络侧设备认证参数;注册请求处理单元用于采用所述网络侧设备认证参数对注册请求报文进行解密或验签,在解密成功或验签通过后保存所述设备标识与账户标识的对应关系,以用来对所述账户进行身份认证。
可选的,所述注册请求报文中还包括:对应于用户生物数据的生物特征令牌;所述注册请求处理单元具体用于:采用所述网络侧设备认证参数对注册请求报文进行解密或验签,在解密成功或验签通过后保存设备标识、账户标识与所述生物特征令牌的对应关系,以用来对所述账户进行身份认证。
可选的,所述注册请求报文中还包括:生物认证类型;所述注册请求处理单元具体用于:采用所述网络侧设备认证参数对注册请求报文进行解密或验签,在解密成功或验签通过后保存设备标识、账户标识、生物特征令牌和生物认证类型的对应关系,以用来对所述账户进行身份认证。
可选的,所述注册请求报文中还包括:由用户设备生成的网络侧业务认证参数,与保存在用户设备上的用户侧业务认证参数相同或相对应;所述注册请求处理单元具体用于:采用所述网络侧设备认证参数对注册请求报文进行解密或验签,在解密成功或验签通过后,保存设备标识、账户标识、生物特征令牌、生物认证类型和网络侧业务认证参数的对应关系,以用来对所述账户进行身份认证。
一个例子中,所述装置还包括注册信息请求接收单元和虚拟账户标识单元,其中:注册信息请求接收单元用于从业务服务器接收来自所述用户设备的注册信息请求报文,所述注册信息请求报文中包括业务账户标识;虚拟账户标识单元用于生成对应于所述业务账户的虚拟账户标识,将虚拟账户标识携带在注册信息响应报文中发送给业务服务器,供业务服务器将其转发给所述用户设备;所述注册请求报文中的账户标识包括:所述虚拟账户标识。
上述例子中,所述装置还可以包括注册挑战码生成单元,用于生成所述虚拟账户的注册挑战码;所述注册信息响应报文中还包括:所生成的注册挑战码;所述注册请求报文中还包括:注册挑战码;所述注册请求处理单元具体用于:采用所述网络侧设备认证参数对注册请求报文进行解密或验签,在解密成功或验签通过后,如果注册请求报文中的注册挑战码与为注册请求报文中虚拟账户生成的注册挑战码相同、并且发送注册信息响应报文和收到注册请求报文的时间间隔在第一预定时长范围内,保存所述设备标识与虚拟账户标识的对应关系。
上述例子中,所述认证服务器可获取到服务器私钥;所述装置还包括服务器私钥签名单元,用于采用所述服务器私钥对注册信息响应报文进行签名;所述注册信息响应报文中还包括:与服务器公钥相对应的服务器公钥,供用户设备用来对注册信息响应报文进行验签。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。