一种基于逻辑安全域划分的分布式安全实现方案

2013-09-13 13:07王晓红
太原理工大学学报 2013年4期
关键词:跨域分布式证书

王晓红

(山西工程职业技术学院 计算机工程系,太原030009)

当前网络应用已经空前庞大,政府、企业、个人的各种应用如雨后春笋,层出不穷,它在给大家带来便利的同时,也带来了不可忽视的威胁和破坏[1],例如上网的数据,或遭删除或被复制,数据和系统的安全性和自身的利益都受到严重的威胁。尤其是在网络爆发的年代,各个企业及政府由于考虑到多个独立应用的存在制约了自身的发展,提出了整合的概念,将各个不同的系统通过数据、资源、系统等方式进行整合。但是整合以后,需要考虑整合前的用户身份和整个大系统的有效权限等问题[2]。因此考虑安全再也不能仅仅从单个安全功能和安全范围来考虑安全问题,而应从整体上来考虑。基于此本文提出了基于安全域划分的分布式安全模型。

笔者提出的分布式安全模型主要有如下优点:

1)安全域划分。本文安全域划分是逻辑区域的划分,与具体计算机或地理区域无关,这样能够更好地控制用户访问边界,适合应用系统整合,具有动态调整能力。安全域中安全管理各自独立,解决应用系统整合以后,虽然共享部分资源,但仍然存在私密信息保护。

2)认证机制。通常采用的PKI(public Key Infrastructure)公钥基础设施是一种基于公钥密钥算法原理的技术,完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统和应用接口构成。构建PKI系统也必须围绕这5大系统来构建,但是遗憾的是该系统并没有提及分布式的实现方式,尤其是跨安全域的分布式实现方案,本文正是针对这种情况进行了扩展,安全体系具有良好的信息共享、协作能力,能够从传输层和应用层对数据和数据通道进行安全保护。

3)授权机制。授权体系采用了授权回溯的机制,实现了跨域授权;授权体系采用了岗位、角色、用户联合的授权机制。利用岗位来授权,方便用户操作;利用角色来授权,可以减少授权步骤,直接用户授权,可以使授权更加灵活。

1 安全域划分

1.1 传统意义的安全域划分

根据2006年1月由全国各级公安机关组织开展了全国范围内各行业、企业信息系统的基础信息调研工作,并先后出台了《信息系统安全保护等级定级指南(试用稿)》、《信息系统安全等级保护基本要求(试用稿)》、《信息系统安全等级保护测评准则(送审稿)》、《信息系统安全等级保护实施指南(送审稿)》等指导性文件[3]。安全域是指同一系统内有相同的安全保护需求,相互信任,并具有相同的安全访问控制盒边界控制策略的子网或网络,且相同的网络安全域共享一样的安全策略[4]。广义点的安全域是具有相同的业务要求和安全要求的系统要素的集合,这些要素包括网络区域、主机和系统、人和组织、物理环境、策略和流程、业务和使命等诸多因素[5]。

安全域的划分需要从划分安全计算域、划分安全用户域、划分安全网络域三部分综合考虑[6-7]。

1)划分安全计算域。根据业务系统的业务功能实现机制、保护等级程度进行安全计算域的划分,一般分为核心处理域和访问域,其中数据库服务器等后台处理设备归入核心处理域,前台直接面对用户的应用服务器归入访问域;{参考:局域网访问域可以有多种类型,包括:开发区,测试区,数据共享区,数据交换区,第三方维护管理区,VPN接入区等;局域网的内部核心处理域包括:数据库,安全控制管理,后台维护区(网管工作区)等,核心处理域应具有隔离设备对该区域进行安全隔离,如防火墙,路由器(使用ACL),交换机(使用VLAN)等。

2)划分安全用户域。根据业务系统的访问用户分类进行安全用户域的划分,访问同类数据的用户终端、需要进行相同级别保护划为一类安全用户域,一般分为管理用户域、内部用户域、外部用户域。

3)划分安全网络域。安全网络域是由连接具有相同安全等级的计算域和(或)用户域组成的网络域。网络域安全等级的确定与网络所连接的安全用户域和(或)安全计算域的安全等级有关。一般同一网络内划分三种安全域:外部域、接入域、内部域。

