馬海瑛
(吉林師范大學(xué)分院, 現(xiàn)代教育技術(shù)中心, 吉林, 四平 136000)
在網(wǎng)絡(luò)環(huán)境中的信息系統(tǒng)應(yīng)用過程中,身份認(rèn)證是一個(gè)極為重要的步驟,在沒有確定試圖訪問受限資源的主體身份前,企業(yè)網(wǎng)絡(luò)系統(tǒng)不能將訪問權(quán)限授予該用戶。這樣做更有利于系統(tǒng)的安全管理審計(jì)。
現(xiàn)階段關(guān)于身份認(rèn)證的技術(shù)較多,文獻(xiàn)[1]提出一種基于格理論的裝備保障信息網(wǎng)絡(luò)快速身份認(rèn)證方案。該方法針對(duì)傳統(tǒng)身份認(rèn)證方案無法抵抗量子計(jì)算機(jī)攻擊的問題,引入雙峰高斯抽樣技術(shù)和本格抽樣算法實(shí)現(xiàn)量子環(huán)境下的安全身份認(rèn)證。通過實(shí)驗(yàn)得出該方案達(dá)到了身份不可偽造性的目標(biāo),但是該方案的認(rèn)證效率相對(duì)較低,不具備同步性。文獻(xiàn)[2]提出一種更安全的匿名三因子多服務(wù)器身份認(rèn)證協(xié)議研究。通過橢圓曲線密碼機(jī)制保證了在認(rèn)證階段系統(tǒng)的安全性,利用與同類認(rèn)證對(duì)比分析表明該方法能夠?qū)崿F(xiàn)匿名性,且安全性較高。但是算法本身較為復(fù)雜,操作性較差。
本文針對(duì)上述問題,以遷移學(xué)習(xí)方法為理論基礎(chǔ),提出了一種網(wǎng)絡(luò)身份雙向認(rèn)證技術(shù)。為確保認(rèn)證的安全性,通過橢圓曲線加密機(jī)制和基點(diǎn)的選擇獲得公鑰和私鑰數(shù)列,實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)器和用戶身份間的雙向認(rèn)證。最后通過仿真實(shí)驗(yàn)證明所提方法的同步性與抗攻擊性較好,能夠基本保障網(wǎng)絡(luò)用戶的身份安全。
遷移學(xué)習(xí)算法作為一種將已知模型參數(shù)放置到新模型、幫助模型訓(xùn)練的方法[3],能夠有效對(duì)網(wǎng)絡(luò)中已知的用戶數(shù)據(jù)及身份數(shù)據(jù)進(jìn)行重新模擬訓(xùn)練,提高認(rèn)證效率和安全性[4]。
首先給定源領(lǐng)域數(shù)據(jù)集和目標(biāo)領(lǐng)域數(shù)據(jù)集分別為S、T,二者的樣本空間相同。假設(shè)x表示特征量,y表示類標(biāo)號(hào),記作T={(xi,yi)|i=1,2,…,m},S={(xi,yi)|j=m+1,m+2,…,m+n},其中m和n分別表示兩個(gè)數(shù)據(jù)集的樣本數(shù)量。假設(shè)源領(lǐng)域的樣本變量分布服從PS,記作(XS,YS)~PS(X,Y)。目標(biāo)領(lǐng)域樣本變量分布服從PT,將其記作(XT,YT)~PT(X,Y)。兩個(gè)領(lǐng)域?qū)?yīng)的條件分布和邊緣分布分別記作PS(X),PS(Y|X)和PT(Y|X),PT(Y|X)。在遷移學(xué)習(xí)的過程中,PS和PT相互關(guān)聯(lián)但是不完全相同。
給定一個(gè)源域Ds、一個(gè)學(xué)習(xí)任務(wù)Ts和一個(gè)目標(biāo)域Dt、學(xué)習(xí)任務(wù)Tt,遷移學(xué)習(xí)的中心思想即為從Ds和中學(xué)習(xí)從而獲得相關(guān)知識(shí),運(yùn)用至Dt中,從而完成Tt的Ts學(xué)習(xí)任務(wù)。設(shè)域D={X,P(X)},X=x1,x2,…,xn,P(X)表示與特征空間X對(duì)應(yīng)的邊際概率分布。任務(wù)T中同時(shí)含有條件概率分布P(M|X)和標(biāo)簽類空間M,通常情況下,P(M|X)是通過特征—標(biāo)簽對(duì)xi∈X,Mi∈M所組成的訓(xùn)練數(shù)據(jù)中獲得。遷移學(xué)習(xí)的主要目的為在Ds≠Dt,Ts≠Tt的前提下,從Ds和Ts中學(xué)習(xí)獲得信息,求得目標(biāo)域Dt中條件概率的分布P(Mt|Xt)。圖1給出了遷移學(xué)習(xí)的基本思想。
圖1 遷移學(xué)習(xí)主要思想
在實(shí)際應(yīng)用過程中,想要獲得大量有標(biāo)簽?zāi)繕?biāo)樣本數(shù)據(jù)較為困難,因此本文利用各領(lǐng)域的弱相似性[5]解決以上問題。
對(duì)于一個(gè)目標(biāo)領(lǐng)域樣本xt,將其類標(biāo)號(hào)用yt表示,且PT(yt|xt)>0.5。若源領(lǐng)域樣本xs的類標(biāo)號(hào)與xt相同,則說明這兩個(gè)領(lǐng)域間具有較大的相關(guān)性。與Ps(yt|xt)=PT(yt|xt)相比,上述為弱條件。據(jù)此,給出相關(guān)定義如下。
定義1PS(Q,M)和PT(Q,M),其中Q表示樣本變量,M表示類標(biāo)號(hào),如果以1-v為概率[6]進(jìn)行推斷,對(duì)于x~PS(Q),在1-v的概率條件下,分布PS弱相似與PT,此時(shí)將v成為負(fù)相似度,v(PS,PT)。若分類器在PT中的泛化誤差低于相對(duì)上界,可用L代替PT,即可獲得定義2。
定義2 通過1-v的概率進(jìn)行推斷,對(duì)于(x,y)~PS(X,Y),L(x)=y成立。則在1-v的概率條件下,稱分布PS弱相似于PT,v是負(fù)相似度,記作v(L,PS,PT)。
當(dāng)e的值較小時(shí),L和目標(biāo)領(lǐng)域的類標(biāo)號(hào)函數(shù)相似,因此此時(shí)可以將v(L,PS,PT)視為v(PS,PT)的近似值。
設(shè)遷移分類學(xué)習(xí)的判別函數(shù)[7]為f(x),設(shè)f(x)=w2x+b。在目標(biāo)領(lǐng)域中f(x)的分類決策函數(shù)可以表示為:L(x)=sign(f(x))。假設(shè)L(x)的泛化誤差足夠小,則可以得出遷移學(xué)習(xí)中負(fù)相似度v(f,Ps,PT),如式(1):
v(f,PS,PT)=E(x,y)~Ps(I(yf(x)<0))
(1)
式中,I()表示指示函數(shù),若條件成立其值為1,反之為0。利用樣本中大量數(shù)據(jù)可獲得式(1)的經(jīng)驗(yàn)估計(jì),如式(2):
(2)
通過支持向量機(jī)法求解式(2)得到式(3):
(3)
式中,w為間隔邊界的距離,b為截距,ε為決策邊界數(shù)。樣本數(shù)量較小時(shí),會(huì)發(fā)生f(x)的解泛化誤差較大的情況。因此,通過弱相似度定義對(duì)f(x)進(jìn)行額外約束,規(guī)定在源領(lǐng)域內(nèi),f(x)的負(fù)相似預(yù)估值v′(f,PS,PT)保持在較低水平,則優(yōu)化問題可以表示為
(4)
εi≥0,i=1,2,…,m
式中,CS表示平衡參數(shù)。v′(f,PS,PT)為非凸函數(shù),直接優(yōu)化該函數(shù)較為困難。因此,采用損失函數(shù)進(jìn)行替換。當(dāng)yf(x)<0時(shí),函數(shù)中的x會(huì)被錯(cuò)分,導(dǎo)致yf(x)的絕對(duì)值和經(jīng)驗(yàn)風(fēng)險(xiǎn)較大,為解決以上問題,使用V(f,PS,PT)代替v′(f,PS,PT),替換后其表達(dá)式如式(5):
(5)
在優(yōu)化目標(biāo)中新增了V(f,PS,PT),使在遷移學(xué)習(xí)的過程中能夠使用源領(lǐng)域數(shù)據(jù)幫助訓(xùn)練[8]。對(duì)于目標(biāo)領(lǐng)域,規(guī)定樣本點(diǎn)只能落在最大間隔平面的外側(cè)。
在遷移學(xué)習(xí)的過程中,不同的特征值產(chǎn)生了不同的有限域[9],且不同有限域中的通用算法也不相同,因此發(fā)揮出的運(yùn)算性能也各有不同。通常情況下,在加密體制中的有限域?yàn)榇笏赜騁F(q)與特征2域GF(2m)。由于大多數(shù)系統(tǒng)對(duì)儲(chǔ)存空間、處理速度和安全性有特殊要求,特征2域GF(2m)作為一種二進(jìn)制域更容易在系統(tǒng)中快速實(shí)現(xiàn)。因此,本文將遷移學(xué)習(xí)中的大素域GF(q)與特征2域GF(2m)相結(jié)合作為身份雙向認(rèn)證的有限域。
首先選取相關(guān)參數(shù):D=(q,a,b,p,n,h)或D=(m,f(x),a,b,p,n,h)。為使加密機(jī)制更為高效,對(duì)算法中相關(guān)參數(shù)進(jìn)行限制。
(1) 有限域GF(2m),q=2m,m表示正整數(shù)。
(2) 限制參數(shù)a、b,首先定義有限域GF(q)上的曲線E為:Y2=X3+aX+b(p>3),Y2+XY=X3+aX+b(p=2)。
(3) 定義p為基點(diǎn),n是素?cái)?shù),為基點(diǎn)p的階。
(4) 定義h為余因子,通過曲線的階與n相除獲得,即h=E(Fq/n)。
(5)f(x)表示二進(jìn)制多項(xiàng)式。
在身份認(rèn)證的過程中,通過確定有限域內(nèi)橢圓曲線參數(shù),得到一條更適用于網(wǎng)絡(luò)身份認(rèn)證的曲線和基點(diǎn)。認(rèn)證標(biāo)簽身份前,需要鑒別讀寫器身份是否被偽造。鑒別步驟如下。
步驟1 系統(tǒng)初始化。該步驟完成了相關(guān)參數(shù)確定同時(shí)生成秘鑰,為下一步認(rèn)證做準(zhǔn)備。操作流程如下。
在GF(2m)中確定一個(gè)曲線E(Fq)。
在區(qū)間[1,n-1]內(nèi),通過隨機(jī)的方法篩選出整數(shù)X,將其設(shè)置為私鑰。將Y設(shè)置為公鑰,利用私鑰則可計(jì)算出公鑰得具體數(shù)列,此處利用了求解離散對(duì)數(shù)問題較為困難的觀點(diǎn)[10],使得在已知公鑰Y的條件下,攻擊者依然不能獲得私鑰X。
保密X私鑰,公開公鑰Y。
步驟2 讀寫器身份認(rèn)證。為杜絕系統(tǒng)中出現(xiàn)仿冒讀寫器,因此驗(yàn)證標(biāo)簽身份前,首先完成讀寫器的身份驗(yàn)證。
實(shí)驗(yàn)環(huán)境為i7處理器,內(nèi)存容量為8 G,操作系統(tǒng)為Windows 10。仿真采用了基于遷移學(xué)習(xí)的網(wǎng)絡(luò)身份雙向認(rèn)證技術(shù),主要對(duì)網(wǎng)絡(luò)身份認(rèn)證技術(shù)的防御性能以及同步性能進(jìn)行比較,相關(guān)的參數(shù)設(shè)定:選擇特征2域中橢圓曲線參數(shù),標(biāo)簽基點(diǎn)數(shù)量為170。
為驗(yàn)證本文身份驗(yàn)證方法的有效性和安全性,采用不同的方法對(duì)系統(tǒng)進(jìn)行惡意攻擊,隨后將身份認(rèn)證的安全性能與文獻(xiàn)[1]、文獻(xiàn)[2]方法進(jìn)行比較分析,其結(jié)果如表1所示。
表1 不同認(rèn)證方法的防御性能對(duì)比
從表1中可以看出,本文方法能夠阻止以下攻擊。
(1) 網(wǎng)絡(luò)竊聽和內(nèi)部攻擊:這是由于數(shù)據(jù)庫內(nèi)并沒有儲(chǔ)存相關(guān)的身份信息,只儲(chǔ)存了公鑰列表,所以即使是內(nèi)部人員也無法通過公鑰和獲得私鑰進(jìn)行身份欺騙。
(3) 中間人攻擊:在雙向驗(yàn)證的過程中,若攻擊者截獲的了閱讀器發(fā)送給標(biāo)簽的信息,試圖使用該信息通過驗(yàn)證也是不可行的,這是由于本文對(duì)2個(gè)身份均有驗(yàn)證,單獨(dú)獲得一方信息無法認(rèn)證成功。
由此證明了本文身份認(rèn)證方法能夠成功攔截多種惡意攻擊。
為驗(yàn)證本文方法的同步性能,輸入60s內(nèi)170個(gè)標(biāo)簽身份的驗(yàn)證口令,采用本文方法與文獻(xiàn)[1]、文獻(xiàn)[2]方法分別對(duì)其進(jìn)行認(rèn)證,將3種認(rèn)證方法的同步性進(jìn)行比較,其結(jié)果如圖2所示。
圖2 同步性能對(duì)比
根據(jù)圖4可知,本文方法在對(duì)身份進(jìn)行驗(yàn)證時(shí),相同時(shí)間內(nèi)驗(yàn)證的口令個(gè)數(shù)較多,驗(yàn)證速度較快,證明其口令同步性較高。
本文結(jié)合遷移學(xué)習(xí)理論提出了一種基于遷移學(xué)習(xí)的網(wǎng)絡(luò)身份雙向認(rèn)證技術(shù)。本文方法只有認(rèn)證通信雙方均為合法的,才能進(jìn)行通信連接。并且通過實(shí)驗(yàn)對(duì)其防御性能和同步性能進(jìn)行分析,分析結(jié)果表明本文方法具有一定抗攻擊性和同步性,能夠較好的攔截多種攻擊,確保用戶的網(wǎng)絡(luò)通信安全。