CN116318662A - 基于同态加密的医疗数据高效安全的k-NN查询方法 - Google Patents

基于同态加密的医疗数据高效安全的k-NN查询方法 Download PDF

Info

Publication number
CN116318662A
CN116318662A CN202310084603.3A CN202310084603A CN116318662A CN 116318662 A CN116318662 A CN 116318662A CN 202310084603 A CN202310084603 A CN 202310084603A CN 116318662 A CN116318662 A CN 116318662A
Authority
CN
China
Prior art keywords
ciphertext
medical data
storage server
cloud storage
euclidean distance
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
CN202310084603.3A
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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN202310084603.3A priority Critical patent/CN116318662A/zh
Publication of CN116318662A publication Critical patent/CN116318662A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明公开了一种基于同态加密的医疗数据高效安全的k‑NN查询方法,应用于云服务器,包括:云计算服务器生成所需的公私钥对;云存储服务器接收上传的密文数据和病人数据密文;云存储服务器验证用户端是否注册;若用户端已注册,则云存储服务器和云计算服务器计算各条医疗数据密文中每项指标与病人数据密文中每项指标间的欧氏距离密文;云存储服务器选择最接近用户身体指标的k条医疗数据密文,并在部分解密后发给用户端。由于各个用户端分别拥有自己的私钥,只能对自身所需的医疗数据密文进行解密,因此利于保护外包数据的安全性,可以拒绝非注册用户的请求服务,提高服务器的真实使用率,同时还能降低查询算法的时间复杂度。

Description

