基于区块链的数字货币交易方法及数字货币钱包硬件与流程

文档序号:16318085发布日期:2018-12-19 05:33阅读:222来源:国知局
基于区块链的数字货币交易方法及数字货币钱包硬件与流程

本发明涉及通讯技术领域,具体涉及一种基于区块链的数字货币交易方法及数字货币钱包硬件。

背景技术

区块链技术,也被称之为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。区块链的概念首次在自称中本聪(satoshinakamoto)论文《比特币:一种点对点的电子现金系统(bitcoin:apeer-to-peerelectroniccashsystem)》中提出,因此可以把比特币看做首个运用区块链技术实现的数字货币。比特币是类似电子邮件的电子现金,交易双方需要类似电子邮箱的“比特币钱包”和类似电邮地址的“比特币地址”。和收发电子邮件一样,汇款方通过电脑或智能手机,按收款方地址将比特币直接付给对方。

现有的数字钱包软件功能都比较类似,它同时保存用户的比特币地址和私钥信息。因为装有数字钱包的计算机或手机必须接入互联网,这样的计算机或手机存在被黑客入侵或植入木马病毒的机会,如果数字货币的私钥被窃取,相当于钱包内所有财产被窃取。

目前主要有两种方式来存储数字货币私钥。1、冷存储:将数字货币钱包私钥单独存储在硬盘或u盘甚至抄写在纸上然后放在保密柜进行保管,这种存储方式能够实现私钥跟网络之间断开连接,能有效保证私钥的安全性,但冷存储的方式在实际使用过程中非常不方便,用户需要实时带着存储私钥的设备,否则无法使用,对于进行频繁的支付交易冷存储几乎没有实用价值。2、热存储:私钥的存放地与网络直接相连,用户通过密码方式获取私钥,来签署交易,这种方式虽然方便,但存在很大的安全隐患,极易被黑客通过网络来盗取私钥。

利用上述的两种存储方式的数字货币钱包不能同时解决存储数字货币私钥的安全性与支付交易的使用方便性。



技术实现要素:

本发明的主要目的为提供一种基于区块链的数字货币交易方法,旨在解决现有的数字货币钱包不能同时解决存储数字货币私钥的安全性与数字货币的支付交易的使用方便性的技术问题。

本发明提出基于区块链的数字货币交易方法,包括:

数字货币钱包硬件创建私钥与公钥,并将所述公钥发送至数字货币钱包处理器;

接收所述数字货币钱包处理器通过监控花费到所述公钥上的输出形成的未签名的交易;

向所述数字货币钱包处理器发送断开网络连接的请求信号;

接收所述数字货币钱包处理器发送的成功断开网络连接的反馈信号;

利用所述私钥对所述未签名的交易进行数字签名,得到包含数字签名的交易;

发送所述包含数字签名的交易至所述数字货币钱包处理器,以便所述数字货币钱包处理器在恢复网络连接后,将所述包含数字签名的交易广播到区块链p2p网络上。

优选地,所述接收所述数字货币钱包处理器通过监控花费到所述公钥上的输出形成的未签名的交易的步骤之前,包括:

获取用户输入的访问密码;

判断所述访问密码是否与预设密码一致;

若一致,生成接收所述未签名的交易的指令。

优选地,所述利用所述私钥对所述未签名的交易进行数字签名,得到包含数字签名的交易的步骤,包括:

判断是否获取到用户对所述未签名的交易的确认信息;

若是,将所述未签名的交易利用指定哈希算法计算得到摘要信息;

根据所述摘要信息和所述私钥,利用加密算法生成数字签名;

将所述数字签名与所述未签名的交易进行信息组合,生成所述包含数字签名的交易。

优选地,所述数字货币钱包硬件为第一芯片,所述数字货币钱包处理器为第二芯片,所述第一芯片与所述第二芯片集成于同一移动终端内,所述数字货币钱包硬件创建私钥与公钥,并将所述公钥发送至数字货币钱包处理器的步骤,包括:

数字货币钱包硬件创建所述私钥;

根据所述私钥创建所述公钥;

通过芯片传输协议将所述公钥发送至所述数字货币钱包处理器。

优选地,所述数字货币钱包硬件创建私钥与公钥,并将所述公钥发送至数字货币钱包处理器的步骤之后;

