CN115174568B - 一种基于属性的密文检索方法 - Google Patents

一种基于属性的密文检索方法 Download PDF

Info

Publication number
CN115174568B
CN115174568B CN202210719925.6A CN202210719925A CN115174568B CN 115174568 B CN115174568 B CN 115174568B CN 202210719925 A CN202210719925 A CN 202210719925A CN 115174568 B CN115174568 B CN 115174568B
Authority
CN
China
Prior art keywords
keyword
target system
node
data
cloud server
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
CN202210719925.6A
Other languages
English (en)
Other versions
CN115174568A (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.)
Nanjing University of Information Science and Technology
Original Assignee
Nanjing University of Information Science and Technology
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 Nanjing University of Information Science and Technology filed Critical Nanjing University of Information Science and Technology
Priority to CN202210719925.6A priority Critical patent/CN115174568B/zh
Publication of CN115174568A publication Critical patent/CN115174568A/zh
Application granted granted Critical
Publication of CN115174568B publication Critical patent/CN115174568B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于属性的密文检索方法,针对基于由可信第三方服务器、云服务器、各数据共享者、以及各数据访问者参与的目标***,提出了一个客户端存储开销恒定的基于属性的可搜索加密方案,并且将属性集嵌入索引中,保障了对于检索人员的访问控制。本发明还能抵抗自适应的选择安全性攻击;用户检索时,利用私钥加密想检索的关键词,云服务器无法获取到用户检索的关键词的内容,保障了检索的隐私性,并且通过为每次更新记录一个唯一的ctr值,服务器无法通过云端已有索引推测用户的更新数据,保障了发明的前向安全性,实现了对于检索人员的细粒度访问控制,同时保障了检索的隐私性。

Description

