CN112037870B - 支持数据分区的双服务器轻量化可搜索加密方法及系统 - Google Patents
支持数据分区的双服务器轻量化可搜索加密方法及系统 Download PDFInfo
- Publication number
- CN112037870B CN112037870B CN202010699133.8A CN202010699133A CN112037870B CN 112037870 B CN112037870 B CN 112037870B CN 202010699133 A CN202010699133 A CN 202010699133A CN 112037870 B CN112037870 B CN 112037870B
- Authority
- CN
- China
- Prior art keywords
- server
- information
- user
- key
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种支持数据分区的双服务器轻量化可搜索加密方法及系统,其中,使用者能够通过上传加密的医疗信息并给予信任的医生以授权,医生即可通过关键词搜索到所有已被授权的、含关键词信息的医疗信息对应上传者的ID,进而通过与相应的上传者联系,提供进一步的远程诊断等服务,从而不仅保证了使用者能够更安全地上传自己的个人信息到云端,也为促进医生与患者间的交流提供了隐私安全的保护,能够更好地提高医疗保健的效率并促进医患关系的友好发展;与此同时,在保证了用户信息安全的同时,通过大数据的使用和服务器的搭建,将主要运算放置在服务器端,能够更好的利用边缘计算等技术,为使用者本地客户端提供更好的用户体验。
Description
技术领域
本发明涉及可搜索加密技术领域,特别涉及一种支持数据分区的双服务器轻量化可搜索加密方法及系统。
背景技术
随着智能化时代到来,大数据的使用为查询相关信息提供了便捷;互联网的快速发展也让人们在第一时间有了查询的途径。但在网络技术日益成熟的今天,大数据提供了快速查询和精准实施的便利的同时,个人隐私安全也越来越受人们重视。
大数据时代带来的一项卓越的应用就是电子健康网络的出现,电子健康网络通过医疗信息和服务共享,为人们提供了更好、更安全的医疗保健服务。电子健康网络通过远程监控患者的身体状况、远程诊断,在不同医生之间共享患者的医疗信息等,大大提高了医疗保健的效率和结果。
然而,在互联网技术日新月异的今天,共享数据必然会存在隐私泄露的风险,如何更好地保障人们的隐私安全成为了需要解决的问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种支持数据分区的双服务器轻量化可搜索加密方法,该方法不仅保证了使用者能够更安全地上传自己的个人信息到云端,也为促进医生与患者间的交流提供了隐私安全的保护,能够更好地提高医疗保健的效率并促进医患关系的友好发展;与此同时,在保证了用户信息安全的同时,通过大数据的使用和服务器的搭建,将主要运算放置在服务器端,能够更好的利用边缘计算等技术,为使用者本地客户端提供更好的用户体验。
本发明的另一个目的在于提出一种支持数据分区的双服务器轻量化可搜索加密系统。
为达到上述目的,本发明一方面实施例提出了一种支持数据分区的双服务器轻量化可搜索加密方法,所述双服务器包括负责搜索管理的第一服务器和数据存储的第二服务器,其中,所述方法包括以下步骤:在上传数据的过程中,根据主ID和时间戳生成虚拟ID,并根据用户的主密钥生成虚拟密钥,以将虚拟账户信息加密关键词后上传给第二服务器,而对上传的数据进行授权时,利用所述虚拟密钥对要授权的数据的公钥进行签名,并将签名证书发给第一服务器;在检索的过程中,根据检索的关键词生成的搜索陷门值发给所述第一服务器,同时发送随机因子和用所述第二服务器的公钥加密的对称密钥,使得所述第一服务器将搜索陷门和发送的签名证书做运算后向所述第二服务器以不经意传输协议向所述第二服务器发起请求,同时发送传来的随机因子和加密的对称密钥,在所述第二服务器解密出对称密钥之后,用所述随机因子构建零和乱码布隆过滤器,将过滤器的结果用对称密钥加密后发回给所述第一服务器,以通过所述第一服务器将所述过滤器的结果转回给查询者,以使得所述查询者本地用对称密钥解密后利用过滤器的性质即可得到搜索结果。
本发明实施例的支持数据分区的双服务器轻量化可搜索加密方法,为了更好地保障人们的隐私安全,提出了基于可搜索加密的电子健康网络系统,使用者能够通过上传加密的医疗信息并给予信任的医生以授权,医生即可通过关键词搜索到所有已被授权的、含关键词信息的医疗信息对应上传者的ID,进而通过与相应的上传者联系,提供进一步的远程诊断等服务,从而不仅保证了使用者能够更安全地上传自己的个人信息到云端,也为促进医生与患者间的交流提供了隐私安全的保护,能够更好地提高医疗保健的效率并促进医患关系的友好发展;与此同时,在保证了用户信息安全的同时,通过大数据的使用和服务器的搭建,将主要运算放置在服务器端,能够更好的利用边缘计算等技术,为使用者本地客户端提供更好的用户体验。
另外,根据本发明上述实施例的支持数据分区的双服务器轻量化可搜索加密方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,还包括:在安全模型中,引入第三服务器和第四服务器,其中,所述第三服务器存储所述用户上传的信息,所述第四服务器传递所述查询者的请求信息。
进一步地,在本发明的一个实施例中,还包括:引入双线性映射策略和权限设定策略,以在第四服务器与上传者之间建立授权证书,使得所述第四服务器仅能接受证书列表内已被授权的上传者的查询请求。
进一步地,在本发明的一个实施例中,还包括:引入不经意传输协议策略和零和乱码布隆过滤器,以使服务器交互时不能获取搜索关键词的信息,且所述第四服务器在与所述查询者的交互中不能获取关键词和查询结果的相关信息。
为达到上述目的,本发明另一方面实施例提出了一种支持数据分区的双服务器轻量化可搜索加密系统,所述双服务器包括负责搜索管理的第一服务器和数据存储的第二服务器,其中,所述系统包括:上传模块,用于在上传数据的过程中,根据主ID和时间戳生成虚拟ID,并根据用户的主密钥生成虚拟密钥,以将虚拟账户信息加密关键词后上传给第二服务器,而对上传的数据进行授权时,利用所述虚拟密钥对要授权的数据的公钥进行签名,并将签名证书发给第一服务器;检索模块,用于在检索的过程中,根据检索的关键词生成的搜索陷门值发给所述第一服务器,同时发送随机因子和用所述第二服务器的公钥加密的对称密钥,使得所述第一服务器将搜索陷门和发送的签名证书做运算后向所述第二服务器以不经意传输协议向所述第二服务器发起请求,同时发送传来的随机因子和加密的对称密钥,在所述第二服务器解密出对称密钥之后,用所述随机因子构建零和乱码布隆过滤器,将过滤器的结果用对称密钥加密后发回给所述第一服务器,以通过所述第一服务器将所述过滤器的结果转回给查询者,以使得所述查询者本地用对称密钥解密后利用过滤器的性质即可得到搜索结果。
本发明实施例的支持数据分区的双服务器轻量化可搜索加密系统,为了更好地保障人们的隐私安全,提出了基于可搜索加密的电子健康网络系统,使用者能够通过上传加密的医疗信息并给予信任的医生以授权,医生即可通过关键词搜索到所有已被授权的、含关键词信息的医疗信息对应上传者的ID,进而通过与相应的上传者联系,提供进一步的远程诊断等服务,从而不仅保证了使用者能够更安全地上传自己的个人信息到云端,也为促进医生与患者间的交流提供了隐私安全的保护,能够更好地提高医疗保健的效率并促进医患关系的友好发展;与此同时,在保证了用户信息安全的同时,通过大数据的使用和服务器的搭建,将主要运算放置在服务器端,能够更好的利用边缘计算等技术,为使用者本地客户端提供更好的用户体验。
另外,根据本发明上述实施例的支持数据分区的双服务器轻量化可搜索加密系统还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,还包括:第一引入模块,用于在安全模型中,引入第三服务器和第四服务器,其中,所述第三服务器存储所述用户上传的信息,所述第四服务器传递所述查询者的请求信息。
进一步地,在本发明的一个实施例中,还包括:第二引入模块,用于引入双线性映射策略和权限设定策略,以在第四服务器与上传者之间建立授权证书,使得所述第四服务器仅能接受证书列表内已被授权的上传者的查询请求。
进一步地,在本发明的一个实施例中,还包括:第三引入模块,用于引入不经意传输协议策略和零和乱码布隆过滤器,以使服务器交互时不能获取搜索关键词的信息,且所述第四服务器在与所述查询者的交互中不能获取关键词和查询结果的相关信息。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的支持数据分区的双服务器轻量化可搜索加密方法的流程图;
图2为根据本发明实施例的Writer的虚拟账号生成算法示意图;
图3为根据本发明实施例的Writer的秘钥生成算法示意图;
图4为根据本发明实施例的Writer的加密算法示意图;
图5为根据本发明实施例的Writer的授权模块算法示意图;
图6为根据本发明实施例的Reader的搜索陷门的生成算法示意图;
图7为根据本发明实施例的Reader的解密模块算法示意图;
图8为根据本发明实施例的单一服务器系统模型图;
图9为根据本发明实施例的OT协议交互过程示意图;
图10为根据本发明实施例的OT的查询算法示意图;
图11为根据本发明实施例的OT的apply的算法示意图;
图12为根据本发明实施例的ZGBF的创建模块算法示意图;
图13为根据本发明实施例的ZGBF的哈希模块算法示意图;
图14为根据本发明实施例的ZGBF的检查模块算法示意图;
图15为根据本发明实施例的DH的Process算法示意图;
图16为根据本发明实施例的QM的陷门转化示意图;
图17为根据本发明实施例的系统交互过程示意图;
图18为根据本发明实施例的项目文件架构示意图;
图19为根据本发明实施例的ZGBF容量与长度关系示意图;
图20为根据本发明实施例的ZGBF准确率与长度关系示意图;
图21为根据本发明实施例的ZGBF准确率与容量关系示意图;
图22为根据本发明实施例的Trapdoor函数运行耗时占比示意图;
图23为根据本发明实施例的Reader类函数时长统计示意图;
图24为根据本发明实施例的Encrypt函数耗时占比示意图;
图25为根据本发明实施例的Delegate函数耗时占比示意图;
图26为根据本发明实施例的Writer类函数时长统计示意图;
图27为根据本发明实施例的搜索时间与数据总数关系示意图;
图28为根据本发明实施例的准确率随数据总数关系示意图;
图29为根据本发明实施例的支持数据分区的双服务器轻量化可搜索加密系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本申请是基于发明人对以下问题的认识和发现做出的:
为保证用户个人信息的安全,最好的方式就是在云服务器处存储用户加密后的密文信息,这样即使云服务器是不安全的,用户的个人信息也能够得到很好的保护。
可搜索加密技术就是能够依据关键词搜索以密文形式存储在服务器的相关信息,用户通过上传加密数据到服务器,再根据关键词生成的搜索陷门就能获取特定的文件。目前的可搜索加密技术多为单用户上传单用户查询,而在大数据的背景下,应用更广的时多用户上传和多用户搜索。
本发明正是针对这一现实问题设计的一种多用户可搜索加密系统,满足多个用户匿名上传自己被加密的医疗信息后,仍能保证有多个用户能够通过某关键词查询到相关信息。在系统中,医疗网络的使用者能够根据个人情况上传自己的医疗信息;在医生需要为某一类病患进行医疗信息分析时,能够直接通过关键词搜索获取已被授权的医疗信息的所有者信息,通过上传者信息取得联系,以便后续的远程诊断等服务的进行。
在现有的可搜索加密中,(1)一种支持多关键字和结果排序的动态可搜索加密方法设计的可搜索加密系统中,引入了时间戳认证来避免重放攻击,但是只能做到检索自己上传的数据。(2)在一种可高效更新权限的多用户可搜索加密方法和系统中,实现了基于密钥的授权功能并可以动态更新。(3)一种可搜索公钥加密方法、采用该方法的系统和服务器,采用了双线性对映射,并由此构建出基于公钥体制的可搜索加密系统,解决了密钥传输的问题。(4)在一种云存储环境下基于隐私保护的可搜索加密方法中,应用了布隆过滤器加速信息检索速度。(5)移动电子医疗中具有叛逆者追踪功能的可搜索加密系统把发明背景聚集在移动电子医疗中,可以实现细粒度的访问控制,并实现了运算轻量化。
根据对现有技术的研究,发现可搜索加密系统在分布式运算,高效性和服务器安全性方面仍有较大提升空间。同时考虑到当今电子健康网络中访问高度动态的需求以及面临的用户隐私泄露的威胁,因此,本发明提出了一种支持数据分区的双服务器轻量化可搜索加密方法及系统。
下面参照附图描述根据本发明实施例提出的支持数据分区的双服务器轻量化可搜索加密方法及系统,首先将参照附图描述根据本发明实施例提出的支持数据分区的双服务器轻量化可搜索加密方法。
其中,双服务器包括负责搜索管理的第一服务器和数据存储的第二服务器、可以理解的是,本发明实施例中有两类服务器,负责搜索管理的QM和数据存储的DH,其中DH可以部署到分布式系统中。每位用户有自己的ID,既可作为Writer上传数据,也可以作为Reader检索数据。在以下实施例中,包括4个角色,分别为上传者(Writer),查询者(Reader),数据库(Database)和搜索管理者(Query Manager)。
具体地,如图1所示,该支持数据分区的双服务器轻量化可搜索加密方法包括以下步骤:
在步骤S101中,在上传数据的过程中,根据主ID和时间戳生成虚拟ID,并根据用户的主密钥生成虚拟密钥,以将虚拟账户信息加密关键词后上传给第二服务器,而对上传的数据进行授权时,利用虚拟密钥对要授权的数据的公钥进行签名,并将签名证书发给第一服务器。
可以理解的是,Writer上传数据时:
(1)先用主ID和时间戳生成虚拟ID,用Writer主密钥生成虚拟密钥,用虚拟账户信息加密关键词后上传给DH;
(2)Writer对上传的数据进行授权时,用虚拟密钥对要授权的Reader的公钥进行签名,并将签名证书发给QM。
需要说明的是,Writer的虚拟账号生成如图2所示,Writer的秘钥生成如图3所示,Writer的加密如图4所示,Writer的授权如图5所示。
在步骤S102中,在检索的过程中,根据检索的关键词生成的搜索陷门值发给第一服务器,同时发送随机因子和用第二服务器的公钥加密的对称密钥,使得第一服务器将搜索陷门和发送的签名证书做运算后向第二服务器以不经意传输协议向第二服务器发起请求,同时发送传来的随机因子和加密的对称密钥,在第二服务器解密出对称密钥之后,用随机因子构建零和乱码布隆过滤器,将过滤器的结果用对称密钥加密后发回给第一服务器,以通过第一服务器将过滤器的结果转回给查询者,以使得查询者本地用对称密钥解密后利用过滤器的性质即可得到搜索结果。
可以理解的是,Reader检索时:
(1)根据要检索的关键词生成的搜索陷门值发给QM,同时发送随机因子和用DH的公钥加密的对称密钥;
(2)QM将搜索陷门和Writer发给此Reader的签名证书做运算后向DH以不经意传输协议向DH发起请求,同时发送Reader传来的随机因子和加密的对称密钥;
(3)DH解密出对称密钥,用随机因子构建零和乱码布隆过滤器,将过滤器的结果用对称密钥加密后发回给QM;
(4)QM将过滤器结果转回给Reader;
(5)Reader本地用对称密钥解密后利用过滤器的性质即可得到搜索结果(所有有关键词的Writer的ID)。
需要说明的是,Reader搜索陷门的生成如图5所示,Reader的解密如图6所示。
进一步地,在本发明的一个实施例中,还包括:在安全模型中,引入第三服务器和第四服务器,其中,第三服务器存储用户上传的信息,第四服务器传递查询者的请求信息。在本发明的一个实施例中,还包括:引入双线性映射策略和权限设定策略,以在第四服务器与上传者之间建立授权证书,使得第四服务器仅能接受证书列表内已被授权的上传者的查询请求;引入不经意传输协议策略和零和乱码布隆过滤器,以使服务器交互时不能获取搜索关键词的信息,且第四服务器在与查询者的交互中不能获取关键词和查询结果的相关信息。
具体而言,本发明实施例主要解决的问题是查询者如何在加密的数据库中通过关键词查询获得有关上传者的信息,同时为保证用户的隐私安全,要保证服务器不能够获得用户的任何信息。针对这个目的,本发明实施例提出了下面的安全模型:
2.1攻击模型
这一节中,本发明实施例主要提出了在可搜索加密系统中的攻击模型,基于攻击模型提出的挑战问题,设计系统框架与系统功能。
1.2.1.1恶意用户攻击服务器
对于数据库系统,服务器的安全性是最主要的。恶意用户为获取合法用户的隐私信息,更常见的就是在合法用户与服务器交互过程中或服务器数据库中获取个人隐私信息。当恶意用户攻击服务器成功时,用户的个人隐私信息暴露的风险会极具增大,用户对服务器的信任也会迅速下降。
2.2.1.2恶意服务器
对于单服务器存储而言,如果存在恶意服务器伪装合法服务器存储和交互数据,必然会给用户的隐私信息带来严重的安全威胁;而对多服务器交互的系统而言,存在服务器与服务器之间对用户个人隐私信息的交换。若在合法用户存储信息或服务器间交互信息时,系统中存在恶意服务器,用户的个人隐私信息也很难得到安全的保护。
2.2解决方式
针对攻击模型中的挑战问题,本发明实施例在设计系统模型时主要讨论了以下几种安全模型。
2.2.1单一服务器
为实现Writer上传信息、Reader得知哪个Writer拥有包含搜索关键词的信息,首先引入一个服务器S,负责存储Writer上传的加密信息并向Reader返回搜索结果的功能。但经分析可知单一服务器很难解决攻击模型中提出的两种攻击模式:
如果该单一服务器是非法服务器,在服务器连接Writer和Reader,必然会获取在某一时刻数据库的访问过程中,有某个Reader请求了某个Writer的相关隐私信息,在这种情况下,服务器就获取了(Reader,Writer)用户对的相关信息,知道了在信息交互过程中,存在某个Reader请求了Writer的个人信息;同时当服务器被恶意攻击,用户上传的个人信息必然会受到一定的安全威胁。
若以单一服务器模型提出适合项目目的的系统模型,交互过程如图8所示:
在这个模型中,Writer上传自己的ID信息和Hash后的医疗信息,Reader能够通过医疗信息的关键词向服务器申请查询,服务器能够返回查询到的所有Writer的ID信息。
这个初始模型中,服务器会在Writer查询返回结果时,得到返回信息的上传者的医疗信息与查询关键词有关的隐私信息;同时,当恶意攻击者攻击服务器时,能通过Hash碰撞得到服务器中储存的部分Reader的医疗信息;且当服务器被恶意攻击者攻破时,所有的数据都会泄露。这与本发明实施例实现该系统的初衷相悖。
2.2.2服务器分离
为了解决单一服务器存在的安全隐患,满足解决攻击模型的需求,在新的模型中,引入两个服务器:服务器Sw负责存储Writer上传的信息,服务器Sr负责传递Reader的请求信息。通过日记审计等功能保证两个服务器之间不会相互串通,同时两个服务器存储的信息数据都是独立且部分的,任一部分数据的暴露不会对Writer信息造成大的影响。
在系统工作时,通过Sw和Sr的交互,实现用户上传和用户查询的系统功能。分离服务器的模型规避了Sw获取Reader信息的问题。同时在Sr与Reader的交互过程中,为了避免Sr仍能获取Writer和Reader用户对的隐私信息,令Reader与Sw事先共享对称密钥,在Sr与Sw之间传递被对称密钥加密的检索信息,提高了系统的安全性。
但该模型在大量数据交互的过程中,Sw能够记录有关各个Writer信息被请求次数的统计信息,模型仍不可行。
2.2.3服务器改善
针对分离服务器中仍然存在的安全隐患,在系统中引入了双线性映射和权限设定的相关概念,在Sr与Writer之间建立授权证书,保证Sr仅能接受证书列表内已被授权的Reader的查询请求;同时为了满足两个服务器在交互过程中不获取任何用户信息的基本要求,即Sw在与Sr交互时不能获取搜索关键词的信息,Sr在与Reader的交互中不能获取关键词和查询结果的相关信息,本发明实施例引入了不经意传输协议(OT)和零和乱码布隆过滤器(ZGBF)等相关技术。在这种模型中,模型的四个角色功能基本确立完全,Sw承担数据库的功能,为模型中的DH;Sr承担搜索管理者的功能,为模型中的(QM)。
在DH与QM的交互过程中,原模型传输过程中仅为Reader请求的关键词检索结果,存在QM获得关键词相关信息的隐患,而使用ZGBF后,两者间传输是通过一系列Hash函数映射的序列集,保证了QM对关键词不可知性,也实现了返回正确搜索结果的目的。同时,为避免DH与QM获得关键词以及查询结果信息,引入OT协议(该系统中主要使用k-out-of-n结构)混淆Reader和Writer相关信息,消除了搜索记录,使系统具有更好的保密性,满足了攻击模型的需要。
3.1双线性映射
定义G1,G2,GT为三个阶为素数p的群,g1,g1为G1,G2的生成元。若映射
B:G1×G2→GT为双线性映射,则要求:
1.B为一个能够高效计算的函数;
2.若x1∈G1,x2∈G2,则B(x1,x2)∈GT;
3.B(g1,g2)是GT的生成元;
双线性映射在本发明实施例中主要用于将搜索方发送的陷门关键字信息做二次加密过程,以防止QM和DH学习到关于关键字和返回响应的信息。
3.2不经意传输协议
3.2.1OT协议原理
若假设用户Alice以某概率将一个消息发送给用户Bob,在协议发送完成后,Bob可知道自己是否收到该消息,但Alice却不知道Bob是否收到这个消息;另一方面,Bob不能知道除了自己要知道的信息外Alice拥有的其他信息。这个过程中的传输协议即为不经意传输协议(OT,oblivious transfer)。
不经意传输协议,是一种可保护隐私的双方通信协议,能使通信双方以一种选择模糊化的方式传送消息,并在密码学的运用上出现了满足不同需求的OT协议。
本发明实施例中,使用的是能够满足安全模型的一种OT协议——k-out-of-n,该OT协议是一种基于RSA的OT协议,其保证了信道不泄露关于传输内容的任何信息,并且在与系统其他部件的交互过程中也能够保持原有的性能。
在本系统中,OT用于消除搜索记录背景,在QM和DH传输索引的过程中混淆了上传者和搜索者的身份信息,保证QM和DH均不会获得索引以及查询结果信息,以减少用户在数据库端的隐私信息,从而具有更好的保密性。
3.3.2.2系统OT交互过程
(1)系统中DH与QM利用OT协议交互信息的过程如图9所示:
(2)系统初始化:DH公开公钥及储存关键词信息M中N个元素的序号和hash值。
(3)QM→DH:QM在向DH查询K个消息时,首先生成K个随机数并用DH公钥加密,并用得到的K个数值计算拉格朗日函数,并将该函数发给DH。
(4)DH→QM:DH将N个元素序号代入函数,将结果用自己的私钥加密,得到的加密结果为所需的混淆函数,并将信息M填入混淆函数后发给QM。
(5)QM解密消息:QM用生成的K个随机数解密混淆函数既能够得到查询信息对应的K个消息。
(6)QM验证消息:QM计算得到的Hash值如果与DH公布的Hash值一致,则验证通过,OT传输成功。
需要说明的是,OT的查询如图10所示,OT的apply如图11所示。
3.3零和乱码布隆过滤器
零和乱码布隆过滤器(ZGBF)是在布隆过滤器(BF)的基础上提出的。ZGBF的主要功能是在系统中判断某个关键词是否存在。
由于BF得到的关键词序列组中,仅通过判断数组值是否含0或全1来判断关键字的存在与否,可能使数据库通过查看返回序列是否含有1来获取某些关键字的信息。因此,采用了更加安全的ZGBF算法。
在系统工作过程中,Writer上传密文数据时,DH初始化ZGBF数组,并通过多个Hash函数将密文关键词映射为ZGBF数组的某些点,并通过在数中填充随机数,使得多个Hash值对应的数组中的点异或后为0,得到关键词的ZGBF序列组,并将该序列组存储在本地。在Reader查询关键词时,QM对该关键词信息经过ZGBF算法得到对应的序列组,在后续交互过程中只需要判断映射结果是否为0即可判断关键字是否存在。
在BF的基础上,ZGBF填充随机数并使得异或值为0的方法使数据库中存储的关键词序列具有更高的随机性。由此,ZGBF的引入一方面与OT协议结合返回查询结果,另一方面由于Hash函数的单向映射与不可碰撞性存储信息,达到了查询部件对信息不可知的要求,满足系统的安全需求。
需要说明的是,ZGBF的创建模块如图12所示,ZGBF的哈希模块如图13所示,ZGBF的检测模块如图14所示。
3.4虚拟账户
在系统中,每个Writer在申请账户时会生成一个密钥,这个密钥作为主密钥,同时将自己的ID(即用户名)作为主ID。
在上传加密信息时,引入混淆因子(根据具体应用场景选择,可以为伪随机数),将混淆因子HASH之后得到flag,将其附在主ID之后作为虚拟ID。同时用这个混淆因子和主密钥共同经过主从密钥生成算法生成虚拟密钥。[虚拟ID虚拟密钥]共同组成了虚拟账户信息,用此虚拟账户信息来进行数据的加密上传。同时Writer需要将混淆因子发送给QM。在Reader检索时,QM会根据其检索内容和权限范围,选择合适的混淆因子并计算其flag。QM将flag信息连同OT请求一起发给DH,来指定要检索的数据分区。
这样,DH在存储信息时会根据flag值分区存放,不同分区的数据使用的密钥不同,即使一个分区的密钥被攻破,也不影响其他分区数据的安全性。
在数据分区存储框架下,可以将多个数据库服务器组合起来组成DH分布式系统,每个数据库服务器负责一些分区,由QM根据flag选择合适的DH服务器发起OT请求,而无需担心数据一致性、连续性,系统的可拓展性大大提升。
需要说明的是,DH的Process如图15所示,QM的陷门转化如图16所示。
下面将结合图17对系统交互进行阐述,系统交互模型如图17所示,系统交互过程如下:
系统主要有两个功能,“Writer上传加密轨迹信息并授权”和“Reader检索”。下面分别介绍相应的过程。
(Writer上传加密轨迹信息并授权)
1、Writer:Writer使用自己的主密钥生成虚拟账户,包括虚拟ID和虚拟密钥;
2、虚拟账户→DH:虚拟账户将加密后的数据发送给DH;
3、虚拟账户→QM:虚拟账户对Reader授权并发送flag。
(Reader检索)
4、Reader→DH:Reader选择要检索的地点,生成搜索陷门发给QM;同时发送随机因子randSeed和用DH的RSAPubKey加密的AESKey;
5、QM:本地计算二次转化后的陷门信息TD′;
6、QM→DH:QM在授权范围内,基于TD’和flag用OT协议发送查询请求,并把randSeed和加密的AESKey转发给DH;
7、DH:根据OT请求和flag,在指定的数据分区用randSeed生成ZGBF数组,在解密AESKey后,用该密钥加密得到AES(ZGBF);
8、DH→QM:利用OT协议将加密的ZGBF数组返回给QM;
9、QM→Reader:QM本地对OT结果做初步处理,并将处理结果发送给Reader;
10、Reader:本地用AESKey解密获得查询结果。
系统安全性分析如下:
在这个系统中,使用双线性映射用来代替初始模型中的杂凑函数,增加了攻击者攻击服务器的难度,保证了服务器中数据的完整性和机密性。
采用的“授权”机制和Writer虚拟账户的概念,只有QM有与DH的交互权,防止Reader绕过QM直接向DH请求来骗取数据,保证了安全性;虚拟账户实现了数据存储的安全分区,不仅进一步分散了两类服务器拥有的隐私数据,更好地保证了服务器对信息的不可知性,也实现数据分区,实现了用户隐私信息的保密性。
利用ZGBF和OT等技术保证了服务器对存储数据、查询数据的不可知性,避免了因黑客入侵导致的信息泄露等安全问题。
下面将对系统开发与测试进行详细的阐述。
5.1系统开发
建立安全模型后,通过系统交互过程,进一步确定了各个角色之间的信息交互类型以及信息交互格式,同时,通过查询相关技术文献,进一步了解相关技术的实现方法与实现效果。
在系统的具体实现中,使用了Ubuntu18.04操作系统环境,并使用Python3.6语言采用面向对象编程方式构建整个代码框架,在系统中需要提前配置pypbc库、安装mysql数据库并配置系统所需的数据库用户。
系统的项目文件架构如下图18所示:其中,服务器DH_src和QM_src文件夹下,由DH_run.py和QM_run.py分别负责端口监听和对象方法调用,DH.py和QM.py则是实际的函数开发文件。
在Reader_src和Writer_src文件夹中,*_back.py负责后端功能实现,而_front.py负责前端UI设计。
此外,OT_src文件夹中包含OT的具体实现,ZGBF.py为ZGBF模块的具体实现。
整个系统使用Socket监听端口实现各个角色间的信息发送与接受,同时服务器使用mysql数据库存储信息以提高数据存储能力和处理效率。
5.2ZGBF性能测试
5.2.1ZGBF最佳长度测试
本节以及之后的性能测试部分的测试环境均为阿里云轻量应用服务器,1核Inter(R)Platinum 8163CPU@2.50GHz,2G内存,40GSSD。
首先做了一系列关于ZGBF的性能测试,以确定最佳的ZGBF的数组长度。
考虑到网络传输数据,以及ZGBF数组长度对系统效率的影响,主要将ZGBF的数组长度限制在100-200,进一步找到贴合应用的最佳长度。因此以步长为5测试100-200的数组长度下,系统的最大关键词容量如图19所示:
从最大关键词容量的测试结果中,本发明实施例能够发现当ZGBF长度定为150左右时,能保证25左右的最大系统关键词容量,在项目应用背景下已经能够较好地满足本发明实施例的需要。
为进一步测试ZGBF模块查询的正确率,将ZGBF长度限制在140-160范围内,测试了ZGBF数组查询的正确率,测试结果见图20所示。
通过图19和图20的测试结果能够看到,当ZGBF数组长度较大时,虽然系统中关键词容量和系统查询的正确率呈上升趋势,但由于单个数据包长度有上限,如果ZGBF数组长度过大,由于数据需要分片查询,必然会给系统的传输效率带来影响。通过测试结果,能够发现在ZGBF_length=150时,系统的关键词容量以及正确率已经能够较好的满足项目要求,因此在系统实现时,ZGBF数组长度定为150。
5.2.2ZGBF数组容量测试
当ZGBF数组长度定为150时,已经能够提供较好的系统关键词容量和正确性需求,进一步测试,在ZGBF数组长度为150,系统关键词容量变化导致的正确率变化趋势,测试结果见图21所示。
从测试结果中能够发现,当搜索准确度要求为85%以上时,系统中可以容纳20个左右的关键词词汇,性能基本满足应用需求。
5.3Reader类性能测试
5.3.1函数耗时占比
在系统整体框架完成后,本发明实施例对Reader类部分的代码实现做出性能比较。其中Trapdoor函数作为搜索功能实现函数,是Reader的核心函数,分析其运行时分别在服务器和本地的用时占比,如图22所示。
从图22的耗时占比能够看到,绝大部分的运算量都在服务器端(DH、QM),用户本地端只承担极小的运算量。
5.3.2函数运行时长对比
测试时,以数据库中含20个关键词为测试条件,从测试结果能够看到,整个检索过程约0.8s,且绝大部分的运行时间在服务端上,如图23所示。
5.4Writer类性能测试
同样的,对Writer类中各个函数做了同样的时间占比测试,测试结果如下:
5.4.1函数耗时占比
Writer的核心函数为Encrypt和Delegate,分别实现加密和授权功能,对这两个函数的耗时占比进行分析,得到图24和图25。可以发现,即使是数据加密过程,服务器仍然能分担不小的运算量
5.4.2函数运行时长对比
通过Writer加密4组数据,测试10次计算平均值,分析各个函数的运行时长,得到图26。从统计结果能够看到,在Writer类部分,主要耗时的部分是加密函数Encrypt,加密一组数据平均需要0.04秒。
5.5系统整体时间统计
作为可搜索加密系统,系统时效性关注的主要指标是数据检索所花费的时间。这一节测试系统搜索时间随关键词个数的变化,当关键词个数从5·104增长到105,变化趋势如图27所示。通过最小二乘法进行分析得到,每增加一万条数据,搜索时间增加374.1468秒,约合6分钟,基本符合预期目标。
5.7系统准确率测试
在系统测试中,测试了在ZGBF_length为150时,搜索准确率随关键词个数的变化,变化趋势如图28所示:
5.8测试结果分析
通过测试,验证了系统的功能与创新点:
(1)双服务器架构部署成功,与OT结合成功实现了隐私数据的分离;
(2)虚拟账户成功实现,DH的数据实现分区存放;
(3)通过对Reader ID的授权,可以做到细粒度的访问控制;
(4)数据库每增加一万条数据,检索时间增加六分钟;检索过程中99%的运算量在服务器端,客户端只承担1%的运算量,符合轻量化运算目标;
(5)检索过程中一次一密成功应用;
(6)支持多用户上传、多用户检索。
可以看到在本发明实施例提出的目标全部完成,测试通过。
下面将进一步对系统安全性进行评估,具体如下:
6.1系统特征漏洞及解决方案
6.1.1系统特征漏洞
(1)系统没有对Writer的身份、申请账户个数、上传地点真实性进行一一审核,存在被恶意用户伪造大批量虚假账户,集中上传大量虚假地点污染数据库的可能性;
(2)用户入侵QM,修改数据库,把所有的Reader的公钥改成自己的,这样相当于自己可以实现未授权访问。
6.1.2解决方案
(1)可以身份证号为依据,绑定用户手机,利用GPS查验位置信息,一人一号,但认证部分与系统主要功能可搜索加密并无太大联系,可以日后完善移动端开发,补全认证系统;
(2)可以在确保在SQL Server上启用了登录审核;确保使用特权最少的账户连接到数据库服务器;使用数字签名,在登录前,QM先发送给Reader随机数作为挑战值,需要用Reader私钥加密,返回给QM用Reader公钥解密比对认证后,授予允许访问最低权限进入数据库。
6.2系统安全性评估
6.2.1系统安全漏洞
(1)由于缺乏网络访问保护,对手可能获得对数据库的未授权访问:如果在网络或主机防火墙级别没有限制,则可以访问数据库,然后任何人都可以尝试从未经授权的位置连接到数据库;
(2)由于授权规则宽松,对手可能获得对数据库的未授权访问:数据库访问应基于最低特权配置有角色和特权,并且需要了解原理;
(3)对手可以访问数据库中的敏感PII或HBI数据:诸如透明数据加密,列级加密,EKM等其他控件为高价值PII或HBI数据提供了额外的保护机制;
(4)对手可以通过执行SQL注入来访问敏感数据:SQL注入是一种攻击,其中将恶意代码插入字符串中,然后将这些字符串传递给SQL Server实例以进行解析和执行。SQL注入的主要形式包括将代码直接插入到与SQL命令连接并执行的用户输入变量中。不太直接的攻击会将恶意代码注入到要存储在表中或作为元数据的字符串中,当随后将存储的字符串连接到动态SQL命令时,将执行恶意代码;
(5)攻击者可以由于缺乏审核而拒绝对数据库执行操作:正确记录所有安全事件和用户操作可建立系统的可追溯性,并拒绝任何可能的抵赖问题。如果没有适当的审核和日志记录控制,就不可能在系统中实现任何责任;
(6)攻击者可以篡改关键数据库安全性并拒绝采取措施;
(7)对手可能会利用缺乏监控系统并触发数据库异常流量:攻击者可能会利用入侵检测的缺乏和数据库异常活动的预防来触发数据库异常流量;
(8)攻击者可能通过拒绝服务攻击来阻止访问Reader_UI上托管的应用程序或API;
(9)攻击者可以通过损害应用程序身份获得对相关资源的长期持久访问;
(10)由于网络配置较弱,对手可能获得对Reader_UI的未授权访问将对Azure AppService的访问权限限制为选定的网络(例如IP白名单,VNET集成)。
6.2.2解决方案
(1)双服务器搭设防火墙规则,限制端口;
(2)系统暂时还没有权限分级,问题还不突出。日后考虑改进方案:确保使用特权最少的账户连接到数据库服务器;实施行级安全性RLS,以防止租户访问彼此的数据;Sysadmin角色应仅具有有效的必要用户;
(3)数据库列中的敏感数据已加密,实现可搜索加密。其余措施:确保已启用数据库级加密(TDE);确保数据库备份已加密(暂时没有数据库备份);使用SQL Server EKM保护加密密钥;如果不应将加密密钥显示给数据库引擎,请使用AlwaysEncrypted功能;
(4)在reader和writerUI上添加SQLi防御,如将特殊字符转译。其他措施:在确保在SQL Server上启用了登录审核;确保使用特权最少的账户连接到数据库服务器;在AzureSQL数据库上启用威胁检测;不要在存储过程中使用动态查询;
(5)确保在SQL Server上启用了登录审核;
(6)将数字签名添加到关键数据库安全对象;
(7)在Azure SQL数据库上启用威胁检测;
(8)尽量使用TCP,主要用户来自于Writer部门,身份经过严格筛查,若遭受dos攻击若使用Azure平台(基本Azure DDoS保护)的一部分,将自动启用网络级别的拒绝服务缓解措施。实施应用程序级别限制(例如,每个用户,每个会话,每个API)以维护服务可用性并防御DoS攻击。利用Azure API管理来管理和保护API;
(9)认证访问者真实身份的方法有很多,但并不属于本发明实施例的系统本身考虑范围内。主要解决方法:尽可能将机密存储在机密存储中。使用托管服务身份可以在Azure Active Directory上创建托管应用程序身份,并使用它来访问受AAD保护的资源;
(10)如果使用CORS,请确保仅允许信任的来源。
综上,大数据时代的到来,为人们带来的不仅是便利,更是网络和信息安全上的挑战。为了保证用户信息安全和信息隐蔽性,不仅用户自身要加强自己的安全意识,作为服务器本身,也应该为保护用户隐私做好自己的工作。
本发明实施例针对电子健康网络的数据特征以及安全隐患,基于可搜索加密的原理,并结合双线性映射、不经意传输协议、布隆过滤器和虚拟账户,为用户建立了一个安全的保密的数据库系统,为用户在大数据时代的数据搜索提供了隐私性以及时间和空间上的便利。另外,本发明具有如下的创新点:
(1)在云服务器不可信背景下仍能保证数据安全的双服务器系统架构:采用两类服务器,分别负责搜索管理和数据存储,将一种高效的基于公钥体制的不经意传输协议(OT协议)应用到服务器之前的信息交互,实现隐私数据分离。这样的构架可部署在分布式系统中,以多服务器模式提升系统整体效率。
(2)引入主从密钥管理:用主密钥生成虚拟账户上传数据,实现对主密钥的保护和数据分区,即使某个分区的数据安全被攻破,也不影响其他数据。
(3)以极小的计算成本实现细粒度的访问控制:授权更新时系统所作运算量很小,不需要对全局数据进行更新。
(4)运算轻量化:
②数据检索过程中的绝大部分运算量都由服务器承担,用户的终端运算量低。
(5)检索时采用一次一密体制,搭配随机因子,防止重放攻击,提升密钥破译的难度。
(6)支持多用户上传、多用户检索。
在以上功能的保证下,电子健康系统可以部署在第三方服务商的服务器上,而不必担心用户数据的泄露。在5G和智慧城市时代,通过分布式部署,可以充分利用雾结点的算力,提升整个系统的性能。通过主从密钥管理和一次一密,系统的安全性得到保障。同时由于终端运算量小,对硬件要求低,有利于大规模应用。
根据本发明实施例提出的支持数据分区的双服务器轻量化可搜索加密方法,为了更好地保障人们的隐私安全,提出了基于可搜索加密的电子健康网络系统,使用者能够通过上传加密的医疗信息并给予信任的医生以授权,医生即可通过关键词搜索到所有已被授权的、含关键词信息的医疗信息对应上传者的ID,进而通过与相应的上传者联系,提供进一步的远程诊断等服务,从而不仅保证了使用者能够更安全地上传自己的个人信息到云端,也为促进医生与患者间的交流提供了隐私安全的保护,能够更好地提高医疗保健的效率并促进医患关系的友好发展;与此同时,在保证了用户信息安全的同时,通过大数据的使用和服务器的搭建,将主要运算放置在服务器端,能够更好的利用边缘计算等技术,为使用者本地客户端提供更好的用户体验。
其次参照附图描述根据本发明实施例提出的支持数据分区的双服务器轻量化可搜索加密系统。
图29是本发明一个实施例的支持数据分区的双服务器轻量化可搜索加密系统的结构示意图。
如图29所示,该支持数据分区的双服务器轻量化可搜索加密系统,双服务器包括负责搜索管理的第一服务器和数据存储的第二服务器,其中,系统10包括:上传模块100和检索模块200。
其中,上传模块100用于在上传数据的过程中,根据主ID和时间戳生成虚拟ID,并根据用户的主密钥生成虚拟密钥,以将虚拟账户信息加密关键词后上传给第二服务器,而对上传的数据进行授权时,利用虚拟密钥对要授权的数据的公钥进行签名,并将签名证书发给第一服务器;检索模块200用于在检索的过程中,根据检索的关键词生成的搜索陷门值发给第一服务器,同时发送随机因子和用第二服务器的公钥加密的对称密钥,使得第一服务器将搜索陷门和发送的签名证书做运算后向第二服务器以不经意传输协议向第二服务器发起请求,同时发送传来的随机因子和加密的对称密钥,在第二服务器解密出对称密钥之后,用随机因子构建零和乱码布隆过滤器,将过滤器的结果用对称密钥加密后发回给第一服务器,以通过第一服务器将过滤器的结果转回给查询者,以使得查询者本地用对称密钥解密后利用过滤器的性质即可得到搜索结果。
进一步地,在本发明的一个实施例中,本发明实施例的系统10还包括:第一引入模块。其中,第一引入模块用于在安全模型中,引入第三服务器和第四服务器,其中,第三服务器存储用户上传的信息,第四服务器传递查询者的请求信息。
进一步地,在本发明的一个实施例中,本发明实施例的系统10还包括:第二引入模块。其中,第二引入模块用于引入双线性映射策略和权限设定策略,以在第四服务器与上传者之间建立授权证书,使得第四服务器仅能接受证书列表内已被授权的上传者的查询请求。
进一步地,在本发明的一个实施例中,本发明实施例的系统10还包括:第三引入模。其中,第三引入模块用于引入不经意传输协议策略和零和乱码布隆过滤器,以使服务器交互时不能获取搜索关键词的信息,且第四服务器在与查询者的交互中不能获取关键词和查询结果的相关信息。
需要说明的是,前述对支持数据分区的双服务器轻量化可搜索加密方法实施例的解释说明也适用于该实施例的支持数据分区的双服务器轻量化可搜索加密装置,此处不再赘述。
根据本发明实施例提出的支持数据分区的双服务器轻量化可搜索加密系统,为了更好地保障人们的隐私安全,提出了基于可搜索加密的电子健康网络系统,使用者能够通过上传加密的医疗信息并给予信任的医生以授权,医生即可通过关键词搜索到所有已被授权的、含关键词信息的医疗信息对应上传者的ID,进而通过与相应的上传者联系,提供进一步的远程诊断等服务,从而不仅保证了使用者能够更安全地上传自己的个人信息到云端,也为促进医生与患者间的交流提供了隐私安全的保护,能够更好地提高医疗保健的效率并促进医患关系的友好发展;与此同时,在保证了用户信息安全的同时,通过大数据的使用和服务器的搭建,将主要运算放置在服务器端,能够更好的利用边缘计算等技术,为使用者本地客户端提供更好的用户体验。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
Claims (8)
1.一种支持数据分区的双服务器轻量化可搜索加密方法,其特征在于,所述双服务器包括负责搜索管理的第一服务器和数据存储的第二服务器,其中,所述方法包括以下步骤:
在上传数据的过程中,根据主ID和时间戳生成虚拟ID,并根据用户的主密钥生成虚拟密钥,以将虚拟账户信息加密关键词后上传给第二服务器,而对上传的数据进行授权时,利用所述虚拟密钥对要授权的数据的公钥进行签名,并将签名证书发给第一服务器;
在检索的过程中,根据检索的关键词生成的搜索陷门值发给所述第一服务器,同时发送随机因子和用所述第二服务器的公钥加密的对称密钥,使得所述第一服务器将搜索陷门和发送的签名证书做运算后向所述第二服务器以不经意传输协议向所述第二服务器发起请求,同时发送传来的随机因子和加密的对称密钥,在所述第二服务器解密出对称密钥之后,用所述随机因子构建零和乱码布隆过滤器,将过滤器的结果用对称密钥加密后发回给所述第一服务器,以通过所述第一服务器将所述过滤器的结果转回给查询者,以使得所述查询者本地用对称密钥解密后利用过滤器的性质即可得到搜索结果。
2.根据权利要求1所述的方法,其特征在于,还包括:
在安全模型中,引入第三服务器和第四服务器,其中,所述第三服务器存储所述用户上传的信息,所述第四服务器传递所述查询者的请求信息。
3.根据权利要求2所述的方法,其特征在于,还包括:
引入双线性映射策略和权限设定策略,以在第四服务器与上传者之间建立授权证书,使得所述第四服务器仅能接受证书列表内已被授权的上传者的查询请求。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
引入不经意传输协议策略和零和乱码布隆过滤器,以使服务器交互时不能获取搜索关键词的信息,且所述第四服务器在与所述查询者的交互中不能获取关键词和查询结果的相关信息。
5.一种支持数据分区的双服务器轻量化可搜索加密系统,其特征在于,所述双服务器包括负责搜索管理的第一服务器和数据存储的第二服务器,其中,所述系统包括:
上传模块,用于在上传数据的过程中,根据主ID和时间戳生成虚拟ID,并根据用户的主密钥生成虚拟密钥,以将虚拟账户信息加密关键词后上传给第二服务器,而对上传的数据进行授权时,利用所述虚拟密钥对要授权的数据的公钥进行签名,并将签名证书发给第一服务器;
检索模块,用于在检索的过程中,根据检索的关键词生成的搜索陷门值发给所述第一服务器,同时发送随机因子和用所述第二服务器的公钥加密的对称密钥,使得所述第一服务器将搜索陷门和发送的签名证书做运算后向所述第二服务器以不经意传输协议向所述第二服务器发起请求,同时发送传来的随机因子和加密的对称密钥,在所述第二服务器解密出对称密钥之后,用所述随机因子构建零和乱码布隆过滤器,将过滤器的结果用对称密钥加密后发回给所述第一服务器,以通过所述第一服务器将所述过滤器的结果转回给查询者,以使得所述查询者本地用对称密钥解密后利用过滤器的性质即可得到搜索结果。
6.根据权利要求5所述的系统,其特征在于,还包括:
第一引入模块,用于在安全模型中,引入第三服务器和第四服务器,其中,所述第三服务器存储所述用户上传的信息,所述第四服务器传递所述查询者的请求信息。
7.根据权利要求6所述的系统,其特征在于,还包括:
第二引入模块,用于引入双线性映射策略和权限设定策略,以在第四服务器与上传者之间建立授权证书,使得所述第四服务器仅能接受证书列表内已被授权的上传者的查询请求。
8.根据权利要求6或7所述的系统,其特征在于,还包括:
第三引入模块,用于引入不经意传输协议策略和零和乱码布隆过滤器,以使服务器交互时不能获取搜索关键词的信息,且所述第四服务器在与所述查询者的交互中不能获取关键词和查询结果的相关信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010699133.8A CN112037870B (zh) | 2020-07-20 | 2020-07-20 | 支持数据分区的双服务器轻量化可搜索加密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010699133.8A CN112037870B (zh) | 2020-07-20 | 2020-07-20 | 支持数据分区的双服务器轻量化可搜索加密方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112037870A CN112037870A (zh) | 2020-12-04 |
CN112037870B true CN112037870B (zh) | 2022-10-11 |
Family
ID=73579327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010699133.8A Active CN112037870B (zh) | 2020-07-20 | 2020-07-20 | 支持数据分区的双服务器轻量化可搜索加密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112037870B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745160B (zh) * | 2022-03-22 | 2023-05-30 | 广东工业大学 | 抗关键词猜测攻击的双服务器多用户可搜索加密方法与装置 |
CN115086027B (zh) * | 2022-06-14 | 2024-02-13 | 北京原语科技有限公司 | 一种支持双服务器安全访问的随机置乱方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10176207B1 (en) * | 2015-06-09 | 2019-01-08 | Skyhigh Networks, Llc | Wildcard search in encrypted text |
CN105681280B (zh) * | 2015-12-29 | 2019-02-22 | 西安电子科技大学 | 一种云环境中基于中文的可搜索加密方法 |
CN110908959A (zh) * | 2019-10-30 | 2020-03-24 | 西安电子科技大学 | 一种支持多关键字和结果排序的动态可搜索加密方法 |
-
2020
- 2020-07-20 CN CN202010699133.8A patent/CN112037870B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112037870A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Khaliq et al. | A secure and privacy preserved parking recommender system using elliptic curve cryptography and local differential privacy | |
Kapil et al. | Attribute based honey encryption algorithm for securing big data: Hadoop distributed file system perspective | |
Darwish et al. | Decentralizing privacy implementation at cloud storage using blockchain-based hybrid algorithm | |
CN112134864B (zh) | 一种基于双区块链结构的证据链平台及其实现方法 | |
CN114239046A (zh) | 数据共享方法 | |
Miao et al. | VKSE-MO: Verifiable keyword search over encrypted data in multi-owner settings | |
Yan et al. | Integrity audit of shared cloud data with identity tracking | |
CN112037870B (zh) | 支持数据分区的双服务器轻量化可搜索加密方法及系统 | |
Chen et al. | User differentiated verifiable file search on the cloud | |
Ahmed et al. | Toward fine‐grained access control and privacy protection for video sharing in media convergence environment | |
CN110572392A (zh) | 一种基于Hyperledger网络的身份认证方法 | |
Sharma | A framework of big data as service platform for access control & privacy protection using blockchain network | |
Nie et al. | Time‐enabled and verifiable secure search for blockchain‐empowered electronic health record sharing in IoT | |
Tutubala et al. | A hybrid framework to improve data security in cloud computing | |
Mughaid et al. | Intelligent cybersecurity approach for data protection in cloud computing based Internet of Things | |
Rastogi et al. | Secured identity management system for preserving data privacy and transmission in cloud computing | |
Hu et al. | Assuring spatio-temporal integrity on mobile devices with minimum location disclosure | |
CN114826702A (zh) | 数据库访问密码加密方法、装置和计算机设备 | |
Kim et al. | Secure user authentication based on the trusted platform for mobile devices | |
Jaiswal et al. | Secure-e-Share: Data leakage Detection and Prevention with Secured Cloud Storage | |
CN106411826A (zh) | 一种数据访问的方法及设备 | |
Adlam et al. | Applying Blockchain Technology to Security-Related Aspects of Electronic Healthcare Record Infrastructure | |
Raja et al. | An enhanced study on cloud data services using security technologies | |
Krishna et al. | Security on Data Auditing Protocols for Cloud Storage Data | |
Sri et al. | Privacy preserving using Diffie-Hellman and an envelope protocol through key handling techniques 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 |