可定制化数据访问控制方法、系统及计算机可读存储介质技术方案

技术编号:37507048 阅读:17 留言:0更新日期:2023-05-07 09:44
本申请公开了提供一种可定制化数据访问控制方法、系统及计算机可读存储介质,采用公钥进行数据的加密,然后利用与之匹配的私钥定制解密密钥,密钥由数据拥有者生成,实现了去中心化的密钥生成;并且,基于属性集合S和关键字集合T生成的定制解密密钥,限定了哪些用户可以访问数据以及用户可以访问哪些数据,可以使数据的分享更加的安全与灵活。本申请还提供一种可定制化数据访问控制系统及计算机可读存储介质。存储介质。

【技术实现步骤摘要】
可定制化数据访问控制方法、系统及计算机可读存储介质


[0001]本申请属于密码学
,具体涉及一种可定制化数据访问控制方法、系统及计算机可读存储介质。

技术介绍

[0002]在一些物联网应用中(例如个人健康监测系统),存在着大量的个人敏感数据,这些数据一旦被上传至云服务器,数据拥有者即失去了对数据的访问控制权力,数据面临泄露的风险。因此,必须采取额外措施来保证物联网中的数据安全。
[0003]相关技术中,保护数据安全常用的方法是加密,即先加密数据然后将数据密文上传给云服务器。由于没有掌握相应的解密密钥,云服务器或其他未授权访问者都无法知晓数据的真实内容。
[0004]虽然加密技术可有效保护物联网数据的安全与隐私,但是目前还存在两点不足。其一,是中心化密钥分发问题,在许多密码系统中(如PKI、身份基加密、属性基加密等),都需要一个密钥生成中心来为所有用户产生密钥,当系统用户数过多时,密钥生成中心容易成为系统的性能瓶颈,同时,一旦密钥生成中心被攻击者侵入,所有用户的密钥都有可能暴露,对数据施行的加密措施也就会完全失效;其二,是访问控制不灵活,在传统的加密方法中,都是数据拥有者以数据使用者的公钥对数据进行加密,数据使用者采用与公钥匹配的私钥进行解密,但是在基于云计算的物联网中,数据拥有者与数据使用者之间不直接产生联系,而是通过云服务平台进行数据的交换,数据拥有者在向云服务平台上传数据之前,并不确定具体是哪些数据使用者需要访问数据,进而无法获取到该数据使用者的公钥进行加密。
[0005]因此,实有必要提供一种可定制化数据访问控制方法、系统及计算机可读存储介质以解决上述问题。

技术实现思路

[0006]本申请实施例的目的是提供一种可定制化数据访问控制方法、系统及计算机可读存储介质,采用数据拥有者的公钥进行数据的加密,然后利用与之匹配的私钥定制解密密钥,密钥由数据拥有者生成,实现了去中心化的密钥生成;并且,数据拥有者通过改变访问控制策略,可以实现指定用户的访问控制,使得数据的访问更加的灵活可控。
[0007]为了解决上述技术问题,本申请是这样实现的:
[0008]一种可定制化数据访问控制方法,包括如下步骤:
[0009]初始密钥生成:调用初始密钥生成算法生成相互匹配的公钥PK及私钥SK0;
[0010]数据加密:设置访问控制策略,以所述公钥PK及关键字集合T={t1,t2…
t
i

t
n
}为输入,运行数据加密算法对明文数据M加密,输出加密密文CT;
[0011]定制解密密钥:以私钥SK0为输入,交叉调用第一密钥生成算法和第二密钥生成算法,输出定制解密密钥SK
TS
,其中,所述第一密钥生成算法以属性集合S为输入生成第一密
钥,所述第一密钥授予具备属性集合S中元素的用户访问所述加密密文CT的权限;所述第二密钥生成算法以所述关键字集合T={t1,t2…
t
i

t
n
}中的任意关键字t
i
为输入生成第二密钥,所述第二密钥限制用户访问所述加密密文CT中与关键字t
i
相关联的数据;
[0012]数据解密:采用所述定制化密钥SK
TS
对所述加密密文CT进行解密,还原明文数据M。
[0013]优选的,所述初始密钥生成算法的执行过程为:
[0014]S11:从云服务平台获取系统公开参数PP:
[0015]PP=(G,G
T
,e,p,g,h,w,v,z,u0,u1,u2…
u
n
)
[0016]S12:选择随机元素α,k0∈Z
p
以及随机关键字t0∈Z
p
,其中,Z
p
表示整数域,计算:
[0017][0018][0019]S13:输出公钥PK=e(g,g)
α
、私钥SK0=(SK
0,1
,SK
0,2
,SK
0,3
)。
[0020]优选的,所述访问控制策略是由与门“AND”和或门“OR”以及属性组成的布尔表达式,
[0021]所述访问控制策略通过访问控制矩阵A进行表达,表示为:其中,A是一个l行c列的访问控制矩阵,所述访问控制矩阵中的元素均为整数,每一行对应一个属性,ρ表示将所述访问控制矩阵A中行标映射到所述访问控制策略中属性上的函数。
[0022]优选的,明文数据M加密的过程为:
[0023]S51:选择一元多项式f(x)=Π
1≤i≤n
(x

t
i
),计算得到所述一元多项式f(x)的系数y0,y1,y2…
y
n

[0024]S52:随机选择元素s∈Z
p
、c

