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

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

Info

Publication number
CN103714300A
CN103714300A CN201410004715.4A CN201410004715A CN103714300A CN 103714300 A CN103714300 A CN 103714300A CN 201410004715 A CN201410004715 A CN 201410004715A CN 103714300 A CN103714300 A CN 103714300A
Authority
CN
China
Prior art keywords
module
gpu
rainbow
data
processing module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410004715.4A
Other languages
English (en)
Inventor
高明
舒文兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HONGXU INFORMATION TECHNOLOGY Co Ltd WUHAN
Original Assignee
HONGXU INFORMATION TECHNOLOGY Co Ltd WUHAN
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HONGXU INFORMATION TECHNOLOGY Co Ltd WUHAN filed Critical HONGXU INFORMATION TECHNOLOGY Co Ltd WUHAN
Priority to CN201410004715.4A priority Critical patent/CN103714300A/zh
Publication of CN103714300A publication Critical patent/CN103714300A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于分布式GPU和彩虹表的加密分析系统及其方法,涉及移动网络加密协议数据的还原领域。本系统包括密文分析模块(100)、GPU组处理模块(200)和彩虹表模块(300);密文分析模块(100)和GPU组处理模块(200)交互,实现前端密文的提取以及到GPU各设备加密数据的分发;GPU组处理模块(200)和彩虹表模块(300)交互,实现GPU对彩虹表的构造以及利用已经构造的彩虹表进行查找,快速还原明文。本发明具有高速性、可扩展性,适用于移动互联网上安全产品。

Description

基于分布式GPU和彩虹表的加密分析系统及其方法
技术领域
本发明涉及移动网络加密协议数据的还原领域,尤其涉及一种基于分布式GPU和彩虹表的加密分析系统及其方法,具有高度可扩展性和快速解析的优势。
背景技术
随着移动互联网的迅猛发展,网络信息安全要求也越来越高,移动互联网中各种协议的加密技术和手段便层出不穷,如MD5、SHA、LM和NTLM。因此这些协议解析的难度和需求也就越来越大,这也给政府网安部门等造成一定的压力。
传统的加密协议分析技术受制于各种瓶颈。对于单纯的用硬件加速的,比如GPU,虽然计算速度比CPU要快很多,虽然克服了速度,节省了时间,但是由于明文样本空间的巨大,导致GPU穷举计算所花费的时间仍然是很长;对于单纯的用空间换时间的构思,比如彩虹表技术(彩虹表就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合,彩虹表技术就是建立一个源数据与加密数据之间对应的hash表,这样在获得加密数据后通过比较,查询或者一定的运算,可以快速定位源数据),通过彩虹表的构造和查找,虽然能够正确破解,但是现有的基于各种HAS H算法,规模稍大一点的彩虹表表单文件网上稀缺,同时彩虹表表单文件的庞大,CPU的彩虹表查找速度慢等因素,对于解析速度需求而言也是不现实的。
可见,传统的加密协议分析技术存在一定的局限性,总体解析速度过慢,需要改进。   
发明内容
本发明的目的在于克服现有加密协议解析技术存在的缺点和不足,提供一种基于分布式GPU和彩虹表的加密分析系统及其方法,通过分布式GPU和彩虹表相结合的方式,有效地加快加密协议解析的速度。
实现本发明目的技术方案是:
一、基于分布式GPU彩虹表的加密分析系统
本系统包括密文分析模块、GPU组处理模块和彩虹表模块;
其交互关系是:
密文分析模块和GPU组处理模块交互,实现前端密文的提取以及到GPU各设备加密数据的分发;
GPU组处理模块和彩虹表模块交互,实现GPU对彩虹表的构造以及利用已经构造的彩虹表进行查找,快速还原明文。 
二、基于分布式GPU彩虹表的加密分析方法(简称方法)
本方法主要研究移动互联网加密协议数据,通过分布式GPU和彩虹表技术,加速计算分析和查找,结合加密协议数据提取和分析从而实现对加密协议数据的还原。
具体地说,本方法包括如下步骤: 
①彩虹表模块初始化MD5、LM、SHA1和NTLM这些HASH算法对应的彩虹表单文件,通过GPU和彩虹表处理技术来批量产生彩虹表文件;
②密文分析模块自动接收移动网的部分原始数据,根据协议分析和模式匹配技术区分,提取各种加密协议,然后选择性地进行分发到GPU组处理模块;
③GPU组处理模块对不同加密协议的加密数据进行分发,每个子数据模块接收任务数据和分析处理,然后选择性地调用彩虹表查找模块进行查找;
④彩虹表模块提供彩虹表单文件初始化、查找和构造技术,为GPU组处理模块调用;
⑤成功解析的消息密钥会由GPU组处理模块自动上传到前端密文分析模块形成历史密钥,供密文提取模块进行实时处理。
本发明具有下列优点和积极效果:
①高速型:通过GPU处理,在不影响加密数据的准确前提下,大幅度提高数据计算分析的速度。
②可扩展性:系统中彩虹表模块可以支持多种HASH算法,如MD5、SHA、LM和NTLM,这些算法都相互独立,以后还可以添加其他的HASH算法;GPU组处理模块中各个数据处理模块也都是相互独立并发,也可以根据实际情况增加或者减少模块数目,比较灵活。
③适用于移动互联网上安全产品。
附图说明
图1是本系统的结构方框图;
图中:
100—密文分析模块,
   110—密文提取模块,
   120—加密协议数据下发模块; 
