基于FPGA集群的Office口令恢复优化实现
发布时间:2021-09-24 20:36
口令恢复是口令找回和电子取证的关键技术,而加密的Office文档被广泛使用,实现Office加密文档的有效恢复对信息安全具有重要的意义。口令恢复是计算密集型任务,需要硬件加速来实现恢复过程,传统的CPU和GPU受限于处理器结构,大大限制了口令验证速度的进一步提升。基于此,文中提出了基于FPGA集群的口令恢复系统。通过详细分析Office加密机制,给出了各版本Office的口令恢复流程。其次,在FPGA上以流水线结构优化了核心Hash算法,以LUT (Look Up Table)合并运算优化改进了AES (Advanced Encryption Standard)算法,以高速并行实现了口令生成算法。同时,以多算子并行设计了FPGA整体架构,实现了Office口令的快速恢复。最后,采用FPGA加速卡搭建集群,配合动态口令切分策略,充分发掘了FPGA低功耗高性能的计算特性。实验结果表明,无论在计算速度还是能效比上,优化后的FPGA加速卡都是GPU的2倍以上,具有明显的优势,非常适合大规模部署于云端,以缩短恢复时间找回口令。
【文章来源】:计算机科学. 2020,47(11)北大核心CSCD
【文章页数】:10 页
【部分图文】:
FPGA加速卡结构图
通过对Office加密文档的分析可知,只要输入用户口令Pwd和Salt计算出正确的Key,即可解密。因此密钥的生成是最为关键的一步。其次,本文方案对密钥生成进行了分析,将其分为口令扩展和Hash迭代,以优化控制流程。最后,由于AES解密更为耗时,本文方案将EncryptedVerifier依次进行解密、Hash运算、再-加密,并与EncryptedVerifierHash进行比对,以缩短计算时间。因此整个Office口令破解可以细化为5个部分:文档解析、口令扩展、Hash迭代、AES/RC4加解密、对比验证,如图2所示。其中,主要的计算部分是高次Hash迭代,占整个过程计算量的99%以上。表2列出了Office 2003,Office 2007,Office 2010,Office 2013-Office 2019各版本主要步骤的详细说明。
SHA1是Office 2007/Office 2010的核心运算段,占整个运算量的99%以上,这里以全流水架构实现对SHA1算法的硬件加速。流水线结构把一个重复的过程分解为若干子过程,每个子过程可以和其他子过程同时进行,从而提高了系统的执行效率,具有较好的并行性[14]。图3给出了具有80级流水线结构的SHA1算法工作示意图,每个时钟可输入1个数据,如果连续输入80组,则80个时钟周期后会依次产生80组输出。显然,当SHA1流水线满负荷工作时,其效率非常高。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加密文档高能效口令恢复方法[J]. 陈晓杰,周清雷,李斌. 计算机科学. 2020(01)
[2]在多FPGA上的高性能VPN口令恢复方法[J]. 韩宇,周清雷,李斌,朱维军. 小型微型计算机系统. 2019(04)
[3]口令安全研究进展[J]. 王平,汪定,黄欣沂. 计算机研究与发展. 2016(10)
[4]面向代码的软件能耗优化研究进展[J]. 宋杰,孙宗哲,李甜甜,鲍玉斌,于戈. 计算机学报. 2016(11)
本文编号:3408410
【文章来源】:计算机科学. 2020,47(11)北大核心CSCD
【文章页数】:10 页
【部分图文】:
FPGA加速卡结构图
通过对Office加密文档的分析可知,只要输入用户口令Pwd和Salt计算出正确的Key,即可解密。因此密钥的生成是最为关键的一步。其次,本文方案对密钥生成进行了分析,将其分为口令扩展和Hash迭代,以优化控制流程。最后,由于AES解密更为耗时,本文方案将EncryptedVerifier依次进行解密、Hash运算、再-加密,并与EncryptedVerifierHash进行比对,以缩短计算时间。因此整个Office口令破解可以细化为5个部分:文档解析、口令扩展、Hash迭代、AES/RC4加解密、对比验证,如图2所示。其中,主要的计算部分是高次Hash迭代,占整个过程计算量的99%以上。表2列出了Office 2003,Office 2007,Office 2010,Office 2013-Office 2019各版本主要步骤的详细说明。
SHA1是Office 2007/Office 2010的核心运算段,占整个运算量的99%以上,这里以全流水架构实现对SHA1算法的硬件加速。流水线结构把一个重复的过程分解为若干子过程,每个子过程可以和其他子过程同时进行,从而提高了系统的执行效率,具有较好的并行性[14]。图3给出了具有80级流水线结构的SHA1算法工作示意图,每个时钟可输入1个数据,如果连续输入80组,则80个时钟周期后会依次产生80组输出。显然,当SHA1流水线满负荷工作时,其效率非常高。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加密文档高能效口令恢复方法[J]. 陈晓杰,周清雷,李斌. 计算机科学. 2020(01)
[2]在多FPGA上的高性能VPN口令恢复方法[J]. 韩宇,周清雷,李斌,朱维军. 小型微型计算机系统. 2019(04)
[3]口令安全研究进展[J]. 王平,汪定,黄欣沂. 计算机研究与发展. 2016(10)
[4]面向代码的软件能耗优化研究进展[J]. 宋杰,孙宗哲,李甜甜,鲍玉斌,于戈. 计算机学报. 2016(11)
本文编号:3408410
本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/3408410.html