CN112329002A - 根据部分口令明文特征动态调整猜测规则执行次序的方法 - Google Patents
根据部分口令明文特征动态调整猜测规则执行次序的方法 Download PDFInfo
- Publication number
- CN112329002A CN112329002A CN202010893455.6A CN202010893455A CN112329002A CN 112329002 A CN112329002 A CN 112329002A CN 202010893455 A CN202010893455 A CN 202010893455A CN 112329002 A CN112329002 A CN 112329002A
- Authority
- CN
- China
- Prior art keywords
- password
- length
- vector
- plaintext
- guess
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 239000013598 vector Substances 0.000 claims abstract description 88
- 239000004576 sand Substances 0.000 claims abstract description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000005457 optimization Methods 0.000 claims description 10
- 230000008901 benefit Effects 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 3
- 238000004904 shortening Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 19
- 238000012549 training Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 238000005336 cracking Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 5
- 150000003839 salts Chemical class 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
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)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了根据部分口令明文特征动态调整猜测规则执行次序的方法。所述方法包括以下步骤:输入待猜测密文集合C并对其进行字典攻击,得到部分猜测口令明文集合Q;输入总猜测次数为S的猜测规则集合RS,计算猜测规则集合RS中每条口令猜测规则的长度特征向量和字符类型数特征向量;根据部分猜测口令明文集合Q的长度特征向量和字符类型数特征向量估计待猜测口令明文集合P的长度特征和字符类型数特征;根据估计的长度特征和字符类型数特征调整猜测规则集合RS的尝试次序,并根据调整后的尝试次序依次使用规则对待猜测密文集合C继续进行猜测。本发明可以准确地估计整体口令的长度特征和字符类型数特征,从而缩短获得猜测结果的时间。
Description
技术领域
本发明涉及信息安全领域,具体涉及根据部分口令明文特征动态调整猜测规则执行次序的方法。
背景技术
口令猜测的基本方法是不断尝试用户可能使用的口令,直至发现正确口令,或者达到预定猜测次数而放弃猜测。因此,要提高猜测的效率需要优先猜测用户使用可能性更高的口令。口令猜测系统主要包含以下三类猜测方法。
(1)字典变形方法;
字典变形方法(Emin Islam Tath,"Cracking more passwords hashes withpatterns",IEEE Trans.on Information Forensics and Security,vol.10,no.8,pp.1656-1665,2015.)是指根据口令变形规则(例如olchashcat中的rockyou-30000规则库)将源口令(往往是真实的泄露口令集合)变形成为待猜测的口令。这种口令猜测方法在实践中非常常用,但是它的有效性依赖于源口令集,对源口令集合中未出现的口令将无法完成有效猜测。
(2)从训练口令集中学习得到字典方法;
这类方法的主要特点是从训练口令集中学习得到若干规律,并由此规律产生字典,然后在口令猜测系统中尝试这些生成的字典。主要分为Markov模型、概率上下文无关文法(PCFG)、语义模型等三种类型。
Markov模型方法(Jerry Ma,Weining Yang,Min Luo,Ninghui Li,"A study ofprobabilistic password models",in Proc.IEEE Symposium on Security andPrivacy,pp.689-704,2014.Markus Durmuth,Fabian Angelstorf,Claude Castelluccia,Daniele Perito,Abdelberi Chaabane,"OMEN:Faster password guessing using anordered Markov enumerator",in Proc.the 7th Symposium on ESSoS,pp.119-132,2015.)是建立训练口令集中字母之间的转移概率矩阵,并据此预测某个口令的概率。该方法的最大特点是不依赖于语料集,可以自主发现口令内常见的词汇,而且可以有效处理词汇中常见的变形形式。其缺点是需要高阶Markov过程以“记忆”较长的词汇内容,而且语义不甚明确。
PCFG方法(Matt Weir,Sudhir Affarwal,Breno de Medeiros,Bill Glodek,"Password cracking using probabilistic context-free grammars",in Proc.30thIEEE Symposium on Security and Privacy,2009,pp.391-405.)的核心是将口令按照字符类型分段,并产生两级概率:第一级为不同字符类型分段的结构概率,第二级是语料库中每个单词的概率,并由此可以推测出特定结构和语料构成口令的概率。改进的PCFG方法(Shiva Houshmand,Sudhir Aggarwal,Randy Flood,"Next Gen PCFG passwordcracking",IEEE Trans.on Information Forensics and Security,vol.10,no.8,pp.1776-1791,2015.)进一步加入了键盘串集合,并对语料库的词汇频率进行了Laplace平滑。前者在一定程度上弥补了原有PCFG方法按照字符类型分词的局限性,后者则可以进一步丰富语料库的内容,从而部分解决无法描述训练口令集中未出现词汇的问题。
语义方法(Rafael Veras,Christopher Collins,Julie Thorpe,"On thesemantic patterns of passwords and their security impact",in Proc.Network andDistributed System Security Symposium(NDSS),2014,pp.1-16.)将根据语料库中语义明确的词汇对训练口令进行结构划分。在划分方法上,以词汇最大覆盖率作为分词依据,采用不定长的语料和结构描述。该方法还采用了类似PCFG的方法,即统计语料库的每个词汇的频率,并由此计算出每条口令的概率。
(3)从训练口令集中学习得到规则;
这类方法的特点是从训练口令集中学习规律,并直接根据规律产生破解规则。由口令猜测系统执行这些猜测规则。典型两种方法是语料乘积方法和智能暴力方法。
语料乘积方法是基于大规模语料库针对训练口令集学习得到大量基于语料乘积的猜测规则,并根据猜测规则的效费比(规则在训练集中的命中率/猜测口令的数量)从大到小排序的方法。口令破解系统按照规则的效费比从大到小的次序依次展开规则为猜测口令集,并对其中的口令依次进行尝试。
智能暴力方法是从训练口令集中学习得到暴力破解规则,然后对这些暴力破解规则按照效费比从大到小排序,从训练口令集获得优化的暴力猜测规则次序。
在实际口令猜测过程中,往往使用多种方法联合完成猜测过程,例如先使用字典变形方法,然后再使用PCFG等方法产生的字典,最后再使用暴力等基于规则的方法。对于同一个来源且包含多条密文的口令猜测任务,有可能在字典变形阶段就已经得到了部分密文的口令猜测结果。
在现有支持规则的口令猜测系统中,口令的猜测规则序列是由训练口令集合学习得到的,直接反映了训练口令集合的特征。但是实际待猜测口令的特征往往与训练口令集的特征有所不同,这将影响后续口令猜测的效率。
同一来源的口令往往具有类似的共同特征,例如网站口令往往要求口令长度长于8个字符,且包含三种以上的字符类型。实际的口令猜测过程中并不能直接获得这些特征,但是可以通过在字典攻击等方法中已经获得的部分口令来推测其余待猜测口令的特征,并由此动态调整后续的猜测规则次序,使得符合这些推测特征的规则能尽早执行,以期更快地获得猜测结果。现有的研究主要集中在如何根据训练口令集学习得到更优的字典或猜测规则,对猜测过程中的实时调整问题并未开展详细的研究。
发明内容
口令猜测过程中使用的口令猜测规则往往由训练口令集合学习得到,反映了训练口令集合在口令长度、字符类型数量等方面的特征。但是在实际口令猜测过程中,待猜测的口令特征往往与训练集的口令特征有所不同,导致口令猜测的效率低于预期。为了解决这一问题,本发明首先提取通过字典变形等方法已经获得的部分口令的长度、字符类型数等两种特征,然后采用非线性规划方法估计所有目标口令的特征,接着使用这些特征重新评估已有规则序列的效益,并调整后续猜测规则的次序。
本法的目的至少通过如下技术方案之一实现。
根据部分口令明文特征动态调整猜测规则执行次序的方法,包括以下步骤:
S1、输入待猜测密文集合C并对其进行字典攻击,得到部分猜测口令明文集合Q;
S2、输入总猜测次数为S的猜测规则集合RS,计算猜测规则集合RS中每条口令猜测规则的长度特征向量和字符类型数特征向量;
S3、根据部分猜测口令明文集合Q的长度特征向量和字符类型数特征向量估计待猜测口令明文集合P的长度特征和字符类型数特征;
S4、根据步骤S3中估计的长度特征和字符类型数特征调整猜测规则集合RS的尝试次序,并根据调整后的尝试次序依次使用规则对待猜测密文集合C继续进行猜测。
进一步地,步骤S1中,输入具有同一来源的待猜测密文集合C,采用字典D进行字典攻击,得到部分猜测口令明文Q,即对D中的所有候选口令p,使用口令散列算法H计算其散列值H(p),如果H(p)等于C中某条密文c,则得到了c对应的明文p,并将p加入到部分猜测口令明文集合Q中。其中口令散列算法为无盐算法。如果是有盐算法,猜测过程也与之类似,限于篇幅,不再赘述;具体如算法-1所示:
【算法-1】字典攻击的口令猜测过程:
输入:待猜测的密文集合C;字典D;口令散列算法H;
输出:部分猜测口令明文Q;
字典攻击方法可以仅仅使用字典,也可以使用字典变形方式。Q是字典攻击方法取得的部分猜测口令明文。
原有的口令猜测方法中往往不考虑Q的内容,而依然使用原先设定的猜测次序。实际上,可以通过发现部分结果Q的特征,并调整RS的尝试次序,以期更快地获得猜测结果。
进一步地,步骤S2中,对于口令猜测规则r,针对其对应的猜测口令集合G(r)可以按照下述方法计算其长度特征向量FLG(r)和字符类型数特征FTG(r);
FLG(r)的第l个元素值FLG(r)(l)=al/|G(r)|,al表示G(r)中长度为l的口令数;
FTG(r)的第t个元素值FTG(r)(t)=bt/|G(r)|,bt表示G(r)中字符类型数为t的口令数。
进一步地,步骤S3中,一条口令具有长度和字符类型数两种特征,其中字符类型分为大写字母、小写字母、数字和特殊字符四种类型;口令p的长度定义为l(p),字符类型数定义为t(p),例如口令p=“P@ssw0rd”,l(p)=8,t(p)=4;特征向量满足归一化,即向量中所有元素之和等于1,且所有元素值大于等于0;
假设待猜测的密文集合C对应的待猜测口令明文集合为Q,待猜测口令明文集合Q中包括了|Q|条口令;使用长度特征向量FLQ和字符类型特征向量FTQ描述待猜测口令明文集合Q的长度特征和字符类型数特征;FLQ是一个长度为d1的向量,d1为口令长度上限,FTQ是一个长度为4的向量;
FLQ的第l个元素值FLQ(l)=ai/|Q|,al表示Q中长度为l的口令数;
FTQ的第t个元素值FTQ(t)=bt/|Q|,bt表示Q中字符类型数为t的口令数。
进一步地,在处理字典攻击阶段获得的口令明文的长度特征向量和字符类型数特征向量时,在其中向量元素为0的位置上平均加入非0成分;使用非线性规划方法求解待猜测口令集合的长度特征估计向量和字符类型数特征向量;虽然无法知道P,但是可以通过以下方法估计P的特征,记P的长度特征估计向量和字符类型数特征估计向量分别记为和的计算具体如下:
根据公式(1),公式(2),公式(3)构成的非线性规划方程求解其中Θ(F)是向量F中不为0的分量数,β为衰减系数,满足0<β<1;公式(1)要求特征估计向量满足归一化条件;公式(2)的作用是在向量元素为0的位置上平均加入非零成分,并可以通过衰减系数β控制加入的强度,β取1/|Q|;公式(3)为优化目标,要求估计的特征向量尽量与已有特征保持一致。
根据公式(4),公式(5),公式(6)构成的非线性规划方程求解其中Θ(F)是向量F中不为0的分量数,β为衰减系数,满足0<β<1;公式(4)要求特征估计向量满足归一化条件;公式(5)的作用是在向量元素为0的位置上平均加入非零成分,并可以通过衰减系数β控制加入的强度,β取1/|Q|;公式(6)为优化目标,要求估计的特征向量尽量与已有特征保持一致。
进一步地,步骤S4中,对于两个d维度向量F1和F2,定义两者的相似度函数sim(F1,F2),相似度函数的值应满足大于等于0,小于等于1,且数值越高表示相似度越大;相似度函数如下:
对猜测规则序列R=<r1,…,rn>中每条规则ri,计算其效益比:
使用效益比E(ri)对规则从大到小排序,得到新的猜测规则序列RS′=<r′1,…,r′n>;RS和RS′的猜测规则虽然相同,在后续的规则猜测过程中可以猜测出相同的口令内容;但是RS′中符合待猜测口令特征的规则将较早尝试,因此其获得猜测结果的时间较按照原有的规则次序RS会更早。
进一步地,步骤S4中,按照猜测规则序列RS′次序对C进行攻击,即按照i从小到大的次序,依次产生r′i对应的待尝试口令集合G(r′i),并计算该集合中每条待尝试明文p的散列函数值H(p),并与C进行对比,如果H(p)等于C中的某条密文c,则得到了c对应的明文p。如算法-2所示。
【算法-2】规则攻击的口令猜测过程:
输入:待猜测的密文集合C;猜测规则序列RS′=<r′1,…,r′n>;口令散列算法H;
相比于现有技术,本发明的优点在于:
同一来源的口令往往具有相似的特征,例如特定网站的登录口令往往需要满足特定的最小长度和最少字符类型数要求。本发明计算字典攻击得到的部分口令明文集合Q的长度和字符类型数等两个特征,由此估计同一来源待猜测密文C对应的明文集合的潜在特征,并根据这些特征调整后续的猜测规则尝试次序,使得符合这些潜在特征的猜测规则优先得到执行,从而减少得到猜测结果所需要的时间。
附图说明
图1为本发明实施中根据部分口令明文特征动态调整猜测规则执行次序的方法流程图;
图2a为本发明实施中CSDN与P的长度分布对比示意图;
图2b为本发明实施中CSDN与P的字符种类数分布对比示意图;
图3为本发明实施中自适应优化的规则序列Rs’与原规则序列Rs的命中率对比示意图;
图4a为本发明实施中在猜测次数为1.0×1014时自适应优化的规则集合R’与原始规则集合R的长度特征对比示意图;
图4b为本发明实施中在猜测次数为1.0×1014时自适应优化的规则集合R’与原始规则集合R的字符种类数对比示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图并举实施例,对本发明的具体实施进行详细说明。
根据部分口令明文特征动态调整猜测规则执行次序的方法,如图1所示,包括以下步骤:
S1、输入待猜测密文集合C并对其进行字典攻击,得到部分猜测口令明文集合Q;
输入具有同一来源的待猜测密文集合C,采用字典D进行字典攻击,得到部分猜测口令明文Q,即对D中的所有候选口令p,使用口令散列算法H计算其散列值H(p),如果H(p)等于C中某条密文c,则得到了c对应的明文p,并将p加入到部分猜测口令明文集合Q中。其中口令散列算法为无盐算法。如果是有盐算法,猜测过程也与之类似,限于篇幅,不再赘述;具体如算法-1所示:
【算法-1】字典攻击的口令猜测过程:
输入:待猜测的密文集合C;字典D;口令散列算法H;
输出:部分猜测口令明文Q;
S2、输入总猜测次数为S的猜测规则集合RS,计算猜测规则集合RS中每条口令猜测规则的长度特征向量和字符类型数特征向量;
对于口令猜测规则r,针对其对应的猜测口令集合G(r)可以按照下述方法计算其长度特征向量FLG(r)和字符类型数特征FTG(r);
FLG(r)的第l个元素值FLG(r)(l)=al/|G(r)|,al表示G(r)中长度为l的口令数;
FTG(r)的第t个元素值FTG(r)(t)=bt/|G(r)|,bt表示G(r)中字符类型数为t的口令数。
例如,对于暴力规则r=L4D4,其对应的猜测口令集合的所有口令长度均为8,且字符类型数都是2;暴力规则r对应的长度特征向量和字符类型数特征向量中,FLG(r)(8)=1,FTG(r)(8)=1,其他元素均为0;
再如,对于一般性规则r,其对应的猜测口令集合G(r)={password,Mypassword,P@ssw0ord,PASSWORD}中包括3条长度为8的口令和1条长度为10的口令,同时字符类型数为1,2和4的口令数分别为2,1和1;它对应的长度特征向量和字符类型数特征向量中,FLG(r)(8)=3/4,FLG(r)(10)=1/4,FTG(r)(1)=1/2,FTG(r)(2)=1/4,FTG(r)(4)=1/4,其他元素均为0。
S3、根据部分猜测口令明文集合Q的长度特征向量和字符类型数特征向量估计待猜测口令明文集合P的长度特征和字符类型数特征;
一条口令具有长度和字符类型数两种特征,其中字符类型分为大写字母、小写字母、数字和特殊字符四种类型;口令p的长度定义为l(p),字符类型数定义为t(p),例如口令p=“P@ssw0rd”,l(p)=8,t(p)=4;特征向量满足归一化,即向量中所有元素之和等于1,且所有元素值大于等于0;
假设待猜测的密文集合C对应的待猜测口令明文集合为Q,待猜测口令明文集合Q中包括了|Q|条口令;使用长度特征向量FLQ和字符类型特征向量FTQ描述待猜测口令明文集合Q的长度特征和字符类型数特征;FLQ是一个长度为d1的向量,d1为口令长度上限,FTQ是一个长度为4的向量;
FLQ的第l个元素值FLQ(l)=al/|Q|,al表示Q中长度为l的口令数;
FTQ的第t个元素值FTQ(t)=bt/|Q|,bt表示Q中字符类型数为t的口令数。
在处理字典攻击阶段获得的口令明文的长度特征向量和字符类型数特征向量时,在其中向量元素为0的位置上平均加入非0成分;使用非线性规划方法求解待猜测口令集合的长度特征估计向量和字符类型数特征向量;虽然无法知道P,但是可以通过以下方法估计P的特征,记P的长度特征估计向量和字符类型数特征估计向量分别记为和的计算具体如下:
根据公式(1),公式(2),公式(3)构成的非线性规划方程求解其中Θ(F)是向量F中不为0的分量数,β为衰减系数,满足0<β<1;公式(1)要求特征估计向量满足归一化条件;公式(2)的作用是在向量元素为0的位置上平均加入非零成分,并可以通过衰减系数β控制加入的强度,β取1/|Q|;公式(3)为优化目标,要求估计的特征向量尽量与已有特征保持一致。
根据公式(4),公式(5),公式(6)构成的非线性规划方程求解其中Θ(F)是向量F中不为0的分量数,β为衰减系数,满足0<β<1;公式(4)要求特征估计向量满足归一化条件;公式(5)的作用是在向量元素为0的位置上平均加入非零成分,并可以通过衰减系数β控制加入的强度,β取1/|Q|;公式(6)为优化目标,要求估计的特征向量尽量与已有特征保持一致。
S4、根据步骤S3中估计的长度特征和字符类型数特征调整猜测规则集合RS的尝试次序,并根据调整后的尝试次序依次使用规则对待猜测密文集合C继续进行猜测;
对于两个d维度向量F1和F2,定义两者的相似度函数sim(F1,F2),相似度函数的值应满足大于等于0,小于等于1,且数值越高表示相似度越大;相似度函数如下:
对猜测规则序列R=<r1,…,rn>中每条规则ri,计算其效益比:
使用效益比E(ri)对规则从大到小排序,得到新的猜测规则序列RS′=<r′1,…,r′n>;RS和RS′的猜测规则虽然相同,在后续的规则猜测过程中可以猜测出相同的口令内容;但是RS′中符合待猜测口令特征的规则将较早尝试,因此其获得猜测结果的时间较按照原有的规则次序RS会更早。
按照猜测规则序列RS′次序对C进行攻击,即按照i从小到大的次序,依次产生r′i对应的待尝试口令集合G(r′i),并计算该集合中每条待尝试明文p的散列函数值H(p),并与C进行对比,如果H(p)等于C中的某条密文c,则得到了c对应的明文p。如算法-2所示。
【算法-2】规则攻击的口令猜测过程:
输入:待猜测的密文集合C;猜测规则序列RS′=<r′1,…,r′n>;口令散列算法H;
实施例1:
待猜测口令特征估计的实验:
以长度特征为例,本实施例中,在Rockyou中随机抽取了10000条口令作为整体口令集合P,计算得到其长度特征向量FLP,再从中选取50条口令作为已知明文集合Q,得到其长度特征向量FLQ,接着利用公式(1)、公式(2)、公式(3)计算由FLQ估计得到的特征向量其结果如表1所示:
表1特征估计模型在长度特征上的应用效果
可以看出,本实施例中,口令长度分布并不均匀,由于已知口令的数量有限,部分占比较少的口令并未被抽中,导致FLQ部分维度为0,但实际上整体口令集合中包含这些长度的口令,通过对特征施加平滑措施,较好地避免了这种情况的发生,提高了总体特征刻画的准确性。
实施例2:
测规则尝试次序调整的实验:
本实施例中,为测试自适应方法的有效性,模拟某网站用户口令的猜测过程。该网站的安全性较高,要求口令长度不少于11位,至少包含三种不同类型的字符。但是在猜测过程中,并不了解这一安全性要求。实验设定待猜测的密文总数|P|=10000,通过字典等方式猜测得到的明文的数量|Q|=50。
本实施例中,为了模拟上述口令特征,从CSDN中随机抽取长度不低于11位且至少包含三种不同类型的口令共10000条,作为实验的待破解口令集合P,并从中随机抽取了50条口令作为部分已知明文Q。如图2a和图2b所示,给出了CSDN口令集合与P的长度和字符类型数分布对比,两者具有显著区别。
本实施例中,实验中的猜测规则序列是以CSDN整体作为训练集合,选定猜测次数为S=1.5×1015,并得到按照效费比由大到小排序的规则集合Rs。按照本发明步骤2)和3)计算Q的长度特征向量和字符类型特征向量,估计待破解口令集合P的特征向量和并根据和调整Rs的猜测次序,得到自适应优化的猜测规则序列Rs’。
本实施例中,分别依次执行Rs和Rs’中的规则以完成对P的猜测,如图3所示,给出了Rs和Rs’对P的命中率随猜测次数变化的情况。Rs’和Rs所包含的规则相同,但是顺序不同,因此它们两者能猜测出的口令集合是相同的。但是RS在猜测次数到1.3×1015时才基本达到命中率的最高值,但是Rs’在猜测次数为0.8×1015时就可以达到命中率的最高值。也就是说,在此猜测过程中,Rs’较Rs提前38%的时间就可以获得全部的猜测结果。
本实施例中,在猜测次数为1.0×1014时,Rs和Rs’的猜测规则子集合分别定义为Rs(1.0×1014)和Rs’(1.0×1014)。如图4a和图4b所示,对比了Rs(1.0×1014)和Rs’(1.0×1014)所对应口令的长度分布和字符类型数分布,其中纵坐标为前者减去后者的口令数在总猜测口令数中的占比。可以看出自适应优化的规则集合Rs’(1.0×1014)对应的口令集合中,长度为11~16的口令数量占比Rs(1.0×1014)有所增加,但是长度为4~10、17~19的口令数量占比降低。在字符类型数分布方面,Rs’(1.0×1014)对应的口令集合中含有3种不同类型字符的口令数量明显增加,小于3种字符类型数的口令数量降低。这些特征较好地体现出本发明能自动根据猜测出来的部分口令明文特征,自动调整后续猜测规则的次序,并明显减少获得猜测结果的时间。
Claims (8)
1.根据部分口令明文特征动态调整猜测规则执行次序的方法,其特征在于,包括以下步骤:
S1、输入待猜测密文集合C并对其进行字典攻击,得到部分猜测口令明文集合Q;
S2、输入总猜测次数为S的猜测规则集合RS,计算猜测规则集合RS中每条口令猜测规则的长度特征向量和字符类型数特征向量;
S3、根据部分猜测口令明文集合Q的长度特征向量和字符类型数特征向量估计待猜测口令明文集合P的长度特征和字符类型数特征;
S4、根据步骤S3中估计的长度特征和字符类型数特征调整猜测规则集合RS的尝试次序,并根据调整后的尝试次序依次使用规则对待猜测密文集合C继续进行猜测。
2.根据权利要求1所述的根据部分口令明文特征动态调整猜测规则执行次序的方法,其特征在于,步骤S1中,输入具有同一来源的待猜测密文集合C,采用字典D进行字典攻击,得到部分猜测口令明文Q,即对D中的所有候选口令p,使用口令散列算法H计算其散列值H(p),如果H(p)等于C中某条密文c,则得到了c对应的明文p,并将p加入到部分猜测口令明文集合Q中。
3.根据权利要求1所述的根据部分口令明文特征动态调整猜测规则执行次序的方法,其特征在于,步骤S2中,对于口令猜测规则r,针对其对应的猜测口令集合G(r)可以按照下述方法计算其长度特征向量FLG(r)和字符类型数特征FTG(r);
FLG(r)的第l个元素值FLG(r)(l)=al/|G(r)|,al表示G(r)中长度为l的口令数;
FTG(r)的第t个元素值FTG(r)(t)=bt/|G(r)|,bt表示G(r)中字符类型数为t的口令数。
4.根据权利要求1所述的根据部分口令明文特征动态调整猜测规则执行次序的方法,其特征在于,步骤S3中,一条口令具有长度和字符类型数两种特征,其中字符类型分为大写字母、小写字母、数字和特殊字符四种类型;口令p的长度定义为l(p),字符类型数定义为t(p);
Q为部分猜测口令明文集合,其中包括了|Q|条口令明文;使用长度特征向量FLQ和字符类型特征向量FTQ描述待猜测口令明文集合P的长度特征和字符类型数特征;特征向量满足归一化,即向量中所有元素之和等于1,且所有元素值大于等于0;FLQ是一个长度为d1的向量,d1为口令长度上限,FTQ是一个长度为4的向量;
FLQ的第l个元素值FLQ(i)=al/|Q|,al表示Q中长度为l的口令数;
FTQ的第t个元素值FTQ(t)=bt/|Q|,bt表示Q中字符类型数为t的口令数。
5.根据权利要求4所述的根据部分口令明文特征动态调整猜测规则执行次序的方法,其特征在于,在处理字典攻击阶段获得的口令明文的长度特征向量和字符类型数特征向量时,在其中向量元素为0的位置上平均加入非0成分;使用非线性规划方法求解待猜测口令集合的长度特征估计向量和字符类型数特征向量;通过以下方法估计P的特征,记P的长度特征估计向量和字符类型数特征估计向量分别记为和 的计算具体如下:
8.根据权利要求1所述的根据部分口令明文特征动态调整猜测规则执行次序的方法,其特征在于,步骤S4中,按照猜测规则序列RS′次序对C进行攻击,即按照i从小到大的次序,依次产生ri′对应的待尝试口令集合G(ri′),并计算该集合中每条待尝试明文p的散列函数值H(p),并与C进行对比,如果H(p)等于C中的某条密文c,则得到了c对应的明文p。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010893455.6A CN112329002B (zh) | 2020-08-31 | 2020-08-31 | 根据部分口令明文特征动态调整猜测规则执行次序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010893455.6A CN112329002B (zh) | 2020-08-31 | 2020-08-31 | 根据部分口令明文特征动态调整猜测规则执行次序的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112329002A true CN112329002A (zh) | 2021-02-05 |
CN112329002B CN112329002B (zh) | 2024-04-09 |
Family
ID=74303714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010893455.6A Active CN112329002B (zh) | 2020-08-31 | 2020-08-31 | 根据部分口令明文特征动态调整猜测规则执行次序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112329002B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145582A (zh) * | 2018-06-05 | 2019-01-04 | 中国科学院信息工程研究所 | 一种基于字节对编码的密码猜测集生成方法、密码破解方法及装置 |
CN109635530A (zh) * | 2018-11-16 | 2019-04-16 | 华东师范大学 | 一种基于用户群组属性的智能口令猜测方法 |
CN110555140A (zh) * | 2019-08-29 | 2019-12-10 | 华南理工大学 | 面向口令猜测的语料乘积规则的描述、生成与检测方法 |
-
2020
- 2020-08-31 CN CN202010893455.6A patent/CN112329002B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145582A (zh) * | 2018-06-05 | 2019-01-04 | 中国科学院信息工程研究所 | 一种基于字节对编码的密码猜测集生成方法、密码破解方法及装置 |
CN109635530A (zh) * | 2018-11-16 | 2019-04-16 | 华东师范大学 | 一种基于用户群组属性的智能口令猜测方法 |
CN110555140A (zh) * | 2019-08-29 | 2019-12-10 | 华南理工大学 | 面向口令猜测的语料乘积规则的描述、生成与检测方法 |
Non-Patent Citations (1)
Title |
---|
葛丽娜;唐韶华;: "基于圆特性的身份认证与密钥协商", 华南理工大学学报(自然科学版) * |
Also Published As
Publication number | Publication date |
---|---|
CN112329002B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hitaj et al. | Passgan: A deep learning approach for password guessing | |
CN110197286B (zh) | 一种基于混合高斯模型和稀疏贝叶斯的主动学习分类方法 | |
CN111291165B (zh) | 训练词向量嵌入模型的方法及装置 | |
WO2019168202A1 (ja) | ベクトル生成装置、文ペア学習装置、ベクトル生成方法、文ペア学習方法、およびプログラム | |
CN110555140B (zh) | 面向口令猜测的语料乘积规则的描述、生成与检测方法 | |
JP6738769B2 (ja) | 文ペア分類装置、文ペア分類学習装置、方法、及びプログラム | |
Asadi et al. | Creating discriminative models for time series classification and clustering by HMM ensembles | |
CN111507384A (zh) | 一种黑盒深度模型对抗样本生成方法 | |
CN113220865B (zh) | 一种文本相似词汇检索方法、系统、介质及电子设备 | |
JP6495814B2 (ja) | 言語確率算出方法、言語確率算出装置および言語確率算出プログラム | |
Li et al. | Direct-optimization-based DC dictionary learning with the MCP regularizer | |
CN115344693A (zh) | 一种基于传统算法和神经网络算法融合的聚类方法 | |
US20180061395A1 (en) | Apparatus and method for training a neural network auxiliary model, speech recognition apparatus and method | |
CN110765758A (zh) | 一种同义句生成模型的生成方法、装置及介质 | |
CN112667496B (zh) | 基于多先验的黑盒对抗测试样本生成方法及装置 | |
Duh et al. | Beyond log-linear models: Boosted minimum error rate training for n-best re-ranking | |
Barone | Low-rank passthrough neural networks | |
CN112329002A (zh) | 根据部分口令明文特征动态调整猜测规则执行次序的方法 | |
Lu et al. | Selecting β-divergence for nonnegative matrix factorization by score matching | |
He et al. | Improving naive bayes text classifier using smoothing methods | |
CN112149388A (zh) | 一种识别口令中词汇变形并产生猜测规则的方法 | |
JP6586026B2 (ja) | 単語ベクトル学習装置、自然言語処理装置、方法、及びプログラム | |
Li et al. | Neural discriminant analysis for deep speaker embedding | |
CN115510986A (zh) | 一种基于AdvGAN的对抗样本生成方法 | |
Gales | Transformation smoothing for speaker and environmental adaptation. |
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 |