石秀金, 于纬华
(东华大学 计算机科学与技术学院, 上海 201620)
当今,信息技术便捷迅速的资源共享为人们的生产生活提供了极大的便利。同时,社会对信息技术的高度依赖,也意味着面临的攻击以及遭受的损害将会越大。访问控制技术是信息安全保障体系的关键部分[1]。传统访问控制中的访问控制策略是静态的,不具备灵活性,当环境发生变化时,访问控制策略会有滞后性,很难适应多变的动态环境。目前越来越多的研究人员开始关注基于风险的访问控制[2-3]。基于风险的访问控制将访问控制中隐含的风险抽出并进行量化,以风险为策略判定的标准,使访问控制更加灵活。当环境发生改变时,访问控制系统能够通过调整规则允许的风险值和系统允许的风险值对访问请求的判定结果进行调控,实现灵活高效的访问控制。基于风险的访问控制实现的基础是访问风险的量化,主体的访问请求是一个定性的指标,只有经过量化才能应用到访问控制的策略决策中,而一个性能优良的量化方法则是保证访问控制有效性和准确性的执行基础。
访问控制系统中对风险产生影响的因素是非线性的,并且时刻发生变化,各因素间可能存在一定程度上联系,这些情况导致难以确定完备的求解规则,并且影响因素的动态性要求算法必须具有一定容错和容差能力[4],而人工神经网络适合求解此类问题。人工神经网络(Artificial Neural Networks, ANN)是使用数学模型对生物中枢神经系统基本特性而研究抽取的概括和模仿,是一种非线性的复杂系统。小波分析是20世纪80年代新兴起来的一门数学理论和方法。尤其是,小波分析弥补了傅里叶分析在局部研发的缺陷,因而在傅里叶分析发展史上体现出至关重要的意义与作用[5]。小波神经网络(Wavelet Neural Network,WNN)结合两者的优势,可以有效提取信号的局部信息,具有更高的精度和学习能力[6]。
模糊理论(Fuzzy Theory)可以处理具有模糊性和不确定性特点的问题[7],风险量化过程中由于风险的量化值受到多种因素的影响,而多种因素可能发生相互作用,理论上无法得到精准值。针对这种情况,可将模糊理论应用到风险量化中。并且小波神经网络无法处理定性的指标,本文将模糊理论与小波神经网络相结合,采用模糊综合评判法(Fuzzy Comprehensive Evaluation Method)对访问控制系统中主体、客体、资源等属性信息进行预处理,生成量化指标作为小波神经网络的输入量。小波神经网络的输出量为访问请求的风险量化值,最后,设计展开仿真实验验证,本文提出的方法可以对访问风险实现有效量化。降低了风险量化过程中的人为因素,较好地保证了量化结果的客观性和准确性。
结合BP神经网络与小波分析而构成的小波神经网络有其突出的特性,而且小波神经网络WNN具有神经网络ANN的非线性映射能力和小波分析的时频同时分析特点[8]。本文采用的小波神经网络的隐含层激励函数是非线性小波基,小波基采用Morlet母小波。即以Morlet母小波代替BP网络中的非线性Sigmoid函数,小波神经网络结构包括3个主要的部分:输入层(input layer)、隐含层(hide layer)、输出层(output layer),如图1所示。
图1 小波神经网络结构图Fig. 1 Wavelet neural network structure
隐含层激励函数采用Morlet母小波,即:
(1)
图1中,K表示小波基的个数;Wk表示输入层与隐含层第k个单元之间的连接权;ak表示小波基的伸缩因子;bk表示小波基的平移因子。
小波神经网络算法训练步骤如下:
步骤1初始化。对小波函数平移因子bk、伸缩因子ak、网络连接权值wk进行随机初始化,并且设置小波神经网络学习速率。
步骤2对样本进行分类。将实验样本分为训练样本和测试样本,其中以训练样本训练网络,以测试样本测试网络输出精度。
步骤3预测输出。在小波神经网络中载入训练样本,统计小波神经网络预测输出,并且计算小波神经网络预测输出与期望输出的误差e。
步骤4修正权值。根据输出和期望输出的误差e修正小波神经网络的权值以及小波函数参数,使小波神经网络输出逼近期望值。
步骤5判断是否结束。根据误差e是否小于设定的精度,判断算法是否结束,如果没有达到要求精度,则返回步骤3。
小波神经网络虽然结合了ANN和小波分析的优势,但同样存在不足,例如收敛速度慢、容易陷入局部最优等问题。面对这一技术困境,该领域的学者引入量子粒子群算法(Quantum Particle Swarm Optimization,QPSO)对WNN进行训练,但却发现QPSO算法存在的研究弊端,诸如:粒子早熟、搜索精度不高等。
基于此,为了克服传统QPSO算法的缺陷,陈义雄等人在文献[9]提出了混沌QPSO优化算法。该算法不仅提高了搜索精度,同时也改善了粒子群早熟的情况。文献[10]在QPSO算法中引入了2个重要部分:量子Hadamard门操作和全局自适应因子,这种方式显著地提升了算法的搜索能力。黄宇等人在文献[11]研发采用了将差分进化算法与量子粒子群算法相融合的方法。但是这些方法在计算的复杂度以及操作上仍有待设计完善。
综上,本文即针对QPSO算法的缺陷以及前人的研究工作提出了改进量子粒子群算法(Optimization Quantum Particle Swarm Optimization, OQPSO)。研究改进内容可详述如下。
(1)对于QPSO算法的重要初始化参数。收缩-扩张系数β,提出随机β;相关的理论研究已表明在QPSO算法中,β取较大值时对粒子的快速收敛有利,而对算法的局部搜索能力产生不利影响,即不利于对当前的搜索区域进行精确局部搜索。文献[12]验证了在多数情况下,β线性递减或者非线性递减时能取得较好的效果,但是以此方法确定最优值需要经过反复实验,而且若在搜索中不能快速地逼近最优解,算法易出现局部最优的问题。
研究中受文献[13]的启发可知,若算法搜索过程中不能快速地逼近最优解,则按某种随机分布随机生成β,为此β的取值公式为:
(2)
式中,εmax和εmin分别代表随机系数的上、下限;σ代表方差;N(0,1)代表标准正态分布的随机数;rand(0,1)则用来表示0~1之间的随机数。粒子早熟是由β线性或非线性减小而导致,这种方式可以缓解粒子早熟的程度。
(2)对QPSO算法中的粒子进行择优处理。改进QPSO算法可以通过粒子择优来提高搜索速度。粒子择优的基本思想是在算法迭代过程中通过舍弃相距最优解最远的部分粒子,保留接近最优解的粒子来优化该算法。可得设计步骤如下:
① 粒子择优。在算法的每次迭代过程中,利用适应值pi(t)对各个种群的粒子依顺序排列,并剔除偏离最优解的最差的15%的部分粒子,再选择最接近最优值的15%的粒子来填补被剔除的那部分粒子的位置。
② 最优值留存。在进行迭代的过程中会产生一些全局最优值,将这些全局最优值留存,以此来提高粒子群中接近最优值的粒子的比例。
通过随机收缩-扩张系数β和粒子择优可以在保持了其良好的性能的基础上加快OQPSO算法的搜索速度。
风险量化是一个复杂过程,受到多种风险因素的影响,风险因素之间又相互作用,不同风险因素对风险量化的作用不一样,使得风险因素与访问请求风险值间不是简单的线性变化关系,而是具有复杂的非线性特点,采用传统统计学方法无法建立精确的数学模型。本文设计构造的基于模糊小波神经网络的风险量化方法Fuzzy WNN先通过模糊综合评判法对访问请求的风险因素进行预处理,生成定量指标,然后把风险因素的量化结果作为小波神经网络WNN的输入量。应用WNN的自适应性和处理非线性问题的能力对访问请求风险实现量化,神经网络输出量即为访问风险的量化值。
人工神经网络无法处理定性的指标,网络的输入量需为定量的数据。但是访问控制系统中影响风险的属性信息难以确定具体的指标值。本文采用模糊综合评判法对访问控制系统中的属性信息进行预处理,最后将量化后的属性信息指标值输入小波神经网络。对访问控制系统中的属性信息开展预处理的具体方法如下。
(1)确定风险因素集。分析访问控制系统中影响风险的因素,主要为主体、客体、环境的属性。将这些因素作为风险因素,构建风险因素集U={u1,u2,…,un}。其中,ui(i=1,2,…,n)为风险的影响因素,n为影响因素的个数。
(2)确定评价集。对各属性信息的评价可由安全管理员根据系统实际情况测定给出,最终,由这些评价结果构建评价集V={v1,v2,…,vn}。其中,vi表示第i个评价结果(i=1,2,…,n),n为总的评价的结果数。
(3)确定权重集。在访问控制系统中,每种属性信息对风险值影响程度是不同的,因此赋予相应的权重来表征其重要程度。确定评价因素的权重向量:A=(a1,a2,…,an)。权向量中的元素ai实质上是ui对模糊子集的隶属度,ai表示第i个因素的权重,且要求0< (4)导出隶属度矩阵。首先计算出风险因素集U中每个因素在评价集V中的隶属度,然后构建一个从U到V的模糊关系,从而得到模糊隶属度矩阵R=(rij)m×k。 (5)计算综合评判向量。对权重集A=(a1,a2,…,an),通过计算B=A°R=(b1,b2,…,bn)可得出最终评价结果。其中,“°”为模糊合成算子。 研究至此,可知B是各属性信息在由安全管理员做出评价后的权重集。反映各属性信息对于风险值的权重,并且bi值都落在(0,1)区间,作为小波神经网络的输入量。 以基于改进量子粒子群的模糊小波神经网络Fuzzy WNN对风险进行量化,首先就需要选择训练小波神经网络。Fuzzy WNN开始时期,使用OQPSO算法对小波神经网络进行训练,优化小波神经网络结构。 基于改进量子粒子群的小波神经网络Fuzzy WNN的风险量化方法,重点步骤可表述如下: 步骤1为小波神经网络设计训练样本集。主体、客体、资源等附带的属性对风险具有影响,将这些影响因素设为i,i对评判集有一个隶属度向量,可设为ri,设β为风险等级的赋值向量,则影响因素i的影响量化值为: xi=ri∘βT (3) 步骤2设计小波神经网络结构。在小波神经网络结构中,风险因素的数量、即神经网络的输入层节点数,只有一个输出层节点。本文采用的神经网络包含一个隐含层,小波神经网络隐含层包含的节点数量与输入层权值存在一定关联,可以借助相应理论设计确定。 步骤3小波神经网络的训练和测试。训练WNN,初始参数的选取较为关键,选用不当将影响整个训练过程的收敛结果。针对这些问题,本文采用OQPSO算法优化初始参数。对WNN进行测试,根据误差e是否小于设定的精度,判断是否达到要求精度。 Fuzzy WNN的风险量化过程如图2所示。 图2 Fuzzy WNN算法的风险量化过程Fig. 2 Risk quantification process of fuzzy WNN algorithm 研究中设计一个三层的小波神经网络,输入层有六个节点,以影响访问请求风险的主体、客体、资源等的属性信息为输入特征量;输出层有一个节点,输出为某一对客体资源访问请求的风险值;小波神经网络隐含层根据文献[14]提出的方法经测试和计算设定为四个神经元。应用OQPSO算法训练小波神经网络。粒子群规模设为30个,加速因子c1=c2=1.494 45。惯性因子W的取值0.729。为了保证算法的收敛性,利用一个线性公式使其逐步递减至0.4。 选用30个样本作为学习样本集,每个样本中包含一组输入和输出特征量。样本数据集来源于某医院的信息系统,其中敏感信息已经过处理。并且为了保证WNN的泛化能力,将30个样本分为两个集合:27个样本作为训练集,3个样本作为测试集。 Fuzzy WNN对训练样本的误差输出和训练次数如图3所示。 图3 Fuzzy WNN对训练样本的误差输出和训练次数 Fig.3TheoutputoftheerrorandtrainingtimesintrainingsamplesoffuzzyWNN 由图3可知,OQPSO- Fuzzy WNN网络训练次数达到8~9次后,输出误差已满足预设的收敛误差精度e。使用已经训练后的网络对实验中样本的风险值进行预测,结果可如图4所示。 图4 Fuzzy WNN风险量化输出Fig. 4 Risk quantification output of fuzzy WNN 由图4可以看出,通过Fuzzy WNN得到的样本风险值与预期值基本吻合,输出结果具有良好的一致性。 研究中,将对期望输出与预测输出的误差进行分析得出的结果,如图5所示。其中,横坐标表示1~30组样本,纵坐标为风险量化输出值与预期值的误差。实验结果表明 Fuzzy WNN的预测值的误差在0.05以下,完全满足精度需要,证明了该方法对访问请求风险的量化具有可行性以及较高的准确性。 图5 样本值与预测值误差分析Fig. 5 Sample value and prediction error analysis 风险量化是基于风险的访问控制中一个关键内容,同时风险量化具有不确定性、非线性等特点,传统的方法难以确定效果良好的求解规则。本文将人工神经网络引入风险量化过程中,并对小波神经网络的训练算法展开了研究改进,改善粒子早熟问题,提高搜索速度。结合模糊理论和小波神经网络,提出了有效的风险量化方法,为实现基于风险的访问控制提供支持。 [1] 张红旗, 王鲁. 信息安全技术[M]. 北京:高等教育出版社, 2008. [2] HAN Weili, XU Min, ZHAO Weidong, et al. A trusted decentralized access control framework for the client/server architecture[J]. Journal of Network & Computer Applications, 2010, 33(2):76-83. [3] Faresi A A l. Risk-based models for managing data privacy in healthcare[EB/OL]. [2011].http://www.proquest.com/en-US/products/dissertations/individuals.shtml. [4] 郑琪. 基于XACML实现量化风险自适应的访问控制[J]. 计算机应用与软件, 2012, 29(2):285-288,293. [5] 张红英, 吴斌. 小波神经网络的研究及其展望[J]. 西南工学院学报, 2002, 17(1):8-10,15. [6] HUANG Wei, OH S K, PEDRYCZ W. Fuzzy Wavelet Polynomial Neural Networks: Analysis and design[J]. IEEE Transactions on Fuzzy Systems, 2017, 25(5):1329-1341. [7] JIANG Wenbo, CHAI Huaqi. A risk management methodology for R&D Project risk based on AHP and fuzzy comprehensive evaluation method[C]// IEEE International Conference on Industrial Engineering and Engineering Management. SINGAPORE:IEEE, 2015. [8] 江祥奎, 马超男. 自适应小波神经网络训练算法及其应用[J]. 计算机与数字工程, 2015,43(9):1557-1560. [9] 陈义雄, 梁昔明, 黄亚飞. 一种改进的混沌量子粒子群优化算法[J]. 计算机工程, 2013, 39(8):253-256. [10]许少华, 王皓, 王颖,等. 一种改进的量子粒子群优化算法及其应用[J]. 计算机工程与应用, 2011, 47(20):34-37. [11]黄宇, 刘玉峰, 彭志敏,等. 基于量子并行粒子群优化算法的分数阶混沌系统参数估计[J]. 物理学报, 2015, 64(3):030505(1)-030505(8). [12]方伟, 孙俊, 谢振平,等. 量子粒子群优化算法的收敛性分析及控制参数研究[J]. 物理学报, 2010, 59(6):3686-3694. [13]白俊强, 尹戈玲, 孙智伟. 基于二阶振荡及自然选择的随机权重混合粒子群算法[J]. 控制与决策, 2012, 27(10):1459-1464,1470. [14]王鹏. 小波神经网络及其在环境系统建模中的应用[D]. 哈尔滨:哈尔滨工业大学, 2007.2.2 风险量化方法
3 实验分析
4 结束语