System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种硬件级可信的图数据存储及验证方法技术_技高网

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

技术编号:40000774 阅读:7 留言:0更新日期:2024-01-09 03:31
本发明专利技术公开了一种硬件级可信的图数据存储及验证方法。本发明专利技术首先针对属性图模型的数据特点,设计实现了图数据的内存存储结构和持久化存储结构;其次,本发明专利技术设计了图数据在内存中的可验证结构MAT和持久化存储中的可验证结构二次编码MPT。基于图数据的存储结构和可验证结构,支持安全高效的点、边数据完整性验证方法,实现了图数据在常规内存区域以及磁盘区域的存储与验证,有效解决了SGX安全内存的容量限制问题。

【技术实现步骤摘要】

本专利技术属于图数据库,尤其涉及图数据库在云服务等不可信场景下面临的数据存储和完整性验证问题,具体是一种硬件级可信的图数据存储及验证方法


技术介绍

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、本专利技术以实现硬件级可信的图数据存储和验证为目标,提出一种属性图数据存储方法,包括内存存储结构和持久化本文档来自技高网...

【技术保护点】

1.一种硬件级可信的图数据存储及验证方法,其特征在于,所述图数据存储方法包括图数据的内存存储和持久化存储方法;所述图数据验证方法包括可验证结构MAT和二次编码MPT的构造及验证方法。

2.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,所述图数据存储包括以下子步骤:

3.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,所述图数据验证包括以下子步骤:

4.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,步骤2中,所述顶点和边数据所属于属性图模型,保留点、边以及属性的个性化特征。

5.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,步骤2中,在内存中通过邻接表的方式为图顶点之间的边关系构建统一的存储结构,以加快关系查询以及图遍历操作;针对邻接表的实现,基于数组和链表结合的形式,首先使用一维数组组织内存中的顶点数据;然后通过edge指针指向与该顶点之间存在边关系的第一个目的顶点,且每个目的顶点中还会有next指针指向下一个目的顶点。

6.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,步骤4中,所述MAT是由默克尔树和邻接表组成的可验证结构,其根哈希值看作全部叶子节点的摘要值;所述Enclave是SGX种的固定大小安全内存。

7.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,步骤5中,所述编码是图数据的键-值编码方式,key由全局唯一ID和所属类型的字段以及相应属性信息组成。

8.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,步骤5中,在对图数据中的顶点进行持久化存储的过程中,顶点由一个全局唯一的ID进行标识,其次还包含顶点所属类型的字段以及顶点的相应属性信息;类型字段则实现顶点与某些类型值的关联,还作为后续条件查询的索引信息以提高查询效率;所述全局唯一ID以及类型字段构建键-值对中的Key部分,Value部分通过扩展或者嵌套的数据结构来存储顶点的属性信息。

9.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,步骤7中,所述MPT是由默克尔树和前缀树组成的可验证结构,其根哈希值看作全部叶子节点的摘要值。

10.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,步骤11中,所述验证路径是包含目标数据、路径节点哈希值和验证顺序的数据结构,用于快速验证目标数据在默克尔树中的完整性。

...

【技术特征摘要】

1.一种硬件级可信的图数据存储及验证方法,其特征在于,所述图数据存储方法包括图数据的内存存储和持久化存储方法;所述图数据验证方法包括可验证结构mat和二次编码mpt的构造及验证方法。

2.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,所述图数据存储包括以下子步骤:

3.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,所述图数据验证包括以下子步骤:

4.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,步骤2中,所述顶点和边数据所属于属性图模型,保留点、边以及属性的个性化特征。

5.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,步骤2中,在内存中通过邻接表的方式为图顶点之间的边关系构建统一的存储结构,以加快关系查询以及图遍历操作;针对邻接表的实现,基于数组和链表结合的形式,首先使用一维数组组织内存中的顶点数据;然后通过edge指针指向与该顶点之间存在边关系的第一个目的顶点,且每个目的顶点中还会有next指针指向下一个目的顶点。

6.如权利要求1所述的硬件级可信的图数据存储和验证方法,其特征在于,步骤4中,所述mat是由默克尔树和邻接表组成的...

【专利技术属性】
技术研发人员:熊天民江南张召金澈清周傲英杨艳琴
申请(专利权)人:华东师范大学
类型:发明
国别省市:

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

1