CN117714145A - 数据共享方法、装置、设备及存储介质 - Google Patents
数据共享方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117714145A CN117714145A CN202311716511.9A CN202311716511A CN117714145A CN 117714145 A CN117714145 A CN 117714145A CN 202311716511 A CN202311716511 A CN 202311716511A CN 117714145 A CN117714145 A CN 117714145A
- Authority
- CN
- China
- Prior art keywords
- data
- search
- information
- search result
- ciphertext
- 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 81
- 238000012795 verification Methods 0.000 claims abstract description 67
- 238000004873 anchoring Methods 0.000 claims abstract description 57
- 230000007246 mechanism Effects 0.000 claims abstract description 14
- 230000000977 initiatory effect Effects 0.000 claims abstract description 5
- 238000010276 construction Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 238000011160 research Methods 0.000 description 43
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 206010063659 Aversion Diseases 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及区块链技术领域,公开了一种数据共享方法、装置、设备及存储介质,该方法包括:在接收到搜索结果后,从区块链上获取锚定信息或从搜索服务器中获取搜索结果对应的证明信息,锚定信息基于数据拥有方的共享数据生成,根据锚定信息或证明信息对搜索结果进行正确性验证,在验证未通过时,向区块链发起仲裁请求,区块链中的智能合约基于仲裁请求对搜索结果对应的恶意参与方进行惩罚,在验证通过时,下载搜索结果对应的共享数据;由于本发明中任何参与者均可利用锚定信息或证明信息对搜索结果进行验证,并且在没有中心化机构参与的情况下,对恶意参与者进行惩罚,从而解决了各参与方之间的信任问题,保证了搜索结果的准确性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种数据共享方法、装置、设备及存储介质。
背景技术
随着区块链技术的发展,不少研究人员探索利用区块链实现公平可靠的可搜索加密方案。例如,利用区块链构造了一种对称的可搜索加密模型(SSE-using-BC),该方案对区块链协议进行了扩展,数据拥有方将加密后的数据和索引结构存储在公有链上,数据使用方同样发送交易在链上进行搜索,交易输出中包括服务费,如果搜索成功,则服务费变成收益,否则返回自己的地址。例如,使用复杂的布尔表达式来构造索引,从而支持多关键字的复杂索引,他们同样是将索引上传至以太坊区块链上,在合约中进行搜索。例如,利用以太坊区块链,构造了一个去中心化的可搜索加密服务。与其它方案不同的是,该方案在合约中设计了一个公平的协议来处理纷争和付费,用户在发现搜索结果不正确后,可以向合约中的仲裁模块发起一个仲裁请求,恶意的参与者不仅一无所获,还将受到经济上的惩罚。
但是,现有可搜索加密方案不能解决在开放分布式环境下各参与方之间的信任问题,无法公开对搜索结果进行验证,无法在没有中心权威机构的前提下惩罚恶意的参与方。
发明内容
本发明的主要目的在于提供一种数据共享方法、装置、设备及存储介质,旨在解决现有可搜索加密方案不能解决在开放分布式环境下各参与方之间的信任问题,无法公开对搜索结果进行验证,无法在没有中心权威机构的前提下惩罚恶意的参与方的技术问题。
为实现上述目的,本发明提供一种数据共享方法,所述数据共享方法应用于数据使用方,所述数据共享方法包括:
在接收到搜索结果后,从区块链上获取锚定信息或从搜索服务器中获取所述搜索结果对应的证明信息,所述锚定信息基于所述数据拥有方的共享数据生成;
根据所述锚定信息或所述证明信息对所述搜索结果进行正确性验证;
在验证未通过时,向所述区块链发起仲裁请求,所述区块链中的智能合约基于所述仲裁请求对所述搜索结果对应的恶意参与方进行惩罚;
在验证通过时,下载所述搜索结果对应的共享数据。
可选地,所述根据所述锚定信息对所述搜索结果进行正确性验证,包括:
在所述搜索结果为空时,获取所述搜索结果对应的搜索条件;
根据所述搜索条件和所述锚定信息计算哈希值,并根据所述哈希值对所述搜索结果进行正确性验证。
可选地,所述根据所述证明信息对所述搜索结果进行正确性验证,包括:
在所述搜索结果不为空时,获取所述搜索结果对应的搜索令牌,所述搜索令牌由所述数据使用方发送,所述搜索服务器根据所述搜索令牌进行数据搜索;
根据所述搜索结果和所述搜索令牌通过再次执行搜索阶段中的比对算法验证再次搜索结果是否正确,获得第一验证结果;
根据所述证明信息和所述搜索结果通过验签算法验证所述搜索结果的数据是否完整,获得第二验证结果;
根据所述第一验证结果和所述第二验证结果对所述搜索结果进行正确性验证。
可选地,所述在接收到搜索结果后,从所述区块链上获取锚定信息或从搜索服务器中获取所述搜索结果对应的证明信息之前,还包括:
根据搜索条件和私钥生成搜索令牌,所述私钥为权威可信机构根据所述数据使用方的属性信息生成的密钥;
将所述搜索令牌发送至搜索服务器,并接收所述搜索服务器根据所述搜索令牌反馈的搜索结果。
可选地,所述在验证通过时,下载所述搜索结果对应的共享数据,包括:
在验证通过时,根据索引信息从分布式存储网络上下载密文数据;
基于所述私钥对所述密文数据进行解密,获得所述搜索结果对应的共享数据。
此外,为实现上述目的,本发明还提出一种数据共享方法,所述数据共享方法应用于数据拥有方,所述数据共享方法包括:
通过系统主密钥对共享数据进行加密处理,获得密文数据,所述系统主密钥为权威可信机构生成的密钥;
根据所述密文数据构建密文索引和锚定信息,并通过签名算法生成所述密文索引对应的证明信息;
将所述密文索引和所述证明信息上传至搜索服务器,所述搜索服务器在基于所述数据使用方发送的搜索令牌进行搜索时,基于所述搜索令牌在所述密文索引中进行搜索,所述数据使用方在进行数据搜索时基于所述搜索服务器中的证明信息对搜索结果进行正确性验证;
将所述锚定信息上传至区块链,所述数据使用方在进行数据搜索时基于所述区块链中的锚定信息对搜索结果进行正确性验证。
可选地,所述根据所述密文数据构建密文索引和锚定信息,包括:
对对称加密密钥和存储地址进行加密,获得密文索引,所述密文数据包括搜索条件和数据记录,所述数据记录包括对称加密密钥和密文数据在分布式存储网络上的存储地址;
基于所述搜索条件和预设哈希结构构建锚定信息。
可选地,所述将所述密文索引和所述证明信息上传至搜索服务器,包括:
获取所述密文索引对应的索引访问策略,并根据所述索引访问策略对所述密文索引进行设置;
将设置后密文索引和所述证明信息上传至搜索服务器,所述搜索服务器在基于所述数据使用方发送的搜索令牌进行搜索时,基于所述搜索令牌在所述设置后密文索引中进行搜索,搜索时遵循所述索引访问策略。
此外,为实现上述目的,本发明还提出一种数据共享装置,所述数据共享装置应用于数据使用方,所述数据共享装置包括:
获取模块,用于在接收到搜索结果后,从区块链上获取锚定信息或从搜索服务器中获取所述搜索结果对应的证明信息,所述锚定信息基于所述数据拥有方的共享数据生成;
验证模块,用于根据所述锚定信息或所述证明信息对所述搜索结果进行正确性验证;
仲裁模块,用于在验证未通过时,向所述区块链发起仲裁请求,所述区块链中的智能合约基于所述仲裁请求对所述搜索结果对应的恶意参与方进行惩罚;
下载模块,用于在验证通过时,下载所述搜索结果对应的共享数据。
此外,为实现上述目的,本发明还提出一种数据共享装置,所述数据共享装置应用于数据拥有方,所述数据共享装置包括:
加密模块,用于通过系统主密钥对共享数据进行加密处理,获得密文数据,所述系统主密钥为权威可信机构生成的密钥;
构建模块,用于根据所述密文数据构建密文索引和锚定信息,并通过签名算法生成所述密文索引对应的证明信息;
上传模块,用于将所述密文索引和所述证明信息上传至搜索服务器,所述搜索服务器在基于所述数据使用方发送的搜索令牌进行搜索时,基于所述搜索令牌在所述密文索引中进行搜索,所述数据使用方在进行数据搜索时基于所述搜索服务器中的证明信息对搜索结果进行正确性验证;
上传模块,还用于将所述锚定信息上传至区块链,所述数据使用方在进行数据搜索时基于所述区块链中的锚定信息对搜索结果进行正确性验证。
此外,为实现上述目的,本发明还提出一种数据共享设备,所述数据共享设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据共享程序,所述数据共享程序配置为实现如上文所述的数据共享方法。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有数据共享程序,所述数据共享程序被处理器执行时实现如上文所述的数据共享方法。
在本发明中,公开了在接收到搜索结果后,从区块链上获取锚定信息或从搜索服务器中获取搜索结果对应的证明信息,锚定信息基于数据拥有方的共享数据生成,根据锚定信息或证明信息对搜索结果进行正确性验证,在验证未通过时,向区块链发起仲裁请求,区块链中的智能合约基于仲裁请求对搜索结果对应的恶意参与方进行惩罚,在验证通过时,下载搜索结果对应的共享数据;由于本发明中任何参与者均可利用锚定信息或证明信息对搜索结果进行验证,并且在没有中心化机构参与的情况下,对恶意参与者进行惩罚,从而解决了各参与方之间的信任问题,保证了搜索结果的准确性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据共享设备的结构示意图;
图2为本发明数据共享方法第一实施例的流程示意图;
图3为本发明数据共享方法一实施例的锚定信息构造示意图;
图4为本发明数据共享方法第二实施例的流程示意图;
图5为本发明数据共享方法第三实施例的流程示意图;
图6为本发明数据共享方法一实施例的交互示意图;
图7为本发明数据共享方法一实施例的访问策略结构示意图,
图8为本发明数据共享方法第四实施例的流程示意图;
图9为本发明数据共享装置一实施例的结构框图;
图10为本发明数据共享装置另一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据共享设备结构示意图。
如图1所示,该数据共享设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM),也可以是稳定的存储器(Non-volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对数据共享设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,认定为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据共享程序。
在图1所示的数据共享设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述数据共享设备通过处理器1001调用存储器1005中存储的数据共享程序,并执行本发明实施例提供的数据共享方法。
基于上述硬件结构,提出本发明数据共享方法的实施例。
参照图2,图2为本发明数据共享方法第一实施例的流程示意图,提出本发明数据共享方法第一实施例。
应当理解的是,随着大数据的到来及信息化的快速发展,数据迅速的传播与共享能够充分释放数据的价值,但随之而来存在非常大的隐私泄露风险。以医疗记录数据(electronic health records,EHR)为例,各大医院如果能将医疗数据共享供一些科研机构使用,能为医疗监测、分析和研究提供数据基础,极大改善医疗成果,促进医学进步。但是,这些医疗信息不仅包括姓名、年龄、手机号、身份证号等常见隐私数据,还有就医经历、病情状况、诊断结果等特殊的敏感材料,一旦泄露给无关人员,将给患者造成非常严重的伤害。通常情况下,最好的方法是医院在上传至搜索服务器共享前,将这些敏感数据加密,使用可搜索加密技术对密文进行检索。可搜索加密技术允许数据拥有方将数据以加密的形式存储在搜索服务器上来保护隐私,同时保留用户对数据进行搜索的能力。一个可搜索加密方案包括三个参与方:数据拥有方(The Data Owner,DO)(例如医院)、数据使用方(TheData User,DU)(例如科研机构)和搜索服务器。一般情况下,DO将数据连同相关的关键字加密后上传至服务器,搜索服务器维护这些密文信息并为DU提供搜索服务。DU使用根据关键字生成的搜索凭证,由搜索服务器将匹配成功后的搜索结果发送给DU,最后由DU在本地解密密文得到数据。
随着区块链技术的发展,不少研究人员探索利用区块链实现公平可靠的可搜索加密方案。例如,利用区块链构造了一种对称的可搜索加密模型(SSE-using-BC),该方案对区块链协议进行了扩展,数据拥有方将加密后的数据和索引结构存储在公有链上,数据使用方同样发送交易在链上进行搜索,交易输出中包括服务费,如果搜索成功,则服务费变成收益,否则返回自己的地址。例如,使用复杂的布尔表达式来构造索引,从而支持多关键字的复杂索引,他们同样是将索引上传至以太坊区块链上,在合约中进行搜索。例如,利用以太坊区块链,构造了一个去中心化的可搜索加密服务。与其它方案不同的是,该方案在合约中设计了一个公平的协议来处理纷争和付费,用户在发现搜索结果不正确后,可以向合约中的仲裁模块发起一个仲裁请求,恶意的参与者不仅一无所获,还将受到经济上的惩罚。
但是,现有可搜索加密方案不能解决在开放分布式环境下各参与方之间的信任问题,无法公开对搜索结果进行验证,无法在没有中心权威机构的前提下惩罚恶意的参与方。
因此,为了克服上述缺陷,本实施例采用属性基可搜索加密技术设计了结果公开可验证的密文检索隐私保护方案,任何参与者均可利用公开信息对结果进行验证,并且在没有中心化机构参与的情况下,对恶意参与者进行惩罚,其中,属性基(Attribute-Based)即以属性为基础,密码学常见术语,常见的如属性基加密(CP-ABE),属性基访问控制(ABAE),属性基可搜索加密(ABSE)等。属性基的核心思想源自基于身份的加密算法,将用户的身份、单位、ID、性别等作为用户属性,通过属性构建访问策略树,只有属性集合满足访问策略树的用户,才可以进行接下来的操作,如搜索、解密、访问等,达到细粒度访问控制的目的。
在第一实施例中,所述数据共享方法应用于数据使用方,所述数据共享方法包括:
步骤S10:在接收到搜索结果后,从区块链上获取锚定信息或从搜索服务器中获取所述搜索结果对应的证明信息,所述锚定信息基于所述数据拥有方的共享数据生成。
应当理解的是,本实施例中,数据共享方法涉及六部分,分别为权威可信机构,医院(即数据拥有方),科研机构(即数据使用方),搜索服务器,区块链和星际文件系统(InterPlanetary File System,IPFS)(即分布式存储网络),各部分具体的功能和职责分别如下:
权威可信机构:由属性授权中心和密钥管理中心构成。属性授权中心的作用为用户授权可信的属性信息。密钥管理中心为用户生成和分发密钥信息。
搜索服务器:为用户提供计算和存储的外包服务,存储索引结构,执行可搜索加密算法,返回给用户结果。
医院:数据拥有方,通过索引生成器为自己所拥有的患者医疗记录提取关键字并设置索引条件、创建索引,将索引加密并设置访问策略后,上传至服务器。
科研机构人员:数据使用方,通过结果验证器使用自己想要搜索的关键字集合构建搜索条件,并生成搜索令牌,向搜索服务器发起搜索请求,获取对应的搜索结果。
区块链:存储索引相关的锚定信息和中间环节的证据信息。在出现纠纷时,能够以这些信息根据,通过智能合约进行仲裁,并对恶意的参与方进行经济惩罚。
IPFS:分布式存储网络,为DO存储加密后的原始数据。
步骤S20:根据所述锚定信息或所述证明信息对所述搜索结果进行正确性验证。
应当理解的是,在接收到搜索服务器返回的搜索结果时,任何人均可使用公开信息,使用结果验证器,对搜索结果进行验证具体可以是在接收到搜索服务器返回的搜索结果后,从区块链上获取锚定信息或从搜索服务器中获取搜索结果对应的证明信息,调用结果验证器,在本地根据锚定信息或证明信息对搜索结果进行判断。
进一步地,为了提高正确性验证的准确性,所述步骤S20,包括:在所述搜索结果为空时,获取所述搜索结果对应的搜索条件;根据所述搜索条件和所述锚定信息计算哈希值,并根据所述哈希值对所述搜索结果进行正确性验证。
在具体实现中,例如,如果搜索结果为空,则从链上获取锚定信息,并使用关键字构成的搜索条件调用PVM-ABSE.Verify_1(Termssearch,anchor)验证数据的存在性,具体操作为,将搜索条件执行图3中的哈希,如果对应的位置均为1,则索引是存在的,搜索服务器作恶,图3为本发明数据共享方法一实施例的锚定信息构造示意图。
PVM-ABSE.Verify_1(Termssearch,anchor)→{0,1}为任何人均可对返回为空的结果进行验证。算法输入是搜索条件Termssearch,锚定信息anchor,输出为0或1。
进一步地,为了提高正确性验证的准确性,所述步骤S20,包括:在所述搜索结果不为空时,获取所述搜索结果对应的搜索令牌,所述搜索令牌由所述数据使用方发送,所述搜索服务器根据所述搜索令牌进行数据搜索;根据所述搜索结果和所述搜索令牌通过再次执行搜索阶段中的比对算法验证再次搜索结果是否正确,获得第一验证结果;根据所述证明信息和所述搜索结果通过验签算法验证所述搜索结果的数据是否完整,获得第二验证结果;根据所述第一验证结果和所述第二验证结果对所述搜索结果进行正确性验证。
在具体实现中,例如,如果搜索结果不为空,则调用PVM-ABSE.Verify_2(Token,CIS,Result,proof)验证数据的准确性。首先,使用返回的搜索结果和搜索令牌,再次执行搜索阶段中的比对算法,验证搜索结果是否正确,然后,对Proof(即证明信息)和返回的搜索结果使用ECDSA验签算法,验证数据是否完整,两项验证中,有一项不通过,则搜索服务器作恶。
PVM-ABSE.Verify_2(Token,Result,proof)→{0,1}为任何人均可以使用公开的信息对搜索结果进行公开验证,输入为搜索令牌Token、返回的搜索结果Result、证明信息proof,输出为0和1。
步骤S30:在验证未通过时,向所述区块链发起仲裁请求,所述区块链中的智能合约基于所述仲裁请求对所述搜索结果对应的恶意参与方进行惩罚。
可以理解的是,如果发现搜索结果错误,则可向区块链发起仲裁,事先约定好的智能合约会对恶意的一方进行惩罚(如初始化时,各参与方需要在合约中进行资产抵押,作恶时会对其进行经济惩罚),并将罚款奖励给诚实的参与方。
在具体实现中,本实施例中的所有操作记录均存储于区块链上,以便对每个参与者的行为确权追责。如果检测出来服务器执行了恶意操作,结果验证器将在区块链上申请仲裁,区块链会根据链上的数据记录进行判决。如果服务器确实存在作恶行为,则会扣除服务器的押金,并奖励给所有诚实的参与方。
步骤S40:在验证通过时,下载所述搜索结果对应的共享数据。
在具体实现中,如果搜索结果是正确的,且科研人员的属性满足访问条件,则可用私钥解密医疗数据相关信息。
在本实施例中,公开了在接收到搜索结果后,从区块链上获取锚定信息或从搜索服务器中获取搜索结果对应的证明信息,锚定信息基于数据拥有方的共享数据生成,根据锚定信息或证明信息对搜索结果进行正确性验证,在验证未通过时,向区块链发起仲裁请求,区块链中的智能合约基于仲裁请求对搜索结果对应的恶意参与方进行惩罚,在验证通过时,下载搜索结果对应的共享数据;由于本实施例中任何参与者均可利用锚定信息或证明信息对搜索结果进行验证,并且在没有中心化机构参与的情况下,对恶意参与者进行惩罚,从而解决了各参与方之间的信任问题,保证了搜索结果的准确性。
参照图4,图4为本发明数据共享方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明数据共享方法的第二实施例。
在第二实施例中,所述步骤S10之前,还包括:
步骤S01:根据搜索条件和私钥生成搜索令牌,所述私钥为权威可信机构根据所述数据使用方的属性信息生成的密钥。
应当理解的是,为了提高搜索安全性,本实施例中,根据搜索条件和私钥生成搜索令牌,根据搜索令牌在搜索服务器中进行搜索。
步骤S02:将所述搜索令牌发送至搜索服务器,并接收所述搜索服务器根据所述搜索令牌反馈的搜索结果。
在具体实现中,科研机构人员根据关键字集合,构建搜索条件,并使用自己的私钥生成搜索令牌,向搜索服务器发起搜索请求,搜索服务器在密文索引上执行搜索操作,如果科研人员的属性满足医院设置的访问策略,则可执行搜索操作,获取到正确的搜索结果。
为了便于理解,以下举例说明,但并不对本发明进行限定。在一个例子中,科研机构人员构建搜索条件,并使用自己的私钥,调用PVM-ABSE.Trapdoor(skω,Termssearch),生成搜索令牌。具体如下:
(1)选取随机数π←Zp,进行如下计算:
tok2=gcπ,tok3=k1 π=g(acπ-rπ)/b,tok4=k2 π=gπr
(2)假设该科研机构人员属性集合为ω,对于其任意属性i∈ω,计算:
tok5=k3,i π=H1(i)rπ
(3)则搜索令牌Token为{tok1,tok2,tok3,tok4,{tok5,i}i∈ω},科研机构人员将搜索Token发送给服务器。
本实施例根据搜索条件和私钥生成搜索令牌,根据搜索令牌在搜索服务器中进行搜索,从而能够提高搜索安全性。
在第二实施例中,所述步骤S40,包括:
步骤S401:在验证通过时,根据索引信息从分布式存储网络上下载密文数据。
应当理解的是,为了提高数据下载的安全性,本实施例中,在验证通过时,根据索引信息从分布式存储网络上下载密文数据,并基于私钥对密文数据进行解密,获得搜索结果对应的共享数据。
步骤S402:基于所述私钥对所述密文数据进行解密,获得所述搜索结果对应的共享数据。
在具体实现中,如果搜索结果是正确的,且科研人员的属性满足访问条件,则可用私钥解密医疗数据相关信息,科研人员根据数据相关信息,从IPFS下载数据密文医疗数据并解密,获取到原始数据(即共享数据)。
本实施例在验证通过时,根据索引信息从分布式存储网络上下载密文数据,并基于私钥对密文数据进行解密,获得搜索结果对应的共享数据,从而能够提高数据下载的安全性。
此外,参照图5,图5为本发明数据共享方法第三实施例的流程示意图,提出本发明数据共享方法第三实施例。
在第三实施例中,所述数据共享方法应用于数据拥有方,所述数据共享方法包括:
步骤S10':通过系统主密钥对共享数据进行加密处理,获得密文数据,所述系统主密钥为权威可信机构生成的密钥。
步骤S20':根据所述密文数据构建密文索引和锚定信息,并通过签名算法生成所述密文索引对应的证明信息。
步骤S30':将所述密文索引和所述证明信息上传至搜索服务器,所述搜索服务器在基于所述数据使用方发送的搜索令牌进行搜索时,基于所述搜索令牌在所述密文索引中进行搜索,所述数据使用方在进行数据搜索时基于所述搜索服务器中的证明信息对搜索结果进行正确性验证。
步骤S40':将所述锚定信息上传至区块链,所述数据使用方在进行数据搜索时基于所述区块链中的锚定信息对搜索结果进行正确性验证。
为了便于理解,参考图6进行说明,但并不对本发明进行限定。图6为本发明数据共享方法一实施例的交互示意图,图中,数据共享方法包括以下步骤:
在方案执行之前,首先需要对系统进行初始化,图中未示出,主要是方案中的各参与方通过区块链向身份授权机构进行申请,获取自己的唯一的数字身份,保证各方身份可信,可在链上的行为溯源确责。在这之后,图中每个步骤中对应的详细描述如下:
步骤1:属性授权中心为科研机构授权属性信息。属性可以是科研机构的任意身份标识,例如研究院名称、科室、职称、学历等
步骤2:密钥管理中心为医院分发系统主密钥。
步骤3:密钥管理中心从属性授权中心获取科研机构的属性信息,为科研机构生成并分发私钥。
步骤4:搜索服务器在区块链上进行注册,为用户提供存储和搜索服务,注册时需要在区块链智能合约中交一定数量押金。
步骤5:医院在调用索引生成器,本地执行加密算法(如AES算法),将其拥有的医疗数据记录进行加密处理。
步骤6:索引生成器会将加密后医疗数据上传至IPFS,加密后的EHR记录使用二元组(key,addr)表示,key为AES密钥,addr为密文在IPFS上的存储地址。
步骤7:索引生成器根据索引关键词和数据相关信息建立密文索引,单条密文索引格式如表1所示:
表1单条密文索引示例
医院通过索引生成器对密文索引加密并设置搜索的访问策略,只有满足访问策略的科研人员才能够正确执行搜索操作。对医疗记录(key,addr)采用常见的CP-ABE算法使用相同的访问策略进行加密。本发明中所用的一个访问策略示例如图7所示,图7为本发明数据共享方法一实施例的访问策略结构示意图,代表只有在科研机构A中的科室C里工作的教授或副教授才有权限在该条索引让进行搜索操作并解密获取相关数据。
构建完索引的同时,医院构造锚定信息上传至区块链,锚定信息构造过程示意图,具体如图3所示:
步骤8:索引生成器将密文索引上传至搜索服务器,将用于锚定信息上传至区块链。
步骤9:科研机构人员根据关键字集合,构建搜索条件,并使用自己的私钥生成搜索令牌,向搜索服务器发起搜索请求。
步骤10:搜索服务器在密文索引上执行搜索操作,如果科研人员的属性满足医院设置的访问策略,则可执行搜索操作,获取到正确的搜索结果。例如:其属性为{“科研机构A”,“科室C”,“副教授”}满足图2中访问策略的要求,可以搜索到该条索引。如果属性为{“科研机构B”,“科室C”,“教授”}或“科研机构A”,“科室C”}等均不满足要求,不能正确执行搜索操作。
步骤11:符合访问策略条件的科研人员在获取到搜索结果后,从区块链上获取用于搜索结果判断的锚定信息。
步骤12:科研人员调用结果验证器,在本地对搜索结果进行判断,如果发现搜索结果错误,则可向区块链发起仲裁,事先约定好的智能合约会对恶意的一方进行惩罚(如初始化时,各参与方需要在合约中进行资产抵押,作恶时会对其进行经济惩罚),并将罚款奖励给诚实的参与方。
步骤13:如果搜索结果是正确的,且科研人员的属性满足访问条件,则可用私钥解密医疗数据相关信息。
步骤14:科研人员根据数据相关信息,从IPFS下载数据密文医疗数据并解密,获取到原始数据。
本发明提出一种基于区块链的属性基多关键字可搜索加密医疗数据共享方法,其具体实施过程如下:
首先,本发明提出了公开可验证的多关键字属性基可搜索加密算法PVM-ABSE的形式化定义及描述:
1.PVM-ABSE.Setup(1λ)→(msk,pp)
密钥管理中心生成系统主密钥,该算法的输入是安全因子1λ,输出是系统的主密钥msk、公开参数pp。
2.PVM-ABSE.KeyGen(msk,pp,ω)→skω
密钥管理中心获取DU属性信息,为其生成私钥,输入是系统的主密钥msk、公开参数pp和DU的属性集合ω,输出是DU的私钥skω。
3.PVM-ABSE.BuildIndex(F,P,pp)→(CF,CIS,anchor,proof)
DO在本地构建密文索引,输入是共享数据的文件集合F、问策略P、开参数pp,输出是原始数据密文CF、密文索引CIS、锚定信息anchor和证明信息proof。
4.PVM-ABSE.Trapdoor(skω,Termssearch)→Token
DU根据构建的搜索条件,生成搜索令牌。算法的输入是DU搜索私钥skω和搜索条件Termssearch,输出是与对应的搜索令牌Token。
5.PVM-ABSE.Search(Token,CIS,Anchor)→(Result,proof)
搜索服务器分别对密文索引执行比对操作,返回匹配成功的搜索结果。算法的输入是DU发送的搜索令牌Token和密文索引CIS,输出为搜索结果Result。
6.PVM-ABSE.Verify_1(Termssearch,anchor)→{0,1}
任何人均可对返回为空的搜索结果进行验证。算法输入是搜索条件Termssearch,锚定信息anchor,输出为0或1。
7.PVM-ABSE.Verify_2(Token,Result,proof)→{0,1}
任何人均可以使用公开的信息对搜索结果进行公开验证,输入为搜索令牌Token、返回的搜索结果Result、证明信息proof,输出为0和1。
随后本发明设计了一种基于区块链的属性基多关键字可搜索加密医疗数据共享方案,包括如下步骤:
阶段一:初始化阶段(对应步骤1~2):
属性授权中心为科研机构人员分发属性,如研究院名称、科室、职称、学历等,S={1,...,l}为所有的属性集合。密钥管理中心执行PVM-ABSE.Setup(1λ)生成主密钥msk和公共参数pp,具体流程如下:
(1)选取两个阶为p,生成元为g的群G和GT,e:G×G→GT是一个双线性映射,选取单向的散列的哈希函数,H1:{0,1}*→G,H2:{0,1}*→Zp
(2)密钥管理中心选取随机数a,b,c←Zp,则系统的公开参数为:
pp={H1,H2,e,g,p,ga,gb,gc,G,GT}
系统的主密钥为:
msk=(a,b,c)
(3)密钥管理中心将主密钥分发给医院。
阶段二:密钥分发阶段(对应步骤3):
密钥管理中心从属性授权中心获取科研人员属性,假设科研人员的属性集合为ω,执行PVM-ABSE.KeyGen(msk,pp,ω)为其生成私钥skω,具体的如下:
(1)密钥管理中心任意选取随机数r←Zp,计算k1=g(ac-r)/b,k2=gr对于科研人员所有的属性i∈ω,计算k3.i=H1(i)r,则用户的私钥skω为:
skω=(k1,k2,{k3,i}i∈ω)
(2)密钥管理中心将私钥分发给对应的科研人员。
阶段三:密文索引生成阶段(对应步骤4~8):
医院执行PVM-ABSE.BuildIndex(F,P,pp)为其所有的医疗数据生成密文索引CIS。具体如下:
(1)医院首先为自己拥有的医疗数据记录生成明文索引,假设医院的医疗记录EHRs存储在NoSQL数据库中,一张EHRs的示例如表2所示:
表2医疗记录数据EHRs示例
(2)医院浏览自己所有的数据,为医疗记录数据设置搜索条件,根据表1的形式,创建明文索引结构,索引示例如表3所示:
表3明文索引结构示例
(3)医院使用AES算法对每一条索引对应的医疗记录数据加密,并将加密后的数据上传至IPFS。每一条索引数据为I=(kw,key,addr)。
(4)医院使用系统主密钥msk对搜索条件的关键字进行加密,具体的,对于任意Ii∈I,选取随机数t,s←Zp计算C0=gct,C2=gbs。根据图2中的访问策略构建访问结构(Al×k,ρ),A是l行k列的共享矩阵,ρ(x)是矩阵行号x到属性的映射。选取随机数η2,η3,...,ηk∈Zp,构造向量/>计算/>选取随机数r1,...,rl∈Zp,对于每个属性进行如下计算:
则加密后的关键字密文为:
CKW={C0,C1,C2,{C3,i,C4,i}i∈(1,...,l)}
(5)使用常见的CP-ABE算法,设置相同的访问策略对key和addr进行加密,得到数据密文CT。则生成的单条密文索引如下:
CI={CKW,CTKEY,CTADDR}
(6)按照图3的方式,为所有搜索条件生成链上的锚定信息anchor。
(7)使用ECDSA签名算法为每一条密文索引生成proof信息,具体如下:
proof=ECDSA.SIG(SHA256(CKW|CTKEY|CTADDR))
(8)医院将密文索引CIS及对应的proof上传至搜索服务器,将锚定信息anchor上传至区块链。
阶段四:令牌生成阶段(对应步骤9):
科研机构人员构建搜索条件,并使用自己的私钥,调用PVM-ABSE.Trapdoor(skω,Termssearch),生成搜索令牌。具体如下:
(1)选取随机数π←Zp,进行如下计算:
tok2=gcπ,tok3=k1 π=g(acπ-rπ)/b,tok4=k2 π=gπr/>
(2)假设该科研机构人员属性集合为ω,对于其任意属性i∈ω,计算:
tok5=k3,i π=H1(i)rπ
(3)则搜索令牌Token为{tok1,tok2,tok3,tok4,{tok5,i}i∈ω},科研机构人员将搜索Token发送给搜索服务器。
阶段五:搜索阶段(对应步骤10):
搜索服务器根据上传的搜索Token,调用PVM-ABSE.Search(Token,CIS,anchor),得到搜索结果Result和对应的proof,将二者返回给科研人员。针对每一条密文索引,具体如下:
(1)进行如下计算:
如果科研机构人员的属性集合ω满足访问控制策略(Al×k,ρ),那么可以通过计算得到s,则E=e(g,g)rsπ。
(2)如果如果该等式成立,则搜索成功,返回对应的Result和对应的proof。具体计算过程如下:
e(tok3,C2)=e(g(acπ-tπ)/b,gbs)
=e(g,g)ascπ-rsπ
(3)如果搜索完毕,仍然没有检索到正确的搜索结果,则返回NULL。
阶段六:验证阶段(对应步骤11~12):
在收到搜索服务器返回的搜索结果时,任何人均可使用公开信息,使用结果验证器,对搜索结果进行验证,具体如下:
(1)如果搜索结果为空,则从链上获取锚定信息,并使用关键字构成的搜索条件调用PVM-ABSE.Verify_1(Termssearch,anchor)验证数据的存在性。具体操作为,将搜索条件执行图3中的哈希,如果对应的位置均为1,则索引是存在的,搜索服务器作恶。
(2)如果搜索结果不为空,则调用PVM-ABSE.Verify_2(Token,CIS,Result,proof)验证数据的准确性。首先,使用返回的搜索结果和搜索令牌,再次执行搜索阶段中的比对算法,验证搜索结果是否正确。然后,对Proof和返回的搜索结果使用ECDSA验签算法,验证数据是否完整。两项验证中,有一项不通过,则搜索服务器作恶。
阶段七:仲裁阶段(对应步骤12):
本发明中的所有操作记录均存储于区块链上,以便对每个参与方的行为确权追责。在步骤六中,如果检测出来搜索服务器执行了恶意操作,结果验证器将在区块链上申请仲裁,区块链会根据链上的数据记录进行判决。如果搜索服务器确实存在作恶行为,则会扣除搜索服务器的押金,并奖励给所有诚实的参与方。
阶段八:数据获取阶段(对应步骤13~14):
科研机构人员获取到正确的密文索引上,根据索引信息从IPFS上下载数据,并解密获取原始数据。
本发明具备以下优点:
1.基于区块链的属性基多关键字可搜索加密医疗数据共享方法流程,包括:密钥管理中心从属性授权中心获取科研人员属性,假设科研人员的属性集合为ω,执行PVM-ABSE.KeyGen(msk,pp,ω)为其生成私钥skω;医院执行PVM-ABSE.BuildIndex(F,P,pp)为其所有的医疗数据生成密文索引CIS;科研机构人员构建搜索条件,并使用自己的私钥,调用PVM-ABSE.Trapdoor(skω,Termssearch),生成搜索令牌搜索服务器根据上传的搜索Token,调用PVM-ABSE.Search(Token,CIS,anchor),得到搜索结果Result和对应的proof,将二者返回给科研人员,以及进行验证仲裁。
2、基于区块链的属性基多关键字可搜索加密医疗数据共享系统,包括生成器和验证器。
3、本发明针对区块链这种公开环境下的密文数据检索流程,采用属性基可搜索加密技术设计了搜索结果公开可验证的密文检索隐私保护方案,任何参与方均可利用公开信息对搜索结果进行验证,并且在没有中心化机构参与的情况下,对恶意参与方进行惩罚,解决了公开环境下数据索引过程中关键字和索引记录可能泄露用户隐私的问题。
4、本发明构建了一种索引生成器,部署在医院端。医院作为医疗数据的拥有方,使用索引生成器将原始数据加密上传至IPFS后,构建数据与搜索条件的密文索引。与传统可搜索加密方案相比,本发明的索引生成器在生成密文索引的同时,还生成了对应的锚定信息和证明信息,分别上传至区块链与搜索服务器。
5、本发明构建了一种结果验证器,部署在科研机构。科研机构作为数据使用方,在生成搜索令牌,发起搜索,获取搜索结果后,结果验证器会从区块链获取对应的锚定信息,结合搜索服务器返回的搜索结果与证明信息,验证搜索结果的准确性。如果结果验证器发现搜索结果存在问题,可向区块链发起仲裁申请,惩罚恶意的参与方。
在本实施例中,公开了通过系统主密钥对共享数据进行加密处理,获得密文数据,系统主密钥为权威可信机构生成的密钥,根据密文数据构建密文索引和锚定信息,并通过签名算法生成密文索引对应的证明信息,将密文索引和证明信息上传至搜索服务器,搜索服务器在基于数据使用方发送的搜索令牌进行搜索时,基于搜索令牌在密文索引中进行搜索,数据使用方在进行数据搜索时基于搜索服务器中的证明信息对搜索结果进行正确性验证,将锚定信息上传至区块链,数据使用方在进行数据搜索时基于区块链中的锚定信息对搜索结果进行正确性验证;由于本实施例中任何参与者均可利用锚定信息或证明信息对搜索结果进行验证,并且在没有中心化机构参与的情况下,对恶意参与者进行惩罚,从而解决了各参与方之间的信任问题,保证了搜索结果的准确性。
参照图8,图8为本发明数据共享方法第四实施例的流程示意图,基于上述图5所示的第三实施例,提出本发明数据共享方法的第四实施例。
在第四实施例中,所述步骤S20',包括:
步骤S201':对对称加密密钥和存储地址进行加密,获得密文索引,所述密文数据包括搜索条件和数据记录,所述数据记录包括对称加密密钥和密文数据在分布式存储网络上的存储地址。
步骤S202':基于所述搜索条件和预设哈希结构构建锚定信息。
步骤S203':通过签名算法生成所述密文索引对应的证明信息。
本实施例中具体公开了如何生成密文索引和锚定信息,从而能够提高密文索引和锚定信息的可靠性,进而能够提高数据共享的安全性。
在第四实施例中,所述步骤S30',包括:
步骤S301':获取所述密文索引对应的索引访问策略,并根据所述索引访问策略对所述密文索引进行设置。
步骤S302':将设置后密文索引和所述证明信息上传至搜索服务器,所述搜索服务器在基于所述数据使用方发送的搜索令牌进行搜索时,基于所述搜索令牌在所述设置后密文索引中进行搜索,搜索时遵循所述索引访问策略。
本实施例中还可以根据密文索引对应的索引访问策略对密文索引进行设置,以便后续控制对密文索引的访问,提高安全性。
此外,参照图9,本发明实施例还提出一种数据共享装置,所述数据共享装置应用于数据使用方,所述数据共享装置包括:
获取模块10,用于在接收到搜索结果后,从区块链上获取锚定信息或从搜索服务器中获取所述搜索结果对应的证明信息,所述锚定信息基于所述数据拥有方的共享数据生成;
验证模块20,用于根据所述锚定信息或所述证明信息对所述搜索结果进行正确性验证;
仲裁模块30,用于在验证未通过时,向所述区块链发起仲裁请求,所述区块链中的智能合约基于所述仲裁请求对所述搜索结果对应的恶意参与方进行惩罚;
下载模块40,用于在验证通过时,下载所述搜索结果对应的共享数据。
在本实施例中,公开了在接收到搜索结果后,从区块链上获取锚定信息或从搜索服务器中获取搜索结果对应的证明信息,锚定信息基于数据拥有方的共享数据生成,根据锚定信息或证明信息对搜索结果进行正确性验证,在验证未通过时,向区块链发起仲裁请求,区块链中的智能合约基于仲裁请求对搜索结果对应的恶意参与方进行惩罚,在验证通过时,下载搜索结果对应的共享数据;由于本实施例中任何参与者均可利用锚定信息或证明信息对搜索结果进行验证,并且在没有中心化机构参与的情况下,对恶意参与者进行惩罚,从而解决了各参与方之间的信任问题,保证了搜索结果的准确性。
此外,参照图9,本发明实施例还提出一种数据共享装置,所述数据共享装置应用于数据拥有方,所述数据共享装置包括:
加密模块10',用于通过系统主密钥对共享数据进行加密处理,获得密文数据,所述系统主密钥为权威可信机构生成的密钥;
构建模块20',用于根据所述密文数据构建密文索引和锚定信息,并通过签名算法生成所述密文索引对应的证明信息;
上传模块30',用于将所述密文索引和所述证明信息上传至搜索服务器,所述搜索服务器在基于所述数据使用方发送的搜索令牌进行搜索时,基于所述搜索令牌在所述密文索引中进行搜索,所述数据使用方在进行数据搜索时基于所述搜索服务器中的证明信息对搜索结果进行正确性验证;
上传模块30',还用于将所述锚定信息上传至区块链,所述数据使用方在进行数据搜索时基于所述区块链中的锚定信息对搜索结果进行正确性验证。
在本实施例中,公开了通过系统主密钥对共享数据进行加密处理,获得密文数据,系统主密钥为权威可信机构生成的密钥,根据密文数据构建密文索引和锚定信息,并通过签名算法生成密文索引对应的证明信息,将密文索引和证明信息上传至搜索服务器,搜索服务器在基于数据使用方发送的搜索令牌进行搜索时,基于搜索令牌在密文索引中进行搜索,数据使用方在进行数据搜索时基于搜索服务器中的证明信息对搜索结果进行正确性验证,将锚定信息上传至区块链,数据使用方在进行数据搜索时基于区块链中的锚定信息对搜索结果进行正确性验证;由于本实施例中任何参与者均可利用锚定信息或证明信息对搜索结果进行验证,并且在没有中心化机构参与的情况下,对恶意参与者进行惩罚,从而解决了各参与方之间的信任问题,保证了搜索结果的准确性。
本发明所述免密登录装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据共享程序,所述数据共享程序被处理器执行时实现如上文所述的数据共享方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种数据共享方法,其特征在于,所述数据共享方法应用于数据使用方,所述数据共享方法包括:
在接收到搜索结果后,从区块链上获取锚定信息或从搜索服务器中获取所述搜索结果对应的证明信息,所述锚定信息基于所述数据拥有方的共享数据生成;
根据所述锚定信息或所述证明信息对所述搜索结果进行正确性验证;
在验证未通过时,向所述区块链发起仲裁请求,所述区块链中的智能合约基于所述仲裁请求对所述搜索结果对应的恶意参与方进行惩罚;
在验证通过时,下载所述搜索结果对应的共享数据。
2.如权利要求1所述的数据共享方法,其特征在于,所述根据所述锚定信息对所述搜索结果进行正确性验证,包括:
在所述搜索结果为空时,获取所述搜索结果对应的搜索条件;
根据所述搜索条件和所述锚定信息计算哈希值,并根据所述哈希值对所述搜索结果进行正确性验证。
3.如权利要求1所述的数据共享方法,其特征在于,所述根据所述证明信息对所述搜索结果进行正确性验证,包括:
在所述搜索结果不为空时,获取所述搜索结果对应的搜索令牌,所述搜索令牌由所述数据使用方发送,所述搜索服务器根据所述搜索令牌进行数据搜索;
根据所述搜索结果和所述搜索令牌通过再次执行搜索阶段中的比对算法验证再次搜索结果是否正确,获得第一验证结果;
根据所述证明信息和所述搜索结果通过验签算法验证所述搜索结果的数据是否完整,获得第二验证结果;
根据所述第一验证结果和所述第二验证结果对所述搜索结果进行正确性验证。
4.如权利要求1至3中任一项所述的数据共享方法,其特征在于,所述在接收到搜索结果后,从所述区块链上获取锚定信息或从搜索服务器中获取所述搜索结果对应的证明信息之前,还包括:
根据搜索条件和私钥生成搜索令牌,所述私钥为权威可信机构根据所述数据使用方的属性信息生成的密钥;
将所述搜索令牌发送至搜索服务器,并接收所述搜索服务器根据所述搜索令牌反馈的搜索结果。
5.如权利要求4所述的数据共享方法,其特征在于,所述在验证通过时,下载所述搜索结果对应的共享数据,包括:
在验证通过时,根据索引信息从分布式存储网络上下载密文数据;
基于所述私钥对所述密文数据进行解密,获得所述搜索结果对应的共享数据。
6.一种数据共享方法,其特征在于,所述数据共享方法应用于数据拥有方,所述数据共享方法包括:
通过系统主密钥对共享数据进行加密处理,获得密文数据,所述系统主密钥为权威可信机构生成的密钥;
根据所述密文数据构建密文索引和锚定信息,并通过签名算法生成所述密文索引对应的证明信息;
将所述密文索引和所述证明信息上传至搜索服务器,所述搜索服务器在基于所述数据使用方发送的搜索令牌进行搜索时,基于所述搜索令牌在所述密文索引中进行搜索,所述数据使用方在进行数据搜索时基于所述搜索服务器中的证明信息对搜索结果进行正确性验证;
将所述锚定信息上传至区块链,所述数据使用方在进行数据搜索时基于所述区块链中的锚定信息对搜索结果进行正确性验证。
7.如权利要求6所述的数据共享方法,其特征在于,所述根据所述密文数据构建密文索引和锚定信息,包括:
对对称加密密钥和存储地址进行加密,获得密文索引,所述密文数据包括搜索条件和数据记录,所述数据记录包括对称加密密钥和密文数据在分布式存储网络上的存储地址;
基于所述搜索条件和预设哈希结构构建锚定信息。
8.如权利要求6所述的数据共享方法,其特征在于,所述将所述密文索引和所述证明信息上传至搜索服务器,包括:
获取所述密文索引对应的索引访问策略,并根据所述索引访问策略对所述密文索引进行设置;
将设置后密文索引和所述证明信息上传至搜索服务器,所述搜索服务器在基于所述数据使用方发送的搜索令牌进行搜索时,基于所述搜索令牌在所述设置后密文索引中进行搜索,搜索时遵循所述索引访问策略。
9.一种数据共享装置,其特征在于,所述数据共享装置应用于数据使用方,所述数据共享装置包括:
获取模块,用于在接收到搜索结果后,从区块链上获取锚定信息或从搜索服务器中获取所述搜索结果对应的证明信息,所述锚定信息基于所述数据拥有方的共享数据生成;
验证模块,用于根据所述锚定信息或所述证明信息对所述搜索结果进行正确性验证;
仲裁模块,用于在验证未通过时,向所述区块链发起仲裁请求,所述区块链中的智能合约基于所述仲裁请求对所述搜索结果对应的恶意参与方进行惩罚;
下载模块,用于在验证通过时,下载所述搜索结果对应的共享数据。
10.一种数据共享装置,其特征在于,所述数据共享装置应用于数据拥有方,所述数据共享装置包括:
加密模块,用于通过系统主密钥对共享数据进行加密处理,获得密文数据,所述系统主密钥为权威可信机构生成的密钥;
构建模块,用于根据所述密文数据构建密文索引和锚定信息,并通过签名算法生成所述密文索引对应的证明信息;
上传模块,用于将所述密文索引和所述证明信息上传至搜索服务器,所述搜索服务器在基于所述数据使用方发送的搜索令牌进行搜索时,基于所述搜索令牌在所述密文索引中进行搜索,所述数据使用方在进行数据搜索时基于所述搜索服务器中的证明信息对搜索结果进行正确性验证;
上传模块,还用于将所述锚定信息上传至区块链,所述数据使用方在进行数据搜索时基于所述区块链中的锚定信息对搜索结果进行正确性验证。
11.一种数据共享设备,其特征在于,所述数据共享设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据共享程序,所述数据共享程序被所述处理器执行时实现如权利要求1至5或6至8中任一项所述的数据共享方法。
12.一种存储介质,其特征在于,所述存储介质上存储有数据共享程序,所述数据共享程序被处理器执行时实现如权利要求1至5或6至8中任一项所述的数据共享方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311716511.9A CN117714145A (zh) | 2023-12-13 | 2023-12-13 | 数据共享方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311716511.9A CN117714145A (zh) | 2023-12-13 | 2023-12-13 | 数据共享方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117714145A true CN117714145A (zh) | 2024-03-15 |
Family
ID=90149234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311716511.9A Pending CN117714145A (zh) | 2023-12-13 | 2023-12-13 | 数据共享方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117714145A (zh) |
-
2023
- 2023-12-13 CN CN202311716511.9A patent/CN117714145A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108848063B (zh) | 基于区块链的数据处理方法、系统和计算机可读存储介质 | |
Zhang et al. | FHIRChain: applying blockchain to securely and scalably share clinical data | |
Tian et al. | Medical data management on blockchain with privacy | |
CN111914027B (zh) | 一种区块链交易关键字可搜索加密方法及系统 | |
CN110008746A (zh) | 基于区块链的医疗记录存储、共享和安全理赔模型及方法 | |
CN108076049A (zh) | 包体的系统 | |
US9698974B2 (en) | Method for creating asymmetrical cryptographic key pairs | |
Mubarakali et al. | Design an attribute based health record protection algorithm for healthcare services in cloud environment | |
Sun et al. | A searchable personal health records framework with fine-grained access control in cloud-fog computing | |
CN106487506A (zh) | 一种支持预加密和外包解密的多机构kp‑abe方法 | |
CN115065679B (zh) | 基于区块链的电子健康档案共享模型、方法、系统和介质 | |
AU2020331404A1 (en) | Secure information sharing systems and methods | |
CN113889208B (zh) | 基于区块链的链上-链下医疗数据共享方法、装置及设备 | |
CN104917748B (zh) | 一种用于对密码信息进行换算和处理的方法和装置 | |
US20200035339A1 (en) | Blockchain security system for secure record access across multiple computer systems | |
TW202217610A (zh) | 鑑認系統及方法 | |
CN115987592A (zh) | 基于区块链的移动医疗物联网细粒度访问控制方法及系统 | |
CN116469501A (zh) | 基于区块链的电子病历共享方法、系统、设备及存储介质 | |
Xue et al. | Blockchain-based fair and fine-grained data trading with privacy preservation | |
Ali et al. | Anonymous aggregate fine-grained cloud data verification system for smart health | |
CN116346306A (zh) | 一种多中心属性基加密方法、计算机可读存储介质及设备 | |
Huang et al. | Privacy Protection Scheme of Medical Electronic Health Records Based on Blockchain and Asymmetric Encryption | |
Sadayapillai et al. | A blockchain-based framework for transparent, secure, and verifiable online examination system | |
Vinodhini et al. | A patient-centric doctor referral model based on hyperledger chaincode | |
CN117714145A (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 |