资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
计算机科学2 0 0 4 V 0 1 3 1 N o 1 0 ( 增刊) 基于角色的访问控制在W e b 服务中的研究与实现 D e s i g na n dI m p l e m e n t a i o no fR o l e B a s e dA c c e s sC o n t r o li nW e bS e r v i c e s 钟鸣周斌贾焰 ( 国防科技大学计算机学院长沙4 1 0 0 7 3 ) A b s t r a c t S e c u r i t yi Sak e yf a c t o rt o rW e bS e r v i c e st Ob eS U C C C S S f U l ,a n dn o wt h e r ea r es o m er e l a t i n gs p e c i f i c a t i o n s f o rs e c u r i t yR o l e b a s e da c c e s sc o n t r o li sak i n do fa c c e s s c o n t r 0 1m o d e lw i d e l yu s e di ne n t e r p r i s ea p p l i c a t i o n s a n d i th a st h ec o r r e s p o n d i n gs t a n d a r d B a s e d0 nt h e s es t a n d a r d s ,t h i sa r t i c l es u g g e s t sa n di m p l e m e n t sa na c c e s s c o n t r o l f r a m e w o r kO naW e bs e r v i c e sp l a t f o r m a n ds oi ta s s u r e s8s y s t e m Si n t e g r i t ya n ds e c r e c y ,a n di m p l e m e n t sa c c e s s c o n t r o lh e s e do nv e r i f i e di d e n t i f i c a t i o n s K e y w o r d sR B A C ,W e bs e r v i c e s ,S e c u r i t y ,X M L ,S i g n a t u r e ,E n c r y p t i o n ,X A C M L 1 引言 W e b 服务是一种基于W e b 的应用程序,通过 遵循一些W e b 技术标准,如X M L 1 、S O A P n 、W S D L 引、和H T T P 1 等标准能够跨I n t e r n e t I n t r a n e t 地接收来自不同系统的请求消息。虽然w e b 服务为 未来的跨平台异构通信描述了美好的框架,但是要 能在企业范围内得到广泛的应用,能否解决w e b 服 务的安全问题是W e b 服务能否取得成功的关键之 一。然而,现有的一些W e b 应用程序和H T T P 的安 全技术标准,如安全套接层( S S L ) 、防火墙和I P S e c 等,并不能完全满足w e b 服务的安全需求,比如不 能提供端到端的消息层安全,不能独立于底层的通 信协议等。 过去四年来,W 3 C 组织。埽O A S I S 组织3 提 出一些保护W e b 服务的安全规范,其中有一些用来 保护X M L 的完整性和机密性,还有一些用来描述 访问控制的规则和策略。本文基于这些规范,在自主 研发的w e b 服务系统S t a r W e b S e r v i c e 口1 中实现基 于角色的访问控制机制。 基于角色的访问控制( r o l e b a s e da c c e s sc o n t r o l ,R B A c ) 自2 0 世纪9 0 年代被提出以来口 ,已经逐 渐发展成为一个功能较为完善的访问控制模型。同 传统的自由访问控制( D A C ) 和强制访问控制 ( M A c ) 相比,R B A C 代表了在灵活性和控制粒度上 的一个重大进步,能够更恰当地描述企业的安全结 构o ,并在逐渐取代传统的访问控制模型。近年来, 许多厂商纷纷开始在它们的数据库管理系统、安全 管理系统及网络操作系统产品中应用了R B A C 的 一些特征,但是在R B A C 的特征定义上还缺乏统一 的认识。由于没有一个被广泛接受的模型,导致了在 R B A C 的使用和理解上存在着不确定性和困惑。针 对这种情况,美国国家技术与标准局( N a t i o n a lI n s t i t u t eo fS t a n d a r da n dT e c h n o l o g y ,N I S T ) 提出了 四种R B A C 参考模型标准口“,其中定义了R B A C 的特征,并描述了这些特征的功能规范。本文将阐述 如何在S t a r W e b S e r v i c e 系统中实现其中的核心参 考模型。 2 相关研究 2 1X M L 的安全规范 X M L 签名规范n 1 规定了X M L 数字签名的语 法和处理规则,处理规则包括两部分:生成X M L 签 名和验证X M L 签名。遵循X M L 签名规范,可以为 任意类型的数据( 包括X M L 文档) 提供完整性、消 息验证和签名者身份验证等安全服务;可以对X M L 文档的任意粒度的子节点进行签名,支持对同一 x M L 文档进行多个签名的机制。 X M L 加密规范m 3 规定了对任意数据( 包括 X M L 文档) 进行加密和将加密结果表示成X M L 格 式的过程。根据规范,可以对X M L 文档的整个部分 或其中任意一个元素进行加密,还可以对同一X M L 文档进行多个加密。数据经过加密后结果是一个 X M L 加密元素,其中包含了密文或对该密文的引 用。 可扩展的访问控制标识语言( e X t e n s i b l eA c c e S SC o n t r o lM a r k u pL a n g u a g e ,X A C M L ) u ”是一 个可用于通用目的的策略系统,用来满足大多数授 权系统的需求n “。该规范的核心部分定义了描述策 略语言的语法和处理这些策略的语义还定义了查 询该策略系统的请求格式和响应格式以及判断请 求所适用的策略的语义。请求格式和响应格式表示 * ) 奉谭题得N 8 9 3 课题( 2 0 0 2 A A l 6 0 4 0 ) 、国家自然科学基金资助项目( 9 0 1 0 4 0 2 0 ) 资助钟鸣硕士研究生主要研究方向为分布计算与誊垒 技术。周斌副研究员主要研究方向为分布计算与数据库贾焰教授。博士生导师,主要研究方向为分布式数据库 4 6 了策略执行点与策略决策点交互的标准接口。策略 执行点发出请求并处理响应;策略奂策点根据请求 可适用的策略,处理请求并生成响应。策略执行点可 以嵌入到具体的应用系统中。 2 2 核心R B A C 模型 N I S T 的R B A C 标准所包括的核心模型见图1 。 核心R B A C 包括五个基本的数据元素集合:用户、 角色、客体、操作和权限,角色是R B A C 的中心。核 心R B A C 模型的基本定义是用户可以被指派到角 色,并且权限可以被指派到角色。这样,角色代表是 用户和权限之间的多对多的关系。另外,核心R B A C 模型还包括一个会话集合。图1 还显示了用户指派关 系和权限指派关系,其中的双箭头是指多对多的关 系。这种安排方案为用户到角色的指派和权限到角 色的指派提供了很好的灵活性和合适的粒度。每个 会话是个用户到多个可能的角色之间的一个映 射,也就是说,一个用户建立了一个会话,并在会话 期间激活了他所被指派的角色的角色子集。每个会 话只与个用户关联,而每个用户可以同时拥有多 个会话。用户在会话期问所拥有的权限,应该属于激 活的角色子集所被授予的权限集合。 图l 核心R B A C 5 核心R B A C 模型的实现 5 1 S t a r W e b S e r v i c e S t a r W e b S e r v i c e 是我们自主研发的遵循S O A P 规范1 2 ,0 M G 的C O R B At oW S D L S O A P1 o 规 范 ” ,C O R B A 2 3 标准的W e bS e r v i c e s 封装和 发布平台。该平台借鉴了A p a c h eA x i s 1 钉的体系结 构及服务引擎实现;支持c O R B A 对象封装为W e b 服务,并支持目前所有主流中间件有效集成;支持应 用层的访问控制。A p a c h eA x i s 是目前广泛采用的 W e b 服务开发包,可以接入J a v a 类、E J B 或C O M 构件等但它目前还没有提供对访问控制及其他一 些安全保护的支持。 5 2 安全S O A P 消息的设计 通过对s O A P 消息进行签名和加窑,可以保证 S O A P 消息本身的完整性和机密性,同时可以从签 名后的S O A P 消息获取主体的身份信息,以供访问 控制使用。本文中采取的是先签名后加密、先解密后 验证签名的方法。 基于A x i s 的体系结构,签名、验证签名、加密和 解密这四个过程可以分别实现成A x i s 的四个H a n d l e r :S i g n a t u r e H a n d l e r 、V a l i d a t e H a n d l e r 、E n c r y p t i o n H a n d l e r 和D e c r y p t i o n H a n d l e r ,它们都继承了 A x i s 的B a s i c H a n d l e r ,H a n d l e r 类似于消息的截获 器。这四个H a n d l e r 可以根据需要,通过修改服务器 端或客户端的配置文件,加载相应的H a n d l e r 。例如 在A x i s 服务器端,这些H a n d l e r 可咀加载在全局层 和服务层的请求流和响应流上。H a n d l e r 如果是插 入在全局层的消息处理链中,则会对所有服务的调 用起保护作用;H a n d l e r 如果是插入在服务层的消 息处理链中,则只会对某个特定的服务的调用起保 护作用。同样,根据需要,可以在A x i s 的客户端插入 相应的H a n d l e r 。这四个H a n d l e r 必须配对使用, S i g n a t u r e H a n d l e r 配对V a l i d a t e H a n d l e r ,E n c r y p t i o n H a n d l e r 配对D e c r y p t i o n H a n d l e r ,配对的H a r t - d l e r 分别位于S O A P 消息输出端和输入端。本文中 采用的是A p a c h e 组织的X M L 签名工具包“”、I B M 公司的X M L 加密工具包o ”和S U N 公司的 X A C M L 工具包 脚。 闰2A x i s 服务器端的体系结构 其中,S O A P 消息包含一个( E n v e l o p e ) 元素,后 者又包括一个 元素进行签名,生成 的签名信息存放在( H e a d e r ) 元素中。本文中采用的 是公钥签名,生成的签名消息
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号