智慧医疗环境下白盒可追溯的CP-ABE 方案

2023-03-16 10:21方子旋曹素珍闫俊鉴卢彦霏何启芝王彩芬
计算机工程 2023年3期
关键词:密文解密密钥

方子旋,曹素珍,闫俊鉴,卢彦霏,何启芝,王彩芬

(1.西北师范大学 计算机科学与工程学院,兰州 730070;2.深圳技术大学 大数据与互联网学院,广东 深圳 518118)

0 概述

在5G 移动通信技术的快速发展下,物联网[1-2]成为全球关注的热点领域,智能生活[3]时代已经到来。随着现代医疗水平的不断提高,智慧医疗[4-5]作为智能生活中的重要组成部分,给人们带来了极大的便利,显著地促进了医患间的沟通与互动,医护人员可以随时获取对应患者的健康信息和最新的诊疗报告,为患者快速诊断疾病和制定治疗计划,也使患者能及时了解自身的健康情况。在智慧医疗系统中,通常将患者的健康信息存储于能提供数据访问的云服务商(Cloud Service Provider,CSP)[6-7],但云服务商通常被认为是不可信的,如果数据遭到恶意泄露,这将会对患者造成巨大伤害。因此,对患者的健康信息进行加密[8-10]是一个亟待解决的问题。

在智慧医疗系统中,患者无须提前知道具体哪位医护人员能查看其健康信息,且为了增强患者健康隐私的安全性,要求只有与患者病情相关的医护人员才能访问该患者的健康信息,即除了保护患者健康信息的安全性,还需要满足“一对多”的数据共享以及灵活的访问控制。文献[11]提出密文策略属性基加密(Ciphertext-Policy Attribute Based Encryption,CP-ABE)方案,数据拥有者(Data Ower,DO)通过在密文中嵌入制定的访问策略精准地控制解密密文的数据使用者(Data User,DU),具有细粒度的访问控制,完全符合智能医疗系统的实际需求。患者只需根据授权者的属性制定加密健康信息的访问策略,若用户的属性满足患者定义的访问策略,即可解密密文获取对应的健康信息。近年来提出的属性加密方案[12-14]是将访问策略和密文一起存储在云服务器上,但访问策略中常常会包含一些敏感信息。例如,某医院医疗系统中患者设置的访问策略为{市级医院,精神科,医师},其中属性“精神科”属于敏感信息,容易泄露患者健康隐私。为了解决这一问题,文献[15]提出一种具有完全隐藏访问策略的属性基加密(Attribute Based Encryption,ABE)方案,访问策略采用与或门形式,当授权机构为用户生成私钥时无法获取用户的GID 信息,因而避免了用户遭受恶意机构的攻击,但由于该方案将访问策略完全隐藏,使计算开销太大,不适用于实际应用。文献[16]提出一种部分隐藏访问策略的属性基加密方案,将属性分为属性名和属性值两部分,通过将访问结构的属性值隐藏来保护用户的敏感信息,但该方案无法满足大规模分布式的需求,且计算效率较低。随后文献[17]对文献[16]的方案进行了改进,并将其应用于智能健康系统。文献[18]提出一种线性秘密共享访问结构的属性基加密方案,通过使用属性过滤器灵活地隐藏了部分访问策略,高效实现了对用户的隐私保护。

除了需要考虑隐藏访问策略来保护患者的敏感信息外,还需要考虑如何解决恶意用户因贩卖患者健康信息将解密密钥泄露给第三方以谋取暴利的问题。在CP-ABE 方案中,密文的解密密钥与多个用户共享的属性集相关联,与用户身份信息无关,因此无法判断具体是谁泄露密文。例如,Alice 和Bob 的属性集都包含{精神科,医师},他们可以访问由{精神科,医师或护士}加密的所有患者的健康信息。如果解密密钥被泄露,造成患者隐私曝光,则无法判断是Alice 还是Bob 泄露的解密密钥。文献[15-18]均未考虑如何追溯恶意用户的问题。针对这种恶意泄露解密密钥的事件,文献[19]介绍一种白盒可追溯的CP-ABE 方案,通过采用shamir(t,n)门限方案实现了低成本追溯恶意用户的功能,但该方案不能将恶意用户在系统中撤销。文献[20]介绍一个黑盒可追溯的CP-ABE 方案,该方案公开恶意用户的追溯过程,即任何人都可以执行追溯算法,但存在泄露用户敏感信息的风险。文献[21]介绍一种支持白盒可追溯的属性加密方案,该方案能实现恶意用户的直接撤销,并通过构造一个与用户的身份标识相关联的二叉树来完成对恶意用户的追溯功能,但该方案既不能隐藏用户的敏感信息,又存在用户计算开销过大的问题。文献[22]提出的支持实时撤销的ABE方案中使用子集覆盖技术更新密钥,但该方案不具备恶意用户追溯功能。文献[23]介绍一种无密钥托管的CP-ABE 方案,满足白盒可追溯性和可撤销性,但不满足访问策略隐藏功能。文献[24]介绍一种基于白盒可追溯且能完全隐藏访问策略的ABE 方案,通过采用短签名算法实现用户跟踪机制,解决了私钥泄露的问题,但该方案不具备用户撤销功能。文献[25]介绍一种能解决用户和授权中心密钥滥用问题的白盒可追溯CP-ABE 方案,但该方案同样不具备用户撤销功能。

