一种密钥链生成、验证方法及其装置与流程

文档序号:16210354发布日期:2018-12-08 07:39阅读:387来源:国知局
一种密钥链生成、验证方法及其装置与流程

本发明涉及数据认证技术领域,尤其涉及一种密钥链生成、验证方法及其装置。



背景技术:

现代生活中,用密钥访问的应用系统非常多,用户常常需要保存各种类型各种地址的密钥,密钥很容易遗忘,遗忘后还需要各种方式找回,成本较高;若遇到用户的移动设备丢失,则保存在移动设备上的密钥则有很大的安全隐患,用户体验差。

因此,为解决上述密钥保存的种种问题,在保证用户密钥安全的前提下,目前亟需一种密钥存储的方法,以提高用户保存密钥的便捷度和安全度。



技术实现要素:

本发明提供一种密钥链生成方法、应用系统验证方法及装置,用以提高密钥存储和密钥使用的效率。

本发明实施例提供一种密钥链生成方法,包括:

节点服务器获取用户的密钥存储请求,所述密钥存储请求中包含用户身份信息、密钥信息、应用系统地址信息和生物验证信息;所述密钥信息用于所述用户登录所述应用系统地址信息对应的应用系统;

所述节点服务器将生物验证信息加入噪声后得到生物加密信息;所述生物加密信息用于在获取所述密钥信息之前,验证用户输入的生物验证信息;

所述节点服务器根据共识算法,将所述密钥信息和所述生物加密信息构造为密钥链中的新区块,并记录所述新区块的地址、所述用户身份信息及所述应用系统地址信息之间的地址映射关系;所述密钥链用于存储用户的密钥信息。

一种可能的实现方式,所述将所述密钥信息和所述生物加密信息构造为密钥链中的新区块之前,还包括:

所述节点服务器使用第一密钥加密所述密钥信息,得到第一加密信息;

所述节点服务器使用所述生物加密信息加密所述第一加密信息,得到第二加密信息;

所述将所述密钥信息和所述生物加密信息构造为密钥链中的新区块,包括:

将所述第一密钥的哈希值、所述第二加密信息和所述生物加密信息构造为密钥链中的新区块。

本发明实施例提供一种密钥链验证方法,包括:

所述节点服务器获取用户的访问请求;所述访问请求包括用户身份信息、应用系统地址信息和生物验证信息;

所述节点服务器根据地址映射关系,确定所述用户身份信息和所述应用系统地址信息在密钥链中对应的区块;

所述节点服务器对所述区块中的生物加密信息和所述生物验证信息进行验证;若验证成功,则将所述密钥信息发送至所述用户。

一种可能的实现方式,所述访问请求中还包括第二密钥;

所述节点服务器对所述区块中的生物加密信息和所述生物验证信息进行验证;若验证成功,则将所述密钥信息发送至所述用户,包括:

所述节点服务器验证所述区块中的生物加密信息和所述生物验证信息匹配,且所述第二密钥的哈希值与所述区块中的第一密钥的哈希值匹配;

所述节点服务器使用所述生物加密信息解密所述第二加密信息,得到所述第一加密信息;

所述节点服务器使用所述第一密钥解密所述第一加密信息,得到所述密钥信息并发送至所述用户。

本发明实施例提供一种密钥链生成装置,包括:

收发单元,用于获取用户的密钥存储请求,所述密钥存储请求中包含用户身份信息、密钥信息、应用系统地址信息和生物验证信息;所述密钥信息用于所述用户登录所述应用系统地址信息对应的应用系统;

处理单元,用于将生物验证信息加入噪声后得到生物加密信息;所述生物加密信息用于在获取所述密钥信息之前,验证用户输入的生物验证信息;根据共识算法,将所述密钥信息和所述生物加密信息构造为密钥链中的新区块,并记录所述新区块的地址、所述用户身份信息及所述应用系统地址信息之间的地址映射关系;所述密钥链用于存储用户的密钥信息。

一种可能的实现方式,所述处理单元,还用于:

使用第一密钥加密所述密钥信息,得到第一加密信息;使用所述生物加密信息加密所述第一加密信息,得到第二加密信息;将所述第一密钥的哈希值、所述第二加密信息和所述生物加密信息构造为密钥链中的新区块。

本发明实施例提供一种密钥链验证装置,包括:

收发单元,用于获取用户的访问请求;所述访问请求包括用户身份信息、应用系统地址信息和生物验证信息;

处理单元,用于根据地址映射关系,确定所述用户身份信息和所述应用系统地址信息在密钥链中对应的区块;对所述区块中的生物加密信息和所述生物验证信息进行验证;若验证成功,则将所述密钥信息发送至所述用户。

一种可能的实现方式,所述访问请求中还包括第二密钥;

所述处理单元,具体用于验证所述区块中的生物加密信息和所述生物验证信息匹配,且所述第二密钥的哈希值与所述区块中的第一密钥的哈希值匹配;使用所述生物加密信息解密所述第二加密信息,得到所述第一加密信息;使用所述第一密钥解密所述第一加密信息,得到所述密钥信息并发送至所述用户。

本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述实施例中任一项所述的方法。

本发明实施例提供一种计算设备,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述实施例中任一项所述的方法。

综上所述,本发明实施例提供一种密钥链生成方法、验证方法及装置,通过区块链按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本,解决了用户在密钥保存中的各种不便和安全性的问题。进一步的,通过生物加密信息,确保了用户的密钥信息不能被其他节点的用户获取,必须通过用户输入的生物验证信息对生物加密信息进行验证,才能获取所述用户的密钥信息;有效的提高了用户在密钥保存中的安全性的问题另外用户不需要记住各种不同的数字密码等方式,仅需要输入生物信息,即可完整验证,有效的提高了用户在密钥保存中的便捷度。

附图说明

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

图1为本发明实施例提供的一种平台架构示意图;

图2为本发明实施例提供的一种密钥链生成方法流程示意图;

图3为本发明实施例提供的一种密钥链验证方法的流程示意图;

图4为本发明实施例提供的一种密钥链生成方法的流程示意图;

图5为本发明实施例提供的一种密钥链验证方法的流程示意图;

图6为本发明实施例提供的一种密钥链生成装置的结构示意图;

图7为本发明实施例提供的一种密钥链验证装置的结构示意图。

具体实施方式

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

本发明实施例提供一种区块链系统,包括M个节点,M大于等于3。其中,M个节点通过对等网络(Peer to Peer,P2P)动态组网,形成一个“去中心化”的系统。图1为本发明实施例提供的一种可行的区块链系统架构示意图,如图1所示,区块链系统中包括节点0、节点1、节点2、节点3和节点4,这五个节点之间互为对等节点,通过P2P动态组网构成一个去中心化的系统。图1中的直线表示各节点之间的数据传输关系,以节点2为例,其广播消息可由节点1和节点3接收。

区块链基础架构分为6层,包括:数据层、网络层、共识层、激励层、合约层、应用层,每层分别完成一项核心功能,各层之间互相配合,实现一个去中心化的信任机制。数据层主要描述区块链技术的物理形式,区块链技术的物理实现是一个由规格相同的区块通过链式结构组成的链条。网络层的主要目的是实现区块链网络中节点之间的信息交流,区块链网络本质上是一个对等网络(Peer-to-peer networking,简称P2P网络),每一个节点既接收信息,也产生信息。共识层负责提供一种机制,能让高度分散的节点在去中心化的系统中高效的针对区块数据的有效性达成共识。常见的共识机制包括:工作量证明(Proof of Work,简称POW),权益证明(Proof of Stake,简称POS)股份授权证明机制(Delegate Proof of Stake,简称DPOS)。激励层目的是提供一定的激励措施鼓励节点参与区块链的安全验证工作。合约层封装区块链系统的各类脚本代码、算法以及由此生成的更为复杂的智能合约。应用层主要是面向用户的可编程应用。区块是组成区块链的基本单位,区块中包含具体应用需要记载的信息。例如比特币区块链中区块存储了交易信息。

记账节点是执行记录交易数据的主体,记账节点工作过程是先收集所有尚未确认的交易数据,并将其归集到一个数据块中,记账节点会将数据逐条广播给其他节点进行验证,验证后会将交易数据放到内置的批处理队列内,当批处理空间达到饱和或达到超时时间,记账节点就会将这些交易数据写入到预处理的块空间中去,同时,记账节点也在计算特定格式的哈希值,记账节点计算特定格式的哈希值的过程即为记账,记账节点计算出特定格式的哈希值后即称为记账成功,记账成功后,记账节点将这段时间内已验证的交易数据打包成一个区块广播给其他节点进行同步。

综上所述,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。因此,为解决用户在密钥保存中的各种不便和安全性的问题,基于上述区块链系统架构,本发明实施例提供一种密钥链生成方法,用于存储用户的密钥信息,如图2所示。图2为本发明实施例提供的一种密钥链生成方法流程示意图,其针对区块链系统的M个节点中的任一节点,包括以下步骤:

步骤201:节点服务器获取用户的密钥存储请求;

其中,所述密钥存储请求中包含用户身份信息、密钥信息、应用系统地址信息和生物验证信息;所述密钥信息用于所述用户登录所述应用系统地址信息对应的应用系统;

用户身份信息可以但不限于为姓名、手机号、邮箱和身份证号码和用户的声音数据等;密钥信息可以为用户登录应用系统时所需要的密钥,具体的,可以为数字密码,用户的私钥,生物信息等验证信息。

应用系统地址信息中可以为所述应用程序的服务器对所述应用程序的域名信息进行加密处理得到的;具体实施时,每个应用程序都具有URL地址,该地址中包括域名信息,因此针对任一应用程序,由该应用程序的服务器可以基于该应用程序的URL地址,对该应用程序的域名信息及预设的随机数进行加密处理获得该应用系统地址信息。应用系统地址信息也可以为待注册用户所使用的终端的硬件信息可以但不限于为终端硬盘序列号和MAC地址等。

一种可能的实现方式,为了保证用户的用户信息的安全性,用户在节点服务器获取用户的密钥信息存储请求之后,可以先向对应的应用系统验证该密钥信息的合法性,待验证通过后再执行步骤202,故节点服务器会将应用系统的身份信息和密钥信息携带在验证请求中发送给节点服务器。节点服务器根据所述应用系统的标识信息和身份信息、密钥信息对所述用户的密钥进行验证。

步骤202:所述节点服务器将生物验证信息加入噪声后得到生物加密信息;

其中,所述生物加密信息用于在获取所述密钥信息之前,验证用户输入的生物验证信息;

具体的,由于用户的生物加密信息为生物验证信息通过加入噪声后获得的,例如,生物验证信息为用户真实的生物信息,噪声为随机生成的不可重复使用的,且与生物信息不同的噪声;生物加密信息中加入噪声的比例可以根据实际需要设置,在此不做限定。

用户为获取用户存储在区块链中的密钥时,验证用户身份时,需要用户再次输入生物信息,作为生物待验证信息;通过生物待验证信息,与区块链存储的生物加密信息进行比对时,若输入的生物待验证信息与所述生物加密信息的匹配率为除去噪声的比例,则认为匹配成功;例如,加入噪声的比例为50%,则匹配率为50%时,可以认为匹配成功,若匹配率超过了除去噪声的比例,例如,为60%,很可能的原因是,输入的生物待验证信息的用户并不是真实用户,则认为匹配失败,进而避免了区块链中的其他用户在接收到所述生物验证信息后,可以解密所述密钥加密信息。为进一步加强密钥的安全性,可以设置输入生物待验证信息的次数,超过预设次数,则阻止用户进行验证。

通过生物加密信息,确保了用户的密钥信息不能被其他节点的用户获取,必须通过用户输入的生物验证信息对生物加密信息进行验证,才能获取所述用户的密钥信息;有效的提高了用户在密钥保存中的安全性的问题另外用户不需要记住各种不同的数字密码等方式,仅需要输入生物信息,即可完整验证,有效的提高了用户在密钥保存中的便捷度。

进一步,为提高用户密钥的安全性,还包括:

节点服务器使用第一密钥加密所述密钥信息,得到第一加密信息;节点服务器使用所述生物加密信息加密所述第一加密信息,得到第二加密信息;

将所述第一密钥的哈希值、所述第二加密信息和所述生物加密信息构造为密钥链中的新区块。