200—GPU组处理模块,
210—第1数据处理模块,
220—第2数据处理模块,
……
2n0—第n数据处理模块,n是自然数,1<n<100;
300—彩虹表模块,
     310—彩虹表初始化模块,
     320—彩虹表构造模块,
330—彩虹表查找模块。      
英译汉
1、CPU:Central Processing Unit,中央处理器。
2、GPU:Graphic Processing Unit,图形处理器。
3、MD5:Message Digest Algorithm,消息摘要算法,为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
4、LM:Levenberg-Marquard,它可用于解决非线性最小二乘问题,多用于曲线拟合等场合。
5、SHA1:Secure Hash Algorithm,主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。
6、NTLM:NT LAN Manager,NTLM 是 Windows NT 早期版本的标准安全协议。
7、HASH算法:一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入,通过散列算法,变换成固定长度的输出。
具体实施方式
下面结合附图和实施例详细说明:
一、系统
1、总体
如图1,本系统包括密文分析模块100、GPU组处理模块200和彩虹表模块300;
其交互关系是:
密文分析模块100和GPU组处理模块200交互,实现前端密文的提取以及到GPU各设备加密数据的分发;
GPU组处理模块200和彩虹表模块300交互,实现GPU对彩虹表的构造以及
利用已经构造的彩虹表进行查找,快速还原明文。 
2、功能模块
1)密文分析模块100  
密文分析模块100是一种针对加密协议数据进行预处理分析和针对任务数据分发的方法,由密文提取模块110和加密协议数据下发模块120组成,110模块负责根据原始协议数据分析,预处理后提取出待分析的密文数据,然后把这些数据发给120模块,由120模块进行下面的密文任务数据的分发。
密文分析模块100采用网络包处理技术、协议分析和模式匹配技术来实现移动互联网加密数据提取,加密协议归类识别和任务数据分发处理功能。
2)GPU组处理模块200
GPU组处理模块200是一种分布式接收和处理加密任务数据的方法,包括第1数据处理模块210、第2数据处理模块220……第n数据处理模块2n0,n是自然数,1<n<100,其中每个模块负责独立并行调用彩虹表的构造、查找和数据分析计算处理。
GPU组处理模块200采用GPU处理技术和分布式技术来实现分布式加密任务数据的分析、处理和结果上报。
3)彩虹表模块300
彩虹表模块300是一种关于构造和查找彩虹表的方法,包括彩虹表初始化模块310、彩虹表构造模块320和彩虹表查找模块330,负责提供不同HASH算法对应彩虹表单相关的初始化、构造及查找,其中310负责各种HASH算法的资源及表单初始化,320负责构造各种HASH算法表单文件,330负责在320构造的各种HASH算法表单文件中查找对应的HASH明文串。
采用彩虹表处理技术来实现彩虹表单资源初始化、彩虹表单批量构造和查找的功能。
3、本系统的工作机理:
本发明是基于GPU和彩虹表的,实现加密协议的快速分析,是基于加密分析系统的实现。当今移动互联网发展壮大,针对加密协议日益难的解析问题,能够快速解析加密协议数据成为目前政府和网安部门的一项重要的课题。本发明结合群GPU高速运算和彩虹表分析技术,实现协议中多种常见加密的HASH算法密文还原,包括MD5、SHA、LM和NTLM等;对GPU群组可以灵活配置,彩虹表也可以灵活地根据协议需求配置各种HASH算法的彩虹表;这样结合GPU和彩虹表,它们体现出来的高扩展性和计算速度能够在目前加密协议分析中具有很高的效率。
二、方法
1、密文分析模块100的工作流程包括下列步骤: 
①密文分析模块100接收移动互联网的部分原始数据,进行预处理与冗余过滤;
②密文分析模块100对预处理及冗余过滤后的数据进行协议分析,通过模式匹配来划分协议类型以及加密算法的HASH类别; 
③密文分析模块100通过历史密钥库来判断当前加密数据,如果成功解析,则无需分发,否则封装加密数据成任务数据,定时检测并分发到GPU组处理模块(200)。
2、GPU组处理模块200的工作流程包括下列步骤: 
A、GPU组处理模块200接受密文分析模块100的任务数据,将任务数据平均下发到各个数据处理模块中;
B、GPU组处理模块200中每个数据处理模块对任务数据进行分析,得出其哈希算法种类,然后调用彩虹表模块300进行查找;
C、GPU组处理模块200如果成功查找,则用查找的明文密钥进行消息解析,然后将成功的明文密钥和消息发送回给密文分析模块100;否则如果明文密钥失败了或者消息解析失败了就将对应的结果数据发回给密文分析模块100。 
3、彩虹表模块300的工作流程包括下列步骤: 
a、彩虹表模块300初始化本地资源和各种HASH算法表单文件,同时读取GPU组处理模块中GPU设备配置情况(此步骤完成一次即可);
b、彩虹表模块300通过GPU群设备,分布式地快速构造彩虹表单文件(此步骤完成一次即可); 
c、彩虹表模块300接受GPU组处理模块200的待解密的HASH算法串,在之前构造好的彩虹表单文件里面进行查找,如果查找成功,将对应的HASH算法串明文发给GPU组处理模块200,否则发送失败消息给GPU组处理模块200。

