首页> 中国专利> 策略隐藏和外包解密下的抗泄露CP‑ABE方法

策略隐藏和外包解密下的抗泄露CP‑ABE方法

摘要

本发明公开了策略隐藏和外包解密下的抗泄露CP‑ABE方法,主要实现了兼具抗泄露,策略隐藏和外包解密三种特点的CP‑ABE方案,属于信息安全领域。本发明使用合数阶双线性群来构造参数,在主公钥和加密算法中加入了合数阶双线性群的子群中的元素,达到访问策略隐藏的效果,另外算法将解密过程分解,加入外包解密算法,同时利用双密钥系统,使第三方无法完全解密密文,减轻计算代价的同时保障了用户私钥和密文的安全性。与传统抗泄露方案相比,本发明的方案兼具了抗泄露,策略隐藏和外包解密的特点,有更好的安全性,同时大大降低了用户解密的计算代价。

著录项

  • 公开/公告号CN107181590A

    专利类型发明专利

  • 公开/公告日2017-09-19

    原文格式PDF

  • 申请/专利权人 南京邮电大学;

    申请/专利号CN201710244116.3

  • 发明设计人 曹成;王志伟;

    申请日2017-04-14

  • 分类号H04L9/08(20060101);

  • 代理机构32207 南京知识律师事务所;

  • 代理人李湘群

  • 地址 210023 江苏省南京市栖霞区文苑路9号

  • 入库时间 2023-06-19 03:23:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-26

    授权

    授权

  • 2017-10-20

    实质审查的生效 IPC(主分类):H04L9/08 申请日:20170414

    实质审查的生效

  • 2017-09-19

    公开

    公开

说明书

技术领域

本发明属于信息安全领域,提出一种策略隐藏和外包解密下的抗泄露CP-ABE方案,主要实现兼具抗泄露、策略隐藏和外包解密三种特点的CP-ABE方案。

背景技术

随着云计算的发展,用户将自己的数据存储在云服务器上已经成为了一种趋势。但是利用传统的加密方案来分发这些加密数据给特定群体的用户是非常低效的,例如PKI,身份基加密方案。因为密文的长度和加密/解密算法的计算花费和接受用户的数量是呈线性关系的。为了解决这个问题,Sahai和Waters在2005年提出了属性基加密(Attribute-Based Encryption,ABE)的概念。在属性基加密中,密文和密钥与属性集和基于属性的访问结构有关。只有当密文的属性和用户密钥的属性相匹配,相应的密文才能被解密。属性基加密方案共有两种:1)密文策略属性基加密(Ciphertext Policy-Attribute-BasedEncryption,CP-ABE),其中密文与访问结构有关,密钥与属性集合有关;2)密钥策略属性基加密(Key Policy Attribute Based Encryption,KP-ABE),其中密文与属性集合有关,密钥和访问结构有关。

属性基加密在应用中有一个重要问题就是访问策略的隐藏问题。访问策略决定了只有拥有满足特定条件的属性集的用户才可以解密密文,然而访问策略本身就可能会泄露用户的大量隐私,同时访问策略的泄露可能会使攻击者获得访问策略的信息,从而对密文的安全性产生威胁,所以策略隐藏是属性基加密的一个重要内容。

由于属性基加密中存在着大量的双线性配对和指数运算,计算量较大,而实际应用中用户的设备可能只有有限的计算能力,加解密运算会给用户带来巨大的开销,将密文外包给第三方解密是一个有效的解决办法。

在实际应用中,许多加密方案很难避免侧信道攻击,这让攻击者可以通过观察加密过程的物理属性(时间,功耗,温度,辐射等)来了解密钥的部分信息。因此,弹性泄露的概念被提出来,在弹性泄露模型中,即使敌手可以获得密钥的部分信息和初始状态,加密方案也是安全的。在众多的泄露模型中,辅助输入模型具有较高的安全性。

发明内容

本发明的目的是提出一种辅助输入模型下的CP-ABE方案,与传统方案相比,本发明兼具策略隐藏,外包解密和抗泄露的特点,增强了加密方案的安全性,同时能减轻用户的计算代价。

