国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

在多FPGA上的高性能VPN口令恢復(fù)方法

2019-05-05 06:29周清雷朱維軍
關(guān)鍵詞:哈希口令密鑰

韓 宇,周清雷,李 斌,朱維軍

1(鄭州大學(xué) 信息工程學(xué)院,鄭州 450000)2(解放軍信息工程大學(xué) 信息工程學(xué)院,鄭州 450000)

1 引 言

虛擬專用網(wǎng)絡(luò)(Virtual Private Network,VPN)屬于遠(yuǎn)程訪問技術(shù),是在公共網(wǎng)絡(luò)的基礎(chǔ)上,通過隧道協(xié)議和密碼技術(shù)建立的虛擬網(wǎng)絡(luò)[1].對用戶來說,使用 VPN 可以達(dá)到和使用專用網(wǎng)絡(luò)同樣的效果.用戶能夠通過VPN在外網(wǎng)訪問企業(yè)或校園內(nèi)網(wǎng)的服務(wù)器資源,并且為了保證數(shù)據(jù)安全,VPN利用加密技術(shù)對經(jīng)過隧道傳輸?shù)臄?shù)據(jù)進(jìn)行加密,以保證數(shù)據(jù)僅被指定的發(fā)送者和接收者了解,從而保證數(shù)據(jù)的私有性和安全性[2].

隨著互聯(lián)網(wǎng)的迅速發(fā)展,出現(xiàn)了大量利VPN技術(shù)進(jìn)行“翻墻”的軟件,例如:自由門、極速安全VPN、蝙蝠VPN等.但其中部分軟件通過私自架設(shè)服務(wù)器,與國外非法服務(wù)器進(jìn)行互連互通,在國內(nèi)傳播不良信息.由于VPN所傳輸?shù)臄?shù)據(jù)均經(jīng)過加密,且CPU屬于通用處理器,以及GPU的優(yōu)勢在于處理浮點(diǎn)運(yùn)算,因此使用傳統(tǒng)CPU、GPU進(jìn)行VPN數(shù)據(jù)破解的能力有限[3].這無疑給執(zhí)法部門的調(diào)查和取證帶來巨大障礙.鑒于此,本文在分析使用PPTP隧道協(xié)議進(jìn)行通信的VPN的基礎(chǔ)上,提出了一種基于FPGA的VPN口令恢復(fù)方案.該方案針對PPTP隧道協(xié)議,實(shí)現(xiàn)了VPN-DES的破解模式,并采用了全流水線架構(gòu)的FPGA設(shè)計(jì).相比于GPU的破解效率,其性能提升了8.5倍左右,相比于CPU的破解效率,其性能則提升了27萬倍左右.

2 MS-CHAPv2協(xié)議與MPPE協(xié)議

2.1 MS-CHAPv2協(xié)議

MS-CHAP是Microsoft開發(fā)的挑戰(zhàn)握手協(xié)議(Challenge-Handshake Authentication Protocol).MS-CHAP用作Microsoft為VPN實(shí)施PPTP協(xié)議的一個身份驗(yàn)證選項(xiàng).目前存在兩個版本的CHAP協(xié)議,MS-CHAPv1(在RFC 2433中定義)和MS-CHAPv2(在RFC 2759中定義).MS-CHAPv2質(zhì)詢握手身份驗(yàn)證協(xié)議是一個通過單向加密密碼進(jìn)行的相互身份驗(yàn)證協(xié)議.與 MS-CHAPv1相比,MS-CHAPv2通過捎帶響應(yīng)數(shù)據(jù)包上的對等體挑戰(zhàn)串和成功數(shù)據(jù)包上的驗(yàn)證器響應(yīng),提供了通信雙方的相互驗(yàn)證,進(jìn)一步增強(qiáng)了通信的安全性.目前,PPTP協(xié)議使用MS-CHAPv2協(xié)議[4]進(jìn)行身份驗(yàn)證.MS-CHAPv2協(xié)議具體流程如圖1所示.

圖1 MS-CHAPv2協(xié)議流程圖Fig.1 MS-CHAPv2 protocol flow

1)客戶端向服務(wù)器發(fā)送請求報(bào)文.

