一种使用基于区块链的数字货币的方法、系统及终端与流程

文档序号:12691910阅读:314来源:国知局
一种使用基于区块链的数字货币的方法、系统及终端与流程

本发明涉及通讯技术领域,特别涉及一种使用基于区块链的数字货币的方法、系统及终端。



背景技术:

在目前的比特币系统里,比特币地址是一套非对称密钥中的公钥,这对密钥通过椭圆算法生成。用户账户的地址和私钥都保存在比特币钱包(即数字货币钱包)文件中,私钥由比特币客户端软件进行加解密运算。目前基于区块链技术的数字货币钱包技术都是基于比特币,可归类为:网页钱包、多重签名钱包、桌面钱包、移动端钱包。

由于整个比特币系统的去中心化和匿名性,数字货币钱包一旦丢失,数字货币钱包里所有地址保存的比特币就有可能被盗走。比特币一旦被盗取,就不能被找回。因此,需要保证数字货币钱包的安全。而现有的数字货币钱包解决方案都是在线备份私钥形成备份数字货币钱包,尽管采取了诸多安全措施来保障应用和数据的安全,但众多的攻击案例和系统漏洞表明,这样仍不能保证数字货币钱包中数字货币的安全。因此,如何保证基于区块链的数字货币的安全,是本领域技术人员需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种使用基于区块链的数字货币的方法、系统及终端,通过安全芯片、可信执行环境提高区块链数字货币钱包的安全性。

为解决上述技术问题,本发明提供一种使用基于区块链的数字货币的方法,所述方法包括:

数字货币客户端向区块链发送申请数字证书的请求,使所述区块链根据所述请求进行用户身份及请求验证并在验证通过后向所述数字货币客户端返回对应的客户信息;

所述数字货币客户端根据所述客户信息,通过可信执行环境向安全芯片发送数字证书申请;

所述安全芯片根据所述客户信息生成密钥对以及数字货币钱包地址,并通过所述可信执行环境向所述数字货币客户端输出所述数字货币钱包地址;

所述数字货币客户端向所述区块链发送所述数字货币钱包地址,使所述区块链根据所述数字货币钱包地址从认证中心获取数字证书;

所述数字货币客户端接收所述区块链发送的所述数字证书后,通过所述可信执行环境向所述安全芯片发送数字证书安装请求;

所述安全芯片根据所述数字证书安装请求安装数字证书。

可选的,所述安全芯片根据所述客户信息生成密钥对以及数字货币钱包地址,包括:

所述安全芯片根据所述客户信息生成私钥,并利用所述私钥生成公钥;

利用哈希算法对所述公钥进行处理得到公钥哈希,并根据所述公钥哈希生成数字货币钱包地址。

可选的,安装数字证书之后,还包括:

发送方数字货币客户端在所述可信执行环境下将交易数据原文利用预定哈希算法计算得到摘要信息,并从所述安全芯片中获取发送方私钥;

所述发送方数字货币客户端在所述可信执行环境下将所述摘要信息以及所述发送方私钥,利用加密算法生成数字签名,并将所述数字签名以及所述交易数据原文发送到所述区块链中。

可选的,当接收方数字货币客户端从所述区块链中获取所述数字签名以及所述交易数据原文之后,还包括:

接收方数字货币客户端在所述可信执行环境下将所述交易数据原文利用所述预定哈希算法计算得到第一摘要信息;

所述接收方数字货币客户端在所述可信执行环境下根据发送方公钥,利用解密算法对所述数字签名进行解密得到第二摘要信息;

当所述第一摘要信息与所述第二摘要信息一致时进行交易。

可选的,当所述数字货币客户端处于离线状态下时,还包括:

发送方数字货币客户端在所述可信执行环境下进行交易数据信息认证以及数据校验后向接收方数字货币客户端发送交易申请;

所述接收方数字货币客户端在所述可信执行环境下接收并核实所述交易申请后向所述发送方数字货币客户端返回确认信息,并更新交易记录;

所述发送方数字货币客户端在所述可信执行环境下更新交易记录;

所述发送方数字货币客户端和所述接收方数字货币客户端在网络状态满足条件时向所述区块链同步所述交易记录,使所述区块链与对应第三方服务器同步所述交易记录。

可选的,所述数字货币客户端的下载包括:

在所述安全芯片中预置所述数字货币客户端可执行程序进行安装或通过在线下载数字货币客户端可执行程序进行安装。

本发明还提供一种使用基于区块链的数字货币的系统,包括:

数字货币客户端,用于向区块链发送申请数字证书的请求,使所述区块链根据所述请求进行用户身份及请求验证并在验证通过后向所述数字货币客户端返回对应的客户信息;根据所述客户信息,通过可信执行环境向安全芯片发送数字证书申请;向所述区块链发送所述数字货币钱包地址,使所述区块链根据所述数字货币钱包地址从认证中心获取数字证书;接收所述区块链发送的所述数字证书后,通过所述可信执行环境向所述安全芯片发送数字证书安装请求;

所述安全芯片模块,用于根据所述客户信息生成密钥对以及数字货币钱包地址,并通过所述可信执行环境向所述数字货币客户端输出所述数字货币钱包地址;根据所述数字证书安装请求安装数字证书;

所述可信执行环境模块,用于提供可信执行环境。

可选的,所述数字货币客户端还包括:

交易发送单元,用于在所述可信执行环境下将交易数据原文利用预定哈希算法计算得到摘要信息,并从所述安全芯片中获取发送方私钥;将所述摘要信息以及所述发送方私钥,利用加密算法生成数字签名,并将所述数字签名以及所述交易数据原文发送到所述区块链中;

交易接收单元,用于在所述可信执行环境下将所述交易数据原文利用所述预定哈希算法计算得到第一摘要信息;根据发送方公钥,利用解密算法对所述数字签名进行解密得到第二摘要信息;当所述第一摘要信息与所述第二摘要信息一致时进行交易。

可选的,所述数字货币客户端还包括:

离线交易发送单元,用于在所述可信执行环境下进行交易数据信息认证以及数据校验后向接收方数字货币客户端发送交易申请;并在所述接收方数字货币客户端在所述可信执行环境下接收并核实所述交易申请后,接收所述接收方数字货币客户端返回确认信息,并更新交易记录;

离线交易同步单元,用于当数字货币客户端在网络状态满足条件时向所述区块链同步所述交易记录,使所述区块链与对应第三方服务器同步所述交易记录。

本发明还提供一种终端,包括:

数字货币客户端处理器,用于向区块链发送申请数字证书的请求,使所述区块链根据所述请求进行用户身份及请求验证并在验证通过后向所述数字货币客户端返回对应的客户信息;根据所述客户信息,通过可信执行环境向安全芯片发送数字证书申请;向所述区块链发送所述数字货币钱包地址,使所述区块链根据所述数字货币钱包地址从认证中心获取数字证书;接收所述区块链发送的所述数字证书后,通过所述可信执行环境向所述安全芯片发送数字证书安装请求;

所述安全芯片,用于根据所述客户信息生成密钥对以及数字货币钱包地址,并通过所述可信执行环境向所述数字货币客户端输出所述数字货币钱包地址;根据所述数字证书安装请求安装数字证书;

所述可信执行环境处理器,用于提供可信执行环境。

本发明所提供的使用基于区块链的数字货币的方法,所述方法包括:数字货币客户端向区块链发送申请数字证书的请求,使所述区块链根据所述请求进行用户身份及请求验证并在验证通过后向所述数字货币客户端返回对应的客户信息;所述数字货币客户端根据所述客户信息,通过可信执行环境向安全芯片发送数字证书申请;所述安全芯片根据所述客户信息生成密钥对以及数字货币钱包地址,并通过所述可信执行环境向所述数字货币客户端输出所述数字货币钱包地址;所述数字货币客户端向所述区块链发送所述数字货币钱包地址,使所述区块链根据所述数字货币钱包地址从认证中心获取数字证书;所述数字货币客户端接收所述区块链发送的所述数字证书后,通过所述可信执行环境向所述安全芯片发送数字证书安装请求;所述安全芯片根据所述数字证书安装请求安装数字证书;

可见,由于安全芯片既具备硬件防篡改性,同时具备软件的安全加密功能,可信执行环境具备一定的硬件保护能力;因此该方法通过安全芯片、可信执行环境提高区块链数字货币钱包的安全性。即将软件和可信硬件平台结合,为数字货币钱包提供完整的安全保障。本发明还提供一种使用基于区块链的数字货币的系统及终端,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本发明实施例所提供的使用基于区块链的数字货币的方法的流程图;

图2为本发明实施例所提供的数字货币客户端初始化的过程示意图;

图3为本发明实施例所提供的私钥与数字货币钱包地址的映射关系示意图;

图4为本发明实施例所提供的数字货币客户端交易使用的过程示意图;