具体的,所述密钥存储请求中携带有用户的第一加密信息,所述第一加密信息为根据所述密钥信息进行转换和加密处理得到的。具体地,节点服务器在根据区块链网络返回的验证结果确定出对密钥验证通过后,则根据密钥信息进行转换和加密处理。具体地,先从所述应用系统的身份信息中解析出所述应用系统的域名信息,然后可以利用前沿密码学技术将用户的密钥信息进行转换和加密处理,得到一串代表用户身份的字符串,该字符串即为所述用户的第一加密信息。所述第一加密信息可以但不限于为48字节的随机码。

在获得用户的第一加密信息的过程中,还会得到加密的公钥和私钥,此处第一密钥为用户的私钥。作为一种示例,所述加密的密码算法可以为商密第九号(SM9)算法。即用户的第一加密信息可以通过SM9算法来生成。例如,客户端将用户的身份标识信息作为用户的公钥,以及,还根据该公钥和随机数得到用户的私钥,此随机数例如由随机数发生器产生。当然密码算法还可能包括其他的算法,本申请实施例不作限制。

由于针对不同的应用系统所需的登录信息不同,故针对不同的应用系统需要用户提供的身份信息、密钥信息也有所不同。例如,用户需要登录微博应用系统,根据微博应用系统的域名信息和微博应用系统需要用户提供的身份信息和密钥信息,生成微博加密私钥,然后再生成微博加密公钥,最后基于哈希算法得到微博加密信息。同理,对于互联网游应用程序,可以基于互联网游需要用户提供的身份信息、密钥信息和互联网游的域名信息,得到互联网游、私钥、公钥和加密信息。

通过对密钥信息的进一步加密,有效的提高了密钥信息的安全性。

步骤203:所述节点服务器根据共识算法,将所述密钥信息和所述生物加密信息构造为密钥链中的新区块,并记录所述新区块的地址、所述用户身份信息及所述应用系统地址信息之间的地址映射关系。

其中,所述密钥链用于存储用户的密钥信息。针对每个节点服务器在生成新区块的过程中,一个第一密钥信息对应一个唯一的哈希值。对于各对等节点具有各自待写入数据集合的情况,可选的,在节点的待写入数据集合中第一密钥信息的哈希值的数量达到预设数量或距离上一次构造新区块的时间间隔达到预设时间时,开始构造新区块。区块链系统中的每一个对等节点都构造新区块,构造的新区块中包括数据集合和区块头,其中,数据集合中可以包括至少一个用户的至少一个第一密钥信息,以及所述第一密钥信息对应的用户身份信息和所述应用系统地址信息之间的地址映射关系;区块头中包括前一区块的区块头哈希值,其中,前一区块为该节点的本地区块链的最长链中最新加入的区块,新区块中包含前一区块的区块头哈希值保证了区块链的链式结构。

在区块链系统中,M个节点各自拥有本地区块链,区块链中每个区块通过哈希指针(前一区块的区块头哈希值)串在一起,形成链式结构。理论上讲,区块链系统中M个节点应具有相同的本地区块链,但实际的区块链系统中,由于各节点之间接收新区块广播的时间并不一致,不同节点的算力也有所不同,使得本地区块链中可能会存在多个区块对应同一个前一区块的情况,在节点构造新区块时,根据“最长链规则”选取最长链中最新加入的区块作为新区块的前一区块。新区块中还包含时间戳,时间戳为生成该新区块的节点的当前系统时间,可以为待数据添加时间存证的功能。可选的,新区块的区块头中还包括所述至少一个用户的至少一个第一密钥信息的根哈希值。根哈希值可用于在数据验证时,验证区块的数据集合是否有被篡改。另外,区块头还包括随机数,随机数被用于共识算法中对共识区块的确定,以PoW为例,M个节点中的每一个节点在构建好数据集合以及区块头中的其它部分后,开始尝试多个随机数,随机数的改变将直接导致新区块的区块头哈希值的变化,当任一区块的区块头哈希值率先满足“难度值”(如区块头哈希值前n个比特位为0)时,该节点将其构建的新区块将作为共识区块广播至区块链系统中的其它节点。其它节点在接收到共识区块广播后,停止构建新区块,并将共识区块加入本地区块链。第一加密信息的哈希值的根哈希值是通过默克尔merkle树算法获得的。区块链中的M个节点都在进行新区块的构建,由于每个节点对N个第一密钥信息的选取以及排序都可能不同,因此所获得的根哈希值也有可能不同,为了保证系统中区块链的一致,需通过共识算法从M个节点所产生的新区块中确定一个新区块作为共识区块并由产生该共识区块的节点将该共识区块广播至其它M-1个节点。

进一步的,为提高节点服务器在传输第一密钥信息时的安全性,还可以针对所述第一密钥信息再次加密,所述加密密钥可以是发送方通过线下或其它通信途径得到的,宗旨上应保证所述密钥不可被第三方知晓。所述加密密钥可以是区块链中的发送方与传输目标事先约定的专用密钥,加密和解密都采用所述加密密钥进行,也可以是发送方与传输目标约定的密钥对中的加密密钥,也可以是消息接收方公钥地址,其中,公钥地址在区块链系统中相当于系统节点地址,是区块链系统中用户的身份标识,系统节点通过区块链软件(如比特币网络系统中的比特币软件)生成公钥地址和与该公钥地址对应的私钥,该公私钥对在区块链系统中一般被用于身份验证、数字签名等用途。

当然,为保证传输的安全性,也可以对所述密钥存储请求中的所有内容进行加密,具体过程参考上述加密过程,在此不再赘述。

为进一步提高安全性,每一次传输第一密钥信息时,都对当前的加密密钥进行更新,采用更新后的加密密钥对待传输信息进行加密,具体包括:获取传输目标的当前的加密密钥;根据预设规则更新当前的加密密钥,获得更新后的加密密钥;使用更新后的加密密钥对待传输信息进行加密。举例说明,当前的加密密钥为A,预设规则为“在当前加密密钥的基础上加2”,则更新后的加密密钥为A+2,进行过一次交易信息传输后,当再次传输时,当前的加密密钥为A+2,根据预设规则对其更新,获得更新后的加密密钥为A+4。

每一次构建的密钥信息都可以采用新的加密密钥进行加密,降低了加密密钥被攻击者获取而使得密钥信息被破解的风险,从而提高了通信的匿名性。而且,根据预设规则更新,使得发送方和传输目标只需进行一次加密密钥传递,后续根据预设规则对当前的加密密钥进行更新即可,从而降低了加密密钥传递过程中被第三方获取的风险,进一步提高了通信的匿名性。

通过上述实施例所提供的方法,能够实现对用户密钥的存储,并保证了用户密钥的安全性,保证密钥永不丢失,用户不再需要记忆各种密码,并且不需要担心身份信息及密钥是否安全性。本发明实施例还提供一种区块链生成方法和密码提取方法,可以在实现密钥存储的同时,增加对密钥的安全性。

如图3所示,本发明提供一种应用系统验证方法,包括:

步骤301:节点服务器获取用户的访问请求;所述访问请求包括用户身份信息、应用系统地址信息和生物验证信息;

一种可能的实现方式,所述生物验证信息也可以为用户再次输入的加噪声的生物信息,此次加入的噪声与区块链中保存的生物加密信息中的噪声不同,用于加强访问的安全性;具体的解密过程与不加噪声的生物验证信息相同,在此不再赘述。

步骤302:节点服务器根据地址映射关系,确定所述用户身份信息和所述应用系统地址信息在密钥链中对应的区块;

步骤303:节点服务器对所述区块中的生物加密信息和所述生物验证信息进行验证;若验证成功,则将所述密钥信息发送至所述用户。

具体实施时,区块链可以根据存储的区块的地址与用户身份信息及应用系统地址的对应关系,查找到用户针对所述应用系统地址的第一密钥信息;当然,区块链还可以针对各个用户,维护一张关联列表,该关联列表中存储有用户的标识信息和基于不同应用系统的密钥信息。

一种可能的实现方式,当用户遗忘其密钥信息后,还可以向区块链网络发送挂失请求,区块链网络基于智能合约及DHKA(Diffie-Hellman Key Exchange/Agreement Algorithm,Diffie-Hellman密钥交换协议/算法)算法可以完成用户的挂失处理,从而减少了应用程序的服务器的处理负担。为了方便用户及时找到密钥信息,甚至,用户遗忘所述密钥信息时,用户可以通过输入生物验证信息,获得区块链上存储的密钥信息,进而保证可以快速方便的找回密码。只有在生物验证信息验证通过时,才能获得用户的密钥信息,因此,不会出现现有技术中账户/密码容易泄露的问题,由此保证了用户密钥信息的安全性。

