信息安全概论(徐茂智)第12讲

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息安全概论
第11讲 2008年x月y日
第5章 访问控制理论
信息系统的保护本质上是通过一系列措施,使得系统满足一些“安全” 条件。访问控制通过使用实体的标识、类别(如所属的实体集合)或能力,从而 确定权限、授予访问权。拒绝实体试图进行的非授权访问。 上世纪70年代起,人们在研究操作系统安全和数据库安全中,提出了访 问控制矩阵模型。把主体对客体的访问用权限矩阵来描述。
访问控制矩阵 客 体 主 体 Alice Bob Email_File {w} {a} Telephone_Number_ Book {r} {w, o, app} Personal_File {r} {a}
Φ
Carol
{a}
{r}
假设密级集合L={绝密,机密,秘密,敏感,普通}。L中的序:绝密>机密>秘密>敏感>普通。
5.2.1模型介绍
f1s
所谓密级是一个有限全序集L。用两个函数
f 和f 表示主体 S和客体O的密级函数。
1o 1c
主体的密级函数为:
f1s : S L sl
客体的密级函数为:
f1o : O L ol
为了使模型能适应主体的安全级变化的需要,还引入了一个主体的当前密级函数:
f1c : S L sl
定义:称安全级
(l , c)控制安全级 (l , c),当且仅当
(l , c) (l , c)
l l且
c c
,记为
特别地,当
(l , c) 控制安全级 (l , c)
, 且二者不相等时,称 (l , c) 大于
(l , c) (l , c)
(l , c) ,记为
5.1访问控制矩阵模型
访问控制模型是用来描述系统保护状态,以及描述安全状态的一种方法。 客体——受保护的实体(如数据、文件等)的集合称为客体(Object)集合,记为O; 主体——发起行为的实体集合(如人、进程等)称为主体(Subject)集合,记为S。 访问权限——如r(只读),w(读写),a(只写),e(执行)、c(控制)等,它们 被称为权限(Right)集合,记为R。 对于一个主体 s S 和一个客体
密级函数表 密级函数 主、客体 Alice Bob Carol Email_File Telephone_Number_ Book Personal_File
fБайду номын сангаасs
绝密 机密 普通
f1o
f1c
敏感 敏感 普通
秘密 普通 绝密
Bell-LaPadula 模型中,对不同的访问要有不同的密级关系。为了防止高密级的 信息流入低密级的主体或客体中,在“读”访问中它要求主体的当前密级不得 低于客体的密级,而在“写”访问中则要求主体的密级不得高于客体的密级。 这样就能保证信息流只能从一个客体流到同等密级或较高密级的客体中。从而 能适应军事指挥的信息机密性需求。 Carol可以从Telephone_Number_Book中读取信息,然后写到Email_File 中。 三个主体中的任何一个都不能读取Email_File中的信息,因为Bob和Carol既不 满足访问控制矩阵的要求又不满足密级的限制,而Alice的当前密级不满足读的 要求(当她以后密级升高后可以)。
Carol仍然可以从Telephone_Number_Book中读取信息,因为Carol的当前安全等 级(普通,{办公室,后勤})等于Telephone_Number_Book的安全等级(普通,{办公 室,后勤}),满足“读低”的要求。 但她不可以写到Email_File中,因为Email_File的安全等级是(秘密,{VPN课题 组})对Carol的最高安全等级(普通,{办公室,后勤})没有控制关系,不满足“写高” 的要求。
不安全的
P
安全的
Q
几个基本概念
用第一章的术语讲: 刻画Q中的状态是安全策略的研究目标; 保证系统处于Q中的状态则是安全机制的研究目标。
。最理想的 情形当然是 R Q,这时保护的力度恰到好处。给定一组安全机制,它对于安全 策略有下列概念:
RP 一组安全机制的作用是限制系统到达保护状态的子集合
Q ——如果 R 安全的 ; RQ 精确的 ——如果 ; 过保护的——如果它是安全的但不是精确的; Q R Q 如果 R 宽松的 —— , .
表示主体的最高安全等级函数 用 用 用
fs fc fo
表示主体的最高安全等级函数 表示主体的当前安全等级函数 表示客体的安全等级函数
( f1s , f 2 s ) ( f1c , f 2c )
( f1o , f 2o )
在例3中,我们进一步假设范畴集合={VPN课题组,办公室,后勤},而相应的 范畴等级函数由下表给出。
Bell-LaPadula模型还使用了范畴的概念。 范畴描述了实体(主体和客体)的一种信息。每一个实体被指定到若干个范畴内,每 一个实体对应到了范畴集合的一个子集,而按照包含关系“ ”,实体的范畴子集
(C , ) 构成了一种偏序关系。我们用
表示范畴集合按照包含关系形成的偏序集。
同实体的密级一样,我们定义主体的最高范畴等级、主体的当前范畴等级和 客体的范畴等级如下。
几个基本概念
1.(系统的)状态——指一组内部存储器或外部存储器的当前值。
2.(系统的)保护状态——状态存储器中用来描述系统的安全保护的子集,称为保护状态。 3. 状态的安全性——假设P是系统的保护状态,Q是P中那些我们认为是安全的状
态。这就是说当保护状态处于Q中时,系统是安全的;而当系统的保护状态处于 P-Q 时,系统是不安全的。访问控制通过刻画Q中的状态,并保证系统处于Q中 的状态而达到安全性的目的。
作业
1. 在BLP模型中,给定密级集合L={绝密,机密,秘密,普通}(密级由高到低 排列),范畴集合C={A,B,C}。试对下列几种情形,确定允许的访问操作。这 里访问属性集合为A={读,写,读写},这里不受自主访问控制(DAC)的限制。 (1)张毅具有安全级(绝密,{A,C}),想访问分类为(机密,{B,C})的文件。 (2)王尔具有安全级(秘密,{C}),想访问分类为(秘密,{B})的文件。 (3)李三具有安全级(机密,{C}),想访问分类为(秘密,{C})的文件。 (4)赵司具有安全级(绝密,{A,C}),想访问分类为(秘密,{A})的文件。 2. 考虑三个用户的计算机系统,这三个用户是张三、李四、王五。张三拥有文 件1,李四和王五都可以读文件1;李四拥有文件2,王五可以对文件2进行读写 操作,但张三只能读文件2;王五拥有文件3,只有他自己可以读写这个文件。 假设文件的拥有者可以执行文件。 (1)建立相应的访问控制矩阵。 (2)王五赋予张三读文件3的权限,张三取消李四读文件1的权限,写出新的 访问控制矩阵。
主体的当前密级是可以变化的,但要求满足和 f1s ( s) f1c ( s),
s S
为了能准确地理解密级的含义,我们用一个例子来说明。 例3. 假设主体的集合是S={Alice, Bob, Carol};客体的集合是O={Email_File, Telephone_Number_Book, Personal_File}。
范畴等级表
范畴等级函数 主、客体 Alice Bob Carol Email_File Telephone_Number_Book Personal_File
f1s
{VPN课题组,办公室} {VPN课题组} {办公室,后勤}
f1o
f1c
{VPN课题组} {VPN课题组} {办公室,后勤}
{VPN课题组} {办公室,后勤} {VPN课题组,办公室}
5.2 Bell-Lapadula模型
Bell-LaPadula 模型(简称BLP模型)是D.Elliott Bell和Leonard J.LaPadula 于1973年创立的一种模拟军事安全策略的计算机操作模型,它是最早、也是最 常用的一种计算机多级安全模型。该模型除了它的实用价值外,其历史重要性在 于它对许多其它访问控制模型和安全技术的形成具有重要影响。 在BLP模型中将主体对客体的访问分为r(只读),w(读写),a(只写), e(执行),以及c(控制)等几种访问模式,其中c(控制)是指该主体用来授 予或撤销另一主体对某一客体的访问权限的能力。BLP模型的安全策略从两个方 面进行描述:自主安全策略(Discretionary Policy)和强制安全策略 (Mandatory Policy)。 自主安全策略与访问矩阵有关。 强制安全策略与(主体和客体的)密级和范畴有关。
这是由一台个人计算机(主机1)和两台服务器(主机2、主机3)组成的一个局域网 。主机1只允许执行ftp客户端,而不安装任何服务器;主机2安装了FTP服务器、NFS服务 器和mail服务器,允许它用ftp、nfs和mail访问主机3;主机3安装了FTP服务器、NFS服务 器和mail服务器,仅允许它用ftp和mail访问主机2。可见该例子描述的系统之间的交互控 制,而不是一台计算机内部的访问控制。
访问控制矩阵又一示例 客 体 主 体 主机1 主机2
Φ
主机1 {own}
主机2 {ftp} {ftp,nfs,mail,own} {ftp,mail}
主机3 {ftp } {ftp,nfs,mail} {ftp,nfs,mail,own}
主机3
Φ
访问控制矩阵的优势与缺陷
访问矩阵模型对访问控制理解,提供了一个很好的框架。 现实中,直接用访问控制矩阵表示保护状态或安全状态是不现实的, 描述状态的转移也是不方便的(上面两个例子向我们展示了静态的 访问控制矩阵的概念。但是在实际系统中经常需要考虑保护状态处 于动态转移的情形。) 就好比用列表法表示一个复杂函数一样笨拙,更严重的 是使用大量数据经常会掩盖其内在的逻辑关系。
访问控制矩阵示例
客 体 主 体 文件1 文件2 进程1
张三
李四 进程1
{w}
{a, e} {r}
{r}
{w, o, app} {r}
{e, r}
{a}
Φ
例2.主体集合S=客体集合O={主机1,主机2,主机3},访问权限集合为R={ftp(通过
文件传输协议FTP访问服务器)、nfs(通过网络文件系统协议NFS访问文件服务器)、 mail(通过简单邮件传输协议SMTP收发电子邮件)、own(增加服务器)}。
o O ,我们用 a[s, o] R 来表示允许s对o实施的所有
访问权限集合。这样我们可以得到以S中元素为行指标,O中元素为列指标,表值 为 a[s, o] 的一个矩阵A,称为访问控制矩阵。这时,系统的安全状态可以用三元组 (S, O, A)来表示。
例1:表5.1是一个主体集合S={张三,李四,进程1},客体集合为O={文件1, 文件2, 进程1}的一个访问控制表(矩阵)。访问权限集合为R={r、a、w、e、 app(添加)、o(拥有)}。本示例中,一个用户对文件的读、写权限,对进程的执行 权限比较容易理解。 李四对进程1的写权限可以定义为,李四给进程1发送数据,实现通信。 同样,张三对进程1的读权限可以定义为,张三接收进程1发来的数据,实现通信。 而进程1对自身没有任何操作权限,但对两个文件则有读权限。值得注意的是随着 系统的不同可能一个相同名字的权限会有不同的含义。如在一些系统中张三对进 程1的读权限有可能会表示拷贝这个进程。
主体的最高范畴等级函数为:
f 2s : S C sc
主体的当前主体的范畴等级函数为:
f 2c : S C sc
客体的范畴等级函数为:
f 2o : O C oc
范畴概念的思想是,仅当主体有访问需要的时候才考虑这种访问,略称为“需要知道 (need to known)”思想。范畴直观上就是对业务的一种划分,以避免那些不需要的访问 的发生。 我们再把实体的密级和范畴等级的笛卡尔积称为实体的安全级,按照下属规则它构成 一个偏序。
相关文档
最新文档