一種基于fpga的解密硬件平臺的制作方法
【技術領域】
[0001]本發(fā)明涉及信息安全技術領域,特別涉及一種基于FPGA的解密硬件平臺。
【背景技術】
[0002]在信息安全領域,破解大量加密的文檔文件是信息服務的一項重要內(nèi)容,尤其對于國防、公安、企業(yè)等有著極其重要的意義?,F(xiàn)在文件破解一般使用PC機進行,破解時效性差,破解耗費大量時間。而且目前市面上還沒有出現(xiàn)通用的硬件破解平臺,破解不同的文檔文件產(chǎn)品。
[0003]經(jīng)對現(xiàn)有技術的專利檢索發(fā)現(xiàn),專利號201110099441的基于fpga實現(xiàn)的超高吞吐量md5暴力破解裝置”提供了一種基于FPGA硬件暴力破解MD5算法的設計方法,該專利缺陷在于:暴力破解耗時,破解性能不如彩虹表技術破解。而且該專利的MD5核心運算模塊的時鐘只有50MHz,時鐘頻率太低。
[0004]專利號200510025068的“文件口令的破解方法”提出基于PC機的窮舉法破解方案,沒有涉及彩虹表破解,設計缺陷破解太耗時間。
[0005]專利號201310326225的“哈希值密碼的恢復方法和裝置”提出基于PC機的彩虹表的破解方案設計,該專利設計缺陷在于:PC機要生成彩虹表,完成彩虹表的生成后進行破解,破解時長又增加了生成彩虹表的時間,明顯耗時太長。
[0006]Hardware-1mplemented MD5funct1n 提出了基于 FPGA 的設計方法,該方法的缺點在于不涉及彩虹表的破解,而且破解功能單一,硬件平臺的通用性能差,對于其他文檔的破解束手無策。
[0007]Efficient Implementat1n of Hash Algorithm on a Processor 提出基于 ARM處理器實現(xiàn)MD5算法的方案,其缺陷在于:ARM處理器速度和效率不如FPGA,而且該方案也不涉及彩虹表的破解,破解功能單一,硬件平臺的通用性能差。
[0008]綜上所述,現(xiàn)有技術中并未涉及基于FPGA技術的彩虹表破解,而且解密設備的功能單一,因此如何提高破解效率,如何設計通用的硬件平臺,破解不同的文件文檔,如何提高接口帶寬、核心模塊的吞吐能力以及提高彩虹表的存儲容量,則是現(xiàn)有技術中有待解決的問題。
【發(fā)明內(nèi)容】
[0009]本發(fā)明的目的在于克服現(xiàn)有技術的缺點與不足,提供一種基于FPGA的解密硬件
λΤΖΖλI 口 ο
[0010]本發(fā)明的目的通過以下的技術方案實現(xiàn):
[0011 ] 一種基于FPGA的解密硬件平臺,包括轉(zhuǎn)發(fā)邏輯FPGA模塊,分別與轉(zhuǎn)發(fā)邏輯FPGA模塊的相連的Ν個相互獨立的FPGA解密子模塊、ARM管理子模塊,以及為轉(zhuǎn)發(fā)邏輯FPGA模塊、N個相互獨立的FPGA解密子模塊、ARM管理子模塊供電的電源管理模塊,所述的N個相互獨立的FPGA解密子模塊分別與ARM管理子模塊相連,N多2 ;其中
[0012]轉(zhuǎn)發(fā)邏輯FPGA模塊,負責數(shù)據(jù)的下發(fā)和上傳,與N個相互獨立的FPGA解密子模塊、ARM子模塊通信;與ARM管理子模塊通過UPP接口實現(xiàn)通信,完成PC的命令下發(fā)和數(shù)據(jù)上傳,通過ARM管理子模塊的UART接口進行串口調(diào)試;
[0013]N個相互獨立的FPGA解密子模塊,通過彩虹表算法破解,實現(xiàn)不同文檔特定算法的破解;
[0014]ARM管理子模塊,負責人機接口的中繼通信,通過網(wǎng)口實現(xiàn)PC機對底層硬件的管理及底層數(shù)據(jù)的上傳;通過UART串口便于解密設備的調(diào)試,ARM管理子模塊管理配置轉(zhuǎn)發(fā)邏輯FPGA模塊和N個相互獨立的FPGA解密子模塊的程序,對于FPGA解密子模塊,ARM根據(jù)不同文檔的破解需要,管理Nand Flash存儲器的配置程序,同時監(jiān)管異常情況處理和上報。
[0015]所述的轉(zhuǎn)發(fā)邏輯FPGA模塊,其工作流程具體包含以下步驟:
[0016](1)配置明文/密文,進行表項配置;
[0017](2)配表完成后,配置啟動解密;
[0018](3)滿足以下條件,配置停止解密:FPGA上報密鑰且PC校驗正確、FPGA上報查表完成;
[0019](4)檢測所有明文/密文是否下發(fā)完:若是,則進行下一步;若否,則配置明文/密文,配置啟動解密;
[0020](5)檢測全部表項配置是否完成:若是,結束工作;若否,則再次進行表項配置。
[0021]所述的FPGA解密子模塊,其工作流程具體包含以下步驟:
[0022]A、配置待明文/密文;
[0023]B、啟動解密,并進行破解運算;
[0024]C、FPGA查表完成后,停止解密。
[0025]所述的轉(zhuǎn)發(fā)邏輯FPGA模塊與N個相互獨立的FPGA解密子模塊通過serdes接口傳輸數(shù)據(jù)。數(shù)據(jù)傳輸速率高達6.5536Gbps,實現(xiàn)減少彩虹表數(shù)據(jù)配置時間的目的。
[0026]所述的轉(zhuǎn)發(fā)邏輯FPGA模塊還連接有儲存器,用于存儲數(shù)據(jù)運算結果、參數(shù),緩存批量待破解的明文/明文。
[0027]所述的N個相互獨立的FPGA解密子模塊均外掛一個存儲裝置,用于存儲相關數(shù)據(jù)信息。相關信息如配置表項等,存儲裝置可以減少彩虹表的生成時間,破解時直接使用,進一步減少破解時間。
[0028]所述的ARM管理子模塊為ARM9控制器。
[0029]本發(fā)明與現(xiàn)有技術相比,具有如下優(yōu)點和有益效果:
[0030]本發(fā)明充分利用FPGA的高速serdes接口,提高了數(shù)據(jù)傳輸帶寬,減少了數(shù)據(jù)傳輸時間;基于彩虹表時空折中使用相對于傳統(tǒng)暴力破解和字典攻擊破解效率大大提高;高速大容量的DDR3存儲器僅減少了訪問彩虹表的時間,而且對于批量文檔的破解,極大提高了配置表項的利用率,進而提高破解的效率;FPGA可編程和ARM配置的靈活性,可以根據(jù)不同文檔特定算法的破解需求,加載不同的破解算法,實現(xiàn)對于各類不同文檔文件的破解。
[0031 ] 每個獨立的FPGA解密子模塊的數(shù)據(jù)吞吐量和核心算法運算時鐘速率對整個解密設備的關鍵指標(破解時間和數(shù)據(jù)傳輸速率)的影響至關重要。FPGA解密子模塊實現(xiàn)彩虹表算法破解,提高破解效率,當然FPGA解密子模塊也可以實現(xiàn)其他不同文檔的破解,只要重新加載破解程序即可,這樣破解功能多樣化,提高設備的通用性,硬件成本大大降低。
【附圖說明】
[0032]圖1為本發(fā)明所述的一種基于FPGA的解密硬件平臺的結構框圖。
[0033]圖2為圖1所述解密硬件平臺的轉(zhuǎn)發(fā)邏輯FPGA模塊的工作流程圖。
[0034]圖3為圖1所述解密硬件平臺的FPGA解密子模塊的工作流程圖。
【具體實施方式】
[0035]下面結合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限于此。
[0036]如圖1,一種基于FPGA的解密硬件平臺,包括轉(zhuǎn)發(fā)邏輯FPGA模塊,分別與轉(zhuǎn)發(fā)邏輯FPGA模塊的相連的N個相互獨立的FPGA解密子模塊、ARM管理子模塊,以及為轉(zhuǎn)發(fā)邏輯FPGA模塊、N個相互獨立的FPGA解密子模塊、ARM管理子模塊供電的電源管理模塊,所述的N個相互獨立的FPGA解密子模塊分別與ARM管理子模塊相連,N多2 ;其中
[0037]轉(zhuǎn)發(fā)邏輯FPGA模塊,負責數(shù)據(jù)的下發(fā)和上傳,與N個相互獨立的FPGA解密子模塊、ARM子模塊通信;與ARM管理子模塊通過UPP接口實現(xiàn)通信,完成PC的命令下發(fā)和數(shù)據(jù)上傳,通過ARM管理子模塊的UART接口進行串口調(diào)試;如圖2,所述的轉(zhuǎn)發(fā)邏輯FPGA模塊,其工作流程具體包含以下步驟:(1)配置明文/密文,進行表項配置;(2)配表完成后,配置啟動解密;(3)滿足以下條件,配置停止解密:FPGA上報密鑰且PC校驗正確、FPGA上報查表完成;(4)檢測所有明文/密文是否下發(fā)完:若是,則進行下一步;若否,則配置明文/密文,配置啟動解密;(5)檢測全部表項配置是否完成:若是,結束工作;若否,則再次進行表項配置;
[0038]N個相互獨立的FPGA解密子模塊,通過彩虹表算法破解,實現(xiàn)不同文檔特定算法的破解;如圖3,所述的FPGA解密子模塊,其工作流程具體包含以下步驟:A、配置待明文/密文;B、啟動解密,并進行破解運算;C、FPGA查表完成后,停止解密;