一种基于机密计算和可搜索加密的知识图谱密态存储方法技术

技术编号:35295645 阅读:12 留言:0更新日期:2022-10-22 12:42
本发明专利技术公开了一种基于机密计算和可搜索加密的知识图谱密态存储方法,该方法包括以下步骤:将非原生属性图作为知识图谱的数据模型,并将属性图模型转化为KV模型;基于KV模型,采用动态可搜索加密构建属性的密态索引;根据构建的构建属性的密态索引,基于机密计算对LevelDB键值存储引擎进行安全优化,通过优化后的LevelDB键值存储引擎提供KV数据存储引擎服务。本发明专利技术即有效避免加密操作对知识图谱数据功能性的影响,又可以对知识图谱数据的机密性、完整性以及新鲜度做出安全保障,从而保障外包到云服务提供商的知识图谱数据的功能性和安全性。和安全性。和安全性。

【技术实现步骤摘要】
一种基于机密计算和可搜索加密的知识图谱密态存储方法


[0001]本专利技术涉及数据加密
,特别是一种基于机密计算和可搜索加密的知识图谱密态存储方法。

技术介绍

[0002]近年来,随着云计算和云原生技术的快速发展,数据上云逐渐成为一种主流趋势,知识图谱数据也不例外。云服务提供商提供存储基础设施对云平台用户的数据进行存储管理,从而提供弹性、稳定、可靠的数据服务。然而由于云服务提供商可以透明的对云平台用户数据进行透明的窃取,这也成为用户数据上云的一大顾虑。现已有许多加密数据库方案,其通过非确定性加密、可搜索加密、同态加密、保序加密等算法,采用相应的模型机制对数据库数据进行加密,同时支持在密态数据库下进行相应的数据服务。但是通过使用这些加密算法所构建的密态存储方案,往往需要一个可信的代理服务端,如附图1所示的CryptDB加密数据库架构,这就增加了系统的可信计算基(Trusted computing base,TCB),同时由于用户和云服务端需要将数据传输到代理服务端,并在代理端对数据进行加解密操作,该过程中的网络通信和加解密计算会给系统的性能带来很大的影响,并且尽管同态加密、可搜索加密以及保序加密等算法可以保留数据的部分功能性,但是这仍然会使得密态数据丧失许多功能性,所以已有单纯基于加密方案实现的密态存储方案,存在可信计算基过大、数据功能性弱以及读写效率低等问题。
[0003]目前,主流的知识图谱数据模型有两种,分别为RDF图模型和属性图模型。在RDF图中,边可以作为属性谓词指向一个属性值,而所有的属性值都存储为节点,这给知识图谱上的图计算带来更大的灵活性,RDF图模型可以使用关系型数据库或者原生RDF图数据库(如gStore图数据库)来存储,而基于已有的密态关系型数据库方案(如CryptDB)来对图谱进行存储,在理论上是可以实现的,但是图谱本身的查询操作需要在关系型数据库上进行大量的连接,加密关系型存储方案在连接操作的性能上很不理想,所以使用加密关系型数据库进行存储并不现实。属性图由一组节点、边、属性和标签表示,数据顶点和其边都被用唯一ID命名,并且可以存储由键

值(KV)对表示的属性。在之前所公开的专利《保护数据机密性的密态知识图谱的存储构建及检索方法》中,其是单纯基于可搜索加密来实现知识图谱的密态存储的,其使用的数据模型为非原生的属性图模型,采用键值存储引擎对最终编码后的图谱数据进行存储,该方案可以在以平均几十毫秒级的较高效率进行图的一跳子图查询以及图游走,但是仍然存在上述所描述的可信计算基过大、数据功能性较弱的问题。
[0004]机密计算(Confidential Computing)是保护使用中的数据以及内存中运行代码安全性的一种重要方式,其使用基于硬件的可信执行环境对使用中的数据提供保护,可信执行环境(Trusted Execution Environment,TEE)通常被定义为能够提供一定程度的数据完整性、数据机密性和代码完整性保证的硬件环境。可搜索加密技术是搜索技术和加密技术的结合,其可以为加密数据构建密态索引,支持在加密数据的基础上,根据所提供的密态索引陷门进行检索。

技术实现思路

[0005]鉴于此,本专利技术提供一种基于机密计算和可搜索加密的知识图谱密态存储方法,保障知识图谱数据的机密性和完整性,支持针对属性的唯一索引,且在检索过程中不会泄露原有的密态数据的内容,达到了良好的数据安全保护效果。
[0006]本专利技术公开了一种基于机密计算和可搜索加密的知识图谱密态存储方法,包括以下步骤:
[0007]步骤1:将非原生属性图作为知识图谱的数据模型,并将属性图模型转化为KV模型;
[0008]步骤2:基于KV模型,采用动态可搜索加密构建属性的密态索引;
[0009]步骤3:根据构建的构建属性的密态索引,基于机密计算对LevelDB键值存储引擎进行安全优化,通过优化后的LevelDB键值存储引擎提供KV数据存储引擎服务。
[0010]进一步地,所述步骤1包括:
[0011]每个顶点被编码为1对KV,每条边被编码为3对KV,将边属性的内容分离到独立的1对KV;
[0012]在属性图数据的检索中,通过type||vertexID进行前缀匹配,能够读取到顶点对应的所有出边和入边;通过type||vertexID||edgeType能够读取到顶点对应的任一个特定类型特定方向的边;其中,type为枚举量,表示KV数据的类型;vertexID为顶点ID;edgeType为枚举量,表示边的类型,首字节表示边的方向。
[0013]进一步地,所述步骤2包括:
[0014]在机密计算所提供的可信内存空间中,基于动态可搜索加密算法构建密态索引,以支持对属性的密态检索;
[0015]所述基于动态可搜索加密算法构建密态索引的过程为:
[0016]在TEE所提供的可信内存空间中,执行如下操作:
[0017]将关键字和密钥作为伪随机函数的输入,生成密钥K1和K2,并将K1与计数值c作为PRF的输入,生成一个标签l,以K2为密钥,对关键字所对应的id进行对称加密,生成加密后的数据d,最后将(l,d)当作一对KV通过LevelDB键值存储引擎进行落盘。
[0018]进一步地,对属性的密态检索的过程为:
[0019]在TEE所提供的可信内存空间中,执行如下操作:将关键字和密钥作为PRF的输入,生成一对陷门,将生成的陷门发送给运行在不可信内存中的索引服务;
[0020]密态索引服务将K1和计数c作为PRF的输入,生成一个标签l,并从LevelDB键值存储引擎中获取加密数据d,通过K2对其进行解密,最终获得关键字所对应的id。
[0021]进一步地,所述步骤3包括:
[0022]非原生属性图编码为KV数据后,所有的KV数据都将存储在基于机密计算安全优化后的LevelDB存储引擎,通过TEE所提供的安全内存区域,分别对LevelDB存储引擎的写缓存、预写日志和元数据日志、持久化存储文件、读缓存进行安全优化。
[0023]进一步地,安全优化后的写缓存结构将KV中的Value部分分离到不可信的内存之外,并对每个Value进行对称加密;而可信内存区域存放的SkipList结构使用哈希指针,能够对存放在可信区域外的Value部分进行完整性检验;对不可信内存进行重放攻击,经过hash检验后能够被检验出来。
[0024]进一步地,对所述预写日志的日志条目进行安全优化的过程为:
[0025]以前一个条目的hash值和当前日志数据内容作为输入产生每一个日志条目的hash值;
[0026]将当前最新日志条目的hash值存放在可信内存区域中,从而形成一条hash链,并通过异步的方式将根hash值发送给可信的后端服务,由后端服务对其进行持久化存储;
[0027]针对每个日志条目,除了对其进行hash值计算,还将对计算得出的hash值与日志的内容一起加密;
[0028]所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于机密计算和可搜索加密的知识图谱密态存储方法,其特征在于,包括以下步骤:步骤1:将非原生属性图作为知识图谱的数据模型,并将属性图模型转化为KV模型;步骤2:基于KV模型,采用动态可搜索加密构建属性的密态索引;步骤3:根据构建的构建属性的密态索引,基于机密计算对LevelDB键值存储引擎进行安全优化,通过优化后的LevelDB键值存储引擎提供KV数据存储引擎服务。2.根据权利要求1所述的方法,其特征在于,所述步骤1包括:每个顶点被编码为1对KV,每条边被编码为3对KV,将边属性的内容分离到独立的1对KV;在属性图数据的检索中,通过type||vertexID进行前缀匹配,能够读取到顶点对应的所有出边和入边;通过type||vertexID||edgeType能够读取到顶点对应的任一个特定类型特定方向的边;其中,type为枚举量,表示KV数据的类型;vertexID为顶点ID;edgeType为枚举量,表示边的类型,首字节表示边的方向。3.根据权利要求1所述的方法,其特征在于,所述步骤2包括:在机密计算所提供的可信内存空间中,基于动态可搜索加密算法构建密态索引,以支持对属性的密态检索;所述基于动态可搜索加密算法构建密态索引的过程为:在TEE所提供的可信内存空间中,执行如下操作:将关键字和密钥作为伪随机函数的输入,生成密钥K1和K2,并将K1与计数值c作为PRF的输入,生成一个标签l,以K2为密钥,对关键字所对应的id进行对称加密,生成加密后的数据d,最后将(l,d)当作一对KV通过LevelDB键值存储引擎进行落盘。4.根据权利要求3所述的方法,其特征在于,对属性的密态检索的过程为:在TEE所提供的可信内存空间中,执行如下操作:将关键字和密钥作为PRF的输入,生成一对陷门,将生成的陷门发送给运行在不可信内存中的索引服务;密态索引服务将K1和计数c作为PRF的输入,生成一个标签l,并从LevelDB键值存储引擎中获取加密数据d,通过K2对其进行解密,最终获得关键字所对应的id。5.根据权利要求1所述的方法,其特征在于,所述步骤3包括:非原生属性图编码为KV数据后,所有的KV数据都将存储在基于机密计算安全优化后的LevelDB存储引擎,通过TEE所提供的安全内存区域,分别对LevelDB存储引擎的写缓存、预写日志和元数据日志文件、持久化存储文件、读缓存进行安全优化。6.根据权利要求5所述的方法,其特征在于,安全优化后的写缓存结构将KV中的Value部分分离到不可信的内存之外,并对每个Value进行对称加密;而可信内存区域存放的SkipL...

【专利技术属性】
技术研发人员:田波赵越吴开均郝尧赵祺滕飞李天瑞林庆
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:

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

1