Claims (8)

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)是一种分布式接收和处理加密任务数据的方法,包括第1数据处理模块(210)、第2数据处理模块(220)……第n数据处理模块(2n0),n是自然数,1<n<100,其中每个模块负责独立并行调用彩虹表的构造、查找和数据分析计算处理。
4.按权利要求1所述的加密分析系统,其特征在于:
所述的彩虹表模块(300)是一种关于构造和查找彩虹表的方法,包括彩虹表初始化模块(310)、彩虹表构造模块(320)和彩虹表查找模块(330),负责提供不同HASH算法对应彩虹表单相关的初始化、构造及查找,其中(310)负责各种HASH算法的资源及表单初始化,(320)负责构造各种HASH算法表单文件,(330)负责在(320)构造的各种HASH算法表单文件中查找对应的HASH明文串。
5.基于权利要求1所述加密分析系统的加密分析方法,其特征在于包括下列步骤:
①彩虹表模块初始化MD5、LM、SHA1和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)。
CN201410004715.4A 2014-01-06 2014-01-06 基于分布式gpu和彩虹表的加密分析系统及其方法 Pending CN103714300A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410004715.4A CN103714300A (zh) 2014-01-06 2014-01-06 基于分布式gpu和彩虹表的加密分析系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410004715.4A CN103714300A (zh) 2014-01-06 2014-01-06 基于分布式gpu和彩虹表的加密分析系统及其方法

Publications (1)

Publication Number Publication Date
CN103714300A true CN103714300A (zh) 2014-04-09

Family

ID=50407260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410004715.4A Pending CN103714300A (zh) 2014-01-06 2014-01-06 基于分布式gpu和彩虹表的加密分析系统及其方法

Country Status (1)

Country Link
CN (1) CN103714300A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104732701A (zh) * 2015-04-08 2015-06-24 鹰潭嘉坤云计算科技有限公司 一种监控消防报警信息的方法和系统
CN106712928A (zh) * 2016-12-13 2017-05-24 云南电网有限责任公司电力科学研究院 基于大数据彩虹表的解密方法和装置
CN107465500A (zh) * 2017-07-20 2017-12-12 广州慧睿思通信息科技有限公司 基于fpga的md5暴力破解系统及方法
CN113630237A (zh) * 2021-07-26 2021-11-09 珠海格力电器股份有限公司 数据的加密方法及装置、数据的解密方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783046B1 (en) * 2007-05-23 2010-08-24 Elcomsoft Co. Ltd. Probabilistic cryptographic key identification with deterministic result
CN102299843A (zh) * 2011-06-28 2011-12-28 北京安天电子设备有限公司 一种基于gpu和缓冲区的网络数据处理方法及系统
CN103198264A (zh) * 2013-03-14 2013-07-10 厦门市美亚柏科信息股份有限公司 一种加密文件系统数据的恢复方法和装置
CN103400072A (zh) * 2013-07-31 2013-11-20 厦门市美亚柏科信息股份有限公司 哈希值密码的恢复方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783046B1 (en) * 2007-05-23 2010-08-24 Elcomsoft Co. Ltd. Probabilistic cryptographic key identification with deterministic result
CN102299843A (zh) * 2011-06-28 2011-12-28 北京安天电子设备有限公司 一种基于gpu和缓冲区的网络数据处理方法及系统
CN103198264A (zh) * 2013-03-14 2013-07-10 厦门市美亚柏科信息股份有限公司 一种加密文件系统数据的恢复方法和装置
CN103400072A (zh) * 2013-07-31 2013-11-20 厦门市美亚柏科信息股份有限公司 哈希值密码的恢复方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104732701A (zh) * 2015-04-08 2015-06-24 鹰潭嘉坤云计算科技有限公司 一种监控消防报警信息的方法和系统
CN106712928A (zh) * 2016-12-13 2017-05-24 云南电网有限责任公司电力科学研究院 基于大数据彩虹表的解密方法和装置
CN107465500A (zh) * 2017-07-20 2017-12-12 广州慧睿思通信息科技有限公司 基于fpga的md5暴力破解系统及方法
CN107465500B (zh) * 2017-07-20 2020-04-03 广州慧睿思通信息科技有限公司 基于fpga的md5暴力破解系统及方法
CN113630237A (zh) * 2021-07-26 2021-11-09 珠海格力电器股份有限公司 数据的加密方法及装置、数据的解密方法及装置

Similar Documents

Publication Publication Date Title
Garfinkel Digital media triage with bulk data analysis and bulk_extractor
CN106919555B (zh) 用于日志流内包含的数据的字段提取的系统和方法
US20110208947A1 (en) System and Method for Simplifying Transmission in Parallel Computing System
US20110013777A1 (en) Encryption/decryption of digital data using related, but independent keys
CN106610995B (zh) 一种创建密文索引的方法、装置及系统
CN111628858B (zh) 一种网络安全算法的加密、解密系统及其加密、解密方法
CN105827582B (zh) 一种通信加密方法、装置和系统
CN101119373B (zh) 一种网关级流式病毒扫描方法及其系统
US10373103B2 (en) Decision-tree based address-station matching
EP2487630A1 (en) Relevancy filter for new data based on underlying files
CN103049709A (zh) 基于生成元扩展彩虹表的密码恢复系统及其恢复方法
CN103714300A (zh) 基于分布式gpu和彩虹表的加密分析系统及其方法
CN107122222B (zh) 一种字符串的搜索系统及方法
WO2015134664A1 (en) Methods and systems for biological sequence alignment
CN105956492B (zh) 一种文件存储加密方法及装置
KR20140131333A (ko) 스트림 인식 및 필터링
CN106712928A (zh) 基于大数据彩虹表的解密方法和装置
US20120197895A1 (en) Animating inanimate data
CN110032680A (zh) 大数据分析方法及系统
CN108416221A (zh) 一种云环境中安全的相似数据拥有证明方案
CN109995518A (zh) 密码生成方法和装置
CN103577604A (zh) 一种用于Hadoop分布式环境的图像索引结构
Santos et al. Performance analysis of data fragmentation techniques on a cloud server
CN109462644A (zh) 一种用于互联网的在线开发协作系统
Beulah et al. Detection of duplicated data with minimum overhead and secure data transmission for sensor big data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140409

RJ01 Rejection of invention patent application after publication