一种区块链私钥生成方法以及设备与流程

文档序号:19483699发布日期:2019-12-21 03:36阅读:239来源:国知局
一种区块链私钥生成方法以及设备与流程

本申请涉及电子技术领域,尤其涉及一种区块链私钥生成方法以及设备。



背景技术:

随着‘互联网+’行动的推进,不仅加快了电子商务业应用的发展步伐,而且使网络购物、网络消费等电子商务活动成为主流生活方式,使人们足不出户便知天下事成为现实。人们在享用‘互联网+’便利的同时,其中的安全成为关注的焦点问题。尤其是网络上的黑客冒充合法用户接受或发送数据、信息发送方抵赖发送过数据和信息接收方伪造篡改数据等行为时有发生。

区块链技术是解决上述问题的有效方法,通过区块链技术,可以把保证用户之间接受或发送数据的安全性,防止伪造篡改数据,但是目前用户在区块链系统中的私钥都是随机生成的字符串,同时私钥需要借助助记词等手段进行保存,依然存在信息泄露的风险,也无法保证用户数据的安全性和隐私性不受威胁。



技术实现要素:

本申请实施例提供一种区块链私钥生成方法以及设备,可以降低信息泄露的风险,提高数据的安全性。

本申请实施例一方面提供了一种区块链私钥生成方法,可包括:

获取第一用户的指纹信息;

根据所述指纹信息生成指纹特征数据;

采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥;

根据所述第一用户的私钥生成第一用户的公钥,将所述第一用户的公钥在区块链网络上进行发布;所述区块链网络包括区块链节点;

采用所述私钥对待上链业务数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,以使所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证。

其中,所述根据所述指纹信息生成指纹特征数据,包括:

确定所述指纹信息的方向角和参考点;

根据所述指纹信息的参考点确定指纹特征的提取区域,采用所述方向角,在所述特征提取区域获取指纹特征数据。

其中,所述根据所述指纹信息的参考点确定指纹特征的提取区域,采用所述方向角,在所述特征提取区域获取指纹特征数据,包括:

以参考点为中心,将目标尺寸的圆形区域确定为指纹特征的提取区域;

对指纹特征的提取区域进行滤波处理,采用灰度级的方差特征获取所述提取区域的指纹特征数据。

其中,所述采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥,包括:

对所述指纹特征数据进行信息填充生成预处理信息,采用所述哈希算法对应的逻辑函数对预处理信息进行处理,得到哈希值;

将所述哈希值作为所述第一用户的私钥。

其中,所述根据所述第一用户的私钥生成第一用户的公钥,将所述第一用户的公钥在区块链网络上进行发布,包括:

采用非对称加密算法将所述第一用户的私钥进行加密处理生成第一用户的公钥;

将所述第一用户的公钥发送到区块链网络中的所述区块链节点,以使所述区块链节点采用智能合约同步存储所述第一用户的公钥。

其中,所述采用所述私钥对待上链业务数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,以使所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证,包括:

采用哈希算法从待上链业务数据中获取具有目标长度的第一哈希值;

根据所述第一用户的私钥对所述待上链业务数据进行加密,生成所述待上链业务数据对应的签名信息,将所述待上链业务数据和所述签名信息发送至至所述区块链节点,以使所述区块链节点采用第一用户的公钥对所述签名数据进行解密生成第二哈希值,根据所述第一哈希值和第二哈希值对所述目标数据进行签名验证。

其中,其特征在于,

每个目标手指分别对应一个指纹信息,每个指纹信息对应一个指纹特征数据;

所述采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥,包括:

采用哈希算法,将所述至少一个指纹特征数据中每个指纹特征数据转换为中间哈希值,根据每个目标手指分别对应的目标权重,将所述至少一个中间哈希值融合生成哈希值,将所述哈希值作为所述第一用户的私钥。

本申请实施例一方面提供了一种区块链私钥生成设备,可包括:

指纹信息获取单元,用于获取第一用户的指纹信息;

特征数据生成单元,用于根据所述指纹信息生成指纹特征数据;

哈希转换单元,用于采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥;

公钥发布单元,用于根据所述第一用户的私钥生成第一用户的公钥,将所述第一用户的公钥在区块链网络上进行发布;所述区块链网络包括区块链节点;

签名验证单元,用于采用所述私钥对待上链业务数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,以使所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证。

其中,所述特征数据生成单元包括:

参数确定子单元,用于确定所述指纹信息的方向角和参考点;

