[音乐]
[音乐]
同学们好,今天我们介绍这个经典的RBAC的模型
就基于角色的访问控制,我们先来看一下这个模型的这个发展历程
那么它在92年,就是90年代那个时候呢, 为了这个,很多这种企业为了符合这个企业的这个组织结构
大家提出了,陆续提出了这样的一个模型,就是基于角色的访问控制模型
那么这个模型推出来以后呢,其实也,大家做了不少的这样的
一些研究,其中特别值得一提的呢是在1995年的时候,这个
Ferraiolo他们提出的这样的一个RBAC的这样的一个模型,他的文章叫RABC- 的这个属性和动机
和1996年的这个乔治梅森大学的这个Sandhu他们当时提出的这个RBAC96-
这个模型 那么这个模型其实到了这两个文章提出的这个模型的
这个时候,大家已经非常认可他们所提出的这些思想和这个 模型的这个架构。
那么在01年的时候,就是2001年的
时候,美国的标准组织NIST,就将这个RBAC呢制定成了这样的 标准。
那么我们来看一下RBAC的优点 那么RBAC呢其实之所以受到大家的认可和重视
主要是因为它有它的许多的一些优点,比如说我们来看一下它的这个六大优点
第一个优点呢,它比较容易实现这个组织级别的这样的授权管理 因为大家知道在不同的这样的
组织机构里面,都会有不同的这样的职责的这样的一个划分 比如说在这个企业里面会存在这样的一个
经理,还有这个团队的这个leader这样一个划分的一个概念 第二呢,是在这个
RBAC里面它支持继承,就是说 比如说我们在医院里面这样的一些关系,护士、
医生,它会护士的权限 这个医生是可以继承的。
第三呢就是说它可以实现这个最小特权的管理
因为我们知道在很多系统里面都会有一个超级用户,那么超级用户它的权限是过大的
所以事实上是可以通过决策的划分,来用不同的这样的
管理角色来实现最小特权管理,这是我们前面讲过最小特权控制原则的时候曾经提到过
第四呢,可以实现这个职责隔离,就是说可以让不同的这个
操作由不同的这样的管理员来完成,可以实现这样的 将来可以追责。
第五呢,就是它支持客体抽象 那么支持客体抽象呢其实说就是说,在前面我们提到的很多访问控制模型里面
大多数的访问控制的这个权限,一般我们更强调的是直接对客体的读写、 执行,或者是 查看这样一些操作。
那么这种操作呢其实是非常底层的这样一个操作
而我们在RBAC模型里面,其实可以不一定要去关注到这么底层的这样一种操作模式
它其实可以根据这个不同的业务把这个操作模式呢跟这个业务挂靠起来
比如说在这个,比如说财务系统里面它是可以通过,比如说这个银行系统里面它可以通过这个
账户的这个借款,还有这个贷款,对吧?银行里面的借款和贷款这样的一种 操作,跟业务直接挂钩,而不是直接跟具体的读写、
执行这样一个操作模式进行挂钩 第六个特点呢就是RBAC模型,它是一个中立的
一个策略,也就是说它事实上是一个用来表达策略的一个策略 那么它并不是针对特定的安全性的目标
不像我们前面提到的这个BLP是针对机密性,BIBA呢是针对这个完整性
那么这个RBAC呢其实它可以根据你的需求去针对机密性
完整性,或者是机密性和完整性这样一些安全目标 所以它为,称之为中立策略,这是它的一些特点
下面我们看一下这个模型,这个RBAC模型的主要概念和它的一种工作原理 在RBAC模型里面,很主要的一个概念就是角色
那么角色呢事实上其实代表的就是工作职能的这样的一个集合 所以它事实上是一个权限的集合。
那么RBAC的 实际工作,它的工作原理,就是说我满足什么条件才可以去访问呢?
事实上一个主体如果要去访问一个客体,它必须具备的条件是这样的 第一个,首先这个主体要承担一个角色,第二,就是这个角色呢
有一个权限允许它去执行某个操作 第三呢,就是说这个操作是被授权去访问某一个客体
所以RBAC呢是这样一个
策略,它用来表达我们所希望达到的一个安全性的这样的一个策略
那么模型的基本性质,其实我们等会会在后面的RBAC96和NIST的 RBAC标准里面 会详细地提到。
那么这里呢,我们其实是来概括出来我们在模型里面所体现的一些基本性质
第一条,就是说如果一个主体被授权了访问某个角色 而且这个角色又包含了另一个角色
那么这个主体也被授权访问这个被包含的角色 这个其实是角色继承的一个概念。
第二个呢是一个 用户可以被授权成为某个角色的这样的一个成员
那么仅仅当这个角色的特权与这个用户 所目前正在扮演的这个角色的特权是互相不干涉
或互相不会出现这个矛盾的这种情况下
也就说用户不应该去承担跟它当前所承担的角色有矛盾的这样的 另一个角色。
第三个呢就是在任何时候 角色的成员数是不能够超过这个角色的一个限定成员数的
大家知道在很多这个 企业里面,比如说这个经理他会有三个这样的
岗位,就是说我不能,系统里面,这个公司不能有三个以上的副经理,对吧
这个成员数值会有限制,总经理呢只有一个 这个都是对于这个角色它有一个最大数的一个限制
就是第四个呢,是主体永远它不能够去扮演一个没有被授权的一个主动角色
第五呢,就是说只有主体在扮演了这个角色的时候,就是它要去执行某个操作
它能不能执行这个操作,只有它承担了对应的角色,它才可以去完成对应的操作
第六呢,就是说主体它扮演新的一个主动角色的这个前提是
这个主体所,当前所承担的这个主动角色与他
将要承担的这个主动角色的特权之间互相不冲突
第七呢就是主体要执行一个操作的前提
跟前面其实五提到的有些类似,但是它更强调的是主动角色
就是说它要执行一个操作的时候,它一定要当前承担的这个角色是授权它去执行这个操作的
第八呢,就是说如果完成某个特殊的业务职能 需要这个去执行多个操作
那么这个操作呢又不能够同时去 出现这样的授权,又不允许它们同时,比如说授予单个用户
那么这个时候,我们要把这样的操作不能够去授予单个用户
第九呢,就是主体访问客体的前提是,这个主体的当前的这个
主动角色的这个某些角色,允许它去 执行这个操作,而且这个操作允许它去访问这个客体
那么其实它才可以去访问相应的客体,就是说主体 要访问一个客体,它是首先要承担,要有执行这个操作的权限
然后根据这个操作又允许它去访问这个客体才能够最终 去实现这个访问的目的。
这就是RBAC模型的 主要的这个一些概念和它的
工作性质,我们这次课就讲到这,谢谢