【技术实现步骤摘要】
一种面向云端加密数据的高效动态访问控制方法及系统
[0001]本专利技术涉及云端数据访问控制领域,具体涉及一种面向云端加密数据的高效动态访问控制方法及系统。
技术介绍
[0002]基于角色的访问控制(Role
‑
Based Access Control)通过建立角色集合实现文件访问控制的授权,具体的,一个基于角色的访问控制系统由12个过程组成——创建用户、删除用户、创建文件、删除文件、创建角色、删除角色、角色绑定、角色解绑、文件赋权、文件除权、读取文件和修改文件。对于存储在云端的加密数据而言,可以通过对密钥进行加密实现对数据文件的访问权限控制。具体而言,某一用户拥有某一文件的访问权限,实际表现为该用户可以通过用户私钥得到该文件对应的对称密钥,进而使用对称密钥加密或解密文件内容。
[0003]现有基于公钥基础设施(Public Key Infrastructure)的访问控制方案在云端存储三类数据:使用文件加密密钥加密的文件数据、使用角色公钥加密的文件解密密钥和使用用户公钥加密的角色私钥。若某个用户可以访问某一文件,则存在某角色,使得该用户可以通过用户私钥解密获得角色私钥,再通过角色私钥解密获得文件解密密钥,最后使用文件解密密钥解密得到文件内容。
[0004]在基于公钥基础设施的访问控制方案中,每存在一个用户
‑
角色绑定关系,就需要在云端存储一个角色私钥的密文;每存在一个角色
‑
文件授权关系,就需要在云端存储一个文件解密密钥的密文。这一特点导致基于公 ...
【技术保护点】
【技术特征摘要】
1.一种面向云端加密数据的高效动态访问控制方法,其特征在于,包括:步骤S1:创建用户、角色和文件:通过代理重加密技术为待创建的用户和角色生成相应的重加密密钥,利用管理员用户公钥加密角色私钥,利用所述管理员角色公钥加密文件密钥,利用所述文件密钥加密文件数据,得到的用户数据和角色数据存储在重加密代理端的控制数据库,将加密后的所述文件密钥和加密后的所述文件数据存储在云端;步骤S2:角色绑定和文件赋权:向重加密代理发送角色绑定数据和文件权限数据,并保存在重加密代理端;步骤S3:用户读取或修改文件:用户u向所述重加密代理发起读取或修改文件f的请求,所述重加密代理检查访问权限,若用户u拥有文件f的访问权限,所述重加密代理从云端获取文件f对应文件密钥的密文,利用所述控制数据库中的用户数据和角色数据计算所述文件密钥对应的重加密密文,并将所述重加密密文发送给用户,用户对所述重加密密文进行解密后得到文件密钥,使用所述文件密钥解密从云端下载的文件f的密文获取f的文件数据;或使用所述文件密钥加密新数据,并更新云端的文件f的密文数据;步骤S4:角色解绑:为角色生成新的非对称密钥对,相应地计算和更新所述重加密代理端的角色数据和角色绑定数据,同时,更新该角色可以访问的所有文件的文件密钥和文件密文,并更新云端的相应的云端数据;步骤S5:文件除权:为文件生成新的对称密钥,更新云端的文件密钥密文,使用所述新的对称密钥更新对应云端文件的文件密文,并删除重加密代理端中文件权限数据。2.根据权利要求1所述的面向云端加密数据的高效动态访问控制方法,其特征在于,所述步骤S1:创建用户、角色和文件,具体包括:步骤S11:创建用户:待创建用户提交其用户标识u和用户公钥pk
u
,管理员审核通过后,利用管理员用户私钥sk
ad
和pk
u
计算重加密密钥rk
ad
→
u
,并将<u,pk
u
,rk
ad
→
u
>发送到重加密代理;所述重加密代理在控制数据库中添加收到的用户数据<u,pk
u
,rk
ad
→
u
>;步骤S12:创建角色:为角色r生成非对称密钥对pk
r
,sk
r
,使用角色公钥pk
r
和管理员角色私钥sk
SU
计算重加密密钥rk
SU
→
r
;使用管理员用户的公钥pk
ad
加密私钥sk
r
得到密文c
r
=Enc(pk
ad
,sk
r
);将角色数据<r,pk
r
,rk
SU
→
r
,c
r
>发送到重加密代理;所述重加密代理在控制数据库中添加收到的角色数据<r,pk
r
,rk
SU
→
r
,c
r
>;步骤S13:创建文件:生成对称密钥k,利用k加密标识为fn的文件数据f得到密文c
f
=Enc(k,f),使用管理员角色公钥pk
SU
加密所述对称密钥k得到密文c
k
=Enc(pk
SU
,k),将文件数据<fn,c
f
>和密钥数据<fn,c
k
>存储到云端数据库。3.根据权利要求1所述的面向云端加密数据的高效动态访问控制方法,其特征在于,所述步骤S2:角色绑定和文件赋权,具体包括:步骤S21:角色绑定:向重加密代理发送角色绑定数据<u,r>,所述重加密代理在所述控制数据库中添加收到的角色绑定数据<u,r>;步骤S22:文件赋权:向重加密代理发送文件权限数据<r,fn>;所述重加密代理在所述控制数据库中增加收到的文件权限数据<r,fn>。4.根据权利要求1所述的面向云端加密数据的高效动态访问控制方法,其特征在于,所述步骤S3中用户读取文件,具体包括:用户u向所述重加密代理发起读取文件标识为fn的文件f的请求,所述重加密代理查询
云端数据库和所述控制数据库是否满足下述条件:a)云端数据库存在密钥数据<fn,c
k
>;b)存在角色r,使得所述控制数据库中存在绑定数据<u,r>和权限数据<r,fn>;若满足,则转至下述步骤S31,否则返回无权限;步骤S31:重加密代理从云端下载密钥数据<fn,c
k
>;步骤S32:重加密代理查询控制数据库获取角色数据<r,pk
r
,rk
SU
→
r
,c
r
>,计算面向角色r的对称密钥密文c
′
k
=ReEnc(rk
SU
→
r
,c
k
);步骤S33:重加密代理查询控制数据库获取用户数据<u,pk
u
,rk
ad
→
u
>,计算面向用户u的角色私钥密文c
′
r
=ReEnc(rk
ad
→
u
,c
r
);步骤S34:重加密代理向用户u发送<fn,c
′
r
,c
′
k
>;步骤S35:用户u从云端获取文件密文<fn,c
f
>;步骤S36:用户u使用自身私钥解密得到角色私钥sk
r
=Dec(sk
u
,c
′
r
),使用角色私钥解密得到文件密钥k=Dec(sk
r
,c
′
k
),使用文件密钥解密得到文件数据f=Dec(k,c
f
)。5.根据权利要求1所述的面向云端加密数据的高效动态访问控制方法,其特征在于,所述步骤S3:用户修改文件,具体包括:用户u向重加密代理发起修改文件标识为fn的文件f的请求,重加密代理查询云端数据库和控制数据库是否满足下述条件:a)云端数据库存在密钥数据<fn,c
k...
【专利技术属性】
技术研发人员:苗付友,王瑞凯,貟亚杰,王心妍,于跃,
申请(专利权)人:中国科学技术大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。