特征数据生成子单元,用于根据所述指纹信息的参考点确定指纹特征的提取区域,采用所述方向角,在所述特征提取区域获取指纹特征数据。

其中,所述特征数据生成子单元具体用于:

以参考点为中心,将目标尺寸的圆形区域确定为指纹特征的提取区域;

对指纹特征的提取区域进行滤波处理,采用灰度级的方差特征获取所述提取区域的指纹特征数据。

其中,所述哈希转换单元具体用于:

对所述指纹特征数据进行信息填充生成预处理信息,采用所述哈希算法对应的逻辑函数对预处理信息进行处理,得到哈希值;

将所述哈希值作为所述第一用户的私钥。

其中,所述公钥发布单元具体用于:

采用非对称加密算法将所述第一用户的私钥进行加密处理生成第一用户的公钥;

将所述第一用户的公钥发送到区块链网络中的所述区块链节点,以使所述区块链节点采用智能合约同步存储所述第一用户的公钥。

其中,所述签名验证单元具体用于:

采用哈希算法从待上链业务数据中获取具有目标长度的第一哈希值;

根据所述第一用户的私钥对所述待上链业务数据进行加密,生成所述待上链业务数据对应的签名信息,将所述待上链业务数据和所述签名信息发送至至所述区块链节点,以使所述区块链节点采用第一用户的公钥对所述签名数据进行解密生成第二哈希值,根据所述第一哈希值和第二哈希值对所述目标数据进行签名验证。

其中,每个目标手指分别对应一个指纹信息,每个指纹信息对应一个指纹特征数据;

所述哈希转换单元具体还用于:

采用哈希算法,将所述至少一个指纹特征数据中每个指纹特征数据转换为中间哈希值,根据每个目标手指分别对应的目标权重,将所述至少一个中间哈希值融合生成哈希值,将所述哈希值作为所述第一用户的私钥。

本申请实施例一方面提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。

本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述的方法步骤。

在本申请实施例中,通过获取第一用户的指纹信息;根据所述指纹信息生成指纹特征数据;采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥;根据所述第一用户的私钥生成第一用户的公钥,将所述第一用户的公钥在区块链网络上进行发布;所述区块链网络包括区块链节点;采用所述私钥对待上链业务数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,以使所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证。通过将用户的指纹信息生成用户的私钥,将用户的生物特征信息与私钥相关联,降低了信息泄露的风险,提高了用户数据的安全性。

附图说明

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

图1是本申请实施例提供的一种区块链私钥生成的系统架构图;

图2是本申请实施例提供的一种区块链私钥生成方法的流程示意图;

图3是本申请实施例提供的一种区块链私钥生成方法的流程示意图;

图4是本申请实施例提供的一种数据签名的场景示意图;

图5是本申请实施例提供的一种区块链私钥生成设备的结构示意图;

图6是本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

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

请参见图1,是本发明实施例提供的一种区块链私钥生成的系统架构图。区块链网络10h通过交换机10e和通信总线10d与用户终端集群建立连接,用户终端集群可包括:用户终端10a、用户终端10b、...、用户终端10c。区块链网络10h中包括区块链节点10f、...、区块链节点10g,区块链节点根据智能合约对用户发布的信息,进行同步并生成区块对信息进行存储。用户终端获取第一用户的指纹信息,根据所述指纹信息生成指纹特征数据,所述指纹信息可以包括多个目标手指的指纹信息,采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥,用户终端根据所述第一用户的私钥生成第一用户的公钥,将所述第一用户的公钥在区块链网络上进行发布,区块链网络对所述第一用户的公钥进行存储,所述区块链网络包括区块链节点,用户终端采用所述私钥对待上链业务数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证。

本申请实施例涉及的用户终端包括:平板电脑、智能手机、笔记本电脑、掌上电脑等终端设备。

本申请实施例中涉及到的区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。

区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。

平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。

请参见图2,为本申请实施例提供了一种区块链私钥生成方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤s101-步骤s105。

s101,获取第一用户的指纹信息;

具体的,区块链私钥生成设备获取第一用户的指纹信息,可以理解的是,所述区块链私钥生成设备具体可以是图1中的用户终端,所述指纹信息是用户手指的指纹,可以通过指纹采集器实时采集用户的指纹,或者从指纹集合中获取用户指定的目标指纹,所述指纹集合中用于存储指定用户的指纹或者通过账号管理多个用户的指纹,区块链私钥生成设备获取的指纹信息,可以包括第一用户的多个手指对应的多个指纹,将多个指纹作为第一用户的指纹信息,所述多个指纹信息中还包括多个指纹的排列顺序,例如,指纹信息中包括第一用户手指a的指纹a和手指b的指纹b,则两个指纹的排列顺序可以是a-b或者是b-a,指纹a-指纹b和指纹b-指纹a对应第一用户不同的指纹信息。

