安全数据库访问控制模型

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3 记号和定义
首先给出涉及全文的基本概念的定义 。 定义 1 信息的安全级是信息的安全级别属性 ,表示一个 信息的机密程度 ,用 C表示 。 定义 2 用户的授权代表一个主体具有的在客体上的访问 特权 。它是一个 7 元 组 ( subject, object, p riv, p riv2type, grantor, grant2op t, condition) 。其中 Object表示授权的对象 。对于粒度 小于表的授权可以通过 SQL 语句或者对属性和元组进行编号 然后通过坐标确定授权区域 。 下面以 SQL语句为例 ,通过 select语句定义属性 、元组或元 素级的授权 : 当我们需要对表 3除了 exp loration这个元素以外全部进行 授权 ,那么 object = all2excep t ( select OBJ from A where TC = ′C1′ and ship = ′enterp rise′) 。 定义 3 进入系统的主客体都要被赋予一个标记 ,它是一 个安全级和授权集的二元组 。安全级不能为空 ,授权集可以是 一个或者多个授权 。当标记作用于主体的时候 ,我们称之为主 体的权限标记 ,记为 Plab;当标记作用于客体时 ,我们称之为客
接下来我们逐个给出模型中出现的记号的语义 。和 sandhu 模型 [1 ]中语义相同的部分不再赘述 。
4. 3 模型语义的详细描述
对于所有实例 r (A1, C1, A2, C2, …, An, Cn, TC)和所有元 组 t∈r,数据按如下方式描述 :
(1) A1和 C1 A ) t[A1 ]在关系 r中唯一对应于一个客观存在的事物 。 B ) t[A1, C1 ]表示 C1级的用户对 A1所表示的实体的看法 。C) t[ C1 ] = c1表示这个元组代表的看法由 c1级主体拥有 ,且由 c1 级主体维护 。该元组称为 c1级元组 。
本文主要的贡献包括以下几个方面 : 1) 提出新的数据模型语义 ; 2) 完善了数据借用操作 ; 3) 定义并支持了元素级粒度的授权 。
2 模型概述
现有的数据库系统无法控制合法用户在数据库系统内部的 行为 。解决这个问题我们可以从两个方面考虑 ,一方面 ,提供元 素级的自主访问控制机制 ,避免过渡的授权 。另一方面 ,需要对 进入系统的主客体根据保密程度进行分级处理 。因此 ,我们的 安全数据库访问控制模型逻辑上分内外两层 。外层自主访问控 制主要侧重于对用户所具有的权利的管理 。内层的多层关系则
数据库系统的安全是目前备受关注的问题 。根据国家标准 GB17859和 GA / T389 - 2002要求 ,安全数据库必须具备正式的 安全模型 。Lunt在 seaview模型中首次提出了多层数据库系统 的模型 ,并制定了相关的安全准则 。 sandhu提出的 MLR模型 [1 ] 改进了多层关系模型 ,提出合理的数据模型语义 。但是在键与 实体的关系上仍然存在语义不清的问题 。我们在文中对它进行 了改进 。 Griffiths和 W ade在 1976年提出了自主访问控制的基 本概念 [2 ] ,随后 Elisa. bertino 等对经典模型进行了扩展 。 2005 年 V imercati和 Samarati对以往的工作进行了总结 [3 ] 。
(2) TC t[ TC ] = tc, t[ C1 ] = c1 表示 : A ) t是由 tc级的用户添加 , t 中的所有数据被 tc级用户接受 。反之 ,这条信息不被 tc级用户 接受 。一个用户接受对一个事物的看法 ,那么存在两种情况 ,或 者是对事物有自己的看法 ,或者相信别人对事物的看法 。后者 对应数据借用语义 。B ) t即可以由 tc级主体维护 ,也可由 c1级 主体维护 。 Tc级用户一旦对元组进行了修改 ,那么该元组变为 他自己的元组 。另外 , c1 级用户是这条信息的创建者 ,因此也 可以维护该元组 。C)当 t[ TC ] = t[ C1 ]时 , t是个的基本元组 。 (3) 属性 A i和安全级 Ci(2≤i≤n) t[A i, Ci]有 t[ Ci ] = ci和 t[ TC ] = tc ( ci≤ tc)表示 : A )被 tc 级用户接受的数据 t[A i]为 ci级的用户所拥有 。B )当 t[ Ci] < t [ TC ]时 , t[A i] ≠null是借用的 t′的 t′[A i] ,且有 t′[ A i ] = t[ A i ] ∩t′[ TC ] = t[ Ci]。 t[A i, Ci]当 t’[ A i, Ci ]改变的时候一起改变 。 C)如果 t[A i]是从低级别用户的元组 t′处借来 ,且在地级别用 户的元组上有 t′[ Ci ] < t′[ TC ] ,那么在 t中 , Ci属性标为 t′的 TC,表示这个属性的安全级为 t′的安全级 ,同时也表示该元素的 信息来源是 t′级用户 。
第 24卷第 2期 2007年 2月
计算机应用与软件 Computer App lications and Software
Vol124, No. 2 Feb. 2007
安全数据库访问控制模型
罗 星 汪 卫 施伯乐
(复旦大学计算机与信息技术系 上海 200433)
摘 要 提出了一个安全数据库访问控制模型 ,包括一个多层关系模型和一个用以增强自主访问控制能力的元素级粒度的授权 。 在多层关系模型中 ,通过给出新的数据语义扩展了 sandhu的 MLR模型 ,改进了数据借用操作使之支持了传递借用和多值借用 。另 外 ,对元素级粒度的授权的支持 ,增强了系统对用户权限的管理能力 。 关键词 多层关系 安全数据库 强制访问控制 自主访问控制
4. 2 模型语义
这部分我们只给出语义中对 sandhu模型做了改进的部分 , 其他可参考 sandhu模型 [1 ] 。
(1) 数据库中存储的是实体以及不同用户因为安全级不同 对实体的不同看法 。同一个安全级下 ,用户对一个实体的看法 是确定和唯一的 。
(2) 在数据库中一条元组的键唯一标识一个事物 ,键和元 组的安全级表示共同一个级别下用户接受的对键属性标识的事 物的一种看法 。
4 多层关系模型
4. 1 模型定义
一个多层关系包含以下两个部分 : 定义 5 一个多层关系模式为 R (A1, Clab1, A2, Clab2, …, An, Clabn, TClab) 。其中 , Clab为与之下标对应的属性的安全标 记 , TClab为元组的安全标记属性 。由于在多层关系模型进行 强制访问控制的时候只用到安全级信息 ,不涉及授权 ,因此 ,出 于方便 ,下文中的多层关系模式中 ,只出现安全级 ,记为 R (A1, C1, A2, C2, …, An, Cn, TC) 。 定义 6 一个多层关系实例 : r (A1, C1, A2, C2, …, An, Cn, TC)表示一组互不相同的元组 ,形如 r( a1, c1, a2, c2, …, an, cn. , tc) 。其中 , ci不能为空 , tc≥lub{ ci| 1≤i≤n}。 假设 A1为键属性集 ,可以包含一个或多个属性 。Ci为元 素的安全级 ,一个元素的安全级为 C,我们就称它为 C级的元 素 ,同样 ,一个主体被赋予的安全级为 C,那么我们也称之为 C 级的主体 。 TC为元组级别 。 定义 7 一个多层关系数据库是多层关系的集合 。一个数 据库状态是在同一时刻的所有多层关系实例的集合 。
第一条定义了多层关系描述现实世Hale Waihona Puke Baidu的基本方法 ,即用对 实体的看法取代了 sandhu模型中元组对应实体本身的定义 。 这样就解决了多层关系中实体多实例的语义问题 。
第二条和 sandhu模型相比较不同点在于 ,修改的语义下键 相同的元组表示同一个实体 ,键相同安全级不同表示对同一个 事物的不同看法 。这样的修改 ,解决了 sandhu模型中的一个语 义上的问题 ,即键的安全级逻辑上不是键 ,但键相同而键的安全 级不同 ,却表示两个不同的实体 ,它事实上起到了键的作用 。
收稿日期 : 2005 - 11 - 04。罗星 ,硕士 ,主研领域 :安全数据库 ,数据 仓库 。
66
计算机应用与软件
2007年
体的安全标记 ,记为 Clab。 定义 4 系统内的主体定义为通过认证进入系统 ,并且具
有权限标记的用户 。客体则是带有安全标记的数据 。根据安全 数据库系统的要求 ,进入系统的任何用户和数据都必须被标记 , 然后才能成为系统认可的主体和客体 。
Abstract In this paper, we p roposed a formal security database system access model including a multilevel relation model and a element2 level authorization. W e extended sandhuπs MLR model by giving a new exp lanation of how the database rep resents the real world. Under new semantic model, the data2borrow operation was strengthened. Further more, w ith the support of element2level authorization, user p rivilege man2 agement of database system could be more reasonable.
Keywords M ultilevel relation Security database M andatory access D iscretionary access
1 引 言
侧重对系统内部的数据进行管理 ,控制信息对于用户的可见性 。 任何一次用户对数据的访问都同时受两种访问控制的约束 。
FO RM AL SECUR ITY DATABASE SY STEM ACCESS MOD EL
Luo Xing W ang W ei Shi Bole
(D epa rtm ent of Com pu ter and Inform a tion Technology, Fudan U niversity, S hanghai 200433, Ch ina)
4. 4 完整性约束
约束 1 实体完整性规则 ( E I) 键属性不能为空 ,且有相同的安全标记 ;非键属性的安全级 不低于键属性 ; TClab属性不能为空 。 约束 2 多实体完整性规则 ( P I) 关系 R 中的元组 r满足多实体完整性约束 ,当且仅当对任 意的 1≤i≤n: A ) A1, TC唯一决定 C1;并且 B ) A1, C1唯一确定 A i, Ci。 其中 A说明在每个访问级下只相信来源于一种信息源的 对 A1所表示的事物的描述 。B 则保证一个信息来源下不能有 两个不一致的表述 。A和 B共同表示一个级别的用户只接受一 个实体的一种看法 。 约束 3 数据借用准则 (DB I) 借用整条元组的信息称为元组借用 。只对某个属性的值借 用 ,称为元素级借用 ; 1) 元组级借用准则 ( TDB I) 一个多层关系 R的一个实例 r满足元组级 DB I当且仅当所 有的 t∈r和 2≤i≤n,如果有 t[ C1 ] < t[ TC ] ,那么存在 t′∈ r满 足 t′[A1 ] = t[A1 ] ∩t′[A i, Ci] = t[A i, Ci] ∩t′[ TC ] = t[ C1 ]。 元组级的借用表示高级别用户对于这个实体没有自己的看 法 ,完全依赖于下级的汇报 。元组借用以后 ,高级别用户在表中 添加的元组以被借用信息的 TC为 C1,表示信息来源 。 我们的元组借用准则支持了传递借用操作 。举例说明如 表 1。
相关文档
最新文档