当前位置: 首页 > 专利查询>北京大学专利>正文

基于随机森林模型的用户认证口令安全评估方法及装置制造方法及图纸

技术编号:22308586 阅读:41 留言:0更新日期:2019-10-16 08:39
本发明专利技术公布了一种基于随机森林模型的用户认证口令安全评估方法及装置,包括:前缀特征提取模块、训练集读入和处理模块、模型训练模块、口令生成模块;对Markov模型进行改进,将口令训练集中口令的每个字符作为一个类别,提取出字符的前缀特征作为特征向量,采用随机森林进行训练,得到一个多分类问题的概率模型;对于任意字符串,通过该概率模型得到前缀的后缀字符的概率分布,生成候选口令,由此实现对用户口令进行安全评估。本发明专利技术能够克服原始Markov模型由于模型拟合原理导致的容易过拟合的问题,攻击效果更好、算法效果更稳定,能够更准确地评估口令安全性。

Security evaluation method and device of user authentication password based on random forest model

【技术实现步骤摘要】
基于随机森林模型的用户认证口令安全评估方法及装置
本专利技术属于信息安全
,涉及用户口令安全认证技术,尤其涉及一种不使用用户个人信息的基于随机森林模型的用户认证口令的安全评估方法及装置,通过获取用户认证口令评估用户身份的安全性。
技术介绍
口令在过去几十年里一直是最主要的身份认证方式之一,由于其具有成本低廉、简单易用等特点,在可预见的未来仍将是不可替代的身份认证方式。用户在设置口令时往往为了方便记忆而忽视了口令的安全性,因此为了防止用户设置容易被攻击者攻击的口令,大多数网站会使用口令强度评价器评估用户口令强度。目前使用效果较好的是基于口令猜测算法的强度评价,这种方法能够模拟现实中攻击者进行攻击的场景,能够真实反映出口令对于攻击者的口令强度。随着技术的发展,攻击者采用不断改进的口令猜测算法以获取用户口令。但是,现有的口令猜测算法或口令评估方法存在一些问题,无法准确评估口令的安全性,容易对用户设置口令造成误导,使得用户设置口令很容易被攻击者猜测得到,这可能引发一系列信息安全问题。在2005年,Narayanan和Shmatikov基于自然语言处理的方法,提出了一个基于Markov模型的口令猜测算法(ArvindNarayananandVitalyShmatikov.“Fastdictionaryattacksonpasswordsusingtime-spacetradeoff”.In:Proc.CCS,2005:364–372.):假设口令中每个字符只与前面n个字符相关,而与其它字符无关;通过统计字符串的频次,使用贝叶斯公式计算每个前缀后面的字符概率。由于该算法基于统计频次拟合模型,导致算法在阶数n过大时容易过拟合,并且算法效果依赖于训练集大小以及口令多样性,由于概率计算需要使用训练集中字符串的频次,因此,利用该算法无法准确评估用户口令的强度。在2009年,Weir等提出了另一种基于概率模型的口令猜测算法:概率上下文无关文法(PCFG)(MattWeir,SudhirAggarwal,BrenoDeMedeirosetal.“Passwordcrackingusingprobabilisticcontext-freegrammars”.In:Proc.S&P,2009:391–405.)。该算法的核心思想是把字符串分为三类:DLS字段,即D(数字)、L(大小写字母)和S(特殊字符),然后根据这三类字符分割口令,使用训练得到的上下文无关文法计算每个口令的概率。由于该算法的模型拟合采用的是对自定义的DLS字段进行分割,从而导致利用该算法无法准确估计一些长结构的口令强度,此种口令的强度大多会被错误地高估。在2016年,Melicher等提出了一个基于深度学习的口令猜测算法(WilliamMelicher,BlaseUr,SeanMSegretietal.“Fast,lean,andaccurate:Modelingpasswordguessabilityusingneuralnetworks”.In:25th{USENIX}SecuritySymposium({USENIX}Security16),2016:175–191.)。该算法首次应用神经网络,基于Markov模型的思想,采用LSTM(LongShort-TermMemory,长短期记忆网络)构建神经网络。但是,该算法的效果依赖于超参数的设置,评估口令强度的稳定性低。
技术实现思路
为了克服上述现有技术的不足,本专利技术提供一种基于随机森林模型的用户认证口令的安全评估方法,无需用户个人信息即可完成对用户认证口令的安全性评估,通过使用随机森林模型拟合口令猜测模型获取用户认证口令,克服已有的原始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.对每个口令进行补齐,原始口令前添加多个字符,即起始符(前缀字符串的长度等于本文档来自技高网
...

【技术保护点】
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,直到候选口令队列为空,得到候选口令数组;候选口令数组是二维数字,第一维表示生成的候选口令,第二维表示相应概率值;对候选口令数组根据相应概率值从大到小进行排序;相应概率值越大,生成的口令匹配用户认证口令的可能性越大。...

【技术特征摘要】
1.一种基于随机森林模型的用户认证口令安全评估方法,对Markov模型进行改进,将口令训练集中口令的每个字符作为一个类别,提取出字符的前缀特征作为特征向量,采用随机森林进行训练,得到一个多分类问题的概率模型;对于任意字符串,通过该概率模型得到口令前缀的后缀字符的概率分布,生成候选口令,由此评估用户认证口令的安全性;包括如下步骤:A.提取口令字符串的前缀特征;前缀特征包括字符特征和长度特征;对于字符串长度为n的前缀,共使用4*n+2个维度表示前缀的特征;具体执行如下操作:A1.遍历前缀中的每个字符,对于每个字符提取字符特征;字符特征即前缀中的每个字符的特征;字符特征包括四个维度的特征,分别为:字符类型、字符所在类型序号、字符键盘所在行号、字符键盘所在列号;A2.获取前缀的长度特征,包括两个特征:第一个是前缀所在口令已经遍历的字符的长度;第二个是在前缀所在口令中,前缀后一个字符所在的相同字符类型的段已经遍历的长度;B.用口令训练集训练随机森林模型,在随机森林模型训练阶段,执行如下操作:B1.对每个口令进行补齐:即原始口令前添加多个起始符,添加起始符的个数等于随机森林模型的阶数n;原始口令后增加一个字符即结束符,形成新的口令字符串;从原始口令的第一个字符开始,遍历每个字符及其对应的前缀;把当前字符作为目标类别,对当前字符对应的前缀使用步骤A的方法提取前缀特征,作为前缀特征向量;B2.把步骤B1得到的前缀特征向量和目标类别分别保存到特征向量数组和相应的目标类别数组中;B3.遍历训练集中所有口令,对每个口令执行步骤B1和B2;将得到的特征向量数组和目标类别数组输入到随机森林中进行训练,得到训练好的随机森林模型;C.在生成口令阶段,执行如下操作:C1.从空串开始生成口令,空串的概率赋为1,首先对空串补齐起始符;将空串和相应概率二元组压入到候选口令队列中,所述二元组表示为(“stststststst”,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...

【专利技术属性】
技术研发人员:王平张子健汪定
申请(专利权)人:北京大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1