s102,根据所述指纹信息生成指纹特征数据;

具体的,区块链私钥生成设备根据所述指纹信息生成指纹特征数据,可以理解的是,所述指纹特征信息是从所述指纹信息中提取的特征数据,所述指纹特征数据通常从指纹图像中获取,下面对从指纹图像中获取指纹特征数据进行说明,首先采用一种梯度算子求取方向角,具体的,计算指纹图像中像素点的梯度值,根据像素点的梯度值确定指纹图像的方向角,其次,确定指纹图像的参考点,具体的,通过滤波器对指纹图像的梯度做卷积,将结果中最大值对应的像素点确定为指纹图像的参考点,一般情况下,指纹图像的参考点为指纹中的奇点,即指纹中的“螺纹中心”,以参考点为中心,将目标尺寸的圆形区域确定为指纹特征的提取区域,并对指纹特征的提取区域进行滤波处理,采用灰度级的方差特征获取所述提取区域的指纹特征数据,所述目标尺寸为预先设置或者根据图像的大小设置,提取区域可以设置为圆形区域或者矩形区域。

s103,采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥;

具体的,区块链私钥生成设备采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥,可以理解的是,所述哈希算法是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值,即将任意长度的消息压缩到某一固定长度的消息摘要函数,哈希算法是一种不可逆的算法,包括sha-1、sha-224、sha-256、sha-384和sha-512等,区块链私钥生成设备通过哈希算法,将所述指纹特征数据生成固定长度的哈希值,并将所述哈希值作为所述第一用户的私钥,不同用户的指纹信息是不同的,根据指纹信息生成的哈希值也是不同的,因此作为第一用户的私钥是唯一的。

s104,根据所述第一用户的私钥生成第一用户的公钥,将所述第一用户的公钥在区块链网络上进行发布;所述区块链网络包括区块链节点;

具体的,区块链私钥生成设备根据所述第一用户的私钥生成第一用户的公钥,将所述第一用户的公钥在区块链网络上进行发布;所述区块链网络包括区块链节点,可以理解的是,所述公钥是公钥通过非对称的加密算法生成的,所述加密算法包括:rsa加密算法、椭圆曲线加密算法等,公钥通过私钥推算出来,公钥无法推算出私钥,区块链私钥生成设备根据第一用户的私钥生成公钥后,将所述第一用户的公钥在区块链网络上进行发布,即将公钥信息在存储在区块链网络的区块链节点中,其他用户可以从区块链节点中获取第一用户的公钥对数据进行加密或者对第一用户的发送的加密信息进行验证。

s105,采用所述私钥对待上链业务数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,以使所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证。

具体的,区块链私钥生成设备采用所述私钥对待上链业务数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,以使所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证,可以理解的是,对签名信息进行验证,可以证明待上链业务数据确实是由第一用户发送方签名并发出来的,还可以确定消息的完整性,区块链私钥生成设备根据待上链业务数据生成摘要数据,具体可以通过hash函数生成摘要数据,采用第一用户的私钥对摘要数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证。

在本申请实施例中,通过获取第一用户的指纹信息;根据所述指纹信息生成指纹特征数据;采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥;根据所述第一用户的私钥生成第一用户的公钥,将所述第一用户的公钥在区块链网络上进行发布;所述区块链网络包括区块链节点;采用所述私钥对待上链业务数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,以使所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证。通过将用户的指纹信息生成用户的私钥,将用户的生物特征信息与私钥相关联,降低了信息泄露的风险,提高了用户数据的安全性。

请参见图3,为本申请实施例提供了一种区块链私钥生成方法的流程示意图。如图3所示,本申请实施例的所述方法可以包括以下步骤s201-步骤s206。

s201,获取第一用户的指纹信息;每个目标手指分别对应一个指纹信息,每个指纹信息对应一个指纹特征数据;