通过上述安全域的划分,可以把一个复杂的大型网络系统安全问题转化为较小区域更为单纯的安全保护问题,从而更好地控制网络安全风险,降低系统风险。但是这种安全域的划分,须在系统成立之初进行划分,需要对先用网络进行大范围的重构,成本较高。传统意义的安全域划分,侧重物理网络的改造,不能满足当前系统整合的需要。本文提出的安全域划分是逻辑区域的划分,安全用户域划分与具体物理节点或区域无关,能有效解决整合带来的上述问题。

1.2 本文安全域划分

笔者所提出的每个安全域主要包含五大模块:CA模块、本地资源授权模块、跨域授权模块、资源代理模块、应用系统模块等。

1)CA模块。主要负责签发证书或代理证书、认证证书、管理已颁发证书的机关。制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。同时管理用户登陆或认证。

2)本地资源授权模块。主要负责制定本地资源的授权方案,如:本地XX岗位、XX角色、或XX用户是否能够对XX本地资源进行XX操作。

3)跨域授权模块。主要负责制定跨区域资源的授权方案,如:本地XX岗位、XX角色、或XX用户是否能够对XX异地资源进行XX操作。

4)资源代理模块。主要负责代表用户进行资源访问。

5)应用系统模块。主要负责处理用户请求,完成后台系统与用户的人机交互操作。

每个安全域都拥有自己的唯一的CA模块和跨域授权模块,其它模块可以根据具体应用的需求拥有多个。如图1所示。

图1 安全域划分

本文所描述的安全方案中包含的认证方案和授权方案都是建立在上述安全域划分基础上的。

笔者提及的安全域仅仅是一个逻辑上的概念,属于安全用户域范畴,并不存在物理上部署限制问题,可以把任意系统划分进某个安全域。每个安全域之间相互独立,没有从属关系,只存在并列关系,拥有较强的伸缩性能。由于每个安全域的认证和授权都是单独维护,不仅仅解决了由于系统庞大带来的集中式管理的开销,提高了管理效率,也充分保障了信息的保密性,符合当前科学化管理的宗旨。另外,系统每个安全域都提供了安全管理工具,大大提高了系统自动化管理的程度。

2 分布式认证模型

笔者提出的认证模型是借鉴于Kerberos认证机制,它要求系统建立一个中心认证服务器,并用以用户和服务器相互认证。传统的身份认证仅仅是对客户端身份的认证,并没有对服务器本身进行认证,很容易遭到攻击。另外,kerberos认证机制在网络上并没有传递密码,甚至是被加密的密码,直接利用私钥和公钥计算配合,完成双方的认证。

但是,Kerberos的认证机制并没有解决大规模的跨域分布式的问题,比如:用户跨域访问时的用户身份问题,仅仅局限于一个安全域下的用户身份认证和登陆。另外,当前日新月异的网路环境,越来越庞大的系统,并不是一蹴而就,在某种前提下,通过兼并或合并等手段,在系统运行阶段,逐一升级或添置,然后又保留自己的相对独立,这就需要认证系统拥有伸缩性能。

笔者提及的分布式认证机制主要有以下优点:

1)同域中实现用户的统一管理,每个域都有自己的用户添加方法和策略,不能跨域决定用户的注册权利,这样解决了系统整合后由于权责划分不明确带来的矛盾。

2)不仅支持同域单点登录,而且还解决了用户跨域访问的用户身份问题。

3)安全体系具有良好的信息共享、协作能力,能够从传输层和应用层对数据和数据通道进行安全保护。

2.1 利用代理证书链机制实现用户跨域身份识别

通常情况下,利用证书登陆或访问时,为了确定用户身份,需要用户根据其私钥、签名来确认用户身份,但是私钥保存在USBkey里面,而且确认用户身份的位置很多,在用户访问过程中涉及到节点都需要对访问本地的用户进行身份确认,因此都需要用户签名。而用户输入密码提取私钥只能一次,因此本系统采用了代理证书链的机制来保证用户身份,同时也仅仅只需要用户输入一次密码。具体过程如下:

用户认证或访问开始时,由用户输入密码,签署代表用户身份的信息或代理证书及私钥,当后续工作需要签署用户信息时,则由代理证书的私钥来代表用户签署信息。各个节点需要验证用户身份时,根据代理证书链表,来验证用户。该方式利用代理证书的私钥来签署信息同时具有该用户访问的唯一凭证,不可伪造,具有一定的抵赖性、保密性。代理证书链的运行机制与现实当中的代理有相同功能,比如:当你需要找人帮你办某些业务的时候,需要您编写自己的委托书,授予XX人XX权限,并签名,且仅签一次。如图2所示。

图2 代理证书链

通过上述过程,用户在访问过程中,每个服务器的每个线程甚至每个请求,都会很清楚地知道是谁在访问。当某个跨域服务器面临跨域用户访问时,会利用现有安全框架,逆向验证代理证书,最后主动要求用户所在CA进行验证,从而保证用户身份不可伪造。这里的CA模块分为三层,形状如一棵倒立的树,树根(Root)为认证的起点;第二层为各个安全域的CA模块,它的证书由Root CA颁发,职责为签发第三层的用户和服务器证书。由于每个CA服务器证书由整个系统的root证书颁发,所以它们之间相互信任。

2.2 利用隧道机制实现信息安全

通常的认证系统都支持SSL协议,通过该协议可以解决信道的安全问题,但是如果根据每个用户证书建立安全信道,显然系统无法承载这样的开销。因此系统提出,第一,在服务器之间利用服务器证书建立安全信道,解决信息安全问题;第二,在此基础上利用隧道机制解决用户身份问题,从而保证在整个系统中每个一个步骤能够确定操作的用户身份。

“隧道”不是一个物理概念,仅仅是一个逻辑上的协议,隧道的拥有者即任务的执行者,系统可以利用隧道来识别用户的身份,唯一的开销仅仅增加隧道的标识,如图3所示。这样不仅仅减轻了服务器的载荷,实现了对物理连接或SSL通道的重复利用,也提升了分布式系统整体性能,在不降低系统安全性的同时,缩短了用户或服务器访问系统的时间。

图3 安全隧道

3 分布式授权模型

分布式环境下的授权,除了需要解决不同安全域的用户访问异域资源的问题(跨域访问)以外,还需要解决不同安全域用户为了协同工作,组成一个虚拟协作环境的问题(虚拟组织问题),该环境下,可以允许组员动态加入和退出,并拥有不同权利。

本文提出的分布式授权方案是建立在X.509V4提出的 PMI(Privilege Management Infrastructure,特权管理基础设施)公钥认证的授权模型基础上的,并对 RMBC(Role-Based Access Control)进行了扩展。PMI解决的是用户权限保存问题,利用属性证书(Attribute Certificate,AC)保存用户的权限或角色及其权限拥有的时间,RBAC解决的是分布式环境下委托授权的问题。但是通常意义的委托授权是分布式的基于角色的委托授权,并不能解决跨域委托授权的问题,对于权限细粒度的划分也过于粗糙。因为角色或岗位的划分,与用户一样是以安全域为逻辑边界的,本安全域存在的角色和岗位,在其它安全域可能不会存在,就算存在同样名称的角色,承担的任务和功能很可能是不一致的,例如:生物领域的工程师与建筑行业的工程师角色和任务就不一样。为了解决这个问题,本文提出了更加细粒度的委托模型,基于具体权限的委托模型,一个权限的描述可以由一个五元组构成:What,指目标;Who,指对目标进行动作行为的执行者,该执行者可以是人,也可以是组织、单位,也可以是一个跨域社区或虚拟组织;Action,指对目标采取什么样的动作;Formula,行为公式,即在什么情况下的行为;Denny,指是否拒绝。这就是一个最小的委托授权的单元。

3.1 委托授权的过程

委托授权过程分为两种,一种为本域的委托授权,一种为跨域的委托授权。本域的委托授权一般不存在,因为一个域的系统管理员一般只有一个,由他来指定本系统的所有用户、岗位、用户或组织授权策略,一般是直接授权。而跨域的授权过程,由于域件的控制各不相同,所以每个域之间制定的策略和资源有所不同,为了使用户能够跨域访问资源,则需要通过委托授权的方式来进行间接授权。

图4 跨域授权过程