一种基于属性的密文检索方法
技术领域
本发明属于云计算技术领域,具体涉及一种基于属性的密文检索方法。
背景技术
云计算是分布式计算的一种,它通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,通过多台服务器架构的***进行计算。云计算又称为网格计算,它可以在很短的时间内完成对数以万计的大数据的处理,从而达到强大的云服务。云计算的主要用途之一是数据存储。通过云存储,数据存储在多个第三方服务器上,而不是用于传统网络数据存储的专用服务器。存储数据时,用户会看到一个虚拟服务器。这意味着数据看似以特定名称存储在特定位置,但该位置实际上并不存在,仅用于指代云虚拟空间。事实上,用户数据可以存储在任何用于创建云的计算机上。由于云动态管理可用存储空间,因此实际存储位置可能每时每刻都在变化。然而,虽然这个位置是虚拟的,但用户可以看到数据的“静态”位置。实际上可以像连接到自己的PC一样管理存储空间。
现如今,医疗信息也呈现了一种过载的趋势,大量的医疗数据如果只存放在单个的医院或诊所中,不仅会加剧本地端的存储负担,也可能会导致疑难杂症难以得到解决。这就要求医生将患者的病历存储在云(CSP)中,不仅可以有效降低本地用户的存储成本,还可以让医生与其他医院的医生共享患者病例信息。但是,更大的便利往往伴随着更大的风险。人们发现,当用户将数据存储在云中时,他们失去了对数据的控制,任何用户都可以访问患者的数据,但如何实现在保密的情况下对云上的文件进行搜索以及只有拥有特定权限的医护人员才能访问患者病例的工作依旧是重点内容。
发明内容
本文将动态可搜索加密技术与密钥策略属性基加密技术相结合,设计了一种属性基密文检索方案,实现对于检索人员的细粒度访问控制,同时保障了检索的隐私性。
为解决上述技术问题,本发明采用以下技术手段:
一种基于属性的密文检索方法,基于由可信第三方服务器、云服务器、各数据共享者、以及各数据访问者参与的目标***,通过步骤A-C,各数据共享者对持有的文档进行加密存储至云服务器中;由数据共享者和数据访问者构成的数据检索者,通过步骤D-E,对云服务器中的文档进行检索访问:
步骤A:针对目标***,可信第三方服务器生成目标***公共参数、目标***主私钥;
步骤B:基于目标***公共参数、目标***主私钥,结合该目标***对应的访问树,可信第三方服务器为目标***中的各数据访问者、以及各数据共享者分别分配对应的解密密钥;
步骤C:针对各数据共享者持有的文档,基于目标***公共参数、文档中的各关键词、该目标***对应的访问树、以及该目标***中各数据共享者、各数据访问者对应的属性集,对文档中各关键词进行加密,获得文档中各关键词分别对应的关键词密文,更新各文档,并将各文档提交至云服务器;
步骤D:针对云服务中的文档,数据检索者基于检索关键词、检索者对应的解密密钥,生成搜索请求陷门,并将搜索请求陷门提交至云服务器;
步骤E:云服务器基于数据检索者提交的搜索请求陷门,对云服务器中的文档进行搜索,把满足搜索请求陷门的数据发送给数据检索者。
进一步地,所述步骤A中,目标***公共参数为:Pub=(g0,g1,g2,u1,…,un+1);目标***主私钥为:Msk:(z,β);
其中,双线性对e:G1×G1→G2,G1是阶为p的乘法循环群,g为G1的任意一个生成元;G2是阶为q的乘法循环群,p、q是两个预设素数;可信第三方服务器选取两个随机数z,β∈Zp,Zp为元素个数为p的有限域,即集合{0,1,...,p-1};g0=gβ,g1=gz,g2∈G1,(u1,u2,…un+1)∈G1,n指的是该目标***中各数据共享者、各数据访问者对应的属性集γ中的属性总数。
进一步地,所述步骤B中,可信第三方服务器为用户分配其对应的解密密钥具体过程如下:
步骤B1:目标***访问树Γ中的每个节点x分别对应一个多项式rx,节点x对应的多项式rx的阶数与该节点的门限阈值相差1;
步骤B2:基于目标***访问树Γ中各节点的多项式,常数项为0时,对于根节点x=root,rroot(0)=z;对于其他节点,rx(0)=rparentnode(x)(index(x));其中,parentnode(x)表示目标***访问树Γ中节点x的父节点,index(x)表示返回节点x的编号;
步骤B3:基于目标***公共参数Pub以及目标***主密钥Msk,每个节点x分别对应秘密值privx=(Ex,Sx);其中,
Figure GDA0004176492530000021
vx是节点x在Zp中随机选择的数,att(x)表示叶子节点x的属性,
Figure GDA0004176492530000022
定义拉格朗日系数
Figure GDA0004176492530000031
T是由Zp中元素构成的集合,T∈Zp;
步骤B4:可信第三方服务器基于目标***访问树Γ中每个节点对应的秘密值,为目标***中的各数据访问者以及各数据共享者分别分配对应的解密密钥(β,{privx}x∈Γ)。
进一步地,所述步骤C中,关键词密文F=(γ,F'=H2(u)·e(g1,g2)t,F”=gt,{Fj=U(j)t}j∈Γ);
其中,
Figure GDA0004176492530000032
stw为关键词w的更新令牌,
Figure GDA0004176492530000033
ktw=PRF(k,w),H、H1、H2、H3均为预设hash函数,H:{0,1}*→{0,1},H1:{0,1}*→G1,H2:G2→G2,H3:{0,1}*→{0,1}λ,PRF为预设伪随机函数,PRF:{0,1}λ×{0,1}*→{0,1}λ,λ为预设安全参数,随机选择t∈Zp,ctr表示该目标***剩余更新次数,初始值为预设常数clen。
进一步地,所述步骤C中,针对各数据共享者持有的文档,执行以下步骤,将各文档提交至云服务器:
步骤1:针对数据共享者上传云服务器的文档,为该文档生成一个指定的标识符id,提取出文档中所有关键词,得到关键词集合w,并将目标***剩余更新次数ctr减一;
步骤2:分别针对每个关键词w,若云服务器的文档中不含有该关键词,则执行步骤3;若云服务器的文档中含有该关键词,则执行步骤4;
步骤3:针对该关键词生成一条空链,链的头节点为(F,id1,ls),F是关键词密文,id1表示包含这个关键词的第一个文档的标识符,ls是连接头节点和下一节点的字符串;
步骤4:对云服务器中该关键词对应的链进行更新,在该链的尾部加上该关键词对应的一个节点;链的头节点为(F,id1,ls),余下的每个节点存放(lso,ido,lso+1),其中lso和lso+1分别是第o个文档连接上一节点和下一节点的字符串,ido表示第o个文档的标识符;
步骤5:数据共享者将每个关键词对应的链发送至云服务器进行存储,并将各文档提交至云服务器进行存储。
进一步地,所述步骤D中,搜索请求陷门为Uw=[SW,{privx}x∈Γ];
其中,SW为检索关键词w的检索令牌,
Figure GDA0004176492530000034
Figure GDA0004176492530000035
k为预设关键词密钥。
进一步地,所述步骤E中,具体执行以下步骤,基于数据检索者提交的搜索请求陷门、以及云服务器中的关键词密文,对云服务器中的文档进行搜索,把满足搜索请求陷门的数据发送给数据检索者:
步骤E1:云服务器针对搜索请求陷门,基于云服务器中的关键词密文,验证数据检索者的访问树是否满足目标***访问树;若满足,则执行步骤E2;若不满足,返回个空值给数据检索者;
步骤E2:基于用户搜索请求的时间,将当前目标***ctr值通过安全信道传输给用户,并基于预设递归算法遍历云服务器中的各关键词密文,判断搜索请求陷门中的关键词与云服务器中的各关键词是否相同,若相同,则将该关键词对应的文件传输给用户;若不相同,则返回空值给用户。
进一步地,所述步骤E2中,基于预设递归算法判断搜索请求陷门中的关键词与云服务器中的关键词是否相同的具体过程如下;
步骤E2.1:基于关键词密文F,搜索请求陷门Uw和目标***访问树,定义预设递归算法DecNode(F,Uw,x),
当x为叶子节点时,
Figure GDA0004176492530000041
其中,
Figure GDA0004176492530000042
j=att(x);
当x为非叶子节点时,对于x节点所有的子节点a来说,Tx为x节点的子节点总数,调用Ga=DecNode(F,Uw,a),J=index(a),Tx'={index(a):a∈Tx};
Figure GDA0004176492530000043
步骤E2.2:综上,获得DecNode(F,Uw,root)=e(g,g2)z·t=e(g1,g2)t,检查访问树对于
Figure GDA0004176492530000044
是否均成立,若成立,则将该关键词对应的文件传输给用户;若不成立,则返回空值给用户。
本发明的有益效果:本发明提供了一种基于属性的密文检索方法,提出了一个客户端存储开销恒定的基于属性的可搜索加密方案,利用云的数据处理和存储能力,将大量敏感数据加密后存储到云端,降低了本地端的存储开销,用户只需要利用包含关键词信息的令牌即可让云执行检索操作,返还对应文件,体现了方案的高效性。并且将属性集嵌入索引中,保障了对于检索人员的访问控制,针对数据敏感,数据共享者希望只有一些特定人员可以访问数据,本发明需要通过可信第三方将包含访问策略信息的私钥通过安全信道发送给用户指定的对象,仅有指定对象通过私钥可以对云上数据执行检索操作。本发明能抵抗自适应的选择安全性攻击。本发明下用户检索时,利用私钥加密想检索的关键词,云服务器无法获取到用户检索的关键词的内容,保障了检索的隐私性。通过为每次更新记录一个唯一的ctr值,服务器无法通过云端已有索引推测用户的更新数据,保障了发明的前向安全性。
附图说明
图1为本发明实施例整个方案的***模型图;
图2为发明实施例病例信息文档标识符的链式存储;
图3为本发明实施例进行属性基动态可搜索加密的流程图。
具体实施方式
下面的实施例可使本专业技术人员更全面地理解本发明,但不以任何方式限制本发明。
本发明将动态可搜索加密技术与密钥策略属性基加密技术相结合,设计了一种属性基密文检索方案,实现对于检索人员的细粒度访问控制,同时保障了检索的隐私性。
下面结合医疗信息***对本发明进行进一步说明,如图1所示,针对现有医疗云中可搜索加密方案存在的不足,目前的云医疗环境下,用户的加密数据的共享缺乏高便利性。数据共享者将自己的数据加密存储至云端,其他用户想要检索其中某些具体数据,需要从云端下载所有文件,在本地端解密后再执行检索操作,大大降低了云端共享的便利性。当前的共享方案,缺乏对于共享对象的筛选功能,尤其在医疗环境下,涉及大量敏感数据,需要由数据共享者对访问数据的对象进行斟酌。应由数据共享者决定能访问的对象。医疗数据规模大,维度多,用户在对数据进行检索时容易泄露重要信息,需要保障用户检索时的隐私不遭到泄露。本文将动态可搜索加密技术(Dynamic Searchable Symmetric Encryption)与密钥策略属性基加密技术(Keyword-Policy Attribute-based Encryption)相结合,设计了一种属性基密文检索方案,实现对于检索的医护人员的细粒度访问控制,同时保障了检索的隐私性。
一种基于属性的密文检索方法,如图3所示,基于由可信第三方服务器、云服务器、各数据共享者、以及各数据访问者参与的目标***,通过步骤A-C,各数据共享者对持有的文档进行加密存储至云服务器中;由数据共享者和数据访问者构成的数据检索者,通过步骤D-E,对云服务器中的文档进行检索访问:本实施例中,目标***为目标医院对应的医疗云***,各数据共享者为该目标医院的各医生,各数据访问者为其它医院的医生,可信第三方服务器即为授权中心。
初始化,本地端定义安全参数λ,然后选择一个伪随机函数PRF:{0,1}λ×{0,1}*→{0,1}λ,设定一个大常数clen作为文件的最大更新次数,ctr作为当前的更新次数,同时生成一个关键词密钥k。
步骤A:针对目标***,可信第三方服务器生成目标***公共参数、目标***主私钥;
可信第三方(TTP)为加入该***的其他医院的医生以及目标医院医生分配对应参数,包括公共参数、主密钥、访问树、以及解密密钥。所述步骤A中,目标***公共参数为:Pub=(go,g1,g2,u1,…,un+1);目标***主私钥为:Msk:(z,β);
其中,双线性对e:G1×G1→G2,G1是阶为p的乘法循环群,g为G1的任意一个生成元;G2是阶为q的乘法循环群,p、q是两个预设素数;可信第三方服务器选取两个随机数z,β∈Zp,Zp为元素个数为p的有限域,即集合{0,1,...,p-1};g0=gβ,g1=gz,g2∈G1,(u1,u2,…un+1)∈G1,uj≠uk,j,k∈N,N={1,...,n+1},n指的是该目标***中各数据共享者、各数据访问者对应的属性集γ中的属性总数,属性包括医院、科室等等,n可以视作加密的最大的属性集的大小。
步骤B:基于目标***公共参数、目标***主私钥,结合该目标***对应的访问树,可信第三方服务器为目标***中的各数据访问者、以及各数据共享者分别分配对应的解密密钥;可信第三方服务器为加入该***的其他医院的医生以及目标医院医生分配对应的解密密钥;
所述步骤B中,可信第三方服务器为用户分配其对应的解密密钥具体过程如下:
步骤B1:目标***访问树Γ中的每个节点x分别对应一个多项式rx,节点x对应的多项式rx的阶数与该节点的门限阈值相差1;
步骤B2:基于目标***访问树Γ中各节点的多项式,常数项为0时,对于根节点x=root,rroot(0)=z;对于其他节点,rx(0)=rparentnode(x)(index(x));其中,parentnode(x)表示目标***访问树Γ中节点x的父节点,index(x)表示返回节点x的编号;
步骤B3:基于目标***公共参数Pub以及目标***主密钥Msk,每个节点x分别对应秘密值privx=(Ex,Sx);其中,
Figure GDA0004176492530000071
j=att(x),vx是节点x在Zp中随机选择的数,att(x)表示叶子节点x的属性,
Figure GDA0004176492530000072
i是整数并且1<i<n+1,定义拉格朗日系数
Figure GDA0004176492530000073
T是由Zp中元素构成的集合,T∈Zp;
步骤B4:可信第三方服务器基于目标***访问树Γ中每个节点对应的秘密值,为目标***中的各数据访问者以及各数据共享者分别分配对应的解密密钥(β,{privx}x∈Γ)。
当其他医院的医生要加入***时,首先向可信第三方发出加入***的请求,由可信第三方利用访问树Υ,公共参数Pub以及主密钥Msk作为输入,最后得到每个加入用户的解密密钥(β,{privx}x∈γ)。
步骤C:针对各数据共享者持有的文档,基于目标***公共参数、文档中的各关键词、该目标***对应的访问树、以及该目标***中各数据共享者、各数据访问者对应的属性集,对文档中各关键词进行加密,获得文档中各关键词分别对应的关键词密文,更新各文档,并将各文档提交至云服务器;目标医院医生生成患者病例相关信息,然后对其进行加密,然后将加密后的文档提交至云服务器进行存储;
如图2所示,所述步骤C中,针对各数据共享者持有的文档,即患者病例相关信息,执行以下步骤,将各文档提交至云服务器:
步骤1:针对数据共享者上传云服务器的文档,为该文档生成一个指定的标识符id,提取出文档中所有关键词,得到关键词集合w,并将目标***剩余更新次数ctr减一;
步骤2:分别针对每个关键词w,若云服务器的文档中不含有该关键词,则执行步骤3;若云服务器的文档中含有该关键词,则执行步骤4;
步骤3:针对该关键词生成一条空链,链的头节点为(F,id1,ls),F是关键词密文,id1表示包含这个关键词的第一个文档的标识符,ls是连接头节点和下一节点的字符串;
步骤4:对云服务器中该关键词对应的链进行更新,在该链的尾部加上该关键词对应的一个节点;链的头节点为(F,id1,ls),余下的每个节点存放(lso,ido,lso+1),其中lso和lso+1分别是第o个文档连接上一节点和下一节点的字符串,ido表示第o个文档的标识符;
步骤5:数据共享者将每个关键词对应的链发送至云服务器进行存储,并将各文档提交至云服务器进行存储。
关键词密文F=(γ,F'=H2(u)·e(g1,g2)t,F”=gt,{FX=U(X)t}X∈Γ);
其中,
Figure GDA0004176492530000084
stw为关键词w的更新令牌,stw=H3 ctr(ktw),ktw=PRF(k,w),H、H1、H2、H3均为预设hash函数,H:{0,1}*→{0,1},H1:{0,1}*→G1,H2:G2→G2,H3:{0,1}*→{0,1}λ,PRF为预设伪随机函数,PRF:{0,1}λ×{0,1}*→{0,1}λ,λ为预设安全参数,随机选择t∈Zp,ctr表示该目标***剩余更新次数,初始值为预设常数clen。
医生A对于要上传的病例文件集合{docj(1<j<n)},将ctr自减一,为每个doc生成一个指定的标识符id,提取出doc的所有关键词集合W,对于要更新的关键词w∈W,针对初始关键词,我们为其生成一条空链,链的头节点为(F,id1,ls),F是关键词密文,id1表示包含这个关键词的第一个文档的标识符,ls是连接头节点和下一节点的字符串。对于F,我们首先为关键词w生成一个更新令牌stw=Hctr(ktw),然后计算这个更新令牌的Hash值H1(stw),随机选择t∈Zp,计算
Figure GDA0004176492530000081
就可以计算F=(γ,F'=H2(u)·e(g1,g2)t,F”=gt,{FX=U(X)t}X∈Γ);对于每个链条的余下的每个节点存放余下的每个节点存放(lso,ido,lso+1),其中lso和lso+1分别是第o个文档连接上一节点和下一节点的字符串,ido表示第o个文档的标识符,然后医生将这些链发送至云服务器进行存储。每条链第一个节点医生利用ctr=clen计算出第一个加密索引Hctr(ktw),然后将ctr自减一计算出下一节点的存储索引信息,整条链的索引可看作
Hclen(ktw),Hclen-1(ktw),....H(ktw)
Figure GDA0004176492530000082
步骤D:针对云服务中的文档,数据检索者基于检索关键词、检索者对应的解密密钥,生成搜索请求陷门,并将搜索请求陷门提交至云服务器;
关键词搜索陷门,即搜索请求陷门为Uw=[SW,{privx}x∈Γ];
其中,SW为检索关键词w的检索令牌,
Figure GDA0004176492530000083
Figure GDA0004176492530000091
privx=(Ex,Sx),k为预设关键词密钥。
该步骤由加入***的医生来执行,医生输入自己的解密密钥以及检索关键词,计算检索令牌
Figure GDA0004176492530000092
这里的ctr是定期更新的,由可信第三方TTP进行记录保存,每次需要检索时,医生需要向TTP发送请求,然后得到对应的ctr,从而在接下来的检索阶段搜索需要下载的文件链。已经加入***的医生如果有资格访问相关病例信息,他需要输入自己的相关身份信息,并且根据他查询的信息的时效性,向可信第三方申请一个数值即ctr,来保障他能查询的是已经更新好的文件信息,并且得到最终的陷门与检索令牌。
云服务器首先检查访问文件的用户是否满足访问树,如果不满足,返回空值,满足则根据收到的信息,将最新的更新值通过安全信道传输给医生,再输入关键词请求陷门、关键词密文进行解密操作,并对关键词密文进行匹配运算,只有运算相等,才会返还文件标识符。
步骤E:云服务器基于数据检索者提交的搜索请求陷门,对云服务器中的文档进行搜索,把满足搜索请求陷门的数据发送给数据检索者。
所述步骤E中,具体执行以下步骤,基于数据检索者提交的搜索请求陷门、以及云服务器中的关键词密文,对云服务器中的文档进行搜索,把满足搜索请求陷门的数据发送给数据检索者:
步骤E1:云服务器针对搜索请求陷门,基于云服务器中的关键词密文,验证数据检索者的访问树是否满足目标***访问树;若满足,则执行步骤E2;若不满足,返回个空值给数据检索者;
步骤E2:基于用户搜索请求的时间,将当前目标***ctr值通过安全信道传输给用户,并基于预设递归算法遍历云服务器中的各关键词密文,判断搜索请求陷门中的关键词与云服务器中的各关键词是否相同,若相同,则将该关键词对应的文件传输给用户;若不相同,则返回空值给用户。
所述步骤E2中,基于预设递归算法判断搜索请求陷门中的关键词与云服务器中的关键词是否相同的具体过程如下;
步骤E2.1:基于关键词密文F,搜索请求陷门Uw和目标***访问树,定义预设递归算法DecNode(F,Uw,x),
当x为叶子节点时,
Figure GDA0004176492530000093
其中,
Figure GDA0004176492530000101
X=att(x);
当x为非叶子节点时,对于x节点所有的子节点a来说,Tx为x节点的子节点总数,调用Ga=DecNode(F,Uw,a),J=index(x),T′x={index(a):a∈Tx};
Figure GDA0004176492530000102
步骤E2.2:综上,获得DecNode(F,Uw,root)=e(g,g2)z·t=e(g1,g2)t,检查访问树对于
Figure GDA0004176492530000103
是否均成立,若成立,则将该关键词对应的文件传输给用户;若不成立,则返回空值给用户。
本发明设计了一种基于属性的密文检索方法,提出了一个客户端存储开销恒定的基于属性的可搜索加密方案,利用云的数据处理和存储能力,将大量敏感数据加密后存储到云端,降低了本地端的存储开销,用户只需要利用包含关键词信息的令牌即可让云执行检索操作,返还对应文件,体现了方案的高效性。并且将属性集嵌入索引中,保障了对于检索人员的访问控制,针对数据敏感,数据共享者希望只有一些特定人员可以访问数据,本发明需要通过可信第三方将包含访问策略信息的私钥通过安全信道发送给用户指定的对象,仅有指定对象通过私钥可以对云上数据执行检索操作。本发明能抵抗自适应的选择安全性攻击。本发明下用户检索时,利用私钥加密想检索的关键词,云服务器无法获取到用户检索的关键词的内容,保障了检索的隐私性。通过为每次更新记录一个唯一的ctr值,服务器无法通过云端已有索引推测用户的更新数据,保障了发明的前向安全性。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。
以上仅为本发明的较佳实施例,但并不限制本发明的专利范围,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本发明说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明专利保护范围之内。

Claims (7)

1.一种基于属性的密文检索方法,其特征在于:基于由可信第三方服务器、云服务器、各数据共享者、以及各数据访问者参与的目标***,通过步骤A-C,各数据共享者对持有的文档进行加密存储至云服务器中;由数据共享者和数据访问者构成的数据检索者,通过步骤D-E,对云服务器中的文档进行检索访问:
步骤A:针对目标***,可信第三方服务器生成目标***公共参数、目标***主私钥;
步骤B:基于目标***公共参数、目标***主私钥,结合该目标***对应的访问树,可信第三方服务器为目标***中的各数据访问者、以及各数据共享者分别分配对应的解密密钥;
步骤C:针对各数据共享者持有的文档,基于目标***公共参数、文档中的各关键词、该目标***对应的访问树、以及该目标***中各数据共享者、各数据访问者对应的属性集,对文档中各关键词进行加密,获得文档中各关键词分别对应的关键词密文,更新各文档,并将各文档提交至云服务器;
所述步骤C中,针对各数据共享者持有的文档,执行以下步骤,将各文档提交至云服务器:
步骤1:针对数据共享者上传云服务器的文档,为该文档生成一个指定的标识符id,提取出文档中所有关键词,得到关键词集合w,并将目标***剩余更新次数ctr减一;
步骤2:分别针对每个关键词w,若云服务器的文档中不含有该关键词,则执行步骤3;若云服务器的文档中含有该关键词,则执行步骤4;
步骤3:针对该关键词生成一条空链,链的头节点为(F,id1,ls),F是关键词密文,id1表示包含这个关键词的第一个文档的标识符,ls是连接头节点和下一节点的字符串;
步骤4:对云服务器中该关键词对应的链进行更新,在该链的尾部加上该关键词对应的一个节点;链的头节点为(F,id1,ls),余下的每个节点存放(lso,ido,lso+1),其中lso和lso+1分别是第o个文档连接上一节点和下一节点的字符串,ido表示第o个文档的标识符;
步骤5:数据共享者将每个关键词对应的链发送至云服务器进行存储,并将各文档提交至云服务器进行存储;
步骤D:针对云服务中的文档,数据检索者基于检索关键词、检索者对应的解密密钥,生成搜索请求陷门,并将搜索请求陷门提交至云服务器;
步骤E:云服务器基于数据检索者提交的搜索请求陷门,对云服务器中的文档进行搜索,把满足搜索请求陷门的数据发送给数据检索者。
2.根据权利要求1所述一种基于属性的密文检索方法,其特征在于:所述步骤A中,目标***公共参数为:Pub=(go,g1,g2,u1,…,un+1);目标***主私钥为:Msk:(z,β);
其中,双线性对e:G1×G1→G2,G1是阶为p的乘法循环群,g为G1的任意一个生成元;G2是阶为q的乘法循环群,p、q是两个预设素数;可信第三方服务器选取两个随机数z,β∈Zp,Zp为元素个数为p的有限域,即集合{0,1,...,p-1};g0=gβ,g1=gz,g2∈G1,(u1,u2,…un+1)∈G1,n指的是该目标***中各数据共享者、各数据访问者对应的属性集γ中的属性总数。
3.根据权利要求2所述一种基于属性的密文检索方法,其特征在于:所述步骤B中,可信第三方服务器为用户分配其对应的解密密钥具体过程如下:
步骤B1:目标***访问树Γ中的每个节点x分别对应一个多项式rx,节点x对应的多项式rx的阶数与该节点的门限阈值相差1;
步骤B2:基于目标***访问树Γ中各节点的多项式,常数项为0时,对于根节点x=root,rroot(0)=z;对于其他节点,rx(0)=rparentnode(x)(index(x));其中,parentnode(x)表示目标***访问树Γ中节点x的父节点,index(x)表示返回节点x的编号;
步骤B3:基于目标***公共参数Pub以及目标***主密钥Msk,每个节点x分别对应秘密值privx=(Ex,Sx);其中,
Figure FDA0004176492520000021
vx是节点x在Zp中随机选择的数,att(x)表示叶子节点x的属性,
Figure FDA0004176492520000022
定义拉格朗日系数
Figure FDA0004176492520000023
T是由Zp中元素构成的集合,T∈Zp;
步骤B4:可信第三方服务器基于目标***访问树Γ中每个节点对应的秘密值,为目标***中的各数据访问者以及各数据共享者分别分配对应的解密密钥(β,{privx}x∈Γ)。
4.根据权利要求3所述的一种基于属性的密文检索方法,其特征在于:所述步骤C中,关键词密文F=(γ,F'=H2(u)·e(g1,g2)t,F”=gt,{FX=U(X)t}X∈Γ);
其中,
Figure FDA0004176492520000024
stw为关键词w的更新令牌,stw=H3 ctr(ktw),ktw=PRF(k,w),H、H1、H2、H3均为预设hash函数,H:{0,1}*→{0,1},H1:{0,1}*→G1,H2:G2→G2,H3:{0,1}*→{0,1}λ,PRF为预设伪随机函数,PRF:{0,1}λ×{0,1}*→{0,1}λ,λ为预设安全参数,随机选择t∈Zp,ctr表示该目标***剩余更新次数,初始值为预设常数clen。
5.根据权利要求4所述的一种基于属性的密文检索方法,其特征在于:所述步骤D中,搜索请求陷门为Uw=[SW,{privx}x∈Γ];
其中,SW为检索关键词w的检索令牌,
Figure FDA0004176492520000034
Figure FDA0004176492520000031
k为预设关键词密钥。
6.根据权利要求4所述的一种基于属性的密文检索方法,其特征在于:所述步骤E中,具体执行以下步骤,基于数据检索者提交的搜索请求陷门、以及云服务器中的关键词密文,对云服务器中的文档进行搜索,把满足搜索请求陷门的数据发送给数据检索者:
步骤E1:云服务器针对搜索请求陷门,基于云服务器中的关键词密文,验证数据检索者的访问树是否满足目标***访问树;若满足,则执行步骤E2;若不满足,返回个空值给数据检索者;
步骤E2:基于用户搜索请求的时间,将当前目标***ctr值通过安全信道传输给用户,并基于预设递归算法遍历云服务器中的各关键词密文,判断搜索请求陷门中的关键词与云服务器中的各关键词是否相同,若相同,则将该关键词对应的文件传输给用户;若不相同,则返回空值给用户。
7.根据权利要求6所述的一种基于属性的密文检索方法,其特征在于:所述步骤E2中,基于预设递归算法判断搜索请求陷门中的关键词与云服务器中的关键词是否相同的具体过程如下;
步骤E2.1:基于关键词密文F,搜索请求陷门Uw和目标***访问树,定义预设递归算法DecNode(F,Uw,x),
当x为叶子节点时,
Figure FDA0004176492520000032
其中,
Figure FDA0004176492520000033
当x为非叶子节点时,对于x节点所有的子节点a来说,Tx为x节点的子节点总数,调用Ga=DecNode(F,Uw,a),J=index(x),T'x={index(a):a∈Tx};
Figure FDA0004176492520000041
步骤E2.2:综上,获得DecNode(F,Uw,root)=e(g,g2)z·t=e(g1,g2)t,检查访问树对于
Figure FDA0004176492520000042
是否均成立,若成立,则将该关键词对应的文件传输给用户;若不成立,则返回空值给用户。
CN202210719925.6A 2022-06-23 2022-06-23 一种基于属性的密文检索方法 Active CN115174568B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210719925.6A CN115174568B (zh) 2022-06-23 2022-06-23 一种基于属性的密文检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210719925.6A CN115174568B (zh) 2022-06-23 2022-06-23 一种基于属性的密文检索方法

Publications (2)

Publication Number Publication Date
CN115174568A CN115174568A (zh) 2022-10-11
CN115174568B true CN115174568B (zh) 2023-05-16

Family

ID=83486773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210719925.6A Active CN115174568B (zh) 2022-06-23 2022-06-23 一种基于属性的密文检索方法

Country Status (1)

Country Link
CN (1) CN115174568B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330865A (zh) * 2016-08-12 2017-01-11 安徽大学 云环境下支持高效撤销的属性基关键字搜索方法
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索***
CN111726363A (zh) * 2020-06-24 2020-09-29 暨南大学 一种基于属性的多用户连接关键字可搜索加密方法
CN112328626A (zh) * 2020-10-28 2021-02-05 浙江工商大学 面向云环境的支持模糊关键词排序的可搜索加密方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593196B (zh) * 2008-05-30 2013-09-25 日电(中国)有限公司 用于快速密文检索的方法、装置和***
CN104780179B (zh) * 2015-05-07 2017-10-24 浙江工商大学 一种隐藏属性的密钥策略属性加密方法
CN105871543B (zh) * 2016-03-29 2019-02-15 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法
CN106612270A (zh) * 2016-05-20 2017-05-03 四川用联信息技术有限公司 云计算中一种基于属性加密的关键词搜索算法
WO2018103830A1 (en) * 2016-12-06 2018-06-14 Huawei Technologies Co., Ltd. A method and system for searchable encrypted cloud storage of media data
CN107634829A (zh) * 2017-09-12 2018-01-26 南京理工大学 基于属性的可搜索加密电子病历***及加密方法
CN108200172B (zh) * 2018-01-03 2020-12-08 西安电子科技大学 一种支持安全数据去重与删除的云存储***及方法
CN108390855A (zh) * 2018-01-11 2018-08-10 中国人民解放军战略支援部队信息工程大学 一种面向云存储的属性基关键词搜索加密***及方法
CN109450935B (zh) * 2018-12-19 2021-02-02 河南科技大学 云存储中可验证的语义安全的多关键词搜索方法
CN109981643A (zh) * 2019-03-26 2019-07-05 长沙学院 一种细粒度查询授权的可搜索加密方法及***
CN110224986B (zh) * 2019-05-07 2020-09-25 电子科技大学 一种基于隐藏策略cp-abe的高效可搜索访问控制方法
CN111147508B (zh) * 2019-12-30 2022-05-24 福建师范大学 一种抗关键词猜测攻击的可搜索属性基加密方法
CN111641657B (zh) * 2020-06-05 2022-02-11 南京信息工程大学 智能医疗环境下基于rfid的信息匿名检索方法和***
WO2022099495A1 (zh) * 2020-11-11 2022-05-19 深圳技术大学 云计算环境中的密文搜索方法及***、设备
CN112380553B (zh) * 2020-11-25 2022-12-16 华南理工大学 基于属性访问控制结构的多密钥可搜索加密方法及***
CN113434739B (zh) * 2021-06-08 2022-03-22 暨南大学 一种云环境下前向安全的多用户动态对称加密检索方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330865A (zh) * 2016-08-12 2017-01-11 安徽大学 云环境下支持高效撤销的属性基关键字搜索方法
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索***
CN111726363A (zh) * 2020-06-24 2020-09-29 暨南大学 一种基于属性的多用户连接关键字可搜索加密方法
CN112328626A (zh) * 2020-10-28 2021-02-05 浙江工商大学 面向云环境的支持模糊关键词排序的可搜索加密方法

Also Published As

Publication number Publication date
CN115174568A (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
CN110099043B (zh) 支持策略隐藏的多授权中心访问控制方法、云存储***
KR102348418B1 (ko) 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치
Mayberry et al. Efficient private file retrieval by combining ORAM and PIR
Liu et al. Cloud-based electronic health record system supporting fuzzy keyword search
Narayan et al. {DJoin}: Differentially private join queries over distributed databases
WO2022099495A1 (zh) 云计算环境中的密文搜索方法及***、设备
Ying et al. A lightweight policy preserving EHR sharing scheme in the cloud
CN115242518B (zh) 混合云环境下医疗健康数据保护***与方法
CN114826703B (zh) 基于区块链的数据搜索细粒度访问控制方法及***
JP7502812B2 (ja) 共有クラウドプラットフォーム内のエンティティ中心のリソース指向データベースとして実装されたデータ管理者のための方法及びシステム
Huang et al. FSSR: Fine-grained EHRs sharing via similarity-based recommendation in cloud-assisted eHealthcare system
JP7457131B2 (ja) プライバシーを守る機械学習ラベリング
CN109981643A (zh) 一种细粒度查询授权的可搜索加密方法及***
CN112332979A (zh) 云计算环境中的密文搜索方法及***、设备
Patel et al. What Storage Access Privacy is Achievable with Small Overhead?
Yin et al. Attribute-based multiparty searchable encryption model for privacy protection of text data
CN112000632A (zh) 密文的分享方法、介质、分享客户端及***
Padhya et al. BTG-RKASE: Privacy Preserving Revocable Key Aggregate Searchable Encryption with Fine-grained Multi-delegation & Break-The-Glass Access Control.
Mamta et al. An attribute-based keyword search for m-health networks
JP2023516868A (ja) 秘密共有を使用するフィードバックコントローラ
Wang et al. Searchable and revocable multi-data owner attribute-based encryption scheme with hidden policy in cloud storage
Singh et al. Aggregating privatized medical data for secure querying applications
CN115174568B (zh) 一种基于属性的密文检索方法
Muhammad et al. A secure data outsourcing scheme based on Asmuth–Bloom secret sharing
Wu et al. Secure data stream outsourcing with publicly verifiable integrity in cloud storage

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