进一步的,为加强密钥的安全性,所述访问请求中还可以包括第二密钥;

所述节点服务器对所述区块中的生物加密信息和所述生物验证信息进行验证;若验证成功,则将所述密钥信息发送至所述用户,包括:

所述节点服务器验证所述区块中的生物加密信息和所述生物验证信息匹配,且所述第二密钥的哈希值与所述区块中的第一密钥的哈希值匹配;

所述节点服务器使用所述生物加密信息解密所述第二加密信息,得到所述第一加密信息;

所述节点服务器使用所述第一密钥解密所述第一加密信息,得到所述密钥信息并发送至所述用户。

通过对密钥信息进行进一步的加密,并且用户并不需要保存第二密钥,第二密钥是通过哈希值的方式存储在区块链中,因此,用户仅需要通过生物信息,即可获得密钥信息,并且由于hash值很难反向运算,进而其安全性非常高,有效的保证了用户密钥的安全性。

如图4所示,本发明实施例提供一种密钥链的生成方法,包括:

步骤401:用户向节点服务器发送密钥存储请求;所述密钥存储请求包含用户身份信息、密钥信息、第一密钥、应用系统地址信息和生物验证信息;

步骤402:所述节点服务器接收所述用户的密钥存储请求,并将所述密钥存储请求广播至区块链的其他节点服务器;

步骤403:所述节点服务器根据第一密钥将用户密钥信息加密为第二密钥信息;

其中,所述第一密钥可以为用户预先设置的密码,加密方式可以为对称加密,也可以为非对称加密,在此不做限定;所述密码可以为数字密码,U盾,手机验证码等方式,在此不做限定。

步骤404:所述节点服务器将所述第二密钥信息和第一密钥通过用户的生物加密信息加密为第一加密信息;

其中,所述生物加密信息为在加密第二密钥信息和第一密钥之前,用户设备获取的用户的生物信息加入噪声后生成的。所述用户的生物信息可以为用户的指纹信息、瞳孔信息、声纹等一项或多项经过加入噪声后的,也可以为不加噪声的。当然,加密方式可以为通过一项或多项生物信息进行加密,也可以为逐项加密,在此不做限定。所述生物信息的解密过程需要用户输入生物验证信息,通过生物验证信息与生物加密信息进行比对,验证成功后,才能利用生物加密信息进行解密所述第二加密信息和第一密钥。

步骤405:所述节点服务器根据共识算法,将所述第一加密信息和所述生物加密信息构造为密钥链中的新区块,并记录所述新区块的地址、所述用户身份信息及所述应用系统地址信息之间的地址映射关系。

另外一种可能的实现方式,在步骤404中,节点服务器可以将第一密钥通过生物加密密钥加密为第三加密信息;在步骤405中,将所述第三加密信息和所述生物加密信息构造为密钥链中的新区块;

对应的在验证过程中,用户向节点服务器发送所述生物验证信息;根据用户身份信息和应用系统地址,查找到所述密钥信息存储的区块;确定是否需要验证,若需要验证,确定需要验证的类型,并根据验证类型,向用发送验证响应;所述验证响应用于获取用户的验证信息;所述验证信息可以为生物验证信息,还可以为根据验证方式确定的其他需要用户输入的验证信息;

根据所述生物验证信息对所述生物加密信息进行验证,若验证成功,则根据所述生物加密信息解密第三加密信息,进而获得第一密钥;根据获得的第一密钥解密第二密钥信息,进而获得所述密钥信息。

进一步的,为提高密钥的安全性,在步骤404中,所述生物验证信息可以通过单向加密的方式加密为第四加密信息;所述单向加密的方式可以为SHA256等通用加密算法;在步骤405中,将所述第三加密信息和所述第四加密信息构造为密钥链中的新区块;

用户需要先输入第四加密信息验证所述区块中是否存在第四加密信息(hash值),若确定存在,则根据生物加密信息解密出第一密钥;再通过第一密钥解密第二加密信息;进而获得用户的密钥信息。

当然,所述生物验证信息也可以通过数字签名的方式进行加密验证;验证过程与单向加密的方式类似,在此不再赘述。

如图5所示,本发明实施例提供一种密钥链验证方法,包括:

