Page 306 - 《软件学报》2021年第10期
P. 306

3278                                 Journal of Software  软件学报 Vol.32, No.10, October 2021

                 差分矩阵中 1 的个数远大于 0 的个数.同时,随机矩阵的取值范围也远远大于[1,2].在本文方案中,服务器成功区
                 分的概率 P<P.因此,云服务器不能区分 TD(S)和 TD(S),因此,该方案能够有效实现搜索模式的隐藏.
                 6.2   查询隐私安全
                    查询隐私安全要求云服务器 CS 无法根据自身构造的陷门来获取存储在云服务器端医疗 EHRs 密文的属
                 性信息,能够抵抗已知明文攻击.
                       陷门与搜索索引间匹配运算过程中的已知明文攻击安全性
                    假定攻击者向 EHRs 数据库中插入一组攻击者已知的明文 I 并得到对应陷门.在不引入随机数的情况下,
                            
                 对于任何矢量 I      , I 攻击者不知道加密值  I    [, ]ij 和  I  [, ].ij 本文模型中,攻击者并不知道拆分二进制矩阵 P,
                             i                      , ka    , kb
                 将  I  [, ]ij 和  I  [, ]ij 模型划分为两个随机的 lh 大小的矩阵,以求解  I ˆ  {M I   , M I   }. 其中,(M 1 ,M 2 )是两个
                    , ka     , kb                                        k    1 k ,a  2 k ,b
                                                                                           2
                 ll 的可逆矩阵.解方程个数为 2lh,而  I     [, ]ij 和  I  [, ]ij 中有 2lh 个未知数,在(M 1 ,M 2 )中有 2l 个未知数.本方
                                                , ka     , kb
                                  2
                 案 l 取值满足 l>h,即 2l 大于 2lh,攻击者无法求解出置换矩阵,因此在搜索过程中可以抵御已知明文攻击,保证
                 了查询隐私的安全性.
                 7    性能分析

                    目前,主要的可搜索加密 SE 方案大致分为两大类:基于公钥 PKC 的 SE 方案和基于对称密钥 SKC 的 SE 方
                 案.在能够支持关键词连接查询的方案中,文献[28]是基于 PKC 的方案,文献[5]和文献[8]是同样使用了非对称向
                 量积保持加密 SKC 的方案.由于双线性的方案效率较低,本节中我们不再考虑双线性对构造陷门和关键词匹配
                 的基于 PKC 方案(文献[28]),仅与同样使用了 ASPE 方案的文献[5]和文献[8]作性能比较.
                    对于关键词总量 n 的可搜索加密系统,用 t a 表示一次点加运算所用时间,t m 表示一次点乘所用时间,T d 表示
                 生成一个长度为 d 的二进制向量所用时间,T ij 表示生成大小为 ij 的矩阵所用时间, ij 表示大小为 ij 的矩阵
                 做转置所用时间, ij 大小为 ij 的矩阵做逆所用时间.方案计算性能的理论分析见表 2.

                                   Table 2    Comparison of time complexity (n: number of keywords)
                                              表 2   方案时间复杂度(n:关键词数)
                                                                    [8]
                                    阶段          MCKS-I [5]      YLC18          本文方案
                                   初始化          T n+2T nn     T n+2hT ll    T n+2T ll
                                                              2
                                               2
                                  索引生成        2n (t a+t m)+2 nn  2h l(t a+t m)+2h ll  2hl(t a+t m)+2 ll
                                                2
                                                              2
                                  陷门生成        2n (t a+t m)+2 nn  2h l(t a+t m)+2h ll  2hl(t a+t m)+2 ll
                                  查询检索         2n(t a+t m)+t a   2hl(t a+t m)+ht a  2hl(t a+t m)+t a
                    在实际测试中,运行在 Window 7 上 64bit 台式机进行,处理器为 Intel(R) G3240,CPU 主频率为 3.10GHz,4G
                 内存 RAM.实验实现基于 Java 语言,版本为 1.80.非对称向量积保持加密方案实验仿真基于 JAMA 矩阵运算库
                 编写.
                    本方案实验中,l 的取值会对实验结果产生影响,其主要影响私钥(P,M 1 ,M 2 )的生成以及矩阵运算时矩阵的
                 大小.当 l 取值增大时,生成私钥(P,M 1 ,M 2 )以及矩阵的哈达马积运算的计算开销就会增大.随着关键词数量 n 的
                 增长,ASPE 方案构建矩阵大小也会增大,导致文献[5,8]和我们的方案所需时间也相应增加.
                 7.1   系统初始化性能
                                  [5]
                    在 MCKS-II 方案 初始化过程中,需产生两个 nn 的可逆矩阵(M 1 ,M 2 )及所需 n 位二进制矢量 S,同时需预
                                     
                                     1
                 计算   1 T 、M  T 2 、M  M 1  1  和 M .在初始化阶段,主要运算开销是矩阵的生成、计算矩阵转置和矩阵求逆,时间复杂度
                                     2
                      3
                 为 O(n ).文献[8]在初始化过程中构造 h 个可逆矩阵(M 1 ,M 2 ),大小为 ll,产生 n 位二进制向量 S,同时需预计算
                   T
                        T
                 M 和 M .本文方案在初始化阶段需构造可逆矩阵(M 1 ,M 2 ),大小为 ll,产生一个 lh 大小的二进制矩阵 P.本文
                   1    2
                 方案和文献[5]的 MCKS_II 方案在初始化时间上大大优于文献[8]的方案,在文件属性 n=1000 时,MCKS_II 所用
                 时间比稍显更优(见表 3).
   301   302   303   304   305   306   307   308   309   310   311