CN115510422A - 基于循环神经网络的对抗性密码生成方法 - Google Patents
基于循环神经网络的对抗性密码生成方法 Download PDFInfo
- Publication number
- CN115510422A CN115510422A CN202211278227.3A CN202211278227A CN115510422A CN 115510422 A CN115510422 A CN 115510422A CN 202211278227 A CN202211278227 A CN 202211278227A CN 115510422 A CN115510422 A CN 115510422A
- Authority
- CN
- China
- Prior art keywords
- password
- network
- character
- generation
- guessed
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Document Processing Apparatus (AREA)
Abstract
一种循环神经网络的对抗性密码生成方法,通过建立基于循环神经网络的生成对抗网络模型以及密码字符字典后,在离线阶段以密码字符字典为训练集对生成对抗网络模型进行训练;在在线阶段从潜在分布空间中采样后输入训练后的生成对抗网络模型,将模型输出根据密码字符字典转换为明文字符串,即生成对抗性密码。本发明生成的猜测密码字典的猜测成功率高,猜测密码的统计特征与训练密码十分相似,相比于已有技术猜测密码的质量更高。
Description
技术领域
本发明涉及一种信息安全领域技术,具体涉及一种基于循环神经网络的对抗性密码生成方法。
背景技术
文本密码是目前最通用的计算机系统用户认证方案,恶意攻击者可以使用密码猜测模型生成大量的猜测密码,以组成高质量密码字典,来破解用户密码,威胁用户隐私安全;网站的管理员同样可以利用生成的高质量密码字典检测用户密码的抗破解能力,为弱密码的识别提供一个有效的方案。
主流的密码猜测模型分为三类:基于规则、基于马尔可夫链、基于语法结构。基于规则的模型支持攻击字典中候选密码的字符转换,增加了密码字典的覆盖范围;基于马尔科夫链的模型假设一个字符仅与前n-1个字符相关,以获得一个密码中所有字符的关联性和转移概率;基于语法结构的模型生成猜测密码时先生成一个语法串,再逐步将各个语法单元替换为明文串。但是,基于规则的方法依赖于专家的密码知识,可扩展性差;基于马尔可夫链和基于语法结构的方法,依赖于学习到的密码先验知识,难以生成样本中没有出现的n元组和语法结构。这些问题限制了三种方法生成密码的覆盖率。
发明内容
本发明针对现有技术依赖于先验密码知识,生成猜测密码字典丰富度不高、字典覆盖率低导致的密码字典的生成速度太慢、需要多次训练才能得到理想的字典模型、难以捕获密码集整体的分布特征的缺陷,提出一种基于循环神经网络的对抗性密码生成方法,通过学习样本集中密码的分布和字符关联性,生成同真实密码相似的猜测密码,提高密码字典的质量,使网站管理员能有效识别用户设置的弱密码,提高用户的密码强度,保护用户信息安全。
本发明是通过以下技术方案实现的:
本发明涉及一种基于循环神经网络的对抗性密码生成方法,通过建立基于循环神经网络的生成对抗网络模型以及密码字符字典后,在离线阶段以密码字符字典为训练集对生成对抗网络模型进行训练;在在线阶段从潜在分布空间中采样后输入训练后的生成对抗网络模型,将模型输出根据密码字符字典转换为明文字符串,即生成对抗性密码。
所述的基于循环神经网络的生成对抗网络模型,包括:用于生成猜测密码,形成候选密码字典的生成网络和用于判断它的输入密码是真实密码还是来自生成网络的猜测密码的判别网络。
所述的生成网络和判别网络均为使用门控循环单元或长短期记忆循环单元组成的循环神经网络,其中该生成网络包含一个全连接的输入层、两个循环神经层、一个全连接的隐层以及一个柔性最大传递函数层,该判别网络包含一个全连接输入层、两个循环神经层、一个注意力层以及一个仅有一个神经元的全连接层;
所述的门控循环单元为循环神经层的一类神经元,每个门控循环单元包括两个门结构:重置门与更新门,前者控制上一个隐藏状态有多少信息转移到当前隐藏状态,有助于记忆长期信息,后者决定上一个隐藏状态有多少信息被忽略,使信息更紧凑地表示,二者共同作用下,网络将同时捕获密码字符的短期和长期依赖关系;
所述的长短期记忆循环单元为循环神经层的另一类神经元,此类神经元每一时刻的状态由长期记忆状态和短期记忆状态组成,每个长短期记忆循环单元包括三个门结构:遗忘门、输入门、输出门,数据前向传播时,遗忘门决定有多少上一时刻的长期记忆状态被丢弃,输入门决定保留多少当前输入和上一时刻短期记忆状态,二者共同决定神经元当前时刻的长期记忆状态,最后输出门筛选当前的长期记忆状态,以形成当前时刻的短期记忆状态,神经元存储的长期记忆状态和短期记忆状态将有助于建模长距离的依赖关系,缓解梯度消失和梯度爆炸问题;
所述的循环神经层根据读取数据的方向,分为单向循环层和双向循环层,前者顺序读取输入的密码序列,仅学习当前输入字符同已输入字符的联系,后者由两个读取方向相反的循环层组成,即第一层顺序读取,第二层逆序读取,最终将二者的输出拼接为双向循环层的最终输出,从而能利用到上下文的完整信息;
所述的注意力层学习若干权重参数,权重参数决定输入序列中每一个元素的重要程度,即需要分配多少注意力,并根据重要程度将元素加权求和;
所述的全连接层由线性部分和非线性部分组成,前者将输入的二维矩阵乘一个待训练的权重矩阵得到新的二维矩阵,后者引入非线性激活函数,分类线性部分所提取的特征;
所述的柔性最大传递函数层是生成网络的输出层,输出当前位置上密码字符的选取概率。
所述的密码字符字典,通过以下方式得到:选择用于训练的公开明文密码集,保留所述的密码集中,长度大于等于4、小于等于10的密码,其中:定义一条密码的长度为该密码中字符的数目;
保留所述的密码集中,只由ASCII码可打印字符组成的密码,其中:定义ASCII码为美国信息互换标准代码,等同于国际标准ISO/IEC 646;
统计所述的清洗后密码集的特征,包括密码长度的分布、密码字符组成比例、密码集中最常见的10条密码,其中:定义密码字符的类型有且仅有四种:数字、小写字母、大写字母和特殊字符;
根据所述的清洗后密码集中各个密码字符出现频次,对密码字符排序,建立密码字符字典,索引为密码字符,值为字符相应序数;
所述的密码字符字典中加入特殊结束字符,该特殊字符在字典中的值为0,对清洗后密码集中每条密码,当密码长度小于10,则通过所述的特殊结束字符补齐到10位;
所有清洗后的密码根据所述的密码字符字典映射为整数数组,每个数组长度均为10,并进行独热编码,最终每条密码将转变为一个二维矩阵,所有训练数据将表示为一个三维矩阵。
所述的训练,具体包括:生成网络从潜在空间中采样,将采样点送入生成网络获得猜测密码,所述的潜在空间为一个容易采样的分布,如多元高斯分布或多元均匀分布;更新所述的判别网络的参数时,猜测密码的标签设置为<伪造>,同具有标签为<真实>的真实密码混合,一起送入判别网络,判别网络学习如何区分真实的密码和猜测的密码,在每一次迭代中计算二分类(真实或伪造)的损失对判别网络参数的梯度,反向传播以更新判别网络的参数;更新所述的生成网络的参数时,猜测密码的标签设置为<真实>,送入判别网络,计算判别结果与标签的差距并反向传播,更新生成网络参数;
为了提高训练过程的稳定性,保证生成结果的丰富性,生成对抗网络引入沃瑟斯坦距离,用于度量生成网络输出的猜测密码的分布与实际密码的分布之间相似性;
为了满足沃瑟斯坦距离要求的利普西茨连续性限制,对判别网络的损失加入梯度惩罚项和一致项,其中梯度惩罚项将限制判别网络的梯度范数趋向于1,而用于计算该惩罚项的判别网络输入是当前猜测密码和当前真实密码之间的线性插值,一致项用于解决梯度惩罚项无法保证真实数据附近的利普西茨连续性的问题,利用多元高斯噪音扰动当前真实密码,计算扰动后密码在其空间的梯度,并限制梯度范数小于一个预设的常数,因此所述的判别网络的损失函数为Dloss=E[D(xfake)]-E[D(xreal)]+GT+CT,其中:CT=λ1E[max(0,||D(x′)-S(x″)||2-M)],其中Dloss判别网络的损失,xreal为真实密码、xfake为生成网络生成的猜测密码、D()为所述的判别网络、GT为梯度惩罚项,CT为一致项,E()为求均值,G()为所述的生成网络、λ为梯度惩罚项系数、||·||2为欧式距离、为的梯度、λ1为一致项系数、为真实密码和生成密码的插值、α为均匀分布U(0,1)的采样结果、M为所述的用于限制一致项的常数、x′和x″为xreal经过多元高斯噪音扰动(两次)的结果;
所述的生成网络的损失函数为:Gloss=-E[D(xfake)],其中:Gloss为生成网络的损失,E()、D()、xfake的含义同上。
所述的对抗性密码,具体通过以下步骤得到:从潜在空间中采样,将采样点送入生成网络,输出一个批次的三维数组;选择该三维数组的最后一维中最大值索引,得到二维数组;根据密码字符字典逆向映射,将该二维数组转换为多个长度相同的字符串,并删除预先定义的特殊结束字符,获得一个批次的猜测密码。
所述的对抗性密码,通过以下方式进行评测:重复此过程生成大量猜测密码,得到猜测密码集,计算猜测密码集对目标密码集的覆盖率,目标密码集为明文密码集,覆盖率为目标密码集中出现在猜测密码集里的密码比例,比例越高表明猜中的密码越多,模型效果越好;统计猜测密码集的特征,包括密码长度的分布、密码字符组成比例、密码集中最常见的10条密码,与步骤2清洗后密码集特征对比,计算二者长度分布和组成比例的JS散度,JS散度用于度量两个分布之间的相似性,结果越接近1表明分布的差异越小,越接近0表明分布的差异越大。
本发明涉及一种实现上述方法的系统,包括:数据预处理单元、基于循环神经网络的生成对抗网络构建单元、对抗网络训练单元、猜测密码生成单元以及用户密码强度判定单元,其中:数据预处理单元根据给定的最长密码长度和字符种类,筛选用于训练的密码集,得到最终的训练数据和密码字符字典;基于循环神经网络的生成对抗网络构建单元根据给定的超参数构建基于循环神经网络的生成网络和判别网络以及优化器实例,组成待训练的对抗网络;对抗网络训练单元依据构建好的对抗网络、经过数据预处理单元处理的训练数据和给定的训练超参数;进行训练,得到优化后的生成网络和判别网络;猜测密码生成单元依据优化后的生成网络和数据预处理单元输出的密码字符字典,生成大量猜测密码作为猜测密码字典;用户密码强度判定单元根据用户输入的密码和通过猜测密码生成单元得到的字典,判断用户密码是否在猜测密码字典中,从而判定用户密码的强度。
所述的超参数包括:循环层的数目、循环单元的种类、循环单元的数目、循环层数据读取方向、惩罚项系数、一致项系数、输入生成网络的噪音维度和学习率。
所述的训练超参数包括:批次大小、训练轮次、生成网络和判别网络迭代比例。
所述的用户密码的强度,当猜测密码字典的规模大并且用户密码不在字典中,则认为用户密码强度高。
技术效果
本发明通过基于循环神经网络的生成对抗网络模型结构和求判别网络损失函数Dloss的算法,使用生成对抗网络结构学习密码分布的整体特征,其中的生成网络和判别网络使用循环神经网络捕捉密码的字符分布特征,并在判别网络中添加注意力机制以学习组成密码的各个字符的重要程度;网络引入沃瑟斯坦距离用于度量生成网络输出的猜测密码的分布与实际密码的分布之间相似性,为了满足沃瑟斯坦距离要求的利普西茨连续性限制,对判别网络的损失加入梯度惩罚项和一致项,梯度惩罚项将限制判别网络的梯度范数趋向于1(用于计算该惩罚项的判别网络输入是当前猜测密码和当前真实密码之间的线性插值),一致项用于解决梯度惩罚项无法保证真实数据附近的利普西茨连续性的问题。本发明生成的猜测密码字典的猜测成功率高,猜测密码的统计特征与训练密码十分相似,相比于已有技术猜测密码的质量更高。
附图说明
图1为本发明流程图;
图2为实施例中生成对抗网络训练示意图;
图3为实施例中生成网络结构图;
图4为实施例中判别网络结构图;
图5为实施例中门控循环单元结构图;
图6为实施例中猜测密码字典的覆盖率曲线图。
具体实施方式
如图1所示,本实施例涉及一种在Linux操作系统平台上实现的基于循环神经网络的对抗性密码生成方法,通过将待处理的密码集映射为数字串并建立密码字符字典后,通过训练图2的生成对抗网络,得到能够生成高质量猜测密码的生成网络,根据生成网络得到的编码字符串经过密码字符字典解码后得到候选密码字典。
本实施例具体步骤如下:
选取来自不同网站的公开泄露密码库,作为本发明方法的训练数据。本实施例将选取网站RockYou的公开泄露密码进行训练,选取网站Gmail和网站7k7k的公开泄露密码作为目标密码集进行测试,并选取二阶和三阶马尔可夫模型(来自论文《Fast DictionaryAttacks on Passwords Using Time-Space Tradeoff》)、概率上下文无关模型(来自论文《Password Cracking Using Probabilistic Context-Free Grammars》)、PassGAN模型(来自论文《PassGAN:A Deep Learning Approach for Password Guessing》)进行对比。
对来自RockYou的泄露密码库进行预处理,只保留长度大于等于4小于等于10、由ASCII码可打印字符组成的密码,并在长度小于10的密码末尾补充特殊结束字符,直至补齐后密码长度为10。
统计清洗后密码集的特征,包括密码长度的分布、密码字符组成比例、密码集中最常见的10条密码,统计过程中忽略特殊结束字符。
遍历所有处理后的密码字符,将特殊结束字符以外的所有不同的密码字符依据出现频率顺序排序,以建立密码字符字典,其中字典的键为密码字符,值为相应字符的次序,将特殊结束字符加入字典,设置结束字符的值为0。
根据密码字符字典,将预处理后的密码映射为数组,将映射后的密码数组输入网络,训练基于循环神经网络的生成对抗网络模型。
所述的生成对抗网络模型包括生成网络、判别网络,生成网络如图3所示,包含一个全连接的输入层、两个循环神经层、一个全连接的隐层以及一个柔性最大传递函数层,用于生成猜测密码,使判别网络无法区分其是否为真实密码,判别网络如图4所示,包含一个全连接输入层、两个循环神经层、一个注意力层以及一个仅有一个神经元的全连接层,用于判断输入密码是真实密码还是来自生成网络的猜测密码。
所述的循环神经层根据循环神经元的不同可以分为门控循环层和长短期记忆层,根据读取序列的方向可以分为单向循环层和双向循环层。本实施例的循环神经层均从左到右单向读取输入数据,每层网络包含128个门控循环神经元。
在训练过程中,判别网络需要在给定生成网络的情况下达到最优,才能保证生成网络的猜测密码质量,因此需要交替训练判别网络和生成网络,计算判别结果和数据标签的差异作为损失,反向传播以更新网络训练参数。本实施例中,每轮交替训练中,需要先更新10次判别网络的参数,再更新生成网络的参数。
为了提高训练过程的稳定性,保证生成结果的丰富性,实施例中生成对抗网络引入沃瑟斯坦距离,用于度量生成网络输出的猜测密码的分布与实际密码的分布之间相似性,其中梯度惩罚项的系数为10,一致项系数为2,一致项中的常数为0。
通过多轮(本实施例为40万轮)迭代训练,判别网络将学习到训练数据的密码分布及密码字符关联性,能够判别给定密码是否为真实密码,而生成网络在对抗训练中为了欺骗判别网络,将建模为一个条件分布,即给定潜在空间分布的条件下猜测密码的分布(理想情况下猜测密码的分布等同于真实密码的分布)——本实施例中,潜在空间的分布为多元正态分布。
最后,本实施例使用生成网络生成猜测密码,具体过程为:从多元正态分布潜在空间中采样,将采样点送入生成网络,输出一个批次的三维数组,此时该三维数组最后一维代表当前位置上密码字符字典中所有密码字符的选择概率,因此选择该三维数组的最后一维中最大值的索引,得到代表这若干次猜测密码的二维数组;根据预处理过程得到的密码字符字典,逆向映射,将该二维数组转换为多个长度相同的字符串,并删除预先定义的特殊结束字符,获得一个批次的猜测密码;重复此过程将得到大量的猜测密码。
经过具体实际实验,在选取网站RockYou的公开泄露密码进行训练,选取网站Gmail和网站7k7k的泄露密码作为目标测试集的具体环境设置下,各个参数设置为:循环层数目为2、循环神经单元为GRU、每层循环神经单元数目为128、序列读取方向为单向、潜在空间采样向量,即生成网络的噪音向量的维度为128、密码最大长度为10、密码字符类型为ASCII码可打印字符、惩罚项系数为10、一致项系数为2、一致项中的常数为0、训练轮次为40万、训练批次大小为128、判别网络和生成网络的迭代比为10、学习率为1e-4、Adam优化器参数为0.5和0.9,训练上述模型,使用优化后的生成网络进行50亿次猜测,即生成50亿条密码,查看猜测密码的覆盖率和统计特征相似度,能够得到的实验数据是:如图6所示,本实施例(图中为PassRGAN)能够破解网站RockYou超过60%的密码、破解网站Gmail超过40%的密码、破解网站7k7k超过50%的密码,本实施例的破解效果比现有的四种密码猜测方法更好;如下表所示,对猜测密码进行统计,计算其统计结果与预处理中训练密码统计结果的JS散度,结果均小于0.01,表明通过基于循环神经网络的对抗性密码生成方法获得的猜测密码统计特征与训练密码十分相似,猜测密码的质量较高。
与现有技术相比,本方法猜测密码的覆盖率更高,同时猜测密码的统计特征与训练密码的统计特征十分相似,即当目标测试集和训练密码来自同一个网站,本方法生成的猜测密码字典破解效果更好。
综上,本发明采用基于循环神经网络的对抗性密码生成方法,能够得到更高质量的猜测密码,增加猜测密码字典可能的覆盖范围,适合网站管理员用于检测用户密码的抗破解能力。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (9)
1.一种基于循环神经网络的对抗性密码生成方法,其特征在于,通过建立基于循环神经网络的生成对抗网络模型以及密码字符字典后,在离线阶段以密码字符字典为训练集对生成对抗网络模型进行训练;在在线阶段从潜在分布空间中采样后输入训练后的生成对抗网络模型,将模型输出根据密码字符字典转换为明文字符串,即生成对抗性密码;
所述的基于循环神经网络的生成对抗网络模型,包括:用于生成猜测密码,形成候选密码字典的生成网络和用于判断它的输入密码是真实密码还是来自生成网络的猜测密码的判别网络。
2.根据权利要求1所述的基于循环神经网络的对抗性密码生成方法,其特征是,所述的生成网络和判别网络均为使用门控循环单元或长短期记忆循环单元组成的循环神经网络,其中该生成网络包含一个全连接的输入层、两个循环神经层、一个全连接的隐层以及一个柔性最大传递函数层,该判别网络包含一个全连接输入层、两个循环神经层、一个注意力层以及一个仅有一个神经元的全连接层。
3.根据权利要求2所述的基于循环神经网络的对抗性密码生成方法,其特征是,所述的门控循环单元为循环神经层的一类神经元,每个门控循环单元包括两个门结构:重置门与更新门,前者控制上一个隐藏状态有多少信息转移到当前隐藏状态,有助于记忆长期信息,后者决定上一个隐藏状态有多少信息被忽略,使信息更紧凑地表示,二者共同作用下,网络将同时捕获密码字符的短期和长期依赖关系;
所述的长短期记忆循环单元为循环神经层的另一类神经元,此类神经元每一时刻的状态由长期记忆状态和短期记忆状态组成,每个长短期记忆循环单元包括三个门结构:遗忘门、输入门、输出门,数据前向传播时,遗忘门决定有多少上一时刻的长期记忆状态被丢弃,输入门决定保留多少当前输入和上一时刻短期记忆状态,二者共同决定神经元当前时刻的长期记忆状态,最后输出门筛选当前的长期记忆状态,以形成当前时刻的短期记忆状态,神经元存储的长期记忆状态和短期记忆状态将有助于建模长距离的依赖关系,缓解梯度消失和梯度爆炸问题;
所述的循环神经层根据读取数据的方向,分为单向循环层和双向循环层,前者顺序读取输入的密码序列,仅学习当前输入字符同已输入字符的联系,后者由两个读取方向相反的循环层组成,即第一层顺序读取,第二层逆序读取,最终将二者的输出拼接为双向循环层的最终输出,从而能利用到上下文的完整信息;
所述的注意力层学习若干权重参数,权重参数决定输入序列中每一个元素的重要程度,即需要分配多少注意力,并根据重要程度将元素加权求和;
所述的全连接层由线性部分和非线性部分组成,前者将输入的二维矩阵乘一个待训练的权重矩阵得到新的二维矩阵,后者引入非线性激活函数,分类线性部分所提取的特征;
所述的柔性最大传递函数层是生成网络的输出层,输出当前位置上密码字符的选取概率。
4.根据权利要求1所述的基于循环神经网络的对抗性密码生成方法,其特征是,所述的密码字符字典,通过以下方式得到:
1)选择用于训练的公开明文密码集,保留所述的密码集中,长度大于等于4、小于等于10的密码,其中:定义一条密码的长度为该密码中字符的数目;
2)保留所述的密码集中,只由ASCII码可打印字符组成的密码,其中:定义ASCII码为美国信息互换标准代码,等同于国际标准ISO/IEC 646;
3)统计所述的清洗后密码集的特征,包括密码长度的分布、密码字符组成比例、密码集中最常见的10条密码,其中:定义密码字符的类型有且仅有四种:数字、小写字母、大写字母和特殊字符;
4)根据所述的清洗后密码集中各个密码字符出现频次,对密码字符排序,建立密码字符字典,索引为密码字符,值为字符相应序数。
5.根据权利要求1或4所述的基于循环神经网络的对抗性密码生成方法,其特征是,所述的密码字符字典中加入特殊结束字符,该特殊字符在字典中的值为0,对清洗后密码集中每条密码,当密码长度小于10,则通过所述的特殊结束字符补齐到10位;
所有清洗后的密码根据所述的密码字符字典映射为整数数组,每个数组长度均为10,并进行独热编码,最终每条密码将转变为一个二维矩阵,所有训练数据将表示为一个三维矩阵。
6.根据权利要求1所述的基于循环神经网络的对抗性密码生成方法,其特征是,所述的训练,具体包括:生成网络从潜在空间中采样,将采样点送入生成网络获得猜测密码,所述的潜在空间为一个容易采样的分布,如多元高斯分布或多元均匀分布;更新所述的判别网络的参数时,猜测密码的标签设置为<伪造>,同具有标签为<真实>的真实密码混合,一起送入判别网络,判别网络学习如何区分真实的密码和猜测的密码,在每一次迭代中计算二分类(真实或伪造)的损失对判别网络参数的梯度,反向传播以更新判别网络的参数;更新所述的生成网络的参数时,猜测密码的标签设置为<真实>,送入判别网络,计算判别结果与标签的差距并反向传播,更新生成网络参数。
7.根据权利要求1或6所述的基于循环神经网络的对抗性密码生成方法,其特征是,为了提高训练过程的稳定性,保证生成结果的丰富性,生成对抗网络引入沃瑟斯坦距离,用于度量生成网络输出的猜测密码的分布与实际密码的分布之间相似性;
为了满足沃瑟斯坦距离要求的利普西茨连续性限制,对判别网络的损失加入梯度惩罚项和一致项,其中梯度惩罚项将限制判别网络的梯度范数趋向于1,而用于计算该惩罚项的判别网络输入是当前猜测密码和当前真实密码之间的线性插值,一致项用于解决梯度惩罚项无法保证真实数据附近的利普西茨连续性的问题,利用多元高斯噪音扰动当前真实密码,计算扰动后密码在其空间的梯度,并限制梯度范数小于一个预设的常数,因此所述的判别网络的损失函数为Dloss=E[D(xfake)]-E[D(xreal)]+GT+CT,其中:CT=λ1E[max(0,||D(x′)-D(x′′)||2-M)],其中Dloss判别网络的损失,xreal为真实密码、xfake为生成网络生成的猜测密码、D()为所述的判别网络、GT为梯度惩罚项,CT为一致项,E()为求均值,G()为所述的生成网络、λ为梯度惩罚项系数、||·||2为欧式距离、为的梯度、λ1为一致项系数、为真实密码和生成密码的插值、α为均匀分布U(0,1)的采样结果、M为所述的用于限制一致项的常数、x′和x′′为xreal经过多元高斯噪音扰动(两次)的结果;
所述的生成网络的损失函数为:Gloss=-E[D(xfake)],其中:Gloss为生成网络的损失。
8.根据权利要求1所述的基于循环神经网络的对抗性密码生成方法,其特征是,所述的对抗性密码,具体通过以下步骤得到:从潜在空间中采样,将采样点送入生成网络,输出一个批次的三维数组;选择该三维数组的最后一维中最大值索引,得到二维数组;根据密码字符字典逆向映射,将该二维数组转换为多个长度相同的字符串,并删除预先定义的特殊结束字符,获得一个批次的猜测密码。
9.一种实现权利要求1~8中任一所述基于循环神经网络的对抗性密码生成方法的系统,其特征在于,包括:数据预处理单元、基于循环神经网络的生成对抗网络构建单元、对抗网络训练单元、猜测密码生成单元以及用户密码强度判定单元,其中:数据预处理单元根据给定的最长密码长度和字符种类,筛选用于训练的密码集,得到最终的训练数据和密码字符字典;基于循环神经网络的生成对抗网络构建单元根据给定的超参数构建基于循环神经网络的生成网络和判别网络以及优化器实例,组成待训练的对抗网络;对抗网络训练单元依据构建好的对抗网络、经过数据预处理单元处理的训练数据和给定的训练超参数;进行训练,得到优化后的生成网络和判别网络;猜测密码生成单元依据优化后的生成网络和数据预处理单元输出的密码字符字典,生成大量猜测密码作为猜测密码字典;用户密码强度判定单元根据用户输入的密码和通过猜测密码生成单元得到的字典,判断用户密码是否在猜测密码字典中,从而判定用户密码的强度;
所述的超参数包括:循环层的数目、循环单元的种类、循环单元的数目、循环层数据读取方向、惩罚项系数、一致项系数、输入生成网络的噪音维度和学习率;
所述的训练超参数包括:批次大小、训练轮次、生成网络和判别网络迭代比例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211278227.3A CN115510422A (zh) | 2022-10-19 | 2022-10-19 | 基于循环神经网络的对抗性密码生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211278227.3A CN115510422A (zh) | 2022-10-19 | 2022-10-19 | 基于循环神经网络的对抗性密码生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115510422A true CN115510422A (zh) | 2022-12-23 |
Family
ID=84510041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211278227.3A Pending CN115510422A (zh) | 2022-10-19 | 2022-10-19 | 基于循环神经网络的对抗性密码生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115510422A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117749536A (zh) * | 2024-02-21 | 2024-03-22 | 湖南华博信息技术有限公司 | 一种零信任统一身份认证系统及构建方法 |
-
2022
- 2022-10-19 CN CN202211278227.3A patent/CN115510422A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117749536A (zh) * | 2024-02-21 | 2024-03-22 | 湖南华博信息技术有限公司 | 一种零信任统一身份认证系统及构建方法 |
CN117749536B (zh) * | 2024-02-21 | 2024-04-19 | 湖南华博信息技术有限公司 | 一种零信任统一身份认证系统及构建方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263227A (zh) | 基于图神经网络的团伙发现方法和系统 | |
CN109670303B (zh) | 基于条件变分自编码的密码攻击评估方法 | |
CN111858931A (zh) | 一种基于深度学习的文本生成方法 | |
CN107579821B (zh) | 密码字典生成方法及计算机可读存储介质 | |
Liu et al. | A multiagent evolutionary algorithm for combinatorial optimization problems | |
CN107579816B (zh) | 基于递归神经网络的密码字典生成方法 | |
CN115510422A (zh) | 基于循环神经网络的对抗性密码生成方法 | |
Zhu et al. | New class adaptation via instance generation in one-pass class incremental learning | |
CN117134969A (zh) | 基于扩散生成对抗网络和改进白鲸优化的入侵检测算法 | |
CN115170906A (zh) | 量子图像生成模型训练方法、图像生成方法及相关装置 | |
CN108520201A (zh) | 一种基于加权混合范数回归的鲁棒人脸识别方法 | |
Manocchio et al. | Flowtransformer: A transformer framework for flow-based network intrusion detection systems | |
CN111353147B (zh) | 口令强度评估方法、装置、设备及可读存储介质 | |
Massar et al. | Amount of information obtained by a quantum measurement | |
CN116561314B (zh) | 基于自适应阈值选择自注意力的文本分类方法 | |
Liang et al. | TransAM: Transformer appending matcher for few-shot knowledge graph completion | |
CN115563604A (zh) | 基于深度神经网络和特征融合的口令强度评估方法及系统 | |
KR102674639B1 (ko) | 신경망 모델 기반 암호문을 복호화하기 위한 전자 장치 및 전자 장치의 제어 방법 | |
Ventola et al. | Residual sum-product networks | |
Stastny et al. | Neural networks learning methods comparison. | |
Lozhnikov et al. | Usage of quadratic form networks for users' recognition by dynamic biometrie images | |
Le et al. | Generating high-fidelity cybersecurity data with generative adversarial networks | |
Wu et al. | Optimized compressed sensing for communication efficient federated learning | |
Kishimoto et al. | MHG-GNN: Combination of Molecular Hypergraph Grammar with Graph Neural Network | |
Ruan et al. | Multimodal supervised image translation |
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 |