具有一次性授权能力的权限管控算法制造技术

技术编号:31507823 阅读:19 留言:0更新日期:2021-12-22 23:41
本发明专利技术涉及一种具有一次性授权能力的权限管控算法,用于在发送客户终端和接收客户终端之间传输数据,包括以下步骤:步骤S1,初始化步骤;步骤S2,加密步骤;步骤S3,属性密钥生成步骤;步骤S4,解密步骤;步骤S5,去盲化运算步骤。本发明专利技术基于一种cp

【技术实现步骤摘要】
具有一次性授权能力的权限管控算法


[0001]本专利技术属于数据安全
,特别涉及一种具有一次性授权能力的权限管控算法。

技术介绍

[0002]基于属性加密(ABE),又称模糊的基于身份的加密(Fuzzyidentity

basedencryption),最先由Waters提出,也被看作是最具前景的支持细粒度访问的加密原语。
[0003]与以前的公钥加密方案,如RSA和身份基加密最大的不同点就是,ABE实现了一对多的加解密。不需要像身份加密一样,每次解密都必须知道接收者的身份信息,在ABE中它把身份标识被看做是一系列的属性。当用户拥有的属性超过加密者所描述的预设门槛时,用户是可以解密的。但这种基于预设门槛的方案不具有通用性。因为在语义上无法表述一个普遍通用的情景。
[0004]基于属性加密主要分为两大类:密文策略的属性加密(CP

ABE)和密钥策略的属性加密(KP

ABE)。在CP

ABE中密文和加密者定义的访问策略相关联,密钥则是和属性相关联;在KP

ABE中密文则是和属性相关,而密钥与访问策略相关联。属性加密算法一般包含四个部分:
[0005]Setup阶段:也称系统初始化阶段,输入系统安全参数,产生相应的公共参数(PK)和系统主密钥(MK);
[0006]KeyGen阶段:也称密钥生成阶段,解密用户向系统提交自己的属性,获得属性相关联的用户密钥(SK);
[0007]Enc阶段:也称加密阶段,数据拥有者对数据进行加密得到密文(CT)并发送给用户或者发送到公共云上;
[0008]Dec阶段:也称解密阶段,解密用户获得密文,用自己的密钥SK进行解密。
[0009]现有属性基加密技术具有细粒度权限控制以及一对多加密的能力。但是在实际的使用过程中,由于会事先分发属性基加密的密钥,使得解密的能力无法受到控制,所以,属性基加密技术需要一种授权机制,使得解密能够受到控制。
[0010]另一方面,考虑实际的应用场景,改授权机制需要十分轻量化,通信量低。

技术实现思路

