其中,参数a,b,c分别表示下界、中间值与上界,用来描述信任的不确定性与模糊性。
定义2设M1= (a1,b1,c1)和M2=(a2,b2,c2)为两个三角模糊数,有关其计算法则如下。
1.3 构造超矩阵
构造模糊判断矩阵后,需要得到相对权重。首先进行模糊综合度的计算。设Mgi为模糊判断矩阵中的模糊数,则模糊综合度Si为
其中,m为矩阵的列数,n为矩阵的行数。
其次计算Mi大于Mj的可能性程度,设M1= (a1,b1,c1)和M2= (a2,b2,c2)为两个三角模糊数,则M1≥M2的可能性程度定义为
将求出的若干个可能性程度中的最小值记为该元素重要于其他元素的可能度[2],如式(4)所示。
设w′=[d(A1),d(A2),… ,d(An)]T,将其进行归一化后得到非模糊权重向量w=[d′(A1),d′(A2), … ,d′(An)]T。按照此方法计算出其他的判断矩阵wij。
矩阵wij=0中的列向量是网络层中元素之间影响力大小的排序向量[5]。若网络层元素之间互相不受影响,则wij=0,以此得到ANP结构的超矩阵w。
由上述矩阵可以观察到,超矩阵是由若干个归一化的列分块组成,但超矩阵本身并非归一化。因此需要获取控制准则下的加权矩阵A。
最后结合矩阵A与超矩阵的相应元素块即可获得加权超矩阵w′。在加权超矩阵中,每一列的和为1,也称其为列随机矩阵[2]。
1.4 用户行为证据的获取
云用户的行为证据是指云服务提供商的用户行为信任评价指标经过一定的处理得到的具体化数值[13]。获取用户行为证据的流程如下:
1) 利用Bandwidthd等网络流量分析工具来查看数据包的传送速率,获取网关的各种协议[14];
2) 利用计算机上的入侵检测系统,如RealSecure等对网络安全进行分析,获取实时的事件活动以及用户的访问次数等[15];
3) 利用Ajax的点击流捕获工具获取用户的一系列动作信息;
4) 利用如Cisco的NetFlow Monitor等专门的数据采集工具[15]获取数据。
为了让本文提出的信任评估机制的优化效果更真实,本文所用的用户行为数据来源于开发的用户行为监测、评估与控制示范平台,平台包括图书的查询、购买、借阅、下载以及信息设置等功能。该平台是由JSP页面和后台控制程序组成的基于Java的Web系统。通过在JSP页面嵌入JavaScript代码可以获取用户的行为数据,如用户名、密码以及用户键盘输入的退格次数等,此外,通过JavaScript可以获取到用户的地理位置以及IP地址等信息;当用户切换页面时,系统根据JSP页面提交的表单还可以获取用户的查询以及借阅次数等信息。当退出平台时,用户在该系统平台所操作的一系列动作被记录在数据库中。
1.5 用户行为信任度
(1)用户行为评估矩阵
评估矩阵由FANP方法获取的行为证据权重与初始证据矩阵计算得到。本文通过开发的平台获取用户不同模块下的行为证据,依据用户行为证据规则库[16]将行为证据划分为相应的信任等级。将信任等级构成初始证据矩阵进行后续的计算。
设初始证据矩阵为U=(uij)mn,行为证据权重矩阵为W=(Wij)mn,根据U×wT获得的矩阵对角线即用户行为评估矩阵E=(e1,e2,… ,en)。将评估矩阵与相应模块下的控制层指标权重相结合即该模块下的用户行为信任度。
(2)综合行为信任度计算
云用户的综合行为信任度包括访问环境信任度F(ui)与历史访问行为信任度L(ui)两部分。计算方式如下。 其中,α和β分别表示历史访问行为与当前访问环境行为所占的比重,且α+β=1。它们的值随着云服务提供商侧重程度的增加而增大,如在某个云环境下,云服务商更看重用户的历史访问行为,那么应该提高α的值,减小β的值。
(3)用户行为信任等级
本文根据实际应用需求将用户行为信任等级划分为5个等级,即L1:不可信;L2:一般可信;L3:基本可信;L4:中等可信;L5:高度可信。信任等级划分情况如表2所示。
表2 信任等级划分Table 2 Trust level division table
2 实验结果与分析
本文实验运行在一个用户行为监测、评估与控制示范的平台上,该平台可以获取到历史访问行为以及当前访问环境两方面的用户行为数据。将最近7天的用户行为数据作为行为证据,实验部分所选取的用户行为证据与1.1节中ANP模型所列出的行为数据一一对应。
2.1 信任评估实例计算
(1)建立模糊判断矩阵
将历史访问行为方面下的常规行为与灰色行为两个指标进行比较,利用三角模糊数列出两两比较矩阵。一级指标模糊判断矩阵如图3所示。
图3 一级指标模糊判断矩阵 Figure 3 Fuzzy judgment matrix of primary index
根据式(2)计算综合模糊度为:SR1= (0.29,0.67,1.54);SR2= (0.18,0.33,0.62)。
根据式(3)得出各准则重要于其他准则的重要性程度为:d(SR1) = 1;d(SR2) = 1.33。
将其归一化获得加权矩阵为:A1=(0.43,0.57)T。
按照相同的方法计算访问环境方面下的加权矩阵为:A2=(0.4,0.6)T
本文分别构建了历史访问行为与访问环境两方面的ANP结构模型,以历史访问行为方面的计算为例,分别构建不同准则下常规行为与灰色行为下不同元素之间的两两判断模糊矩阵,如在用户名失败次数(S22)一定的准则下,常规访问行为下的各元素之间的模糊判断矩阵如图4所示。
图4 两两比较矩阵 Figure 4 Pairwise comparison matrix
通过式(2)~式(4)的计算方法得到归一化的权重向量为w=(0.33,0.27,0.40)T。
(2)建立超矩阵
按照上述同样的方法求出不同准则下的相应权重,所有权重组成历史访问行为下的超矩阵。按照相同的原理求得访问环境下的超矩阵。上述过程采用手工运算计算量过大,本文借助计算ANP的专属工具yaanp来获取结果,计算结果分别如图5、图6所示。
图5 历史访问行为下的超矩阵 Figure 5 Hypermatrix under historical access behavior
图6 访问环境下的超矩阵 Figure 6 Hypermatrix in access environment
(3)计算极限超矩阵
对超矩阵进行加权获取加权超矩阵,将加权超矩阵不断进行自乘直到得到一个稳定的极限矩阵,任取极限矩阵中的一列数据就是各个元素最终的稳定权重。此过程同样借助专属计算软件yaanp来完成,计算结果如图7和图8所示。
图7 历史访问行为下的极限超矩阵 Figure 7 Limit hypermatrix under historical access behavior
图8 访问环境下的极限超矩阵 Figure 8 Limit hypermatrix in access environment
(4)用户行为信任度计算
通过开发的平台获取的用户历史访问行为与访问环境两方面的证据值经过规范化处理后[17],参考用户行为证据规则库[16]查看得到的历史访问行为初始证据值为:。
求得云用户特性层的评估矩阵:
根据云用户历史访问行为与访问环境两方面评估特性层的权重与特性层的评估矩阵求得云用户历史访问行为与访问环境的信任度为:
假设本文实验中α= 0.4,β=0.6,根据式(8)求得用户综合信任度。根据规范化处理,最终的用户信任值与所对应的信任等级如表3所示。
表3 信任值与信任等级Table 3 Trust degree and trust level table
2.2 实验对比
为了验证本文提出的信任评估机制的性能优化效果,对基于本文的FANP优化评估机制与传统的AHP信任评估机制进行实验对比。
采用Python语言模拟某云端用户在与云服务商进行交互的过程中,如用户密码错误次数、退格次数等损坏信任值的行为比例增加时的信任度变化情况。本文实验中将损坏信任值的行为称为恶意行为。图9给出了两种评估机制在不同的恶意用户行为比率下的信任度变化情况。
图9 用户信任度随用户恶意行为比率的变化 Figure 9 The change of user trust with the ratio of malicious behavior
从图9可以看出,随着用户恶意行为比率的增加,两种行为信任评估机制中的用户信任度都呈现下降趋势,但本文提出的优化机制比传统的AHP评估机制下降更为显著,且在不同的恶意行为比率下,本文机制中用户的行为信任度始终低于AHP机制中的信任度,这说明本文的优化机制能够更早更快地识别出信任度低的用户,从而降低云端的风险。
3 结束语
云计算环境安全面临着严峻的考验,设计有效的机制对云端用户展开信任评估是有效提升云安全的方法之一。本文引入模糊网络分析法,体现了信任的不确定性,弱化了传统评估方法普遍存在的主观性;扩展了用户行为管理模块,分别构造云用户历史访问行为和访问环境两个角度下的网络层次模型,细化了评估粒度。实验结果证明所提出的优化机制可以更好地识别出恶意用户,提高云环境的安全性。下一步会根据本文的信任评估优化机制研究相对应的访问控制策略,从而打造一个安全性更高的云环境。