区块链场景下的私钥管理方法、装置及系统制造方法及图纸

技术编号:22649111 阅读:36 留言:0更新日期:2019-11-26 17:54
本申请为区块链场景下的私钥管理方法、装置及系统,提供一种计算机系统,该计算机系统上部署有富执行环境REE和可信执行环境TEE,该计算机系统还部署有基于区块链技术的区块链功能单元,且TEE中部署有所述区块链功能单元中的私钥管理模块和交易数据处理模块,其中所述私钥管理模块用于创建私钥,以及将所述私钥存储在TEE中;所述交易数据处理模块用于利用所述私钥对区块链功能单元涉及的摘要数据执行加密。通过将区块链场景下涉及到的私钥放置到TEE侧进行创建、存储和使用,借助TrustZone架构的可信执行环境提供私钥的安全性,从而一定程度上解决了私钥在不可信环境中带来的安全风险问题,提高了区块链系统的安全性。

Private key management method, device and system in blockchain scenario

The application provides a computer system for the private key management method, device and system in the blockchain scenario. The computer system is equipped with a rich execution environment REE and a trusted execution environment tee. The computer system is also equipped with a blockchain functional unit based on blockchain technology, and the tee is equipped with a private key management module and a transaction data processing module in the blockchain functional unit Block, wherein the private key management module is used for creating the private key and storing the private key in tee; the transaction data processing module is used for encrypting the summary data involved in the blockchain functional unit with the private key. By placing the private key involved in the blockchain scenario on the tee side for creation, storage and use, the trusted execution environment of the TrustZone architecture provides the security of the private key, so as to solve the security risk brought by the private key in the untrusted environment to a certain extent, and improve the security of the blockchain system.

【技术实现步骤摘要】
区块链场景下的私钥管理方法、装置及系统
本申请涉及区块链技术,尤其涉及一种区块链中私钥的管理方法、装置及系统。
技术介绍
区块链指数据以区块(block)为单位产生和存储,并按照时间顺序连成链式(chain)数据结构,所有节点需要共同参与区块链系统的数据验证、存储和维护,新区块的创建需得到共识确认,并向各节点广播实现全网同步,之后就不能更改或删除。区块链是多种已有技术的集合创新,主要解决多方信任与高效协同的问题。构成区块链的技术主要包括哈希运算(SHA256)、数字签名、P2P(peer-to-peer)网络和共识算法。区块链技术的典型应用场景包括加密货币、金融、供应链、物联网等。数字签名技术用于一定程度上保证数据传输的安全性。以加密数字货币场景为例,每个节点的区块内存储着货币交易信息,货币交易信息包括一次或多次交易过程,一次交易过程例如为A钱包的地址向B钱包地址转账100数字币(例如比特币)。在不同的节点之间传输交易信息之前需要对交易过程执行哈希运算以得到该交易过程的摘要,然后使用发送方的私钥对该摘要进行加密,将加密后的摘要和交易数据(或加密后的交易数据)发送到接收方。接收方利用对应的公钥解密接收到的密文摘要以得到摘要a,并对接收到的交易数据执行哈希运算以得到摘要b,比较摘要a和摘要b,在摘要a和摘要b相同时才确定货币交易信息是安全的。可见,通过数字签名技术能够保证信息传输的完整性、同时验证发送者的身份认证,从而防止交易中的抵赖发生。但是如何保证数字签名过程中私钥的安全性,避免发送者的私钥被恶意第三方获取,这个问题在区块链领域亟待解决。当前最常见的私钥管理方式是将私钥托管在服务提供者的服务器上,用户在使用私钥之前使用账号登陆方式登陆到服务器上进行相关操作。但是这种方式存在一些缺陷:若服务器被黑客攻击或产生其它漏洞,则很容易导致私钥泄露或丢失;用户账号也可能被窃取;用户登陆服务器的过程中浏览器漏洞也会对账户的安全性产生影响;网络传输过程中的中间人攻击行为以及HTTPS证书劫持也是一种常见的安全风险。另一种方式是在区块链节点设备自己创建和存储私钥。目前大多数加密数字货币钱包的安全设计都是完全依靠操作系统的安全边界,对于私钥的存储和处理还是停留在使用固定密钥进行加密甚至直接明文保存,完全依靠操作系统的安全边界来避免非法访问,但无论是安卓(Android)、iOS、Windows还是Linux,每年都有大量的系统安全漏洞被公开和被修复,而这些漏洞里面就有不少本地提权的漏洞,利用这些提权漏洞就可以轻易的打破操作系统的安全设计边界,获得访问私钥的能力。
技术实现思路
本申请提供一种私钥管理方法、装置和系统,具体可以应用在区块链所涉及的应用场景下,用于提高私钥的安全性,从而提高区块链中存储的信息的安全性。下面介绍本申请的几个方面,容易理解的是,以下几个方面的实现方式中相同或相似的部分可以互相参考。第一方面,本申请提供一种计算机系统,该计算机系统上部署有富执行环境REE和可信执行环境TEE,该计算机系统还部署有基于区块链技术的区块链功能单元,例如数字钱包软件。该TEE中部署有所述区块链功能单元中的私钥管理模块和交易数据处理模块。所述私钥管理模块用于创建私钥,以及将所述私钥存储在TEE中。所述交易数据处理模块用于利用所述私钥对区块链功能单元涉及的摘要数据执行加密。在一些实现方式下,所述摘要数据的生成在所述TEE中;在另一些实现方式下,所述摘要数据的生成在所述REE中,然后所述REE发送所述摘要数据到所述TEE。在一些实现方式下,所述私钥管理模块具体用于在存储所述私钥之前对所述私钥执行加密,其中,存储的所述私钥为加密后的私钥。在一些实现方式下,所述私钥管理模块具体用于利用密码对所述私钥执行加密,所述密码在条件满足时更新或周期性更新,更新后利用新密码重新对所述私钥执行加密,且存储新密码加密后的私钥。在一些实现方式下,所述密码的更新条件包括执行完一次对所述摘要数据的加密。在一些实现方式下,所述密码为硬件随机数产生器产生的随机数。在另一些实现方式下,该随机数也可以由软件随机数产生器产生。第二方面,本申请提供一种私钥的管理方法,应用于区块链场景下。该方法应用于部署有富执行环境REE和可信执行环境TEE的计算机系统,例如终端设备。该计算机系统上还部署有区块链功能单元,例如数字钱包软件。该方法包括:在TEE创建所述区块链功能单元所涉及的私钥,以及将所述私钥存储在TEE侧;在TEE侧利用所述私钥对所述区块链功能单元涉及的摘要数据执行加密。在一些实现方式下,在所述TEE侧生成所述摘要数据;在另一些实现方式下,在所述REE侧生成所述摘要数据,并将所述摘要数据发送到所述TEE,以便在TEE侧对所述摘要数据执行加密。在一些实现方式下,在存储所述私钥之前所述方法还包括:对所述私钥执行加密。容易理解的,加密之后,存储的就不是原来的私钥,而是加密后的私钥,且下次使用该私钥之前需要先解密。在一些实现方式下,对所述私钥执行加密并存储所述加密后的私钥包括:利用密码对所述私钥执行加密,所述密码在条件满足时更新或周期性更新,更新后利用新密码重新对所述私钥执行加密,且存储新密码加密后的私钥。在一些实现方式下,所述密码在条件满足时更新包括:在利用所述私钥执行完一次对所述摘要数据的加密之后更新所述密码。在一些实现方式下,所述周期性更新所述密码包括:每隔固定时间就更新所述密码,并重新加密和存储所述私钥。在一些实现方式下,所述密码为硬件随机数产生器产生的随机数。在另一些实现方式下,该随机数也可以由软件随机数产生器产生。第三方面,本申请提供一种计算机系统,其特征在于,所述计算机系统包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于读取并执行所述计算机程序以实现前述任意实现方式提供的方法。第四方面,本申请提供一种区块链系统,其特征在于,所述区块链系统中包括本申请任意方面提供的计算机系统。该计算机系统可以是终端设备,也可以是其他类型的计算机系统。可见,本申请提供的私钥管理方法、装置和系统,通过将区块链场景下涉及到的私钥放置到TEE侧进行创建、存储和使用,借助架构的可信执行环境提供私钥的安全性,从而一定程度上解决了私钥在不可信环境中带来的安全风险问题,提高了区块链系统的安全性。进一步的,私钥在存储执行被加密处理,进一步保证了安全性。而且,在加密私钥的密码会周期性或条件触发下变更,这样密码的安全性就更高,从而私钥的安全性也更高。附图说明为了更清楚地说明本申请提供的技术方案,下面将对附图作简单地介绍。显而易见地,下面描述的附图仅仅是本申请的一些实施例。图1a为区块链场景的网络架构示意图;图1b为终端设备的系统架构示意图;图2为CA和TA的交互流程示意图;图3为数字钱包软件的功能部署示意图;图4为数字钱包软件中交易数据发送方的处理流程示意图;图5为数字钱包软件中交易数据接收方的处理流程示意图;...

