基于RBAC的动态授权模型在SSL VPN系统中的应用
2014-11-07谷小青曹晴樊彩霞袁超
谷小青+曹晴+樊彩霞+袁超
摘 要: 授权模块是SSL VPN系统的基础模块,主要是对系统内的用户进行访问控制。 动态授权模型是在RBAC的基础之上,为了满足SSL VPN系统的访问控制需求,引入了客户端的安全状态值,根据用户的角色和安全状态值来判定用户的最终访问权限,用于控制不同安全状态客户端的访问请求,进一步提高了SSL VPN系统的安全性能。
关键字: SSL VPN系统; 动态授权; RBAC; 安全状态
中图分类号: TN915.08?34 文献标识码: A 文章编号: 1004?373X(2014)21?0092?02
Application of RBAC?based dynamic authorization model in SSL VPN system
GU Xiao?qing, CAO Qing, FAN Cai?xia, YUAN Chao
(College of Sciences, Henan Agricultural University, Zhengzhou 450002, China)
Abstract: The authorization module is the basic module of SSL VPN (security socket layer virtual private network) system, which mainly executes the control of user access in the system. The dynamic authorization model is based on the RBAC to meet the needs of access control in SSL VPN system. The safety state value in the client is introduced in the system to determine the final access authority according to the user′s role and safety state value. It is used to control the client access requests in different security status, so as to further improve the safety performance of SSL VPN system.
Keywords: SSL VPN system; dynamic authorization; role?based access control; security state
0 引 言
随着计算机网络技术的迅速发展,企业的信息化程度得到了很大的提高,企业公司分支机构、商业伙伴及供应商同公司位于不同的地方。如何在他们之间建立一条专用的安全的通信线路,成为企业快速发展需解决的重要问题。虚拟专用网(Virtual Private Network,VPN)是通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。
目前,比较流行的VPN技术有:IPSec VPN 和SSL VPN[1]。IPSec VPN需要在通信双方安装特定的客户端软件,在客户端和服务器端还需要大量的评价、部署、培训、升级和支持,是一个成本高、复杂程度高的方案,没有安装客户端的移动用户无法实现临时的远程VPN连接。与IPSec VPN不同的是,SSL VPN是采用SSL协议实现远程接入,SSL协议是基于Web应用的安全协议。远端的移动用户无需安装任何特殊的客户端软件,也无需进行任何手动配置,仅需一个Web浏览器就可以连接VPN。SSL VPN由于其部署简单,无客户端,维护成本低,网络适应强等特点被企业广泛采用。
SSL VPN系统采用SSL协议建立安全可靠的隧道,实现了服务器的认证、客户认证(可选)、数据的完整性和保密性等功能[2]。对系统中的敏感数据还需要对用户的访问进行细粒度的控制,确保系统资源的安全性。
1 基于RBAC的动态授权模型
1.1 基于角色的访问控制(RBAC)
基于角色的访问控制(Role?Based Access Control,RBAC)作为自主访问控制和强制访问控制的代替,成为目前应用最广泛的访问控制技术之一。RBAC的基本思想是:在用户和权限之间引入角色,将权限与角色相联系,通过给每一个用户分配角色,让用户间接地与权限相联系,极大地降低了权限管理的复杂性,RBAC模型如图1所示。
在模型中每个会话与一个用户相关联,而每个用户可以发起一个或多个会话。而“用户?角色”和“角色?权限”之间都是多对多的关系,也就是说,一个用户可以有多个角色,同一个角色可分配给多个用户。同样地,一个角色可以拥有多个权限,一个权限可被多个角色所拥有。
图1 RBAC模型
1.2 SSL VPN系统中的授权问题
在SSL VPN系统中,当客户端访问系统内的服务器(如Webservers等)时,必须先与SSL VPN服务器建立SSL连接。SSL VPN服务器在端口443监听客户端的连接,所以,只要防火墙打开443端口,客户端便可以通过SSL VPN服务器连接到内部的资源服务器[3],根据系统给用户分配的角色获取相应的访问权限。在此过程中存在如下的问题:
(1) 用户可以在任一客户端进行登录,只需下载一个浏览器(如IE浏览器)即可,因为目前的浏览器都支持SSL协议[4]。而客户端的安全性无法保证,如果客户端有病毒,则可能会通过SSL VPN服务器感染到内部网络。
(2) SSL VPN服务器通过绑定443端口来监听客户端的连接,一旦客户端有连接请求,SSL VPN服务器就建立一个SSL连接。使得恶意用户能够绕过防火墙,达到攻击内部服务器的目的。
针对以上存在的安全问题,本文在用户建立SSL连接时,对用户的客户端进行安全状态检测,并依据该安全状态值和用户的角色进行动态授权,提高系统的访问控制能力。
2 动态授权模型在SSL VPN系统中的应用
在基于RBAC的动态授权模型中,当客户端向SSL VPN服务器发出连接请求时,在建立SSL连接的同时,对客户端的安全状态进行检测[5?6],检测内容包括防火墙的检测、反病毒的检测和操作系统补丁的检测。
防火墙的检测主要是对客户端安装的防火墙软件的版本号进行检查,是否符合要求;而反病毒的检测,除了要检测反病毒软件是否安装运行,还要检测是否打开了实时保护服务和病毒库是否更新;操作系统补丁的检测是通过调用API函数获得操作系统的基本信息,包括打过补丁的修补包。
这三个部分的检测结果与客户端的安全状态密切相关,系统按照综合的检测结果对客户端的安全状态进行分级,分别划分为等级A,B,C,其中等级A安全级别最高,等级C最低。同时对系统内部的资源也分别设置访问等级,分别为1,2,3等级。在用户请求访问内部资源时,只能访问级别相等或更低的资源。
在该动态授权模型中,系统根据用户的安全等级和用户的角色以及资源的访问等级进行访问控制[7?8],其授权模型图如图2所示。
图2 基于RBAC的动态授权模型
该授权模型的工作过程如下:
(1) 对用户所使用的客户端进行安全状态检测,检测客户端的防火墙、反病毒软件和操作系统的补丁,根据这三部分的安全检测结果,判定出客户端的安全级别。
(2) 对用户进行角色分配,遍历角色所对应的资源列表。
(3) 遍历角色所映射的资源列表,比较资源许可级别与客户端安全级别,把其中资源许可级别大于等于客户端安全级别的资源作为用户最终可访问的资源。
3 结 语
在SSL VPN系统中,用户可以在客户端下载浏览器通过SSL协议连接到内部网络,即外出办公的用户或合作伙伴可以使用公共网上的任一客户端进行登录。为了确保客户端的安全性,SSL VPN服务器对请求访问的客户端进行安全状态检测,检测客户端所安装的防火墙、反病毒软件和系统补丁,并根据检测结果对客户端的安全状态划分等级。在SSL VPN系统的授权模块中将用户的权限与具体使用的客户端安全状态绑定,在系统运行期间动态调整用户的权限,增加了系统的灵活性,满足了SSL VPN系统中的访问控制需求。
注:本文通讯作者为袁超。
参考文献
[1] 徐家臻,陈莘萌.基于IPSec与基于SSL的VPN的比较[J].计算机工程与设计,2004,25(4):586?588.
[2] FOROUZAN B A.密码学与网络安全[M].北京:清华大学出版社,2009.
[3] 周敬利,曾海鹏.SSL VPN服务器关键技术研究[J].计算机工程与科学,2005,27(6):7?9.
[4] 张学杰,李大兴.SSL技术在构建VPN中的应用[J].计算机应用,2006,26(8):1827?1830.
[5] 余胜生,欧阳长春,周敬利,等.访问控制技术在SSL VPN系统中的应用[J].华中科技大学学报:自然科学版,2006,34(7):49?52.
[6] 徐博,郭淑琴,陆敏飞.一种基于扩展RBAC的访问控制模型在SSL VPN系统中的应用[J].浙江工业大学学报,2011,39(2):177?181.
[7] 段卓然.SSL VPN系统用户权限管理模块的设计与实现[D].北京:北京邮电大学,2008.
[8] 韩庆占.改进的RBAC模型及其在电子病历系统中的应用[D].沈阳:东北大学,2008.
[9] 李之棠,贺济美,雷杰.SSL VPN的安全漏洞及其解决方案[J].计算机工程与科学,2006,28(8):10?13.
[10] 张雷.扩展RBAC模型在Web应用中的研究与实现[D].北京:北京交通大学,2008.
(2) SSL VPN服务器通过绑定443端口来监听客户端的连接,一旦客户端有连接请求,SSL VPN服务器就建立一个SSL连接。使得恶意用户能够绕过防火墙,达到攻击内部服务器的目的。
针对以上存在的安全问题,本文在用户建立SSL连接时,对用户的客户端进行安全状态检测,并依据该安全状态值和用户的角色进行动态授权,提高系统的访问控制能力。
2 动态授权模型在SSL VPN系统中的应用
在基于RBAC的动态授权模型中,当客户端向SSL VPN服务器发出连接请求时,在建立SSL连接的同时,对客户端的安全状态进行检测[5?6],检测内容包括防火墙的检测、反病毒的检测和操作系统补丁的检测。
防火墙的检测主要是对客户端安装的防火墙软件的版本号进行检查,是否符合要求;而反病毒的检测,除了要检测反病毒软件是否安装运行,还要检测是否打开了实时保护服务和病毒库是否更新;操作系统补丁的检测是通过调用API函数获得操作系统的基本信息,包括打过补丁的修补包。
这三个部分的检测结果与客户端的安全状态密切相关,系统按照综合的检测结果对客户端的安全状态进行分级,分别划分为等级A,B,C,其中等级A安全级别最高,等级C最低。同时对系统内部的资源也分别设置访问等级,分别为1,2,3等级。在用户请求访问内部资源时,只能访问级别相等或更低的资源。
在该动态授权模型中,系统根据用户的安全等级和用户的角色以及资源的访问等级进行访问控制[7?8],其授权模型图如图2所示。
图2 基于RBAC的动态授权模型
该授权模型的工作过程如下:
(1) 对用户所使用的客户端进行安全状态检测,检测客户端的防火墙、反病毒软件和操作系统的补丁,根据这三部分的安全检测结果,判定出客户端的安全级别。
(2) 对用户进行角色分配,遍历角色所对应的资源列表。
(3) 遍历角色所映射的资源列表,比较资源许可级别与客户端安全级别,把其中资源许可级别大于等于客户端安全级别的资源作为用户最终可访问的资源。
3 结 语
在SSL VPN系统中,用户可以在客户端下载浏览器通过SSL协议连接到内部网络,即外出办公的用户或合作伙伴可以使用公共网上的任一客户端进行登录。为了确保客户端的安全性,SSL VPN服务器对请求访问的客户端进行安全状态检测,检测客户端所安装的防火墙、反病毒软件和系统补丁,并根据检测结果对客户端的安全状态划分等级。在SSL VPN系统的授权模块中将用户的权限与具体使用的客户端安全状态绑定,在系统运行期间动态调整用户的权限,增加了系统的灵活性,满足了SSL VPN系统中的访问控制需求。
注:本文通讯作者为袁超。
参考文献
[1] 徐家臻,陈莘萌.基于IPSec与基于SSL的VPN的比较[J].计算机工程与设计,2004,25(4):586?588.
[2] FOROUZAN B A.密码学与网络安全[M].北京:清华大学出版社,2009.
[3] 周敬利,曾海鹏.SSL VPN服务器关键技术研究[J].计算机工程与科学,2005,27(6):7?9.
[4] 张学杰,李大兴.SSL技术在构建VPN中的应用[J].计算机应用,2006,26(8):1827?1830.
[5] 余胜生,欧阳长春,周敬利,等.访问控制技术在SSL VPN系统中的应用[J].华中科技大学学报:自然科学版,2006,34(7):49?52.
[6] 徐博,郭淑琴,陆敏飞.一种基于扩展RBAC的访问控制模型在SSL VPN系统中的应用[J].浙江工业大学学报,2011,39(2):177?181.
[7] 段卓然.SSL VPN系统用户权限管理模块的设计与实现[D].北京:北京邮电大学,2008.
[8] 韩庆占.改进的RBAC模型及其在电子病历系统中的应用[D].沈阳:东北大学,2008.
[9] 李之棠,贺济美,雷杰.SSL VPN的安全漏洞及其解决方案[J].计算机工程与科学,2006,28(8):10?13.
[10] 张雷.扩展RBAC模型在Web应用中的研究与实现[D].北京:北京交通大学,2008.
(2) SSL VPN服务器通过绑定443端口来监听客户端的连接,一旦客户端有连接请求,SSL VPN服务器就建立一个SSL连接。使得恶意用户能够绕过防火墙,达到攻击内部服务器的目的。
针对以上存在的安全问题,本文在用户建立SSL连接时,对用户的客户端进行安全状态检测,并依据该安全状态值和用户的角色进行动态授权,提高系统的访问控制能力。
2 动态授权模型在SSL VPN系统中的应用
在基于RBAC的动态授权模型中,当客户端向SSL VPN服务器发出连接请求时,在建立SSL连接的同时,对客户端的安全状态进行检测[5?6],检测内容包括防火墙的检测、反病毒的检测和操作系统补丁的检测。
防火墙的检测主要是对客户端安装的防火墙软件的版本号进行检查,是否符合要求;而反病毒的检测,除了要检测反病毒软件是否安装运行,还要检测是否打开了实时保护服务和病毒库是否更新;操作系统补丁的检测是通过调用API函数获得操作系统的基本信息,包括打过补丁的修补包。
这三个部分的检测结果与客户端的安全状态密切相关,系统按照综合的检测结果对客户端的安全状态进行分级,分别划分为等级A,B,C,其中等级A安全级别最高,等级C最低。同时对系统内部的资源也分别设置访问等级,分别为1,2,3等级。在用户请求访问内部资源时,只能访问级别相等或更低的资源。
在该动态授权模型中,系统根据用户的安全等级和用户的角色以及资源的访问等级进行访问控制[7?8],其授权模型图如图2所示。
图2 基于RBAC的动态授权模型
该授权模型的工作过程如下:
(1) 对用户所使用的客户端进行安全状态检测,检测客户端的防火墙、反病毒软件和操作系统的补丁,根据这三部分的安全检测结果,判定出客户端的安全级别。
(2) 对用户进行角色分配,遍历角色所对应的资源列表。
(3) 遍历角色所映射的资源列表,比较资源许可级别与客户端安全级别,把其中资源许可级别大于等于客户端安全级别的资源作为用户最终可访问的资源。
3 结 语
在SSL VPN系统中,用户可以在客户端下载浏览器通过SSL协议连接到内部网络,即外出办公的用户或合作伙伴可以使用公共网上的任一客户端进行登录。为了确保客户端的安全性,SSL VPN服务器对请求访问的客户端进行安全状态检测,检测客户端所安装的防火墙、反病毒软件和系统补丁,并根据检测结果对客户端的安全状态划分等级。在SSL VPN系统的授权模块中将用户的权限与具体使用的客户端安全状态绑定,在系统运行期间动态调整用户的权限,增加了系统的灵活性,满足了SSL VPN系统中的访问控制需求。
注:本文通讯作者为袁超。
参考文献
[1] 徐家臻,陈莘萌.基于IPSec与基于SSL的VPN的比较[J].计算机工程与设计,2004,25(4):586?588.
[2] FOROUZAN B A.密码学与网络安全[M].北京:清华大学出版社,2009.
[3] 周敬利,曾海鹏.SSL VPN服务器关键技术研究[J].计算机工程与科学,2005,27(6):7?9.
[4] 张学杰,李大兴.SSL技术在构建VPN中的应用[J].计算机应用,2006,26(8):1827?1830.
[5] 余胜生,欧阳长春,周敬利,等.访问控制技术在SSL VPN系统中的应用[J].华中科技大学学报:自然科学版,2006,34(7):49?52.
[6] 徐博,郭淑琴,陆敏飞.一种基于扩展RBAC的访问控制模型在SSL VPN系统中的应用[J].浙江工业大学学报,2011,39(2):177?181.
[7] 段卓然.SSL VPN系统用户权限管理模块的设计与实现[D].北京:北京邮电大学,2008.
[8] 韩庆占.改进的RBAC模型及其在电子病历系统中的应用[D].沈阳:东北大学,2008.
[9] 李之棠,贺济美,雷杰.SSL VPN的安全漏洞及其解决方案[J].计算机工程与科学,2006,28(8):10?13.
[10] 张雷.扩展RBAC模型在Web应用中的研究与实现[D].北京:北京交通大学,2008.