一种基于区块链的数字身份验证的方法、装置和系统与流程

文档序号:14124397阅读:269来源:国知局
一种基于区块链的数字身份验证的方法、装置和系统与流程

本申请涉及电子支付领域,特别涉及一种基于区块链的数字身份验证的方法、装置和系统。



背景技术:

就目前而言,比特币、以太币等数字货币在专用区块链上进行发行、流通、交易。数字货币钱包为各种数字货币的使用提供了便利,使用者可根据自己的喜好选择不同供应商服务,自己建立、保管、维护数字货币钱包。比如客户使用比特币发起一笔支付业务,需登入数字货币钱包,只要输入收款账户、金额,简单操作即可完成。

数字货币钱包核心是用户对私钥的拥有权,通常采用冷存储方式将钱包离线保存,具体来说,使用者在离线的电脑或手机上生成相应数字货币地址和私钥,并将其妥善保存起来。但电脑、手机系统被病毒、木马等多种途径攻击的可能,以任何形式保存的私钥都存在安全风险。目前市场出现了基于硬件载体的数字货币钱包,通过将私钥存储于硬件的安全单元达到提高敏感数据(私钥)的安全性,交易时需连接硬件设备,并在安全单元内完成数据签名。这不仅增加了用户的使用门槛,而且交易时仍然存在安全风险。

法定数字货币出现之后,对安全提出了更高的要求,需要进行交易方之间的多方验证。



技术实现要素:

本申请的目的是提供一种基于区块链的数字身份验证的方法、装置和系统,解决用户、移动终端、应用服务器等多方之间的身份验证问题。

为解决上述技术问题,本申请提供一种基于区块链的数字身份验证的方法,技术方案如下:

接收到应用方证书生成指令时,获取第一随机数,使得应用服务器利用所述第一随机数生成应用方证书;

获取所述应用方证书和安全因子,根据应用方根证书中的公钥验证所述应用方证书是否有效;

若是,则利用所述安全因子生成钱包证书;

接收到输入的口令后,获取第二随机数,根据所述第二随机数和所述口令计算出摘要值,并验证所述摘要值是否正确;

若是,对交易信息和所述安全因子利用所述钱包服务中的私钥进行签名,使得所述应用服务器利用所述签名验证所述钱包证书是否合法且是否有效。

其中,当所述应用服务器验证所述钱包证书合法且有效之后,还包括:

所述应用服务器请求认证中心对数字货币进行确权;

通过所述认证中心确权过后,将交易数据上传至分布式账本系统;

所述分布式账本系统确认交易合法后,发送交易成功的通知到移动终端。

其中,接收到应用方证书生成指令之前,还包括:

所述移动终端接收用户设置的用户名和登录密钥,申请开通所述钱包服务;

所述移动终端发送检查指令检查所述钱包服务是否个人化;

若否,则所述移动终端接收所述钱包服务根据所述检查指令生成的第一密钥对中的第一公钥;

所述移动终端将所述第一公钥发送到钱包服务发行方,并请求所述钱包服务的个人化数据;

所述钱包服务发行方解析所述第一公钥,判断所述用户的账户体系是否支持数字货币钱包;

若是,则所述钱包服务发行方向所述认证中心请求第一发行方根证书,并生成第一应用方根证书;

所述钱包服务发行方根据发行策略利用所述第一发行方根证书和所述第一应用方根证书生成所述第一个人化数据,并将所述第一个人化数据发送至移动终端;

所述移动终端接收所述第一个人化数据,并将所述第一个人化数据写入所述钱包服务。

其中,所述方法还包括:

当所述钱包公钥证书更新时,所述移动终端检查所述钱包服务是否个人化;

若是,则所述移动终端接收所述钱包服务生成的第二密钥对,并向所述钱包服务发行方发送证书更新请求;

所述钱包服务发行方接收到所述证书更新请求后,向所述认证中心请求第二发行方根证书,并生成第二应用方根证书;

所述钱包服务发行方根据所述发行策略利用所述第二发行方根证书和所述第二应用方根证书生成钱包公钥证书数据;

