CN116668149A - 一种基于策略隐藏和属性更新的电子医疗数据共享方法 - Google Patents
一种基于策略隐藏和属性更新的电子医疗数据共享方法 Download PDFInfo
- Publication number
- CN116668149A CN116668149A CN202310717731.7A CN202310717731A CN116668149A CN 116668149 A CN116668149 A CN 116668149A CN 202310717731 A CN202310717731 A CN 202310717731A CN 116668149 A CN116668149 A CN 116668149A
- Authority
- CN
- China
- Prior art keywords
- attribute
- data
- ciphertext
- key
- medical data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000011217 control strategy Methods 0.000 claims abstract description 26
- 230000007246 mechanism Effects 0.000 claims abstract description 14
- 238000013475 authorization Methods 0.000 claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 239000013598 vector Substances 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 3
- 201000010099 disease Diseases 0.000 description 3
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于策略隐藏和属性更新的电子医疗数据共享方法,包括:属性授权机构根据数据所有者上传的属性集合生成访问控制策略,根据预设的安全参数生成***主密钥和公钥;数据所有者利用AES算法对医疗数据明文进行加密,将医疗数据密文存储到IPFS;利用基于混淆布隆过滤器的CP‑ABE算法对AES算法的密钥进行加密得到最终密钥密文生成存储事务发送到联盟区块链进行存储;属性授权机构根据数据查询者的属性集合生成数据查询者的属性私钥和访问控制策略,数据查询者利用医疗数据密文的存储地址在IPFS***中获取医疗数据密文;并利用数据查询者的属性私钥和最终密钥密文对医疗数据密文进行解密得到数据所有者的医疗数据明文。
Description
技术领域
本发明属于网络安全技术以及数据共享领域,涉及一种基于策略隐藏和属性更新的电子医疗数据共享方法。
背景技术
随着互联网和云产业的快速发展,以及电子智能终端产品的不断更新,全球各国产生的电子医疗数据呈爆发式增长。在面对患者在不同医疗机构就诊的情况时,虽然信息化发展一定程度上解决了“数据孤岛”问题,但是电子医疗数据的安全共享是需要关注的一个难题,并且数据在传输过程中确保患者的隐私信息不被泄露。
为实现医疗数据安全共享,现有大多数方案采用基于密文策略的属性基加密算法,用户将访问策略写在密文中,只有满足访问策略的用户才可以访问相应的数据。但存在以下问题:首先,访问策略以明文的形式存储在云服务器中,恶意用户通过属性信息可以推测出与用户相关的隐私信息,导致用户隐私的暴露。其次,当用户属性发生部分变化时,需要下在全部密文来更新属性私钥和最终密文,大大增加了***的通信开销。
发明内容
有鉴于此,本发明的目的在于提供一种基于策略隐藏和属性更新的电子医疗数据共享方法,以提高医疗数据的隐私、保护减少***的通信开销和提高***的解密效率;
为了实现上述技术目的,本发明提供的具体方案如下所示:
S1:数据所有者将自身的属性集合上传至属性授权机构;属性授权机构根据数据所有者上传的属性集合生成访问控制策略返回给数据所有者;
S2:属性授权机构根据预设的安全参数进行***初始化,并生成***主密钥和公钥进行公开;
S3:数据所有者利用AES算法对医疗数据明文进行加密,将医疗数据密文存储到IPFS,IPFS返回医疗数据密文的存储地址;并根据访问控制策略利用基于混淆布隆过滤器的CP-ABE算法对AES算法的密钥进行加密得到最终密钥密文;数据所有者将其身份标识、医疗数据密文的存储地址和最终密钥密文生成存储事务发送到联盟区块链进行存储;
S4:数据查询者向属性授权机构上传其属性集合,属性授权机构根据数据查询者的属性集合生成数据查询者的属性私钥和访问控制策略并返回给数据查询者;
S5:数据查询者将身份标识、访问地址和当前时刻的时间戳打包生成访问事务发送到联盟区块链进行验证;验证通过后返回医疗数据密文的存储地址和最终密钥密文;
S6:数据查询者根据***公钥对数据查询者的访问控制策略进行验证,若验证通过,则利用医疗数据密文的存储地址在IPFS***中获取医疗数据密文;并利用数据查询者的属性私钥和最终密钥密文对医疗数据密文进行解密得到数据所有者的医疗数据明文;
S7:当数据所有者的属性集合发生变化时,数据所有者根据新的属性集合利用步骤S1-S3重新生成最终密钥密文,并将新的最终密钥密文上传至联盟区块链替换掉之前的最终密钥密文;基于新的最终密钥密文数据查询者利用步骤S4-S6获得数据所有者的医疗数据明文。
优选地,所述属性授权机构根据数据所有者上传的属性集合生成访问控制策略包括:
首先属性授权机构初始化属性空间U,再根据数据所有者的属性集合S利用线性秘密共享方法生成访问策略(Mm×n,ρ(i));其中,Mm×n为线性秘密共享矩阵,ρ(i)为映射函数表示将属性集合S中的第i个属性映射为一个整数,i=1,2,…,m,m表示属性集合S中属性的数量。
优选地,所述生成***主密钥和公钥包括:
属性授权机构随机选择正整数l1、l2、lrow和k,随机选择一个生成元y∈G1,随机选择随机数α,β∈Zp,随机选择u=|U|个随机群元素h1,h2,...,hu∈G1;其中,G1和G2为素数阶为p的循环乘法群,e:G1×G1→G2为双线性映射;设置***的公钥PK和主密钥MSK,Zp表示一个由p个元素构成的有限域:
MSK={α,β,yα}
PK={y,G1,Y=e(y,y)α,yβ,l1,k,l2,lrow,h1,h2,...,hu}
其中,u表示属性授权机构的属性空间U的属性个数。
优选地,所述利用基于混淆布隆过滤器的CP-ABE算法对AES算法的密钥进行加密得到最终密钥密文包括:
S31:数据所有者根据访问控制策略、***公钥PK和主密钥MSK利用CP-ABE算法对AES算法的密钥pkAES进行加密得到实际密文CT和解密测试密文CTt;
S32:数据所有者根据l1、l2、lrow和k利用混淆布隆过滤器将数据所有者的访问策略(Mm×n,ρ(i))映射为混淆布隆过滤器数组GBF;
S33:数据所有者将实际密文CT、解密测试密文CTt、线性秘密共享矩阵Mm×n和混淆布隆过滤器数组GBF打包生成最终密钥密文CTm,CTm={CT,CTt,Mm×n,GBF}。
优选地,所述利用CP-ABE算法对AES算法的密钥pkAES进行加密包括:
S311:选择两个向量
其中,随机数s,u2,u3,...,un,s′,v2,v3,...,vn∈Zp;
S312:对于i=1,2....,m,计算和/>其中,Mi是矩阵Mm×n的第i行向量,m是矩阵Mm×n的最大行数;
S313:选择随机数r1,r2,...,rm∈Zp,计算实际密文CT和解密测试密文CTt:
CT=(C,C′,{Ci,Di}1≤i≤m)
优选地,所述利用混淆布隆过滤器将数据所有者的访问策略(Mm×n,ρ(i))映射为混淆布隆过滤器数组GBF包括:
S321:初始化i=1,创建一个长度为l1的字符串数组,在数组的每一个位生成一个长度为lrow+l2的原始二进制字符串,其中原始二进制字符串前lrow位是把i转化为二进制并通过在左侧填充零组成lrow位的二进制字符串,后l2位是随机生成的二进制字符串;
S322:使用k个哈希函数H1(·),H2(·),...,Hk(·)对ρ(i)进行哈希处理,生成k个数组的地址,设k个哈希函数映射的值域在[0,m-1]中均匀分布,即hash函数映射到的值总是对应数组中的一个位置,分别将每个位置对应的原始二进制字符串的后l2位和整数i进行异或操作得到新的二进制字符串,并用新的二进制字符串对该位置处的原始二进制字符串进行替换得到中间混淆布隆过滤器数组;
S323:令i=i+1,重复执行步骤S322直到i=m为止,得到混淆布隆过滤器数组GBF。
优选地,所述属性授权机构根据数据查询者的属性集合生成数据查询者的属性私钥和访问控制策略包括:
属性授权机构根据数据用户的属性集合S”利用线性秘密分享方法生成数据查询者的访问策略(M′m′×n′,ρ′(r)),其中,ρ′(r)表示将属性集合S”中的第r个属映射为一个整数,r=1,2,…,m′;再根据***公钥PK、主密钥MSK和数据查询者的属性集合S”生成数据查询者的属性私钥SKS”:
SKS”={K,L,{Kρ′(r)}ρ′(r)∈S”}
Kρ′(r)=hρ′(r) t,ρ′(r)∈S”
其中,t为随机数且t∈Zp,K=yαyβt,L=yt。
优选地,所述根据***公钥对数据查询者的访问控制策略进行验证包括:
数据查询者根据l2、lrow和k利用混淆布隆过滤器计算访问控制策略(M′m′×n′,ρ′(r))中ρ′(r)的索引值Ir,r=1,2,…,m;首先判断Ir是否属于[0,m')之间,若是则判断是否存在ω使等式MS T·ω=b成立,并判断等式是否成立,若存在r使两个等式均成立,则验证通过,其中,矩阵Mm×n中的第r行表示矩阵MS中的第Ir行,b=(1,0,...,0)T,Ir表示属性集S”中第r个属性的索引值,ω表示1×n'阶的矩阵,ωr表示矩阵ω第1行第r列元素;
优选地,所述利用混淆布隆过滤器计算访问策略映(M′m′×n′,ρ′(r))中ρ′(r)的索引值Ir包括:
初始化生成一个长度为lrow+l2的字符串将ρ′(r)利用k个哈希函数H1(·),H2(·),...,Hk(·)对ρ′(r)进行哈希处理,生成k个数组的地址,将字符串W与混淆布隆过滤器数组GBF中k个地址对应的字符串同时进行异或处理得到ρ′(r)的索引值Ir。
优选地,所述利用数据查询者的属性私钥和最终密钥密文对医疗数据密文进行解密包括:
S61:数据查询者使用属性私钥SKS”对实际密文CT进行解密,获得AES算法的密钥pkAES:
pkAES=C/B
其中,Ir表示属性集S”中第r个属性的索引值,r=1,2,…,m′;
S62:根据AES算法的密钥pkAES利用AES解密算法对CTM进行解密得到数据所有者的医疗数据明文:
M=DecAES(pkAES,CTM)
其中,DecAES(·)为AES算法的解密函数,pkAES为AES算法的密钥。
本发明至少具有以下有益效果
本发明与现有技术相比,其显著优点为:1)设计了一个属性行索引混淆布隆过滤器来隐藏访问策略,其中整个属性都被隐藏,恶意用户无法从属性信息推测出用户的隐私数据。2)使用基于交易的区块链技术来实现可追溯性,存储事务用于跟踪上传者,访问事务用于跟踪访问者。3)在真正解密密文之前引入一个解密测试操作,测试用户的属性集合是否满足访问策略,提高了***的解密效率。4)针对用户属性更新情况,当用户属性发生改变时,用户只需要对最终密钥密文更新操作,而不需要对医疗数据密文进行更新,实现了细粒度属性撤销功能,降低了***的通信开销。
附图说明
图1为本发明的方法流程框架示意图;
图2为本发明中属性布隆过滤器数组中每个元素的示例图;
图3为本发明中的AES算法加密流程图;
图4为本发明中数据所有者的属性更新的流程示意图图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
请参阅图1,本发明提供一种基于策略隐藏和属性更新的电子医疗数据共享方法,包括以下步骤:
S1:数据所有者将自身的属性集合上传至属性授权机构;属性授权机构根据数据所有者上传的属性集合生成访问控制策略返回给数据所有者;
在本实施例中,数据所有者包括需要上传电子医疗数据的用户所采用的终端设备,例如电脑、手机、服务器等智能终端设备,所述数据所有者包括:患者,护士、监护人员等,数据查询者为需要查询对应电子医疗数据的用户所采用的终端设备,所述数据查询者包括:医生、监护人员、管理人员等,所述数据所有者和数据查询者的属性可以包括:姓名、身份证号、职业、工作单位、民族和所属部门等等。
优选地,所述属性授权机构根据数据所有者上传的属性集合生成访问控制策略包括:
首先属性授权机构初始化属性空间U,再根据数据所有者的属性集合S利用线性秘密共享方法(Linear Secret Sharing Scheme,LSSS)生成访问策略(Mm×n,ρ(i));其中,Mm×n为线性秘密共享矩阵,ρ(i)为映射函数表示将属性集合S中的第i个属性映射为一个整数,i=1,2,…,m,m表示属性集合S中属性的数量,属性空间包含***所拥有的属性,例如***的名称、***的类型等。
优选地,根据数据所有者的属性集合S利用线性秘密共享方法生成访问策略的示例过程如下:假设数据所有者的属性集合S={A,B,C,D},属性授权机构设置用于控制访问的规则或条件,其布尔逻辑表达式为(A and B)or(C and D),将布尔逻辑表达式转化为一个(t,n)门限访问树,随后将(t,n)门限访问树转化访问控制策略(Mm×n,ρ(i))。
在CP-ABE(基于属性的加密)中,设置属性空间U的作用是限制属性的取值范围,从而控制访问控制策略的粒度和复杂度。属性空间U通常是一个有限的集合,包含了所有可能的属性取值。在访问控制策略中,只有满足一定条件的属性才能被用于访问控制,这些条件可以通过属性空间U进行限制。
在一个CP-ABE***中,有许多属性,每个属性都有一个取值。这些属性可以用于描述参与者的身份、权限、角色等信息。通过将这些属性组合成访问控制策略,可以实现更加灵活和细粒度的访问控制。同时,属性空间U的设置也可以用于控制访问控制策略的复杂度。如果属性空间U非常大,访问控制策略需要考虑的情况就会更多,这样会导致访问控制策略的复杂度增加,从而降低***的效率和可扩展性。
例如,在一个医疗数据管理***中,属性可以包括病人的年龄、性别、疾病类型等信息。通过将这些属性组合成访问控制策略,可以实现只有特定的医生或研究人员才能访问某个病人的隐私数据。属性空间U可以设置为所有可能的疾病类型,从而限制访问控制策略的粒度,使得只有与该疾病相关的医生或研究人员才能访问该病人的隐私数据。通过限制属性空间U,可以使访问控制策略更加简洁和易于管理。
S2:属性授权机构根据预设的安全参数进行***初始化,并生成***主密钥和公钥进行公开;其中,预设的安全参数λ包括:安全等级、密钥长度、访问策略长度等信息,它们的设置会影响到ABE方案的安全性和效率。其中,安全等级是指ABE方案所能抵御的攻击类型和攻击强度,密钥长度是指生成的密钥的长度,访问策略长度是指访问策略的长度,即访问控制策略中所涉及属性的个数。
优选地,所述生成***主密钥和公钥包括:
属性授权机构随机选择正整数l1、l2、lrow和k,随机选择一个生成元y∈G1,随机选择随机数α,β∈Zp,随机选择u=|U|个随机群元素h1,h2,...,hu∈G1;其中,G1和G2为素数阶为p的循环乘法群,e:G1×G1→G2为双线性映射;设置***的公钥PK和主密钥MSK,Zp表示一个由p个元素构成的有限域:
MSK={α,β,yα}
PK={y,G1,Y=e(y,y)α,yβ,l1,k,l2,lrow,h1,h2,...,hu}
其中,u表示属性授权机构的属性空间U的属性个数。
S3:数据所有者利用AES算法对医疗数据明文进行加密,将医疗数据密文存储到IPFS,IPFS返回医疗数据密文的存储地址;并根据访问控制策略利用基于混淆布隆过滤器的CP-ABE算法对AES算法的密钥进行加密得到最终密钥密文;数据所有者将其身份标识、医疗数据密文的存储地址和最终密钥密文生成存储事务发送到联盟区块链进行存储;
优选地,所述利用AES算法对医疗数据明文进行加密以及利用CP-ABE算法对AES算法的密钥进行加密,来代替传统的采用CP-ABE算法对医疗数据明文进行加密,利用对称加密算法的加解密快速性,降低了加密明文的计算复杂度,提高了***明文加密的时间;同时,利用非对称加密算法的安全性,保证了AES密钥传输的安全性。
优选地,所述将医疗数据密文存储到IPFS中,可以避免数据泄露和篡改的风险,提高了数据的安全性、可访问性、可靠性和可信度,同时也提高了***的可扩展性和可靠性。如图3所示,AES算法的加密过程如下:
AES算法采用分组密码的方式,将明文按照128位进行分组,然后针对每个分组进行加密操作。AES算法的加密过程涉及到四个基本操作:字节替换、行移位、列混淆和轮密钥加,具体而言,首先将数据明文进行轮密钥加操作,即将轮密钥与上一轮加密的结果进行异或运算;再将结果进行字节替换操作,即将每个字节替换成S盒中对应的值;再将输出的结果进行行位移操作,即对每一行进行循环移位操作;再将输出的结果进行列混淆操作,即对每一列进行矩阵乘法操作,循环执行上述4个基本操作得到数据密文;在解密时,只需要对密文进行相反的操作,即可还原明文。
优选地,所述基于混淆布隆过滤器的CP-ABE算法引入混淆布隆过滤器GBF,通过对访问策略进行哈希操作,将访问策略转化为二进制字符串并存储至混淆布隆过滤器中,以隐藏访问策略并保护用户的隐私。
优选地,所述利用AES算法对医疗数据明文进行加密具体包括:
数据所有者使用伪随机数生成器生成一个128位的密钥pkAES,根据密钥pkAES利用AES算法加密医疗数据明文M得到医疗数据密文CTM;
CTM=EncAES(pkAES,M)
其中,EncAES(·)为AES算法的加密函数,pkAES为AES算法的密钥。
优选地,所述利用基于混淆布隆过滤器的CP-ABE算法对AES算法的密钥进行加密得到最终密钥密文包括:
S31:数据所有者根据访问控制策略、***公钥PK和主密钥MSK利用CP-ABE算法对AES算法的密钥pkAES进行加密得到实际密文CT和解密测试密文CTt;
优选地,所述利用CP-ABE算法对AES算法的密钥pkAES进行加密包括:
S311:选择两个向量
其中,随机数s,u2,u3,...,un,s′,v2,v3,...,vn∈Zp;
S312:对于i=1,2....,m,计算和/>其中,Mi是矩阵Mm×n的第i行向量,m是矩阵Mm×n的最大行数;
S313:选择随机数r1,r2,...,rm∈Zp,计算实际密文CT和解密测试密文CTt:
CT=(C,C′,{Ci,Di}1≤i≤m)
S32:数据所有者根据l1、l2、lrow和k利用混淆布隆过滤器将数据所有者的访问策略(Mm×n,ρ(i))映射为混淆布隆过滤器数组GBF;
优选地,所述利用混淆布隆过滤器将数据所有者的访问策略(Mm×n,ρ(i))映射为混淆布隆过滤器数组GBF包括:
S321:初始化i=1,创建一个长度为l1的字符串数组,在数组的每一个位生成一个长度为lrow+l2的原始二进制字符串,其中原始二进制字符串前lrow位是把i转化为二进制并通过在左侧填充零组成lrow位的二进制字符串,后l2位是随机生成的二进制字符串;
如图2所示,数组的每一个位的二进制字符串包括两部分,前者是属性lrow位由行数i所转化得到的二进制字符串,后者是l2位是随机生成的二进制字符串;例如i=1时,数组的每一个位生成的原始二进制字符串为0001(lrow=4)0110(l2=4)。
S322:使用k个哈希函数H1(·),H2(·),...,Hk(·)对ρ(i)进行哈希处理,生成k个数组的地址,设k个哈希函数映射的值域在[0,m-1]中均匀分布,即hash函数映射到的值总是对应数组中的一个位置,分别将每个位置对应的原始二进制字符串的后l2位和整数i进行异或操作得到新的二进制字符串,并用新的二进制字符串对该位置处的原始二进制字符串进行替换得到中间混淆布隆过滤器数组;
S323:令i=i+1,重复执行步骤S322直到i=m为止,得到混淆布隆过滤器数组GBF。
优选地,在本实施例中,发送至联盟区块链的存储事务Txstorage首先会被发送到数据池进行广播给联盟区块链中的其他节点进行验证,验证成功后通过PBFT共识机制打包成一致性区块进行存储,其中,IDDO是数据所有者的身份标识,/>是医疗数据密文CTM的存储地址,CTm是最终密钥密文,storageTime是当前时刻的时间戳。
S4:数据查询者向属性授权机构上传其属性集合,属性授权机构根据数据查询者的属性集合生成数据查询者的属性私钥和访问控制策略并返回给数据查询者;
优选地,所述属性授权机构根据数据查询者的属性集合生成数据查询者的属性私钥和访问控制策略包括:
属性授权机构根据数据用户的属性集合S”利用线性秘密分享方法生成数据查询者的访问策略(M′m′×n′,ρ′(r)),其中,ρ′(r)表示将属性集合S”中的第r个属映射为一个整数,r=1,2,…,m′;再根据***公钥PK、主密钥MSK和数据查询者的属性集合S”生成数据查询者的属性私钥SKS”:
SKS”={K,L,{Kρ′(r)}ρ′(r)∈S”}
Kρ′(r)=hρ′(r) t,ρ′(r)∈S”
其中,t为随机数且t∈Zp,K=yαyβt,L=yt。
S5:数据查询者将身份标识、访问地址和当前时刻的时间戳打包生成访问事务发送到联盟区块链进行验证;验证通过后返回医疗数据密文的存储地址和最终密钥密文;
S6:数据查询者根据***公钥对数据查询者的访问控制策略进行验证,若验证通过,则利用医疗数据密文的存储地址在IPFS***中获取医疗数据密文;并利用数据查询者的属性私钥和最终密钥密文对医疗数据密文进行解密得到数据所有者的医疗数据明文;
优选地,在最终密钥密文真正解密之前需要对数据查询者的访问控制策略进行验证,以防止没有访问权限的访问和数据泄露,提高了***的访问效率和解密效率;通过对数据查询者的访问控制策略进行验证,可以进一步细化访问控制,只允许满足特定属性要求的授权访问者访问数据,从而保护了明文数据的安全性和隐私性。
优选地,所述根据***公钥对数据查询者的访问控制策略进行验证包括:
数据查询者根据l2、lrow和k利用混淆布隆过滤器计算访问控制策略(M′m′×n′,ρ′(r))中ρ′(r)的索引值Ir,r=1,2,…,m;首先判断Ir是否属于[0,m')之间,若是则判断是否存在ω使等式MS T·ω=b成立,并判断等式是否成立,若存在r使两个等式均成立,则验证通过,其中,矩阵Mm×n中的第r行表示矩阵MS中的第Ir行,b=(1,0,...,0)T,Ir表示属性集S”中第r个属性的索引值,ω表示1×n'阶的矩阵,ωr表示矩阵ω第1行第r列元素;
优选地,所述利用混淆布隆过滤器计算访问策略映(M′m′×n′,ρ′(r))中ρ′(r)的索引值Ir包括:
初始化生成一个长度为lrow+l2的字符串将ρ′(r)利用k个哈希函数H1(·),H2(·),...,Hk(·)对ρ′(r)进行哈希处理,生成k个数组的地址,将字符串W与混淆布隆过滤器数组GBF中k个地址对应的字符串同时进行异或处理得到ρ′(r)的索引值Ir。
优选地,所述利用数据查询者的属性私钥和最终密钥密文对医疗数据密文进行解密包括:
S61:数据查询者使用属性私钥SKS”对实际密文CT进行解密,获得AES算法的密钥pkAES:
pkAES=C/B
其中,Ir表示属性集S”中第r个属性的索引值,r=1,2,…,m′;
S62:根据AES算法的密钥pkAES利用AES解密算法对CTM进行解密得到数据所有者的医疗数据明文:
M=DecAES(pkAES,CTM)
其中,DecAES(·)为AES算法的解密函数,pkAES为AES算法的密钥。
S7:当数据所有者的属性集合发生变化时,数据所有者根据新的属性集合利用步骤S1-S3重新生成最终密钥密文,并将新的最终密钥密文上传至联盟区块链替换掉之前的最终密钥密文;基于新的最终密钥密文数据查询者利用步骤S4-S6获得数据所有者的医疗数据明文。
优选地,当数据所有者的属性集合发生变化时,根据新的访问策略重新生成新的最终密钥密文,实现了属性的即时撤销,使CP-ABE算法支持动态访问控制,使得用户可以根据需要动态更新其访问控制策略,以适应不同的访问需求,从而提高了***的可扩展性和适应性。
在本实施例中,如图4所示,当数据所有者的属性集合由S变为时,属性授权机构根据新的属性集合/>由线性秘密分享方案(LSSS)得到新的访问策略/>数据所有者利用基于混淆布隆过滤器的CP-ABE算法对AES算法的密钥pkAES进行重加密操作,得到更新后的实际密文/>解密测试密文/>和混淆布隆过滤器数组/>将实际密文解密测试密文/> 和混淆布隆过滤器数组/>重新打包成新的最终密钥密文/>重新上传至区块链代替原来的最终密钥密文,其中,/>为一个随机数且/>
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (9)
1.一种基于策略隐藏和属性更新的电子医疗数据共享方法,其特征在于,包括:
S1:数据所有者将自身的属性集合上传至属性授权机构;属性授权机构根据数据所有者上传的属性集合生成访问控制策略返回给数据所有者;
S2:属性授权机构根据预设的安全参数进行***初始化,并生成***主密钥和公钥进行公开;
S3:数据所有者利用AES算法对医疗数据明文进行加密,将医疗数据密文存储到IPFS,IPFS返回医疗数据密文的存储地址;并根据访问控制策略利用基于混淆布隆过滤器的CP-ABE算法对AES算法的密钥进行加密得到最终密钥密文;数据所有者将其身份标识、医疗数据密文的存储地址和最终密钥密文生成存储事务发送到联盟区块链进行存储;
S4:数据查询者向属性授权机构上传其属性集合,属性授权机构根据数据查询者的属性集合生成数据查询者的属性私钥和访问控制策略并返回给数据查询者;
S5:数据查询者将身份标识、访问地址和当前时刻的时间戳打包生成访问事务发送到联盟区块链进行验证;验证通过后返回医疗数据密文的存储地址和最终密钥密文;
S6:数据查询者根据***公钥对数据查询者的访问控制策略进行验证,若验证通过,则利用医疗数据密文的存储地址在IPFS***中获取医疗数据密文;并利用数据查询者的属性私钥和最终密钥密文对医疗数据密文进行解密得到数据所有者的医疗数据明文;
S7:当数据所有者的属性集合发生变化时,数据所有者根据新的属性集合利用步骤S1-S3重新生成最终密钥密文,并将新的最终密钥密文上传至联盟区块链替换掉之前的最终密钥密文;基于新的最终密钥密文数据查询者利用步骤S4-S6获得数据所有者的医疗数据明文。
2.根据权利要求1所述的一种基于策略隐藏和属性更新的电子医疗数据共享方法,其特征在于,所述属性授权机构根据数据所有者上传的属性集合生成访问控制策略包括:
首先属性授权机构初始化属性空间U,再根据数据所有者的属性集合S利用线性秘密共享方法生成访问策略(Mm×n,ρ(i));其中,Mm×n为线性秘密共享矩阵,ρ(i)为映射函数表示将属性集合S中的第i个属性映射为一个整数,i=1,2,…,m,m表示属性集合S中属性的数量。
3.根据权利要求2所述的一种基于策略隐藏和属性更新的电子医疗数据共享方法,其特征在于,所述生成***主密钥和公钥包括:
属性授权机构随机选择正整数l1、l2、lrow和k,随机选择一个生成元y∈G1,随机选择随机数α,β∈Zp,随机选择u=|U|个随机群元素h1,h2,...,hu∈G1;其中,G1和G2为素数阶为p的循环乘法群,e:G1=G1→G2为双线性映射;设置***的公钥PK和主密钥MSK,Zp表示一个由p个元素构成的有限域:
MSK={α,β,yα}
PK={y,G1,Y=e(y,y)α,yβ,l1,k,l2,lrow,h1,h2,...,hu}
其中,u表示属性授权机构的属性空间U的属性个数。
4.根据权利要求3所述的一种基于策略隐藏和属性更新的电子医疗数据共享方法,其特征在于,所述利用基于混淆布隆过滤器的CP-ABE算法对AES算法的密钥进行加密得到最终密钥密文包括:
S31:数据所有者根据访问控制策略、***公钥PK和主密钥MSK利用CP-ABE算法对AES算法的密钥pkAES进行加密得到实际密文CT和解密测试密文CTt;
S32:数据所有者根据l1、l2、lrow和k利用混淆布隆过滤器将数据所有者的访问策略(Mm×n,ρ(i))映射为混淆布隆过滤器数组GBF;
S33:数据所有者将实际密文CT、解密测试密文CTt、线性秘密共享矩阵Mm×n和混淆布隆过滤器数组GBF打包生成最终密钥密文CTm,CTm={CT,CTt,Mm×n,GBF}。
5.根据权利要求4所述的一种基于策略隐藏和属性更新的电子医疗数据共享方法,其特征在于,所述利用CP-ABE算法对AES算法的密钥pkAES进行加密包括:
S311:选择两个向量
其中,随机数s,u2,u3,...,un,s′,v2,v3,...,vn∈Zp;
S312:对于i=1,2....,m,计算和/>其中,Mi是矩阵Mm×n的第i行向量,m是矩阵Mm×n的最大行数;
S313:选择随机数r1,r2,...,rm∈Zp,计算实际密文CT和解密测试密文CTt:
CT=(C,C',{Ci,Di}1≤i≤m)
6.根据权利要求4所述的一种基于策略隐藏和属性更新的电子医疗数据共享方法,其特征在于,所述利用混淆布隆过滤器将数据所有者的访问策略(Mm×n,ρ(i))映射为混淆布隆过滤器数组GBF包括:
S321:初始化i=1,创建一个长度为l1的字符串数组,在数组的每一个位生成一个长度为lrow+l2的原始二进制字符串,其中原始二进制字符串前lrow位是把i转化为二进制并通过在左侧填充零组成lrow位的二进制字符串,后l2位是随机生成的二进制字符串;
S322:使用k个哈希函数H1(·),H2(·),...,Hk(·)对ρ(i)进行哈希处理,生成k个数组的地址,设k个哈希函数映射的值域在[0,m-1]中均匀分布,即hash函数映射到的值总是对应数组中的一个位置,分别将每个位置对应的原始二进制字符串的后l2位和整数i进行异或操作得到新的二进制字符串,并用新的二进制字符串对该位置处的原始二进制字符串进行替换得到中间混淆布隆过滤器数组;
S323:令i=i+1,重复执行步骤S322直到i=m为止,得到混淆布隆过滤器数组GBF。
7.根据权利要求6所述的一种基于策略隐藏和属性更新的电子医疗数据共享方法,其特征在于,所述属性授权机构根据数据查询者的属性集合生成数据查询者的属性私钥和访问控制策略包括:
属性授权机构根据数据用户的属性集合S”利用线性秘密分享方法生成数据查询者的访问策略(M′m′×n′,ρ′(r)),其中,ρ′(r)表示将属性集合S”中的第r个属映射为一个整数,r=1,2,…,m′;再根据***公钥PK、主密钥MSK和数据查询者的属性集合S”生成数据查询者的属性私钥SKS”:
SKS"={K,L,{Kρ′(r)}ρ′(r)∈S″}
Kρ′(r)=hρ′(r)t,ρ'(r)∈S"
其中,t为随机数且t∈Zp,K=yαyβt,L=yt。
8.根据权利要求7所述的一种基于策略隐藏和属性更新的电子医疗数据共享方法,其特征在于,所述根据***公钥对数据查询者的访问控制策略进行验证包括:数据查询者根据l2、lrow和k利用混淆布隆过滤器计算访问控制策略(M′m′×n′,ρ′(r))中ρ′(r)的索引值Ir,r=1,2,…,m;首先判断Ir是否属于[0,m')之间,若是则判断是否存在ω使等式MS T·ω=b成立,并判断等式是否成立,若存在r使两个等式均成立,则验证通过,其中,矩阵Mm×n中的第r行表示矩阵MS中的第Ir行,b=(1,0,...,0)T,Ir表示属性集S”中第r个属性的索引值,ω表示1×n'阶的矩阵,ωr表示矩阵ω第1行第r列元素;
优选地,所述利用混淆布隆过滤器计算访问策略映(M′m×n′,ρ′(r))中ρ′(r)的索引值Ir包括:
初始化生成一个长度为lrow+l2的字符串将ρ′(r)利用k个哈希函数H1(·),H2(·),...,Hk(·)对ρ′(r)进行哈希处理,生成k个数组的地址,将字符串W与混淆布隆过滤器数组GBF中k个地址对应的字符串同时进行异或处理得到ρ′(r)的索引值Ir。
9.根据权利要求8所述的一种基于策略隐藏和属性更新的电子医疗数据共享方法,其特征在于,所述利用数据查询者的属性私钥和最终密钥密文对医疗数据密文进行解密包括:
S61:数据查询者使用属性私钥SKS”对实际密文CT进行解密,获得AES算法的密钥pkAES:
okAES=C/B
其中,Ir表示属性集S”中第r个属性的索引值,r=1,2,…,m′;
S62:根据AES算法的密钥pkAES利用AES解密算法对CTM进行解密得到数据所有者的医疗数据明文:
M=DecAES(PkAES,CTM)
其中,DecAES(·)为AES算法的解密函数,pkAES为AES算法的密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310717731.7A CN116668149A (zh) | 2023-06-16 | 2023-06-16 | 一种基于策略隐藏和属性更新的电子医疗数据共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310717731.7A CN116668149A (zh) | 2023-06-16 | 2023-06-16 | 一种基于策略隐藏和属性更新的电子医疗数据共享方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116668149A true CN116668149A (zh) | 2023-08-29 |
Family
ID=87718905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310717731.7A Pending CN116668149A (zh) | 2023-06-16 | 2023-06-16 | 一种基于策略隐藏和属性更新的电子医疗数据共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116668149A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117708847A (zh) * | 2023-12-04 | 2024-03-15 | 广州智租信息科技有限责任公司 | 基于数据压缩与加密的3c产品租赁平台数据处理方法 |
-
2023
- 2023-06-16 CN CN202310717731.7A patent/CN116668149A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117708847A (zh) * | 2023-12-04 | 2024-03-15 | 广州智租信息科技有限责任公司 | 基于数据压缩与加密的3c产品租赁平台数据处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111916173B (zh) | 基于ipfs和联盟链的医疗数据安全共享***及方法 | |
CN108881314B (zh) | 雾计算环境下基于cp-abe密文隐私保护方法及*** | |
KR102025409B1 (ko) | 블록체인을 기반으로 한 데이터 접근 관리 시스템 및 데이터 접근 관리 방법 | |
US11100082B2 (en) | Secure information retrieval and update | |
CN104683099B (zh) | 一种改进的加密/解密内容和分发加密内容的方法和装置 | |
CN104363215B (zh) | 一种基于属性的加密方法和*** | |
CN111130757A (zh) | 一种基于区块链的多云cp-abe访问控制方法 | |
CN105100083B (zh) | 一种隐私保护且支持用户撤销的基于属性加密方法和*** | |
CN108322447B (zh) | 云环境下的数据共享方法及***、终端和云服务器 | |
WO2019080281A1 (zh) | 一种电子医疗云中的健康档案访问控制***及方法 | |
CN105933345B (zh) | 一种基于线性秘密共享的可验证外包属性基加密方法 | |
CN111274594B (zh) | 一种基于区块链的安全大数据隐私保护共享方法 | |
CN107635018B (zh) | 支持紧急接入访问控制和安全去重的跨域医疗云存储*** | |
CN115296817B (zh) | 基于区块链技术和属性加密的数据访问控制方法 | |
WO2018165835A1 (zh) | 云密文访问控制方法及*** | |
CN113411323B (zh) | 基于属性加密的医疗病历数据访问控制***及方法 | |
CN105656881B (zh) | 一种电子病历的可验证外包存储和检索***及方法 | |
CN115567247A (zh) | 一种去中心化的多权威隐私保护数据访问控制方法及*** | |
CN112364376A (zh) | 一种属性代理重加密医疗数据共享方法 | |
CN116668149A (zh) | 一种基于策略隐藏和属性更新的电子医疗数据共享方法 | |
Almuzaini et al. | Key Aggregation Cryptosystem and Double Encryption Method for Cloud‐Based Intelligent Machine Learning Techniques‐Based Health Monitoring Systems | |
CN116170142B (zh) | 分布式协同解密方法、设备和存储介质 | |
CN115361126B (zh) | 一种可验证外包的部分策略隐藏属性加密方法及*** | |
CN116232639A (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN108632023A (zh) | 一种支持非单调访问结构的密文长度固定的属性基可搜索加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |