现在的位置: 首页 > 综合 > 正文

第二讲 传统的访问控制

2013年05月29日 ⁄ 综合 ⁄ 共 4320字 ⁄ 字号 评论关闭

一、基本概念

访问控制的基本任务是:防止非法用户进入系统及合法用户对系统资源的非法使用,它保证主体对客体的所有直接访问都是经过授权的。

1.客体:

是一种能够从其它主体或客体接收信息的实体(文件、目录、数据块、记录、程序、存储器段、网络节点等),即包含有信息,又可以被访问的实体。

2.主体

是一种可以使信息在客体之间流动的实体(进程、作业或任务(代表用户),用户也称为是主体)或能访问或使用客体的活动实体。

通常,我们把主体也看作是一个客体。因为当一个程序存放在内存或硬盘上时,那么它就与其它数据一样被当作客体,可供其它主体访问,但当这个程序运行时,它就成为了主体,可以去访问别的客体。

3.访问模式(访问权限)
       是指主体对客体可进行的特定访问操作如:读(r)、写(w可读可写或修改)、添加(a)、删除(d)、运行(e)等。

二种特殊的访问权限是控制权(c)、拥有权(o)。

       c是指某个主体具有改变其它主体对某客体的访问权限的能力。

       o若主体S创建客体O,则SO具有拥有权(每一客体O只有唯一的拥有者)。对O具有拥有权的主体必对O具有控制权,但反之则不然。

4.自主访问控制

是指对某个客体具有拥有权(或控制权)的主体能够将对该客体的一种访问权或多种访问权自主地授予其它主体,并在随后的任何时刻将这些权限回收。

自主访问控制是保护计算机系统资源不被非法访问的一种有效手段,但是,它有一个明显的缺点:这种控制是自主的,虽然这种自主性为用户提供了很大的灵活性,得同时也带来了严重的安全问题。为此人们认识到必须采取更强有力的访问控制手段,这就是强制访问控制。

5.强制访问控制

       系统根据主体被信任的程度和客体所包含的信息的机密性或敏感程度来决定主体对客体的访问权,这种控制往往可以通过给主、客体赋以安全标记来实现。

       强制访问控制一般与自主访问控制结合使用,在自主访问控制的基础上,施加一些更强的访问限制。一个主体只有通过了自主与强制性访问控制检查后,才能访问某个客体。

       用户可以利用自主访问控制来防范其它用户对自己客体的攻击,强制访问则提供了一个不可逾越的、更强的安全保护层。

