CN113836571B - 基于云和区块链的医疗数据拥有终端位置匹配方法及系统 - Google Patents
基于云和区块链的医疗数据拥有终端位置匹配方法及系统 Download PDFInfo
- Publication number
- CN113836571B CN113836571B CN202110666438.3A CN202110666438A CN113836571B CN 113836571 B CN113836571 B CN 113836571B CN 202110666438 A CN202110666438 A CN 202110666438A CN 113836571 B CN113836571 B CN 113836571B
- Authority
- CN
- China
- Prior art keywords
- data
- terminal
- server
- blockchain
- cloud
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000008569 process Effects 0.000 claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 29
- 238000012795 verification Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 3
- 238000012946 outsourcing Methods 0.000 abstract description 3
- 238000011217 control strategy Methods 0.000 abstract description 2
- 239000013256 coordination polymer Substances 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013215 result calculation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/80—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for detecting, monitoring or modelling epidemics or pandemics, e.g. flu
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y10/00—Economic sectors
- G16Y10/60—Healthcare; Welfare
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y20/00—Information sensed or collected by the things
- G16Y20/10—Information sensed or collected by the things relating to the environment, e.g. temperature; relating to location
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y20/00—Information sensed or collected by the things
- G16Y20/40—Information sensed or collected by the things relating to personal data, e.g. biometric data, records or preferences
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/10—Detection; Monitoring
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/50—Safety; Security of things, users, data or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- Databases & Information Systems (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Mathematical Physics (AREA)
- Pathology (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Automation & Control Theory (AREA)
- Environmental & Geological Engineering (AREA)
- Toxicology (AREA)
- Storage Device Security (AREA)
Abstract
本公开提出了基于云和区块链的医疗数据拥有终端位置匹配方法及系统,包括:中心服务器,所述中心服务器被配置为:产生公私钥对并发布至数据拥有终端,产生属性私钥并发布至用户查询终端;加密服务器,所述加密服务器被配置为:将基于数据拥有终端发送的部分加密结果进行加密服务并将相关加密数据发送给云服务器;同时,加密服务器将加密的数据进行处理后上传到区块链上以供查询;解密服务器,所述解密服务器被配置为:接收到云服务器发送的密文之后,利用中心服务器发布的密钥进行解密服务,得到解密的中间结果后,将其返回至用户查询终端;通过建立一个可支持高效且外包的访问控制策略进行用户的授权,进而减少了资源受限设备的压力。
Description
技术领域
本公开属于计算机技术领域,尤其涉及基于云和区块链的医疗数据拥有终端位置匹配方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
基于智能手机的应用程序(应用程序)的联系人跟踪已成为跟踪医疗感染患者位置的一种可能的解决方案。但是,如果用户的私人健康数据被泄露或被篡改,将会对用户的权利造成极大的损害,甚至威胁到他们的生命。由于用户设备和服务器之间的数据通信,这些数据的安全性和保密性已成为主要问题。
由于传统的应用程序,当用户终端想要访问数据患者终端的隐私数据时,是需要向患者终端进行注册并且授权的,也就是患者终端需要事先知道系统中所有潜在的授权用户,并获得他们的对称加密密钥或者公钥。这对于大规模且用户较多的大数据应用来说是非常不便的。由于数据拥有终端产生的数据不断地增加,对于资源受限的设备来说,这无疑是一个很大的压力。因此,应该对用户的访问控制进行一个有效的改进。
由于云的存储空间大,传统的数据架构大多数是基于云服务器的。但是集中式的物联网数据架构很容易受到单点攻击,使数据始终处于一个不安全状态。
发明内容
为克服上述现有技术的不足,本公开提供了基于云和区块链的医疗数据拥有终端位置匹配方法及系统,利用区块链来确保数据未被篡改或者丢失,将数据外包给边缘节点以此来减轻资源受限的设备的压力。
为实现上述目的,本公开的一个或多个实施例提供了如下技术方案:
第一方面,提供了基于云和区块链的医疗数据拥有终端位置匹配系统,包括:
中心服务器,所述中心服务器被配置为:产生公私钥对并发布至数据拥有终端,产生属性私钥并发布至用户查询终端;
加密服务器,所述加密服务器被配置为:将基于数据拥有终端发送的部分加密结果进行加密服务并将相关加密数据发送给云服务器;
同时,加密服务器将加密的数据进行处理后上传到区块链上以供查询;
解密服务器,所述解密服务器被配置为:接收到云服务器发送的密文之后,利用中心服务器发布的密钥进行解密服务,得到解密的中间结果后,将其返回至用户查询终端;
用户查询终端被配置为:通过向中心服务器发送自己的位置属性来得到相应的位置属性的私钥,进而,从云服务器获得数据拥有终端具有位置属性的加密数据块,利用中心服务器颁发的私钥进行最终的解密,根据解密的位置属性来确定用户查询终端与数据拥有终端是否在同一时刻在同一个位置。
进一步的技术方案,所述数据拥有终端接受来自中心服务器分发的密钥对,还包括:
所述数据拥有终端建立对应的访问树,将访问树分为两个子树,并加密其中一个子树;
所述数据拥有终端通过接收到的公钥进行访问树和消息的加密,进而生成密文,通过接收到的私钥对生成的密文进行加密生成相应的签名,从而进行数据身份验证,并将结果发送给加密服务器进一步处理。
进一步的技术方案,所述中心服务器通过向密钥生成算法中输入安全参数,并且随机选择整数,该算法输出公开公钥和秘密参数主密钥;
所述中心服务器存储每个用户的属性与密钥的对应关系,并且为用户发布属性私钥。
进一步的技术方案,所述加密服务器为数据拥有终端提供数据加密服务,并且不能获得关于数据加密密钥相关的信息,将基于数据拥有终端发送的部分加密结果进行处理,产生与策略绑定的密文数据,数据拥有终端将加密的密文、用户加密的密文以及用户的签名发送给云服务器;
进一步的技术方案,所述加密服务器还包括:把加密的数据利用哈希函数进行哈希处理,哈希值用来验证加密数据块的完整性,并且将数据拥有终端的时间戳、加密数据块的哈希值以及账户的消息放到附录文件中,基于智能合约的逻辑实现将附录文件上传到区块链上以供查询。
进一步的技术方案,所述区块链用于存储加密服务器上传的附录文件,并且将哈希值作为键;
云服务器中将加密数据块和签名以键值对的形式存储在服务器中。
进一步的技术方案,所述云服务器和区块链之间进行查询数据拥有终端的ID和验证哈希值,云服务器在内部进行搜索查看是否有拥有此ID的数据拥有终端,进而根据请求在存储在区块链上的附录文件中搜索出对应的数据拥有终端。
进一步的技术方案,所述云服务器和区块链通过触发智能合约来进行验证哈希值,云服务器与区块链交互的一个操作是计算加密数据块的哈希值,将计算结果与记录在区块链上的哈希标识符进行对比,进而来验证加密数据块的正确性和完整性,如果结果相同,则云服务器会把加密数据块发送给用户查询终端,如果结果不一致,则拒绝发送加密数据给用户查询终端。
进一步的技术方案,所述解密服务器接收到云服务器发送的密文之后,利用中心服务器颁布的密钥负责为用户提供数据部分解密服务,并且解密服务器不能获得数据明文,得到解密的中间结果后,将其返回给用户查询终端。
第二方面,提供了基于云和区块链的医疗数据拥有终端位置匹配方法,包括:
用户查询终端通过向中心服务器发送自己的位置属性来得到相应的位置属性的私钥;
进而,从云服务器获得数据拥有终端具有位置属性的加密数据块,利用中心服务器颁发的私钥进行最终的解密;
根据解密的位置属性来确定用户查询终端与数据拥有终端是否在同一时刻在同一个位置。
以上一个或多个技术方案存在以下有益效果:
本发明提供一种增强的安全框架和访问控制,用于在云和区块链架构中保护患者的数据,能够确保数据未被篡改或者丢失,根据解密的位置属性来确定用户查询终端与数据拥有终端是否在同一时刻在同一个位置,以此来确定是否与患者进行接触。
本发明所述的基于云和区块链的患者的位置隐私保护方法,通过建立一个可支持高效且外包的访问控制策略进行用户的授权,进而减少了资源受限设备的压力。
其中,对于属性基加密中的CP-ABE基于密文的属性基加密的外包技术,终端用户加密部分密文,剩下的外包给加密服务提供者,解密亦是如此。
本发明所述的基于云和区块链的患者的位置隐私保护方法,通过利用区块链和云服务器进行结合,构造一种新型的物联网数据管理架构,从而确保用户获取的物联网数据与数据源采集的数据完全一致,也就是说未被篡改或丢失。同时解决了集中式物联网数据管理架构的单点攻击,使数据处在一个安全的状态。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1为本发明实施例一提供的基于云和区块链的患者的位置隐私保护方法的流程示意图。
图2为本发明实施例四提供的加密服务器上传附录文件到区块链。
图3为本发明实施例四提供的加密服务器上传密文到云服务器。
图4为本发明实施例一提供的基于云和区块链的患者的位置隐私保护的结构示意图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例公开了基于云和区块链的医疗数据拥有终端位置匹配方法,包括如下步骤:
用户查询终端通过向中心服务器发送自己的位置属性来得到相应的位置属性的私钥。因此,用户查询终端进行了授权。进而,用户查询终端会从云服务器获得加密数据块(位置属性),用户查询终端利用中心服务器颁发的私钥进行最终的解密,用户查询终端得到的不是全部的位置属性私钥,得到的是与患者位置属性相匹配的位置属性私钥。只有相匹配的属性才能解密数据获得相对应的位置属性。
用户查询终端利用私钥解密获得查询位置的解密数据,根据解密的位置属性来确定是否在同一时刻在同一个位置,以此来确定是否与患者进行接触。
以上所描述的用户查询终端接收到云服务器发来的位置属性值。
该方法的流程图如图1所示,具体过程包括初始化阶段、密钥生成阶段、加密阶段、数据管理阶段、解密阶段。具体的过程如下所示:
(A)初始化阶段
该阶段由中心服务器完成。中心服务器调用算法Setup(λ),随机输入一个参数λ,输出公共参数PK和秘密参数主密钥MSK。PK用于加密数据拥有终端的数据信息,MSK用于产生用户的私钥。成立一个双线性对映射e:G1×G1→G2,其中,G1是一个带有生成元g的素数域q的循环群。构造一个哈希函数:F:{0,1}*→G1。对于数据拥有终端的位置属性,定义一个属性集S={s1,s2...,sm}和拉格朗日插值算法Δi,S=∏l∈S,l≠i(x-l)/(i-l),其中i是属于群元素。中心服务器随机选择在群元素中选择两个整数α,β,然后算法在群元素中随机选择一个ej,因此,输出结果为:
公共参数:
秘密参数:MSK{β,gα,(ej|sj∈S)}。
(B)密钥生成阶段
该阶段由中心服务器完成。密钥生成算法KeyGeneration(S,MK)-→SK。对于用户来说,算法从群元素Zq中随机选择两个数u和v,然后对于每一个用户的位置属性集A,其中A={a1,a2,...,am},对于每个位置属性aj,算法从群元素Zq随机选择一个uj,因此,输出的结果是:
用户的私钥:
外包的私钥:
选择一个大素数q,并且在内选择一个元素g作为群G1的生成元。随机选择一个随机数p(p<q)并计算生成hi=gpmodq,因此数据拥有终端的公私钥对为:ski=p,pki={hi,g,q}。
(C)加密阶段
该阶段由两部分组成,一个是数据拥有终端进行加密,另一个是加密服务器进行加密。为了保护数据拥有终端的数据隐私,需要对数据进行加密处理。首先,将数据拥有终端定义的访问树划分成两个子树,使得T=T1∪T2,Y1是访问树T1的叶子节点,以上初始化部分的多项式qx是由访问树T中每一个叶子节点x组成的,T的根节点是R。
数据拥有终端本地加密算法:LocalEncryption(M,PK,T)→CPlocal。该算法从群元素Zq随机选择一个随机数k,使得qR(0)=k。同样如此,在访问树T1和T2中使得qR(1)=k1,qR(2)=k2。最后,算法输出的当地密文结果是:
数据拥有终端使用中心服务器颁发的私钥ski进行签名得到Sig[CPlocal]。最后数据拥有终端将签名和密文发送给加密服务器。
加密服务器加密算法:OutsourcedEncryption(T,CPlocal,PK)→CP。该算法是由加密服务器执行的。该算法首先构造访问树T1,它的每一个节点称为o,每一个节点o的度为do,定义lo是一个阈值范围,使得do=lo-1。上一个算法LocalEncryption(M,PK,T)→CPlocal已经计算过接下来,对于每一个非根节点o,算法得到qo(0)=qparent(o)(index(o))。叶子节点就是位置属性节点,让Y1称为叶子节点集合。因此,算法输出的密文结果是:
最后,全部的密文结果是:
加密服务器将CP,CPlocal和Sig[CPloacl]发送给云服务器。
(D)数据管理阶段
该阶段是由区块链和云服务器进行结合完成的。首先该阶段由加密服务器将密文进行哈希算法Hash(CP),将哈希值和数据拥有终端的身份信息和时间戳生成附录文件blockAppendix.,上传到区块链中,存储形式为blockAppendix=(blockName,blockHash)。CP,CPlocal和Sig[CPloacl]其中把(CP,CPlocal,Sig[CPlocal])赋值给blockValue,然后把Hash(CP)赋值给blockID。加密数据块和加密的哈希函数以键值对的形式进行映射。
该阶段通过触发智能合约进行查询用户的ID是否存在区块链上以及验证Hash(CP)是否正确。服务器通过pki={hi,g,q}进行签名的验证。如果是个有效的签名就会进行哈希的验证;否则,则舍弃。接下来进行验证Hash(CP),服务器端进行计算加密数据块CP的哈希值,计算出来之后与之比较,如果相等则把密文CP发送给解密服务器;否则,舍弃。
(E)解密阶段
该阶段是由解密服务器和用户查询终端进行的。总的算法为:Decryption(CP.SK,SKlocal)→M.
首先第一个过程算法:Decryption(CP.SK)→CP1。该算法是由解密服务器执行的。如果用户的属性集能满足这个访问树T,解密服务器能使用该算法成功的解密密文。
(1)如果y是一个叶节点,让w=Attribute(y),如果y满足用户的私钥,则算法输出:
否则输出:⊥
(2)如果y是一个非叶节点,y的孩子节点执行RT操作获得值Qc,并且存储在Ay中。RT能恢复y的值(定义为Qy),表示如下:
最终获得部分密文。
最后第二个过程算法:Decryption(CP1,SKlocal)→M。该算法是由用户查询终端执行的。消息M是由算法输入CP1和SKlocal。算法执行完全解密后的到的消息M为:
因此,用户查询终端获得了消息M,以上所描述的用户查询终端接收到云服务器发来的位置属性值。
此全部过程的结构示意图如图4所示。
实施例二
本实施例的目的是提供基于云和区块链的医疗数据拥有终端位置匹配系统,包括:
数据拥有终端终端接受来自权威机通过存储的构分发的密钥对、个人信息。此个人信息相当于中心服务器给终端发送的一个id,这个id放到附录文件中,并上传到区块链,用户请求的时候,云首先和区块链进行交流,查看区块链上是否有此id。进而进行哈希验证。具有数据的所有权,并希望将数据云服务器向其他用户进行分享;
数据拥有终端将建立对应的访问树。将访问树分为两个子树,数据拥有终端将加密其中一个子树;
数据拥有终端通过接收到的公钥进行访问树和消息的加密,进而生成密文。通过接收到的私钥对生成的密文进行加密生成相应的签名,从而进行数据身份验证,并将结果发送给加密服务器进一步处理。
中心服务器通过向密钥生成算法中输入安全参数,并且随机选择整数,该算法输出系统的公开公钥和秘密参数主密钥,并且中心服务器为数据拥有终端产生公私钥对;中心服务器作为中心服务器的服务器。
中心服务器维护每个用户的属性与密钥的对应关系,并且为用户发布属性私钥。中心服务器是整个访问控制系统中唯一需要被其他参与方完全信任的参与方。
加密服务器负责为数据所有者提供数据加密服务,并且不能获得关于数据加密密钥相关的信息。它将基于数据所有者发送的部分加密结果计算结果,产生与策略绑定的密文数据,然后把加密服务器加密的密文、用户加密的密文以及用户的签名发送给云服务器,描述如图3所示;
加密服务器把加密的数据利用哈希函数进行哈希处理,哈希值用来验证加密数据块的完整性,并且将数据拥有终端的时间戳、加密数据块的哈希值以及账户的消息放到附录文件中,基于智能合约的逻辑实现将附录文件上传到区块链上以供查询,描述如图2所示。
区块链用于存储加密服务器上传的附录文件,如图2所以。并且将哈希值作为键;
云服务器中将加密数据块和签名以键值对的形式存储在服务器中;
云服务器和区块链之间进行查询数据所有者的ID和验证哈希值。这两个操作是基于智能合约技术来实现云服务器和区块链之间的交互逻辑。智能合约可以将实体之间的交互规则编码成程序,然后在对应条件出发时自动执行;
云服务器和区块链通过触发智能合约来进行查询数据所有者的ID,云服务器在内部进行搜索查看是否有拥有此ID的数据拥有终端,进而根据请求在存储在区块链上的附录文件中搜索出对应的数据所有者;
云服务器和区块链通过触发智能合约来进行验证哈希值。云服务器与区块链交互的一个操作是计算加密数据块的哈希值,将计算结果与记录在区块链上的哈希标识符进行对比,进而来验证加密数据块的正确性和完整性。如果结果相同,则云服务器会把加密数据块发送给用户查询终端;如果结果不一致,则拒绝发送加密数据给用户查询终端。
解密服务器接收到云服务器发送的密文之后,利用中心服务器颁布的密钥负责为用户提供数据部分解密服务,以减轻资源受限的设备,并且解密服务器不能获得数据明文,得到解密的中间结果后,将其返回给用户查询终端。
装置的工作方法与实施例一中的具体查询方法相同,这里不再赘述。
以上实施例二装置中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本公开中的任一方法。
本领域技术人员应该明白,上述本公开的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本公开不限制于任何特定的硬件和软件的结合。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。
Claims (9)
1.基于云和区块链的医疗数据拥有终端位置匹配系统,其特征是,包括:
中心服务器,所述中心服务器被配置为:产生公私钥对并发布至数据拥有终端,产生属性私钥并发布至用户查询终端;
加密服务器,所述加密服务器被配置为:将基于数据拥有终端发送的部分加密结果进行加密服务并将相关加密数据发送给云服务器;所述加密服务器为数据拥有终端提供数据加密服务,并且不能获得关于数据加密密钥相关的信息,将基于数据拥有终端发送的部分加密结果进行处理,产生与策略绑定的密文数据,数据拥有终端将加密的密文、用户加密的密文以及用户的签名发送给云服务器;
同时,加密服务器将加密的数据进行处理后上传到区块链上以供查询;
解密服务器,所述解密服务器被配置为:接收到云服务器发送的密文之后,利用中心服务器发布的密钥进行解密服务,得到解密的中间结果后,将其返回至用户查询终端;
用户查询终端被配置为:通过向中心服务器发送自己的位置属性来得到相应的位置属性的私钥,进而,从云服务器获得数据拥有终端具有位置属性的加密数据块,利用中心服务器颁发的私钥进行最终的解密,根据解密的位置属性来确定用户查询终端与数据拥有终端是否在同一时刻在同一个位置。
2.如权利要求1所述的基于云和区块链的医疗数据拥有终端位置匹配系统,其特征是,所述数据拥有终端接受来自中心服务器分发的密钥对,还包括:
所述数据拥有终端建立对应的访问树,将访问树分为两个子树,并加密其中一个子树;
所述数据拥有终端通过接收到的公钥进行访问树和消息的加密,进而生成密文,通过接收到的私钥对生成的密文进行加密生成相应的签名,从而进行数据身份验证,并将结果发送给加密服务器进一步处理。
3.如权利要求1所述的基于云和区块链的医疗数据拥有终端位置匹配系统,其特征是,所述中心服务器通过向密钥生成算法中输入安全参数,并且随机选择整数,该算法输出公开公钥和秘密参数主密钥;
所述中心服务器存储每个用户的属性与密钥的对应关系,并且为用户发布属性私钥。
4.如权利要求1所述的基于云和区块链的医疗数据拥有终端位置匹配系统,其特征是,所述加密服务器还包括:把加密的数据利用哈希函数进行哈希处理,哈希值用来验证加密数据块的完整性,并且将数据拥有终端的时间戳、加密数据块的哈希值以及账户的消息放到附录文件中,基于智能合约的逻辑实现将附录文件上传到区块链上以供查询。
5.如权利要求1所述的基于云和区块链的医疗数据拥有终端位置匹配系统,其特征是,所述区块链用于存储加密服务器上传的附录文件,并且将哈希值作为键;
云服务器中将加密数据块和签名以键值对的形式存储在服务器中。
6.如权利要求1所述的基于云和区块链的医疗数据拥有终端位置匹配系统,其特征是,所述云服务器和区块链之间进行查询数据拥有终端的ID和验证哈希值,云服务器在内部进行搜索查看是否有拥有此ID的数据拥有终端,进而根据请求在存储在区块链上的附录文件中搜索出对应的数据拥有终端。
7.如权利要求1所述的基于云和区块链的医疗数据拥有终端位置匹配系统,其特征是,所述云服务器和区块链通过触发智能合约来进行验证哈希值,云服务器与区块链交互的一个操作是计算加密数据块的哈希值,将计算结果与记录在区块链上的哈希标识符进行对比,进而来验证加密数据块的正确性和完整性,如果结果相同,则云服务器会把加密数据块发送给用户查询终端,如果结果不一致,则拒绝发送加密数据给用户查询终端。
8.如权利要求1所述的基于云和区块链的医疗数据拥有终端位置匹配系统,其特征是,所述解密服务器接收到云服务器发送的密文之后,利用中心服务器颁布的密钥负责为用户提供数据部分解密服务,并且解密服务器不能获得数据明文,得到解密的中间结果后,将其返回给用户查询终端。
9.基于云和区块链的医疗数据拥有终端位置匹配方法,其特征是,包括:
用户查询终端通过向中心服务器发送自己的位置属性来得到相应的位置属性的私钥;
加密服务器为数据拥有终端提供数据加密服务,并且不能获得关于数据加密密钥相关的信息,将基于数据拥有终端发送的部分加密结果进行处理,产生与策略绑定的密文数据,数据拥有终端将加密的密文、用户加密的密文以及用户的签名发送给云服务器;
进而,从云服务器获得数据拥有终端具有位置属性的加密数据块,利用中心服务器颁发的私钥进行最终的解密;
根据解密的位置属性来确定用户查询终端与数据拥有终端是否在同一时刻在同一个位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110666438.3A CN113836571B (zh) | 2021-06-16 | 2021-06-16 | 基于云和区块链的医疗数据拥有终端位置匹配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110666438.3A CN113836571B (zh) | 2021-06-16 | 2021-06-16 | 基于云和区块链的医疗数据拥有终端位置匹配方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113836571A CN113836571A (zh) | 2021-12-24 |
CN113836571B true CN113836571B (zh) | 2024-04-26 |
Family
ID=78962661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110666438.3A Active CN113836571B (zh) | 2021-06-16 | 2021-06-16 | 基于云和区块链的医疗数据拥有终端位置匹配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836571B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785599A (zh) * | 2022-04-24 | 2022-07-22 | 江苏大学 | 一种面向远程医疗诊断应用的区块链细粒度访问控制方法、终端设备及服务器 |
CN116956355B (zh) * | 2023-09-21 | 2023-12-19 | 中日友好医院(中日友好临床医学研究所) | 云安全医疗用户个人信息加密保护系统及其加密保护方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103037007A (zh) * | 2012-12-24 | 2013-04-10 | 珠海金山办公软件有限公司 | 基于地理位置服务的数据分享方法及系统 |
CN111914269A (zh) * | 2020-07-07 | 2020-11-10 | 华中科技大学 | 一种区块链和云存储环境下的数据安全共享方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186723B (zh) * | 2011-12-30 | 2015-12-09 | 北京大学 | 数字内容安全协作的方法和系统 |
-
2021
- 2021-06-16 CN CN202110666438.3A patent/CN113836571B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103037007A (zh) * | 2012-12-24 | 2013-04-10 | 珠海金山办公软件有限公司 | 基于地理位置服务的数据分享方法及系统 |
CN111914269A (zh) * | 2020-07-07 | 2020-11-10 | 华中科技大学 | 一种区块链和云存储环境下的数据安全共享方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113836571A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021208690A1 (zh) | 数据加解密方法、装置、设备及存储介质 | |
CN111835500B (zh) | 基于同态加密与区块链的可搜索加密数据安全共享方法 | |
CN110213042B (zh) | 一种基于无证书代理重加密的云数据去重方法 | |
JP6180177B2 (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
Miao et al. | Fair and dynamic data sharing framework in cloud-assisted internet of everything | |
CN111130757A (zh) | 一种基于区块链的多云cp-abe访问控制方法 | |
Yang et al. | RSPP: A reliable, searchable and privacy-preserving e-healthcare system for cloud-assisted body area networks | |
Jiang et al. | Verifiable search meets blockchain: A privacy-preserving framework for outsourced encrypted data | |
Yao et al. | Privacy-preserving search over encrypted personal health record in multi-source cloud | |
Azraoui et al. | Stealthguard: Proofs of retrievability with hidden watchdogs | |
CN108092766B (zh) | 一种密文搜索权限验证方法及其系统 | |
CN113836571B (zh) | 基于云和区块链的医疗数据拥有终端位置匹配方法及系统 | |
US10929402B1 (en) | Secure join protocol in encrypted databases | |
Sun et al. | Research on logistics information blockchain data query algorithm based on searchable encryption | |
RuWei et al. | Study of privacy-preserving framework for cloud storage | |
CN116469501A (zh) | 基于区块链的电子病历共享方法、系统、设备及存储介质 | |
CN115987592A (zh) | 基于区块链的移动医疗物联网细粒度访问控制方法及系统 | |
Zhang et al. | Nano: Cryptographic enforcement of readability and editability governance in blockchain databases | |
CN113411323A (zh) | 基于属性加密的医疗病历数据访问控制系统及方法 | |
CN117828673B (zh) | 基于区块链的数据流通与隐私保护方法及装置 | |
Guo et al. | Online/offline rewritable blockchain with auditable outsourced computation | |
Luo et al. | MHB* T based dynamic data integrity auditing in cloud storage | |
Lv et al. | A secure and efficient revocation scheme for fine-grained access control in cloud storage | |
Zhang et al. | Blockchain-aided anonymous traceable and revocable access control scheme with dynamic policy updating for the cloud IoT | |
Lu et al. | Verifiable privacy-preserving queries on multi-source dynamic DNA datasets |
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 |