(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210766962.2
(22)申请日 2022.07.01
(71)申请人 中国电子科技 集团公司第三十 研究
所
地址 610000 四川省成 都市高新区创业路6
号
(72)发明人 田波 赵越 吴开均 郝尧 赵祺
滕飞 李天瑞 林庆
(74)专利代理 机构 成都九鼎天元知识产权代理
有限公司 51214
专利代理师 王会改
(51)Int.Cl.
G06F 21/60(2013.01)
G06F 21/62(2013.01)
G06F 21/57(2013.01)G06F 16/172(2019.01)
G06F 16/13(2019.01)
(54)发明名称
一种基于机密计算和可搜索加密的知识图
谱密态存 储方法
(57)摘要
本发明公开了一种基于机密计算和可搜索
加密的知识图谱密态存储 方法, 该方法包括以下
步骤: 将非原生属性图作为知识图谱的数据模
型, 并将属性图模型转化为KV模型; 基于 KV模型,
采用动态可搜索加密构建属性的密 态索引; 根据
构建的构建属性的密态索引, 基于机密计算对
LevelDB键值存储引擎进行安全优化, 通过优化
后的LevelDB键值存储引擎提供KV数据存储引擎
服务。 本发 明即有效避免加密操作对知识图谱数
据功能性的影 响, 又可以对知识图谱 数据的机密
性、 完整性以及新鲜度做出安全保障, 从而保障
外包到云服务提供商的知识 图谱数据的功能性
和安全性。
权利要求书2页 说明书8页 附图5页
CN 115221539 A
2022.10.21
CN 115221539 A
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进行对称加密; 而可信内存区域存放的
SkipList结构使用哈希指针, 能够对存放在可信区域外的Value部 分进行完整性检验; 对不
可信内存进行重放 攻击, 经过hash检验后能够被 检验出来。
7.根据权利要求5所述的方法, 其特征在于, 对所述预写日志的日志条目进行安全优化
的过程为:
以前一个条目的hash值和当前日志数据内容作为输入产生每一个日志条目的hash值;
将当前最新日志条目的hash值存放在可信内存区域中, 从而形成一条hash链, 并通过
异步的方式将根hash值发送给 可信的后端服 务, 由后端服 务对其进行持久化存 储;权 利 要 求 书 1/2 页
2
CN 115221539 A
2针对每个日志条目, 除了对其进行hash值计算, 还将对计算得出的hash值与日志的内
容一起加密;
所述元数据日志文件存放LevelDB键值存储引擎的元数据, 其采用全量+增量的方式进
行记录, 第一条信息为全量信息, 之后的信息为增量信息, 以此来记录LevelDB键值存储引
擎内部维护的状态。
8.根据权利要求5所述的方法, 其特征在于, 获取安全优化后的持久化存储文件结构的
过程为:
对每个Data Block和Index Block的内容进行哈希, 将得到的hash值追加到原本文件
结构后, 对持久化存储文件使用对称加密算法进 行加密, 再将加密后的内容进 行存储落盘;
最后对整个需要落盘的持久化存储文件进 行哈希, 将生成的hash值持久化存储在安全优化
后的元数据日志文件中。
9.根据权利要求8所述的方法, 其特征在于, 将优化后的每个所述持久化存储文件的
hash值缓存在内存中;
持久化存储文件以递增的数字编 号为文件名, 针对每一层持久化存储文件的文件名构
造出前缀树, 在以太坊中, 其状态树的Merkle Patricia Tree结构就是哈希树和前缀树的
结合;
针对每一层持久化存储文件, 在不可信的内存中构造Merkle Patricia Tree, 将根
hash值存储在在可信内存区域, 再通过Merkle Patricia Tree缓存的持久化存储文件hash
值, 对持久化存 储文件进行完整性检验。
10.根据权利要求5所述的方法, 其特征在于, 安全优化后的读缓存结构分为一级缓存
和二级缓存; 其中, 二级缓存为SSTab le缓存, 每个Data Block被加密存储到不可信的内存
中, 而在可信内存 中存放加密Data Block的指针、 布隆过滤器、 Index Block以及每个Data
Block的哈希;
一级缓存为明文Data Block的缓存, 存储在可信内存区域中; 一级缓存和二级缓存均
以LRU‑Cache的方式组织, 二级缓存将文件名作为Key, 一级缓存将Data Block的hash值作
为Key。权 利 要 求 书 2/2 页
3
CN 115221539 A
3
专利 一种基于机密计算和可搜索加密的知识图谱密态存储方法
文档预览
中文文档
16 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:35:06上传分享