云存储环境中的可搜索加密机制目录问题背景可搜索加密对称可搜索加密公钥可搜索加密研究方向展望问题背景云存储环境云存储服务–云存储环境方便海量数据的存取(灵活、节约开销)–个人或企业存储在云端的数据日益增加隐私保护–云存储将数据的拥有权和控制权分离–用户加密数据现实场景目的:查找含有某些关键词的文件途径:下载所有云端的文件,本地解密后检索问题–大量文件给带宽带来压力–本地解密大量文件效率极低应用需求加密数据数据检索便利不用下载全部数据再解密其他人不能从这个检索过程获得额外信息可搜索加密特点支持在加密数据中进行关键词搜索保护用户隐私利用云计算的运算能力节约传输带宽开销和存储消耗模型1.加密过程:本地加密明文文件,上传2.限门(Trapdoor)生成过程:使用密钥生成待查询关键词的限门3.检索过程:输入关键词限门,执行检索算法,返回对应文件4.解密过程:接收含有关键词的密文文件,解密获得结果密文文件关键词限门对应密文文件以关键词和密钥为输入,生成对应关键词的搜索凭证分类按照模型分类按照架构分类可搜索加密架构关键词单关键词排序模糊查询多关键词连接关键词灵活查询范围查询子集查询加密算法对称加密公钥加密RSA双线性对对称可搜索加密对称加密加密密钥和解密密钥相同加解密速度快适用于大块文件密钥对称可搜索加密适用于单用户模型–用户使用密钥加密个人文件并上传至服务器,检索时,用户通过密钥生成待检索关键词陷门,服务器根据陷门执行检索过程后返回目标密文.典型构造–SWP–Z-IDX–SSE-1典型构造——SWP[2000,SongXD]预加密Wi生成E(Wi)E(Wi)分成Li(n-m位)和Ri(m位)两部分使用流密码加密验证–密文Ci与E(Wi)异或得到Ti–验证Ti的结构是否为Si+F(Si)方法评价优点–支持对文件中任意单词的检索(每个单词分别加密)–支持受控检索缺点–效率低–统计攻击–未考虑限门安全性Bloomfilter针对效率低下问题,提出使用Bloomfilter作为文件索引Bloomfilter–二进制向量Mem(假设为m位)和哈希函数族{h1(⋅),h2(⋅),…,hr(⋅)}–用于判断元素存在–插入:对每个元素s∈S,置Mem[h1(s)],Mem[h2(s)],…,Mem[hr(s)]为1.–判断元素a是否属于S:只需检查比特位Mem[h1(a)],Mem[h2(a)],…,Mem[hr(a)],如果所有比特位都为1,则a属于S;否则a不属于S.典型构造——Z-IDX方法评价优点–“文件-关键词”索引结构,文件更新高效–使用Bloomfilter作为文件索引,高效跟踪关键词缺点–增加了存储开销:索引–时间开销:需逐个文件计算和判断,时间复杂度O(n)典型构造——SSE-1引入额外的数据结构:对于文件中所有关键词W–数组A存储包含W的密文文件集D(W)的加密结果(将链表结构存储在数组中)–速查表T存储W的相关信息,高效定位W在A中的位置文件标识符||下一个节点解密密钥||下一个节点在数组A的存放位置方法评价优点–“关键词-文件”索引结构,O(1)–避免逐个文件进行检索,高效缺点–文件的更新删除或新文件的添加需重新构建索引,造成较大开销。–适用于文件集合稳定的情况.应用扩展多关键词–分别检索,再综合处理(缺点:服务器可以知道某些单个关键词包含于哪些文件)–设置元关键词与文件关联,例如于关键词Bob,urgent和finance,可设置元关键词Bob:urgent:finance(缺点:服务器存储量指数级增长)模糊关键词–基于编辑距离,例如flower的所有通配检索形式包括flower,*flower,flower*,*lower,…,flowe*,*ower,…,flow*,*wer,f*er,fl*r,flo*,*er,f*r,fl*,*r,f*等)关键词排序–使用方向索引(目前只支持单关键词)公钥可搜索加密公钥加密加密密钥和解密密钥不同加解密速度慢不用建立安全信道应用场景邮件系统–情况1:B用A的公钥加密了邮件发给A邮箱检索’urgent’等字眼的信息以做相应处理–情况2:A给服务器一些关键词限门服务器进行检索匹配决定邮件推送策略数据共享应用扩展支持多种查询——子集、范围查询,并且可以按照身份加密(只支持单关键词)多用户固定关键词并集检索,对用户进行访问控制(扩展性不好,用户量大时效率低,对多关键词不能自由搜索)谓词加密技术支持多用户并实现授权搜索(扩展性不好,用户搜索请求由第三方产生,效率低,搜索类型少)研究方向展望高效率且支持灵活查询语句的SE机制支持模糊搜索(fuzzysearch)和支持按相关性排序的可搜索加密机制支持关系运算(,,==等)的可搜索加密机制保留语义的SE机制多用户共享模式下潜在的密钥泄漏问题算法描述定义关键词字典𝛥=𝑊1,𝑊2,𝑊3,…,𝑊𝑛上的对称可搜索加密算法可描述为五元组𝑆𝑆𝐸=𝐾𝑒𝑦𝐺𝑒𝑛,𝐸𝑛𝑐,𝑇𝑟𝑎𝑝𝑑𝑜𝑜𝑟,𝑆𝑒𝑎𝑟𝑐ℎ,𝐷𝑒𝑐:𝐾=𝐾𝑒𝑦𝐺𝑒𝑛(𝑘):根据输入的安全系数k,生成随机的密钥𝐾。𝐼,𝐶=𝐸𝑛𝑐(𝐾,𝐷𝑖):输入生成的对称密钥𝐾和明文文件集𝐷=𝐷1,𝐷2,𝐷3,…,𝐷𝑚,其中𝐷𝑖由关键词字典组成,输出每个文件对应的密文文件和关键词索引。𝑇𝑤𝑖=𝑇𝑟𝑎𝑝𝑑𝑜𝑜𝑟(𝐾,𝑊𝑖):根据输入的密钥𝐾和关键词𝑊𝑖生成该关键词对应的限门𝑇𝑤𝑖。𝐷𝑊=𝑆𝑒𝑎𝑟𝑐ℎ𝐼,𝑇𝑤𝑖:输入文件索引𝐼和关键词对应限门𝑇𝑤𝑖,输出含有关键词𝑊𝑖的文件集合𝐷𝑊。𝐷𝑖=𝐷𝑒𝑐𝐾,𝐶𝑖:输入对称密钥𝐾和返回的密文文件𝐶𝑖,输出得到对应的明文文件𝐷𝑖。算法描述KeyGen(s):给定一个安全参数,生成一个公钥/私钥对Apub,AprivPEKS(Apub,W):利用公钥Apub加密WTrapdoor(Apriv,W):利用私钥加密关键词W生成trapdoorTwTest(Apub,S,Tw):提供Alice的公钥,S=PEKS(Apub,W`),和trapdoorTw=Trapdoor(Apriv,W),检验W和W`的匹配结果