一种参数化混合模型的口令猜测方法

文档序号:25214764发布日期:2021-05-28 14:12阅读:243来源:国知局
一种参数化混合模型的口令猜测方法

本发明属于口令安全技术领域,具体为一种参数化混合模型的口令猜测方法。



背景技术:

文本口令是保护个人信息和财产的典型认证方式。虽然研究人员已经提出了多种身份认证方法(例如基于指纹的身份认证)来尝试替代文本口令,但是由于口令在用户可用性方面的显著优势,用户短期内还不会放弃使用文本口令。近年来,许多网站发生了数据库泄漏事件,如天涯、csdn。数据库泄漏事件使得大量的用户口令数据遭到黑客窃取,而大量的真实数据使得基于数学概率模型的数据驱动口令猜测成为了可能,这意味着黑客能够针对用户口令实施更高效的猜测攻击,严重危害着用户口令的安全。为了更好地评估口令的安全强度,研究人员提出了一些高效的概率口令猜测方法(如基于概率上下文无关文法的猜测方法、基于马尔可夫的猜测方法)来模拟黑客攻击,并把用户口令被猜中所需要的猜测数作为其安全强度的依据。

近年来,研究人员对上述概率口令猜测方法提出了若干优化方案。对于基于概率上下文无关文法(pcfg)的猜测方法,优化可以分为两类:(1)使用外部信息(如语义信息或者个人信息);(2)使用更细粒度的预定义模式(如键盘模式)。使用外部信息的典型方法有语义pcfg,而使用更细粒度的预定义模式的典型方法有pcfgv4.1。这些优化方法可以更好地学习用户口令的组成,从而能够生成更接近用户习惯的口令猜测。对于基于马尔可夫的猜测方法,研究人员采用平滑方法来解决稀疏性问题,提高了猜测效率,并提出了不同阶数的马尔可夫模型(其中效果好且常用的是3阶马尔可夫模型,即4-grammarkov)。

目前并未有人提出一种对不同概率猜测模型进行有效结合的口令猜测方法,多数已有方法针对单一模型进行了模型设计上的改进或者简单地从理论评估的角度提出了将多种模型一并考虑的理想的性能上界。单一模型的使用忽视了不同概率猜测模型在口令猜测优势上的不同,也会使得口令强度评估的评估不准确。而理想性能上界的分析并没有从实际可行的角度提出混合模型的口令猜测方法,缺乏实际可行的攻击方式也会导致用户对于这种理想性能上界的重视程度不高。



技术实现要素:

本发明的目的在于提出一种用户实际可用的、能够结合不同猜测模型优势的参数化混合模型的高效口令猜测方法。

本发明提出的参数化混合模型的口令猜测方法,根据口令的构成字符种类定义口令的类别,利用pcfg和markov两类模型针对一类字符构成的口令和两类及以上字符构成的口令不同的猜测优势,训练优化的pcfg模型来猜测两类及以上字符构成的口令,训练markov模型来猜测一类字符构成的口令,从而更好地发挥了不同猜测模型的猜测优势。

本发明提出的参数化混合模型的口令猜测方法,应用了最优的参数化分配策略。该分配策略可以根据训练集中不同类别口令的分布特征,对方法中的不同模型进行猜测数的分配,实现对猜测资源的最优利用。

本发明提供的参数化混合模型的口令猜测方法,具体步骤为:

步骤一、利用训练集训练优化的pcfg和markov口令猜测模型

训练过程分为两部分:训练优化的pcfg模型和训练markov模型。

利用输入的训练集全集对优化的pcfg模型进行训练,并过滤得到的口令结构;利用输入的训练集中一类字符构成的口令对markov模型进行训练。

步骤二、根据最优的参数化策略,分配口令猜测数

根据输入的总猜测数以及训练集中的一类字符构成的口令所占的比例,计算得到markov模型的分配猜测数,并将剩下的分配猜测数作为优化的pcfg模型的分配猜测数。

