一种硬件级可信的图数据存储及验证方法

文档序号:36653151发布日期:2024-01-06 23:39阅读:21来源:国知局
本发明属于图数据库,尤其涉及图数据库在云服务等不可信场景下面临的数据存储和完整性验证问题,具体是一种硬件级可信的图数据存储及验证方法。
背景技术
::1、随着互联网的快速发展,数据之间的关联越来越紧密,图数据被广泛应用于实体对象之间关系的建模与存储,其在模型以及性能方面的优越性使其在金融工程以及知识工程等领域成为了技术首选。目前有不少云服务平台提供图数据库存储服务,其凭借部署便捷、运营成本低等优点成为了主流趋势,然而托管使得用户失去了数据的物理控制权,数据的安全性无法得到保障。2、针对云存储服务中的数据安全问题,目前有不少工作基于密码学方案实现安全的数据存储系统,核心思想是通过对原始数据的加密来保证数据外包后的机密性和完整性,比如integridb和cryptdb。然而图数据模型不同于关系化模型,图数据的灵活性更高,较难基于密码学实现安全且高效的数据存储方案。而另一种解决方案则是基于可信执行环境(trusted execution environment,tee)构建可信的数据存储系统,数据拥有者以及客户端均通过云存储server的tee组件进行数据的查询处理。intelsgx(intel software guardextensions)是目前应用比较广的可信硬件产品,其目标在于从硬件层面实现强制性保障,向用户提供可信执行环境,而不是依赖于固件和软件的安全状态。3、虽然sgx能够从硬件层面提供数据保护能力,但是其在实际使用中面临着一些限制问题。首先sgx最大只能支持128mb的安全内存(enclave)空间,如果应用程序中需要放入enclave内进行操作的代码和数据超过该大小限制,就需要进行安全内存的换页操作,这一操作的开销要高于普通内存的换页,因此频繁的安全内存换页操作,会带来比较大的性能开销。此外,目前的工作仅基于sgx实现了可验证的kv数据存储系统以及关系化数据存储系统,基于sgx的可信图数据存储系统还没有成熟的案例。技术实现思路1、本发明提出一种硬件级可信的图数据存储及验证方法,所述图数据存储方法包括了图数据的内存存储和持久化存储方法;所述图数据验证方法包括可验证结构mat和二次编码mpt的构造及验证方法,具体包括以下步骤:2、所述图数据存储包括以下子步骤:3、步骤1:系统接受用户的数据写入或更新请求;4、步骤2:系统在内存中构建邻接表,存储最新的顶点和边数据;5、步骤3:sgx对所述邻接表中的每个顶点及其关联边的数据计算哈希值;6、步骤4:sgx构建mat,将得到的根哈希值保存在enclave中;7、步骤5:系统按照持久化策略,将内存中的数据编码为键-值对保存到持久化存储中;8、步骤6:sgx将键-值对图数据二次进行sha256编码;9、步骤7:sgx构建mpt,将得到的根哈希值保存在enclave中;10、所述图数据验证包括以下子步骤:11、步骤8:系统接受用户的数据查询请求,生成相应的查询计划;12、步骤9:系统执行查询,从内存或持久化存储中检索相应的目标数据生成结果集;13、步骤10:系统基于目标数据在mat或mpt上检索相应的验证数据;14、步骤11:系统基于目标数据的编码信息匹配相应的节点信息,并递归式的向下访问,同时记录路径节点和哈希值,生成验证路径;15、步骤12:系统将查询结果集和验证路径发送到sgx在enclave内部进行处理;16、步骤13:sgx计算结果集中目标数据的哈希值以获得叶子结点;17、步骤14:sgx基于验证路径,自下而上计算每个节点的哈希值,最后得到根节点的哈希值;18、步骤15:sgx将计算得到的根节点的哈希值与enclave内部维护的最新根哈希值进行对比;19、步骤16:若两个值一致则说明用户的请求所查询到的数据是正确完整的;若不一致则说明数据已经遭到了篡改或破坏。20、本发明步骤2中,所述顶点和边数据所属于属性图模型,保留了点、边以及属性的个性化特征。21、本发明步骤4中,所述mat是一种由默克尔树和邻接表组成的可验证结构,其根哈希值可以看作全部叶子节点的摘要值;所述enclave是sgx种的一块固定大小安全内存。22、本发明步骤5中,所述编码是一种图数据的键-值编码方式,key由全局唯一id和所属类型的字段以及相应属性信息组成。23、本发明步骤7中,所述mpt是一种由默克尔树和前缀树组成的可验证结构,其根哈希值可以看作全部叶子节点的摘要值。24、本发明步骤11中,所述验证路径是一种包含目标数据、路径节点哈希值和验证顺序的数据结构,可以快速验证目标数据在默克尔树中的完整性。25、本发明中,26、图数据库:图数据库是以点、边为基础存储单元,以高效存储、查询图数据为设计原理的数据管理系统。图数据库通常是指基于属性图模型的图数据库。27、tee(trusted execution environment):可信执行环境是一种基于硬件和操作系统的安全架构,通过时分复用cpu或者划分部分内存地址作为安全空间,构建出与外部隔离的安全计算环境,用于部署计算逻辑,处理敏感数据。28、intel sgx:intel推出的指令集扩展,sgx通过指令集扩展以及访问控制机制,实现了应用程序的隔离执行。sgx保障运行时环境的安全可信,用户的逻辑代码与应用数据在隔离运行期间不受攻击者的恶意篡改或破坏。29、merkle:merkle树是一种可验证结构,具有一次签名大量认证的优点,在认证方面具有显著的优势。30、mpt(merkle patricia trie):即默克尔帕特里夏树,是一种由默克尔树和前缀树两种结构优势组成的可验证结构。31、mat(merkle adjacent table):结合默克尔树和邻接表的图数据可验证结构,用于验证数据完整性。32、sha256:一种哈希算法,得到的哈希值长度是256位,相当于是个长度为32个字节的数组,通常由一个长度为64的十六进制字符串来表示。33、本发明首先提出了一种属性图数据存储方法,包括内存存储结构和持久化存储结构,实现图数据在查询、计算以及更新过程中的存储。该结构保留了点、边以及属性的个性化特征,即使面对异构数据也具有很大的灵活性优势。在此基础上,本发明基于merkle验证思想以及mpt的组织方式,针对内存数据以及持久化存储数据分别设计了相应的验证方法,解决sgx保护范围仅限于enclave的问题,实现图数据在普通内存区域以及磁盘区域的完整性保护。34、本发明以实现硬件级可信的图数据存储和验证为目标,提出一种属性图数据存储方法,包括内存存储结构和持久化存储结构。针对sgx安全内存的限制,设计了图数据的可验证方法,包括内存中的mat结构和持久化数据二次编码的mpt结构。35、与现有技术相比,本发明实现了硬件级可信的图数据存储和验证,通过sgx的安全内存保护以及可验证结构的数据验证支持,在客户端与不可信图数据存储服务之间建立一种可信的关系。相较于密码学方案,sgx不仅能够减少用户对于验证信息的存储以及网络传输开销,还能减少服务端的计算开销。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1