石秀金, 于緯華
(東華大學(xué) 計算機科學(xué)與技術(shù)學(xué)院, 上海 201620)
當(dāng)今,信息技術(shù)便捷迅速的資源共享為人們的生產(chǎn)生活提供了極大的便利。同時,社會對信息技術(shù)的高度依賴,也意味著面臨的攻擊以及遭受的損害將會越大。訪問控制技術(shù)是信息安全保障體系的關(guān)鍵部分[1]。傳統(tǒng)訪問控制中的訪問控制策略是靜態(tài)的,不具備靈活性,當(dāng)環(huán)境發(fā)生變化時,訪問控制策略會有滯后性,很難適應(yīng)多變的動態(tài)環(huán)境。目前越來越多的研究人員開始關(guān)注基于風(fēng)險的訪問控制[2-3]?;陲L(fēng)險的訪問控制將訪問控制中隱含的風(fēng)險抽出并進行量化,以風(fēng)險為策略判定的標準,使訪問控制更加靈活。當(dāng)環(huán)境發(fā)生改變時,訪問控制系統(tǒng)能夠通過調(diào)整規(guī)則允許的風(fēng)險值和系統(tǒng)允許的風(fēng)險值對訪問請求的判定結(jié)果進行調(diào)控,實現(xiàn)靈活高效的訪問控制?;陲L(fēng)險的訪問控制實現(xiàn)的基礎(chǔ)是訪問風(fēng)險的量化,主體的訪問請求是一個定性的指標,只有經(jīng)過量化才能應(yīng)用到訪問控制的策略決策中,而一個性能優(yōu)良的量化方法則是保證訪問控制有效性和準確性的執(zhí)行基礎(chǔ)。
訪問控制系統(tǒng)中對風(fēng)險產(chǎn)生影響的因素是非線性的,并且時刻發(fā)生變化,各因素間可能存在一定程度上聯(lián)系,這些情況導(dǎo)致難以確定完備的求解規(guī)則,并且影響因素的動態(tài)性要求算法必須具有一定容錯和容差能力[4],而人工神經(jīng)網(wǎng)絡(luò)適合求解此類問題。人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks, ANN)是使用數(shù)學(xué)模型對生物中樞神經(jīng)系統(tǒng)基本特性而研究抽取的概括和模仿,是一種非線性的復(fù)雜系統(tǒng)。小波分析是20世紀80年代新興起來的一門數(shù)學(xué)理論和方法。尤其是,小波分析彌補了傅里葉分析在局部研發(fā)的缺陷,因而在傅里葉分析發(fā)展史上體現(xiàn)出至關(guān)重要的意義與作用[5]。小波神經(jīng)網(wǎng)絡(luò)(Wavelet Neural Network,WNN)結(jié)合兩者的優(yōu)勢,可以有效提取信號的局部信息,具有更高的精度和學(xué)習(xí)能力[6]。
模糊理論(Fuzzy Theory)可以處理具有模糊性和不確定性特點的問題[7],風(fēng)險量化過程中由于風(fēng)險的量化值受到多種因素的影響,而多種因素可能發(fā)生相互作用,理論上無法得到精準值。針對這種情況,可將模糊理論應(yīng)用到風(fēng)險量化中。并且小波神經(jīng)網(wǎng)絡(luò)無法處理定性的指標,本文將模糊理論與小波神經(jīng)網(wǎng)絡(luò)相結(jié)合,采用模糊綜合評判法(Fuzzy Comprehensive Evaluation Method)對訪問控制系統(tǒng)中主體、客體、資源等屬性信息進行預(yù)處理,生成量化指標作為小波神經(jīng)網(wǎng)絡(luò)的輸入量。小波神經(jīng)網(wǎng)絡(luò)的輸出量為訪問請求的風(fēng)險量化值,最后,設(shè)計展開仿真實驗驗證,本文提出的方法可以對訪問風(fēng)險實現(xiàn)有效量化。降低了風(fēng)險量化過程中的人為因素,較好地保證了量化結(jié)果的客觀性和準確性。
結(jié)合BP神經(jīng)網(wǎng)絡(luò)與小波分析而構(gòu)成的小波神經(jīng)網(wǎng)絡(luò)有其突出的特性,而且小波神經(jīng)網(wǎng)絡(luò)WNN具有神經(jīng)網(wǎng)絡(luò)ANN的非線性映射能力和小波分析的時頻同時分析特點[8]。本文采用的小波神經(jīng)網(wǎng)絡(luò)的隱含層激勵函數(shù)是非線性小波基,小波基采用Morlet母小波。即以Morlet母小波代替BP網(wǎng)絡(luò)中的非線性Sigmoid函數(shù),小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包括3個主要的部分:輸入層(input layer)、隱含層(hide layer)、輸出層(output layer),如圖1所示。
圖1 小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 1 Wavelet neural network structure
隱含層激勵函數(shù)采用Morlet母小波,即:
(1)
圖1中,K表示小波基的個數(shù);Wk表示輸入層與隱含層第k個單元之間的連接權(quán);ak表示小波基的伸縮因子;bk表示小波基的平移因子。
小波神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練步驟如下:
步驟1初始化。對小波函數(shù)平移因子bk、伸縮因子ak、網(wǎng)絡(luò)連接權(quán)值wk進行隨機初始化,并且設(shè)置小波神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速率。
步驟2對樣本進行分類。將實驗樣本分為訓(xùn)練樣本和測試樣本,其中以訓(xùn)練樣本訓(xùn)練網(wǎng)絡(luò),以測試樣本測試網(wǎng)絡(luò)輸出精度。
步驟3預(yù)測輸出。在小波神經(jīng)網(wǎng)絡(luò)中載入訓(xùn)練樣本,統(tǒng)計小波神經(jīng)網(wǎng)絡(luò)預(yù)測輸出,并且計算小波神經(jīng)網(wǎng)絡(luò)預(yù)測輸出與期望輸出的誤差e。
步驟4修正權(quán)值。根據(jù)輸出和期望輸出的誤差e修正小波神經(jīng)網(wǎng)絡(luò)的權(quán)值以及小波函數(shù)參數(shù),使小波神經(jīng)網(wǎng)絡(luò)輸出逼近期望值。
步驟5判斷是否結(jié)束。根據(jù)誤差e是否小于設(shè)定的精度,判斷算法是否結(jié)束,如果沒有達到要求精度,則返回步驟3。
小波神經(jīng)網(wǎng)絡(luò)雖然結(jié)合了ANN和小波分析的優(yōu)勢,但同樣存在不足,例如收斂速度慢、容易陷入局部最優(yōu)等問題。面對這一技術(shù)困境,該領(lǐng)域的學(xué)者引入量子粒子群算法(Quantum Particle Swarm Optimization,QPSO)對WNN進行訓(xùn)練,但卻發(fā)現(xiàn)QPSO算法存在的研究弊端,諸如:粒子早熟、搜索精度不高等。
基于此,為了克服傳統(tǒng)QPSO算法的缺陷,陳義雄等人在文獻[9]提出了混沌QPSO優(yōu)化算法。該算法不僅提高了搜索精度,同時也改善了粒子群早熟的情況。文獻[10]在QPSO算法中引入了2個重要部分:量子Hadamard門操作和全局自適應(yīng)因子,這種方式顯著地提升了算法的搜索能力。黃宇等人在文獻[11]研發(fā)采用了將差分進化算法與量子粒子群算法相融合的方法。但是這些方法在計算的復(fù)雜度以及操作上仍有待設(shè)計完善。
綜上,本文即針對QPSO算法的缺陷以及前人的研究工作提出了改進量子粒子群算法(Optimization Quantum Particle Swarm Optimization, OQPSO)。研究改進內(nèi)容可詳述如下。
(1)對于QPSO算法的重要初始化參數(shù)。收縮-擴張系數(shù)β,提出隨機β;相關(guān)的理論研究已表明在QPSO算法中,β取較大值時對粒子的快速收斂有利,而對算法的局部搜索能力產(chǎn)生不利影響,即不利于對當(dāng)前的搜索區(qū)域進行精確局部搜索。文獻[12]驗證了在多數(shù)情況下,β線性遞減或者非線性遞減時能取得較好的效果,但是以此方法確定最優(yōu)值需要經(jīng)過反復(fù)實驗,而且若在搜索中不能快速地逼近最優(yōu)解,算法易出現(xiàn)局部最優(yōu)的問題。
研究中受文獻[13]的啟發(fā)可知,若算法搜索過程中不能快速地逼近最優(yōu)解,則按某種隨機分布隨機生成β,為此β的取值公式為:
(2)
式中,εmax和εmin分別代表隨機系數(shù)的上、下限;σ代表方差;N(0,1)代表標準正態(tài)分布的隨機數(shù);rand(0,1)則用來表示0~1之間的隨機數(shù)。粒子早熟是由β線性或非線性減小而導(dǎo)致,這種方式可以緩解粒子早熟的程度。
(2)對QPSO算法中的粒子進行擇優(yōu)處理。改進QPSO算法可以通過粒子擇優(yōu)來提高搜索速度。粒子擇優(yōu)的基本思想是在算法迭代過程中通過舍棄相距最優(yōu)解最遠的部分粒子,保留接近最優(yōu)解的粒子來優(yōu)化該算法??傻迷O(shè)計步驟如下:
① 粒子擇優(yōu)。在算法的每次迭代過程中,利用適應(yīng)值pi(t)對各個種群的粒子依順序排列,并剔除偏離最優(yōu)解的最差的15%的部分粒子,再選擇最接近最優(yōu)值的15%的粒子來填補被剔除的那部分粒子的位置。
② 最優(yōu)值留存。在進行迭代的過程中會產(chǎn)生一些全局最優(yōu)值,將這些全局最優(yōu)值留存,以此來提高粒子群中接近最優(yōu)值的粒子的比例。
通過隨機收縮-擴張系數(shù)β和粒子擇優(yōu)可以在保持了其良好的性能的基礎(chǔ)上加快OQPSO算法的搜索速度。
風(fēng)險量化是一個復(fù)雜過程,受到多種風(fēng)險因素的影響,風(fēng)險因素之間又相互作用,不同風(fēng)險因素對風(fēng)險量化的作用不一樣,使得風(fēng)險因素與訪問請求風(fēng)險值間不是簡單的線性變化關(guān)系,而是具有復(fù)雜的非線性特點,采用傳統(tǒng)統(tǒng)計學(xué)方法無法建立精確的數(shù)學(xué)模型。本文設(shè)計構(gòu)造的基于模糊小波神經(jīng)網(wǎng)絡(luò)的風(fēng)險量化方法Fuzzy WNN先通過模糊綜合評判法對訪問請求的風(fēng)險因素進行預(yù)處理,生成定量指標,然后把風(fēng)險因素的量化結(jié)果作為小波神經(jīng)網(wǎng)絡(luò)WNN的輸入量。應(yīng)用WNN的自適應(yīng)性和處理非線性問題的能力對訪問請求風(fēng)險實現(xiàn)量化,神經(jīng)網(wǎng)絡(luò)輸出量即為訪問風(fēng)險的量化值。
人工神經(jīng)網(wǎng)絡(luò)無法處理定性的指標,網(wǎng)絡(luò)的輸入量需為定量的數(shù)據(jù)。但是訪問控制系統(tǒng)中影響風(fēng)險的屬性信息難以確定具體的指標值。本文采用模糊綜合評判法對訪問控制系統(tǒng)中的屬性信息進行預(yù)處理,最后將量化后的屬性信息指標值輸入小波神經(jīng)網(wǎng)絡(luò)。對訪問控制系統(tǒng)中的屬性信息開展預(yù)處理的具體方法如下。
(1)確定風(fēng)險因素集。分析訪問控制系統(tǒng)中影響風(fēng)險的因素,主要為主體、客體、環(huán)境的屬性。將這些因素作為風(fēng)險因素,構(gòu)建風(fēng)險因素集U={u1,u2,…,un}。其中,ui(i=1,2,…,n)為風(fēng)險的影響因素,n為影響因素的個數(shù)。
(2)確定評價集。對各屬性信息的評價可由安全管理員根據(jù)系統(tǒng)實際情況測定給出,最終,由這些評價結(jié)果構(gòu)建評價集V={v1,v2,…,vn}。其中,vi表示第i個評價結(jié)果(i=1,2,…,n),n為總的評價的結(jié)果數(shù)。
(3)確定權(quán)重集。在訪問控制系統(tǒng)中,每種屬性信息對風(fēng)險值影響程度是不同的,因此賦予相應(yīng)的權(quán)重來表征其重要程度。確定評價因素的權(quán)重向量:A=(a1,a2,…,an)。權(quán)向量中的元素ai實質(zhì)上是ui對模糊子集的隸屬度,ai表示第i個因素的權(quán)重,且要求0< (4)導(dǎo)出隸屬度矩陣。首先計算出風(fēng)險因素集U中每個因素在評價集V中的隸屬度,然后構(gòu)建一個從U到V的模糊關(guān)系,從而得到模糊隸屬度矩陣R=(rij)m×k。 (5)計算綜合評判向量。對權(quán)重集A=(a1,a2,…,an),通過計算B=A°R=(b1,b2,…,bn)可得出最終評價結(jié)果。其中,“°”為模糊合成算子。 研究至此,可知B是各屬性信息在由安全管理員做出評價后的權(quán)重集。反映各屬性信息對于風(fēng)險值的權(quán)重,并且bi值都落在(0,1)區(qū)間,作為小波神經(jīng)網(wǎng)絡(luò)的輸入量。 以基于改進量子粒子群的模糊小波神經(jīng)網(wǎng)絡(luò)Fuzzy WNN對風(fēng)險進行量化,首先就需要選擇訓(xùn)練小波神經(jīng)網(wǎng)絡(luò)。Fuzzy WNN開始時期,使用OQPSO算法對小波神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,優(yōu)化小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。 基于改進量子粒子群的小波神經(jīng)網(wǎng)絡(luò)Fuzzy WNN的風(fēng)險量化方法,重點步驟可表述如下: 步驟1為小波神經(jīng)網(wǎng)絡(luò)設(shè)計訓(xùn)練樣本集。主體、客體、資源等附帶的屬性對風(fēng)險具有影響,將這些影響因素設(shè)為i,i對評判集有一個隸屬度向量,可設(shè)為ri,設(shè)β為風(fēng)險等級的賦值向量,則影響因素i的影響量化值為: xi=ri°βT (3) 步驟2設(shè)計小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。在小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,風(fēng)險因素的數(shù)量、即神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點數(shù),只有一個輸出層節(jié)點。本文采用的神經(jīng)網(wǎng)絡(luò)包含一個隱含層,小波神經(jīng)網(wǎng)絡(luò)隱含層包含的節(jié)點數(shù)量與輸入層權(quán)值存在一定關(guān)聯(lián),可以借助相應(yīng)理論設(shè)計確定。 步驟3小波神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和測試。訓(xùn)練WNN,初始參數(shù)的選取較為關(guān)鍵,選用不當(dāng)將影響整個訓(xùn)練過程的收斂結(jié)果。針對這些問題,本文采用OQPSO算法優(yōu)化初始參數(shù)。對WNN進行測試,根據(jù)誤差e是否小于設(shè)定的精度,判斷是否達到要求精度。 Fuzzy WNN的風(fēng)險量化過程如圖2所示。 圖2 Fuzzy WNN算法的風(fēng)險量化過程Fig. 2 Risk quantification process of fuzzy WNN algorithm 研究中設(shè)計一個三層的小波神經(jīng)網(wǎng)絡(luò),輸入層有六個節(jié)點,以影響訪問請求風(fēng)險的主體、客體、資源等的屬性信息為輸入特征量;輸出層有一個節(jié)點,輸出為某一對客體資源訪問請求的風(fēng)險值;小波神經(jīng)網(wǎng)絡(luò)隱含層根據(jù)文獻[14]提出的方法經(jīng)測試和計算設(shè)定為四個神經(jīng)元。應(yīng)用OQPSO算法訓(xùn)練小波神經(jīng)網(wǎng)絡(luò)。粒子群規(guī)模設(shè)為30個,加速因子c1=c2=1.494 45。慣性因子W的取值0.729。為了保證算法的收斂性,利用一個線性公式使其逐步遞減至0.4。 選用30個樣本作為學(xué)習(xí)樣本集,每個樣本中包含一組輸入和輸出特征量。樣本數(shù)據(jù)集來源于某醫(yī)院的信息系統(tǒng),其中敏感信息已經(jīng)過處理。并且為了保證WNN的泛化能力,將30個樣本分為兩個集合:27個樣本作為訓(xùn)練集,3個樣本作為測試集。 Fuzzy WNN對訓(xùn)練樣本的誤差輸出和訓(xùn)練次數(shù)如圖3所示。 圖3 Fuzzy WNN對訓(xùn)練樣本的誤差輸出和訓(xùn)練次數(shù) Fig.3TheoutputoftheerrorandtrainingtimesintrainingsamplesoffuzzyWNN 由圖3可知,OQPSO- Fuzzy WNN網(wǎng)絡(luò)訓(xùn)練次數(shù)達到8~9次后,輸出誤差已滿足預(yù)設(shè)的收斂誤差精度e。使用已經(jīng)訓(xùn)練后的網(wǎng)絡(luò)對實驗中樣本的風(fēng)險值進行預(yù)測,結(jié)果可如圖4所示。 圖4 Fuzzy WNN風(fēng)險量化輸出Fig. 4 Risk quantification output of fuzzy WNN 由圖4可以看出,通過Fuzzy WNN得到的樣本風(fēng)險值與預(yù)期值基本吻合,輸出結(jié)果具有良好的一致性。 研究中,將對期望輸出與預(yù)測輸出的誤差進行分析得出的結(jié)果,如圖5所示。其中,橫坐標表示1~30組樣本,縱坐標為風(fēng)險量化輸出值與預(yù)期值的誤差。實驗結(jié)果表明 Fuzzy WNN的預(yù)測值的誤差在0.05以下,完全滿足精度需要,證明了該方法對訪問請求風(fēng)險的量化具有可行性以及較高的準確性。 圖5 樣本值與預(yù)測值誤差分析Fig. 5 Sample value and prediction error analysis 風(fēng)險量化是基于風(fēng)險的訪問控制中一個關(guān)鍵內(nèi)容,同時風(fēng)險量化具有不確定性、非線性等特點,傳統(tǒng)的方法難以確定效果良好的求解規(guī)則。本文將人工神經(jīng)網(wǎng)絡(luò)引入風(fēng)險量化過程中,并對小波神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法展開了研究改進,改善粒子早熟問題,提高搜索速度。結(jié)合模糊理論和小波神經(jīng)網(wǎng)絡(luò),提出了有效的風(fēng)險量化方法,為實現(xiàn)基于風(fēng)險的訪問控制提供支持。 [1] 張紅旗, 王魯. 信息安全技術(shù)[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實現(xiàn)量化風(fēng)險自適應(yīng)的訪問控制[J]. 計算機應(yīng)用與軟件, 2012, 29(2):285-288,293. [5] 張紅英, 吳斌. 小波神經(jīng)網(wǎng)絡(luò)的研究及其展望[J]. 西南工學(xué)院學(xué)報, 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] 江祥奎, 馬超男. 自適應(yīng)小波神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法及其應(yīng)用[J]. 計算機與數(shù)字工程, 2015,43(9):1557-1560. [9] 陳義雄, 梁昔明, 黃亞飛. 一種改進的混沌量子粒子群優(yōu)化算法[J]. 計算機工程, 2013, 39(8):253-256. [10]許少華, 王皓, 王穎,等. 一種改進的量子粒子群優(yōu)化算法及其應(yīng)用[J]. 計算機工程與應(yīng)用, 2011, 47(20):34-37. [11]黃宇, 劉玉峰, 彭志敏,等. 基于量子并行粒子群優(yōu)化算法的分數(shù)階混沌系統(tǒng)參數(shù)估計[J]. 物理學(xué)報, 2015, 64(3):030505(1)-030505(8). [12]方偉, 孫俊, 謝振平,等. 量子粒子群優(yōu)化算法的收斂性分析及控制參數(shù)研究[J]. 物理學(xué)報, 2010, 59(6):3686-3694. [13]白俊強, 尹戈玲, 孫智偉. 基于二階振蕩及自然選擇的隨機權(quán)重混合粒子群算法[J]. 控制與決策, 2012, 27(10):1459-1464,1470. [14]王鵬. 小波神經(jīng)網(wǎng)絡(luò)及其在環(huán)境系統(tǒng)建模中的應(yīng)用[D]. 哈爾濱:哈爾濱工業(yè)大學(xué), 2007.2.2 風(fēng)險量化方法
3 實驗分析
4 結(jié)束語