CN109145079A - 基于个人兴趣用户模型的云端可搜索加密方法 - Google Patents

基于个人兴趣用户模型的云端可搜索加密方法 Download PDF

Info

Publication number
CN109145079A
CN109145079A CN201810819887.5A CN201810819887A CN109145079A CN 109145079 A CN109145079 A CN 109145079A CN 201810819887 A CN201810819887 A CN 201810819887A CN 109145079 A CN109145079 A CN 109145079A
Authority
CN
China
Prior art keywords
document
keyword
search
data
tree
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
Application number
CN201810819887.5A
Other languages
English (en)
Other versions
CN109145079B (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.)
Sanbao Sci & Tech Co Ltd Nanjing
Nanjing Post and Telecommunication University
Original Assignee
Sanbao Sci & Tech Co Ltd Nanjing
Nanjing Post and Telecommunication University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanbao Sci & Tech Co Ltd Nanjing, Nanjing Post and Telecommunication University filed Critical Sanbao Sci & Tech Co Ltd Nanjing
Priority to CN201810819887.5A priority Critical patent/CN109145079B/zh
Publication of CN109145079A publication Critical patent/CN109145079A/zh
Application granted granted Critical
Publication of CN109145079B publication Critical patent/CN109145079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

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

Abstract

本发明公开了一种基于个人兴趣用户模型的云端可搜索加密方法,首先通过数据拥有者对文档进行关键字字典和检索树生成,然后生成加密文档的密钥和加密关键字的可搜索加密密钥;接着将密钥和可搜索加密密钥以及加密后的文档发送至云服务器;随后通过分析用户的搜索历史,为个人用户建立简单的用户兴趣模型;并采用向量来描述文档和查询,并使用内积相乘分数作为评分机制巧妙地表达用户兴趣,同时结合矩阵加密和引用随机数来确保安全性;此外使用贪婪深度优先算法对检索树提前剪枝来提高密文检索效率;本发明采用可搜索加密模型,将关键字和文档进行绑定,只对加密后的关键字进行检索,既减少了检索的工作量,又使得服务器得不到任何有效信息。

Description

