欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2017103864076
申请人: 陕西科技大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-06-12
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种个人医疗信息隐私保护方法,其特征在于,包括如下步骤:(1)系统初始化

密钥生成中心(The public key generation,PKG)选择一个大素数,取素数阶为p的两个循环群G1和G2,G1中两个独立的生成元g, e为一个双线性映射,定义为从二元向量G1×G1到群G2上的映射:e:G1×G1→G2,一个单射函数μ:GF(p)×{1,…,n}→GF(q)和抗碰撞的哈希函数H(·),其中所述双线性映射e,满足下列性质:(a)双线性性:对所有的整数a和b,均有e(ga,gb)=e(g,g)ab;

(b)非奇异性:e(g,g)≠1;

然后执行如下步骤:

(1.1)用户IDi向PKG注册,设 表示非零整数集合,用户IDi随机选取非零整数作为自己的私钥,然后计算g的幂 作为自己公钥;

(1.2)设将要分享某文件的所有用户的集合为U,为便于对用户的管理,PKG按照用户身份的属性,取一个分组函数 通过该函数对用户集合U划分为N个不同的用户群组,分别记为U1,…,UN,则有U=U1∪…∪UN;对用户IDi,通过划分函数 将用户IDi划分到群组1~N中,即 则 为用户所在组的标识,设 则也称用户ID属于群组k,群组 也记为Uk;公式中箭头表示“到”,→是从集合出发, 是从元素出发;

(1.3)然后,PKG为群组 随机选取指数ak,αk∈Zp,k∈{1,…,N}其中Zp表示模p整数集;

(1.4)计算系统公共参数: 系统主

密钥为:MSK={α1,…,αN};其中μ是一个单射函数,q是群G1中的人一个元素;

(2)密文产生

(2.1)文件拥有者(owner)对每组用户选择一个整数张成矩阵和一个随机指数s1,…,sN作为该组要分享的秘密,对划分后的群组 设该组用户数为lk,该群组对应的整数张成记为(Mk,ρk),其中ρk是矩阵Mk的行标记函数,ρk,j表示Mk的第j行,文件拥有者选取N个随机指数{sk|k∈{1,…,N}}对数据 加密,指数为随机选取,用于设计该组用户将要分享的组秘密,计算密文 其中C0表示密文C的第1项,密文第2项记为C1,……,密文第N+1项记为CN;

(2.2)文件拥有者为保护个人隐私,采用属性名和属性值相分离的方式将个人属性信息匿名处理,设文件拥有者的个人隐私记录为 对应属性名称信息为AttNameowner=(Att1,…,Attk),其中Att1,…,Attk为拥有者隐私信息的名称,为每一个名称的实际值,文件拥有者为保护隐私信息,首先选取一个哈希函数H(·),将属性取值代入到哈希函数中,计算出个人标签Tagowner=H(AttValueowner),然后选取o个哈希函数,将个人标签代入这o个哈希函数中,构造一个布鲁姆过滤器Bloom filter函数BFdatafile=BF(Tagowner)=[h1(Tagowner),h2(Tagowner),…,ho(Tagowner)];

(2.3)文件拥有者将经上述得到的Bloom filter函数BFdatafile作为文件标签,与每个群组的整数张成记(Mk,ρk),以及产生的密文C0,…,CN,一起构成含个人标签的密文文件BFdatafile,(Mk,ρk),C0,Ckk=1~N以匿名形式上传至云服务器;

(2.4)最后,每个文件是以如下形式存储于云服务器上:(3)密钥产生及分配

设用户IDi经 群组划分,所在群组 为记录用户IDi在群组 中,需要为群组中的用户重新编号,设用户IDi在群组 中序号为j,记用户编号为 也记为IDi→j;

(3.1)用户IDi随机选取 作为自己的私钥,然后计算 作为公钥;

(3.2)文件拥有者按用户所在群组Uk向用户IDi颁发密钥:a)文件拥有者对该组用户取一整数张成为(Mk,ρk),其中 文件拥有者随机选取一个向量 作为秘密向量,其中sk为文件拥有者对该群组中的用户进行分享的秘密,计算秘密分享的份额向量 其中 是矩阵Mk中的第i个行向量;

b)文件拥有者计算用户私钥 及份额验证码

c)文件拥有者随机选取一个t次多项式Rk(x)∈GFq(x)和利用单射函数μ:GF(p)×{1,…,n}→GF(q),计算 将结果记为 也记为d)文件拥有者从PKG获得用户IDi的公钥 将 安全传输给用户IDi;

(3.3)用户IDi对接收到的秘密份额 利用私钥 对SKi→j解密:

a) 用户首先利用份额验证信息 以及公钥 验证等式:是否成立;

b)对SKi→j,利用个人私钥 计算

c)用户IDi得到自己的解密密钥

(4)数据解密

记群组 的一个授权用户集合为Ak,则N个群组所对应的N个授权用户集合即为(4.1)所述授权用户利用公开的哈希函数H(·),根据所知道的文件拥有者的个人隐私记录AttValueowner计算想要解密的数据文件的用户(owner)的标签:Tagowner=H(AttValueowner),提交给云服务器;

(4.2)云服务器接收到标签Tagowner:

a)根据Tagowner首先验证该标签Tagowner是否满足密文记录信息对应的Bloom过滤器BF[h1(Tagowner)]=BF[h2(Tagowner)]=…=BF[ho(Tagowner)]=1b)如果满足,将相应的密文文件k=1~N发送给授权用户集Ak;

(4.3)群组Ak中的所有用户提交个人密钥信息 按如下方式解密密文数据:

a)由 利用RS码的Berlekamp算法,重构b)每个群组 对该组用户提交的份额 检测 是否成立,若不成立,则 为一个伪造份额,将IDi→j加入到欺骗者名单Lk;每个群组都以此方法识别欺骗者,并使欺骗者交出正确秘密份额;

(4.4)如果所有授权集合中都没有欺骗者,则授权用户按如下方式共同解密密文:a)授权集合Ak中的用户首先选择常数βk,满足 其中k=1~N;

b)计算 的盲化因子:

最后,利用密文第1项C0再解出消息