[0011]本专利技术是为了解决上述问题而进行的,目的在于提供一种具有一次性授权能力的权限管控算法。
[0012]本专利技术为了实现上述目的,采用了以下方案:
[0013]本专利技术提供了一种具有一次性授权能力的权限管控算法,用于在发送客户终端和接收客户终端之间传输数据,具有这样的特征,包括以下步骤:
[0014]步骤S1,初始化步骤,选择阶为p、生成元为g的双线性映射对G0;选择随机数α,β∈
Z
p
,Z
p
为模p的剩余类;公开参数如下:
[0015]PK=G0、g、h=g
β
、f=g
1/β
、e(g,g)
α
,e为双线性映射主密钥为(β,g
α
);
[0016]步骤S2,加密步骤,在访问结构T的限制下对一待加密的明文数据M进行加密得到密文CT,是根据以下过程实现:
[0017]首先,对结构树中的每一个节点x选择一个多项式q
x
,多项式q
x
的阶为d
x
,节点门限值为k
x
;选择多项式时,从根节点到叶子节点,依次赋值;
[0018]其次,从根节点R开始,选择随机数s∈Z
p
,并设定根节点的多项式的常数项q
R
(0)=s,后续的树节点的多项式的常数项q
x
(0)依次设定为q
x
(0)=q
parent(x)
(index(x)),q
parent(x)
(index(x))为父节点多项式index(x)处的值;
[0019]最后,选择作为盲化因子的随机数r∈Z
p
,设Y为结构树中的叶子节点,则密文CT为:
[0020][0021][0022]步骤S3,属性密钥生成步骤,根据接收客户终端的属性集合S,对该属性集合S中的每一个属性j,选择随机数r
j
∈Z
p
,则属性私钥为:
[0023]SK=(D=g
(α+r)β
),
[0024][0025]步骤S4,解密步骤,在解密过程中,遍历密文CT中的结构树,并令叶子节点的属性为i=att(x),
[0026]若叶子节点中的属性满足i∈S,则使用属性私钥SK、密文CT以及节点x进行如下计算:
[0027][0028]若叶子节点中的属性不在结构树中,则不进行计算;
[0029]若存在任意的k
x
个的叶子节点的属性在密文CT的结构树中,令S
x
为该属性列表,先进行如下运算,
[0030][0031]然后进行如下运算得到盲化明文rM:
[0032][0033]步骤S5,去盲化运算步骤,接收客户终端向发送客户终端发送盲化因子获取请求并通过安全的信道获得盲化因子r,并按照如下运算进行去盲化运算处理得到原始的明文数据M:
[0034]rM/r=M。
[0035]在本专利技术提供的具有一次性授权能力的权限管控算法中,还可以具有这样的特征:其中,d
x
=k
x

1。
[0036]与现有技术相比,本专利技术的优点在于:本专利技术基于一种cp

ABE技术进行改造,在加密时使用盲化因子进行盲化,使得接收客户终端在使用私钥解密之后,仍然需要向发送客户终端申请加密时所使用的盲化因子,从而具有一次性授权的能力,不仅仅可以实现细粒度的权限控制,还能够实现解密时需要数据提供方提供授权信息,才能够进行完全解密。
附图说明
[0037]图1是本专利技术的实施例中具有一次性授权能力的权限管控算法的流程图。
具体实施方式
[0038]为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,以下结合实施例及附图对本专利技术的具有一次性授权能力的权限管控算法作具体阐述。
[0039]<实施例>
[0040]图1是本专利技术的实施例中具有一次性授权能力的权限管控算法的流程图。
[0041]如图1所示,在本实施例中,具有一次性授权能力的权限管控算法,用于在发送客户终端和接收客户终端之间传输数据,包括以下步骤:
[0042]步骤S1,初始化步骤,选择阶为p、生成元为g的双线性映射对G0;选择随机数α,β∈Z
p
,Z
p
为模p的剩余类;公开参数如下:
[0043]PK=G0、g、h=g
β
、f=g
1/β
、e(g,g)
α
,e为双线性映射主密钥为(β,g
α本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种具有一次性授权能力的权限管控算法,用于在发送客户终端和接收客户终端之间传输数据,其特征在于,包括以下步骤:步骤S1,初始化步骤,选择阶为p、生成元为g的双线性映射对G0;选择随机数α,β∈Z
p
,Z
p
为模p的剩余类;公开参数如下:PK=G0、g、h=g
β
、f=g
1/β
、e(g,g)
α
,e为双线性映射主密钥为(β,g
α
);步骤S2,加密步骤,在访问结构T的限制下对一待加密的明文数据M进行加密得到密文CT,是根据以下过程实现:首先,对结构树中的每一个节点x选择一个多项式q
x
,多项式q
x
的阶为d
x
,节点门限值为k
x
;选择多项式时,从根节点到叶子节点,依次赋值;其次,从根节点R开始,选择随机数s∈Z
p
,并设定根节点的多项式的常数项q
R
(0)=s,后续的树节点的多项式的常数项q
x
(0)依次设定为q
x
(0)=q
parent(x)
(index(x)),q
parent(x)
(i...

【专利技术属性】
技术研发人员:李朋林庞皓天魏立斐周俊沈佳辰曹珍富
申请(专利权)人:上海同态信息科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1