可搜索加密基础知识的归纳与总结-程序员宅基地

技术标签: ann  加密解密  深度搜索  可搜索加密  

可搜索加密(Searchable Encryption,SE)

以博主看过的文献或查阅的资料为基础,本博文将介绍可搜索加密(Searchable Encryption,SE)的相关知识点,以及归纳与总结。这也是博主个人的学习过程,长期更新,建议收藏,也欢迎指正!

可搜索加密旨在将数据文件进行加密后存储到云端,然后对密文进行检索的一种技术。

例如:用户为节约自身的资源开销,将文件外包给云服务器,但又不想云服务知道存储的文件内容,因此需要对文件采用某种加密方式加密后存储。此外,用户若想从云服务器中查询文件中的特定数据,只有合法的用户基于关键词检索对应的密文数据。

一、可搜索加密的诞生

如果在读此篇博文之前,读者有了解过SE的背景,想必都知道SE的开篇之作。即使不了解的读者也没关系,这里将隆重介绍一下SE的诞生。SE的开篇之作名为"Practical techniques for searches on encrypted data "。这是作者首次研究出支持对数据加密后进行搜索的密码技术,由此开辟了密码学中的全新研究方向——可搜索加密(Searchable Encryption)

  • 作者:Dawn Xiaoding Song, D. Wagner, and A. Perrig.
  • 单位:University of California, Berkeley
  • 发表刊物:Proceedings of the 2000 IEEE Symposium on Security and Privacy(国际顶级会议,中国计算机学会(CCF)推荐的 A 类网络与信息安全国际学术会议)
  • 时间:2000年5月
  • 被引次数:3894(截至2021年4月29日,来源Google Scholar)

后来的研究者写可搜索加密时基本会引用Song2000

二、可搜索加密的分类

2.1 按照应用模型分类

  • 1)单用户 — 单服务器模型:用户加密个人文件并将其存储到不可信的服务器。只有该用户具备基于关键词检索的能力,服务器无法获取明文文件和待检索关键词的信息。
    一对一

  • 2)多用户 — 单接收者(单服务器)模型:多个发送者加密文件后,将其上传至不可信的服务器,以达到与单个接收者传送数据的目的。只有接收者具备基于关键词检索的能力,服务器无法获取明文文件信息,不同于单用户模型,多用户 — 单服务器模型要求发送者和接收者不能是同一用户。
    多对一

  • 3)单用户 — 多接收者(单服务器)模型:与上一类型类似,但为单个发送者将加密文件上传至不可信服务器,然后多个接收者共享数据。
    单对多

  • 4)多用户 — 多接受者(单服务器)模型:在多对单模型的基础上,任意用户都可成为接受者,通过访问控制和认证策略后,具备关键词的密文检索方式提取共享文件的能力。只有合法的用户具备基于关键词检索的能力,服务器无法获取明文文件信息,具备广阔的应用前景。
    多对多

2.2 按照解决策略分类

  • 1)对称可搜索加密(Symmetric searchable encryption, SSE):旨在加解密过程中采用相同的密钥之外,陷门生成也需要密钥的参与,通常适用于单用户模型,具有计算开销小、算法简单、速度快的特点。
  • 2)非对称可搜索加密(Asymmetric searchable encryption, ASE):旨在加解密过程中采用公钥对明文信息加密和目标密文的检索,私钥用于解密密文信息和生成关键词陷门。非对称可搜索加密算法通常较为复杂,加解密速度较慢,其公私钥相互分离的特点,非常适用于私钥生成待检索关键词陷门,通常适用于多对一模型。
  • 3)对称+非对称可搜索加密:由于非对称SE本身支持最基本形式的隐私数据共享,可通过共享密钥拓展到多对多的应用场景。对称SE虽然使用单用户模型,但计算开销小、速度快,更适用于大型文件数据的加密和共享。通过混合加密与基于属性加密技术相结合,或与代理重加密结合,也可构造共享方案。
  • 4)属性基加密(Attribute-based encryption, ABE):它是指通过对用户私钥设置属性集(或访问结构)为数据密文设置访问结构(或属性集),由属性集和访问结构之间的匹配关系确定其解密能力。特别是密文策略的属性基加密(CP-ABE),其密文上的访问策略本身就是一种搜索策略,访问策略的表达能力从一定程度上反映了可搜索能力。

2.3 按照检索关键词数分类

  • 1)单关键词搜索:旨在用户在检索的过程中使用单关键词进行检索。
  • 2)多关键词搜索:顾名思义,用户在检索的过程中使用多个关键词进行检索。

2.4 按照准确度分类

  • 1)精确搜索:旨在搜索的过程中,只有当输入的关键词完全等于文件的索引值时才能检索出结果。
  • 2)模糊搜索:与精确搜索不同,旨在搜索的过程中,用户输入的关键词与数据或索引中存在的关键词之间存在某种模糊的关系,并以这种模糊关系进行关键词匹配。(例如,我们输入打乱的关键词“ture”,能够搜索到索引中包含关键词“true”的数据文件,这可以帮助用户输入错误的检索问题。)

三、可搜索加密相关技术的名词解释

可搜索加密是一项结合各种密码学原语信息检索的技术,旨在能够以某种方式对数据和数据的关键词索引进行加密,使得用户能够通过提交关键词进行方便灵活且高效的搜索,同时又保证负责存储的云服务器对密文数据本身以及关键词相关信息一无所知。

目前研究热点,分为三个维度:表达能力、安全性和检索效率。

  • 1)相似度度量:以欧式距离、余弦距离、陆地移动距离或词移距离来度量被输入的多个关键词与索引对应的数据文件之间的匹配符合程度。
  • 2)语义文本相似度:旨在衡量两段文本在语义上的相似程度。通常,文本的语义相似度数值越小,则说明两个文本之间的语义差异性越大;反之,该数值越大,则说明这两个文本所表达出的语义越相似。
语义文本相似度计算
基于字符串
基于统计
基于知识库
基于深度学习
VSM模型
主体模型
LSA
PLSA
LDA
基于本体-WordNet等
基于网络百科-Wikipedia等
无监督方法
监督方法
孪生网络架构
交互模型架构
  • 3)语义搜索:在各种搜索引擎中应用最广泛,也是最迎合用户体验的搜索功能,它能够充分地理解用户的搜索意图,返回尽可能符合用户本意和需求的搜索结果。
  • 4)编辑距离:通常被用于句子的快速模糊匹配领域,以表示两个文本之间,由一个转换成另一个所需的最少编辑操作次数,其中编辑操作包括增、删、改三种。
  • 5)向量空间模型(VSM):主要思想是假设一个文本的语义只与该文本中的单词有关,而忽略其语序和单词之间的相互关系,然后通过基于词频统计的方法,将文本映射成向量,最后通过向量间的距离计算以表征文本间的相似度。
  • 6)TF-IDF函数:用于表征词在文本中的权重,TF代表某个词在单份文件中出现的频率,IDF代表包含某个词的文件与全部文件数量比例的倒数,TF-IDF为两者的乘积。
  • 7)Top-K排名搜索:旨在获取相似度后,将其作为打分结果,根据匹配到的文件的分数,按照顺序返回给用户分数排名最高的K份数据,是搜索引擎中最常见的模式。
  • 8)安全最近邻((k-Nearest Neighbors, kNN)算法:旨在向量空间模型(VSM)中,将真实的数据文件表示成空间向量,将用户提交的多个关键词描述为虚拟文件向量,在空间中计算和寻找最符合用户描述的k份真实数据问题,这与Top-K排名搜索高度适应。
  • 9)N-gram分割:旨在把关键词按照一定规则进行字符分割,便于将语义相关的关键词表示为词向量时,仍保持语义关系。
  • 10)词嵌入:旨在用机器学习的方法,通过对大量文本数据集进行训练,将单词表示为固定维度100/200/300的词向量,当两个单词之前存在语义关系时,则对应的向量较为相似。
  • 11)词向量计算:旨在用词嵌入获取词向量后,在某个模型中对词向量进行计算,完成包括搜索在内的特定计算任务。
  • 12)基于自然语言处理模(NLP)型:旨在用词嵌入获取词向量后,对数据文本用机器学习的方法进行计算,完成某种文本处理任务,包含对数据文本的关键词搜索。
  • 13)贪心算法:通过将全局问题分为多个子问题,分布求出各个子问题的局部最优解,对权重大的节点为贪心的选择,则全局最优解为各个局部最优解之和。(转载:漫画式理解
  • -14)深度优先搜索算法:是指通过产生目标树的相应拓扑排列表,利用该表可以方便的解决很多查找路径问题。可简单理解为对每个可能的分支路径深入到不能再深入为止。
  • 15)近似最近邻(Approximate Nearest Neighbor,ANN):主要分为基于树的方法(KD-tree、Ball-tree、Annoy和B树等)、哈希方法(局部敏感哈希)和矢量量化方法(Product Quantization)三类。

