Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于可信硬件的区块链数据隐秘去重方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:西北工业大学;西安交通大学

摘要:本发明公开了一种基于可信硬件的区块链数据隐秘去重方法,首先,面向半可信的云存储环境提出了基于可信硬件、茫然随机访问机和区块链的隐秘去重技术;同时通过对PathORAM的数据访问机制进行了优化改进,设计实现了ORAM在可信执行环境作为代理客户端的单客户端模式下的多路批次访问方法,大大提升了PathORAM在云存储场景下的性能;在此基础上,设计实现了将隐秘去重机制应用在云存储服务上的隐秘去重云存储架构,提出了一套核心调用算法并进行了安全性分析和证明。最后,本发明通过在“区块链即服务”平台上部署仿真环境对半可信云存储下的隐秘去重进行了实验验证。相比现有技术,本发明方法的隐秘性得到了极大的提升,能够隐藏去重过程和去重的次数。

主权项:1.一种基于可信硬件的区块链数据隐秘去重方法,其特征在于,包括如下步骤:步骤1:隐秘去重机制;步骤1-1:双链结构的隐秘去重和存储;步骤1-1-1:从单一存储节点层面通过强耦合的链结构构造数据的哈希链,通过默克尔树对数据日志哈希进行校验背书,抵御单个节点对用户数据的作恶行为;从存储节点集群层面通过强一致性且拜占庭容错的共识协议确保分布式存储系统中各个节点都无法恶意删除、篡改用户数据和其访问控制策略,抵御多个节点共谋;云存储服务器的存储节点作为区块链的分布式节点,具备数据存储的能力;在原本的云存储节点集群上构造区块链存储网络,将直接存储用户数据的数据存储服务器节点转换为区块链数据存储节点;通过在云存储服务器的存储集群上构建用户数据区块链和访问控制策略区块链双链;用户数据区块链-简称数据链DataChain、访问控制策略区块链-简称策略链PolicyChain;去重存储能够实现多节点云存储服务器集群中对恶意篡改、删除的抵御;数据链上存储用户上传的文件数据,策略链上存储数据链上每一份数据文件的访问控制策略;步骤1-1-2:在隐秘去重的持久化存储中,用户上传的数据文件的CE加密密文被存储在数据链上,并对其进行AES加密,对应的AES密钥被存储在策略链上;用户对文件f的所有权表现为在策略链中某个文件的访问控制列表中含有用户的id或者用户其终端本地缓存的二元组:{hf,AES.sk}.在{hf,AES.sk}.这个代表文件所有权的二元组中,AES.sk代表在数据链上用于加密用户文件f的AES密钥,hf代表用户文件的收敛加密密文的哈希值,同时也是文件的收敛加密密钥,用于在整个云存储系统中唯一标识该文件以及对文件进行收敛加密;只有当用户拥有hf时,才能向云存储服务发起读取文件f的请求,只有当用户同时拥有AES.sk的时候用户终端才拥有解密云存储服务返回的文件密文从而得到用户文件的明文的能力;对于用户文件f,当f被用户发起上传时,客户端首先对f进行CE加密得到可以用于云服务去重的收敛加密密文CE.Cf,随后CE.Cf被上传至云存储服务进行去重;建立一个SGXEnclave作为安全可信的代理客户端接收用户终端上传的CE.Cf并代理用户终端向双链发起读写请求;通过借助Enclave安全代理客户端,实现隐藏用户与用户文件之间的关联关系;步骤1-1-3:终端A对文件f进行上传时,首先计算该文件的哈希hf,并通过将该哈希发送给SGXEnclave在服务器上判断该文件是否已经被上传过;该文件初次被上传时,SGXEnclave对该文件新建其访问控制数组,该数组中仅包含终端A的用户ID,同时生成一个用于加密该文件的AES密钥,该密钥最终将返回给终端A,用于读取文件后的解密;SGXEnclave将访问控制数组与AES密钥用其秘密保有的一个私有AES密钥加密后存储到策略链上,之后发送该密钥给用户终端A,要求终端A将文件以及文件的哈希hf进行AES加密后由SGXEnclave代替终端A将该密文上传到数据链上,以确保服务器无法观测到文件的拥有者;至此,该文件被初次上传完成,之后的上传操作不会再在云存储服务器上进行额外的存储,占用额外的磁盘空间;当终端B用同一个文件哈希尝试上传该文件时,同样的,SGXEnclave首先根据哈希查看该文件是否已经被存储在双链存储中,由于终端A已经上传过该文件,因此SGXEnclave在可信内存中查询到该文件的状态为已经被上传,此时SGXEnclave向策略链发起请求,读取加密过的该文件的访问控制策略数组以及用于加密该文件的AES密钥,用SGX私有的AES密钥解密后,在访问控制数组中加入终端B的ID,随后重新加密该AES密钥与访问控制策略数组后更新策略链,最后将该AES密钥返回给终端B,终端B存储该密钥用于后续读取文件后进行解密,至此流程结束;步骤1-2:基于KvORAM的去重次数隐藏;在双链存储结构之上,云存储服务器通过区块链元数据探测到用户文件的去重次数;采用茫然随机访问机ORAM对策略链的访问进行茫然化和冗余化,隐藏每一个Key被读写的访问模式,从而模糊去重次数;利用PathORAM对访问控制策略进行存储访问隐藏这些访问控制策略的读写操作的访问模式,也即向云服务器隐藏了读写操作与目标访问控制策略之间的联系,云服务器只能观测到一条ORAM路径被访问而无法得知具体是那一个Block,也就不能观测到访问控制策略的修改频率,从而无法推断去重次数;在区块链上对PathORAM进行基于Key-Value的存储,该PathORAM的链上构造称为KvORAM;KvORAM将PathORAM的树形结构存储为Key-Value形式用于存储在区块链上,首先将PathORAM中的每一个Bucket抽象为一个Key-Value存储Entry,其中Key由上一节中的hf改为BucketID,Value则改为PID,LID,RID,BlockList这样的一个四元组;对于叶子节点Bucket,BucketID即为该叶子节点的序号,即PathORAM中的该条路径的序号,对于非叶子节点Bucket,其BucketID为一个随机字符串;Value四元组中的PID代表ParentID,LID代表LeftID,RID代表RightID,BlockList即Bucket中的块列表;每一个Bucket通过PID与其父Bucket连接,通过LID与其左子Bucket连接,通过RID与其右子Bucket连接,借助PID、LID和RID构建起PathORAM的树状结构;在KvORAM中,读取第l条路径时,首先通过l查询到该叶子节点Bucket,之后从该Bucket中读取其PID,再通过PID读取其父Bucket,如此递归读取,直到读取到根节点,即完成了第l条路径上所有Bucket的递归读取;步骤2:隐秘去重云存储服务架构;基础去重架构分为终端应用层、去重引擎层和分布式存储层三个工作层;终端应用层位于用户终端的客户端中,是用户可信的存储区,用于存储用户文件的元数据以及密钥信息,并通过请求封装器与计算层进行基于密钥身份认证的API调用通信,确保与计算层之间数据通路的可信与安全性;去重引擎层是基础去重的主要计算区域,在半可信云服务器上开辟一片SGX的安全内存区域Enclave,基于SGX的基本能力和性质,该计算区域的内存对外不可见,是可信计算的核心实现区域,通过OpenAPI模块与终端应用层建立安全连接之后进行可信安全通信;分布式存储层是数据持久化的区域,位于SSP存储服务器上,通过区块链的方式进行数据存储,在分布式存储层运行着数据链和策略链两个区块链实例,由SSP的多个存储服务器共同作为区块链的参与节点进行数据同步和分布式数据存储,确保数据的多副本一致并基于区块链的性质提供拜占庭容错;步骤2-1:分布式存储层;分布式存储层是对用户上传到云存储服务的用户数据进行持久化,持久化对象包含两部分数据,其一是用户数据文件,其二是每一个用户数据文件的访问控制策略;为确保这两部分数据在分布式存储节点之间的同步和不可恶意修改,采用区块链作为底层存储结构,利用区块链的不可篡改性质对这两类数据进行拜占庭容错,实现对半可信云服务商恶意修改用户数据的防御;分布式存储层包含数据区块链和策略区块链两个分布式存储结构,其中数据链用于存储去重后的用户数据,策略链用于存储在半可信云服务器上用于加密数据的AES对称密钥,数据链上每一份去重存储的用户文件都在策略链上对应一个AES密钥;在本层中,数据链是用户数据文件的存储区域;策略链在隐秘去重架构中扮演了PathORAM的数据存储服务器,接收可信计算层Enclave中的可信代理客户端的ORAM读写请求;策略链上的存储结构采用KvORAM的链上树形组织方式,在不破坏区块链的公开性的同时,实现了数据茫然访问,隐藏访问模式;存储底座由两个独立的HyperledgerFabric网络构造而成,通过智能合约实现用户数据和用户数据访问控制策略的链上存取,保障其不可篡改;步骤2-2:去重引擎层;去重引擎层在基础去重架构中由SGXEnclave与SGXEnclave内部访问PathORAM的接口构成;SGXEnclave此层运行在半可信云存储服务器上,利用SGXEnclave的硬件级可信计算特性,该内存区域对外不可见,云服务商无法观测到安全内存内的计算操作和数据存储;为了访问PathORAM,SGXEnclave内部存储了访问PathORAM所需要的数据结构Stash,PositionMap以及验证用户身份的UserTable;并且提供了从PathORAM读取路径,刷新路径,写回路径的算子;通过这些算子组合,提供了上传文件,读取文件,删除文件等操作;在这些操作中,涉及到无痕修改访问策略以此达到无痕去重的效果;步骤2-3:终端应用层;终端应用层部署在用户终端上,维护用户所拥有的数据文件的元数据;终端用户通过在本地存储自己在云存储服务上所存文件对应的AES密钥与CE密钥确保自己可以解密该文件,为保存服务使用者所拥有的云端文件的密钥信息,服务使用者在终端客户端中维护一个KeyStore;KeyStore以Key-Value的方式进行存储,其中Key为文件的哈希值,该哈希值同时也是文件CE加密的密钥,Value为该文件在云存储中被加密时所使用的AES密钥;用户终端在需要与隐秘去重云存储服务进行交互时,首先需要通过SGX建立一个可信信道进行通信,从而向云端进行请求和文件传输提供安全通信通道;当终端需要上传文件到隐秘去重云存储服务时,首先需要对文件在云存储服务上进行存在性验证,即通过文件哈希对比来确认该文件是否在云端存在,当文件被验证为已存在时,则只需要在隐秘去重的云存储中执行隐秘去重机制;而如果该文件被验证为不存在,则需要在隐秘去重的云存储中执行初次上传机制;步骤3:隐秘去重云存储服务架构核心算法;步骤3-1:密钥申领;用户终端要成为隐秘去重的云存储服务的合法用户,首先需要连接可信计算层的SGXEnclave实例进行密钥申领,即隐秘去重的Register阶段;步骤3-2:安全连接和身份校验;用户终端在与支持隐秘去重机制的云存储服务进行文件交互时,首先需要与SGXEnclave实例建立可信连接,SGXEnclave需要对用户身份进行核实;步骤3-3:隐秘上传;在隐秘去重的云存储服务架构中,隐秘去重云存储中用户数据文件上传的算法机制下,服务器无法知道哪个用户上传了文件,同时也无法获得有关数据去重的信息;步骤3-4:隐秘读取;在隐秘去重的云存储服务架构中,隐秘读取算法机制下,服务器无法得知哪个用户读取了对应的文件,同时用户具有在本地解密对应的文件密文的能力;步骤3-5:隐秘删除;隐秘去重的删除算法流程中,用户可以删除自己具有访问权限的文件,同时服务器无法得知用户删除了该文件。

全文数据:

权利要求:

百度查询: 西北工业大学 西安交通大学 一种基于可信硬件的区块链数据隐秘去重方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。