步骤三、根据分配的猜测数生成备选口令集

利用训练好的优化pcfg和markov口令猜测模型,以及为两者分配的猜测数,分别生成两类及以上字符构成的备选口令集和一类字符构成的备选口令集,最终两者合并得到输入的总猜测数规模的备选口令集。

本发明中,所述的优化的pcfg为综合了当前最新的pcfgv4.1和语义pcfg后的方法,主要综合的是两者针对口令中的连续英文字母片段的分词处理,具体分为以下步骤:

(1)对连续的英文字母片段使用pcfgv4.1进行分词,得到分词后的一段或多段英文字母片段;对同样的连续的英文字母片段也使用语义pcfg进行分词,得到分词后的一段或多段英文字母片段;

(2)针对上述结果进行权衡以选择更优的分词结果:如果pcfgv4.1分词结果仅有一段,而语义pcfg分词结果有多段,选择分出的单词在训练集中出现的平均频度更高的分词结果;如果pcfgv4.1分词结果有多段,而语义pcfg分词结果仅有一段,检查原英文字母片段是否在英文常用词字典中,如果在,使用语义pcfg的分词结果,反之使用pcfgv4.1的分词结果;如果pcfgv4.1分词结果有多段,而语义pcfg分词结果也有多段,但两者的内容不一样,选择分出的单词在训练集中出现的平均频度更高的分词结果。

本发明中,所使用markov为4-grammarkov,即使用字符串中前3个出现的字符来预测下一个出现字符概率的markov模型。

本发明中,pcfgv4.1由weir等人于2019年提出,对连续的英文字母片段使用的是基于训练集单词频度的multi-word分词方法,即根据构成连续英文字母片段的短的单词决定是否对单词进行切分;语义pcfg由veras等人于2014年提出的,使用的是自然语言处理领域的wordsegment方法,即将口令中的连续英文字母片段看作自然语言处理中语句进行分词处理。

当两种方法的分词结果一致的时候,不需要作额外的处理,需要权衡的是两种分词方法发生冲突时的情况,具体分为以下三种情况:

(1)如果pcfgv4.1分词结果仅有一段,而语义pcfg分词结果有多段,则选择分出的单词在训练集中出现的平均频度更高的分词结果;

(2)如果pcfgv4.1分词结果有多段,而语义pcfg分词结果仅有一段,检查原英文字母片段是否在英文常用词字典中,如果在,使用语义pcfg的分词结果,反之则使用pcfgv4.1的分词结果;

(3)如果pcfgv4.1分词结果有多段,而语义pcfg分词结果也有多段,但两者的内容不一样,则选择分出的单词在训练集中出现的平均频度更高的分词结果。

本发明步骤一中,对于训练优化的pcfg模型时的结构过滤操作,具体为:

(1)由于在表示口令结构时,优化的pcfg模型在表示结构时沿用pcfgv4.1使用的6种字符:“a”、“d”、“o”、“y”、“k”和“x”。其中“a”表示英文字母,“d”表示数字,“o”表示特殊符号;“y”表示年份模式,由纯数字构成;“k”表示键盘模式,由两类及以上字符构成;“x”表示上下文模式,也由两类及以上字符构成;

(2)因此需要过滤的是由一类字符构成的口令训练得到的结构,此结构所表示的字符种类应该也只有一种。结合表示结构的6种字符的含义,需要过滤的结构是:由“a”构成的结构、由“d”构成的结构、由“o”构成的结构、由“y”构成的结构以及由“d”和“y”构成的结构。

而在训练markov模型时,需要的操作是从训练集中提取出仅由一类字符构成的口令作为markov模型的训练集。

本发明步骤二中,所述对于分配猜测数的最优参数化策略,具体分为如下步骤:

(1)统计训练集中一类字符(即不区分大小写的英文字母、数字或者特殊符号)构成的口令的数量以及训练集中两类及以上字符构成的口令(即除一类字符构成的口令之外的口令)的总数,用一类口令的数量除以两类及以上字符构成的口令的数量得到比值;

(2)将比值开1.2次方的结果记为k,用的值乘以总猜测数,得到4-grammarkov的分配猜测数;用总猜测数减去4-grammarkov的分配猜测数,得到优化的pcfg模型的分配猜测数。

技术效果

本发明提出的方案是易于实现的,可以方便地实现最优的参数化的混合模型的口令猜测配置。根据训练概率模型时使用的训练集中各类型口令的分布占比,再参考使用者预计可接受的猜测数上限,可以方便地为框架中不同模型按比例分配不同的猜测数,从而保证有限猜测数内框架的总猜测效果可以达到最优。

本发明提出的参数化策略从理论证明的角度论证了其最优性。从最优参数化策略的定义出发,利用等价条件转换、公式推导和一些近似计算,系统地论证了猜测数分配方案的最优性。

本发明提出的方案对应用场景存在一定依赖性,只适用于训练集和测试集同分布的情况,但这个依赖同样是概率模型能够高效工作时的必要条件。因此,本方法作为基于概率模型所提出混合模型的口令猜测方法,可以在原先概率模型有效的场景下发挥更好的猜测效果。

附图说明

图1为混合模型的口令猜测方法框架整体的设计流程图。

具体实施方式

下面对本发明的实施例作详细说明,给出具体的实施方式和操作过程,但本发明的保护范围不限于下述的实施例。

在本发明实施例中,混合模型的口令猜测方法框架设计流程如图1所示。根据口令的构成字符不同,口令一共被分为两大类别:一类字符构成的口令和两类及以上字符构成的口令。其中口令又可以根据具体由英文字母、数字和特殊符号中的哪一类或多类字符构成被分成七小类。

优化的pcfg模型训练

优化的pcfg模型综合了pcfgv4.1和语义pcfg针对英文字母片段的分词方法,具体方式如下:

表1、对pcfgv4.1和语义pcfg针对英文字母片段的分词方法的结合

pcfgv4.1和语义pcfg都会对长的英文字母构成的片段进行分段,从而帮助模型对英文字母构成的内容更好地建模。两者的分段方式一个依赖数据集中的短语频度,一个依赖于自然语言处理的分词结果,各有优劣。表1针对两者可能会出现冲突的情况进行了处理,针对每种情况权衡选择两者中更优的分词结果作为最终结果。

举例来说,对于连续英文字母片段“theproblem”,pcfgv4.1会识别为“thepro”和“blem”,语义pcfg会识别为“the”和“problem”。两种方法都将英文字母片段分为多段,而语义pcfg识别出的段“the”和“problem”的平均频度更高,所以最终以这个结果作为最终的分词结果。

根据最优的参数化策略分配口令猜测数

最优参数化策略的具体做法是记训练集中一类字符口令数量除以其他口令数量的比值开1.2次方的结果为k,用的值乘以总猜测数,得到4-grammarkov的分配猜测数;用总猜测数减去4-grammarkov的分配猜测数,得到优化的pcfg模型的分配猜测数。以下为最优性的证明推导过程。

最优参数化策略考虑的是给定一定的总猜测数,如何分配给不同模型来达到整体猜测效果最优的问题。将每个模型的猜测过程绘制成“猜测数-破解数”曲线,那么这个问题就变成了如何在这些曲线上选择点,使得横坐标(即各模型使用的猜测数)的和(即总猜测数)为定值的情况下,纵坐标(即每个模型的破解数)的和(即总破解数)达到最大。考虑到每个模型的“猜测数-破解数”曲线都可以近似看作光滑单调增的凹函数(即二阶导数小于0),定理1就是对这个问题的解答的证明。

定理1给定两个光滑单调增的凹函数(concavefunction)f(x),g(x),对于这两个函数上任意两个横坐标和为c(c是常数)的点x1,x2,存在满足下列等价条件:

证明过程如下:

首先,假设对于这两个函数上任意两个横坐标和为c(c是常数)的点x1,x2,存在满足然后我们将点向右稍稍移动到点将点向左稍稍移动到点根据假设,我们可以得到同理,我们可以得到然后我们开始下面的推导:

第(1)步到第(2)步在上一段已经提到过,第(2)步到第(3)步是一个移位操作加上一个不等式两边同时除以一个正数的操作,第(4)步对第(3)步的一个化简,表示的是点处一阶导数的左极限值,表示的是点处一阶导数的右极限值。类似地,表示的是点处一阶导数的左极限值,表示的是点处一阶导数的右极限值。由于函数都是光滑的,因此每个点上的一阶导数值近似等于一阶导数值的左极限值和右极限值,并且由于凹函数的性质决定了函数的一阶导数是单调递减的,因此可以得到结合第(4)步我们可以推导出第(5)步:由于两个凹函数的和还是凹函数,即是单调递减的,因此这里找到的局部最优点就是全局最优点。

考虑到定理1只是对两个模型的情况的分析和证明,因此下面又给出了由定理1推导出的针对多个模型情况的引理1。

引理1给定n个光滑单调增的凹函数f1(x),f2(x),...,fn(x),对于这n(n≥2)个函数上任意n个横坐标和为常数的点x1,x2,...,xn,存在满足下列等价条件:

证明过程如下:

这里使用数学归纳法来证明。

首先,根据定理1可知,引理1对于n=2的情况是成立的。

接着,假设n=k(k≥2)的时候引理1成立,那么当n=k+1的时候,对于这k+1个点中的k个点,引理1成立。换句话说,每次固定一个点不动,对剩下的k个点寻找最优解,最后找到的一定是k个一阶导数相等的点。这样重复多次,最终会使得k+1个点的一阶导数都相同。因此,引理1对n=k+1的情况也成立。

由此,引理1得证,多个模型的情况也得以解决。

那么现在需要解决的问题就变成了如何找到多个模型的猜测曲线上斜率相同的点。考虑到猜测曲线的斜率代表的是单位猜测数内的破解口令数,根据前人分析和进一步的拟合验证,本方法发现“单位猜测数-破解口令数”曲线可以用zipf定律,即logy=logc-α*logx来拟合表示,且不同模型的α值基本相同。接着,利用这一发现,本方法提出了引理2。

引理2对于两条可以用zipf定律拟合的“单位猜测数-破解口令数”曲线,如果它们的α值相同,那么当它们上面的点的纵坐标相同时,横坐标的比例和训练集中不同模型所针对猜测的特定类别的口令的比例正相关。

证明如下:

首先,对于两条“单位猜测数-破解口令数”曲线,它们的点的纵坐标的值代表的就是猜测曲线上对应横坐标点的斜率,因此,最终寻求的分配猜测数的比例就是它们纵坐标相等时横坐标的比例。两条”单位猜测数-破解口令数”曲线可以用logy1=logc1-α*logx1和logy2=logc2-α*logx2表示。那么当它们单位猜测数内的破解口令数相同,即y1=y2时,通过建立等式可以得到此时x1,x2满足

接着,当两个点横坐标相同,即x1=x2时,建立等式可以得到y1/y2=c1/c2。这意味着,对于任意的x1=x2,我们可以得到事实上,∫y1idx表示的是这条“单位猜测数-破解口令数”曲线与坐标轴围成的空间的面积,实际的含义是模型最终能够破解的口令的数量。当模型可以使用的猜测数足够大时,这个数量将无限逼近测试集中模型所针对破解的类型的口令的数量。而考虑到训练集中的口令和测试集中的口令是同分布的,因此两者同类型口令的分布占比也应当是相同的,因此当y1=y2时,

至此,本发明提出的参数化策略的最优性证明完毕。根据实验结果的经验,α值的选择在1.2~1.4均可,推荐使用1.2。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1