为此目的,本发明采用的技术方案为一种策略隐藏和外包解密下的抗泄露CP-ABE方法,具体包括以下步骤:

步骤A,参数选择:

步骤A-1,运行双线性群生成器来生成

其中P1,P2,P3是三个不同的大质数,是双线性配对运算,是具有素数阶N的乘法循环群,的阶为pi的子群,U是属性空间的大小,m是密钥的份额数,与算法安全性相关;

步骤A-2,随机选择群的生成元和群的生成元g2,选取随机数b1,…,bm∈ZN,β1,…,βU∈ZN,计算

其中ZN表示模N的余数集合;

步骤A-3,选取随机数a,α1,…,αm,∈ZN,选取随机数u1,…,um∈Zp3,从{0,1}l中选取随机向量τ1,…,τm。,生成系统公钥系统私钥为

其中Zp3表示模p3的余数集合,{0,1}l表示长度为l的二进制串,e(*,*)为双线性配对运算,i∈[m]表示所有下标i在[1,…,m]之间的参数;

步骤B,私钥生成:

输入一个用户的属性集表示用户拥有的属性的集合,系统主公钥MPK和系统主私钥MSK,选择随机数y11,…,y1m,y2,y31,…,y3U,t∈ZN,令(y2i=y1i-1)i∈[m],生成用户私钥对:

其中,ZN表示模N的余数集合,i∈[m]表示所有下标i在[1,…,m]之间的参数,表示所有属于用户的属性,SK1发送给第三方,用于外包解密,SK2发送给用户,用于最终解密;

步骤C,加密明文:

步骤C-1,输入一个关于访问结构的LSSS方案待加密的信息M,系统主公钥MPK,

其中是一个l×n矩阵,函数ρ将矩阵的行和属性关联起来;

步骤C-2,选取随机向量然后计算s1=<τ1,s1′>,…,sm=<τm,sm′>,选取长度为n的随机向量对于i=1,…,l,计算向量的内积

其中表示长度为l的整数向量,<τi,si′>表示计算向量τi和si′的内积,si为计算结果,表示长度为n的整数向量,是矩阵的第i行对应的向量;

步骤C-3,选择随机数输出生成的密文

其中,表示所有下标i=1,…,l的连乘,i∈[l]表示所有下标在[1,…,l]的项,表示从群中选取l个随机数Ri′,Ri,并用下标i标识;

步骤D,外包解密:

输入密文CT,对应于属性集的用户私钥SK1和系统主公钥MPK,如果那么是一个授权集,可以解密密文,算法输出部分解密密文

其中,表示矩阵的第i行经过函数ρ映射的属性属于属性集表示I是集合[1,…,l]的子集,{(ωi∈ZN)i∈I}是一个常数集,满足表示双线性配对运算,和Πi∈I(*)表示所有下标满足要求的项连乘;

步骤E,解密密文:

输入部分解密密文T和用户私钥SK2,计算

最后用户可以从C中解密出明文M。

进一步,上述步骤A-2中群的生成元g2和步骤C-3中群的随机数的是用于实现访问策略隐藏。

上述步骤B中,生成用户私钥对SK1和SK2是为了保证外包解密中密文的安全性。

上述步骤C-1中,该访问结构用于控制解密,只有属性集满足的用户才能解密。

与现有技术相比,本发明提出的策略隐藏和外包解密下的抗泄露CP-ABE方案具有如下的优点:

1,在主公钥和加密算法中,加入合数阶双线性群的子群中的元素,来达到访问策略隐藏的功能,防止访问策略泄露大量用户的敏感信息,以保护用户的隐私;在用户私钥生成阶段,生成两个关联的私钥SK1和SK2,用户私钥SK1发送给第三方代理,用来部分解密,SK2发给用户进行最终解密,双密钥系统保证了密文和用户私钥的安全性,使第三方无法直接解密密文。

2,本发明设计的属性基加密方案兼具了策略隐藏,抗泄露和外包解密的特点,有较高的安全强度,并且考虑到了用户解密的计算代价问题。

附图说明

图1为本发明的流程图。

具体实施方式

