1
计算机系统安全
第八章
访问控制
2
一、访问控制的概念
第八章 访问控制
访问控制 Access Control
限制已授权的用户、程序、进程或计算机网
络中其他系统访问本系统资源的过程。口令
认证不能取代访问控制 。
访问控制机制
在信息系统中,为检测和防止未授权访问,
以及为使授权访问正确进行所设计的硬件或
软件功能、操作规程、管理规程和它们的各
种组合。
3
第八章 访问控制
访问控制:主体对客体的访问受到控制,是
一种加强授权的方法。
授权:资源所有者对他人使用资源的许可。
资源:信息、处理、通信、物理资源四种。
访问一种资源就是从这个资源中获得信息、
修改资源或利用它完成某种功能。
客体(目标 ):
可供 访问的各种软硬件资源 。
权威机构:目标的拥有者或控制者。
4
第八章 访问控制
主体( subject),访问的发起者
发起者是试图访问某个目标的用户或者是用
户行为的代理。必须控制它对客体的访问。
主体通常为进程,程序或用户。
敏感标签 sensitivity label
表示客体安全级别并描述客体数据敏感性的
一组信息,TCSEC中把敏感标记作为强制访
问控制决策的依据。
根据控制范围划分:网内控制、网间控制。
5
阻止非授权用户访问目标的方法:
1)访问请求过滤器:
当一个发起者试图访问一个目标时,审查其
是否获准以请求的方式访问目标;
2)分离
防止非授权用户有机会去访问敏感的目标。
这两种方法涉及:
访问控制机制和访问控制策略。
6
? 访问控制策略
系统中存取文件或访问信息的一整套严密安全
的规则。通过不同方式建立,OS固有的,管
理员或用户制定的。
? 访问控制机构
对访问控制策略抽象模型的许可状态转换为系
统的物理形态,并对访问和授权进行监测。
是具体实施访问策略的所有功能的集合,这
些功能可通过系统的软硬件实现。
7
二、访问控制策略
任何访问控制策略最终可被模型化为访问矩阵形式。
每一行:用户
每一列:目标
矩阵元素:相应的用户对目标的访问许可。
?? ±ê X ?? ±ê Y ?? ±ê Z
ó? ?§ A ?á ?¢ DT ?? ?¢ 1ü àí ?á ?¢ DT ?? ?¢ 1ü àí
ó? ?§ B ?á ?¢ DT ?? ?¢ 1ü àí
ó? ?§ C1 ?á ?á ?¢ DT ??
ó? ?§ C2 ?á ?á ?¢ DT ??
8
访问控制策略可分为:
? 自主式策略(基于身份的策略)
? 基于个人的策略
隐含的缺省策略 禁止 /开放
最小特权原则:最大限度地控制用户为完成授权任
务所需要的许可集。
? 基于组的策略
多个用户被组织在一起并赋予一个共同的标识符。
更容易、更有效。
? 强制式策略(基于规则的策略)
多用于机密、军事部门
9
多级策略
目标按敏感性划分为不同密级:绝密 top secret,秘密
secret,机密 confidential,限制 restricted,无密级
unclassified。
每个用户有一个允许安全级( clearance)。 Bell和
LaPadula 安全模型定义了用户和目标在形式上的安
全级别关系。
只读访问规则:用户只能读不高于其安全级别的数据。
只写访问规则:
为防止泄密,Bell LaPadula 模型, 上写,
完整性:防止删改数据、木马 Biba 模型, 下写,
10
第八章 访问控制
访问控制的种类
1,入网访问控制
控制哪些用户能登录到服务器并获取网络资源,
控制用户入网时间, 在哪台工作站入网 。
用户的入网访问控制可分为三个步骤:用户名
的识别与验证, 用户口令的识别与验证, 用户
帐号的缺省限制检查 。
缺省限制检查 。 如网络应能控制用户登录入网
的站点, 限制用户入网的时间, 限制用户入网
的工作站数量 。
11
第八章 访问控制
2,网络的权限控制
用户和用户组被赋予一定的权限 。 网络控制
用户和用户组可以访问哪些目录, 子目录,
文件和其他资源 。 可以指定用户对这些文件,
目录, 设备能够执行哪些操作 。
受托者指派和继承权限屏蔽 ( IRM) 可作为
其两种实现方式 。 受托者指派控制用户和用
户组如何使用网络服务器的目录, 文件和设
备 。 继承权限屏蔽相当于一个过滤器, 可以
限制子目录从父目录那里继承哪些权限 。
12
第八章 访问控制
3,目录级安全控制
网络应允许控制用户对目录, 文件, 设备的
访问 。 用户在目录一级指定的权限对所有文
件和子目录有效, 用户还可进一步指定对目
录下的子目录和文件的权限 。 对目录和文件
的访问权限一般有八种:系统管理员权限
( Supervisor), 读权限 ( Read), 写权限
( Write), 创建权限 ( Create), 删除权限
( Erase), 修改权限 ( Modify), 文件查找
权限 ( File Scan), 存取控制权限 ( Access
Control) 。
13
第八章 访问控制
4,属性安全控制
当用文件, 目录和网络设备时, 网络系统管
理员应给文件, 目录等指定访问属性 。 属性
安全控制可以将给定的属性与网络服务器的
文件, 目录和网络设备联系起来 。 属性安全
在权限安全的基础上提供更进一步的安全性 。
网络上的资源都应预先标出一组安全属性 。
用户对网络资源的访问权限对应一张访问控
制表, 用以表明用户对网络资源的访问能力 。
属性设置可以覆盖已经指定的任何受托者指
派和有效权限 。
14
第八章 访问控制
5,网络服务器安全控制
网络允许在服务器控制台上执行一系列操作 。
用户使用控制台可以装载和卸载模块, 可以
安装和删除软件等操作 。 网络服务器的安全
控制包括可以设置口令锁定服务器控制台,
以防止非法用户修改, 删除重要信息或破坏
数据;可以设定服务器登录时间限制, 非法
访问者检测和关闭的时间间隔 。
15
第八章 访问控制
6,网络监测和锁定控制
网络管理员应对网络实施监控, 服务器应记
录用户对网络资源的访问, 对非法的网络访
问, 服务器应以图形或文字或声音等形式报
警, 以引起网络管理员的注意 。 如果不法之
徒试图进入网络, 网络服务器应会自动记录
企图尝试进入网络的次数, 如果非法访问的
次数达到设定数值, 那么该帐户将被自动锁
定 。
16
第八章 访问控制
7,网络端口和节点的安全控制
网络中服务器的端口往往使用自动回呼设备,
静默调制解调器加以保护, 并以加密的形式
来识别节点的身份 。 自动回呼设备用于防止
假冒合法用户, 静默调制解调器用以防范黑
客的自动拨号程序对计算机进行攻击 。 网络
还常对服务器端和用户端采取控制, 用户必
须携带证实身份的验证器 ( 如智能卡, 磁卡,
安全密码发生器 ) 。 在对用户的身份进行验
证之后, 才允许用户进入用户端 。 然后, 用
户端和服务器端再进行相互验证 。
17
第八章 访问控制
8,防火墙控制
防火墙是近期发展起来的一种保护计算机网
络安全的技术性措施, 它是一个用以阻止网
络中的黑客访问某个机构网络的屏障, 也可
称之为控制进 /出两个方向通信的门槛 。 在网
络边界上通过建立起来的相应网络通信监控
系统来隔离内部和外部网络, 以阻档外部网
络的侵入 。
18
三、自主访问控制( DAC)
第八章 访问控制
80年代美国国防部制订了可信计算机系统评
估准则( TCSEC),我国也于 1999年颁布了计
算机信息系统安全保护等级划分准则这一国
家标准,准则要达到的一个主要目标就是,阻
止非授权用户对敏感信息的访问。访问控制
在准则中被分为两类:自主访问控制 (DAC)
和强制访问控制 (MAC)。
自主访问控制,Discretionary Access
Control
强制访问控制,Mandatory Access Control
19
第八章 访问控制
自主访问:有访问许可的主体能够向其他主体转让
访问权。
访问控制表( ACL) 是 DAC中通常采用一种的安全机
制。 ACL是带有访问权限的矩阵,这些访问权是授予
主体访问某一客体的。安全管理员通过维护 ACL控制
用户访问企业数据。对每一个受保护的资源,ACL对
应一个个人用户列表或由个人用户构成的组列表,
表中规定了相应的访问模式。
DAC的主要特征体现在主体可以自主地把自己所拥有
客体的访问权限授予其它主体或者从其它主体收回
所授予的权限,访问通常基于访问控制表( ACL)。
访问控制的粒度是单个用户。
20
第八章 访问控制
ACL 访问控制表
ACL是存在于计算机中的一张表,用户对特定系统对象例如文
件目录或单个文件的存取权限。每个对象拥有一个在访问控
制表中定义的安全属性。这张表对于每个系统用户有拥有一
个访问权限。最一般的访问权限包括读文件(包括所有目录
中的文件),写一个或多个文件和执行一个文件(如果它是
一个可执行文件或者是程序的时候)。
访 \对象
访 域 \
文件 1 文件 2 文件 3 文件 4 文件 5 文件 6 打印机 1 绘图仪 2
D1 R R,W
D2 R R,W,E R,W W
D3 R,W,E W W
21
第八章 访问控制
DAC的缺点是信息在移动过程中其访问权限关
系会被改变。如用户 A可将其对目标 O的访问
权限传递给用户 B,从而使不具备对 O访问权限
的 B可访问 O。
当用户数量多、管理数据量大时,由于访问
控制的粒度是单个用户,ACL会很庞大。当组
织内的人员发生能变化(升迁、换岗、招聘、
离职)、工作职能发生变化(新增业务)时,
ACL的修改变得异常困难。采用 ACL机制管理
授权处于一个较低级的层次,管理复杂、代
价高以至易于出错。
22
第八章 访问控制
?基于行的自主访问控制是在每个主体上都附加
一个该主体可访问的客体的明细表 。
权限字 ( 能力 ),主体对客体具有特定的不可伪造的
标志 。 为防止权限字的不断扩散, 可在传递权限字副
本时移去其中的转移权限 。
?基于列的访问控制是指按客体附加一份可访问
它的主体的明细表 。
?保护位方式,UNIX采用;只有客体拥有者能改变客
体保护位 ( root除外 ) 。 一个用户在某个时刻只能属于
一个活动的用户组 。
?存取控制表 ( ACL)
23
第八章 访问控制
自主访问控制的访问许可
a)等级型:
将对客体存取控制表的修改能力划分成等级,
控制关系构成一个树型结构 。 系统管理员的
等级为等级树的根, 根一级具有修改所有客
体存取控制表的能力, 并且具有向任意一个
主体分配这种修改权的能力 。 在树中的最低
级的主体不再具有访问许可, 也就是说他们
对相应的客体的存取控制表不再具有修改权 。
有访问许可的主体 ( 即有能力修改客体的存
取控制表 ), 可以对自己授与任何访问模式
的访问权 。
24
第八章 访问控制
自主访问控制的访问许可
b)拥有型:
另一种控制方式是对每个客体设立一个拥有者
( 通常是该客体的生成者 ) 。 只有拥有者才是
对客体有修改权的唯一主体 。 拥有者对其拥有
的客体具有全部控制权 。 但是, 拥有者无权将
其对客体的控制权分配给其它主体 。 因此, 客
体拥有者在任何时候都可以改变其所属客体的
存取控制表, 并可以对其它主体授予或者撤消
其对客体的任何一种访问模式 。
25
第八章 访问控制
自主访问控制的访问许可
c)自由型:
自由型方案的特点是:一个客体的生成者可以
对任何一个主体分配对它拥有的客体的访问控
制权, 即对客体的存取控制表有修改权, 并且
还可使其对它主体也具有分配这种权力的能力 。
在这种系统中, 不存在, 拥有者, 概念 。
26
第八章 访问控制
在实现自主访问控制的各种各样系统中, 访
问模式的应用是很广泛的 。
文件 。 对文件设置的访问模式有以下几种:
读拷贝 (read-copy)
写删除 ( write-delete)
执行 ( execute)
Null( 无效 ) 这种模式表示, 主体对客体不具
有任何访问权 。 在存取控制表中用这种模式
可以排斥某个特定的主体 。
27
四、强制访问控制( MAC)
第八章 访问控制
系统对所有主体及其所控制的客体(例如:进程、
文件、段、设备)实施强制访问控制。为这些主
体及客体指定敏感标记,这些标记是等级分类和
非等级类别的组合,它们是实施强制访问控制的
依据。系统根据主体和客体的敏感标记来决定访
问模式。如:绝密级,秘密级,机密级,无密级。
MAC通过梯度安全标签实现单向信息流通模式。
特点:强制性;限制性。
上读;下读;上写;下写
强制方法:限制修改 ACL; 过程控制;限制共享。
28
五、基于角色访问控制( RBAC)
兼有基于身份和基于规则的策略特征。可看作
基于组的策略的变形,一个角色对应一个组。
例:银行业务系统中 用户多种角色
优点:
对于非专业的管理人员,容易制定安全策略;
容易被映射到一个访问矩阵或基于组的策略。
29
第八章 访问控制
角色, 许可, 用户, 会话, 活跃角色
许可是允许对一个或多个客体执行操作 。 角色是
许可的集合 。 RBAC的基本思想是:授权给用户的
访问权限,通常由用户在一个组织中担当的角色
来确定 。 ACL直接将主体和目标相联系, 而 RBAC
在中间加入了角色, 通过角色沟通主体与目标 。
分层的优点是当主体发生变化时, 只需修改主体
与角色之间的关联而不必修改角色与客体的关联 。
角色:用户的集合与许可的集合 。
30
第八章 访问控制
RBAC中许可被授权给角色, 角色被授权给用户, 用
户不直接与许可关联 。 RBAC对访问权限的授权由管
理员统一管理, 而且授权规定是强加给用户的, 这
是一种非自主型集中式访问控制方式 。
用户是一个静态的概念, 会话则是一个动态的概念 。
一次会话是用户的一个活跃进程, 它代表用户与系
统交互 。 用户与会话是一对多关系, 一个用户可同
时打开多个会话 。 一个会话构成一个用户到多个角
色的映射, 即会话激活了用户授权角色集的某个子
集, 这个子集称为活跃角色集 。 活跃角色集决定了
本次会话的许可集 。
31
第八章 访问控制
1,RBAC能够描述复杂的安全策略
通过角色定义, 分配和设置适应安全策略
系统管理员定义系统中的各种角色, 每种角色
可以完成一定的职能, 不同的用户根据其职能和责
任被赋予相应的角色, 一旦某个用户成为某角色的
成员, 则此用户可以完成该角色所具有的职能 。 根
据组织的安全策略特定的岗位定义为特定的角色,
特定的角色授权给特定的用户 。 例如可以定义某些
角色接近 DAC,某些角色接近 MAC。 系统管理员也可
以根据需要设置角色的可用性以适应某一阶段企业
的安全策略, 例如设置所有角色在所有时间内可用,
特定角色在特定时间内可用, 用户授权角色的子集
在特定时间内可用 。
32
五、基于角色访问控制( RBAC)
第八章 访问控制
通过角色分层映射组织结构
组织结构中通常存在一种上, 下级关系,
上一级拥有下一级的全部权限, 为此, RBAC
引入了角色分层的概念 。 角色分层把角色组
织起来, 能够很自然地反映组织内部人员之
间的职权, 责任关系 。 层次之间存在高对低
的继承关系, 即父角色可以继承子角色的许
可 。
33
五、基于角色访问控制( RBAC)
第八章 访问控制
34
五、基于角色访问控制( RBAC)
第八章 访问控制
35
角色的继承关系
36
第八章 访问控制
容易实现最小特权 ( least privilege) 原则
最小特权原则在保持完整性方面起着重要
的作用 。 最小特权原则是指用户所拥有的权力
不能超过他执行工作时所需的权限 。 这一原则
的应用可限制事故, 错误, 未授权使用带来的
损害 。 使用 RBAC能够容易地实现最小特权原则 。
在 RBAC中, 系统管理员可以根据组织内的规章
制度, 职员的分工等设计拥有不同权限的角色,
只有角色需要执行的操作才授权给角色 。 当一
个主体要访问某资源时,如果该操作不在主体当
前活跃角色的授权操作之内, 该访问将被拒绝 。
37
第八章 访问控制
满足职责分离 (separation of duties)原则
这是保障安全的一个基本原则, 是指有
些许可不能同时被同一用户获得, 以避免安
全上的漏洞 。 例如收款员, 出纳员, 审计员
应由不同的用户担任 。 在 RBAC中, 职责分离
可以有静态和动态两种实现方式 。 静态职责
分离只有当一个角色与用户所属的其他角色
彼此不互斥时,这个角色才能授权给该用户 。
动态职责分离只有当一个角色与一主体的任
何一个当前活跃角色都不互斥时该角色才能
成为该主体的另一个活跃角色 。 角色的职责
分离也称为角色互斥, 是角色限制的一种 。
38
第八章 访问控制
岗位上的用户数通过角色基数约束
企业中有一些角色只能由一定人数的用
户占用, 在创建新的角色时, 通过指定角色
的基数来限定该角色可以拥有的最大授权用
户数 。 如总经理角色只能由一位用户担任 。
RBAC数据库设计
维护 RBAC数据库是系统管理员的基本职责,
这里分析 RBAC数据库的基本表和相关操作 。
RBAC数据库包括静态数据和动态数据 。
39
第八章 访问控制
静态数据
用户表包括用户标识, 姓名, 登录密码 。 它是系
统中的个体用户集, 随用户的添加与删除动态变化 。
角色表包括角色标识, 角色名称, 角色基数, 角
色可用标识 。 角色表是系统角色集, 由系统管理员定
义角色 。
受控对象表包括对象标识, 对象名称 。 受控对象表是
客体集, 系统中所有受控对象的集合 。
操作算子表包括操作标识, 操作算子名称 。 系统中所
有受控对象的操作算子构成操作算子表 。
许可表包括许可标识, 许可名称, 受控对象, 操作标
识 。 许可表给出了受控对象与操作算子的对应关系 。
40
第八章 访问控制
角色 /许可授权表包括角色标识, 许可标识 。 系统管理
员为角色分配或取消许可, 管理角色 /许可授权表 。
用户 /角色分配表包括用户标识, 角色标识 。 系统管理
员为用户分配或取消角色, 管理用户 /角色分配表 。
用户 /角色授权表包括用户标识, 角色标识, 可用性 。
角色 r授权给一个用户 u,要么是角色 r分配给用户 u,
要么是角色 r通过一个分配给用户 u的角色继承而来 。
用户 /角色授权表记录了用户通过用户 /角色分配表以
及角色继承而取得的所有角色 。 可用性为真时, 用户
才真正可以使用该角色赋予的许可 。
41
第八章 访问控制
角色层次表包括上一级角色标识, 下一级角色
标识 。 上一级角色包含下一级角色的许可 。
静态互斥角色表包括角色标识 1,角色标识 2。
系统管理员为用户添加角色时参考 。
动态互斥角色表包括角色标识 1,角色标识 2。
在用户创建会话选择活跃角色集时参考 。
动态数据
会话表包括会话标识, 用户标识 。
会话的活跃角色表包括会话标识, 角色标识 。
42
第八章 访问控制
RBAC系统结构
RBAC系统结构由 RBAC数据库, 身份认证模
块, 系统管理模块, 会话管理模块组成 。
身份认证模块通过用户标识, 用户口令确认
用户身份 。 此模块仅使用 RBAC数据库的 USERS
表 。
RBAC数据库与各模块的对应关系见图
43
五、基于角色访问控制( RBAC)
第八章 访问控制
USERS ROLES
OBJECTSOPERATIONS
PERMISSIONS
角色 /许可分配
用户 /角色分配
会话管理模块
定义角色关系
系统管理模块
图 1 RBAC数据库与各模块的对应关系图
会话
44
第八章 访问控制
系统管理模块主要完成用户增减 ( 使用
USERS表 ), 角色增减 ( 使用 ROLES表 ),
用户 /角色的分配 ( 使用 USERS表, ROLES
表, 用户 /角色分配表, 用户 /角色授权表 ),
角色 / 许可的分配 ( 使用 ROLES 表,
PERMISSIONS表, 角色 /许可授权表 ), 定
义角色间的关系 ( 使用 ROLES表, 角色层次
表, 静态互斥角色表, 动态互斥角色表 ),
其中每个操作都带有参数, 每个操作都有一
定的前提条件, 操作使 RBAC数据库发生动
态变化 。 系统管理员使用该模块初始化
RBAC数据库并维护 RBAC数据库 。
45
第八章 访问控制
系统管理员的操作包括添加, 删除用户, 添
加, 删除角色, 设置角色可用性, 为角色增
加许可, 取消角色的某个许可, 为用户分配
或取消某个角色, 设置用户授权角色的可用
性, 添加或取消角色继承关系, 添加或删除
一个静态角色互斥关系, 添加或删除一个动
态角色互斥关系, 设置角色基数 。
会话管理模块结合 RBAC数据库管理会话 。
包括会话的创建与取消以及对活跃角色的管
理 。 此模块使用 USERS表, ROLES表, 动
态互斥角色表, 会话表和活跃角色表 。
46
第八章 访问控制
RBAC系统的运行步骤
用户登录时向身份认证模块发送用户标识, 用户
口令, 确证用户身份;
会话管理模块从 RBAC数据库检索该用户的授权角
色集并送回用户;
用户从中选择本次会话的活跃角色集, 在此过程
中会话管理模块维持动态角色互斥;
会话创建成功, 本次会话的授权许可体现在菜单
与按扭上, 如不可用显示为灰色;
在会话过程中, 系统管理员若要更改角色或许可,
可在此会话结束后进行或终止此会话立即进行 。
47
六、访问控制的其它考虑
? 附加的控制
? 依赖于值的控制:临界数据的敏感性
? 多用户控制:需要多个个体、角色的同意
? 基于上下文控制:时间、用户位置、通信路径
? 目标的粒度
策略与粒度大小密切相关。
? 策略的交互作用
多种策略作用于一个目标时,需要策略协调规
则。
规定策略优先关系,解决策略冲突。
48
? 穿越互操作区域的策略映射
安全区域边界的翻译、映射,不同区域安全策略不同
? 访问控制转发
如果 B是不可信的,或者 B受到攻击,则 C将受到威胁。
通信访问控制与路由控制
a)连接访问控制:
b)网络数据访问控制:
路由控制:确保数据通过安全的子网、连接。在网
络层,使用 a或 b方式;在 E-mail这样的存储转发系
统中,路由控制可出现在应用层。
发起者 A 系统 B 目标 C
49
? 访问控制信息的产生、分发和存储
访问控制机制的有效性依赖于访问控制决策的准确性
和可信度。所以访问控制策略只能由适当的授权者
独自产生和修改。对访问控制列表的修改由控制许
可来完成,控制许可在逻辑上要与目标访问许可有
明显的区别。
为满足完整性和数据起源认证需要,访问控制信息通
常以访问控制证书的形式传递,例:当用户首次登
录时,将获得特权属性证书 (PAC)。
? 访问控制许可的撤消
当某个安全区域去掉一个用户、目标,或改变其安全
属性,或怀疑敏感信息受到威胁时
50
七、访问控制类产品
? SunScreen
? WeBST安全平台
? HP Praesidium 授权服务器
? NetKey 网络安全认证系统
? Cisco NetRanger