基于公钥可搜索加密的文件存储、搜索方法及存储系统的制作方法

文档序号:10555576阅读:218来源:国知局
基于公钥可搜索加密的文件存储、搜索方法及存储系统的制作方法
【专利摘要】本发明适用计算机技术领域,提供了基于公钥可搜索加密的文件存储、搜索方法及存储系统,该方法包括:接收来自数据拥有者发送的用户文件存储请求,获取访问用户文件的访问控制属性信息、安全级别参数以及用户文件的关键字集,使用访问控制属性信息以及关键字集生成用户文件的文件属性向量,从预先生成的密钥空间中获取用于加密文件属性向量的公私钥对,使用公私钥对中的公钥对文件属性向量进行加密以得到文件属性向量对应的密文,将文件属性向量对应的密文以及用户文件的密文发送到预设的存储服务器,从而在属性加密机制的基础上,通过加入多关键字集域来灵活控制访问,实现了密文上的多词搜索,并提供了差异化的加密服务,提高了文件的安全性。
【专利说明】
基于公钥可搜索加密的文件存储、搜索方法及存储系统
技术领域
[0001] 本发明属于计算机技术领域,尤其涉及基于公钥可搜索加密的文件存储、搜索方 法及存储系统。
【背景技术】
[0002] 公钥可搜索加密是一种新型密码体制,允许用户在经过公钥加密的数据上进行关 键字搜索,不仅保证了数据接收方的隐私、访问模式不会泄露,同时提供了一种方法,使得 用户无须对数据进行解密就能快速有效的进行搜索操作。
[0003] 然而,现有的公钥可搜索加密的研究方向主要集中在基于属性加密的研究以实现 多用户访问控制策略,或仅关于多关键词的搜索研究。而现有公钥可搜索加密方法中在属 性加密时运算效率较低、加密安全等级统一,使得属性加密效率较低,无法实现差异化保 护。

【发明内容】