图4所示为跨域授权过程,实际上包含了两个部分,第一为本域的委托授权过程,如图4左边部分。首先选择跨域的委托授权的对象,然后根据当前本安全域已经编写的授权策略,选择某条授权策略进行转授,选择授权的时间限制、禁止限制和义务限制。时间限制:该转授保持的时间,在某个时间段内,该转授的权限有效;禁止限制:该转授在某种情况下不允许进行转授。义务限制:该转授运行被转授的前提条件。第二,本域授权过程,如图4右边部分。跨域收到转授的权利,包括能够访问资源、对资源的行为、对资源的行为时间、是否运行再次进行委托转授等等;从中选择需要某些用户需要访问的资源,选择用户/角色/岗位/组织等;最后选择授权的时间限制,完成。

3.2 用户跨域访问权限检查

跨域访问是指用户的跨安全域访问,即本安全域的用户访问其它安全域的资源。跨域访问的关键在于权限的检查。当异地用户访问本安全域的资源时,由于本系统并没有权限对异域用户进行授权,需要根据用户所在的安全域寻找其属性证书,并进行验证,具体验证过程实际上就是委托授权的逆过程。首先找到用户的安全域,然后找到用户的授权凭据,属性证书,根据属性证书找到权限的签名来源,并验证有效性,然后依次类推,最后追溯到本安全域的委托授权事件;在对事件本身有效性检查通过以后,则完成权限检查过程,最后完成用户跨域检查的动作。

4 分布式授权策略模型

当前很多系统都建立以角色为依据的授权策略,不可否认基于角色的授权策略的优势,但是这种类型严重混淆了大规模分布式系统中实际运行中岗位和角色的区别。岗位是在组织架构下的精细岗位划分,是业务流程控制、业绩考核、预警体系的基础,不同的机构、部门下的同一职务是作为不同的岗位的。它的引入是为了让系统拥有更好的系统扩展,满足现实复杂的组织环境。角色实际上有些相当于岗位权限分类的概念,即具有同样功能权限的岗位集合在一起,这样可以减少权限设置的工作量。它是系统功能权限设置的基础,是系统权限功能的初步划分。但是他给实际应用人员带来迷惑,无法区分各自的职责,有可能系统中两个岗位拥有的权限是一样的,这个很常见。

鉴于上述现象,笔者提出了以岗位和角色为基础,创建基于岗位和角色访问控制策略。在岗位和角色间建立多对多的关联,在用户和岗位间建立多对多关联。同时支持面向岗位、角色、用户、组织的授权,为应用提供了更加灵活的、符合实际管理经验的方案。

5 结束语

分布式系统的部署分散性、异构性及开放性,使得网格节点之间的通信,常常给攻击者提供可乘之机。因此,节点之间,域之间的通讯的安全、用户访问权限限制尤为重要。

本系统已经在上海16个档案馆及其相关区县进行了实施,在原有系统的基础之上,对现有系统进行了整合,采用了16个安全域,让每个档案馆进行单独安全管理,解决了由于系统整合带来的由于权限管理混乱导致的涉密信息泄露等问题。

[1] Alguliev R M,Imamverdiyev Y N.E-Government information security management research challenges[C]∥AICT 2009International Conference on Application of Information and Communication Technologies,Baku:2009:1-5.

[2] Wanhua Xu,Guoping Zhou.The Development of E-government in China:Challenges and the Future[C]∥WiCOM'08 4th International Conference on Wireless Communications,Networking and Mobile Computing,Dalian:2008:1-3.

[3] 国务院信息化工作办公室.电子政务信息安全等级保护实施指南(试行)[Z].2005.

[4] 沈昌祥.信息安全保障建设中的几个焦点问题[R].北京:国家信息化专家咨询委员会,2007.

[5] 郭启全.国家信息安全等级保护制度的贯彻与实施[R].北京:公安部公共信息网络安全监察局,2007.

[6] 张海亮.威胁型安全域划分指标及方法的研究和案例分析[D].重庆:重庆大学,2007.

[7] Seongyoung sohn,Jinoh Kim,JungChan Na.Design of network security policy information model for policy-based network management[C]∥The 7th International Conference on Advanced Communication Technology(ICACT2005),Phoenix Park:2005:701-705.

猜你喜欢
跨域分布式证书
跨域异构体系对抗联合仿真试验平台
基于多标签协同学习的跨域行人重识别
WJCI 收录证书
CSCD收录证书
为群众办实事,崂山区打出“跨域通办”组合拳
收录证书
G-SRv6 Policy在跨域端到端组网中的应用
收录证书
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