中国移动规范学习——4A技术要求(集中授权)

集中授权管理,主要是指在一点,集中对用户使用信息系统资源的具体情况进行合理分配,实现不同用户对系统不同部分资源的访问控制。具体来说,就是集中实现对各用户(主体)能够以什么样的方式(谓词)访问哪些资源(客体)的管理。

在集中授权里强调的“集中”是逻辑上的集中,而不是物理上的集中。即在各网络设备、主机系统、应用系统中可能还拥有各自的权限管理功能,管理员也由各自的归口管理部门委派,但是这些管理员从统一的授权系统进去以后,可以对各自的管理对象进行授权,而不需要进入每一个被管理对象才能授权。

集中授权管理包括两个阶段:

1. 权限分配阶段。这个阶段通常是指在创建用户主、从账号时,给账号赋予相应的访问权限,包括能够以什么样的方式访问哪些系统、哪些资源。这个阶段是一个相对静态的授权过程。

2. 访问授权阶段,这个阶段通常也称访问控制。这个阶段是在用户提出对具体资源的访问请求时,根据前一阶段的权限分配结果,决定用户是否有权按照所请求的方式,对所请求的资源进行访问。这个阶段是一个相对动态的控制过程。

集中授权管理要求对这两个阶段均能进行管理。

 

基本技术】

本节针对集中授权管理的两个阶段,在技术方面进行澄清,作为产品选购、开发的依据。

集中权限分配】

<权限定义>

应用系统、主机、网络设备中的权限可以抽象为一个三元组符号P(o,t,p),其中o表示被访问的信息资源;t表示访问类型;p表示谓词。表示在谓词p为真时对于对象o可进行t类型的访问。

权限定义是信息系统安全管理基础步骤之一,需要仔细考虑。对于4A框架这样横跨众多应用系统、主机、网络设备的集中授权来说,更需要在实施前进行认真、细致的调研,对权限进行统一规划,然后按照上面三元组的形式,将各种权限规范化、形式化,然后电子化。

<集中权限分配粒度>

根据应用系统及主机、网络设备的不同情况,集中权限分配所能分配的权限粒度是不同的,大体上可以包括两种粒度:

1. 实体级集中授权,授权粒度只精确到应用、设备、主机,通俗一点说就是用户是否有权连接某个IP地址+端口。

2. 实体内部资源级集中授权,授权粒度精确到应用、设备、主机内的资源。资源包括应用的功能模块、HTML页面、数据库表或字段;主机内的文件或目录等。

实体级集中授权是最容易实现的,而且可以:

1. 与访问控制模块相结合,在一点上就可以取消用户对所有系统的访问。即如果用户离开公司,可以在集中授权模块中取消他的授权,这样即使他在各应用系统中的账号还在,但是也不能通过访问控制模块构筑的安全网关,对应用进行访问。

2. 集中授权的主体是用户的主账号,而不是用户在各系统、设备中的从账号,主账号名可以通过API等传递给应用系统,增加应用系统访问日志的精确性,在多人共用一个从账号时,可以精确定位到账号的实际使用者。

虽然实体级集中授权有上面的优点,但是对实体(应用、设备、主机)内部资源的访问权限,还需要在实体内部进行分配和管理,还不能算是真正意义上完全的集中授权管理。

而在达到实体内部资源级的集中授权后,除了实体级集中授权能够做到的以外,还可以做到在一点上即可分配用户对企业内部各种信息资源的访问权限,实现真正的集中授权管理,即如果用户权限如果发生了变化,不需要在各应用系统中重新分配权限,只需要在集中权限管理模块中重新分配权限,在各应用系统中的权限自动发生变化。

当然实现实体内部资源级的集中授权,需要比实现实体级集中授权花费更大的代价:

1. 必须对企业内部的各种信息资源进行统一定义,包括应用系统、主机、网络设备内部的各种资源。

2. 必须能够将不同的信息资源,以一种统一的形式呈现给管理员,便于管理员对资源的访问权限进行分配。

3. 对于应用系统,必须对应用进行改造,使之适应这种集中授权管理模式,改造方法可以参见本文附录二。

4. 对于主机系统,当然不可能去改造OS,但是可以通过在主机内部或外部部署与集中账号管理系统相似的Agent来实现资源发现的功能,对细粒度资源的访问控制则需要在主机内部部署特殊的软件,这种软件通常深入OS内核,或在OS内核与应用之间建立中间层。从现有产品来看,这种输入OS的方法可以将原OS中的管理员级别分解得更细,但是毕竟是在OS之上附加的东西,对OS性能必将造成影响,而且在选购前还必须针对具体的OS环境,对软件兼容性、稳定性进行充分的测试,否则有可能造成新的隐患。

5. 完全固件化的网络设备则难以进行这种改造,如果设备本身又不提供相关的外部接口,可能不能实现设备内部资源的集中授权。

4A框架下的集中授权管理,在初期可以将实体级集中授权作为目标,但是在发展到一定程度后,应该优先将应用系统的授权过渡到实体内部资源级的集中授权。

<主流的授权技术>

集中权限分配的客体可以是前面说的实体(应用系统、主机、网络设备),或实体内部的资源,主体则是企业访问内的所有用户。但是在给用户授权的时候,又可以采用不同的方式:

1. 针对与用户一一对应的主账号。

2. 针对用户按照某种规则组成的用户组。

3. 针对与具体用户和实体无关,只与企业内部的组织机构、岗位职能有关,在企业范围内定义的全局角色。

直接针对用户授权可能是一种比较直接的想法,但是在实际操作时很少用到,因为对于象中国移动这样的大型企业来说,直接针对用户的授权方式工作量实在是太大了,而且很多重复性的授权工作难于被重用,整体缺乏可扩展性。

用户组也是一个比较容易想到的办法,但是在实际使用时,由于对用户组的划分原则比较难把握,因此容易造成权限的扩散和管理上的混乱。

基于角色的集中授权管理是一种相对比较新颖的方式,不仅比前面两种方式复杂,也具有很多前面两种方式所不具有的优点。本方案将采用这种方式完成集中权限分配。

基于角色的集中授权的主要思想是:通过用户与权限的分离,使得授权过程方便灵活;通过用户与角色的指定,角色与权限的配置,又可使基于角色的访问控制达到所需的安全要求。

中国移动信息系统包括CMNet承载网、数据业务系统、支撑系统等,它包括信息量巨大并具有不同敏感程度的信息,和各种有访问需求的用户,使得其安全管理非常复杂。基于角色的授权管理的特点是通过分配和取消角色,来完成用户权限的授予和取消,并且提供了角色分配规则和操作检查规则。安全管理人员根据需要定义各种角色,并设置合适的访问权限,而用户根据其责任和岗位再被指派为不同的角色。这样,整个访问控制过程就分成两个部分,即访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离。角色可以看成是一个表达访问控制策略的语义结构,它可以表示承担特定工作的资格。

基于角色授权管理的基本思想如图

clip_image002

基于角色的授权管理具有以下优点:

1. 便于授权管理:管理员可以很方便地实现对普通用户的授权;

2. 便于角色划分:管理员可以针对不同的角色分配不同的权限;

3. 便于赋予最小特权:由于用户可以拥有多个角色,那么可以很方便地建立最小特权的角色,赋予某些特殊用户;

便于职责分担:由于不同职责的用户分别拥有不同的角色,可以很方便地实现用户的职责分担;

 

<账号、用户、用户组、角色、权限关系>

在通常的应用系统中,谈到授权管理时,通常也会提到用户、账号、用户组、角色和权限的概念,而基于角色的授权管理中,角色的功能与通常应用系统中角色的概念又有所不同,在此有必要先进行澄清。

对于通常的应用系统来说,权限管理的主体本来应该是访问者本身,权限管理的客体是应用系统内的资源,包括页面、功能模块、字段等。但是对于通常的应用系统来说,因为很少采用能够精确定位到自然人个体的身份认证手段,只能通过账号/密码,或称用户名/密码的方式进行身份认证。因此可以认为,在通常的应用系统中,用户或者账号(4A称应用系统中的账号为从账号)是一个意思,都是自然人的表现,而且在某些情况下,可以多个自然人共用一个从账号或用户名,这将给安全审计带来困扰。

而在4A框架下,集中身份认证可以精确定位到自然人,因此用户可以用主账号进行标识,每个用户一个主账号,每个主账号只属于一个人。

另外为了便于管理,应用系统中经常使用用户组进行批量授权。这里的用户组,其实就是将应用中的一些需要行使相同权限的用户(从账号)归纳为一个组,只要用户(从账号)属于某个用户组,即可行使该组内的所有权限。因此用户组的定义只在应用内部有效。在某些应用系统中,这种用户组也被称为角色。但是4A中基于角色的集中授权管理中的全局角色概念,与这种应用系统内部定义的局部角色概念,有根本性的不同:

1. 在基于角色的集中授权管理中,角色最根本的一个特征就是角色的定义与具体应用无关,只与企业内部的组织机构、工作分工等有关,因此才能建立独立于具体应用,但是又能够同时对若干应用进行集中管理的授权系统。但用户组只在定义它的应用内部有效。

基于用户组的应用授权管理中,权限可以赋予用户(账号),也可以赋予用户组,不仅很难对最小权限进行控制,而且取消用户权限时也很麻烦。但是对基于角色的集中授权管理来说,权限只赋予全局定义的角色,在用户工作岗位发生变化后,只需更改他所扮演的角色即可,大大减少了管理工作量,也减少了出现权限漏洞的可能。

 

集中访问控制】

在集中授权的第二个阶段,即访问授权阶段,一般通过采用访问控制技术,在访问链路上进行集中的权限认证和控制,使第一阶段的集中授权结果得到体现,保证网络资源受控、合法地被使用,用户只能根据自己的权限大小来访问系统资源,不得越权访问。

访问控制模块通常由访问控制执行单元(AEF)和访问控制决策单元(ADF)组成,如图所示。

clip_image001[4]

AEF可以看做是一个安全网关,根据ADF的决策,决定允许或禁止用户的访问请求传递到访问目标。

ADF根据访问控制策略,决定用户是否有权访问所请求的资源。

不同的应用系统可以使用相同的AEF,依靠同一个ADF进行决策,体现集中授权的集中性。

在部署的时候,AEF可以当做独立的安全网关服务器,部署在每一台受保护的应用服务器、主机、网络设备前面,可以采用一对一、一对多或多对多的方式;也可以是以API包的形式提供给应用开发商,供应用软件或主机保护软件开发商进行调用,成为应用或主机的一个组成模块,从而将应用或主机完全纳入4A框架。

部署时ADF模块一般部署在一台独立的服务器上,或多台服务器构成一个集群,同时为多个AEF提供决策服务。

ADF决策的依据主要包括访问者信息、目标信息、访问控制策略规则等。其中访问控制策略规则,主要就是在集中授权的第一个阶段,即权限分配阶段所分配的权限。ADF决策的结果交给AEF加以执行,从而允许或阻断用户的访问请求,从而完成集中授权的第二阶段,即访问控制阶段的功能。因此可以说ADF是集中授权第二阶段的“司令官”,而AEF则是“执行者”。

ADF使用的访问控制策略一般有三种:自主访问控制、强制访问控制和基于角色的访问控制。不论是哪一种策略,均可以与实体级授权或实体内部资源级授权相结合,完成整个集中授权过程。

自主访问控制(Discretionary Access Control,DAC)是根据访问者的身份和授权来决定访问权限,最常见的例子就是Windows下的文件共享,每个Windows用户都可以自己决定哪些目录或文件可以共享给哪些账号。

在自主访问控制下,主体访问者对访问权限有一定的控制。但正是这种权利使得信息在移动过程中其访问权限关系会被改变。如用户A可以将其对客体目标O的访问权限传递给用户B,从而使不具备对O访问权限的B也可以访问O,这样做很容易产生安全漏洞,所以自主访问控制的安全级别很低。而且从企业的角度来说,信息资产属于企业而不是个人,因此应该由企业来决定对信息资产的访问权限,而不是个人私自授权。

强制访问控制(Mandatory Access Control,MAC)是将主体和客体分级,然后根据主体和客体的级别标记来决定访问权限。最常见的例子是政府和军队中的文件管理:文件分为绝密、机密、保密、公开几个级别,每个人获得不同级别的授权,然后即可阅读低于该级别的文件。如获得机密授权的人员,即可阅读机密、保密、公开的文件,但是不能阅读绝密级文件。

在强制访问控制下,主体必须以一种明显的方式给予访问权限,并在被允许访问之前满足访问的要求。这些访问要求以主体和客体属性的方式指定,因此授权是根据某些主体的属性是否满足访问某些有特定属性的客体的规定来决定的,而且这些安全属性是系统定义的,既不能由主体也不能由客体来改变,规定与管理访问权限是系统的安全功能。但这种授权方式的实现工作量太大,管理不便,通常只在军队或政府部门应用,企业中很少有应用。

另一种是基于角色的访问控制(Role-Based Access Control,RBAC),企业根据需要定义各种角色,并设置合适的访问权限,而主体根据职责和任务的需要再被指派为不同的角色。这样整个授权过程分为两部分,即访问权限和角色相关联,角色再和自然人相关联,从而实现自然人与访问权限的逻辑分离。这种方式更便于授权管理、角色划分、职责分担、目标分级和赋予最小特权,也是访问控制发展的趋势。


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值