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

技术标签: 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

智能推荐

linux devkmem 源码,linux dev/mem dev/kmem实现访问物理/虚拟内存-程序员宅基地

文章浏览阅读451次。dev/mem: 物理内存的全镜像。可以用来访问物理内存。/dev/kmem: kernel看到的虚拟内存的全镜像。可以用来访问kernel的内容。调试嵌入式Linux内核时,可能需要查看某个内核变量的值。/dev/kmem正好提供了访问内核虚拟内存的途径。现在的内核大都默认禁用了/dev/kmem,打开的方法是在 make menuconfig中选中 device drivers --> ..._dev/mem 源码实现

vxe-table 小众但功能齐全的vue表格组件-程序员宅基地

文章浏览阅读7.1k次,点赞2次,收藏19次。vxe-table,一个小众但功能齐全并支持excel操作的vue表格组件_vxe-table

(开发)bable - es6转码-程序员宅基地

文章浏览阅读62次。参考:http://www.ruanyifeng.com/blog/2016/01/babel.htmlBabelBabel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行// 转码前input.map(item => item + 1);// 转码后input.map(function (item) { return item..._让开发环境支持bable

FPGA 视频处理 FIFO 的典型应用_fpga 频分复用 视频-程序员宅基地

文章浏览阅读2.8k次,点赞6次,收藏29次。摘要:FPGA视频处理FIFO的典型应用,视频输入FIFO的作用,视频输出FIFO的作用,视频数据跨时钟域FIFO,视频缩放FIFO的作用_fpga 频分复用 视频

R语言:设置工作路径为当前文件存储路径_r语言设置工作目录到目标文件夹-程序员宅基地

文章浏览阅读575次。【代码】R语言:设置工作路径为当前文件存储路径。_r语言设置工作目录到目标文件夹

background 线性渐变-程序员宅基地

文章浏览阅读452次。格式:background: linear-gradient(direction, color-stop1, color-stop2, ...);<linear-gradient> = linear-gradient([ [ <angle> | to <side-or-corner>] ,]? &l..._background线性渐变

随便推点

【蓝桥杯省赛真题39】python输出最大的数 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析-程序员宅基地

文章浏览阅读1k次,点赞26次,收藏8次。第十三届蓝桥杯青少年组python编程省赛真题一、题目要求(注:input()输入函数的括号中不允许添加任何信息)1、编程实现给定一个正整数N,输出正整数N中各数位最大的那个数字。例如:N=132,则输出3。2、输入输出输入描述:只有一行,输入一个正整数N输出描述:只有一行,输出正整数N中各数位最大的那个数字输入样例:

网络协议的三要素-程序员宅基地

文章浏览阅读2.2k次。一个网络协议主要由以下三个要素组成:1.语法数据与控制信息的结构或格式,包括数据的组织方式、编码方式、信号电平的表示方式等。2.语义即需要发出何种控制信息,完成何种动作,以及做出何种应答,以实现数据交换的协调和差错处理。3.时序即事件实现顺序的详细说明,以实现速率匹配和排序。不完整理解:语法表示长什么样,语义表示能干什么,时序表示排序。转载于:https://blog.51cto.com/98..._网络协议三要素csdn

The Log: What every software engineer should know about real-time data's unifying abstraction-程序员宅基地

文章浏览阅读153次。主要的思想,将所有的系统都可以看作两部分,真正的数据log系统和各种各样的query engine所有的一致性由log系统来保证,其他各种query engine不需要考虑一致性,安全性,只需要不停的从log系统来同步数据,如果数据丢失或crash可以从log系统replay来恢复可以看出kafka系统在linkedin中的重要地位,不光是d..._the log: what every software engineer should know about real-time data's uni

《伟大是熬出来的》冯仑与年轻人闲话人生之一-程序员宅基地

文章浏览阅读746次。伟大是熬出来的  目录  前言  引言 时间熬成伟大:领导者要像狼一样坚忍   第一章 内圣外王——领导者的心态修炼  1. 天纵英才的自信心  2. 上天揽月的企图心  3. 誓不回头的决心  4. 宠辱不惊的平常心  5. 换位思考的同理心  6. 激情四射的热心  第二章 日清日高——领导者的高效能修炼  7. 积极主动,想到做到  8. 合理掌控自己的时间和生命  9. 制定目标,马..._当狼拖着受伤的右腿逃生时,右腿会成为前进的阻碍,它会毫不犹豫撕咬断自己的腿, 以

有源光缆AOC知识百科汇总-程序员宅基地

文章浏览阅读285次。在当今的大数据时代,人们对高速度和高带宽的需求越来越大,迫切希望有一种新型产品来作为高性能计算和数据中心的主要传输媒质,所以有源光缆(AOC)在这种环境下诞生了。有源光缆究竟是什么呢?应用在哪些领域,有什么优势呢?易天将为您解答!有源光缆(Active Optical Cables,简称AOC)是两端装有光收发器件的光纤线缆,主要构成部件分为光路和电路两部分。作为一种高性能计..._aoc 光缆

浏览器代理服务器自动配置脚本设置方法-程序员宅基地

文章浏览阅读2.2k次。在“桌面”上按快捷键“Ctrl+R”,调出“运行”窗口。接着,在“打开”后的输入框中输入“Gpedit.msc”。并按“确定”按钮。如下图 找到“用户配置”下的“Windows设置”下的“Internet Explorer 维护”的“连接”,双击选择“自动浏览器配置”。如下图 选择“自动启动配置”,并在下面的“自动代理URL”中填写相应的PAC文件地址。如下..._設置proxy腳本