可搜索对称加密

前沿:杨师傅在大学毕业之后,将大学期间的所有学习资料都上传到云服务器存储,减少本地的空间占有。但某一天杨师傅想翻出自己在大学期间的学习微积分的相关资料的时候,他面对大量的密文信息,他不知所措。难道他要将所有的密文都下载下来,依次解密再查看吗?

  1. 可搜索加密是什么?

    能不能像平时使用word(内容搜索方式)或者是使用浏览器(关键字搜索)一样,对想要查看的关键字信息进行检索呢?可搜索加密就是在密文世界中实现搜索的技术。

  2. 可搜索对称加密的实现方法?

    **直接(非常不安全)**的想法是:使用无随机数参与的加密方式,搜索直接对密文进行密文片段的搜索。

    SSE应用模型

    关键字用wiw_iwi​表示,文件标识符用ididid表示,检索陷门用TwiT_{w_i}Twi​​表示。
    从文件中提取关键字集合:F→{wi}关键字和文件标识符生成可搜索密文:SE(wi),id服务器生成table:SE(w1):id1、SE(wj):idi....用户在搜索时生成关键字wi的检索陷门:Twi服务器根据检索陷门计算匹配的文档,并返回文件标识符集合或加密的文件标识符集合{id}从文件中提取关键字集合:F\rightarrow{\{w_i\}} \\ 关键字和文件标识符生成可搜索密文: SE(w_i),id \\ 服务器生成table: SE(w_1):id_1、SE(w_j):id_i....\\ 用户在搜索时生成关键字w_i的检索陷门:T_{w_i}\\ 服务器根据检索陷门计算匹配的文档,并返回文件标识符集合或加密的文件标识符集合\{id\} 从文件中提取关键字集合:F→{wi​}关键字和文件标识符生成可搜索密文:SE(wi​),id服务器生成table:SE(w1​):id1​、SE(wj​):idi​....用户在搜索时生成关键字wi​的检索陷门:Twi​​服务器根据检索陷门计算匹配的文档,并返回文件标识符集合或加密的文件标识符集合{id}
    **注意:**加密的密文主体是关键字而不是文件本身。

  3. 最初的SSE方案

    具体算法不需要了解,需要掌握song方案的不足之处和为什么不足?

    1)不足之处?

    第一点:

    第二点:
    ​ song方案的安全性是不能保证的,可以通过简单的频率攻击,对关键字进行猜测。在song的方案中,每一个关键字所对应的搜索陷门是固定的(即关键字和搜索陷门之间存在简单的一一映射关系

​ 2)为什么不足?(思考为什么song会犯低级的错误)
​ 针对搜索效率:
密文之间没有任何关联,为了提高检索效率,应该让密文间有关系,但这种关系需要隐藏。

​ 针对安全性:
​ song只是简单的认为,将随机数引入到可搜索加密的算法之后就能够保证安全性。其实不然,可搜索加密的安全性和常规的加密的安全性定义是不一样的。在攻击者眼中,可搜索加密比常规的加密多一个检索陷门(信息更多),仅仅保证密文的不可区分性,对于可搜索加密的安全性定义来说是远远不够的。(产生问题的本质:忽略了检索陷门对安全性的影响)

可搜索公钥加密

前言:PEKS和SSE的关系,和传统公钥密码与对称密码的关系相近。PEKS具有公钥密码体制的特性,能够实现多用户之间的密文搜索。

  1. 可搜索加密的应用模式

  2. 公钥可搜索加密算法

    注意:和IBE十分相似,将关键字w作为IBE中的身份id,此处不需要异或明文的。因为可搜索加密是加密一个语义。

  3. 最初的可搜索公钥加密同样存在着效率和安全性的两个问题
    引出公钥可搜索加密普遍存在的安全漏洞:

在公钥可搜索加密体系之中,接收方的公钥是公开的,攻击者可以生成所有关键字对应的索引密文,所以在监听到关键字陷门之后,攻击者可以使用Test算法,对每一个关键字对应的索引密文和关键字陷门进行运算。进而暴力破解出陷门背后的关键字信息。

  1. 谈谈可搜索加密的安全性

    1)如何理解可搜索加密至少泄露了1bit的信息?

    在第一章的语义安全性的定义中,攻击者无法区分被加密的是m0m_0m0​还是m1m_1m1​,即要求加密算法不泄露任何一比特的信息。对于可搜索加密来说,服务器需要根据检索陷门来判断哪个文件是用户所找的文件,服务器可以知道搜索陷门与对应文件标识符之间的关联关系。即:服务器在获取到关键字检索陷门之后, 可搜索密文可以被服务器区分

    泄露的1bit信息是搜索陷门与对应文件标识符之间的关联关系

    2)可搜索加密攻击的其他方式?

    对于对称可搜索加密来说,攻击者往往定义为带有恶意的服务器。
    已知信息:泄露的部分已知文件,关键字提取算法,搜索陷门,每次的查询和查询结果。
    攻击目标:搜索陷门所包含的关键字信息。
    攻击思路:根据可搜索加密泄露的搜索陷门与对应文件标识符之间的关系以及关键字与对应文件标识符之间的关系推出搜索陷门与关键字之间的对应关系

    对于可搜索公钥加密来说,攻击者可以是服务器、发送方。
    攻击者是服务器或窃听者的话,存在暴力攻击方式,见本节第三点。
    攻击者是恶意发送方的话,可以通过构造可搜索密文进行攻击,假设TwT_wTw​对应的关键字集合WWW中的一个关键字对应的陷门,攻击者通过构造可搜索密文Cwi,i=1,2,3,..nC_{w_i},i=1,2,3,..nCwi​​,i=1,2,3,..n。当接收方进行搜索的时候,攻击者通过监听返回数据,判断是否有攻击者构造的恶意可搜索密文被返回,如果有的话,那么返回的那个可搜索密文对应的关键字就是搜索陷门对应的关键字。

    3)可搜索加密必然会泄露信息,那么它还是安全的吗?
    可搜索加密的安全性需要控制在一个合理的范围内,它有自己的安全性定义方式。我们只需要理解,好的可搜索加密在泄露信息之后,仍然可以证明其安全性。

