【技术实现步骤摘要】
本专利技术涉及的是一种计算机安全领域的加密系统及方法,具体是一种。
技术介绍
彩虹表是密码学领域一种重要的方法和工具,最初由Hellman在《一种基于时间空间折中算法的密码分析方法》(A cryptanalytic time-memory trade off)一文中提出,它的核心思想是空间与时间的折中,通过预计算的方式来减少口令恢复的时间花销。本质上,彩虹表的生成需要穷举遍历整个明文空间,生成的时间是和彩虹链的长度、条数有关,恢复成功率是和明文空间以及彩虹表的大小规模有关的。也就是说对于固定的明文空间,想要生成一张恢复成功率较高的彩虹表,几乎需要遍历所有的明文空间,其时间上的代价是和穷举口令恢复相近的,但是一旦生成这张彩虹表,以后只需要以较少的时间就可以判断哈希值对应的明文在不在这张表中。彩虹表是在时间空间折中方法基础上进行改进而产生的一种技术,其核心思想是将明文计算得到的哈希值由一个R函数映射回明文空间,从而可以交替地计算明文和哈希值R(HASH)=PLAIN。R函数是彩虹表设计的关键,需要满足以下两个特点随机性,从哈希值计算到空间中的每个明文的概率相同;计算速度快,因为在计算一张彩虹表的过程中,R函数和哈希函数被调用的次数大致相同,需要能够快速得到结果的R函数。经典彩虹表利用哈希值的前8字节的内容加上当前在彩虹链中的位置,对总空间取模来计算明文对应的Index数值,然后将空间中某个Index转换到具体对应的明文。虽然使用彩虹表能够获得在线恢复口令阶段比穷举口令恢复高得多的时间效率,但是目前生成长密码(10位以上)的彩虹表在时间上仍然是不能承受的,某部 ...
【技术保护点】
一种基于生成元扩展彩虹表的密码恢复系统,其特征在于,包括:包含扩展彩虹表生成模块、扩展彩虹表口令恢复模块的若干客户端,即网络节点,以及与若干网络节点相连接的包含数据挖掘模块、存储器以及系统初始化模块的服务器,其中:用户通过管理终端网站管理服务器的数据挖掘模块和系统初始化模块的工作,服务器中的数据挖掘模块生成生成元字典,服务器中的系统初始化模块生成包含生成元字典信息的分布式初始化配置文件,服务器中的系统初始化模块与网络节点中的扩展彩虹表生成模块和扩展彩虹表口令恢复模块相连接并传输系统初始化配置信息;?所述的系统初始化配置信息包括:扩展彩虹表的生成和破解算法信息、扩展彩虹表的链长信息、扩展彩虹表的链数信息、扩展彩虹表的分布式生成序号信息、扩展彩虹表号信息、扩展彩虹表的生成元个数信息、扩展彩虹表所需的生成元字典个数信息、扩展彩虹表生成元模式信息、扩展彩虹表存储路径和文件名以及扩展彩虹表生成所需的各个生成元字典路径信息。
【技术特征摘要】
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)从...
【专利技术属性】
技术研发人员:邱卫东,王扬德,刘伯仲,张琛岭,郭奕东,江琳,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。