【技术保护点】
1.一种计算机系统,其特征在于,所述计算机系统上部署有富执行环境REE和可信执行环境TEE,所述计算机系统还部署有基于区块链技术的区块链功能单元,且TEE中部署有所述区块链功能单元中的私钥管理模块和交易数据处理模块,其中/n所述私钥管理模块用于:创建私钥,以及将所述私钥存储在TEE中;/n所述交易数据处理模块用于:利用所述私钥对区块链功能单元涉及的摘要数据执行加密。/n

【技术特征摘要】
1.一种计算机系统,其特征在于,所述计算机系统上部署有富执行环境REE和可信执行环境TEE,所述计算机系统还部署有基于区块链技术的区块链功能单元,且TEE中部署有所述区块链功能单元中的私钥管理模块和交易数据处理模块,其中
所述私钥管理模块用于:创建私钥,以及将所述私钥存储在TEE中;
所述交易数据处理模块用于:利用所述私钥对区块链功能单元涉及的摘要数据执行加密。


2.根据权利要求1所述的计算机系统,其特征在于,所述私钥管理模块具体用于:在存储所述私钥之前对所述私钥执行加密,其中,存储的所述私钥为加密后的私钥。


3.根据权利要求2所述的计算机系统,其特征在于,所述私钥管理模块具体用于:利用密码对所述私钥执行加密,所述密码在条件满足时更新或周期性更新,更新后利用新密码重新对所述私钥执行加密,且存储新密码加密后的私钥。


4.根据权利要求3所述的计算机系统,其特征在于,所述私钥管理模块具体用于:在利用所述私钥执行完一次对所述摘要数据的加密之后更新所述密码。


5.根据权利要求3或4所述的计算机系统,其特征在于,所述密码为硬件随机数产生器产生的随机数。


6.一种区块链技术中私钥的管理方法,其特征在于,所述...

【专利技术属性】
技术研发人员:文白林
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1