具体的,区块链私钥生成设备获取第一用户的指纹信息,每个目标手指分别对应一个指纹信息,每个指纹信息对应一个指纹特征数据,可以理解的是,所述指纹信息是用户手指的指纹,可以通过指纹采集器实时采集用户的指纹,或者从指纹集合中获取用户指定的目标指纹,所述指纹集合中用于存储指定用户的指纹或者通过账号管理多个用户的指纹,区块链私钥生成设备获取的指纹信息,可以包括第一用户的多个手指对应的多个指纹,将多个指纹作为第一用户的指纹信息,所述多个指纹信息中还包括多个指纹的排列顺序,例如,指纹信息中包括第一用户手指a的指纹a和手指b的指纹b,则两个指纹的排列顺序可以是a-b或者是b-a,指纹a-指纹b和指纹b-指纹a对应第一用户不同的指纹信息。

s202,确定所述指纹信息的方向角和参考点;

具体的,区块链私钥生成设备确定所述指纹信息的方向角和参考点,可以理解的是,所述方向角和参考点用于获取所述指纹信息中的特征数据,方向角获取采用一种梯度算子,具体的,计算指纹图像中像素点的梯度值,根据像素点的梯度值确定指纹图像的方向角,其次,参考点是通过滤波器和指纹图像中的梯度值获取,具体的,通过滤波器对指纹图像的梯度做卷积,将结果中最大值对应的像素点确定为指纹图像的参考点,一般情况下,指纹图像的参考点为指纹中的奇点,即指纹中的“螺纹中心”。

s203,根据所述指纹信息的参考点确定指纹特征的提取区域,采用所述方向角,在所述特征提取区域获取指纹特征数据。

具体的,区块链私钥生成设备根据所述指纹信息的参考点确定指纹特征的提取区域,采用所述方向角,在所述特征提取区域获取指纹特征数据,可以理解的是,所述指纹特征信息是从所述指纹信息中提取的特征数据,所述特征提取区域是以所述参考点为中心的特征提取范围,所述提取区域可以是圆形区域或者是矩形区域。

具体的指纹特征数据过程如下:

区块链私钥生成设备以参考点为中心,将目标尺寸的圆形区域确定为指纹特征的提取区域,并对指纹特征的提取区域进行滤波处理,采用灰度级的方差特征获取所述提取区域的指纹特征数据,所述目标尺寸为预先设置或者根据图像的大小设置,提取区域可以设置为圆形区域或者矩形区域。

s204,采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥;

具体的,区块链私钥生成设备采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥,可以理解的是,区块链私钥生成设备对所述指纹特征数据进行信息填充生成预处理信息,采用所述哈希算法对应的逻辑函数对预处理信息进行处理,得到哈希值;将所述哈希值作为所述第一用户的私钥。

具体的,根据所述哈希算法对应的分组长度信息,将所述指纹特征数据进行信息填充至所述分组长度信息对应的整数倍,生成预处理信息,对所述预处理信息采用所述分组长度信息进行分组,采用所述哈希算法对应的逻辑函数对分组后的预处理信息进行处理生成字符串,将每个分组后的预处理生成的字符串进行连接生成指纹特征数据对应的哈希值,并将所述哈希值作为所述第一用户的私钥,不同的哈希算法可以对应不同的分组长度信息,例如,sha-256的分组长度信息为512位。

需要说明的是,上述哈希值生成方法可以应用于将多个指纹信息生成一个哈希值的情况,具体的,针对对个多个指纹信息,将每个指纹信息生成对应的指纹特征数据,采用哈希算法,将所述至少一个指纹特征数据中每个指纹特征数据转换为中间哈希值,所述中间哈希值为至少一个指纹特征数据中其中一个指纹特征数据转换的哈希值,根据每个目标手指分别对应的目标权重,将所述至少一个中间哈希值融合生成哈希值,将所述哈希值作为所述第一用户的私钥。

s205,采用非对称加密算法将所述第一用户的私钥进行加密处理生成第一用户的公钥;将所述第一用户的公钥发送到区块链网络中的所述区块链节点,以使所述区块链节点采用智能合约同步存储所述第一用户的公钥。

具体的,区块链私钥生成设备采用非对称加密算法将所述第一用户的私钥进行加密处理生成第一用户的公钥;将所述第一用户的公钥发送到区块链网络中的所述区块链节点,以使所述区块链节点采用智能合约同步存储所述第一用户的公钥,可以理解的是,所述非对称算法可以是rsa加密算法、椭圆曲线加密算法等,区块链私钥生成设备采用非对称加密算法将所述第一用户的私钥进行加密处理生成第一用户的公钥,所述私钥生成公钥的过程是单向不可逆过程,无法通过公钥推算出用户的私钥,将所述第一用户的公钥发送到区块链网络中的所述区块链节点,所述区块链节点采用智能合约同步存储所述第一用户的公钥,并向全网广播,其他用户可以从区块链节点中获取第一用户的公钥对数据进行加密或者对第一用户的发送的加密信息进行验证。