图5为本发明实施例所提供的数字货币客户端离线使用的过程示意图;

图6为本发明实施例所提供的数字货币客户端整体使用示意图;

图7为本发明实施例所提供的使用基于区块链的数字货币的系统的结构框图;

图8为本发明实施例所提供的一种终端的结构框图。

具体实施方式

本发明的核心是提供一种使用基于区块链的数字货币的方法、系统及终端,通过安全芯片、可信执行环境提高区块链数字货币钱包的安全性。

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

本实施例的具体实现包括三层:最底层是一个既具备硬件防篡改性,同时具备软件的安全加密的安全芯片,(例如SE);中间层,可信执行环境(例如TEE)具备一定的硬件保护能力,同时在对比最底层安全单元这个级别,不具备硬件防可篡改性,是一个较为低成本的安全架构。最上层是开放式操作系统层,只有软件保护能力,安全保护的级别是最低的,也是下载安装后的数字货币客户端所在层。本实施例在此结构上可以实现提高区块链数字货币钱包的安全性。具体请参考图1,图1为本发明实施例所提供的使用基于区块链的数字货币的方法的流程图;所述方法可以包括:

S100、数字货币客户端向区块链发送申请数字证书的请求,使区块链根据请求进行用户身份及请求验证并在验证通过后向数字货币客户端返回对应的客户信息;

S110、数字货币客户端根据客户信息,通过可信执行环境向安全芯片发送数字证书申请;

S120、安全芯片根据客户信息生成密钥对以及数字货币钱包地址,并通过可信执行环境向数字货币客户端输出数字货币钱包地址;

S130、数字货币客户端向区块链发送数字货币钱包地址,使区块链根据数字货币钱包地址从认证中心获取数字证书;

S140、数字货币客户端接收区块链发送的数字证书后,通过可信执行环境向安全芯片发送数字证书安装请求;

S150、安全芯片根据数字证书安装请求安装数字证书。

其中,这里的数字货币钱包可以理解为数字货币客户端,用户进行比特币交易时离不开数字货币客户端,因此在使用数字货币时首先要下载并安装数字货币客户端。本实施例并不限定下载安装数字货币客户端的具体方式,其可以根据不同终端进行适应性选择,以提高数字货币客户端的适应性。优选的,数字货币客户端的下载可以包括:在安全芯片中预置数字货币客户端可执行程序进行安装或通过在线下载数字货币客户端可执行程序进行安装。即数字钱包应用可以在安全芯片(例如SE)中预置也可以通过在线下载方式安装。

具体的,本实施例S100至S150可以实现数字货币钱包初始化过程,该数字货币钱包的初始化相比现有技术中其数字货币客户端进行初始化仅在最上层开放式操作系统层完成相比更加安全。本实施例中初始化过程在终端中数据交互过程均在可信执行环境下完成。且有关于数字货币使用的数字证书安装和密钥对的生成均在安全性很高的安全芯片中完成。即在整个数字货币钱包的初始化过程中三层各自发挥其最主要的功能,共同对数字货币客户端进行保护。从而可以从根本上阻止外界攻击,进而提高区块链数字货币钱包的安全性。

下面可以通过图2举例说明上述过程:在图2中安全芯片为SE,其控制过程由SE安全服务应用实现,图2中的数字货币客户端位于移动终端中。

初始化时,首先由用户通过数字货币客户端向区块链提交申请数字证书的请求,区块链商业银行节点进行客户的身份认证与请求验证,在由SE安全服务应用生成密钥对并出输出数字货币钱包地址(也可以简称为钱包地址);由用户通过数字货币客户端向区块链节点向商业银行节点上传送该数字钱包地址,商业银行依据钱包地址来颁发数字证书,在这个过程中,SE安全负责密钥的生成与证书的安装。

进一步为了提高数字货币钱包地址的安全性。本实施例中数字货币钱包地址是公钥的不可逆映射。即可选的,安全芯片根据客户信息生成密钥对以及数字货币钱包地址可以包括:

安全芯片根据客户信息生成私钥,并利用私钥生成公钥;

利用哈希算法对公钥进行处理得到公钥哈希,并根据公钥哈希生成数字货币钱包地址。

具体的,请参考图3,由数字货币钱地址即钱包地址可以映射到公钥哈希,但是由公钥哈希并不能映射获得公钥,且由公钥也不能映射得到私钥。这样的设置可以进一步保护私钥的安全性。从而提高数字货币的安全性。

