访问控制技术(P658-670)
1、访问控制技术概述
(1)访问控制的基本模型
访问控制包括三个要素:主体、客体、控制策略。
访问控制包括认证、控制策略实现和审计三方面的内容。
(2)访问控制的实现技术
A、访问控制矩阵(ACM)
是通过矩阵形式表示访问控制规则和授权用户权限的方法
访问矩阵是以主体为行索引,以客体为列索引的矩阵,矩阵中的每一个元素表示一组访问方式,是若干访问方式的集合。
B、访问控制表(ACLs)
实际上是按列保存访问矩阵。访问控制表提供了针对客体的方便的查询方法。但是用它来查询一个主体对所有客体的所有访问权限是很困难的。
C、能力表
对应于访问控制表,这种实现技术实际上是按行保存访问矩阵。能力表实现的访问控制系统可以很方便地查询某一个主体的所有访问权限,但查询对某一个客体具有访问权限的主体信息是很困难的。
D、授权关系表
是即不对应于行也不对应于列的实现技术,只对应访问矩阵中每一个非空元素的实现技术。
如果授权关系表按主体排序,查询时就可以得到能力表的效率;如果按客体排序,查询时就可得到访问控制表的效率。
(3)访问控制表介绍
A、ACL的作用
可以限制网络流量、提高网络性能;
提供对通信流量的控制手段;
是提供网络安全访问的基本手段;
可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞。
B、ACL的执行过程
一个端口执行哪条ACL,这需要按照列表中的条件语句执行顺序来判断。如果一个数据包的报头跟表中某个条件判断语句相匹配,那么后面的语句就将被忽略,不再进行检查。
数据包只有在跟第一个判断条件不匹配时,它才被交给ACL中的下一条件判断语句进行比较。
如果匹配,则不管是第一条还是最后一条语句,数据都会立即发送到目的接口。
如果甩有的ACL判断语句都检测完毕,仍没有匹配的语句出口,则该数据包将视为被拒绝而被丢弃。
注意,ACL不能对本路由器产生的数据包进行控制。
C、ACL的分类
分为标准ACL和扩展ACL。
主要区别:标准ACL只检查数据包的源地址;扩展ACL既检查数据包的源地址,也检查数据包的目的地址,同时还可以检查数据包的特定协议类型、端口号等。
D、ACL的配置
在全局配置模式下,使用下列命令创建ACL:
Router(config)# access-list access-list-number {permit|deny} {test-conditions}
在接口配置模式下,使用access-group命令ACL应用到某一接口上:
Router(config-if)# {protocol} access-group access-list-number {in|out}
E、标准ACL举例。
注意P662到663页内容即可。
(4)访问控制的模型发展
2、传统访问控制技术
(1)自主型访问控制(DAC)
Discretionary Access Control
自主访问控制是一种最为普遍的访问控制手段,用户可以按自己的意愿对系统的参数做适当修改以决定哪些用户可以访问他们的文件,亦即一个用户可以有选择地与其它用户共享他的文件。用户有自主的决定权。
自主访问控制一个安全的操作系统需要具备访问控制机制。它基于对主体及主体所属的主体组的识别,来限制对客体的访问,还要校验主体对客体的访问请求是否符合存取控制规定来决定对客体访问的执行与否。这里所谓的自主访问控制是指主体可以自主地(也可能是单位方式)将访问权,或访问权的某个子集授予其它主体。
将数字信号转换为模拟信号。
(2)强制型访问控制(MAC)
Mandatory Access Control .
强制访问控制允许加载新的访问控制模块,并借此实施新的安全策略,其中一部分为一个很小的系统子集提供保护并加强特定的服务,其他的则对所有的主体和客体提供全面的标签式安全保护。定义中有关强制的部分源于如下事实,控制的实现由管理员和系统作出,而不像自主访问控制 (DAC, FreeBSD 中的标准文件以及 System V IPC 权限) 那样是按照用户意愿进行的。
强制访问控制是系统独立于用户行为强制执行访问控制,它也提供了客体(数据对象)在主体(数据库用户)之间共享的控制,但强制访问控制机制是通过对主体和客体的安全级别进行比较来确定授予还是拒绝用户对资源的访问,从而防止对信息的非法和越权访问,保证信息的保密性。与自主访问控制不同的是,强制访问控制由安全管理员管理,由安全管理员根据一定的规则来设置,普通数据库用户不能改变他们的安全级别或对象的安全属性;自主访问控制尽管也作为系统安全策略的一部分,但主要由客体的拥有者管理。
3、基于角色的访问控制技术(RBAC)
基于角色的访问控制(Role-Based Access Control)引入了Role的概念,目的是为了隔离User(即动作主体,Subject)与Privilege(权限,表示对Resource的一个操作,即Operation+Resource)。
Role作为一个用户(User)与权限(Privilege)的代理层,解耦了权限和用户的关系,所有的授权应该给予Role而不是直接给User或Group。Privilege是权限颗粒,由Operation和Resource组成,表示对Resource的一个Operation。例如,对于新闻的删除操作。Role-Privilege是many-to-many的关系,这就是权限的核心。
基于角色的访问控制方法(RBAC)的显著的两大特征是:
1.由于角色/权限之间的变化比角色/用户关系之间的变化相对要慢得多,减小了授权管理的复杂性,降低管理开销。
2.灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。
RBAC基本概念:
RBAC认为权限授权实际上是Who、What、How的问题。在RBAC模型中,who、what、how构成了访问权限三元组,也就是“Who对What(Which)进行How的操作”。
Who:权限的拥用者或主体(如Principal、User、Group、Role、Actor等等)。
What:权限针对的对象或资源(Resource、Class)。
How:具体的权限(Privilege,正向授权与负向授权)。
Operator:操作。表明对What的How操作。也就是Privilege+Resource
Role:角色,一定数量的权限的集合。权限分配的单位与载体,目的是隔离User与Privilege的逻辑关系。
Group:用户组,权限分配的单位与载体。权限不考虑分配给特定的用户而给组。组可以包括组(以实现权限的继承),也可以包含用户,组内用户继承组的权限。User与Group是多对多的关系。Group可以层次化,以满足不同层级权限控制的要求。
RBAC的关注点在于Role和User, Permission的关系。称为User assignment(UA)和Permission assignment(PA)。关系的左右两边都是Many-to-Many关系。就是user可以有多个role,role可以包括多个user。
凡是用过RDBMS都知道,n:m 的关系需要一个中间表来保存两个表的关系。这UA和PA就相当于中间表。事实上,整个RBAC都是基于关系模型。
Session在RBAC中是比较隐晦的一个元素。标准上说:每个Session是一个映射,一个用户到多个role的映射。当一个用户激活他所有角色的一个子集的时候,建立一个session。每个Session和单个的user关联,并且每个User可以关联到一或多个Session.
在RBAC系统中,User实际上是在扮演角色(Role),可以用Actor来取代User,这个想法来自于Business Modeling With UML一书Actor-Role模式。考虑到多人可以有相同权限,RBAC引入了Group的概念。Group同样也看作是Actor。而User的概念就具象到一个人。
这里的Group和GBAC(Group-Based Access Control)中的Group(组)不同。GBAC多用于操作系统中。其中的Group直接和权限相关联,实际上RBAC也借鉴了一些GBAC的概念。
Group和User都和组织机构有关,但不是组织机构。二者在概念上是不同的。组织机构是物理存在的公司结构的抽象模型,包括部门,人,职位等等,而权限模型是对抽象概念描述。组织结构一般用Martin fowler的Party或责任模式来建模。
Party模式中的Person和User的关系,是每个Person可以对应到一个User,但可能不是所有的User都有对应的Person。Party中的部门Department或组织Organization,都可以对应到Group。反之Group未必对应一个实际的机构。例如,可以有副经理这个Group,这是多人有相同职责。
引入Group这个概念,除了用来解决多人相同角色问题外,还用以解决组织机构的另一种授权问题:例如,A部门的新闻我希望所有的A部门的人都能看。有了这样一个A部门对应的Group,就可直接授权给这个Group。
4、基于任务的访问控制模型(TBAC)
是从应用和企业层角度来解决安全问题,以面向任务的任务的角度来建立安全模型和实现安全机制,在任务处理的过程 提供动态实时的安全管理。
TBAC模型由工作流、授权结构体、受托人和许可集4部分组成。
5、基于对象的访问控制模型(OBAC)
控制策略和控制规则 是OBAC访问控制系统的核心所在。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |