一个基于角色的WEB 安全访问控制系统

来源:互联网 发布:已而为知之者,殆而已矣 编辑:程序博客网 时间:2024/06/06 01:01
 
一个基于角色的WEB 安全访问控制系统
 
赵锐     河北工业职业技术学院计算机技术系软件专业      Email: zr04rj@hotmail.com
 
摘要
 在WEB安全管理上访问控制是一个富有挑战性的问题。本文对基于角色的访问控制模型进行分析并对相关的概念进行了定义,给出了实现模型和算法设计;对现行的Web 安全认证和访问控制中存在的问题和隐患进行了分析,并给出了一种新的可行的安全解决方案。本文最终实现了一个基于角色访问控制策略的 WEB 资源安全管理系统,该系统在实际应用中取得可靠,稳定和有效的结果。
 
关键词 访问控制,网络安全
 
A Role-based WEB Security Access Control System
 
Abstract It is a challenging problem for access control on WEB security management. In this
paper, we analysis on role-based access control model and define the related concepts. The
implemented model and algorithms are presented. We also provide a new feasible security
solution for the trouble problems exited in the authentication and access control on WEB
application. As a result, we implemented the WEB security management system by using
role-based access control model. The system has had sound, stable and valid performances of application in real environment.
Keywords access control, network security
 
引言
    网络安全已经越来越引起人们的重视。网络安全就是要做到保障各种网络资源稳定、可靠地运行及受控、合法地被使用。访问控制就是实施允许被授权的主体(单个用户或团体组织)对某些资源的访问,同时拒绝向非授权的主体提供服务的策略。对于大型分布式网络系统特别是WEB 应用访问控制成为一个应用层必不可少的基本安全技术,而且由于其复杂性使得访问控制成为一个富有挑战性的问题。进行访问控制管理的最终目的是要加强信息有效、安全的使用,同时对不同用户实施不同访问许可,它是系统保密性、完整性、可用性和合法使用性的基础。通常为了提高服务器的信息安全访问,用户在进行正常的访问前服务器往往都需要认证用户的身份、确认用户是否授权,但是随着网络规模和应用系统的扩大,用户通常要访问许多不同的服务器,而每个服务器的认证功能重复而且授权策略各不相同,用户访问时需要记住许多不同的用户名、口令等,造成了极大的不便,而且现有的WEB 运行环境也存在着极大的安全隐患。例如,网络中的信息以明文传输、没有或很弱的身份认证功能、没有统一的授权管理功能、缺少面向应用分析的日志等等。为了加强身份认证和访问控制,适应对大规模用户和海量数据资源的管理,本文采用基于角色的访问控制策略给出一个相应的解决方案。传统的管理是基于用户和组的概念模型的,这是自 Unix 系统开始就一直使用至今。用户组和角色在实现访问控制策略时的最大区别在于:用户组仅是用户的集合;而角色则还是权限的集合,角色是两个集合之间联系的媒介。基于角色的访问控制将权限同角色关联系起来,而对用户赋予相应的角色,用户所能访问的资源权限就是该用户所拥有的角色的权限集合的并集。根据机构中不同工作的职能我们可以创建不同的角色,每个角色代表了一个独立的访问权限实体,它们之间可以有继承、限制等关系,然后在建立了这些角色的基础上根据用户的职能分配相应的角色。这样对于用户机构变动时就可以很容易的将该用户从一个角色移到另一个角色去实现变更,而操作对用户完全透明。另外,还可以根据应用系统的需要对角色进行重新授权或取消某些权限,这使得基于角色访问控制策略的管理具有无可比拟的灵活性和方便性。
