基于Logic SQL的B1级安全数据库的设计与实现

  • 格式:pdf
  • 大小:240.72 KB
  • 文档页数:5

第24卷第3期 2006年9月 贵 州 科 学 

GUIZH0U SCIENCE Vo1.24.No.3 Sep.2006 

基于Logic SQL的B1级安全数据库的 

设计与实现 

马新强 ,王保华 ,李丹宁 ,章 衡 ,李 丹 

(1.贵州大学信息工程学院,贵州 贵阳550003;2.贵州科学院,贵州 贵阳550001) 

摘要基于对B1级安全数据库的研究与分析,介绍了2个数据库安全模型:Bel1.La Padula模型、基于角色的 访问控制模型(RBAC);结合LOgicSQL数据库的研究,设计了其B1级安全模型。主要从LOgicSQL的用户身份 认证、自主访问控制、基于角色的访问控制、强制访问控制、安全标签和审计等几个方面进行了讨论。 关键词LOgicSQL;BLP;基于角色的访问控制;自主访问控制;强制访问控制;LOgicSQL标签 中图分类号TP11 文献标识码A 文章编号1003-6563(2006)03-0052—05 

THE RESEARCH AND DESIGN OF B1 SECURE DATABASE 

BASED ON LOGIC SQL 

MA Xin.qiang ,WANG Bao—hua ,LI Dan—ning ,ZHANG tteng (1.School of Information Engineering,Guizhou University,Guiyang,Guizhou 550003;2.Guizhou Academy of Sci- ences,Guiyang,Guizhou 550001) 

ABSTRACT Based on researching and analyzing of B 1 Secure Database,this paper introduced Bell-La Padula and Role-Based Access Control of database security mode1.The paper designed B1 security model for Logic SQL database. We discussed some aspects of Logic SQL security model,including User Identifier,Discretionary Access Control,Role- Based Access Control,Mandatory Access Control,Logic SQL Label,and Audit. KEYWORDS Logic SQL;BLP;RBAC;DAC;MAC;Logic SQL Label 

1 引言 

随着计算机和网络技术的发展和日益普及,计 

算机信息的安全就日益成为系统成败的关键要素。 

而数据库作为信息的载体,它在信息技术中占据着 

越来越重要的作用,其安全同样占据着越来越重要 

的作用。它的安全自然就成了信息安全研究领域一 个非常重要的方面。因此国产数据库与操作系统一 样是国家信息基础设施的重要组成部分,是国家信 

息安全的核心基础之一,是国民经济信息化的关键 

技术,也是信息产业的重要支柱之一。如何保证和 

加强数据库系统的安全性和保密性是目前迫切需要 解决的紧迫课题,其对于国家信息安全、国民经济信 

息化以及软件产业发展的重要性已经被广泛接受。 

在中国市场上,国外数据库产品的最高安全等级为 

c2级,更高级别的数据库产品是限制对我国出El 的;要使用B1以上级别的安全数据库只有在基于 

收稿日期:2006—01—18 基金项目:贵州省优秀科技教育人才省长专项基金项目,黔省专合字(2005)88号。 作者简介:马新强(1979一),男,在读硕士研究生。研究方向:数据库安全与人工智能。李丹宁(1961一),男,贵州科学院副院长,副研究员 硕士生导师。研究方向:数字地球。

 维普资讯 http://www.cqvip.com 3期 马新强,等:基于Logic SQL的Bl级安全数据库的设计与实现 53 

拥有全部源代码和自主知识产权的数据库管理系统 

基础上进行开发。Logic SQL 数据库正式在此基 

础上而开发的国产数据库。 

本文首先介绍了数据库常用的安全策略模型: 

Bell—La Padula模型 】、基于角色的访问控制模型 

(RBAC) 等;然后从Bl级别安全数据库的角度分 

析和研究了Logic SQL的安全模型及安全机制。本 

文主要从Logic SQL的自主访问控制DAC (Dis— 

cretionary Access Contro1)、强制访问控制MAC(Man— 

datory Access Contro1)、安全标签(Logic SQL Labe1) 和审计(Audit)等几个方面进行了讨论。 

2 B1级别安全数据库常用模型 

2.1 Bell-La Padula模型 BLP模型是1976年由Bell和La Padula提出的 

强制存取控制模型 ],它定义了系统中用户与对象 

的之间的关系。把系统中的对象称为客体(0b— 

ject),用户称为主体(Subject),BLP模型中的所有 

主体和客体都有一个标签,用A(O),A(s)分别表示 客体和主体的标签,标签包含两个元素;密级c 

(classification)和类别集合G(set of categories)组 

成。因此也可用一个二元组(C,G)来表示,其中密 

级c是可以比较大小的序列,而类别集合G则是一 

个位的集合;这些集合可以是包含关系,也可以是不 

包含关系。这样标签之间的关系就有两种:支配关 

系和不可比关系。一个级别A。(C。,G )支配另一个 

级别A:(C:,G:)当且仅当C。≥C:并且G G:,记为 

A。≥A:。如果两个级别不存在支配关系,则他们不 

可比。 

BLP关于读写关系控制的规则如下: 