所述移动终端解析所述钱包公钥证书数据,以设定要求写入所述钱包服务。

其中,所述方法还包括:

当口令更新时,所述移动终端接收修改口令申请和输入的旧口令和新口令;

所述钱包服务验证所述旧口令与所述钱包服务中存储的口令是否一致;

若是,所述钱包服务检查所述新口令是否合法;

若是,所述钱包服务存储所述新口令并提示更新成功。

其中,所述方法还包括:

当口令重置时,所述移动终端接收重置口令申请和第二新口令;

所述移动终端利用所述重置口令申请和所述第二新口令生成报文,并发送至所述钱包服务发行方;

所述钱包服务发行方验证所述报文是否合法;

若是,所述钱包服务发行方对所述第二新口令加密形成密文口令并发送至所述移动终端;

所述移动终端将所述密文口令发送至所述钱包服务;

在所述钱包服务验证通过并安全存储所述密文口令后,所述移动终端显示口令重置成功信息。

其中,所述应用方证书、所述钱包证书、所述应用方根证书为基于ecc算法的证书。

本申请还提供一种基于区块链的数字身份验证的装置,包括:

应用方证书生成模块,用于接收到应用方证书生成指令时,获取第一随机数,使得应用服务器利用所述第一随机数生成应用方证书;

第一验证模块,用于获取所述应用方证书和安全因子,根据应用方根证书中的公钥验证所述应用方证书是否有效;

钱包证书生成模块,用于应用方根证书中的公钥验证所述应用方证书有效时,利用所述安全因子生成钱包证书;

第二验证模块,用于接收到输入的口令后,获取第二随机数,根据所述第二随机数和所述口令计算出摘要值,并验证所述摘要值是否正确;

第三验证模块,用于所述摘要值正确时,对交易信息和所述安全因子利用所述钱包服务中的私钥进行签名,使得所述应用服务器利用所述签名验证所述钱包证书是否合法且是否有效。

本申请还提供一种基于区块链的数字身份验证的系统,包括:

移动终端,用于接收到应用方证书生成指令时,获取第一随机数,使得应用服务器利用所述第一随机数生成应用方证书;获取所述应用方证书和安全因子,根据应用方根证书中的公钥验证所述应用方证书是否有效;若是,则利用所述安全因子生成钱包证书;接收到输入的口令后,获取第二随机数,根据所述第二随机数和所述口令计算出摘要值,并验证所述摘要值是否正确;若是,对交易信息和所述安全因子利用所述钱包服务中的私钥进行签名,使得所述应用服务器利用所述签名验证所述钱包证书是否合法且是否有效;

应用服务器,用于根据移动终端获取的第一随机数生成应用方证书;将所述应用方证书和安全因子发送到所述移动终端;在所述移动终端对交易信息和所述安全因子利用所述钱包服务中的私钥进行签名后,验证所述钱包证书是否合法且是否有效。

其中,所述系统还包括:

钱包服务发行方,用于接收移动终端发来的钱包服务个人化申请和证书更新申请;向认证中心请求发行方根证书,生成应用方根证书。

本申请所提供的一种基于区块链的数字身份验证的方法,包括:接收到应用方证书生成指令时,获取第一随机数,使得应用服务器利用所述第一随机数生成应用方证书;获取所述应用方证书和安全因子,根据应用方根证书中的公钥验证所述应用方证书是否有效;若是,则利用所述安全因子生成钱包证书;接收到输入的口令后,获取第二随机数,根据所述第二随机数和所述口令计算出摘要值,并验证所述摘要值是否正确;若是,对交易信息和所述安全因子利用所述钱包服务中的私钥进行签名,使得所述应用服务器利用所述签名验证所述钱包证书是否合法且是否有效。通过采用随机数,签名,各种证书的方式实现了区块链间更高安全性的数字身份认证。本申请还提供了基于区块链的数字身份验证装置和系统,具有上述有益效果,此处不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种基于区块链的数字身份验证的方法的流程图;

图2为本申请实施例所提供的一种基于区块链的数字身份验证的交易过程的流程示意图;

