(计算机应用技术专业论文)net框架下基于aop和web服务的轻量级应用访问控制系统.pdf_第1页
(计算机应用技术专业论文)net框架下基于aop和web服务的轻量级应用访问控制系统.pdf_第2页
(计算机应用技术专业论文)net框架下基于aop和web服务的轻量级应用访问控制系统.pdf_第3页
(计算机应用技术专业论文)net框架下基于aop和web服务的轻量级应用访问控制系统.pdf_第4页
(计算机应用技术专业论文)net框架下基于aop和web服务的轻量级应用访问控制系统.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

江苏大学硕士学位论文 摘要 传统基于角色的访问控制( r b a c ) 系统需要在业务逻辑代码中加入访问控制 逻辑来实现访问控制的细粒度。这种实现方式会导致系统代码的分散和缠绕,而 面向方面的程序设计( a o p ) 可以很好的解决这个问题。将访问控制逻辑抽取出 来单独实现为方面( a s p e c t ) ,并将企业应用中的业务逻辑以w e b 服务的形式发布, 利用a o p 框架根据x m l 配置文件动态拦截对w e b 服务的调用,织入相应的访问 控制方面,实现对系统的访问控制。同时由于占国内企业总数9 0 左右的中小企 业为了适应未来企业信息化的要求,需要实现一种轻量级的r b a c 系统。因此 在n e t 框架下,设计和实现一种基于a o p 和w e b 服务的轻量级应用访问控制系 统,可以很好的适应中小企业的安全性需求。本论文主要工作包括: ( 1 ) 本文针对现行r b a c 系统在中小企业应用中存在结构复杂、成本高昂、 可维护性和可扩展性差等诸多不足,在基于n e t 框架的应用系统中利用a o p 、 w e b 服务和统一模型r b a c 3 ,设计并实现了一种面向我国中小企业的轻量级访问 控制系统j mr b a c 系统。 ( 2 ) 本文结合传统o o p 思想简明扼要地分析和阐述了a o p 的思想及其在程 序设计方面的优势。针对n e t 环境下a o p 框架众多,但多数框架并不够成熟的 特点,分析和比较了几种相对成熟,且具有代表性的a o p 框架的优缺点,最后选 择s p r i n g n e ta o p 框架来实现a o p 。 ( 3 ) 本文利用m i c m s o t l 发布的w s e 组件来扩展、实现w e b 服务的安全性, 利用w s e 组件提供的u s e m a m e 令牌对s o a p 消息进行数字签名,加密s o a p 消 息,从而实现w e b 服务自身的安全性。 ( 4 ) 本文在分析镇江市城市干道工程建设管理系统中访问控制系统的不足 后,将j mr b a c 应用到该工程管理系统中,根据具体应用需求重新设计了系统 角色,并对j mr b a c 系统作了进一步的扩展,增强了镇江市城市干道工程建设 管理系统的安全性、健壮性、可维护性和可扩展性。 关键词:w e b 服务、面向方面的程序设计、访问控制、基于角色的访问控制、 s p r i n g n e ta o p 框架、w s e 组件、j m _ r b a c 系统 江苏大学硕士学位论文 a b s t r a c t t r a d i t i o n a lr o l e - b a s e da c c e s sc o n t r o l ( r b a c ) s y t s e mn e e d st oa d dt h ec o d e so fa c c e s sc o n t r o l l o g i ci nt h ec o d e so f b u s i n e s sf u n c t i o nl o g j ct oa c h i e v et h ef i n e - g r a i n e da c c e s sc o n t r 0 1 1 1 1 i sw i l ll e a d t os c a t t e r i n ga n dt a n g l i n gt h ew h o l es y s t e mc o d e s ,a n da s p e c t - o r i e n t e dp r o g r a m m i n g ( a o p ) c a ns o l v e t h i s p r o b l e m e x t r a c t i n g t h ea c c e s sc o n t r o l l o g i cf r o ms y s t e ml o g i ca n di m p l e m e n t i n g a s a p s e c t s ,r e l e a s i n gt h ee n t e r p i s ea p p l i c a t i o nb u s i n e s sl o g i ci nt h ef o r mo fw e b s e r v i c e s ,u s i n ga o p f r a m e w o r kt od y n a m i c a l l yi n t e r c e p ti n v o c a t i o n st ow e b s e r v i c e sa n dw e a v et h ec o r r e s p o n d i n ga c c e s s c o n t r o la p s e c t sb a s e do nx m lc o n f i g u r a t i o nf i l e s ,a c h i e v et h ea c c e s sc o n t r o lo ft h es y s t e m a st h e s a m et i m e d o m e s t i ce n t e r p r i s e sa c c o u n t e df o r9 0 o f t h et o t a ln u m b e ro fs m a l la n dm e d i u m s i z e d e n t e r p r i s e si no r d e rt om e e tt h ed e m a n d so f f u t u r ee n t e r p r i s ei n f o r m a t i o n , t h e yn e e df o ral i g h t w e i g h t r b a cs y s t e m t h e r e f o r ed e s i g n i n ga n di m p l e m e n t i n gal i g h t f f e i g h ta c c e s sc o n t r o ls y s t e mb a s e d a o pa n dw e b s e r v i c e si n n e tf r a m e w o r li sg o o dt om e e tt h es e c u r i t yn e e d so fs m a l la n d m e d i u m s i z e de n t e r p r i s e s t h em a i nw o r ko f t h i sp a p e ri n c l u d e s : ( 1 ) i nt h i sp a p e r , a i m i n ga ct h a tt h ee x s i t i n gr b a cs y s t e mi na p p l i c a t i o n so fs m a l la n d m e d i u m - s i z e de n t e r p r i s e si sc o m p l e x , c o s t l ya n de x p a n d a b i l i t yi sp o o r , e t c w ed e s i g na n di m p l e m e n t al i g h t w e i g h ta c c e s sc o n t r o ls y s t e mj mr b a c ,w h i c hi sf o rs m a l la n dm e d i u m - s i z e d e n t e r p r i s e si n o u rc o n t r y , u s i n ga o p , w e b s e r v i c e sa n du n i f i e dm o d e lr b a c 3i nw e b s e r v i c e s b a s e da p p l i c a t i o n s i 1 1 n e tf r a m e w o r k ( 2 ) t h i sp a p e rc o n c i s e l ya n a l y z e sa n dd e s c r i b e st h et h i n k i n ga n da d v a n t a g e si np r o g r a m m i n g c o m b i n i n gt h et r a d i t i o n a lo o pt h i n k i n g b e a c u s et h e r ea r em a n ya o pf r a m e w o r k sb a s e do n n e t f r a m e w o r k , b u tm o s to ft h e ma r en o tm a p d r ee n o u g l _ l w ea n a l y z e sa n dc o m p a r et h ea d v a n t a g e sa n d d i s a d v a n t a g e s o fs o m ea o pf r a m e w o r k sw h i c ha r e c o m p a r a t i v e m a t u r ea n d r e p r e s e n t a t i v e f i n a l l y , w ec h o o s e s p r i n g ,n e t a o p f r a m e w o r k t o i m p l e m e n t a o e ( 3 ) t h i sp a p e ru s e s m i r c r o s o rr e l e a s e d w s ec o m p o n e n t t oe x p a n d a n da c h i e v e w e b s e r v i c e s s e c u r i t y , a n du s e su s e m a r n et o k e no fw s ec o m p o n e n tt oi m p l e m e n tt h ed i g i t a ls i g n a t u r ea n d e n c r y p t i o no f t h es o a pm e s s a g e ,s oa st oa c h i e v ew e b s e r v i c e ss e c u r i t y ( 4 ) b a s e do nt h e a n a l y s i so ft h e i n s u f f i c i e n to ft h ea c c e s sc o n t r o ls y s t e mi np r o j e c t m a n a g e m e n ts y s t e mo ft h er o a dc o n s t r u c t i o ni nz h e n j i a n gc i t y ,w ea p p l yj m _ r b a ct ot h e p r o j e c tm a n a g e m e n ts y s t e m a c c o r d i n gt ot h es p e c i f i ca p p l i c a t i o nn e e d s ,w er e d e s i g nt h es y s t e mr o l e , a n dm a k eaf b r t h e re x p a n s i o no f j m _ r b a cs y s t e m t h ej m _ r b a ce n h a n c e st h es a f e t y , r o b u s t n e s s , m a i n t a i n a b i l i t ya n ds c a l a b i l i t yo fp r o j e c tm a n a g e m e n ts y s t e mo ft h er o a dc o n s t r u c t i o ni n z h e n j i a n gc i t y k e y w o r d s :w e b s e r v i c e s , a s p e c t - o r i e n t e dp r o g r a m m i n g , w s e , r o l e - b a s e d a c c e s sc o n t r o l ,s p r i n g n e t a o pf r a m e w o r k , i i j mr b a c , a c c e s sc o n t r o l 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已注明引用的内容以外,本论 文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:芦主辱 日期:矽6 年 z 月甲日 江苏大学硕士学位论文 1 1 课题的背景和意义 第一章绪论 随着i n t e m e t 和i n t r a n e t 的日益发展、企业信息化的不断推广,更多企业选择 低耦合、易集成的企业应用架构来实现他们的信息系统。在现有企业应用架构中, 面向服务的架构( s e r v i c e o r i e n t e d a r c h i t e c t u r e ,s o a ) 【i 】是一种以更方便地开发易 适应的信息系统为目的的架构,为此受到越来越多的企业的推崇。在众多支持s o a 的技术解决方案中,w e b 服务是一种比较适合的技术解决方案。w e b 服务定义了 一种基于x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展的标记语言) 的平台独立的标 准来实现分布式系统的交互,具有跨平台、跨语言、低耦合、易协同等的优点, 所以将系统业务功能发布成w e b 服务可以很方便地实现企业应用的低耦合和多应 用系统集成等功能。 由于安全性在企业应用系统中的重要地位,因此企业应用也对基于w e b 服务 的应用系统的安全性提出了更高的要求。企业应用系统的安全性主要包括资料的 安全保密性和对应用系统的访问控制。对资料的安全保密,可采用加密解密的方 法解决;对应用系统资源的访问控制依赖于权限验证解决。访问控制的目的是为 了限制访问主体( 用户、进程、服务等) 对访问客体( 文件、系统等) 的访问权 限,从而使计算机应用系统在合法范围内使用【2 】。目前主流的访问控制模型是基于 角色的访问控制( r o l e b a s e d a c c e s sc o n t r o l ,r b a c ) 。这个访问控制模型是在1 9 9 2 年由f e r r a i o l o 和k u h n 正式提出的 3 1 ,因为它能够有效地降低大型应用中安全管理 的复杂度和开销,所以越来越多地引起了人们的关注。 传统基于角色的访问控制系统需要在业务逻辑代码中加入访问控制逻辑代码 来实现访问控制的细粒度。这种实现方式会导致系统代码的分散( s c a t t e r ) 和缠绕 ( t a n g l e ) :由于访问控制逻辑的实现代码分散在各个业务逻辑实现代码中,在实 现每个业务逻辑的同时要考虑到方法级的访问控制逻辑的实现。这样业务逻辑实 现就会混乱,出现业务逻辑代码与访问控制逻辑代码的缠绕,同时由于访问控制 逻辑代码分散在各个业务逻辑代码中,所以也更容易出现访问控制逻辑实现的不 完整,造成系统安全性降低。并且当访问控制逻辑变化时需要在每一个相关的业 务逻辑代码中去修改,这样就会引入很多人为的错误,不利于系统的维护和扩展。 面向方面的程序设计( a s p e c t - o r i e n t e dp r o g r a m m i n g ,a o p ) 【4 】通过将系统中 江苏大学硕士学位论文 的横切关注点( c r o s s c u t t i n gc o n c e r n s ) 分解为方面( a s p e c t ) ,很好地解决了代码 的分散和缠绕问题,更好地实现代码的复用。因此利用a o p 思想将访问控制逻辑 从各个业务逻辑实现中抽取出来,作为系统的横切关注点单独实现为方面 ( a s p e c t ) ,并将业务逻辑通过w 曲服务的形式发布给客户端。然后在系统运行时 利用a o p 框架根据l 配置文件动态拦截对w e b 服务的调用,织入相应的访问 控制方面,实现对系统的访问控制。这种实现方式有利于r b a c 核心代码的复用, 提高企业应用系统的安全性、健壮性、可维护性和可扩展性。 在我国,中小企业占国内企业总数的9 0 左右【5 】,它们同样也对其企业应用系 统的安全性有更高的要求。因此亟需一种轻量级r b a c 系统【6 】来满足中小企业应 用的需求。所以,在n e t 框架下,设计和实现一种基于a o p 和w e b 服务的轻量 级应用访问控制系统,具有很大的研究价值和现实意义。 本课题是江苏省产业信息化重点基金资助项目( 1 6 3 3 0 0 0 0 0 4 ) 。 1 2 国内外研究现状 国内外对于实现基于角色的访问控制系统的研究有很多,主要有证书方式、 l d a p ( 轻量级目录访问协议) 目录服务方式、c o o k i e s 方式【7 】i s 。由于基于b s 结构的w e b 应用系统运行在i n t e r n e t 或i n t r a n e t 上,比传统基于c s 结构的应用系 统更容易遭到攻击和入侵,因此很多研究使用基于公共密钥基础设施( p u b l i ck e y i n f r a s t r u c t u r e ,p i g ) 权限管理基础设施( p r i v i l e g em a n a g e m e n ti n f r a s t r u c t u r e ,p m i ) 体系的证书方式实现基于w e b 的应用系统的访问控制:如【9 】利用基于p k p m i 体 系的x 5 0 9 证书来存储用户的角色信息和访问策略,实现了安全性比较高的r b a c 系统;在 1 0 】中作者使用了基于p k i p m i 体系的证书方式和l d a p 目录服务方式 实现了面向整个w e b 系统的安全访问控制。 随着基于w e b 服务构建应用系统架构的方式越来越多地被业界所采用,实现 基于w e b 服务的应用系统的访问控制研究也逐渐成熟起来。在常规基于w e b 服务 的应用系统中,可以只借助于i i s ( s s l ) 的验证和加密手段,并要求用户使用基本 的h t t p 安全设置或w i n d o w $ 集成的安全设置通过h t t p 协议发送登录凭证 实现r b a c 。也有更安全的实现方式如 11 】利用w s e 组件来实现基于w e b 服务的 应用系统的r b a c ,作者使用w s e 2 0 组件来集成基于x 5 0 9 证书的w s s e c u r i t y 验证和n e t 框架中基于角色的安全功能,最终实现基于w e b 服务的应用系统的 r b a c 。 同样随着a o p 思想逐渐被软件业界所青睐,国外有很多研究利用a o p 来实 2 江苏大学硕士学位论文 现基于w e b 服务的应用系统的访问控制研究,一般是将w e b 服务中的非功能性模 块( 也可以称为横切关注点) 如:日志服务、事务处理、访问控制、异常处理等, 从w e b 服务中分离出来,单独实现为方面,然后在w e b 服务被调用时,利用a o p 框架根据访问控制策略动态织入这些方面,以此来提高w e b 服务的系统安全性和 可扩展性。如 1 2 1 开发一个通过w 曲服务提供分析病入血样服务的自动机器入, 为了提高w 曲服务的安全性和可扩展性,将功能逻辑、非功能处理逻辑和 s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c o l ,简单对象访问协议) 逻辑分离,将非功能逻辑 实现为方面,根据策赂在服务力日载时动态加载方面,系统使用开源的t o m c a t - a x i s 组合实现。国内这方面的研究并不多,国内的研究热点主要是利用a o p 思想对权 限管理、访问控制技术进行改进。如 1 3 1 利用a o p 思想,将w e b 系统业务逻辑模 块中盼权限管理代码抽象为方面,然后将方面动态地织入到相关的业务逻辑模块 中,该文作者利用j a v a 平台下的开源的s p n n ga o p 实现,但只是初浅的尝试并未 深入应用。在 1 4 q b ,为了解决通过在系统的多数业务逻辑中添加权限验证逻辑, 实现访问控制的细粒度,而出现的系统代码缠绕和分散、系统结构混乱和难于管 理维护等问题,作者利用a o p 思想将权限验证功能从各个业务逻辑中抽取出来单 独实现,让权限验证在需要时被自动触发。作者还利用基于n e tr e m o t i n g 实现 a o p 的方法作了原型实验。 尽管国内外对于利用a o p 实现基于w e b 服务的应用系统的访问控制系统的研 究有很多,有的也比较成熟,但在实现中小企业基于w e b 服务的应用系统的访问 控制方面主要还存在以下不足: ( 1 ) 由于目前在j a v a 平台下a o p 产品比较成熟,但在n e t 平台下却不够成 熟,所以国内外利用a o p 思想实现r b a c 的研究主要集中在j a v a 平台下,对 于n e t 平台下的研究并不多。虽然利用a o p 思想结合w 曲服务技术来改进r b a c 在很多原理方面是相通的,但不同的平台环境下,很多方面实现起来还是截然迥 异的。j a v a 环境下比较先进成熟的实现方法,并不适合n e t 环境下的应用实践。 ( 2 ) 很多访问控制系统所使用的r b a c 模型比较基础,并不适应实现访问控 制的“最小权限原则”和“权限约束原则”【1 5 】。基本的r b a c 模型虽然也能实现 基本的访问控制,但是在很多中小企业应用中存在人员数量有限,但角色众多的 情况,所以只有充分考虑到角色的层次结构和职责分离才能避免角色权限的冲突, 实现访问控制的“最小权限原则”和“权限约束原则”。 ( 3 ) 基于w e b 服务的应用系统对安全性要求很高,虽然许多重量级的r b a c 系统可以满足这种需求,但由于其体系庞大、复杂,并不适合在我国的中小企业 3 江苏大学硕士学位论文 中推广应用。特别是基于p k i p m i 体系的r b a c 系统,虽然其安全性能优良,但 其结构复杂、成本高昂、可扩展性差。这就很难适应中小企业对系统轻量级、快 速开发、低投入高回报等要求。 1 3 论文的主要工作 论文的主要工作包括以下几个方面: ( 1 ) 在基于n e t 框架的应用系统中利用a o p 、w e b 服务和统一模型r b a c 3 , 设计并实现了一种针对我国中小企业的轻量级应用访问控制系统j m j a c 系统。 本文针对现行r b a c 系统在中小企业应用系统中存在结构复杂、成本高昂、 可维护性和可扩展性差等诸多不足,在基于n e t 框架的应用系统中利用a o p 、 w e b 服务和统一模型r b a c 3 ,设计并实现了一种面向我国中小企业的轻量级应用 访问控制系统,mr b a c 系统。由于很多n e t 开发环境对快速开发的支持以 及w i n d o w s 操作系统在桌面平台的主导地位,使得越来越多的中小企业选择基 于n e t 平台开发它们的信息系统,因此这个基于n e t 环境下的轻量级访问控制系 统更好的适应中小企业对应用系统的访问控制需求。 ( 2 ) 分析了a o p 的思想及其在程序设计方面的优势,比较分析了n e t 环境 下主流a o p 框架的优缺点,使用s p r i n g n e t a o p 框架来实现a o p 。 a o p 作为一种对o o p 在程序设计方面的补充,可以很好地解决“关注点分离” 的问题,本文结合传统o o p 思想简明扼要的分析阐述了a o p 的思想及其在程序 设计方面的优势。针对n e t 环境下a o p 框架众多,但多数框架并不够成熟的特 点,分析比较了几种相对成熟,且具有代表性的a o p 框架的优缺点,最后选择 s p r i n g n e t a o p 框架来实现a o p 。s p r i n g n e t 框架是s p r i n g 框架面向n e t 框架 的一种移植,是一种n e t 环境下基于i o c 模式实现的、相对成熟的轻量级企业应 用框架。 ( 3 ) 利用w s e ( w e bs e r v i c e se n h a n c e m e n t s ) 组件实现w e b 服务自身的安全。 w e b 服务作为一种跨平台、跨语言、低耦合、易协同的技术,迅速得到了软 件业界的推崇,但其安全性一直是一个影响w e b 服务应用推广的瓶颈。本文利用 m i c r o s o f t 发布的w s e 组件来扩展、实现w e b 服务的安全性,利用w s e 组件提供 的u s e m a m e 令牌对s o a p 消息进行数字签名,加密s o a p 消息,从而实现w e b 服务自身的安全性。 ( 4 ) 将j mr b a c 应用到镇江市城市干道工程建设办公室的建设工程管理系 4 江苏大学硕士学位论文 统中,实现该建设工程管理系统的访问控制。 本文提出的删一r b a c 系统是针对中小企业的访问控制系统,因此本文在分 析镇江市城市干道工程建设管理系统中访问控制系统的不足后,将j mr b a c 应 用到该工程管理系统中。根据具体应用需求重新设计了系统角色,并对j mr b a c 系统作了进一步的扩展,增强了镇江市城市干道工程建设管理系统的安全性、健 壮性、可维护性和可扩展性。 1 4 论文的组织 论文共分五章,主要内容概要如下: 第一章绪论 本章说明了本课题的研究背景及其意义;分析了国内外相关研究的现状;最 后分别阐述了本文的主要工作和论文的组织结构。 第二章相关理论及技术 本章分别分析和说明了基于角色的访问控制技术的概念模型;面向方面的程 序设计的基本思想以及其技术优势,并结合对s p r i n g n e t a o p 框架的研究,分析 比较了n e t 环境下的主流a o p 框架的优缺点;阐述了w e b 服务技术的概念,分 析其体系架构、技术要素,最后分析研究了w s s e c u r i t y 协议和w s e 2 0 组件。 第三章j m _ r b a c 系统的架构设计与实现 本章针对现行r b a c 系统在中小企业应用中的不足,设计了基于a o p 和w e b 服务的轻量级应用访问控制系统,mr b a c 系统;分别就j mr b a c 的w e b 服务接口的实现、身份验证方面的实现、权限验证方面的实现、方面的动态织入 以及w e b 服务安全性的实现作了分析和说明;最后还总结了j mr b a c 系统的优 点。 第四章j mr b a c 系统在建设工程管理系统中的应用 本章将j m _ r b a c 系统应用到了镇江市城市干道工程建设管理系统中。首先 分析了原有系统的访问控制系统的不足,然后根据系统需求说明书重新设计了系 统角色,还分别针对角色继承和职责分离作了分析和设计;设计和实现了系统角 色的授权;针对该应用系统对j m _ r b a c 作了必要的扩展,最后以一个系统实例 分析j mr b a c 在该应用系统中的实现过程并作了应用结果分析。 第五章结束语 本章总结了本文所作的研究工作,并对接下来的研究作了进一步的展望。 5 江苏大学硕士学位论文 第二章相关理论及技术 2 1基于角色的访问控制 2 1 1 r b a c 的提出及标准化 访问控制( a c c e s sc o n t r 0 1 ) 是指通过某种途径,允许或限制访问能力及其范 围的一种方式。信息系统通过实施访问控制,可以限制对关键资源的访问,防止 非法用户的侵入或者因合法用户的不慎操作所造成的破坏。这里所说的关键资源 可以是网络设备、应用系统功能、数据库记录、资料文档等等【1 6 1 。访问控制的发 展始于2 0 世纪六七十年代,期间提出了以下三种被广泛接受的主流访问控制技术, 即;自主访问控带f j ( d i s c r e t i o n a r ya c e sc o n t r o l ,d a c ) 、强制访问控常g ( m a n d a t o r y a c c e s sc o n t r o l ,m a c ) 、基于角色的访问控制。在d a c m a c 系统中,访问权限直 接授予用户,由于系统中的用户数量众多而且经常变更,这就无疑增加了授权管 理的复杂度。 1 9 9 1 年r a v i s a n d h u 提出了基于角色访问控制的概念模型,对基于角色访问控 制模型的发展做出了重大贡献。1 9 9 2 年,在第十五届美国国家计算机安全会议 ( n a t i o n a lc o m p m e rs e c u r i t yc o n f e r e n c e ) 中,f e r r a i o l o 博士和k u h n 博士( n i s t ,国 家标准化和技术学会) 正式提出了“基于角色的访问控制”的模型。 在此之前,阻碍企业网络化发展的一个主要障碍是无法有效地管理授权。授 权管理的费用很高并且很容易出现错误。网络服务器管理员经常通过访问控制列 表( a c c e s sc o n t r o ll i s t ,a c l ) 来进行安全管理,但是访问控制列表存在很多问 题:它绑定在特定对象上,适合于自主型策略,即将终端用户作为对象的拥有者。 然而在许多工业企业和政府部门中,终端用户并不真正的“拥有”他们所被允许 访问的信息【1 7 1 。对于这样的组织来说,企业或者代理才是系统对象的所有者,因 此自主型控制并不适用。 另一方面,访问控制列表将用户和权限直接关联起来,这使得权限管理更加 复杂。应用中如果存在大量的用户和权限意味着要花很大的精力来管理用户和权 限的关联。 事实上,在7 0 至8 0 年代,就有许多系统透过“角色”( r o l e ) 的观念来简化 管理程序,例如i b m 的r a c f ,c o m p u t e ra s s o c i a t e s 的c a a a c f 2 与c a t o p s e c r e t 等。在i b m 的r a c f 中,提供了一个“操作角色”( o p e r a t i o n r o l e ) ,可 以访问所有资源,但是不能更改资源访问权限;另外“特殊角色”( s p e c i a lr o l e ) , 6 江苏大学硕士学位论文 可以更改权限,但不能访问资源;而“审计角色”( a u d i t o r r o l e ) 可以查看审计资 料,包括操作角色与特别角色所产生的审计资料,而此审计资料是操作角色和特 别角色不能查看的。“角色”的观念发展至今,在n o v e l l 的n e t w a r e 与m i c r o s o f t 的w i n d o w s 中都可以看见角色的使用。 r b a c 标准主要由两部分组成,一是r b a c 模型,二是r b a c 功能规范。r b a c 模型主要目的是为精确描述需求而定义一套术语词汇以及设定标准中的特性范 围;r b a c 功能规范中定义了为创建,维护砌;a c 元素集及关系所使用到的管理 操作需求等。 2 1 2n i s t 提出的r b a c 模型 本文在上节提到过n i s t 提出的标准r b a c 模型【l 引,它由4 个部件模型组成, 分别是基本模型r b a c 0 ( c o r er b a c ) 、角色分级模型r b a c l ( h i e r a r c h a lr b a c ) 、 角色限制模型r b a c 2 ( c o n s t r a i n tr b a c ) 和统一模型r b a c 3 ( c o m b i n e sr b a c ) , 其中r b a c o 模型如图2 1 所示 与 图2 1r b a c 0 模型结构 从图2 1 中,可以看到r b a c 0 中的基本元素包括:用户、角色、权限和会话。 下面本文对这些元素以及它们之间的关系加以说明: 用户( u s e r ) 用户就是一个可以独立访问计算机系统中的数据或者用数据表示的其他资源 的主体。用户在一般情况下是指人,即被授权使用计算机的人,每个系统工作都 有一个或几个用户参与。根据用户所承担的职责、义务,用户可能被指定为多个 角色。 角色( r o l e ) 角色就是一个或一群用户在组织内可执行的操作的集合。它可以表现为企业内 的职称头衔或职能,其语义与授权有关。d a c 、m a c 都是由主体和客体直接发生 联系,而r b a c 引入了角色这个中介,通过它来沟通主体和客体。这样,整个访问 7 江苏大学硕士学位论文 控制过程就分成两个部分,即访问权限与角色相关联,角色再与用户关联,从而实 现了用户和访问权限的逻辑分离。 “用户角色”和“角色权限”都是“多对多”的对应关系。与用户 和权限相比,角色是一个相对稳定的概念。用户所拥有的角色可能经常变化,但 是角色所拥有的权限是相对固定的。在r b a c 中,可以预先定义“角色权限” 之间的关系,然后将预先定义的角色赋予用户,明确责任和授权,从而加强安全 策略。把角色赋予用户比把权限直接赋予用户的工作容易的多。 权限( p e r m i s s i o n ) 权限是对计算机系统中的数据或者用数据表示的其他资源进行访问的许可, 它是对授权的描述。 会话( s e s s i o n ) 一个用户可能被指定多个角色,但这些角色并不一定同时都起作用,而是要 根据用户在系统中的当前状态、所承担的责任和权利来决定该激活哪些角色。此 时会话就代表用户与激活的角色集合之间的映射。在一个时刻某用户激活的角色 集合被称为该用户的当前激活角色集。在任何时刻,用户所拥有的权限是该用户 当前激活角色集所允许的所有权限的一个子集。 用户指派( u s e ra s s i g n m e n t ) 用户指派也可称为角色授权,是用户集与角色集之间的一个二元关系。如u a u x r a ( u ,r ) u a 表示用户u 拥有角色r ,从语义上说表示u 拥有r 所具有的权 限。 权限指派( p e r m i s s i o na s s i g n m e n t ) 权限指派是角色集与权限集之间的一个二元关系。如p a e p x r a ( p ,r ) e p a 表 示权限p 被赋予角色r ,从语义上说表示拥有r 的用户拥有权限p 。 2 1 2 1 角色分级模型r b a c l 在r b a c 0 的基础上,r b a c l 在角色之间加入了层次关系,实现了“角色继 承”的概念。在一个大型组织里,往往存在很多通用的权限,层次关系可以避免 相同权限的重复管理,同时层次结构也很自然地反映了应用单位的组织结构。 这里的“继承”指的是角色之间的一种二元逻辑关系,用r i - r j 表示继承 了i ,那么可所能具有的权限,鼬都默认地具有该权限,它能够访问所有w 能 访问的资源。一般本文说阿是黜的父角色,而相应地黜则为可的子角色。角色 之间的继承关系有时也称为蕴含关系,如前面的例子就可以表达为:黜蕴含了角 色对。这类继承必须满足偏序关系: 8 江苏大学硕士学位论文 ( 1 ) 自反性,即对于任何角色r ,总存在r _ r ; ( 2 ) 传递性,即p q ,w r k 寸r 2 r k ; ( 3 ) 反对称性,如果r 对且p v r ,则可得到r = p q 。 角色的继承关系可以是多重的,即一个角色可以同时继承多个角色的权限, 多个角色也可以同时继承同一个角色的权限。 2 1 2 2 角色限制模型r b a c 2 在r b a c 0 的基础上,r b a c 2 模型添加了职责分离( s e p a r a t i o n o f d u t i e s ,s d ) 关系。r b a c 2 的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户 在某一时刻激活一个角色时所应遵循的强制性规则。职责分离包括静态职责分离 ( s t a t i cs e p a r a t i o n o f d u t i e s ,s s d ) 和动态职责分离( d y n a m i cs e p a r a t i o n o f d u t i e s , d s d ) 。 静态职责分离应用于用户和角色的指定过程,而动态职责分离控制角色激活 的过程,即控制在一段时间内,不同的角色能否同时激活。在静态限制下,如果 两个角色被指定具有约束,则一个用户不能同时担任这两个角色。另一种静态限 制是对一个角色可被指定给用户的数量进行限制,这种限制可能同时包括上限和 下限。而在动态约束下,可以给一个用户指定多个角色,当多个角色被独立激活 时,不存在冲突,但当同时激活这些角色时,冲突就会产生。 两种职责分离的一个直观的区别如下:在静态限制下,一个用户不能既担任 贷款人又担任审批人,而在动态限制下,一个用户只是不能同时担任同一笔贷款 的贷款人和审批人。当同时考虑角色间的继承关系时,职责分离就更为复杂了, 必须添加相应的限制条件,如具有继承关系的角色之间不能存在静态约束等。 而砌j a c 3 模型包含了r b a c l 和r b a c 2 ,既提供了角色间的继承关系,又提 供了职责分离关系。 2 2 面向方面的程序设计 2 2 1a o p 的基本思想 软件设计的一个重要原则,就是要清晰地分离各种关注点( s e p a r a t i o no f c o n c e r n s ) ,然后分而治之,各个击破,最后形成统一的解决方案【i9 】。所谓关注点 就是指一个特定的目标、概念、或者兴趣域。从技术角度来说关注点的分离可以 分为核心级关注点和系统级关注点。更进一步从软件设计开发的角度说,核心级 关注点可以称为业务逻辑关注点,系统级关注点可以称为横切关注点( c r o s s c u t t i n g 9 江苏大学硕士学位论文 c o n c c r l l s ) ,这两级关注点其实是一种二维解空间问题,横切关注点横切于若干业 务逻辑关注点。而面向对象程序设计( o o p ) 的解空间始终是一维的,虽然有著 名的g o f2 3 种设计模式,以及不断增加的新的模式,但是它始终避免不了a o p 所指出的o o p 的先天不足代码的分散( s c a t t e r ) 和缠绕( t a n g l e ) 【2 0 】。 面向方面的程序设计正好可以解决上述问题。它允许开发者动态地修改静态 的o o 模型,构造出一个能够不断增长以满足新增需求的系统,就象现实世界中 的对象会在其生命周期中不断改变自身,应用程序也可以在发展中拥有新的功能。 a o p 利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多 个类的行为封装到一个可重用模块,并将其名为“a s p e c t ”,即方面。所谓“方 面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责 任,例如事务处理、日志管理、访问控制等,封装起来,便于减少系统的重复代 码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。从而节省了软 件开发的时间,有效的控制开发成本。正如a v a n a d e 公司的高级方案构架师a d a m m a g e e 所说,a o p 的核心思想就是“将应用程序中的业务逻辑( 功能逻辑) 同对 其提供支持的非功能逻辑进行分离。” a o p 的提出受到业界的广泛关注,在j a v a 平台下,出现了像a s p e c t , 【2 l 】、 a s p e c t w e r k z 2 2 1 、j b o s s a o p 2 3 1 、s p 血g a o p 【2 4 】等成熟的企业级a o p 框架。但n e t 平台,虽然也有像a s p e c t # t 2 5 1 、s p r i n g n e t a o p 2 6 1 、e o s 2 刀等不错的,但不是太成 熟的a o p 框架。 2 2 2a o p 的技术优势 通过“横切”技术,a o p 技术就能深入到对象内部,截取方法之间传递的消 息。由于将核心关注点与横切关注点完全隔离,使得能够独立的对“方面”编程。 它允许开发人员动态地修改静态的o o 模型,构造出一个能够不断增长以满足新 增需求的系统,就象现实世界中的对象会在其生命周期中不断改变自身,应用程 序也可以在发展中拥有新的功能。 设计软件系统时应用a o p 技术,其优势在于: ( 一) 在定义应用程序对某种服务( 例如日志) 的所有需求的时候。通过识 别关注点,使得该服务能够被更好的定义,更好的被编写代码,并获得更多的功 能。这种方式还能够处理在代码涉及到多个功能的时候所出现的代码缠绕问题。 ( 二) 利用a o p 技术对分散的方面进行的分析将有助于为开发团队指定一位 精于该项工作的专家。负责这项工作的最佳人选将可以有效利用自己的相关技能 和经验。 1 0 江

温馨提示

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

评论

0/150

提交评论