(计算机应用技术专业论文)sql语句分析及数据库安全研究.pdf_第1页
(计算机应用技术专业论文)sql语句分析及数据库安全研究.pdf_第2页
(计算机应用技术专业论文)sql语句分析及数据库安全研究.pdf_第3页
(计算机应用技术专业论文)sql语句分析及数据库安全研究.pdf_第4页
(计算机应用技术专业论文)sql语句分析及数据库安全研究.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机应用技术专业论文)sql语句分析及数据库安全研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 作为信息处理的核心软件之一,数据库系统不仅是计算机信息系统的核心, 更是计算机技术及其应用发展的关键,是除操作系统之外最重要的核心系统,担 负着存储和对数据信息的访问控制任务。一方面要求数据库系统能提供对数据信 息的安全存取服务,即向授权用户提供可靠的数据信息服务;另一方面又要拒绝 非授权用户对数据信息的存取访问,以保证在数据库管理下数据信息的可用性、 机密性、完整性和一致性。为了有效提升数据库的安全系数,保护有价值数据的 安全性,设计密文数据库就具有特别的现实意义。 本文在着重探讨了s q l 语句的词法分析、语法分析、应用解析、角色访问 控制、生成子密钥的数据库加密技术和数据结构基础上,设计出了具有加脱密 功能的词法、语法规则的s q l 解释器,最后提出了一种数据库加密系统的实现 方案,并给出了主要功能模块。 关键词:密文数据库词法分析语法分析解释器秘密同态加密密钥管理 中图分类号: i p 3 1 1 1 3 a b s t r a c t a so n eo f t h ec o r es o f t w a r eo f t h ei n f o r m a t i o np r o c e s s i n g ,t h ed a t a b a s es y s t e mi s n o to n l yt h ec o r eo ft h ec o m p u t e ri n f o r m a t i o ns y s t e m ,b u ta l s oak e yo ft h ec o m p u t e r t e c h n o l o g ya n di t sa p p l i c a t i o nd e v e l o p m e n ti t i s t h em o s ti m p o r t a n tc o r es y s t e m b e s i d e st h eo p e r a t i n gs y s t e m ,s t o r i n ga n da c c e s sc o n t r o lo ft h ed a t ai n f o r m a t i o na si t s d u t y o nt h eo n eh a n d ,t h ed a t a b a s es y s t e ms h o u l dp r o v i d et h es a f ea c c e s ss e r v i c e s , n a m e l yp r o v i d er e l i a b l ed a t ai n f o r m a t i o ns e r v i c e st oa na u t h o r i z e du s e r :o nt h eo t h e r h a n d ,i no r d e rt og u a r a n t e et h eu s a b i l i t y ,c o n f i d e n t i a l i t y ,i n 唰i t ) ,a n dc o n s i s t e n c yo f t h ed a t ai n f o r m a t i o n ,a nu n a u t h o r i z e d ,1 1 5 e r sa c c e s st ot h ed a t ai n f o r m a t i o nm u s tb e d e n i e d t oe f f e c t i v e l ye n h a n c et h ed a t a b a s e ss a f e t yf a c t o ra n dp r o t e c tt h ev a l u a b l e d a t a , d e s i g n i n ga ne n c r y p t e dd a t a b a s es y s t e mi so f p r a c t i c a ls i g n i f i c a n c e o nt h eb a s eo ft h ed i s c u s s i o no fl e x i c a la n a l y s i s ,s y n t a xa n a l y s i s ,a p p l i c a t i o n r e s o l u t i o no fs q ls t a t e m e n t s ,r o l ea c c e s sc o n t r o l ,d a t a b a s ee n c r y p t i o nt e c h n o l o g i e s a n dt h ed a t as t r u c t u r e ,a ni n t e r p r e t e ri sd e s i g n e d ,w h i c hc a na n a l y z et h ee n c r y p t e da n d d e c r y p t e dl e x i c a lr u l e sa n ds y n t a c t i c a lr u l e s a tl a s t ,a ni m p l e m e n t a t i o np r o j e c to f d a t a b a s ee n c r y p t i o ns y s t e mi sp u tf o r w a r da n di t sm a i nm o d u l e sa r eg i v e n k e y w o r d s :e n c r y p t e dd a t a b a s e ,l e x i c a la n a l y s i s ,s y n t a xa n a l y s i s ,i n t e r p r e t e r , p r i v a c y h o m o m o r p h i s m , e n c r y p t i o n , k e ym a n a g e m e n t 第一章前言 i i 研究背景 “9 ii ”恐怖事件改变了全球安全问题的现状。美国因此痛定思痛,采取重大举措来保 证国家的网络与信息安全。例如机场安全检测技术、太空信息安全技术、网络攻防技术、城 市监控技术和身份证识别技术。因此它的信息安全防范能力大幅提高,但是还有很多问题困 扰美国,信息安全改革有待深入。其它国家闻风而动,未雨绸缪。欧盟加强协调,强化管理。 俄罗斯加强管理,注重应用。亚洲国家结合实际,预防为主。 随着信息技术的发展与应用,它的内涵在不断地延伸,从最初的信息保密性发展到信息 的完整性、可用性、可控性和不可否认性,进而又发展为“攻、防、测、控、管、评”等方 面的基础理论和实施技术。信息安全的核心问题是密码理论及其应用。总的来说,信息安全 领域有5 方面的内容:( i ) 密码理论与技术;( 2 ) 安全协议理论与技术;( 3 ) 安全体系结构 理论与技术;( 4 ) 信息对抗理论与技术;( 5 ) 网络安全与安全产品。 信息化是当今世界发展的大趋势,是推动经济社会变革的重要力量大力推进信息化, 是覆盖我国现代化建设全局的战略举措,是贯彻落实科学发展观、全面建设小康社会、构建 社会主义和谐社会和建设创新型国家的迫切需要和必然选择。2 0 0 6 年0 5 月0 8 日中共中央办 公厅、国务院办公厅印发了2 0 0 6 _ - 2 0 2 0 年国家信息化发展战略) ,明确提出建设国家信 息安全保障体系。 数据库系统作为计算机信息系统的核心部件,其安全问题是信息系统安全的一个重要方 面。数据库技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的 商业产品和广泛的应用领域,吸引了越来越多的研究者加入。数据库的诞生和发展给计算机 信息管理带来了一场巨大的革命。三十多年来,国内外已经开发建设了成千上万个数据库, 它已成为企业、部门乃至个人日常工作、生产和生活的基础设施,同时,数据库安全问题却 日益突出。 数据库系统信息的安全性信赖于两个层次:一是操作系统提供的安全保障;二是数据库 自身提供的安全措施。目前一些通用的操作系统( w m d o w sn t 2 0 0 3 、u n i x 等) 都具有用户 注册、识别用户、存取控制、审计都安全功能,而且d b m s 在o s 基础上也增加了不少安全 措施,例如:基于权限的访问控制但是o s 和d b m s 对数据库文件本身仍然缺乏有效的保 护措施对于一些重要数据或敏感数据用户迫切希望以密文的形式存储和传输,并且可以 对数据库信息进行操作而又不泄露其中的内容,这就需要研究数据库信息加密技术。 1 2 研究的目的 根据密文数据库系统设计的总体框架。构造新的s q l 解释器。把词法分析产生的单词序 列分解成各类语法短语,进行语义检查。这里是d b m s 的内部入口,为上层提供s q l 语句 的函数式接口。 1 3 研究的意义 贵,h 大学硕士学位论文 第一章前言 集团用户信息化建设的巨额投资中会有相当一部分是用以建设供自己内部使用的数据 库,这被称为是h 1 h o u 系统。自用数据库是非常重要的,特别是那些与自己业务密切相关 的工作数据库。这些数据库建设是一个很繁重的过程,需要的技术也会越来越高,有很多数 据库建设不仅需要外部的专家,还需要外部的数据库支持。由于很多机构很难有足够的人才 来胜任这件事,筹钱容易,筹人难,所以数据库的外包业必将红火起来,特别是在信息化建 设发展到一定程度之后,大量h i w a n e t 的出现,必然会带来大量数据库外包的需求。 1 4 国内外研究现状 一个国家数据库产业的发展状况,在很大程度反映了该国信息技术和信息产业的发展水 平。在h 她m e t 出现以前。数据库产业可以说是发展最快的信息产业,而e t 的发展又给 数据库产业注入了新的活力,使传统的数据库产业向着h 慨m e t 服务的方向发展。在当今世 界上,处在数据库产业最前列的是以美、欧、日为代表的发达国家。 数据库的发展: 1 9 5 1 :u m v 系统使用磁带和穿孔卡片作为数据存储。 1 9 5 6 :m m 公司在其m o d a l3 0 5r a m a c 中第一次引入了磁盘驱动嚣。 1 9 6 1 :通用电气( g e ) 公司的c h a r l 懿b h m a n 开发了第一个数据库管理系统d s 。 1 9 6 9 :e ec o d d 发明了关系数据库 1 9 7 3 :由j o h nj c l l l l i n a n e 领导c u l l i n a n e 公司开发了i d m s _ 一个针对m 主机的 基于网络模型的数据库。 1 9 7 6 :h o n e y w e l l 公司推出了第一个商用关系数据库m l l l f i c sr e l a t i o n a ld a t as t o m 。 1 9 7 9 :o r a c l e 公司引入了第一个商用s q l 关系数据库管理系统。 1 9 8 3 :i b m 推出了d b 2 数据库产品。 1 9 8 5 :为p r o c t e r & g a m b l e 系统设计的第一个商务智能系统产生。 1 9 9 1 :w h b i l r i n m o n 发表了“构建数据仓库”。 可信计算机系统评测标准t c s e c 各个级别的基本定义如表1 1 所示: 级别定义 a l 设计的形式化验证( 、h i 疗。dd e s i 驴) b 3 安全域( s l d 哆d o m a i n s ) b 2 结构化保护( s t m c t u r a lp r o t e c t i o n ) b l带标记的安全保护( l a b c l 酣s e c u r i t yl r o t e c d o n ) c 2 受控制的存取保护( c o n t r o l l c d a c c e s s p r o t e c t i o n ) c l 自主安全保护i m i o n a r ys d t yp r o t e c t i o n ) d最小保护( m i n i m a lp r o t e c t i o n ) 表1 it c s e c 各个级别的基本定义 贵州大学硕士学位论文 第一章前言 国外对数据库安全的研究从七十年代就开始进行,理论上已达到一定深度并付诸实践。 目前,大型的d b m s 都实现了强制的存取控制,国外有的专用安全数据库甚至已经达到了结 构化保护的级别。如s y b a s e 公司的安全数据库s e c u r e s q l s e r v e r ,其安全级别有b l 级和b 2 级两个安全版本,也是美国军方使用的产品。曾在海湾战争中使用过。o r a c l e 公司的安全 数据库t r u s t e d o r a c l e 是b 2 级的,在美国是用于军方的产品,也有b l 级的o r a c l e 产品和 g e m s o s 上的a l 级安全版本,通过了t c s e c 和i t s e c ( 信息技术安全评估准则) 的评测 m m 的d b 2 安全级别也是b l 级的。 对敏感数据安全性的绝对承诺、实现数据级加密的产品也是当前的亮点。m i c r o s o f t 为其 s q ls e r v e r2 0 0 5 加入了c e l l 和c o l u m n 级的加密功能a p p l i c a t i o ns e c u r i t y 公司的 d b e n 口y p t 等产品提供的解决方案,使c o l u m n 或t 曲i e 级的数据加密变得非常容易。h 曜面 公司的d a t a s e c u r e 则覆盖了更广泛的应用面。在整个网络范围内,从应用程序、数据库到存 储系统都提供数据加密功能 数据库管理系统和操作系统一样,属于最重要的核心软件,也是我国信息化建设中需求 量最大,应用最广泛的基础性软件但目前中国数据库软件市场的主导者一直是国外厂商, 国家每年在国外数据库软件的投入是2 0 0 多个亿在操作系统掌握于他人的情况下,数据库 的安全是信息安全的最为重要的保障。在国内广为使用的国外数据库产品的安全级别基本保 持在相当于t c s e cc 2 的标准上,目前我国一些研究机构已经研制开发出了b l 级的数据库 管理系统。“十五”期间,国家8 6 3 计划数据库管理系统及其应用重大专项按照“以用带研” 的思路,瞄准电子政务和制造业信息化的应用需求,组织关键技术攻关及产品开发。 2 0 0 4 年9 月1 5 日在北京西苑饭店举办了由科技部高技术研究发展中心、8 6 3 计划数据 库管理系统及其应用重大专项总体组主办的“2 0 0 4 中国国产数据库产业技术论坛”。中国软 件测评中心近两年来组织的数次铡评结果以及在国防军工行业、制造业信息化、电子政务和 教育信息化等的成功应用表明:以北京航天神舟软件公司研制的o s c a r 对象关系型数据库、 北京人大金仓信息技术有限公司研制的通用数据库管理系统k i l r b a e s 、东软集团研制的数 据库管理系统o p e n b a s e 和武汉达梦的d m 系列等为代表的国产数据库管理系统已经取得很 大进展。 o s c a r 实现了可靠的用户身份认证,支持自主存取控制和安全的网络连接,并提供对 d b a 、普通用户、数据对象和特定数据操作的各种安全审计。神舟o s c a r 还对数据的存放 和传输提供了多种加密机制以满足不同应用的要求。 k i n g b e e e sv 6 安全版增强了审计、自主存取控制、用户鉴别等安全功能,并增加了强 制存取控制、三权分立等功能,为用户数据提供了更强的安全保护。经公安部计算机信息系 统安全产品质量监督检验中心测评,确认该产品安全性达到了t c s e c 的b l 级。 o p e n b a s es e c u r e1 0 引入了基于元组的安全标记及m a c 存取控制机制,达到了t c s e c 对b 1 级的要求。 d m 4 采用基于角色与权限的管理方法来实现基本安全功能,并根据三权分立的安全机 制,将审计和数据库管理分别处理,同时增加了强制访问控制的功能,另外,还实现了包括 通讯加密、存储加密以及资源限制等辅助安全功能,使得达梦数据库安全级别达到b l 级, 塞型查兰堡主堂垡堡塞 蔓二皇堕童一一4 有些部分甚至已经达到b 2 级 国内数据库系统的成功研制和应用,一方面将可能彻底解决由于广泛应用国外数据库产 品可能带来的信息安全问题,另一方面也将在系统软件领域极大地推动我国民族软件产业的 度展。 1 5 本文的主要工作 本文旨在研究设计一个能够集身份验证、访问控制、应用解析、加,脱引擎和s q l 扩充 于一体的用于网络密文数据库系统的数据库安全中间件整体解决方案,主要工作如下: ( 1 ) 加脱密引擎 加,脱密引擎是密文数据库系统的核心部件,负责在后台完成数据库信息的加,脱密处理, 对应用开发人员和操作人员是透明的。在系统实现时主要考虑加脱密法的执行速度心提高系 统的运行效率。加,脱密引擎主要包括读取数据、获取密钥、加密、解密、写入数据等内容 由于我们采用三级密钥管理机制:一级密钥为主密钥,二级密钥为表密钥,三级密钥为 子密钥。主密钥用来加密表密钥,表密钥用来生成子密钥,子密钥是加,脱密数据的真实密钥 为了保证检索时可以按照字符们进行比较,加密前首先要将数字、日期等数据类型统一转换 成字符型数据 ( 2 ) s 吐语句扩充 分析用户对密文数据库的s q l 请求,处理增加的加朋【i 密关键字和函数,对操作加密数 据的s q l 请求进行优化处理,控制对加密字典的并发访问等等 ( 3 ) 应用解析 根据定义的s q l 语句扩充。处理用户请求,提供交互的人机接口 第二章理论基础与相关技术 2 1 秘密同态技术 在本密文数据库系统中为了能够对密文直接操作,我们采用了秘密同态技术,所以在这 儿我们来介绍一下秘密同态技术。 密文数据库系统存在一个共同的问题:若要对某些字段进行统计、平均、求和等数学运 算时,必须先对这些字段( 密文) 进行解密运算,然后对明文进行数学运算,之后再加密。 这样一来首先增大了时空开销,其次在实际的应用中,对于某些重要或敏感数据,无法满足 用户对其进行操作但又不让用户了解其中的信息的需要而秘密同态( p r i v a c y h o m o m o r p h i s m ) 技术正是一种能解决这个问题的有效方法。 2 1 1 秘密同态的概念 秘密同态是由r i v e s t 等人于1 9 7 8 年提出的,是允许直接对密文进行操作的加密变换。 但是由于其对对已知明文攻击是不安全的,后来由d o m i n g o 中做了进一步的改进秘密同 态技术最早是用于对统计数据进行加密的,由算法的同态性,保证了用户可以对敏感数据进 行操作但又不泄露数据信息。秘密同态技术是建立在代数理论之上的,其基本思想如下: 假设e 、d 。,分别代表加密、解密函数,明文数据空间中的元素是有限集合 m 。,m :,m 。 ,a 和b 代表运算,若 口( e i 似,) ,口( e t , ( m :) ,口( e t , ( 峨) ) = & ( 卢。,m :,鸠) ) 成立,且 么: ( ( m 。) ,民( 如) ,民( m 。) ) = p ( m i ,肘2 ,m 。) 成立,我们则称函数族 ( 瓯,d k , ,口,) 为一个秘密同态 2 1 2 秘密同态技术的算法实现过程 ( 1 ) 选取安全大素数p 、q ,及由此计算m = p q ( m 保密) : ( 2 ) 选取安全参数n ( 根据需要选择适当大小) ; ( 3 ) 明文空间t = z 。( 小于z 的所有非负整数集合) ,密文空间t7 = ( z p + z 扩; ( 4 ) 选取两素数r p 、r q ,分别满足r p z p 、r q z q : ( 5 ) 确定加密密钥为:k = ( p ,q ,r p ,r q ) ; ( 6 ) 加密算法: 设有一明文x e z 。,随机地将x 分为n 分:x l 、x 2 、x 。,并满足 e t 舻( 【x lf ,m o d p , x :1r qm o d q i x 2r ;m o d p x 2 f ;m o d q l ,【x n f ;m o d p ,譬n f :m o d q d ( 7 ) 解密算法e 啵x ) : 第一步:计算 ( 【而fm o d p ,;m o d q ,【屯唁fm o d p ,屯哼,产m o d q ,【哆”m o d p ,哼i ”m o d q ) 贵州大学硕士学位论文第二章理论基础与相关技术 其中,和,分别为r p m o d p 年f f r e m o d q 相应次幂的乘法逆元; 第二步:计算 nn月 z , r o o d p ,x , r o o d q - - , x j m o d p , y x f m o d q = x m o d p ,x m o d q 1 = 1 i = 1j - i 第三步:利用中国剩余定理计算皿( x ) = ( x q q - 1 + x p p - 1 ) m o d m 其中, q q 一= l m o d p p p 1 = l m o d q 。 6 2 1 3 秘密同态技术中运算的定义 在上述加密过程中,如果明文x 、y 的加密运算臣( x ) 、巨( y ) 含有最高次指数幂分别 为,h 和吃,则乘积是由含有l 岛n ( n 啊+ ) 次指数幂运算的项目五j ( z ) 组成的可 把巨乜) 表示为向量形式:( 巨j ( z ) ,乓3 ( z ) ,乓,0 ) ) ,如果设r = ( ,_ ) ,则巨0 ) 可以 被表示为多项式的形式:乓( 力【r 】= ,l r + ,2 ,2 + + 厶,由此,加、减、乘、除运算定义为: 加和减:巨o y ) = 臣( z ) 巨 ) 为上的向量加减法或为上多项式的加减法, 特别地 ! 蔓! 尘+ 二互d 堕:垦l 竺! 墨! 尘主墨! 1 2 盈l 尘 巨( 6 ) 五( d )巨( 6 ) 巨( d ) 乘:巨( 砂) = 乓( 功乓( 力为上的向量乘积或系数在乙上的多项式乘积;事实上e ( x ) e 可以被表示成多项式的形式: ( x t r + x 2 r 2 + + 矗i ,叭) ( m ,+ 儿,2 + + 咒2 r “2 ) = 【( 而名m o dp 玉m o d 靠( 而# m o d b 毛弓m o d 冒) ,( 毛l 哆1 r o o d p , x i ,;:1 1 m o d g ) 】 ( y l r pm o d p ,m m o d q ) ,( 照m o dp ,儿弓m o d g ) ,( 儿l 哆1m o d p ,咒l 哼1m o d q ) = 【( 而o + 而喀+ + 矗l 哆1 ) m o d p ,( _ _ + 而弓+ + 矗l 哼1 ) m o dg 】 “ o + 儿弓十+ 咒2 哆2 ) m o d p ,( 乃_ + 咒彳+ + ) 0 2 彳2 ) m o dg 】 = 【( 而+ 而+ + 矗l 哆1 ) ( m ,p + n 弓+ + 咒2 哆2 ) m o d p + 【( 而_ 十屯弓+ + 矗l 曙。) ( 咒+ 儿弓+ + 儿2 哼2 ) 】m o d 鼋 = t + 硼哼“ i is | 其中,l i ,s n 1 。1 蛩,t n 2 ,l h = j n ,l 譬+ t n ,n = n l + n 2 。 。 巨( 叫) = 巨“而+ 毛+ + 矗1 ) ( m + 儿+ + 蚝2 ) ) = 最( 蕾乃) 贵州大学顽士学位论文第二章理论基础与相关技术 巨( 拶) 可以被表示为多项式形式: x , y j r 叫= 薯乃f + 咒f f ,s + t 其中,i i ,s n l ,1 岛,t n 2 ,1 i + j n ,1 s - h n ,n = n l - 6 1 1 2 。 除:巨( 三) = 粤呈为上的向量相除或系数在上的多项式相除。 y8 t y ) 由上述加减乘除运算可得: 巨唔争器器= 幽锩铲 这些运算保证了可以直接对密文进行运算操作。 利用秘密同态技术对密文数据库进行加密,能够在不泄露数据库的前提下对密文数据库 中的整数进行数学运算,能够满足某些特殊要求的有效的数据加密方法。但是,秘密同态算 法的乘法和除法在明文空间和密文空间是有所不同的,明文空间的乘除法对应于密文空间的 对应向量的乘积或其表达式系数的多项式之间的乘积,因此必须有一个在密文空间重定义的 乘除法才能保证运算的同态性,对于乘除法,还要涉及到s q l 语句分析和重构的问题。由于 其算法至今没有突破和乘除法的复杂性,目前国内的研究仅实现了针对整数的加减法,并且 可能引发密文膨胀等有待进一步研究。 2 2 数据库加密算法的比较 用于数据库加密的算法有两种:对称密钥算法和公开密钥算法( 非对称密钥算法) 。 一般而言。对称密钥算法要比非对称密钥算法速度快,并且对选择密文攻击不敏感,缺 点是密钥分发困难。公开密钥擅长密钥分配和数字签名认证。 在硬件实现时,d e s 算法比r s a 要快1 0 0 0 倍,软件实现时,d e s 大约要比r s a 快1 0 0 倍考虑到系统的效率问题,在数据库加密中常采用分组算法。但是为了对密文数据库能够 直接操作,我们认为在密文数据库系统中应该采用秘密同态技术。 2 3 访问控制 访问控制是操作系统安全、数据库安全和网络安全的重要组成部分,它能够保障授权用 户在权限范围内获取所需资源。拒绝不合法的访问,同时尽可能提供用户使用的灵活性。数 据库是数据库所有者的数据库,不是管理员的数据库,因此,数据库所有者应该对他的数据 库拥有最高权限,而不是管理员拥有最高权限。 发展至今,访问控制模型可以分为三大类:d a c ( d i s c r e t i o n a r y a c c e s s c o n t r o l 自主访问 控制) 、m a c ( m a n d a t o r y a c c e s s c o n t r o l 强制访问控制) 和r b a c ( r o l e - b a s e d a c c e s s c o n b o l 基于角色的访问控制) 。d a c 是主体全权管理该客体的访问控制策略,配置的粒度小,工作 量大,效率低,限制比较弱;m a c 则根据客体的敏感级和主体的许可级来限制主体对客体 的访问,配置的粒度大,缺乏灵活性:r b a c 核心思想是将访问权限与角色相联系,通过用 户分配合适的角色,让用户与访问权限相联系。角色是根据企业内为完成各种不同的任务需 贵州大学硕士学位论文第二章理论基础与相关技术 8 要而设置的,根据用户在企业中的职权和责任来设定角色。用户可以在角色间进行转换,系 统可以添加、删除角色,还可以对角色的权限进行添加、删除。 r b a c 是目前得到广泛关注和大量应用的访问控制模型。有五大特点: ( 1 ) 访问权限与角色相联系,不同角色有不同权限; ( 2 ) 角色继承: ( 3 ) 最小权限原则,即用户所拥有的权限不能超过他执行工作所需的权限: “) 职责分离,一般有静态和动态; ( 5 ) 角色容量。在某一特定时间段内,一些角色只能由一定人数的用户占用,在创建新的 角色时应该指定角色的容量。 在r b a c 实际应用中,会频繁遇到三个问题: ( 1 ) 只要主体拥有对客体的访问权限,就可以无数次使用该权限,这样容易造成安全隐患, 而且不能更细粒度地刻画系统的安全策略: ( 2 ) 管理员除了维护用户和角色的关联关系外,还需要维护信息资源访问权限和角色的映 射,如果在大型应用中操作更繁琐: ( 3 ) 组织结构与角色的层次不吻合,无法借助角色解决组织结构的统一权限。 举例来说,在公司里,部门经理的权力高于业务人员但在应用系统中同一部门的业务人员对自己 的某张订单具有读写权,而部门经理对这张订单却只有查询权这说明部门经理与自己部门的下级业务人 员对某一资源的访问权的大小是相反的:另一方面,部门经理通常都有对整个部门业务的查询权,而具体业 务人员仅有对自己业务的查询权这就意味着,不能把“部门经理”和“业务人员”这两个职位理解为处于 上下级的两个角色。因为在对某张订单的访问权上,“部门经理” “业务人员” 所以。现在有人在研究“基于角色与组织的访问控制”、“基于角色和规则的访问控制” 和“基于两级角色管理的访问控制”。 2 4 s o l 语言 s q l ( s t r u c t u r e dq u e r yl a n g u a g e ) 语言是关系数据库的标准语言以及数据库国际通用语 言它的存在已经了超过了2 0 年之久而且没有丝毫衰退的迹象。根据g a r t n e r d a t a q u e s t 的 研究报告,2 0 0 l 2 0 0 4 年d b m s 的“三巨头”在数据库市场的份额如表2 1 所示。 2 0 0 12 0 0 22 0 0 32 0 0 4 甲骨文o r a c l e3 2 3 3 4 3 2 6 3 4 1 i b m d b 23 i 戳3 5 73 5 7 3 3 7 m i c r o s o f ts q ls e r v e r 1 6 3 1 8 7 1 8 2 0 表2 12 0 0 l 2 0 0 4 年。三巨头”在数据库市场的份额 s q l 的国际标准已经采用并扩展了两次( 从s q l 8 9 到s q l 9 2 。再到s q l 9 9 ) 。事实上, 每种主要的企业级软件产品都依赖s q l 进行数据管理,并且s q l 是m i c r o s o f t 、o r a c l e 和m m 贵州丈学顼士学位论文第二章理论基础与相关技术 9 三个世界上最大的软件公司的数据库产品的核心。s q l 也处于开放源代码的数据库产品的中 心,促进了l i n u x 和开放源码运动的发展最初作为m m 的一个不起眼的研究项目s q l ,作 为重要的计算机技术和强大的市场推动力,己经跃升到显著的位置。 s q l 是一种组织、管理和检索计算机数据库存储的数据的工具。正如它的名称所暗示的, s q l 是一种计算机语言,可以用它与数据库交互。事实上,s q l 使用的是一个特殊类型的数 据库,即关系数据库。当需要从数据库中检索数据时,可以使用s q l 发出请求,d b m s 会 处理这个s q l 请求,检索请求的数据并将它返回给用户。从数据库中请求数据并返回结果的 过程称为数据库查询这就是结构化查询语言名字的由来。 d b m s 为其用户提供的所有功能,包括: ( i 墩据定义:s q l 让用户定义存储数据结构和组织。以及存储数据项之间的关系; ( 2 ) 数据检索:s q l 允许用户或应用程序从数据库中检索存储的数据并使用它; ( 3 ) 数据操作:s q l 允许用户或应用程序通过添加新数据、删除旧数据以前存储的数 据对数据库进行更新; “) 访问控制:可以使用s q l 来限制用户检索、添加和能力,保护存储的数据不被未授权 的用户所访问; ( 5 ) 数据共享:可以使用s q l 来协调多个并发用户共享数据。确保他们不会相互干扰; ( 6 ) 数据完整性:s q l 在数据库中定义完整性约束条件,使它不会由于不一致的更新或系 统失败而遭到破坏。 2 5 编译原理 编译程序( c o m p i l e ) 是现代计算机系统的基本组成部分。从功能上看,一个编译程序 就是一个语言翻译程序,它把一种语言( 称作源程序s o u r c ep r o g r a m ) 书写的程序翻译成另 一种语言( 称作目标程序o b j e c tp r o g r a m ) 的等价的程序。 编译程序的语言范型( p a r a d i g m s ) : ( 1 ) 命令式( i m p e r a t i v el a n g u a g e ) :语言执行的解释; ( 2 ) 应用式函数式( a p p l i c a t i v e ) :执行一个个函数施用在数据上的变换最终得到的结果: ( 3 ) 基于规则的( r u l e - b a s e d ) :把使能条件转换为动作,像p r o l o g ,y a c c 等; ( 4 ) 面向对象的( o b j e c t - o r i e n t e d ) :编译是动态绑定 编译程序的执行环境: ( 1 ) 批处理环境:将源程序作为整体处理排除程序错误不能依靠用户的外部帮助; ( 2 ) 交互环境:增量式编译; ( 3 ) 嵌入式系统环境:交叉编译; ( 4 ) 分布并行环境:并行编译。 编译阶段的分析、综合( s y n t h e s i s ) : ( 1 ) 源程序的分析:线性分析、层次分析、语义分析; ( 2 ) 目标程序的综合。 编译程序完成从源程序到目标程序的翻译工作,是一个复杂的整体过程,编译的各个阶 段如图2 1 所示。 贵州大学硕士学位论文 第二章理论基础与相关技术 图2 1 编译过程 1 0 ( 1 ) 词法分析( l c x i c a la n a l y s i s ) :输入源程序,对构成源程序的字符串进行扫描和分解, 识别出一个个单词( 即单词符号t o k e n ) ,如基本字、标识符、常数、算符和界符在词法分 析阶段中所依循的是语言的词法规则,描述词法规则的有效工具是正规式、状态转换图和有 限自动机。词法分析是一种线性分析; ( 2 ) 语法分析( s y n t a x a n a l y s i s ) :在词法分析的基础上,根据语言的语法规则,把单词符 号串分解成各类语法单位( 语法范畴) ,如“短语“子句”、“语句”、“程序段”、“程序” 等通过语法分析,确定整个输入串是否构成语法上正确的“程序”。语法分析依循的是语 言的语法规则,语法规则通常用上下文无关法描述。语法分析是一种层次结构分析; ( 3 ) 语义分析( s e m a n t i ca n a j y s i s ) :依据语义规则,对每种语法范畴进行静态语义检查。 语义规则通常用属性文法描述; ( 4 ) 中间代码生成( i n t e r m e d i a t e c o d e g e n e r a t i o n ) :“中间代码”是一种含义明确、便于处 理的记号系统,它通常独立于具体的硬件。中间代码生成的任务是按语言的语义规则把各类 语法范畴翻译成四元式系列( 或者三元式、间接三元式、逆波兰式和树形表示) ; ( 5 ) 代码优化( c o d eo p t i m i z a t i o n ) :对前阶段产生的中间代码进行加工变换,以期在最后 阶段能产生出更为高效的目标代码。优化的主要方面有:公共子表达式的提取、循环优化、 删除无用代码、并行化处理等。优化依循程序的等价变换规则: ( 6 ) 目标代码生成( o b j e c t c o d e p r o d u c t i o n ) :把经优化处理后的中间代码变换成待定机器 上的低级语言代码。它的工作有赖于硬件系统结构和机器指令含义。目标代码的形式可以是 绝对指令代码或可重定位的指令代码或汇编指令代码。 2 6 词法分析器 贵州大学硕士学位论文第二章理论基础与相关技术 词法分析器是逐个读入源程序字符并按照构词规则切分成一系列单词符号( t o k e n ) 。单 词符号是程序语言的基本语法单位,包括保留字、标识符( 变量名、数组名、函数,过程名) 、 常量、运算符、界符( 逗号、分号、括号、注释) 等。一门程序语言的保留字、运算符和界 符都是确定的,一般只有几十或上百个。而对标识符和常量的使用都不加限制。词法分析器 输出的单词符号常常表示为二元式:( 单词种别,单词符号的属性值) 。单词种别通常用整数 编码,保留字可将其全体视为一种,也可以字一种,采用一字一种的分法处理起来比较方 便;标识符一般统归为一种:常量则按类型分;运算符可采用一符一种,也可以把具有一定 共性的分为一种;界符一般用一符一种的分法单词符号的属性是指单词符号的特性或特征, 属性值是反映特性或特征的值。例如:对于某个标识符,常将存放它有关信息的符号表项的 指针作为其属性值:而对于常量。常将存放它的常量表项的指针作为其属性值。 词法分析器的设计: ( 1 ) 输入源程序( 比如s q l 语句) ,预处理。比如把多个空格合并为一、剔掉注释等: ( 2 ) 单诃符号的识别超前搜索保留字的识别比较麻烦,得用超前搜索;标识符是以 字母开头的“字母,数字”串。后面跟着算符界符,识别没有太多困难;数值常量的识别是很 直接的:布尔常量和字符串常量都容易识别;而运算符和界符更需要借助于超前搜索; ( 3 ) 使用状态转换图用子程序实现词法分析。或者用正规式描述单词符号的结构,用有限 自动机构造词法分析器。 2 7 语法分析器 在词法分析识别出单词符号的基础上,分析并判定程序的语法结构是否符号语法规则, 建立一棵语法分析树。 设g = ( v ,v t ,p ,s ) ,若一棵树满足下列4 仑条件,则此树称作g 的语法树: ( i 海个结点都有一个标记,此标记是v 的一个符号; ( z ) 根的标记是s ; ( 3 ) 若一结点n 至少有一个它自己除外的子孙,并且有标记a ,则肯定a v n ; “) 如果结点n 有标记a ,其直接子孙结点从左到右的次序是n 1 ,n 2 一,n k ,其标记分 别为a l ,a 2 ,a k ,那么a a l a 2 一,札一定是p 中的一个产生式。 语法分析常有两类方法:自上而下分析法( 仅限l l ( 1 ) 文法) 和自下而上分析法。语 言的语法结构是用上下文无关法描述的。 乔姆斯基把文法分成四种类型:0 型、i 型、2 型、3 型i 这几类文法的差别在于对产生 式臆加不同的限制。设g = ( v n ,v l ,p ,s ) ,若p 中的每一个产生式a - ) b 满足:a 是一个 非终结符,b ( v n uv 扩,则此文法称为上下无关文法。 自上而下分析法也称面向目标的分析方法,也就是从文法的开始符号出发企图推导出与 输入的单词串完全匹配的句子,若输入的串是给定文法的句子,则必能推出,反之必然出错。 自上而下分析法可分为确定和不确定两种。确定的分析法需对文法有一定的限制。但由于实 现方法简单直观,便于手工构造和自动生成语法分析器。确定的自上而下分析法的思想是: 首先要解决从文法开始符号出发,如何根据当前输入的单词符号唯一地确定选用哪个产生式 替换相应非终结符往下推导。或构造一棵相应的语法树。当我们需选用自上而下分析技术时, 贵州大学硕士学位论文 第二章理论基础与相关技术 1 2 首先必须判别所给文法是否为l l ( 1 ) 文法,因而对任给文法需计算:f i r s t 、f o l l o w 、 s e l e c t 集合进而判断是否为l l ( 1 ) 文法。其分析过程为: ( 1 ) 求出能推出空的非终结符: ( 2 ) 求出f i r s t 集; ( 3 ) 求出f o l l o w 集; ( 4 ) 求出s e l e c t 集: ( 5 ) 判断是否为l l ( 1 ) 文法; ( 6 ) 文法转换; ( 7 ) 预测分析法或其它分析法进行分析。 得到s e l e c t 集合后将以某一个非终结符为右部的所有产生式的s e l e c t 集合作集合交 运算若每一个非终结符都为空则说明此文法为u ,( 1 ) 文法,否则说明不是l l ( 1 ) 文法。 若不是l l ( 1 ) 文法要对其进行文法转换,即非l l ( i ) 一l l ( i ) 。这主要是由于文法中含 有左递归或间接左递归或含有左公共因子。采用的方法有: ( 1 ) 提取公共因子:若文法中含有形如:a 斗a bla r 的产生式,则可提取公共因子达到 转换的目的: ( 2 ) 消除左递归:若一个文法中有下列形式的产生式时: a a b ,a v n b v + a 斗b b ,b a a ,a , b e v n ,a b v 4 自上而下分析法分为确定的自上而下分析法和不确定的自上而下分析法。确定的自上而 下分析法分为:递归子程序法、预测分析法因为采用子程序法对文法的要求很高,而且由 于递归调用过程过多,所以速度慢占用空间多。一个预测分析器是由三部分组成的: 预测分析程序; 先进后出栈; 预测分析表 2 8 中间件技术 中间件具有标准的程序接口和协议,可以实现不同硬件和操作系统平台上的数据共享和 应用互操作。在具体实现上,中间件是一个用a p i 定义的软件管理框架,具有强大的通信能 力和是好的可扩展性。 、 世界著名的咨询机构s t a n d i s h g r o u p 在一份研究报告中归纳了中间件的十大优越性: ( 1 ) 缩短应用的开发周期; ( 2 ) 节约应用的开发成本; ( 3 ) 减少系统初期的建设成本; “) 降低应用开发的失败率; ( 5 ) 保护已有的投资; ( 6 ) 简化应用集成; ( 7 ) 减少维护费用; ( 8 ) 提高应用的开发质量; 贵卅大学硕士学位论文第二章理论基础与相关技术 ( 9 ) 保证技术进步的连续性; 增强应用的生命力。 1 3 2 9 安全中间件 安全中间件就是把信息安全技术和中问件技术相结合,利用面向对象和组件技术,分析 各种应用系统中的公共安全服务请求,把这部分软件从整个系统中分离出来,封装成相应的 安全服务接口,使之成为通用的松耦合的软件,来解决目前信息安全领域软件的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论