对所述私钥进行备份,得到备份私钥;

将所述备份私钥发送至隔离网络的硬件内进行存储。

本发明还提供了一种数字货币钱包硬件,集成于移动终端内,包括:

创建模块,用于创建私钥与公钥,并将所述公钥发送至数字货币钱包处理器;

第一接收模块,用于接收所述数字货币钱包处理器通过监控花费到所述公钥上的输出形成的未签名的交易;

第一发送模块,用于向所述数字货币钱包处理器发送断开网络连接的请求信号;

第二接收模块,用于接收所述数字货币钱包处理器发送的成功断开网络连接的反馈信号;

签名模块,用于利用所述私钥对所述未签名的交易进行数字签名,得到包含数字签名的交易;

第二发送模块,用于发送所述包含数字签名的交易至所述数字货币钱包处理器,以便所述数字货币钱包处理器在恢复网络连接后,将所述包含数字签名的交易广播到区块链p2p网络上。

优选地,上述数字货币钱包硬件,包括:

获取模块,用于获取用户输入的访问密码;

判断模块,用于判断所述访问密码是否与预设密码一致;

生成模块,用于若一致,生成接收所述未签名的交易的指令。

优选地,上述签名模块,包括:

判断单元,用于判断是否获取到用户对所述未签名的交易的确认信息;

计算单元,用于若是,将所述未签名的交易利用指定哈希算法计算得到摘要信息;

第一生成单元,用于根据所述摘要信息和所述私钥,利用加密算法生成数字签名;

组合单元,用于将所述数字签名与所述未签名的交易进行信息组合,生成所述包含数字签名的交易。

优选地,所述数字货币钱包硬件为第一芯片,所述数字货币钱包处理器为第二芯片,所述第一芯片与所述第二芯片集成于同一移动终端内,上述创建模块,包括:

创建单元,用于创建所述私钥;

第二生成单元,用于根据所述私钥生成所述公钥;

发送单元,用于通过芯片传输协议将所述公钥发送至所述数字货币钱包处理器。

优选地,上述数字货币钱包硬件,包括:

备份模块,用于对所述私钥进行备份,得到备份私钥;

第三发送模块,用于将所述备份私钥发送至隔离网络的硬件内进行存储。

本发明有益技术效果:本发明通过将私钥存储于数字货币钱包硬件内,数字货币钱包硬件为一块集成于移动终端内部的且有效隔离网络的安全芯片,提高了私钥存储的方便性,且数字货币钱包硬件与数字货币钱包处理器之间通过总线协议进行数据传输,而没有使用到网络来传输数据,杜绝了私钥被黑客通过网络盗取的可能性,保证了数字货币钱包的安全性;另外,只有确保在无网络连接的环境下,才使得数字货币钱包硬件对数字货币钱包处理器发送来的未签名的交易利用私钥进行数字签名,保证了访问私钥时的安全性,也使得用户能方便地完成数字货币的交易支付。

附图说明

图1是本发明一实施例的基于区块链的数字货币交易方法的流程示意图;

图2是本发明一实施例的数字货币钱包硬件的结构示意图;

图3是本发明另一实施例的数字货币钱包硬件的结构示意图;

图4是本发明一实施例的签名模块的结构示意图;

图5是本发明一实施例的创建模块的优化结构示意图;

图6是本发明另一实施例的数字货币钱包硬件的优化结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。

需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。

参照图1,本发明一实施例的基于区块链的数字货币交易方法;包括:

s1:数字货币钱包硬件创建私钥与公钥,并将所述公钥发送至数字货币钱包处理器。

本实施例中,数字货币钱包硬件是具有运算、存储功能和主控功能的集成于移动终端内部的安全芯片,对于数字货币钱包硬件的运算功能而言,私钥由密钥产生模块基于安全芯片随机数发生器而产生,它完全独立于计算机或手机,完全与互联网相隔离,再由椭圆曲线算法推导出对应的公钥;对于数字货币钱包硬件的存储功能,数字货币钱包硬件作为一种安全芯片,具有唯一性、不可逆向解密性,并且,安全芯片与手机cpu编码对应的特点,使得拆机替换成为了一个不可行的方案,即便是遭遇暴力破解,加密数据也无法被还原,即存储在该安全芯片的私钥和公钥不会出现更换设备而带来的资源丢失的问题,进一步强化了硬件级芯片加密的安全性,更是免除了用户因换机产生的旧手机被别有用心的人利用的问题。

