摘要:基于PKI 技术的角色访问控制模型是一种区别于传统自主访问控制策略和强制访问控制策略的网络安全策略模型。RBAC 的面向对象模型可以实现用户身份认证与访问权限的逻辑分离,具有易于控制的特点。在有效改进系统安全性能的基础上,极大地减轻了权限管理的负担。
关键词:访问控制;RBAC;PKI;技术
随着科学技术的发展,方便快捷的电子商务模式成了现代社会日趋流行的商务类型,尤其是近年来随着金融危机的蔓延,电子商务以其成本低廉和交易快捷的特点更加受到政府和个人的青睐。一直以来,由于电子商务网络系统的自身特点,安全问题始终是这一领域研究的重要环节。要保障安全进行电子交易,信息的完整性、有效性和机密性以及交易双方的不可否认性这四个方面是必须满足的条件,而这四个方面都涉及到了身份认证、权限和访问控制。一旦电子商务应用系统确定了权限管理和发布方式,在合理定义安全策略的基础上,访问控制系统就可以根据系统发放的权限控制用户访问,从而保护应用系统不受侵害。经笔者研究发现,将公共密钥体系(PKI) 技术和基于角色的访问控制(RBAC) 技术相结合,采用具有统一授权的访问策略和权限管理以及控制策略来实现电子商务信息安全的模型,具有非常实际的可行性。
一、公共密钥技术(PKI) 的系统结构
公共密钥基础设施(PKI) 系统包括安全策略、数据库服务器、管理模块和注册机构RA (RegistrationAuthority) 、服务器CA(Certificate Authority) 、LDAP 服务器六个部分,其中,以注册机构RA 为核心。在它们的组织结构中,用户首先向注册机构(RA) 现场申请使用权限,RA 需要向上一级机构CA 服务器申请证书,此时,CA 和RA 同时向数据库服务器发布证书。数据库服务器以公共资料库的身份,要向用户端来调查下线的证书,而用户端获准后通过网络向RA 申请证书,成功后将证书返回给用户,这样就达到了了合理控制用户的目的。
二、基于角色的访问控制模型(Role-based Ac2cess Control RBAC)
访问控制就是通过某种途径显示的、允许或限制访问能力及范围的一种方式。它主要防范越权使用电子商务资源的行为。通过限制对关键资源的访问,既能防止非法用户的入侵,又能防止由于合法用户的不慎操作而造成损失,从而保证网络资源在受控条件下安全使用。然而,访问控制并不能代替身份认证,因为它的前提是建立身份认证。RBAC 可以提供一种灵活的、动态的方法,它特别适应于大型网络应用系统特定的安全策略,并且能够根据系统安全需求进行灵活变化,实现用户与访问权限的逻辑分离,且控制方法简单。所以它既能有效地改进系统安全性能,又最大限度地减少了权限管理的负担。
(一)基于角色的访问控制策略的子策略
1. 主体(Subject) 策略。主体指的是具有相同权限(即角色) 的用户的集合。对用户权限的分配、修改,可以通过对主体进行相应操作来实现。对许多用户来说,由于其所具有的权限是相同的,因此主体的数量远小于用户数量,所以通过给主体而不是用户分配、修改权限,可以大大减轻管理员的负担。
2. 角色分配(Role Assign) 策略。角色分配用来表示确定一个主体可以分配的角色,可以表示为一个二元组(主体,角色列表) ,其中角色列表包含所有的主体可以分配的角色。
3. 角色(Role) 策略。角色用于组织大量用户的权限规范,可以表示为一个五元组(角色分配数,有效期,继承角色列表,静态约束角色列表,动态约束角色列表) 。其中,角色分配数表示该角色可以分配给多少用户,有效期是该角色有效使用的时间,继承角色列表包含所有的该角色直接继承的角色,静态约束角色列表包含所有的与该角色存在直接静态约束的角色,动态约束角色列表包含所有的与该角色存在直接动态约束的角色。
4. 对象访问(Object Access) 策略。对象访问用来确定一个角色可以具有哪些权限,可以表示为一个二元组(角色,权限列表) ,其中权限列表包含所有的角色可以享有的权限。权限又可以表示为一个二元组(对象,操作列表) ,其中操作列表包含所有的角色所具有的可以对该对象进行的操作。
5. 对象(Object) 策略。对象是系统内防止未授权用户访问的实体。比如,一个系统内某一台服务器上的一个文件目录,系统内的一台打印机等都可以是一个对象,该策略中包含了系统内所有的对象。
6. 操作(Operation) 策略。操作是用户可以对对象进行的动作。比如,对文件的读、写操作,打印机的打印操作等,该策略中包含了所有的系统内用户对对象进行的操作。#p#分页标题#e#
(二) 策略关系简述
上述六个子策略统一由策略管理中心负责管理和发布命令,其中最为核心的是角色子策略。它通过继承角色列表( INH) 和有效期限(VAL) 分别向权限分配策略证书机构(A) 和认证策略证书机构(B)发布数据。除此之外,它还分别通过角色分配数(CAR) 和动态约束角色列表(DSD) 向A 与B 机构发布数据;由权限分配中心经过处理这众多重关系最终发布权限认证证书。
三、基于PKI 的RBAC 的访问控制模型
(一) 实体的功能描述
1. 安全服务器。向应用服务器提供身份认证和访问控制服务是本模型的关键部分。内嵌资源安全描述符的解释引擎,可以根据访问资源搜索相应的安全描述符的位置,并根据用户的属性值对该访问的权限进行判断。
2. 资源安全描述符。存储资源对象访问的使用条件以及相关的属性特征。它是以资源为中心的访问控制策略,是安全服务器在进行访问控制时进行权限判断的主要依据。
3. 目录服务器。本模型有多个目录服务器,均采用轻量级目录访问协议服务器(LDAP 服务器) 。其中包括公钥证书PKI 及其撤销列表CRL 的目录服务器和属性证书AC 及其撤销列表ACRL 的目录服务器。安全服务器在身份认证和访问控制时均要检索目录服务器以获取用户的证书及其撤销列表。
4. 应用服务器。应用服务器内嵌安全服务代理,用来接收客户端的访问请求并作相关处理,然后调用安全服务器的服务对该访问的权限作出判断。各应用服务器之间是相互信任的,用户在不同应用服务器之间可以自由地访问资源,身份认证和访问控制对用户是透明的,实现了网内“单点登录,全网漫游”。
5. 客户端。客户端是下载的专用安全代理,实现与应用服务器代理之间的安全通信。
(二) 访问控制流程
在身份认证通过后,用户继续请求服务,本阶段完成用户请求服务的访问控制。访问控制系统根据用户的身份标识、属性值、访问的资源对象以及访问类型做出接受还是拒绝的判断。控制流程如下:
1. 用户继续向应用服务器发出访问请求。
2. 客户端安全代理在此访问中加入认证标识,表示在此次访问之前已经通过身份验证。
3. 应用服务器服务代理根据认证标识得到已经存在于服务器上的用户公钥证书并调用安全服务器。根据用户公钥证书中“证书唯一标识”,向相关LDAP 服务器检索该用户的属性证书获取用户的属性值及其扩展属性值,并将属性值缓存与用户的认证标识一起为用户后面的请求服务。
4. 安全服务器验证用户属性证书的真实性和完整性,需要满足如下条件才算通过:第一,属性证书有效,包括有效期和签名有效;第二,访问LDAP 的属性证书撤销列表确定该属性证书没有被撤销;第三,证书的基本属性必须是该RBAC 体系中事先统一的属性类型,也就是属性存在于访问控制列表ACL 中,否则属性证书无效。
5. 安全服务器调用安全描述符解释引擎。该引擎根据用户的基本属性和扩展属性,然后运用内置的访问控制规则,获取该资源的安全描述符信息。最后根据用户身份、属性、访问对象以及操作类型调用控制决定函数,作出判断是否允许用户访问该信息资源。
6. 向用户提供服务或拒绝提供服务。
四、结论
目前,网络安全的隐患有一半以上来自网络系统内部。笔者建立的模型使用PKI 属性证书(AC)来存储用户角色,授权策略做出所有的访问控制决定,而且它本身也被存储在PKI 属性证书中,以确保其完整性。所有的AC 都可以被存储在一个LDAP目录中,以增加其可用性。因此,这种基于PKI 技术的角色访问控制模型,在电子商务网络安全系统中有一定的实用性,值得进一步研究和推广。
责任编辑:叶子