s206,采用哈希算法从待上链业务数据中获取具有目标长度的第一哈希值;根据所述第一用户的私钥对所述待上链业务数据进行加密,生成所述待上链业务数据对应的签名信息,将所述待上链业务数据和所述签名信息发送至至所述区块链节点,以使所述区块链节点采用第一用户的公钥对所述签名数据进行解密生成第二哈希值,根据所述第一哈希值和第二哈希值对所述目标数据进行签名验证。

具体的,区块链私钥生成设备采用哈希算法从待上链业务数据中获取具有目标长度的第一哈希值;根据所述第一用户的私钥对所述待上链业务数据进行加密,生成所述待上链业务数据对应的签名信息,将所述待上链业务数据和所述签名信息发送至至所述区块链节点,以使所述区块链节点采用第一用户的公钥对所述签名数据进行解密生成第二哈希值,根据所述第一哈希值和第二哈希值对所述目标数据进行签名验证,可以理解的是,根据待上链业务数据生成具有目标长度的摘要数据,具体可以通过hash函数生成摘要数据,采用第一用户的私钥对摘要数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证,下面以第一用户向第二用户发送信息为例进行说明,请一并结合图4,为本申请实施例提供了一种数据签名的场景示意图。如图4所示,将提取第一用户的指纹信息,生成指纹特征数据,通过哈希算法将指纹特征数据转换为哈希值,并作为第一用户的私钥,并通过椭圆曲线加密算法将第一用户的私钥生成第一用户的公钥,第一用户将目标数据发送至第二用户,第一用户终端采用hash函数将目标数据生成具有目标长度的摘要数据,并采用第一用户的私钥对摘要数据进行签名,得到签名信息,将所述目标数据和所述签名信息发送至第二用户,第二用户采用第一用户的公钥对签名信息进行解密生成摘要数据,采用相同的hash函数将接受到的目标数据生成摘要数据,查看两个摘要数据是否相同。

在本申请实施例中,通过获取第一用户的指纹信息;根据所述指纹信息生成指纹特征数据;采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥;根据所述第一用户的私钥生成第一用户的公钥,将所述第一用户的公钥在区块链网络上进行发布;所述区块链网络包括区块链节点;采用所述私钥对待上链业务数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,以使所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证。通过将用户的指纹信息生成用户的私钥,将用户的生物特征信息与私钥相关联,降低了信息泄露的风险,提高了用户数据的安全性。同时可以将多个指纹信息进行融合,即使获取部分用户的生物特征信息,也无法窃取用户信息,进一步降低了信息泄露的风险。

请参见图5,为本申请实施例提供了一种区块链私钥生成设备的结构示意图。如图5所示,本申请实施例的所述区块链私钥生成设备1可以包括:指纹信息获取单元11、特征数据生成单元12、哈希转换单元13、公钥发布单元14、签名验证单元15。

指纹信息获取单元11,用于获取第一用户的指纹信息;

具体的,指纹信息获取单元11获取第一用户的指纹信息,可以理解的是,所述指纹信息是用户手指的指纹,可以通过指纹采集器实时采集用户的指纹,或者从指纹集合中获取用户指定的目标指纹,所述指纹集合中用于存储指定用户的指纹或者通过账号管理多个用户的指纹,区块链私钥生成设备获取的指纹信息,可以包括第一用户的多个手指对应的多个指纹,将多个指纹作为第一用户的指纹信息,所述多个指纹信息中还包括多个指纹的排列顺序,例如,指纹信息中包括第一用户手指a的指纹a和手指b的指纹b,则两个指纹的排列顺序可以是a-b或者是b-a,指纹a-指纹b和指纹b-指纹a对应第一用户不同的指纹信息。

特征数据生成单元12,用于根据所述指纹信息生成指纹特征数据;