2)服務(wù)器回復(fù)一個隨機(jī)生成的16-bytes認(rèn)證挑戰(zhàn)串(authenticator challenge).

3)客戶端生成回復(fù)報(bào)文:

(a)客戶端隨機(jī)生成一個16-bytes對等挑戰(zhàn)串(peer challenge);

(b)客戶端使用服務(wù)器發(fā)送的16-bytes認(rèn)證挑戰(zhàn)串(authenticator challenge)、(a)中生成的16-bytes對等挑戰(zhàn)串(peer challenge)以及登錄時(shí)的用戶名,進(jìn)行hash運(yùn)算,最終生成一個8-bytes的挑戰(zhàn)串(challenge);

(c)客戶端對登錄時(shí)輸入的口令進(jìn)行hash運(yùn)算,生成一個16-byte的口令hash值(NT password hash);

(d)將在(c)中生成的口令hash值(NT password hash)末尾補(bǔ)5-bytes的0后,再平均分為三份7-bytes二進(jìn)制串作為DES 的密鑰;

(e)取在(b)中生成的挑戰(zhàn)串(challenge)前8-bytes 二進(jìn)制串(本文之后將新提取出來的8-bytes稱為challenge),并使用分別使用(d)中的三組DES 的秘鑰進(jìn)行加密運(yùn)算;

(f)最后將在(e)中輸出的三組DES加密結(jié)果、(a)中生成的16-bytes對等挑戰(zhàn)串(peer challenge)以及用戶名作為響應(yīng)串(response date)回復(fù)給服務(wù)器.

4)服務(wù)器使用相同方式計(jì)算出挑戰(zhàn)串(challenge)值后對響應(yīng)串(response date)進(jìn)行解密運(yùn)算,并與存儲在數(shù)據(jù)庫里的口令hash值進(jìn)行對比.如果解密結(jié)果與服務(wù)器存儲的口令hash值相同,則完成服務(wù)器對客戶端的認(rèn)證.

5)服務(wù)器向客戶端發(fā)送認(rèn)證信息(server authenticate):

(a)服務(wù)器對口令hash值進(jìn)行MD4加密,生成password-hash-hash;

(b)服務(wù)器使用根據(jù)客戶端的回復(fù)的SHA值、(a)中生成的password-hash-hash以及明文“Magic server to client signing constant”生成hash值;

(c)服務(wù)器使用(b)生成的20-bytes hash值、從客戶端接受的8-bytes challenge以及明文“Pad to make it do more than one iteration”生成另一個hash值;

(d)服務(wù)端使用“S=hupper-case ASCII representation of the byte value”格式回復(fù)(c)中生成的20-bytes hash值.

6)客戶端經(jīng)過同樣的流程生成20-byte的hash值,與從服務(wù)器端接受的數(shù)據(jù)進(jìn)行對比,如果相同,則完成客戶端對服務(wù)器的認(rèn)證.

2.2 MPPE協(xié)議

相比MS-CHAPv2協(xié)議,MPPE協(xié)議流程較為簡單.MPPE(Microsoft Point-to-Point Encryption-微軟點(diǎn)對點(diǎn)加密術(shù))協(xié)議是由Microsoft設(shè)計(jì)的數(shù)據(jù)鏈路層通信保護(hù)機(jī)制[5].MPPE協(xié)議在PPTP協(xié)議中使用RC4算法對通信數(shù)據(jù)進(jìn)行加密.RC4算法是一種對稱加密算法,即加密和解密使用相同的key值,具體詳情可查閱RFC7465.在PPTP協(xié)議中,MPPE協(xié)議對MS-CHAPv2協(xié)議生成的部分認(rèn)證信息以及口令哈希值進(jìn)行SHA運(yùn)算,將其結(jié)果截?cái)嘁欢ㄩL度后作為RC4算法的key值.RC4 Key值生成流程如下:

1)對MS-CHAPv2協(xié)議生成的認(rèn)證信息、口令哈希值,以及一個27-byte的字符串常量進(jìn)行SHA運(yùn)算,將其結(jié)果截?cái)喑梢粋€16-byte的master-master key.