另外,数字货币钱包包括数字货币钱包硬件和数字货币客户端,其中,数字货币钱包硬件具有数字货币钱包的签名功能;数字货币客户端为集成于上述移动终端内部的另一块安全芯片,也具有运算、存储功能和主控功能,主要用于为数字货币钱包执行公钥分发和联网功能。

s2:接收所述数字货币钱包处理器通过监控花费到所述公钥上的输出形成的未签名的交易。

本实施例中,数字货币钱包处理器监控花费到公钥上的输出,为花费到公钥上的输出创建未签名的交易,为了避免上述公钥的重用,确保相同的公钥不不会分发两次,可通过使用上述公钥来导出多个子公钥,并可选的帮助分发它们,将不同的子公钥可用于不同的交易中,提高了创建的未签名的交易的安全性。

s3:向所述数字货币钱包处理器发送断开网络连接的请求信号。

本实施例中,数字货币钱包硬件在接收到所述未签名的交易之后,通过向数字货币钱包处理器发送断开网络连接的信号,使得数字货币钱包处理器将移动终端内所有的网络连接(例如wifi或数据网络)断开,以保证此时移动终端处于无网络连接的环境,即数字货币钱包硬件也处于无网络连接的环境,确保了数字货币钱包硬件对私钥的访问是在安全的无网络连接的环境进行的,保证了私钥的安全性。

s4:接收所述数字货币钱包处理器发送的成功断开网络连接的反馈信号。

本实施例中,若数字货币钱包处理器在将移动终端内所有的网络连接断开后,会向数字货币钱包硬件发送一个已成功断开网络连接的反馈信号,只有当数字货币钱包硬件接收到上述反馈信号,才会对接收到的未签名的交易进行相应的操作,若数字货币钱包硬件没有接收到上述反馈信号,则不会对接收到的未签名的交易进行操作。当数字货币钱包处理器存在网络连接时,由于数字货币钱包处理器与数字货币钱包硬件之间可以进行数据传输,那么在数字货币钱包硬件对上述未签名的交易进行操作时,便可能出现黑客通过具有网络连接的数字货币钱包处理器来对数字货币钱包硬件进行攻击,甚至对数字货币钱包硬件内存储的私钥进行破解的情况。故只有数字货币钱包硬件收到成功断开网络连接的反馈信号后,才会对接收到的未签名的交易进行相应的操作,从而有效地保证了数字货币钱包硬件对才会对接收到的未签名的交易进行相应的操作的过程的安全性,也保证了数字货币钱包硬件内存储的私钥的安全性。

s5:利用所述私钥对所述未签名的交易进行数字签名,得到包含数字签名的交易。

本实施例中,假如上述未签名的交易是由数字货币钱包处理器监控花费到上述公钥来导出的子公钥,并为花费到上述子公钥的输出而创建的,那么对应的,上述私钥会导出与所述子公钥一一对应的子私钥,并利用上述子私钥来对未签名的交易进行数字签名。

数字货币钱包硬件在无网络连接的环境下,利用创建的私钥对未签名的交易进行数字签名,由于未签名的交易的原始数据只包括“转账数额”和“转入钱包地址”,但是仅有这些是不够的,因为无法证明交易的生成者对“转出钱包地址”余额有动用的权利。所以需要用私钥对原始数据进行签名,来证明上述未签名的交易的生成者的身份,且将上述未签名的交易进行数字签名后再发送,可以提高交易的安全性。

s6:发送所述包含数字签名的交易至所述数字货币钱包处理器,以便所述数字货币钱包处理器在恢复网络连接后,将所述包含数字签名的交易广播到区块链p2p网络上。

本实施例中,区块链p2p网络是一个由若干节点组成的用以广播交易信息和数据区块的p2p网络。数字货币钱包硬件在利用私钥对未签名的交易进行数字签名之后,会将包含数字签名的交易发送至数字货币钱包处理器,发送成功之后数字货币钱包硬件会进入私钥禁止访问的状态。同时,数字货币钱包硬件会向数字货币钱包处理器发送恢复网络连接的信号,使得数字货币钱包处理器在具有网络连接的环境下,将上述包含数字签名的交易广播到区块链p2p网络上,从而完成一个交易(将未签名的交易进行数字签名后广播到区块链p2p网络上)的流程。

另外,在区块链p2p网络接收到上述包含数字签名的交易后,还需要该包含数字签名的交易进行签名验证。其中,签名验证的过程如下:上述区块链p2p网络中的每一区块链节点,根据自身存储的交易流水记录获得上述公钥;利用获得的上述公钥对所述包含数字签名的交易进行签名验证;当验证结果为通过的区块链节点的数量达到预设数值时,确定针对所述包含数字签名的交易的签名验证通过。

需要说明的是,区块链p2p网络中的每一区块链节点上存储有针对历史交易的交易流水记录,每一区块链节点可以根据各自节点本地存储的交易流水记录来获得与本次交易相对应的公钥,从而每一区块链节点均可以得到一个签名验证结果,但需要说明的是,这并不是最终的验证结果,需要当验证结果为通过的区块链节点的数量达到预设数量时,可以最终确定针对本次交易的签名认证的结果是通过的。还需要说明的是,本发明实施例并不需要对预设数量的数值进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。

本发明实施例通过将在移动终端内部的数字货币钱包硬件生成私钥并存储,能有效的将私钥与网络隔离,解决了数字货币的私钥被网络的黑客盗取的可能性,且不需要将私钥单独存储在硬盘或u盘甚至抄写在纸上来进行保管,提高了数字货币钱包的安全性和私钥存储的方便性;通过确保在无网络环境下,才使得数字货币钱包硬件对数字货币钱包处理器发送的未签名交易利用私钥进行签名,保证了访问私钥时的安全性,也能方便地完成数字货币的交易支付。

进一步地,本发明一实施例中,步骤s2之前,包括:

s200:获取用户输入的访问密码。

s201:判断所述访问密码是否与预设密码一致。

s202:若一致,生成接收所述未签名的交易的指令。

本实施例中,用户首先预先设置一个预设密码,用于保证数字货币钱包硬件的操作是由用户本人授权的。在数字货币钱包硬件获取到未签名交易之前,需要获取用户输入的访问密码,只有输入的访问密码与预设密码一致,数字货币钱包硬件才被允许与数字货币钱包处理器之间进行数据传输,保证了数字货币钱包硬件是在得到用户本人的授权之后,才被数字货币钱包处理器进行访问,提高了对数字货币钱包硬件访问的安全性。

另外,除了获取用户输入的访问密码的方式之外,还可以为获取用户当前的生物特征信息(例如指纹、人脸图像或虹膜),预先采集用户的生物特征信息并标记为用户生物特征信息,通过指纹识别、人脸识别或虹膜识别等生物认证技术,将用户当前的生物特征信息与预设的用户生物特征信息进行匹配认证,若对用户的身份认证通过,则保证了数字货币钱包硬件的操作是由用户本人授权的,之后数字货币钱包硬件才被允许与数字货币钱包处理器之间进行数据传输,提高了对数字货币钱包硬件访问的安全性。并且,基于生物认证技术进行保证数字货币钱包硬件的操作授权,不但使用方便无需记忆密码,而且由于生物特征的唯一性,还能够有效提高了对数字货币钱包硬件访问的安全性,提高交易安全性。

进一步地,本发明一实施例中,步骤s5,包括:

s50:判断是否获取到用户对所述未签名的交易的确认信息。

s51:若是,将所述未签名的交易利用指定哈希算法计算得到摘要信息。

s52:根据所述摘要信息和所述私钥,利用加密算法生成数字签名。

s53:将所述数字签名与所述未签名的交易进行信息组合,生成所述包含数字签名的交易。

本实施例中,在数字货币钱包硬件利用私钥对未签名的交易进行数字签名之前,需要用户对未签名的交易的详细信息进行审查,来确保上述未签名的交易是一桩将正确的金额用于正确的地址的一笔交易。只有在用户确保上述未签名的交易是一桩将正确的金额用于正确的地址的一笔交易后,数字货币钱包硬件才对上述未签名的交易进行数字签名,从而可以防止在线钱包上的恶意软件欺骗用户签署支付给攻击者的交易。

