CN117336010A - 基于可信执行环境的轻量级布尔查询可搜索对称加密方法 - Google Patents

基于可信执行环境的轻量级布尔查询可搜索对称加密方法 Download PDF

Info

Publication number
CN117336010A
CN117336010A CN202311059769.6A CN202311059769A CN117336010A CN 117336010 A CN117336010 A CN 117336010A CN 202311059769 A CN202311059769 A CN 202311059769A CN 117336010 A CN117336010 A CN 117336010A
Authority
CN
China
Prior art keywords
document
key
query
secret
plaintext
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
CN202311059769.6A
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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN202311059769.6A priority Critical patent/CN117336010A/zh
Publication of CN117336010A publication Critical patent/CN117336010A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于可信执行环境的轻量级布尔查询可搜索对称加密方法,所述方法包括:数据所有者为了节省计算、存储资源,并希望在保证数据安全的同时保留对数据的高效检索操作,在本地对明文文档进行对称加密生成密态文档EDoc,同时构造密态索引EIdx,然后将EDoc和EIdx上传至云服务器存储。云服务器承担数据存储与检索的职责,其接收数据所有者发送的查询令牌,先后在密态索引EIdx以及TEE内存中的未满一块索引上执行查询操作得到满足查询条件的文档标识符。本发明在大规模数据场景下提高了查询效率,也大大降低了索引的生成时间与占用空间大小。

Description