基于同态加密的医疗数据高效安全的k-NN查询方法
技术领域
本发明属于数据处理技术领域,具体涉及一种基于同态加密的医疗数据高效安全的k-NN查询方法。
背景技术
云计算作为一种新兴的计算范式,在电子医疗数据查询领域有着重要应用。虽然云服务器具有灵活、可靠、存储能力强等优点,但云中数据的安全和隐私问题仍然需要重视。实际上,云服务器是无法完全可信的,当医疗数据等高度敏感的数据不经任何处理直接上传到云时,可能产生严重的隐私泄露问题。因此,对数据加密后再上传成为保护数据安全的一种有效手段。
k-NN算法作为机器学习的基本查询算法,旨在寻找数据集中距离给定查询数据最近的k条数据。考虑到密文数据不像明文一样透明,云服务器如何对加密状态下的数据进行安全高效的k-NN查询,成为了近年来不断研究的课题。相关技术中,利用k-NN算法查询医疗数据时,大多数k-NN查询算法都假设病人是完全可信的,拥有加密解密外包数据的密钥,这显然会带来一些问题:一方面,一旦病人持有的密钥被攻击者窃取,那么整个云服务器的密文数据都会被攻击者解密成功,医疗数据将不具备安全性;另一方面,一旦病人得到密钥,那么其后续的操作将不受医院控制,也就是说,医院等医疗机构是无法阻止病人的某些操作的,这会带来极大的安全隐患。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于同态加密的医疗数据高效安全的k-NN查询方法。本发明要解决的技术问题通过以下技术方案实现:
本发明提供一种基于同态加密的医疗数据高效安全的k-NN查询方法,应用于云服务器,所述云服务器包括云计算服务器和云存储服务器;
所述方法包括:
云计算服务器生成公私钥对,并基于私钥sk和拉格朗日多项式生成用户端的ID身份集后,从所述ID身份集中为每个用户端分配身份标识;
云存储服务器接收用户端上传的密文数据库、基于病人身体指标生成的病人数据密文[q]pk、基于随机数R生成的密文CR以及基于病人数据密文[q]pk、随机数R和所述身份标识生成的验证值h,所述密文数据库包含多条医疗数据密文;
云存储服务器将所述密文CR发送至云计算服务器,并根据云计算服务器返回的第一AES密文验证用户端是否注册;
若用户端已注册,则云存储服务器基于随机数r生成密文X1和密文X2,并在接收到云计算服务器计算的密文X后,根据密文X1和密文X计算病人数据密文[q]pk中各项指标与每条医疗数据密文中各项指标间的欧氏距离密文;
云存储服务器从多条欧氏距离密文中随机选取k条欧式距离密文存入优先队列后,基于随机选择的s计算中间值,并将中间值发送至云计算服务器;
云计算服务器利用私钥sk解密所述中间值,根据得到的明文长度设置第一标识t;
云存储服务器基于第二AES密文调整所述优先队列,获得所述多条欧式距离密文中最小的k条欧式距离密文,所述第二AES密文由所述云存储服务器对第一标识t加密后获得;
云存储服务器获取最小的k条欧式距离密文对应的k条医疗数据密文,解密后发送至用户端。
在本发明的一个实施例中,所述云计算服务器生成公私钥对,并基于公钥pk生成用户端的ID身份集后,从所述ID身份集中为每个用户端分配身份标识的步骤之后,还包括:
云计算服务器根据所述身份标识计算第一密钥skID和第二密钥skΔ;其中,
Figure BDA0004085600440000031
Figure BDA0004085600440000032
式中,
Figure BDA0004085600440000033
f(·)为云计算服务器生成的a-1阶拉格朗日多项式,a表示预设常数,wi、wj分别表示第i个随机数和第j个随机数,xi表示第i个用户端的身份标识。
在本发明的一个实施例中,所述云存储服务器将所述密文CR发送至云计算服务器,并根据云计算服务器返回的第一AES密文验证用户端是否注册的步骤,包括:
云存储服务器将所述密文CR发送至云计算服务器;
云计算服务器对所述密文CR解密后得到随机数R,并在利用AES对称加密算法对随机数R加密后,将获得的第一AES密文发送至云存储服务器;
云存储服务器对所述第一AES密文解密得到随机数R,将随机数R与密文q进行异或处理后,利用哈希函数计算得到的第一异或处理结果的哈希值;
云存储服务器将所述哈希值与验证值h进行异或处理,并比较用户端的身份标识与得到的第二异或处理结果;若用户端的身份标识与所述第二异或处理结果相等,则所述用户端已注册;反之,则所述用户端未注册。
在本发明的一个实施例中,若用户端已注册,所述云存储服务器基于随机数r生成密文X1和密文X2,并在接收到云计算服务器计算的密文X后,根据密文X1和密文X计算病人数据密文[q]pk中各项指标与每条医疗数据密文中各项指标间的欧氏距离密文的步骤,包括:
云存储服务器利用Paillier算法对选择的随机数r进行加密,生成密文X1,其中,
Figure BDA0004085600440000034
[pl,n']pk表示所述密文数据库D中第l条医疗数据密文中的第n’项指标,[qn']pk表示病人数据密文中的第n’项指标,n’=1,2…,n,n表示病人数据密文及每条医疗数据密文的指标项数,[·]pk表示利用公钥pk加密,N表示Paillier算法的模数;
云存储服务器基于随机数r和密文X1生成密文X2,并将密文X2发送至云计算服务器,其中,X2=X1·[r]pk
云计算服务器解密密文X2得到明文pl,n'-qn'+r,计算明文pl,n'-qn'+r的平方并加密为密文X后发送至云存储服务器;
云存储服务器根据密文X1和密文X,按照如下公式计算计算病人数据密文[q]pk中各项指标与每条医疗数据密文中各项指标间的欧氏距离密文:
Figure BDA0004085600440000041
式中,N表示Paillier算法的模数,[r2]pk表示利用pk加密r2得到的密文,d为病人数据密文中第n’项指标与第l条医疗数据密文中第n’项指标间的欧氏距离密文。
在本发明的一个实施例中,所述云存储服务器从多条欧氏距离密文中随机选取k条欧式距离密文存入优先队列后,基于随机选择的s计算中间值,并将中间值发送至云计算服务器的步骤,包括:
云存储服务器从计算得到的多条欧氏距离密文中随机选取k条欧式距离密文,并将所述k条欧式距离密文及其索引值存入优先队列;
云存储服务器随机选择s=0或s=1并选择随机数u满足
Figure BDA0004085600440000042
之后,根据s的取值计算中间值[l']pk;其中,若s=1,则/>
Figure BDA0004085600440000043
若s=0,则/>
Figure BDA0004085600440000044
pl表示所述优先队列中最小的欧氏距离密文对应的医疗数据,pv表示未存入优先队列的任一条欧式距离密文对应的医疗数据,q表示病人数据,/>
Figure BDA0004085600440000045
表示比特长度;
云存储服务器将中间值[l']pk发送至云计算服务器。
在本发明的一个实施例中,所述云计算服务器利用私钥sk解密所述中间值,根据得到的明文长度设置第一标识t的步骤,包括:
云计算服务器利用私钥sk解密中间值[l']pk,若解密得到的明文l'满足:
Figure BDA0004085600440000051
则设置第一标识t=1;否则,设置第一标识t=0。
在本发明的一个实施例中,所述云存储服务器基于第二AES密文调整所述优先队列,获得所述多条欧式距离密文中最小的k条欧式距离密文的步骤,包括:
当s≠t时,表示
Figure BDA0004085600440000052
则抛弃pl并将pv存入pl在优先队列中的位置,获得所述多条欧式距离密文中最小的k条欧式距离密文。
在本发明的一个实施例中,所述云存储服务器获取最小的k条欧式距离密文对应的k条医疗数据密文,解密后发送至用户端的步骤,包括:
云存储服务器获取所述最小的k条欧式距离密文对应的k条医疗数据密文的各项指标
Figure BDA0004085600440000053
并利用所述第一密钥skID解密,得到用户端所需的医疗数据密文/>
Figure BDA0004085600440000054
其中,
Figure BDA0004085600440000055
云存储服务器将用户所需的医疗数据密文
Figure BDA0004085600440000056
和所述第二密钥skΔ发送至用户端,以使用户端利用所述第二密钥skΔ对/>
Figure BDA0004085600440000057
进行解密,得到所需的医疗数据明文。
与现有技术相比,本发明的有益效果在于:
本发明实施例提供一种基于同态加密的医疗数据高效安全的k-NN方法,通过将Paillier算法的私钥融入到拉格朗日插值多项式的常数项中,使各个用户端分别拥有自己的私钥,只能对自身所需的医疗数据密文进行解密,有利于保护外包数据的安全性。此外,本发明为每个用户端分配唯一的身份标识,通过比较验证值h与身份标识来验证用户端是否注册,可以拒绝非注册用户的请求服务,提高了服务器的真实使用率。
进一步地,用户端在查询过程中,本发明采用优先队列的思想临时存储k条欧氏距离密文,通过将剩余的欧式距离密文与优先队列中最小的欧式距离密文进行比较来动态调整队列中元素的顺序,从而有效减少云计算服务器与云存储服务器之间重复的欧氏距离密文比较操作,降低了查询算法的时间复杂度。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的基于同态加密的医疗数据高效安全的k-NN查询方法的一种流程图;
图2是本发明实施例提供的基于同态加密的医疗数据高效安全的k-NN查询方法的一种示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
图1是本发明实施例提供的基于同态加密的医疗数据高效安全的k-NN查询方法的一种流程图,图2是本发明实施例提供的基于同态加密的医疗数据高效安全的k-NN查询方法的一种示意图。如图1-2所示,本发明实施例提供一种基于同态加密的医疗数据高效安全的k-NN查询方法,应用于云服务器,云服务器包括云计算服务器和云存储服务器;
上述方法包括:
S1、云计算服务器生成公私钥对,并基于私钥sk和拉格朗日多项式生成用户端的ID身份集后,从ID身份集中为每个用户端分配身份标识;
S2、云存储服务器接收用户端上传的密文数据库、基于病人身体指标生成的病人数据密文[q]pk、基于随机数R生成的密文CR以及基于病人数据密文[q]pk、随机数R和身份标识生成的验证值h,密文数据库包含多条医疗数据密文;
S3、云存储服务器将密文CR发送至云计算服务器,并根据云计算服务器返回的第一AES密文验证用户端是否注册;
S4、若用户端已注册,则云存储服务器基于随机数r生成密文X1和密文X2,并在接收到云计算服务器计算的密文X后,根据密文X1和密文X计算病人数据密文[q]pk中各项指标与每条医疗数据密文中各项指标间的欧氏距离密文;
S5、云存储服务器从计算得到的多条欧氏距离密文中随机选取k条欧式距离密文存入优先队列后,基于随机选择的s计算中间值,并将中间值发送至云计算服务器;
S6、云计算服务器利用私钥sk解密中间值,根据得到的明文长度设置第一标识t;
S7、云存储服务器基于第二AES密文调整优先队列,获得多条欧式距离密文中最小的k条欧式距离密文,第二AES密文由云存储服务器对第一标识t加密后获得;
S8、云存储服务器获取最小的k条欧式距离密文对应的k条医疗数据密文,解密后发送至用户端。
可选地,云计算服务器生成公私钥对,并并基于私钥sk和拉格朗日多项式生成用户端的ID身份集后,从ID身份集中为每个用户端分配身份标识的步骤之后,还包括:
云计算服务器根据身份标识计算第一密钥skID和第二密钥skΔ;其中,
Figure BDA0004085600440000071
Figure BDA0004085600440000072
式中,
Figure BDA0004085600440000073
f(·)为云计算服务器生成的a-1阶拉格朗日多项式,a表示预设常数,wi、wj分别表示第i个随机数和第j个随机数,xi表示第i个用户端的身份标识。
具体而言,在上述步骤S1中,云计算服务器利用Paillier密码体制的密钥生成算法生成公私钥对{pk,sk},其中,pk表示公钥、sk表示私钥。云计算服务器选择随机数δ(δ≡0modsk,δ≡1modn2)生成一个a-1阶拉格朗日多项式f(x)=δ+A1x+A2x2+,...,Aa-1xa-1,从多项式f(x)中选择a-1+t(t<a)个点,其中t个点作为用户端的ID身份集{(xi,f(xi)}i∈(1,...,t),剩余的a-1个点形成集合{(wi,f(wi)}i∈(1,...,a-1)
进一步地,云计算服务器可以为每个询问用户端从ID身份集{(xi,f(xi)}i∈(1,...,t)中分配一个唯一的身份表示xi,并进行如下计算:
Figure BDA0004085600440000081
Figure BDA0004085600440000082
需要说明的是,在本发明提供的基于同态加密的医疗数据高效安全的k-NN差选方法中,密文数据库D可以由医院等医疗机构利用公钥pk加密医疗数据库获得,其中,密文数据库D中的每条医疗数据密文可以表示为向量的形式:[pl]pk={[pl,1]pk,[pl,2]pk,...,[pl,n]pk},n是每条医疗数据密文的维数,即每条医疗数据密文包含的指标项数。
此外,病人身体指标也可以由用户端加密并上传到云存储服务器。示例性地,用户端利用公钥pk对自己的身体指标进行加密,得到病人数据密文[q]pk,病人数据密文为n维,即包含n项指标。接着,用户端选择一个随机数R进行Paillier加密得到密文CR,再将病人数据密文[q]pk与随机数R进行异或运算后放入到哈希函数H(x)得到哈希值,最后与身份标识xi进行异或得到验证值h。用户端将病人数据密文[q]pk、密文CR和验证值h上传给云存储服务器。
上述步骤S3中,云存储服务器将密文CR发送至云计算服务器,并根据云计算服务器返回的第一AES密文验证用户端是否注册的步骤,包括:
S301、云存储服务器将密文CR发送至云计算服务器;
S302、云计算服务器对密文CR解密后得到随机数R,并在利用AES对称加密算法对随机数R加密后,将获得的第一AES密文发送至云存储服务器;
S303、云存储服务器对第一AES密文解密得到随机数R,将随机数R与密文q进行异或处理后,利用哈希函数计算得到的第一异或处理结果的哈希值;
S304、云存储服务器将哈希值与验证值h进行异或处理,并比较用户端的身份标识与得到的第二异或处理结果;若用户端的身份标识与第二异或处理结果相等,则用户端已注册;反之,则用户端未注册。
具体而言,云存储服务器将密文CR发送给云计算服务器后,云计算服务器解密得到随机数R,并用AES对称加密算法对随机数R进行加密,云存储服务器进一步将加密得到的第一AES密文发送给云存储服务器,云存储服务器解密第一AES密文得到随机数R,将随机数R与密文q进行异或处理后,利用哈希函数计算第一哈希处理结果的哈希值,再将其与验证值h进行异或,得到第二异或处理结果。
可选地,若第二哈希处理结果与用户端的身份标识xi相同,则说明用户端已注册,后续可以为其提供查询服务;反之,若第二哈希处理结果与用户端的身份标识xi不同,则说明用户端未注册,那么服务器将拒绝服务。
上述步骤S4中,若用户端已注册,云存储服务器基于随机数r生成密文X1和密文X2,并在接收到云计算服务器计算的密文X后,根据密文X1和密文X计算病人数据密文[q]pk中各项指标与每条医疗数据密文中各项指标间的欧氏距离密文的步骤,包括:
S401、云存储服务器利用Paillier算法对选择的随机数r进行加密,生成密文X1,其中,
Figure BDA0004085600440000091
[pl,n']pk表示所述密文数据库D中第l条医疗数据密文中的第n’项指标,[qn']pk表示病人数据密文中的第n’项指标,n’=1,2…,n,n表示病人数据密文及每条医疗数据密文的指标项数,[·]pk表示利用公钥pk加密,N表示Paillier算法的模数;
S402、云存储服务器基于随机数r和密文X1生成密文X2,并将密文X2发送至云计算服务器,其中,X2=[pl,n'-qn'+r]pk
S403、云计算服务器解密密文X2得到明文pl,n'-qn'+r,计算明文pl,n'-qn'+r的平方并加密为密文X后发送至云存储服务器;
S404、云存储服务器根据密文X1和密文X,按照如下公式计算病人数据密文[q]pk中各项指标与每条医疗数据密文中各项指标间的欧氏距离密文:
Figure BDA0004085600440000101
式中,[r2]pk表示利用pk加密r2得到的密文,d为病人数据密文中第n’项指标与第l条医疗数据密文中第n’项指标间的欧氏距离密文。
具体而言,云存储服务器选择一个随机数r,利用Paillier算法的同态特性进行密文运算,得到密文X1
Figure BDA0004085600440000102
接着再基于随机数r和密文X1计算密文X2
X2=X1·[r]pk=[pl,n'-qn'+r]pk
云存储服务器将密文X2发送给云计算服务器,云计算服务器解密密文X2得到明文pl,n'-qn'+r,而后计算明文pi,1-q1+r的平方并加密为密文X,云计算服务器发送密文X给云存储服务器。
进一步地,云存储服务器计算随机数r的平方的密文的N-1次方,再计算密文X1的N-2r次方,最后进行密文之间欧式距离的运算:
Figure BDA0004085600440000103
通过云计算服务器与云存储服务器的不断交互,可以得到各条医疗数据密文[pl]pk中每项指标与病人数据密文[q]pk中每项指标之间的欧氏距离密文。
上述步骤S5中,云存储服务器从多条欧氏距离密文中随机选取k条欧式距离密文存入优先队列后,基于随机选择的s计算中间值,并将中间值发送至云计算服务器的步骤,包括:
S501、云存储服务器从计算得到的多条欧氏距离密文中随机选取k条欧式距离密文,并将k条欧式距离密文及其索引值存入优先队列;
S502、云存储服务器随机选择s=0或s=1并选择随机数u满足
Figure BDA0004085600440000111
之后,根据s的取值计算中间值[l']pk;其中,若s=1,则/>
Figure BDA0004085600440000112
若s=0,则/>
Figure BDA0004085600440000113
pl表示优先队列中最小的欧氏距离密文对应的医疗数据,pv表示未存入优先队列的任一条欧式距离密文对应的医疗数据,q表示病人数据,/>
Figure BDA0004085600440000114
表示比特长度;
S503、云存储服务器将中间值[l']pk发送至云计算服务器。
具体而言,云计算服务器利用私钥sk解密中间值,根据得到的明文长度设置第一标识t的步骤,包括:
云计算服务器利用私钥sk解密中间值[l']pk,若解密得到的明文l'满足:
Figure BDA0004085600440000115
则设置第一标识t=1;否则,设置第一标识t=0。
云计算服务器利用私钥sk进行解密,若解密的明文长度满足
Figure BDA0004085600440000116
设置第一标识t=1,否则,设置t=0,利用AES加密t生成第二AES密文并发送给云存储服务器。
上述步骤S7中,云存储服务器基于第二AES密文调整优先队列,获得多条欧式距离密文中最小的k条欧式距离密文的步骤,包括:
当s≠t时,表示
Figure BDA0004085600440000117
则抛弃pl并将pv存入pl在优先队列中的位置,获得多条欧式距离密文中最小的k条欧式距离密文。
进一步地,云存储服务器解密第二AES密文,若s=t,则说明
Figure BDA0004085600440000118
若s≠t,则说明/>
Figure BDA0004085600440000119
云存储服务器可以根据该比较结果进行优先队列中元素位置的调整,具体地,如果未存入优先队列的欧式距离密文对应的医疗数据pv与q之间的欧式距离密文小于优先队列中欧氏距离最小的密文对应的医疗数据pl,则将pv存入pl在优先阵列中的位置。采用此种方式遍历未存入优先阵列的剩余欧氏距离密文后,可以获得距离q最近的k条医疗数据密文。
上述步骤S8中,云存储服务器获取最小的k条欧式距离密文对应的k条医疗数据密文,解密后发送至用户端的步骤,包括:
云存储服务器获取最小的k条欧式距离密文对应的k条医疗数据密文的各项指标
Figure BDA0004085600440000121
并利用第一密钥skID解密,得到用户端所需的医疗数据密文/>
Figure BDA0004085600440000122
其中,
Figure BDA0004085600440000123
云存储服务器将用户所需的医疗数据密文
Figure BDA0004085600440000124
和第二密钥skΔ发送至用户端,以使用户端利用第二密钥skΔ对/>
Figure BDA0004085600440000125
进行解密,得到所需的医疗数据明文。
与现有技术相比,本发明的有益效果在于:
本发明实施例提供一种基于同态加密的医疗数据高效安全的k-NN方法,通过将Paillier算法的私钥融入到拉格朗日插值多项式的常数项中,使各个用户端分别拥有自己的私钥,只能对自身所需的医疗数据密文进行解密,有利于保护外包数据的安全性。此外,本发明为每个用户端分配唯一的身份标识,通过比较验证值h与身份标识来验证用户端是否注册,可以拒绝非注册用户的请求服务,提高了服务器的真实使用率。
进一步地,用户端在查询过程中,本发明采用优先队列的思想临时存储k条欧氏距离密文,通过将剩余的欧式距离密文与优先队列中最小的欧式距离密文进行比较来动态调整队列中元素的顺序,从而有效减少云计算服务器与云存储服务器之间重复的欧氏距离密文比较操作,降低了查询算法的时间复杂度。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (8)

1.一种基于同态加密的医疗数据高效安全的k-NN查询方法,其特征在于,应用于云服务器,所述云服务器包括云计算服务器和云存储服务器;
所述方法包括:
云计算服务器生成公私钥对,并基于私钥sk和拉格朗日多项式生成用户端的ID身份集后,从所述ID身份集中为每个用户端分配身份标识;
云存储服务器接收用户端上传的密文数据库、基于病人身体指标生成的病人数据密文[q]pk、基于随机数R生成的密文CR以及基于病人数据密文[q]pk、随机数R和所述身份标识生成的验证值h,所述密文数据库包含多条医疗数据密文;
云存储服务器将所述密文CR发送至云计算服务器,并根据云计算服务器返回的第一AES密文验证用户端是否注册;
若用户端已注册,则云存储服务器基于随机数r生成密文X1和密文X2,并在接收到云计算服务器计算的密文X后,根据密文X1和密文X计算病人数据密文[q]pk中各项指标与每条医疗数据密文中各项指标间的欧氏距离密文;
云存储服务器从多条欧氏距离密文中随机选取k条欧式距离密文存入优先队列后,基于随机选择的s计算中间值,并将中间值发送至云计算服务器;
云计算服务器利用私钥sk解密所述中间值,根据得到的明文长度设置第一标识t;
云存储服务器基于第二AES密文调整所述优先队列,获得所述多条欧式距离密文中最小的k条欧式距离密文,所述第二AES密文由所述云存储服务器对第一标识t加密后获得;
云存储服务器获取最小的k条欧式距离密文对应的k条医疗数据密文,解密后发送至用户端。
2.根据权利要求1所述的基于同态加密的医疗数据高效安全的k-NN查询方法,其特征在于,所述云计算服务器生成公私钥对,并基于私钥sk和拉格朗日多项式生成用户端的ID身份集后,从所述ID身份集中为每个用户端分配身份标识的步骤之后,还包括:
云计算服务器根据所述身份标识计算第一密钥skID和第二密钥skΔ;其中,
Figure FDA0004085600430000021
Figure FDA0004085600430000022
式中,
Figure FDA0004085600430000023
f(·)为云计算服务器生成的a-1阶拉格朗日多项式,a表示预设常数,wi、wj分别表示第i个随机数和第j个随机数,xi表示第i个用户端的身份标识。
3.根据权利要求1所述的基于同态加密的医疗数据高效安全的k-NN查询方法,其特征在于,所述云存储服务器将所述密文CR发送至云计算服务器,并根据云计算服务器返回的第一AES密文验证用户端是否注册的步骤,包括:
云存储服务器将所述密文CR发送至云计算服务器;
云计算服务器对所述密文CR解密后得到随机数R,并在利用AES对称加密算法对随机数R加密后,将获得的第一AES密文发送至云存储服务器;
云存储服务器对所述第一AES密文解密得到随机数R,将随机数R与密文q进行异或处理后,利用哈希函数计算得到的第一异或处理结果的哈希值;
云存储服务器将所述哈希值与验证值h进行异或处理,并比较用户端的身份标识与得到的第二异或处理结果;若用户端的身份标识与所述第二异或处理结果相等,则所述用户端已注册;反之,则所述用户端未注册。
4.根据权利要求3所述的基于同态加密的医疗数据高效安全的k-NN查询方法,其特征在于,若用户端已注册,所述云存储服务器基于随机数r生成密文X1和密文X2,并在接收到云计算服务器计算的密文X后,根据密文X1和密文X计算病人数据密文[q]pk中各项指标与每条医疗数据密文中各项指标间的欧氏距离密文的步骤,包括:
云存储服务器利用Paillier算法对选择的随机数r进行加密,生成密文X1,其中,
Figure FDA0004085600430000031
[pl,n']pk表示所述密文数据库D中第l条医疗数据密文中的第n’项指标,[qn']pk表示病人数据密文中的第n’项指标,n’=1,2…,n,n表示病人数据密文及每条医疗数据密文的指标项数,[·]pk表示利用公钥pk加密,N表示Paillier算法的模数;
云存储服务器基于随机数r和密文X1生成密文X2,并将密文X2发送至云计算服务器,其中,X2=X1·[r]pk
云计算服务器解密密文X2得到明文pl,n'-qn'+r,计算明文pl,n'-qn'+r的平方并加密为密文X后发送至云存储服务器;
云存储服务器根据密文X1和密文X,按照如下公式计算计算病人数据密文[q]pk中各项指标与每条医疗数据密文中各项指标间的欧氏距离密文:
Figure FDA0004085600430000032
式中,N表示Paillier算法的模数,[r2]pk表示利用pk加密r2得到的密文,d为病人数据密文中第n’项指标与第l条医疗数据密文中第n’项指标间的欧氏距离密文。
5.根据权利要求4所述的基于同态加密的医疗数据高效安全的k-NN查询方法,其特征在于,所述云存储服务器从多条欧氏距离密文中随机选取k条欧式距离密文存入优先队列后,基于随机选择的s计算中间值,并将中间值发送至云计算服务器的步骤,包括:
云存储服务器从计算得到的多条欧氏距离密文中随机选取k条欧式距离密文,并将所述k条欧式距离密文及其索引值存入优先队列;
云存储服务器随机选择s=0或s=1并选择随机数u满足l(u)<l(N)/4之后,根据s的取值计算中间值[l']pk;其中,若s=1,则
Figure FDA0004085600430000033
若s=0,则
Figure FDA0004085600430000034
pl表示所述优先队列中最小的欧氏距离密文对应的医疗数据,pv表示未存入优先队列的任一条欧式距离密文对应的医疗数据,q表示病人数据,l(·)表示比特长度;
云存储服务器将中间值[l']pk发送至云计算服务器。
6.根据权利要求5所述的基于同态加密的医疗数据高效安全的k-NN查询方法,其特征在于,所述云计算服务器利用私钥sk解密所述中间值,根据得到的明文长度设置第一标识t的步骤,包括:
云计算服务器利用私钥sk解密中间值[l']pk,若解密得到的明文l'满足:l(l')<l(N)/2,则设置第一标识t=1;否则,设置第一标识t=0。
7.根据权利要求6所述的基于同态加密的医疗数据高效安全的k-NN查询方法,其特征在于,所述云存储服务器基于第二AES密文调整所述优先队列,获得所述多条欧式距离密文中最小的k条欧式距离密文的步骤,包括:
当s≠t时,表示
Figure FDA0004085600430000041
则抛弃pl并将pv存入pl在优先队列中的位置,获得所述多条欧式距离密文中最小的k条欧式距离密文。
8.根据权利要求2所述的基于同态加密的医疗数据高效安全的k-NN查询方法,其特征在于,所述云存储服务器获取最小的k条欧式距离密文对应的k条医疗数据密文,解密后发送至用户端的步骤,包括:
云存储服务器获取所述最小的k条欧式距离密文对应的k条医疗数据密文的各项指标
Figure FDA0004085600430000042
并利用所述第一密钥skID解密,得到用户端所需的医疗数据密文/>
Figure FDA0004085600430000043
其中,
Figure FDA0004085600430000044
云存储服务器将用户所需的医疗数据密文
Figure FDA0004085600430000045
和所述第二密钥skΔ发送至用户端,以使用户端利用所述第二密钥skΔ对/>
Figure FDA0004085600430000046
进行解密,得到所需的医疗数据明文。
CN202310084603.3A 2023-02-08 2023-02-08 基于同态加密的医疗数据高效安全的k-NN查询方法 Pending CN116318662A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310084603.3A CN116318662A (zh) 2023-02-08 2023-02-08 基于同态加密的医疗数据高效安全的k-NN查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310084603.3A CN116318662A (zh) 2023-02-08 2023-02-08 基于同态加密的医疗数据高效安全的k-NN查询方法

Publications (1)

Publication Number Publication Date
CN116318662A true CN116318662A (zh) 2023-06-23

Family

ID=86789708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310084603.3A Pending CN116318662A (zh) 2023-02-08 2023-02-08 基于同态加密的医疗数据高效安全的k-NN查询方法

Country Status (1)

Country Link
CN (1) CN116318662A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235381A (zh) * 2023-10-10 2023-12-15 南京邮电大学 一种基于同态加密时空同位计算的朋友推荐方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235381A (zh) * 2023-10-10 2023-12-15 南京邮电大学 一种基于同态加密时空同位计算的朋友推荐方法
CN117235381B (zh) * 2023-10-10 2024-05-10 南京邮电大学 一种基于同态加密时空同位计算的朋友推荐方法

Similar Documents

Publication Publication Date Title
CN111835500B (zh) 基于同态加密与区块链的可搜索加密数据安全共享方法
US5666415A (en) Method and apparatus for cryptographic authentication
EP2014000B1 (en) Method for elliptic curve public key cryptographic validation
US11316671B2 (en) Accelerated encryption and decryption of files with shared secret and method therefor
US20150215123A1 (en) Method and system for homomorphicly randomizing an input
CN112187798B (zh) 一种应用于云边数据共享的双向访问控制方法及***
JP5047638B2 (ja) 暗号文復号権委譲システム
WO2014185450A1 (ja) 照合システム、ノード、照合方法およびプログラム
EP2713545B1 (en) Data sharing system, data distribution system and data protection method
CN116318662A (zh) 基于同态加密的医疗数据高效安全的k-NN查询方法
Chang et al. Password authentication without the server public key
Ramachandran et al. Secure and efficient data forwarding in untrusted cloud environment
CN115336224A (zh) 自适应抗攻击分布式对称加密
Daddala et al. Design and implementation of a customized encryption algorithm for authentication and secure communication between devices
Kumar et al. Privacy preserving data sharing in cloud using EAE technique
Jagadeesh et al. Hybrid AES-Modified ECC Algorithm for Improved Data Security over Cloud Storage
CN117118600A (zh) 一种基于格密码改进的区块链代理重加密方法及***
Juang et al. Efficient User Authentication and Key Agreement with User Privacy Protection.
Backes et al. Fully secure inner-product proxy re-encryption with constant size ciphertext
Saxena et al. A Lightweight and Efficient Scheme for e-Health Care System using Blockchain Technology
CN110868298B (zh) 一种电网通信加密方法
Rasmussen et al. Weak and strong deniable authenticated encryption: on their relationship and applications
KR101548654B1 (ko) 보안성이 있는 암호화 체계를 구비하고 순서 버킷을 이용하는 데이터베이스 쿼리 장치 및 방법
Liao et al. Insecurity of an IBEET scheme and an ABEET scheme
EP1649635A1 (en) Generation and validation of diffie-hellman digital signatures

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