一种基于授权管理链的访问控制方法与流程

文档序号:15846199发布日期:2018-11-07 09:04阅读:155来源:国知局
一种基于授权管理链的访问控制方法与流程

本发明涉及管理链的技术领域,特别涉及一种基于授权管理链的访问控制方法。

背景技术

目前,访问控制技术是信息安全的核心技术之一,是对信息系统资源进行保护的重要措施,通过访问控制策略控制,实现主体对客体访问的限制,旨在防止对信息资源的非授权访问和非授权使用。

随着信息技术和网络技术的飞速发展,泛在计算、移动计算、云计算等新型计算模式的出现,在推动互联网快速发展的同时,对已有的访问控制方法提出了新的应用需求。现有的访问控制方法包括:

1.自主访问控制(discretionaryaccesscontrol,dac)是在确认主体身份以及它们所属组的基础上对访问进行限制的一种方法。其具有较高的灵活性、自主性、易用性和可拓展性,但是容易因为权限的传递,导致信息泄露。

2.强制访问控制(mandatoryaccesscontrol,mac)是将系统中的信息分密级和类进行管理,以保证每个用户只能访问到那些被表明可以由他访问的信息的一种访问约束机制。其通过为用户和数据划分安全级别,实现信息的单向流动,但是实施工作量过大、效率偏低而且缺乏灵活性。

3.基于角色的访问控制(role-basedaccesscontrol,rbac)是将用户通过角色与权限进行关联,即权限并不直接分配给用户,而是先分配给角色,然后再将用户分配给那些角色,从而获得角色的权限。其极大地简化了各种环境下的授权管理问题,但是难以解决细粒度访问控制和面向大规模主动授权等问题。

4.基于任务的访问控制(task-basedaccesscontrol,tbac)是以任务为中心的,并采用动态授权的主动式安全模型,授予用户的访问权限不仅仅依赖主体、客体,还依赖于主题当前执行的任务、任务的状态。其作为一种上下文相关的访问控制模型,适合处理工作流中有时效性和流动性的数据信息,权限随着数据的处理而被授予或取消。但是这种主动的访问控制模型不能处理非工作流类的任务,如查询等。

5.基于属性的访问控制(attribute-basedaccesscontrol,abac)是将主体和客体的属性作为基本的决策要素,通过对主体、客体、权限和环境属性的统一建模,描述授权和控制约束。其具有足够的灵活性和可拓展性,也可以做到细粒度动态访问控制,但是其授权属性维护和建模相对复杂。

综上所述,目前已有的各种方法在具体应用领域都有一定局限性,很难满足新形势下对于访问控制的多要素、多极化、细粒度、对象化需求。



技术实现要素:

本发明为解决上述的一种或多种不足,提供一种基于授权管理链的访问控制方法。

为解决上述技术问题,本发明采用的技术方案是:

一种基于授权管理链的访问控制方法,包括以下步骤:

s1.对授权要求以授权记录块的形式存储;

s2.将已授权的授权记录块的hash值记入下一个授权记录块中形成一条可验证的授权管理链;

s3.提出的访问请求根据授权管理链中的记录进行判断,若请求合法,则允许访问控制,否则,不允许访问控制。

在上述方案中,对授权要求以授权记录块的形式存储;再进一步的,将已授权的授权记录块的hash值记入下一个授权记录块中形成一条可验证的授权管理链;最后,通过判断访问请求是否合法,选择是否授予访问控制的权利;本方案中,将数据管理者的授权记录以一种授权管理链的形式存储以达到访问控制更细粒度,授权记录更易验证的效果。

优选的,所述的授权记录块包括授权记录编号、上一个授权记录块hash值、授权时间、授权的具体内容。

优选的,所述的授权的具体内容包括授权给的主体,授权的具体数据项和对应的权限、权限时效。

优选的,所述的授权管理链根据时间先后顺序形成的基于密码学安全的授权记录进行存储;当收到新的已授权的权利记录块时,自动添加并形成新的授权记录块。

优选的,所述的步骤s2具体如下:

s21.检测当前已授权的授权管理链是否为第一次添加授权记录块,若是,则进行步骤s22,否则,进行步骤s23;

s22.将管理员的id的hash值作为初始值hash0和已授权的信息一起写入第一个授权记录块block1中;

s23.将上一个授权记录块的hash值和已授权的信息一起写入新的授权记录块中。

优选的,所述的hash值通过单向散列(hash)函数h(x)把任意长度的消息m变化成固定长度的输出。

优选的,所述的授权管理链的验证方式如下:

通过每个授权记录块的hash值和其中储存的上一个授权记录块的hash值进行校验;对整个授权管理链进行前向循环验证;管理员保存最近一次授权的授权记录块的hash值即可对整个授权管理链进行快速的完整性校验。

优选的,所述的步骤s3具体如下:

s31.从授权管理链的最后一个授权记录块向前查询是否有对该请求的授权记录;若有则进行步骤s32,否则结束请求;

s32.在授权记录块中的记录的针对该求者的授权时效是否过期,若是,则进行步骤s33,否则结束请求;

s33.返回授权记录块中记录的该请求的具体数据和对应的具体权限。

与现有技术相比,本发明的有益效果是:在本方案中,本发明提出了授权管理链,将数据所有者对外授权其数据的访问权限按时间先后顺序形成一条基于密码学安全的授权记录链;该授权管理链由系统收到数据管理者的授权行为后自动添加新的授权记录块形成;访问者的访问请求将依据授权管理链中的记录进行判断请求是否合法;通过授权管理链,可以快速对授权进行完整性校验和使权限分配达到比已有的访问控制方法更细粒度,更能灵活地进行动态授权和授权拓展,进而更加有效保护数据的隐私和安全。

附图说明

图1是本发明一种基于授权管理链的访问控制方法的方法流程图。

图2是本发明形成授权管理链的方法流程图。

图3是本发明是提出的访问请求根据授权管理链中的记录进行判断的方法流程图。

图4是授权管理链进行访问控制的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清除、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施说例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种基于授权管理链的访问控制方法,其流程示意图如图1所示:包括以下步骤:

s1.对授权要求以授权记录块的形式存储;

s2.将已授权的授权记录块的hash值记入下一个授权记录块中形成一条可验证的授权管理链;

s3.提出的访问请求根据授权管理链中的记录进行判断,若请求合法,则允许访问控制,否则,不允许访问控制。

在本实施例中,对授权要求以授权记录块的形式存储;在进一步的,将已授权的授权记录块的hash值记入下一个授权记录块中形成一条可验证的授权管理链;最后,通过判断访问请求是否合法,选择是否授予访问控制的权利;本方案中,将数据管理者的授权记录以一种授权管理链的形式存储以达到访问控制更细粒度,授权记录更易验证的效果。

在本实施例中,授权记录块包括授权记录编号、上一个授权记录块hash值、授权时间、授权的具体内容。

在本实施例中,授权的具体内容包括授权给的主体,授权的具体数据项和对应的权限、权限时效。

在本实施例中,授权管理链根据时间先后顺序形成的基于密码学安全的授权记录进行存储;当收到新的已授权的权利记录块时,自动添加并形成新的授权记录块。

在本实施例中,步骤s2具体如流程示意图如图2所示::

s21.检测当前已授权的授权管理链是否为第一次添加授权记录块,若是,则进行步骤s22,否则,进行步骤s23;

s22.将管理员的id的hash值作为初始值hash0和已授权的信息一起写入第一个授权记录块block1中;

s23.将上一个授权记录块的hash值和已授权的信息一起写入新的授权记录块中。

在本实施例中,hash值通过单向散列(hash)函数h(x)把任意长度的消息m变化成固定长度的输出。

在本实施例中,授权管理链的验证方式如下:

通过每个授权记录块的hash值和其中储存的上一个授权记录块的hash值进行校验;对整个授权管理链进行前向循环验证;管理员保存最近一次授权的授权记录块的hash值即可对整个授权管理链进行快速的完整性校验。

在本实施例中,步骤s3具体如流程示意图如图3所示::

s31.从授权管理链的最后一个授权记录块向前查询是否有对该请求的授权记录;若有则进行步骤s32,否则结束请求;

s32.在授权记录块中的记录的针对该求者的授权时效是否过期,若是,则进行步骤s33,否则结束请求;

s33.返回授权记录块中记录的该请求的具体数据和对应的具体权限。

实施例2:

假设为了对用户的个人资料进行更细粒度的授权管理,某系统通过引入如图4所示的授权管理链进行访问控制。

用户a在系统注册时有如下个人资料信息{name,realname,sex,birthday,address,phonenumber,qq,e-mail}上传至系统。下面将通过添加授权、请求查看两个方面来详细讲解该用户如何通过该系统中的授权管理链来实现其个人资料信息的细粒度访问控制。

一、添加授权

(1)用户a将自己的好友用户b作为第一个授权对象进行授权,并将信息{name,realname,sex,birthday,address,phonenumber,qq,e-mail}的访问权授予用户b,权限时效为t1;

(2)用户a对用户c进行授权,并将信息{name,sex,birthday}的访问权授予用户c,权限时效为t2;

(3)用户a对用户d进行授权,并将信息{name,sex}的访问权授予用户c,权限时效为t3;

……

在用户a添加授权的过程中其授权管理链将按照图2的流程逐个添加授权记录块,形成如图4所示的授权管理链。用户a通过保存最近一次授权记录块的hash值,可随时对其授权管理链进行完整性验证。

二、请求查看

(1)用户b在权限时效t1内请求访问用户a的个人资料。系统在用户a的授权管理链中通过如图3所示的流程查询到用户a对用户b的授权记录,且访问请求发生在权限有效期内,于是系统按授权记录块中存储的具体授权信息将用户a的{name,realname,sex,birthday,address,phonenumber,qq,e-mail}信息返回给用户b。

(2)用户c在权限时效t2内请求访问用户a的个人资料。系统在用户a的授权管理链中通过如图3所示的流程查询到用户a对用户c的授权记录,且访问请求发生在权限有效期内,于是系统按授权记录块中存储的具体授权信息将用户a的{name,sex}信息返回给用户c。

(3)用户d在权限时效t2外请求访问用户a的个人资料。系统在用户a的授权管理链中通过如图3所示的流程查询到用户a对用户d的授权记录,但访问请求发生不在权限有效期,于是系统返回给用户d访问失败信息。

(4)用户n请求访问用户a的个人资料。但是系统在用户a的授权管理链中通过如图3所示的流程查询不到用户a对用户n的授权记录,所以系统返回给用户n访问失败信息。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1