陶青 栗勇兵
【中图分类号】 G250.72【文献标识码】 A【文章编号】1672-5158(2013)07-0003-01
当前的P2P网络在访问控制方面面临以下问题:无中心点的网络环境需要分布式的访问控制;高动态性的网络环境必须支持对资源的多级授权和对陌生用户的临时授权;所建的信任关系的有效期必须得到有效的管理;必须能及时动态地引入申请加入的用户。但是现存的访问控制体制都不能很好地解决这些问题。ACL这种体制不易管理,且不容易扩展,也不允许临时的权限传递,又由于P2P网络的用户的高动态性,IP不固定,所以不太适于P2P网络;传统的基于Cap的体制在文献中被证明与ACL等价,同样也不适于P2P网络;基于角色的体制必须依赖于一个安全的信任中心,因而也不适合于P2P网络。文献提出了一种分布式系统的基于级别的访问控制方案,具有无中心点、支持资源的多级授权和对陌生用户的临时授权的特点,比较适合P2P网络。但是如果将文献所提出的基于级别的访问控制应用于P2P网络,还存在以下问题:方案中只有强制访问控制策略;方案中没有对访问权限加以具体区分,因而缺乏灵活性和访问控制粒度不够细。
本文针对P2P网络自身的特点,给出了基于级别的访问控制在P2P网络中的具体实现方案。该方案采用证书模型,并根据小费马定理构造了一套级别密钥对证书进行监管。将访问权限分为只读(r)、读写(w)、只写(a)、执行(e)四级,结合了强制访问控制策略和自主访问控制策略,弥补了文献在灵活性和控制粒度方面的不足。另外本方案继承了文献无中心点、支持资源的多级授权与临时授权的特点,对证书的有效期进行了有效的管理,证书能被及时动态的发放给申请加入的用户,解决了前面所提到当前的P2P网络在访问控制方面面临的问题。
一、基于级别的访问控制简介
基于级别的访问控制的基本思想是:将用户和共享资源分别分成n级,当用户的级别大厂或等于资源的级别时,访问允许,否则拒绝访问。将用户的级别和资源的级别映射到一个统—的偏序集里,并且证明了这样的偏序集的存在性,给出了构造该偏序集的方法。
今U={u1,u2,…un}表示用户的集合,R={r1,r2,…,rn}表示资源的集合,U(ri)表示可以访问资源ri的用户的集合,R(ui)表示用户ui可以访问的资源的集合,则用户的级别和资源的级别满足以下几条基本原则:
1) ui≤t·uj,当且仅当R(ui) R(uj)。2)ri≤Rrj,当且仅当U(ri)R(rj)
3)ui≡t·uj,当且仅当R(ui)=R(uj)。
ri≡Rrj,当且仅当U(ri)=U(rj)
其中“≤”和“≡”是以对级别高低的比较。
二、基于级别的访问控制在P2P网络中的实现
1、级别划分
根据用户信誉的高低将用户分为n级。信誉值t∈[0,1],将[0,1)区间分为n段,每一段对应一个级别。为了表达方便,记第i级用户的集合为Ci,最高级别的用户集合记为Cn。Cn中的信誉最高的用户记为U。
2、访问控制策略的制定(1)强制访问控制策略
各个用户根据共享资源的重要度和敏感度将自己的共享资源分为n级,记第i级资源的集台为Ri,规定每一级用户对每一级资源的访问权限。强制访问控制策略分为基于完整性和基于机密性两种。本文以基于秘密性的强制访问控制策略为例来说明强制访问控制策略的制定。基于机密性的强制访问控制策略满足两条原则:NO-READ-UP(不向上读)和NOWRITE-DOWN(不向下写)。
(2)自主访问控制策略
本方案中,自主访问控制策略主要针对访问客体(被访问的对象)已知的访问主体(发起访问请求的用户)。如果访问客体对访问主体没有任何了解,访问客体只能根据访问者的级别和强制访问控制策略来限制其访问权限。而对已知的访问主体(包括可信用户和恶意用户),访问客体就可以根据自己的意愿放大或缩小其访问权限。
3、证书的颁发
1)证书的结构,如下所示。
级别一—证书的等级,用整数i表示,1≤i≤n。
用户名——该证书要发放的用户的名称。
发行者一—发行该证书的用户的名称,该项需经发行者签字。
有效期——证书的发行时间和到期时间,不同级别对应不同长度的有效期。
Check=f(级别,用户名,有效期,种子),其中种子为比证书级别高一级的级别密钥,最高级别的证书例外,f是一个单向Hash函数。
2)最高级别的用户自己产生自己的证书,种子用自己的级别密钥,然后再颁发次级用户的证书,次级用户颁发再次级用户的证书,这样递归下去。
4、访问控制的实现
1)访问主体Si向访问客体()j发出访问请求:request(c,r,o);
其中,c为证书;r为请求的权限;o为访问的目标文件;i为证书的级别。
2) 访问客体()j接到请求后,对访问主体Si的证书进行认证;
如果i 1)检验证书的有效期。 2)计算Check=f(级别,用户名,有效期,种子)值,并与请求中的证书的Check值比较,看是否相等,如果相等视为有效证书,否则视为无效,直接驳回请求。 如果i≥j,即访问主体Si的级别不低于访问客体()j的级别,则()j向i级别以上的用户发出认证请求,即请求高级别用户计算Check值,被请求的用户计算后将结果返回。
5、系统管理
1)临时授权。当陌生用户需要使用资源时,或低级别用户需要以高级别用户的权限使用资源时,就需要对这些用户进行临时授权。临时授权的方法就是颁发有效期限很短的证书,使这些证书在本次使用以后就失效。
2)添加新用户。从前述可以看出,第二级以上的所有用户都可以颁发证书,因而也就可以引入新用户。为安全起见,引入的新用户应授予最低级别的证书。
3)用户的升级。当某个用户的信誉值达到更高级别用户的要求时,可以向比自己级别高的用户申请升级自己的证书。被请求的用户计算申请者的信誉值,然后判断是否满足升级条件。如果满足升级条件,则更改证书的级别为升级后的级别;将自己的用户名经签字替换原证书的发行者;计算Check值替换原证书的Check值,升级完成。
4)权限的撤销。一般情况下利用证书的有效期就可实现权限的撤销。对于低级别、动态性高的用户,把证书的有效期设得短一些;对级别高的、比较固定的用户的证书的有效期就设得长一些。如果在证书的有效期期间撤销用户,可以公布该证书的Check值,当验证证书的时候,如果发现该证书的Check值被公布撤销,则拒绝访问。对于级别比较高的用户的撤销,最好更换系统密钥,因为被撤销的用户知道系统的级别比较高的密钥,对系统的管理会造成很大的麻烦。
三、性能分析
1)级别密钥的安全性。
2)简捷的认证证书的方法。
3)访问控制粒度与访问速度的折中。
4)无中心点。
5)证书的及时动态的发放。
6)对证书的有效期的管理。
结论:本文提出的基于级别的访问控制在P2P网络的实现方案采用证书模型,结合了强制访问控制策略和自主访问控制策略,无中心点,支持资源的多级授权和临时授权,对证书的有效期进行了有效的管理,证书能被及时动态地发放给申请加入的用户,解决;了前面所提到当前P2P网络在访问控制方面面临的问题。具体动态性、灵活性和访问控制粒度小等特点,适用于P2P网络发展的需求。
参考文献
[1] 侯孟书,卢显良,周旭,詹川. P2P系统的信任研究[J]. 计算机科学. 2005(04)
[2] 谢钧,许峰,黄皓. 基于可信级别的多级安全策略及其状态机模型[J].软件学报.2004(11)