首页> 中国专利> 一种云环境下轻量级的细粒度访问控制方法

一种云环境下轻量级的细粒度访问控制方法

摘要

本发明涉及云存储环境下一种轻量级的细粒度访问控制方法,属于安全云存储领域,包括以下步骤:1.数据上传;2.数据的授权;3.数据的访问;4.授权撤销;5.数据更新;本发明提供了一种轻量级、细粒度的访问控制方法,构建数据镜像和权限控制层,能够有效实现无副本数据共享以及细粒度的数据访问控制,并确保数据加密密钥的安全性。

著录项

  • 公开/公告号CN103227789A

    专利类型发明专利

  • 公开/公告日2013-07-31

    原文格式PDF

  • 申请/专利权人 武汉大学;

    申请/专利号CN201310138434.3

  • 发明设计人 彭智勇;程芳权;王书林;宋伟;

    申请日2013-04-19

  • 分类号H04L29/06(20060101);H04L29/08(20060101);

  • 代理机构武汉科皓知识产权代理事务所(特殊普通合伙);

  • 代理人张火春

  • 地址 430072 湖北省武汉市武昌区珞珈山武汉大学

  • 入库时间 2024-02-19 19:20:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-09-16

    授权

    授权

  • 2013-08-28

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20130419

    实质审查的生效

  • 2013-07-31

    公开

    公开

说明书

技术领域

本发明属于安全云存储领域,特别是涉及到隐私数据轻量级、细粒度、灵活的数据访问控制方法。 

背景技术

云计算作为一种新的网络计算模型一经提出,便得到了学术界,工业界的极大关注。云存储服务以其特有的良好扩展性、便捷的部署以及低廉的成本迅速得到发展,无论学术界还是工业界都取得了显著的成果。 

尽管云存储服务在如此短的时间内取得如此多显著成果,但其在发展过程中所面临的问题依然制约着云存储的进一步发展,而目前公认的制约云存储服务发展的瓶颈便是数据安全问题,尽管目前有很多安全技术来保证数据安全,但大部分的技术更多关注的是来自外部的威胁,而针对云存储提供商的内部威胁并没有得到有效关注。 

目前的主要通过对数据的本地加解密技术来抵御来自云存储提供商的内部攻击。尽管目前的本地加解密技术有效的抵御了来自云服务提供商内部以及网络中的攻击,但却极大的影响了数据在不同用户之间的共享。尽管密钥协商机制可以解决密文数据的共享,但该机制会导致每次数据授权的高计算成本,以及无法有效的进行授权撤销或更新,而只能通过对数据重新加密的方式进行授权撤销或更新。 

针对当前的密文数据访问控制方法进行分析发现,当前的密文数据访问控制方法存在以下主要问题: 

1.在保证数据安全的前提,没有一个有效的机制来解决无副本的密文数据共享。 

2.目前的数据授权大部分都是基于静态的角色或者属性划分,无法针对数据进行灵活的,细粒度的数据授权。 

3.一旦对密文进行数据授权后,尤其是针对同一数据进行多次授权后,不能有效的针对数据进行授权撤销,目前大部分采用对数据进行重加密机制,大大加重了计算代价并且会导致其他可访问用户的密钥更换。 

发明内容

为解决上述问题,本发明提供了一种云环境下轻量级的细粒度访问控制方法,包括以下步骤: 

步骤1:上传数据及初始化,其实现方式为: 

一方面,数据拥有者通过自己的公钥本地加密所要上传的明文数据,得到密文数据;然 后将所述的密文数据上传至云端; 

另一方面,根据数据拥有者的访问控制需求,构造相应的权限控制节点层; 

步骤2:数据的授权,其实现方式包括如下步骤: 

步骤2.1:确定授权数据,针对每个所要授权的数据,生成一个对应的数据镜像,如果所述的数据需要被多次授权,则相应生成多个镜像,所述的数据拥有者为所述的每个镜像生成一个公私钥对; 

步骤2.2:计算所述的数据与其镜像之间的代理重加密密钥,存储在云端; 

步骤2.3:计算会话密钥,对于每一个被授权用户,所述的数据拥有者通过自己的私钥与所述的授权用户的公钥及公开参数构造出一个会话密钥,所述的用户指一个单用户或者一个用户群组; 

步骤2.4:通过所述的会话密钥对所述的镜像的私钥进行加密,将加密后的密文存储于所述的权限控制节点,同时更新所述的权限控制节点中所述的授权用户信息; 

步骤3:数据的读取: 

所述的用户请求读取所述的某个数据,系统首先根据所述的权限控制节点判断所述的当前用户是否拥有该数据访问权限,如果有,则将所述的用户请求的数据经过镜像的重加密以及其权限控制节点中加密的镜像私钥发送给所述的用户,所述的用户在客户端则通过第一轮解密获得所述的镜像私钥,然后利用该私钥进行第二轮解密并最终获得所述的明文数据;否则,拒绝所述的用户请求; 