基于角色的访问控制RBAC (Role-Based Access Control) 的概念是从20 世纪70 年代对在线的多用户、多应用系统的研究开始的[1]。J. S. Park 和R. Sandhu [18] 研究了Web 上RBAC 的实现策略,提出了利用安全Cookies 、智能认证以及LDAP 三种实现方法。许多大型数据库产品(如Oracle 8.0, Sybase 11.5, Informix 7.2)[19]以及操作系统软件产品(如Solaris [20]) 都相继实现了基于角色的安全访问控制。正因为基于角色访问控制策略是一项成功的技术,在大规模的Web 网络应用环境中,我们正需要用它来有效地增强对用户访问的控制和管理。
本文在对角色访问控制模型进行分析的基础上,设计并实现了一个WEB 安全访问控制系统,称为 WebDaemon 。在 WebDaemon 中,主要工作包括以下几个方面:
1. 在用户登录访问上,实现了单点登录(Single Sign On) ,可以严格的控制用户对系统
的访问,而WebDaemon 以应用网关的方式提供验证和中转服务;
2. 在加强安全性方面,不仅实现了对服务器和客户端的双向认证,还采用安全Cookie
机制,可以有效的抵制来自网络的篡改攻击、延迟攻击和重放攻击等,保证了通信
双方的安全,在实现中我们采用了比R.Sandhu[18] 更安全的协议和方法;
3. 在访问控制策略上,采用了RBAC 模型,并对角色的命名和管理提出了包括预运
算、缓存等许多新的方法。
WebDaemon 已经在一个大型企业中实际应用,经常长时间的运行表明该系统具有,安全可靠和稳定有效的结果。
本文下一节描述在WebDaemon 中采用的关键技术,在第三节中,我们主要阐述
WebDaemon 的设计和工作流程,在第四节中,我们主要从系统实现的技术角度分析
WebDaemon 的各个组件模块,第五节给出了WebDaemon 在实际环境下的运行状况和效率,最后,我们比较了与WebDaemon 相关的工作,并指出进一步的研究问题。
正文
一、相关技术
(一)RABC 模型
关于访问控制,人们提出了各种对保护数据加以控制的安全模型,如自主性访问控制
(Discretionary Access Control ,简称DAC) 、强制性访问控制(Mandatory Access Control ,简称MAC) ,这些模型适用于不同的应用程序和应用环境,他们通常都是基于采用用户—组的安全模型。而RBAC 具有简化管理的优越性,它可以更好的适合大型系统的管理应用。
访问控制策略体现在RBAC 模型里是用户—角色、角色—权限和角色—角色之间的关系。采用RBAC 的最大的好处在于将用户和它具有的权限分离开来,管理员可以将用户的授权和权限的划分进行分别处理,给用户授予角色来实现用户的授权操作。在集中式管理中,这些关系通常是由一个指定的管理员来进行分配;而在分布式管理中,它们可以由多个具有不同管理权限域的管理员来管理。图 1 和图 2 给出RBAC 的模型层次图,RBAC0 是任何支持RBAC 系统需要满足的最低要求。RBAC1 和RBAC2 都包含RBAC0 ,但是分别有各自的特点。RBAC1 增加了角色之间可以相互继承访问权限的层次的概念,而RBAC2 则对RBAC 组件添加了限制条件的约束,RBAC1 和RBAC2 相互独立。RBAC3 则同时包含了RBAC1 和RBAC2 [7] 。在本文的系统中,我们对 RBAC 理论模型进行了组件化实现,使访问控制管理包含几个组件:可以控制细化到单个文件级别访问的权限配置模块、用于角色定义的管理员模块、定义角色之间关系的模块以及配置用户权限的模块。
图 1 RBAC 模型的关系
 
RBAC3
RBAC1                            RBAC2
 
RBAC0
 
(二)安全Cookies
由于HTTP/1.1 协议本身是无状态的协议[2, 9, 10] ,为了方便用户的访问,维持服务器和客户端的连接状态,人们引入了Cookies[3,4,5,6]机制。Cookies 是包含用户相关信息编码的文本串。通常在用户访问使用Cookies 的Web 站点时,通过浏览器发送到用户的内存并且在浏览器关闭后保存到硬盘中。下次用户再次访问时,Web 服务器可以获取这些
Cookies 并从中得到用户的信息。虽然为了保证传输信息的安全,人们采用了SSL(HTTPS) 和数字认证[11] 机制,但是在传输信道中Cookies 是以明文方式传输的,本身也不能提供完整性等安全检测机制,而且它在客户端的存储是明文存储的。因此往往具有以下的攻击隐患:
1、网络安全威胁(Network security threats):由于Cookies 在网络中是以明文方式传输,网络路由中的任何主机都可以截获并篡改Cookies 的内容。
2、终端系统的威胁(end-system threats):Cookies 在客户端也是以明文保存的保存的,这就潜在用户自由修改Cookies 内容的可能。
3、Cookies 收获攻击威胁(cookie-harvesting threats):由于有以上两个威胁的存在,网络中的用户就可以收集网络中的Cookies 并把它们用于假冒他人身份攻击。在本文中,我们将给出安全Cookie 的实现,它也应该具有安全服务的三个方面特性:确定性(authentication) 、完整性(integrity) 和保密性(confidentiality) 。所有的Cookies 具有相同的基本结构。一个典型的Cookies 结构如图3,具有几个字段。Cookie_Name 和Cookie_Value 包含了一个Web 站点想要保留的信息,如在图3 中Name_Cookie 相应的值为”Daemon”;Date 是cookie 的有效生存期;Domain 则是该Cookie 在哪个主机或域名内有效;Flag 则指明是否所有在指定Domain 内的主机都可以访问该Cookie 的信息;Path 限定该站点内只能在指定路径下才能使用此Cookie ;如果Secure 标志是True ,那么该Cookie 将只能在安全信道(如SSL)内传输。
 
Domain      Flag   Path Cookie_Name Cookie_Value Secure      Date
Is.pku.edu.cn
True
/
Name_Cookie
Daemon
False
12/20/2001
图3 一个典型的网络Cookies
 
Domain Flag / Cookie_Name Cookie_Value Secure Date
Is.pku.edu.cn
True
/
WebDaemon_User
Daemon
False
12/20/2001
Is.pku.edu.cn
True
/
WebDaemon_Pswd
Hash_password
False
12/20/2001
Is.pku.edu.cn
True
/
WebDaemon_Time
12/20/2001
False
12/20/2001
Is.pku.edu.cn
True
/
WebDaemon_Rand
Random_Num
False

阅读全文(5) | 回复(0) | 引用通告(0) | 编辑 | 精华  

  

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=916857


原创粉丝点击