2)再將master-master key與特定字符常量進(jìn)行SHA運(yùn)算,將其結(jié)果通過截?cái)噢D(zhuǎn)換成session keys即RC4算法中使用的key值(生成40-bit和128-bit RC4 key值時(shí)使用的字符常量略有不同).

2.3 MS-CHAPv2與MPPE協(xié)議分析

根據(jù)MS-CHAPv2協(xié)議流程可知,客戶端使用用戶口令的MD4哈希值,生成三組DES密鑰(key1,key2,key3)后,結(jié)合authenticator challenge、用戶名以及隨機(jī)生成的16-bytes peer challenge生成challenge挑戰(zhàn)串.再使用三組DES密鑰(key1,key2,key3)分別對challenge進(jìn)行加密.最后將三組DES加密結(jié)果以及peer challenge拼接成響應(yīng)包(response date)發(fā)送給服務(wù)器端.由于服務(wù)器端是通過對比存儲在數(shù)據(jù)庫中的口令MD4哈希值進(jìn)行身份認(rèn)證的.因此當(dāng)服務(wù)器端用相同方式計(jì)算出挑戰(zhàn)串并對比后,即可完成口令驗(yàn)證過程.

根據(jù)MPPE協(xié)議可知,結(jié)合口令MD4哈希值、部分身份認(rèn)證信息(response date)以及特定字符常量,經(jīng)過SHA運(yùn)算后可以生成RC4 key.之后便使用RC4算法完成對數(shù)據(jù)的加密過程.

根據(jù)口令驗(yàn)證以及數(shù)據(jù)加密過程可知,全部流程中實(shí)際只有一個未知量即用戶口令的MD4哈希值.協(xié)議中的其他元素都是以明文形式存在,或可以很容易地從明文中派生出,例如:challenge、用戶名等.因此,獲取用戶口令的MD4哈希值即可完成對口令驗(yàn)證以及數(shù)據(jù)加密過程的破解.

3 VPN口令恢復(fù)與優(yōu)化

3.1 VPN口令恢復(fù)流程

根據(jù)上節(jié)對MS-CHAPv2協(xié)議和MPPE協(xié)議的分析,VPN口令恢復(fù)流程主要分為6個步驟:數(shù)據(jù)包解析,哈希提串,MD4加密,分組DES加密,獲取RC4 key,解密通信數(shù)據(jù),如圖2所示.

圖2 VPN口令破解流程Fig.2 VPN password cracking process

各步驟具體流程如下:

數(shù)據(jù)包解析:獲取到身份認(rèn)證報(bào)文中的authenticator challenge、peer challenge以及用戶名字段.

口令窮舉:使用明文字典或口令掩碼進(jìn)行暴力窮舉.

哈希提串:根據(jù)數(shù)據(jù)包解析出的內(nèi)容,通過hash運(yùn)算計(jì)算出challenge挑戰(zhàn)串

MD4加密:將輸入的口令進(jìn)行MD4運(yùn)算[6],輸出128 bits密文.

分組DES加密:將128 bits 密文擴(kuò)展為21-bytes(低位補(bǔ)5字節(jié)0)后,平均分為三組,每組7-bytes,分別進(jìn)行DES加密.

獲取RC4 key:根據(jù)MPPE協(xié)議加密原理,通過SHA運(yùn)算獲取RC4 key.

解密通信數(shù)據(jù):使用RC4 key值對通信的數(shù)據(jù)進(jìn)行解密,得到解密信息.

其中數(shù)據(jù)包解析、口令窮舉步驟較為簡單,基本不涉及計(jì)算.哈希提串、獲取RC4 key和解密通信數(shù)據(jù)步驟也只需執(zhí)行一次,運(yùn)算量較小,且生成的challenge串在運(yùn)算迭代中是不變的,因此可以使用CPU實(shí)現(xiàn).但MD4加密與分組DES加密兩步驟,運(yùn)算量相對較大,且在算法運(yùn)行時(shí),要循環(huán)執(zhí)行直至輸出正確的破解結(jié)果為止.由于MD4加密與分組DES加密兩步驟屬于邏輯運(yùn)算,且FPGA作為高速邏輯運(yùn)算部件,在邏輯運(yùn)算上比通用處理器具有更大的優(yōu)勢,因此,可以采用高速邏輯運(yùn)算部件FPGA對上述兩個步驟進(jìn)行加速[7].

3.2 VPN-DES模式

目前使用字典進(jìn)行口令恢復(fù)時(shí),普遍存在破解率不穩(wěn)定,字典過大時(shí)的存儲問題以及字典傳輸存在瓶頸等問題.因此,通過對PPTP協(xié)議的進(jìn)一步分析,本文采用一種基于DES算法的口令恢復(fù)流程—VPN DES模式,其依靠對DES密鑰的窮舉達(dá)到等同于獲得明文口令的效果.

通過1.3節(jié)對兩種協(xié)議的分析可知,用戶口令的MD4哈希值與用戶明文口令是等價(jià)的,即意味著用戶口令的MD4哈希值足以作為接入VPN連接時(shí)的身份驗(yàn)證依據(jù)以及解密通信數(shù)據(jù)的密鑰.又由于三組DES密鑰是通過用戶口令的MD4哈希值在末尾補(bǔ)零生成的,則三組DES密鑰與MD4哈希值也是等價(jià)的,具體關(guān)系如圖3所示.

圖3 口令等價(jià)關(guān)系圖Fig.3 Password equivalent relationship

另外,由于MD4是非對稱加密算法且需要窮舉的口令空間2128過大,不適合暴力破解.于是可以通過對DES密鑰的破解從而間接獲得MD4哈希值.從圖3可知,第三個DES密鑰實(shí)際只有兩個字節(jié)長(其余5字節(jié)是通過補(bǔ)零得到的),通過CPU就可以快速破解.因此,主要計(jì)算量集中在剩余兩個DES密鑰的破解上,需要窮舉的口令空間一共為257.又由于所有DES密鑰長度均為56 bit,則可以通過將對兩個DES密鑰的破解壓縮為一次全DES密鑰空間的窮舉,即可將口令空間進(jìn)一步縮小到256,即破解單一DES密鑰需要窮舉的口令空間.具體破解流程如圖4所示.

圖4 VPN-DES破解流程Fig.4 VPN-DES crack process

VPN-DES破解流程與1.2節(jié)破解流程基本相似,不同點(diǎn)在于:

1)將輸入的明文口令改為輸入7字節(jié)的二進(jìn)制key值.

2)省去了MD4加密步驟.輸入數(shù)據(jù)經(jīng)過DES加密后,只需和數(shù)據(jù)包中解析出的三組DES加密結(jié)果進(jìn)行對比即可.

由此可知,VPN口令恢復(fù)的關(guān)鍵點(diǎn)在于獲取DES密鑰.因此,高效的DES算法是本文設(shè)計(jì)的關(guān)鍵所在[8].

4 基于FPGA的實(shí)現(xiàn)方案

4.1 DES算法設(shè)計(jì)

DES全稱為Data Encryption Standard,即數(shù)據(jù)加密標(biāo)準(zhǔn),是一種使用對稱密鑰的塊加密算法[9].它使用64位密鑰key(實(shí)際key只有56位有效值,第8,16,32,40,48,56,64位是校驗(yàn)位)對64位明文塊進(jìn)行加密.DES算法每輪迭代都需要一個64位的k值參與運(yùn)算,經(jīng)過16輪迭代后輸出密文,詳情可查閱RFC4772.DES算法概要如圖5所示.

本文VPN口令恢復(fù)算法的計(jì)算量主要源于DES加密的多次迭代.因此,并行的DES加密可以有效提高口令恢復(fù)速度[10,11].DES算法的處理流程可以分為若干步且數(shù)據(jù)的處理是單向的,所以DES算法適合用流水線模式實(shí)現(xiàn).偽Verilog代碼如下所示:

圖5 DES算法概要圖Fig.5 Outline of the DES algorithm

Input:desIn,key;

Output:desOut;

IP[1:64]<= desIn; // Register the 64 bit input

key_sel uk(key); // key_sel uk()provides K1~K15

crp u0()~crp u15(); // 16 rounds of iteration