另外,数字货币钱包硬件先将未签名的交易利用指定哈希算法计算得到摘要信息,然后使用私钥对摘要信息进行利用加密算法加密,来生成数字签名。其中,发信者在发出未签名的交易前,使用指定哈希算法求未签名的交易的摘要信息,然后用私钥对上述摘要信息,而不是未签名的交易本身,进行加密而形成一段信息,这段信息称为数字签名。发出未签名的交易时将这个数字签名信息附在未签名的交易的后面,一起发送过去。收信者收到包含数字签名的交易后,一方面用发信者的公钥对数字签名解密,得到第一摘要信息h;另一方面把收到的未签名交易本身用指定哈希算法求出第二摘要信息h’,再把h和h’相比较,看看两者是否相同。根据哈希函数的特性,我们可以让简短的摘要信息来“代表”信息本身,如果两个摘要信息h和h’完全符合,证明发来的未签名的交易的内容是完整的;如果不符合,就说明未签名的交易的内容被人篡改了。本实施例并不对具体的指定哈希算法进行限定,只要发信者和收信者使用的同一种哈希算法即可。

通过在数字签名中引入的摘要信息,并比较第一摘要信息h与第二摘要信息h’是否相同,来判断上述包含数字签名的交易的内容是否被篡改了,而当出现了第一摘要信息h与第二摘要信息h’不相同,即上述包含数字签名的交易的内容被某些攻击者篡改了,收信者不会对上述包含数字签名的交易进行转账,有效防止了恶意软件欺骗收信者签署支付给攻击者的交易的发生。

进一步地,本发明一实施例中,上述数字货币钱包硬件为第一芯片,上述数字货币钱包处理器为第二芯片,上述第一芯片与上述第二芯片集成于同一移动终端内,步骤s1,包括:

s10:数字货币钱包硬件创建所述私钥。

s11:根据所述私钥生成所述公钥。

s12:通过芯片传输协议将所述公钥发送至所述数字货币钱包处理器。

本实施例中,私钥由密钥产生模块基于安全芯片随机数发生器而产生,它完全独立于计算机或手机,完全与互联网相隔离;再由椭圆曲线算法推导出对应的公钥。由于数字货币钱包硬件与数字货币钱包处理器为集成于同一移动终端内的两块不同的芯片,它们之间的数据传输是通过芯片传输协议,即总线协议来传输的,由于总线协议不需要使用到网络,即数字货币钱包硬件与数字货币钱包处理器的数据传输是在网络断开的环境下进行的,即数字货币钱包处理器对数字货币钱包硬件的访问是隔离网络的,保证了存储于数字货币钱包硬件内的私钥的安全性。

进一步地,本发明一实施例中,步骤s1之后,包括:

s101:对所述私钥进行备份,得到备份私钥。

s102:将所述备份私钥发送至隔离网络的硬件内进行存储。

本实施例中,上述隔离网络的硬件并不位于集成有数字货币钱包硬件的移动终端内,而是区别于上述移动终端的其它独立的u盘、离线的电脑或硬盘等,通过对上述私钥进行备份,得到备份私钥后并将备份私钥存储于隔离网络的硬件内,由于存储有上述私钥的数字货币钱包硬件是集成于移动终端内部的,假如上述移动终端丢失了且用户找不回,且没有对上述私钥进行备份的话,则用户永远都找不回私钥,即用户失去了对自己的数字货币的所有权。但如果对上述私钥进行备份的话,则用户可以从上述隔离网络的硬件内调用出备份私钥,且备份私钥也能起到交易支付的作用,保证了用户本人对数字货币的所有权,同时,备份私钥是存储在隔离网络的硬件内,故备份私钥不会受到网络的黑客的攻击,具有极高的安全性。

参照图2,本发明一实施例的数字货币钱包硬件,集成于移动终端内,包括:

创建模块1,用于创建私钥与公钥,并将所述公钥发送至数字货币钱包处理器。

本实施例中,数字货币钱包硬件是具有运算、存储功能和主控功能的集成于移动终端内部的安全芯片,对于数字货币钱包硬件的运算功能而言,私钥由密钥产生模块基于安全芯片随机数发生器而产生,它完全独立于计算机或手机,完全与互联网相隔离,再由椭圆曲线算法推导出对应的公钥;对于数字货币钱包硬件的存储功能,数字货币钱包硬件作为一种安全芯片,具有唯一性、不可逆向解密性,并且,安全芯片与手机cpu编码对应的特点,使得拆机替换成为了一个不可行的方案,即便是遭遇暴力破解,加密数据也无法被还原,即存储在该安全芯片的私钥和公钥不会出现更换设备而带来的资源丢失的问题,进一步强化了硬件级芯片加密的安全性,更是免除了用户因换机产生的旧手机被别有用心的人利用的问题。

另外,数字货币钱包包括数字货币钱包硬件和数字货币客户端,其中,数字货币钱包硬件具有数字货币钱包的签名功能;数字货币客户端为集成于上述移动终端内部的另一块安全芯片,也具有运算、存储功能和主控功能,主要用于为数字货币钱包执行公钥分发和联网功能。

第一接收模块2,用于接收所述数字货币钱包处理器通过监控花费到所述公钥上的输出形成的未签名的交易。

本实施例中,数字货币钱包处理器监控花费到公钥上的输出,为花费到公钥上的输出创建未签名的交易,为了避免上述公钥的重用,确保相同的公钥不不会分发两次,可通过使用上述公钥来导出多个子公钥,并可选的帮助分发它们,将不同的子公钥可用于不同的交易中,提高了创建的未签名的交易的安全性。

第一发送模块3,用于向所述数字货币钱包处理器发送断开网络连接的请求信号。

本实施例中,数字货币钱包硬件在接收到所述未签名的交易之后,通过向数字货币钱包处理器发送断开网络连接的信号,使得数字货币钱包处理器将移动终端内所有的网络连接(例如wifi或数据网络)断开,以保证此时移动终端处于无网络连接的环境,即数字货币钱包硬件也处于无网络连接的环境,确保了数字货币钱包硬件对私钥的访问是在安全的无网络连接的环境进行的,保证了私钥的安全性。

第二接收模块4,用于接收所述数字货币钱包处理器发送的成功断开网络连接的反馈信号。

本实施例中,若数字货币钱包处理器在将移动终端内所有的网络连接断开后,会向数字货币钱包硬件发送一个已成功断开网络连接的反馈信号,只有当数字货币钱包硬件接收到上述反馈信号,才会对接收到的未签名的交易进行相应的操作,若数字货币钱包硬件没有接收到上述反馈信号,则不会对接收到的未签名的交易进行操作。当数字货币钱包处理器存在网络连接时,由于数字货币钱包处理器与数字货币钱包硬件之间可以进行数据传输,那么在数字货币钱包硬件对上述未签名的交易进行操作时,便可能出现黑客通过具有网络连接的数字货币钱包处理器来对数字货币钱包硬件进行攻击,甚至对数字货币钱包硬件内存储的私钥进行破解的情况。故只有数字货币钱包硬件收到成功断开网络连接的反馈信号后,才会对接收到的未签名的交易进行相应的操作,从而有效地保证了数字货币钱包硬件对才会对接收到的未签名的交易进行相应的操作的过程的安全性,也保证了数字货币钱包硬件内存储的私钥的安全性。

签名模块5,用于利用所述私钥对所述未签名的交易进行数字签名,得到包含数字签名的交易。

本实施例中,假如上述未签名的交易是由数字货币钱包处理器监控花费到上述公钥来导出的子公钥,并为花费到上述子公钥的输出而创建的,那么对应的,上述私钥会导出与所述子公钥一一对应的子私钥,并利用上述子私钥来对未签名的交易进行数字签名。

数字货币钱包硬件在无网络连接的环境下,利用创建的私钥对未签名的交易进行数字签名,由于未签名的交易的原始数据只包括“转账数额”和“转入钱包地址”,但是仅有这些是不够的,因为无法证明交易的生成者对“转出钱包地址”余额有动用的权利。所以需要用私钥对原始数据进行签名,来证明上述未签名的交易的生成者的身份,且将上述未签名的交易进行数字签名后再发送,可以提高交易的安全性。

第二发送模块6,用于发送所述包含数字签名的交易至所述数字货币钱包处理器,以便所述数字货币钱包处理器在恢复网络连接后,将所述包含数字签名的交易广播到区块链p2p网络上。