基于个人兴趣用户模型的云端可搜索加密方法
技术领域
本发明属于云计算和密码学的交叉技术领域,应用于数据服务外包时对加密文档的有效检索,尤其涉及一种基于个人兴趣用户模型的云端可搜索加密方法。
背景技术
近年来随着信息技术的进步,云计算在学术界和工业界取得了很大的发展,提供了经济方便的服务。现在越来越多的公司和用户准备将他们的数据外包到云服务器中。但是,由于数据所有者不再直接控制数据,因此存储在云中的数据可能会遭受云服务提供商的恶意使用。
考虑到数据隐私性和安全性,数据所有者在将数据上传到云端之前对其进行加密是一种推荐做法。尽管它可以保护数据的安全,防止不受信任的云服务提供商和外部用户的非法使用,但由于许多基于明文的技术(例如关键字搜索)不再适用于密文,因此它会使得数据的使用变得更加困难。因此,探索一种有效的加密数据搜索技术非常紧迫。
可搜索加密技术与以往的加密技术不同,对关键字和整个文档进行加密,但进行搜索时仅对加密后的关键字进行匹配而不是对整个加密的文件进行搜索,从实际上解决了空间资源和带宽资源浪费的问题。
现有的基于关键字的可搜索加密方案已不能完全满足新的挑战和用户日益增长的需求,大部分计划都遵循“一个方案适应所有”的模式,忽视了不同的爱好,兴趣或文化背景,导致降低个人用户的体验。在这些方案中,云将返回与用户查询匹配的所有文件,这可能会导致大量网络带宽消耗。而且,在大量返回的文件中,用户花费大量时间和资源来过滤出他真正感兴趣的内容。在实际应用中,由于查询词的重要性或优先级的不同,即使是相同的查询,但不同的用户想得到的结果不同,这表明个性化搜索的必要性。所以如何设计一个能真正理解用户搜索意图的高效搜索方案是一个迫切的问题。
发明内容
本发明的主要目的在于提供了一种基于个人兴趣用户模型的云端可搜索加密方法,实现了个性化的搜索意图,即不同的用户即使搜索的多个关键字是相同的,返回的检索结果也不相同,同时结合矩阵加密、内积相乘和引用随机数来确保子索引向量、查询向量和内积分数安全性。此外使用树形结构存储数据,采用贪心深度优先算法提前剪枝使得检索效率大大提高,使检索时间复杂度达到亚线性时间。
为此,本发明采用的具体技术方案如下:
一种基于个人兴趣用户模型的云端可搜索加密方法,所述方法应用于数据服务外包时数据使用者对数据拥有者的加密文档的有效检索,具体包括步骤:
S1、生成文档关键字的字典和文档的检索树:数据拥有者对每个文档提取相同数量的关键字,将所有的关键字去重后生成字典;根据文档生成长度和字典长度相同的向量作为叶子节点,然后根据叶子节点生成内部树节点,所有内部树节点的组合生成检索树;其中,叶子节点中每一位置的内容为包含字典中对应位置关键字的个数;内部树节点每一位置的内容为两个叶子节点对应位置的最大值;
S2、文档和关键字的密钥生成:数据拥有者生成指定加密文档的由公钥和私钥构成的密钥,同时生成加密关键字的可搜索加密密钥;
S3、文档的搜索和访问控制:数据拥有者将私钥发送给认证用户实现访问控制,将陷门生成机制发送给认证用户是吸纳搜索控制;
S4、加密文档:数据拥有者使用所述公钥加密文档并发送至云服务器;
S5、加密检索树:数据拥有者使用所述可搜索加密密钥对所述检索树加密并发送至云服务器;
S6、建立用户模型:收集数据使用者使用信息的历史数据,整理并分析得到数据使用者搜索关键字的频率,基于所述频率构建用户模型;
S7、生成陷门:数据使用者基于所述频率对关键字快速排序并重构;根据数据拥有者发来的可搜索加密密钥和陷门生成机制对重构后的信息进行加密,随后将重构后并加密的信息和希望返回的文档个数k一起发送至云服务器;
S8、采用内积相乘分数作为评分机制同时采用深度优先遍历方法对云服务器进行检索:从所述检索树的根节点出发任选一条路径经过内部树节点直到叶子节点,并记录每一节点的分数沿原路径返回根节点,然后选取另一路径重复以上操作得到k个叶子节点的分数;在此之后如果内部树节点的分数比记录中的分数低则进行剪枝操作,否则继续遍历;如果发现叶子节点的分数比记录中的分数高则替换最低的一个,最终得到k个分数最高的叶子节点并将对应的加密文档发送给数据使用者;
S9、加密文档的解密:数据使用者使用私钥对接收的文档进行解密。
作为优选,步骤一中字典和检索树的具体生成过程为:
S11、假设每个文档均为Fi,则数据拥有者先从文档Fi中提取m个关键字,将所有关键字去重后生成长度为n的字典V;
S12、根据文档Fi生成长度为n的向量并将作为二叉树的叶子节点;其中,关键字在字典V和中的位置相同,向量的内容为包含V[j]中的关键字的个数;
S13、根据叶子节点生成第一层内部树节点其中,内部树节点每一位置的内容为两个叶子节点对应位置的最大值;
S14、重复步骤S13,依次生成第二层内部树节点、第三层内部树节点,直到最终检索树生成。
作为优选,步骤二中加密文档和加密关键字的密钥生成具体过程为:
S21、数据拥有者随机取两个安全大素数p和q,生成n=p×q和φ(n)=(p-1)(q-1);
S22、数据拥有者随机选取任一整数x,使得GCD(x,φ(n))=1,然后选取x-1,使得xx-1=1modφ(n);并将x作为公钥用于加密文档,x-1作为私钥用于解密文档;
S23、数据拥有者随机生成n阶可逆矩阵M,随后生成陷门生成矩阵M-1,并将可逆矩阵M和陷门生成矩阵M-1作为所述可搜索加密密钥。
作为优选,步骤三中文档的搜索控制通过数据拥有者将陷门生成矩阵M-1发送给认证用户实现;文档的访问控制通过数据拥有者将私钥x-1发送给认证用户实现。
作为优选,步骤四中加密文档的具体过程为:将指定明文内容记为m,并生成对应的密文C=mxmod n,随后数据拥有者将生成的密文C=mxmod n发送至云服务器。
作为优选,步骤五中加密检索树的具体过程为:由数据拥有者选取一随机数t,并生成所述随机数的子索引Iu,并通过公式或公式计算子索引Iu;随后基于子索引Iu生成加密后的检索树I,最后数据拥有者讲检索树I发送至云服务器。
作为优选,步骤六中建立用户模型的具体过程为:
S61、首先使用词典工具对指定数据使用者的查询记录进行收集和分析建立与指定数据使用者对应的用户模型,并将用户模型中的查询关键字的历史接入频率作为关键字的优先级;
S62、然后判断是否有与指定数据使用者对应的查询关键字出现,若有,则更新用户模型,并将用户模型中对应的关键字的接入频率做加1计算;
S63、最后通过长时间对数据使用者的查询数据的统计和分析,建立该数据使用者的用户模型。
作为优选,步骤七中生成陷门的具体过程为:
S71、数据拥有者使用快速排序按照所述用户模型得出对应数据使用者查询关键字的频率对m个关键字进行排序;
S72、并对排序后的m个关键字频率按照第一个关键字频率乘以1,第二个关键字频率乘以2、...、第m个关键字频率乘以m的方式进行关键字频率的重构,以加大数据使用者个人兴趣对最终结果的影响比重;
S73、生成长度为n的查询向量其中,关键字在字典和查询向量中的位置相同,且的内容为对应关键字重构后的频率,若关键字中没有该关键字,则的内容为0;
S74、数据使用者选取一个随机数r,并根据公式计算生成的陷门Q;
S75、数据使用者将生成的陷门Q和数据使用者希望返回的文档个数发送至云服务器。
作为优选,步骤八中采用内积相乘分数作为评分机制同时采用深度优先遍历方法对云服务器进行检索的具体过程为:
S81、云服务器从加密检索树的根节点出发,采用深度优先的方式对二叉树进行遍历;
S82、对子索引Iu和陷门Q用内积相乘法得到结果评分机制,其中当和内部树节点相乘时可通过公式计算,和叶子节点相乘时通过公式计算;
S83、云服务器对每一次的子索引Iu和陷门Q的内乘积结果做统计,将统计的个数与数据使用者希望返回的文档个数k做比较,若与k相等,则将新的结果和统计列表中的值对比:如果比最小的值大,则进行替代;如果比最小的值小则进行剪枝操作,从而避免对整个索引树进行遍历;
S84、云服务器将k个得分最高的加密文档发送给数据使用者。
作为优选,数据使用者结合私钥x-1和公式Cx-1=mxx-1modn=m1=m对加密文档进行解密。
与现有技术相比,本发明的优点及效果为:
1、本发明采用可搜索加密模型,将关键字和文档进行绑定,只对加密后的关键字进行检索,既减少了检索的工作量,又使得服务器得不到任何有效信息;
2、本发明通过构建用户模型和查询关键字的重构,不仅实现了不同的人查询结果不同,而且提高了用户的使用效果;
3、本发明将贪心算法和深度优先遍历相结合,实现提前剪枝,从而时间复杂度达到亚线性级别;
4、本发明采用矩阵加密,大大提高了安全性。同时又引进随机数,实现了查询之间的无关联性。
附图说明
图1为本发明实施例中所述基于个人兴趣用户模型的云端可搜索加密方法的流程图示意;
图2为本发明实施例中所述可搜索加密模型示意图;
图3为构造的检索树示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
参阅图1,在本发明实施例中,提供了一种基于个人兴趣用户模型的云端可搜索加密方法,方法应用于数据服务外包时数据使用者对数据拥有者的加密文档的有效检索,具体包括步骤:
S1、生成文档关键字的字典和文档的检索树:数据拥有者对每个文档提取相同数量的关键字,将所有的关键字去重后生成字典;根据文档生成长度和字典长度相同的向量作为叶子节点,然后根据叶子节点生成内部树节点,所有内部树节点的组合生成检索树;其中,叶子节点中每一位置的内容为包含字典中对应位置关键字的个数;内部树节点每一位置的内容为两个叶子节点对应位置的最大值;
S2、文档和关键字的密钥生成:数据拥有者生成指定加密文档的由公钥和私钥构成的密钥,同时生成加密关键字的可搜索加密密钥;
S3、文档的搜索和访问控制:数据拥有者将私钥发送给认证用户实现访问控制,将陷门生成机制发送给认证用户是吸纳搜索控制;
S4、加密文档:数据拥有者使用所述公钥加密文档并发送至云服务器;
S5、加密检索树:数据拥有者使用所述可搜索加密密钥对所述检索树加密并发送至云服务器;
S6、建立用户模型:收集数据使用者使用信息的历史数据,整理并分析得到数据使用者搜索关键字的频率,基于所述频率构建用户模型;
S7、生成陷门:数据使用者基于所述频率对关键字快速排序并重构;根据数据拥有者发来的可搜索加密密钥和陷门生成机制对重构后的信息进行加密,随后将重构后并加密的信息和希望返回的文档个数k一起发送至云服务器;
S8、采用内积相乘分数作为评分机制同时采用深度优先遍历方法对云服务器进行检索:从所述检索树的根节点出发任选一条路径经过内部树节点直到叶子节点,并记录每一节点的分数沿原路径返回根节点,然后选取另一路径重复以上操作得到k个叶子节点的分数;在此之后如果内部树节点的分数比记录中的分数低则进行剪枝操作,否则继续遍历;如果发现叶子节点的分数比记录中的分数高则替换最低的一个,最终得到k个分数最高的叶子节点并将对应的加密文档发送给数据使用者;
S9、加密文档的解密:数据使用者使用私钥对接收的文档进行解密。
其中,结合数据拥有者、数据使用者和云服务器构成的可搜索的加密模型如图2所示;数据拥有者基于某一指定文档构造的检索树具体可参阅图3所示;下面本发明以具体实例来说明本发明的基于个人兴趣用户模型的云端可搜索加密方法的具体过程:
假设数据拥有者Alice从6个文档中提取关键字,去重后生成长度为10的字典V,V=[语,密,包,义,扩,加,外,数,展,据]。数据使用者Bob查询的关键字为语义扩展,希望返回2个最相关的文档,则首先由Alice根据自己拥有的文档提取关键字生成字典和检索树,具体过程如下:
S11、Alice对6文档都提取3个关键字,然后将所有的关键字去重后生成字典V,其中,V=[语,密,包,义,扩,加,外,数,展,据]。
S12、根据文档Fi生成长度为n的向量作为二叉树的叶子节点,关键字在字典和中的位置相同,向量的内容为包含V[j]中关键字的个数。
S13、根据叶子节点,即作为孩子节点,生成第一层内部树节点即作为父节点,内部树节点每一位置的内容为两个叶子节点对应位置的最大值。
S14、结合图2,重复步骤S13,即由第一层内部树节点生成第二层内部树节点由第二层内部树节点生成第三层内部树节点依此规律最终生成检索树。
然后Alice分别为文档和关键字生成密钥,具体过程如下:
S21、Alice随机选取两个安全大素数p=49639和q=48883作为输入,生成n=2426503237,φ(n)=2426404716。
S22、选定一对秘密密钥x=11和x-1=220582247,使得xx-1=1modφ(n)。
S23、x作为公钥用于加密文档,x-1作为私钥用于解密文档。
S24、随机生成10阶可逆矩阵M,然后生成陷门生成矩阵M-1,M和M-1为可搜索加密密钥,其中,可逆矩阵M和陷门生成矩阵M-1分别为:
接着Alice对文档进行搜索和访问控制的设置,具体过程为:
S31、Alice将私钥x-1=220582247发送给认证用户实现访问控制。
S32、Alice将陷门生成矩阵M-1发送给认证用户实现搜索控制。
以及Alice对加密文档的具体操作过程过程为:
S41、Alice将明文内容记为m,则密文C=m11mod 2426404716。
S42、重复步骤S41,Alice将所有文档内容加密,并将加密后的文档发送给云服务器。
以及Alice加密检索树的具体操作过程为:
S51、Alice选取一个随机数t=6,生成子索引Iu,可得
S52、Alice重复步骤S51,生成加密后的检索树I,数据拥有者将I发送给云服务器。
随后在与服务器中建立用户模型,其具体过程如下:
S61、Bob使用词典工具对用户的查询记录进行收集和分析建立用户模型,将用户模型中的查询关键字的历史接入频率作为关键字优先级。
S62、当一个查询关键字出现时,更新用户模型,将用户模型中对应的关键字的接入频率加1。
S63、通过长时间对用户的查询数据的统计和分析,建立该用户的用户模型;用户模型构建好之后,会继续收集数据,但只在较长一段时间后再更新一次用户模型。
接着生成陷门,具体过程如下:
S71、Bob查询关键字为语义扩展,并根据用户模型得出查询关键字语义扩展的频率分别为3、2、5和1。
S72、使用快速排序按照频率从小到大对查询关键字进行排序得[1,2,3,5]。排序后对关键字频率进行重构,第1个关键字频率乘以1、第2个关键字频率乘以2、第3个关键字频率乘以3、第4个关键字频率乘以4,得[1,4,9,20]。通过这种手段,加大个人兴趣对最终结果的影响比重。
S73、重构关键字频率以后,生成查询向量关键字在字典和中的位置相同;的内容为对应关键字重构后的频率,如果查询关键字中没有该关键字,则内容为0。
S74、Bob选取一个随机数r=21(每次查询值不相同)生成陷门Q,即
S75、Bob将陷门Q和参数2(希望返回的文档个数)发送给云服务器。
再在云服务器中采用内积相乘分数作为评分机制同时采用深度优先遍历方法检索,具体过程如下:
S81、云服务器从加密检索树的根节点出发,采用深度优先的方式对二叉树进行遍历。
S82、对子索引Iu和陷门Q用内积相乘的方法,得到的结果作为评分依据。求解过程如下:
当和内部树节点相乘时:
当和叶子节点相乘时:
S83、云服务器对每一次的相乘结果做统计,做成一个统计列表。当统计的个数达到2时,将新的结果和统计列表中的值对比。如果比最小的值大,则进行替代;如果比最小的值小则进行剪枝操作,从而避免对整个索引树进行遍历。
S84、云服务器将2个得分最高的加密文档发送给数据使用者。
最后Bob根据得到的私钥进行解密,即Bob利用私钥220582247,得C220582247=m11 *220582247mod 2426503237=m1=m。
本发明提出的基于个人兴趣用户模型的云端可搜索加密方法;通过分析用户的搜索历史,为个人用户建立简单的用户兴趣模型;采用向量来描述文档和查询,并使用内积相乘分数作为评分机制巧妙地表达用户兴趣,同时结合矩阵加密和引用随机数来确保安全性;此外使用贪婪深度优先算法对检索树提前剪枝来提高密文检索效率。
以上仅为本发明的较佳实施例,但并不限制本发明的专利范围,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本发明说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明专利保护范围之内。

