电子政务中基于web访问控制策略的分析和研究
2022-03-07陈倬雷波
陈倬 雷波
1前言
在以往的安全技术措施中,通过硬件和软件的配置管理对安全目标都具有直接或间接作用。因此,研究电子政务中访问控制技术具有现实且积极的意义。
伴随着电子政务的高速发展发展,硬件方面:对防火墙技术的选择、内外网间配置防火墙、IDS等;软件方面:选择更为安全的国产操作系统等。这一系列的技术措施对保障电子政务内网的安全、预防来自外网的威胁发挥着极为重要的作用。不过,越来越多的政务业务通过Web应用实现传递,政务信息在政府间、政府与企业间、政府与公众间交互。
访问控制技术通过不同的手段和策略实现对网络资源的访问控制,而这些仅靠应用安全操作系统、配置防火墙是无法达到的。访问控制规定了主体(访问请求者)对客体(被访问资源)限制数据的访问,同时通过访问用户的权限控制访问资源的类别。现在,使用稳定、可靠的安全访问控制技术已逐渐成为政府、企业构造网络安全防范体系所采用的主要技术之一[1]。所以,要实现政务信息Web页面的安全访问控制,通过主流的Web安全访问控制策略实现对电子政务多级保护、提供安全解决方案是电子政务建设中的一个重要内容。
2访问控制系统组成
访问控制系统(图1)一般包括:要求访问电子政务系统的用户或者某一个进程程序(主体)以及被访问的政务系统提供程序、数据、各种信息和相应的网络设备(客体)。安全的访问策略就是:为合理的管理维护主体访问客体提供的一套安全规则。
访问控制的关键是采用何种访问控制策略,即如何向主体授权。目前主要有三种不同类型的访问控制策略:MandatoryAccessControl(强制访问控制);DiscretionaryAccessControl(自主访问控制);RoleBasedAccessControl(基于角色的访问控制)。
3强制访问控制(MAC)
強制访问控制是“强加”给访问主体的,即系统强制主体服从访问控制策略。一个进程作为访问的主体,需要访问对象提供相关数据资源以及网络设备。每当主体尝试访问电子政务网站时,都会由网络操作系统进行主体访问权限授予,从而决定主体是否有权限访问客体。MAC最开始应用于多层次安全级别的军事行动中。MAC的运行逻辑是:首先定义安全级别,当用户请求访问网络资源或信息时,系统就访问客体的合法性进行权威性对比和完整性约束。比如,禁止将危险信息向下写入或者禁止低级别用户向上访问高级别数据信息等。
MAC访问控制策略主要体现在网络操作系统(OperatingSystem)对主体访问权限的控制方面,其制定相关的强制安全策略以及主体访问客体而进行的权限鉴定。其中,鉴定方式有很多种,具体采用何种鉴定方式,需要根据访问策略而定。
管理员制定的安全策略强制对所有用户实施,通过权限鉴定从而决定用户能否访问以及具体能访问哪些网络资源,其中包括各种网络设备和政务网站中所需要的相关重要数据信息。毫无疑问,没通过授权将拒绝访问网络资源。每次主体访问客体候,管理员将这个过程定义一个标记,通过这个标记鉴定这次访问是否安全,这是一种行之有效的手段。
因为最早MAC是应用在军事、国防领域,所以涉及多层安全MLS。多层安全的核心思想就是将访问主体定义为不同的安全保密级别。比如,普通级别、机密级别和绝密级别等。通过对访问主体进行级别划分,从而决定访问权限。那么,MAC所具有的具体功能就相当明了。比如,当你是低级别用户时,作为访问主体才能高效、稳定的访问高级别客体———安全的使用里面的共享信息以及网络资源。当然,与此相对的就是只有高级别主体才能向目标对象写入相关数据信息。
MAC能保证操作系统的相对安全,MAC对操作系统的各种客体(如socket、文件、系统FIFO、IPC、SCD等)进行细粒度的访问控制。目前,几乎所有的操作系统都采用强制安全处理机制,因为这是一种相对稳妥的处理方式。主体尝试访问电子政务网站时,都会由网络操作系统进行主体访问权限授予,从而决定主体是否有权限访问客体,这是一种强制性处理机制,其目的是使访问过程达到更高的安全级别,从而保护系统数据的安全性。这一点与DAC不同的。
MAC的缺点在于同级别之间缺乏控制机制,访问级别的划分不够细致。
4自主访问控制(DAC)
自主访问控制因为其稳定可靠的性能,成为目前计算机网络管理系统中,处理网络资源访问使用得最多的一种安全访问控制机制。DAC的工作原理是,对某个客体具有拥有权(或控制权)的主体,能够将对该客体的一种访问权限或多种访问权限自主地授予其他主体,并在随后的任何时刻将这些权限回收。
这种访问方式是一种自主行为,在DAC系统中,某一个拥有访问权限的主体(用户或某一个进程)具有将权限转移给其他主体的能力,这是对访问权限进行限定的一种特定方法。这种转移是自主的、安全的、高效的。实际上,DAC访问控制就是一个矩阵,可用一个三元组来描述(S,O,A)。其中,S为主体集合;O为客体集合;A为属性集合。
对于任意一个si∈S,oj∈O,那么相应地存在一个aij∈A。而aij=P(si,oj),aij就决定了si对oj可进行什么样的访问操作。用矩阵描述如下。
矩阵的第i行Si表示主体si对所有客体的操作权限;矩阵的第j列Oj表示客体oj允许主体可进行的操作权限。其在具体实现时是基于矩阵的行或列来制定访问控制策略,而不是将矩阵整个保存起来,因为那样做效率太低。下面分别介绍这两种方法。
4.1基于行的自主访问控制
密码(Passwords):每个客体就不同的访问方式提供不同的访问密码,密码是机密的,毋庸置疑知道密码才能访问。缺点:为了保证系统安全,密码需经常更新,并且密码多,用户难以记忆,而且哪些用户享有密码也很难受到控制。
前缀表(Profiles):每个用户都拥有前缀表文件,前缀表文件列出了所有能够访问其客体的权限列表。缺点:如果主体能够访问多个客体,其访问权限就非常多,那么所对应的权限列表就非常长,非常复杂,容易出现冗余现象。而且在管理权限表方面也会非常麻烦,比如删除、创建、更改前缀表文件等操作。
权利表(CapabilitlesList):只有当一个主体拥有准许访问的“Capabilitles”时,通过将访问的主体和被访问的客体进行约束,此表才能约束客体。
以上述三种方法都是针对某一个主体的访问权限。但是,在一个完整的安全控制系统中,正是客体本身需要得到可靠的保护。要知道从主体这个方面对约束进行修饰的话,那么想知道哪一些访问对象被读取将会很困难。所以,控制访问服务这个功能将会控制主体的集合,那么如何控制就是在赋予权力和收回权利这两个方面上进行,所以重心就偏向于客体方面。
4.2基于列的自主访问控制
在每个要访问的客体上附加要访问的主体明细表,通过两种形式:保护位(ProtectionBits)和访问控制列表(ACL)来实现。保护位是对所有主体指明一个访问模式集合,通常用bit位来表达访问权限,其表达的方式多种多样,与访问的主体相互匹配、协同工作,对于多用户多任务操作系统特别合适,因此被广泛使用。
在局域网中,节点设备用来对数据包进行转发、传送,诸如路由器、交换机等。那么,其中都具有一张比较详细的指令访问列表,依据这些列表,可以对网络中特定资源进行访问控制,控制其能否被访问、能否被读取、能否被写入等。在这个过程中,我们不但能控制某一个具体资源的访问权限,还能将具有相同访问该资源权限的主体用户整合在一起,进行按组别集中授权访问、集中管理。例如,针对文件fileAAA,通过ACL访问控制列表(nicky和linda是私人用户也就是主体,array是规定的一个主体访问用户集合)。FileAAA:(nicky,{r,w}),(linda,{r}),(array,{w})
这条ACL表明,nicky可以读入数据,同时也可以写入数据fileAAA。而linda这个用户只能读取数据,array则因为是划定好的一个成员集合,因此里面的所有成员用户都能向文件fileAAA中写入数据。
因为ACL独有的性能特点,其优势是将用户进行分组集中管理,能够比较客观的查找出哪些用户具有哪些资源的访问权限。随着时代的发展,ACL的功能也得到了进一步的扩充,伴随着网络规模逐渐变大,企业内部网络拓扑结构越来越复杂,ACL运行起来就越来越吃力,弊端尽显。
因为ACL独特的工作模式,用户都按组进行授予访问权限。在一个网络中,资源变得越来越多的时候,ACL就会新建越来越多的主体访问明细表,这些表重复冗长,同时管理员还要管理访问权限,无疑加大了管理人员的工作强度和难度。同时,因为局域网错综复杂,且服务器服务于各自局域网、各自设置主体访问控制列表。那么,列表众多也进一步加大了ACL的复杂度和整体控制策略的精确度。否则就会造成各部门工作行动不一致,协调失败而导致访问失败、出现丢包、错包的情况。
由于Web管理员在服务器上要对每个资源的ACL进行维护,而每个ACL都包含用户和组列表、受控资源的访问方式等信息。因此,授权管理成本高,且容易发生错误。
由于把权限最终授予给用户,或造成“用户/许可”数据量十分庞大,而且用户在企业中的地位随时可能变动,相应的访问权限也都要修改,因此维护稍具规模的企业网络可能导致灾难性后果。
5RBAC
RBAC(Role⁃BasedAccessControl)是对DAC和MAC机制的改进。在RBAC中,权限与角色一一对应,用户通过扮演某种角色而获得与之匹配的客体访问权限。它具有三种授权管理的控制途径:改变主体所担任的角色;改变角色的访问权限;改变客体的访问权限。
RBAC提供了层次化的管理结构,具有责任分离的能力和提供最小权限的能力,极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而出现,用户则依据自身责任和资格被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色[2]。角色可依据新的需求和系统的合并而赋予新的权限,且权限也可根据需要从某角色中进行回收。角色與角色可以建立联系,以囊括更广泛的客观情况。因此,RBAC明显的优势就是降低管理成本,支持高级别的访问策略。