二、自主访问控制(Discretionary Access Control

1、自主访问控制的矩阵模型
    系统状态用一个有序三元组表示Q=(S,O,A)

其中      S——主体的集合

              O——客体的集合

              A——访问矩阵,行对应于主体,列对应客体。A(i,j)项元素a­­­ij是一个集合,该集合中列出了主体Si对客体Oj所允许的访问权限。

例:设S={s1,s2},O={m1,m2,f1,f2,s1,s2,}系统当前的状态如下:

m1         m2         f1          f      s1    s2

       

注:“拥有权”与“控制权”在有的系统中有区别。

系统中设置监控程序用来监控主体对客体的访问,某一主体Si要对客体oj进行访问时,监控程序要检查aij以决定Si是否可对oj进行访问以及可以进行什么样的访问,当aij中不包含主体Si对客体oj的某种访问权时,监控程序就禁止Sioj进行相应的访问操作。监控程序可以由硬件、软件或者硬件与软件共同完成。

系统状态的变化
      
系统状态是在不断变化的,变化是由于用户的一系列操作引起来的,系统状态变化,则相应的访问控制矩阵也就要发生变化。引起状态变化的操作基本上有如下几种:

1Enter p into aij         (oj拥有者授予主体SiOjp”访问权)

2Delete p from aij        (oj拥有者撤销主体SiOjp”访问权)

3. Create Subject s’

4. Create Object o’

5. Delete Subject s’

6. Delete Object o’

这些操作将引起访问控制矩阵的变化,且使得状态由Q=(S,O,A)转换到Q’=(S’,O’,A’)

2、自主访问控制的实现方法

       为了实现自主访问控制,必须将访问控制矩阵所提供的信息以某种形式保存在计算机系统中,实际上在实现自主访问控制时,并不是将矩阵整个存放在系统中,这样做,效率是很低的,因为这个矩阵很可能是一个许多项都为空的一个稀疏矩阵,这对于存储空间和查询时间都是一个很大的浪费。

实际上的实现方法可分为如下几类:

基于行的自主访问控制——权力表

每个主体Si都有一个相应的权力表,Si的权力表由访问控制矩阵中Si所对应的行中所有的非空项所组成,它是一张Si可以访问的所有客体的明细表。如:上例中

O

P

m1

m2

f1

{r,w,e}

{r}

{c,r,w}

S1的权力表

O

P

m1

m2

f1

{r,w,e}

{r}

{c,r,e}

S2的权力表

根据每一主体Si的权力表,可决定该主体可否对客体进行访问以及可以进行哪种模式的访问。

基于列的自主访问控制——授权表(或访问控制表)

第一个客体都有一个相应的授权表,oj的授权表由访问控制矩阵中oj所对应的列中所有非空项所组成,它是一张可以访问oj的所有主体的明细表。如上例中

S

P

S1

S2

{r,w,e}

{r}

m1的授权表

S

P

S2

 

{c,r,e}

f2的授权表

根据每一客体oj的授权表可以决定哪些主体可以访问该客体以及可以进行什么样的访问。

3.授权的管理方式

       主体对客体的控制权“c“在系统中有两种管理方式:一种是集中式管理,一种是分散式管理。

集中式管理

       一个主体si在创建某个客体oj后,该主体就获得了对这一客体的“c”权和其它所有可能权限。“c”权意味着可以将它对oj所有其它(除“c”权以外)的访问权限授予系统中任何一个主休,也可以撤销系统中任何主体对oj的其它访问权限。其它主体因为对oj不具有“c”权,因此即使他们对oj具有某些访问权限,但它们也无权将这些权限转授给别的主体、或撤销别的主体对oj的任何访问权限——在这种管理模式下,对于任一客体oj,哪些主体可以对其进行访问,可以进行什么样的访问,完全由oj的拥有者决定。(在此管理模式下,“拥有权”和“控制权”是一致的。)

分散式管理

       在这种管理模式下,一个客体oj的拥有者不仅可以授予其它主体对oj的所有其它的访问权,而且还可以授予他们对oj的某些访问权的授予权,因此,对于一客体oj的访问权,不仅oj的拥有者可以授权,其他的主体也有可能得到全部或部分的授予权。

       例如:下图表示数据库中对某个关系X的授权情况:

图中:ABCD分别表示四个主体,表示AB授权。10152030表示授权的时刻,R(y)表示所授予的权限R可以再转授别的主体,R(n)表示所授予的权

D

C

A

B

10

R(y),I(y)

20

R(y),I(y)

30

R(y),I(n)

15

R(n)

A

B


R不允许再转授给别的主体。

       由图中可看出:在时刻15——时刻30之间的一段时间,D虽得到了对点系XRRead)访问权,但他不能将此权再授给其它主体。而在时刻30以后,C授予了DRI的权限后,D仅可将R权限授予其它的主体。

       在这种管理模式下,一个主体在撤销他所授予的对某个客体的某种权限时,必须将由于这一授权而引起的所有授权都予以撤销,系统的状态应该是好像该主体从来未对该权限授予过。

       例如:上例中,若时刻40后的某个时刻A撤销对B所授予的对关系XR权,则此时不公B失去了对XR权,且由此而引起CXR权,DXR权都被撤销,此时虽然D保留了由A处得到的R权,但D不能将此权转授出去。

       对授权提出分散式管理的模式虽然有它的实际需要,但是分散式管理的缺陷是,一旦oj的拥有者将对oj的访问权的授予权授予出去后,他便无法控制系统中哪些主体可对oj进行访问,哪些主体不能进行访问,哪些主体对oj具有授予权,哪些主体对oj不具有授予权。例如该例中的DA不让其具有R的授予权,但C却将R的授予授给了他。因此又有人提出了发“黑令牌”的方法,即oj的主体可对不允许访问oj的主体发放黑令牌。这样凡被发放黑令牌的主体,其它主体不得向他授权。(当然,可对某种访问权)

       在这种管理模式下,“拥有权”和“控制权”是不一致的。


第三讲 安全策略与安全模型

一、安全策略

1、安全策略的概念

       计算机系统的安全策略是为了描述系统的安全需求而制定的对用户行为进行约束的一整套严谨的规则。这些规则规定系统中所有授权的访问,是实施访问控制的依据。

       一个计算机系统的安全策略应能说明系统在各种情形下,哪些主体对哪些信息的访问是允许的,什么样的访问是不允许的。

       相对于系统中实施安全策略的访问控制机制来说,安全策略是抽象的,指导性的原则,然而安全策略的制定是有强烈的实际背景的。

2、安全策略举例

       以军事安全策略和商业安全策略为例来说明这一概念。军事部门的安全主要关心的是数据的保密性,而商业部门的安全主要关心的是数据的完整性,由于这一出发点不同使得他们的安全策略也有很大的不同。

军事安全策略:

       分为两部分:自主安全策略(discretionary)和强制安全策略( mandatory

       ·自主安全策略:一个主体对客体的任何一种方式的访问都必须是该客体的拥有者事先对其进行了授权的。

复习数学概念:

1. 笛卡尔积:A×B

2. 集合A的幂集:P(A)=2A={s|sA}

3. 集合A上的偏序关系:集合A上的关系、自反、反对称、可传递的定义、次序图、偏序集、全序关系。

4. 有用的结论:

<A;><B;>是,定义A×B上的关系:对任意(a1,b1), (a2,b2) A×B当且仅当a1a2b1b2时,有(a1,b1) (a2,b2)。可以证明:<A×B;>也是一个偏序集。

·强制安全策略

       1.系统中每个主体和每个客体都有安全标记

       客体的安全级表示该客体所包含的信息的敏感程度或机密程度;

       主体的安全级表示该主休被信任的程度或访问信息的能力。

       2.安全标记由两个部分组成(密级,部门集)

       密级一般定义为四个级别:一般(U),秘密(C),机密(S)和绝密(TS)。

       用全序描述:一般≤秘密≤机密≤绝密。

       A={U,C,S,TS},则<A;>是一个偏序集

       设某单位的部门集如下:{科技处,干部处,生产处,情报处}

B={科技处,干部处,生产处,情报处

抱歉!评论已关闭.