当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于SGX软件防护扩展指令的区块链用户密钥保护方法和装置制造方法及图纸

技术编号:17737256 阅读:98 留言:0更新日期:2018-04-18 13:21
本发明专利技术公开了一种基于SGX的区块链用户密钥保护装置,包括:SGX加密模块,基于软件防护扩展指令生成可信空间,并生成用于验证所述可信空间访问权限的访问密钥;所述可信空间用于存储区块链网络的用户密钥和密钥操作函数;交易共识模块,接收来自区块链网络的交易,通过所述访问密钥访问SGX加密模块,调用其中的密钥操作函数,实现对交易的验证共识;交易构造模块,根据用户的意图发起交易,通过所述访问密钥访问SGX加密模块,调用其中的密钥操作函数,实现交易信息的填充与合法化,并向区块链网络广播该交易。本发明专利技术还公开了区块链用户密钥保护方法。该方法能有效抵御恶意软件对用户本地密钥的嗅探与破解,保护用户的区块链资产不受侵害。

A user key protection method and device for block chain based on SGX

The invention discloses a key protection block chain device based on SGX users, including SGX encryption module, software protection extended instruction generation space based on trusted, and generate the space for the verification of trusted access access key; the trusted user space for key and key operation function blocks chain network; trading agreement from the receiving module, block chain network transactions, through the access key to access the SGX encryption module, key operation function calls the verification agreement on transaction; transaction structure module, based on the user's intention to initiate a transaction, through the access key to access the SGX encryption module, key operation function calls the implementation filled with the legalization of transaction information, and to block the transaction chain network broadcast. The invention also discloses the method of the block chain user key protection. This method can effectively resist the sniffing and cracking of the local key of the user by malware, and protect the user's block chain assets from being infringed.