图3为本申请实施例所提供的一种基于区块链的数字身份验证的钱包服务注册的流程示意图;

图4为本申请实施例所提供的一种基于区块链的数字身份验证的钱包公钥证书更新的流程示意图;

图5为本申请实施例所提供的一种基于区块链的数字身份验证的口令更新的流程示意图;

图6为本申请实施例所提供的一种基于区块链的数字身份验证的口令重置的流程示意图;

图7为本申请实施例所提供的一种基于区块链的数字身份验证的装置的示意图;

图8为本申请实施例所提供的一种基于区块链的数字身份验证的系统的示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种基于区块链的数字身份验证的方法的流程图;其应用于对区块链中区域数字货币系统中交易的数字身份验证,通过该方法可以确保基于区块链技术的区域数字货币系统中货币交易的安全。

s101:接收到应用方证书生成指令时,获取第一随机数,使得应用服务器利用所述第一随机数生成应用方证书;

接收到应用方证书生成指令时,指的是移动终端接收到该指令,具体的来说,可以是用户通过用户名、密钥登入到移动终端上的应用(以下简称“移动应用”)后,移动应用会向钱包服务发送一个请求指令请求获取第一随机数,钱包服务则会向移动应用返回第一随机数。这些过程发生在移动终端内部。这里的移动应用可以为手机银行、数字钱包或者一个专有的应用(其中,应用可以以app的形式存在,也可以是一个功能插件等)。钱包服务通常指的位于移动终端的安全单元内,支持控制交易流程、安全存储、发行方管理等功能;开发一般需要符合javacard、globalplatform技术标准。本申请中,在移动终端内部信息交互时,例如移动终端和钱包服务之间,可以等同于移动应用和钱包服务之间,即移动终端和移动应用可以认为统一概念;当涉及移动终端和应用服务器、钱包服务发行方等外部终端信息交互时,移动终端和移动应用则并不是同一概念。

s102:获取所述应用方证书和安全因子,根据应用方根证书中的公钥验证所述应用方证书是否有效;

移动终端将第一随机数和一个请求指令发送到应用服务器,请求指令是请求获取应用方证书、安全因子等认证信息数据的指令,而第一随机数可以参与应用方证书的生成。应用方证书生成后需要应用服务器将其返回到移动终端,移动终端再将应用方证书发送到内部的钱包服务,可以组织apdu(applicationprotocoldataunit,应用协议数据单元)指令发送到内部的钱包服务。而钱包服务内有一个应用方根证书,钱包服务根据应用方根证书的公钥验证应用方证书是否有效。如果验证失败则本次数字身份验证失败。具体钱包服务内容可以详见实施例二。

s103:若是,则利用所述安全因子生成钱包证书;

所述安全因子,是某些认证信息数据的合成,包括交易时间戳、动态随机数等等数据,这些都可以称之为安全因子。当钱包服务验证应用方证书有效时,钱包服务可以临时保存安全因子,因为安全因子参与钱包证书的计算。对于钱包服务来说,它的证书体系通常包括:发行方根证书、发行方证书、钱包公钥证书和钱包证书。其中发行方根证书一般由监管机构生成;发行方证书由钱包服务发行方提供相关数据、公钥,监管机构使用私钥签名生成;钱包公钥证书,由钱包服务发行方的签名生成;发行方根证书验证发行方证书合法性;发行方证书包含一个公钥,可以验证钱包公钥证书合法性。而钱包证书在钱包服务中根据每次交易动态生成,使用私钥对交易数据进行签名,目的是应用服务器通过验证钱包证书的正确性,确定该钱包服务的合法性。因此,钱包服务还可以向移动终端返回计算生成的钱包证书、发行方证书。

s104:接收到输入的口令后,获取第二随机数,根据所述第二随机数和所述口令计算出摘要值,并验证所述摘要值是否正确;

钱包证书生成之后,移动终端接收输入的口令。口令可以由移动终端弹出一个安全口令键盘,提示用户输入口令。口令与用户登录时的密钥并不是一个概念,登录时的密钥作为用户的登录密钥仅作为用户登录移动终端上的应用使用,而口令作为交易时身份验证时的交易口令。相当于登录密钥能够允许用户登录移动终端以准备交易,而口令才是允许用户能够成功交易,二者的区别显而易见。