1个随机数b2,b3...b
c
∈Z
p
,组成向量R=(s,b2,b3,...,b
c
);
[0025]S53:计算所述访问控制矩阵A中每一行的向量与向量R的内积λ,计算过程为:λ
j
=A
j
R,式中,A
j
表示访问控制矩阵A中第j行的向量,1≤j≤l;λ
j
表示所述访问控制矩阵A中第j行的向量与向量R的内积;
[0026]S54:选择随机元素集合{r1,r2…
r
l
}∈Z
p
,计算:
[0027]C0=Me(g,g)
αs
;C1=g
s

[0028][0029]式中,r
j
表示集合{r1,r2,...,r
l
}中的第j个随机元素;ρ(j)表示所述访问控制矩阵中第j行所对应的属性;
[0030]S55:输出加密密文CT=(C0,C1,C2,{E
j,1
,E
j,2
,E
j,3
}
1≤j≤l
)。
[0031]优选的,在第一密钥定制算法和第二密钥定制算法的调用过程中,将私钥SK0作为最初始的输入,然后将上一次算法的输出作为下一次算法的输入,直至执行完全部的算法运算过程;所述第一密钥生成算法的调用次数为一次,所述第二密钥生成算法的次数为任意次数。
[0032]优选的,所述第一密钥定制算法的运算过程表示为:
[0033]S111:选择任意元素r,r1,r2…
r
i

r
k
∈Z
p
,以用户属性集合S=(A1,A2…
A
i

A
k
)及
SR1=(SR
1,1
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可定制化数据访问控制方法,其特征在于,包括如下步骤:初始密钥生成:调用初始密钥生成算法生成相互匹配的公钥PK及私钥SK0;数据加密:设置访问控制策略,以所述公钥PK及关键字集合T={t1,t2…
t
i

t
n
}为输入,运行数据加密算法对明文数据M加密,输出加密密文CT;定制解密密钥:以私钥SK0为输入,交叉调用第一密钥生成算法和第二密钥生成算法,输出定制解密密钥SK
TS
,其中,所述第一密钥生成算法以属性集合S为输入生成第一密钥,所述第一密钥授予具备属性集合S中元素的用户访问所述加密密文CT的权限;所述第二密钥生成算法以所述关键字集合T={t1,t2…
t
i

t
n
}中的任意关键字t
i
为输入生成第二密钥,所述第二密钥限制用户访问所述加密密文CT中与关键字t
i
相关联的数据;数据解密:采用所述定制化密钥SK
TS
对所述加密密文CT进行解密,还原明文数据M。2.根据权利要求1所述的可定制化数据访问控制方法,其特征在于,所述初始密钥生成算法的执行过程为:S11:从云服务平台获取系统公开参数PP:PP=(G,G
T
,e,p,g,h,w,v,z,u0,u1,u2…
u
n
)S12:选择随机元素α,k0∈Z
p
以及随机关键字t0∈Z
p
,其中,Z
p
表示整数域,计算:表示整数域,计算:S13:输出公钥PK=e(g,g)
α
、私钥SK0=(SK
0,1
,SK
0,2
,SK
0,3
)。3.根据权利要求1所述的可定制化数据访问控制方法,其特征在于,所述访问控制策略是由与门“AND”和或门“OR”以及属性组成的布尔表达式,所述访问控制策略通过访问控制矩阵A进行表达,表示为:其中,A是一个l行c列的访问控制矩阵,所述访问控制矩阵中的元素均为整数,每一行对应一个属性,ρ表示将所述访问控制矩阵A中行标映射到所述访问控制策略中属性上的函数。4.根据权利要求1所述的可定制化数据访问控制方法,其特征在于,明文数据M加密的过程为:S51:选择一元多项式f(x)=∏
1≤i≤n
(x

t
i
),计算得到所述一元多项式f(x)的系数y0,y1,y2…
y
n
;S52:随机选择元素s∈Z
p
、c

1个随机数b2,b3...b
c
∈Z
p
,组成向量R=(s,b2,b3,...,b
c
);S53:计算所述访问控制矩阵A中每一行的向量与向量R的内积λ,计算过程为:λ
j
=A
j
R,式中,A
j
表示访问控制矩阵A中第j行的向量,1≤j≤l;λ
j
表示所述访问控制矩阵A中第j行的向量与向量R的内积;S54:选择随机元素集合{r1,r2…
r
l
}∈Z
p
,计算:C0=Me(g,g)
αs
;C1=g
s
;;式中,r
j
表示集合{r1,r2,...,r
l
}中的第j个随机元素;ρ(j)表示所述访问控制矩阵中第j行所对应的属性;
S55:输出加密密文CT=(C0,C1,C2,{E
j,1
,E
j,2
,E
j,3
}
1≤j≤l
)。5.根据权利要求1所述的可定制化数据访问控制方法,其特征在于,在第一密钥定制算法和第二密钥定制算法的调用过程中,将私钥SK0作为最初始的输入,然后将上一次算法的输出作为下一次算法的输入,直至执行完全部的算法运算过程;所述第一密钥生成算法的调用次数为一次,所述第二密钥生成算法的次数为任意次数。6.根据权利要求5所述的可定制化数据访问控制方法,其特征在于,所述第一密钥定制算法的运算过程表示为:S111:选择任意元素r,r1,r2…
r
i

r
k...

【专利技术属性】
技术研发人员:邓桦关振宇王玉珏郑海彬
申请(专利权)人:北京航空航天大学杭州创新研究院
类型:发明
国别省市:

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

1