具体的,特征数据生成单元12根据所述指纹信息生成指纹特征数据,可以理解的是,所述指纹特征信息是从所述指纹信息中提取的特征数据,所述指纹特征数据通常从指纹图像中获取,下面对从指纹图像中获取指纹特征数据进行说明,首先采用一种梯度算子求取方向角,具体的,计算指纹图像中像素点的梯度值,根据像素点的梯度值确定指纹图像的方向角,其次,确定指纹图像的参考点,具体的,通过滤波器对指纹图像的梯度做卷积,将结果中最大值对应的像素点确定为指纹图像的参考点,一般情况下,指纹图像的参考点为指纹中的奇点,即指纹中的“螺纹中心”,以参考点为中心,将目标尺寸的圆形区域确定为指纹特征的提取区域,并对指纹特征的提取区域进行滤波处理,采用灰度级的方差特征获取所述提取区域的指纹特征数据,所述目标尺寸为预先设置或者根据图像的大小设置,提取区域可以设置为圆形区域或者矩形区域。

请参见图5,本申请实施例的所述特征数据生成单元12可以包括:参数确定子单元121、特征数据生成子单元122;

参数确定子单元121,用于确定所述指纹信息的方向角和参考点;

特征数据生成子单元122,用于根据所述指纹信息的参考点确定指纹特征的提取区域,采用所述方向角,在所述特征提取区域获取指纹特征数据。

哈希转换单元13,用于采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥;

具体的,哈希转换单元13采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥,可以理解的是,所述哈希算法是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值,即将任意长度的消息压缩到某一固定长度的消息摘要函数,哈希算法是一种不可逆的算法,包括sha-1、sha-224、sha-256、sha-384和sha-512等,区块链私钥生成设备通过哈希算法,将所述指纹特征数据生成固定长度的哈希值,并将所述哈希值作为所述第一用户的私钥,不同用户的指纹信息是不同的,根据指纹信息生成的哈希值也是不同的,因此作为第一用户的私钥是唯一的。

公钥发布单元14,用于根据所述第一用户的私钥生成第一用户的公钥,将所述第一用户的公钥在区块链网络上进行发布;所述区块链网络包括区块链节点;

具体的,公钥发布单元14根据所述第一用户的私钥生成第一用户的公钥,将所述第一用户的公钥在区块链网络上进行发布;所述区块链网络包括区块链节点,可以理解的是,所述公钥是公钥通过非对称的加密算法生成的,所述加密算法包括:rsa加密算法、椭圆曲线加密算法等,公钥通过私钥推算出来,公钥无法推算出私钥,区块链私钥生成设备根据第一用户的私钥生成公钥后,将所述第一用户的公钥在区块链网络上进行发布,即将公钥信息在存储在区块链网络的区块链节点中,其他用户可以从区块链节点中获取第一用户的公钥对数据进行加密或者对第一用户的发送的加密信息进行验证。

签名验证单元15,用于采用所述私钥对待上链业务数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,以使所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证。

具体的,签名验证单元15采用所述私钥对待上链业务数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,以使所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证,可以理解的是,对签名信息进行验证,可以证明待上链业务数据确实是由第一用户发送方签名并发出来的,还可以确定消息的完整性,区块链私钥生成设备根据待上链业务数据生成摘要数据,具体可以通过hash函数生成摘要数据,采用第一用户的私钥对摘要数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证。

在本申请实施例中,通过获取第一用户的指纹信息;根据所述指纹信息生成指纹特征数据;采用哈希算法,将所述指纹特征数据转换为哈希值,将所述哈希值作为所述第一用户的私钥;根据所述第一用户的私钥生成第一用户的公钥,将所述第一用户的公钥在区块链网络上进行发布;所述区块链网络包括区块链节点;采用所述私钥对待上链业务数据进行签名,得到签名信息,将所述待上链业务数据和所述签名信息发送至所述区块链节点,以使所述区块链节点采用所述第一用户的公钥对所述签名信息进行验证。通过将用户的指纹信息生成用户的私钥,将用户的生物特征信息与私钥相关联,降低了信息泄露的风险,提高了用户数据的安全性。同时可以将多个指纹信息进行融合,即使获取部分用户的生物特征信息,也无法窃取用户信息,进一步降低了信息泄露的风险。

请参见图6,为本申请实施例提供了一种计算机设备的结构示意图。如图6所示,所述设备1000可以包括:至少一个处理器1001,例如cpu,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理应用程序。

在图6所示的设备1000中,网络接口1004可提供网络通讯功能,用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的数据处理应用程序,以实现上述图1-图4任一个所对应实施例中对所述数据处理方法的描述,在此不再赘述。

应当理解,本申请实施例中所描述的计算机设备1000可执行前文图1-图4任一个所对应实施例中对所述数据处理方法的描述,也可执行前文图5所对应实施例中对所述设备的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。

此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的设备所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图1-图4任一个所对应实施例中对所述方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

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