L1 <=IP[33:64]; R1 <=IP[01:32] ^ out0;

L2 <= R0;R2 <= L0 ^ out1;

L15 <= R14;R15 <= L14 ^ out15;

assign FP = {(out15 ^ L14),R14};

desOut <= FP;

使用FPGA全流水線實(shí)現(xiàn)DES算法時(shí),F函數(shù)需要被實(shí)例化16次,并使用多個寄存器Reg存儲每個F函數(shù)的輸出結(jié)果,以便數(shù)據(jù)有序的參與流水線運(yùn)算[12].其中參與F函數(shù)運(yùn)算的k1~k16的生成方式可以簡化成一個具有64位相同輸入,48位不同輸出的運(yùn)算模塊,因此可以預(yù)先生成,并通過使用多組寄存器Reg控制k1~k16傳送給F函數(shù)的時(shí)序.具體設(shè)計(jì)如圖6所示.

圖6 FPGA實(shí)現(xiàn)DES全流水線設(shè)計(jì)圖Fig.6 FPGA DES implementation of the entire pipeline design

當(dāng)算法開始運(yùn)行時(shí),第一輪時(shí)鐘周期接受輸入的64-bytes key和64-bytes待加密明文塊.64-bytes key經(jīng)過密鑰生成模塊后,生成k1~k16.先將k1傳送給F函數(shù)1,其余K值傳送給寄存器Reg組,等待下一輪時(shí)鐘周期.第二輪時(shí)鐘周期時(shí),接受新輸入的64位key和64位代加密明文塊重復(fù)第一輪的操作,與此同時(shí)F函數(shù)2從寄存器Reg中讀取上一輪F函數(shù)1輸出的結(jié)果以及上一輪存儲在寄存器Reg組中的K2進(jìn)行運(yùn)算.以此類推直至16輪迭代完成后,輸出與第一輪時(shí)鐘周期時(shí)接受的key相對應(yīng)的密文.雖然每組數(shù)據(jù)需要經(jīng)過16個時(shí)鐘周期才能計(jì)算出結(jié)果,但當(dāng)算法滿負(fù)荷運(yùn)行時(shí),每個時(shí)鐘周期都會輸出一塊密文,相比串行DES加密而言無疑大大提高了處理速度[13].

4.2 VPN-DES模式實(shí)現(xiàn)

使用FPGA 實(shí)現(xiàn)的VPN-DES模式整體架構(gòu)主要包含5個模塊單元:任務(wù)管理單元,任務(wù)解析單元,密鑰窮舉單元,燒錄程序單元,破解引擎單元,狀態(tài)信息管理單元,結(jié)果管理單元.如圖7所示.

任務(wù)管理單元:主要負(fù)責(zé)接收包含任務(wù)信息的數(shù)據(jù)包,并將提取的信息發(fā)送給任務(wù)解析單元.

任務(wù)解析單元:解析收到的任務(wù)信息,提取FPGA燒錄程序類型以及密鑰窮舉范圍.

圖7 FPGA架構(gòu)設(shè)計(jì)圖Fig.7 FPGA architecture design

密鑰窮舉單元:根據(jù)任務(wù)信息中的窮舉范圍自動生成密鑰,并將生成的密鑰發(fā)送給破解引擎單元.

燒錄程序單元:根據(jù)任務(wù)信息中的燒錄程序類型選擇相應(yīng)程序?qū)PGA芯片進(jìn)行燒錄.

破解引擎單元:主要負(fù)責(zé)根據(jù)任務(wù)信息對算子進(jìn)行配置,之后再結(jié)合窮舉生成的密鑰代入DES流水線中進(jìn)行運(yùn)算.

狀態(tài)信息管理單元:主要負(fù)責(zé)收集FPGA運(yùn)算時(shí)各個算子的運(yùn)行狀態(tài).

結(jié)果管理單元:將DES流水線中計(jì)算出的加密結(jié)果與任務(wù)信息中解析的結(jié)果進(jìn)行對比,并對所有算子的加密結(jié)果進(jìn)行匯總.

4.3 系統(tǒng)整體結(jié)構(gòu)