基于可信执行环境的轻量级布尔查询可搜索对称加密方法
技术领域
本发明涉及一种基于可信执行环境的轻量级布尔查询可搜索对称加密方法,属于信息安全技术领域。
背景技术
信息技术的高速发展带来了数据量的激增,使得一般的企业和个人越来越难以在本地对大规模的数据进行管理。得益于云计算服务的兴起,为了缓解本地的计算与存储压力,人们倾向于将自身数据上传至云端存储,但是近年来用户隐私数据泄露的事件在云端却时有发生。
为了保障云端数据的机密性,数据所有者可以在本地将数据用密码学加密算法加密后再上传至云端,从而使得云服务器和外部攻击者都只能获得数据的密文而无法恢复原始的明文信息,但是密文数据却难以再被有效利用。为了平衡数据的机密性和可用性,研究人员提出了可搜索对称加密SSE,SSE通过对明文数据进行索引构建和加密操作,分别得到密态索引和密态数据并一同上传至云端,从而在保障数据机密性的同时使得云服务器可以在密态索引上执行高效的关键词检索来实现数据的可用性。
SSE通过构建密态索引可以实现对密文数据的安全高效检索,但是目前的SSE多关键词布尔查询方案普遍存在的问题是索引结构复杂,从而使得在大规模数据场景下,密态索引的构建时间太长,占用的存储空间太大,且查询处理流程繁琐,返回结果耗时长,导致现有的SSE方案难以被实际部署使用。然而,近年来新兴的硬件安全技术可以在一定程度上解决上述问题。
可信执行环境TEE是一种相对于常规执行环境REE的概念,其最早被作为一种双系统解决方案被提出,即在同一个设备上同时部署两个操作系统,一个是常规操作系统,另一个是安全操作系统。其中,安全操作系统运行在硬件隔离的环境中,专门用以处理敏感信息来保障敏感信息的机密性。
得益于TEE提供的硬件级安全保障,现已有一些研究利用TEE来增强SSE的安全性或是简化操作提高执行效率,如中国专利(申请号:CN202210937406.7,公开号:CN115314284A)公开了一种基于可信执行环境的公钥认证可搜索加密方法及系统,其将PEKS的关键词匹配对比阶段转移到可信执行环境中,从而简化了匹配对比过程,提高了执行效率。中国专利(申请号:CN202111038793.2,公开号:CN113949701A)公开了一种基于可信执行环境的密文搜索方法,该方法中所有的计算和搜索过程都在TEE安全环境中以明文形式完成,因此不仅没有搜索条件的限制,而且执行时间仅与TEE的效率有关,没有额外的密码算法开销。
TEE提供了一个安全内存环境,可以将需要机密性保护的敏感数据以明文形式置于其中进行各种计算操作,从而避免过高的密文计算开销。通过利用TEE的“隔离性”,可以对SSE的索引结构以及多关键词查询处理流程做出一定程度的简化,从而使得一个轻量级的支持布尔查询的可搜索对称加密方法能够被真正部署来管理大规模的密态数据。
但现有的SSE方法一方面在不断扩展查询功能以支持更加复杂的查询,另一方面在尝试不断减少查询过程中的信息泄露以达到更强的安全性,但是当要同时满足安全性和功能性时,通常会导致复杂的索引结构设计,从而引入计算开销较大的操作,并带来更大的存储开销,而这样的开销在实际应用中往往是难以接受的。
发明内容
针对上面分析的现有SSE方法的不足,本发明提出了一种基于可信执行环境的轻量级布尔查询可搜索对称加密方法,本发明以Πpack为基础构造的轻量级SSE方法,其将可信执行环境与可搜索加密结合,利用TEE提供的隔离安全计算环境,将多关键词布尔查询转换为多次单关键词查询,云服务器将查询得到的密态文档标识符发送到TEE中进行解密合并,从而用简单的明文列表合并算法取代复杂的计算操作,同时也简化了密态索引的设计,在大规模数据场景下提高了查询效率,也大大降低了索引的生成时间与占用空间大小。
本发明的技术方案,包括:
一种基于可信执行环境的轻量级布尔查询可搜索对称加密方法,应用于一数据所有者节点,所述方法包括:
基于安全参数,生成密钥集合,所述密钥集合包括:第一伪随机函数密钥KT、第二伪随机函数密钥KS、文档加密密钥KD和标识密钥KI
与云服务器运行密钥协商协议来生成共享密钥;其中,所述密钥协商协议的云服务器侧协议运行在云端TEE环境中;
获取明文文档,并基于所述第一伪随机函数密钥KT和所述第二伪随机函数密钥KS生成所述明文文档的密态索引,以及基于所述文档加密密钥KD生成所述明文文档的密态文档之后,将所述明文文档的密态索引和密态文档上传至云服务器,以使所述密态索引和密态文档分别存储在云端的密态索引和密态文档数据库上;
数据检索时,将基于查询关键词生成的查询令牌上传至云服务器,以使所述云服务器在云端REE环境中基于所述查询令牌在密态索引数据库上检索得到对应的密态文档标识符集合之后,在云端TEE环境中对所述对应的密态文档标识符集合进行解密,并返回重加密的明文文档标识符集合;其中,所述查询令牌包括:根据查询关键词与所述第一伪随机函数密钥KT生成的查询索引以及使用所述共享密钥对第二伪随机函数密钥KS、标识密钥KI和查询关键词进行加密的加密结果,所述重加密的明文文档标识符集合使用所述标识密钥KI加密;
解密所述重加密的明文文档标识符集合,将得到的明文文档标识符集合发送至云服务器,以使所述云服务器在密态文档数据库上进行查询,返回所述明文文档标识符集合对应的密态文档集合;
使用对应的文档加密密钥KD进行密态文档集合的解密,得到满足查询条件的明文文档。
进一步地,所述与云服务器运行密钥协商协议来生成共享密钥之前,还包括:
通过芯片厂商提供的远程证明服务来确定所述云服务器支持TEE功能,并验证云端TEE环境的可信状态;所述远程证明服务可以完成对云服务器的身份认证。
进一步地,基于所述文档加密密钥KD生成所述明文文档的密态文档,包括:
获取明文文档的文档内容;
使用所述文档加密密钥KD对文档内容进行加密,得到所述明文文档的密态文档。
进一步地,基于所述第一伪随机函数密钥KT和所述第二伪随机函数密钥KS生成所述明文文档的密态索引,包括:
分别基于所述第一伪随机函数密钥KT和所述第二伪随机函数密钥KS,计算第一伪随机函数和第二伪随机函数/>
获取明文文档的关键词和明文文档标识符,并依据明文文档标识符组成的字符串docIDset;
计算所述明文文档的索引键其中,Hash表示哈希算法,/>表示使用第一伪随机函数密钥KT作为伪随机函数F的密钥,keyword表示明文文档的关键词,counter表示当前明文文档的关键词对应的块数目;
计算明文文档的索引值Value=Enc(KE,docIDset);其中;Enc表示对称加密算法,KE表示使用第二伪随机函数密钥KS作为伪随机函数F的密钥为关键词生成的文档标识符加密密钥;
基于所述明文文档的索引键Label和索引值Value,得到所述明文文档的密态索引。
进一步地,所述云服务器在云端REE环境中基于所述查询令牌得到对应的密态文档标识符集合,包括:
从查询令牌中提取查询索引
初始化计数器counter后,从0开始递增,循环计算查询键 并在密态索引数据库中检索匹配查询键Label的索引键Label,直至所述计数器在某取值下计算得到的查询键Label在密态索引上的检索结果为空时,停止递增计数器,结束查询;
基于所述查询索引和所述计数器counter通过哈希算法计算查询键Label,以得到所述查询关键词对应的密态文档标识符集合。
进一步地,云服务器在云端TEE环境中对所述对应的密态文档标识符集合进行解密,并返回重加密的明文文档标识符集合,包括:
在云端TEE环境中得到密态文档标识符集合和所述加密结果;
利用共享密钥对所述加密结果进行解密,得到第二伪随机函数密钥KS、标识密钥KI和查询关键词;
基于第二伪随机函数密钥KS和查询关键词计算出文档标识符加密密钥KE
使用文档标识符加密密钥KE解密所述对应的密态文档标识符集合,得到明文文档标识符集合;
在查询为单关键词查询的情况下,使用标识密钥KI加密明文文档标识符集合,并将重加密的明文文档标识符集合返回给数据所有者;
在查询为多关键词查询的情况下,依据查询条件对不同的明文文档标识符集合进行布尔运算,并使用标识密钥KI得到重加密的明文文档标识符集合后,返回给数据所有者。
一种基于可信执行环境的轻量级布尔查询可搜索对称加密装置,所述装置包括:
密钥生成模块,用于基于安全参数,生成密钥集合,所述密钥集合包括:第一伪随机函数密钥KT、第二伪随机函数密钥KS、文档加密密钥KD和标识密钥KI
密钥协商模块,用于与云服务器运行密钥协商协议来生成共享密钥;其中,所述密钥协商协议的云服务器侧协议运行在云端TEE环境中;
数据存储模块,用于获取明文文档,并基于所述第一伪随机函数密钥KT和所述第二伪随机函数密钥KS生成所述明文文档的密态索引,以及基于所述文档加密密钥KD生成所述明文文档的密态文档之后,将所述明文文档的密态索引和密态文档上传至云服务器,以使所述密态索引和密态文档分别存储在云端的密态索引和密态文档数据库上;
索引检索模块,用于数据检索时,将基于查询关键词生成的查询令牌上传至云服务器,以使所述云服务器在云端REE环境中基于所述查询令牌在密态索引数据库中查询得到对应的密态文档标识符集合之后,在云端TEE环境中对所述对应的密态文档标识符集合进行解密,并返回重加密的明文文档标识符集合;其中,所述查询令牌包括:根据查询关键词与所述第一伪随机函数密钥KT生成的查询索引以及使用所述共享密钥对第二伪随机函数密钥KS、标识密钥KI和查询关键词进行加密的加密结果,所述重加密的明文文档标识符集合使用所述标识密钥KI加密;
文档获取模块,用于解密所述重加密的明文文档标识符集合,将得到的明文文档标识符集合发送至云服务器,以使所述云服务器在密态文档数据库上进行查询,返回所述明文文档标识符集合对应的密态文档集合;使用对应的文档加密密钥KD进行密态文档集合的解密,得到满足查询条件的明文文档。
一种基于可信执行环境的轻量级布尔查询可搜索对称加密系统,所述系统包括:
数据所有者节点,用于:
基于安全参数,生成密钥集合,所述密钥集合包括:第一伪随机函数密钥KT、第二伪随机函数密钥KS、文档加密密钥KD和标识密钥KI
与云服务器运行密钥协商协议来生成共享密钥;
获取明文文档,并基于所述第一伪随机函数密钥KT和所述第二伪随机函数密钥KS生成所述明文文档的密态索引,以及基于所述文档加密密钥KD生成所述明文文档的密态文档之后,将所述明文文档的密态索引和密态文档上传至云服务器;
数据检索时,将基于查询关键词生成的查询令牌上传至云服务器;其中,所述查询令牌包括:根据查询关键词与所述第一伪随机函数密钥KT生成的查询索引以及使用所述共享密钥对第二伪随机函数密钥KS、标识密钥KI和查询关键词进行加密的加密结果;
解密重加密的明文文档标识符集合,将得到的明文文档标识符集合发送至云服务器;
使用对应的文档加密密钥KD进行密态文档集合的解密,得到满足查询条件的明文文档;
云服务器,用于:
与数据所有者节点运行密钥协商协议来生成共享密钥;其中,所述密钥协商协议的云服务器侧协议运行在云端TEE环境中;
将所述密态索引和密态文档分别存储在云端密态索引和密态文档数据库上;
在云端REE环境中基于所述查询令牌在密态索引数据库上查询得到对应的密态文档标识符集合之后,在云端TEE环境中对所述对应的密态文档标识符集合进行解密,并返回重加密的明文文档标识符集合;其中,所述重加密的明文文档标识符集合使用所述标识密钥KI加密;
在密态文档数据库上进行查询,返回所述明文文档标识符集合对应的密态文档集合。
一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如上述任一项所述的基于可信执行环境的轻量级布尔查询可搜索对称加密方法。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如上述任一项所述的基于可信执行环境的轻量级布尔查询可搜索对称加密方法。
与现有技术相比,本发明的积极效果为:
1.本发明针对目前的SSE方案通常为了在保证安全性的前提下提供更加丰富的查询功能会带来更大的计算、存储开销的问题,提出了基于TEE的SSE方案。通过在数据所有者和云服务器TEE之间建立安全信道进行秘密传输,并充分利用TEE的“隔离性”使其代行部分用户功能,从而在不泄露访问模式,不增加索引体积,不引入复杂运算的情况下实现了快速多关键词布尔查询。
2.本发明将SSE协议中的绝大部分操作都交由云服务器完成,且数据所有者与云服务器之间的交互次数也降到了最低,即在安全信道建立后,一次关键词查询只有一轮交互。
3.本发明相比Πpack,可以实现对未满一块索引的无填充安全存储和检索,节省了存储空间,也解决了部分结果无法返回的问题。
4.本发明的轻量级特性不仅意味着其开销小,而且方案设计简单,这使得其可以很容易地进行扩展,如引入属性加密来支持多用户访问控制,以及针对更大规模的数据且单节点处理能力有限的场景采取分布式存储的方法。
附图说明
图1是本发明方法的系统模型及流程示意图;
图2是本发明方法的倒排索引结构示意图;
图3是本发明的密态文档数据库示意图。
具体实施方式
下面结合附图对本发明进行进一步详细描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明中提出的基于TEE的SSE方法,为了实现在云服务器TEE中进行倒排表合并操作,需要数据所有者首先与云服务器运行密钥协商协议来生成共享密钥,其中云服务器侧协议运行在TEE中。该协商密钥用于加密生成文档标识符加密密钥的密钥,使得只有数据所有者自己以及云服务器TEE环境内能够计算获得文档标识符加密密钥,并进一步解密得到明文文档标识符。
按照本发明提供的方案,一种基于可信执行环境的轻量级布尔查询可搜索对称加密方法的具体步骤如下:
步骤1.初始化。数据所有者输入安全参数λ,通过随机数生成器生成密钥集Δ=(KT,KS,KD,KI),其中KT和KS用于在构建索引的过程中计算伪随机函数F,分别生成索引键值对中的Label和Value,且KT,KS,KD,KI的值均不相同。当要加密一个关键词对应的文档标识符列表时,使用KS作为F的密钥为不同的关键词生成不同的文档标识符加密密钥KE。KD为明文文档加密密钥,KI后续则会通过安全信道共享到云服务器TEE,用于TEE返回加密的文档标识符结果集。
步骤2.安全信道建立。该步骤包含身份认证和密钥协商两个阶段,数据所有者将首先通过芯片厂商提供的远程证明服务来验证云端TEE环境的可信状态,确定云服务器支持TEE功能后,数据所有者与云端之间将进行密钥协商,其中云端的协议运行是在TEE中进行。协商完成后,数据所有者与云服务器TEE内部将得到共享密钥SK用于后续保密通信,其中就包括对KS和KI的加密传输。
步骤3.文档上传。该步骤主要完成两个任务:
1)生成密态索引。数据所有者选定明文文档集,利用步骤1中生成的密钥来构建密态倒排索引的键值对(Label,Value)。其中Label是根据关键词keyword和计数器counter计算伪随机函数值得到的:
其中Hash表示哈希算法,如SM3,F为步骤1中所述伪随机函数。由于每一块索引项中能存储的文档标识符数量有限,counter表示该keyword在同一个关键词对应的第几个块中,“+”表示字符串连接。Value则是通过对明文文档标识符列表进行对称加密得到:
Value=Enc(KE,docIDset)
其中KE是使用KS作为伪随机函数F的密钥为关键词keyword生成的文档标识符加密密钥,docIDset则是明文文档标识符组成的字符串,Enc表示对称加密算法,如SM4。
2)生成密态文档。数据所有者使用选定的明文文档集,利用步骤1中生成的密钥来对明文文档内容进行对称加密。其中密钥为文档加密密钥KD,对称加密算法可以选择SM4。
完成密态索引和密态文档的生成后,数据所有者将二者一并上传至云服务器。
步骤4.关键词查询。该步骤包含数据所有者生成查询令牌以及云服务器执行检索操作两个阶段:
1)生成查询令牌。数据所有者根据查询关键词keyword以及密钥KT生成查询令牌token,发送至云服务器。为了使得云服务器能够利用token进行检索,则token中至少要包含能够匹配密态索引Label的部分,即
由于生成searchword需要用到密钥KT,保证了只有数据所有者自己才能够生成正确的token。本发明支持多关键词查询,即用户可以一次性给出多个关键词来生成多个searchword,然后将其整合到一个查询token中进行发送。为了使得云服务器TEE能够解密密态文档标识符并返回加密结果,将密钥KS,KI以及查询关键词keyword也作为token的组成部分一并发送给云服务器,这样云服务器TEE内部就可以利用KS和keyword生成文档标识符加密密钥KE来解密得到明文文档标识符,并利用KI加密明文结果集返回给用户。为了保证密钥和查询关键词的机密性,KS,KI和keyword均需要使用数据所有者与云服务器TEE的协商密钥SK加密。
2)云端检索。云服务器接收到数据所有者发送的查询token后,首先提取其中的searchword,从而可以计算
Label=Hash(searchword+counter)
并进一步在密态索引上进行检索操作。其中counter并不随token一同发送,而是云服务器自己从0开始递增,直至生成的Label在索引上的查询结果为空,于是得到包含用户查询keyword的密态文档标识符集合EdocID,并将EdocID和加密后的密钥KS,KI以及keyword发送到TEE。TEE首先利用共享密钥SK解密得到明文KS,KI以及keyword,然后就可以利用KS和keyword计算出文档标识符加密密钥KE,从而解密密态文档标识符得到明文文档标识符集合docID,并保存在TEE内存中。如果是单关键词查询,则TEE使用KI加密docID得到密文结果EncR返回给数据所有者即可;如果是多关键词布尔查询,则依据查询条件,TEE会对内存中保存的不同keyword查询结果docID之间进行布尔运算并将最终得到的明文标识符加密得到EncR,并返回给数据所有者。最后,无论是哪种查询条件,由于解密过程需要用到密钥KS,因此云服务器是无法在REE中对密态文档标识符进行解密的,且数据所有者均只需使用KI解密EncR即可得到符合查询条件的明文文档标识符集合R。
步骤5.文档取回。该步骤包含取回密文文档以及解密密文文档两个部分:
1)取回文档。数据所有者发送明文文档标识符集合R至云服务器,随后云服务器在密态文档数据库上进行查询,返回R中标识符对应的密文文档集合EDoc。
2)解密文档。数据所有者使用文档加密密钥KD解密EDoc,得到满足查询条件的明文文档集Doc。
下面以一个实施例对本发明进行具体说明。图1为本发明的系统模型及流程示意图,首先其中包括数据所有者和云服务器两个参与方,而云服务器可以进一步细分为REE和TEE两个环境。其次,本发明包括初始化、安全信道建立、文档上传、关键词查询、文档取回五个步骤。数据所有者为了节省计算、存储资源,并希望在保证数据安全的同时保留对数据的高效检索操作,在本地对明文文档进行对称加密生成密态文档EDoc,同时构造密态索引EIdx,然后将EDoc和EIdx上传至云服务器存储。云服务器承担数据存储与检索的职责,其接收数据所有者发送的查询令牌,先后在密态索引EIdx以及TEE内存中的未满一块索引上执行查询操作得到满足查询条件的文档标识符。
图2为本发明的倒排索引结构示意图,以键值对的形式存储,其中键Label是根据待查询关键词w和计数器c,使用KT作为密钥通过伪随机函数F和哈希算法计算得到的,值Value则是由m个包含该关键词的文档的标识符组成的字符串加密得到的结果。图中的计数器取值以及标识符数量m仅用作直观展示,实际上同一个wi对应的索引块是不固定的,由计数器c指示当前wi是对应相同关键词的第几块,因此c也不是一个常值,另外m表示块大小blockSize,可以根据实际情况选取合适的取值。云服务器在检索过程中将根据查询token取出相应的加密文档标识符。
图3是本发明的密态文档数据库示意图,以键值对的形式存储,其中键DocID为明文文档标识符,唯一标识一个文档,值EncDoc为加密明文文档后得到的密文文档内容。云服务器在文档取回过程中将根据明文文档标识符取回相应的密文文档。
为了更好地表达本发明中提出的基于可信执行环境的轻量级布尔查询可搜索对称加密方法,下面用一个具体的例子结合附图来对本发明的具体实施方式作进一步的说明。
步骤1.初始化。数据所有者输入安全参数λ,生成密钥集Δ=(KT,KS,KD,KI),并设置块大小为m,即一条索引项中最多存储的文档标识符数量为m;云服务器初始化存储环境,创建密态索引和密态文档数据库,其中密态索引包含Label和Value两列,密态文档包含DocID和EncDoc两列。
步骤2.安全信道建立。数据所有者通过芯片厂商提供的远程证明服务来验证云端TEE环境的可信状态,在确定目标云服务器支持TEE功能后,数据所有者与云端之间运行密钥协商协议,其中云端的协议是在TEE中运行。协商完成后,数据所有者与云服务器TEE内部将得到共享密钥SK用于后续保密通信。
步骤3.文档上传。数据所有者选定明文文档集,首先使用分词器进行分词操作,同一个文档中多次出现的关键词只计一次,不同文档中的相同关键词不进行合并,经过上述操作得到若干个(关键词,文档标识符)对,然后利用关键词keyword以及计数器counter计算哈希值来生成密态倒排索引的键并将相应的文档标识符加入该keyword对应的倒排列表,当某一个keyword的倒排列表中存储的文档标识符数量达到m时,称“块满”,对这一倒排列表整体进行对称加密来作为密态倒排索引的值Value=Enc(KE,docIDset),其中KE是使用KS作为伪随机函数F的密钥为关键词keyword生成的文档标识符加密密钥,docIDset则是明文文档标识符组成的字符串,Enc表示对称加密算法。此外,数据所有者对选定的明文文档集,利用密钥KD来对明文文档内容进行对称加密得到密文文档集。上述操作得到的密态索引和密态文档将一并被上传至云服务器。
步骤4.关键词查询。数据所有者根据查询关键词,假设是w1以及密钥KT生成查询令牌token,发送至云服务器。其中查询token中至少应该包含三部分:一是用于在密态索引上进行检索的searchword的计算方式使得云服务器可以通过递增counter来计算Label=Hash(searchword+counter),从而检索得到满足查询条件的所有密态文档标识符EdocID,比如使用w1生成的token将在图2所示的索引上查询得到Enc(id11,…,id1m)至Enc(id 1 1,…,id 1 m);二是密钥KS和关键词w1,云服务器可以在TEE环境中利用KS和w1计算出文档标识符加密密钥KE,从而解密密态文档标识符得到明文文档标识符集合docID,并保存在TEE内存中,比如解密Enc(id11,…,id1m)后将得到明文形式的id11,…,id1m;三是密钥KI,云服务器可以在TEE环境中利用KI加密文档标识符结果集返回给数据所有者。由于密钥和查询关键词需要保密,因此在传输过程中需要使用共享密钥SK加密KS,KI和w1,保证原始密钥和关键词只有数据所有者和云服务器TEE内部能够获得。对于单关键词查询,则TEE使用KI加密docID得到EncR返回给数据所有者即可,如直接加密id11,…,id1m,…,id 1 m。对于多关键词布尔查询,则依据查询条件,TEE会对内存中保存的不同keyword查询结果docID之间进行布尔运算并将最终得到的明文标识符集合加密得到EncR,并返回给数据所有者,也就是此时TEE内存中除了id11,…,id1m,…,id 1 m,可能还有查询w2得到的id21,…,id2m,…,id 2 m,若查询条件是w1 AND w2,则需要将id11,…,id1m,…,id 1 m和id21,…,id2m,…,id 2 m进行与操作后的结果加密返回。
步骤5.文档取回。数据所有者解密步骤4中返回的EncR得到明文结果集R,并发送至云服务器,云服务器根据R中的DocID在密态文档数据库EDoc上进行查询,得到R中标识符对应的密态文档集EncDoc并返回给数据所有者。随后,数据所有者在本地使用文档加密密钥KD解密密态文档集合,得到满足查询条件的明文文档集Doc。
综上所述,本发明提出的基于可信执行环境的轻量级布尔查询可搜索对称加密方法充分利用了TEE的“隔离性”,以“将密文数据发送至TEE环境解密,把对密文数据的操作转换为对明文数据的操作”为指导思想,将多关键词布尔查询转换为多次单关键词查询,再将结果明文进行简单的合并,从而大大简化了密态数据多关键词布尔查询的计算复杂度。
此外,本发明极大地优化了存储效率。经测试,对于拥有百万条记录的文档集合,当设置块大小为1时,本发明中的密态索引大小只有经典方案OXT的一半,且索引的构建时间只用了OXT的2%。
因此,本发明充分体现出“轻量级”特性,使得本发明真正具有实用价值,可以用来对大规模密态数据进行管理。
尽管为说明目的公开了本发明的具体内容、实施算法以及附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (10)

