CN106961427A - 一种基于5g通信标准的密文数据搜索方法 - Google Patents
一种基于5g通信标准的密文数据搜索方法 Download PDFInfo
- Publication number
- CN106961427A CN106961427A CN201710140081.9A CN201710140081A CN106961427A CN 106961427 A CN106961427 A CN 106961427A CN 201710140081 A CN201710140081 A CN 201710140081A CN 106961427 A CN106961427 A CN 106961427A
- Authority
- CN
- China
- Prior art keywords
- document
- ciphertext
- keyword
- service end
- key
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于5g通信标准的密文数据搜索方法,能够减少用户客户端与服务端之间的通信开销。方法包括:在数据提供者客户端加密正向索引得到正向索引文件,并对文档明文进行逐行加密,得到密文集合;服务端根据正向索引文件,创建密文形式的倒排索引表;在服务端,接收用户上传的查询陷门,查询陷门包括:关键词陷门和文档编号解密密钥;判断倒排索引表是否有与关键词陷门一致的索引项,若有,则以文档编号解密密钥对文档编号密文进行解密,密文集合中的文档按照关键词与文档的相关度从大到小进行排序,结合关键词位置信息,向用户客户端返回关键词与文档的相关度排名前k的文档摘要密文和相应的文档编号密文。本发明适用于信息安全技术领域。
Description
技术领域
本发明涉及信息安全技术领域,特别是指一种基于5g通信标准的密文数据搜索方法。
背景技术
第五代(5g)移动通信技术的提出吸引了大众的注意力,随后多个国家加速了对5g技术的研究,5g包含多种技术,因此相应的也需要采取多种安全机制,特别是多种网络的共存产生的网络融合也带来了诸多需要解决的问题,包括5g通信标准下的密文数据安全搜索。5g是一种全新的技术,是特指传输速率达到10GB/S的新一代移动通信技术,相比于4g技术,5g技术有更多的创新,4g是对3g网络技术的扩展,提高了网络带宽的利用率,增强了网络传输速率,4g网络是以通信设备为核心的格局,5g是以功能为核心的网络,并结合了网络功能虚拟化、定义网络等关键技术,体现出了高灵活性和高动态扩展等特性,由此发展而来的5g标准下的数据安全搜索就是其特性之一,在搜索5g通信标准下的数据时有多个安全隐患需要考虑,例如:
第一、数据传输安全,数据传输安全是指客户端与数据接收端之间通信前后的数据一致性和隐秘性,现有的数据通信方式多半是以超文本传输协议(HyperText TransferProtocol,HTTP)、文件传输协议(File Transfer Protocol,FTP)、远程登录(TELNET)等,为了保证数据在传输过程中不被非法用户窃取和篡改,可以通过增加安全套接层(SecureSockets Layer,SSL)数字证书来提供对传输数据的加密、服务器认证、消息完整性校验等方式来保证数据的安全。
第二、信道安全,即信道中的数据是否安全,保护机密的数据,确保数据的完整性,防止数据被破坏或丢失,信道中存在着各种各样的漏洞,非法用户可以基于此对其发起攻击,从而导致信息的泄露,通常的安全措施是在***中增加加密模块,多重身份验证来保障数据的相对安全。
现有技术中,在搜索5g通信标准下的数据,针对每次搜索,会想用户客户端返回全部的搜索结果,导致用户客户端与服务端之间的通信开销大。
发明内容
本发明要解决的技术问题是提供一种基于5g通信标准的密文数据搜索方法,以解决现有技术所存在的用户客户端与服务端之间的通信开销大的问题。
为解决上述技术问题,本发明实施例提供一种基于5g通信标准的密文数据搜索方法,包括:
在数据提供者客户端建立文档与关键词的正向索引,对建立的正向索引进行加密得到加密后的正向索引文件,并对文档明文进行逐行加密,得到密文集合,其中,所述正向索引的索引项包括:文档编号、关键词、关键词位置信息、关键词与文档的相关度;
将加密得到的正向索引文件和密文集合上传至服务端;
在服务端,根据接收到的正向索引文件,创建密文形式的倒排索引表;
在服务端,接收用户上传的查询陷门,其中,所述查询陷门包括:关键词陷门和文档编号解密密钥;
判断倒排索引表是否有与关键词陷门一致的索引项,若有,则以文档编号解密密钥对文档编号密文进行解密,根据解密结果,密文集合中的文档按照关键词与文档的相关度从大到小进行排序,结合关键词位置信息,向用户客户端返回关键词与文档的相关度排名前k的文档摘要密文和相应的文档编号密文;
在用户客户端对文档摘要密文进行逐行解密,根据解密得到的摘要明文,选中至少一个文档编号密文发送至服务端,服务端返回相应的文档密文至用户客户端;
在用户客户端,对服务端返回的文档密文进行解密。
进一步地,所述对建立的正向索引进行加密得到加密后的正向索引文件,并对文档明文进行逐行加密,得到密文集合包括:
生成密钥x、y、k;
利用密钥x结合第一加密算法对关键词wi进行加密,生成C(wi);
采用保序加密算法对关键词与文档的相关度Si,j进行加密,生成C(Si,j),其中,i代表关键词的下标,j代表文档的下标;
利用第二加密算法,结合密钥y、关键词wi、生成fy(wi),再以fy(wi)作为密钥结合安全对称加密算法对文档编号Idj、关键词位置信息Loci,j、C(Si,j)的拼接字符串进行加密,得到C(Idj+Loci,j+C(Si,j));
根据C(wi)和C(Idj+Loci,j+C(Si,j)),生成正向索引文件,其中,正向索引文件中的每一个正向索引项包括:C(wi)和C(Idj+Loci,j+C(Si,j));
利用密钥k对文档明文进行逐行加密,得到密文集合。
进一步地,所述生成密钥x、y、k包括:
利用随机函数和随机种子生成随机字符串x1、y1、k1;
将x1作为输入结合哈希函数SHA-1生成密钥x;
将y1、k1作为输入结合哈希函数SHA-256生成密钥y、k,其中,y为256位密钥,k为256位密钥。
进一步地,所述在服务端,根据接收到的正向索引文件,创建密文形式的倒排索引表包括:
在服务端上,使用MapReduce并行计算模型对正向索引文件中的数据进行整合,通过Map函数接收<C(Idj+Loci,j+C(Si,j)),C(wi)>形式的输入,产生<C(wi),C(Idj+Loci,j+C(Si,j))>形式的中间输出;
通过Reduce函数以中间输出作为输入,产生<C(wi),List(C(Idj+Loci,j+C(Si,j)))>形式的输出;
汇总Reduce函数的输出结果,得到倒排索引表,倒排索引表中的数据均为密文形式;
其中,<C(wi),List(C(Idj+Loci,j+C(Si,j)))>中List(·)表示相同关键词下不同索引项之集合。
进一步地,所述在服务端,接收用户上传的查询陷门之前,所述方法还包括:
在用户客户端,接收用户提交的关键词wi;
利用密钥x结合第一加密算法对关键词wi进行加密,生成关键词陷门C(wi);
利用第二加密算法,结合密钥y、关键词wi、生成文档编号解密密钥fy(wi);
根据生成的关键词陷门C(wi)和文档编号解密密钥fy(wi),得到查询陷门T={C(wi),fy(wi)}。
进一步地,所述判断倒排索引表是否有与关键词陷门一致的索引项,若有,则以文档编号解密密钥对文档编号密文进行解密,根据解密结果,密文集合中的文档按照关键词与文档的相关度从大到小进行排序,结合关键词位置信息,向用户客户端返回关键词与文档的相关度排名前k的文档摘要密文和相应的文档编号密文包括:
在服务端,将T={C(wi),fy(wi)}解析成T=(τ1,τ2),其中τ1=C(wi),τ2=fy(wi);
判断倒排索引表中是否有与τ1一致的索引项;
若有,则以τ2作为解密密钥进行解密,得到文档编号密文对应的明文Idj,其中,每一个解密之后的文档编号都对应着关键词与该文档的相关度C(Si,j);
密文集合中的文档根据关键词与文档的相关度C(Si,j)从大到小进行排序,得到经过排序的文档;
根据排序后的文档,服务端将关键词与文档的相关度排名前k的文档摘要密文发送至用户客户端。
进一步地,所述根据排序后的文档,服务端将关键词与文档的相关度排名前k的文档摘要密文发送至用户客户端包括:
在服务端对关键词位置信息Loci,j进行解密,并遍历相应的文档,根据解密出来的行号将相应的行密文取出,作为文档摘要密文;
将文档编号密文C(Idj+Loci,j+C(Si,j))、相应的文档摘要密文返回至用户客户端。
进一步地,所述在用户客户端对文档摘要密文进行逐行解密,根据解密得到的摘要明文,选中至少一个文档编号密文发送至服务端,服务端返回相应的文档密文至用户客户端包括:
在用户客户端对文档摘要密文进行逐行解密,得到多条文档摘要明文<Idj,R(wi,j,n)>,其中,Idj表示编号为j的文档编号,R(wi,j,n)表示编号为i的关键词、出现在编号为j的文档的第n行;
根据解密得到的多条文档摘要明文,选中至少一个文档编号密文发送至服务端;
服务端利用密钥fy(wi)对接收到的所述至少一个文档编号密文进行解密,根据解密结果,返回相应的文档密文至用户客户端。
进一步地,所述在用户客户端,对服务端返回的文档密文进行解密包括:
在用户客户端,利用密钥k对服务端返回的文档密文进行解密。
进一步地,所述在用户客户端,对服务端返回的文档密文进行解密之后还包括:
若解密得到的文档明文符合用户的需求,则结束本次搜索;
若解密得到的文档明文不符合用户的需求,则再次向服务端发出选中的文档编号密文。
本发明的上述技术方案的有益效果如下:
上述方案中,在数据提供者客户端建立文档与关键词的正向索引,对建立的正向索引进行加密得到加密后的正向索引文件,并将加密后的正向索引文件发送至服务端;服务端根据接收到的正向索引文件,创建密文形式的倒排索引表,从而通过利用服务端的计算能力减少了数据提供者客户端的计算开销;并结合关键词在文档中的位置信息,使得用户在执行查询请求时,服务端首先仅会返回符合用户预查结果的前k个结果的摘要信息及和相应的文档编号密文,而不是全部结果的全部文档密文,从而能够大幅减少用户客户端与服务端之间的通信开销。
附图说明
图1为本发明实施例提供的基于5g通信标准的密文数据搜索方法的流程示意图;
图2为本发明实施例提供的基于5g通信标准的密文数据搜索***的结构示意图;
图3为本发明实施例提供的基于5g通信标准的密文数据搜索方法的详细流程示意图;
图4为本发明实施例提供的正向索引的明文结构示意图;
图5为本发明实施例提供的生成密钥的流程示意图;
图6为本发明实施例提供的正向索引中索引项的加密流程示意图;
图7为本发明实施例提供的正向索引密文结构示意图;
图8为本发明实施例提供的倒排索引表结构示意图;
图9为本发明实施例提供的索引查询流程示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的用户客户端与服务端之间的通信开销大的问题,提供一种基于5g通信标准的密文数据搜索方法。
参看图1所示,本发明实施例提供的基于5g通信标准的密文数据搜索方法,包括:
步骤101,在数据提供者客户端建立文档与关键词的正向索引,对建立的正向索引进行加密得到加密后的正向索引文件,并对文档明文进行逐行加密,得到密文集合,其中,所述正向索引的索引项包括:文档编号、关键词、关键词位置信息、关键词与文档的相关度;
步骤102,将加密得到的正向索引文件和密文集合上传至服务端;
步骤103,在服务端,根据接收到的正向索引文件,创建密文形式的倒排索引表;
步骤104,在服务端,接收用户上传的查询陷门,其中,所述查询陷门包括:关键词陷门和文档编号解密密钥;
步骤105,判断倒排索引表是否有与关键词陷门一致的索引项,若有,则以文档编号解密密钥对文档编号密文进行解密,根据解密结果,密文集合中的文档按照关键词与文档的相关度从大到小进行排序,结合关键词位置信息,向用户客户端返回关键词与文档的相关度排名前k的文档摘要密文和相应的文档编号密文;
步骤106,在用户客户端对文档摘要密文进行逐行解密,根据解密得到的摘要明文,选中至少一个文档编号密文发送至服务端,服务端返回相应的文档密文至用户客户端;
步骤107,在用户客户端,对服务端返回的文档密文进行解密。
本发明实施例所述的基于5g通信标准的密文数据搜索方法,在数据提供者客户端建立文档与关键词的正向索引,对建立的正向索引进行加密得到加密后的正向索引文件,并将加密后的正向索引文件发送至服务端;服务端根据接收到的正向索引文件,创建密文形式的倒排索引表,从而通过利用服务端的计算能力减少了数据提供者客户端的计算开销;并结合关键词在文档中的位置信息,使得用户在执行查询请求时,服务端首先仅会返回符合用户预查结果的前k个结果的摘要信息及和相应的文档编号密文,而不是全部结果的全部文档密文,从而能够大幅减少用户客户端与服务端之间的通信开销。
如图2所示,实现本实施例所述的基于5g通信标准的密文数据搜索方法需要相应的***,所述***可以包括:服务端、数据提供者客户端、合法授权用户客户端(简称:用户客户端),其中,所述数据提供者客户端用于向服务端提供加密后的正向索引文件和密文集合;服务端根据接收到的正向索引文件,创建密文形式的倒排索引表;所述用户客户端中的用户指的是合法授权用户,所述合法授权用户包括:数据提供者;所述用户客户端用于向服务端提交查询陷门,并接收服务端返回的密文信息,在整个过程中正向索引文件、倒排索引表、查询陷门、密文文档缺一不可,每个子项都有各自负责的工作,通过协议的有序进行,使得用户的密文查询过程顺序的进行。
本实施例中,在数据提供者客户端建立文档与关键词的正向索引的步骤包括:
如图3所示,在数据提供者客户端先统计出各个文档中所含关键词,建立文档与关键词的正向索引,如图4所示,每一个正向索引项包括文档编号Idj、关键词wi、关键词位置信息Loci,j、关键词与文档的相关度Si,j,其中,i代表关键词的下标,j代表文档的下标,二者组合在一起时可锁定某个文档下的某个关键词。
本实施例中,在统计关键词时,首先遍历所有的文档,然后以预定的规则提取文档当中的关键词,例如,假设本实施例提供的文档数据来源于RFC,该文档数据为全英文字符组成,几乎涵盖了所有的互联网通信协议,所以以换行符、空格符等特殊符号对文本单词进行分割,得到文档的关键词集合、相应的关键词词频、关键词总数等信息,并根据关键词词频、关键词总数计算关键词与文档的相关度。
在前述基于5g通信标准的密文数据搜索方法的具体实施方式中,进一步地,所述对建立的正向索引进行加密得到加密后的正向索引文件,并对文档明文进行逐行加密,得到密文集合包括:
生成密钥x、y、k;
利用密钥x结合第一加密算法对关键词wi进行加密,生成C(wi);
采用保序加密算法对关键词与文档的相关度Si,j进行加密,生成C(Si,j),其中,i代表关键词的下标,j代表文档的下标;
利用第二加密算法,结合密钥y、关键词wi、生成fy(wi),再以fy(wi)作为密钥结合安全对称加密算法对文档编号Idj、关键词位置信息Loci,j、C(Si,j)的拼接字符串进行加密,得到C(Idj+Loci,j+C(Si,j));
根据C(wi)和C(Idj+Loci,j+C(Si,j)),生成正向索引文件,其中,正向索引文件中的每一个正向索引项包括:C(wi)和C(Idj+Loci,j+C(Si,j));
利用密钥k对文档明文进行逐行加密,得到密文集合。
在前述基于5g通信标准的密文数据搜索方法的具体实施方式中,进一步地,所述生成密钥x、y、k包括:
利用随机函数和随机种子生成随机字符串x1、y1、k1;
将x1作为输入结合哈希函数SHA-1生成密钥x;
将y1、k1作为输入结合哈希函数SHA-256生成密钥y、k,其中,y为256位密钥,k为256位密钥。
本实施例中,如图5所示,生成密钥x、y、k的具体步骤可以包括:先通过自定义的随机函数Random(·)和随机种子生成随机字符串x1、y1、k1,将随机字符串x1作为输入结合哈希函数SHA-1生成密钥x,因为x是用于加密关键词,一般而言,关键词字符串长度较短,为节省存储开销,可以选用SHA-1生成160位的密钥x。将y1、k1作为输入结合哈希函数SHA-256生成密钥y、k(SHA-256算法加密之后会生成256位的输出结果),其中,y为256位密钥,是因为需要通过对称加密算法AES256生成加密文档编号的密钥,而AES256是必须以256位的密钥作为输入的;其中,k为256位密钥,是因为用于加密文档明文,考虑其安全性,选择生成256位的密钥,生成的密钥x、y、k以文档形式存储在数据提供者客户端和用户客户端当中。
本实施例中,由数据提供者在数据提供者客户端完成所有的加密操作,并上传至服务端,需要进行加密的包含5个部分:文档关键词wi、文档编号Idj、文档与关键词的相关度Si,j、文档明文,关键词位置信息Loci,j。
本实施例中,根据索引项中各子项的作用不同,选用不同的加密密钥和加密函数对其进行处理,如图6所示,所述对建立的正向索引进行加密得到加密后的正向索引文件具体步骤可以包括:
采用保序加密算法(Order Preserving Encryption,OPE)对关键词与文档的相关度Si,j进行加密,生成C(Si,j),保序加密算法的特点在于,Si,j加密之后在服务端可在其密文状态下比较关键词与文档的相关度值之间的大小关系,对其依照大小顺序进行排序;利用密钥x结合第一加密算法(例如,哈希运算消息认证算法HMAC-SHA1(该算法会输出密钥长度为160位的哈希序列))对wi进行加密,利用第二加密算法(例如,哈希函数簇中的HMAC-SHA256(该算法会输出密钥长度为256位的哈希序列)),结合密钥y、关键词wi、生成fy(wi),再以fy(wi)作为密钥结合安全对称加密算法(例如,AES256算法)对Idj、Loci,j、C(Si,j)的拼接字符串进行加密,具体如图7所示,最终生成多个加密的正向索引文件,正向索引文件中的每一个正向索引项包括:C(wi)、C(Idj+Loci,j+C(Si,j))。
本实施例中,出于安全方面的考虑,用256位的密钥k结合AES256对文档明文进行逐行加密(这是改进协议的重要一步,只有这样才能使得服务端具备查询摘要的能力),得到密文集合C,最后,将加密得到的正向索引文件和密文集合C一起上传至服务端。
在前述基于5g通信标准的密文数据搜索方法的具体实施方式中,进一步地,所述在服务端,根据接收到的正向索引文件,创建密文形式的倒排索引表包括:
在服务端上,使用MapReduce并行计算模型对正向索引文件中的数据进行整合,通过Map函数接收<C(Idj+Loci,j+C(Si,j)),C(wi)>形式的输入,产生<C(wi),C(Idj+Loci,j+C(Si,j))>形式的中间输出;
通过Reduce函数以中间输出作为输入,产生<C(wi),List(C(Idj+Loci,j+C(Si,j)))>形式的输出;
汇总Reduce函数的输出结果,得到倒排索引表,倒排索引表中的数据均为密文形式;
其中,<C(wi),List(C(Idj+Loci,j+C(Si,j)))>中List(·)表示相同关键词下不同索引项之集合。
本实施例中,在服务端构建倒排索引表,服务端接收数据提供者客户端上传的加密处理后的正向索引文件后,利用并行计算模型MapReduce(Mapreduce是一个国外研发的计算框架,无中文名称)对其进行处理并最后转化为倒排索引表。MapReduce将对大数据集的操作分发给一个主节点管理下的各个从节点共同完成,其中,主节点即负责所有任务分配的计算机,从节点即完成主节点所分配任务的计算机,然后通过整合各个节点的中间结果得到最终结果,MapReduce框架负责处理了并行计算当中的分布式存储、工作调度、负载均衡、容错均衡、容错处理以及网络通信等复杂问题,并把处理过程高度抽象为两个函数:Map和Reduce,Map负责把任务分解成多个任务,Reduce负责把分解后多任务处理的结果汇总起来。
本实施例中,Map函数接收<C(Idj+Loci,j+C(Si,j)),C(wi)>形式的输入(因为Map仅接受<Key,Value>形式输入数据,所以可以将Idj、Loci,j、C(Si,j)之间用“+”号连接起来,“+”号表示连接符),然后产生<C(wi),C(Idj+Loci,j+C(Si,j))>形式的中间输出,再通过Reduce函数以中间输出作为输入,产生<C(wi),List(C(Idj+Loci,j+C(Si,j)))>形式的输出,如图8所示,<C(wi),List(C(Idj+Loci,j+C(Si,j)))>中List(·)表示相同关键词下不同索引项之集合,最后汇总所有的Reduce结果,得到倒排索引表,倒排索引表中所有数据均为密文形式。
在前述基于5g通信标准的密文数据搜索方法的具体实施方式中,进一步地,所述在服务端,接收用户上传的查询陷门之前,所述方法还包括:
在用户客户端,接收用户提交的关键词wi;
利用密钥x结合第一加密算法对关键词wi进行加密,生成关键词陷门C(wi);
利用第二加密算法,结合密钥y、关键词wi、生成文档编号解密密钥fy(wi);
根据生成的关键词陷门C(wi)和文档编号解密密钥fy(wi),得到查询陷门T={C(wi),fy(wi)}。
本实施例中,查询陷门包括:关键词陷门C(wi)和文档编号解密密钥fy(wi)两部分,用户客户端根据用户提交的要查询的关键词wi,利用第一加密算法,例如,哈希函数π:{0,1}k×{0,1}*→{0,1}p(其中,k、*表示参与计算的参数位数,p表示计算之后的结果位数),结合密钥x对用户提交的关键字进行加密,生成要查询的关键词陷门C(wi),并利用第二加密算法,例如,随机函数f:{0,1}k×{0,1}*→{0,1}l(其中,k、*表示参与计算的参数位数,l表示计算之后的结果位数),结合密钥y和关键词wi生成fy(wi),其中涉及到的具体算法与加密索引结构时对应的算法一致,将此C(wi)和fy(wi)一起上传至服务端。
本实施例中,生成查询陷门的操作由用户客户端完成,具体的,用户在用户客户端提交关键词wi,可以以x作为密钥结合HMAC-SHA1算法生成C(wi)(加密方式与生成正向索引时使用的方法保持一致),利用哈希函数簇中的HMAC-SHA256算法,结合密钥y、关键词wi、生成fy(wi),最终生成查询陷门T={C(wi),fy(wi)}并上传至服务端,其中,在T中,C(wi)表示关键词陷门和fy(wi)表示文档编号解密密钥。
在前述基于5g通信标准的密文数据搜索方法的具体实施方式中,进一步地,所述判断倒排索引表是否有与关键词陷门一致的索引项,若有,则以文档编号解密密钥对文档编号密文进行解密,根据解密结果,密文集合中的文档按照关键词与文档的相关度从大到小进行排序,结合关键词位置信息,向用户客户端返回关键词与文档的相关度排名前k的文档摘要密文和相应的文档编号密文包括:
在服务端,将T={C(wi),fy(wi)}解析成T=(τ1,τ2),其中τ1=C(wi),τ2=fy(wi);
判断倒排索引表中是否有与τ1一致的索引项;
若有,则以τ2作为解密密钥进行解密,得到文档编号密文对应的明文Idj,其中,每一个解密之后的文档编号都对应着关键词与该文档的相关度C(Si,j);
密文集合中的文档根据关键词与文档的相关度C(Si,j)从大到小进行排序,得到经过排序的文档;
根据排序后的文档,服务端将关键词与文档的相关度排名前k的文档摘要密文发送至用户客户端。
本实施例中,如图9所示,服务端接收查询陷门T={C(wi),fy(wi)}之后,将其解析成T=(τ1,τ2)(其中τ1=C(wi),τ2=fy(wi)),在倒排索引表中查询是否有与τ1一致的索引项,若有,则以τ2作为解密密钥结合安全对称加密算法(例如,AES256)对<ListC(Idj)>进行解密,得到文档编号密文对应的明文Idj,每一个解密之后的文档编号都对应着关键词与该文档之间的相关度C(Si,j),服务端再根据<List(C(Si,j))>之间的数值大小关系进行排序(因为Si,j是由保序加密算法OPM进行加密的,所以C(Si,j)即使是密文状态,仍然能保持大小关系),得到经过排序的Order<List(Idj+C(Si,j))>之后,服务端将返回相关度排名前k(在海量数量下,包含wi的文档数较多,将所有的匹配结果全部返回不但会占用大量的通信带宽,还会极大增加客户端的解密时的计算开销)的文档摘要密文至用户客户端,其中,k值为预先设定的。
在前述基于5g通信标准的密文数据搜索方法的具体实施方式中,进一步地,所述根据排序后的文档,服务端将关键词与文档的相关度排名前k的文档摘要密文发送至用户客户端包括:
在服务端对关键词位置信息Loci,j进行解密,并遍历相应的文档,根据解密出来的行号将相应的行密文取出,作为文档摘要密文;
将文档编号密文C(Idj+Loci,j+C(Si,j))、相应的文档摘要密文返回至用户客户端。
本实施例中,因为倒排索引表中的信息包括:关键词出现在文档中的位置信息,服务端可以对所有的位置信息进行解密,然后通过遍历相关文档,根据解密出来的行号将所有的相关“行密文”取出,作为文档摘要密文,再将文档编号密文C(Idj+Loci,j+C(Si,j))、相应的文档摘要密文返回至用户客户端。
在前述基于5g通信标准的密文数据搜索方法的具体实施方式中,进一步地,所述在用户客户端对文档摘要密文进行逐行解密,根据解密得到的摘要明文,选中至少一个文档编号密文发送至服务端,服务端返回相应的文档密文至用户客户端包括:
在用户客户端对文档摘要密文进行逐行解密,得到多条文档摘要明文<Idj,R(wi,j,n)>,其中,Idj表示编号为j的文档编号,R(wi,j,n)表示编号为i的关键词、出现在编号为j的文档的第n行;
根据解密得到的多条文档摘要明文,选中至少一个文档编号密文发送至服务端;
服务端利用密钥fy(wi)对接收到的所述至少一个文档编号密文进行解密,根据解密结果,返回相应的文档密文至用户客户端。
本实施例中,在用户客户端接收到服务端返回的文档摘要密文之后,以密钥k结合算法AES256对文档摘要密文进行逐行解密,这样,用户在用户客户端可以看到多条摘要明文<Idj,R(wi,j,n)>,其中,R(wi,j,n)表示编号为i的关键词、出现在编号为j的文档的第n行,和常用的明文搜索引擎里返回的查询摘要一致,用户可以在用户客户端自行浏览;然后,用户在用户客户端浏览文档摘要明文后,可以选中一个或多个与自己需求最相关的文档摘要,并查看与之匹配的文档编号密文List<C(Idj+Loci,j+C(Si,j))>(此时Idj、Loci,j、C(Si,j)组合在一起是一个密文整体,无法单独拆分返回),将List<C(Idj+Loci,j+C(Si,j))>发送至服务端。
本实施例中,服务端接到用户选择的文档编号密文List<C(Idj+Loci,j+C(Si,j))>之后,通过使用密钥fy(wi)对C(Idj+Loci,j+C(Si,j))进行解密得到Idj,返回与之对应的文档密文至用户客户端。
在前述基于5g通信标准的密文数据搜索方法的具体实施方式中,进一步地,所述在用户客户端,对服务端返回的文档密文进行解密包括:
在用户客户端,利用密钥k对服务端返回的文档密文进行解密。
本实施例中,在用户客户端得到服务端返回用户指定的文档对应的文档密文之后,用密钥k结合算法ε:{0,1}l×{0,1}r→{0,1}l进行解密,其中,l、r分别表示参与计算的参数位数,由具体实验情况选定。
在前述基于5g通信标准的密文数据搜索方法的具体实施方式中,进一步地,所述在用户客户端,对服务端返回的文档密文进行解密之后还包括:
若解密得到的文档明文符合用户的需求,则结束本次搜索;
若解密得到的文档明文不符合用户的需求,则再次向服务端发出选中的文档编号密文。
本实施例中,用户自行浏览解密后得到的文档明文,若符合用户的需求则结束本次搜索,若不符合用户的需求,则再次向服务端发出指定的文档编号密文集合List<C(Idj+Loci,j+C(Si,j))>。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于5g通信标准的密文数据搜索方法,其特征在于,包括:
在数据提供者客户端建立文档与关键词的正向索引,对建立的正向索引进行加密得到加密后的正向索引文件,并对文档明文进行逐行加密,得到密文集合,其中,所述正向索引的索引项包括:文档编号、关键词、关键词位置信息、关键词与文档的相关度;
将加密得到的正向索引文件和密文集合上传至服务端;
在服务端,根据接收到的正向索引文件,创建密文形式的倒排索引表;
在服务端,接收用户上传的查询陷门,其中,所述查询陷门包括:关键词陷门和文档编号解密密钥;
判断倒排索引表是否有与关键词陷门一致的索引项,若有,则以文档编号解密密钥对文档编号密文进行解密,根据解密结果,密文集合中的文档按照关键词与文档的相关度从大到小进行排序,结合关键词位置信息,向用户客户端返回关键词与文档的相关度排名前k的文档摘要密文和相应的文档编号密文;
在用户客户端对文档摘要密文进行逐行解密,根据解密得到的摘要明文,选中至少一个文档编号密文发送至服务端,服务端返回相应的文档密文至用户客户端;
在用户客户端,对服务端返回的文档密文进行解密。
2.根据权利要求1所述的基于5g通信标准的密文数据搜索方法,其特征在于,所述对建立的正向索引进行加密得到加密后的正向索引文件,并对文档明文进行逐行加密,得到密文集合包括:
生成密钥x、y、k;
利用密钥x结合第一加密算法对关键词wi进行加密,生成C(wi);
采用保序加密算法对关键词与文档的相关度Si,j进行加密,生成C(Si,j),其中,i代表关键词的下标,j代表文档的下标;
利用第二加密算法,结合密钥y、关键词wi、生成fy(wi),再以fy(wi)作为密钥结合安全对称加密算法对文档编号Idj、关键词位置信息Loci,j、C(Si,j)的拼接字符串进行加密,得到C(Idj+Loci,j+C(Si,j));
根据C(wi)和C(Idj+Loci,j+C(Si,j)),生成正向索引文件,其中,正向索引文件中的每一个正向索引项包括:C(wi)和C(Idj+Loci,j+C(Si,j));
利用密钥k对文档明文进行逐行加密,得到密文集合。
3.根据权利要求2所述的基于5g通信标准的密文数据搜索方法,其特征在于,所述生成密钥x、y、k包括:
利用随机函数和随机种子生成随机字符串x1、y1、k1;
将x1作为输入结合哈希函数SHA-1生成密钥x;
将y1、k1作为输入结合哈希函数SHA-256生成密钥y、k,其中,y为256位密钥,k为256位密钥。
4.根据权利要求2所述的基于5g通信标准的密文数据搜索方法,其特征在于,所述在服务端,根据接收到的正向索引文件,创建密文形式的倒排索引表包括:
在服务端上,使用MapReduce并行计算模型对正向索引文件中的数据进行整合,通过Map函数接收<C(Idj+Loci,j+C(Si,j)),C(wi)>形式的输入,产生<C(wi),C(Idj+Loci,j+C(Si,j))>形式的中间输出;
通过Reduce函数以中间输出作为输入,产生<C(wi),List(C(Idj+Loci,j+C(Si,j)))>形式的输出;
汇总Reduce函数的输出结果,得到倒排索引表,倒排索引表中的数据均为密文形式;
其中,<C(wi),List(C(Idj+Loci,j+C(Si,j)))>中List(·)表示相同关键词下不同索引项之集合。
5.根据权利要求1所述的基于5g通信标准的密文数据搜索方法,其特征在于,所述在服务端,接收用户上传的查询陷门之前,所述方法还包括:
在用户客户端,接收用户提交的关键词wi;
利用密钥x结合第一加密算法对关键词wi进行加密,生成关键词陷门C(wi);
利用第二加密算法,结合密钥y、关键词wi、生成文档编号解密密钥fy(wi);
根据生成的关键词陷门C(wi)和文档编号解密密钥fy(wi),得到查询陷门T={C(wi),fy(wi)}。
6.根据权利要求5所述的基于5g通信标准的密文数据搜索方法,其特征在于,所述判断倒排索引表是否有与关键词陷门一致的索引项,若有,则以文档编号解密密钥对文档编号密文进行解密,根据解密结果,密文集合中的文档按照关键词与文档的相关度从大到小进行排序,结合关键词位置信息,向用户客户端返回关键词与文档的相关度排名前k的文档摘要密文和相应的文档编号密文包括:
在服务端,将T={C(wi),fy(wi)}解析成T=(τ1,τ2),其中τ1=C(wi),τ2=fy(wi);
判断倒排索引表中是否有与τ1一致的索引项;
若有,则以τ2作为解密密钥进行解密,得到文档编号密文对应的明文Idj,其中,每一个解密之后的文档编号都对应着关键词与该文档的相关度C(Si,j);
密文集合中的文档根据关键词与文档的相关度C(Si,j)从大到小进行排序,得到经过排序的文档;
根据排序后的文档,服务端将关键词与文档的相关度排名前k的文档摘要密文发送至用户客户端。
7.根据权利要求6所述的基于5g通信标准的密文数据搜索方法,其特征在于,所述根据排序后的文档,服务端将关键词与文档的相关度排名前k的文档摘要密文发送至用户客户端包括:
在服务端对关键词位置信息Loci,j进行解密,并遍历相应的文档,根据解密出来的行号将相应的行密文取出,作为文档摘要密文;
将文档编号密文C(Idj+Loci,j+C(Si,j))、相应的文档摘要密文返回至用户客户端。
8.根据权利要求1所述的基于5g通信标准的密文数据搜索方法,其特征在于,所述在用户客户端对文档摘要密文进行逐行解密,根据解密得到的摘要明文,选中至少一个文档编号密文发送至服务端,服务端返回相应的文档密文至用户客户端包括:
在用户客户端对文档摘要密文进行逐行解密,得到多条文档摘要明文<Idj,R(wi,j,n)>,其中,Idj表示编号为j的文档编号,R(wi,j,n)表示编号为i的关键词、出现在编号为j的文档的第n行;
根据解密得到的多条文档摘要明文,选中至少一个文档编号密文发送至服务端;
服务端利用密钥fy(wi)对接收到的所述至少一个文档编号密文进行解密,根据解密结果,返回相应的文档密文至用户客户端。
9.根据权利要求1所述的基于5g通信标准的密文数据搜索方法,其特征在于,所述在用户客户端,对服务端返回的文档密文进行解密包括:
在用户客户端,利用密钥k对服务端返回的文档密文进行解密。
10.根据权利要求1所述的基于5g通信标准的密文数据搜索方法,其特征在于,所述在用户客户端,对服务端返回的文档密文进行解密之后还包括:
若解密得到的文档明文符合用户的需求,则结束本次搜索;
若解密得到的文档明文不符合用户的需求,则再次向服务端发出选中的文档编号密文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710140081.9A CN106961427B (zh) | 2017-03-10 | 2017-03-10 | 一种基于5g通信标准的密文数据搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710140081.9A CN106961427B (zh) | 2017-03-10 | 2017-03-10 | 一种基于5g通信标准的密文数据搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106961427A true CN106961427A (zh) | 2017-07-18 |
CN106961427B CN106961427B (zh) | 2019-08-06 |
Family
ID=59470601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710140081.9A Active CN106961427B (zh) | 2017-03-10 | 2017-03-10 | 一种基于5g通信标准的密文数据搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106961427B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020133032A1 (zh) * | 2018-12-27 | 2020-07-02 | 深圳技术大学(筹) | 一种可防伪造的多用户密文搜索方法 |
CN112597268A (zh) * | 2020-12-22 | 2021-04-02 | 南京邮电大学 | 一种面向云环境密文检索效率优化的检索过滤阈值选取方法 |
CN113449293A (zh) * | 2021-07-14 | 2021-09-28 | 上海交通大学 | 基于可信执行环境的密文搜索***与方法 |
CN113656376A (zh) * | 2021-08-19 | 2021-11-16 | 平安科技(深圳)有限公司 | 一种数据处理方法、装置及计算机设备 |
CN114095406A (zh) * | 2020-08-07 | 2022-02-25 | 中国科学院数据与通信保护研究教育中心 | 一种密文数据机密性检测方法及电子装置 |
CN114218597A (zh) * | 2021-12-30 | 2022-03-22 | 北京荣达天下信息科技有限公司 | 一种适用于企业内部隐私数据保密的方法及*** |
CN114218322A (zh) * | 2021-12-13 | 2022-03-22 | 深圳市电子商务安全证书管理有限公司 | 基于密文传输的数据展示方法、装置、设备及介质 |
WO2022099495A1 (zh) * | 2020-11-11 | 2022-05-19 | 深圳技术大学 | 云计算环境中的密文搜索方法及***、设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588365A (zh) * | 2004-08-02 | 2005-03-02 | 中国科学院计算机网络信息中心 | 密文全文检索技术 |
US20090300351A1 (en) * | 2008-05-30 | 2009-12-03 | Nec (China) Co., Ltd. | Fast searchable encryption method |
CN104765848A (zh) * | 2015-04-17 | 2015-07-08 | 中国人民解放军空军航空大学 | 混合云存储中支持结果高效排序的对称可搜索加密方法 |
CN105610910A (zh) * | 2015-12-18 | 2016-05-25 | 中南民族大学 | 面向云存储并基于全同态密码的密文全文检索方法及*** |
CN106407447A (zh) * | 2016-09-30 | 2017-02-15 | 福州大学 | 一种加密云数据下基于Simhash的模糊排序搜索方法 |
-
2017
- 2017-03-10 CN CN201710140081.9A patent/CN106961427B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588365A (zh) * | 2004-08-02 | 2005-03-02 | 中国科学院计算机网络信息中心 | 密文全文检索技术 |
US20090300351A1 (en) * | 2008-05-30 | 2009-12-03 | Nec (China) Co., Ltd. | Fast searchable encryption method |
CN104765848A (zh) * | 2015-04-17 | 2015-07-08 | 中国人民解放军空军航空大学 | 混合云存储中支持结果高效排序的对称可搜索加密方法 |
CN105610910A (zh) * | 2015-12-18 | 2016-05-25 | 中南民族大学 | 面向云存储并基于全同态密码的密文全文检索方法及*** |
CN106407447A (zh) * | 2016-09-30 | 2017-02-15 | 福州大学 | 一种加密云数据下基于Simhash的模糊排序搜索方法 |
Non-Patent Citations (1)
Title |
---|
张楠,陈兰香: "一种高效的支持排序的关键词可搜索加密***研究", 《信息网络安全》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020133032A1 (zh) * | 2018-12-27 | 2020-07-02 | 深圳技术大学(筹) | 一种可防伪造的多用户密文搜索方法 |
CN114095406A (zh) * | 2020-08-07 | 2022-02-25 | 中国科学院数据与通信保护研究教育中心 | 一种密文数据机密性检测方法及电子装置 |
CN114095406B (zh) * | 2020-08-07 | 2023-04-21 | 中国科学院数据与通信保护研究教育中心 | 一种密文数据机密性检测方法及电子装置 |
WO2022099495A1 (zh) * | 2020-11-11 | 2022-05-19 | 深圳技术大学 | 云计算环境中的密文搜索方法及***、设备 |
CN112597268A (zh) * | 2020-12-22 | 2021-04-02 | 南京邮电大学 | 一种面向云环境密文检索效率优化的检索过滤阈值选取方法 |
CN112597268B (zh) * | 2020-12-22 | 2022-09-20 | 南京邮电大学 | 一种面向云环境密文检索效率优化的检索过滤阈值选取方法 |
CN113449293A (zh) * | 2021-07-14 | 2021-09-28 | 上海交通大学 | 基于可信执行环境的密文搜索***与方法 |
CN113656376A (zh) * | 2021-08-19 | 2021-11-16 | 平安科技(深圳)有限公司 | 一种数据处理方法、装置及计算机设备 |
CN113656376B (zh) * | 2021-08-19 | 2023-12-01 | 平安科技(上海)有限公司 | 一种数据处理方法、装置及计算机设备 |
CN114218322A (zh) * | 2021-12-13 | 2022-03-22 | 深圳市电子商务安全证书管理有限公司 | 基于密文传输的数据展示方法、装置、设备及介质 |
CN114218597A (zh) * | 2021-12-30 | 2022-03-22 | 北京荣达天下信息科技有限公司 | 一种适用于企业内部隐私数据保密的方法及*** |
CN114218597B (zh) * | 2021-12-30 | 2023-10-10 | 北京荣达天下信息科技有限公司 | 一种适用于企业内部隐私数据保密的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN106961427B (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106961427B (zh) | 一种基于5g通信标准的密文数据搜索方法 | |
CN110719158B (zh) | 基于联合学习的边缘计算隐私保护***及保护方法 | |
CN103944711B (zh) | 一种云存储密文检索方法及其*** | |
Wang et al. | Secure ranked keyword search over encrypted cloud data | |
CN103731432B (zh) | 一种支持多用户的可搜索加密方法 | |
CN105610793B (zh) | 一种外包数据加密存储与密文查询***及其应用方法 | |
CN107491497A (zh) | 支持任意语言查询的多用户多关键词排序可搜索加密*** | |
CN101436208B (zh) | 一种密文数据库隐私保护查询方法 | |
CN106961336A (zh) | 一种基于sm2算法的密钥分量托管方法和*** | |
CN106803784A (zh) | 安全多媒体云存储中基于格的多用户模糊可搜索加密方法 | |
CN109660555A (zh) | 基于代理重加密的内容安全分享方法和*** | |
CN110313146A (zh) | 模糊度增强 | |
WO2016120975A1 (ja) | データ集計分析システム及びその方法 | |
CN101383703B (zh) | 基于广义信息域的动态加解密方法 | |
CN102780698A (zh) | 物联网平台中用户终端安全通信的方法 | |
CN109840425A (zh) | 一种文件加密的方法和装置 | |
CN109543434A (zh) | 区块链信息加密方法、解密方法、存储方法及装置 | |
CN101394268A (zh) | 基于广义信息域的高级加密***及方法 | |
CN109739945A (zh) | 一种基于混合索引的多关键词密文排序检索方法 | |
Qayyum | Data security in mobile cloud computing: A state of the art review | |
CN112182660A (zh) | 一种数据排序方法及装置 | |
Rahmani et al. | A multilayer evolutionary homomorphic encryption approach for privacy preserving over big data | |
CN109614789A (zh) | 一种终端设备的验证方法及设备 | |
WO2018043573A1 (ja) | 鍵交換方法、鍵交換システム | |
CN108282328A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |