CN110555140B - 面向口令猜测的语料乘积规则的描述、生成与检测方法 - Google Patents
面向口令猜测的语料乘积规则的描述、生成与检测方法 Download PDFInfo
- Publication number
- CN110555140B CN110555140B CN201910820798.7A CN201910820798A CN110555140B CN 110555140 B CN110555140 B CN 110555140B CN 201910820798 A CN201910820798 A CN 201910820798A CN 110555140 B CN110555140 B CN 110555140B
- Authority
- CN
- China
- Prior art keywords
- corpus
- password
- rule
- product
- training
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种面向口令猜测的语料乘积规则的描述、生成与检测方法。所示方法包括以下步骤:定义语料库的约束条件;描述语料乘积规则;针对训练口令集中的每条训练口令产生单条口令语料乘积规则,并统计训练口令集合所产生的规则集合中不同语料乘积规则的频度;使用效费比指标对训练口令集合产生的语料乘积规则集合从高到低进行排序;根据口令猜测次数要求,从效费比从高到低的语料乘积规则序列中选择规则;检测语料乘积规则序列针对测试口令集的命中率。本发明具有命中率高、规则描述清楚、易于后续在线生成待猜测口令集合、可以快速检测语料乘积规则集合的命中率等优点。
Description
技术领域
本发明涉及口令猜测技术领域,具体涉及一种面向口令猜测的语料乘积规则的描述、生成与检测方法。
背景技术
口令猜测的基本方法是不断尝试用户可能使用的口令,直至发现正确口令,或者达到预定猜测次数而放弃猜测。因此,要提高猜测的效率需要优先猜测用户使用可能性更高的口令。现有的口令猜测方法主要包括:暴力、碾压、Markov过程、概率上下文无关文法(PCFG)、语义模式等五种类型。
暴力方式是最为传统的口令猜测方法,其主要缺陷是能猜测的口令长度较短。由于总猜测次数的限制,全键盘字符的暴力猜测长度往往不超过9个字符,仅仅包含小写字母和数字的暴力猜测长度往往不超过11个字符。
碾压方法([Tat15]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规则库)将源口令集变形成为待猜测的口令。这种口令猜测方法在实践中非常常用,但是它的有效性依赖于源口令集,对源口令集合中未出现的口令将无法完成有效猜测。
Markov过程方法([Ma14]Jerry Ma,Weining Yang,Min Luo,Ninghui Li,"Astudy of probabilistic password models",in Proc.IEEE Symposium on Securityand Privacy,pp.689-704,2014;[Dur15]Markus Durmuth,Fabian Angelstorf,ClaudeCastelluccia,Daniele Perito,Abdelberi Chaabane,"OMEN:Faster password guessingusing an ordered Markov enumerator",in Proc.the7th Symposium on ESSoS,pp.119-132,2015)是建立训练口令集中字母之间的转移概率矩阵,并据此预测某个口令的概率。该方法的最大特点是不依赖于语料集,可以自主发现口令内常见的词汇,而且可以有效处理词汇中常见的变形形式。但是其缺点是需要高阶Markov过程以“记忆”较长的词汇内容,而且语义不甚明确。
PCFG方法([Wei09]Matt Weir,Sudhir Affarwal,Breno de Medeiros,BillGlodek,"Password cracking using probabilistic context-free grammars",inProc.30th IEEE Symposium on Security and Privacy,2009,pp.391-405)的核心是将口令按照字符类型分段,并产生两级概率:第一级为不同字符类型分段的结构概率,第二级是语料库中每个单词的概率,并由此可以推测出特定结构和语料构成口令的概率。改进的PCFG方法([Hou15]Shiva Houshmand,Sudhir Aggarwal,Randy Flood,"Next Gen PCFGpassword cracking",IEEE Trans.on Information Forensics and Security,vol.10,no.8,pp.1776-1791,2015)是进一步加入了键盘串集合,并对语料库的词汇频率进行了Laplace平滑。前者在一定程度上弥补了原有PCFG方法按照字符类型分词的局限性,后者则可以进一步丰富语料库的内容,从而部分解决无法描述训练口令集中未出现词汇的问题。但是PCFG方法有两个重要缺陷:1)它按照口令的字符类型分段,对于包含多种字符类型的语料词汇难以提供统一的处理模式;2)它需要计算每个待猜测口令出现的概率,并按照各个口令的概率从高到低依次猜测,在口令猜测过程中引入了较大的计算开销,难以满足在线口令猜测过程的口令生成速度要求。
语义模式([Ver14]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方法中对语料库的每个词汇进行频率统计,并由此计算出每条口令概率的方法。该方法有两个主要问题:1)采用词汇最大覆盖率作为分词依据,有可能会导致口令分词不恰当;2)和PCFG方法相同,该方法需要预测每条待猜测口令的概率,并根据概率从高到底依次尝试,也将在口令猜测过程中产生较大的开销。
发明内容
为了解决已有口令猜测方法中存在这些不足之处,本发明提供了一种面向口令猜测的语料乘积规则的描述、生成与检测方法,即通过穷举每条训练口令可能的基于语料的描述方法,并根据各种描述方法的猜测次数和复杂度来选择合理的语料乘积规则;其次,累计训练口令集合中各种类型规则在训练口令集合中的出现频度;然后,使用效费比指标对上述规则集合进行排序,并根据口令猜测数形成最终的语料乘积规则序列;最后,评价语料乘积规则序列对测试口令集的命中率。
本发明的目的至少通过如下技术方案之一实现。
面向口令猜测的语料乘积规则的描述、生成与检测方法,包括以下步骤:
S1、定义语料库的约束条件;
S2、描述语料乘积规则;
S3、针对训练口令集P中的每条训练口令p产生单条口令对应的语料乘积规则,并形成训练口令集P对应的语料乘积规则及其出现频度的集合T;T中的元素为二元组(r,f),其中r为规则,f为规则r出现的频度;
S4、使用效费比指标对规则集合T进行排序,得到语料乘积规则序列R;
S5、根据外部输入的口令猜测次数S,从R中选择语料乘积规则,形成总猜测次数小于S的口令猜测规则序列RS;
S6、检测总猜测次数小于S的口令猜测规则序列RS针对测试口令集Q的命中率。
进一步地,步骤S1中,所述语料库的约束条件包括:
1.1)、语料库Γ由若干语料集合构成;
1.2)、每个语料集合的词汇具有相同的属性和长度,数量不超过M条(M可以设置为6000或其他合理的预先固定值),且词汇的字符类型不受约束;
1.3)、两个语料集合之间没有相同的词汇;
1.4)、语料库中包括小写字母语料集合[az]、大写字母语料集合[AZ]、数字语料集合[09]和特殊符号语料集合[SP],分别对应ASCII码中的小写字母、大写字母、数字和不包含上述类型的其他可打印字符。
语料库Γ包含了N个语料集合,使用Ci表示第i个语料集合,其中i=1…N。同一个语料集合包含了同一类型的词汇。语料集合的词汇类型包括但不限于英语常见姓名、地名、常见键盘字符序列、常见日期格式、汉语拼音等。
对于第i个语料集合Ci,|Ci|定义为其词汇的数量,l(Ci)定义为其词汇的长度。
进一步地,步骤S2中,所述语料乘积规则包括:
2.1)、语料乘积规则由若干语料集合组成;基于语料库Γ,语料乘积规则r可以描述为n个语料集合的组合:r=C1…Cn,其中Ci∈Γ,i=1,…,n,n≥1。
2.2)、语料乘积规则所对应的猜测口令集合为此规则中所有语料集合的笛卡尔乘积,此规则的猜测次数为上述笛卡尔乘积集合的元素数量;语料乘积规则r对应的猜测口令集合为C1×C2×…×Cn,其中×表示集合的笛卡尔乘积。语料乘积规则r的猜测口令数记为|r|,等于猜测口令集合的数量,即
进一步地,所述步骤S3包括以下步骤:
S3.1、对训练口令集P中的一条训练口令p,穷举基于语料库Γ所有能够产生p的语料乘积规则,然后在这些语料乘积规则中,选择猜测次数不大于这些语料乘积规则中最小猜测次数10倍的语料乘积规则中段数最小的语料乘积规则,作为单条训练口令p对应的语料乘积规则r;
S3.2、将单条训练口令p对应的语料乘积规则r加入到口令训练集P对应的语料乘积规则与出现频度的集合T中;如果该语料乘积规则已经出现,则将其出现频度加1;否则,将此规则加入到集合T中,并设置其出现频度为1;
S3.3、对训练口令集P中的每条训练口令p重复步骤S3.1和S3.2,得到最终的集合T。
具体地,给定语料库Γ和训练口令集合P,将根据下述算法产生语料乘积规则与其出现频度的集合T。算法运行前输入训练口令集合P以及语料库Γ,算法运行流程如下:
其中,有向无环图G=<V,E>,其中V为顶点集合,E为边集合。边集合中的元素为<(vi,vj),W>,标识了从vi到vj的一条边,W为该边对应的语料集合;Rtemp和R1为临时规则集合。
该算法的核心是从单条训练口令p得到语料乘积规则r,即上述算法中的2.1步到2.9步。在算法的2.1到2.4步中,对单条训练口令p构造基于语料库Γ的有向无环图G=<V,E>。在算法的2.5步到2.6步中,产生G中从起点到终点的所有路径,以及每条路径对应的一种语料乘积规则。在算法的2.7步到2.9步,将得到所有可能语料乘积规则的最小猜测口令数,并以其为基准,选取其10倍以内猜测次数的语料乘积规则集合中段数最小的规则为该条口令对应的语料乘积规则。这种选择猜测规则的方法兼顾了语料乘积规则的猜测次数及段数。一方面训练口令对应的语料乘积规则的猜测次数越小越好,以节省计算资源。但是,现实的语料集合规模差异较大,存在着段数较多却有着较小猜测次数的可能性,因此也不能够完全根据猜测次数来决定此口令对应的语料乘积规则。另一方面,简单的语料乘积规则可能会更贴近用户设计口令时的真实用意,因此应该尽可能选择段数较少的语料乘积规则。经过大量尝试,确定了上述猜测次数和段数度之间进行折中的方法。
算法的2.10步是将单条训练口令对应的语料乘积规则加入到口令训练集P对应的语料乘积规则与其出现频度的集合T中。如果该类型规则已经出现,则将其出现频度加1;否则,将此规则加入到集合T中,并设置其出现频度为1。
进一步地,所述步骤S4包括以下步骤:
S4.1、将语料乘积规则的效费比定义为该语料乘积规则在训练口令集合P训练过程中出现的频度除以该语料乘积规则的猜测次数;
S4.2、将训练口令集合P所生成的集合T中的语料乘积规则按照效费比从高到低进行排序,形成语料乘积规则序列R。
对于从训练口令集合P得到的规则集合T中的每个元素(r,f),其效费比定义为f/|r|,其中|r|为语料乘积规则r的猜测次数,f为规则r出现的频度。规则集合T中的语料乘积规则根据语料乘积规则的效费比从大到小排序,可以得到语料乘积规则序列R。
进一步地,所述步骤S5包括以下步骤:
S5.1、输入的口令猜测次数S;
S5.2、对于按照效费比从大到小排序的语料乘积规则序列R,从序列起始处取语料乘积规则,直至所有选取的语料乘积规则的猜测次数之和不小于口令猜测次数S;
S5.3、所有选取的语料乘积规则形成总猜测次数小于S的口令猜测规则序列RS。
在口令破解过程中,受猜测时间和计算规模的约束,口令猜测次数S是有限的。对于外界给定的口令猜测次数S,需要从语料乘积规则序列R的起始规则开始选择,直至所选择到的规则总猜测次数达到S为止。即对于语料乘积规则序列R=<r1,...,rn>,找到小于等于n的整数m满足,且则RS=<r1,...,rm>。|ri|为语料乘积规则序列R中第i个语料乘积规则ri的猜测次数。
所述步骤S6包括以下步骤:
S6.1、将外部输入的测试口令集Q的每条测试口令q转换为规则rq;
S6.2、判断规则rq是否在口令猜测规则序列RS中,如果rq在RS中,则认为该测试口令q被命中,反之,则认为该测试口令q没有被命中;
S6.3、累计测试口令集Q中所有测试口令的命中数量;
S6.4、口令猜测规则序列RS针对测试口令集Q的命中率等于口令猜测规则序列RS中命中的测试口令数除以测试口令集Q的测试口令总数。
相比现有技术,本发明的有益效果如下:
(1)在总猜测次数固定的情况下,口令猜测的命中率较现有技术更高。
(2)由于本发明可以根据口令猜测数S,直接产生了口令猜测规则序列RS,避免了PCFG、Markov过程、语义模式等方法在口令尝试过程中要计算每条口令的出现概率问题,大幅度减少了后续口令猜测过程的附加开销。
(3)本发明具有很强的通用性,不同的语料库可以实现不同类型的口令猜测方法。
(4)使用不同地域的训练口令集合P,本发明可以得到针对不同地域的口令猜测规则。
(5)检测测试口令集命中率时不需要产生真实的猜测口令集合,本发明只需要计算测试口令集中口令对应的规则,可以快速检测大规模猜测口令集合的命中率,而不受到存储容量的限制。
附图说明
图1是本发明面向口令猜测的语料乘积规则的描述、生成与检测方法的总体流程图。
图2是根据训练口令集产生语料乘积规则序列R的流程图。
图3是根据口令猜测次数S,从语料乘积规则序列R中选择口令猜测规则序列RS的流程图。
图4是针对测试口令集Q,检测总猜测次数小于S的语料猜测规则序列RS命中率的流程图。
图5是针对口令“loverain”所产生的有向无环图。
图6是训练集为Rockyou,测试集为phpBB时,猜测次数与命中率之间的关系图。
具体实施方式
以下结合附图和实施例对本发明的具体实施作进一步说明,但本发明的实施和保护不限于此。
面向口令猜测的语料乘积规则的描述、生成与检测方法,如图1所示,包括以下步骤:
S1、定义语料库的约束条件;
S2、描述语料乘积规则;
S3、针对训练口令集P中的每条训练口令p产生单条口令对应的语料乘积规则,并形成训练口令集P对应的语料乘积规则及其出现频度的集合T;T中的元素为二元组(r,f),其中r为规则,f为规则r出现的频度;
S4、使用效费比指标对规则集合T进行排序,得到语料乘积规则序列R;
S5、根据外部输入的口令猜测数S,从R中选择语料乘积规则,形成总猜测次数小于S的口令猜测规则序列RS;
S6、检测总猜测次数小于S的口令猜测规则序列RS针对测试口令集Q的命中率。
进一步地,步骤S1中,所述语料库的约束条件包括:
1.1)、语料库Γ由若干语料集合构成;
1.2)、每个语料集合的词汇具有相同的属性和长度,数量不超过M条,且词汇的字符类型不受约束;
1.3)、两个语料集合之间没有相同的词汇;
1.4)、语料库中包括小写字母语料集合[az]、大写字母语料集合[AZ]、数字语料集合[09]和特殊符号语料集合[SP],分别对应ASCII码中的小写字母、大写字母、数字和不包含上述类型的其他可打印字符。
进一步地,步骤S2中,所述语料乘积规则包括:
2.1)、语料乘积规则由若干语料集合组成;
2.2)、语料乘积规则所对应的猜测口令集合为此规则中所有语料集合的笛卡尔乘积,此规则的猜测次数为上述笛卡尔乘积集合的元素数量;
2.3)、一条语料乘积规则所对应的猜测口令集合中所有口令的长度相同。
进一步地,如图2所示,所述步骤S3包括以下步骤:
S3.1、对训练口令集P中的一条训练口令p,穷举基于语料库Γ所有能够产生p的语料乘积规则,然后在这些语料乘积规则中,选择猜测次数不大于这些语料乘积规则中最小猜测次数10倍的语料乘积规则中段数最小的语料乘积规则,作为单条训练口令p对应的语料乘积规则r;
S3.2、将单条训练口令p对应的语料乘积规则r加入到口令训练集P对应的语料乘积规则与出现频度的集合T中;如果该语料乘积规则已经出现,则将其出现频度加1;否则,将此规则加入到集合T中,并设置其出现频度为1;
S3.3、对训练口令集P中的每条训练口令p重复步骤S3.1和S3.2,得到最终的集合T。
进一步地,所述步骤S4包括以下步骤:
S4.1、将语料乘积规则的效费比定义为该语料乘积规则在训练口令集合P训练过程中出现的频度除以该语料乘积规则的猜测次数;
S4.2、将训练口令集合P所生成的集合T中的语料乘积规则按照效费比从高到低进行排序,形成语料乘积规则序列R。
进一步地,如图3所示,所述步骤S5包括以下步骤:
S5.1、输入的口令猜测次数S;
S5.2、对于按照效费比从大到小排序的语料乘积规则序列R,从序列起始处取语料乘积规则r,直至所有选取的语料乘积规则的猜测次数|r|之和不小于口令猜测次数S;
S5.3、所有选取的语料乘积规则形成口令猜测规则序列RS。
进一步地,如图4所示,所述步骤S6包括以下步骤:
S6.1、将外部输入的测试口令集Q的每条测试口令q转换为规则rq;
S6.2、判断规则rq是否在总猜测次数小于S的口令猜测规则序列RS中,如果rq在RS中,则认为该测试口令q被命中,反之,则认为该测试口令q没有被命中;
S6.3、累计测试口令集Q中所有测试口令的命中数量;
S6.4、口令猜测规则序列RS针对测试口令集Q的命中率等于口令猜测规则序列RS中命中的测试口令数h除以测试口令集Q的测试口令总数|Q|。
对于从训练口令集合P得到的规则集合T中的每个元素(r,f),其效费比定义为f/|r|,其中|r|为语料乘积规则r的猜测次数,f为规则r出现的频度。规则集合T中的语料乘积规则根据语料乘积规则的效费比从大到小排序,可以得到语料乘积规则序列R。
本发明的实施需要由数据和软件两个部分组成。其中所需数据包括语料库Γ,训练口令集合P,测试口令集Q。所需软件包括规则生成和频度统计软件(MakeReg v1.0)、口令猜测规则生成软件(Rega V1.0)、命中率检测软件(TestReg V1.0)等三个部分。具体实施步骤如下:
1、基于语料库Γ,对训练口令集合P,通过规则生成和频度统计软件完成步骤S3和S4,将生成语料乘积规则序列R,并存储于文件F中;
2、输入待口令猜测次数S和文件F到口令猜测规则生成软件中,完成步骤S5,生成最终的口令猜测规则序列RS,并存储于文件RF中;
3、输入文件RF和测试口令集Q到命中率检测软件中,完成步骤S6,检测Q在猜测次数为S时的命中率。
实施例1:
口令“loverain”中包含了多个词汇,包括“love”,“lover”,“over”,“in”等。基于这些词汇,可以构成“loverain”的有向无环图,如图5所示。
口令“loverain”的有向无环图中每条路径都带有权值,而每条路径的权值等于对应语料集合中词汇的数量。其中,“in”所在语料集合EN0_2的词汇数量为255,“love”、“over”、“rain”所在语料集合EN0_4的词汇数量为5620,“lover”所在的语料集合EN0_5的词汇数量为2977,小写字母路语料集合的词汇数量为26。
遍历有向无环图,得到从起点到终点的所有可能路径。每一条路径对应一条规则,由此可以得到对应路径和规则的猜测次数和段数。口令“loverain”有以下8条路径,如表1所示:
表1
如表1所示,猜测次数最小的路径为路径3,其猜测次数为19,737,510。猜测次数在路径3猜测次数的10倍以内的候选路径包括路径2、路径3、路径4。其中段数最低的是路径4,其段数为2,所以路4径为最佳路径。此路径为口令“loverain”的最佳分词,其对应规则[EN0_4]{2}为口令“loverain”最终转化成的规则。
实施例2:
本实施例中,以口令集合Rockyou作为训练集,以口令集合phpBB作为测试集,在猜测次数变化时,本发明对测试集的命中率如表2所示,猜测次数与命中率之间的关系如图6所示。
表2
猜测次数 | 10<sup>8</sup> | 10<sup>9</sup> | 10<sup>10</sup> | 10<sup>11</sup> | 10<sup>12</sup> | 10<sup>13</sup> | 10<sup>14</sup> | 10<sup>15</sup> |
命中率 | 38% | 52% | 63% | 72% | 80% | 86% | 90% | 94% |
表3给出了本发明与相关论文中的口令猜测方法比较的猜测命中率。在大多数情况下,本发明口令的命中率大部分情况都明显优于已有的实验结果,仅仅只有一个例外,即在猜测总数较小时,本发明稍弱于5阶Markov过程,这是由于本发明产生的猜测空间较Markov过程更大,而且覆盖了训练集中未曾出现的语料元素。
表3
表-3中的参考文献如下:
[Ur15]B.Ur,S.M.Segreti,L.Bauer,N.Christin,L.F.Cranor,S.Komanduri,D.Kurilova,M.L.Mazurek,W.Melicher,and R.Shay,“Measuring real world accuraciesand biases in modeling password guessability,”in 24th USENIX SecuritySymposium(USENIX Security 15).Washington,D.C.:USENIX Association,2015,pp.463–481.;
[Ji17]X.H.W.H.Z.L.R.B.Shouling Ji,Shukun Yang,“Zero-sum passwordcracking game:A large-scale empirical study on the crackability,correlation,and security of passwords,”IEEE TRANSACTIONS ON DEPENDABLE AND SECURECOMPUTING,vol.14,no.5,pp.550–564,Oct.2017.。
实施例3:
设置语料库Γ仅仅包含大写字母、小写、字母和数字等四种类型的语料集合,则本发明所述方法可以产生暴力猜测规则序列。
Claims (3)
1.面向口令猜测的语料乘积规则的描述、生成与检测方法,其特征在于,包括以下步骤:
S1、定义语料库的约束条件;
S2、描述语料乘积规则;
S3、针对训练口令集P中的每条训练口令p产生单条口令对应的语料乘积规则,并形成训练口令集P对应的语料乘积规则及其出现频度的集合T;T中的元素为二元组(r,f),其中r为规则,f为规则r出现的频度;包括以下步骤:
S3.1、对训练口令集P中的一条训练口令p,穷举基于语料库Γ所有能够产生p的语料乘积规则,然后在这些语料乘积规则中,选择猜测次数不大于这些语料乘积规则中最小猜测次数10倍的语料乘积规则中段数最小的语料乘积规则,作为单条训练口令p对应的语料乘积规则r;
S3.2、将单条训练口令p对应的语料乘积规则r加入到口令训练集P对应的语料乘积规则与其出现频度的集合T中;如果该语料乘积规则已经出现,则将其出现频度加1;否则,将此规则加入到集合T中,并设置其出现频度为1;
S3.3、对训练口令集P中的每条训练口令p重复步骤S3.1和S3.2,得到最终的集合T;
S4、使用效费比指标对规则集合T进行排序,得到语料乘积规则序列R;包括以下步骤:
S4.1、将语料乘积规则的效费比定义为该语料乘积规则在训练口令集合P训练过程中出现的频度除以该语料乘积规则的猜测次数;
S4.2、将训练口令集合P所生成的集合T中的语料乘积规则按照效费比从高到低进行排序,形成语料乘积规则序列R;
S5、根据外部输入的口令猜测数S,从R中选择语料乘积规则,形成总猜测次数小于S的口令猜测规则序列RS;包括以下步骤:
S5.1、输入的口令猜测数S;
S5.2、对于按照效费比从大到小排序的语料乘积规则序列R,从序列起始处取语料乘积规则,直至所有选取的语料乘积规则的猜测次数之和不小于口令猜测数S;
S5.3、所有选取的语料乘积规则形成总猜测次数小于S的口令猜测规则序列RS;
S6、检测总猜测次数不超过S的口令猜测规则序列RS针对测试口令集Q的命中率;包括以下步骤:
S6.1、将外部输入的测试口令集Q的每条测试口令q转换为规则rq;
S6.2、判断规则rq是否在总猜测次数小于S的口令猜测规则序列RS中,如果rq在RS中,则认为该测试口令q被命中,反之,则认为该测试口令q没有被命中;
S6.3、累计测试口令集Q中所有测试口令的命中数量;
S6.4、总猜测次数小于S的口令猜测规则序列RS针对测试口令集Q的命中率等于口令猜测规则序列中命中的测试口令数除以测试口令集的测试口令总数。
2.根据权利要求1所述的面向口令猜测的语料乘积规则的描述、生成与检测方法,其特征在于,步骤S1中,所述语料库的约束条件包括:
1.1)、语料库Γ由若干语料集合构成;
1.2)、每个语料集合的词汇具有相同的属性和长度,数量不超过M条,且词汇的字符类型不受约束;
1.3)、两个语料集合之间没有相同的词汇;
1.4)、语料库中包括小写字母语料集合[az]、大写字母语料集合[AZ]、数字语料集合[09]和特殊符号语料集合[SP],分别对应ASCII码中的小写字母、大写字母、数字和不包含上述类型的其他可打印字符。
3.根据权利要求1所述的面向口令猜测的语料乘积规则的描述、生成与检测方法,其特征在于,步骤S2中,所述语料乘积规则包括:
2.1)、语料乘积规则由若干语料集合组成;
2.2)、语料乘积规则所对应的猜测口令集合为此规则中所有语料集合的笛卡尔乘积,此规则的猜测次数为上述笛卡尔乘积集合的元素数;
2.3)、一条语料乘积规则所对应的猜测口令集合中所有口令的长度相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910820798.7A CN110555140B (zh) | 2019-08-29 | 2019-08-29 | 面向口令猜测的语料乘积规则的描述、生成与检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910820798.7A CN110555140B (zh) | 2019-08-29 | 2019-08-29 | 面向口令猜测的语料乘积规则的描述、生成与检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110555140A CN110555140A (zh) | 2019-12-10 |
CN110555140B true CN110555140B (zh) | 2022-11-22 |
Family
ID=68738663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910820798.7A Active CN110555140B (zh) | 2019-08-29 | 2019-08-29 | 面向口令猜测的语料乘积规则的描述、生成与检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110555140B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112329002B (zh) * | 2020-08-31 | 2024-04-09 | 华南理工大学 | 根据部分口令明文特征动态调整猜测规则执行次序的方法 |
CN112149388B (zh) * | 2020-09-25 | 2024-04-09 | 华南理工大学 | 一种识别口令中词汇变形并产生猜测规则的方法 |
CN112861113B (zh) * | 2021-01-08 | 2022-05-20 | 复旦大学 | 一种参数化混合模型的口令猜测方法 |
CN113886784B (zh) * | 2021-12-06 | 2022-04-22 | 华南理工大学 | 基于语料库提升小训练集猜测效率的口令猜测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763918A (zh) * | 2018-04-10 | 2018-11-06 | 华东师范大学 | 一种基于语义变换的口令加强方法 |
CN109829289A (zh) * | 2019-01-09 | 2019-05-31 | 中国电子科技集团公司电子科学研究院 | 口令猜测方法 |
-
2019
- 2019-08-29 CN CN201910820798.7A patent/CN110555140B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763918A (zh) * | 2018-04-10 | 2018-11-06 | 华东师范大学 | 一种基于语义变换的口令加强方法 |
CN109829289A (zh) * | 2019-01-09 | 2019-05-31 | 中国电子科技集团公司电子科学研究院 | 口令猜测方法 |
Non-Patent Citations (3)
Title |
---|
Generating and remembering passwords;Brown AS等;《Applied Cognitive Psychology》;20041231;641–651 * |
口令安全研究进展;王平等;《计算机研究与发展》;20161231(第10期);44-59 * |
口令强度评估方法与软件工具;颜锐荣;《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》;20190115;I138-1692 * |
Also Published As
Publication number | Publication date |
---|---|
CN110555140A (zh) | 2019-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110555140B (zh) | 面向口令猜测的语料乘积规则的描述、生成与检测方法 | |
CN111310443B (zh) | 一种文本纠错方法和系统 | |
KR100630886B1 (ko) | 문자 스트링 식별 | |
US20060020448A1 (en) | Method and apparatus for capitalizing text using maximum entropy | |
CN110232923B (zh) | 一种语音控制指令生成方法、装置及电子设备 | |
Hughes et al. | Reliable and scalable variational inference for the hierarchical dirichlet process | |
CN101131706A (zh) | 一种查询修正方法及系统 | |
JP2010537286A (ja) | 領域辞書の作成 | |
CN111651986B (zh) | 事件关键词提取方法、装置、设备及介质 | |
CN107180084A (zh) | 词库更新方法及装置 | |
CN113268576B (zh) | 一种基于深度学习的部门语义信息抽取的方法及装置 | |
CN111966810A (zh) | 一种用于问答系统的问答对排序方法 | |
CN114186061A (zh) | 语句意图预测方法、装置、存储介质及计算机设备 | |
CN112232055A (zh) | 一种基于拼音相似度与语言模型的文本检测与纠正方法 | |
CN111506726A (zh) | 基于词性编码的短文本聚类方法、装置及计算机设备 | |
CN112149388B (zh) | 一种识别口令中词汇变形并产生猜测规则的方法 | |
JPH11328317A (ja) | 日本語文字認識誤り訂正方法及び装置、並びに、誤り訂正プログラムを記録した記録媒体 | |
CN111339778A (zh) | 文本处理方法、装置、存储介质和处理器 | |
Alajmi et al. | Hidden markov model based Arabic morphological analyzer | |
CN112651590B (zh) | 一种指令处理流程推荐的方法 | |
CN113282746B (zh) | 一种网络媒体平台变体评论对抗文本生成方法 | |
CN111428475B (zh) | 分词词库的构建方法、分词方法、装置及存储介质 | |
CN110909551B (zh) | 语言预训练模型更新方法、装置、电子设备及存储介质 | |
CN115688748A (zh) | 问句纠错方法、装置、电子设备及存储介质 | |
Manohar et al. | Spellchecker for Malayalam using finite state transition models |
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 |