现结合附图对本发明作进一步详细的说明。

本发明所提出的兼具抗泄露,策略隐藏和外包解密三种特点的CP-ABE方案案,其使用过程包括下面5个算法步骤:

(1)初始化算法(λ,Σ):

初始化算法输入一个安全参数λ,一个属性空间Σ,Σ是属性空间名,表示所有的属性集合,每个属性可以映射为群中的一个元素,U=|Σ|是属性空间的大小,m是密钥的份额数,与算法安全性相关。算法运行双线性群生成器来生成其中P1,P2,P3是三个不同的大质数,是双线性配对运算,是具有素数阶N的乘法循环群,的阶为pi的子群。然后随机选择群的生成元和群的生成元g3。选取随机数a,α1,…,αm,b1,…,bm∈ZN,计算选取随机数β1,…,βU∈ZN,计算选取随机数u1,…,um∈Zp3,从{0,1}l中选取随机向量τ1,…,τm。则构造系统公钥为系统私钥为

其中ZN表示模N的余数集合,Zp3表示模p3的余数集合,{0,1}l表示长度为l的二进制串,i∈[m]表示所有对应下标i在[1,…,m]之间的参数。

(2)私钥生成算法(MSK,MPK,):

该算法输入一个用户的属性集(表示用户拥有的属性的集合),系统主公钥MPK和系统主私钥MSK。选择随机数y11,…,y1m,y2,y31,…,y3U,t∈ZN,令(y2i=y1i-1)i∈[m],输出用户私钥

其中i∈[m]表示所有下标i在[1,…,m]之间的参数,表示所有属于用户的属性值。SK1发送给第三方,用于外包解密,SK2发送给用户,用于最终解密。

(3)加密算法(M,Π,MPK):

加密算法输入一个关于访问结构(用于控制解密,只有属性集满足的用户才能解密)的LSSS(Linear Secret Sharing Scheme)方案待加密的信息M,系统主公钥MPK。其中是一个l×n矩阵,函数ρ将矩阵的行和属性关联起来。选取随机向量然后计算s1=<τ1,s1′>,…,sm=<τm,sm′>,选取长度为n的随机向量对于i=1,…,l,计算向量的内积另外算法选择随机数输出生成的密文

其中表示长度为l的整数向量,<τi,si′>表示计算向量τi和si′的内积,si为计算结果,表示长度为n的整数向量,是矩阵的第i行对应的向量,表示从群中选取l个随机数Ri′,Ri,并用下标i标识,表示所有下标i=1,…,l的连乘,i∈[l]表示所有下标在[1,…,l]的项。

(4)外包解密算法(CT,SK1,MPK):

外包解密算法输入密文CT,对应于属性集的用户私钥SK1和系统主公钥MPK。如果那么是一个授权集,可以解密密文。令表示矩阵的第i行经过函数ρ映射的属性属于属性集表示I是集合[1,…,l]的子集。{(ωi∈ZN)i∈I}是一个常数集,满足算法输出部分解密密文

其中表示双线性配对运算,和Πi∈I(*)表示所有下标满足要求的项连乘。(5)解密算法(T,SK2):

解密算法输入部分解密密文T和用户私钥SK2,算法计算

最后,用户可以从C中解密出明文M。

上述方案中,如果在初始化算法中构造参数Ai没有使用在加密算法中没有使用随机数那么Ci和Di会泄露一些访问结构的信息。因为对于任意给定的访问策略攻击者选择(因为有不同的方法来选择ωi的值,使成立)。攻击者只要验证下面公式的第二个等号是否成立:

然后,攻击者就可以确定密文是否由访问策略加密。

下面验证上述方案是策略隐藏的。假设攻击者选择任一访问策略密文CT由访问策略加密得到。攻击者根据矩阵选择{(ωi′∈ZN)i∈I′。然后攻击者执行下面的计算:

对于访问结构有两种情况:

1)如果那么

2)如果那么

在上述两种情况下,测试返回的结果均是群中的一个随机元素,所以攻击者不能确定密文是否与访问策略有关,因此可以认为上述方法是策略隐藏的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号