在接收到口令后,移动应用再次向钱包服务获取一个随机数,这里称之为第二随机数,第二随机数参与计算用户口令的摘要并得到摘要值。这个过程通常是在移动应用内进行。移动应用在计算出摘要值后,发送到钱包服务。钱包服务会验证摘要值的正确性,若失败则同样本次数字身份验证失败。

s105:若是,对交易信息和所述安全因子利用所述钱包服务中的私钥进行签名,使得所述应用服务器利用所述签名验证所述钱包证书是否合法且是否有效。

当钱包服务验证摘要值正确时,移动应用会将交易信息按照一定的格式发送到钱包服务并请求签名。交易信息一般包括交易时间、交易金额、应用服务器编码等和交易相关的信息。钱包服务收到交易信息后,通过内部的私钥对交易信息以及之前保存的安全因子进行签名,并将签名返回移动应用。

移动应用收到签名后,将签名和钱包证书生成报文,将报文发送至应用服务器。应用服务器利用签名验证钱包证书是否合法且是否有效。因为对于证书来说,合法不一定有效,有效不一定合法。只有当钱包证书合法且有效时,用户、移动终端和应用服务器之间的数字身份验证过程才算通过。

值得注意的是,钱包证书、应用方证书、应用方根证书甚至其他证书都可以是基于ecc算法的证书,因为ecc算法相当于主流的rsa算法,可以使用较短的安全密钥达到同样的安全级别。此外,基于ecc算法的应用方证书的生成包含随机数,动态生成,安全性更高。例如,可以如表1至表6所示,表1为本申请实施例所提供的基于ecc算法的发行方根证书;表2为本申请实施例所提供的基于ecc算法的发行方证书;表3为本申请实施例所提供的基于ecc算法的钱包公钥证书;表4为本申请实施例所提供的基于ecc算法的钱包证书;表5为本申请实施例所提供的基于ecc算法的应用方根证书;表6为本申请实施例所提供的基于ecc算法的应用方证书。

表1发行方根证书

表2发行方证书

表3钱包公钥证书

表4钱包证书

表5应用方根证书

表6应用方证书

当然,在数字身份验证通过后,就可以进行交易过程。参加图2,图2为基于区块链的数字身份验证交易的流程示意图,包含上述身份验证过程以及后续的交易过程。当应用服务器已经验证钱包证书合法且有效时,应用服务器会请求认证中心对数字货币进行确权。待认证中心确权后,应用服务器将整个交易过程中的数据上传至分布式账本系统,当该系统确认交易合法后,向移动终端发送消息提示交易成功。当然,可以在移动终端上以文字、声音震动等方式提示交易成功,本申请在此不作限定。

本申请实施例提供了一种基于区块链的数字身份验证的方法,可以通过上述方法能够实现交易前的三方验证,通常包括用户、移动终端和应用服务器。提高了数字身份验证的可靠性,数字交易的安全性。

实施例二

基于上述实施例,在数字身份验证之前,还可以包括钱包服务的注册过程。参见图3,图3为钱包服务注册的流程示意图,具体技术方案如下:

s201:所述移动终端接收用户设置的用户名和登录密钥,申请开通钱包服务;

这一步可以是用户登录移动终端,在移动应用的选择界面发起开通钱包服务申请,并设置用户名和登录密钥。移动终端接收到用户的注册申请及用户名、登录密钥等信息后,申请开通钱包服务。

s202:所述移动终端发送检查指令检查所述钱包服务是否个人化;

移动终端根据用户提交的申请及相关的用户名、登录密钥等信息发送一个检查指令到钱包服务,检查钱包服务是否个人化。个人化指的是按照钱包服务发行方定义,将其发行的数据、密钥等信息写入钱包服务。

s203:若否,则所述移动终端接收所述钱包服务根据所述检查指令生成的第一密钥对中的第一公钥;

若钱包服务没有个人化,钱包服务可以根据检查生成一对密钥,包括公钥和私钥,将公钥发送至移动应用,也即移动终端。