高级密码学复习2-HUST版相关推荐

  1. 高级密码学复习1-HUST版

    可证明安全性.IBE.PRE 安全的定义:安全是基于信任构建的标准"可满足性":基于信任而不是基于试验的原因是(试验的成本过高) 信任源具有动态性,信任源是否可信可能随着时间和环境 ...

  2. 高级密码学复习番外篇

    [扯蛋证明]FE和HE不满足语义安全 1.PKE语义安全性证明 A--m0,m1⟶C⟵cb,b=0/1----guessb=0/1→A \ -- \ m_0,m_1\longrightarrow C ...

  3. 软件项目管理第4版课后习题-期末复习题型分册版-练习版无答案

    软件项目管理第4版课后习题[附解析]系列文章目录 第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章 第十章 第十一章 第十二章 第十三章 第十四章 第十五章 第十六章 期末复习题 ...

  4. 软件项目管理第4版课后习题-期末复习题型分册版-带答案

    软件项目管理第4版课后习题[附解析]系列文章目录 第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章 第十章 第十一章 第十二章 第十三章 第十四章 第十五章 第十六章 期末复习题 ...

  5. [渝粤教育] 西南科技大学 管理会计JG211012 在线考试复习资料2021版(1)

    管理会计JG211012--在线考试复习资料2021版 一.单选题 1.下列各项指标中,属于投资中心主要考核指标的有(    ). A. 可控成本 B. 营业收入 C. 税前利润 D. 剩余贡献毛益 ...

  6. 《Silverlight揭秘》暨《ASP.NET高级程序设计(第2版)》有奖读书笔记征集

    <Silverlight揭秘>暨<ASP.NET高级程序设计(第2版)>有奖读书笔记征集 近期图灵公司出版了两本微软技术大作<Silverlight揭秘>和< ...

  7. 经典推荐:《Silverlight揭秘》和《ASP.NET 3.5高级程序设计(第2版)》

    经典推荐:<Silverlight揭秘>和<ASP.NET 3.5高级程序设计(第2版)> 给论坛里在学习Silverlight和ASP.NET的朋友推荐2本经典的图书,相信会 ...

  8. 《UNIX环境高级编程(第3版)》——1.7 出错处理

    本节书摘来自异步社区<UNIX环境高级编程(第3版)>一书中的第1章,第1.7节,作者:[美]W. Richard Stevens , Stephen A.Rago著,更多章节内容可以访问 ...

  9. JavaScript高级程序设计(第3版)非扫描版

    前端学习js的红皮书 文档:JavaScript高级程序设计(第3版)非扫?.. 文档:JavaScript高级程序设计(第3版)非扫?.. 链接:http://note.youdao.com/not ...

最新文章

  1. python selenium error “Geckodriver executable needs to be in PATH”
  2. 802.11n兼容a/b/g问题(Legacy mode,Mixed mode,Greenfield mode)
  3. MySQL 高级- case结构
  4. 什么是光纤通道交换机(FC SWITCH)
  5. javaweb下载文件
  6. HDU 2845 Beans
  7. string.Format 格式化
  8. shiro框架---关于多项目之间验证为什么需要共享session
  9. python安装要什么配置_Python的安装和详细配置
  10. 如何使用可控硅?(详细教程)
  11. HBuilderX:自定义代码块
  12. hex2bin和bin2hex互转的小程序源代码
  13. 原生Java萝卜影视4.0.5源码/完美修复完整版萝卜影视源码
  14. 使用Java对接永中格式转换
  15. python小欢喜(八)俄罗斯方块 (12) 添加游戏音效
  16. Android N四项新功能iPhone也无法抗衡
  17. 群晖3617可以有几个网卡_Nvme pcie千兆有线网卡
  18. 中兴echat_中兴高达推出新一代eChat小先锋e350
  19. java32位怎么用eclipse_32位eclipse怎么安装?
  20. 丢掉迅雷,1M的下载神器让你下载飞起来,NDM/XDM分享

热门文章

  1. stm32F407按键例程安富莱
  2. Terraform的vpc网络自动化配置解决方案
  3. 远程连接android手机(调试)
  4. 局部加权回归LOESS(locally weighted regression)
  5. 基于单片机和GPS定位农田面积测量仪设计(毕业设计资料)
  6. 锐捷NBR路由器命令执行漏洞复现
  7. python爬取百度搜索_使用Python + requests爬取百度搜索页面
  8. 智汇云校携手院校组织数千学生参加“2020华为中国大学生ICT大赛”
  9. 怎么拯救一个不大靠谱的数据库系统 (5 不靠谱的前生)
  10. 查看文章影响因子的插件_查询文献可实时显示影响因子与分区排名的2个强大浏览器插件...