Claims (10)

1.基于个人兴趣用户模型的云端可搜索加密方法,其特征在于,所述方法应用于数据服务外包时数据使用者对数据拥有者的加密文档的有效检索,具体包括步骤:
S1、生成文档关键字的字典和文档的检索树:数据拥有者对每个文档提取相同数量的关键字,将所有的关键字去重后生成字典;根据文档生成长度和字典长度相同的向量作为叶子节点,然后根据叶子节点生成内部树节点,所有内部树节点的组合生成检索树;其中,叶子节点中每一位置的内容为包含字典中对应位置关键字的个数;内部树节点每一位置的内容为两个叶子节点对应位置的最大值;
S2、文档和关键字的密钥生成:数据拥有者生成指定加密文档的由公钥和私钥构成的密钥,同时生成加密关键字的可搜索加密密钥;
S3、文档的搜索和访问控制:数据拥有者将私钥发送给认证用户实现访问控制,将陷门生成机制发送给认证用户是吸纳搜索控制;
S4、加密文档:数据拥有者使用所述公钥加密文档并发送至云服务器;
S5、加密检索树:数据拥有者使用所述可搜索加密密钥对所述检索树加密并发送至云服务器;
S6、建立用户模型:收集数据使用者使用信息的历史数据,整理并分析得到数据使用者搜索关键字的频率,基于所述频率构建用户模型;
S7、生成陷门:数据使用者基于所述频率对关键字快速排序并重构;根据数据拥有者发来的可搜索加密密钥和陷门生成机制对重构后的信息进行加密,随后将重构后并加密的信息和希望返回的文档个数k一起发送至云服务器;
S8、采用内积相乘分数作为评分机制同时采用深度优先遍历方法对云服务器进行检索:从所述检索树的根节点出发任选一条路径经过内部树节点直到叶子节点,并记录每一节点的分数沿原路径返回根节点,然后选取另一路径重复以上操作得到k个叶子节点的分数;在此之后如果内部树节点的分数比记录中的分数低则进行剪枝操作,否则继续遍历;如果发现叶子节点的分数比记录中的分数高则替换最低的一个,最终得到k个分数最高的叶子节点并将对应的加密文档发送给数据使用者;
S9、加密文档的解密:数据使用者使用私钥对接收的文档进行解密。
2.根据权利要求1所述的基于个人兴趣用户模型的云端可搜索加密方法,其特征在于,步骤一中字典和检索树的具体生成过程为:
S11、假设每个文档均为Fi,则数据拥有者先从文档Fi中提取m个关键字,将所有关键字去重后生成长度为n的字典V;
S12、根据文档Fi生成长度为n的向量并将作为二叉树的叶子节点;其中,关键字在字典V和中的位置相同,向量的内容为包含V[j]中的关键字的个数;
S13、根据叶子节点生成第一层内部树节点其中,内部树节点每一位置的内容为两个叶子节点对应位置的最大值;
S14、重复步骤S13,依次生成第二层内部树节点、第三层内部树节点直到最终检索树生成。
3.根据权利要求1所述的基于个人兴趣用户模型的云端可搜索加密方法,其特征在于,步骤二中加密文档和加密关键字的密钥生成具体过程为:
S21、数据拥有者随机取两个安全大素数p和q,生成n=p×q和φ(n)=(p-1)(q-1);
S22、数据拥有者随机选取任一整数x,使得GCD(x,φ(n))=1,然后选取x-1,使得xx-1=1modφ(n);并将x作为公钥用于加密文档,x-1作为私钥用于解密文档;
S23、数据拥有者随机生成n阶可逆矩阵M,随后生成陷门生成矩阵M-1,并将可逆矩阵M和陷门生成矩阵M-1作为所述可搜索加密密钥。
4.根据权利要求3所述的基于个人兴趣用户模型的云端可搜索加密方法,其特征在于,步骤三中文档的搜索控制通过数据拥有者将陷门生成矩阵M-1发送给认证用户实现;文档的访问控制通过数据拥有者将私钥x-1发送给认证用户实现。
5.根据权利要求1所述的基于个人兴趣用户模型的云端可搜索加密方法,其特征在于,步骤四中加密文档的具体过程为:将指定明文内容记为m,并生成对应的密文C=mxmod n,随后数据拥有者将生成的密文C=mxmod n发送至云服务器。
6.根据权利要求1所述的基于个人兴趣用户模型的云端可搜索加密方法,其特征在于,步骤五中加密检索树的具体过程为:由数据拥有者选取一随机数t,并生成所述随机数的子索引Iu,并通过公式或公式计算子索引Iu;随后基于子索引Iu生成加密后的检索树I,最后数据拥有者将检索树I发送至云服务器。
7.根据权利要求1所述的基于个人兴趣用户模型的云端可搜索加密方法,其特征在于,步骤六中建立用户模型的具体过程为:
首先使用词典工具对指定数据使用者的查询记录进行收集和分析建立与指定数据使用者对应的用户模型,并将用户模型中的查询关键字的历史接入频率作为关键字的优先级;
然后判断是否有与指定数据使用者对应的查询关键字出现,若有,则更新用户模型,并将用户模型中对应的关键字的接入频率做加1计算;
最后通过长时间对数据使用者的查询数据的统计和分析,建立该数据使用者的用户模型。
8.根据权利要求1~7所述的基于个人兴趣用户模型的云端可搜索加密方法,其特征在于,步骤七中生成陷门的具体过程为:
S71、数据拥有者使用快速排序按照所述用户模型得出对应数据使用者查询关键字的频率对m个关键字进行排序;
S72、并对排序后的m个关键字频率按照第一个关键字频率乘以1,第二个关键字频率乘以2、...、第m个关键字频率乘以m的方式进行关键字频率的重构,以加大数据使用者个人兴趣对最终结果的影响比重;
S73、生成长度为n的查询向量其中,关键字在字典和查询向量中的位置相同,且的内容为对应关键字重构后的频率,若关键字中没有该关键字,则的内容为0;
S74、数据使用者选取一个随机数r,并根据公式计算生成的陷门Q;
S75、数据使用者将生成的陷门Q和数据使用者希望返回的文档个数发送至云服务器。
9.根据权利要求8所述的基于个人兴趣用户模型的云端可搜索加密方法,其特征在于,步骤八中采用内积相乘分数作为评分机制同时采用深度优先遍历方法对云服务器进行检索的具体过程为:
S81、云服务器从加密检索树的根节点出发,采用深度优先的方式对二叉树进行遍历;
S82、对子索引Iu和陷门Q用内积相乘法得到结果评分机制,其中当和内部树节点相乘时可通过公式计算,和叶子节点相乘时通过公式计算;
S83、云服务器对每一次的子索引Iu和陷门Q的内乘积结果做统计,将统计的个数与数据使用者希望返回的文档个数k做比较,若与k相等,则将新的结果和统计列表中的值对比:如果比最小的值大,则进行替代;如果比最小的值小则进行剪枝操作,从而避免对整个索引树进行遍历;
S84、云服务器将k个得分最高的加密文档发送给数据使用者。
10.根据权利要求8所述的基于个人兴趣用户模型的云端可搜索加密方法,其特征在于,数据使用者结合私钥x-1和公式对加密文档进行解密。
CN201810819887.5A 2018-07-24 2018-07-24 基于个人兴趣用户模型的云端可搜索加密方法 Active CN109145079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810819887.5A CN109145079B (zh) 2018-07-24 2018-07-24 基于个人兴趣用户模型的云端可搜索加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810819887.5A CN109145079B (zh) 2018-07-24 2018-07-24 基于个人兴趣用户模型的云端可搜索加密方法