本文在智慧医疗环境下提出一种支持白盒追溯的CP-ABE 方案,并证明了其在标准模型中满足选择明文攻击下的密文不可区分性(Indistinguishability under Chosen Plaintext Attacks,IND-CPA)。在加密阶段的访问策略中仅包含属性名,用户只需提供满足对应属性名下的属性值即可解密密文获取患者健康信息,从而实现访问策略的部分隐藏功能。同时,将与用户信息绑定的二叉树的叶节点值加密嵌入解密密钥,用户信息可直接加密,无须初始化用户列表来存储用户身份,从而实现恶意用户追溯功能。此外,采用直接撤销的方式,将恶意用户信息添加至用户撤销列表,无须与属性机构(Attribute Authority,AA)通信。当用户不在撤销列表中且其属性集满足访问策略时,用户才能成功解密密文。密文更新工作由云服务商执行,减轻了属性机构的计算负担。

1 预备知识

1.1 符号说明

本文方案中的部分符合说明如表1 所示。

表1 符号说明Table 1 Symbol description

1.2 二叉树

设U为系统中总用户的集合,R为用户撤销列表。如图1 所示,二叉树T中所有叶节点与用户集合U中的每位用户u一一对应,相互关联。设|U|为总用户的数量,即二叉树T中叶节点的个数为|U|,T中的所有节点为2|U| -1。将所有的节点按宽度优先搜索进行编号。

图1 二叉树构造Fig.1 Binary tree construction

定义path(ui)为根节点root 到用户ui的路径。例如,在图1 中,path(u2)=path(4)=(0,1,4)。最小覆盖集cover(R)表示可以覆盖所有不在撤销列表R中用户的最小节点集。例如:若用户u3∈R,则cover(R)=(1,6);若用户u1,u4∈R,则cover(R)=(4,5);若用户ui∉R,则当cover(R) ∩path(ui) 时,结果仅有一个节点j,即cover(R) ∩path(ui)=j;若用户u1,u2,u4∉R,用 户u3∈R,则 有cover(R)=(1,6),path(u2)=path(4)=(0,1,4),计算得到cover(R) ∩ path(u2)=1。

1.3 线性秘密共享方案

定义一个线性秘密共享方案(Linear Secret Sharing Scheme,LSSS)∏[26],该方案具有如下特性:

1.4 q-parallel BDHE 困难问题假设

定义1若不存在多项式时间算法在不可忽略的优势ε下区分∈G2和随机元素R∈G2,则称q-parallel BDHE 困难问题假设成立。

2 方案描述

2.1 系统模型

本文方案由6 个实体构成,分别为中央机构(Center Authority,CA)、属性机构(AA)、数据拥有者(DO)、医疗云服务商(CSP)、外包计算服务商(Outsourced Computing Service Provider,OCSP)和数据使用者(DU),系统模型如图2 所示。

图2 系统模型Fig.2 System model

1)中央机构:该实体是一个完全独立且可信的第三方,可以调用系统设置算法生成系统公共参数PP。

2)属性机构:该实体可视为医疗机构,主要调用权限设置算法生成系统公钥PK 和系统私钥SK,为合适的DU 生成解密密钥,并且维护用户撤销列表R。

3)数据拥有者:该实体可视为去医院或诊所看病的患者。DO 对于自身的健康信息具有绝对的控制权和拥有权,可以指定访问策略W,并对健康信息m加密形成密文CT,然后将CT 上传至CSP。

4)医疗云服务商:该实体是半可信的,主要任务是存储密文。当执行属性撤销时,根据AA 通过秘密信道发送的更新参数k'来更新密文。

5)外包计算服务商:该实体收到DU 的转换密钥TK 与密文申请后,从医疗云服务商下载密文CT,并将密文CT 外包计算为解密密文CTpart发送给DU。

6)数据使用者:该实体可视为访问患者健康信息的医护人员和医疗研究员等。DU 将自身的属性集发送给AA 获取相应密钥,若其属性集满足密文设置的访问策略W且不在用户撤销列表R中,即可解密密文获取患者健康信息。

2.2 系统安全模型

本文定义了一个选择明文攻击下的密文不可区分性的安全模型,可通过挑战者C 和敌手A 之间的安全游戏来表示,具体如下:

4)挑战:A 向挑战者C 提交两个等长的明文m0和m1,挑战者C 随机选择一个明文mb(b∈{0,1}),根据访问策略W*=(M*,ρ*,H)和用户撤销列表R*对其加密形成CTb。最后,挑战者C 将挑战明文CTb发送给A。

5)阶段2:敌手A 重复阶段1 的询问。

6)猜测:A 输出b'∈{0,1}中的一个值作为对b的猜想。若b'=b,则称A 赢得了此游戏。A 赢得游戏的优势为。

定义2若不存在多项式时间算法使敌手能以不可忽略的优势赢得此游戏,则本文方案是INDCPA 安全的。

2.3 具体方案

本文方案具体过程如下:

5)部分解密Decryptpart(CT,TK) →(CTpart)。该算法由外包计算服务商OCSP 执行,存在以下2 种情况:

(1)如果Agid不满足访问策略W或用户ui∈R,则算法终止。

OCSP 将部分密文CTpart={C,C0,D,O,R,|W|}发送给DU。

7)密钥完整性检查。该算法由属性机构AA 执行。若解密密钥sk 被质疑,则算法检查密钥是否满足如式(5)所示的条件:

如果解密密钥sk 满足式(5),则通过密钥完整性检查,否则输出⊥。

8)追溯及撤销。该算法由属性机构AA 执行。若解密密钥sk 不能通过密钥完整性检查,则算法停止,否则算法计算:

(1)di=Deck(K')重新获得与用户u相关联的叶节点di的值。

(2)在二叉树中搜索值为di的叶节点并输出与di相关联的用户ui。若不存在这样的用户,则算法终止。

(3)若ui∉R,则将用户ui添加到用户撤销列表R中,再更新用户撤销列表R'=ui∪R。

9)密文更新。该算法由医疗云服务商CSP 执行。AA 随机选择,再通过秘密信道将其发送给CSP,CSP 输入更新参数k'、最新的用户撤销列表R'和密文CT,输出更新后的密文CT'。设cover(R')是与R'相关联的最小覆盖集。给定j'∈cover(R)存在以下2 种情况:

(1)若存在j∈cover(R)使j=j',则令Tj'=Tj。

3 安全性证明

定理1如果q-parallel BDHE 困难问题成立,那么不存在多项式时间算法敌手能够以不可忽略的优势攻破此方案。

证明如果存在一个敌手A 能够以不可忽略的优势ε攻破此方案,那么就存在挑战者C 能以的优势破解q-parallel BDHE 困难问题。C 执行如下算法:

令G1和G2为两个p阶的乘法循环群,g为G1的生成元,e是一个双线性映射e:G1×G1→G2。系统公共参数为PP=(G1,G2,p,e,g)。挑战者C 随机选择μ,且μ∈{0,1}。给定Y'=(g,gs,gα,gα2,…,)gαq,gαq+2…,gα2q。如果μ=0,则挑战者C 计算T=e(g,g)αq+1s;如果μ=1,则挑战者C 随机选择T∈G1。

假设path(di)={d0,d1,…,di},其中,d0为根节点root,di是在二叉树T中与用户ui相关联的叶节点的值。因为ui∈R*,所以有di∈NgidR*,xdi=vdi+ddi。

(4)如果ui∉R*,Agid不满足访问策略W*,则挑战者C 如情况3 所示计算L0,L1,K',K,Kx。

4)挑战:敌手A 给挑战者C 发送两个等长的明文m0和m1。挑战者C 执行如下算法:

5)阶段2:敌手A 重复阶段1 的询问。

6)猜想:敌手A 输出对b的猜想b'。若b=b',则挑战者C 输出对μ的猜想μ'=0;若b≠b',则挑战者C输出对μ的猜想μ'=1。

最后,将挑战者C 解决q-parallel BDHE 困难问题假设的优势定义如下:

由于q-parallel BDHE 困难问题是不可解的,因此本文方案是安全的。

4 性能分析

4.1 功能分析

将本文方案与文献[18,22,24]方案在是否具备可撤销、外包解密、恶意用户追踪和隐藏访问策略等功能方面进行对比,其中,√表示具备该功能,×表示不具备该功能,结果如表2 所示。由表2 可以看出,文献[18,24]方案不支持用户撤销功能,文献[18,22]方案无法实现外包解密和恶意用户追踪功能,文献[22]方案不具备隐藏访问策略功能,本文方案同时支持可撤销、外包解密、隐藏访问策略以及恶意用户追踪。因此,本文方案在功能性上具有一定优势。

表2 功能对比Table 2 Function comparison

4.2 运算成本分析