1.一种基于可信执行环境的轻量级布尔查询可搜索对称加密方法,应用于一数据所有者节点,其特征在于,所述方法包括:
基于安全参数,生成密钥集合,所述密钥集合包括:第一伪随机函数密钥KT、第二伪随机函数密钥KS、文档加密密钥KD和标识密钥KI
与云服务器运行密钥协商协议来生成共享密钥;其中,所述密钥协商协议的云服务器侧协议运行在云端TEE环境中;
获取明文文档,并基于所述第一伪随机函数密钥KT和所述第二伪随机函数密钥KS生成所述明文文档的密态索引,以及基于所述文档加密密钥KD生成所述明文文档的密态文档之后,将所述明文文档的密态索引和密态文档上传至云服务器,以使所述密态索引和密态文档分别存储在云端的密态索引和密态文档数据库上;
数据检索时,将基于查询关键词生成的查询令牌上传至云服务器,以使所述云服务器在云端REE环境中基于所述查询令牌在密态索引数据库上检索得到对应的密态文档标识符集合之后,在云端TEE环境中对所述对应的密态文档标识符集合进行解密,并返回重加密的明文文档标识符集合;其中,所述查询令牌包括:根据查询关键词与所述第一伪随机函数密钥KT生成的查询索引以及使用所述共享密钥对第二伪随机函数密钥KS、标识密钥KI和查询关键词进行加密的加密结果,所述重加密的明文文档标识符集合使用所述标识密钥KI加密;
解密所述重加密的明文文档标识符集合,将得到的明文文档标识符集合发送至云服务器,以使所述云服务器在密态文档数据库上进行查询,返回所述明文文档标识符集合对应的密态文档集合;
使用对应的文档加密密钥KD进行密态文档集合的解密,得到满足查询条件的明文文档。
2.如权利要求1所述的方法,其特征在于,所述与云服务器运行密钥协商协议来生成共享密钥之前,还包括:
通过芯片厂商提供的远程证明服务来确定所述云服务器支持TEE功能,并验证云端TEE环境的可信状态;所述远程证明服务可以完成对云服务器的身份认证。
3.如权利要求1所述的方法,其特征在于,基于所述文档加密密钥KD生成所述明文文档的密态文档,包括:
获取明文文档的文档内容;
使用所述文档加密密钥KD对文档内容进行加密,得到所述明文文档的密态文档。
4.如权利要求1所述的方法,其特征在于,基于所述第一伪随机函数密钥KT和所述第二伪随机函数密钥KS生成所述明文文档的密态索引,包括:
分别基于所述第一伪随机函数密钥KT和所述第二伪随机函数密钥KS,计算第一伪随机函数FKT和第二伪随机函数FKS
获取明文文档的关键词和明文文档标识符,并依据明文文档标识符组成的字符串docIDset;
计算所述明文文档的索引键Label=Hash(FKT(keyword)+counter);其中,Hash表示哈希算法,FKT表示使用第一伪随机函数密钥KT作为伪随机函数F的密钥,keyword表示明文文档的关键词,counter表示当前明文文档的关键词对应的块数目;
计算明文文档的索引值Value=Enc(KE,docIDset);其中;Enc表示对称加密算法,KE表示使用第二伪随机函数密钥KS作为伪随机函数F的密钥为关键词生成的文档标识符加密密钥;
基于所述明文文档的索引键Label和索引值Value,得到所述明文文档的密态索引。
5.如权利要求4所述的方法,其特征在于,所述云服务器在云端REE环境中基于所述查询令牌得到对应的密态文档标识符集合,包括:
从查询令牌中提取查询索引FKT(keyword);
初始化计数器counter后,从0开始递增,循环计算查询键Label=Hash(FKT(keyword)+counter),并在密态索引数据库中检索匹配查询键Label的索引键Label,直至所述计数器在某取值下计算得到的查询键Label在密态索引上的检索结果为空时,停止递增计数器,结束查询;
基于所述查询索引FKT(keyword)和所述计数器counter通过哈希算法计算查询键Label,以得到所述查询关键词对应的密态文档标识符集合。
6.如权利要求1所述的方法,其特征在于,云服务器在云端TEE环境中对所述对应的密态文档标识符集合进行解密,并返回重加密的明文文档标识符集合,包括:
在云端TEE环境中得到密态文档标识符集合和所述加密结果;
利用共享密钥对所述加密结果进行解密,得到第二伪随机函数密钥KS、标识密钥KI和查询关键词;
基于第二伪随机函数密钥KS和查询关键词计算出文档标识符加密密钥KE
使用文档标识符加密密钥KE解密所述对应的密态文档标识符集合,得到明文文档标识符集合;
在查询为单关键词查询的情况下,使用标识密钥KI加密明文文档标识符集合,并将重加密的明文文档标识符集合返回给数据所有者;
在查询为多关键词查询的情况下,依据查询条件对不同的明文文档标识符集合进行布尔运算,并使用标识密钥KI得到重加密的明文文档标识符集合后,返回给数据所有者。
7.一种基于可信执行环境的轻量级布尔查询可搜索对称加密装置,其特征在于,所述装置包括:
密钥生成模块,用于基于安全参数,生成密钥集合,所述密钥集合包括:第一伪随机函数密钥KT、第二伪随机函数密钥KS、文档加密密钥KD和标识密钥KI
密钥协商模块,用于与云服务器运行密钥协商协议来生成共享密钥;其中,所述密钥协商协议的云服务器侧协议运行在云端TEE环境中;
数据存储模块,用于获取明文文档,并基于所述第一伪随机函数密钥KT和所述第二伪随机函数密钥KS生成所述明文文档的密态索引,以及基于所述文档加密密钥KD生成所述明文文档的密态文档之后,将所述明文文档的密态索引和密态文档上传至云服务器,以使所述密态索引和密态文档分别存储在云端的密态索引和密态文档数据库上;
索引检索模块,用于数据检索时,将基于查询关键词生成的查询令牌上传至云服务器,以使所述云服务器在云端REE环境中基于所述查询令牌在密态索引数据库中查询得到对应的密态文档标识符集合之后,在云端TEE环境中对所述对应的密态文档标识符集合进行解密,并返回重加密的明文文档标识符集合;其中,所述查询令牌包括:根据查询关键词与所述第一伪随机函数密钥KT生成的查询索引以及使用所述共享密钥对第二伪随机函数密钥KS、标识密钥KI和查询关键词进行加密的加密结果,所述重加密的明文文档标识符集合使用所述标识密钥KI加密;
文档获取模块,用于解密所述重加密的明文文档标识符集合,将得到的明文文档标识符集合发送至云服务器,以使所述云服务器在密态文档数据库上进行查询,返回所述明文文档标识符集合对应的密态文档集合;使用对应的文档加密密钥KD进行密态文档集合的解密,得到满足查询条件的明文文档。
8.一种基于可信执行环境的轻量级布尔查询可搜索对称加密系统,其特征在于,所述系统包括:
数据所有者节点,用于:
基于安全参数,生成密钥集合,所述密钥集合包括:第一伪随机函数密钥KT、第二伪随机函数密钥KS、文档加密密钥KD和标识密钥KI
与云服务器运行密钥协商协议来生成共享密钥;
获取明文文档,并基于所述第一伪随机函数密钥KT和所述第二伪随机函数密钥KS生成所述明文文档的密态索引,以及基于所述文档加密密钥KD生成所述明文文档的密态文档之后,将所述明文文档的密态索引和密态文档上传至云服务器;
数据检索时,将基于查询关键词生成的查询令牌上传至云服务器;其中,所述查询令牌包括:根据查询关键词与所述第一伪随机函数密钥KT生成的查询索引以及使用所述共享密钥对第二伪随机函数密钥KS、标识密钥KI和查询关键词进行加密的加密结果;
解密重加密的明文文档标识符集合,将得到的明文文档标识符集合发送至云服务器;
使用对应的文档加密密钥KD进行密态文档集合的解密,得到满足查询条件的明文文档;
云服务器,用于:
与数据所有者节点运行密钥协商协议来生成共享密钥;其中,所述密钥协商协议的云服务器侧协议运行在云端TEE环境中;
将所述密态索引和密态文档分别存储在云端密态索引和密态文档数据库上;
在云端REE环境中基于所述查询令牌在密态索引数据库上查询得到对应的密态文档标识符集合之后,在云端TEE环境中对所述对应的密态文档标识符集合进行解密,并返回重加密的明文文档标识符集合;其中,所述重加密的明文文档标识符集合使用所述标识密钥KI加密;
在密态文档数据库上进行查询,返回所述明文文档标识符集合对应的密态文档集合。
9.一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如权利要求1-6任一项所述的基于可信执行环境的轻量级布尔查询可搜索对称加密方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6任一项所述的基于可信执行环境的轻量级布尔查询可搜索对称加密方法。
CN202311059769.6A 2023-08-22 2023-08-22 基于可信执行环境的轻量级布尔查询可搜索对称加密方法 Pending CN117336010A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311059769.6A CN117336010A (zh) 2023-08-22 2023-08-22 基于可信执行环境的轻量级布尔查询可搜索对称加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311059769.6A CN117336010A (zh) 2023-08-22 2023-08-22 基于可信执行环境的轻量级布尔查询可搜索对称加密方法