本实施例中,区块链p2p网络是一个由若干节点组成的用以广播交易信息和数据区块的p2p网络。数字货币钱包硬件在利用私钥对未签名的交易进行数字签名之后,会将包含数字签名的交易发送至数字货币钱包处理器,发送成功之后数字货币钱包硬件会进入私钥禁止访问的状态。同时,数字货币钱包硬件会向数字货币钱包处理器发送恢复网络连接的信号,使得数字货币钱包处理器在具有网络连接的环境下,将上述包含数字签名的交易广播到区块链p2p网络上,从而完成一个交易(将未签名的交易进行数字签名后广播到区块链p2p网络上)的流程。

另外,在区块链p2p网络接收到上述包含数字签名的交易后,还需要该包含数字签名的交易进行签名验证。其中,签名验证的过程如下:上述区块链p2p网络中的每一区块链节点,根据自身存储的交易流水记录获得上述公钥;利用获得的上述公钥对所述包含数字签名的交易进行签名验证;当验证结果为通过的区块链节点的数量达到预设数值时,确定针对所述包含数字签名的交易的签名验证通过。

需要说明的是,区块链p2p网络中的每一区块链节点上存储有针对历史交易的交易流水记录,每一区块链节点可以根据各自节点本地存储的交易流水记录来获得与本次交易相对应的公钥,从而每一区块链节点均可以得到一个签名验证结果,但需要说明的是,这并不是最终的验证结果,需要当验证结果为通过的区块链节点的数量达到预设数量时,可以最终确定针对本次交易的签名认证的结果是通过的。还需要说明的是,本发明实施例并不需要对预设数量的数值进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。

参照图3,本发明另一实施例的数字货币钱包硬件,包括:

获取模块200,用于获取用户输入的访问密码。

判断模块201,用于判断所述访问密码是否与预设密码一致。

生成模块202,用于若一致,生成接收所述未签名的交易的指令。

本实施例中,用户首先预先设置一个预设密码,用于保证数字货币钱包硬件的操作是由用户本人授权的。在数字货币钱包硬件获取到未签名交易之前,需要获取用户输入的访问密码,只有输入的访问密码与预设密码一致,数字货币钱包硬件才被允许与数字货币钱包处理器之间进行数据传输,保证了数字货币钱包硬件是在得到用户本人的授权之后,才被数字货币钱包处理器进行访问,提高了对数字货币钱包硬件访问的安全性。

另外,除了获取用户输入的访问密码的方式之外,还可以为获取用户当前的生物特征信息(例如指纹、人脸图像或虹膜),预先采集用户的生物特征信息并标记为用户生物特征信息,通过指纹识别、人脸识别或虹膜识别等生物认证技术,将用户当前的生物特征信息与预设的用户生物特征信息进行匹配认证,若对用户的身份认证通过,则保证了数字货币钱包硬件的操作是由用户本人授权的,之后数字货币钱包硬件才被允许与数字货币钱包处理器之间进行数据传输,提高了对数字货币钱包硬件访问的安全性。并且,基于生物认证技术进行保证数字货币钱包硬件的操作授权,不但使用方便无需记忆密码,而且由于生物特征的唯一性,还能够有效提高了对数字货币钱包硬件访问的安全性,提高交易安全性。

参照图4,本发明一实施例中,上述签名模块5,包括:

判断单元50,用于判断是否获取到用户对所述未签名的交易的确认信息。

计算单元51,用于若是,将所述未签名的交易利用指定哈希算法计算得到摘要信息。

第一生成单元52,用于根据所述摘要信息和所述私钥,利用加密算法生成数字签名。

组合单元53,用于将所述数字签名与所述未签名的交易进行信息组合,生成所述包含数字签名的交易。

本实施例中,在数字货币钱包硬件利用私钥对未签名的交易进行数字签名之前,需要用户对未签名的交易的详细信息进行审查,来确保上述未签名的交易是一桩将正确的金额用于正确的地址的一笔交易。只有在用户确保上述未签名的交易是一桩将正确的金额用于正确的地址的一笔交易后,数字货币钱包硬件才对上述未签名的交易进行数字签名,从而可以防止在线钱包上的恶意软件欺骗用户签署支付给攻击者的交易。

另外,数字货币钱包硬件先将未签名的交易利用指定哈希算法计算得到摘要信息,然后使用私钥对摘要信息进行利用加密算法加密,来生成数字签名。其中,发信者在发出未签名的交易前,使用指定哈希算法求未签名的交易的摘要信息,然后用私钥对上述摘要信息,而不是未签名的交易本身,进行加密而形成一段信息,这段信息称为数字签名。发出未签名的交易时将这个数字签名信息附在未签名的交易的后面,一起发送过去。收信者收到包含数字签名的交易后,一方面用发信者的公钥对数字签名解密,得到第一摘要信息h;另一方面把收到的未签名交易本身用指定哈希算法求出第二摘要信息h’,再把h和h’相比较,看看两者是否相同。根据哈希函数的特性,我们可以让简短的摘要信息来“代表”信息本身,如果两个摘要信息h和h’完全符合,证明发来的未签名的交易的内容是完整的;如果不符合,就说明未签名的交易的内容被人篡改了。本实施例并不对具体的指定哈希算法进行限定,只要发信者和收信者使用的同一种哈希算法即可。

通过在数字签名中引入的摘要信息,并比较第一摘要信息h与第二摘要信息h’是否相同,来判断上述包含数字签名的交易的内容是否被篡改了,而当出现了第一摘要信息h与第二摘要信息h’不相同,即上述包含数字签名的交易的内容被某些攻击者篡改了,收信者不会对上述包含数字签名的交易进行转账,有效防止了恶意软件欺骗收信者签署支付给攻击者的交易的发生。

参照图5,上述数字货币钱包硬件为第一芯片,上述数字货币钱包处理器为第二芯片,上述第一芯片与上述第二芯片集成于同一移动终端内,本发明一实施例中,上述创建模块1,包括:

创建单元10,用于创建所述私钥。

第二生成单元11,用于根据所述私钥生成所述公钥。

发送单元12,用于通过芯片传输协议将所述公钥发送至所述数字货币钱包处理器。

本实施例中,私钥由密钥产生模块基于安全芯片随机数发生器而产生,它完全独立于计算机或手机,完全与互联网相隔离;再由椭圆曲线算法推导出对应的公钥。由于数字货币钱包硬件与数字货币钱包处理器为集成于同一移动终端内的两块不同的芯片,它们之间的数据传输是通过芯片传输协议,即总线协议来传输的,由于总线协议不需要使用到网络,即数字货币钱包硬件与数字货币钱包处理器的数据传输是在网络断开的环境下进行的,即数字货币钱包处理器对数字货币钱包硬件的访问是隔离网络的,保证了存储于数字货币钱包硬件内的私钥的安全性。

参照图6,本发明另一实施例的数字货币钱包硬件,包括:

备份模块101,用于对所述私钥进行备份,得到备份私钥。

第三发送模块102,用于将所述备份私钥发送至隔离网络的硬件内进行存储。

本实施例中,上述隔离网络的硬件并不位于集成有数字货币钱包硬件的移动终端内,而是区别于上述移动终端的其它独立的u盘、离线的电脑或硬盘等,通过对上述私钥进行备份,得到备份私钥后并将备份私钥存储于隔离网络的硬件内,由于存储有上述私钥的数字货币钱包硬件是集成于移动终端内部的,假如上述移动终端丢失了且用户找不回,且没有对上述私钥进行备份的话,则用户永远都找不回私钥,即用户失去了对自己的数字货币的所有权。但如果对上述私钥进行备份的话,则用户可以从上述隔离网络的硬件内调用出备份私钥,且备份私钥也能起到交易支付的作用,保证了用户本人对数字货币的所有权,同时,备份私钥是存储在隔离网络的硬件内,故备份私钥不会受到网络的黑客的攻击,具有极高的安全性。

本发明实施例通过将私钥存储于数字货币钱包硬件内,数字货币钱包硬件为一块集成于移动终端内部的且有效隔离网络的安全芯片,提高了私钥存储的方便性,且数字货币钱包硬件与数字货币钱包处理器之间通过总线协议进行数据传输,而没有使用到网络来传输数据,杜绝了私钥被黑客通过网络盗取的可能性,保证了数字货币钱包的安全性;另外,只有确保在无网络连接的环境下,才使得数字货币钱包硬件对数字货币钱包处理器发送来的未签名的交易利用私钥进行数字签名,保证了访问私钥时的安全性,也使得用户能方便地完成数字货币的交易支付。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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