CN116186095A - 一种具有前后向隐私的多端医疗数据查询方法 - Google Patents

一种具有前后向隐私的多端医疗数据查询方法 Download PDF

Info

Publication number
CN116186095A
CN116186095A CN202310085025.5A CN202310085025A CN116186095A CN 116186095 A CN116186095 A CN 116186095A CN 202310085025 A CN202310085025 A CN 202310085025A CN 116186095 A CN116186095 A CN 116186095A
Authority
CN
China
Prior art keywords
file
query
phi
data
keywords
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
Application number
CN202310085025.5A
Other languages
English (en)
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 CN202310085025.5A priority Critical patent/CN116186095A/zh
Publication of CN116186095A publication Critical patent/CN116186095A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种具有前后向隐私的多端医疗数据查询方法,涉及医疗数据查询及隐私保护技术领域。该方法的具体实施方式包括:数据拥有者生成系统密钥、与预构建的关键字字典对应的安全索引,将系统密钥发送给数据使用者、将安全索引发送给云服务器;数据使用者根据系统密钥、待查询时间范围和待查询关键字生成查询请求,将查询请求发送给云服务器;云服务器利用查询令牌匹配安全索引,得到与查询请求对应的查询结果,将查询结果发送给数据使用者;数据使用者对查询结果进行解密,得到与查询请求对应的目标文件。该实施方式能够实现非交互的多端可搜索加密,避免数据使用者和数据拥有者频繁交互,减少通讯开销,保证数据使用者查询内容的安全性。

Description

一种具有前后向隐私的多端医疗数据查询方法
技术领域
本发明属于医疗数据查询及隐私保护技术领域,具体涉及一种具有前后向隐私的多端医疗数据查询方法。
背景技术
随着云计算和物联网技术的发展,传统的医疗模式逐渐转变为更加高效和灵活的云辅助电子医疗模式,通过佩戴于患者身上的无线可穿戴设备监测患者的个人健康信息(PHI,Personal Health Information),并将PHI定期或者不定期传送给数据拥有者(比如,设备厂商),由数据拥有者生成加密的PHI文件并发送给云服务器存储。当需要访问医疗数据时时,向云服务器发送查询请求,但是,由于PHI文件是加密的,使得云服务器的搜索较为困难。
现有的实现加密下的文件搜索方法主要包括基于静态数据库的对称可搜索加密技术和基于动态数据库的动态对称可搜索加密技术,动态可搜索加密技术又分为单客户端可搜索加密(数据使用者必须与数据拥有者相同)和多客户端可搜索加密(数据使用者可以与数据拥有者相同或不同)。
然而,由于PHI的更新不受时间、地点等因素限制,云服务器的数据动态变化较快,使得基于静态数据库的搜索无法满足数据使用者的数据需求;单客户端可搜索加密的医疗数据无法共享,数据利用率低的同时无法为患者提供更好的健康服务;多客户端可搜索加密需要数据使用者与数据拥有者频繁交互,包括索要关键字状态、发送查询请求、接收查询结果等,通信资源消耗较大的同时数据使用者的查询内容容易外泄,无法保证医疗数据的前后向隐私。
发明内容
有鉴于此,本发明提供了一种具有前后向隐私的多端医疗数据查询方法,能够实现非交互的多端可搜索加密,避免数据使用者和数据拥有者的频繁交互,减少通讯开销,并且防止数据使用者的查询内容泄露,保证数据查询的安全性,使得数据使用者和数据拥有者可以为患者提供健康诊断和医疗服务。
实现本发明的技术方案如下:
一种具有前后向隐私的多端医疗数据查询方法,所述方法由多端医疗数据查询系统执行,所述多端医疗数据查询系统包括数据拥有者、数据使用者和云服务器,所述方法包括:
所述数据拥有者生成系统密钥、与预构建的关键字字典对应的安全索引,将所述系统密钥发送给所述数据使用者、将所述安全索引发送给所述云服务器;其中,所述安全索引是对从PHI文件中提取的文字关键字加密构建的;
所述数据使用者根据所述系统密钥、待查询时间范围和待查询关键字生成查询请求,将所述查询请求发送给所述云服务器;其中,所述查询请求包括查询令牌;
所述云服务器利用所述查询令牌匹配所述安全索引,得到与所述查询请求对应的查询结果,将所述查询结果发送给所述数据使用者;
所述数据使用者对所述查询结果进行解密,得到与所述查询请求对应的目标文件。
可选地,所述系统密钥
Figure BDA0004068666250000021
其中,
Figure BDA0004068666250000022
是伪随机函数的种子;sk是对称加密密钥;M1为第一随机加密矩阵,M2为第二随机加密矩阵,所述数据拥有者通过安全信道将所述系统密钥和所述关键字字典发送给所述数据使用者。
可选地,所述数据拥有者生成所述安全索引,包括:
接收各个医疗设备传送的PHI,并生成PHI文件,根据所述关键字字典,从所述PHI文件中提取对应的文件关键字;
根据所述文件关键字在所述关键字字典中的位置序号,生成所述PHI文件的文字关键字的位置序号集合;
对所述PHI文件的文件标志符和操作符进行加密,生成所述PHI文件的加密文件标志符和索引地址;
针对所述PHI文件,所述数据拥有者根据所述关键字字典的关键字个数和所述文件关键字的个数,与所述文件关键字的位置序号集合组合生成所述PHI文件的位置序号集合,使用多项式算法计算所述PHI文件的合并文字关键字的位置序号集合的系数向量;
根据所述文字关键字的位置序号集合和所述关键字字典的位置序号集合的对应关系,构建第一链向量,将所述系数向量、所述PHI信息的接收时间的时间戳转换的第一整数向量和所述第一链向量拼接,构建第三随机加密矩阵和第四随机加密矩阵;
利用所述第一随机加密矩阵、所述第二随机加密矩阵、所述第三随机加密矩阵和所述第四随机加密矩阵生成目标加密矩阵,将所述目标加密矩阵和各个所述PHI文件的索引地址、各个所述PHI文件的加密文件标识符组成所述安全索引,并发送给所述云服务器存储。
可选地,所述数据使用者根据所述系统密钥、待查询时间范围和待查询关键字生成查询请求,包括:
根据所述关键字字典,确定所述待查询关键字的位置序号,构造所述待查询关键字的位置序号的幂向量;
根据所述待查询关键字的位置序号集合和所述关键字字典的位置序号集合的对应关系,构建第二链向量;
将所述幂向量、所述待查询时间范围的时间戳转换的第二整数向量和所述第二链向量拼接,构建第五随机加密矩阵和第六随机加密矩阵;
利用所述第一随机加密矩阵的逆矩阵、所述第二随机加密矩阵的逆矩阵、所述第五随机加密矩阵和所述第六随机加密矩阵生成查询令牌,并发送给所述云服务器。
可选地,所述云服务器利用所述查询令牌匹配所述安全索引,得到与所述查询请求对应的查询结果,包括:
A1:将所述数据拥有者最新上传的安全索引作为当前安全索引;
A2:计算查询令牌与所述当前安全索引的目标加密矩阵的乘积的迹;
A3:判断所述乘积的迹是否在预设阈值内,如果是,将对应的加密文件标志符加入查询结果,迹的值即为上一个包含该关键字的PHI文件对应的索引地址,通过迹的值得到新的对应的加密文件标志符和目标加密矩阵,转至步骤A2;如果否,将下一个安全索引作为所述当前安全索引,转至步骤A2。
有益效果:
(1)通过多项式匹配、时间范围查询和随机矩阵乘法技术,可以实现隐私高效的基于矩阵加密的可搜索加密,在密文下完成关键字搜索,相比于基于公钥加密的可搜索加密方案更加高效。本发明聚焦于多客户端,由数据拥有者加密安全索引、上传到云服务器,数据使用者向云服务器发送加密的查询令牌搜索需要的数据。本发明能够应用于各种大规模的电子医疗数据共享系统,高效且隐私地帮助数据使用者查询数据。
(2)在初始化和查询阶段,数据使用者利用待查询时间范围生成查询令牌,可以实现非交互的前向隐私,使得新添加的文件不能被过去的查询令牌搜索到,相较于现有的“关键字计数器方法实现前向隐私,数据使用者需要向数据拥有者请求关键字状态信息或者查找令牌”,避免了多端频繁交互带来的庞大的通讯开销,无需数据拥有者随时在线,极大提升了搜索效率,降低隐私泄露的风险。
(3)本发明将安全索引与查询令牌匹配,匹配成功得到的结果为上一个包含该关键字的PHI文件,由此实现了亚线性的搜索效率,通过本发明的基于矩阵乘法的关键字匹配,相较于现有的“基于线性结构的隐私保护症状关键字匹配方法”,减少了匹配次数,效率得到很大提升。
附图说明
图1为根据本发明实施例的一种具有前后向隐私的多端医疗数据查询方法的主要流程的示意图。
图2为根据本发明实施例的多端医疗数据查询系统的示意图。
图3为根据本发明实施例的数据拥有者的初始化方法的主要流程的示意图。
图4为根据本发明实施例的安全索引的生成方法的主要流程的示意图。
图5为根据本发明实施例的查询令牌的生成方法的主要流程的示意图。
图6为根据本发明实施例的待查询时间范围的布尔通配符向量的示意图。
图7(a)为根据本发明实施例的整数向量和幂向量的生成示意图。
图7(b)为根据本发明实施例的链向量的生成示意图。
图7(c)为根据本发明实施例的待查询时间范围的匹配示意图。
图8为根据本发明实施例的待查询关键字对应的加密文件标志符的解密方法的主要流程的示意图。
图9为根据本发明实施例的多端医疗数据查询方法与现有的医疗数据查询方法的搜索时间对比示意图。
具体实施方式
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。术语解释:
前向隐私:是指当前令牌只能搜索到当前及其前面的文件,无法搜索当前令牌之后更新的文件,从而保证前向隐私。
后向隐私:是指当前令牌只能搜索现有的文件,无法搜索已删除的文件,从而保证后向隐私。
下面结合附图并举实施例,对本发明进行详细描述。
在本发明实施例中,如图1所示,本发明实施例的一种具有前后向隐私的多端医疗数据查询方法包括如下步骤:
在本发明实施例中,本发明的具有前后向隐私的多端医疗数据查询方法由多端医疗数据共享系统执行,如图2所示,多端医疗数据共享系统包括数据拥有者、数据使用者和云服务器,数据使用者的数量可以是一个或着多个,本发明不对数据使用者的数量进行限制,数据拥有者对应的终端、数据使用者对应的终端和云服务器可以互相通信,不做特殊说明的是,本发明的数据拥有者、数据使用者皆是通过对应的终端执行本发明的医疗数据查询方法。
步骤11,所述数据拥有者生成系统密钥、与预构建的关键字字典对应的安全索引,将所述系统密钥发送给所述数据使用者、将所述安全索引发送给所述云服务器;其中,所述安全索引包括与所述关键字字典的各个关键字对应的PHI文件的文件标识符。
在本发明实施例中,数据使用者可以与数据拥有者相同或者不同,数据拥有者可以是患者所佩戴的无线可穿戴设备的设备厂商,患者接受所使用的无线可穿戴设备的信息收集协议,数据拥有者即可获取患者的个人健康信息(以下简称PHI)。
在本发明实施例中,如图3所示,本发明的数据拥有者的初始化方法包括如下步骤:
步骤31,所述数据拥有者构建关键字字典,所述关键字字典包括关键字的位置序号和关键字的对应关系。
步骤32,所述数据拥有者生成系统密钥、与预构建的关键字字典对应的安全索引。
在本发明实施例中,数据拥有者随机生成的系统密钥msk=
Figure BDA0004068666250000071
是伪随机函数的种子;sk是对称加密密钥;M1为第一随机加密矩阵,M2为第二随机加密矩阵,M1和M2是两个用于加密的n×n可逆矩阵,比如,下三角矩阵,取值为任意实数;n是加密前安全索引的索引向量的维度,n=2m+τ+4,m为关键字字典的关键字的个数,τ为PHI的接收时间的时间戳Ts的位数,可以根据需要进行选择性设置,比如,τ=30。
在本发明实施例中,数据拥有者加密医疗数据,从医疗数据中提取症状关键字,并根据提取的关键字生成索引向量,加密后生成安全索引上传到云服务器中存储。
步骤33,所述数据拥有者通过安全信道将所述系统密钥和所述关键字字典发送给所述数据使用者、将所述安全索引发送给所述云服务器。
在本发明实施例中,数据拥有者通过安全信道将系统密钥的第一随机加密矩阵M1、第二随机加密矩阵M2和对称密钥sk发送给数据使用者。
在本发明实施例中,数据拥有者将安全索引发送给云服务器,使得云服务器可以利用数据使用者的查询令牌进行搜索,从预存的安全索引中确定与查询令牌的待查询关键字对应的目标文件的加密文件标识符。
在本发明实施例中,数据拥有者的初始化方法还包括关键字状态表St的初始化。其中,St记录了关键字字典中的各个关键字wi、关键字计数器cnti和关键字操作符opwi,用于存储各个关键字对应的各个PHI文件的索引地址。
在本发明实施例中,通过本发明的数据拥有者的初始化方法,数据使用者仅需要在初始时将系统密钥和安全字字典发送给数据拥有者,无需其它交互过程,避免了数据使用者和数据拥有者的频繁交互,从而实现非交互的多端可搜索加密,减少通讯开销,并且防止数据使用者的查询内容泄露,保证数据查询的安全性。
在本发明实施例中,如图4所示,本发明的安全索引的生成方法包括如下步骤:
步骤41,接收各个医疗设备传送的PHI,并生成PHI文件。
在本发明实施例中,医疗设备可以是移动式(比如,无线可穿戴设备)、固定式或者半固定式等各种形式的医疗设备,只要具备通信功能或者可以与其它可通信中介连接上传数据即可。PHI文件可以是doc、docx、wps、xls、xlsx、txt、htm、html等各种格式,可以根据需要进行选择性设置。
步骤42,根据所述关键字字典,从所述PHI文件中提取对应的文件关键字,根据所述文件关键字在所述关键字字典中的位置序号,生成所述PHI文件的文字关键字的位置序号集合。
在本发明实施例中,针对每一个PHI文件,数据拥有者根据关键字字典,从PHI文件中提取文件关键字,d个文件关键字的集合
Figure BDA0004068666250000081
其中,
Figure BDA0004068666250000082
表示文字关键字,xi表示文字关键字wxi在关键字字典中的位置序号,i∈1,2,3,…,d。因此,文字关键字的位置序号集合Aind={x1,x2,…,xd}。因为文件关键字是根据关键字字典提取的,所以每一个PHI文件的Wind中的关键字均在关键字字典中。
步骤43,对所述PHI文件的文件标志符和操作符进行加密,生成所述PHI文件的加密文件标志符和索引地址。
在本发明实施例中,文件标志符ind为PHI文件的序号,op为PHI文件的文件操作符,表示PHI文件的操作状态,op=add时表示PHI文件的操作状态为添加;op=del时表示PHI文件的操作状态为删除。数据拥有者利用系统密钥的对称密钥sk,对PHI文件的文件标志符ind和文件操作符op进行对称加密,得到PHI文件的加密文件标识符Enc(sk,ind||op)。
在本发明实施例中,将文件标志符ind和文件操作符op利用伪随机函数的种子
Figure BDA0004068666250000093
进行加密,生成与关键字对应的PHI文件的索引地址
Figure BDA0004068666250000091
Figure BDA0004068666250000092
作为关键字状态表中与关键字wi对应的状态值St[wi]。
步骤44,针对所述PHI文件,所述数据拥有者根据所述关键字字典的关键字个数和所述文件关键字的个数之差,填充虚拟关键字,使得所述虚拟关键字与所述文件关键字的的总关键字数量等于所述关键字字典的关键字个数,生成所述PHI文件的关键字的位置序号集合。
在本发明实施例中,关键字字典的关键字个数为m,PHI文件的文件关键字的个数为d,数据拥有者根据两者之差|m-d|,随机生成|m-d|个不同于关键字字典的虚拟关键字,并将虚拟关键字的位置序号定义为{xd+1,…,xm},与文字关键字的位置序号集合Aind组合生成PHI文件的关键字的位置序号集合Dkind,相应地,Dkind的位置序号的数量为m个。
步骤45,使用多项式算法计算所述PHI文件的关键字的位置序号集合的系数向量。
在本发明实施例中,多项式算法即韦达定理(Vieta’s Formulas),如下式(1)所示:
am(x-xm)…(x-x1)=amxm+…+a1x+a0 (1)
上式中,am为非0整数,可以任意选取,保证am数量级固定即可。
进一步地,PHI文件的关键字的位置序号集合的系数向量C=(am,…,a1,a0)。比如,系数向量C如图7(a)所示。
步骤46,将所述PHI的接收时间的时间戳转换为第一整数向量。
在本发明实施例中,数据拥有者先将PHI的接收时间的时间戳Ts转换为布尔向量Tsbin=(t1,…,tτ),布尔向量的转换方式可以是二进制转换。再将布尔向量转换为第一整数向量Ts′bin=(t′1,…,t′τ,t′τ+1),为后续计算向量内积做准备,其中,对于向量Tsbin中的第i项,当ti=0时,t′i=1;当ti=1时,t′i=-1(1≤i≤τ);t′τ+1=1,设置t′τ+1是为了后续查找过程中进行内积匹配。
步骤47,根据所述文字关键字的位置序号集合和所述关键字字典的位置序号集合的对应关系,构建第一链向量。
在本发明实施例中,第一链向量用于表示关键字字典的各个关键字是否出现在各个PHI文件中,存在则对应关键字的链向量的元素值为PHI文件地址eid,不存在则为0。
进一步地,数据拥有者构建的第一链向量G=(g1,…,gm)的元素数量与关键字字典的位置序号的个数相同,在文字关键字的位置序号集合中的各个位置序号与关键字字典的位置序号相同即i∈Aind的情况下,第一链向量G的对应元素为PHI文件的索引地址,即gi=eid;否则,gi=0。比如,第一链向量G如图7(b)所示。
步骤48,将所述系数向量、所述第一整数向量和所述第一链向量拼接,构建第三随机加密矩阵和第四随机加密矩阵。
在本发明实施例中,数据拥有者将系数向量C、第一整数向量Ts′bin和第一链向量G进行拼接,并使用随机数扰动,得到第一拼接向量I=[rw·C,rt·Ts′bin,G,-r1,r1]=[rw·am,…,rw·a0,rt·t′1,…,rt·t′τ+1,g1,…,gm,-r1,r1],其中,rw,rt,r1为非0随机数,可以取任意整数。
进一步地,数据拥有者将第一拼接向量I作为主对角元素,生成第三随机加密矩阵
Figure BDA0004068666250000111
第三随机加密矩阵
Figure BDA0004068666250000112
为随机的n×n的下三角随机矩阵,除主对角元素以外的其它元素可以任意取值;数据拥有者将向量(1,1,…,1)作为主对角元素,生成第四随机加密矩阵Ik,第四随机加密矩阵Ik为随机的n×n的下三角随机矩阵,除主对角元素以外的其它元素可以任意取值。
步骤49,利用所述第一随机加密矩阵、所述第二随机加密矩阵、所述第三随机加密矩阵和所述第四随机加密矩阵生成目标加密矩阵,将所述目标加密矩阵和各个所述PHI文件的索引地址、各个所述PHI文件的加密文件标识符组成所述安全索引,并发送给所述云服务器存储。
在本发明实施例中,利用第一随机加密矩阵M1、第二随机加密矩阵M2、第三随机加密矩阵
Figure BDA0004068666250000115
和第四随机加密矩阵Ik生成目标加密矩阵
Figure BDA0004068666250000114
Figure BDA0004068666250000113
将各个PHI文件的索引地址eid、目标加密矩阵mat和各个PHI文件的加密文件标识符Enc(ind||op)组成安全索引(eid,mat,Enc(ind||op)),并发送给云服务器存储。
进一步地,数据拥有者将第一个PHI文件生成的安全索引的顺序标识设置为-1,当云服务器搜索时,按照各个安全索引的添加顺序倒序搜索,搜索到-1即表示搜索结束,实现云服务器的亚线性搜索效率。
在本发明实施例中,通过本发明的安全索引的生成方法,数据拥有者将患者传送的医疗数据生成PHI文件,从中提取文件中的关键字,并根据提取的关键字生成索引向量,对索引向量进行加密后生成安全索引并上传云服务器,使得数据使用者查询时可以直接与云服务器交互,获取目标文件的加密文件标识符,避免数据使用者和数据拥有者的频繁交互,减少通讯开销,保证数据查询的安全性。
步骤12,所述数据使用者根据所述系统密钥、待查询时间范围和待查询关键字生成查询请求,将所述查询请求发送给所述云服务器;其中,所述查询请求包括查询令牌。
在本发明实施例中,数据使用者根据系统密钥、待查询时间范围和待查询关键字生成查询令牌,发送给云服务器,云服务器利用查询令牌和安全索引进行计算,确定与待查询关键字对应的加密文件标志符,发送给数据使用者后,数据使用者对称解密即可得到包括待查询关键字的文件序号和文件操作符,根据文件操作符对应的文件操作状态,决定是否将PHI文件作为目标文件。
在本发明实施例中,如图5所示,本发明的查询令牌的生成方法包括如下步骤:
在本发明实施例中,本发明的查询令牌的生成方法由数据使用者或者数据拥有者(此时,数据拥有者作为数据使用者)执行,数据使用者根据待查询关键字的位置序号集合和待查询时间范围的整数向量,引入第二链向量进行拼接,确定第五随机加密矩阵和第六随机加密矩阵,与第一随机加密矩阵、第二随机加密矩阵对第二拼接向量进行加密,得到查询令牌。需要说明的是,本发明不对数据使用者的数量进行限制,适应实际的使用场景需要。
步骤51,根据所述关键字字典,确定所述待查询关键字的位置序号,构造所述待查询关键字的位置序号的幂向量。
在本发明实施例中,数据使用者利用关键字字典查找待查询关键字wj在关键字字典中的位置序号j,构造待查询关键字的位置序号的幂向量P=(jm,…,j2,j,1),幂向量P为(m+1)维向量。比如,幂向量P如图7(a)所示,。
步骤52,将所述待查询时间范围的时间戳转换为第二整数向量。
在本发明实施例中,数据使用者使用前缀树将待查询时间范围转变为一组布尔通配符向量Tr=(t1,…,tτ)。再将布尔通配符向量Tr转变为第二整数向量T′r=(t′1,…,t′τ,t′τ+1):其中,对于布尔通配符向量Tr中的第i项,当ti=0时,t′i=1;当ti=1时,t′i=-1;当ti=*时,t′i=0(1≤i≤τ),*用于补充布尔通配符向量ti不存在的情况;最后设置t′τ+1=∑≠*ti-τ,以根据内积确定匹配结果。以图6中待查询时间范围为[0,5]为例,全部时间查询范围为[0,7],0的布尔通配符向量为(0,0,*,*)、5的布尔通配符向量为(0,1,0,*),第二整数向量分别为(1,1,0,0)、(1,-1,1,0),如图7(c)所示,待查询时间范围的各个第二整数向量与PHI文件的接收时间的时间戳的第一整数向量相乘,任一内积为0即表示匹配成功,属于待查询时间范围。
步骤53,根据所述待查询关键字的位置序号集合和所述关键字字典的位置序号集合的对应关系,构建第二链向量。
在本发明实施例中,第二链向量用于表示各个待查询关键字是否出现在关键字字典中,存在则对应关键字的链向量的元素值为1,不存在则为0。
进一步地,数据使用者构建的第二链向量H=(h1,…,hm)的元素数量与关键字字典的位置序号的个数相同,在关键字字典的位置序号与待查询关键字的位置序号集合中的各个位置序号相同即i∈j的情况下,第二链向量H的对应元素为1,即hi=1;否则,hi=0。比如,第二链向量H如图7(b)所示。
步骤54,将所述幂向量、所述第二整数向量和所述第二链向量拼接,构建第五随机加密矩阵和第六随机加密矩阵。
在本发明实施例中,数据使用者将幂向量、第二整数向量和第二链向量进行拼接,并使用随机数扰动,得到第二拼接向量Q=[rj·P,ro·T′r,H,r2,r2]=[rjjm,…,rj,ro·t′1,…,ro·t′τ+1,h1,…,hm,r2,r2],其中,rj,ro,r2为非0随机数,可以取任意整数。
进一步地,数据使用者将第二拼接向量Q作为主对角元素,生成第五随机加密矩阵
Figure BDA0004068666250000132
第五随机加密矩阵
Figure BDA0004068666250000131
为随机的n×n的下三角随机矩阵,除主对角元素以外的其它元素可以任意取值;数据拥有者将向量(1,1,…,1)作为主对角元素,生成第六随机加密矩阵Iy,第六随机加密矩阵Iy为随机的n×n的下三角随机矩阵,除主对角元素以外的其它元素可以任意取值。
步骤55,利用所述第一随机加密矩阵的逆矩阵、所述第二随机加密矩阵的逆矩阵、所述第五随机加密矩阵和所述第六随机加密矩阵生成查询令牌,并发送给所述云服务器。
在本发明实施例中,利用第一随机加密矩阵的逆矩阵
Figure BDA0004068666250000141
第二随机加密矩阵的逆矩阵
Figure BDA0004068666250000142
第五随机加密矩阵
Figure BDA0004068666250000143
和第六随机加密矩阵Iy生成查询令牌
Figure BDA0004068666250000144
并发送给云服务器。
步骤13,所述云服务器利用所述查询令牌匹配所述安全索引,得到与所述查询请求对应的查询结果,将所述查询结果发送给所述数据使用者。
在本发明实施例中,如图8所示,本发明的待查询关键字对应的加密文件标志符的解密方法包括如下步骤:
在本发明实施例中,本发明的待查询关键字对应的加密文件标志符的解密方法由云服务器执行,云服务器根据查询令牌,找到待查询时间范围内的包含待查询关键字的加密文件标志符,并将加密文件标识符返回给数据使用者。由于对待查询时间范围进行了限定,无法搜索最新更新的PHI文件,因此满足前向隐私的要求。
步骤81,将所述数据拥有者最新上传的安全索引作为当前安全索引。
在本发明实施例中,云服务器根据安全索引的添加顺序倒序搜索,挨个对每个PHI文件中是否包含待查询关键字进行判断,直到满足计算结果在设置阈值内;初始时,将数据拥有者最新上传的安全索引作为当前安全索引。
进一步地,如果最新上传的安全索引计算不符合条件,按照安全索引的上传顺序,继续将倒数第二个上传的安全索引作为当前安全索引进行判断,以此类推,直至第一个上传的安全索引判断完毕。也即,当前安全索引搜索完成后,将当前安全索引之前上传的安全索引作为当前安全索引。
步骤82,计算查询令牌与所述当前安全索引的目标加密矩阵的乘积的迹。
在本发明实施例中,云服务器将查询令牌
Figure BDA0004068666250000151
与当前安全索引(eid,mat,Enc(ind||op))的目标加密矩阵mat相乘,计算
Figure BDA0004068666250000152
与mat的乘积的迹,如下式所示:
Figure BDA0004068666250000153
步骤83,判断所述乘积的迹是否在预设阈值内,如果是,转至步骤84;如果否,转至步骤86。
在本发明实施例中,云服务器判断迹的值是否在预设阈值θ内,预设阈值θ可以根据需要进行设置,比如,θ大于0,小于伪随机数产生的最大值。
在本发明实施例中,如果待查询关键字和待查询时间范围可以匹配,则C°P=0,
Figure BDA0004068666250000154
迹的值
Figure BDA0004068666250000155
在预设阈值θ内,是前一个包含搜索关键字文件的安全索引地址。
步骤84,将对应的安全索引的Enc(ind||op)加入查询结果R。
步骤85,迹res的值即为上一个包含该关键字的PHI文件对应的索引地址,通过索引地址得到新的对应的Enc(ind||op)和加密矩阵mat,转至步骤82。
在本发明实施例中,根据迹的值,即可得到上一个包含该关键字的PHI文件对应的索引地址,将其对应的安全索引作为当前安全索引,转至步骤82继续判断。
步骤86,判断全部安全索引是否搜索完毕,如果是,转至步骤87,如果否转至步骤88。
步骤87,将所述查询结果发送给数据使用者,结束搜索操作。
步骤88,将下一个安全索引作为所述当前安全索引,转至步骤82。
在本发明实施例中,如果待查询关键字和待查询时间范围其中的任一不匹配,迹的值res会超过预设阈值θ或者小于0,则对应的安全索引的Enc(ind||op)不属于查询结果R,继续判断下一个安全索引,将当前安全索引之前上传的安全索引作为当前安全索引进行判断,也即,计算查询令牌与下一个安全索引的目标加密矩阵的乘积的迹。
步骤14,所述数据使用者对所述查询结果进行解密,得到与所述查询请求对应的目标文件。
在本发明实施例中,数据使用者对查询结果R进行解密,获得其中的一个或者多个Enc(ind||op),如果op=add,将文件标志符ind对应的PHI文件作为目标文件;如果op=del,确定文件标志符ind对应的PHI文件为非目标文件。
在本发明实施例中,如图9所示,本发明的可搜索加密技术与现有的可搜索加密技术相比,性能优势非常明细,其中,横坐标为PHI文件集的大小,纵坐标为运行时间,两个方案均设定关键字字典包括30个关键字。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种具有前后向隐私的多端医疗数据查询方法,其特征在于,所述方法由多端医疗数据查询系统执行,所述多端医疗数据查询系统包括数据拥有者、数据使用者和云服务器,所述方法包括:
所述数据拥有者生成系统密钥、与预构建的关键字字典对应的安全索引,将所述系统密钥发送给所述数据使用者、将所述安全索引发送给所述云服务器;其中,所述安全索引是对从PHI文件中提取的文字关键字加密构建的;
所述数据使用者根据所述系统密钥、待查询时间范围和待查询关键字生成查询请求,将所述查询请求发送给所述云服务器;其中,所述查询请求包括查询令牌;
所述云服务器利用所述查询令牌匹配所述安全索引,得到与所述查询请求对应的查询结果,将所述查询结果发送给所述数据使用者;
所述数据使用者对所述查询结果进行解密,得到与所述查询请求对应的目标文件。
2.如权利要求1所述的方法,其特征在于,所述系统密钥
Figure FDA0004068666230000011
Figure FDA0004068666230000012
其中,
Figure FDA0004068666230000013
是伪随机函数的种子;sk是对称加密密钥;M1为第一随机加密矩阵,M2为第二随机加密矩阵,所述数据拥有者通过安全信道将所述系统密钥和所述关键字字典发送给所述数据使用者。
3.如权利要求2所述的方法,其特征在于,所述数据拥有者生成所述安全索引,包括:
接收各个医疗设备传送的PHI,并生成PHI文件,根据所述关键字字典,从所述PHI文件中提取对应的文件关键字;
根据所述文件关键字在所述关键字字典中的位置序号,生成所述PHI文件的文字关键字的位置序号集合;
对所述PHI文件的文件标志符和操作符进行加密,生成所述PHI文件的加密文件标志符和索引地址;
针对所述PHI文件,所述数据拥有者根据所述关键字字典的关键字个数和所述文件关键字的个数之差,填充虚拟关键字,使得所述虚拟关键字与所述文件关键字的的总关键字数量等于所述关键字字典的关键字个数,生成所述PHI文件的关键字的位置序号集合,使用多项式算法计算所述PHI文件的关键字的位置序号集合的系数向量;
根据所述文字关键字的位置序号集合和所述关键字字典的位置序号集合的对应关系,构建第一链向量,将所述系数向量、所述PHI信息的接收时间的时间戳转换的第一整数向量和所述第一链向量拼接,构建第三随机加密矩阵和第四随机加密矩阵;
利用所述第一随机加密矩阵、所述第二随机加密矩阵、所述第三随机加密矩阵和所述第四随机加密矩阵生成目标加密矩阵,将所述目标加密矩阵和各个所述PHI文件的索引地址、各个所述PHI文件的加密文件标识符组成所述安全索引,并发送给所述云服务器存储。
4.如权利要求2所述的方法,其特征在于,所述数据使用者根据所述系统密钥、待查询时间范围和待查询关键字生成查询请求,包括:
根据所述关键字字典,确定所述待查询关键字的位置序号,构造所述待查询关键字的位置序号的幂向量;
根据所述待查询关键字的位置序号集合和所述关键字字典的位置序号集合的对应关系,构建第二链向量;
将所述幂向量、所述待查询时间范围的时间戳转换的第二整数向量和所述第二链向量拼接,构建第五随机加密矩阵和第六随机加密矩阵;
利用所述第一随机加密矩阵的逆矩阵、所述第二随机加密矩阵的逆矩阵、所述第五随机加密矩阵和所述第六随机加密矩阵生成查询令牌,并发送给所述云服务器。
5.如权利要求4所述的方法,其特征在于,所述云服务器利用所述查询令牌匹配所述安全索引,得到与所述查询请求对应的查询结果,包括:
A1:将所述数据拥有者最新上传的安全索引作为当前安全索引;
A2:计算查询令牌与所述当前安全索引的目标加密矩阵的乘积的迹;
A3:判断所述乘积的迹是否在预设阈值内,如果是,将对应的加密文件标志符加入查询结果,迹的值即为上一个包含该关键字的PHI文件对应的索引地址,通过迹的值得到新的对应的加密文件标志符和目标加密矩阵,转至步骤A2;如果否,将下一个安全索引作为所述当前安全索引,转至步骤A2。
CN202310085025.5A 2023-01-19 2023-01-19 一种具有前后向隐私的多端医疗数据查询方法 Pending CN116186095A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310085025.5A CN116186095A (zh) 2023-01-19 2023-01-19 一种具有前后向隐私的多端医疗数据查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310085025.5A CN116186095A (zh) 2023-01-19 2023-01-19 一种具有前后向隐私的多端医疗数据查询方法

Publications (1)

Publication Number Publication Date
CN116186095A true CN116186095A (zh) 2023-05-30

Family

ID=86448181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310085025.5A Pending CN116186095A (zh) 2023-01-19 2023-01-19 一种具有前后向隐私的多端医疗数据查询方法

Country Status (1)

Country Link
CN (1) CN116186095A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116665913A (zh) * 2023-07-13 2023-08-29 之江实验室 一种跨机构的患者匹配系统和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116665913A (zh) * 2023-07-13 2023-08-29 之江实验室 一种跨机构的患者匹配系统和方法
CN116665913B (zh) * 2023-07-13 2023-10-13 之江实验室 一种跨机构的患者匹配系统和方法

Similar Documents

Publication Publication Date Title
CN103107889B (zh) 一种可搜索的云计算环境数据加密存储系统和方法
US9355271B2 (en) System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption
WO2022099495A1 (zh) 云计算环境中的密文搜索方法及系统、设备
CN103944711B (zh) 一种云存储密文检索方法及其系统
CN109361644B (zh) 一种支持快速搜索和解密的模糊属性基加密方法
US11831769B2 (en) Registration device, server device, searchable encryption system, and searchable encryption method
CN108628867A (zh) 面向云存储的多关键词密文检索方法和系统
CN106961427B (zh) 一种基于5g通信标准的密文数据搜索方法
CN108390760B (zh) 一种云数据传输中端到端的公钥关键字可搜索加密方法
WO2019090841A1 (zh) 一种加密文件的检索方法、系统、终端设备及存储介质
US20240104234A1 (en) Encrypted information retrieval
CN104036050A (zh) 一种密文云数据复杂查询方法
US12074966B2 (en) Encrypted information retrieval
CN116186095A (zh) 一种具有前后向隐私的多端医疗数据查询方法
CN109783456B (zh) 去重结构搭建方法、去重方法、文件取回方法、去重系统
CN106874379B (zh) 一种面向密文云存储的多维区间检索方法与系统
CN117834132A (zh) 基于高维矩阵运算的隐匿查询方法、装置、设备及介质
CN108829714A (zh) 一种密文数据多关键词的模糊搜索方法
EP4026289A1 (en) Systems and methods for secure identification retrieval
CN114461768A (zh) 一种基于同态加密的多关键词文件加密检索方法及系统
US20200137035A1 (en) Secure, On-Demand Generation of Web Content
Kamini et al. Encrypted multi-keyword ranked search supporting gram based search technique
JP7440662B2 (ja) マルチキー情報検索
CN113626485B (zh) 一种适用于数据库管理系统的可搜索加密方法及系统
CN117375801B (zh) 基于sm9的指定服务器可搜索加密方法

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