【技术实现步骤摘要】
一种基于SGX的区块链用户密钥保护方法和装置
本专利技术涉及区块链应用领域,尤其涉及一种基于SGX的区块链用户密钥保护方法和装置。
技术介绍
云计算、互联网及大数据等新兴技术的发展,使得传统中心化系统信息数据的共享需求日益迫切。然而,中心化系统缺乏一种安全可信的机制,一直是现实的痛点。随着比特币的兴起和应用深入,底层区块链技术为解决现实痛点问题提供了有效手段,近年来引起了广泛关注。区块链技术作为比特币底层技术与基础架构而诞生,其本质上是一个去中心化的记账系统,类似一个分布式共享账本。新型区块链系统采用P2P网络技术、密码学、共识算法、智能合约和分布式数据库等技术,具有数据不可篡改、系统集体维护、信息公开透明等传统账本系统望尘莫及的特性,这使之成为一种极具潜力的、去中心化的资产管理工具与技术。以比特币为代表的公有区块链,使得区块链具有发行价值资产的重要特性。用户密钥是区块链系统中的重要数据。密钥的安全是用户权益的重要保障。在区块链系统中,数字资产(如比特币)的所有权是通过数字密钥和数字签名来确立的。数字密钥实际上并不存储于区块链网络,而是由各个用户负责保管,对他人保密。区块链的安全性正是依赖于密钥的分散控制。同时,区块链的去中心化信任与控制、所有权认证等特性也都是基于现代密码学的密钥机制实现的。按照密码学原理,只有有效的密钥才能生成有效的数字签名,只有有效的数字签名才能使链上的交易有效。这从根本上杜绝了区块链上伪造交易的可能,保障了用户的利益。然而,如果存在第三方拥有一个用户账户的密钥或其副本,则该第三方用户就能实际控制对应于该密钥的账户资产。因此,对于一个用户来说,一旦遗失或损坏密钥,用户可能会彻底失去自己对应的全部资产,并且没有任何找回手段。对于一个健壮的区块链网络,单个用户在密钥管理上的疏漏并不会影响整个网络的稳定,但用户本人却要承担全部后果。此外,现代通用操作系统并不十分安全,亦不适合以文件形式存储密钥信息。特别随着互联网技术的普及,我们的电脑长时间通过互联网暴露在外,期间恶意软件或程序可以隐秘而便捷地盗取本地数据;或由于操作者的疏忽,使恶意软件混入并安装于本地,进而威胁到所有重要的本地数据。为保护密钥,主要有两种常用方法。第一种是将密钥加密后存储。这是一种常见的安全手段,不过该方法的效果受具体加密算法与手段的影响。因为将数据简单加密并存于操作系统本地,恶意软件仍有机会持续访问,并可以在期间尝试解密并获取密钥,复杂的恶意软件甚至可以直接从内存中提取机密数据,威胁密钥安全;过于复杂的加密方法则为用户的维护带来极大负担,甚至可能因遗忘或丢失部分加密细节而“遗失”密钥。另一种相对更为安全的方法是使用物理存储,即将密钥或加密的密钥信息记录于纸、塑料、金属等物理媒介,并备份多个分别加以安全保存(如锁进保险箱)。但是,这种方法会导致使用密钥的便捷性下降。因为一旦密钥的使用频率上升(特别是对部分专业用户,或是区块链应用本身交易频繁),用户便不得不一一处理繁琐的写入操作。为兼顾安全性与可用性,专业级的硬件防篡改“钱包”技术应运而生。不像易于受到攻击的常用软、硬件,硬件钱包只提供非常有限的接口,甚至内置密钥的生成系统及相关验证程序,对外只输出私钥的签名,从而为非专业用户提供几近万无一失的安全等级,同时也具有相当的易操作性。为规避损坏与遗失的风险,硬件钱包通常十分坚固,并为用户提供物理备份私钥的途径。不过其高度专业化的架构往往需要与具体的区块链应用严密对接,从而使之难以设计成一款通用设备。目前并没有泛型区块链密钥存储硬件,仅有针对特定区块链应用(如比特币)的专业硬件钱包(如Trezor)。英特尔SGX(SoftwareGuardExtensions)是一套CPU指令,可支持应用创建安全区(enclave):应用地址空间中受保护的区域,它可确保终端操作系统环境上信息内容的机密性和完整性。试图从软件角度访问enclave的内存内容是不被允许的,即使是高级特权软件(如主操作系统,虚拟机监控器等)都不允许访问。enclave的安全边界只包含CPU和它自身。SGX创建的enclave也可以理解为一个可信执行环境TEE。SGX技术中一个CPU可以运行多个安全enclaves,支持并发执行。
技术实现思路
本专利技术提供了一种基于SGX的区块链用户密钥保护装置,在区块链应用系统的客户端节点引入SGX,该区块链用户密钥保护装置与各式区块链网络相互兼容,可作为区块链网络的节点管理组件,为区块链网络用户提供密钥保存与验证服务。一种基于SGX的区块链用户密钥保护装置,包括:SGX加密模块,基于软件防护扩展指令生成可信空间,并生成用于验证所述可信空间访问权限的访问密钥;所述可信空间用于存储区块链网络的用户密钥和密钥操作函数;交易共识模块,接收来自区块链网络的交易,通过所述访问密钥访问SGX加密模块,调用其中的密钥操作函数,实现对交易的验证共识;交易构造模块,根据用户的意图发起交易,通过所述访问密钥访问SGX加密模块,调用其中的密钥操作函数,实现交易信息的填充与合法化,并向区块链网络广播该交易。优选的,所述的SGX加密模块包括:用户空间,包括处理空间和可信空间;所述处理空间用于加载用户密钥和密钥操作函数的证书信息,所述可信空间用于存储用户密钥和密钥操作函数;SGX驱动器,通过对用户密钥和密钥操作函数的证书信息进行测量,为所述的用户密钥和密钥操作函数分配可信空间,将用户密钥和密钥操作函数的证书信息传递给SGX硬件处理器;SGX硬件处理器,对用户密钥和密钥操作函数证书信息和可信空间的完整性进行验证,根据用户密钥和密钥操作函数证书的哈希值和SGX硬件处理器特征数据的哈希值生成可信空间的访问密钥,通过访问密钥对可信空间进行加密。所述的SGX驱动器属于操作系统;SGX硬件处理器属于硬件构架。可信空间的访问密钥是由用户的区块链网络用户密钥、密钥操作函数和SGX硬件处理器的物理硬件信息交叉生成,保证了相关验证步骤的安全性和有效性。本专利技术还提供了一种基于SGX的区块链用户密钥保护方法,该方法通过引入Intel的SGX硬件到区块链网络用户的客户端节点,利用SGX的enclave(可信空间)机制,在本地构建安全的用户密钥存储空间与相应的存取操作,实现本地用户密钥的安全存储与使用。一种基于SGX的区块链用户密钥保护方法,包括:(1)获取用户密钥并存入SGX加密模块;(2)处理相关的密钥操作。步骤(1)包括:(1-1)以安全途径获取区块链认可的用户密钥;对于需要用户自主生成用户密钥的情况,生成用户密钥的步骤应在安全的设备上(如从未联网的安全PC)由密码学完备的种子与算法按照规定格式生成。对于需要区块链网络颁发的用户密钥,则通过严格保护的通信渠道,以安全的加密方式获取;或由线下的安全方式获取。(1-2)对用户密钥进行备份;为规避日后由于各种原因导致密钥遗失的风险,无论采取何种密钥保管方式,都建议用户对获取的用户密钥预先进行安全的备份。建议采用物理存储或离线安全设备存储等方式对用户密钥进行备份;并备份多份,分别予以安全存储。(1-3)从用户密钥生成公钥并存储于本地;一般情况下,用户需由用户密钥生成公钥,用公钥生成自己的区块链地址(如比特币),以便他人指定自己为交易目本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/201710989478.html" title="一种基于SGX软件防护扩展指令的区块链用户密钥保护方法和装置原文来自X技术">基于SGX软件防护扩展指令的区块链用户密钥保护方法和装置</a>

【技术保护点】
一种基于SGX的区块链用户密钥保护装置,其特征在于,包括:SGX加密模块,基于软件防护扩展指令生成可信空间,并生成用于验证所述可信空间访问权限的访问密钥;所述可信空间用于存储区块链网络的用户密钥和密钥操作函数;交易共识模块,接收来自区块链网络的交易,通过所述访问密钥访问SGX加密模块,调用其中的密钥操作函数,实现对交易的验证共识;交易构造模块,根据用户的意图发起交易,通过所述访问密钥访问SGX加密模块,调用其中的密钥操作函数,实现交易信息的填充与合法化,并向区块链网络广播该交易。

【技术特征摘要】
1.一种基于SGX的区块链用户密钥保护装置,其特征在于,包括:SGX加密模块,基于软件防护扩展指令生成可信空间,并生成用于验证所述可信空间访问权限的访问密钥;所述可信空间用于存储区块链网络的用户密钥和密钥操作函数;交易共识模块,接收来自区块链网络的交易,通过所述访问密钥访问SGX加密模块,调用其中的密钥操作函数,实现对交易的验证共识;交易构造模块,根据用户的意图发起交易,通过所述访问密钥访问SGX加密模块,调用其中的密钥操作函数,实现交易信息的填充与合法化,并向区块链网络广播该交易。2.根据权利要求1所述的区块链用户密钥保护装置,其特征在于,所述的SGX加密模块包括:用户空间,包括处理空间和可信空间;所述处理空间用于加载用户密钥和密钥操作函数的证书信息,所述可信空间用于存储用户密钥和密钥操作函数;SGX驱动器,通过对用户密钥和密钥操作函数的证书信息进行测量,为所述的用户密钥和密钥操作函数分配可信空间,将用户密钥和密钥操作函数的证书信息传递给SGX硬件处理器;SGX硬件处理器,对用户密钥和密钥操作函数证书信息和可信空间的完整性进行验证,根据用户密钥和密钥操作函数证书的哈希值和SGX硬件处理器特征数据的哈希值生成可信空间的访问密钥,通过访问密钥对可信空间进行加密。3.一种基于SGX的区块链用户密钥保护方法,其特征在于,包括:(1)获取用户密钥并存入SGX加密模块;(2)处理相关的密钥操作,包括处理由区块链网络传入交易引起的密钥操作和由用户发起交易引起的密钥操作。4.根据权利要求3所述的区块链用户密钥保护方法,其特征在于,步骤(1)包括:(1-1)以安全途径获取区块链认可的用户密钥;(1-2)对用户密钥进行备份;(1-3)从用户密钥生成公钥并存储于本地;(1-4)将用户密钥存入SGX加密模块。5.根据权利要求4所述的区块链用户密钥保护方法,其特征在于,步骤(1-4)包括:(a)生成用户密钥和密钥操作函数的证书,将用户密钥和密钥操作函数与所述证书一起上载到处理空间中;所述密钥操作函数包括密钥...

【专利技术属性】
技术研发人员:陈建海刘丁豪王津航何钦铭黄步添林威
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

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

1