[0004] 本发明的目的在于提供一种基于公钥可搜索加密的文件存储、搜索方法及存储系 统,旨在解决由于现有技术无法提供一种高效的、基于公钥可搜索加密的文件存储和搜索 方法,导致文件安全存储过程加密响应时间长、安全性不高的问题。
[0005] -方面,本发明提供了一种基于公钥可搜索加密的文件存储方法,所述方法包括 下述步骤:
[0006] 接收来自数据拥有者发送的用户文件存储请求,获取用于访问所述用户文件的访 问控制属性信息、安全级别参数以及所述用户文件的关键字集;
[0007] 使用所述访问控制属性信息以及所述关键字集生成所述用户文件的文件属性向 量;
[0008] 根据所述访问控制属性信息从预先生成的密钥空间中获取用于加密所述文件属 性向量的公私钥对;
[0009] 根据所述安全级别参数使用所述公私钥对中的公钥对所述文件属性向量进行加 密以得到所述文件属性向量对应的密文;
[0010] 将所述文件属性向量对应的密文以及所述用户文件的密文发送到预设的存储服 务器。
[0011] 另一方面,本发明提供了一种基于公钥可搜索加密的文件搜索方法,所述方法包 括:
[0012] 接收文件访问者发送的用户文件搜索请求,所述用户文件为通过前述基于公钥可 搜索加密的文件存储方法存储的用户文件;
[0013] 根据所述文件访问者的属性信息、搜索关键词以及所述公私钥对中私钥生成访问 令牌;
[0014] 对所述访问令牌和所述文件属性向量的密文进行匹配;
[0015] 当所述访问令牌和所述文件属性向量的密文相互匹配时,向所述文件访问者发送 所述用户文件的密文。
[0016] 另一方面,本发明还提供了一种基于公钥可搜索加密的文件存储系统,所述系统 包括:
[0017] 获取控制参数,用于接收来自数据拥有者发送的用户文件存储请求,获取用于访 问所述用户文件的访问控制属性信息、安全级别参数以及所述用户文件的关键字集;
[0018] 向量生成单元,用于使用所述访问控制属性信息以及所述关键字集生成所述用户 文件的文件属性向量;
[0019] 钥对获取单元,用于根据所述访问控制属性信息从预先生成的密钥空间中获取用 于加密所述文件属性向量的公私钥对;
[0020] 向量加密单元,用于根据所述安全级别参数使用所述公私钥对中的公钥对所述文 件属性向量进行加密以得到所述文件属性向量对应的密文;以及
[0021] 密文发送单元,用于将所述文件属性向量对应的密文以及所述用户文件的密文发 送到预设的存储服务器。
[0022] 在本发明实施例中,接收到用户文件存储请求时,获取用于访问用户文件的访问 控制属性信息、安全级别参数以及用户文件的关键字集,使用访问控制属性信息以及关键 字集生成用户文件的文件属性向量,进而根据安全级别参数使用公私钥对中的公钥对文件 属性向量进行加密以得到文件属性向量对应的密文,最后将文件属性向量对应的密文以及 用户文件的密文发送到预设的存储服务器,从而在属性加密机制的基础上,通过加入多关 键字集域来灵活控制访问,以实现密文上的多词搜索,并提供文件属性向量的差异化加密 服务,提高了文件的安全性。
【附图说明】
[0023] 图1是本发明实施例一提供的基于公钥可搜索加密的文件存储方法的实现流程 图;
[0024] 图2是本发明实施例二提供的基于公钥可搜索加密的文件存储方法的实现流程 图;
[0025] 图3是本发明实施例三提供的基于公钥可搜索加密的文件搜索方法的实现流程 图;以及
[0026] 图4是本发明实施例四提供的基于公钥可搜索加密的文件存储系统的结构示意 图。
【具体实施方式】
[0027] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0028] 以下结合具体实施例对本发明的具体实现进行详细描述:
[0029] 实施例一:
[0030] 图1示出了本发明实施例一提供的基于公钥可搜索加密的文件存储方法的实现流 程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
[0031]在步骤SlOl中,接收来自数据拥有者发送的用户文件存储请求,获取用于访问用 户文件的访问控制属性信息、安全级别参数以及用户文件的关键字集。
[0032]本发明实施例适用于文件存储或管理系统,例如,云端文件管理系统,该系统可包 括用户端、服务器端等。
[0033] 在本发明实施例中,当数据拥有者希望将文件发送或上传到存储服务器上时,可 对访问该文件的访问者的属性信息(即访问控制属性信息)进行设置,以实现对访问该文件 的用户属性进行控制,提高文件的安全性。另外,安全级别参数用于标识文件的重要性或安 全性要求,用户文件的关键字集则可由数据拥有者上传文件时手动设置,也可由用户端软 件自动提取。
[0034] 在步骤S102中,使用访问控制属性信息以及关键字集生成用户文件的文件属性向 量。
[0035]在本发明实施例中,文件属性向量用于对文件的访问控制以及文件的搜索。文件 属性向量主要是由两部分组成:属性集和关键字集。其中,属性集信息是根据数据拥有者要 求设置的属性信息,即访问者必需具备的属性。作为示例地,当要存储的文件为用户病历 时,则要求访问者必须是满足一定属性要求的医生,例如,属性信息集合可以是某医院某科 室某职位的医生。
[0036] 在步骤S103中,根据访问控制属性信息从预先生成的密钥空间中获取用于加密文 件属性向量的公私钥对。
[0037] 在本发明实施例中,文件存储或管理系统需要根据输入的密钥空间参数预先为同 类文件或该类用户文件生成一密钥空间,其中,密钥空间参数为用于描述文件属性向量中 各维数值的取值数量,在该密钥空间中:
[0038]
[0039]
[0040] 其中,I表示素数阶非对称双线性对实例,I = [p,gl,g2,G1,G2,GT,e],1彡i彡L,r e
P表示素数阶的阶数,gl表示是Gl群中的一 , 个生成元,g2表示G2群中的一个生成元,G1表示乘法循环群,G2也表示另一个乘法循环群,GT 表示整数阶群,e表示双线性对运算,L表示密钥空间参数,具体为文件属性向量的向量长 度,r表示每一维向量的值,Σ表示每一维向量的可能值集合,匕 v表示,vi,;r表示根据维数i 和每一维向量值r随机产生的安全随机数,ti, r也表不根据维数i和每一维向量值r随机产生 的安全随机数。
[0041] 在本发明实施例中,在获取到访问控制属性信息后,即可根据访问控制属性信息 从预先生成的密钥空间中获取用于加密文件属性向量的公私钥对。
[0042] 在步骤S104中,根据安全级别参数使用公私钥对中的公钥对文件属性向量进行加 密以得到文件属性向量对应的密文。
[0043] 在本发明实施例中,使用获取的公私钥对中的公钥并采用素数阶双线性对运算对 文件属性向量进行加密以得到文件属性向量对应的密文,采用素数阶双线性对运算对文件 属性向量进行加密可为系统节约大量的时间和空间开销,提高文件的加密效率。进一步地, 可根据安全级别参数对文件属性向量对应的密文执行与所述第二加密安全级别对应的二 次加密,以向数据拥有者提供差异化的安全服务,具体的加密过程详见后续实施例的描述。
[0044] 在步骤S105中,将文件属性向量对应的密文以及用户文件的密文发送到预设的存 储服务器。
[0045] 在本发明实施例中,在属性加密机制的基础上,通过加入多关键字集域来灵活控 制访问,可实现密文上的多词搜索,并提供差异化的加密服务,提高了文件的安全性。
[0046] 实施例二:
[0047] 图2示出了本发明实施例二提供的基于公钥可搜索加密的文件存储方法的实现流 程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
[0048]在步骤S201中,接收来自数据拥有者发送的用户文件存储请求,获取用于访问用 户文件的访问控制属性信息、安全级别参数以及用户文件的关键字集。
[0049]本发明实施例适用于文件存储或管理系统,例如,云端文件管理系统,该系统可包 括用户端、服务器端等。
[0050] 在步骤S202中,使用访问控制属性信息以及关键字集生成用户文件的文件属性向 量。
[0051] 在步骤S203中,根据访问控制属性信息从预先生成的密钥空间中获取用于加密文 件属性向量的公私钥对。
[0052] 在本发明实施例中,步骤S201至S203与实施例一中步骤SlOl至S203实施方式相 同,在此不再赘述。
[0053]在步骤S204中,根据安全级别参数,计算用于识别加密安全级别的安全功能参数。
[0054] 在本发明实施例中,在对用户文件进行加密时采用不同的加密安全级别,具体地, 可根据需要设置多个加密安全级别。
[0055] 优选地,在本发明实施例中,用户文件的加密安全级别分为三级,各个级别对应不 同的加密方式或加密强度。对应地,分别设置有对应的安全功能参数范围,安全功能参数则 根据用户输入的或系统默认的安全级别参数计算得到。其中,安全级别参数表明了数据拥 有者本身拥有的安全级别以及上传的文件的重要性。
[0056] 优选地,在接收到安全级别参数后,使用公:
计算安全
功能参数Sec,其中,I、F为安全级别参数,Wl、W2Sl、F对应的权重,Psec3为预先设置的基础加 密安全级别对应的阈值。
[0057] 优选地,当加密安全级别分为三级时,? 則采用基础加密安全 级别(基础级别)对应的加密方式,
则采用比基础加密安全级别更高一 级(中级)的加密方式,I
U采用比基础加密安全级别最高级别的加密方式, 其中
为预先设置的中级和最高级加密安全级别对应的检测阈值。
[0058]在步骤S205中,根据计算得到的安全功能参数使用与加密安全级别对应的加密方 式对文件属性向量进行加密。
[0059] 在本发明实施例中,当计算得到的安全功能参数Sec满足 寸,则确 定与安全功能参数对应的加密安全级别为第二加密安全级别(中级),使用公私钥对中的公 钥并采用素数阶双线性对运算对文件属性向量进行加密以得到文件属性向量对应的密文 or; =GVOV1,其中:
[0060]
[0061]
[0062] 上文中Xi表示向量X的第i维的值,即对应上文密钥空间初始化时的r,*表示通配 符,L是文件向量长度,&1是对应第i维产生的随机数,&、1 1是中间变量值。
[0063] 此时,进行的是初级加密,之后对加密得到的文件属性向量对应的密文执行与第 二加密安全级别对应的二次加密,以得到文件属性向量二次加密的密文。如果计算得到的 安全功能参数Sec大于/^ eci时,则对加密得到的文件属性向量对应的密文执行与最高加密 安全级别对应的二次加密,以得到文件属性向量二次加密的密文。
[0064] 这样,可根据安全级别参数对文件属性向量对应的密文执行与加密安全级别对应 的二次加密,以向数据拥有者提供差异化的安全服务。其中,二次加密时可采用现有的加密 方式,例如,中级时可采用AES对称加密,最高级时可采用RSA非对称加密,当然也可以采用 其它加密方式。为了便于后续解密,此时应保存文件属性向量的加密安全级别。
[0065] 在步骤S205中,将文件属性向量对应的密文以及用户文件的密文发送到预设的存 储服务器。
[0066] 在本发明实施例中,将文件属性向量的加密级别分为三级,通过根据输入的安全 级别参数,计算用于识别加密安全级别的安全功能参数,进而使用与安全功能参数或加密 安全级别对应的加密方式对文件属性向量进行加密,向数据拥有者提供了差异化安全加 密,同时采用素数阶双线性对运算对文件属性向量进行加密提高了加密效率。
[0067] 实施例三:
[0068] 图3示出了本发明实施例三提供的基于公钥可搜索加密的文件存储方法的实现流 程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
[0069]在步骤S201中,接收文件访问者发送的用户文件搜索请求。
[0070] 在步骤S202中,根据文件访问者的属性信息、搜索关键词以及公私钥对中私钥生 成访问令牌。
[0071] 在本发明实施中,接收到文件访问者发送的对前述实施例一或实施例二中存储的 用户文件的搜索请求后,获取文件访问者的属性信息、搜索关键词以及对对应的私钥,进而 根据属性信息、搜索关键词以及私钥生成访问令牌 ,、其中,
:. Y1表示中间值、T1表示中间值、yi表示访问令牌 ,: 向量中i维元素的值、S表示安全随机数、Si表示向量第i维对应产生的安全随机数、ti,yi表示 密钥空间初始化时向量第i维值为yi对应产生的安全随机数ti,r、Vi,yi表示密钥空间初始 化时向量第i维值为y i对应产生的安全随机数V i、r。
[0072] 在步骤S203中,对访问令牌和文件属性向量的密文进行匹配。
[0073] 在本发明实施中,在进行匹配时,获取文件属性向量加密时对应的加密安全级别, 当加密安全级别为第二加密安全级别时,对文件属性向量二次加密的密文进行解密,以得 到文件属性向量对应的密文,最后通过预设的解密运算公式对访问令牌和文件属性向量的 密文进行运算,具体地,解密运算公另
驻行运 算。纟
1寸,运算的结果为真,此时向文件访问者发送用户文件对应 的密文。其中,PK表示公私钥对,巧表示搜索用户发送的搜索请求访问令牌,Cf.表示云端服 务器存储索引的文件向量密文,Xi表示加密是生成的中间值,Yi表示生成访问令牌时的中间 值,Wi表示加密时生成的中间值,M i表示生成令牌时的中间值,e表示双线性对运算。
[0074] 具体地,在对文件属性向量二次加密的密文进行解密时,采用与加密方法对应的 解密方法即可。
[0075] 在本发明实施中,通过上述步骤可实现对用户文件的密文搜索。不仅可以实现严 格的搜索访问控制策略来满足多用户共享应用场景,同时还能实现多关键字的精确搜索, 在资源受限情况下还可以根据不同用户身份信息和文件本身的重要程度来实现安全等级 差异化的加密服务方式,节省计算资源。
[0076]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中, 所述的存储介质,如R0M/RAM、磁盘、光盘等。
[0077] 实施例四:
[0078] 图4示出了本发明实施例四提供的基于公钥可搜索加密的文件存储系统的结构, 为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
[0079] 获取控制参数41,用于接收来自数据拥有者发送的用户文件存储请求,获取用于 访问所述用户文件的访问控制属性信息、安全级别参数以及所述用户文件的关键字集;
[0080] 向量生成单元42,用于使用所述访问控制属性信息以及所述关键字集生成所述用 户文件的文件属性向量;
[0081] 钥对获取单元43,用于根据所述访问控制属性信息从预先生成的密钥空间中获取 用于加密所述文件属性向量的公私钥对;
[0082] 向量加密单元44,用于根据所述安全级别参数使用所述公私钥对中的公钥对所述 文件属性向量进行加密以得到所述文件属性向量对应的密文;以及
[0083] 密文发送单元45,用于将所述文件属性向量对应的密文以及所述用户文件的密文 发送到预设的存储服务器。
[0084] 在本发明实施例中,基于公钥可搜索加密的文件存储系统的各单元可由相应的硬 件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在 此不用以限制本发明。各单元的【具体实施方式】可参考前述实施例一、二的描述,不此不再赘 述。
[0085] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种基于公钥可捜索加密的文件存储方法,其特征在于,所述方法包括下述步骤: 接收来自数据拥有者发送的用户文件存储请求,获取用于访问所述用户文件的访问控 制属性信息、安全级别参数W及所述用户文件的关键字集; 使用所述访问控制属性信息W及所述关键字集生成所述用户文件的文件属性向量; 根据所述访问控制属性信息从预先生成的密钥空间中获取用于加密所述文件属性向 量的公私钥对; 根据所述安全级别参数使用所述公私钥对中的公钥对所述文件属性向量进行加密W 得到所述文件属性向量对应的密文; 将所述文件属性向量对应的密文W及所述用户文件的密文发送到预设的存储服务器。2. 如权利要求1所述的方法,其特征在于,根据所述安全级别参数使用所述公私钥对中 的公钥对所述文件属性向量进行加密W得到所述文件属性向量对应的密文的步骤,包括: 使用所述公私钥对中的公钥并采用素数阶双线性对运算对所述文件属性向量进行加 密W得到所述文件属性向量对应的密文。3. 如权利要求1所述的方法,其特征在于,获取用于访问所述用户文件的访问控制属性 信息、安全级别参数W及所述用户文件的关键字集的步骤之前,所述方法还包括: 根据输入的密钥空间参数生成所述密钥空间。4. 如权利要求1所述的方法,其特征在于,根据所述安全级别参数使用所述公私钥对中 的公钥对所述文件属性向量进行加密W得到所述文件属性向量对应的密文的步骤,包括: 根据所述安全级别参数,计算用于识别加密安全级别的安全功能参数; 根据所述计算得到的安全功能参数使用与所述加密安全级别对应的加密方式对所述 文件属性向量进行加密。5. 如权利要求4所述的方法,其特征在于,根据所述安全级别参数,计算用于识别加密 安全级别的安全功能参数的步骤,包括: 使用公J计算所述安全功能参数Sec,其中,I、F为安全 级别参数,W1、W2为I、F对应的权重,为预先设置的基础加密安全级别对应的阔值。6. 如权利要求5所述的方法,其特征在于,根据所述计算得到的安全功能参数使用与所 述加密安全级别对应的加密方式对所沐专件屋忡向畳巧行加密的步骤,包括: 当所述安全功能参数Sec满;则确定与所述安全功能参数对应的 加密安全级别为第二加密安全级别,其中、Pseh为加密安全级别递增的加密安全 级别对应的阔值; 使用所述公私钥对中的公钥并采用素数阶双线性对运算对所述文件属性向量进行加 密W得到所述文件属性向量对应的密文; 对所述文件属性向量对应的密文执行与所述第二加密安全级别对应的二次加密,W得 到所述文件属性向量二次加密的密文。7. -种基于公钥可捜索加密的文件捜索方法,其特征在于,所述方法包括: 接收文件访问者发送的用户文件捜索请求,所述用户文件为通过所述权利要求1至6中 任一存储方法存储的用户文件; 根据所述文件访问者的属性信息、捜索关键词W及所述公私钥对中私钥生成访问令 牌; 对所述访问令牌和所述文件属性向量的密文进行匹配; 当所述访问令牌和所述文件属性向量的密文相互匹配时,向所述文件访问者发送所述 用户文件的密文。8. 如权利要求7所述的方法,其特征在于,对所述访问令牌和所述文件属性向量的密文 进行匹配的步骤,包括: 获取所述文件属性向量加密时对应的加密安全级别; 当所述加密安全级别为第二加密安全级别时,对所述文件属性向量二次加密的密文进 行解密,W得到所述文件属性向量对应的密文; 通过预设的解密运算公式对所述访问令牌和所述文件属性向量的密文进行运算。9. 如权利要求8所述的方法,其特征在于,当所述访问令牌和所述文件属性向量的密文 相互匹配时,向所述文件访问者发送所述用户文件的密文的步骤,包括: 当所述运算的结果为真时,向所述文件访问者发送所述用户文件的密文。10. -种基于公钥可捜索加密的文件存储系统,其特征在于,所述系统包括: 获取控制参数,用于接收来自数据拥有者发送的用户文件存储请求,获取用于访问所 述用户文件的访问控制属性信息、安全级别参数W及所述用户文件的关键字集; 向量生成单元,用于使用所述访问控制属性信息W及所述关键字集生成所述用户文件 的文件属性向量; 钥对获取单元,用于根据所述访问控制属性信息从预先生成的密钥空间中获取用于加 密所述文件属性向量的公私钥对; 向量加密单元,用于根据所述安全级别参数使用所述公私钥对中的公钥对所述文件属 性向量进行加密W得到所述文件属性向量对应的密文;W及 密文发送单元,用于将所述文件属性向量对应的密文W及所述用户文件的密文发送到 预设的存储服务器。
【文档编号】H04L29/06GK105915520SQ201610243440
【公开日】2016年8月31日
【申请日】2016年4月18日
【发明人】李坚强, 张敏, 李赛玲, 明仲
【申请人】深圳大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1