圖8描述了系統(tǒng)整體設(shè)計(jì)框架,包含用戶界面、管理節(jié)點(diǎn)和FPGA集群.

圖8 系統(tǒng)整體架構(gòu)圖Fig.8 System overall structure

每當(dāng)有新的FPGA節(jié)點(diǎn)加入集群時(shí),新加入的FPGA節(jié)點(diǎn)會主動向管理節(jié)點(diǎn)發(fā)送自己的IP地址.管理節(jié)點(diǎn)根據(jù)用戶界面輸入的任務(wù)信息對管理的FPGA節(jié)點(diǎn)分發(fā)任務(wù)配置信息和口令切片,并實(shí)時(shí)收集運(yùn)行狀態(tài)以及查詢結(jié)果.以本文提出的DES破解模式為例,管理節(jié)點(diǎn)將用戶界面上傳的任務(wù)信息(即窮舉策略或范圍以及從報(bào)文中提取的responsedate、peer challenge、用戶名等信息)分發(fā)到各個FPGA節(jié)點(diǎn)后,各FPGA節(jié)點(diǎn)根據(jù)收到的任務(wù)信息開始進(jìn)行暴力破解.在任務(wù)執(zhí)行期間,管理節(jié)點(diǎn)實(shí)時(shí)收集各節(jié)點(diǎn)的運(yùn)行狀態(tài)以及破解結(jié)果,每當(dāng)有FPGA節(jié)點(diǎn)破解成功時(shí),管理節(jié)點(diǎn)會在用戶界面顯示相應(yīng)任務(wù)的破解結(jié)果.當(dāng)任務(wù)破解完成或用戶主動終止時(shí),系統(tǒng)停止運(yùn)行.

5 實(shí)驗(yàn)結(jié)果與分析

實(shí)驗(yàn)對比了在系統(tǒng)集群分別包含多組FPGA節(jié)點(diǎn)(每個節(jié)點(diǎn)包含4塊FPGA芯片,每個芯片又包含64條算子)的情況下,口令恢復(fù)的性能、功耗以及效能.其次對比了CPU、GPU以及單組FPGA在相同測試環(huán)境下破解口令集時(shí)的性能、功耗、性價(jià)比.之后又對比了使用FPGA實(shí)現(xiàn)的不同VPN破解模式下的性能、功耗以及效能.最后展示了本文以及其它文獻(xiàn)對DES算法的實(shí)現(xiàn)情況.

測試環(huán)境采用CentOS 7.0系統(tǒng),配置8G DDR3內(nèi)存,具體測試環(huán)境如表1所示.

通過程序自動生成1000組經(jīng)過加密的DES密鑰,在不同規(guī)模的FPGA節(jié)點(diǎn)下進(jìn)行仿真實(shí)驗(yàn),分別對性能(百萬口令每秒),功耗(瓦)進(jìn)行測試,并通過式(1)計(jì)算能效(百萬口令每焦),即每百萬條口令消耗一焦電量.結(jié)果如表2所示.

(1)

從表2實(shí)驗(yàn)結(jié)果可知,隨著FPGA規(guī)模的增加,其性能、功耗近似呈線性增長,能效基本保持不變.因此,合理擴(kuò)大FPGA規(guī)模能有效提高破解性能且不會帶來過多的能源消耗.

表1 測試環(huán)境
Table 1 Test environment

名稱型號測試程序環(huán)境價(jià)格FPGAXCKU060FPGA系統(tǒng)集群CentOS6700GPUGTX 1080HashCat v3.6CentOS 4500CPUi5-7500VPN-DES模式CentOS 1399

表2 多組FPGA口令恢復(fù)測試
Table 2 Multiple FPGA password recovery test

規(guī)模性能功耗能效FPGA ?297260 M/s102 W954 M/JFPGA ?4194520 M/s201 W967 M/JFPGA ?6291740 M/s310 W941 M/JFPGA ?8389120 M/s410 W950 M/J

其次,實(shí)驗(yàn)使用單組FPGA、GPU、CPU對相同的口令集進(jìn)行恢復(fù),分別對其性能和功耗進(jìn)行測試,并通過式(1)計(jì)算能效,式(2)計(jì)算性價(jià)比.結(jié)果如表3所示.

