CN112837770A - 一种大规模电子医疗系统中的隐私保护相似病历查询方法 - Google Patents

一种大规模电子医疗系统中的隐私保护相似病历查询方法 Download PDF

Info

Publication number
CN112837770A
CN112837770A CN202110080281.6A CN202110080281A CN112837770A CN 112837770 A CN112837770 A CN 112837770A CN 202110080281 A CN202110080281 A CN 202110080281A CN 112837770 A CN112837770 A CN 112837770A
Authority
CN
China
Prior art keywords
vector
patient
electronic medical
query
coarse
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
CN202110080281.6A
Other languages
English (en)
Other versions
CN112837770B (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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202110080281.6A priority Critical patent/CN112837770B/zh
Publication of CN112837770A publication Critical patent/CN112837770A/zh
Application granted granted Critical
Publication of CN112837770B publication Critical patent/CN112837770B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • 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/602Providing cryptographic facilities or services
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明涉及一种大规模电子医疗系统中的隐私保护相似病历查询方法,属于医疗查询及隐私保护技术领域。所述方法包括:步骤1.医疗中心生成密钥,并在收到患者的注册信息后将密钥通过安全的通信渠道发送给患者;步骤2.医疗中心生成加密数据并存储在云服务器;步骤3.患者生成加密的查询请求并发送给云服务器;步骤4.云服务器执行粗粒度查询找到与患者症状关键字组合一致的电子病历集合;步骤5.云服务器在粗粒度查询得到的电子病历集合中执行细粒度查询找到满足患者相似度阈值的电子病历并发送给患者,患者通过密钥解密细粒度查询结果得到相似电子病历进行参考。所述方法能够保证患者信息和云服务器存储数据的隐私性且效率更高。

Description

一种大规模电子医疗系统中的隐私保护相似病历查询方法
技术领域
本发明涉及一种大规模电子医疗系统中的隐私保护相似病历查询方法,属于医疗查询及隐私保护技术领域。
背景技术
随着云计算和物联网技术的发展,传统的医疗模式正在朝着更加灵活高效的电子医疗模式转变。这种转变在不同实体之间提供了一个高效的医疗数据共享平台。在这个平台中,传统的纸质病历转变为数字化的电子病历。电子病历通常包含许多患者数据,例如症状信息、健康数据、医疗服务信息等。随着大数据时代的来临,越来越多的电子病历给医疗服务机构带来巨大的存储和计算压力。许多医疗服务机构将大量的电子病历外包给云服务器以构建一个大规模电子医疗系统,该系统可以实现高效的电子病历查询。当一名患者首次注册在一个大规模电子医疗系统,该患者可以通过查询相似的电子病历进行参考以快速地寻找合适的医疗服务方式。具体来说,患者首先通过部署便携式传感器收集健康数据,例如血压、心率等;之后将收集的健康数据及症状信息发送给云服务器,云服务器可以帮助患者查询与其病况相似的电子病历;最后,云服务器将查询到的相似电子病历发送给患者,患者通过这些电子病历找到合适的医疗服务方式,例如就诊科室、就诊医生等。在这个过程中,如何高效地为患者查询到相似的电子病历以及如何保证患者信息和云服务器存储数据的隐私性是至关重要的。
现有隐私保护电子病历查询技术主要考虑如何帮助数据使用者进行医疗诊断或健康监控。这些工作主要是基于医疗诊断或健康监控的目的进行设计,并不能用来帮助患者查询相似电子病历进行参考。可搜索加密是一类用于在加密数据进行查询的技术,隐私保护电子病历查询本质上也属于可搜索加密研究领域。现有可搜索加密技术大多基于关键字查询或范围查询,并不能直接用于查询相似的电子病历,更为合适的相似电子病历查询方法是基于症状关键字及健康数据相似度进行查询。
上述已有的隐私保护电子病历查询技术以及可搜索加密技术虽然可以保证其应用场景中数据使用者信息和云服务器存储数据的隐私性,然而,这些工作并不能用于帮助患者进行相似电子病历查询。此外,上述技术多是适用于数据量较小的情况,对于数据规模较大的大规模电子医疗系统来说效率不高。本发明的目的是致力于解决上述隐私保护电子病历查询技术和可搜索加密技术的技术缺陷,提出一种大规模电子医疗系统中的隐私保护相似病历查询方法。
发明内容
本发明的目的在于解决现有隐私保护电子病历查询及可搜索加密存在无法用于帮助患者进行相似电子病历查询和在数据规模较大时效率低的技术缺陷,提出了一种大规模电子医疗系统中的隐私保护相似病历查询方法。
为了达到上述目的,本发明采取如下技术方案。
所述相似病历查询方法依托于隐私保护相似病历查询系统,包括医疗中心、患者及云服务器;医疗中心将加密数据及密钥分别发送给云服务器和患者,患者向云服务器发送加密的查询请求,云服务器查询与患者病况相似的电子病历并发送给患者,具体为:先通过粗粒度查询找到与患者症状关键字组合一致的电子病历集合,之后通过在该集合中执行细粒度查询找到与患者健康数据相似度在一定阈值范围内的电子病历并发送给患者,患者解密查询结果进行参考;
其中,加密数据包括加密的电子病历、症状关键字向量的密文、健康数据向量的密文以及粗粒度查询树;加密的查询请求包括粗粒度查询向量的密文以及细粒度查询向量的密文,粗粒度查询向量用于表示患者症状关键字组合,细粒度查询向量用于表示患者健康数据。
所述隐私保护相似病历查询方法,包括初始化、生成加密数据并存储、生成加密的查询请求并发送、粗粒度查询和细粒度查询,具体包括如下步骤:
步骤1:初始化,具体为:医疗中心生成密钥,并在收到患者的注册信息后将密钥通过安全的通信渠道发送给患者,包括如下子步骤:
步骤1.1:医疗中心随机生成密钥σ;
其中,σ=(sk,Sc,Sf,Mc1,Mc2,Mf1,Mf2);sk是用于加密电子病历的对称密钥,Sc是一个用于拆分的d+1维二进制向量,Sf是一个用于拆分的n+3维二进制向量,Mc1和Mc2是两个用于加密的d+1阶可逆矩阵,Mf1和Mf2是两个用于加密的n+3阶可逆矩阵,d为患者症状关键字组合中允许包含关键字数目的最大值,n为健康数据向量的维度;
步骤1.2:在收到患者的注册信息后,医疗中心通过安全的通信渠道将密钥σ发送给患者;
步骤2:生成加密数据并存储,具体为:医疗中心从电子病历中提取症状关键字及健康数据向量、划分电子病历集合、对电子病历进行脱敏及加密处理,生成加密脱敏后的电子病历,加密症状关键字及健康数据向量,分别得到症状关键字向量的密文以及健康数据向量的密文;基于症状关键字向量的密文构造粗粒度查询树,并将该粗粒度查询树与加密的电子病历、症状关键字向量的密文和健康数据向量的密文一起存储在云服务器中,包括如下子步骤:
步骤2.1:医疗中心从电子病历中提取症状关键字以及健康数据向量;
其中,症状关键字一共t个,位于症状关键字字典中,每个症状关键字为正整数,第i个症状关键字,记为xi,下标i的取值范围为1,2,…,t;症状关键字字典的大小为t;健康数据向量,记为:Aj=(a1,a2,…,an);
其中,下标j为健康数据向量Aj对应的电子病历编号;
步骤2.2:医疗中心根据对应的症状关键字组合将所有电子病历划分为不同的电子病历集合,同一个电子病历集合中的电子病历对应相同的症状关键字组合;
步骤2.3:医疗中心对电子病历进行脱敏处理;
步骤2.4:医疗中心基于AFS算法使用对称密钥sk加密脱敏后的电子病历;
步骤2.5:医疗中心使用二进制向量Sc以及可逆矩阵Mc1、Mc2对症状关键字进行加密得到症状关键字向量的密文,具体包括如下子步骤:
步骤2.5.1:对于每一个症状关键字,医疗中心构造对应的症状关键字向量,并生成一个对应的随机数;
其中,症状关键字xi对应的症状关键字向量,记为:
Figure BDA0002908976910000041
生成对应的随机数记为αi
其中,αi为非0整数;
Figure BDA0002908976910000042
为xi的2次幂,
Figure BDA0002908976910000043
为xi的d次幂;
步骤2.5.2:医疗中心使用二进制向量Sc将每一个症状关键字向量拆分为两个向量;
其中,症状关键字向量Li拆分的两个向量,记为Lia、Lib,具体拆分过程为:对于向量Sc中的第w项Sc[w],当Sc[w]=0时,Li[w]=Lia[w]=Lib[w];当Sc[w]=1时,Li[w]被随机拆分为Lia[w]和Lib[w],且有Li[w]=Lia[w]+Lib[w];w=0,1,…,d;
步骤2.5.3:对于每一个症状关键字向量,医疗中心使用其拆分后的向量、对应的随机数和可逆矩阵Mc1、Mc2得到对应症状关键字向量的密文;
其中,对于症状关键字向量Li,对应症状关键字向量的密文记为:
Figure BDA0002908976910000044
Figure BDA0002908976910000045
其中,
Figure BDA0002908976910000051
为向量LiaMc1和向量LibMc2组成的有序对;
步骤2.6:医疗中心使用二进制向量Sf以及可逆矩阵Mf1、Mf2对健康数据向量进行加密得到健康数据向量的密文,具体包括如下子步骤:
步骤2.6.1:对于每一个健康数据向量,医疗中心将其扩展为一个n+3维向量,并生成一个对应的随机数;
其中,健康数据向量Aj扩展后的向量,记为:
Figure BDA0002908976910000052
Figure BDA0002908976910000053
生成对应的随机数记为βj
其中,βj为正整数;符号∑为求和符号,
Figure BDA0002908976910000054
为aii的平方;下标ii的取值范围为1,2,…,n;
步骤2.6.2:医疗中心使用二进制向量Sf将扩展后的健康数据向量拆分为两个向量;
其中,向量eAj拆分的两个向量,记为eAja、eAjb,具体拆分过程为:对于向量Sf中的第p项Sf[p],当Sf[p]=0时,eAj[p]=eAja[p]=eAjb[p];当Sf[p]=1时,eAj[p]被随机拆分为eAja[p]和eAjb[p],且有eAj[p]=eAja[p]+eAjb[p];p=0,1,…,n+2;
步骤2.6.3:对于每一个健康数据向量,医疗中心使用其扩展并拆分后的向量、对应的随机数和可逆矩阵Mf1、Mf2得到对应健康数据向量的密文;
其中,对于健康数据向量Aj,对应健康数据向量的密文记为:
Figure BDA0002908976910000055
Figure BDA0002908976910000056
其中,
Figure BDA0002908976910000057
为向量eAjaMf1和向量eAjbMf2组成的有序对;
步骤2.7:医疗中心基于症状关键字向量的密文构造一个二叉决策树,即粗粒度查询树;
其中,粗粒度查询树记为T,T是一个满二叉树,共有t+1层;它的第i层非叶子结点均存有症状关键字字典中第i个症状关键字向量的密文,它的叶子结点分别存有一个指向特定电子病历集合的指针;在粗粒度查询中,云服务器使用患者粗粒度查询向量的密文从T的根结点开始匹配,若匹配成功则继续与当前结点的左孩子结点进行匹配,若匹配失败则继续与当前结点的右孩子结点进行匹配,直至访问一个叶子结点,该叶子结点存储的指针指向的电子病历集合对应症状关键字组合与患者症状关键字组合一致;实际构造中,T的第i层非叶子结点需存储随机序号的症状关键字向量的密文;
步骤2.8:医疗中心将粗粒度查询树、加密的电子病历、症状关键字向量的密文和健康数据向量的密文存储在云服务器中;
步骤3:生成加密的查询请求并发送,具体为:患者根据自身症状及健康数据分别得到症状关键字组合和细粒度查询向量,之后随机生成虚假关键字添加到症状关键字组合中,通过该关键字组合构造多项式得到粗粒度查询向量;患者使用密钥加密粗粒度查询向量及细粒度查询向量,分别得到粗粒度查询向量的密文及细粒度查询向量的密文;患者将粗粒度查询向量的密文及细粒度查询向量的密文发送到云服务器,包括如下子步骤:
步骤3.1:假定有一患者u,该患者根据自身症状得到症状关键字组合,之后通过部署便携式传感器收集自身健康数据得到健康数据向量,即细粒度查询向量;
其中,患者u的症状关键字组合记为:
Figure BDA0002908976910000061
患者u的细粒度查询向量记为:Qu=(q1,q2,...,qn);
其中,lu为患者u症状关键字数目,lu≤d;
步骤3.2:患者u随机生成d-lu个虚假症状关键字,之后将这些虚假症状关键字添加到步骤3.1生成的症状关键字组合中得到新的关键字组合;
其中,生成的d-lu个虚假关键字记为:
Figure BDA0002908976910000071
新的关键字组合记为:
Figure BDA0002908976910000072
其中,虚假症状关键字使用正整数表示,每个虚假症状关键字都不在症状关键字字典中;
步骤3.3:患者u基于步骤3.2生成的关键字组合构造多项式,具体多项式表示如下:
bd(y-X1)(y-X2)…(y-Xd)=b0+b1y+b2y2+…+bdyd (1)
其中,bd为非0整数;
患者u基于式(1)中多项式各项系数构造粗粒度查询向量;
其中,患者u的粗粒度查询向量记为:Bu=(b0,b1,…,bd);
步骤3.4:患者u使用二进制向量Sc以及可逆矩阵Mc1、Mc2对粗粒度查询向量进行加密得到粗粒度查询向量的密文,具体包括如下子步骤:
步骤3.4.1:针对于粗粒度查询向量,患者u生成一个对应的随机数;
其中,对于粗粒度查询向量Bu,对应的随机数记为ru
其中,ru为非0整数;
步骤3.4.2:患者u使用二进制向量Sc将粗粒度查询向量拆分为两个向量;
其中,粗粒度查询向量Bu拆分的两个向量,记为Bua、Bub,具体拆分过程为:对于向量Sc中的第w项Sc[w],当Sc[w]=0时,Bu[w]被随机拆分为Bua[w]和Bub[w],且有Bu[w]=Bua[w]+Bub[w];当Sc[w]=1时,Bu[w]=Bua[w]=Bub[w];
步骤3.4.3:对于粗粒度查询向量,患者u使用其拆分后的向量、对应的随机数和可逆矩阵Mc1、Mc2得到粗粒度查询向量的密文;
其中,粗粒度查询向量的密文记为:
Figure BDA0002908976910000073
其中,
Figure BDA0002908976910000081
为向量
Figure BDA0002908976910000082
和向量
Figure BDA0002908976910000083
组成的有序对;
步骤3.5:患者u使用二进制向量Sf以及可逆矩阵Mf1、Mf2对细粒度查询向量进行加密得到细粒度查询向量的密文,具体包括如下子步骤:
步骤3.5.1:对于细粒度查询向量,患者u首先将其扩展为n+3维向量并生成一个对应的随机数;
其中,细粒度查询向量Qu扩展后的向量,记为:
Figure BDA0002908976910000084
Figure BDA0002908976910000085
生成对应的随机数记为Ru
其中,Ru为正整数,θu为患者u设定的相似度阈值;
Figure BDA0002908976910000086
为qii的平方;
步骤3.5.2:患者u使用二进制向量Sf将扩展后的细粒度查询向量拆分为两个向量,具体为:
其中,向量eQu拆分的两个向量,记为eQua、eQub,具体拆分过程为:对于向量Sf中的第p项Sf[p],当Sf[p]=0时,eQu[p]被随机拆分为eQua[p]和eQub[p],且有eQu[p]=eQua[p]+eQub[p];当Sf[p]=1时,eQu[p]=eQua[p]=eQub[p];
步骤3.5.3:对于细粒度查询向量,患者u使用其扩展并拆分后的向量、对应的随机数和可逆矩阵Mf1、Mf2得到细粒度查询向量的密文;
其中,细粒度查询向量的密文记为:
Figure BDA0002908976910000087
其中,
Figure BDA0002908976910000088
为向量
Figure BDA0002908976910000089
和向量
Figure BDA00029089769100000810
组成的有序对;
步骤3.6:患者u将粗粒度查询向量的密文以及细粒度查询向量的密文发送到云服务器;
步骤4:粗粒度查询,具体为:云服务器使用粗粒度查询向量的密文、粗粒度查询树以及症状关键字向量的密文执行粗粒度查询,从而找到与患者症状关键字组合一致的电子病历集合,包括如下子步骤:
步骤4.1:从粗粒度查询树的根结点开始,云服务器使用粗粒度查询向量的密文与非叶子结点中存储的症状关键字向量的密文进行匹配;假设当前访问非叶子结点所在层次为i,具体匹配过程如下:
Figure BDA0002908976910000091
其中,符合
Figure BDA0002908976910000092
表示两个有序对对应位置元素进行内积运算,符号·表示向量内积运算符;若匹配结果为0则说明
Figure BDA0002908976910000093
从而判断出xi属于患者u的症状关键字组合;若匹配结果不为0则说明
Figure BDA0002908976910000094
Figure BDA0002908976910000095
从而判断出xi不属于患者u的症状关键字组合;
若匹配结果为0则继续访问当前结点的左孩子结点进行匹配,若匹配结果不为0则继续访问当前结点的右孩子结点进行匹配,直至访问一个叶子结点,该叶子结点存储的指针指向与患者u症状关键字组合一致的电子病历集合;
步骤5:细粒度查询,具体为:云服务器在粗粒度查询得到的电子病历集合中执行细粒度查询,从而找到满足患者相似度阈值的电子病历;云服务器将查询结果发送给患者,患者通过密钥解密细粒度查询结果得到明文信息进行参考,包括如下子步骤:
步骤5.1:对于在粗粒度查询得到的电子病历集合中每个电子病历对应的健康数据向量密文,云服务器使用细粒度查询向量的密文进行匹配,具体匹配过程如下:
Figure BDA0002908976910000096
Figure BDA0002908976910000101
若匹配结果小于0则说明
Figure BDA0002908976910000102
从而判断出编号为j的电子病历相似度符合患者u设定的阈值;
步骤5.2:云服务器将对应健康数据向量密文匹配结果小于0的加密电子病历发送给患者u;
步骤5.3:患者u使用对称密钥sk解密上述细粒度查询结果进行参考;
至此,经过步骤1到步骤5,完成了大规模电子医疗系统中的隐私保护相似病历查询的操作。
有益效果
本发明一种大规模电子医疗系统中的隐私保护相似病历查询方法,与现有隐私保护电子病历查询技术及可搜索加密技术相比,具有如下有益效果:
1.现有隐私保护电子病历查询技术主要考虑如何帮助数据使用者进行医疗诊断或健康监控,现有可搜索加密技术大多基于关键字查询或范围查询,这些技术无法帮助患者查询相似电子病历进行参考;本发明基于症状关键字及健康数据相似度进行查询,能够在大规模电子医疗系统中高效且隐私保护地帮助患者查询满足相似度阈值的电子病历;
2.所述方法的粗粒度查询,基于二叉决策树的结构进行隐私保护症状关键字匹配,与现有基于线性结构进行隐私保护症状关键字匹配的隐私保护电子病历查询技术及可搜索加密技术相比,减少了匹配次数,效率上有很大的提升;
3.所述方法的细粒度查询,与许多现有隐私保护电子病历查询技术及可搜索加密技术中相似度计算方法不同,匹配结果仅表明健康数据相似度是否在患者设定的阈值内,不会显示出具体的相似度数值,从而进一步保护了患者的隐私。
附图说明
图1是本发明一种大规模电子医疗系统中的隐私保护相似病历查询方法的系统模型图;
图2是本发明一种大规模电子医疗系统中的隐私保护相似病历查询方法的实施例1中粗粒度查询树的示意图;
图3是本发明一种大规模电子医疗系统中的隐私保护相似病历查询方法的实施例1中粗粒度查询过程的示意图;
图4是本发明一种大规模电子医疗系统中的隐私保护相似病历查询方法的隐私保护症状关键字匹配性能的仿真结果图。
具体实施方式
下面结合附图和实施例对本发明一种大规模电子医疗系统中的隐私保护相似病历查询方法做进一步说明和详细描述。
实施例1
电子医疗系统是物联网技术的一个典型应用。随着大数据时代的来临,越来越多的医疗数据被产生,许多电子医疗系统趋向于大规模的应用形式,一个大规模电子医疗系统可能会存有十万或百万数量级的电子病历。电子病历通常包含许多患者数据,例如症状信息、健康数据、医疗服务信息等。对于一名首次注册在大规模电子医疗系统的患者,面对海量的医疗服务信息,该患者可能无法快速选择合适的医疗服务方式,需要参考一些与其病况近似的电子病历进行决策。例如,患者可以通过参考与其症状一致且健康数据相似度在一定阈值范围内的电子病历中的医疗服务信息选择合适的就诊科室或医生。然而,医疗数据一般都具有很强的敏感性,患者可能并不愿意透露自己的姓名、症状等。因此,如何在保护医疗信息隐私的前提下帮助患者在大规模电子医疗系统中查询相似的电子病历是一个亟待解决的问题。现有隐私保护电子病历查询技术主要考虑如何帮助数据使用者进行医疗诊断或健康监控。这些工作主要是基于医疗诊断或健康监控的目的进行设计,一般考虑患者的症状关键字是否匹配某一疾病的症状关键字或考虑患者的健康数据是否在正常的范围内,这些设计并不能用来帮助患者查询相似电子病历进行参考。可搜索加密是一类用于在加密数据进行查询的技术,隐私保护电子病历查询本质上也属于可搜索加密研究领域。现有可搜索加密技术大多基于关键字查询或范围查询,这些查询方式无法通过数据的相似度进行查询,因此并不能直接用于查询相似的电子病历。更为合适的相似电子病历查询方法是基于症状关键字及健康数据相似度进行查询。此外,现有相关工作主要基于数据量较小的小规模或中规模电子医疗系统进行设计,例如仅有几千或者几万个电子病历的电子医疗系统,对于存有十万或百万数量级电子病历的大规模电子医疗系统来说效率不高。因此,在大规模电子医疗系统中设计一个高效的隐私保护相似病历查询方法是非常必要的。
本实施例详细阐述了本发明一种大规模电子医疗系统中的隐私保护相似病历查询方法具体实施时的典型应用过程。
假设某大规模电子医疗系统中的医疗中心存有100000个电子病历,分别从000001编号至100000;每个电子病历包含患者个人信息、患者症状关键字组合、患者健康数据和患者医疗服务信息;其中患者个人信息包含姓名、联系方式和家庭住址,患者症状关键字组合由患者症状信息对应的症状关键字组成,症状关键字字典包含x1=1和x2=2这两个症状关键字,分别对应发烧和咳嗽这两个症状,患者健康数据包含心率、血压(收缩压)、血压(舒张压)和体温,患者医疗服务信息包含就诊科室、主治医生、就诊时间和治疗情况;编号000001至编号030000的电子病历症状关键字组合为{1,2},编号030001至编号060000的电子病历症状关键字组合为{1},编号060001至编号100000的电子病历症状关键字组合为{2};本实施例中症状关键字组合允许的最大症状关键字个数为d=2;
假设一名具有发烧症状的患者u首次注册在本实施例中的大规模电子医疗系统并设定相似度阈值为θu=30,其采用本发明所述方法查询相似电子病历,具体包括如下步骤:
步骤1:初始化,具体为:对应图1医疗中心部分生成密钥、接收注册信息及发送密钥操作,医疗中心生成密钥,并在收到患者的注册信息后将密钥通过安全的通信渠道发送给患者,包括如下子步骤:
步骤1.1:生成密钥σ=(sk,Sc,Sf,Mc1,Mc2,Mf1,Mf2),其中AES密钥sk=″VkbmTt2cq4FYUbvj″,3维二进制向量Sc=(1,0,1),7维二进制向量Sf=(1,0,1,1,0,1,1),3阶可逆矩阵Mc1=[1,0,0;1,1,0;0,0,1],3阶可逆矩阵Mc2=[1,1,0;0,1,0;0,0,1],7阶可逆矩阵Mf1=[1,1,0,0,0,0,1;0,1,0,0,0,0,0;0,0,1,0,0,0,0;0,0,0,1,0,0,0;0,0,0,0,1,0,0;0,0,0,0,0,1,0;0,0,0,0,0,0,1],7阶可逆矩阵Mf2=[1,0,0,0,0,0,0;1,1,0,0,0,0,0;0,0,1,0,0,0,0;0,0,0,1,0,0,0;0,0,0,0,1,0,0;0,0,0,0,0,1,0;1,0,0,0,0,0,1];
步骤1.2:在收到患者的注册信息后,医疗中心通过安全的通信渠道将密钥σ发送给患者;
步骤2:生成加密数据并存储,具体为:对应图1医疗中心部分生成加密数据及发送加密数据操作,图1中加密数据即为粗粒度查询树、加密的电子病历、症状关键字向量的密文和健康数据向量的密文;医疗中心从电子病历中提取症状关键字及健康数据向量、划分电子病历集合、对电子病历进行脱敏及加密处理,生成加密脱敏后的电子病历,加密症状关键字及健康数据向量,分别得到症状关键字向量的密文以及健康数据向量的密文;基于症状关键字向量的密文构造粗粒度查询树,并将该粗粒度查询树与加密的电子病历、症状关键字向量的密文和健康数据向量的密文一起发送给云服务器,包括如下子步骤:
步骤2.1:医疗中心从电子病历中提取症状关键字x1=1和x2=2,同时提取各个电子病历对应的4维健康数据向量Aj=(a1,a2,a3,a4);编号030001的电子病历对应的健康数据向量A030001=(71,120,72,38),该电子病历对应的患者心率为71,血压(收缩压)为120,血压(舒张压)为72,体温为38,类似这种方法可以得到其余电子病历对应的健康数据向量;
步骤2.2:医疗中心根据对应的症状关键字组合将编号000001至编号030000的电子病历划分为一个指针C1指向的电子病历集合,将编号030001至编号060000的电子病历划分为一个指针C2指向的电子病历集合,将编号060001至编号100000的电子病历划分为一个指针C3指向的电子病历集合;
步骤2.3:医疗中心对电子病历进行脱敏处理,即删除各个电子病历的个人信息部分;
步骤2.4:医疗中心基于AES算法使用对称密钥sk=″VkbmTt2cq4FYUbvj″加密脱敏后的电子病历;
步骤2.5:医疗中心使用二进制向量Sc以及可逆矩阵Mc1、Mc2对症状关键字进行加密得到症状关键字向量的密文,具体包括如下子步骤:
步骤2.5.1:对于提取的症状关键字x1=1和x2=2,医疗中心分别构造两个3维症状关键字向量
Figure BDA0002908976910000141
Figure BDA0002908976910000142
Figure BDA0002908976910000143
并生成两个随机数α1=2和α2=3;
步骤2.5.2:医疗中心使用二进制向量Sc拆分症状关键字向量,具体方法为:
对于向量Sc中的第w项Sc[w],当Sc[w]=0时,Li[w]=Lia[w]=Lib[w];当Sc[w]=1时,Li[w]被随机拆分为Lia[w]和Lib[w],且有Li[w]=Lia[w]+Lib[w];其中,w=0,1,2,i=1,2;
因此症状关键字向量L1被拆分为L1a=(1,1,0)和L1b=(0,1,1),L2被拆分为L2a=(2,2,0)和L2b=(-1,2,4);
步骤2.5.3:医疗中心使用向量L1a、L1b、L2a、L2b、随机数α1、α2和可逆矩阵Mc1、Mc2得到症状关键字向量的密文
Figure BDA0002908976910000151
Figure BDA0002908976910000152
Figure BDA0002908976910000153
步骤2.6:医疗中心使用二进制向量Sf以及可逆矩阵Mf1、Mf2对健康数据向量进行加密得到健康数据向量的密文,具体包括如下子步骤:
步骤2.6.1:对于提取的健康数据向量Aj=(a1,a2,a3,a4),医疗中心将其扩展为7维向量
Figure BDA0002908976910000154
并生成对应的随机数βj;编号030001的电子病历对应的健康数据向量A030001=(71,120,72,38)被扩展为7维向量eA030001=(1,-2×71,-2×120,-2×72,-2×38,712+1202+722+382,-1)=(1,-142,-240,-144,-76,26069,-1),同时拥有对应的随机数β030001=3;类似这种方法可以得到其余健康数据向量扩展后的7维向量和对应的随机数;
步骤2.6.2:医疗中心使用二进制向量Sf拆分向量eAj得到向量eAja和eAjb,具体方法为:
对于向量Sf中的第p项Sf[p],当Sf[p]=0时,eAj[p]=eAja[p]=eAjb[p];当Sf[p]=1时,eAj[p]被随机拆分为eAja[p]和eAjb[p],且有eAj[p]=eAja[p]+eAjb[p];p=0,1,…,6;
因此eA030001被拆分为eA030001a=(0,-142,-120,-72,-76,16069,-1)和eA030001b=(1,-142,-120,-72,-76,10000,0);类似这种方法可以得到其余向量eAj拆分后的向量;
步骤2.6.3:对于提取的健康数据向量Aj,医疗中心使用向量eAja、eAjb、随机数βj和可逆矩阵Mc1、Mc2得到健康数据向量的密文
Figure BDA0002908976910000161
Figure BDA0002908976910000162
编号030001的电子病历对应健康数据向量的密文为
Figure BDA0002908976910000163
类似这种方法可以得到其余电子病历对应健康数据向量的密文;
步骤2.7:医疗中心基于症状关键字向量的密文构造一个如图2所示的粗粒度查询树T;T的第一层非叶子结点和第二层非叶子结点分别存有症状关键字向量的密文
Figure BDA0002908976910000164
Figure BDA0002908976910000165
叶子结点分别存有指向不同电子病历集合的指针C1、C2、C3以及一个空指针C4
步骤2.8:医疗中心将粗粒度查询树T、加密的电子病历、症状关键字向量的密文和健康数据向量的密文存储在云服务器中;
步骤3:生成加密的查询请求并发送,具体为:对应图1患者部分,图1中查询向量即为粗粒度查询向量和细粒度查询向量,加密的查询请求即为粗粒度查询向量的密文和细粒度查询向量的密文;患者根据自身症状及健康数据分别得到症状关键字组合和细粒度查询向量,之后随机生成虚假关键字添加到症状关键字组合中,通过该关键字组合构造多项式得到粗粒度查询向量;患者使用密钥加密粗粒度查询向量及细粒度查询向量,分别得到粗粒度查询向量的密文及细粒度查询向量的密文;患者将粗粒度查询向量的密文及细粒度查询向量的密文发送到云服务器,包括如下子步骤:
步骤3.1:患者u根据自身症状得到症状关键字组合{1},之后通过部署便携式传感器收集自身健康数据得到健康数据向量Qu=(70,115,73,39),患者u心率为70,血压(收缩压)为115,血压(舒张压)为73,体温为39,向量Qu也称为患者u的细粒度查询向量;
步骤3.2:患者u随机生成1个虚假症状关键字{10},之后将其添加到症状关键字组合{1}中得到关键字组合{1,10};
步骤3.3:患者u基于关键字组合{1,10}构造多项式3(y-1)(y-10)=30-33y+3y2,通过该多项式中各项系数构造粗粒度查询向量Bu=(30,-33,3);
步骤3.4:患者u使用二进制向量Sc以及可逆矩阵Mc1、Mc2对粗粒度查询向量进行加密得到粗粒度查询向量的密文,具体包括如下子步骤:
步骤3.4.1:对于粗粒度查询向量Bu,患者u生成一个对应的随机数ru=11;
步骤3.4.2:患者u使用二进制向量Sc拆分粗粒度查询向量Bu,具体方法为:
对于向量Sc中的第w项Sc[w],当Sc[w]=0时,Bu[w]被随机拆分为Bua[w]和Bub[w],且有Bu[w]=Bua[w]+Bub[w];当Sc[w]=1时,Bu[w]=Bua[w]=Bub[w];
因此Bu被拆分为Bua=(30,-23,3)和Bub=(30,-10,3);
步骤3.4.3:患者u使用向量Bua、Bub、随机数ru和可逆矩阵Mc1、Mc2得到粗粒度查询向量的密文
Figure BDA0002908976910000171
步骤3.5:患者u使用二进制向量Sf以及可逆矩阵Mf1、Mf2对细粒度查询向量进行加密得到细粒度查询向量的密文,具体包括如下子步骤:
步骤3.5.1:对于细粒度查询向量Qu,患者u首先将其扩展为7维向量eQu=(702+1152+732+392,70,115,73,39,1,θu)=(24975,70,115,73,39,1,30)并生成一个随机数Ru=9;
步骤3.5.2:患者u使用二进制向量Sf拆分向量eQu得到向量eQua和eQub,具体方法为:
对于向量Sf中的第p项Sf[p],当Sf[p]=0时,eQu[p]被随机拆分为eQua[p]和eQub[p],且有eQu[p]=eQua[p]+eQub[p];当Sf[p]=1时,eQu[p]=eQua[p]=eQub[p];
因此eQu被拆分为eQua=(24975,30,115,73,19,1,30)和eQub=(24975,40,115,73,20,1,30);
步骤3.5.3:患者u使用向量eQua、eQub、随机数Ru和可逆矩阵Mf1、Mf2得到细粒度查询向量的密文
Figure BDA0002908976910000181
步骤3.6:患者u将粗粒度查询向量的密文以及细粒度查询向量的密文发送到云服务器;
步骤4:粗粒度查询,具体为:对应图1云服务器部分粗粒度查询操作,云服务器使用粗粒度查询向量的密文、粗粒度查询树以及症状关键字向量的密文执行粗粒度查询,从而找到与患者症状关键字组合一致的电子病历集合,包括如下子步骤:
步骤4.1:云服务器执行粗粒度查询,具体方法如图3所示:从粗粒度查询树T的根结点开始,根结点存有症状关键字向量L1的密文
Figure BDA0002908976910000182
云服务器计算
Figure BDA0002908976910000183
继续访问根结点的左孩子结点;根结点的左孩子结点存有症状关键字向量L2的密文
Figure BDA0002908976910000184
云服务器计算
Figure BDA0002908976910000185
Figure BDA0002908976910000186
继续访问当前结点的右孩子结点,即存有指针C2的叶子结点,C2指向编号030001至编号060000的电子病历,这些电子病历症状关键字组合为{1},与患者u症状关键字组合一致;
步骤5:细粒度查询,具体为:对应图1云服务器部分细粒度查询及发送相似电子病历操作,云服务器在粗粒度查询得到的电子病历集合中执行细粒度查询,从而找到满足患者相似度阈值的相似电子病历;云服务器将查询到的相似电子病历发送给患者,包括如下子步骤:
步骤5.1:云服务器使用患者u细粒度查询向量的密文
Figure BDA0002908976910000191
在指针C2指向的电子病历集合中执行细粒度查询,具体方法为:对于集合中每个电子病历对应的健康数据向量密文
Figure BDA0002908976910000192
云服务器使用细粒度查询向量的密文
Figure BDA0002908976910000193
进行匹配,对于编号030001的电子病历对应健康数据向量的密文
Figure BDA0002908976910000194
云服务器计算
Figure BDA0002908976910000195
Figure BDA0002908976910000196
Figure BDA0002908976910000197
Figure BDA0002908976910000198
说明编号为030001的电子病历相似度符合患者u设定的阈值θu,类似这种方法可以得到集合内其余符合阈值θu的电子病历编号;
步骤5.2:云服务器将符合阈值θu的相似电子病历发送给患者u;
通过上述步骤,患者u得到与其病况相似的电子病历,这些电子病历是以密文形式发送给患者u,患者u使用对称密钥sk解密后得到明文信息进行参考;
在所述方法的粗粒度查询阶段和细粒度查询阶段,通过“使用粗粒度查询向量的密文、粗粒度查询树以及症状关键字向量的密文执行粗粒度查询,从而找到与患者症状关键字组合一致的电子病历集合”将后续细粒度查询的范围缩小,通过“在粗粒度查询得到的电子病历集合中执行细粒度查询,从而找到满足患者相似度阈值的相似电子病历”实现基于矩阵加密的隐私保护相似度计算,与现有工作中基于公钥加密的隐私保护相似度计算相比更加高效;因此,所述方法能够在大规模电子医疗系统中高效且隐私保护地帮助患者查询满足相似度阈值的电子病历;本发明有益效果1可证;
在所述方法的粗粒度查询阶段,通过“使用粗粒度查询向量的密文与非叶子结点中存储的症状关键字向量的密文进行匹配”实现基于二叉决策树的结构进行隐私保护症状关键字匹配,与现有工作中基于线性结构的隐私保护症状关键字匹配方法相比,减少了匹配次数,效率上有很大提升;图4为这两种隐私保护症状关键字匹配方法性能的仿真结果图,横坐标是症状关键字字典的大小,纵坐标是运行时间,坐标点用三角形表示的曲线为基于线性结构进行隐私保护症状关键字匹配的方法,坐标点用圆形表示的曲线为基于二叉决策树的结构进行隐私保护症状关键字匹配的方法,设定患者症状关键字组合中允许包含关键字数目的最大值为10;从横坐标15到20对应的值可以看出,基于二叉决策树的结构进行隐私保护症状关键字匹配的方法性能优势非常明显;本发明有益效果2可证;
在所述方法的细粒度查询阶段,通过“对于在粗粒度查询得到的电子病历集合中每个电子病历对应的健康数据向量密文,云服务器使用细粒度查询向量的密文进行匹配”得到匹配结果,匹配结果仅表明健康数据相似度是否在患者设定的阈值内,不会显示出具体的相似度数值,与许多现有工作中相似度计算方法相比进一步保护了患者的隐私;本发明有益效果3可证;
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

Claims (4)

1.一种大规模电子医疗系统中的隐私保护相似病历查询方法,其特征在于:所依托的隐私保护相似病历查询系统,包括医疗中心、患者及云服务器;医疗中心将加密数据及密钥分别发送给云服务器和患者,患者向云服务器发送加密的查询请求,云服务器查询与患者病况相似的电子病历并发送给患者,具体为:先通过粗粒度查询找到与患者症状关键字组合一致的电子病历集合,之后通过在该集合中执行细粒度查询找到与患者健康数据相似度在一定阈值范围内的电子病历并发送给患者,患者解密查询结果进行参考;
所述隐私保护相似病历查询方法,包括初始化、生成加密数据并存储、生成加密的查询请求并发送、粗粒度查询和细粒度查询,具体包括如下步骤:
步骤1:初始化,具体为:医疗中心生成密钥,并在收到患者的注册信息后将密钥通过安全的通信渠道发送给患者;
步骤2:生成加密数据并存储,具体为:医疗中心从电子病历中提取症状关键字及健康数据向量、划分电子病历集合、对电子病历进行脱敏及加密处理,生成加密脱敏后的电子病历,加密症状关键字及健康数据向量,分别得到症状关键字向量的密文以及健康数据向量的密文;基于症状关键字向量的密文构造粗粒度查询树,并将该粗粒度查询树与加密的电子病历、症状关键字向量的密文和健康数据向量的密文一起存储在云服务器中;
步骤3:生成加密的查询请求并发送,具体为:患者根据自身症状及健康数据分别得到症状关键字组合和细粒度查询向量,之后随机生成虚假关键字添加到症状关键字组合中,通过该关键字组合构造多项式得到粗粒度查询向量;患者使用密钥加密粗粒度查询向量及细粒度查询向量,分别得到粗粒度查询向量的密文及细粒度查询向量的密文;患者将粗粒度查询向量的密文及细粒度查询向量的密文发送到云服务器,包括如下子步骤:
步骤3.1:假定有一患者u,该患者根据自身症状得到症状关键字组合,之后通过部署便携式传感器收集自身健康数据得到健康数据向量,即细粒度查询向量;
其中,患者u的症状关键字组合记为:
Figure FDA0002908976900000023
患者u的细粒度查询向量记为:Qu=(q1,q2,...,qn);
其中,lu为患者u症状关键字数目,lu≤d;
步骤3.2:患者u随机生成d-lu个虚假症状关键字,之后将这些虚假症状关键字添加到步骤3.1生成的症状关键字组合中得到新的关键字组合;
其中,生成的d-lu个虚假关键字记为:
Figure FDA0002908976900000021
新的关键字组合记为:
Figure FDA0002908976900000022
其中,虚假症状关键字使用正整数表示,每个虚假症状关键字都不在症状关键字字典中;
步骤3.3:患者u基于步骤3.2生成的关键字组合构造多项式,具体多项式表示如下:
bd(y-X1)(y-X2)…(y-Xd)=b0+b1y+b2y2+…+bdyd (1)
其中,bd为非0整数;
患者u基于式(1)中多项式各项系数构造粗粒度查询向量;
其中,患者u的粗粒度查询向量记为:Bu=(b0,b1,…,bd);
步骤3.4:患者u使用二进制向量Sc以及可逆矩阵Mc1、Mc2对粗粒度查询向量进行加密得到粗粒度查询向量的密文,具体包括如下子步骤:
步骤3.4.1:针对于粗粒度查询向量,患者u生成一个对应的随机数;
其中,对于粗粒度查询向量Bu,对应的随机数记为ru
其中,ru为非0整数;
步骤3.4.2:患者u使用二进制向量Sc将粗粒度查询向量拆分为两个向量;
其中,粗粒度查询向量Bu拆分的两个向量,记为Bua、Bub,具体拆分过程为:对于向量Sc中的第w项Sc[w],当Sc[w]=0时,Bu[w]被随机拆分为Bua[w]和Bub[w],且有Bu[w]=Bua[w]+Bub[w];当Sc[w]=1时,Bu[w]=Bua[w]=Bub[w];
步骤3.4.3:对于粗粒度查询向量,患者u使用其拆分后的向量、对应的随机数和可逆矩阵Mc1、Mc2得到粗粒度查询向量的密文;
其中,粗粒度查询向量的密文记为:
Figure FDA0002908976900000031
其中,
Figure FDA0002908976900000032
为向量
Figure FDA0002908976900000033
和向量
Figure FDA0002908976900000034
组成的有序对;
步骤3.5:患者u使用二进制向量Sf以及可逆矩阵Mf1、Mf2对细粒度查询向量进行加密得到细粒度查询向量的密文,具体包括如下子步骤:
步骤3.5.1:对于细粒度查询向量,患者u首先将其扩展为n+3维向量并生成一个对应的随机数;
其中,细粒度查询向量Qu扩展后的向量,记为:
Figure FDA0002908976900000035
生成对应的随机数记为Ru
其中,Ru为正整数,θu为患者u设定的相似度阈值;
Figure FDA0002908976900000036
为qii的平方;
步骤3.5.2:患者u使用二进制向量Sf将扩展后的细粒度查询向量拆分为两个向量,具体为:
其中,向量eQu拆分的两个向量,记为eQua、eQub,具体拆分过程为:对于向量Sf中的第p项Sf[p],当Sf[p]=0时,eQu[p]被随机拆分为eQua[p]和eQub[p],且有eQu[p]=eQua[p]+eQub[p];当Sf[p]=1时,eQu[p]=eQua[p]=eQub[p];
步骤3.5.3:对于细粒度查询向量,患者u使用其扩展并拆分后的向量、对应的随机数和可逆矩阵Mf1、Mf2得到细粒度查询向量的密文;
其中,细粒度查询向量的密文记为:
Figure FDA0002908976900000041
其中,
Figure FDA0002908976900000042
为向量
Figure FDA0002908976900000043
和向量
Figure FDA0002908976900000044
组成的有序对;
步骤3.6:患者u将粗粒度查询向量的密文以及细粒度查询向量的密文发送到云服务器;
步骤4:粗粒度查询,具体为:云服务器使用粗粒度查询向量的密文、粗粒度查询树以及症状关键字向量的密文执行粗粒度查询,从而找到与患者症状关键字组合一致的电子病历集合,包括如下子步骤:
步骤4.1:从粗粒度查询树的根结点开始,云服务器使用粗粒度查询向量的密文与非叶子结点中存储的症状关键字向量的密文进行匹配;假设当前访问非叶子结点所在层次为i,具体匹配过程如下:
Figure FDA0002908976900000045
其中,符合
Figure FDA0002908976900000046
表示两个有序对对应位置元素进行内积运算,符号·表示向量内积运算符;若匹配结果为0则说明
Figure FDA0002908976900000047
从而判断出xi属于患者u的症状关键字组合;若匹配结果不为0则说明
Figure FDA0002908976900000048
Figure FDA0002908976900000049
从而判断出xi不属于患者u的症状关键字组合;
若匹配结果为0则继续访问当前结点的左孩子结点进行匹配,若匹配结果不为0则继续访问当前结点的右孩子结点进行匹配,直至访问一个叶子结点,该叶子结点存储的指针指向与患者u症状关键字组合一致的电子病历集合;
步骤5:细粒度查询,具体为:云服务器在粗粒度查询得到的电子病历集合中执行细粒度查询,从而找到满足患者相似度阈值的电子病历;云服务器将查询结果发送给患者,患者通过密钥解密细粒度查询结果得到明文信息进行参考,包括如下子步骤:
步骤5.1:对于在粗粒度查询得到的电子病历集合中每个电子病历对应的健康数据向量密文,云服务器使用细粒度查询向量的密文进行匹配,具体匹配过程如下:
Figure FDA0002908976900000051
若匹配结果小于0则说明
Figure FDA0002908976900000052
从而判断出编号为j的电子病历相似度符合患者u设定的阈值;
步骤5.2:云服务器将对应健康数据向量密文匹配结果小于0的加密电子病历发送给患者u;
步骤5.3:患者u使用对称密钥sk解密上述细粒度查询结果进行参考。
2.根据权利要求1所述的一种大规模电子医疗系统中的隐私保护相似病历查询方法,其特征在于:加密数据包括加密的电子病历、症状关键字向量的密文、健康数据向量的密文以及粗粒度查询树。
3.根据权利要求2所述的一种大规模电子医疗系统中的隐私保护相似病历查询方法,其特征在于:加密的查询请求包括粗粒度查询向量的密文以及细粒度查询向量的密文,粗粒度查询向量用于表示患者症状关键字组合,细粒度查询向量用于表示患者健康数据。
4.根据权利要求3所述的一种大规模电子医疗系统中的隐私保护相似病历查询方法,其特征在于:步骤1、具体包括如下子步骤:
步骤1.1:医疗中心随机生成密钥σ;
其中,σ=(sk,Sc,Sf,Mc1,Mc2,Mf1,Mf2);sk是用于加密电子病历的对称密钥,Sc是一个用于拆分的d+1维二进制向量,Sf是一个用于拆分的n+3维二进制向量,Mc1和Mc2是两个用于加密的d+1阶可逆矩阵,Mf1和Mf2是两个用于加密的n+3阶可逆矩阵,d为患者症状关键字组合中允许包含关键字数目的最大值,n为健康数据向量的维度;
步骤1.2:在收到患者的注册信息后,医疗中心通过安全的通信渠道将密钥σ发送给患者。
CN202110080281.6A 2021-01-21 2021-01-21 一种大规模电子医疗系统中的隐私保护相似病历查询方法 Active CN112837770B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110080281.6A CN112837770B (zh) 2021-01-21 2021-01-21 一种大规模电子医疗系统中的隐私保护相似病历查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110080281.6A CN112837770B (zh) 2021-01-21 2021-01-21 一种大规模电子医疗系统中的隐私保护相似病历查询方法

Publications (2)

Publication Number Publication Date
CN112837770A true CN112837770A (zh) 2021-05-25
CN112837770B CN112837770B (zh) 2022-12-02

Family

ID=75929231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110080281.6A Active CN112837770B (zh) 2021-01-21 2021-01-21 一种大规模电子医疗系统中的隐私保护相似病历查询方法

Country Status (1)

Country Link
CN (1) CN112837770B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094497A (zh) * 2021-06-07 2021-07-09 华中科技大学 一种电子健康记录推荐方法及共享边缘计算平台
CN115361680A (zh) * 2022-10-20 2022-11-18 华信咨询设计研究院有限公司 医保数据智能共享交换系统
CN116646046A (zh) * 2023-07-27 2023-08-25 中日友好医院(中日友好临床医学研究所) 一种基于互联网诊疗的电子病历处理方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650205A (zh) * 2016-09-28 2017-05-10 西安电子科技大学 一种高效隐私保护的云医疗数据监护系统及监护方法
CN111028905A (zh) * 2019-12-06 2020-04-17 北京理工大学 一种电子医疗系统中保护隐私的Top-k疾病匹配方法
US20200125563A1 (en) * 2016-12-30 2020-04-23 Robert Bosch Gmbh Method and System for Fuzzy Keyword Search Over Encrypted Data
CN111104434A (zh) * 2019-11-25 2020-05-05 北京理工大学 一种基于隐私保护多级属性相似度的电子医疗推荐方法
CN111427998A (zh) * 2020-03-19 2020-07-17 辽宁工业大学 一种云数据多关键字扩展权值的安全密文查询方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650205A (zh) * 2016-09-28 2017-05-10 西安电子科技大学 一种高效隐私保护的云医疗数据监护系统及监护方法
US20200125563A1 (en) * 2016-12-30 2020-04-23 Robert Bosch Gmbh Method and System for Fuzzy Keyword Search Over Encrypted Data
CN111104434A (zh) * 2019-11-25 2020-05-05 北京理工大学 一种基于隐私保护多级属性相似度的电子医疗推荐方法
CN111028905A (zh) * 2019-12-06 2020-04-17 北京理工大学 一种电子医疗系统中保护隐私的Top-k疾病匹配方法
CN111427998A (zh) * 2020-03-19 2020-07-17 辽宁工业大学 一种云数据多关键字扩展权值的安全密文查询方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M.A.P. CHAMIKARA 等: "n efficient and scalable privacy preserving algorithm for big data and data streams", 《COMPUTERS&SECURITY》 *
郭子菁 等: "医疗健康大数据隐私保护综述", 《计算机科学与探索》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094497A (zh) * 2021-06-07 2021-07-09 华中科技大学 一种电子健康记录推荐方法及共享边缘计算平台
CN113094497B (zh) * 2021-06-07 2021-09-14 华中科技大学 一种电子健康记录推荐方法及共享边缘计算平台
CN115361680A (zh) * 2022-10-20 2022-11-18 华信咨询设计研究院有限公司 医保数据智能共享交换系统
CN115361680B (zh) * 2022-10-20 2023-02-17 华信咨询设计研究院有限公司 医保数据智能共享交换系统
CN116646046A (zh) * 2023-07-27 2023-08-25 中日友好医院(中日友好临床医学研究所) 一种基于互联网诊疗的电子病历处理方法和系统
CN116646046B (zh) * 2023-07-27 2023-11-17 中日友好医院(中日友好临床医学研究所) 一种基于互联网诊疗的电子病历处理方法和系统

Also Published As

Publication number Publication date
CN112837770B (zh) 2022-12-02

Similar Documents

Publication Publication Date Title
CN112837770B (zh) 一种大规模电子医疗系统中的隐私保护相似病历查询方法
Zhang et al. PIC: Enable large-scale privacy preserving content-based image search on cloud
Du et al. Privacy-preserving indexing and query processing for secure dynamic cloud storage
CN110326253B (zh) 用于对加密数据进行模糊关键字搜索的方法和系统
Wang et al. Searchable encryption over feature-rich data
Lu Privacy-preserving Logarithmic-time Search on Encrypted Data in Cloud.
CN112800088B (zh) 基于双向安全索引的数据库密文检索系统及方法
Lu et al. Confidentiality-preserving image search: A comparative study between homomorphic encryption and distance-preserving randomization
Yuan et al. SEISA: Secure and efficient encrypted image search with access control
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
WO2024077948A1 (zh) 匿踪查询方法、装置和系统及存储介质
Liu et al. Intelligent and secure content-based image retrieval for mobile users
CN108063754B (zh) 面向可穿戴健康监测设备匿名化数据的属性基加密方法
CN111026788A (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
CN109344637B (zh) 一种可搜索和保护隐私的数据共享云辅助电子医疗系统
CN108038128A (zh) 一种加密文件的检索方法、系统、终端设备及存储介质
Xu et al. DNA similarity search with access control over encrypted cloud data
CN106980796A (zh) 云环境下基于mdb+树的多域连接关键词的搜索方法
Abduljabbar et al. EEIRI: efficient encrypted image retrieval in IoT-cloud
Zhu et al. An accurate and privacy-preserving retrieval scheme over outsourced medical images
Abdulsada et al. Efficient multi-keyword similarity search over encrypted cloud documents
JP2006189925A (ja) 個人情報管理システム、個人情報管理プログラムおよび個人情報保護方法
Rajkumar et al. Fuzzy-Dedup: A secure deduplication model using cosine based Fuzzy interference system in cloud application
CN115640601A (zh) 一种实现隐私信息检索的方法、系统、服务端和客户端
Liu et al. A method of query over encrypted data in database

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