CN110472385B - 一种口令破解方法及装置 - Google Patents
一种口令破解方法及装置 Download PDFInfo
- Publication number
- CN110472385B CN110472385B CN201810441164.6A CN201810441164A CN110472385B CN 110472385 B CN110472385 B CN 110472385B CN 201810441164 A CN201810441164 A CN 201810441164A CN 110472385 B CN110472385 B CN 110472385B
- Authority
- CN
- China
- Prior art keywords
- password
- character string
- watch
- basic structure
- character
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Storage Device Security (AREA)
Abstract
本发明适用于网络安全技术领域,提供了一种口令破解方法及装置,所述方法包括:对训练集中的口令按预设的限制条件进行预处理,获取统一格式的口令集合;对所述口令集合进行结构划分,获取所述口令集合中所有口令的基本结构以及基本结构中各个段对应的第一字符串集合;对所述各个段对应的第一字符串集合进行字符串重组,获取第二字符串集合;根据所述第二字符串集合以及所述口令的基本结构迭代生成候选口令。通过本发明可以解决口令迭代生成速率慢、准确率偏低的问题,提高了口令破解成功率,保证了口令攻击的时效性。
Description
技术领域
本发明属于网络安全技术领域,尤其涉及一种口令破解方法及装置。
背景技术
随着计算机网络、通信技术的迅猛发展,网络安全已成为当前信息时代的一个重要问题。身份认证是网络安全的一道重要防线,口令以其简单、易部署的特性长期以来一直是身份认证的主流方式,广泛以用于电子商务、网上银行以及社交媒体等领域。口令攻击是口令安全研究的重要手段,也是密码学的重要方向之一,口令攻击不仅可以用于公共安全取证等领域,同时也可以更好的检验口令算法的安全性,促进口令算法的发展。
目前口令攻击算法主要基于暴力破解技术和字典攻击技术。暴力破解是指在设定的范围内尝试所有可能的口令组合攻击;而字典攻击技术是指根据一定的先验知识生成专门的字典文件来与待破解口令进行碰撞。应用暴力破解技术会消耗大量破解资源,破解时间较长;而字典攻击技术的攻击效果完全取决于生成字典的好坏,对先验信息的挖掘程度要求较高。
字典攻击技术中,最流行的两类算法是基于概率上下文无关文法(probabilisticcontext-free grammar PCFG)和基于Markov链的算法,它们分别从子结构组成层面和字符前后依赖层面对口令进行有效地建模刻画。在2014年,Jerry Ma指出基于概率上下文无关文法(probabilistic context-free grammar PCFG)的模型可以准确的抽象可能的基础口令结构,但是泛化能力较弱;基于Markov链的模型虽然能够通过调整Markov链的阶数提高泛化能力,但是在估计口令概率方面存在偏差,准确性偏低,同时迭代速率慢。
发明内容
有鉴于此,本发明实施例提供了一种口令破解方法及终端设备,以解决现有技术中口令迭代生成速率慢、准确率偏低的问题。
本发明实施例的第一方面提供了一种口令破解方法,包括:
对训练集中的口令按预设的限制条件进行预处理,获取统一格式的口令集合;
对所述口令集合进行结构划分,获取所述口令集合中所有口令的基本结构以及基本结构中各个段对应的第一字符串集合;
对所述各个段对应的第一字符串集合进行字符串重组,获取第二字符串集合;
根据所述第二字符串集合以及所述口令的基本结构迭代生成候选口令。
本发明实施例的第二方面提供了一种口令破解装置,包括:
预处理单元,用于对训练集中的口令按预设的限制条件进行预处理,获取统一格式的口令集合;
结构划分单元,用于对所述口令集合进行结构划分,获取所述口令集合中所有口令的基本结构以及基本结构中各个段对应的第一字符串集合;
字符串重组单元,用于对所述各个段对应的第一字符串集合进行字符串重组,获取第二字符串集合;
口令生成单元,用于根据所述第二字符串集合以及所述口令的基本结构迭代生成候选口令。
本发明实施例的第三方面提供了一种终端设备,包括:口令破解装置、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述口令破解方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述口令破解方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例在对口令进行预处理后,形成统一格式的口令集合,对口令集合进行结构划分和字符串重组,提高了口令破解成功率,保证了口令攻击的时效性,在进行候选口令生成时避免了重复迭代,提高了口令的生成速率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的口令破解方法的实现流程示意图;
图2是本发明实施例提供的基于结构划分及字符串重组的口令生成模型的示意图;
图3是本发明实施例提供的利用Recursive-OMEN算法生成指定长度字符串的示意图;
图4是本发明实施例提供的基于Recursive-OMEN迭代算法流程示例图;
图5是本发明实施例提供的口令破解装置的示意图;
图6是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
参见图1,是本发明实施例提供的口令破解方法的实现流程示意图,如图所示该方法可以包括以下步骤:
步骤S101,对训练集中的口令按预设的限制条件进行预处理,获取统一格式的口令集合。
在本发明实施例中,所述的训练集用于根据口令建立模型,所述的统一格式可以口令的长度在一定范围内,可以包括字母段L、数据段D和特殊字符段S;进行预处理后形成格式规范的口令集合。
进一步的,所述的预设的限制条件包括:
口令的长度在8-20个字符之间;
口令中仅包含ASCII字符中的96个能够打印的字符。
步骤S102,对所述口令集合进行结构划分,获取所述口令集合中所有口令的基本结构以及基本结构中各个段对应的第一字符串集合。
在本发明实施例中,所述的基本结构中的各个段可以是字母段L,也可以是数字段D,还可以是特殊字符段S;所述的基本结构可以是,用口令中字母段含有的字母个数或数字段含有的数字个数或特殊字符段含有的特殊字符个数来表示口令的结构,例如:口令“qing123!”,则基本结构表示为“L4D3S1”;所述的第一字符串集合为口令的基本结构中每个段对应的字符串,例如:口令“qing123!”字母段对应的字符串为L4=“qing”,数字段对应的字符串为D3=“123”。
进一步的,对所述口令集合进行结构划分,获取所述口令集合中所有口令的基本结构以及基本结构中各个段对应的第一字符串集合的步骤,包括:
利用概率上下文无关文法算法对所述口令集合进行结构划分,获取口令基本结构以及基本结构中各个段对应的第一字符串集合;
将所述基本结构中加入预设的口令集合,所述第一字符串集合中加入与预设的口令集合对应的字符串集合。
在本发明实施例中,利用概率上下文无关文法算法对所述口令集合进行结构划分;所述的概率上下文无关文法算法(probabilistic context-free grammar PCFG)从子结构组成层面对口令进行有效的建模,并且定义了口令的结构模型,将训练集合中的口令按基本结构进行划分,从而学习口令的结构特征;同时经过结构划分还获取了基本结构中各个段对应的字符串结合。
所述的预设的口令集合可以是常用的字符组成的口令,将基本结构中引入预设的口令集合,则第一字符串集合中也相应的引入预设口令集合各个段对应的字符串集合。例如表1中所示的预设的口令集合对应的字符串集合。
进一步的,对所述口令集合进行结构划分,获取所述口令集合中所有口令的基本结构以及基本结构中各个段对应的第一字符串集合的步骤,还包括:
对于所述基本结构中的特殊字符,增加不同的索引位区分特殊字符的位置信息;
在对特殊字符进行统计时,将相同长度不同位置的特殊字符分别计数,并视为不同的基本结构特殊字符段。
在本发明实施例中,在对特殊字符进行概率统计时,通过增加一个索引位来区分特殊字符的位置信息,例如:0表示特殊字符出现在口令起始位置;1表示特殊字符出现在口令的中间位置;2表示特殊字符出现在口令末尾的位置。
在训练阶段,对特殊字符进行统计时,相同长度不同位置的特殊字符被分别计数统计,并确定为不同的基本结构特殊字符段,用三元组“段类型,位置,个数”来进行表示。
表1
步骤103,对所述各个段对应的第一字符串集合进行字符串重组,获取第二字符串集合。
在本发明实施例中,所述的各个段包括字母段L、数字段D和特殊字符段,将各个段对应的字符串集合进行字符串的重组,得到新的字符串集合。在进行字符串重组过程中,利用Recursive-OMEN算法对字符串向量进行折中处理,将字符串向量a拆分成前后两个或三个向量,如果向量a中的元素个数为偶数,则拆分成三个向量:a1=(a1,...,ak2),a2=(a(k+2)2,...,ak-1),a3=(ak),三个向量的长度分别为k/2、(k-2)/2、1;如果向量a中的元素个数为奇数则拆分成前后两个向量:a1=(a1,...,a(k+1)/2),a1=(a(k+3)/2,...,ak),两个向量的长度分别为(k+1)/2、(k-1)/2,k为向量a中的元素个数。
如图2所示的是本发明实施例提供的基于结构划分及字符串重组的口令生成模型的示意图,训练集经过预处理后,利用概率上下文无关文法算法PCFG进行口令集合的结构划分,获取基本结构L6D3、L5D8、L8D5、L3D6等,以及获取各个段对应的字符串集合L3、D3等;进一步对字符串进行重组,获取新的字符串集合L5、D6、D8等;根据新字符串集合和基础结构生成口令,按概率进行排序迭代生成候选口令,组成猜测字典。
其中,在字符串重组过程中,当k分别为奇数和偶数时,具体的算法运行如下:
当k为奇数时,以k=5为例:
字符串数据向量的概率总置信度η=level1+level2+level3+level4+level5,其中level表示字符串向量概率对应的置信度,向量a=(a1,a2,a3,a4,a5),其中a=a1是起始字符串统计模型(n-1)-gram的置信度level1,元素a2,a3,a4,a5分别对应各个字符串统计模型n-gram的置信度level,将a拆分成a1=(a1,a2,a3),a2=(a4,a5)两部分,则η=η1+η2,a=(a1,a2),首先,针对向量a1,搜索满足条件的a1,a2,a3生成a1对应的字符串和他们的η值,并且,由于向量a1和a2对应的字符串的搜索空间是一样的,不同的是a2对应的字符串搜索空间中的η值比a1少一个level0,因此在搜索a1的同时我们也得到了相应的a2,下一步,只需对η1和η2的值进行迭代即可,只要满足a1对应的字符串后n位的字符和a1对应的字符串前n位的字符相同则有效,即能够组成口令。
当k为偶数时,以k=6为例:
字符串数据向量的概率总置信度η=level1+level2+level3+level4+level5+level6,对应的向量a=(a1,a2,a3,a4,a5,a6),拆分成a1=(a1,a2,a3),a2=(a4,a5),a3=(a6)三部分,则η=η1+η2+η3,a=(a1,a2,a3),针对向量a1,a2我们按照k为奇数时的方法进行迭代后,向量a可表示成a=((a1+a2+a3+a4+a5),a6),对应的η=(η1+η2)+η3,a中的置信度level个数为2,其中a1可以通过迭代n=5得到,a2是原始的字符串统计模型n-gram对应的置信度level,最后搜索所有满足条件的a1和a2进行组合,进而生成口令。
步骤S104,根据所述第二字符串集合以及所述口令的基本结构迭代生成候选口令。
在本发明实施例中,所述的第二字符串集合为进行字符串重组后的新的字符串集合,将第二字符串集合以及口令集合的基本结构为基础,进行迭代运算,生成候选口令。
进一步的,所述根据所述第二字符串集合以及所述口令的基本结构迭代生成候选口令包括:
利用归约Recursive-OMEN算法根据所述基本结构和第二字符串集合生成指定长度的字符串;
利用归约Recursive-OMEN算法将指定长度字符串按概率递减顺序迭代生成候选口令。
在本发明实施例中,所述指定长度字符串包括不限于长度为3或长度为4或长度为5的字符串向量,通过依次迭代生成其他指定长度的向量。如图3所示的本发明实施例提供的利用Recursive-OMEN算法迭代生成指定长度的字符串的过程示意图,如图所示,字母表由Σ={a,b}组成,Markov链的阶数为2,初始概率:L(aa)=-1,L(ab)=0,L(ba)=0,L(bb)=-1;对应的转移概率:L(a丨aa)=-2,L(b丨aa)=0,L(a丨ab)=-1,L(b丨ab)=-1,L(a丨ba)=-2,L(b丨ba)=0,L(a丨bb)=-1,L(b丨bb)=-1。
迭代3长的向量a1=(a1,a2,a3),生成4长的字符串的同时,通过将每个向量a1对应的总置信度η值减去起始字符的置信度level值,得到向量a2=(a4,a5),将转移概率与对应的置信度level值结合得到L=4对应的字符串以及对应的总置信度:η=-1→baba babb,η=-3→bbba bbbb。通过组合向量a1,a2,得到5长的向量a=(a1,a2,a3,a4,a5),将向量a与转移概率对应的置信度level组合起来,生成6长的向量a=((a1+a2+a3+a4+a5),a6)=(a1,a2)以及它们对应的字符串,例如图3中所示的k=5,L=6的字符串以及对应的总置信度,η=-2(-1,-1)→bababa bababb,η=-3(-1,-2)→babbba babbbb,η=-4(-3,-1)→bbbaba bbbabb,η=-5(-3,-2)→bbbbba bbbbbb,从而由3长的向量得到5长和6长的向量;依次迭代,生成更长的口令,例如k=6,L=7对应的字符串以及对应的总置信度,η=-2(-2,0)→bababab,η=-3(-2,-1)→bababba bababbb,η=-3(-3,0)→babbbab,η=-4(-2,-2)→bababaa,η=-4(-3,-1)→babbbba babbbbb,η=-4(-4,0)→bbbabab等。
另外,图4示出了本发明实施例提供的基于Recursive-OMEN迭代算法流程示例图,所述的迭代具体步骤为:
(1)训练字符串集合,生成起始字符串和后n-gram字符串,以及它们对应的置信度level,并建立表Table0和Table1,Table为存储数据的表。
其中,表Table0中的项由三元组(prob0,x1x2...xn-1,level0)组成,包含起始字符串以及它的概率prob0对应的置信度level0,表Table1中的项由(prob1,x1x2...xn,level1)组成,包含n-gram字符串以及对应的转移概率prob1对应的置信度level1。
(2)对表Table0、表Table1运用字符串迭代StringNum()算法,构造新的三元组(prob2,y1y2...yn,level2)并插入到表Table2中。其中prob2=prob0·prob1,level2=level0+level1,y1y2...yn是生成的字符串。
(3)然后对表Table2,表Table1使用字符串迭代StringNum()算法,生成表Table3,将表Table3中三元组(prob3,y1y2...ynyn+1,level3)的概率prob3和置信度level3分别除去字符串y1y2...ynyn+1中起始字符对应的概率prob0和置信度level0,建立表Table* 3。
(4)同理得到表Table4,表Table* 4和表Table5,表Table* 5,依次迭代,生成各个长度的表Table,即得到了不同长度的字符串,从而组成候选口令。
通过本发明实施例,提供的基于结构划分和字符串重组的口令攻击模型(记为SPSR)能够明显提高口令破解成功率,其效果优于目前的基于PCFG和Markov链的口令攻击算法。并且,在生成大规模口令字典时,本发明通过Recursive-OMEN迭代算法避免了重复迭代,极大的提高了口令的生成速率,保证了攻击的时效性,实现了运算高效、破解成功率高的口令攻击;另外,通过本发明实施例,基于结构划分及字符串重组的口令破解的效率比Narayanan的算法高了40%-50%,当不限制猜测次数时,攻击效率也高了20%左右;此外,当训练集和测试集来自相同口令集合时,以及当训练集和测试集来自不同的口令集合时,攻击效率均提高了20%左右。
需要说明的是,本领域技术人员在本发明揭露的技术范围内,可容易想到的其他排序方案也应在本发明的保护范围之内,在此不一一赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参见图5,是本发明实施例提供的口令破解装置的示意图,为了便于说明,仅示出了与本发明实施例相关的部分。
所述口令破解装置包括:
预处理单元51,用于对训练集中的口令按预设的限制条件进行预处理,获取统一格式的口令集合;
结构划分单元52,用于对所述口令集合进行结构划分,获取所述口令集合中所有口令的基本结构以及基本结构中各个段对应的第一字符串集合;
字符串重组单元53,用于对所述各个段对应的第一字符串集合进行字符串重组,获取第二字符串集合;
口令生成单元54,用于根据所述第二字符串集合以及所述口令的基本结构迭代生成候选口令。
进一步的,所述结构划分单元52包括:
基本结构存储模块,用于存储口令的基本结构并将所述基本结构中加入预设的口令集合;
第一字符串存储模块,用于存储基本结构中各个段对应的第一字符串集合并加入与预设的口令集合对应的字符串集合。
进一步的,所述口令生成单元54包括:
字符串生成模块,用于利用归约Recursive-OMEN算法根据所述基本结构和第二字符串集合生成指定长度的字符串。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述移动终端的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述移动终端中模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图6是本发明一实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:口令破解装置、处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如C++程序。所述处理器60执行所述计算机程序62时实现上述各个口令破解方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块51至54的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (9)
1.一种口令破解方法,其特征在于,包括:
对训练集中的口令按预设的限制条件进行预处理,获取统一格式的口令集合;
对所述口令集合进行结构划分,获取所述口令集合中所有口令的基本结构以及基本结构中各个段对应的第一字符串集合;
对所述各个段对应的第一字符串集合进行字符串重组,获取第二字符串集合;
根据所述第二字符串集合以及所述口令的基本结构迭代生成候选口令;利用归约Recursive-OMEN算法根据所述基本结构和第二字符串集合生成指定长度的字符串;
其中,利用归约Recursive-OMEN算法根据所述基本结构和第二字符串集合生成指定长度的字符串,包括:
2.如权利要求1所述的口令破解方法,其特征在于,所述预设的限制条件包括:
口令的长度在8-20个字符之间;
口令中仅包含ASCII字符中的96个能够打印的字符。
3.如权利要求1所述的口令破解方法,其特征在于,所述对所述口令集合进行结构划分,获取所述口令集合中所有口令的基本结构以及基本结构中各个段对应的第一字符串集合包括:
利用概率上下文无关文法算法对所述口令集合进行结构划分,获取口令基本结构以及基本结构中各个段对应的第一字符串集合;
将所述基本结构中加入预设的口令集合,所述第一字符串集合中加入与预设的口令集合对应的字符串集合。
4.如权利要求3所述的口令破解方法,其特征在于,所述对所述口令集合进行结构划分,获取所述口令集合中所有口令的基本结构以及基本结构中各个段对应的第一字符串集合还包括:
对于所述基本结构中的特殊字符,增加不同的索引位区分特殊字符的位置信息;
在对特殊字符进行统计时,将相同长度不同位置的特殊字符分别计数,并确定为不同的基本结构特殊字符段。
5.如权利要求1所述的口令破解方法,其特征在于,所述根据所述第二字符串集合以及所述口令的基本结构迭代生成候选口令包括:
利用归约Recursive-OMEN算法将指定长度字符串按概率递减顺序迭代生成候选口令。
6.一种口令破解装置,其特征在于,包括:
预处理单元,用于对训练集中的口令按预设的限制条件进行预处理,获取统一格式的口令集合;
结构划分单元,用于对所述口令集合进行结构划分,获取所述口令集合中所有口令的基本结构以及基本结构中各个段对应的第一字符串集合;
字符串重组单元,用于对所述各个段对应的第一字符串集合进行字符串重组,获取第二字符串集合;
口令生成单元,用于根据所述第二字符串集合以及所述口令的基本结构迭代生成候选口令;
所述口令生成单元包括:
字符串生成模块,用于利用归约Recursive-OMEN算法根据所述基本结构和第二字符串集合生成指定长度的字符串;
其中,利用归约Recursive-OMEN算法根据所述基本结构和第二字符串集合生成指定长度的字符串,包括:
7.如权利要求6所述的口令破解装置,其特征在于,所述结构划分单元包括:
基本结构存储模块,用于存储口令的基本结构并将所述基本结构中加入预设的口令集合;
第一字符串存储模块,用于存储基本结构中各个段对应的第一字符串集合并加入与预设的口令集合对应的字符串集合。
8.一种终端设备,包括口令破解装置、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810441164.6A CN110472385B (zh) | 2018-05-10 | 2018-05-10 | 一种口令破解方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810441164.6A CN110472385B (zh) | 2018-05-10 | 2018-05-10 | 一种口令破解方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110472385A CN110472385A (zh) | 2019-11-19 |
CN110472385B true CN110472385B (zh) | 2021-09-03 |
Family
ID=68503802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810441164.6A Active CN110472385B (zh) | 2018-05-10 | 2018-05-10 | 一种口令破解方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110472385B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111191008A (zh) * | 2019-12-31 | 2020-05-22 | 华东师范大学 | 一种基于数字因子逆序的口令猜测方法 |
CN112199214B (zh) * | 2020-10-13 | 2023-12-01 | 中国科学院信息工程研究所 | 一种gpu上的候选口令生成及应用破解方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570391A (zh) * | 2016-11-10 | 2017-04-19 | 中国科学院信息工程研究所 | 基于记忆组块的密码猜测集生成方法及数字密码破解方法 |
CN107579816A (zh) * | 2017-09-06 | 2018-01-12 | 中国科学院半导体研究所 | 基于递归神经网络的密码字典生成方法 |
CN107947921A (zh) * | 2017-11-22 | 2018-04-20 | 上海交通大学 | 基于递归神经网络和概率上下文无关文法的密码生成系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10419556B2 (en) * | 2012-08-11 | 2019-09-17 | Federico Fraccaroli | Method, system and apparatus for interacting with a digital work that is performed in a predetermined location |
-
2018
- 2018-05-10 CN CN201810441164.6A patent/CN110472385B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570391A (zh) * | 2016-11-10 | 2017-04-19 | 中国科学院信息工程研究所 | 基于记忆组块的密码猜测集生成方法及数字密码破解方法 |
CN107579816A (zh) * | 2017-09-06 | 2018-01-12 | 中国科学院半导体研究所 | 基于递归神经网络的密码字典生成方法 |
CN107947921A (zh) * | 2017-11-22 | 2018-04-20 | 上海交通大学 | 基于递归神经网络和概率上下文无关文法的密码生成系统 |
Non-Patent Citations (1)
Title |
---|
基于变阶马尔科夫模型的口令猜测方法;孙腾;《中国优秀硕士学位论文全文数据库信息科技辑》;20170815(第8期);正文第6-44页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110472385A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Szpankowski | Average case analysis of algorithms on sequences | |
CN109145582B (zh) | 一种基于字节对编码的密码猜测集生成方法、密码破解方法及装置 | |
CN109783655A (zh) | 一种跨模态检索方法、装置、计算机设备和存储介质 | |
CN111814466A (zh) | 基于机器阅读理解的信息抽取方法、及其相关设备 | |
CN112214775B (zh) | 防止第三方获取关键图数据信息的对图数据的注入式攻击方法、装置、介质及电子设备 | |
CN113140018B (zh) | 训练对抗网络模型的方法、建立字库的方法、装置和设备 | |
AU2021204543B2 (en) | Digital signature method, signature information verification method, related apparatus and electronic device | |
AU2022200282B2 (en) | Digital signature method, signature information verification method, related apparatus and electronic device | |
CN110472385B (zh) | 一种口令破解方法及装置 | |
WO2023024749A1 (zh) | 视频检索的方法、装置、设备及存储介质 | |
CN113407976B (zh) | 数字签名方法、签名信息的验证方法、相关装置及电子设备 | |
US20230206133A1 (en) | Model parameter adjusting method and device, storage medium and program product | |
Shur | Growth properties of power-free languages | |
CN112084794A (zh) | 一种藏汉翻译方法和装置 | |
Chang | Hardness of RNA folding problem with four symbols | |
CN110708169A (zh) | 一种基于结构划分的口令攻击方法 | |
CN115565177A (zh) | 文字识别模型训练、文字识别方法、装置、设备及介质 | |
CN108563637A (zh) | 一种融合三元组知识库的句子实体补全方法 | |
CN111858891A (zh) | 问答库构建方法、装置、电子设备及存储介质 | |
CN114358023A (zh) | 智能问答召回方法、装置、计算机设备及存储介质 | |
CN111737315B (zh) | 地址模糊匹配方法及装置 | |
CN116432125B (zh) | 基于哈希算法的代码分类方法 | |
CN115982310B (zh) | 一种自带验证功能的链表生成方法及电子设备 | |
Yao et al. | Using Chinese characters to generate text-based passwords for information security | |
CN112364198A (zh) | 一种跨模态哈希检索方法、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |