CN110334488B - 基于随机森林模型的用户认证口令安全评估方法及装置 - Google Patents
基于随机森林模型的用户认证口令安全评估方法及装置 Download PDFInfo
- Publication number
- CN110334488B CN110334488B CN201910513933.3A CN201910513933A CN110334488B CN 110334488 B CN110334488 B CN 110334488B CN 201910513933 A CN201910513933 A CN 201910513933A CN 110334488 B CN110334488 B CN 110334488B
- Authority
- CN
- China
- Prior art keywords
- character
- password
- prefix
- random forest
- probability
- 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
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公布了一种基于随机森林模型的用户认证口令安全评估方法及装置,包括:前缀特征提取模块、训练集读入和处理模块、模型训练模块、口令生成模块;对Markov模型进行改进,将口令训练集中口令的每个字符作为一个类别,提取出字符的前缀特征作为特征向量,采用随机森林进行训练,得到一个多分类问题的概率模型;对于任意字符串,通过该概率模型得到前缀的后缀字符的概率分布,生成候选口令,由此实现对用户口令进行安全评估。本发明能够克服原始Markov模型由于模型拟合原理导致的容易过拟合的问题,攻击效果更好、算法效果更稳定,能够更准确地评估口令安全性。
Description
技术领域
本发明属于信息安全技术领域,涉及用户口令安全认证技术,尤其涉及一种不使用用户个人信息的基于随机森林模型的用户认证口令的安全评估方法及装置,通过获取用户认证口令评估用户身份的安全性。
背景技术
口令在过去几十年里一直是最主要的身份认证方式之一,由于其具有成本低廉、简单易用等特点,在可预见的未来仍将是不可替代的身份认证方式。用户在设置口令时往往为了方便记忆而忽视了口令的安全性,因此为了防止用户设置容易被攻击者攻击的口令,大多数网站会使用口令强度评价器评估用户口令强度。目前使用效果较好的是基于口令猜测算法的强度评价,这种方法能够模拟现实中攻击者进行攻击的场景,能够真实反映出口令对于攻击者的口令强度。
随着技术的发展,攻击者采用不断改进的口令猜测算法以获取用户口令。但是,现有的口令猜测算法或口令评估方法存在一些问题,无法准确评估口令的安全性,容易对用户设置口令造成误导,使得用户设置口令很容易被攻击者猜测得到,这可能引发一系列信息安全问题。
在2005年,Narayanan和Shmatikov基于自然语言处理的方法,提出了一个基于Markov模型的口令猜测算法(Arvind Narayanan and Vitaly Shmatikov.“Fastdictionary attacks on passwords using time-space tradeoff”.In:Proc.CCS,2005:364–372.):假设口令中每个字符只与前面n个字符相关,而与其它字符无关;通过统计字符串的频次,使用贝叶斯公式计算每个前缀后面的字符概率。由于该算法基于统计频次拟合模型,导致算法在阶数n过大时容易过拟合,并且算法效果依赖于训练集大小以及口令多样性,由于概率计算需要使用训练集中字符串的频次,因此,利用该算法无法准确评估用户口令的强度。
在2009年,Weir等提出了另一种基于概率模型的口令猜测算法:概率上下文无关文法(PCFG)(Matt Weir,Sudhir Aggarwal,Breno De Medeiros et al.“Passwordcracking using probabilistic context-free grammars”.In:Proc.S&P,2009:391–405.)。该算法的核心思想是把字符串分为三类:DLS字段,即D(数字)、L(大小写字母)和S(特殊字符),然后根据这三类字符分割口令,使用训练得到的上下文无关文法计算每个口令的概率。由于该算法的模型拟合采用的是对自定义的DLS字段进行分割,从而导致利用该算法无法准确估计一些长结构的口令强度,此种口令的强度大多会被错误地高估。
在2016年,Melicher等提出了一个基于深度学习的口令猜测算法(WilliamMelicher,Blase Ur,Sean M Segreti et al.“Fast,lean,and accurate:Modelingpassword guessability using neural networks”.In:25th{USENIX}SecuritySymposium({USENIX}Security 16),2016:175–191.)。该算法首次应用神经网络,基于Markov模型的思想,采用LSTM(Long Short-Term Memory,长短期记忆网络)构建神经网络。但是,该算法的效果依赖于超参数的设置,评估口令强度的稳定性低。
发明内容
为了克服上述现有技术的不足,本发明提供一种基于随机森林模型的用户认证口令的安全评估方法,无需用户个人信息即可完成对用户认证口令的安全性评估,通过使用随机森林模型拟合口令猜测模型获取用户认证口令,克服已有的原始Markov模型由于模型拟合原理导致的容易过拟合的问题。与基于深度学习的口令猜测算法相比,本发明方法可以更准确、更稳定地评估用户口令的安全性。
本发明的原理是:现有方法通过口令猜测模型获得用户认证口令。本发明使用随机森林拟合口令猜测模型,通过把口令猜测生成的问题看作是多分类问题,把口令中每个字符看作是类别,字符前若干长度的前缀特征作为特征向量,通过随机森林拟合这个多分类问题。随机森林拟合的样本是前缀特征和相应字符类别,每次划分时考虑前缀特征中使***后基尼不纯度最小的特征作为划分规则,满足相同规则的样本划分到同一个子节点中。最后满足同一组划分规则的样本落到同一个叶子节点中,叶子节点中的样本由于满足同一组划分规则因此可以认为是相似的样本,字符类别的分布也可以认为是相似的。训练后,随机森林拟合出多棵决策树,每棵决策树由多组划分规则和包含相似样本的叶子节点构成。本发明方法改进了原始Markov模型通过统计频次拟合模型的原理,充分利用每个字符前的前缀特征,解决了原始Markov模型容易过拟合的问题以及口令强度评估不准确的问题。
本发明提供的技术方案如下:
一种基于随机森林模型的用户认证口令的安全评估方法,对现有Markov模型进行改进,将口令训练集口令中的每个字符作为一个类别,提取出字符的前缀特征作为特征向量,使用随机森林模型进行训练,得到一个多分类问题的概率模型;对于任意字符串,通过该概率模型得到前缀的后缀字符(即前缀后面的一个字符)的概率分布,生成候选口令,实现对用户认证口令的安全性(强度)进行评估;包括如下步骤:
A.提取口令字符串(口令训练集中的口令)的前缀特征;前缀特征包括字符特征和长度特征;在提取字符串的前缀特征时,包括提取字符特征和长度特征;具体执行如下操作:
A1.字符特征用四个维度的特征表示前缀中的每个字符;四个维度的特征包括:字符类型、字符所在类型序号、字符键盘所在行号、字符键盘所在列号,称为字符特征;
遍历前缀中的每个字符,对于每个字符用四个维度的特征表示:字符类型、字符所在类型序号、字符键盘所在行号、字符键盘所在列号。其中,字符类型用0、1、2、3分别表示特殊字符、数字、大写字母和小写字母;所在类型序号即字符的序号,用0~26表示a~z和A~Z,用10、1~9表示0~9,用0~32表示各个特殊字符的序号;字符键盘所在行号和列号即字符在键盘上所在的位置,键盘第一行从1开始计数,如1表示为(1,1),q表示为(2,1)等。同时考虑shift键对键盘进行切换,表示方法与无shift键时相同。
A2.获取前缀的长度特征;
考虑前缀的长度特征,包括两个特征:第一个是前缀所在口令已经遍历的字符的长度;第二个是在前缀所在口令中,前缀后一个字符所在的相同字符类型的段已经遍历的长度。
如对于口令“789abc1234”,正在提取特征的前缀为“abc123”,则当前口令已经遍历的长度为前面的“789”加上“abc123”的长度,即为9;当前字符为4,4所在的段为“1234”,在“1234”中已经遍历的长度即为“123”的长度3,所以该前缀的长度特征为(9,3);
A3.通过步骤A1和A2提取得到前缀的特征,对于字符串长度为n的前缀,每个字符的字符特征用4个维度表示,长度特征用2个维度表示,前缀特征的表示一共使用4*n+2个维度。
B.用口令训练集训练随机森林模型,在随机森林模型训练阶段,执行如下操作:
B1.对每个口令进行补齐,原始口令前添加多个字符,即起始符(前缀字符串的长度等于阶数n,即添加起始符的个数等于模型的阶数n),原始口令后增加1个字符即结束符,形成新的口令字符串;从原始口令的第一个字符开始,遍历每个字符及其对应的前缀,其中前缀长度优选为大于等于6;把当前字符作为目标类别,对当前字符对应的前缀使用步骤A的方法提取前缀特征,包括字符特征和长度特征;
B2.把步骤B1得到的前缀特征向量和目标类别分别保存到特征向量数组和相应的目标类别数组中。
B3.遍历训练集中所有口令,对每个口令执行步骤B1和B2。把得到的特征向量数组和目标类别数组输入到随机森林中进行训练,得到训练好的随机森林模型。具体实施时,随机森林决策树棵数设置为30,叶子节点最少样本数设置为10。
C.在生成口令阶段,执行如下操作:
C1.从空串开始生成口令,空串的概率赋为1,首先对空串补齐起始符,方便后续提取,把空串和相应概率二元组(表示为(“st st st st st st”,1),其中st为起始符)压入到候选口令队列中。该二元组的第一列表示候选口令的字符串,第二列表示该生成的候选口令的概率。
C2.弹出候选口令队列的队首,对于候选口令队首的字符串(记为S),使用步骤A的方法提取S最后长度为n的字符串(前缀)特征,把提取出的特征输入到步骤B训练好的随机森林模型中,得到S的后一个字符的概率分布,使用laplace平滑方法对概率为0的字符概率进行平滑,平滑参数为0.001,即对每个字符的概率均加上0.001,然后再做一次正规化操作。若终结符的字符概率Pend乘以候选口令的概率PS大于设置阈值,则把(S,Pend*PS)这个二元组输出到候选口令数组中;若该字符串S后接其他各个字符c的字符概率Pc乘以候选口令的字符串S的概率PS大于阈值,则把(S|c,Pc*PS)的结果输出到候选口令队列中,其中,S|c表示S后面接字符c。
C3.重复执行步骤C2,直到候选口令队列为空。对候选口令数组(二维数字,第一维表示生成的口令,第二维表示相应概率值)根据相应概率从大到小进行排序,最后把生成口令及相应概率输出到文件中。相应概率值越大,则生成的口令匹配用户认证口令的可能性越大。
具体实施时,利用上述基于随机森林的用户口令生成和评估方法实现的***生成用户口令并进行口令强度评估,包括如下模块:前缀特征提取模块、训练集读入和处理模块、模型训练模块、口令猜测生成模块;
前缀特征提取模块用于提取字符串的前缀特征,包括字符特征和长度特征;对于字符串长度为n的前缀,前缀特征使用4*n+2个维度表示;
训练集读入和处理模块用于读入口令训练集并进行包括补齐与提取前缀特征的处理;
模型训练模块用于训练随机森林模型,当前字符作为目标类别,将前缀特征和目标类别分别保存到特征向量数组和相应的目标类别数组中,将特征向量数组和目标类别数组输入到随机森林中进行训练,得到训练好的随机森林模型;
口令猜测生成模块用于将前缀特征输入到训练好的随机森林模型中,得到前缀字符串的后缀字符的概率分布,进一步进行口令猜测生成口令。
为实现上述基于随机森林的用户口令生成和评估方法,本发明还提供一种基于随机森林的用户口令生成装置,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时。存储器可采用128GB内存和512GB固态硬盘;处理器可采用Intel Core i3/5/7第2代以上处理器;操作***可采用Linux和Windows 7/10;该装置能够提高对用户口令的安全性评估的稳定性和准确性。
本发明的有益效果是:
利用本发明所提供的基于随机森林模型的用户认证口令的安全评估方法及装置,提高了采用现有传统口令猜测算法评估口令强度方法的拟合能力和泛化能力,提升了口令获取的准确率,同时本发明方法降低了对口令训练集大小的依赖,提高了方法的鲁棒性,能够提高对用户口令的安全性评估的稳定性和准确性。
附图说明
图1是本发明提供方法的模型训练的流程框图。
图2是采用本发明提供方法生成用户口令的流程框图。
具体实施方式
下面通过实例对本发明做进一步的说明。
假设采用模型为6阶Markov模型,即假设口令中每个字符只与前面6个字符相关,与其他字符无关。
首先以若干个实例说明特征提取的过程。对于任一口令,首先对口令进行补齐,在口令前补6个起始符,口令后补一个结束符。以口令“123456”为例,补齐后为:
“st st st st st st 123456ed”,共13个字符。其中st为起始符,ed为结束符。补齐后,遍历口令中原始口令的每个字符以及结束符,即从字符1开始遍历到字符ed,每个字符前长度为6的字符串为该字符的前缀。然后提取每个字符前长度为6的字符串的前缀特征。即对字符“1”,提取字符串“st st st st st st”的特征,作为字符1的前缀特征;对字符“2”,提取字符串“st st st st st 1”的特征;…对字符ed提取字符串“123456”的前缀特征。
下面说明前缀特征提取的方法。前缀特征分为2类,一是字符特征,二是长度特征。首先提取字符特征,对前缀中的每个字符,用四个维度的特征表示:字符类型、所在类型的序号、字符键盘所在行号、字符键盘所在列号。其中,字符类型用0、1、2、3分别表示特殊字符、数字、大写字母和小写字母;所在类型序号即字符的序号,用0~26表示a~z和A~Z,用10、1~9表示0~9,用0~32表示各个特殊字符的序号;字符键盘所在行号和列号即字符在键盘上所在的位置,键盘第一行从1开始计数,如1表示为(1,1),q表示为(2,1)等。同时考虑shift键对键盘进行切换,表示方法与无shift键时相同。比如,起始符st表示为(0,0,0,0)、字符a表示为(3,1,3,1),字符b表示为(3,2,4,5)…字符0表示为(1,10,1,10),字符1表示为(1,1,1,1)…字符#表示为(1,4,1,3)…。其中特殊字符的序号按照ascii码的顺序进行排序,另外,结束符ed不可能出现在前缀中,因此不需要提取特征。
然后提取长度特征。对于前缀的长度特征(包括两个长度值),第一个是前缀所在口令已经遍历的字符的长度;第二个是在前缀所在口令中,前缀后一个字符所在的相同字符类型的段已经遍历的长度(均不包括起始符)。如对于口令“789abc1234”,正在遍历字符4,提取特征的前缀为“abc123”,则当前口令已经处理的长度为前面的“789”加上“abc123”的长度,即为9,当前字段已经处理的长度即为“123”的长度即为3,所以该前缀的长度特征为(9,3)
以上是特征提取的方法。下面以口令“abc456”中字符4为例,提取该字符的前缀特征。首先对口令补齐为“st st st st st st abc456ed”,字符4的前缀为“st st st abc”,根据上述的特征提取的方法,该前缀的特征为(0,0,0,0,0,0,0,0,0,0,0,0,3,1,3,1,3,2,4,5,3,3,4,3,3,0)
下面说明本发明的训练过程。训练过程需要遍历训练集中的每个口令,对于每个口令,首先使用上述方法对口令进行补全,然后遍历原始口令中的每个字符以及结束符,使用上述方法对每个字符前长度为6的前缀提取特征,用26个维度的特征向量表示该前缀特征。假设口令长度为L,然后把提取出的L+1个特征向量以及相应的L+1个目标字符类别保存到特征向量数组和目标字符类别数组中。遍历训练集中所有口令后,把特征向量数组和目标类别数组输入到随机森林中进行训练,以python的sklearn为例,调用下列语句进行训练:
rf=RandomForestClassifier(n_estimators=30,max_features=0.8,min_samples_leaf=10,random_state=10,n_jobs=4)
rf.fit(data,target)
rf.n_jobs=1
第一行代码为调用sklearn库中随机森林分类器的接口,n_estimators=30表示训练30棵决策树;max_features=0.8表示每次划分随机抽取80%的特征进行选取;min_samples_leaf=10表示叶子节点最少样本数为10;random_state=10表示随机种子,保证每次随机数选取都是相同的,训练的结果也是相同的,应用中可设置其他值;n_jobs=4表示使用4个线程同时训练模型,应用中可设置其他值。
第二行代码作用是把特征向量数组和目标类别数组输入到模型中进行模型拟合。
第三行代码作用是把线程数调整回1,生成口令时采用多线程会导致速度变慢。
下面说明本发明生成口令过程。生成口令时从空串开始生成,概率赋为1,为方便特征提取,首先用起始符补齐空串,补齐后为“st st st st st st”,把(“st st st st stst”,1)这个二元组压入候选口令队列Gq中,第一列表示候选口令的字符串,第二列表示该候选口令的概率。
然后从Gq中弹出队首元素(S,P),首先获取S的最后6个字符作为生成下一个字符的前缀,对这个前缀使用上述前缀特征提取的方法提取出26维的特征向量,然后把该特征向量输入到训练好的随机森林模型中,模型输出下一个字符的概率数组。遍历概率数组中的字符以及相应的概率,假设遍历到字符c,概率为Pc,计算Pnew=P*Pc,若Pnew小于阈值,则不考虑该字符;若Pnew大于阈值,如果c为终结符ed,则把(S|c,Pnew)这个二元组作为最终口令输出到候选口令数组G中。如果c为其他字符,则把(S|c,Pnew)这个二元组压入Gq中。重复以上操作直至Gq为空。
最后把候选口令数组G中的二元组按照概率大小从高到低排序,生成按概率递减的口令,算法结束。
具体实施时,利用基于随机森林的用户口令生成方法实现的***包括如下模块:前缀特征提取模块、训练集读入和处理模块、模型训练模块、口令猜测生成模块;
前缀特征提取模块用于提取字符串的前缀特征,包括字符特征和长度特征;对于字符串长度为n的前缀,前缀特征使用4*n+2个维度表示;
训练集读入和处理模块用于读入口令训练集并进行包括补齐与提取前缀特征的处理;
模型训练模块用于训练随机森林模型,当前字符作为目标类别,将前缀特征和目标类别分别保存到特征向量数组和相应的目标类别数组中,将特征向量数组和目标类别数组输入到随机森林中进行训练,得到训练好的随机森林模型;
口令猜测生成模块用于将前缀特征输入到训练好的随机森林模型中,得到前缀字符串的后缀字符的概率分布,进一步生成口令。
本发明还提供一种基于随机森林的用户口令生成装置,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现上述基于随机森林的用户口令生成方法。存储器可采用128GB内存和512GB固态硬盘;处理器可采用Intel Core i3/5/7第2代以上处理器;操作***可采用Linux和Windows 7/10。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (9)
1.一种基于随机森林模型的用户认证口令安全评估方法,对Markov模型进行改进,将口令训练集中口令的每个字符作为一个类别,提取出字符的前缀特征作为特征向量,采用随机森林进行训练,得到一个多分类问题的概率模型;对于任意字符串,通过该概率模型得到口令前缀的后缀字符的概率分布,生成候选口令,由此评估用户认证口令的安全性;包括如下步骤:
A.提取口令字符串的前缀特征;前缀特征包括字符特征和长度特征;对于字符串长度为n的前缀,共使用4*n+2个维度表示前缀的特征;具体执行如下操作:
A1.遍历前缀中的每个字符,对于每个字符提取字符特征;字符特征即前缀中的每个字符的特征;字符特征包括四个维度的特征,分别为:字符类型、字符所在类型序号、字符键盘所在行号、字符键盘所在列号;
A2.获取前缀的长度特征,包括两个特征:第一个是前缀所在口令已经遍历的字符的长度;第二个是在前缀所在口令中,前缀后一个字符所在的相同字符类型的段已经遍历的长度;
B.用口令训练集训练随机森林模型,在随机森林模型训练阶段,执行如下操作:
B1.对每个口令进行补齐:即原始口令前添加多个起始符,添加起始符的个数等于随机森林模型的阶数n;原始口令后增加一个字符即结束符,形成新的口令字符串;
从原始口令的第一个字符开始,遍历每个字符及其对应的前缀;把当前字符作为目标类别,对当前字符对应的前缀使用步骤A的方法提取前缀特征,作为前缀特征向量;
B2.把步骤B1得到的前缀特征向量和目标类别分别保存到特征向量数组和相应的目标类别数组中;
B3.遍历训练集中所有口令,对每个口令执行步骤B1和B2;将得到的特征向量数组和目标类别数组输入到随机森林中进行训练,得到训练好的随机森林模型;
C.在生成口令阶段,执行如下操作:
C1.从空串开始生成口令,空串的概率赋为1,首先对空串补齐起始符;将空串和相应概率二元组压入到候选口令队列中,所述二元组表示为(“st st st st st st”,1),其中st为起始符,该二元组的第一列表示候选口令的字符串,第二列表示该候选口令的概率;
C2.弹出候选口令队列的队首,候选口令队首的字符串记为S;使用步骤A的方法提取S最后长度为n的字符串的前缀特征,其中n为前缀的字符长度;将提取出的前缀特征输入到步骤B训练好的随机森林模型中,得到S的后一个字符的概率分布,对概率为0的字符概率进行平滑,然后再进行正规化操作;
设置阈值,若终结符的字符概率Pend乘以候选口令的概率PS大于所设置阈值,则把二元组(S,Pend*PS)输出到候选口令数组中;若字符串S后接其他各个字符c的字符概率Pc乘以候选口令的字符串S的概率PS大于所设置阈值,则把(S|c,Pc*PS)的结果输出到候选口令队列中,其中,S|c表示S后面接字符c;
C3.重复执行步骤C2,直到候选口令队列为空,得到候选口令数组;
候选口令数组是二维数字,第一维表示生成的候选口令,第二维表示相应概率值;对候选口令数组根据相应概率值从大到小进行排序;相应概率值越大,生成的口令匹配用户认证口令的可能性越大。
2.如权利要求1所述基于随机森林模型的用户认证口令安全评估方法,其特征是,步骤A1字符特征的字符类型用0、1、2、3分别表示特殊字符、数字、大写字母和小写字母;字符所在类型序号即字符的序号,用0~26分别表示a~z和A~Z,用10、1~9分别表示0~9,用0~32表示特殊字符的序号;字符键盘所在行号和列号即字符在键盘上所在的位置,键盘第一行从1开始计数。
3.如权利要求1所述基于随机森林模型的用户认证口令安全评估方法,其特征是,步骤B1中,前缀长度优选为大于等于6。
4.如权利要求1所述基于随机森林模型的用户认证口令安全评估方法,其特征是,步骤B3把得到的特征向量数组和目标类别数组输入到随机森林中进行训练,得到训练好的随机森林模型;随机森林决策树棵数设置为30,叶子节点最少样本数设置为10。
5.如权利要求1所述基于随机森林模型的用户认证口令安全评估方法,其特征是,步骤C2得到S的后一个字符的概率分布,具体使用laplace平滑方法对概率为0的字符概率进行平滑,平滑参数设置为0.001。
6.一种基于随机森林模型的用户认证口令安全评估装置,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现权利要求1~5任一项所述基于随机森林模型的用户认证口令安全评估方法。
7.如权利要求6所述基于随机森林模型的用户认证口令安全评估装置,其特征是,存储器可采用128GB内存和512GB固态硬盘;处理器可采用Intel Core i3/5/7第2代以上处理器;操作***可采用Linux和Windows。
8.一种基于随机森林模型的用户认证口令安全评估***,包括如下模块:前缀特征提取模块、训练集读入和处理模块、模型训练模块、口令生成模块;
前缀特征提取模块用于提取字符串的前缀特征,包括字符特征和长度特征;
训练集读入和处理模块用于读入口令训练集并进行包括补齐与提取前缀特征的处理;
模型训练模块用于训练随机森林模型,当前字符作为目标类别,将前缀特征和目标类别分别保存到特征向量数组和相应的目标类别数组中,将特征向量数组和目标类别数组输入到随机森林中进行训练,得到训练好的随机森林模型;
口令生成模块用于将前缀特征输入到训练好的随机森林模型中,得到前缀字符串的后缀字符的概率分布,进一步进行口令生成口令。
9.如权利要求8所述基于随机森林模型的用户认证口令安全评估***,其特征是,对于字符串长度为n的前缀,前缀特征使用4*n+2个维度表示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910513933.3A CN110334488B (zh) | 2019-06-14 | 2019-06-14 | 基于随机森林模型的用户认证口令安全评估方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910513933.3A CN110334488B (zh) | 2019-06-14 | 2019-06-14 | 基于随机森林模型的用户认证口令安全评估方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334488A CN110334488A (zh) | 2019-10-15 |
CN110334488B true CN110334488B (zh) | 2021-03-02 |
Family
ID=68142084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910513933.3A Active CN110334488B (zh) | 2019-06-14 | 2019-06-14 | 基于随机森林模型的用户认证口令安全评估方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334488B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241534A (zh) * | 2020-01-13 | 2020-06-05 | 西安电子科技大学 | 一种口令猜测集生成***及方法 |
CN111353147B (zh) * | 2020-03-11 | 2023-03-03 | 鹏城实验室 | 口令强度评估方法、装置、设备及可读存储介质 |
CN112487411A (zh) * | 2020-12-15 | 2021-03-12 | 中国电子科技集团公司第三十研究所 | 基于随机森林的口令猜测方法和*** |
CN112738088B (zh) * | 2020-12-28 | 2023-03-21 | 上海观安信息技术股份有限公司 | 一种基于无监督算法的行为序列异常检测方法及*** |
CN117521052B (zh) * | 2024-01-04 | 2024-06-21 | 中国电信股份有限公司江西分公司 | 一种服务器隐私的保护认证方法、装置、计算机设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685431B1 (en) * | 2000-03-20 | 2010-03-23 | Netscape Communications Corporation | System and method for determining relative strength and crackability of a user's security password in real time |
US20100154039A1 (en) * | 2008-12-17 | 2010-06-17 | At&T Labs, Inc. | Apparatus, methods, and computer program products for facilitating secure password creation and management |
CN102819701A (zh) * | 2012-06-29 | 2012-12-12 | 北京奇虎科技有限公司 | 一种填表组件密码安全性提示的方法和装置 |
CN104268450A (zh) * | 2014-09-11 | 2015-01-07 | 浙江工业大学 | 一种批量口令分级先验检验方法 |
CN106934275A (zh) * | 2017-01-22 | 2017-07-07 | 华东师范大学 | 一种基于个人信息的口令强度评测方法 |
CN109829288A (zh) * | 2019-01-10 | 2019-05-31 | 北京大学 | 一种基于混沌映射的多因素身份认证方法 |
-
2019
- 2019-06-14 CN CN201910513933.3A patent/CN110334488B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685431B1 (en) * | 2000-03-20 | 2010-03-23 | Netscape Communications Corporation | System and method for determining relative strength and crackability of a user's security password in real time |
US20100154039A1 (en) * | 2008-12-17 | 2010-06-17 | At&T Labs, Inc. | Apparatus, methods, and computer program products for facilitating secure password creation and management |
CN102819701A (zh) * | 2012-06-29 | 2012-12-12 | 北京奇虎科技有限公司 | 一种填表组件密码安全性提示的方法和装置 |
CN104268450A (zh) * | 2014-09-11 | 2015-01-07 | 浙江工业大学 | 一种批量口令分级先验检验方法 |
CN106934275A (zh) * | 2017-01-22 | 2017-07-07 | 华东师范大学 | 一种基于个人信息的口令强度评测方法 |
CN109829288A (zh) * | 2019-01-10 | 2019-05-31 | 北京大学 | 一种基于混沌映射的多因素身份认证方法 |
Non-Patent Citations (5)
Title |
---|
Password Expiration Strategy: A Perspective of Ecological Memory;Yiming Zhao,et al.;《2019 IEEE Fifth International Conference on Big Data Computing Service and Applications (BigDataService)》;20190409;第167-172页 * |
Targeted Online Password Guessing:An Underestimated Threat;Ding Wang,et al.;《Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications》;20161028;第1242-1254页 * |
利用随机森林对特征重要性进行评估;zjuPeco;《https://blog.csdn.net/zjuPeco/article/details/77371645》;20170818;第1-2页 * |
可证明安全的基于RSA的远程用户口令认证协议;汪定,等;《***工程理论与实践》;20150125;第35卷(第1期);第191-204页 * |
基于随机性测试的分组密码体制识别方案;赵志诚,等;《密码学报》;20190415;第6卷(第2期);第177-190页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110334488A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334488B (zh) | 基于随机森林模型的用户认证口令安全评估方法及装置 | |
CN108737406B (zh) | 一种异常流量数据的检测方法及*** | |
CN110287312B (zh) | 文本相似度的计算方法、装置、计算机设备及计算机存储介质 | |
CN108764195B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
Shonkwiler | Parallel genetic algorithms. | |
Yuan et al. | Iterative cross learning on noisy labels | |
Jacobsson | Rule extraction from recurrent neural networks: Ataxonomy and review | |
CN109145582B (zh) | 一种基于字节对编码的密码猜测集生成方法、密码破解方法及装置 | |
CN106899440B (zh) | 一种面向云计算的网络入侵检测方法及*** | |
CN109086654B (zh) | 手写模型训练方法、文本识别方法、装置、设备及介质 | |
CN111667066B (zh) | 网络模型的训练、文字识别方法、装置和电子设备 | |
CN113901797B (zh) | 文本纠错方法、装置、设备及存储介质 | |
CN109753987B (zh) | 文件识别方法和特征提取方法 | |
CN109033833B (zh) | 一种基于多特征与特征选择的恶意代码分类方法 | |
CN107451106A (zh) | 文本纠正方法及装置、电子设备 | |
CN110689048A (zh) | 用于样本分类的神经网络模型的训练方法和装置 | |
CN111078876A (zh) | 一种基于多模型集成的短文本分类方法和*** | |
Sarkhel et al. | An enhanced harmony search method for Bangla handwritten character recognition using region sampling | |
CN109783805B (zh) | 一种网络社区用户识别方法、装置和可读存储介质 | |
CN110795935A (zh) | 文字词向量模型的训练方法、装置、终端及存储介质 | |
CN112948578B (zh) | 一种dga域名开集分类方法、装置、电子设备及介质 | |
CN112667979A (zh) | 密码生成方法及装置、密码识别方法及装置、电子设备 | |
CN111353109A (zh) | 一种恶意域名的识别方法及*** | |
CN112711648B (zh) | 一种数据库字符串密文存储方法、电子设备和介质 | |
Chua et al. | Unsupervised learning of patterns in data streams using compression and edit distance |
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 |