CN109117662B - 基于区块链的电子病历安全搜索方法 - Google Patents

基于区块链的电子病历安全搜索方法 Download PDF

Info

Publication number
CN109117662B
CN109117662B CN201810611570.2A CN201810611570A CN109117662B CN 109117662 B CN109117662 B CN 109117662B CN 201810611570 A CN201810611570 A CN 201810611570A CN 109117662 B CN109117662 B CN 109117662B
Authority
CN
China
Prior art keywords
medical record
electronic medical
keywords
patient
block chain
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
Application number
CN201810611570.2A
Other languages
English (en)
Other versions
CN109117662A (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.)
Anhui Normal University
Original Assignee
Anhui Normal 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 Anhui Normal University filed Critical Anhui Normal University
Priority to CN201810611570.2A priority Critical patent/CN109117662B/zh
Publication of CN109117662A publication Critical patent/CN109117662A/zh
Application granted granted Critical
Publication of CN109117662B publication Critical patent/CN109117662B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data

Landscapes

  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开基于区块链的电子病历安全搜索方法,该基于区块链的电子病历安全搜索方法包括:步骤1,建立系统,并产生密钥;步骤2,产生电子病历并提取关键词,对所述电子病历和所述关键词进行加密并执行存储;步骤3,执行电子病历的搜索。该基于区块链的电子病历安全搜索方法实现了只有电子病历的拥有者(病人)授权的实体才能够搜索到对应内容,保护用户的隐私。

Description

