Page 297 - 《软件学报》2021年第10期
P. 297
张明武 等:医疗大数据隐私保护多关键词范围搜索方案 3269
Table 1 Terms and notations
表 1 主要符号说明
符号 说明 符号 说明
F 电子健康记录文件 EHRs TD S 向量 S 对应的搜索陷门
CT 加密的 EHRs 文件 E key, D key 对称加密/解密算法
KEY 加密 EHRs 文件的对称密钥 SK={s,P,M 1,M 2} HC 整体私钥
A,M 矩阵 P 划分二进制矩阵
W=(w 1,w 2,…,w n) EHRs 文件提取关键词集合 Q 所有位置为 1 的参考向量
I ˆ (I ˆ ˆ 1 , ,..., m I 2 I ˆ ) EHRs 文件加密的搜索索引 h=n/l 划分向量段数
S 用户搜索向量 A*B 矩阵 A 和 B 的哈达马积
2.2 哈达马积
设两个 mn 的矩阵 A=[a ij ]与 B=[b ij ](其中,i[1,m],j[1,n]),两个矩阵的哈达马积(Hadamard product)记为
A*B,哈达马积的元素定义为两个矩阵对应元素的乘积:(A*B) ij =a ij b ij ,即 A*B=|a ij b ij | mn .值得注意的是,只有大小完
全相同的矩阵才能进行哈达马积运算.
2.3 非对称向量积保持加密
在非对称的向量积保持加密方案(asymmetric scalar-product preserving encryption,简称 APSE) [17] 中,设 E Q 和
E T 分别为查询矢量和属性矢量的加密算法.设 I 为 I 的加密矢量输出,Q是 Q 的加密矢量输出,即:
i
i
I E (, )I k T , I Q M E ( , )Q k M 1 , Q
i T i i Q
其中,M 是 nn 的可逆矩阵.该方案能够保持 I 和 Q 的内积运算:
i
T
I T Q I MM 1 Q I T . Q
i i i
显然,ASPE 方案可以实现查询矢量 Q 和属性矢量 I 的内积.
i
3 问题描述
3.1 系统模型
本节中给出面向医疗云的范围可搜索加密方案系统模型,如图 1 所示.系统中存在 3 个参与角色:医疗中心
HC(health center)、医疗云服务器 CS(cloud server)和数据使用者 DU(data user).
(1) 医疗中心 HC:HC 作为完全可信的机构,拥有所有 EHRs 文件,负责对系统进行初始化并产生系统公开
参数,选取密钥和加密算法,生成自身私钥.同时,HC 负责建立关键词索引,将文件的关键词索引加密,
并将生成的文件密文和索引密文上传给医疗云服务器 CS.医疗中心 HC 提供验证数据使用者 DU 的
注册信息,并将密钥发送给授权用户 DU.值得注意的是,系统初始化过程只做 1 次;
(2) 医疗云服务器 CS:负责数据处理,包括数据存储、计算、搜索以及重加密密文的生成与发送.在本文
模型中,EHRs 被外包存储到医疗云服务器 CS 中,要求它是一种半诚实的云服务器模型,即“诚实且好
奇(honest-but-curious)”的.虽然云服务器 CS 会如实执行用户的查询请求,返回正确的检索结果,但云
服务器为了获得用户敏感数据去收集信息,并窥探用户查询的内容以及加密 EHRs 文件的各种信息;
(3) 数据用户 DU:根据自身查询请求生成搜索矢量,构建搜索陷门并向云服务器进行检索请求.
系统工作流程分为 6 个步骤.
1. 步骤 1:系统初始化、用户注册与关键词提取.
可信 HC 在初始化阶段随机生成一个 lh 比特位的二进制划分矩阵 P={1,0} lh ,选取两个 ll 的可逆矩阵
M 1 和 M 2 以及一个 n 位全部值为 1 的二进制参考向量 Q ,称为参考查询矢量.其中,l 是一个正整数且满足 l|n,h
表示划分段数 h=n/l.其中,私钥是一个三元组 SK={P,M 1 ,M 2 }.
为了保证密文的可搜索性,可信 HC 在初始化阶段从所有 EHRs 文件 F={f 1 ,f 2 ,…,f m }中提取关键词集合: