基于行为的访问控制
本章引入行为的概念,通过本章对基于行为的访问控制模型及其管理模型有了基本的了解,文章中还介绍了基于行为的多级安全访问控制模型,为后续研究提供了理论基础和方法。
一、应用场景分析
无论何时何地,只要需要就可以通过某种设备访问到所需的信息,复杂网络环境下多模式结构化文档的访问方式示例如下:
- 数据中心DC1至数据中心DCn体现了云存储形式;
- 国家授时中心用于提供时间戳等时态状态所需的标准时间;
- 员工A、员工B是两个不同的角色,他们有部分相同的访问权限;
- 总经理C是员工A和员工B的上司,具有员工A和B的部分或全部访问权限;
- 安全专控终端包含密码系统和GPS定位功能模块用于应急指挥系统;
- 员工A和总经理C,在合作公司场所访问结构化文档时属于跨域角色与访问;
本例主要体现主体角色,时态,环境等因素对访问授权的影响,以实现细粒度级别的访问,但未对主体与客体实施分级安全管理。
安全访问控制模型,机制的实施依赖于操作系统,数据库管理系统以及大型信息系统的实现:
- 操作系统以文件为单位进行数据管理
- 数据库管理系统以不同的表及其不同字段进行数据管理
- 信息系统借助数据库管理系统进行数据管理
一些描述
- 用户u的安全标记描述为,Ru=(level,role),level表示用户的安全级别,role表示用户的角色
- 客体即被访问对象(某公司的结构化文档)安全标记描述为V=(i,K),i表示能够访问该客体的主体最低安全级别,K表示能够访问该客体的主体所能访问的范畴
- 操作OP=<read,write,modify,delete>分别表示读写修改和删除操作
- 访问位置、访问设备、时间
复杂网络环境下的访问控制需求归纳为以下三个方面:
- 信息资源的访问方式具有开放性与动态性。需要综合考虑角色、环境、时态等因素对访问授权的影响,即需要定义行为的概念
- 实施对模型的有效管理。需要使用添加/删除用户、增加/删除角色、添加/修改/删除行为、添加/删除文档可伸缩安全属性、授权/撤销授权
- 需要解决主客体安全级别随角色、时态、环境等要素的变化动态伸缩调整
二、基于行为的访问控制模型(ABAC)
1.基本概念
- 用户:人或者自治代理,集合记为U
- 角色:对实现某种功能所需权限集合的描述,与用户是多对多关系,集合记为R
- 会话:用户与角色之间的映射。一个用户可关联多个会话,一个会话只能从属一个用户;会话和角色是一对多;集合为S
- 权限:对象的访问模式,集合为P
- 时态:时间约束,集合为T
- 环境:用户访问系统时的客观因素,位置、平台等,集合为E
- 子环境状态:相同时态,同一角色r在环境ei中的权限pi和在环境ej中的权限pj满足 {pj}属于{pi},则ej为ei子环境状态,记为ei≥ej。 子时态状态同理
- 行为约束Constraints-a:只启动会话s之后,用户u只能够通过行为a才能得到权限p。
2.行为的层次结构
1、环境层次结构EH:偏序关系即≥。任意的ei,ej∈E,(ei,ej)∈EH当且仅当ei≥ej。
若(ei,ej)∈EH,则称ei是ej的高级环境,ej是ei的低级环境;
若(ei,ej)∈EH且不存在ek,使ei≥ek,ek≥ej,则ei是ej的直接高级环境,记为ei>ej;
时态层次结构、行为层次结构类似。
2、l=(a1,a5,a8,a10)
行为依赖于路径继承的有效角色集合是以该行为为起点,在路径上可达的所有其他行为的角色集合。(r1,r5,r8,r10)
行为的有效角色集合是以该行为为起点可达的所有其他行为的角色构成的集合。 (r1,r3,r5,r7,r8,r10)
3、ABAC模型
- 行为A包括角色(R)、环境状态(E)、和时态状态(T)
- 环境状态和时态状态直接影响角色享有的权限
- 环境状态和时态状态相互影响
三、基于行为的访问控制管理模型
1、管理行为(ada):是一种特殊行为,满足行为的所有属性,但其环境状态和时态状态是受限的。用来对其他行为进行安全管理
ada可以表示为(ar,limt,lime),集合记为ADA
2、ABAC管理模型
- 通过Contraints对用户-行为、行为-权限分配、用户-管理行为、管理行为-管理权限的分配进行限制,并通过用户-管理行为分配、管理行为-管理权限分配对管理行为进行控制。
四、基于行为的多级安全访问控制模型
引入安全属性
1.基本概念
- 操作类型AT:访问操作类型集合,包括读(r)、写(w)、追加(a)、执行(e)4种类型。
- 安全属性Pr:用于描述主体、客体、行为的安全级别和范畴信息,集合表示为Pr:L×C
- L为安全级别的集合,描述主体的安全等级和客体的敏感级别;C为安全类别集合,即主体的访问范畴和客体的访问范畴。
- 主体属性集合:Spr; 客体属性集合:Opr; 行为属性集合:Apr;
- 行为属性映射函数F:Spr→Apr。主体提出访问请求时,需要通过行为映射函数F实现主体属性与行为属性的映射。
2.安全规则
1、用户操作抽象为四种类型:
- 可读:读取客体,read;
- 可写
- 可信写:执行写操作的为可信主体,客体安全等级必须与主体相同。
- 非可信写:写入的信息暂存在客体关联区域,客体所有者或管理员对内容进行审核,通过后完成写操作。
- 执行:主体可以运行相应客体,execute;
- 追加:主体对客体进行“只追加内容而不读”的操作,append;
2、get-read,获取可读的权限
若主体对客体具有read的操作权限,且主体行为的读安全级别高于或者等于客体的安全级别,主体行为的信息范畴包含客体的信息范畴,则主体可读取客体内容。
3、get-write,获取可写的权限
- 主体对客体具有write的操作权限
- 主体为可信主体,且主体行为的写安全属性等于客体的安全属性,则执行写操作
- 若客体的安全级别高于或者等于主体行为的写安全属性,且客体的信息范畴包含主体的信息范畴,则将写入的信息暂存在客体关联区域,等待审核
- 审核通过后执行写操作
3、get-execute,获取执行的权限
若主体对客体具有execute的操作权限,且主体行为的读安全级别高于或者等于客体的安全级别,主体行为的信息范畴包含客体的信息范畴,则主体执行客体。
4、get-append,获取追加的权限
若主体对客体具有append的操作权限,且客体的安全级别高于或者等于主体行为的写安全属性,且客体的信息范畴包含主体的信息范畴,则主体可以将要追加的内容暂存在客体关联区域。