基于递归神经网络和概率上下文无关文法的密码生成系统的制作方法

文档序号:14252886阅读:479来源:国知局
基于递归神经网络和概率上下文无关文法的密码生成系统的制作方法

本发明涉及的是一种信息安全领域的技术,具体是一种基于递归神经网络和概率上下文无关文法的密码生成系统。



背景技术:

密码已经成为了目前最常用的验证手段。除了常用的字段,每个用户在设置密码时总是会以某一种形式来组合密码。使用字典暴力破解通常不可实现,这就使得密码猜测成为新的研究方向。目前成熟的技术,hashcat和johntheriper是国外开源软件,其密码生成器只能对原密码进行字符大小写修改等方式的扩展;马尔科夫模型和概率上下文无关文法,是基于统计概率,运算量非常大,耗时长。递归神经网络是在深度学习技术中被广泛采用的网络类型,可以在高纬度提取概率方法无法提取的信息,同时训练速度和存储空间消耗较概率方法有很大提升。



技术实现要素:

本发明针对现有技术无法发现密码中潜在的前后关联性的不足,提出一种基于递归神经网络和概率上下文无关文法的密码生成系统,使用概率上下文无关文法的规则来预处理密码,将数字串、字母串、特殊字符串转变成标签的格式,对标签进行概率统计,并使用标签进行神经网络的训练,使得常用字符串的出现概率更高。运用对抗网络生成密码,能够消除各个训练数据集中自带的特征,总而保证生成的密码字典,是一个通用的、依据人类真实的设密码习惯的、不带有某个数据集特征的密码字典,该字典能够对一个未知的密码库具有较高的命中率。

本发明是通过以下技术方案实现的:

本发明包括:带有密码数据库的预处理模块、训练模块以及生成模块,其中:预处理模块根据密码数据库中的概率上下文无关文法的规则,将待处理字符串转变成标签的格式,并对每个标签进行概率统计,得到每个标签对应字符串的概率排序作为训练模块的样本,由多个生成器组成的训练模块通过多层递归神经网络对样本进行特征提取以及训练,得到神经网络模型,生成模块基于神经网络模型生成标签,并基于权重选择规则将标签替换回密码,并经文本分类处理,区分其是否属于密码数据库的概率并最终得到密码。

所述的训练模块包括:递归神经网络单元、参数调整单元和数据库单元,其中:递归神经网络单元与预处理模块相连并接收训练用的标签串,参数调整单元与递归神经网络单元相连并传输调整后的神经网络参数。

所述的生成模块包括:权重选择单元、用于文本分类的深度卷积神经网络单元、参数调整单元和辨别器单元,其中:权重选择单元与训练模块中的递归神经网络单元相连,并从下一个标签的候选项中,根据其权值随机选择出一个输出至深度卷积神经网络单元;深度卷积神经网络单元与权重选择单元相连,对权重选择单元选中的标签进行文本分类;参数调整单元与深度卷积神经网络单元相连并传输调整后的神经网络参数;辨别器单元与深度卷积神经网络单元相连并接收文本分类结果后进行判断和输出。

所述的文本分类,确保输出密码不属于某个特定的数据集,即不具备某个特定数据集的特征,从而保证密码的通用性。

技术效果

与现有技术相比,本发明能够综合综合多个数据集的特征,从而生成一个更具有普遍特征的密码字典。生成的字典字典从样本空间上,远高于hashcat和johntheriper通过修改字符大小写、增加或删除个别字符等方式生成的密码字典。从样本生成效率上,相比于马尔科夫模型和概率上下文无关文法,本发明可以节约大量存储空间。

附图说明

图1递归神经网络单元示意图

图2为深度卷积神经网络单元示意图

图3为本发明生成模块示意图

图4为本发明系统示意图;

图5为实施例权重选择示意图;

图6为实施例判别过程示意图;

图7和图8为实施例效果示意图。

具体实施方式

如图4所示,本实施例包括:依次连接的预处理模块、训练模块以及生成模块。

所述的预处理模块中包含两个密码数据库,根据概率上下文无关文法的规则,将包含数字串、字母串、特殊字符串的待处理字符串转变成标签的格式,将密码从字符串格式转变成标签串格式,同时对每个标签进行概率统计,得到每个标签对应字符串的概率排序。

所述的生成模块首先运用训练模块中神经网络模型来生成标签,生成的标签根据权重选择规则被替换回密码,而后生成的密码通过文本分类,区分其输出的密码是否属于预处理模块中两个密码数据库的概率,当两个概率的标准差过大(如本实施例中将此阈值定位0.2),则不输出密码,否则输出密码。

所述的密码数据库采用但不限于泄露的真实用户密码,本实施例中的密码数据库来自网站myspace和phpbb。

所述的概率上下文无关文法的规则是指:将连续的数字、字母和特殊字符分别替换为d、l、s,连续的长度作为d、l、s的下标,例如“$password123”被标签替换为“s1l8n3”。同时对每个标签进行次数统计,得到每个标签对应字符串的概率排序,存储为字典格式,以备后续再替换回密码时使用。

