【技术实现步骤摘要】
一种识别口令中词汇变形并产生猜测规则的方法
本专利技术涉及口令猜测规则生成领域,特别涉及一种识别口令中词汇变形并产生猜测规则的方法。
技术介绍
口令猜测的基本方法是不断尝试用户可能使用的口令,直至发现正确口令,或者达到预定猜测次数而放弃猜测。因此,要提高猜测的效率需要优先猜测用户使用可能性更高的口令。现有的口令猜测方法主要包括:暴力、碾压、Markov模型、概率上下文无关文法(PCFG)、语义模型等五种类型。暴力方式是最为传统的口令猜测方法,其主要缺陷是能猜测的口令长度较短。由于总猜测次数的限制,全键盘字符的暴力猜测长度往往不超过9个字符,仅仅包含小写字母和数字的暴力猜测长度往往不超过11个字符。字典变形方法(EminIslamTath,"Crackingmorepasswordshasheswithpatterns",IEEETrans.onInformationForensicsandSecurity,vol.10,no.8,pp.1656-1665,2015.)是指根据口令变形规则(例如olchashc ...
【技术保护点】
1.一种识别口令中词汇变形并产生猜测规则的方法,其特征在于,具体包括以下步骤:/nS1、构建语料库Ω,生成三字符词汇表;/nS2、基于语料库Ω,对训练口令集合P中所有口令生成对应的变形语料乘积规则,构成规则集合T={r
【技术特征摘要】
1.一种识别口令中词汇变形并产生猜测规则的方法,其特征在于,具体包括以下步骤:
S1、构建语料库Ω,生成三字符词汇表;
S2、基于语料库Ω,对训练口令集合P中所有口令生成对应的变形语料乘积规则,构成规则集合T={r1,r2,…,rn};
S3、统计规则集合T中各个变形语料乘积规则的频度;
S4、使用效费比指标对规则集合T中的变形语料乘积规则进行排序,得到猜测规则序列R;
S5、根据口令猜测数量要求S,从R中选择规则,形成猜测次数不超过S的口令猜测规则序列RS;
S6、快速检测猜测规则序列Rs对测试口令集P'的命中率。
2.根据权利要求1所述的一种识别口令中词汇变形并产生猜测规则的方法,其特征在于,步骤S1中,所述语料库Ω的构建规则如下:
规则1、语料库由若干语料集合{W}构成,包括小写字母语料集合[az]、大写字母语料集合[AZ]、数字字母语料集合[09]和特殊符号语料集合[SP],分别对应ASCII码中的小写字母、大写字母、数字和不包含上述类型的其他可打印字符;
规则2、单个语料集合的词汇具有相同的属性和长度,数量不超过6000条,且语料集合中的字符类型不受约束;
规则3、任意两个语料集合之间没有相同的词汇;
语料库Ω中的特定语料集合W中词汇的数量为|W|,长度为l(W);语料库Ω的语料集合数为|Ω|。
3.根据权利要求2所述的一种识别口令中词汇变形并产生猜测规则的方法,其特征在于,对于可打印的ASCII字符c,定义以下基本操作:
如果c为小写字母,则小写到大写字母变换upper(c)为该字母的大写形式,否则upper(c)=c;
如果c为小写字母,则大小写字母相互变换toggle(c)为该字母的大写形式;如果c为小写字母,则toggle(c)为该字母的大写形式;其余情况,toggle(c)=c;
ctype(c)为该字符的类型,取值范围为小写字母、大写字母、数字和其他特殊字符;
字符替换集合ST的元素为二元组(x,y),描述为x→y其中x≠y;ST对字符c的替换集合定义为ST(c)={y|(c,y)∈ST},ST对字符c的逆替换集合定义为ST-1(c)={x|(x,c)∈ST}∪{c};
对于由可打印ASCII字符构成的字符串w=c0c1…cn-1,其长度l(w)=n;对于0≤l≤k<n-1,其字符串片段w[l:k]=cl…ck-1。
4.根据权利要求1所述的一种识别口令中词汇变形并产生猜测规则的方法,其特征在于,所述三字符词汇表H3记录了语料库Ω中所有词汇中所有三个字符长度的子串所属的词汇、语料集合、以及该子串在词汇中所处的位置;H3以三个字符长度的子串c0c1c2作为索引,通过索引查找到一个集合,集合的每个元素为一个四元组(w,W,lw,kw),满足以下关系:
(1)w∈W,W∈Ω;
(2)w[lw:lw+2]=c0c1c2;
(3)lw+3+kw=l(w);
即对于Ω中的特定语料集合W中的词汇w包括了三个字符片段c0c1c2,且该字符片段在w中距离起始和结束位置的距离lw和kw。
5.根据权利要求1所述的一种识别口令中词汇变形并产生猜测规则的方法,其特征在于,步骤S2中,变形语料乘积规则是多个语料集合经过对应变形规则变形后字符串集合的组合,记为r=W1<M1>…Wk<Mk>,其中Wi∈Ω,Mi为语料集合Wi对应的变形规则,每个语料集合可以具有独立的变形规则;变形语料乘积规则所对应的猜测口令集合为变形语料乘积规则中所有语料集合经过变形规则处理后的字符串集合的笛卡尔乘积,猜测口令集合G(r)={w1||…||wk|wi∈Mi(Wi),1≤i≤k,Wi∈Ω},其中||为字符串拼接操作;猜测次数变形语料乘积规则所对应的猜测口令集合中的所有猜测口令的长度相同;
所述变形规则是一个或多个变形命令组成的序列,记为M=<m1,m2,…,mk>,其中m1,m2,…,mk表示变形命令;变形规则M对字符串w产生的变形字符串为M(w)=mk(…m2(m1(w)));
语料集合W经过变形规则M所产生的变形字符串集合为M(W)={M(w)|w∈W};如果M为空,则M(W)=W。
6.根据权利要求5所述的一种识别口令中词汇变形并产生猜测规则的方法,其特征在于,所述变形命令包括字符替换、在特定位置删除字符、在特定位置大小写转换、全部字符大写四种,对于输入字符串d0d1…dn-1,四种变形命令如下所示:
sxy:将字符x替换成y,输出字符串c0c1…cn-1,定义为
Dx:删除第x个字符,如果0≤x≤n-1,则输出字符串c0c1…cn-2,定义为
Tx:对第x个字符大小写转换,如果0≤x≤n-1,输出字符串c0c1…cn-1,定义为:
大小写转换也可以视为特殊的字符替换,定义大写字母替换集合STU={a→A,b→B,c→C,…,z→Z,1→!,2→@,3→#,4→$,5→%,6→,7→&,8→*,9→(,0→)},小写字母替换集合STL={A→a,B→b,C→c,…,Z→z};一个字符所有的可能替换集合定义为STA=ST48∪STU∪STL,STA的逆替换集合定义为STA-1;
u:字符串全部大写,输出字符串c0c1…cn-1,定义为ci=upper(di),1≤i≤n-1;
定义字符大小转换、全部大写的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。