Publications (2)

Publication Number Publication Date
CN109145079A true CN109145079A (zh) 2019-01-04
CN109145079B CN109145079B (zh) 2022-07-19

Family

ID=64798435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810819887.5A Active CN109145079B (zh) 2018-07-24 2018-07-24 基于个人兴趣用户模型的云端可搜索加密方法

Country Status (1)

Country Link
CN (1) CN109145079B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109885650A (zh) * 2019-01-08 2019-06-14 南京邮电大学 一种外包云环境隐私保护密文排序检索方法
CN109885640A (zh) * 2019-01-08 2019-06-14 南京邮电大学 一种基于α叉索引树的多关键词密文排序检索方法
CN109978829A (zh) * 2019-02-26 2019-07-05 深圳市华汉伟业科技有限公司 一种待检测对象的检测方法及其系统
CN109992995A (zh) * 2019-03-05 2019-07-09 华南理工大学 一种支持位置保护和查询隐私的可搜索加密方法
CN112732789A (zh) * 2021-01-12 2021-04-30 宁波云麟信息科技有限公司 基于区块链的可搜索加密方法和电子设备
CN113722366A (zh) * 2021-09-14 2021-11-30 长沙理工大学 一种基于不经意密文倒排索引的安全数据检索方法
CN114254212A (zh) * 2021-12-20 2022-03-29 平安普惠企业管理有限公司 基于区块链的地址检索方法、系统、电子设备及存储介质
CN114909819A (zh) * 2021-02-08 2022-08-16 青岛海尔电冰箱有限公司 半导体制冷设备的系统调试方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681280A (zh) * 2015-12-29 2016-06-15 西安电子科技大学 一种云环境中基于中文的可搜索加密方法
CN107704768A (zh) * 2017-09-14 2018-02-16 上海海事大学 一种密文的多关键字分级安全检索方法
CN108092972A (zh) * 2017-12-13 2018-05-29 西安电子科技大学 一种多授权中心基于属性的可搜索加密方法
CN108111587A (zh) * 2017-12-15 2018-06-01 中山大学 一种基于时间释放的云存储搜索方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681280A (zh) * 2015-12-29 2016-06-15 西安电子科技大学 一种云环境中基于中文的可搜索加密方法
CN107704768A (zh) * 2017-09-14 2018-02-16 上海海事大学 一种密文的多关键字分级安全检索方法
CN108092972A (zh) * 2017-12-13 2018-05-29 西安电子科技大学 一种多授权中心基于属性的可搜索加密方法
CN108111587A (zh) * 2017-12-15 2018-06-01 中山大学 一种基于时间释放的云存储搜索方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
叶淑阳 等: "一种基于用户兴趣模型的可搜索加密方案", 《研究与开发》 *
黄海平 等: "一种基于云存储的多服务器多关键词可搜索加密方案", 《电子与信息学报》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109885650A (zh) * 2019-01-08 2019-06-14 南京邮电大学 一种外包云环境隐私保护密文排序检索方法
CN109885640A (zh) * 2019-01-08 2019-06-14 南京邮电大学 一种基于α叉索引树的多关键词密文排序检索方法
CN109978829A (zh) * 2019-02-26 2019-07-05 深圳市华汉伟业科技有限公司 一种待检测对象的检测方法及其系统
CN109978829B (zh) * 2019-02-26 2021-09-28 深圳市华汉伟业科技有限公司 一种待检测对象的检测方法及其系统
CN109992995A (zh) * 2019-03-05 2019-07-09 华南理工大学 一种支持位置保护和查询隐私的可搜索加密方法
CN109992995B (zh) * 2019-03-05 2021-05-14 华南理工大学 一种支持位置保护和查询隐私的可搜索加密方法
CN112732789A (zh) * 2021-01-12 2021-04-30 宁波云麟信息科技有限公司 基于区块链的可搜索加密方法和电子设备
CN114909819A (zh) * 2021-02-08 2022-08-16 青岛海尔电冰箱有限公司 半导体制冷设备的系统调试方法
CN114909819B (zh) * 2021-02-08 2023-06-16 青岛海尔电冰箱有限公司 半导体制冷设备的系统调试方法
CN113722366A (zh) * 2021-09-14 2021-11-30 长沙理工大学 一种基于不经意密文倒排索引的安全数据检索方法
CN113722366B (zh) * 2021-09-14 2024-05-03 长沙理工大学 一种基于不经意密文倒排索引的安全数据检索方法
CN114254212A (zh) * 2021-12-20 2022-03-29 平安普惠企业管理有限公司 基于区块链的地址检索方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN109145079B (zh) 2022-07-19

