CN115412259A - 基于区块链的云健康系统可搜索代理签密方法及产品 - Google Patents

基于区块链的云健康系统可搜索代理签密方法及产品 Download PDF

Info

Publication number
CN115412259A
CN115412259A CN202211046323.5A CN202211046323A CN115412259A CN 115412259 A CN115412259 A CN 115412259A CN 202211046323 A CN202211046323 A CN 202211046323A CN 115412259 A CN115412259 A CN 115412259A
Authority
CN
China
Prior art keywords
key
user
ciphertext
proxy
search
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.)
Granted
Application number
CN202211046323.5A
Other languages
English (en)
Other versions
CN115412259B (zh
Inventor
陈立全
刘苏慧
余宏涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN202211046323.5A priority Critical patent/CN115412259B/zh
Publication of CN115412259A publication Critical patent/CN115412259A/zh
Application granted granted Critical
Publication of CN115412259B publication Critical patent/CN115412259B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments

Abstract

本发明公开了一种基于区块链的云健康系统可搜索代理签密方法及产品,首先密钥生成中心生成系统密钥对;患者/医生/用户进行注册,密钥生成中心为其生成身份密钥对、属性密钥、外包解密密钥、验证密钥对、搜索密钥和解密密钥;然后,患者和医生分别作为被代理者和代理者,患者和医生交互生成授权密钥和代理密钥;医生运行签密算法生成第一密文(访问密文)、第二密文(数据密文)和索引;用户生成搜索陷门请求搜索;区块链通过索引和陷门的配对完成搜索,接着云存储根据第一密文进行访问控制,成功访问则对第二密文进行外包解密;最后用户对返回的搜索结果和第二密文进行验证和完全解密,得到明文;区块链还实现身份追踪和用户撤销。

Description

基于区块链的云健康系统可搜索代理签密方法及产品
技术领域
本发明属于信息安全技术领域,具体涉及一种基于区块链的云健康系统可搜索代理签密方法及产品。
背景技术
目前的医疗系统通常以牺牲患者隐私为代价来实现高质量的医疗服务。随着便携式设备(更大的存储空间和更快的处理速度)的广泛应用和患者日益增长的隐私要求,基于云的个人健康记录(PHR)系统受到了学术界和工业界的极大关注。PHR的目的是为个人提供一个平台以管理他们来自不同医院的临床数据,甚至从共享他们的数据中获利,这反过来有助于提供更好的医疗保健服务。显然,实施PHR系统最困难的问题是如何将数据控制权交还给拥有有限存储和计算资源的患者。在大多数相关系统中,患者与医生/医院之间的关系都被忽略或模糊了,它们直接将医院作为数据共享和管理的主体,这与PHR系统的设计初衷背道而驰。此外,公共云存储的广泛部署和采用能够打破医院的限制并将患者的医疗数据整合成一个整体。虽然云存储可以解决患者资源有限和无法管理自己数据的问题,但因为云通常被假设为是半可信的,这种不受患者物理控制的远程存储将不可避免地导致安全和隐私问题。
基于身份的代理签名(IBPS)是一种加密原语,可以实现实体之间对代理的有效授权。然而,很少有工作利用IBPS的潜力来解决PHR系统中的授权问题。大多数情况下,传统的加密算法如高级加密标准(AES)算法可以保证数据的机密性,但无法实现细粒度的数据共享,这意味着数据所有者需要时刻在线响应每一个数据访问请求。因此,这种采用传统加密方法来确保记录机密性的PHR系统无法被广泛采用,它所需的患者开销和不便远远超过了共享数据的回报。
搜索是构建实用PHR共享系统的一个重要功能,将搜索能力赋予云存储服务器是一种简单而直接的方法。然而,基于明文索引的搜索将不可避免地将过多的患者和用户(搜索者)的私人信息暴露给半可信的云服务器,即使患者的医疗数据在上传到云端之前已经被加密。因此,可搜索加密(基于密文的搜索)技术被提出。与对称密钥可搜索加密技术相比,基于公钥的可搜索加密技术类型由于其密钥管理更简单,被认为更适合云存储数据场景。然而,由云服务器执行的搜索不能保证返回的搜索结果的完整性,这意味着云可能会故意返回错误或不完整的结果。此问题出现的本质原因是云服务器的权力过于集中,也就是说,数据存储和搜索都在一个权限内,没有可信的第三方就无法对存储完整性和搜索进行有效的验证和审计。
区块链由于其显着的特性,如分布式、不变性、可追溯性和匿名性,越来越多地应用于安全领域。从技术上讲,根据所有权区分,存在两种类型的区块链,许可区块链(例如Hyperledger Fabric)和无许可区块链(例如Ethereum)。在这两种类型的区块链中,用户向区块链提交交易以读取或写入分布式账本。然后,为了维护账本的一致性,强制执行共识算法。最后,有效交易被打包成块,其中新生成的块与具有哈希值的旧块相关联。这样,在不改变存储在后面块中的哈希值的情况下,就不能改变前面的块。基于此,许多基于区块链的搜索方案被提出并用来保证查询完整性,以解决集中搜索引起的搜索隐私问题。
然而,大多数将区块链与PHR系统集成的现有公开文献仅提供了一个缺乏可用性的概念性平台,因为它们都需要数据所有者的持续在线以完成访问授权,这超过了使用数据共享平台可获得的收益。也有一些文章试图通过采用适当的加密原语(如属性基加密(ABE))来解决此问题,而这些系统中的区块链仅负责执行有限的功能,例如搜索结果的验证或不可变记录。更重要的是,实现真正以患者为中心的PHR共享系统需要妥善、高效地解决来源认证和责任审计。但是目前来看,这方面目前没有发现有效的方法。
发明内容
本发明正是针对现有技术中存在的问题,提供一种基于区块链的云健康系统可搜索代理签密方法及产品,首先密钥生成中心进行系统初始化,生成系统密钥对;然后患者、医生和用户进行注册,密钥生成中心为其生成身份密钥对、属性密钥、外包解密密钥、验证密钥对、搜索密钥和解密密钥;实施代理签名前,患者(被代理者)和医生(代理者)交互生成授权密钥和代理密钥;医生(代理者)运行签密算法生成第一密文(访问密文)、第二密文(数据密文)和索引;搜索前,用户生成搜索陷门;在搜索时,区块链首先通过索引和陷门的配对完成搜索,接着云存储使用第一密文器运行访问控制,若成功访问则对第二密文进行外包解密;随后,用户对返回的搜索结果和第二密文进行验证和完全解密,得到明文;此外,区块链还可实现身份追踪和用户撤销。此发明通过将IBPS、ABE与区块链相结合来同时解决PHR系统中访问授权和搜索结果不可验证这两个难题,同时支持身份授权签名和可信的搜索。为了实现上述目的,本发明采取的技术方案是:基于区块链的云健康系统可搜索代理签密方法,包括如下步骤:
S1,系统初始化:密钥生成中心生成系统密钥对,公开系统公钥,保密系统私钥;所述系统密钥对(MPK,MSK)的表达式如下:
MPK=(G,GT,p,e,g,H1,H2,H3,H4,H5,gα,gβ,e(g,g)γ,gc)
MSK=(α,β,gγ,c)。
其中,G和GT为阶数是大素数p的乘法群,g为G的生成元;e为对称双线性映射,e:G×G→GT;H1,H2,H3,H4,H5为抗碰撞哈希函数;α,β,γ,c为从群
Figure BDA0003822524240000031
中随机选取的随机值,群
Figure BDA0003822524240000032
为模p的整数组成的群;
S2,用户注册:密钥生成中心为患者/医生/用户生成一对身份密钥,随后将身份公钥公开在区块链中,将身份私钥秘密地返回给患者/医生/用户;所述身份密钥对的表达式为:
IPKx=H1(GIDx),ISKx=IPKα
其中,IPKx为身份公钥;ISKx为身份私钥;GIDx为用户身份号;
S3,密钥生成:患者/医生/用户与密钥生成中心交互生成属性密钥、验证密钥、外包解密密钥、搜索密钥和解密密钥,其中,搜索密钥存储在区块链中,外包解密密钥由云存储器持有,而验证公钥公开,验证私钥和解密密钥由患者/医生/用户保密;
S4,代理授权:患者和医生分别作为被代理者和代理者,交互生成授权密钥和代理密钥,医生掌握可用于签名的代理密钥;
S5,签密:医生使用代理密钥对明文进行签密生成第一密文和第二密文,并根据关键词集合生成搜索索引;所述第一密文和第二密文存在云存储器中,索引存在区块链中;
S6,陷门生成:用户根据关键词集合生成搜索陷门,随后将陷门发送到云存储器;所述陷门的表达式为:
Figure BDA0003822524240000041
其中,KwStp={kw′1,...,kw′m}是包含m关键词集合,k为关键词循环的下标,已知索引中的关键词集合包含n个关键词,j是与索引关键词集合中对应的关键词循环下标;
S7,搜索、访问和外包解密:区块链首先通过索引和陷门的配对完成搜索,接着云存储器运行访问控制,若成功访问则对第一密文进行外包解密,将解密结果和对应的第二密文返回给用户;所述区块链完成索引和陷门的配对的公式为:
Figure BDA0003822524240000042
其中,(IX1,IX2,IXi)是索引,SchK是搜索密钥;
所述云存储器完成访问控制和外包解密的公式为:
Figure BDA0003822524240000043
其中,I={i:ρ(i)∈AtS}满足∑i∈Iwiλi=s,(Ci,C′i)是第一密文,(ODK1,ODKρ(i))是外包解密密钥;
S8,验证和完全解密:用户对返回结果进行验证,通过后执行完全解密得到明文。
作为本发明的一种改进,还包括步骤S9,追踪和撤销:患者或第三方向区块链发起追踪请求,输入为身份信息和对应的密文,区块链使用追踪公式完成签名验证,输出对应的身份信息;若发现用户过期或违法,执行进一步的用户撤销,即为将对应用户在区块链和云存储器中的搜索密钥和外包解密密钥标记为无效。
为了实现上述目的,本发明还采取的技术方案是:基于区块链的云健康系统可搜索代理签密产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述方法的步骤。
与现有技术相比,本发明的技术优势在于:
(1)为同时保证数据的机密性和认证,设计了一种结合IBPS和ABE的签密方案,命名为BC-SPSC。其中,IBPS实现真正以患者为中心的数据管理和共享,ABE实现细粒度的访问控制,避免数据所有者繁琐的授权。
(2)通过用户协助的密钥生成,实现抗密钥托管的方案。此外,该方案通过外包解密实现高效的用户解密。
(3)BC-SPSC方案可实现区块链支持的多关键字搜索,其中所有用户都可以通过区块链实现基于关键字的搜索,相对的,云存储器仅为满足访问控制结构的用户进行外包解密。
(4)该方案基于区块链中存储的数据的不可篡改性和智能合约的自动执行,避免了恶意云服务器导致的搜索结果不完整,从而削弱了云存储中心的权力。
(5)本案方法可通过区块链基于代理签名实现身份追踪和用户级撤销,更加符合实际需求。
附图说明
图1是本发明方法的系统框架图;
图2是本发明方法的流程步骤图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
实施例1
本方案中的符号及其定义如表1所示:
表1
符号 定义
κ 安全参数
G,G<sub>T</sub>(p) 阶数为p的乘法群
g 群G的生成元
MPK,MSK 系统公私钥对
H<sub>1</sub>-H<sub>5</sub> 五个抗碰撞哈希函数
GID 用户身份号
IPK<sub>x</sub>,ISK<sub>x</sub> 用户身份密钥对
PxFl 代理授权文件
AxSt=(M,ρ) 访问控制结构
PK,PxK 授权密钥、代理密钥
AtS 用户属性集合
SchK/SchK′ 搜索密钥
AKP 用户属性密钥
ODK、DK 外包解密密钥、解密密钥
VK=(VPK,VSK) 用户验证密钥对
OCT、CT 第一密文,第二密文
IX 搜索索引
Trpd 搜索陷门
KwS<sub>ix</sub>,KwS<sub>tp</sub> 用于索引构建和陷门构建的关键词集合
MdFl 医疗文件(明文)
Rst<sub>d</sub>,Rst<sub>v</sub> 外包解密结果、签名验证结果
如图1所示,本发明提出的基于区块链的云健康系统可搜索代理签密方法,包括六个参与者:
(1)密钥生成中心(KGC)是一个可信服务器,负责初始化系统并生成用户身份密钥、搜索密钥和解密密钥。
(2)患者(被代理者)可以使用其身份密钥将授权文件包括访问结构代理给医生(代理者)。
(3)医生(代理者)负责将数据签密,生成密文和搜索索引。另一方面,医生在需要访问患者的历史医疗数据时充当用户。
(4)云存储器(CS)是一个半可信(可以获取访问结构和用户属性集而不是明文)服务器,其中存储了密文的属性结构相关部分,用于判断用户是否可以访问密文。此外,CS负责管理用户的外解密密钥,完成第一模式的撤销用户。
(5)许可区块链分为核心部分和边缘部分。核心部分由属于多家医院的资源丰富的计算服务器组成,它们负责执行智能合约并通过共识维护账本的一致性。边缘部分是患者、医生和用户,他们可以提出交易来触发智能合约,包括存储合约、搜索合约和追踪合约。
(6)用户是希望访问数据的参与者,他们使用陷门进行搜索请求和外包解密请求。
图2展示了整个方案的数据交互过程,基于区块链的云健康系统可搜索代理签密方法,具体实施步骤描述如下:
步骤S1:系统初始化。输入为一个安全参数κ,KGC执行以下步骤:
(1.1)选择两个阶为p的乘法循环群G,GT和一个双线性配对e:G×G→GT。g是群G的生成元。
(1.2)选择五个抗碰撞哈希函数:H1:{0,1}*→G,
Figure BDA0003822524240000071
Figure BDA0003822524240000072
H3:GT→{0,1}*,
Figure BDA0003822524240000073
(1.3)随机选择四个元素
Figure BDA0003822524240000074
然后计算系统公私钥对如下:
MPK=(G,GT,p,e,g,H1,H2,H3,H4,H5,gα,gβ,e(g,g)γ,gc)
MSK=(α,β,gγ,c)。
步骤S2:用户注册。KGC为持有身份号GIDx的患者/医生/用户生成一对身份密钥;随后将身份公钥公开在区块链中,而将身份私钥秘密地返回给患者/医生/用户;身份密钥对的表达式为:
IPKx=H1(GIDx),ISKx=IPKα
步骤S3:密钥生成。持有身份号CIDx的患者/医生/用户与KGC交互,生成属性密钥、验证密钥、外包解密密钥、搜索密钥和解密密钥,具体步骤如下:
S31:KGC根据属性集合AtS生成如下属性密钥,随后将属性密钥返回患者/医生/用户,KGC随机选择参数
Figure BDA0003822524240000081
计算:
Figure BDA0003822524240000082
S32:持有身份号GIDx的患者/医生/用户随机选择参数
Figure BDA0003822524240000083
使用自己的身份私钥ISKs来计算外包解密密钥和验证密钥对:
Figure BDA0003822524240000084
VK=[VSK1=z,VSK2=gt·z,VPK1=gz,
Figure BDA0003822524240000085
随后,持有身份号GIDx的患者/医生/用户将ODK和验证公钥VPK发送给KGC,同时将ODK发送到云存储器中。
S33:KGC计算t′=H4(VPK1||GIDx||ODK1||{ODKi})来验证以下等式是否成立:
e(g,VPK2)=e(gα,H1(GIDx)t′)·e(gα,VPK1).
如果验证通过,KGC为用户生成解密密钥和搜索密钥如下:
DK=gz·γ·gz·c·t,
Figure BDA0003822524240000086
随后KGC将搜索密钥存在区块链中,将DK通过秘密信道返回给用户。
其中,SchK是搜索模式一中的搜索密钥,SchK′是搜索模式二中的搜索密钥。
步骤S4:代理授权。此步骤需要患者(被代理者)和医生(代理者)交互,具体计算过程如下:
S41:身份号为GIDa的患者(被代理者),指定一个授权代理文件PxFl和一个访问结构AxSt=(M,ρ),然后,患者随机选择参数
Figure BDA0003822524240000091
使用自己的身份私钥计算授权密钥如下:
Figure BDA0003822524240000092
患者将(PxFl,AxSt,PK)发送给代理者。
S42:身份号为GIDp的医生(代理者)验证以下等式是否成立:
Figure BDA0003822524240000093
如果验证通过,医生(代理者)使用自己的身份私钥计算代理密钥如下:
Figure BDA0003822524240000094
步骤S5:签密。医生(代理者)根据访问结构AxSt=(M,ρ)对医疗数据MdFl={0,1}*进行签密以保证数据机密性和完整性,其中M是一个访问矩阵,Mi是访问矩阵的第i行,ρ是对应的映射函数。具体实施步骤如下:
S51:医生(代理者)随机选择对称加密密钥SyK∈GT,计算下列参数:
s=H2(SyK,MdFl),
C0=gs,C1=SyK·e(g,g)γ·s,
Figure BDA0003822524240000095
S52:医生(代理者)随机选择一组数v2,...,vl构成向量
Figure BDA0003822524240000096
对访问矩阵的每一行Mi,计算
Figure BDA0003822524240000097
随后,医生(代理者)随机选择一组数{di}来计算密文如下:
Figure BDA0003822524240000098
S53:根据时间戳T,医生(代理者)使用代理密钥计算签名如下:
σ1=H2(e(g,ISKp)s,C0||C1||C2||T),
Figure BDA0003822524240000099
S54:根据关键词集合KwSix={kw1,...,kwn}生成搜索索引。首先医生(代理者)随机选择参数
Figure BDA00038225242400000910
构建多项式如下:
f(x)=a(x-H4(kw1))(x-H4(kw2))…(x-H4(kwn))+b
=anxn+an-1xn-1+...+a1x+a0
然后,医生(代理者)计算搜索索引如下:
Figure BDA00038225242400000911
最终,第一密文
Figure BDA0003822524240000101
和第二密文CT=[C0,C1,C212],存在云存储器中,索引Ix=[IX1,IX2,{IXi}i∈[0,n]]存在区块链中。
步骤S6:陷门生成。用户根据关键词集合KwStp={kw′1,...,kw′m}生成搜索陷门如下:
Figure BDA0003822524240000102
最后用户将搜索陷门发送到云服务器。
步骤S7:搜索、访问和外包解密。所述步骤进一步包括:
S71,区块链搜索:智能合约计算下列等式进行搜索索引和搜索陷门的配对:
Figure BDA0003822524240000103
结果被返回到云存储器。
S72,云存储器执行访问控制和外包解密。
云存储器根据存储在其中的用户外包解密密钥中的属性集合AtS,判断此集合是否满足第一密文中的访问结构。若不满足,返回访问拒绝;若满足,执行外包解密如下:
云存储器找到一组常数I={i:ρ(i)∈AtS}满足∑i∈Iwiλi=s,计算如下外包解密结果:
Figure BDA0003822524240000104
最终,搜索结果及对应的第二密文被返回给用户。
步骤S8:验证和完全解密。用户执行以下操作对签名和外包解密结果进行验证,并执行完全解密得到明文。
首先,签名验证。根据身份信息,用户判计算下述验证结果:
Figure BDA0003822524240000105
随后,用户将上述结果带入下式,判断是否成立:
σ1=H2(Rstv,C0||C1||C2||T).
若成立,验证通过,用户继续执行解密。
用户通过下式计算对称解密密钥:
Figure BDA0003822524240000111
然后使用此密钥完全解密得到明文:
Figure BDA0003822524240000112
最后,计算s=H2(SyK.MdFl)并带入下述两个等式,判断外包解密结果的正确性:
C1=SyK·(e(g,g)γ)s,Rstd=e(gc,VSKs)s
若正确,用户接受解密得到的明文MdFl。
步骤S9:追踪和用户撤销。
S91:追踪。患者(数据拥有者)或第三方向区块链发起追踪请求。输入为身份信息和对应密文。区块链使用追踪公式对应密文中的签名部分进行签名验证,追踪公式与上述签名验证公式相同,可以验证签名的代理者和被代理者的身份。
S92:若追踪到的用户存在过期或违法行为,区块链首先将此用户对应的搜索密钥标记为无效。同时,区块链向云存储器发送撤销请求。云服务器会将对应用户在云存储器中的外包解密密钥标记为无效。随后,当此用户申请搜索和外包解密时,会被云存储器和区块链拒绝。
基于区块链的云健康系统可搜索代理签密方法,通过结合基于身份的代理签名和属性基加密,同时保证数据机密性和可靠性;进一步的,此方案基于区块链协助技术,实现了多关键字搜索和身份追踪;此外,特殊的密钥生成方式不仅满足抗密钥托管,还实现了高效的用户解密。
需要说明的是,以上内容仅仅说明了本发明的技术思想,不能以此限定本发明的保护范围,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰均落入本发明权利要求书的保护范围之内。

Claims (9)

1.基于区块链的云健康系统可搜索代理签密方法,其特征在于:包括如下步骤:
S1,系统初始化:密钥生成中心生成系统密钥对,公开系统公钥,保密系统私钥;所述系统密钥对(MPK,MSK)的表达式如下:
MPK=(G,GT,p,e,g,H1,H2,H3,H4,H5,gα,gβ,e(g,g)γ,gc)
MSK=(α,β,gγ,c)
其中,G和GT为阶数是大素数p的乘法群,g为G的生成元;e为对称双线性映射,e:G×G→GT;H1,H2,H3,H4,H5为抗碰撞哈希函数;α,β,γ,c为从群
Figure FDA0003822524230000011
中随机选取的随机值,群
Figure FDA0003822524230000012
为模p的整数组成的群;
S2,用户注册:密钥生成中心为患者/医生/用户生成一对身份密钥,随后将身份公钥公开在区块链中,将身份私钥秘密地返回给患者/医生/用户;所述身份密钥对的表达式为:
IPKx=H1(GIDx),ISKx=IPKα
其中,IPKx为身份公钥;ISKx为身份私钥;GIDx为用户身份号;
S3,密钥生成:患者/医生/用户与密钥生成中心交互生成属性密钥、验证密钥、外包解密密钥、搜索密钥和解密密钥,其中,搜索密钥存储在区块链中,外包解密密钥由云存储器持有,而验证公钥公开,验证私钥和解密密钥由患者/医生/用户保密;
S4,代理授权:患者和医生分别作为被代理者和代理者,交互生成授权密钥和代理密钥,医生掌握可用于签名的代理密钥;
S5,签密:医生使用代理密钥对明文进行签密生成第一密文和第二密文,并根据关键词集合生成搜索索引;所述第一密文和第二密文存在云存储器中,索引存在区块链中;
S6,陷门生成:用户根据关键词集合生成搜索陷门,随后将陷门发送到云存储器;所述陷门Trpd的表达式为:
Figure FDA0003822524230000021
其中,KwStp={kw′1,...,kw′m}是包含m个关键词的集合,k为关键词循环的下标,已知索引中的关键词集合包含n个关键词,j是与索引关键词集合中对应的关键词循环下标;
S7,搜索、访问和外包解密:区块链首先通过索引和陷门的配对完成搜索,接着云存储器运行访问控制,若成功访问则对第一密文进行外包解密,将解密结果Rstd和对应的第二密文返回给用户;所述区块链完成索引和陷门的配对的公式为:
Figure FDA0003822524230000022
其中,(IX1,IX2,IXi)是索引,SchK是搜索密钥;
所述云存储器完成访问控制和外包解密的公式为:
Figure FDA0003822524230000023
其中,I={i:ρ(i)∈AtS}满足∑i∈Iwiλi=s,(Ci,C′i)是第一密文,(ODK1,ODKρ(i))是外包解密密钥;
S8,验证和完全解密:用户对返回结果进行验证,通过后执行完全解密得到明文。
2.如权利要求1所述的基于区块链的云健康系统可搜索代理签密方法,其特征在于:还包括步骤S9追踪和撤销,患者或第三方向区块链发起追踪请求,输入为身份信息和对应的密文;区块链使用追踪公式完成签名验证,输出对应的身份信息;若发现用户过期或违法,执行进一步的用户撤销,即为将对应用户在区块链和云存储器中的搜索密钥和外包解密密钥标记为无效。
3.如权利要求1或2所述的基于区块链的云健康系统可搜索代理签密方法,其特征在于:所述步骤S3进一步包括:
S31,属性密钥生成:密钥生成中心根据患者/医生/用户的属性集合AtS生成属性密钥AKP,并将属性密钥AKP并发送给患者/医生/用户;所述属性密钥AKP表达式如下:
Figure FDA0003822524230000031
其中,t为从群
Figure FDA0003822524230000032
中随机选取的随机值,Atti是用户属性集AtS中第i个属性;
S32,验证密钥和外包解密密钥生成:患者/医生/用户基于步骤S31的属性密钥,执行密钥生成算法,生成验证密钥VK和外包解密密钥ODK,将验证公钥发送给密钥生成中心;所述验证密钥VK和外包解密密钥OD的表达式为:
Figure FDA0003822524230000033
Figure FDA0003822524230000034
S33,搜索密钥和解密密钥生成;密钥生成中心基于步骤S32的验证公钥,为患者/医生/用户生成搜索密钥SchK和解密密钥DK;所述搜索密钥SchK和解密密钥DK额表达式为:
Figure FDA0003822524230000035
DK=gz·γ·gz·c·t
4.如权利要求3所述的基于区块链的云健康系统可搜索代理签密方法,其特征在于:所述步骤S4中患者生成的授权密钥PK表达式为:
Figure FDA0003822524230000036
其中,PxFl为授权代理文件;AxSt为访问结构;
所述医生生成的代理密钥PxK表达式为:
Figure FDA0003822524230000037
5.如权利要求4所述的基于区块链的云健康系统可搜索代理签密方法,其特征在于:所述步骤S5进一步包括:
S51:医生使用对称加密密钥对明文进行对称加密,对密文进行签名生成第二密文CT;所述第二密文CT的表达式如下:
Figure FDA0003822524230000041
其中,SyK是对称加密密钥,MdFl是明文的医疗数据,ISKp是代理者的身份私钥;
S52:医生使用属性加密将对称加密的密钥SyK加密生成第一密文OCT;所述第一密文OCT的表达式如下:
Figure FDA0003822524230000042
其中,AxSt=(M,ρ)是访问控制结构,Mi是访问矩阵M的第i行,ρ是行映射函数;
S53:医生根据关键词集合生成搜索索引Ix;所述搜索索引Ix的表达式如下:
Figure FDA0003822524230000043
其中,AxSt=(M,ρ)是访问控制结构,M是一个访问矩阵,Mi是访问矩阵的第i行,ρ是对应的映射函数;
Figure FDA0003822524230000044
s=H2(SyK,MdFl),SyK是从群GT中随机选择的元素,MdFl是授权文件,{di}为一组从群
Figure FDA0003822524230000045
中随机选取的随机值,KwSix={kw1,...,kwn}是一个包含n个关键词的集合,i是关键词循环的下标,b和{ai}的值来源于下述多项式:
f(x)=a(x-H4(kw1))(x-H4(kw2))…(x-H4(kwn))+b
=anxn+an-1xn-1+...+a1x+a0
6.如权利要求5所述的基于区块链的云健康系统可搜索代理签密方法,其特征在于:所述步骤S7中,云存储器可以先判断访问并执行外包解密,然后区块链进行搜索限定返回的结果,所述的区块链搜索中,通过下列等式进行搜索索引和搜索陷门的配对:
Figure FDA0003822524230000051
7.如权利要求6所述的基于区块链的云健康系统可搜索代理签密方法,其特征在于:所述步骤S8中用户通过下式,对返回结果进行验证:
Figure FDA0003822524230000052
随后,用户将验证结果带入以下等式判定是否成立:
σ1=H2(Rstv,C0||C1||C2||T)
若成立,签名验证通过。
8.如权利要求7所述的基于区块链的云健康系统可搜索代理签密方法,其特征在于:所述步骤S8中用户基于下式执行完全解密得到明文:
Figure FDA0003822524230000053
其中,SyK是对称加密密钥,MdFl是解密后的明文医疗数据,(C0,C1,C2)是第二密文的部分;
若以下等式成立,用户接受明文MdFl:
C1=SyK·(e(g,g)γ)s,Rstd=e(gc,VSKs)s,
其中,s=H2(SyK.MdFl)。
9.基于区块链的云健康系统可搜索代理签密产品,包括计算机程序,其特征在于:所述计算机程序被处理器执行时实现如上述任一种所述方法的步骤。
CN202211046323.5A 2022-08-30 2022-08-30 基于区块链的云健康系统可搜索代理签密方法及产品 Active CN115412259B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211046323.5A CN115412259B (zh) 2022-08-30 2022-08-30 基于区块链的云健康系统可搜索代理签密方法及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211046323.5A CN115412259B (zh) 2022-08-30 2022-08-30 基于区块链的云健康系统可搜索代理签密方法及产品

Publications (2)

Publication Number Publication Date
CN115412259A true CN115412259A (zh) 2022-11-29
CN115412259B CN115412259B (zh) 2024-04-05

Family

ID=84160747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211046323.5A Active CN115412259B (zh) 2022-08-30 2022-08-30 基于区块链的云健康系统可搜索代理签密方法及产品

Country Status (1)

Country Link
CN (1) CN115412259B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116599771A (zh) * 2023-07-14 2023-08-15 浙江云针信息科技有限公司 数据分级保护传输方法及装置、存储介质和终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111431898A (zh) * 2020-03-23 2020-07-17 齐鲁工业大学 用于云协助物联网的带搜索的多属性机构属性基加密方法
CN112765650A (zh) * 2021-01-05 2021-05-07 西安电子科技大学 一种属性基可搜索加密的区块链医疗数据共享方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111431898A (zh) * 2020-03-23 2020-07-17 齐鲁工业大学 用于云协助物联网的带搜索的多属性机构属性基加密方法
WO2021190453A1 (zh) * 2020-03-23 2021-09-30 齐鲁工业大学 用于云雾协助物联网的轻量级属性基签密方法
CN112765650A (zh) * 2021-01-05 2021-05-07 西安电子科技大学 一种属性基可搜索加密的区块链医疗数据共享方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SUHUI LIU: "Blockchain-Backed Searchable Proxy Signcryption for Cloud Personal Health Records", 《IEEE TRANSACTIONS ON SERVICES COMPUTING》, 3 May 2023 (2023-05-03) *
郎晓丽;曹素珍;刘祥震;张玉磊;王斐;: "具有高效授权的无证书公钥认证可搜索加密方案", 计算机工程与科学, no. 03, 15 March 2020 (2020-03-15) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116599771A (zh) * 2023-07-14 2023-08-15 浙江云针信息科技有限公司 数据分级保护传输方法及装置、存储介质和终端
CN116599771B (zh) * 2023-07-14 2023-09-22 浙江云针信息科技有限公司 数据分级保护传输方法及装置、存储介质和终端

Also Published As

Publication number Publication date
CN115412259B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
Wang et al. Cloud-assisted EHR sharing with security and privacy preservation via consortium blockchain
Liu et al. BPDS: A blockchain based privacy-preserving data sharing for electronic medical records
Guo et al. Secure attribute-based signature scheme with multiple authorities for blockchain in electronic health records systems
CN108712260B (zh) 云环境下保护隐私的多方深度学习计算代理方法
Zhou et al. PSMPA: Patient self-controllable and multi-level privacy-preserving cooperative authentication in distributedm-healthcare cloud computing system
Chaudhari et al. Privacy preserving searchable encryption with fine-grained access control
CN108632032A (zh) 无密钥托管的安全多关键词排序检索系统
Nagaraju et al. Trusted framework for online banking in public cloud using multi-factor authentication and privacy protection gateway
Soni et al. Blockchain Implementation for Privacy preserving and securing the Healthcare data
Xiang et al. Blockchain-assisted searchable attribute-based encryption for e-health systems
Sun et al. Non-repudiation storage and access control scheme of insurance data based on blockchain in IPFS
JP2010220212A (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
CN107256248A (zh) 云存储安全中基于通配符的可搜索加密方法
CN109117662B (zh) 基于区块链的电子病历安全搜索方法
Sharma et al. RSA based encryption approach for preserving confidentiality of big data
CN108171066A (zh) 一种医疗云中隐私保护下的关键词跨域搜索方法及系统
CN112365945A (zh) 基于区块链的电子病历细粒度访问控制和密文可搜索方法
Sun et al. Research on logistics information blockchain data query algorithm based on searchable encryption
John et al. Provably secure data sharing approach for personal health records in cloud storage using session password, data access key, and circular interpolation
CN104092686A (zh) 基于svm分类器的隐私保护和数据安全访问的方法
Peng et al. EPRT: an efficient privacy-preserving medical service recommendation and trust discovery scheme for eHealth system
Liu et al. Black-box accountable authority cp-abe scheme for cloud-assisted e-health system
Zhang et al. Towards Privacy-Preserving Cloud Storage: A Blockchain Approach.
CN115412259B (zh) 基于区块链的云健康系统可搜索代理签密方法及产品
Niu et al. A data-sharing scheme that supports multi-keyword search for electronic medical records

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
GR01 Patent grant
GR01 Patent grant