一种基于FPGA分布式多策略的解密系统及其方法与流程

文档序号:13425259阅读:405来源:国知局

本发明涉及解密技术领域,具体涉及一种基于fpga分布式多策略的解密系统及其方法。



背景技术:

加密算法经过了多年的发展,目前大部分已经趋于成熟和稳定,其中可利用的算法漏洞也越来越少。因此,不需要任何算法漏洞都可进行密码破解的纯暴力破解手段就成为了一种通用的解密手段。而在解密处理领域,对相关加密数据进行破解是一项重要的内容,尤其对于国防、公安等有着极其重要的意义。

现有的破解平台多数采用cpu或gpu技术搭建的计算机或计算机集群的方式进行破解,由于计算机上的cpu(centralprocessingunit)只具备串行运算的能力,这很大程度上限制了破解的效率和性能。而gpu(graphicprocessingunit)搭建的平台虽然在并行处理能力上较cpu强,但其能耗和解密效能上还是存在瓶颈的地方。随着密码长度的不断增长,每增加一位密码,其对应的密文样本空间将成指数型增加。由于密码明文的样本空间巨大,使用单台解密设备进行穷举或是以空间换时间的彩虹表方法均是不现实的。



技术实现要素:

本发明的目的是为了解决现有现有解密平台存在的缺点和不足,提供一种基于fpga分布式多策略的解密系统及其方法,通过fpga的硬件并行处理能力和分布式组网相结合的方式,有效地加快解密的速度,使得系统解密的效能和能耗获得最优。

根据公开的实施例,本发明的第一方面公开了一种基于fpga分布式多策略的解密系统,所述的解密系统包括依次连接的界面系统部分,服务器系统部分以及fpga解密节点部分,其中,所述的界面系统部分是和用户进行交互的应用界面,通过该界面用户可以提交需要解密的密文或文件,同时可以通过该界面获取解密后的结果;

所述的服务器系统部分用于完成整个解密过程中任务量的下发和控制,同时连接前端的若干界面系统部分和后端的fpga解密节点部分;

所述的fpga解密节点部分作为解密运算的核心单元,包括和服务器对接的节点pc以及节点pc下挂的多台fpga解密机,fpga解密机具有固态硬盘,存放有某种特定算法的彩虹表数据。

进一步地,所述的服务器系统部分包括数据中心,所述的数据中心用于存放解密的相关参数和策略。

进一步地,所述的fpga解密节点部分的节点pc和所述的服务器系统部分基于tcp/ip的协议进行互联,所述的节点pc用于实现服务器和fpga解密机之间的通信功能,确保所有的解密参数可以正确下发给fpga解密机。

根据公开的实施例,本发明的第二方面公开了一种基于fpga分布式多策略的解密方法,所述的解密方法包括下列步骤:

用户通过界面系统输入需要破解的密文或文件以及相应的破解策略,并将破解任务提交到服务器系统上;

服务器系统根据相应的策略算出需要破解的密码量,再根据目前在网络中可用的fpga破解节点的数量来进行相应破解量的下发;

fpga破解节点收到服务器系统下发的破解任务以及控制指令之后开始相应的破解运算,并定时进行破解任务状态的上报;

当完成相应的破解任务后,服务器系统会根据当前是否已经完成破解来确定是否再下发新的破解任务,直到破解完成。

进一步地,在破解过程中,服务器系统会反馈相应的破解进度和状态给用户界面系统。

进一步地,服务器系统密码破解量的下发取决于fpga解密节点破解能力来进行划分。

进一步地,服务器系统定期更新相应的破解状态,其数据中心会定时存储相应的破解状态以确保系统在掉电或暂停时可以实现保护现场的目的。

进一步地,所述的解密方法利用fpga具有可编程特性以及fpga解密机中内置有彩虹表,根据用户的选择或解密系统使用默认最优的方式进行不同破解策略的组合进行破解。

本发明相对于现有技术具有如下的优点及效果:

1)基于fpga技术搭建的解密系统,在解密的效能和功耗上比传统平台有很大的优势;

2)fpga的可编程特性可以实现不同算法的切换,同时fpga解密机也可以预存彩虹表,使得解密系统的策略可以多样化;

3)基于分布式的组网方式,系统的部署和可扩展性强。

附图说明

图1是本发明公开的基于fpga分布式多策略的解密系统拓扑图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

如附图1所示,本发明公开的基于fpga分布式多策略的解密系统采用分布式组网的方式进行设计,整个系统分为三个主要的部分,分别是界面系统部分,服务器系统部分以及fpga解密节点部分。各部分可以任意部署在网络中,只需要网络可以正常互联即可。

上述三部分的交互关系如下:界面系统部分是和用户进行交互的应用界面,通过该界面用户可以提交需要解密的密文或文件,同时可以通过该界面获取解密后的结果。服务器系统部分是整个系统的核心之一,完成整个解密过程中任务量的下发和控制,同时连接前端的若干界面系统部分和后端的fpga解密节点部分,另外服务器系统部分还包括数据中心,数据中心用于存放解密的相关参数和策略等。fpga解密节点部分也是整个系统的核心之一,是完成主要解密运算的核心单元,其包括和服务器对接的节点pc以及节点pc下挂的多台fpga解密机。fpga解密机具有固态硬盘,存放有某种特定算法的彩虹表数据。由于fpga具有现场可编程的特点,该节点可以进行相应解密算法的固件升级以实现不同算法的解密。同时fpga的低功耗特点使得单个fpga的节点可以实现不超过600w的功耗,其所实现的相应解密性能均较同等级的cpu或gpu解密效能要高。

本发明中的fpga解密节点部分的节点pc和服务器系统部分是基于tcp/ip的协议进行互联,节点pc承担着服务器和fpga解密机之间的通信功能,确保所有的解密参数可以正确下发给fpga解密机。由于各系统均是基于网络的通信协议,fpga解密节点的扩展会十分容易,整个解密系统的解密性能也可以很容易不断扩大,可以很方便地组成一个强大的云解密网络。另外由于fpga解密机中已存有某种特定算法的彩虹表,系统可以根据不同的解密需要进行不同解密策略的选择和破解处理。

通过该解密系统进行基于彩虹表策略的word2003/excel2003等文档的解密,可以在单机内达到平均0.7s内完成一个word2003/excel2003文档的解密(不限密码长度和密码字符类型);同时通过更新fpga解密机的固件,该解密系统也可以实现对md5等不同密文的暴力破解,目前已实现单机192亿/秒的破解效能;在连接4台fpga解密机的情况下,可以实现高达768亿/秒的破解效能。

本实施例还公开了一种基于fpga分布式多策略的解密方法,以一个md5的暴力破解为例,具体包括下列步骤:

用户通过界面系统输入需要破解的密文以及相应的破解策略之后,通过点击界面系统的开始按钮把该破解任务提交到服务器系统上。

服务器系统会根据相应的策略算出需要破解的密码量,再根据目前在网络中可用的fpga破解节点的数量来进行相应破解量的下发。服务器系统密码破解量的下发会取决于fpga解密节点破解能力来进行划分。

fpga破解节点收到服务器系统下发的破解任务以及控制指令之后开始相应的破解运算,并定时进行破解任务状态的上报。

当完成相应的破解任务后,服务器系统会根据当前是否已经完成破解来确定是否再下发新的破解任务,直到破解完成。

在破解过程中,服务器系统也会反馈相应的破解进度和状态给用户界面系统。

另外,由于定期更新相应的破解状态,服务器系统上的数据中心会定时存储相应的破解状态以确保系统在掉电或暂停时可以实现保护现场的目的。

由于fpga具有可编程特性以及fpga解密机中内置有彩虹表,实际使用中系统可以根据用户的选择或系统使用默认最优的方式进行不同破解策略的组合进行破解。

目前该破解系统已实现了基于彩虹表的word2003/excel2003的破解,同时通过更新fpga的固件,该系统也可以实现md5等暴力破解的功能。另外通过配置相应的网络连接,该解密系统可不断扩展解密性能,实现一个分布式的云解密网络。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1