Page 298 - 《软件学报》2021年第10期
P. 298
3270 Journal of Software 软件学报 Vol.32, No.10, October 2021
W=(w 1 ,w 2 ,…,w n ).
2. 步骤 2:EHRs 文件加密.
设医疗中心 HC 拥有 m 个医疗数据文件 HER,F={f 1 ,f 2 ,…,f m }.为了减小数据存储以及使用开销,HC 选取对
称加密方案(E,D)(如 AES 算法)对外包的 EHRs 文件加密成 CT=(ct 1 ,ct 2 ,…,ct m ).
3. 步骤 3:索引生成.
ˆ
医疗中心 HC 根据提取的关键词集合 W=(w 1 ,w 2 ,…,w n ),为每个文件 f i 加密密文的 ct i 构建安全搜索索引 , I 最
i
ˆ
I
)
后以结构 (|| ct 的形式上传到云服务器 CS 中.
i
i
4. 步骤 4:陷门的生成.
4.1 用户授权:数据使用者 DU 在对医疗云上 EHRs 文件进行检索前,需要预先在医疗中心 HC 处注册.HC
根据 DU 注册信息决定是否授权.若 DU 得到授权,HC 将私钥 SK={KEY,P,M 1 ,M 2 }通过安全信道发送
给 DU;
4.2 陷门生成:若 DU 得到搜索授权,DU 根据公开的关键词集合 W=(w 1 ,w 2 ,…,w n )构建搜索向量 ,S 随后由
私钥 SK={P,M 1 ,M 2 }和搜索向量 S 生成搜索陷门 TD S ,并发送给医疗云服务器 CS.
5. 步骤 5:陷门的匹配.
ˆ
CS 收到搜索陷门 TD S 后,将收到的搜索陷门 TD S 与 EHRs 密文的安全索引 I 做搜索匹配运算,将匹配的
i
EHRs 密文发送回 DU.
6. 步骤 6:搜索确认和解密.
数据用户 DU 收到匹配 EHRs 密文之后,通过解密算法 D key i ()f 得到所要搜索的 EHRs 文件 f i .
i
Fig.1 System model
图 1 系统模型
3.2 安全模型与设计目标
对于医疗系统,在安全需求中,我们主要考虑半诚实的医疗云服务器.
半诚实医疗云服务器.
选择外包的云服务器大多是半诚实的,这类云服务器会“诚实地”按照协议中的各项流程执行协议,也会按
照索引标识符搜索对应的安全索引,完成授权用户的搜索请求后,也会如实返回结果.同时,这类云服务器又是
“好奇的”,它会在执行协议过程中利用陷门、密文以及收集的其他信息窥探用户查询内容以及加密的 EHRs 文
件信息,例如用户在云服务器上查询的具体内容以及用户提交的查询请求等.