李西明,吳嘉潤(rùn),吳少乾,郭玉彬,馬 莎
華南農(nóng)業(yè)大學(xué) 數(shù)學(xué)與信息學(xué)院,廣州 510642
抗泄漏密碼學(xué)是伴隨著側(cè)信道攻擊技術(shù)而產(chǎn)生的,其主要關(guān)注的是如何設(shè)計(jì)可以抵抗各種側(cè)信道攻擊的安全密碼方案,用于消除秘密信息泄露對(duì)方案安全性的影響。2004年Micali和Reyzin提出的唯計(jì)算泄露模型[1]對(duì)抗泄漏密碼學(xué)研究具有開(kāi)創(chuàng)性的意義。而Akavia 等人在文獻(xiàn)[2]中提出的弱密鑰泄露模型降低了構(gòu)造安全的抗弱密鑰泄露攻擊的密碼方案的難度。Naor和Segev在文獻(xiàn)[3]中提出在弱密鑰泄漏模型中選擇明文安全的公鑰加密方案,使得抗泄漏密碼學(xué)可以擴(kuò)展到更多的應(yīng)用場(chǎng)景。近年來(lái),國(guó)內(nèi)相關(guān)研究者也集中研究了密鑰連續(xù)泄漏情況下密碼系統(tǒng)的安全問(wèn)題[4-6]。
生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks,GANs)由一個(gè)生成模型和一個(gè)判別模型組成,其核心思想是讓生成模型和判別模型對(duì)抗學(xué)習(xí),兩者進(jìn)行博弈,使得兩者在互相對(duì)抗過(guò)程中不斷強(qiáng)化,最后得到能夠生成以假亂真數(shù)據(jù)的生成模型。自Goodfellow等人[7]提出后,GANs 已被廣泛應(yīng)用并取得了很好的成績(jī),其中應(yīng)用效果最好的是在計(jì)算機(jī)視覺(jué)領(lǐng)域,包括圖像生成及分割[8]、圖像風(fēng)格遷移[9]等。另外,在信息檢索[10]、文本生成[11]等領(lǐng)域中也取得了令人矚目的成果。
2016 年 Google Brain 團(tuán)隊(duì) Abadi 等人利用生成對(duì)抗網(wǎng)絡(luò)進(jìn)行了安全通信方面的研究[12]。該加密通信模型由兩個(gè)互相通信的神經(jīng)網(wǎng)絡(luò)Alice 與Bob,以及一個(gè)竊聽(tīng)者神經(jīng)網(wǎng)絡(luò)Eve 組成。當(dāng)Alice 與Bob 進(jìn)行加密通信時(shí),盡量限制Eve從竊聽(tīng)Alice和Bob之間的通信中獲得信息。在訓(xùn)練過(guò)程中,Alice 與Bob 在保證明文加密解密準(zhǔn)確無(wú)誤的情況下盡力提高加密解密復(fù)雜度,而Eve則盡量使自己的解密結(jié)果與明文相近,提高解密的準(zhǔn)確性。通過(guò)對(duì)抗訓(xùn)練,可得到一個(gè)能夠保證正常通信并抵抗竊聽(tīng)的加密通信模型。
本文研究使用生成對(duì)抗網(wǎng)絡(luò)來(lái)解決密鑰部分泄漏情況下安全加密通信問(wèn)題。首先提出了基于生成對(duì)抗網(wǎng)絡(luò)的抗泄漏密碼學(xué)的基本架構(gòu),然后使用文獻(xiàn)[12]的Alice、Bob 和 Eve 在 16 位密鑰對(duì)稱(chēng)加密方案下,泄露1比特密鑰時(shí),模型基本可以實(shí)現(xiàn)安全的加密通信。進(jìn)而對(duì)通信雙方及敵手的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行增加全連接層、修改激活函數(shù)以及數(shù)據(jù)批規(guī)格化等方面的改進(jìn),改進(jìn)后的神經(jīng)網(wǎng)絡(luò)模型通過(guò)對(duì)抗訓(xùn)練可實(shí)現(xiàn)8 比特及以下密鑰信息泄漏的安全保密通信。
Abadi等人在文獻(xiàn)[12]中把對(duì)稱(chēng)加密系統(tǒng)通信雙方Alice與Bob以及敵方Eve均設(shè)計(jì)為神經(jīng)網(wǎng)絡(luò)模型,并通過(guò)GANs 實(shí)現(xiàn)了在敵手監(jiān)聽(tīng)情況下的加密安全通信。其工作始于經(jīng)典的密碼學(xué)場(chǎng)景,如圖1所示[12]。Alice與Bob 進(jìn)行加密通信。Alice 利用密鑰K(Key)對(duì)明文P(PlainText)加密生成密文C(Ciphertext)。Bob 與 Eve均能夠完整獲取密文C。Bob通過(guò)密鑰K對(duì)密文C進(jìn)行解密,解密后獲得消息PBob。Eve在沒(méi)有密鑰情況下對(duì)密文C解密,得到消息PEve。Alice 與Bob 組成的加密通信模型與Eve 的敵手模型在對(duì)抗訓(xùn)練過(guò)程中不斷優(yōu)化,最終使消息PBob與明文P完全相等,而PEve與P的差異盡量大。
圖1 安全加密通信中的Alice、Bob和Eve
圖2 給出Abadi 等人實(shí)驗(yàn)中使用的神經(jīng)網(wǎng)絡(luò)模型,其中Alice和Bob模型相同,Eve的神經(jīng)網(wǎng)絡(luò)模型增加了一層全連接層用以模擬生成密鑰的過(guò)程。Alice輸入為P和K,加密輸出為C。Bob 輸入為C和K,解密輸出為PBob。Eve 作為敵手對(duì)信息進(jìn)行竊聽(tīng),輸入為C,解密輸出為PEve。Alice與Bob通過(guò)訓(xùn)練共同提升加密解密能力,保證解密結(jié)果PBob=P,敵手Eve 通過(guò)訓(xùn)練提高解密能力,其目標(biāo)是PEve=P,而實(shí)際訓(xùn)練中降低PEve的損失率,使得PEve盡量接近P。通信方與敵手的對(duì)抗表現(xiàn)為在訓(xùn)練過(guò)程中互相反饋,Eve的訓(xùn)練結(jié)果用于下一輪Alice 和Bob 的加密解密訓(xùn)練,Alice 和Bob的訓(xùn)練結(jié)果用于Eve的下一輪解密訓(xùn)練,從而提高加密通信方案的安全性。
圖2 Alice、Bob和Eve的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
其實(shí)驗(yàn)在16 位明文(每比特取值為1 或-1)、16 位密鑰對(duì)稱(chēng)加密條件下進(jìn)行,通過(guò)對(duì)抗訓(xùn)練,通信雙方可正常通信,即保證PBob=P,而Eve 解密結(jié)果保持與明文的差異在7~8比特之間,即解密結(jié)果與隨機(jī)生成的結(jié)果相似,未獲取更多有用信息。
為計(jì)算Alice 與Bob、Eve 解密結(jié)果與明文的差距,同時(shí)給出明文與解密明文之間的距離。設(shè)N為明文P和解密明文P0的長(zhǎng)度,則P與P0之間的距離定義為:
因?yàn)锽ob與Alice需要抵抗Eve的破解,所以損失需要涉及到Eve的損失LEve。通信方信息損失記作LBob,其計(jì)算公式定義為式(3)。
為描述方便,本文首先給出基于生成對(duì)抗網(wǎng)絡(luò)的抗泄露加密通信系統(tǒng)結(jié)構(gòu),如圖3 所示。圖3 中,Alice 與Bob是通信方,Alice利用密鑰K對(duì)信息P進(jìn)行加密,生成密文C。Bob 接受密文C,利用密鑰K進(jìn)行解密得到明文PBob(在此不考慮使用的是對(duì)稱(chēng)加密還是非對(duì)稱(chēng)加密方案,因?yàn)闊o(wú)論何種加密方案,加密和解密密鑰都是已知的)。Eve 是敵手,他通過(guò)監(jiān)聽(tīng)或獲取密文C與部分泄露的密鑰LK,利用C和LK解密得到明文PEve。Alice、Bob和Eve是具有相同計(jì)算能力的神經(jīng)網(wǎng)絡(luò),因?yàn)橥ㄐ欧紸lice、Bob具有完整密鑰,無(wú)疑通過(guò)神經(jīng)網(wǎng)絡(luò)訓(xùn)練,可實(shí)現(xiàn)正常通信。Eve竊取密文C和部分密鑰LK,通過(guò)訓(xùn)練可獲取盡量多的信息??剐孤┘用芡ㄐ诺哪繕?biāo)是通過(guò)神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)和對(duì)抗訓(xùn)練實(shí)現(xiàn)Alice、Bob 雙方正常通信,而Eve 無(wú)法得到比隨機(jī)猜想更好的解密結(jié)果。極端情況下,即使Eve拿到16比特密鑰中的15比特,依然無(wú)法解密得到明文P,而Alice和Bob依舊保持正常通信。
圖3 抗泄露加密通信場(chǎng)景
本文首先使用Abadi 等人給出的Alice 與Bob 的神經(jīng)網(wǎng)絡(luò)模型,如圖2所示。圖2中Eve模型的全連接層1是用來(lái)推測(cè)密鑰的,但在本文抗泄露加密通信中它已獲取了一個(gè)泄漏i比特的密鑰,同時(shí)假設(shè)ABC三方具有相同的計(jì)算能力,因此設(shè)定Eve 與Alice、Bob 的神經(jīng)網(wǎng)絡(luò)模型相同,并為其增加一個(gè)新的輸入,即泄露i比特的密鑰LK。三方神經(jīng)網(wǎng)絡(luò)模型與輸入輸出見(jiàn)圖4。
圖4 Alice、Bob和Eve初步的抗泄漏加密通信模型
本文在密鑰泄露1 比特、2 比特的情況下對(duì)通信雙方和敵手進(jìn)行對(duì)抗訓(xùn)練。實(shí)驗(yàn)中Alice、Bob和Eve均采用AdamOptimizer 優(yōu)化器進(jìn)行模型優(yōu)化。對(duì)抗訓(xùn)練按輪進(jìn)行。模型的學(xué)習(xí)速率均設(shè)為0.000 8。Alice的輸入端由明文P和密鑰K組成,Bob 的輸入端由密文C和密鑰K組成,Eve的輸入端由密文C與部分密鑰LK組成。其中P、K、LK和C均用長(zhǎng)度為N的數(shù)組表示,檢測(cè)時(shí)N取16。P和K中每一位隨機(jī)取值為-1 或1。隨機(jī)選取密鑰K中的n位,生成部分泄漏密鑰LK,n代表密鑰相同的位數(shù),剩余位由隨機(jī)數(shù)生成。如下為模型的偽代碼。
Alice網(wǎng)絡(luò)搭建:
(1)明文與密鑰K橫向拼接作為Alice 的輸入(設(shè)明文與密鑰長(zhǎng)度均為N);
(2)Alice 輸入傳入2N×2N的全連接神經(jīng)網(wǎng)絡(luò),輸出經(jīng)過(guò)激活函數(shù)sigmoid;
(3)卷積層1過(guò)濾器大小為4×1,掃描后輸出的網(wǎng)絡(luò)深度為2,步長(zhǎng)為1,激活函數(shù)為relu函數(shù);
(4)卷積層2過(guò)濾器大小為2×2,掃描后輸出的網(wǎng)絡(luò)深度為4,步長(zhǎng)為2,激活函數(shù)為relu函數(shù);
(5)卷積層3過(guò)濾器大小為1×4,掃描后輸出的網(wǎng)絡(luò)深度為4,步長(zhǎng)為1,激活函數(shù)為relu函數(shù);
(6)卷積層4過(guò)濾器大小為1×4,掃描后輸出的網(wǎng)絡(luò)深度為1,步長(zhǎng)為1,激活函數(shù)為tanh函數(shù);
(7)輸出的結(jié)果為密文C。
Bob網(wǎng)絡(luò)搭建:
(1)密文C與密鑰K拼接作為Bob輸入(設(shè)密文與密鑰長(zhǎng)度均為N);
(2)Bob 輸入傳入 2N×2N的全連接神經(jīng)網(wǎng)絡(luò),輸出經(jīng)過(guò)激活函數(shù)sigmoid;
(3)采用與Alice完全相同的卷積網(wǎng)絡(luò)結(jié)構(gòu)。
Eve網(wǎng)絡(luò)搭建:
(1)把密鑰K中的隨機(jī)x位數(shù)賦值到泄漏的密鑰K′中作為泄漏的信息,其他數(shù)用隨機(jī)數(shù)生成,得到泄漏的密鑰K′;
(2)密文C與泄漏的密鑰K′拼接作為Eve的輸入;
(3)Eve輸入傳入2N×2N的全連接神經(jīng)網(wǎng)絡(luò),輸出經(jīng)過(guò)激活函數(shù)sigmoid;
(4)采用與Alice完全相同的卷積網(wǎng)絡(luò)結(jié)構(gòu)。
首先對(duì)Alice和Bob 進(jìn)行加密解密訓(xùn)練,訓(xùn)練2 000次,穩(wěn)定后利用其訓(xùn)練結(jié)果對(duì)Eve 進(jìn)行解密訓(xùn)練,同樣訓(xùn)練2 000次可達(dá)到穩(wěn)定。下一輪利用Eve的解密結(jié)果對(duì)Alice 和Bob 進(jìn)行加密解密訓(xùn)練,再利用其訓(xùn)練結(jié)果對(duì)Eve進(jìn)行解密訓(xùn)練。此訓(xùn)練共進(jìn)行10輪,訓(xùn)練結(jié)果如圖5所示。
圖5 模型的抗泄露訓(xùn)練結(jié)果
圖5 中,在泄漏1 比特密鑰時(shí)Alice 和Bob 在訓(xùn)練5輪以后可達(dá)到穩(wěn)定,信息損失率接近0,而Eve 經(jīng)過(guò)10輪訓(xùn)練其損失率仍保持在0.80~0.85之間,接近最好值1。依據(jù)式(2),此時(shí)Eve 解密正確的比特?cái)?shù)約占明文長(zhǎng)度的40%~50%,接近隨機(jī)猜想的正確位數(shù)。此情況與原加密通信方案沒(méi)有密鑰泄露的情況相比,Eve獲得了稍多一點(diǎn)的信息,但遠(yuǎn)無(wú)法達(dá)到完全解密的程度。泄漏2比特密鑰時(shí),Alice和Bob在訓(xùn)練2輪以后可達(dá)到穩(wěn)定,比泄露1 比特密鑰訓(xùn)練速度快。Eve 經(jīng)過(guò)10 輪訓(xùn)練后可達(dá)到穩(wěn)定,但其信息損失穩(wěn)定在0.6~0.7 之間,即Eve解密正確的比特?cái)?shù)約占30%~35%,由于明文取值僅有1和-1,此情況等價(jià)于解密正確位數(shù)占的比例65%~70%,此時(shí)泄漏信息略多,不再是一個(gè)可接受的抗泄露加密通信方案。
抗泄露加密通信的關(guān)鍵在于部分密鑰泄漏,既要保證通信雙方Alice和Bob的正常通信,又要保證在Eve得到部分密鑰情況下無(wú)法正確解密。由上文實(shí)驗(yàn)可知,Abadi等人給出的神經(jīng)網(wǎng)絡(luò)模型在泄露1比特密鑰情況下勉強(qiáng)可用,但泄露2比特及以上時(shí),無(wú)法使用,因此無(wú)法直接用來(lái)解決抗泄露加密通信問(wèn)題。本文從改進(jìn)激活函數(shù)、增強(qiáng)神經(jīng)網(wǎng)絡(luò)功能以及批規(guī)格化三方面對(duì)此模型進(jìn)行改進(jìn),并通過(guò)實(shí)驗(yàn)來(lái)驗(yàn)證抗泄露加密模型。
分析實(shí)驗(yàn)過(guò)程,在泄漏密鑰位數(shù)增加時(shí),圖4中Eve神經(jīng)網(wǎng)絡(luò)模型的損失下降顯著,說(shuō)明Eve越來(lái)越容易破解密文了。模型中使用relu 激活函數(shù)容易導(dǎo)致神經(jīng)元死亡現(xiàn)象,通過(guò)對(duì)模型中死亡神經(jīng)元個(gè)數(shù)統(tǒng)計(jì)得出,Alice與Bob 死亡神經(jīng)元比例約為34%,Eve 的死亡神經(jīng)元比例為50%。死亡神經(jīng)元出現(xiàn)原因在Xu 等人的文獻(xiàn)[13]中已指出。
以下給出修改激活函數(shù)的具體原因。圖6為relu與leaky relu 的函數(shù)圖像,由圖可知,relu 函數(shù)在輸入為負(fù)數(shù)時(shí)輸出的結(jié)果恒為0,因此relu 函數(shù)在負(fù)半軸的導(dǎo)數(shù)也恒為0。由于神經(jīng)網(wǎng)絡(luò)的權(quán)值更新是通過(guò)反向傳播實(shí)現(xiàn)的,而反向傳播即通過(guò)計(jì)算損失E對(duì)權(quán)值w的偏導(dǎo)數(shù)來(lái)更新權(quán)值,當(dāng)神經(jīng)元的輸出為負(fù)數(shù)時(shí),relu 的導(dǎo)數(shù)必然是0,因此權(quán)值w將不會(huì)進(jìn)行更新。正因如此,使用多層relu 神經(jīng)網(wǎng)絡(luò)(若都使用relu 作激活函數(shù))的時(shí)候,容易出現(xiàn)大面積的神經(jīng)元死亡,即大部分的神經(jīng)元不再更新權(quán)值,代表神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)進(jìn)程停滯。本文提出使用leaky relu 函數(shù),因?yàn)榇撕瘮?shù)在負(fù)半軸的導(dǎo)數(shù)不恒為0,有效地保證當(dāng)輸入落在負(fù)半軸時(shí)損失E對(duì)權(quán)值w的偏導(dǎo)數(shù)不恒為0,權(quán)值依然能夠進(jìn)行更新,避免由于神經(jīng)元死亡而導(dǎo)致的學(xué)習(xí)進(jìn)程停滯的問(wèn)題。故將模型中所有卷積神經(jīng)網(wǎng)絡(luò)的relu 激活函數(shù)修改為leaky relu函數(shù),其余部分結(jié)構(gòu)不變。
圖6 relu與leaky relu激活函數(shù)
圖7 給出修改激活函數(shù)后,1~5 比特密鑰泄露情況下的訓(xùn)練結(jié)果。為描述方便,圖7 橫坐標(biāo)改為輪數(shù),每輪訓(xùn)練中首先對(duì)Alice 和Bob 的加密解密進(jìn)行訓(xùn)練,再利用訓(xùn)練結(jié)果對(duì)Eve 進(jìn)行訓(xùn)練。每輪訓(xùn)練對(duì)Alice 和Bob、Eve 各訓(xùn)練2 000 次。實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn)對(duì)3 個(gè)網(wǎng)絡(luò)的訓(xùn)練都可以2 000次以?xún)?nèi)達(dá)到穩(wěn)定狀態(tài)。從圖7中可以看出,修改激活函數(shù)之后模型的能力得到提升,且沒(méi)有出現(xiàn)Bob無(wú)法解析密文的情況。Eve在1、2比特密鑰泄露情況下訓(xùn)練較為平穩(wěn),均可達(dá)到接近0.9 的信息損失。當(dāng)Eve 已知位數(shù)達(dá)到3 和4 后信息損失出現(xiàn)波動(dòng),無(wú)法進(jìn)入平滑優(yōu)化。據(jù)統(tǒng)計(jì),死亡神經(jīng)元的比例下降了約1%。同時(shí)因?yàn)樾薷募せ詈瘮?shù)后減少了死亡神經(jīng)元的出現(xiàn),所以模型的訓(xùn)練時(shí)間也有所增加,增長(zhǎng)比例約為5.7%。
圖7 測(cè)試1~5比特密鑰泄露的運(yùn)行結(jié)果
通過(guò)上一節(jié)的操作,把安全通信的密鑰泄漏提高到了2 比特,密鑰泄漏比特?cái)?shù)進(jìn)一步提高后,就無(wú)法進(jìn)行安全通信了,也就是說(shuō),Bob和Eve都不能正確解密Alice發(fā)送的密文。這說(shuō)明,接收網(wǎng)絡(luò)和敵手網(wǎng)絡(luò)被加密的信息迷惑,網(wǎng)絡(luò)解密能力達(dá)到了極限。如果增強(qiáng)Bob 和Eve的網(wǎng)絡(luò)模型,其解密能力就能提高,但是由于Eve只有部分密鑰,其解密能力的提升程度應(yīng)該低于Bob。為驗(yàn)證這一想法,通過(guò)增加全連接層的方法來(lái)同步增加Bob與Eve的解密能力,保證Bob與Eve的解密能力一致。
模型修改:對(duì)Bob 和Eve 的神經(jīng)網(wǎng)絡(luò)模型在圖4 基礎(chǔ)上增加全連接層2,激活函數(shù)取tanh函數(shù),他們的輸入輸出保持不變。Alice 神經(jīng)網(wǎng)絡(luò)和輸入輸出都保持不變。同時(shí)按4.1節(jié)對(duì)3個(gè)神經(jīng)網(wǎng)絡(luò)的卷積層1~3,將激活函數(shù)修改為leaky relu函數(shù)。
以下給出使用tanh 的具體原因。圖8 為sigmoid 與tanh 函數(shù)的導(dǎo)函數(shù)圖像,由圖可知sigmoid 導(dǎo)函數(shù)的值域在[0,0.25],而 tanh 導(dǎo)函數(shù)的值域在[0,1]。因?yàn)?sigmoid 的導(dǎo)數(shù)最大為0.25,所以在更新權(quán)值、計(jì)算偏導(dǎo)數(shù)的過(guò)程中必然也乘了一個(gè)小于等于0.25 的值。因此這樣計(jì)算出來(lái)的偏導(dǎo)數(shù)會(huì)偏小。隨著sigmoid 層數(shù)的增加,會(huì)有更多的數(shù)相乘,這種現(xiàn)象會(huì)越來(lái)越嚴(yán)重,最終導(dǎo)致權(quán)值的更新過(guò)小,即反向傳播的信息量被大量減少,近似于沒(méi)有任何更新,從而出現(xiàn)死亡神經(jīng)元,學(xué)習(xí)進(jìn)度停滯。本文使用的tanh 的導(dǎo)數(shù)比sigmoid 的導(dǎo)數(shù)大,因此相比sigmoid,權(quán)值更新的值并不會(huì)被壓縮得太小,神經(jīng)網(wǎng)絡(luò)層數(shù)增加時(shí),對(duì)更新的數(shù)值影響也不會(huì)太大。因此tanh能夠有效地減緩死亡神經(jīng)元的現(xiàn)象,從而避免神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)進(jìn)程停滯的問(wèn)題[13-14]。因此,此處取全連接層2的激活函數(shù)為tanh函數(shù),不取sigmoid函數(shù)。
圖8 sigmoid與tanh的導(dǎo)函數(shù)
對(duì)1~5比特密鑰泄露情況,本文對(duì)Alice、Bob和Eve進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果如圖9所示。由圖9可知,整體上增加全連接層后模型穩(wěn)定性增強(qiáng)。同時(shí),Bob的解密能力明顯增強(qiáng),經(jīng)1~3 輪訓(xùn)練后可達(dá)到穩(wěn)定,且其信息損失均接近0。Eve 在1~3 比特密鑰泄露情況下訓(xùn)練較為平穩(wěn),均可達(dá)到0.8 左右的信息損失。但是在4~5 比特密鑰泄露情況下Eve信息損失波動(dòng)在0.4~0.7之間,平均在0.6附近,無(wú)法進(jìn)一步提升。
圖9 測(cè)試1~5比特密鑰泄露的運(yùn)行結(jié)果
進(jìn)一步分析4.2 節(jié)的實(shí)驗(yàn)結(jié)果,模型在增加全連接層后穩(wěn)定性得到了提升,但很可能陷入局部最優(yōu)位置。因此考慮對(duì)全連接層加入規(guī)格化處理來(lái)減少數(shù)據(jù)差異性因素對(duì)模型優(yōu)化的影響,提升神經(jīng)網(wǎng)絡(luò)尋找最優(yōu)解的能力。
數(shù)據(jù)規(guī)格化(Scaling)又稱(chēng)數(shù)據(jù)尺度歸一化[15],就是將數(shù)據(jù)的取值范圍映射到一個(gè)特定范圍之內(nèi),以消除數(shù)值型屬性因大小范圍不一而影響基于距離的分類(lèi)方法結(jié)果的公正性。本文對(duì)Bob、Eve 模型的輸入數(shù)據(jù)采用取零均值規(guī)格化方法進(jìn)行處理,取均值為0,方差為1。修改后Alice、Bob和Eve模型見(jiàn)圖10。
增加數(shù)據(jù)規(guī)格化處理后,對(duì)密鑰泄漏1~9比特的情況進(jìn)行模型訓(xùn)練,結(jié)果見(jiàn)圖11。由圖11 可知,Bob 與Eve 在增加數(shù)據(jù)規(guī)格化后整體解密能力都有較大提高。數(shù)據(jù)規(guī)格化起到進(jìn)一步增加模型穩(wěn)定性,同時(shí)避免陷入局部最優(yōu)的作用。Bob的解密能力經(jīng)過(guò)1~3輪訓(xùn)練后可達(dá)到穩(wěn)定,信息損失接近0。Eve在密鑰泄漏1~7比特情況下收斂都很快,在訓(xùn)練9 輪后可達(dá)到穩(wěn)定狀態(tài),且信息損失可達(dá)到0.8左右。密鑰泄漏達(dá)到8比特時(shí)收斂變慢,但信息損失仍可達(dá)到0.8 附近。但當(dāng)密鑰泄漏達(dá)到9 比特時(shí)收斂較慢,經(jīng)19 輪訓(xùn)練后才基本達(dá)到穩(wěn)定,而信息損失在0.6 附近。可見(jiàn),圖10 給出的模型對(duì)1~8比特密鑰泄漏,在多輪訓(xùn)練可得到安全的抗泄漏加密通信模型。繼續(xù)增加密鑰泄漏位數(shù)情況下,無(wú)法得到安全的抗泄漏加密通信模型。
圖10 抗泄漏加密通信模型
圖11 測(cè)試1~9比特密鑰泄露的運(yùn)行結(jié)果
本文利用神經(jīng)網(wǎng)絡(luò)、生成對(duì)抗網(wǎng)絡(luò)解決抗泄露加密通信問(wèn)題,給出基于生成對(duì)抗網(wǎng)絡(luò)的抗泄露加密通信方案。從Abadi等人的安全加密通信模型出發(fā),通過(guò)一系列實(shí)驗(yàn)改進(jìn),在16位密鑰對(duì)稱(chēng)加密通信環(huán)境中,密鑰泄露達(dá)到8位時(shí)仍可保證安全的抗泄露加密通信模型。
本文為抗泄露加密通信提供了一種全新的解決思路,并通過(guò)實(shí)驗(yàn)證明了思路的可行性。但本文對(duì)神經(jīng)網(wǎng)絡(luò)的改進(jìn)目前僅從提高神經(jīng)網(wǎng)絡(luò)復(fù)雜性、激活函數(shù)和數(shù)據(jù)規(guī)格化方面開(kāi)展,所使用的方法主要是提高模型整體解密能力和穩(wěn)定性。
對(duì)抗泄漏加密通信問(wèn)題,還可從更加精巧、更具有針對(duì)性的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),更強(qiáng)的加解密能力,增加神經(jīng)網(wǎng)絡(luò)模型的存儲(chǔ)能力等方面入手。期望通過(guò)實(shí)驗(yàn)實(shí)現(xiàn)僅剩余1 比特密鑰未泄漏的極端情況下仍能保證安全通信的終極目標(biāo)。