基于区块链的电子病历安全搜索方法
技术领域
本发明涉及电子病历安全搜索方法,更具体的说,是一种基于区块链的电子病历安全搜索方法。
背景技术
病历是病人在医院诊断治疗全过程的原始记录,随着医院计算机管理网络化、信息存储介质的应用及Internet的全球化,电子病历(病历的电子化)是医院现代化管理的必然趋势,其在临床的应用极大地提高了医院的工作效率和医疗质量。由于电子病历系统关联到病历重要数据、病人隐私等,一旦出现隐患将出现无法挽回的损失,因此使用电子病历系统必须要建立一套安全机制。因此,电子病历通常是以密文的形式存储在系统中,并通过其他密码技术和访问控制技术,实现数据的安全性和用户隐私保护,同时对一些重要的操作要进行追踪记录。
在电子病历的共享中,一项重要应用是对其内容进行搜索,例如,在一个病人向医生描述其症状后,医生想要了解其相关病史和治疗纪录以提高其诊断的准确性。在这种情况下,医生需要搜索该病人的历史电子病历,查找相关信息。
近两年,区块链作为一种去中心化的基础架构,由于其数据的不可修改性和分布式计算范式,已经引起政府部门、金融机构、科技企业和资本市场的高度重视与广泛关注,有望像互联网一样彻底重塑人类社会活动形态。区块链的这些特点使得其特别适合存储和保护重要隐私数据,以避免因中心化机构受攻击或权限管理不当而造成的大规模数据丢失或篡改。因此,本发明提供了一种基于区块链的电子病历安全搜索方法。
发明内容
本发明的目的是提供一种基于区块链的电子病历安全搜索方法,该基于区块链的电子病历安全搜索方法实现了只有电子病历的拥有者(病人)授权的实体才能够搜索到对应内容,保护用户的隐私。
为了实现上述目的,本发明提供了一种基于区块链的电子病历安全搜索方法,该基于区块链的电子病历安全搜索方法包括:
步骤1,建立系统,并产生密钥;
步骤2,产生电子病历并提取关键词,对所述电子病历和所述关键词进行加密并执行存储;
步骤3,执行电子病历的搜索。
优选地,在步骤1中,建立系统,并产生密钥的方法包括:
步骤11,给定安全参数k,系统选择阶为素数p的两个循环群G1,G2以及一个双线性对
Figure BDA0001695712070000021
Figure BDA0001695712070000022
满足双线性和对称性,其中,
双线性是指对所有V,Q∈G以及
Figure BDA0001695712070000023
Figure BDA0001695712070000024
对称性是指
Figure BDA0001695712070000025
选择以下七个hash函数:
H0:G2→{0,1}*
Figure BDA0001695712070000026
H2:G1→M,
Figure BDA00016957120700000214
Figure BDA0001695712070000029
计算,
Figure BDA00016957120700000210
系统参数为
Figure BDA00016957120700000211
步骤12,病人i随机选择
Figure BDA00016957120700000212
作为其私钥ski,并产生对应的公钥pki=(Yi1=yi1P,Yi2=yi2P1);
步骤13,医生j随机选择
Figure BDA00016957120700000213
作为其私钥,并产生对应的公钥pkj=(Yj=yjP1)。
优选地,在步骤2中,产生电子病历并提取关键词,对所述电子病历和所述关键词进行加密并执行存储的方法包括:
步骤21,医生产生电子病历并从所述电子病历中提取关键词;
该关键词应选自标准的医药描述术语集,区块链的验证者将在步骤25的共识机制中验证关键词的有效性;
步骤22,医生对电子病历m和关键词w进行可搜索加密;
加密方法如下:
随机选择
Figure BDA0001695712070000031
计算
Figure BDA0001695712070000032
计算
Figure BDA0001695712070000033
设矢量X=[X1,X2,...,Xn],其中
X1=r1H1(w)P1,X2=r1(H1(w))2P1,...,Xn=r1(H1(w))nP1
计算
Figure BDA0001695712070000034
该加密算法的输出为ci=(ci0,ci1,ci2);其中,ci1=(A,B,E,F),ci2=(J,X),(A,B,E,F)是可搜索加密的密文,ce=(A,J,X)是用于验证关键词有效性的证据;
步骤23,医生对病人身份IDi进行可搜索加密为密文di作为病历编号;加密方法如下:
随机选择
Figure BDA0001695712070000035
计算
Bd=r1Yi2,r0=H5(IDi,Bd),Ad=r0(Yi1+H1(IDi)P1)+r1P1
计算
Figure BDA0001695712070000036
病人身份IDi加密为di=(Ad,Bd,Ed,Fd);
步骤24,医生将密文(ci,di)作为一个新的区块发送到区块链中;
步骤25,区块链的验证者验证关键词的有效性,该验证方法作为该区块链的共识机制;
该共识机制如下:
假设关键词集合Ω={w1,w2,...wn},本发明通过建立基于关键词多项式的方法验证关键词的有效性,具体过程如下:
计算H(w1),H(w2),...H(wn),其中H(·)为哈希函数,构建一个n阶多项式,该多项式满足
f(x)=(x-H(w1))(x-H(w2))...(x-H(wn))
显然,f(H(wi))=0,i∈{1,2,....n},该式可以表示为
f(x)=xn+bn-1xn-1+...+b1x+b0
这样,f(x)=0可以表示为
xn+bn-1xn-1+...+b1x+b0=0
对上式进行变换可以得到
Figure BDA0001695712070000041
Figure BDA0001695712070000042
构建新的多项式
g(x)=anxn+an-1xn-1+...+a1x可得g(H(wi))=1;
定义一个矢量Λ=[a1,a2,...an]和Ηi=[H(wi),(H(wi))2,...,(H(wi))n],矢量Λ和Ηi的内积Λ·Ηi=1,从而矢量Λ可以用来验证所包含的关键词是否选自可选关键词集;
区块链的验证者按照如下方法验证接收到的密文(ci,di)中关键词是否有效:验证以下两个等式
Figure BDA0001695712070000051
Figure BDA0001695712070000052
若超过2/3的验证者验证了以上两个等式成立,将该区块加入到区块链中。
优选地,在步骤3中,执行电子病历的搜索的方法包括:
步骤31,病人产生身份搜索陷门
Figure BDA0001695712070000053
和关键词搜索陷门Tw=(T1,T2,T3),方法如下:
随机选择
Figure BDA0001695712070000054
计算
Figure BDA0001695712070000055
随机选择
Figure BDA0001695712070000056
计算
Figure BDA0001695712070000057
步骤32,电子病历的搜索者接收到病人的搜索陷门Td和Tw后搜索电子病历。
优选地,在步骤32中,搜索电子病历的方法包括:
步骤321,搜索密文中身份为IDi的病历,即提取
Figure BDA0001695712070000058
计算
Figure BDA0001695712070000059
和Vd=U1/U2,验证H4(Vd,Ad,Bd)=Fd是否成立,若成立,该病历为所需查找病人的病历,提取出对应密文ci0和ci1=(A,B,E,F);
步骤322,计算
Figure BDA00016957120700000510
和V=U1/U2,验证H4(V,A,B)=F,若该等式成立,ci0为所需查找病人所需查找关键词的病历,计算
Figure BDA00016957120700000511
和r0'=H3(m',B),验证
Figure BDA00016957120700000512
是否成立,若该等式成立,接受m’。
优选地,在步骤1中,在步骤13之后还包括步骤14,
假设关键词集合Ω={w1,w2,...wn},通过建立基于关键词多项式的方法验证关键词的有效性,具体过程如下:
计算H(w1),H(w2),...H(wn),其中H(·)为哈希函数,构建一个n阶多项式,该多项式满足
f(x)=(x-H(w1))(x-H(w2))...(x-H(wn))
显然,f(H(wi))=0,i∈{1,2,....n},该式可以表示为
f(x)=xn+bn-1xn-1+...+b1x+b0
这样,f(x)=0可以表示为
xn+bn-1xn-1+...+b1x+b0=0
对上式进行变换可以得到
Figure BDA0001695712070000061
Figure BDA0001695712070000062
构建新的多项式
g(x)=anxn+an-1xn-1+...+a1x
可得g(H(wi))=1;定义一个矢量Λ=[a1,a2,...an]和Ηi=[H(wi),(H(wi))2,...,(H(wi))n],矢量Λ和Ηi的内积Λ·Ηi=1,从而矢量Λ可以用来验证所包含的关键词是否选自可选关键词集。
根据上述技术方案,本发明只有电子病历的拥有者(病人)授权的实体才能够搜索到对应内容,保护用户的隐私。本发明使用区块链,可以使得其特别适合存储和保护重要隐私数据,以避免因中心化机构受攻击或权限管理不当而造成的大规模数据丢失或篡改。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是说明本发明的一种基于区块链的电子病历安全搜索方法的区块结构框图;
图2是说明本发明的一种基于区块链的病历搜索过程示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
假设病人(身份为IDi)由于病1去看医生1,医生1产生电子病历m并提取关键词w,对该病历和关键词进行加密为密文ci,同时为用户的该病历建立编号di(对身份IDi进行可搜索加密),医生1将密文ci和编号di发送到区块链,区块链验证其有效性后将该区块上链。假设该病人由于病2去看医生2,医生2认为该病人的疾病可能与病1有关,需要查看病人病1关键词w相关的病历。于是,病人将编号搜索陷门Td和关键词搜索陷门Tw发送给医生2,医生2用该陷门搜索对应的病历。具体地,可以通过如下步骤来实现:
步骤11,给定安全参数k,系统选择阶为素数p的两个循环群G1,G2以及一个双线性对
Figure BDA0001695712070000071
Figure BDA0001695712070000072
满足双线性和对称性,其中,
双线性是指对所有V,Q∈G1以及
Figure BDA0001695712070000073
Figure BDA0001695712070000074
对称性是指
Figure BDA0001695712070000075
选择以下七个hash函数:
H:G2→{0,1}*
Figure BDA0001695712070000076
H2:G1→M(消息空间),
Figure BDA0001695712070000077
Figure BDA0001695712070000078
计算,
Figure BDA0001695712070000079
系统参数为
Figure BDA00016957120700000710
步骤12,病人i随机选择
Figure BDA0001695712070000081
作为其私钥ski,并产生对应的公钥pki=(Yi1=yi1P,Yi2=yi2P1);
步骤13,医生j随机选择
Figure BDA0001695712070000082
作为其私钥,并产生对应的公钥pkj=(Yj=yjP1)。
在步骤1中,在步骤13之后还包括步骤14,
假设关键词集合Ω={w1,w2,...wn},通过建立基于关键词多项式的方法验证关键词的有效性,具体过程如下:
计算H(w1),H(w2),...H(wn),其中H(·)为哈希函数,构建一个n阶多项式,该多项式满足
f(x)=(x-H(w1))(x-H(w2))...(x-H(wn))
显然,f(H(wi))=0,i∈{1,2,....n},该式可以表示为
f(x)=xn+bn-1xn-1+...+b1x+b0
这样,f(x)=0可以表示为
xn+bn-1xn-1+...+b1x+b0=0
对上式进行变换可以得到
Figure BDA0001695712070000083
Figure BDA0001695712070000084
构建新的多项式
g(x)=anxn+an-1xn-1+...+a1x
可得g(H(wi))=1;定义一个矢量Λ=[a1,a2,...an]和Ηi=[H(wi),(H(wi))2,...,(H(wi))n],矢量Λ和Ηi的内积Λ·Ηi=1,从而矢量Λ可以用来验证所包含的关键词是否选自可选关键词集。
在步骤2中,产生电子病历并提取关键词,对所述电子病历和所述关键词进行加密并执行存储的方法包括:
步骤21,医生产生电子病历并从所述电子病历中提取关键词;
该关键词应选自标准的医药描述术语集,区块链的验证者将在步骤25的共识机制中验证关键词的有效性;
步骤22,医生对电子病历m和关键词w进行可搜索加密;
加密方法如下:
随机选择
Figure BDA0001695712070000091
计算
Figure BDA0001695712070000092
计算
Figure BDA0001695712070000093
设矢量X=[X1,X2,...,Xn],其中
X1=r1H1(w)P1,X2=r1(H1(w))2P1,...,Xn=r1(H1(w))nP1
计算
Figure BDA0001695712070000094
该加密算法的输出为ci=(ci0,ci1,ci2);其中,ci1=(A,B,E,F),ci2=(J,X),(A,B,E,F)是可搜索加密的密文,ce=(A,J,X)是用于验证关键词有效性的证据;
步骤23,医生对病人身份IDi进行可搜索加密为密文di作为病历编号;加密方法如下:
随机选择
Figure BDA0001695712070000095
计算
Bd=r1Yi2,r0=H5(IDi,Bd),Ad=r0(Yi1+H1(IDi)P1)+r1P1
计算
Figure BDA0001695712070000096
病人身份IDi加密为di=(Ad,Bd,Ed,Fd);
步骤24,医生将密文(ci,di)作为一个新的区块发送到区块链中;
步骤25,区块链的验证者验证关键词的有效性,该验证方法作为该区块链的共识机制;
该共识机制如下:
假设关键词集合Ω={w1,w2,...wn},本发明通过建立基于关键词多项式的方法验证关键词的有效性,具体过程如下:
计算H(w1),H(w2),...H(wn),其中H(·)为哈希函数,构建一个n阶多项式,该多项式满足
f(x)=(x-H(w1))(x-H(w2))...(x-H(wn))
显然,f(H(wi))=0,i∈{1,2,....n},该式可以表示为
f(x)=xn+bn-1xn-1+...+b1x+b0
这样,f(x)=0可以表示为
xn+bn-1xn-1+...+b1x+b0=0
对上式进行变换可以得到
Figure BDA0001695712070000101
Figure BDA0001695712070000102
构建新的多项式
g(x)=anxn+an-1xn-1+...+a1x可得g(H(wi))=1;
定义一个矢量Λ=[a1,a2,...an]和Ηi=[H(wi),(H(wi))2,...,(H(wi))n],矢量Λ和Ηi的内积Λ·Ηi=1,从而矢量Λ可以用来验证所包含的关键词是否选自可选关键词集;
区块链的验证者按照如下方法验证接收到的密文(ci,di)中关键词是否有效:验证以下两个等式
Figure BDA0001695712070000103
Figure BDA0001695712070000104
若超过2/3的验证者验证了以上两个等式成立,将该区块加入到区块链中。
在步骤3中,执行电子病历的搜索的方法包括:
步骤31,病人产生身份搜索陷门
Figure BDA0001695712070000111
和关键词搜索陷门Tw=(T1,T2,T3),方法如下:
随机选择
Figure BDA0001695712070000112
计算
Figure BDA0001695712070000113
随机选择
Figure BDA0001695712070000114
计算
Figure BDA0001695712070000115
步骤32,电子病历的搜索者接收到病人的搜索陷门Td和Tw后搜索电子病历。
在本发明的一种具体实施方式中,在步骤32中,搜索电子病历的方法包括:
步骤321,搜索密文中身份为IDi的病历,即提取
Figure BDA0001695712070000116
计算
Figure BDA0001695712070000117
和Vd=U1/U2,验证H4(Vd,Ad,Bd)=Fd是否成立,若成立,该病历为所需查找病人的病历,提取出对应密文ci0和ci1=(A,B,E,F);
步骤322,计算
Figure BDA0001695712070000118
和V=U1/U2,验证H4(V,A,B)=F,若该等式成立,ci0为所需查找病人所需查找关键词的病历,计算
Figure BDA0001695712070000119
和r0'=H3(m',B),验证
Figure BDA00016957120700001110
是否成立,若该等式成立,接受m’。
本发明还采用对身份进行可搜索加密的方法对病历进行编号,再通过搜索陷门搜索所需的病人的病历,实现用户的身份隐私保护。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

