• 《访问控制策略描述和应用》阅读总结


    摘要

    提出了一种访问控制描述方法和服务域的概念。以服务域作为访问控制策略的组织单元,简化访问控制的管理和使用。

    DAFMATI是一种支持**多授权**类型的授权框架。这种模型主要是针对**医疗应用系统**。能够动态把访问请求分为3种:一般、紧急和基于上下文的。
    

    访问控制策略描述

    ①目的

    • 简化用户配置过程,底层的访问控制模型对用户来说是透明的。用户描述了访问控制的配置后,系统对其做一致性检查,并将其映射到底层的访问控制模型配置。

    ②策略描述基本元素包括:

    • 用户(User):访问控制的主体,一般都是指系统用户。
    • 客体(Object):系统中包含或接受信息的被动实体。
    • 访问属性(Access Attribute):访问方式,如读、写等。

    ③策略描述包括以下内容:

    • 用户集合(User Set):某些用户在系统中需要完成的任务相同,可以把他们归入一个用户集合 ,然后对这个集合进行统一配置。定义方式:US:USName={userl,user2,…}。USName是用户集合的名字。
      规则:一个用户最多只能属于一个用户集合;而一个用户集合可以包含多个用户。
    • 客体集合(Object Set):同理。定义方式:OS:OSName= {object1,object2 ,…}。OSName是客体集合的名字。
      规则:一个客体最多只能属于一个客体集合,而一个客体集合可以包含多个客体。
    • 授权:授权的形式,是用三元组来表示用户、用户集合,客体、客体集合到访问属性的映射。用 x 表示访问属性,有4种授权形式:(User,Object,x) (User,OS,x) (US,Object,x) (US,OS,x)
      如果一个用户User1对客体O1具有访问属性x1,同时User1所属用户集合对O1具有访问属性x2,那么User1对客体O1最终的访问属性就是这两种属性的交集x1∩x2
    • 用户和客体的等级:等级是用户或客体的一个属性,用一个非负整数表示。信息只能从低级流向高级
      用户User1读访问客体O1,则必须有G1(User1的等级)≤G2(O1的等级)
      用户User1可读写客体O1,则必须有G1(User1的等级)≥G2(O1的等级)
      等级的定义方式:GRADE={(entity1,grade1);(entity2,grade2);…}

    基于服务域的策略组织

    ①规则

    • 引入服务域的概念,把不同的网络服务划入各自独立的服务域中,与该服务相关的主客体等都在服务域内,服务域是进行服务器管理及策略描述的一个基本单位
    • 服务域是某一个服务运行所涉及到的所有主、客体的集合,记为D,包括所要访问的文件、设备、网络,以及用于管理这一服务的用户、角色、类型等。
    • 服务域的定义包括下面几个部分:
      Service Domain {Name= “…”;USER={…};OBJECT={…};…}。其中Name为该服务域的名称;USER为服务域中所包含的所有用户;OBJECT为服务域中所包含的所有客体。
    • 为保证服务域之间的相互独立,引入规则:将不同的服务划分为不同的独立的服务域;服务域定义必须互斥,对两个不同的服务域,分别定义两个不同的服务器 的工作范围。
    • 服务域的不相交主要有5个方面内容:用户和所属的用户集合 必须属于同一个服务域;客体和所属的客体集合也必须属于同一个服务域;两个服务域的主体部分不相交;两个服务域的客体部分不相交;一个服务域中的主体只能同一服务域的客体有访问权限,而不能访问另外一个域的客体。

    ②基于服务域的描述模板

    • 限制服务器访问资源:通过服务域取消服务器对一般文件的权限,同时通过客体集合设置实现对访问服务域中资源访问权限的限制。服务域中的客体集合为O ,服务器对资源的访问请求为A,把集合O分为子集O1,O2,…On,对其中的任意一个Oi满足:
    • 用户集合配置设置用户集合的基本原则就是权限分离以及最小特权
      划分不同的服务域,给不同的服务域设置不同的用户和用户集合;在某个服务域内,根据不同的任务划分不同的用户集合,用于服务器的运行或管理。一般至少设置如下几个用户集合:
      服务器用户集合:对应服务器程序运行时的角色;
      服务器管理用户集合:管理并维护服务器正常运行,对服务域中的大部分客体都有绝对的权限
      审计角色:审计服务器运行状态,根据日志文件进行,权限是读访问日志文件

    安全策略描述模型的实现

    ①一致性检查

    • 一致性检查6条检查规则:
      (1) 任意两个服务域的用户和客体都不能有交集;
      (2) 任一服务域中,只能使用本服务域中定义的用户和客体;
      (3) 每个用户只能属于一个用户集合;
      (4) 每个客体只能属于一个客体集合;
      (5) 任一服务域中,只能使用本服务域中已经定义的用户集合和客体集合;
      (6) 用户和客体的等级值只能为0至252

    ②访问控制机制的映射

    • 映射中主要用到的3个模型:ACL、MAC和RC。
      (1)ACL:定义了哪个主体可以以哪种权限访问哪个客体
      (2)RC:一种基于角色和类型的模型,每个用户都有一个默认的角色,其所有进程都会继承这个角色。对客体的访问根据进程当前角色和客体的类型允许或拒绝。
      (3)MAC每个实体都有一个安全级别,安全级别包括两项:安全分级(S)和安全范畴(C)安全分级是一个分层次的值,如公开、秘密、机密和绝密;范畴表示工作区域,可以用集合表示。
      实体E1安全级别为(S1,C1),实体E2安全级别为(S2,C2),且S1≥s2C1是C2的超集,则表示E1支配E2
      MAC中两条最基本的原则:(1)非上读。一个主体Si要对客体Oj进行读访问,则必须有Si支配Oj。(2)非下写。如果Si同时对O1有读权限,对O2有写权限,那么必须有O2支配O1。
    • 映射方法:
      (1)(User,Object,c)和(User,OS,x),添加到客体Object和客体集合OS对应的类型的ACL中;
      (2)(US,Object,x)和(US,OS,x)两种描述,映射到RC模型,添加到RC策略库中;
      (3)对于用户和客体等级的描述,将被映射为MAC模型的安全分级。

    ③策略库结构

    保存原有的配置信息

  • 相关阅读:
    React学习笔记(六)事件处理
    React学习笔记(五)State&声明周期
    学会装逼,你的人生可能会开挂
    Go指南
    JavaScript检测数据类型
    $.on()方法和addEventListener改变this指向
    JavaScript返回上一页
    js继承
    js原型二
    全局变量与局部变量
  • 原文地址:https://www.cnblogs.com/fanxiaonan/p/12663144.html
Copyright © 2020-2023  润新知