Publications (1)

Publication Number Publication Date
CN117336010A true CN117336010A (zh) 2024-01-02

Family

ID=89274422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311059769.6A Pending CN117336010A (zh) 2023-08-22 2023-08-22 基于可信执行环境的轻量级布尔查询可搜索对称加密方法

Country Status (1)

Country Link
CN (1) CN117336010A (zh)

Similar Documents

Publication Publication Date Title
WO2022007889A1 (zh) 基于区块链与同态加密的可搜索加密数据共享方法及系统
Zhang et al. Searchable encryption for healthcare clouds: A survey
CN110224986B (zh) 一种基于隐藏策略cp-abe的高效可搜索访问控制方法
CN107480163B (zh) 一种云环境下支持隐私保护的高效密文图像检索方法
Guan et al. Cross-lingual multi-keyword rank search with semantic extension over encrypted data
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
WO2017181911A1 (zh) 基于公钥可搜索加密的文件存储、搜索方法及存储系统
CN112800445B (zh) 一种用于密文数据的前后向安全和可验证的布尔查询方法
Cui et al. Harnessing encrypted data in cloud for secure and efficient mobile image sharing
CN108111587B (zh) 一种基于时间释放的云存储搜索方法
CN110866135B (zh) 一种基于响应长度隐藏的k-NN图像检索方法及系统
CN112543099B (zh) 一种基于边缘计算的无证书可搜索加密方法
WO2012081450A1 (ja) 暗号化データベース管理システム、クライアントおよびサーバ、自然結合方法およびプログラム
Liu et al. EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination
Yin et al. Attribute-based multiparty searchable encryption model for privacy protection of text data
CN115459967A (zh) 一种基于可搜索加密的密文数据库查询方法及系统
Gahi et al. Privacy preserving scheme for location-based services
Cui et al. Harnessing encrypted data in cloud for secure and efficient image sharing from mobile devices
Ou et al. An Efficient and Privacy‐Preserving Multiuser Cloud‐Based LBS Query Scheme
Park et al. PKIS: practical keyword index search on cloud datacenter
CN109672525B (zh) 一种具有前向索引的可搜索公钥加密方法及系统
Yan et al. Secure and efficient big data deduplication in fog computing
Zhang et al. BIB-MKS: post-quantum secure biometric identity-based multi-keyword search over encrypted data in cloud storage systems
Zou et al. A Data Sorting and Searching Scheme Based on Distributed Asymmetric Searchable Encryption.
CN108920968B (zh) 一种基于连接关键词的文件可搜索加密方法

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