Claims (3)

1.一种基于区块链的电子病历安全搜索方法,其特征在于,该基于区块链的电子病历安全搜索方法包括:
步骤1,建立系统,并产生密钥;
步骤2,产生电子病历并提取关键词,对所述电子病历和所述关键词进行加密并执行存储;
步骤3,执行电子病历的搜索;
在步骤1中,建立系统,并产生密钥的方法包括:
步骤11,给定安全参数k,系统选择阶为素数p的两个循环群G1,G2以及一个双线性对
Figure FDA0003116663030000011
Figure FDA0003116663030000012
满足双线性和对称性,其中,
双线性是指对所有V,Q∈G1以及
Figure FDA0003116663030000013
Figure FDA0003116663030000014
对称性是指
Figure FDA0003116663030000015
Figure FDA0003116663030000016
是从1到P的整数集合;
选择以下七个hash函数:
H0:G2→{0,1}*
Figure FDA0003116663030000017
H2:G1→M,
Figure FDA0003116663030000018
Figure FDA0003116663030000019
计算,
Figure FDA00031166630300000110
其中,M是电子病历数据空间,P1和P2是G1的两个生成元;
系统参数为
Figure FDA00031166630300000111
步骤12,病人i随机选择
Figure FDA00031166630300000112
作为其私钥ski,并产生对应的公钥pki=(Yi1=yi1P1,Yi2=yi2P1,Yi3);
步骤13,医生j随机选择
Figure FDA00031166630300000113
作为其私钥,并产生对应的公钥pkj=(Yj=yjP1);
在步骤2中,产生电子病历并提取关键词,对所述电子病历和所述关键词进行加密并执行存储的方法包括:
步骤21,医生产生电子病历并从所述电子病历中提取关键词,该关键词应选自标准的医药描述术语集;
步骤22,医生对电子病历m和关键词w进行可搜索加密;
加密方法如下:
随机选择
Figure FDA0003116663030000021
计算
Figure FDA0003116663030000022
计算
Figure FDA0003116663030000023
设矢量X=[X1,X2,...,Xn],其中
X1=r1H1(w)P1,X2=r1(H1(w))2P1,...,Xn=r1(H1(w))nP1
计算
Figure FDA0003116663030000024
该加密算法的输出为ci=(ci0,ci1,ci2);其中,ci1=(A,B,E,F),ci2=(J,X),(A,B,E,F)是可搜索加密的密文,ce=(A,J,X)是用于验证关键词有效性的证据;
步骤23,医生对病人身份IDi进行可搜索加密为密文di作为病历编号;
加密方法如下:
随机选择
Figure FDA0003116663030000025
计算
Bd=r1Yi2,r0=H5(IDi,Bd),Ad=r0(Yi1+H1(IDi)P1)+r1P1
计算Ed=r0Yi3,
Figure FDA0003116663030000026
病人身份IDi加密为di=(Ad,Bd,Ed,Fd);
步骤24,医生将密文(ci,di)作为一个新的区块发送到区块链中;
步骤25,区块链的验证者验证关键词的有效性,作为该区块链的共识机制;
该共识机制如下:
假设关键词集合Ω={w1,w2,...wn},通过建立基于关键词多项式的方法验证关键词的有效性,具体过程如下:
计算H(w1),H(w2),...H(wn),其中H(·)为哈希函数,构建一个n阶多项式,该n次多项式的根的表达式为
f(x)=(x-H(w1))(x-H(w2))...(x-H(wn))
显然,f(H(wi))=0,i∈{1,2,....n},该式可以表示为一般表达式
f(x)=xn+bn-1xn-1+...+b1x+b0
这样,f(x)=0可以表示为
xn+bn-1xn-1+...+b1x+b0=0
对上式进行变换可以得到
Figure FDA0003116663030000031
Figure FDA0003116663030000032
构建新的多项式
g(x)=anxn+an-1xn-1+...+a1x
可得g(H(wi))=1;定义一个矢量Λ=[a1,a2,...an]和Hi=[H(wi),(H(wi))2,...,(H(wi))n],矢量Λ和Hi的内积Λ·Hi=1,从而矢量Λ可以用来验证所包含的关键词是否选自可选关键词集;
区块链的验证者按照如下方法验证接收到的密文(ci,di)中关键词是否有效:验证以下两个等式
Figure FDA0003116663030000033
Figure FDA0003116663030000034
若超过2/3的验证者验证了以上两个等式成立,将该区块加入到区块链中。
2.根据权利要求1所述的基于区块链的电子病历安全搜索方法,其特征在于,在步骤3中,执行电子病历的搜索的方法包括:
步骤31,病人产生身份搜索陷门Td=(T1 d,T2 d,T3 d)和关键词搜索陷门Tw=(T1,T2,T3),其中,T1 d,T2 d,T3 d是Td中的第一、第二和第三项;T1,T2,T3是Tw中的第一、第二和第三项;方法如下:
随机选择
Figure FDA0003116663030000041
计算
T1 d=Yj/(yi1+H1(IDi)+yi3H6(β,rd)),T2 d=T1/yi2,T3 d=rd
随机选择
Figure FDA0003116663030000042
计算
T1=Yj/(yi1+H1(w)+yi3H6(β,r)),T2=T1/yi2,T3=r;其中,β是一个随机数;
步骤32,电子病历的搜索者接收到病人的搜索陷门Td和Tw后搜索电子病历。
3.根据权利要求2所述的基于区块链的电子病历安全搜索方法,其特征在于,在步骤32中,搜索电子病历的方法包括:
步骤321,搜索密文中身份为IDi的病历,即提取Td=(T1 d,T2 d,T3 d),计算
Figure FDA0003116663030000043
和Vd=U1/U2,验证H4(Vd,Ad,Bd)=Fd是否成立,若成立,该病历为所需查找病人的病历,提取出对应密文ci0和ci1=(A,B,E,F);式中,Ad,Bd,Ed,Fd是身份为IDi的患者的身份密文di=(Ad,Bd,Ed,Fd);
步骤322,计算
Figure FDA0003116663030000044
和V=U1/U2,验证H4(V,A,B)=F,若该等式成立,ci0为所需查找病人所需查找关键词的病历,计算
Figure FDA0003116663030000045
和r0'=H3(m',B),验证
Figure FDA0003116663030000046
是否成立,若该等式成立,接受m’。
CN201810611570.2A 2018-06-14 2018-06-14 基于区块链的电子病历安全搜索方法 Active CN109117662B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810611570.2A CN109117662B (zh) 2018-06-14 2018-06-14 基于区块链的电子病历安全搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810611570.2A CN109117662B (zh) 2018-06-14 2018-06-14 基于区块链的电子病历安全搜索方法

