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+(v1)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 方案.
   302   303   304   305   306   307   308   309   310   311   312