所述的训练模块包括:递归神经网络单元、参数调整单元,其中:递归神经网络单元采用如图1所示的双层lstm网络并与预处理模块相连以接收训练用的标签串,参数调整单元与递归神经网络单元相连并传输调整后的神经网络参数。

所述的训练模块采用但不限于两个生成器实现,将经过预处理的数据通过多层递归神经网络进行特征提取以及训练工作,得到神经网络模型的参数。

所述的训练模块对两个数据库分别完成训练后,独立地生成一个标签。

所述的生成模块包括:权重选择单元、用于文本分类的深度卷积神经网络单元、参数调整单元和辨别器单元,其中:权重选择单元与训练模块中的递归神经网络单元相连,并从下一个标签的候选项中,根据其权值随机选择出一个输出至深度卷积神经网络单元;深度卷积神经网络单元与权重选择单元相连,对权重选择单元选中的标签进行文本分类;参数调整单元与深度卷积神经网络单元相连并传输调整后的神经网络参数;辨别器单元与深度卷积神经网络单元相连并接收文本分类结果后进行判断和输出。

所述的权重选择,具体为:当w[i](i=1,2,…,n)是n个权重为w[i]的候选项,则第k个候选项被选中的概率p[k]的计算规则为:从而保证高权重的候选项以高概率被选出。

所述的深度卷积神经网络单元由一个两层卷积神经网络、一个全连接层和一个激活层组成,该深度卷积神经网络单元根据权重选择单元输出的标签,与当前时刻之前生成的11个标签合并,经过词向量处理得到二维向量作为两层卷积神经网络的输入,然后通过一个二维卷积核提取得到序列特征;全连接层将序列特征映射到标记的空间。例如本实施例中共有两个密码数据库同时生成数据,则映射到二维空间,即文本分类结果为一个二维数组,该二维数组的数值表示所属的权重;最后经激活层归一化后,得到文本分类结果。

所述的辨别器单元判断分类结果是否表明输入具有某一数据集的特征。如果标准差大于0.2,则表明输入具有某一数据集的特征,应当被抛弃,而如果标准差小于0.2,则被保留,因为输入具有数据集的共有特性。

如图5和图6所示,本实施例中所有密码数据库均经过预处理过程,被替换成标签。上一时刻的输出为d2,此时模型1的输出是[(l8:0.6),(l6:0.2),(l4:0.1)...],模型2的输出是[(l6:0.5),(l5:0.3),(l4:0.1)...]。其中,(l8:0.6)表示该模型1的输出的单元为‘l8’的可能性为0.6,其余类似。所有模型都有相同的概率,所以权重选择的输入即为[(l8:0.3),(l6:0.35),(l5:0.15),(l4:0.1)...]。因此,权重选择过程最有可能选出的单元是l6,但并不代表输出一定为l6。假设新生成的单元是l6,通过权重选择过程得到的字符串为abcdef,之前得到的字符串是‘1@34’。因此,合并两个字符串分类器的输入为1@34abcdef。如果分类器的结果是[0.4,0.6],判别器会接受单元l6和候选密码串abcdef,并输出该密码,因为标准差小于0.2。如果分类器的结果是[0.3,0.7],因为标准差大于0.2,所以判别器会放弃单元l6。

实验结果如图7所示。图7展示的是经过概率上下文无关文法的规则处理后生成的密码(对应图中pl曲线)与未处理直接生成的密码(对应图中lstm曲线)。两种方式分别测试了myspace数据集和phpbb数据集。以myspace的实验结果为例,经过标签替换的字符串训练后的命中率在生成107个密码后就能达到50%的命中率,而未处理直接生成的密码需要生成1012个密码才能达到相同的命中率。

实验结果如图8所示。图8共有6条曲线,其中genpass代表上述实施例的完整实现即用myspace和phpbb生成的密码,pl代表经过概率上下文无关文法的规则处理后生成的密码,lstm代表未处理直接生成的密码。括号中代表训练使用的数据集,其中simplymixing代表将两个字典混合。从实验结果可以看到,在生成密码数量在1012个,且训练数据集包含多个时,本发明可以提高密码的命中率约20%。

采用上述方式生成的密码字典,当字典大小在1010个时,相比于马尔科夫模型和概率上下文无关文法,可以提升字典命中率50-60%。在存储空间的消耗上,可以节约80%的存储空间。通过分类器来消除不同数据集之间的私有特征,相比于仅仅使用神经网络来生成字典,命中率能进一步提高20%。

本系统使用概率上下文无关文法的规则来预处理密码,对提升字典命中率具有核心作用。使用神经网络来训练密码,对减少空间存储具有核心作用。通过分类器来消除不同数据集之间的私有特征,对生成密码的普遍性具有核心作用。

上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

当前第1页1 2 
网友询问留言 已有1条留言
  • 152152... 来自[未知地区] 2020年03月01日 00:07
    这个完全资料里有程序吗?有源代码吗?
    3
1