云存储中可验证的基于词典的可搜索加密方法
【专利摘要】本发明公开了一种云存储中可验证的基于词典的可搜索加密方法,步骤包括:步骤1、系统参数初始化;步骤2、用户u对文件加密和安全索引生成;步骤3、用户u关于关键词搜索令牌的生成;步骤4、云存储服务器关于密文关键词的搜索;步骤5、用户u验证搜索结果的完整性;步骤6、用户关于密文的解密。本发明的方法,数据用户可以将自己的数据加密后,存放到云存储服务器,需要时候,可以通过关键词检索令牌检索到需要的密文数据,然后下载解密。即使云存储服务器也不能知道用户搜索的关键词,可以确保用户信息的安全,在通信和计算代价,即搜索陷门大小、关键词加密、搜索正确性和搜索的速度等方面的综合效率得到提高。
【专利说明】云存储中可验证的基于词典的可搜索加密方法
【技术领域】
[0001] 本发明属于信息安全【技术领域】,涉及一种云存储中可验证的基于词典的可搜索加 密方法。
【背景技术】
[0002] 云计算作为一种新的计算模型,能够提供成本较低、可扩展的各种先进的计算服 务。为了节省存储及管理数据的代价,企业和个人可以将数据外包到云存储服务器。云存 储服务可以提供数据的可用性和可靠性等优势,但是其也有一个很明显的缺点,即数据不 在用户的管理及控制之下,那么如何维护数据的机密性和完整性便成为用户迫切关注的问 题。
[0003] 虽然企业相信云存储服务提供商(Cloud Storage Service Provider, CSSP)的可 靠性、可用性、容错性等,但是人们无法确信CSSP不将托管的数据用于其他目的。同样对于 个人用户而言,他们希望他们的数据只能由自己或指定的人访问而不能被CSSP访问。这将 导致两方面的问题:首先,从用户的角度看,他们无法找到让他们完全可信的CSSP来存储 和管理他们的数据;而从CSSP的角度看,在没有解决上述问题的情况下将会丢失大量的客 户。因此,数据的机密性及完整性将阻碍云的推广及使用。
[0004] 鉴于以上的实际问题,云存储中数据必须在传输到CSSP之前,由用户自己加密, 并且也只能由用户自己进行解密。这样将会减轻用户数据泄漏的危险。但这将引入一个新 的问题,如用户需要包含某个关键字的文档,那么用户是否能很快的获得他们想要的数据 并保证数据对CSSP的机密性?
[0005] 可搜索加密作为一种新的密码学技术,能够在加密的数据集合上进行搜索查询, 具体方法是,先为文件集合生成索引集合,再使用可搜索加密对这些索引进行加密以隐藏 索引内容,并且加密要满足如下性质:⑴给定一个关键字(即索引)的令牌,可以获得包含 该关键字的所有文件的指针;⑵没有令牌,索引的内容是隐藏的;⑶只有具有相关密钥的 用户才能生成令牌;⑷检索过程除了暴露了哪些文件共享某个关键字外,不会暴露任何有 关文件和关键字的信息。可搜索加密的核心作用是为云存储服务提供:一是用户自己控制 其数据;二是它的安全性质可以通过密码学原理验证,而不是通过法律、物理设备来确定安 全性。
【发明内容】
[0006] 本发明提供了一种云存储中可验证的基于词典的可搜索加密方法,解决了云存储 中数据加密后不能实现关键词检索的问题。
[0007] 本发明采用的技术方案是,一种云存储中可验证的基于词典的可搜索加密方法, 按照以下步骤具体实施:
[0008] 步骤1、系统参数初始化
[0009] 由用户u输入安全参数k,随机选择大素数p及x,l < X < p,p的二进制长 度为k;令
【权利要求】
1. 一种云存储中可验证的基于词典的可搜索加密方法,其特征在于,按照以下步骤具 体实施: 步骤1、系统参数初始化 由用户U输入安全参数k,随机选择大素数p及x,l < X <p,p的二进制长度 为k;令
为两个伪随机函数, 0:丨0,丨丨* X {〇,丨Γ - .!(),丨!、为伪随机置换,随机均匀的选择两个k_bit长的字符串& 和K2作为F和Q的随机种子;选择一个对称加密算法SKE = (Gen,Enc,Dec),生成加密 密钥ek - SKE.Gen(lk),发布params = (F,G,Q,SKE)作为系统参数,系统密钥为K = (K1; K2, ek, x, p); 步骤2、用户u对文件加密和安全索引生成 由用户u输入文档集合
和系统密钥
,用户u按如 下步骤计算:
2.1)为每个文档 ,随机均匀地选择一个唯一的标识符 , 加密文档DiS
; 2. 2)为每个关键词
,生成一个η维数组?,数组Aj按 如下过程生成:对每个文档Di e D,随机均匀地选择一个k-bit的字符串qi;若 WjeWi,计算
和检验和
的初值设为1,将
存储在Aj[i],其中flag为一个固定的k-bit长的字符串;否 则随机均匀地选择字符串
存储在?[i]; 2. 3)将所有数组?组成一个| Λ | Xn的索引矩阵M,其中?位于Μ的&(%)行; 2.4)将索引矩阵Μ和密文集合
发送给云存储服务器Serv存储,检验 和集合
由用户保存; 步骤3、用户u关于关键词搜索令牌的生成 由用户u输入要搜索的关键词
和系统密钥
,计算搜索令牌
,将Tw发送给云存储服务器CSS ; 步骤4、云存储服务器关于密文关键词的搜索 由云存储服务器Serv执行以搜索包含关键词w的文档标识符,输入陷门
和索引矩阵M,云存储服务器CSS首先定位到Μ的第行,记该 行向量为数组A w,若无,则返回失败符号丄给用户u ;否则初始化一个空集IDS (w),对Aw中
的每个元素的值 并判断下式是否成 J 立:
其中first_k_bit( ·)为取字符串前k-bit的函数,若成立,贝U IDS(w)=
,其中get_id(·)为取字符串中的文档标识符函数,即获得u的 后log2pbit ;最后将搜索的含有关键词w文档标识符IDS(w)发送给用户u ; 步骤5、用户u验证搜索结果的完整性 由用户u输入IDS(w)、用户自己保存的检验和集合
和系统密钥K
,用户u首先从CS中获得关键词w的检验和,记为cw,并判断下式是否成 立:
若成立,则根据idi向云存储服务器CSS获得相应的密文Q,否则返回验证失败符号丄 给云存储服务器; 步骤6、用户关于密文的解密 由用户u输入云存储服务器CSS返回的含有关键词w的密文和系统密钥K,用户u 执行解密算法得到明文Di = SKE. DeCek(Ci),即成。
2.根据权利要求1所述的云存储中可验证的基于词典的可搜索加密方法,其特点在 于:所述的对称加密算法选用高级加密算法AES。
【文档编号】H04L29/06GK104052740SQ201410219734
【公开日】2014年9月17日 申请日期:2014年5月22日 优先权日:2014年5月22日
【发明者】王尚平, 刘利军, 张亚玲 申请人:西安理工大学