基于上述技术方案,本发明实施例提供的使用基于区块链的数字货币的方法,由于安全芯片既具备硬件防篡改性,同时具备软件的安全加密功能,可信执行环境具备一定的硬件保护能力;因此该方法通过安全芯片、可信执行环境提高区块链数字货币钱包的安全性。即将软件和可信硬件平台结合,为数字货币钱包提供完整的安全保障。

基于上述实施例,在成功安装数字证书之后,即完成了数字货币客户端的初始化之后,数字货币钱包的使用过程即交易过程(例如可以包括如何生成数字签名以及验签等过程),该过程还可以包括:

发送方数字货币客户端在可信执行环境下将交易数据原文利用预定哈希算法计算得到摘要信息,并从安全芯片中获取发送方私钥;

发送方数字货币客户端在可信执行环境下将摘要信息以及发送方私钥,利用加密算法生成数字签名,并将数字签名以及交易数据原文发送到区块链中。

当接收方数字货币客户端从区块链中获取数字签名以及交易数据原文之后,还包括:

接收方数字货币客户端在可信执行环境下将交易数据原文利用预定哈希算法计算得到第一摘要信息;

接收方数字货币客户端在可信执行环境下根据发送方公钥,利用解密算法对数字签名进行解密得到第二摘要信息;

当第一摘要信息与第二摘要信息一致时进行交易。

具体的,通过上述可以看出该交易过程中数据交互也都是在可信执行环境下进行的,从而不仅在数字货币客户端的初始化过程对数字货币钱包进行保护,还在交易过程中持续对数字货币钱包进行保护,从而可以提高数字货币的安全性,保证用户的财产安全。且有关于密钥对的信息都需要与安全芯片进行交互获得,进而从根本上保护了数字货币的安全性。本实施例并不对具体的预定哈希算法进行限定,只要发送方和接收方使用的同一种哈希算法即可。本实施例也比对加密算法和解密算法的具体内容进行限定,只要加密算法和解密算法为一对配套算法即可。

下面可以通过图4举例说明上述过程:图4中的原文即交易数据原文,摘要即摘要信息,Hash算法即哈希算法。图4中的数字货币客户端位于移动终端中

在交易数据传输前,发送方将原文按照约定的Hash算法计算得到摘要,并使用自己的私钥(从安全芯片获取)对摘要进行加密得到数字签名,与原文一起发送给接收方,接收方使用相同的Hash算法对原文计算摘要,然后与使用发送方的公钥对数字进行解密得到的摘要进行对比。

基于上述技术方案,本发明实施例提供的使用基于区块链的数字货币的方法,通过安全芯片、可信执行环境提高区块链数字货币钱包的安全性,且在进行交易时必要数据的获取均依赖于可信执行环境和安全芯片,使得交易过程也受到三层结构的实时保护,从而提高数字货币的安全性。

基于上述任意实施例,由于现有的数字货币钱包只能在线进行交易,这种方式在通信出现瓶颈时,影响交易效率。本实施例能够实现现有的数字货币钱包不具备的离线交易功能,满足数字货币数据以及交易安全、便捷的需求。本实施例中,当数字货币客户端处于离线状态下时,该方法可以包括:

发送方数字货币客户端在可信执行环境下进行交易数据信息认证以及数据校验后向接收方数字货币客户端发送交易申请;

接收方数字货币客户端在可信执行环境下接收并核实交易申请后向发送方数字货币客户端返回确认信息,并更新交易记录;

发送方数字货币客户端在可信执行环境下更新交易记录;

发送方数字货币客户端和接收方数字货币客户端在网络状态满足条件时向区块链同步交易记录,使区块链与对应第三方服务器同步交易记录。

其中,网络状态满足条件时可以是网络状态良好,或者是存在安全且信号强的网络。本实施例并不对此进行限定。这里的网络状态的检测可以是实时进行,也可以定期进行。本实施例并不对此进行限定。用户可以根据自身需求进行设定,也可以手动进行网络状态的检测。这里的交易申请可以是指包含交易信息的唯一数字货币数据串。

具体的,在离线状态下,发送方和接收方两者之间可以进行交易,并在交易完成时在两者对应的数字货币客户端更新交易记录,即记录下该次交易的详细情况。以便后续在网络状态允许的情况下,使有关第三方可以获取该交易记录。以满足有关第三方对交易信息的管理。例如监管方对交易信息的监管,银行等对交易信息的核实以及及时执行等。即本实施例实现了数字货币的离线交易,使得数字货币交易不再依赖于网络,提高用户使用的便捷程度。

下面请参考图5举例说明上述数字货币钱包离线交易过程:图5中的数字货币客户端位于移动终端中。

在交易过程中,交易双方终端处于离线状态,即只有发送方和接收方参与。交易发送方发起交易并进行身份认证(可以理解为包含了交易信息的认证过程)、数据校验等操作,接收方接受并核实交易请求后返回确认信息,双方更新交易记录文件。检测网络状态,在网络状态良好的时候,不定期读取交易记录文件,并通过区块链与商业银行服务器进行交易同步,并更新维护本地交易记录。

进一步,本实施例还可以进行交易查询等操作。具体请参考图6,其整体使用过程可以包括:应用的安装下载、应用初始化、应用的使用等。数字货币客户端在进行密钥对生成,加密过程,解密过程,签名验证等都在可信执行环境下进行。区块链和终端以及第三方之间(例如图6中的商业银行)都可以进行证书申请,交易,查询等数字货币操作。

基于上述技术方案,本发明实施例提的使用基于区块链的数字货币的方法,通过构建应用软件-TEE-SE三层技术架构,将软硬件平台相结合,为数字货币客户端提供完成的安全保障。且实现了数字货币离线交易。使得用户可更加方便、安全的进行数字货币交易。

下面对本发明实施例提供的使用基于区块链的数字货币的系统及终端进行介绍,下文描述的使用基于区块链的数字货币的系统及终端与上文描述的使用基于区块链的数字货币的方法可相互对应参照。

请参考图7,图7为本发明实施例所提供的使用基于区块链的数字货币的系统的结构框图;该系统可以包括:

数字货币客户端100,用于向区块链发送申请数字证书的请求,使区块链根据请求进行用户身份及请求验证并在验证通过后向数字货币客户端返回对应的客户信息;根据客户信息,通过可信执行环境向安全芯片发送数字证书申请;向区块链发送数字货币钱包地址,使区块链根据数字货币钱包地址从认证中心获取数字证书;接收区块链发送的数字证书后,通过可信执行环境向安全芯片发送数字证书安装请求;

安全芯片模块200,用于根据客户信息生成密钥对以及数字货币钱包地址,并通过可信执行环境向数字货币客户端输出数字货币钱包地址;根据数字证书安装请求安装数字证书;

可信执行环境模块300,用于提供可信执行环境。

基于上述实施例,数字货币客户端100还可以包括:

交易发送单元,用于在可信执行环境下将交易数据原文利用预定哈希算法计算得到摘要信息,并从安全芯片中获取发送方私钥;将摘要信息以及发送方私钥,利用加密算法生成数字签名,并将数字签名以及交易数据原文发送到区块链中;

交易接收单元,用于在可信执行环境下将交易数据原文利用预定哈希算法计算得到第一摘要信息;根据发送方公钥,利用解密算法对数字签名进行解密得到第二摘要信息;当第一摘要信息与第二摘要信息一致时进行交易。

基于上述实施例,数字货币客户端100还可以包括:

离线交易发送单元,用于在可信执行环境下进行交易数据信息认证以及数据校验后向接收方数字货币客户端发送交易申请;并在接收方数字货币客户端在可信执行环境下接收并核实交易申请后,接收该接收方数字货币客户端返回确认信息,并更新交易记录;

离线交易同步单元,用于当数字货币客户端在网络状态满足条件时向区块链同步交易记录,使区块链与对应第三方服务器同步交易记录。

请参考图8,图8为本发明实施例所提供的一种终端的结构框图;该终端可以包括:

数字货币客户端处理器10,用于向区块链发送申请数字证书的请求,使区块链根据请求进行用户身份及请求验证并在验证通过后向数字货币客户端返回对应的客户信息;根据客户信息,通过可信执行环境向安全芯片发送数字证书申请;向区块链发送数字货币钱包地址,使区块链根据数字货币钱包地址从认证中心获取数字证书;接收区块链发送的数字证书后,通过可信执行环境向安全芯片发送数字证书安装请求;

安全芯片20,用于根据客户信息生成密钥对以及数字货币钱包地址,并通过可信执行环境向数字货币客户端输出数字货币钱包地址;根据数字证书安装请求安装数字证书;

可信执行环境处理器30,用于提供可信执行环境。

具体的,本实施例对终端并不进行限定。这里的终端可以是移动终端。

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

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

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

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