Page 307 - 《软件学报》2021年第10期
P. 307
张明武 等:医疗大数据隐私保护多关键词范围搜索方案 3279
Table 3 Time of initialization phase (ms)
表 3 初始化时间 (毫秒)
关键词数 MCKS-II [5] YLC18 [8] 本文方案
250 44.142 330.279 32.209
500 48.413 418.825 39.465
750 51.988 487.392 40.756
1 000 60.940 570.445 42.549
MCKS-II 初始化效率与树形图的构建有关,假定文献[5]树形图有 v 层,每层树的节点有 n 0 个子节点,其属性
值长度 n 1 =1+(v1)n 0 .EHRs 属性值分别取值 n=(750,1000,1250,1500),文献[5]方案中子节点个数 n 0 =10,树层数
v=4.那么属性值长度 n 1 =31,可逆矩阵(M 1 ,M 2 )大小为 n 1 n 1 .MCKS-II 方案中树的最大容量 n=1000,在 n=750 后,
MCKS-II 方案相比本文方案在初始化时间上更优.但考虑到现实场景,并非所有属性值都能有 10 个子属性(如
性别属性只有 2 个子属性),因此文献[5]中 MCKS-II 方案所假定 n 1 =31 理想化的树是不完全存在的.由文献[5]
的性能分析得知,将 MCKS-I 方案中置属性值 n=302.根据树形结构转换 n 1 =56,初始化时间为 44.142ms.文献[5]
构造的 n=302 树的初始化时间比本文方案在 n=500 时所需时间更长.
后续实验中,根据文献[5]在性能分析中所提 MCKS-I 方案中属性值 n=302,根据树形结构转换 n 1 =56,根据
n 1 =56n/302 转换比例来对 MCKS-II 方案进行测试实验.
考虑到非对称向量积保持加密方案的安全性,其中,l 大小应大于 h,在属性值 n 的取值上,保证索引安全的属
性值有 n=(750,1000).在属性值 n=750 时,本方案时间为 40.756ms,文献[8]初始化时间为 487.392ms,本文方案比
文献[8]方案优化约 12 倍.随着属性值 n 增加到 n=1000,本文方案比文献[8]快约 15 倍.随着属性值 n 的增大,本
文方案在系统初始化效率上会比文献[5]和文献[8]都要高.
7.2 索引生成性能分析
为加密 EHRs 文件关键词,需先构造关键词集合 W=(w 1 ,w 2 ,…,w n ),总体 EHRs 文件总共具有 n 个属性值.根
据 APSE 安全需求,属性值 n 需取较大值,实验测试中取 n=(750,1000,1250,1500).
在生成 Index 索引的过程中,将每个 EHRs 文件映射出的 n 个属性值进行加密处理.该阶段的运行时间主要
由以下两方面决定:数据库中记录条数(行数)以及索引矩阵大小(索引矢量长度).我们假定数据库中具有 1 000
个文件,每个文件的关键词属性值为 n.通过 Java 做生成 Index 索引仿真实验,生成 Index 索引时间见表 4.
Table 4 Time of building the index (ms)
表 4 建立索引所需时间 (毫秒)
关键词数 MCKS-II [5] YLC18 [8] 本文方案
750 174.293 152.433 92.885
1 000 213.672 206.729 105.887
1 250 239.631 230.767 128.561
1 500 278.324 270.335 144.281
实验分析可知:MCKS-II 方案与本文方案相对文献[8]方案在加密索引方面有明显的效率提升,且本文方案
在生成 Index 索引时比 MCKS-II 效率更高.当属性值 n=1500 时,处理 1 000 个文件索引时文献[8]方案时间为
270.335ms,MCKS-II 方案时间为 278.324ms,本文方案为 144.281ms.当属性值 n 增大时,本文方案在生成索引效
率上比文献[5]和文献[8]方案更优.
7.3 陷门生成性能
1
1
生成陷门阶段将用户搜索向量 n 个属性值加密处理,需预计算 M 和 M 的时间.生成陷门 TD 的时间可
1 2
见表 5.测试结果显示:本文方案在生成陷门 TD 时效率最高,其次是 YLC18 方案.