步骤501:用户向节点服务器发送访问请求;所述访问请求中包括用户的身份标识及应用系统地址,第一密钥的hash值;

步骤502:节点服务器根据所述用户发送的身份标识及应用系统地址,查找到对应的区块;并在区块中查找是否存在于所述第一密钥的hash值匹配的预存的第一密钥的hash;若是,则执行步骤503;若否,则拒绝所述用户的访问请求;

步骤503:节点服务器根据预先存储的第一密钥解密区块中存储的加密信息,获得下一级加密信息;

步骤504:根据获得的下一级加密信息,确定是否可以获得所述用户的密钥信息,若否,则只执行步骤505;若是,则执行步骤508;

步骤505:根据所述下一级加密信息,确定所述下一级加密信息的验证方式,并将所述验证方式,生成验证响应发送至用户;

步骤506:用户根据所述验证响应,输入验证需要的验证信息;所述验证信息可以为生物验证信息,也可以为手机验证码验证,也可以为U盾验证,在此不做限定。

步骤507:节点服务器根据接收到的所述验证信息,对所述下一级加密信息进行验证,若验证成功,则返回至步骤503;若否,则拒绝所述访问请求;

其中,若所述验证信息为生物验证信息,则将所述生物验证信息加入噪声,生成生物加密信息;

步骤508:所述节点服务器向用户返回密钥信息;

当然,一种可能的场景为用户直接通过区块链登录应用系统,通过验证成功后获得的密钥信息,所述节点服务器将用户的身份信息及所述密钥信息发送至对应的应用系统,用于直接登录所述应用系统。用户不需要再次通过密钥信息手动输入,提高了用户的使用体验。

基于相同的技术构思,本发明实施例还提供一种区块链节点,该节点能够实现上述任一项所述的区块链生成方法。图6为本发明实施例提供的一种密钥链生成装置的结构示意图,如图6所示,所述装置包括:收发单元601和处理单元602,其中:

收发单元601,用于获取用户的密钥存储请求,所述密钥存储请求中包含用户身份信息、密钥信息、应用系统地址信息和生物验证信息;所述密钥信息用于所述用户登录所述应用系统地址信息对应的应用系统;

处理单元602,用于将生物验证信息加入噪声后得到生物加密信息;所述生物加密信息用于在获取所述密钥信息之前,验证用户输入的生物验证信息;根据共识算法,将所述密钥信息和所述生物加密信息构造为密钥链中的新区块,并记录所述新区块的地址、所述用户身份信息及所述应用系统地址信息之间的地址映射关系;所述密钥链用于存储用户的密钥信息。

一种可能的实现方式,处理单元602,还用于:

使用第一密钥加密所述密钥信息,得到第一加密信息;使用所述生物加密信息加密所述第一加密信息,得到第二加密信息;将所述第一密钥的哈希值、所述第二加密信息和所述生物加密信息构造为密钥链中的新区块。

如图7所示,本发明实施例提供一种密钥链验证装置,包括:

收发单元701,用于获取用户的访问请求;所述访问请求包括用户身份信息、应用系统地址信息和生物验证信息;

处理单元702,用于根据地址映射关系,确定所述用户身份信息和所述应用系统地址信息在密钥链中对应的区块;对所述区块中的生物加密信息和所述生物验证信息进行验证;若验证成功,则将所述密钥信息发送至所述用户。

一种可能的实现方式,所述访问请求中还包括第二密钥;

处理单元702,具体用于验证所述区块中的生物加密信息和所述生物验证信息匹配,且所述第二密钥的哈希值与所述区块中的第一密钥的哈希值匹配;使用所述生物加密信息解密所述第二加密信息,得到所述第一加密信息;使用所述第一密钥解密所述第一加密信息,得到所述密钥信息并发送至所述用户。

基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,用于存储为上述计算设备所用的计算机程序指令,其包含用于执行上述任一项所述的密钥链生成方法的程序。

所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。

基于相同的技术构思,本发明实施例还提供一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入设备、输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。

存储器可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于存储本发明实施例所提供的数据验证方法的程序,处理器通过调用存储器存储的程序指令,按照获得的程序指令执行上述任一项所述的数据验证方法。

基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,用于存储为上述计算设备所用的计算机程序指令,其包含用于执行上述任一项所述的数据验证方法的程序。

所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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