s204:所述移动终端将所述第一公钥发送到钱包服务发行方,并请求所述钱包服务的个人化数据;

移动终端可以将公钥以报文的形式向钱包服务发行方申请钱包服务的个人化数据。

s205:所述钱包服务发行方解析所述第一公钥,判断所述用户的账户体系是否支持数字货币钱包;

钱包服务发行方解析移动终端发来的报文,判断该用户的账户体系是否支持数字货币钱包。若不支持,则向移动终端返回一个错误信息;

s206:若是,则所述钱包服务发行方向所述认证中心请求第一发行方根证书,并生成第一应用方根证书;

若该用户的账户体系支持数字货币钱包,则钱包服务发行方生成一对密钥,同样包括公钥和私钥,并向认证中心请求发行方根证书,自身生成应用方根证书。

s207:所述钱包服务发行方根据发行策略利用所述第一发行方根证书和所述第一应用方根证书生成所述第一个人化数据,并将所述第一个人化数据发送至移动终端;

待认证中心返回发行方根证书后,钱包服务发行方可以利用发行方根证书和应用方根证书,再根据发行策略生成钱包服务的个人化数据,包括钱包公钥证书、发行方根证书、发行方证书等等,按照固定格式发送到移动终端。这里的固定格式通常是由钱包服务发行方来设定,在此并不限定。

s208:所述移动终端接收所述第一个人化数据,并将所述第一个人化数据写入所述钱包服务。

移动终端接收到个人化数据后,解析个人化数据,按照规范要求拼装个人化指令流,可以逐条写入钱包服务,完成钱包服务的个人化。因为每条指令发送的数据不能超过255字节,而且根据数据类型的不同,可以采用不同的指令执行发送命令。

实施例三

基于上述实施例,基于区块链的数字身份验证的方法还可以包括钱包证书更新的过程,参见图4,图4为钱包证书更新的流程示意图,技术方案如下;

s301:当所述钱包公钥证书更新时,所述移动终端检查所述钱包服务是否个人化;

当钱包公钥证书需要更新时,移动终端检查所述钱包服务是否已个人化,因为没有个人化的钱包服务是无需更新钱包证书的。

s302:若是,则所述移动终端接收所述钱包服务生成的第二密钥对,并向所述钱包服务发行方发送证书更新请求;

当钱包服务已个人化时,钱包服务会重新生成密钥对即公钥和私钥,同样将重新生成的公钥发送至移动终端。

移动终端接收到公钥后,生成证书更新请求报文并向钱包服务发行方发送。

s303:所述钱包服务发行方接收到所述证书更新请求后,向所述认证中心请求第二发行方根证书,并生成第二应用方根证书;

同样的,钱包服务发行方接收到证书更新请求报文后,再次向认证中心请求新的发行方根证书,并生成新的应用方根证书。为区别于注册钱包服务时的证书,这里称之为第二发行方根证书和第二应用方根证书。

s304:所述钱包服务发行方根据所述发行策略利用所述第二发行方根证书和所述第二应用方根证书生成钱包公钥证书数据;

s305:所述移动终端解析所述钱包公钥证书数据,以设定要求写入所述钱包服务。

与开通钱包服务时类似,移动终端解析钱包公钥证书数据,按照规范要求拼装证书指令流,逐条写入钱包服务。值得注意的是,证书体系是钱包服务的个人化数据中的一部分,换句话说,个人化数据中最重要的是钱包证书体系,但还包含其他数据,例如用户口令等。

实施例四

基于上述实施例,基于区块链的数字身份验证系统还可以包括口令更新过程,参见图5,图文为本申请实施例提供的口令更新时的流程图示意,技术方案如下:

s401:当口令更新时,所述移动终端接收修改口令申请和输入的旧口令和新口令;

当口令更新时,通常为用户更换口令时,用户先通过用户名和登录密钥登入移动应用,选择界面提交修改口令申请,此时移动终端的界面上可以出现相应的对话框以提示用户输入旧口令和新口令。移动终端在接收到修改口令申请、旧口令和新口令后,向钱包服务方式发送相关数据。