简单安全特性:主体s能够读客体O必须满足 

A( )≥A(。); 星( )特性:主体s能够写客体。必须满足 A( )≤A(。)。 简单安全特性保证主体对客体的“不能上读”, 

而星( )特性保证主体对客体的“不可下写”。这 

两个特性控制信息只能在同级之间或从低级向高级 

流动(既下读,上写)。 

2.2基于角色的访问控制模型(RBAC) 

基于角色的访问控制模型 (Role—Based Ac— 

cess Control,RBAC)的概念早在20世纪70年代由 

美国Geotge Mason大学的Ravi Sandu教授提出,但 

在相当长的一段时间内没有得到人们的关注。进入 

90年代,由于安全需求的发展,RBAC又引起了人 

们极大的关注。RBAC中涉及的基本元素包括用户 

(User)、角色(Role)、访问权(Permission)和会话 

(Sessions)。RBAC与传统访问控制的差别在于在 

用户和访问许可权之间引入了角色这一层。角色是 

一组用户和一组操作权限的集合,角色中所属的用 

户可以有权执行这些操作权限。用户与角色间是多 

对多的关系,角色与访问许可权之间也是多对多关 

系。当用户登录到RBAC系统时会得到一个会话, 

这个会话可能激活的角色是该用户全部角色的一个 

子集。角色可以根据实际的工作需要生成或取消, 

而且用户也可以根据自己的需要动态激活自己拥有 

的角色,这样避免了用户无意中危害系统安全,而且 

容易实施最小特权原则 J。由于数据库应用层的 

角色的逻辑意义更为明显和直接,因此RBAC非常 

适用于数据库应用层的安全模型。如图l:RBAC的 

核心模型。 

RBAC的优点主要在以下几个方面: 

2.2.1角色控制相对独立,根据配置可使某些角色 

接近DAC,某些角色接近MAC。因此RBAC既可以 

构造出DAC系统,也可以构造出MAC系统,还可以 

构造出同时具备DAC和MAC的系统。 

2.2.2 RBAC是一种策略无关的访问控制技术,它 

不局限于特定的安全策略,几乎可以描述任何的安 

图1 RBAC的核心模型 Fig.1 Core model of

 RBAC 维普资讯 http://www.cqvip.com 54 贵州科学 24卷 

全策略,甚至DAC和MAC也可以用RBAC来描述。 

2.2.3 RBAC具有自管理的能力。利用RBAC思 

想产生出的ARBAC(Administrative RBAC)模型能 

够很好地实现对RBAC的管理。 

3 Logic SQL安全型数据库的研究与设计 

对于大型通用数据库系统Logic SQL是有加拿 

大阿尔伯达大学计算机系终身教授袁立言博士研制 的,并在上海成立实方软件公司【4 进一步开发,其 

B1及以上级别的安全有贵州科学院进行开发研制。 

由于其创新的核心技术——f0硼ula lock和逻辑并 

发控制,使得按照国际公认的测试标准(TPC.C 

benchmark tests)测试指标(在中小型服务器上)达 

到或超过美国的主流产品。正如2002年l1月,科 

技部863数据库重大专项总体专家组评语所说: 

“这是近几年内中国能与美国主流数据库产品抗衡 

的唯一希望”。Logic SQL的安全模型正是基于上述 

的Bel1.La Padula模型和角色的访问控制模型 (RBAC)等而设计的。Logic SQL的B1级别安全具 

体设计如下:包括用户安全策略、自主访问控制 

DAC(Discretionary Access Contro1)、强制访问控制 

MAC(Mandatory Aee6ss Contro1)、安全标签(Logic 

SQL Labe1)和审计(Audit)。 

3.1用户安全策略 

数据库用户是连接数据库、存取数据库对象 

(表和记录等)的通道。通过对数据库用户账户的 

管理达到实现数据库系统的安全目的 。Logic 

SQL数据库提供两种认证机制:数据库认证和操作 

系统认证。若采用数据库认证方式,则每个数据库 

用户都必须有唯一的数据库用户名和密码,在连接 

数据库时输入。每个SQL.session都有一个SQL— 

session用户认证,这个用户人证是参考当前的活动 

用户和会话用户;它也能被SELECT CURRENT—US— 

ER FR0M INF0RMAT10N—SCHEMA.dual所查询。 若才用操作系统认证,则不需要数据库拥护名和密 

码,只需将操作系统中该用户的用户名传给数据库 

服务器,数据库服务器在连接完成之前判断次用户 

是否被授权访问数据库。 

3.2自主访问控制机制(DAC) 

自主访问控制DAC (Discretionary Access 

Contro1)就是根据用户持有的特权限制其对数据库 客体的访问,用来need.to.know访问控制。在Logic 

SQL数据库中的客体指:数据库、表、视图、触发器、 

存储过程、函数、包、索引等数据库中的对象。有两 

种类型的特权:系统特权和客体特权。系统特权指 

允许执行数据库内的特定操作;Logic SQL数据库中 

的系统特权命令有:CREATE USER、DROP USER、 

ALTER USER、SET SESSION USER、GRANT PRIVI. 

LEGE、REVOKE PRIVILEGE等。客体特权指在一