CN109714157B - 一种抗密钥暴露属性加密的sdn跨域访问控制方法 - Google Patents
一种抗密钥暴露属性加密的sdn跨域访问控制方法 Download PDFInfo
- Publication number
- CN109714157B CN109714157B CN201811494298.0A CN201811494298A CN109714157B CN 109714157 B CN109714157 B CN 109714157B CN 201811494298 A CN201811494298 A CN 201811494298A CN 109714157 B CN109714157 B CN 109714157B
- Authority
- CN
- China
- Prior art keywords
- algorithm
- sdn
- attribute
- decryptor
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明公开了一种抗密钥暴露属性加密的SDN跨域访问控制方法,基于属性权威、SDN控制器、加密者和解密者四部分构成的控制系统,属性权威负责所有属性的认证以及公钥、私钥的发布;SDN控制器负责收集、存储和管理SDN流表、路由以及数据量信息,SDN划分为多个SDN域,每一个域内部署唯一的SDN控制器,每个SDN控制器管理各自域内的重要信息,并与其他域的SDN控制器交互;加密者是数据的初始拥有者,用户或SDN设备能够上传自己的数据并根据自己的意愿或需求自由制定相应的访问策略;解密者是试图获取SDN控制器内信息的用户或者设备,拥有一个与其属性集合相对应的私钥,并通过私钥来解密密文。
Description
技术领域
本发明涉及SDN跨域访问控制方法,尤其涉及一种抗密钥暴露属性加密的SDN跨域访问控制方法,用于SDN跨域信息分享,属于网络信息安全领域。
背景技术
软件定义网络(software defined network,简称SDN)将网络的控制层与数据层分离,不仅有利于降低网络当中的硬件成本,还使得网络管理员能够方便地对来自不同厂商的设备进行集中化的调试和管理。但同时SDN的一系列安全问题却成为了阻碍其进一步广泛应用的难题。其中最严重的问题之一就是如何在远程控制环境下保证由SDN控制器掌控的用户和设备敏感信息不被攻击者窃取。然而现有的SDN访问控制机制不足以实现灵活、高效而又准确的用户信息管理,尤其在部署多控制器的大型SDN环境中难以实现有效的跨域信息访问控制。因此在SDN环境中部署安全、灵活、高效的访问控制管理机制显得尤为重要。
发明内容
为提高SDN跨域信息分享的安全性和高效性,本发明提出了一种抗密钥暴露属性加密的SDN跨域访问控制方法,其核心思想是:利用预计算技术将必要的双线性对计算并存储起来,加密者在进行加密时无需进行任何复杂的双线性对运算,提高了属性加密的计算效率。同时我们基于拓展图技术减少了预计算产生的双线性配对数量,进一步降低了预计算产生的存储开销。除此之外,将用户或者设备的MAC地址嵌入到私钥当中,如果私钥当中的地址信息与设备本身不符则无法完整解密。这保证即使将私钥有意或者无意地暴露给其他非法用户或者设备,他们也无法获取此私钥获取敏感信息。
为实现上述发明目的,本发明采用以下技术方案:一种抗密钥暴露属性加密的SDN跨域访问控制方法,其特征在于:基于属性权威、SDN控制器、加密者和解密者四部分构成的控制系统,属性权威和SDN控制器位于控制层,加密者和解密者位于数据层,属性权威是一个可信的权威机构,负责所有属性的认证以及公钥、私钥的发布;SDN控制器负责收集、存储和管理SDN流表、路由以及数据量信息,SDN采用多控制设置,将SDN划分为多个SDN域,每一个域内部署唯一的SDN控制器,每个SDN控制器管理各自域内的重要信息,同时负责与其他域的SDN控制器交互;加密者是数据的初始拥有者,包括路由器、服务器、PC机和交换机构成的用户或SDN设备,用户或SDN设备能够上传自己的数据并根据自己的意愿或需求自由制定相应的访问策略;解密者是试图获取SDN控制器内信息的用户或者设备,其身份用一个属性集合来表示,解密者拥有一个与其属性集合相对应的私钥,并通过私钥来解密密文,解密者包括路由器、loT传感器、手机和交换机;包括以下步骤:
第一步:启动访问控制系统,属性权威调用初始化算法,输入一个安全参数k,生成公钥PK和主密钥MSK,公钥PK向全网公开,主密钥MSK由属性权威秘密保存;初始化算法的流程为:输入全局的属性集合Ω={att1,att2,att3,…,attn}以及一个安全参数k,其中attj是本发明中的解密者的任意属性,j∈{1,2,...,n}是该属性的唯一索引号,假设加法循环群和乘法循环群是阶为大素数p的双线性群,其中大素数p的比特位数由参数k决定,令P是的一个生成元,是群到群的双线性映射,然后定义一个拉格朗日函数使得一个索引集合S当中的任意一个索引i满足定义两个哈希函数和H2:{0,1}48→Zp,其中H1将任意一串二进制数组映射为群中的元素,H1将48bit的MAC地址映射为Zp上的元素,选择两个随机数α,β∈Zp,最后生成公钥:PK={p,P,e,Ω,e(P,P)α,H=βP,T=(1/β)P,H1,H2},同时保存主密钥:MSK={αP,β};
第二步:解密者向属性权威发起私钥生成请求,输入自己唯一的MAC地址AMAC、属性集合S、公钥PK以及主密钥MSK,获得属性权威验证,属性权威调用私钥生成算法生成私钥SK,并将解密者的属性集合S和MAC地址AMAC嵌入到私钥SK当中,最终输出与解密者MAC地址以及属性集合相对应的私钥SK;
第三步:属性权威调用预计算算法中的预处理子算法,预处理子算法输入公钥PK,根据公钥PK产生n个群和上的元素集合并存储在列表L当中,其中attj为全局属性集合Ω当中任意的属性,j表示该属性的唯一索引号,e表示从加法循环群映射到乘法循环群的双线性映射,P为的一个生成元,H1为哈希函数将任意一串二进制数组映射为群中的元素,α为主密钥MSK当中的一个元素,ri为一个随机的整数,其中i∈{1,2,...,n},然后基于拓展图技术产生一个常数c(ε),其中0<ε<1,利用常数c(ε)计算一个新的常数ne=c(ε)log2(p),其中p为群和的大素数阶,然后生成另外ne个群和上的元素集合并存储在列表L′当中,其中di为随机数,i∈{1,2,...,ne};
第四步:加密者产生一组消息明文M,同时制定了相应的访问树Γ,调用预计算算法中的元组生成子算法生成与访问树Γ相对应的两个元组Tuple1和Tuple2;元组生成算法输入一个访问树Γ,输出与访问树Γ相关的两个元组Tuple1和Tuple2;该算法由A1和A2两个算法组成,算法执行流程如下:
(1)对于访问树Γ的根节点,执行A1算法:
(2)对于访问树中的任意节点x,继续执行A2算法:
1)声明并初始化常量d=kx-2;
第五步:加密者调用快速加密算法,输入一个访问树Γ、公钥PK以及消息明文M,然后调用预处理子算法,在不执行任何指数运算的情况下通过元组Tuple1和Tuple2快速的生成关于消息明文M以及访问树Γ的密文CT,最后将密文CT上传至域内的SDN控制器;
快速加密算法流程如下:为了生成消息明文M与访问树Γ相对应的密文,快速加密算法需要对访问树Γ当中任意一个节点x产生一个次数为kx-1的随机多项式,为了减小加密的计算负担,利用预计算算法来生成每个节点的随机多项式,根据访问树Γ的结构,采用一种自上而下的迭代方式:
对于访问树的根节点R,快速加密算法调用A1算法获取元组Tuple1:
如果kR-1≠0,则继续调用A2算法获取元组Tuple2:
利用获取的以上两个元组,同时声明并初始化常量dR=kR-2,然后定义一个次数为dR的多项式:
随后,关于根节点R的完整多项式为:
qR(X)=r(X)·X+s
对于访问树Γ当中的任意节点x,调用A2算法获取元组Tuple2:
声明并初始化常量dx=kx-2,利用上式中的系数ci定义一个次数为dx的多项式:
然后生成关于节点x的完整多项式:
qx(X)=r(X)·X+qparent(x)(index(x))
因此对于任意的叶节点x,快速加密算法通过迭代得到了qx(0)P和qx(0)H1(att(x)),最终生成如下的密文:
第六步:解密者向当前域的SDN控制器发送关于消息明文M的跨域访问请求,SDN控制器通过SDN域间传输交互获取密文CT,然后转发给解密者;
第七步:解密者调用解密算法,输入私钥SK、自己的MAC地址AMAC以及获取的密文CT,如果解密者的属性集合S满足密文CT当中的访问树Γ,而且其MAC地址AMAC与私钥SK当中嵌入的MAC地址信息一致,才能获取消息明文M,反之则无法获取任何有用的信息。
所述私钥生成算法的流程为:首先输入公钥PK、主密钥MSK、一个属性集合S以及一个MAC地址AMAC,其次选择一个随机数r∈Zp,然后计算D=((α+rH2(AMAC))/β)P,对于任意一个属性attj∈S选择一个随机数rj∈Zp并计算Dj=(rP)·(rjH1(attj))和D′j′=rjP,最后输出关于属性集合S的私钥:
所述预处理子算法和元组生成子算法共同组成预计算算法;
变量定义:Y代表访问树Γ的叶节点集合,Ux代表子树Γx包含的属性的集合,Sx代表节点x的子节点集合,S′x′代表节点x的子节点索引集合,c(ε)代表ε拓展图常数;
预处理子算法:
1)生成n个随机数r1,r2,…,rn∈Zp;
所述解密算法流程如下:
如果x是叶节点,则令atti=att(x)并进行如下的判断与计算:
1)若atti∈S则计算并输出以下结果:
DecryptNode(CT,SK,x)=⊥
如果x是非叶节点,那么对于其任意子节点z调用函数DecryptNode并记其返回结果为Fz,然后进行如下的判断与计算:
4)若存在集合Sx,计算并输出以下结果:
(2)进一步定义解密算法,分为两步:
1)首先从访问树Γ的叶节点开始调用函数DecyrptNode,如果属性集合S满足访问树Γ,就能够通过层层迭代获取隐藏在根节点R当中的秘密,记为:
2)通过如下计算就可以得到消息明文M:
如果属性集合S不能满足访问树Γ,那么将无法在多项式时间内恢复出根节点R当中的秘密,并且如果当前的MAC地址信息与私钥SK当中的MAC地址信息不吻合,即使恢复出根节点R当中的秘密也无法通过进一步的计算得到消息明文M,因此1)和2))只要任何一步不满足条件,都将导致解密算法退出执行。
本发明的优点及显著效果:
1、功能优势:将本发明与现有方法KKB方法、JRA方法及HLM方法的功能进行了分析比较。其中KKB方法与JRA方法无法对数据进行加密,只能制定固定的粗粒度访问策略,而且不支持快速加密与抗密钥暴露;HLM方法无法对数据进行加密,支持制定灵活的细粒度访问策略,但是不支持快速加密与抗密钥暴露;本发明不仅可以对数据进行加密,还支持制定灵活的细粒度访问策略,此外利用预计算技术实现了快速加密,而且可以有效防止私钥暴露。因此在访问控制的功能上,本发明具有显著的优势。比较结果如图2所示。
2、计算效率提升:为了说明本发明的加密效率,与现有BSW方法、LHS方法进行了加解密仿真实验。仿真硬件为Intel(R)Core(TM)i7-5600U@2.6GHz,内存为8G,系统为Cent OS6.7,使用代码库为JPBC 1.2.1,实验基于256位的椭圆曲线,曲线阶为120bit的大素数。实验在不同的属性数量条件下记录了20次加密所需的平均时间。
基于以上三种(BSW方法、LHS方法以及本发明)算法构建的SDN跨域访问控制模型在不同属性数量情况下的平均加密时间如图3所示。可以看出,在相同属性数量条件下,本发明的平均加密时间是最少的,约为BSW方法的50%,即只需要一半的算力就可以完成相同的加密计算。
附图说明
图1是本发明系统结构图;
图2是本发明功能增益效果示例图;
图3是本发明加密效率增益对比;
图4是本发明方法流程示意图。
具体实施方式
下面结合附图及实例来详细描述本发明。
参看图1,给出了基于抗密钥暴露快速属性加密的SDN跨域访问控制方法的系统组成结构图。包括属性权威、SDN控制器、加密者和解密者四种角色构成的控制系统。
属性权威:是一个可信的权威机构,负责所有属性的认证以及公钥、私钥的发布。
SDN控制器:负责收集、存储和管理SDN流表、路由以及数据量等重要信息,其中包含各类用户或者设备的敏感信息。本发明针对大型SDN采用多控制设置,将SDN划分为多个SDN域,每一个域内部署唯一的SDN控制器。每个SDN控制器管理各自域内的重要信息,同时负责与其他域的SDN控制器交互。
加密者:是数据的初始拥有者(可以是用户,也可以是SDN设备),能够上传自己的数据并根据自己的意愿或需求自由制定相应的访问策略。
解密者:是试图获取SDN控制器内信息的用户或者设备,其身份用一个属性集合来表示。解密者拥有一个与其属性集合相对应的私钥,并通过私钥来解密密文。
参看图4,本发明的方法流程如下:
第一步:启动访问控制系统,利用属性权威注册SDN所有用户以及设备属性,构建全局属性集合Ω={att1,att2,att3,…,attn},调用初始化算法生成如下的公钥PK和主密钥MSK:
PK={p,P,e,Ω,e(P,P)α,H=βP,T=(1/β)P,H1,H2}
MSK={αP,β}
第二步:SDN某域中的用户或设备请求属性权威发布私钥,该用户或设备向属性权威验证自己的属性集合S和MAC地址AMAC。属性权威调用私钥生成算法生成其私钥SK,将其属性集合S和MAC地址AMAC嵌入到私钥SK当中,私钥SK如下:
第三步:属性权威利用预计算技术,调用预计算算法中的预处理算法,根据公钥PK产生n个群和上的元素集合并存储在列表L当中。同时利用拓展图技术,产生一个基于拓展图参数c(ε)的常数ne=c(ε)log2(p),然后产生另外ne个群和上的元素集合并存储在列表L′当中。
第四步:SDN某域中的用户或者设备产生一组关键信息M并根据该信息制定了相应的访问树Γ,调用预计算算法中的元组生成算法生成与访问树Γ相对应的如下两个元组Tuple1和Tuple2:
第五步:该用户或设备调用快速加密算法,在不执行任何指数运算的情况下通过元组Tuple1和Tuple2快速的生成关于信息M以及访问树Γ的密文CT:
第六步:SDN某域当中的用户或设备向当前域的SDN控制器请求访问关于某用户或设备的关键信息M,如果该信息属于当前SDN域,则控制直接将关于该信息的密文CT直接发送给这个用户或设备。否则当前域SDN控制器与其SDN域交互查询关键信息M所属的SDN域,找到后通过SDN控制器之间的交互获取关于该信息的密文CT,然后发送给请求获取信息的用户或设备。
第七步:该用户或设备调用解密算法,输入私钥SK、自己的MAC地址AMAC以及刚刚获取的密文CT。如果私钥SK当中嵌入的属性集合S满足密文CT当中的访问树Γ,而且其MAC地址AMAC与私钥SK当中嵌入的MAC地址信息一致,才能获取该信息的访问权限从而恢复出信息M。反之则无法获取任何有用的信息。
上述七个步骤中,涉及的初始化算法、私钥生成算法、预计算算法、快速加密算法和解密算法共五个算法的具体实施方式如下:
1、初始化算法:由属性权威执行。算法输入一个安全参数k,输出公钥PK和主密钥MSK,其中公钥PK向全网公开,而主密钥MSK由属性权威秘密保存。首先初始化算法输入全局的属性集合Ω={att1,att2,att3,…,attn}以及一个安全参数k。假设和是阶为大素数p的双线性群,其中大素数p的比特位数由参数k决定。令P是的一个生成元,是群到群的双线性映射。然后定义拉格朗日函数△i,S(x),使得集合S当中的任意一个元素i都有:
PK={p,P,e,Ω,e(P,P)α,H=βP,T=(1/β)P,H1,H2}
同时保存如下的主密钥:
MSK={αP,β}
2、私钥生成算法:由属性权威执行。解密者发起密钥生成请求时输入其唯一的MAC地址AMAC、属性集合S、公钥PK以及主密钥MSK,最终输出与其MAC地址以及属性集合相对应的私钥SK。私钥生成算法首先输入公钥PK、主密钥MSK、一个属性集合S以及一个MAC地址AMAC。其次选择一个随机数r∈Zp,然后计算D=((α+rH2(AMAC))/β)P。对于任意一个属性attj∈S选择一个随机数rj∈Zp并计算Dj=(rP)·(rjH1(attj))和D′j=rjP。最后输出关于属性集合S的私钥:
3、预计算算法:由属性权威执行。算法由两个子算法组成,分别是预处理子算法以及元组生成算法。预处理子算法输入公钥PK,输出两组列表L和L′。元组生成算法输入一个访问树Γ,输出与访问树Γ相对应的元组Tuple1和Tuple2。
预计算算法由两个子算法组成,分别为预处理子算法和元组生成子算法。变量定义如表1所示。
表1变量定义说明
3.1、预处理子算法
1)生成n个随机数r1,r2,…,rn∈Zp;
3.2、元组生成子算法
元组生成算法输入一个访问树Γ,输出与访问树Γ相关的两个元组。该算法由A1和A2两个算法组成,对于访问树Γ的根节点,执行A1算法:
对于访问树中的任意节点x,继续执行A2算法:
1)声明并初始化常量d=kx-2;
4、快速加密算法:由加密者执行,算法首先输入一个访问树Γ、公钥PK以及消息明文M,然后通过调用预处理算法输出与访问树Γ对应的密文CT,最后将密文CT上传至域内的SDN控制器。为了生成于明文M与访问树Γ相对应的密文,快速加密算法需要对访问树Γ当中任意一个节点x产生一个次数为kx-1的随机多项式。为了减小加密的计算负担,我们利用预计算算法来生成每个节点的随机多项式。根据访问树Γ的结构,这种方法采用一种自上而下的迭代方式:
对于访问树的根节点R,快速加密算法调用A1算法获取元组:
如果kR-1≠0,则继续调用A2算法获取元组:
利用获取的以上两个元组,同时声明并初始化常量dR=kR-2,然后定义一个次数为dR的多项式:
随后,关于根节点R的完整多项式为:
qR(X)=r(X)·X+s
对于访问树Γ当中的任意节点x,调用A2算法获取元组:
声明并初始化常量dx=kx-2,利用上式中的系数ci定义一个次数为dx的多项式:
然后生成关于节点x的完整多项式:
qx(X)=r(X)·X+qparent(x)(index(x))
因此对于任意的叶节点x,快速加密算法通过迭代得到了qx(0)P和qx(0)H1(att(x))。最终生成如下的密文:
5、解密算法:由解密者执行,输入其MAC地址AMAC、密文CT以及私钥SK,当解密者的属性集合满足访问策略,同时其MAC地址与隐藏在私钥SK当中的MAC地址信息相吻合时,才会输出消息明文M,否则退出执行。首先定义一个迭代函数DecryptNode,该函数的输入为密文私钥以及访问树Γ当中的一个节点x。该算法的迭代过程如下:
如果x是叶节点,则令atti=att(x)并进行如下的判断与计算:
1)若atti∈S则计算并输出以下结果:
DecryptNode(CT,SK,x)=⊥
如果x是非叶节点,那么对于其任意子节点z调用函数DecryptNode并记其返回结果为Fz。然后进行如下的判断与计算:
4)若存在集合Sx,计算并输出以下结果:
到目前为止,我们定义了函数DecyrptNode,现在进一步定义解密算法。算法首先从访问树Γ的叶节点开始调用函数DecyrptNode。如果属性集合S满足访问树,那么就可以通过层层迭代获取隐藏在根节点R当中的秘密,记为:
随后通过如下计算就可以得到明文:
反之,如果属性集合S不能满足访问树Γ,那么将无法在多项式时间内恢复出根节点R当中的秘密。与此同时,如果当前的MAC地址信息与私钥SK当中的MAC地址信息不吻合,即使恢复出根节点R当中的秘密也无法通过进一步的计算得到消息明文。以上两步中只要任何一步不满足条件,都将导致解密算法退出执行。
如图2所示,本发明与现有方法KKB方法、JRA方法及HLM方法的功能进行了分析比较,其中KKB方法与JRA方法无法对数据进行加密,只能制定固定的粗粒度访问策略,而且不支持快速加密与抗密钥暴露;HLM方法无法对数据进行加密,支持制定灵活的细粒度访问策略,但是不支持快速加密与抗密钥暴露;本发明不仅可以对数据进行加密,还支持制定灵活的细粒度访问策略,此外利用预计算技术实现了快速加密,而且可以有效防止私钥暴露。因此在访问控制的功能上,本发明具有显著的优势。
如图3所示,本发明构建的SDN跨域访问控制模型在不同属性数量情况下的平均加密时间,可以看出,在相同属性数量条件下,本发明的平均加密时间是最少的,约为BSW方法的50%,即只需要一半的算力就可以完成相同的加密计算。
Claims (4)
1.一种抗密钥暴露属性加密的SDN跨域访问控制方法,其特征在于:基于属性权威、SDN控制器、加密者和解密者四部分构成的控制系统,属性权威和SDN控制器位于控制层,加密者和解密者位于数据层,属性权威是一个可信的权威机构,负责所有属性的认证以及公钥、私钥的发布;SDN控制器负责收集、存储和管理SDN流表、路由以及数据量信息,SDN采用多控制设置,将SDN划分为多个SDN域,每一个域内部署唯一的SDN控制器,每个SDN控制器管理各自域内的重要信息,同时负责与其他域的SDN控制器交互;加密者是数据的初始拥有者,包括路由器、服务器、PC机和交换机构成的用户或SDN设备,用户或SDN设备能够上传自己的数据并根据自己的意愿或需求自由制定相应的访问策略;解密者是试图获取SDN控制器内信息的用户或者设备,其身份用一个属性集合来表示,解密者拥有一个与其属性集合相对应的私钥,并通过私钥来解密密文,解密者包括路由器、loT传感器、手机和交换机;包括以下步骤:
第一步:启动访问控制系统,属性权威调用初始化算法,输入一个安全参数k,生成公钥PK和主密钥MSK,公钥PK向全网公开,主密钥MSK由属性权威秘密保存;初始化算法的流程为:输入全局的属性集合Ω={att1,att2,att3,…,attn}以及一个安全参数k,其中attj是本发明中的解密者的任意属性,j∈{1,2,...,n}是该属性的唯一索引号,假设加法循环群和乘法循环群是阶为大素数p的双线性群,其中大素数p的比特位数由参数k决定,令P是的一个生成元,是群到群的双线性映射,然后定义一个拉格朗日函数使得一个索引集合S当中的任意一个索引i满足定义两个哈希函数和其中H1将任意一串二进制数组映射为群中的元素,H1将48bit的MAC地址映射为Zp上的元素,选择两个随机数α,β∈Zp,最后生成公钥:PK={p,P,e,Ω,e(P,P)α,H=βP,T=(1/β)P,H1,H2},同时保存主密钥:MSK={αP,β};
第二步:解密者向属性权威发起私钥生成请求,输入自己唯一的MAC地址AMAC、属性集合S、公钥PK以及主密钥MSK,获得属性权威验证,属性权威调用私钥生成算法生成私钥SK,并将解密者的属性集合S和MAC地址AMAC嵌入到私钥SK当中,最终输出与解密者MAC地址以及属性集合相对应的私钥SK;
第三步:属性权威调用预计算算法中的预处理子算法,预处理子算法输入公钥PK,根据公钥PK产生n个群和上的元素集合并存储在列表L当中,其中attj为全局属性集合Ω当中任意的属性,j表示该属性的唯一索引号,e表示从加法循环群映射到乘法循环群的双线性映射,P为的一个生成元,H1为哈希函数将任意一串二进制数组映射为群中的元素,α为主密钥MSK当中的一个元素,ri为一个随机的整数,其中i∈{1,2,...,n},然后基于拓展图技术产生一个常数c(ε),其中0<ε<1,利用常数c(ε)计算一个新的常数ne=c(ε)log2(p),其中p为群和的大素数阶,然后生成另外ne个群和上的元素集合并存储在列表L′当中,其中di为随机数,i∈{1,2,...,ne};
第四步:加密者产生一组消息明文M,同时制定了相应的访问树Γ,调用预计算算法中的元组生成子算法生成与访问树Γ相对应的两个元组Tuple1和Tuple2;元组生成算法输入一个访问树Γ,输出与访问树Γ相关的两个元组Tuple1和Tuple2;该算法由A1和A2两个算法组成,算法执行流程如下:
(1)对于访问树Γ的根节点,执行A1算法:
(2)对于访问树中的任意节点x,继续执行A2算法:
1)声明并初始化常量d=kx-2;
第五步:加密者调用快速加密算法,输入一个访问树Γ、公钥PK以及消息明文M,然后调用预处理子算法,在不执行任何指数运算的情况下通过元组Tuple1和Tuple2快速的生成关于消息明文M以及访问树Γ的密文CT,最后将密文CT上传至域内的SDN控制器;
快速加密算法流程如下:为了生成消息明文M与访问树Γ相对应的密文,快速加密算法需要对访问树Γ当中任意一个节点x产生一个次数为kx-1的随机多项式,为了减小加密的计算负担,利用预计算算法来生成每个节点的随机多项式,根据访问树Γ的结构,采用一种自上而下的迭代方式:
对于访问树的根节点R,快速加密算法调用A1算法获取元组Tuple1:
如果kR-1≠0,则继续调用A2算法获取元组Tuple2:
利用获取的以上两个元组,同时声明并初始化常量dR=kR-2,然后定义一个次数为dR的多项式:
随后,关于根节点R的完整多项式为:
qR(X)=r(X)·X+s
对于访问树Γ当中的任意节点x,调用A2算法获取元组Tuple2:
声明并初始化常量dx=kx-2,利用上式中的系数ci定义一个次数为dx的多项式:
然后生成关于节点x的完整多项式:
qx(X)=r(X)·X+qparent(x)(index(x))
因此对于任意的叶节点x,快速加密算法通过迭代得到了qx(0)P和qx(0)H1(att(x)),最终生成如下的密文:
第六步:解密者向当前域的SDN控制器发送关于消息明文M的跨域访问请求,SDN控制器通过SDN域间传输交互获取密文CT,然后转发给解密者;
第七步:解密者调用解密算法,输入私钥SK、自己的MAC地址AMAC以及获取的密文CT,如果解密者的属性集合S满足密文CT当中的访问树Γ,而且其MAC地址AMAC与私钥SK当中嵌入的MAC地址信息一致,才能获取消息明文M,反之则无法获取任何有用的信息。
3.根据权利要求1所述的抗密钥暴露属性加密的SDN跨域访问控制方法,其特征在于:所述预处理子算法和元组生成子算法共同组成预计算算法;
变量定义:Y代表访问树Γ的叶节点集合,Ux代表子树Γx包含的属性的集合,Sx代表节点x的子节点集合,Sx′代表节点x的子节点索引集合,c(ε)代表ε拓展图常数;
预处理子算法:
1)生成n个随机数r1,r2,…,rn∈Zp;
4.根据权利要求1所述的抗密钥暴露属性加密的SDN跨域访问控制方法,其特征在于:所述解密算法流程如下:
如果x是叶节点,则令atti=att(x)并进行如下的判断与计算:
1)若atti∈S则计算并输出以下结果:
DecryptNode(CT,SK,x)=⊥
如果x是非叶节点,那么对于其任意子节点z调用函数DecryptNode并记其返回结果为Fz,然后进行如下的判断与计算:
4)若存在集合Sx,计算并输出以下结果:
(2)进一步定义解密算法,分为两步:
1)首先从访问树Γ的叶节点开始调用函数DecyrptNode,如果属性集合S满足访问树Γ,就能够通过层层迭代获取隐藏在根节点R当中的秘密,记为:
2)通过如下计算就可以得到消息明文M:
如果属性集合S不能满足访问树Γ,那么将无法在多项式时间内恢复出根节点R当中的秘密,并且如果当前的MAC地址信息与私钥SK当中的MAC地址信息不吻合,即使恢复出根节点R当中的秘密也无法通过进一步的计算得到消息明文M,因此1)和2)只要任何一步不满足条件,都将导致解密算法退出执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811494298.0A CN109714157B (zh) | 2018-12-07 | 2018-12-07 | 一种抗密钥暴露属性加密的sdn跨域访问控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811494298.0A CN109714157B (zh) | 2018-12-07 | 2018-12-07 | 一种抗密钥暴露属性加密的sdn跨域访问控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109714157A CN109714157A (zh) | 2019-05-03 |
CN109714157B true CN109714157B (zh) | 2021-12-14 |
Family
ID=66254009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811494298.0A Active CN109714157B (zh) | 2018-12-07 | 2018-12-07 | 一种抗密钥暴露属性加密的sdn跨域访问控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109714157B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933033B (zh) * | 2019-10-27 | 2021-08-06 | 西安电子科技大学 | 智慧城市环境下多物联网域的跨域访问控制方法 |
CN111641501B (zh) * | 2020-04-27 | 2022-04-19 | 国网山东省电力公司 | 一种去双线性对的属性加密方法 |
CN112994880B (zh) * | 2021-03-19 | 2022-11-01 | 深圳大学 | 一种密文策略属性基加密方法、装置及电子设备 |
CN112866301A (zh) * | 2021-04-25 | 2021-05-28 | 南京联成科技发展股份有限公司 | 一种用于管控中心向集中管控传输数据的加密方法 |
CN116684066B (zh) * | 2023-07-06 | 2023-10-20 | 北京隐算科技有限公司 | 一种支持整数运算的同态加密方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618729A (zh) * | 2013-09-03 | 2014-03-05 | 南京邮电大学 | 一种应用于云存储的多机构层次化属性基加密方法 |
WO2016202397A1 (en) * | 2015-06-18 | 2016-12-22 | Huawei Technologies Co., Ltd. | Dns based pki system |
CN107396350A (zh) * | 2017-07-12 | 2017-11-24 | 西安电子科技大学 | 基于sdn‑5g网络架构的sdn组件间安全保护方法 |
CN107920350A (zh) * | 2017-11-13 | 2018-04-17 | 西安电子科技大学 | 一种基于sdn的隐私保护切换认证方法、5g异构网络 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170038568A (ko) * | 2015-09-30 | 2017-04-07 | 한국전자통신연구원 | Sdn 컨트롤러 및 sdn 컨트롤러에서의 스위치 식별 방법 |
US10880381B2 (en) * | 2015-11-04 | 2020-12-29 | Micro Focus Llc | Direct connection limitation based on a period of time |
US10666639B2 (en) * | 2016-05-20 | 2020-05-26 | Avaya, Inc. | Customer-centric workflow for initial on-boarding of an OpenFlow enabled switch |
-
2018
- 2018-12-07 CN CN201811494298.0A patent/CN109714157B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618729A (zh) * | 2013-09-03 | 2014-03-05 | 南京邮电大学 | 一种应用于云存储的多机构层次化属性基加密方法 |
WO2016202397A1 (en) * | 2015-06-18 | 2016-12-22 | Huawei Technologies Co., Ltd. | Dns based pki system |
CN107396350A (zh) * | 2017-07-12 | 2017-11-24 | 西安电子科技大学 | 基于sdn‑5g网络架构的sdn组件间安全保护方法 |
CN107920350A (zh) * | 2017-11-13 | 2018-04-17 | 西安电子科技大学 | 一种基于sdn的隐私保护切换认证方法、5g异构网络 |
Non-Patent Citations (3)
Title |
---|
A collaborative key management protocol in cipertext policy attribute-based encryption for cloud data sharing;Lin G等;《IEEE》;20171231;全文 * |
SDN安全通信架构关键技术研究;刘洋;《中国优秀硕士学位论文期刊全文数据库》;20170215;全文 * |
基于SDN网络的共享数据安全的研究;胡彦杰;《中国优秀硕士学位论文期刊全文数据库》;20180215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109714157A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714157B (zh) | 一种抗密钥暴露属性加密的sdn跨域访问控制方法 | |
Li et al. | Full verifiability for outsourced decryption in attribute based encryption | |
CN110224986B (zh) | 一种基于隐藏策略cp-abe的高效可搜索访问控制方法 | |
Li et al. | User collusion avoidance CP-ABE with efficient attribute revocation for cloud storage | |
Chen et al. | Efficient CP-ABE scheme with shared decryption in cloud storage | |
Shen et al. | A privacy-preserving and untraceable group data sharing scheme in cloud computing | |
CN109981641B (zh) | 一种基于区块链技术的安全发布订阅系统及发布订阅方法 | |
Wang et al. | Attribute-based data sharing scheme revisited in cloud computing | |
Liang et al. | Searchable attribute-based mechanism with efficient data sharing for secure cloud storage | |
TW202101432A (zh) | 實現隱私保護的數據同態加解密方法及裝置 | |
CN112104619B (zh) | 基于外包密文属性加密的数据访问控制系统和方法 | |
He et al. | Lightweight attribute based encryption scheme for mobile cloud assisted cyber-physical systems | |
Li et al. | Attribute-based keyword search and data access control in cloud | |
Carter et al. | For your phone only: custom protocols for efficient secure function evaluation on mobile devices | |
CN110602064A (zh) | 一种支持多关键字搜索的基于身份加密方法与系统 | |
Wang et al. | Searchable attribute-based encryption scheme with attribute revocation in cloud storage | |
Ling et al. | Group id-based encryption with equality test | |
Chen et al. | Witness-based searchable encryption with optimal overhead for cloud-edge computing | |
Sun et al. | A dynamic and non-interactive boolean searchable symmetric encryption in multi-client setting | |
WO2018043573A1 (ja) | 鍵交換方法、鍵交換システム | |
Zhang et al. | A traceable and revocable decentralized multi-authority privacy protection scheme for social metaverse | |
CN107360252B (zh) | 一种异构云域授权的数据安全访问方法 | |
Hong et al. | A key-insulated CP-ABE with key exposure accountability for secure data sharing in the cloud | |
WO2023134576A1 (zh) | 数据加密方法、属性授权中心及存储介质 | |
Si et al. | KP-ABE based verifiable cloud access control scheme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |