基于生成元扩展彩虹表的密码恢复系统及其恢复方法技术方案

技术编号:8594213 阅读:286 留言:0更新日期:2013-04-18 07:30
一种计算机安全技术领域的基于生成元扩展彩虹表的密码恢复系统及其恢复方法,该系统包括:包含扩展彩虹表生成模块、扩展彩虹表口令恢复模块的若干客户端以及与若干网络节点相连接的包含数据挖掘模块、存储器以及系统初始化模块的服务器,用户通过管理终端网站管理服务器的数据挖掘模块和系统初始化模块的工作,服务器中的数据挖掘模块生成生成元字典,服务器中的系统初始化模块生成包含生成元字典信息的分布式初始化配置文件,服务器中的系统初始化模块与网络节点中的扩展彩虹表生成模块和扩展彩虹表口令恢复模块相连接并传输系统初始化配置信息。本发明专利技术以减小明文空间的方法来达到在可接受时间范围内生成长口令彩虹表的目的,能够大大降低人为口令的恢复时间。

【技术实现步骤摘要】

本专利技术涉及的是一种计算机安全领域的加密系统及方法,具体是一种。
技术介绍
彩虹表是密码学领域一种重要的方法和工具,最初由Hellman在《一种基于时间空间折中算法的密码分析方法》(A cryptanalytic time-memory trade off)一文中提出,它的核心思想是空间与时间的折中,通过预计算的方式来减少口令恢复的时间花销。本质上,彩虹表的生成需要穷举遍历整个明文空间,生成的时间是和彩虹链的长度、条数有关,恢复成功率是和明文空间以及彩虹表的大小规模有关的。也就是说对于固定的明文空间,想要生成一张恢复成功率较高的彩虹表,几乎需要遍历所有的明文空间,其时间上的代价是和穷举口令恢复相近的,但是一旦生成这张彩虹表,以后只需要以较少的时间就可以判断哈希值对应的明文在不在这张表中。彩虹表是在时间空间折中方法基础上进行改进而产生的一种技术,其核心思想是将明文计算得到的哈希值由一个R函数映射回明文空间,从而可以交替地计算明文和哈希值R(HASH)=PLAIN。R函数是彩虹表设计的关键,需要满足以下两个特点随机性,从哈希值计算到空间中的每个明文的概率相同;计算速度快,因为在计算一张彩虹表的过程中,R函数和哈希函数被调用的次数大致相同,需要能够快速得到结果的R函数。经典彩虹表利用哈希值的前8字节的内容加上当前在彩虹链中的位置,对总空间取模来计算明文对应的Index数值,然后将空间中某个Index转换到具体对应的明文。虽然使用彩虹表能够获得在线恢复口令阶段比穷举口令恢复高得多的时间效率,但是目前生成长密码(10位以上)的彩虹表在时间上仍然是不能承受的,某部门对哈希口令恢复的实践表明,超过10位的口令无论使用何种方法恢复成功率均低于10%。因此一种有效的长口令恢复方案无论在理论还是实践中都是非常具有价值的。事实上,对于长密码的完整明文空间(95N,N为密码长度),有很大一部分的口令的利用率相当的低。大部分口令库中的口令都是人为设定的,因此必然是相对便于记忆的。如果能够优先考虑那些利用率高的有意义的口令,将会有效地减小明文空间,虽然不能提高按照经典算法计算的恢复成功率,但是对现实口令库的来说,恢复成功率将是可观的。目前,增加计算速度是比较热门的研究方向,分布式(云计算)和GPGPU都属于这个范畴,但由于硬件限制,速度提高必有上限。经过对现有技术的检索发现,仇李寅在《基于Hadoop的扩展彩虹表生成研究》(上海交通大学2011年硕士论文)中提出了一种改进的彩虹表技术,该文献中以Hadoop作为云计算的基础架构,使用Map Reduce框架来进行彩虹表的生成和破解。但是该现有技术的缺陷在于对于扩表的生成元没有形成有效的方法,本专利技术主要是基于数据挖掘的方法对于真实口令库进行生成元的挖掘和制定。另外,以Hadoop为基础的基于云计算的扩表的生成和使用由于环境限制,生成和使用都有较大的局限,不利于扩表在实际环境中的应用。
技术实现思路
本专利技术针对现有技术存在的上述不足,提出一种,以减小明文空间的方法来达到在可接受时间范围内生成长口令彩虹表的目的,其意义在于为恢复人为设置的长口令提供一种在切实可行的方案。本专利技术通过使用彩虹表中时间空间折中的思想对这些字典的存储方式进行改进,产生出基于生成元的彩虹表,能够大大降低人为口令的恢复时间。本专利技术是通过以下技术方案实现本专利技术涉及一种基于生成元扩展彩虹表的密码恢复系统,包括包含扩展彩虹表生成模块、扩展彩虹表口令恢复模块的若干客户端,即网络节点,以及与若干网络节点相连接的包含数据挖掘模块、存储器以及系统初始化模块的服务器,其中用户通过管理终端网站管理服务器的数据挖掘模块和系统初始化模块的工作,服务器中的数据挖掘模块生成生成元字典,服务器中的系统初始化模块生成包含生成元字典信息的分布式初始化配置文件,服务器中的系统初始化模块与网络节点中的扩展彩虹表生成模块和扩展彩虹表口令恢复模块相连接并传输系统初始化配置信息。所述的数据挖掘模块通过属性拆分以及聚类分析获得扩展彩虹表生成元,该模块具体包括属性特征单元、属性值计算单元和聚类分析单元,其中属性特征单元将客户端输入的口令进行依照属性特征的 拆分,并将拆分得到的分类号与拆分序号输出至属性值计算单元,属性值计算单元根据分类号与拆分序号加权计算得到一条口令所对应的属性值并输出至聚类分析单元,聚类分析单元通过数据挖掘的聚类分析方法,将属性值生成所需的扩展彩虹表生成兀字典,供扩展彩虹表生成模块和扩展彩虹表口令恢复模块加载。所述的属性值与每一个口令--对应。所述的系统初始化模块,在服务器根据用户需求生成系统初始化配置信息,供扩展彩虹表生成模块和扩展彩虹表口令恢复模块加载。所述的系统初始化配置信息包括扩展彩虹表的生成和破解算法(Alg)信息、扩展彩虹表的链长(ChainLen )信息、扩展彩虹表的链数(ChainCnt)信息、扩展彩虹表的分布式生成序号(Part)信息、扩展彩虹表号(Table)信息、扩展彩虹表的生成兀个数(Num_of_g)信息、扩展彩虹表所需的生成元字典个数(Num_0f_dic)信息、扩展彩虹表生成元模式(Pattern_of_g)信息、扩展彩虹表存储路径和文件名(output_addr ),所述的系统初始化配置信息的末端还包括扩展彩虹表生成所需的各个生成元字典路径信息。所述的扩展彩虹表生成模块包括加载单元、排序单元和保存单元,其中加载单元在网络节点加载扩展彩虹表生成元字典文件和分布式节点配置文件,根据ChainCnt参数和Part参数生成扩展彩虹表链首,根据Alg参数选择哈希算法,根据Table参数决定扩展R函数,根据ChainCnt和ChainLen参数生成所需条数和长度的扩展彩虹链,排序单元根据加载单元所得到的扩展彩虹链的链尾的大小将所有的链首链尾对进行排序,最后由保存单元将排好序的链首链尾对根据oUtpUt_addr参数所示的路径和名称存入扩展彩虹表文件中。所述的扩展彩虹表口令恢复模块包括读取单元和口令恢复单元,其中读取单元在网络节点加载扩展彩虹表生成元字典文件、待恢复口令哈希文件以及分布式节点配置文件,读取本机存储的扩展彩虹表到内存中,口令恢复单元根据内存中的扩展彩虹表,从待恢复口令哈希文件中读入一行文本格式的哈希值,开始进行口令恢复,直到将待恢复口令哈希文件中最后一条哈希恢复完成,最后将恢复结果汇总。本专利技术涉及上述系统的密码恢复方法,通过对来自口令库的真实口令进行属性拆分和聚类分析,获得多种生成元,并基于生成元生成扩展彩虹表生成元字典文件;然后根据用户需求产生系统初始化配置信息,并分布式地生成扩展彩虹表,最后分布式地实现扩展彩虹表口令恢复。附图说明图1为本专利技术系统结构示意图。图2为通过数据挖掘的方式获得扩展彩虹表生成元示意图。图3为扩展彩虹表生成过程示意图。图4为扩展彩虹表口令恢复过程示意图。图5为实施例中属性拆分示意图。图6为实施例中扩展彩虹表分布式生成示意图。图7为实施例中分布式扩展彩虹表口令恢复过程示意图。具体实施例方式下面对本专利技术的实施例作详细说明,本实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。 实施例1本实施例涉及的基于生成元扩展本文档来自技高网
...

【技术保护点】
一种基于生成元扩展彩虹表的密码恢复系统,其特征在于,包括:包含扩展彩虹表生成模块、扩展彩虹表口令恢复模块的若干客户端,即网络节点,以及与若干网络节点相连接的包含数据挖掘模块、存储器以及系统初始化模块的服务器,其中:用户通过管理终端网站管理服务器的数据挖掘模块和系统初始化模块的工作,服务器中的数据挖掘模块生成生成元字典,服务器中的系统初始化模块生成包含生成元字典信息的分布式初始化配置文件,服务器中的系统初始化模块与网络节点中的扩展彩虹表生成模块和扩展彩虹表口令恢复模块相连接并传输系统初始化配置信息;?所述的系统初始化配置信息包括:扩展彩虹表的生成和破解算法信息、扩展彩虹表的链长信息、扩展彩虹表的链数信息、扩展彩虹表的分布式生成序号信息、扩展彩虹表号信息、扩展彩虹表的生成元个数信息、扩展彩虹表所需的生成元字典个数信息、扩展彩虹表生成元模式信息、扩展彩虹表存储路径和文件名以及扩展彩虹表生成所需的各个生成元字典路径信息。

【技术特征摘要】
1.一种基于生成元扩展彩虹表的密码恢复系统,其特征在于,包括包含扩展彩虹表生成模块、扩展彩虹表口令恢复模块的若干客户端,即网络节点,以及与若干网络节点相连接的包含数据挖掘模块、存储器以及系统初始化模块的服务器,其中用户通过管理终端网站管理服务器的数据挖掘模块和系统初始化模块的工作,服务器中的数据挖掘模块生成生成元字典,服务器中的系统初始化模块生成包含生成元字典信息的分布式初始化配置文件,服务器中的系统初始化模块与网络节点中的扩展彩虹表生成模块和扩展彩虹表口令恢复模块相连接并传输系统初始化配置信息;所述的系统初始化配置信息包括扩展彩虹表的生成和破解算法信息、扩展彩虹表的链长信息、扩展彩虹表的链数信息、扩展彩虹表的分布式生成序号信息、扩展彩虹表号信息、扩展彩虹表的生成元个数信息、扩展彩虹表所需的生成元字典个数信息、扩展彩虹表生成元模式信息、扩展彩虹表存储路径和文件名以及扩展彩虹表生成所需的各个生成元字典路径信息。2.根据权利要求1所述的系统,其特征是,所述的数据挖掘模块通过属性拆分以及聚类分析获得扩展彩虹表生成元,该模块具体包括属性特征单元、属性值计算单元和聚类分析单元,其中属性特征单元将客户端输入的口令进行依照属性特征的拆分,并将拆分得到的分类号与拆分序号输出至属性值计算单元,属性值计算单元根据分类号与拆分序号加权计算得到一条口令所对应的属性值并输出至聚类分析单元,聚类分析单元通过数据挖掘的聚类分析方法,将属性值生成所需的扩展彩虹表生成元字典,供扩展彩虹表生成模块和扩展彩虹表口令恢复模块加载。3.根据权利要求1所述的系统,其特征是,所述的系统初始化模块,在服务器根据用户需求生成系统初始化配置信息,供扩展彩虹表生成模块和扩展彩虹表口令恢复模块加载。4.根据权利要求1所述的系统,其特征是,所述的扩展彩虹表生成模块包括加载单元、排序单元和保存单元,其中加载单元在网络节点加载扩展彩虹表生成元字典文件和分布式节点配置文件,根据ChainCnt参数和Part参数生成扩展彩虹表链首,根据Alg参数选择哈希算法,根据Table参数决定扩展R函数,根据ChainCnt和ChainLen参数生成所需条数和长度的扩展彩虹链,排序单元根据加载单元所得到的扩展彩虹链的链尾的大小将所有的链首链尾对进行排序,最后由保存单元将排好序的链首链尾对根据outpUt_addr参数所示的路径和名称存入扩展彩虹表文件中。5.根据权利要求1所述的系统,其特征是,所述的扩展彩虹表口令恢复模块包括读取单元和口令恢复单元,其中读取单元在网络节点加载扩展彩虹表生成元字典文件、待恢复口令哈希文件以及分布式节点配置文件,读取本机存储的扩展彩虹表到内存中,口令恢复单元根据内存中的扩展彩虹表,从待恢复口令哈希文件中读入一行文本格式的哈希值,开始进行口令恢复,直到将待恢复口令哈希文件中最后一条哈希恢复完成,最后将恢复结果汇总。6.一种根据权利要求1-5中任一系统的密码恢复方法,其特征在于,通过对来自口令库的真实口令进行属性拆分和聚类分析,获得多种生成元,并基于生成元生成扩展彩虹表生成元字典文件;然后根据用户需求产生系统初始化配置信息,并分布式地生成扩展彩虹表,最后分布式地实现扩展彩虹表口令恢复。7.根据权利要求6所述的方法,其特征是,具体包括以下步骤第一步、通过数据挖掘的方式获得扩展彩虹表生成元,具体步骤包括1. O打开并初始化用户口令库文件;.1.2)读取包含口令文件的一行口令数据;1. 3)根据口令长度、口令字符成分、口令组成属性进行口令数据的拆分,产生多种生成元;.1.4)生成扩展彩虹表生成元字典文件;第二步、扩展彩虹表系统初始化,具体包括以下步骤.2.1)参数信息配置,具体包括.2.2)生成分布式配置文件;.2.3)将分布式配置文件以及扩展彩虹表生成元字典文件发放给各节点;第三步、分布式生成扩展彩虹表,具体包括以下步骤.3.1)各个节点加载扩展彩虹表生成元字典文件及对应的配置文件;.3. 2)根据ChainCnt参数和Part参数生成扩展彩虹表链首;.3.3)根据Alg参数选择哈希算法;.3. 4)根据Table参数决定扩展R函数;.3. 5)根据ChainCnt和ChainLen参数生成所需条数和长度的扩展彩虹链;.3.6)存储由步骤3. 5)生成的扩展彩虹表包含的所有彩虹链中的每条链的链首和链尾;.3.7)根据存储得到的链尾的大小将所有的链首链尾对进行排序,并将排好序的链首链尾对根据output_addr参数所示的路径和名称存入扩展彩虹表文件中;第四步、分布式口令恢复,具体包括以下步骤.4.1)加载第一步中产生的扩展彩虹表生成元字典文件、用户提供的待恢复口令哈希文件以及第二步中产生的分布式节点配置文件;.4. 2)读取网路节点存储的扩展彩虹表部分到内存中;.4. 3)从...

【专利技术属性】
技术研发人员:邱卫东王扬德刘伯仲张琛岭郭奕东江琳
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1