将本文方案与文献[18,22,24]方案在密钥生成、数据加密、外包解密、用户解密等阶段进行性能分析,结果如表3 所示。令E表示G1和G2群上的指数运算次数,P表示双线性配对运算次数,l表示访问策略中属性的个数,s表示用户的属性个数,n表示解密时用户满足访问策略的属性个数,r表示cover(R)的长度,h表示path(ui)的长度。

表3 计算开销对比Table 3 Computational cost comparison

由表3 可以看出,文献[24]方案在用户解密阶段的效率比本文方案略高,但它不支持用户撤销功能,且在数据加密阶段计算开销远大于本文方案。本文方案有效实现了一对多的数据共享,且对于各阶段运算成本的对比结果而言,在计算开销上具有一定优势。

4.3 实验验证

为了更直观地体现本文方案的优势,将其与文献[18,22,24]方案进行数值模拟实验。实验基于PBC-0.5.14 与cpabe-0.11 进行编写和修改,实验配对结构为有限域Fq(q是一个质数且q≡3mod 4)的椭圆曲线y2=x3+x,实验环境为64 位Ubuntu 14.04 操作系 统、Intel®CoreTMi5-6200U CPU @ 2.30 GHz 处 理器、4.00 GB RAM 的个人笔记本电脑,软件运行时的环境为JDK 1.7.5、JPBC 2.0.0 和MyEclipse 10。

图3 为文献[18,22,24]方案与本文方案在密钥生成阶段随着数据使用者属性个数的增加,属性机构为其生成密钥的时间开销对比。本文方案在密钥生成时只有1 个指数运算与用户属性相关,文献[18,24]方案在计算密钥时有多个指数运算与用户属性相关,文献[22]在计算密钥时不仅与属性个数有关,还与path(ui)的长度有关,使其产生了较重的计算负担。与本阶段效率最高的文献[24]方案相比,计算开销减少了49.5%。由图3 可以看出,本文方案在密钥生成阶段的计算开销小于文献[18,22,24]方案。

图3 密钥生成阶段的效率分析Fig.3 Efficiency analysis of key generation stage

图4 为文献[18,22,24]方案与本文方案在数据加密阶段随着访问策略的属性个数增加,数据拥有者加密密文的时间开销对比。本文方案在数据加密时主要影响因素为访问策略中属性的个数和cover(R)的长度,为了便于比较,设置r=8。由图4可以看出,数据加密阶段的计算时间几乎与访问策略中属性的个数成正比,但本文方案受访问策略中属性个数的影响最小,且与本阶段效率最高的文献[22]方案相比,计算开销减少了23.2%,因此其加密阶段的计算开销小于文献[18,22,24]方案。

图4 数据加密阶段的效率分析Fig.4 Efficiency analysis of data encryption stage

由表3 可知,只有文献[24]方案与本文方案具有外包解密功能,因此其用户解密的计算开销远远小于文献[18,22]方案。图5 为文献[24]方案与本文方案在外包解密阶段的时间计算开销对比,可以看出本文方案在外包解密阶段的时间开销小于文献[24]方案。图6 为文献[18,22,24]方案与本文方案在整个解密阶段的时间开销对比,包括外包解密的时间开销与用户解密的时间开销。由图6 可以看出,文献[18]方案和文献[22]方案在解密阶段的计算时间非常接近,虽然文献[24]在用户解密阶段的计算开销略小于本文方案,但其整个解密阶段的计算开销却远大于本文方案,且本文方案与本阶段效率最高的文献[22]方案相比,计算开销减少了10.6%。

图5 外包解密阶段的效率分析Fig.5 Efficiency analysis of outsourcing decryption stage

图6 整个解密阶段的效率分析Fig.6 Efficiency analysis of overall decryption stage

综上实验结果表明,本文方案在密钥生成阶段和数据加解密阶段的计算开销均具有一定优势。

5 结束语

本文面向智慧医疗环境,提出一种支持白盒追溯的CP-ABE 方案,其中密文由两部分构成,一部分与使用LSSS 作为访问结构的访问策略相关,另一部分与用户撤销列表相关,通过采用部分隐藏访问策略的方式来保护患者的隐私信息。为了满足追溯恶意用户的需求,构造一个将叶节点与用户身份绑定的二叉树,在用户解密密钥中嵌入叶节点的值,若发生密钥泄露事件则在解密密钥中追溯恶意用户,且采用直接撤销的方式撤销系统中的恶意用户。基于q-parallel BDHE 假设证明了该方案是安全的,通过数值分析表明该方案在功能和计算效率上相比于现有方案具有一定的优势。下一步将在加解密阶段减少使用双线性配对,构造轻量级CP-ABE 方案,使其适用于资源受限的智慧医疗系统。

猜你喜欢
密文解密密钥
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
炫词解密
解密“一包三改”
密码系统中密钥的状态与保护*
炫词解密
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
一种基于密文分析的密码识别技术*
云存储中支持词频和用户喜好的密文模糊检索