Publications (2)

Publication Number Publication Date
CN109117662A CN109117662A (zh) 2019-01-01
CN109117662B true CN109117662B (zh) 2021-07-30

Family

ID=64822209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810611570.2A Active CN109117662B (zh) 2018-06-14 2018-06-14 基于区块链的电子病历安全搜索方法

Country Status (1)

Country Link
CN (1) CN109117662B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209894B (zh) * 2019-05-30 2021-10-29 爱多特(广东)网络技术有限公司 基于区块链技术的病例查询方法及系统
CN111835500B (zh) * 2020-07-08 2022-07-26 浙江工商大学 基于同态加密与区块链的可搜索加密数据安全共享方法
CN112365945B (zh) * 2020-10-27 2024-03-26 扬州大学 基于区块链的电子病历细粒度访问控制和密文可搜索方法
CN112966302B (zh) * 2021-03-09 2023-06-23 西安邮电大学 一种支持患者隐私保护的安全远程医疗数据共享方法
CN113824703A (zh) * 2021-09-06 2021-12-21 中国人民解放军国防科技大学 一种基于区块链的能源系统控制方法及能源系统
CN114726522B (zh) * 2022-04-24 2024-02-20 中国传媒大学 一种保护双方隐私的不经意可搜索加密方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102176709A (zh) * 2010-12-13 2011-09-07 北京交通大学 一种带隐私保护的数据共享与发布的方法和装置
CN104021157A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中基于双线性对的关键词可搜索加密方法
CN105656881A (zh) * 2015-12-21 2016-06-08 湖北工业大学 一种电子病历的可验证外包存储和检索系统及方法
CN107273683A (zh) * 2017-06-09 2017-10-20 广州慧扬健康科技有限公司 电子病历档案资料管理系统
CN107368750A (zh) * 2017-06-23 2017-11-21 雷虹 基于区块链的电子病历的实现方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102176709A (zh) * 2010-12-13 2011-09-07 北京交通大学 一种带隐私保护的数据共享与发布的方法和装置
CN104021157A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中基于双线性对的关键词可搜索加密方法
CN105656881A (zh) * 2015-12-21 2016-06-08 湖北工业大学 一种电子病历的可验证外包存储和检索系统及方法
CN107273683A (zh) * 2017-06-09 2017-10-20 广州慧扬健康科技有限公司 电子病历档案资料管理系统
CN107368750A (zh) * 2017-06-23 2017-11-21 雷虹 基于区块链的电子病历的实现方法及装置

Also Published As

Publication number Publication date
CN109117662A (zh) 2019-01-01

Similar Documents

Publication Publication Date Title
CN109117662B (zh) 基于区块链的电子病历安全搜索方法
US20220368545A1 (en) Searchable encrypted data sharing method and system based on blockchain and homomorphic encryption
Ying et al. A lightweight policy preserving EHR sharing scheme in the cloud
CN112365945B (zh) 基于区块链的电子病历细粒度访问控制和密文可搜索方法
Soni et al. Blockchain Implementation for Privacy preserving and securing the Healthcare data
Sharma et al. RSA based encryption approach for preserving confidentiality of big data
Kumar et al. Enhancing security mechanisms for healthcare informatics using ubiquitous cloud
CN112751670B (zh) 一种多中心密文策略的属性基可搜索加密及相应的搜索获取数据的方法
CN109740364B (zh) 可控搜索权限的基于属性的密文搜索方法
CN108171066A (zh) 一种医疗云中隐私保护下的关键词跨域搜索方法及系统
CN112989375B (zh) 一种分级优化加密无损隐私保护方法
CN107635018B (zh) 支持紧急接入访问控制和安全去重的跨域医疗云存储系统
CN107359998A (zh) 一种便携式智能口令管理体制的建立与操作方法
CN111274594B (zh) 一种基于区块链的安全大数据隐私保护共享方法
Huang et al. FSSR: Fine-grained EHRs sharing via similarity-based recommendation in cloud-assisted eHealthcare system
Ali et al. Verifiable online/offline multi-keyword search for cloud-assisted industrial internet of things
Zhang et al. Secure decentralized attribute-based sharing of personal health records with blockchain
CN108038128A (zh) 一种加密文件的检索方法、系统、终端设备及存储介质
CN106850656A (zh) 一种云环境下多用户文件共享控制方法
CN113889208B (zh) 基于区块链的链上-链下医疗数据共享方法、装置及设备
CN111739200B (zh) 一种指纹电子锁的加密、解密认证方法和指纹电子锁
CN115473743A (zh) 一种抗内部关键字猜测攻击的可搜索医疗数据共享方法
Gan et al. An encrypted medical blockchain data search method with access control mechanism
Habib et al. A Blockchain-based Technique to Prevent Grade Tampering: A University Perspective
Barman et al. A blockchain‐based approach to secure electronic health records using fuzzy commitment scheme

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