发明名称 一种支持差异度量的角色动态转换方法
摘要 本发明公开了一种支持差异度量的角色动态转换方法,目的是提供一种支持差异度量的角色动态转换方法,在不增加用户负担、不降低应用的灵活性的前提下,降低角色转换的风险。技术方案是先采用认证可信度推理的思想设计AT-PAM;AT-PAM依据用户的不同登录方式推导得到用户可信度;采用层次分析方法AHP度量角色差异度;将角色间差异度与当前用户可信度下角色的转换阈值相比较,判断是否可以发生角色转换。采用本发明可在增加应用的灵活性的同时保持对应用的相应控制,解决了认证和访问控制相独立所存在的问题,在保持系统灵活性的同时,保证了系统的安全性。
申请公布号 CN102081712A 申请公布日期 2011.06.01
申请号 CN201110008407.5 申请日期 2011.01.14
申请人 中国人民解放军国防科学技术大学 发明人 廖湘科;李姗姗;李文博;何连跃;吴庆波;陈松政;魏立峰;王蕾;彭绍亮
分类号 G06F21/00(2006.01)I 主分类号 G06F21/00(2006.01)I
代理机构 国防科技大学专利服务中心 43202 代理人 郭敏
主权项 1.一种支持差异度量的角色动态转换方法,其特征在于包括以下步骤:第一步,将用户认证可信度与角色的转换相关联,在PAM认证框架的基础上,采用认证可信度推理的思想设计AT-PAM,方法是:1.1修改PAM的配置文件,在配置文件末端添加行:<img file="FDA0000043924170000011.GIF" wi="869" he="282" />其中TEF(H,E<sub>r</sub>)是可信度增强因子,表示用户通过认证机制E<sub>r</sub>认证后可信度的增加程度,H表示用户可信结论,p(H)指没有经过任何认证时用户的可信度,1≤r≤s;1.2保持PAM主要结构不变,在PAM引擎中增加认证可信度推导模块,由认证可信度推导模块完成认证可信度推导;第二步,AT-PAM依据用户的不同登陆方式推导得到用户的认证可信度:在用户登陆过程中,AT-PAM读取配置文件,对于单认证机制,得到认证机制名称E<sub>1</sub>、可信度增强因子TEF(H,E<sub>1</sub>)和用户初始可信度p(H),认证可信度推导模块将TEF(H,E<sub>1</sub>)和p(H)代入公式p(H|E<sub>1</sub>)=TEF(H,E<sub>1</sub>)+(1-TEF(H,E<sub>1</sub>))p(H)进行计算,得到通过认证机制E<sub>1</sub>认证后用户的认证可信度p(H|E<sub>1</sub>);对于多认证机制,读取配置文件后得到认证机制名E<sub>1</sub>E<sub>2</sub>...E<sub>s</sub>、可信度增强因子TEF(H,E<sub>1</sub>),TEF(H,E<sub>2</sub>)......TEF(H,E<sub>s</sub>)和用户初始可信度p(H),代入公式<img file="FDA0000043924170000012.GIF" wi="1475" he="119" />进行计算,得到通过认证机制认证后用户的认证可信度p(H|E<sub>1</sub>E<sub>2</sub>...E<sub>s</sub>);将认证可信度p(H|E<sub>1</sub>)或p(H|E<sub>1</sub>E<sub>2</sub>...E<sub>s</sub>)写入用户shell进程中,在进程task_struct结构中增加可信度标志位,可信度标志位为浮点类型,标志位越大,表示用户身份越可信;由此产生用户的认证可信度集合(t<sub>au1</sub>(U),t<sub>au2</sub>(U),……,t<sub>aui</sub>(U)},t<sub>aui</sub>(U)表示通过认证机制au<sub>i</sub>认证后用户U的认证可信度;第三步,采用层次分析方法度量角色差异度,角色差异度指角色所拥有权能的差异,用D(R<sub>1</sub>,R<sub>2</sub>)表示,R<sub>1</sub>、R<sub>2</sub>为用户的两个不同角色,对于含有k个角色,存在n种权能的操作系统的度量步骤是:3.1分析角色的内在关系,构造层次结构,将求角色间的差异问题划分成权能和角色两层;根据权能的不同功能,将权能划分为m类T<sub>1</sub>,T<sub>2</sub>,...T<sub>j</sub>...,T<sub>m</sub>,0<m≤n,并用<img file="FDA0000043924170000021.GIF" wi="99" he="59" />表示角色R<sub>l</sub>中类型T<sub>j</sub>的权能个数;0<l≤k,0<j≤m;3.2针对权能层的各类权能,依据其在操作系统中功能的重要程度,构造各类权能的成对比较矩阵V,V的行和列分别表示m类权能,其中元素a<sub>ij</sub>为两类权能T<sub>i</sub>和T<sub>j</sub>重要程度的比较,由The Analytic Hierarchy Processz1公布的标度表得到,1表示T<sub>i</sub>和T<sub>j</sub>具有相同重要性;3表示T<sub>i</sub>比T<sub>j</sub>稍重要;5表示T<sub>i</sub>比T<sub>j</sub>明显重要;7表示T<sub>i</sub>比T<sub>j</sub>强烈重要;9表示T<sub>i</sub>比T<sub>j</sub>极端重要;2,4,6,8表示上述相邻重要程度判断的中间值,0<i≤m,0<j≤m;3.3依据随机一致性比率CR=CI/R<sub>I</sub>来判断成对比较矩阵是否一致:当CR<0.1时,认为成对比较矩阵具有满意的一致性;当CR>0.1时,调整各类型比较权重使各类型权能成对比较矩阵达到满意的一致性;其中<img file="FDA0000043924170000022.GIF" wi="337" he="80" />λ<sub>max</sub>(V)表示矩阵V的最大特征值,m表示权能的种类;RI为The AnalyticHierarchy Processz1公布的平均随机一致性指标,m越大指标值越大;3.4依据成对比较矩阵V计算λ<sub>max</sub>(V)时V的特征向量,单位化后得到各类权能所占权重W<sub>v</sub>;3.5对于类型T<sub>j</sub>,构造角色R<sub>o</sub>,R<sub>p</sub>之间的成对比较矩阵<img file="FDA0000043924170000023.GIF" wi="312" he="135" />其中a′<sub>oo</sub>,a′<sub>pp</sub>为1,a′<sub>po</sub>为a′<sub>op</sub>的倒数,0<o≤k,0<p≤k,依据角色R<sub>o</sub>和R<sub>p</sub>的T<sub>j</sub>类权能的权能个数的差异即<img file="FDA0000043924170000024.GIF" wi="92" he="58" />和<img file="FDA0000043924170000025.GIF" wi="92" he="66" />的差异以及类型T<sub>j</sub>的权能总数CN<sup>j</sup>,由公式(5)得到a′<sub>op</sub>,a′<sub>op</sub>决定对于类型T<sub>j</sub>,角色R<sub>o</sub>和R<sub>p</sub>之间的差异程度:<img file="FDA0000043924170000031.GIF" wi="1358" he="683" />计算矩阵B<sub>j</sub>最大特征值的特征向量,单位化后得到T<sub>j</sub>类权能角色间差异权重W<sub>j</sub>=(b<sub>jo</sub>,b<sub>jp</sub>);依据各类权能权重和各类角色间差异权重,得到角色间的差异度,角色R<sub>o</sub>,R<sub>p</sub>间的差异度计算公式为:<maths num="0001"><![CDATA[<math><mrow><mi>D</mi><mrow><mo>(</mo><msub><mi>R</mi><mi>o</mi></msub><mo>,</mo><msub><mi>R</mi><mi>p</mi></msub><mo>)</mo></mrow><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><msub><mi>W</mi><mrow><mi>v</mi><mo>&times;</mo><mo>|</mo><mrow><mo>(</mo><msub><mi>b</mi><mi>pn</mi></msub><mo>-</mo><msub><mi>b</mi><mi>on</mi></msub><mo>)</mo></mrow><mo>|</mo></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths>第四步,将用户的认证可信度与角色差异度相结合,将角色间差异度与当前用户可信度下角色的转换阈值相比较,判断是否可以发生角色转换,方法是:4.1采用以下方法确定角色转换阈值:4.1.1将理论上两角色的最大差异作为角色间最大差异度,最大差异为两个角色权能完全不同,用D<sub>max</sub>表示,选取0为最小角色差异度,得到角色差异度范围为0~D<sub>max</sub>;4.1.2由用户初始可信度P(H)确定用户认证可信度的范围为P(H)~1,将P(H)对应角色差异度中的0,将1对应角色差异度中的D<sub>max</sub>,以用户认证可信度为横坐标,角色差异度为纵坐标,得到直线函数<img file="FDA0000043924170000033.GIF" wi="599" he="97" />将用户的认证可信度集合{t<sub>au1</sub>(U),t<sub>au2</sub>(U),……t<sub>au3</sub>(U),}中各认证可信度代入该函数的x,得到的值y即为不同认证可信度所对应的角色转换的阈值t<sub>ac</sub>(U);4.2将角色R<sub>o</sub>,R<sub>p</sub>间的差异度与转换阈值t<sub>ac</sub>(U)相比较,若角色间的差异度小于阈值t<sub>ac</sub>(U),允许角色R<sub>o</sub>转换成角色R<sub>p</sub>;若角色间的差异度大于阈值t<sub>ac</sub>(U),不允许角色从角色R<sub>o</sub>转换成角色R<sub>p</sub>。
地址 410073 湖南省长沙市开福区德雅路109号