基于分布式gpu和彩虹表的加密分析系统及其方法

文档序号:6534929阅读:210来源:国知局
基于分布式gpu和彩虹表的加密分析系统及其方法
【专利摘要】本发明公开了一种基于分布式GPU和彩虹表的加密分析系统及其方法,涉及移动网络加密协议数据的还原领域。本系统包括密文分析模块(100)、GPU组处理模块(200)和彩虹表模块(300);密文分析模块(100)和GPU组处理模块(200)交互,实现前端密文的提取以及到GPU各设备加密数据的分发;GPU组处理模块(200)和彩虹表模块(300)交互,实现GPU对彩虹表的构造以及利用已经构造的彩虹表进行查找,快速还原明文。本发明具有高速性、可扩展性,适用于移动互联网上安全产品。
【专利说明】基于分布式GPU和彩虹表的加密分析系统及其方法
【技术领域】
[0001]本发明涉及移动网络加密协议数据的还原领域,尤其涉及一种基于分布式GPU和彩虹表的加密分析系统及其方法,具有高度可扩展性和快速解析的优势。
【背景技术】
[0002]随着移动互联网的迅猛发展,网络信息安全要求也越来越高,移动互联网中各种协议的加密技术和手段便层出不穷,如MD5、SHA, LM和NTLM。因此这些协议解析的难度和需求也就越来越大,这也给政府网安部门等造成一定的压力。
[0003]传统的加密协议分析技术受制于各种瓶颈。对于单纯的用硬件加速的,比如GPU,虽然计算速度比CPU要快很多,虽然克服了速度,节省了时间,但是由于明文样本空间的巨大,导致GPU穷举计算所花费的时间仍然是很长;对于单纯的用空间换时间的构思,比如彩虹表技术(彩虹表就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合,彩虹表技术就是建立一个源数据与加密数据之间对应的hash表,这样在获得加密数据后通过比较,查询或者一定的运算,可以快速定位源数据),通过彩虹表的构造和查找,虽然能够正确破解,但是现有的基于各种HAS H算法,规模稍大一点的彩虹表表单文件网上稀缺,同时彩虹表表单文件的庞大,CPU的彩虹表查找速度慢等因素,对于解析速度需求而言也是不现实的。
[0004]可见,传统的加密协议分析技术存在一定的局限性,总体解析速度过慢,需要改进。

【发明内容】

[0005]本发明的目的在于克服现有加密协议解析技术存在的缺点和不足,提供一种基于分布式GPU和彩虹表的加密分析系统及其方法,通过分布式GPU和彩虹表相结合的方式,有效地加快加密协议解析的速度。
[0006]实现本发明目的技术方案是:
一、基于分布式GPU彩虹表的加密分析系统
本系统包括密文分析模块、GPU组处理模块和彩虹表模块;
其交互关系是:
密文分析模块和GPU组处理模块交互,实现前端密文的提取以及到GPU各设备加密数据的分发;
GPU组处理模块和彩虹表模块交互,实现GPU对彩虹表的构造以及利用已经构造的彩虹表进行查找,快速还原明文。
[0007]二、基于分布式GPU彩虹表的加密分析方法(简称方法)
本方法主要研究移动互联网加密协议数据,通过分布式GPU和彩虹表技术,加速计算分析和查找,结合加密协议数据提取和分析从而实现对加密协议数据的还原。
[0008]具体地说,本方法包括如下步骤: ①彩虹表模块初始化MD5、LM、SHAl和NTLM这些HASH算法对应的彩虹表单文件,通过GPU和彩虹表处理技术来批量产生彩虹表文件;
②密文分析模块自动接收移动网的部分原始数据,根据协议分析和模式匹配技术区分,提取各种加密协议,然后选择性地进行分发到GPU组处理模块;
③GPU组处理模块对不同加密协议的加密数据进行分发,每个子数据模块接收任务数据和分析处理,然后选择性地调用彩虹表查找模块进行查找;
④彩虹表模块提供彩虹表单文件初始化、查找和构造技术,为GPU组处理模块调用;
⑤成功解析的消息密钥会由GPU组处理模块自动上传到前端密文分析模块形成历史密钥,供密文提取模块进行实时处理。
[0009]本发明具有下列优点和积极效果:
①高速型:通过GPU处理,在不影响加密数据的准确前提下,大幅度提高数据计算分析的速度。
[0010]②可扩展性:系统中彩虹表模块可以支持多种HASH算法,如MD5、SHA、LM和NTLM,这些算法都相互独立,以后还可以添加其他的HASH算法;GPU组处理模块中各个数据处理模块也都是相互独立并发,也可以根据实际情况增加或者减少模块数目,比较灵活。
[0011]③适用于移动互联网上安全产品。
【专利附图】

【附图说明】
[0012]图1是本系统的结构方框图;
图中:
100—密文分析模块,
110—密文提取模块,
120—加密协议数据下发模块;
200—GPU组处理模块,
210—第I数据处理模块,
220—第2数据处理模块,
2n0—第n数据处理模块,n是自然数,l〈n〈100 ;
300—彩虹表模块,
310—彩虹表初始化模块,
320—彩虹表构造模块,
330—彩虹表查找模块。
英译汉
1> CPU:Central Processing Unit,中央处理器。
[0013]2> GPU:Graphic Processing Unit,图形处理器。
[0014]3、MD5:Message Digest Algorithm,消息摘要算法,为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
[0015]4、LM:Levenberg-Marquard,它可用于解决非线性最小二乘问题,多用于曲线拟合等场合。[0016]5、SHAl:Secure Hash Algorithm,主要适用于数字签名标准(Digital SignatureStandard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。
[0017]6、NTLM:NT LAN Manager, NTLM 是 Windows NT 早期版本的标准安全协议。
[0018]7、HASH算法:一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入,通过散列算法,变换成固定长度的输出。
【具体实施方式】
[0019]下面结合附图和实施例详细说明:
一、系统
1、总体
如图1,本系统包括密文分析模块100、GPU组处理模块200和彩虹表模块300 ;
其交互关系是:
密文分析模块100和GPU组处理模块200交互,实现前端密文的提取以及到GPU各设备加密数据的分发;
GPU组处理模块200和彩虹表模块300交互,实现GPU对彩虹表的构造以及 利用已经构造的彩虹表进行查找,快速还原明文。
[0020]2、功能模块` I)密文分析模块100
密文分析模块100是一种针对加密协议数据进行预处理分析和针对任务数据分发的方法,由密文提取模块Iio和加密协议数据下发模块120组成,110模块负责根据原始协议数据分析,预处理后提取出待分析的密文数据,然后把这些数据发给120模块,由120模块进行下面的密文任务数据的分发。
[0021]密文分析模块100采用网络包处理技术、协议分析和模式匹配技术来实现移动互联网加密数据提取,加密协议归类识别和任务数据分发处理功能。
[0022]2 ) GPU组处理模块200
GPU组处理模块200是一种分布式接收和处理加密任务数据的方法,包括第I数据处理模块210、第2数据处理模块220……第n数据处理模块2n0,n是自然数,l〈n〈100,其中每个模块负责独立并行调用彩虹表的构造、查找和数据分析计算处理。
[0023]GPU组处理模块200采用GPU处理技术和分布式技术来实现分布式加密任务数据的分析、处理和结果上报。
[0024]3)彩虹表模块300
彩虹表模块300是一种关于构造和查找彩虹表的方法,包括彩虹表初始化模块310、彩虹表构造模块320和彩虹表查找模块330,负责提供不同HASH算法对应彩虹表单相关的初始化、构造及查找,其中310负责各种HASH算法的资源及表单初始化,320负责构造各种HASH算法表单文件,330负责在320构造的各种HASH算法表单文件中查找对应的HASH明文串。
[0025]采用彩虹表处理技术来实现彩虹表单资源初始化、彩虹表单批量构造和查找的功倉泛。
[0026]3、本系统的工作机理: 本发明是基于GPU和彩虹表的,实现加密协议的快速分析,是基于加密分析系统的实现。当今移动互联网发展壮大,针对加密协议日益难的解析问题,能够快速解析加密协议数据成为目前政府和网安部门的一项重要的课题。本发明结合群GPU高速运算和彩虹表分析技术,实现协议中多种常见加密的HASH算法密文还原,包括MD5、SHA、LM和NTLM等;对GPU群组可以灵活配置,彩虹表也可以灵活地根据协议需求配置各种HASH算法的彩虹表;这样结合GPU和彩虹表,它们体现出来的高扩展性和计算速度能够在目前加密协议分析中具有很高的效率。
[0027]二、方法
1、密文分析模块100的工作流程包括下列步骤:
①密文分析模块100接收移动互联网的部分原始数据,进行预处理与冗余过滤;
②密文分析模块100对预处理及冗余过滤后的数据进行协议分析,通过模式匹配来划分协议类型以及加密算法的HASH类别;
③密文分析模块100通过历史密钥库来判断当前加密数据,如果成功解析,则无需分发,否则封装加密数据成任务数据,定时检测并分发到GPU组处理模块(200)。
[0028]2、GPU组处理模块200的工作流程包括下列步骤:
A、GPU组处理模块200接受密文分析模块100的任务数据,将任务数据平均下发到各个数据处理模块中;
B、GPU组处理模块200中每个数据处理模块对任务数据进行分析,得出其哈希算法种类,然后调用彩虹表模块300进行查找;
C、GPU组处理模块200如果成功查找,则用查找的明文密钥进行消息解析,然后将成功的明文密钥和消息发送回给密文分析模块100 ;否则如果明文密钥失败了或者消息解析失败了就将对应的结果数据发回给密文分析模块100。
[0029]3、彩虹表模块300的工作流程包括下列步骤:
a、彩虹表模块300初始化本地资源和各种HASH算法表单文件,同时读取GPU组处理模块中GPU设备配置情况(此步骤完成一次即可);
b、彩虹表模块300通过GPU群设备,分布式地快速构造彩虹表单文件(此步骤完成一次即可);
C、彩虹表模块300接受GPU组处理模块200的待解密的HASH算法串,在之前构造好的彩虹表单文件里面进行查找,如果查找成功,将对应的HASH算法串明文发给GPU组处理模块200,否则发送失败消息给GPU组处理模块200。
【权利要求】
1.一种基于分布式GPU和彩虹表的加密分析系统,其特征在于: 包括密文分析模块(100)、GPU组处理模块(200)和彩虹表模块(300); 其交互关系是: 密文分析模块(100)和GPU组处理模块(200)交互,实现前端密文的提取以及到GPU各设备加密数据的分发; GPU组处理模块(200)和彩虹表模块(300)交互,实现GPU对彩虹表的构造以及利用已经构造的彩虹表进行查找,快速还原明文。
2.按权利要求1所述的加密分析系统,其特征在于: 所述的密文分析模块(100)是一种针对加密协议数据进行预处理分析和针对任务数据分发的方法,由密文提取模块(110)和加密协议数据下发模块(120)组成,(110)模块负责根据原始协议数据分析,预处理后提取出待分析的密文数据,然后把这些数据发给(120)模块,由(120)模块进行下面的密文任务数据的分发。
3.按权利要求1所述的加密分析系统,其特征在于: 所述的GPU组处理模块(200)是一种分布式接收和处理加密任务数据的方法,包括第I数据处理模块(210)、第2数据处理模块(220)……第n数据处理模块(2n0),n是自然数,l〈n〈100,其中每个模块负责独立并行调用彩虹表的构造、查找和数据分析计算处理。
4.按权利要求1所述的加密分析系统,其特征在于: 所述的彩虹表模块(300 )是一种关于构造和查找彩虹表的方法,包括彩虹表初始化模块(310 )、彩虹表构造模块(320 )和彩虹表查找模块(330 ),负责提供不同HASH算法对应彩虹表单相关的初始化、构造及查找,其中(310)负责各种HASH算法的资源及表单初始化,(320)负责构造各种HASH算法表单文件,(330)负责在(320)构造的各种HASH算法表单文件中查找对应的HASH明文串。
5.基于权利要求1所述加密分析系统的加密分析方法,其特征在于包括下列步骤: ①彩虹表模块初始化MD5、LM、SHAl和NTLM这些HASH算法对应的彩虹表单文件,通过GPU和彩虹表处理技术来批量产生彩虹表文件; ②密文分析模块自动接收移动网的部分原始数据,根据协议分析和模式匹配技术区分,提取各种加密协议,然后选择性地进行分发到GPU组处理模块; ③GPU组处理模块对不同加密协议的加密数据进行分发,每个子数据模块接收任务数据和分析处理,然后选择性地调用彩虹表查找模块进行查找; ④彩虹表模块提供彩虹表单文件初始化、查找和构造技术,为GPU组处理模块调用; ⑤成功解析的消息密钥会由GPU组处理模块自动上传到前端密文分析模块形成历史密钥,供密文提取模块进行实时处理。
6.按权利要求5所述的加密分析方法,其特征在于密文分析模块(100)的工作流程包括下列步骤: ①密文分析模块(100)接收移动互联网的部分原始数据,进行预处理与冗余过滤; ②密文分析模块(100)对预处理及冗余过滤后的数据进行协议分析,通过模式匹配来划分协议类型以及加密算法的HASH类别; ③密文分析模块(100)通过历史密钥库来判断当前加密数据,如果成功解析,则无需分发,否则封装加密数据成任务数据,定时检测并分发到GPU组处理模块(200)。
7.按权利要求5所述的加密分析方法,其特征在于GPU组处理模块(200)的工作流程包括下列步骤: A、GPU组处理模块(200)接受密文分析模块(100)的任务数据,将任务数据平均下发到各个数据处理模块中; B、GPU组处理模块(200)中每个数据处理模块对任务数据进行分析,得出其哈希算法种类,然后调用彩虹表模块(300)进行查找; C、GPU组处理模块(200)如果成功查找,则用查找的明文密钥进行消息解析,然后将成功的明文密钥和消息发送回给密文分析模块(100);否则如果明文密钥失败了或者消息解析失败了就将对应的结果数据发回给密文分析模块(100)。
8.按权利要求5所述的加密分析方法,其特征在于彩虹表模块(300)的工作流程包括下列步骤: a、彩虹表模块(300)初始化本地资源和各种HASH算法表单文件,同时读取GPU组处理模块中GPU设备配置情况(此步骤完成一次即可); b、彩虹表模块(300)通过GPU群设备,分布式地快速构造彩虹表单文件(此步骤完成一次即可); c、彩虹表模块(300)接受GPU组处理模块(200 )的待解密的HASH算法串,在之前构造好的彩虹表单文件里面进行查找,如果查找成功,将对应的HASH算法串明文发给GPU组处理模块(200 ),否则发送失败消息`给GPU组处理模块(200 )。
【文档编号】G06F21/62GK103714300SQ201410004715
【公开日】2014年4月9日 申请日期:2014年1月6日 优先权日:2014年1月6日
【发明者】高明, 舒文兵 申请人:武汉虹旭信息技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1