(2)

表3 FPGA、GPU、CPU口令恢復(fù)對比
Table 3 FPGA、GPU、CPU password recovery comparison

名稱性能功耗能效性價(jià)比FPGA48640 M/s49 W993 M/J7.26GPU17769 M/s230 W77 M/J3.8CPU0.12 M/s65 W0.02 M/J8.58?10-5

從表3測試結(jié)果可知,相對于GPU、CPU,FPGA口令破解的性能更高,且能效是GPU的12.8倍左右,是CPU的5萬倍左右;性價(jià)比是GPU的1.9倍左右,是CPU的8.5萬倍左右.

實(shí)驗(yàn)接著對比了使用FPGA實(shí)現(xiàn)的不同VPN破解模式下的性能、功耗、能效.結(jié)果如表4所示.

表4 VPN-DES、VPN-普通模式下口令恢復(fù)對比
Table 4 Password recovery comparison in VPN-DES and VPN-ordinary mode

名稱性能功耗能效VPN-DES48640 M/s49 W993 M/JVPN-普通4470 M/s47W95 M/J

從表4實(shí)驗(yàn)結(jié)果可知,VPN-DES模式性能更高,是其VPN-普通模式的10.8倍左右;能效是VPN-普通模式的10.5倍左右.其原因是VPN-DES模式與VPN-普通模式相比其優(yōu)越性在于將近乎無限的口令空間縮小到256大小,且少執(zhí)行了一個md4運(yùn)算,這在文中第3.2節(jié)已有過解釋.因此,基于FPGA的VPN口令恢復(fù)在VPN-DES破解模式下具有明顯優(yōu)勢.

最后,實(shí)驗(yàn)對比了不同文獻(xiàn)對關(guān)鍵算法DES的實(shí)現(xiàn)情況,如表5所示.

表5 本文DES實(shí)現(xiàn)與其他文獻(xiàn)實(shí)現(xiàn)
Table 5 DES implementation and other literature implementation

參考文獻(xiàn)設(shè)備頻率吞吐量Trimberger S[12]XCV300E-8102 MHz8.4Gbps汪翼[13]Xilinx 100 MHz6.4GbpsPatterson[14]XCV150168 MHz10.8GbpsKHAN F[15]Spartan3e310 MHz1.24 Gbps本文XCKU060190 MHz12.1Gbps

以本文所使用的XCKU060型號FPGA為例,同時(shí)使用16組FPAG在VPN-DES模式下進(jìn)行破解,大約一天時(shí)間就能遍歷全部口令空間.

6 結(jié)束語

本文實(shí)現(xiàn)了基于FPGA的VPN口令恢復(fù),并提出使用VPN-DES模式以及全流水線設(shè)計(jì)加快了口令的破解速度.經(jīng)過實(shí)驗(yàn)表明,FPGA集群系統(tǒng)在相同測試環(huán)境下較GPU和CPU而言其性能有了大幅提高,且系統(tǒng)可以在有限時(shí)間內(nèi)遍歷全口令空間.因此,擁有100%的破解率.下一步工作主要是擴(kuò)展對使用其他協(xié)議進(jìn)行VPN通信的口令恢復(fù),例如IPSec協(xié)議.

猜你喜歡
哈希口令密鑰
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
基于特征選擇的局部敏感哈希位選擇算法
哈希值處理 功能全面更易用
密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
文件哈希值處理一條龍
創(chuàng)建KDS根密鑰
高矮胖瘦
口 令
好玩的“反口令”游戲
东丽区| 定远县| 和静县| 芒康县| 孟州市| 南京市| 和林格尔县| 巢湖市| 佛教| 桐城市| 航空| 临朐县| 策勒县| 鲁山县| 兴文县| 苍南县| 将乐县| 焦作市| 安仁县| 左贡县| 贡觉县| 拉孜县| 宣化县| 介休市| 聂荣县| 贵阳市| 普宁市| 胶州市| 奉新县| 工布江达县| 瑞昌市| 怀安县| 韶关市| 阿克陶县| 宁南县| 明溪县| 宁明县| 石柱| 交城县| 烟台市| 繁昌县|