四、存在问题及未来方向

  • 1)在可搜索加密的理论研究方面:主要集中在研究密文搜索语句的表达能力、可搜索加密方案的安全性、可搜索加密方案的高效性等方面。

    • 表达能力:不仅需要让用户精确地定位所需要的加密文件,而且要让用户能够更加灵活地表述搜索需求。因此,主要集中密文搜索能力的复杂性的探索、研究支持模糊搜索、有序搜索、区间搜索,以及子集搜索等复杂性密文搜索能力。
    • 安全性:针对不同需求,不同表达能力,定义不同SE的安全级别,在不同安全级别的基础上,寻求简单高效的难题假设证明SE的安全性。
    • 高效性:研究SE的搜索凭证、搜索关键字与密钥、密文间的关系,探索用越短的密钥、密文来实现表达能力越丰富的SE方案,进一步地,结合不同的需求和安全级别,探索高效安全的SE。
  • 2)利用属性基加密(ABE)实现安全搜索方面,效率是一个主要因素,研究属性基加密以及签名的安全搜索与隐私保护的一般理论,主要集中在属性基加密以及签名的高效性上,包括表达能力、通信效率、计算效率和属性特征等方面。

    • 表达能力丰富的ABE
    • 更短密文、短密钥、短公开参数的ABE
    • 高效的解决方案及加密数据外包计算方案
    • 简单的难题假设
    • 基于属性的隐私保护
  • 3)在安全搜索与隐私保护的基础理论研究的基础上,探索安全搜索与隐私保护的一般规律与方法,并在此基础上进行方案的轻量化的研究,并探索在安全搜索与隐私保护的过程中一次使用有关的公钥加密方案,以适用于存储、计算资源受限网络环境。

    • 探索SE轻量化方法
    • 探索ABE实现安全搜索的轻量化和高效实现方法

文献引用:

[1] 李经纬,贾春福,刘哲理,李进,李敏.可搜索加密技术研究综述[J].软件学报, 2015,26(1):109-128.
[2] 董晓蕾,周俊,曹珍富.可搜索加密研究进展[J].计算机研究与发展,2017,54(10):2107-2120.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/A33280000f/article/details/116270371

智能推荐

解决win10/win8/8.1 64位操作系统MT65xx preloader线刷驱动无法安装_mt65驱动-程序员宅基地

文章浏览阅读1.3w次。转载自 http://www.miui.com/thread-2003672-1-1.html 当手机在刷错包或者误修改删除系统文件后会出现无法开机或者是移动定制(联通合约机)版想刷标准版,这时就会用到线刷,首先就是安装线刷驱动。 在XP和win7上线刷是比较方便的,用那个驱动自动安装版,直接就可以安装好,完成线刷。不过现在也有好多机友换成了win8/8.1系统,再使用这个_mt65驱动

SonarQube简介及客户端集成_sonar的客户端区别-程序员宅基地

文章浏览阅读1k次。SonarQube是一个代码质量管理平台,可以扫描监测代码并给出质量评价及修改建议,通过插件机制支持25+中开发语言,可以很容易与gradle\maven\jenkins等工具进行集成,是非常流行的代码质量管控平台。通CheckStyle、findbugs等工具定位不同,SonarQube定位于平台,有完善的管理机制及强大的管理页面,并通过插件支持checkstyle及findbugs等既有的流..._sonar的客户端区别

元学习系列(六):神经图灵机详细分析_神经图灵机方法改进-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏27次。神经图灵机是LSTM、GRU的改进版本,本质上依然包含一个外部记忆结构、可对记忆进行读写操作,主要针对读写操作进行了改进,或者说提出了一种新的读写操作思路。神经图灵机之所以叫这个名字是因为它通过深度学习模型模拟了图灵机,但是我觉得如果先去介绍图灵机的概念,就会搞得很混乱,所以这里主要从神经图灵机改进了LSTM的哪些方面入手进行讲解,同时,由于模型的结构比较复杂,为了让思路更清晰,这次也会分开几..._神经图灵机方法改进