s402:所述钱包服务验证所述旧口令与所述钱包服务中存储的口令是否一致;

s403:若是,所述钱包服务检查所述新口令是否合法;

当下不同系统处于自身的安全性考虑会要求口令的种类,长度等等,甚至有些是法律规定的某些口令不得低于几位数。因此需要检查新口令是否合法。若是需要特别规定,例如要求口令需要包括罗马数字、字母、字符的组合等,都应当在本申请的保护范围内。

s404:若是,所述钱包服务存储所述新口令并提示更新成功。

当新口令合法时,或者符合预先设定的要求时,钱包服务存储所述新口令。此处并不限定需要删除旧口令,可以将其存储以备不时之需。但是在以后使用时,肯定只有新口令处于有效状态。存储后,钱包服务会向移动终端提示更新成功,之后移动终端再提示用户口令更新成功。当然,这里不限定提示方式,例如震动,提示框等等。

实施例五

基于上述实施例,基于区块链的数字身份验证系统还可以包括口令重置,参见图6,图6为口令重置过程的流程图示意,技术方案如下:

s501:所述移动终端利用所述重置口令申请和所述第二新口令生成报文,并发送至所述钱包服务发行方;

当口令遗失或用户遗忘时,可以进行口令重置。用户通过用户名和登录密钥登入移动应用后,选择界面提交重置口令申请,输入新口令。移动终端将含有重置口令申请和新口令等信息的报文上传到钱包服务发行方。

s502:所述钱包服务发行方验证所述报文是否合法;

这里可以根据重置口令申请中的内容验证是否合法,例如该申请中包含可以包含用户注册时间等与注册相关的信息,已检查用户填写的信息是否正确并判断是否合法。

s503:若是,所述钱包服务发行方对所述第二新口令加密形成密文口令并发送至所述移动终端;

若钱包服务发行方判断报文合法,则对新口令进行加密形成密文口令发送至移动终端。在此并不限定加密的方式,可以是对称加密,也可以是非对称加密。非对称加密安全性更高,只是信息传输的次数更多。

s504:所述移动终端将所述密文口令发送至所述钱包服务;

s505:在所述钱包服务验证通过并安全存储所述密文口令后,所述移动终端显示口令重置成功信息。

钱包服务验证密文口令的正确性和合法性。在钱包服务的个人化阶段,可以通过密文方式将口令保护密钥写入钱包服务,因此,此时可以解密并验证该密文口令。验证成功则安全存储新口令,并通知移动终端向用户提示重置成功。同样,对提示的方式种类在此不作任何限定。

下面对本申请实施例提供的一种基于区块链的数字身份验证的装置进行介绍,下文描述的基于区块链的数字身份验证的装置与上文描述的基于区块链的数字身份验证的方法可相互对应参照。

参考图7,图7为本申请实施例所提供的一种基于区块链的数字身份验证装置的示意图,包括:

应用方证书生成模块100,可以用于接收到应用方证书生成指令时,获取第一随机数,使得应用服务器利用所述第一随机数生成应用方证书;

第一验证模块200,可以用于获取所述应用方证书和安全因子,根据应用方根证书中的公钥验证所述应用方证书是否有效;

钱包证书生成模块300,可以用于应用方根证书中的公钥验证所述应用方证书有效时,利用所述安全因子生成钱包证书;

第二验证模块400,可以用于接收到输入的口令后,获取第二随机数,根据所述第二随机数和所述口令计算出摘要值,并验证所述摘要值是否正确;

第三验证模块500,可以用于所述摘要值正确时,对交易信息和所述安全因子利用所述钱包服务中的私钥进行签名,使得所述应用服务器利用所述签名验证所述钱包证书是否合法且是否有效。

基于上述实施例,作为优选的实施例,所述装置还可以包括:

交易模块,用于所述应用服务器请求认证中心对数字货币进行确权;通过所述认证中心确权过后,将交易数据上传至分布式账本系统;所述分布式账本系统确认交易合法后,发送交易成功的通知到移动终端。

基于上述实施例,作为优选的实施例,所述装置还可以包括:

注册模块,用于所述移动终端接收用户设置的用户名和登录密钥,申请开通钱包服务;所述移动终端发送检查指令检查所述钱包服务是否个人化;若否,则所述移动终端接收所述钱包服务根据所述检查指令生成的第一密钥对中的第一公钥;所述移动终端将所述第一公钥发送到钱包服务发行方,并请求所述钱包服务的个人化数据;所述钱包服务发行方解析所述第一公钥,判断所述用户的账户体系是否支持数字货币钱包;若是,则所述钱包服务发行方向所述认证中心请求第一发行方根证书,并生成第一应用方根证书;所述钱包服务发行方根据发行策略利用所述第一发行方根证书和所述第一应用方根证书生成所述第一个人化数据,并将所述第一个人化数据发送至移动终端;所述移动终端接收所述第一个人化数据,并将所述第一个人化数据写入所述钱包服务。

基于上述实施例,作为优选的实施例,所述装置还可以包括:

证书更新模块,用于当所述钱包公钥证书更新时,所述移动终端检查所述钱包服务是否个人化;若是,则所述移动终端接收所述钱包服务生成的第二密钥对,并向所述钱包服务发行方发送证书更新请求;所述钱包服务发行方接收到所述证书更新请求后,向所述认证中心请求第二发行方根证书,并生成第二应用方根证书;所述钱包服务发行方根据所述发行策略利用所述第二发行方根证书和所述第二应用方根证书生成钱包公钥证书数据;所述移动终端解析所述钱包公钥证书数据,以设定要求写入所述钱包服务。

基于上述实施例,作为优选的实施例,所述装置还可以包括:

口令更新模块,用于当口令更新时,所述移动终端接收修改口令申请和输入的旧口令和新口令;所述钱包服务验证所述旧口令与所述钱包服务中存储的口令是否一致;若是,所述钱包服务检查所述新口令是否合法;若是,所述钱包服务存储所述新口令并提示更新成功。

基于上述实施例,作为优选的实施例,所述装置还可以包括:

口令重置模块,当口令重置时,所述移动终端接收重置口令申请和第二新口令;所述移动终端利用所述重置口令申请和所述第二新口令生成报文,并发送至所述钱包服务发行方;所述钱包服务发行方验证所述报文是否合法;若是,所述钱包服务发行方对所述第二新口令加密形成密文口令并发送至所述移动终端;所述移动终端将所述密文口令发送至所述钱包服务;在所述钱包服务验证通过并安全存储所述密文口令后,所述移动终端显示口令重置成功信息。

下面对本申请实施例提供的一种基于区块链的数字身份验证的系统进行介绍,下文描述的基于区块链的数字身份验证的系统与上文描述的基于区块链的数字身份验证的方法可相互对应参照。参见图8,图8为本申请实施例所提供的一种基于区块链的数字身份验证的系统的示意图。该系统可以包括:

移动终端10,用于接收到应用方证书生成指令时,获取第一随机数,使得应用服务器利用所述第一随机数生成应用方证书;获取所述应用方证书和安全因子,根据应用方根证书中的公钥验证所述应用方证书是否有效;若是,则利用所述安全因子生成钱包证书;接收到输入的口令后,获取第二随机数,根据所述第二随机数和所述口令计算出摘要值,并验证所述摘要值是否正确;若是,对交易信息和所述安全因子利用所述钱包服务中的私钥进行签名,使得所述应用服务器利用所述签名验证所述钱包证书是否合法且是否有效;

应用服务器20,用于根据移动终端获取的第一随机数生成应用方证书;将所述应用方证书和安全因子发送到所述移动终端;在所述移动终端对交易信息和所述安全因子利用所述钱包服务中的私钥进行签名后,验证所述钱包证书是否合法且是否有效。

基于上述系统,作为优选的实施例,所述系统还可以包括:

钱包服务发行方,用于接收移动终端发来的钱包服务个人化申请和证书更新申请;向认证中心请求发行方根证书,生成应用方根证书。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

以上对本申请所提供的一种基于区块链的数字身份验证的方法、装置和系统进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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