Similar Documents

Publication Publication Date Title
CN109145079A (zh) 基于个人兴趣用户模型的云端可搜索加密方法
WO2019165880A1 (zh) 一种支持偏好搜索和逻辑搜索的高效可验证的多关键字排序可搜索加密方法
CN111026788B (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
Peng et al. An efficient ranked multi-keyword search for multiple data owners over encrypted cloud data
CN109063509A (zh) 一种基于关键词语义排序的可搜索加密方法
US20120158734A1 (en) Data management system and method
Kim et al. Private compound wildcard queries using fully homomorphic encryption
CN112332979B (zh) 云计算环境中的密文搜索方法及系统、设备
CN109739945A (zh) 一种基于混合索引的多关键词密文排序检索方法
CN107294701B (zh) 具有高效密钥管理的多维密文区间查询装置及查询方法
CN107086917A (zh) 一种并行化和结构化公钥可搜索的加密方法
Zhang et al. Efficient personalized search over encrypted data for mobile edge-assisted cloud storage
KR100951034B1 (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법
ThandaiahPrabu et al. An efficient and secured multiple keyword cloud data searching scheme with dynamic encryption procedure
Kale et al. A survey on different techniques for encrypted cloud data
Fan et al. Multi-keyword fuzzy and sortable ciphertext retrieval scheme for big data
Strizhov Towards a practical and efficient search over encrypted data in the cloud
CN110851850B (zh) 一种可搜索加密系统的实现方法
Kumari et al. Privacy preserving similarity based text retrieval through blind storage
Chen et al. Practical attribute-based conjunctive keyword search scheme
Yang et al. Efficient and secure outsourced linear regression
Nita et al. A hybrid searchable encryption scheme for cloud computing
YueJuan et al. A Searchable Ciphertext Retrieval Method Based on Counting Bloom Filter over Cloud Encrypted Data
Arora et al. Analysis of symmetric searchable encryption and data retrieval in cloud computing
Zhao et al. Privacy-preserving ranked searchable encryption based on differential privacy

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