【机器学习】机器学习模型迭代方法(Python)-程序员宅基地

文章浏览阅读2.8k次。一、模型迭代方法机器学习模型在实际应用的场景,通常要根据新增的数据下进行模型的迭代,常见的模型迭代方法有以下几种:1、全量数据重新训练一个模型,直接合并历史训练数据与新增的数据,模型直接离线学习全量数据,学习得到一个全新的模型。优缺点:这也是实际最为常见的模型迭代方式,通常模型效果也是最好的,但这样模型迭代比较耗时,资源耗费比较多,实时性较差,特别是在大数据场景更为困难;2、模型融合的方法,将旧模..._模型迭代

base64图片打成Zip包上传,以及服务端解压的简单实现_base64可以装换zip吗-程序员宅基地

文章浏览阅读2.3k次。1、前言上传图片一般采用异步上传的方式,但是异步上传带来不好的地方,就如果图片有改变或者删除,图片服务器端就会造成浪费。所以有时候就会和参数同步提交。笔者喜欢base64图片一起上传,但是图片过多时就会出现数据丢失等异常。因为tomcat的post请求默认是2M的长度限制。2、解决办法有两种:① 修改tomcat的servel.xml的配置文件,设置 maxPostSize=..._base64可以装换zip吗

Opencv自然场景文本识别系统(源码&教程)_opencv自然场景实时识别文字-程序员宅基地

文章浏览阅读1k次,点赞17次,收藏22次。Opencv自然场景文本识别系统(源码&教程)_opencv自然场景实时识别文字

随便推点

ESXi 快速复制虚拟机脚本_exsi6.7快速克隆centos-程序员宅基地

文章浏览阅读1.3k次。拷贝虚拟机文件时间比较长,因为虚拟机 flat 文件很大,所以要等。脚本完成后,以复制虚拟机文件夹。将以下脚本内容写入文件。_exsi6.7快速克隆centos

好友推荐—基于关系的java和spark代码实现_本关任务:使用 spark core 知识完成 " 好友推荐 " 的程序。-程序员宅基地

文章浏览阅读2k次。本文主要实现基于二度好友的推荐。数学公式参考于:http://blog.csdn.net/qq_14950717/article/details/52197565测试数据为自己随手画的关系图把图片整理成文本信息如下:a b c d e f yb c a f gc a b dd c a e h q re f h d af e a b gg h f bh e g i di j m n ..._本关任务:使用 spark core 知识完成 " 好友推荐 " 的程序。

南京大学-高级程序设计复习总结_南京大学高级程序设计-程序员宅基地

文章浏览阅读367次。南京大学高级程序设计期末复习总结,c++面向对象编程_南京大学高级程序设计

4.朴素贝叶斯分类器实现-matlab_朴素贝叶斯 matlab训练和测试输出-程序员宅基地

文章浏览阅读3.1k次,点赞2次,收藏12次。实现朴素贝叶斯分类器,并且根据李航《统计机器学习》第四章提供的数据训练与测试,结果与书中一致分别实现了朴素贝叶斯以及带有laplace平滑的朴素贝叶斯%书中例题实现朴素贝叶斯%特征1的取值集合A1=[1;2;3];%特征2的取值集合A2=[4;5;6];%S M LAValues={A1;A2};%Y的取值集合YValue=[-1;1];%数据集和T=[ 1,4,-1;..._朴素贝叶斯 matlab训练和测试输出

Markdown 文本换行_markdowntext 换行-程序员宅基地

文章浏览阅读1.6k次。Markdown 文本换行_markdowntext 换行

错误:0xC0000022 在运行 Microsoft Windows 非核心版本的计算机上,运行”slui.exe 0x2a 0xC0000022″以显示错误文本_错误: 0xc0000022 在运行 microsoft windows 非核心版本的计算机上,运行-程序员宅基地

文章浏览阅读6.7w次,点赞2次,收藏37次。win10 2016长期服务版激活错误解决方法:打开“注册表编辑器”;(Windows + R然后输入Regedit)修改SkipRearm的值为1:(在HKEY_LOCAL_MACHINE–》SOFTWARE–》Microsoft–》Windows NT–》CurrentVersion–》SoftwareProtectionPlatform里面,将SkipRearm的值修改为1)重..._错误: 0xc0000022 在运行 microsoft windows 非核心版本的计算机上,运行“slui.ex