步骤4:授权撤销: 

所述的被授权用户被请求撤销授权,系统判断所述的被授权用户与所述的数据之间是否存在访问路径,如果不存在,拒绝所述的请求;如果存在,系统判断所述的权限控制节点是否存在该用户信息,如果有: 

如果所述的数据只对应一个镜像,则直接从云端删除该数据镜像,并清空其权限控制节点信息; 

如果所述的数据只对应一个镜像,但是只针对部分用户执行授权撤销,则首先清空权限控制节点中的对应用户信息,其次对当前镜像重新生成公私钥对,并生成以该公私钥对为目标的重加密密钥,以及加密处理其私钥,最后更新权限控制节点中的用户授权信息为加密后的镜像私钥; 

如果所述的数据对应于多个镜像,且需要对所有镜像执行授权撤销,则删除对应镜像,并更新权限控制节点中的被授权用户信息; 

如果所述的数据对应于多个镜像,但是执行多镜像中部分用户的授权撤销,则针对相关的每一个镜像,首先清空权限控制节点中的对应用户信息,其次对当前镜像重新生成公私钥对,并生成以该公私钥对为目标的重加密密钥,以及加密处理其私钥,最后更新权限控制节点中的用户授权信息为加密后的镜像私钥; 

否则,拒绝所述的请求; 

步骤5:数据更新,当对云端的某些所述的数据进行更新后, 

如果是对其访问授权保持不变,则不执行任何操作; 

如果需要撤销某些所述的授权,则按照所述的步骤4中的授权撤销执行; 

如果需要新增访问授权,则按照所述的步骤2中的数据授权执行。 

作为优选,步骤1中所述的构造相应的权限控制节点层,所述的每个节点被赋予被授权用户的相关信息。 

作为优选,随着系统的运行,以及权限的变更,可以对所述的权限控制节点进行动态更新。 

本发明与现有的授权访问控制相比具有以下优点: 

1.通过数据镜像实现无副本的数据多次授权,轻量级数据共享; 

2.按照需求灵活数据授权。用户不但可以根据组划分,还可以根据组内不同的角色再次进行划分,并且可以针对临时用户进行短暂性授权; 

3.便捷的授权撤销。根据需求,通过调整数据镜像以及权限控制节点值,来执行访问权限的回收。 

附图说明

图1:本发明的支持轻量级、细粒度的数据访问控制层次结构图。 

图2:本发明的数据上传及初始化流程图。 

图3:本发明具体实施例的细粒度权限控制节点数据结构图。 

图4:本发明的数据授权流程图。 

图5:本发明的数据读取流程图。 

图6:本发明的授权撤销流程图。 

具体实施方式

下面结合具体的实例和附图对本发明做进一步说明。 

本发明提供了一种云环境下轻量级的细粒度访问控制方法,包括以下步骤: 

步骤1:上传数据及初始化,其实现方式为: 

一方面,数据拥有者通过自己的公钥本地加密所要上传的明文数据,得到密文数据;然后将密文数据上传至云端; 

另一方面,根据数据拥有者的访问控制需求,构造相应的权限控制节点层,每个节点被赋予被授权用户的相关信息,随着系统的运行,以及权限的变更,可以对权限控制节点进行动态更新; 

步骤2:数据的授权,其实现方式包括如下步骤: 

步骤2.1:确定授权数据,针对每个所要授权的数据,生成一个对应的数据镜像,如果数据需要被多次授权,则相应生成多个镜像,数据拥有者为每个镜像生成一个公私钥对; 

步骤2.2:计算数据与其镜像之间的代理重加密密钥,存储在云端; 

步骤2.3:计算会话密钥,对于每一个被授权用户,数据拥有者通过自己的私钥与授权用户的公钥及公开参数构造出一个会话密钥,用户指一个单用户或者一个用户群组; 

步骤2.4:通过会话密钥对镜像的私钥进行加密,将加密后的密文存储于权限控制节点,同时更新权限控制节点中授权用户信息; 

步骤3:数据的读取: 

用户请求读取某个数据,系统首先根据权限控制节点判断当前用户是否拥有该数据访问权限,如果有,则将用户请求的数据经过镜像的重加密以及其权限控制节点中加密的镜像私钥发送给用户,用户在客户端则通过第一轮解密获得镜像私钥,然后利用该私钥进行第二轮解密并最终获得明文数据;否则,拒绝用户请求; 

步骤4:授权撤销: 

被授权用户被请求撤销授权,系统判断被授权用户与数据之间是否存在访问路径,如果不存在,拒绝请求;如果存在,系统判断权限控制节点是否存在该用户信息,如果有: 

如果数据只对应一个镜像,则直接从云端删除该数据镜像,并清空其权限控制节点信息; 

如果数据只对应一个镜像,但是只针对部分用户执行授权撤销,则首先清空权限控制节点中的对应用户信息,其次对当前镜像重新生成公私钥对,并生成以该公私钥对为目标的重加密密钥,以及加密处理其私钥,最后更新权限控制节点中的用户授权信息为加密后的镜像私钥; 

如果数据对应于多个镜像,且需要对所有镜像执行授权撤销,则删除对应镜像,并更新权限控制节点中的被授权用户信息; 

如果数据对应于多个镜像,但是执行多镜像中部分用户的授权撤销,则针对相关的每一个镜像,首先清空权限控制节点中的对应用户信息,其次对当前镜像重新生成公私钥对,并 生成以该公私钥对为目标的重加密密钥,以及加密处理其私钥,最后更新权限控制节点中的用户授权信息为加密后的镜像私钥; 

否则,拒绝请求; 

步骤5:数据更新,当对云端的某些数据进行更新后, 

如果是对其访问授权保持不变,则不执行任何操作; 

如果需要撤销某些授权,则按照步骤4中的授权撤销执行; 

如果需要新增访问授权,则按照步骤2中的数据授权执行。 

请见图1,为本发明的支持轻量级、细粒度的数据访问控制层次结构图,包括物理层、数据镜像层、权限控制层、用户层。 

请见图2,为数据提交及初始化过程流程图,数据拥有者(data owner)首先在本地通过自己的公钥对数据f1~f6进行加密,具体而言,这里采用非对称的RSA加密算法对数据进行加密。首先根据系统的安全性参数λ确定系统参数SP:={p,q,n},这里n=pq,并且p,q是满足系统安全性参数λ的两个大素数。当用户注册时,系统为每个用户分配一对公私钥(ek,dk)=(<e,n>,<d,n>),这里e是中随机选出,其中然后根据e计算相应的其中<e,n>为公钥,<d,n>为私钥。假设明文为m,则加密后的密文为c=me·mod·n。 

然后将加密后的数据上传至云端。按照系统需求,对访问权限进行划分,即构造图1中的权限控制层中的权限控制节点。请见图3,为权限控制节点具体数据结构图,记录相关用户授权信息。随着系统的运行,以及权限的变更等需求,可以对权限控制节点进行动态更新,借此实现细粒度的数据访问控制。 

请见图4,为数据授权过程流程图,这里以将数据f1授权给U1,U3为例。首先数据拥有者确定将要授权的数据为f1,系统为f1生成相应镜像,数据拥有者为每个镜像生成一个公私钥对(ek1,dk1),待生成完毕,图1中数据镜像层中对应f1的镜像生成完毕,然后计算f1到其对应镜像的代理重加密密钥,具体计算如下:这里设用户密钥对为(eui,dui)=(<eui,n>,<dui,n>),对应的镜像密钥对为(euj,duj)=(<euj,n>,<duj,n>),那么相应的重加密密钥为并将相应的重加密密钥rki-j上传至云端存储在镜像节点中。然后分别根据授权用户U1,U3的公钥eu1,eu2,作为会话密钥,利用会话密钥加密镜像 私钥duj,具体计算如下:ceu1=(duj)eu1modn,ceu3=(duj)eu3modn.并将加密后的私钥存储在相应的权限控制节点中。 

请见图5,为数据读取过程流程图,首先用户U1发出访问数据f1请求,系统判断U1与f1之间是否存在访问路径,如果存在,则去查找当前路径上的权限控制节点,判断U1是否具有f1的授权访问。如果具有,则云端利用镜像中重加密密钥对数据f1进行重加密得到F1,连同权限控制节点中U1相应的加密后的私钥发送给用户U1。用户U1利用自己的私钥首先解密f1镜像对应私钥的密文,然后利用解密出来的镜像私钥duj解密数据F1得到数据明文f1。否则,拒绝访问。 

请见图6,为授权撤销具体过程流程图,参照图1如果我们撤销f1对U1的授权,我们首先清空路径f1到U1路径上的权限控制节点中U1的相关授权信息,然后为f1的镜像生成新的公私钥对,并以其计算新的代理重加密密钥,最后将镜像的新私钥通过数据拥有者和授权用户计算的会话密钥加密,更新权限控制节点中其他用户的信息。至此,针对U1的授权撤销完毕,并且对其他用户没有任何影响。如果撤销f7针对U8的授权,我们将f7对应的镜像删除,并清空该路径上权限控制节点中U8相应授权信息。 

以上内容是结合最佳实施方案对本发明所做的进一步详细说明,不能认定本发明的具体实施只限于这些说明。本领域的技术人员应该理解,在不脱离由所附权利要求书限定的情况下,可以在细节上进行各种修改,都应当视为属于本发明的保护范围。 

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号