基于FPGA集群的Office口令恢復(fù)優(yōu)化實現(xiàn)
發(fā)布時間:2021-09-24 20:36
口令恢復(fù)是口令找回和電子取證的關(guān)鍵技術(shù),而加密的Office文檔被廣泛使用,實現(xiàn)Office加密文檔的有效恢復(fù)對信息安全具有重要的意義?诹罨謴(fù)是計算密集型任務(wù),需要硬件加速來實現(xiàn)恢復(fù)過程,傳統(tǒng)的CPU和GPU受限于處理器結(jié)構(gòu),大大限制了口令驗證速度的進一步提升;诖,文中提出了基于FPGA集群的口令恢復(fù)系統(tǒng)。通過詳細(xì)分析Office加密機制,給出了各版本Office的口令恢復(fù)流程。其次,在FPGA上以流水線結(jié)構(gòu)優(yōu)化了核心Hash算法,以LUT (Look Up Table)合并運算優(yōu)化改進了AES (Advanced Encryption Standard)算法,以高速并行實現(xiàn)了口令生成算法。同時,以多算子并行設(shè)計了FPGA整體架構(gòu),實現(xiàn)了Office口令的快速恢復(fù)。最后,采用FPGA加速卡搭建集群,配合動態(tài)口令切分策略,充分發(fā)掘了FPGA低功耗高性能的計算特性。實驗結(jié)果表明,無論在計算速度還是能效比上,優(yōu)化后的FPGA加速卡都是GPU的2倍以上,具有明顯的優(yōu)勢,非常適合大規(guī)模部署于云端,以縮短恢復(fù)時間找回口令。
【文章來源】:計算機科學(xué). 2020,47(11)北大核心CSCD
【文章頁數(shù)】:10 頁
【部分圖文】:
FPGA加速卡結(jié)構(gòu)圖
通過對Office加密文檔的分析可知,只要輸入用戶口令Pwd和Salt計算出正確的Key,即可解密。因此密鑰的生成是最為關(guān)鍵的一步。其次,本文方案對密鑰生成進行了分析,將其分為口令擴展和Hash迭代,以優(yōu)化控制流程。最后,由于AES解密更為耗時,本文方案將EncryptedVerifier依次進行解密、Hash運算、再-加密,并與EncryptedVerifierHash進行比對,以縮短計算時間。因此整個Office口令破解可以細(xì)化為5個部分:文檔解析、口令擴展、Hash迭代、AES/RC4加解密、對比驗證,如圖2所示。其中,主要的計算部分是高次Hash迭代,占整個過程計算量的99%以上。表2列出了Office 2003,Office 2007,Office 2010,Office 2013-Office 2019各版本主要步驟的詳細(xì)說明。
SHA1是Office 2007/Office 2010的核心運算段,占整個運算量的99%以上,這里以全流水架構(gòu)實現(xiàn)對SHA1算法的硬件加速。流水線結(jié)構(gòu)把一個重復(fù)的過程分解為若干子過程,每個子過程可以和其他子過程同時進行,從而提高了系統(tǒng)的執(zhí)行效率,具有較好的并行性[14]。圖3給出了具有80級流水線結(jié)構(gòu)的SHA1算法工作示意圖,每個時鐘可輸入1個數(shù)據(jù),如果連續(xù)輸入80組,則80個時鐘周期后會依次產(chǎn)生80組輸出。顯然,當(dāng)SHA1流水線滿負(fù)荷工作時,其效率非常高。SHA1將初始信息填充至512比特位[15],并初始化為16個32比特位分組w[15∶0],以H0=0x67452301,H1=0xEFCDAB89,H2=0x98BADCFE,H3=0x10325476,H4=0xC3D2E1F0為初始鏈接變量,對5個中間變量a,b,c,d,e進行80輪迭代運算。每輪迭代公式如下:
【參考文獻】:
期刊論文
[1]基于FPGA的7-Zip加密文檔高能效口令恢復(fù)方法[J]. 陳曉杰,周清雷,李斌. 計算機科學(xué). 2020(01)
[2]在多FPGA上的高性能VPN口令恢復(fù)方法[J]. 韓宇,周清雷,李斌,朱維軍. 小型微型計算機系統(tǒng). 2019(04)
[3]口令安全研究進展[J]. 王平,汪定,黃欣沂. 計算機研究與發(fā)展. 2016(10)
[4]面向代碼的軟件能耗優(yōu)化研究進展[J]. 宋杰,孫宗哲,李甜甜,鮑玉斌,于戈. 計算機學(xué)報. 2016(11)
本文編號:3408410
【文章來源】:計算機科學(xué). 2020,47(11)北大核心CSCD
【文章頁數(shù)】:10 頁
【部分圖文】:
FPGA加速卡結(jié)構(gòu)圖
通過對Office加密文檔的分析可知,只要輸入用戶口令Pwd和Salt計算出正確的Key,即可解密。因此密鑰的生成是最為關(guān)鍵的一步。其次,本文方案對密鑰生成進行了分析,將其分為口令擴展和Hash迭代,以優(yōu)化控制流程。最后,由于AES解密更為耗時,本文方案將EncryptedVerifier依次進行解密、Hash運算、再-加密,并與EncryptedVerifierHash進行比對,以縮短計算時間。因此整個Office口令破解可以細(xì)化為5個部分:文檔解析、口令擴展、Hash迭代、AES/RC4加解密、對比驗證,如圖2所示。其中,主要的計算部分是高次Hash迭代,占整個過程計算量的99%以上。表2列出了Office 2003,Office 2007,Office 2010,Office 2013-Office 2019各版本主要步驟的詳細(xì)說明。
SHA1是Office 2007/Office 2010的核心運算段,占整個運算量的99%以上,這里以全流水架構(gòu)實現(xiàn)對SHA1算法的硬件加速。流水線結(jié)構(gòu)把一個重復(fù)的過程分解為若干子過程,每個子過程可以和其他子過程同時進行,從而提高了系統(tǒng)的執(zhí)行效率,具有較好的并行性[14]。圖3給出了具有80級流水線結(jié)構(gòu)的SHA1算法工作示意圖,每個時鐘可輸入1個數(shù)據(jù),如果連續(xù)輸入80組,則80個時鐘周期后會依次產(chǎn)生80組輸出。顯然,當(dāng)SHA1流水線滿負(fù)荷工作時,其效率非常高。SHA1將初始信息填充至512比特位[15],并初始化為16個32比特位分組w[15∶0],以H0=0x67452301,H1=0xEFCDAB89,H2=0x98BADCFE,H3=0x10325476,H4=0xC3D2E1F0為初始鏈接變量,對5個中間變量a,b,c,d,e進行80輪迭代運算。每輪迭代公式如下:
【參考文獻】:
期刊論文
[1]基于FPGA的7-Zip加密文檔高能效口令恢復(fù)方法[J]. 陳曉杰,周清雷,李斌. 計算機科學(xué). 2020(01)
[2]在多FPGA上的高性能VPN口令恢復(fù)方法[J]. 韓宇,周清雷,李斌,朱維軍. 小型微型計算機系統(tǒng). 2019(04)
[3]口令安全研究進展[J]. 王平,汪定,黃欣沂. 計算機研究與發(fā)展. 2016(10)
[4]面向代碼的軟件能耗優(yōu)化研究進展[J]. 宋杰,孫宗哲,李甜甜,鮑玉斌,于戈. 計算機學(xué)報. 2016(11)
本文編號:3408410
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/3408410.html
最近更新
教材專著