一种弱口令核查方法和装置与流程

文档序号:13137479阅读:241来源:国知局
一种弱口令核查方法和装置与流程

本发明涉及口令核查技术,尤其涉及一种弱口令核查方法和装置。



背景技术:

通常认为易于被别人猜测到或被破解工具破解的口令为弱口令,例如仅包含简单数字和字母的口令“123”、“abc”等。由于这样的口令很容易被破解,从而使用户的信息面临泄露的风险,尤其在互联网中,将用户的账户名和口令作为鉴权方式是最通用方式,因此对弱口令进行核查非常重要。

目前操作系统的口令均被加密后保存在操作系统内,现有弱口令核查技术的处理过程如下:

s1:采集操作系统的账户名、口令加密算法、口令加密密钥和加密后的密码;

s2:组装用于弱口令核查的明文弱口令字典,明文弱口令字典包括两部分,一部分是预置的常用明文弱口令,另一部分是根据弱口令生成规则生成的临时明文弱口令;通常该明文弱口令字典包含上百万条弱口令;

s3:根据s1环节采集的口令加密算法和口令加密信息,将s2环节组装成明文弱口令字典内每条明文弱口令转换成密文弱口令,生成密文弱口令字典;如果明文弱口令字典内包含一百万条弱口令,则要进行一百万次加密计算,以生成密文弱口令;

s4:在s3环节生成的密文弱口令字典内匹配s1环节采集的加密后的密码,如果匹配成功则账户名的口令即为弱口令。

每个账户均要采用s1、s2、s3和s4环节开展弱口令核查工作。

现有弱口令核查技术对于任意账户名核查弱口令,都要从弱口令字典的第一条口令进行加密比对,直到匹配成功为止。弱口令字典越大,核查弱口令的计算量也越大,进而弱口令核查的速度就越低;同时,使用单纯的查询比对方式,对于大批量且周期性的弱口令的核查工作就需要进行大量的重复性检测工作,使弱口令的核查工作效率低下。

如何减少弱口令核查中的查询比对的工作量,从而提高弱口令核查的工作效率是目前待解决的问题。



技术实现要素:

为解决该技术问题,本发明实施例期望提供一种弱口令核查方法和装置,能够在周期性的对海量账号进行弱口令检测场景下,减少了将待核查账户名对应的加密后的密码与密文弱口令字典中的弱口令进行查询比对的工作量,以提升弱口令核查的工作效率。

本发明的技术方案是这样实现的:

第一方面,本发明实施例提供了一种弱口令核查方法,所述方法包括:

获取待核查账户名和所述待核查账户名对应的加密后的密码;

对所述待核查账户名和所述待核查账户名对应的加密后的密码进行哈希计算,得到所述待核查账户名的口令对应的哈希值;

根据所述待核查账户名的口令对应的哈希值,查找所述待核查账户名的口令对应的弱口令标识信息;

根据查找到的所述待核查账户名的口令对应的弱口令标识信息,确定所述待核查账户的口令是否为弱口令。

在上述方案中,在所述根据所述待核查账户名的口令对应的哈希值,查找所述待核查账户名的口令对应的弱口令标识信息之前,所述方法还包括:

对采集到的明文弱口令字典进行加密运算得到密文字典,若在所述密文字典中查找到所述加密后的密码,则对所述加密后的密码对应的账户名口令增加弱口令标识信息;

根据所述账户名和账户名的加密后的密码生成所述账户名的口令对应的哈希值,将所述账户名的口令对应的哈希值与所述弱口令标识信息保存到数据库的缓存中。

在上述方案中,所述对明文弱口令字典进行加密运算得到密文字典,若在所述密文字典中查找到所述加密后的密码,则对所述加密后的密码对应的账户名口令增加弱口令标识信息,包括:

采集所有的账户名以及账户名的口令加密算法、口令加密密钥和加密后的密码,并且收集明文弱口令字典;

根据所述账户名的口令加密算法及口令加密密钥,对该明文弱口令字典中的所有弱口令进行加密运算,得到密文字典;

在所述密文字典中查找所述账户名的加密后的密码,确定所述密文字典中是否包含所述账户名对应的加密后的密码;

当所述密文字典中包含所述账户名的加密后的密码时,确定所述账户名的口令为弱口令,并对所述账户名的口令增加弱口令标识信息。

在上述方案中,所述根据所述账户名和账户名的加密后的密码生成所述账户名的口令对应的哈希值,将所述账户名的口令对应的哈希值与所述弱口令标识信息保存到数据库的缓存中,包括:

对所述账户名和账户名的加密后的密码进行哈希计算,生成所述账户名的口令对应的哈希值;

将所述账户名的口令对应的哈希值以及弱口令标识信息保存到数据库的缓存中;其中,所述哈希值与弱口令标识信息为一一对应关系。

在上述方案中,所述当所述密文字典中包含所述账户名的加密后的密码时,确定所述账户名的口令为弱口令,并对所述账户名的口令增加弱口令标识信息,包括:

当所述密文字典中包含所述账户名的加密后的密码时,所述账户名的口令为弱口令,对所述账户名的口令增加弱口令标识信息且弱口令标识为真;

当所述密文字典中不包含所述账户名的加密后的密码时,所述账户名的口令不为弱口令,对所述账户名的口令增加弱口令标识信息且弱口令标识为假。

在上述方案中,所述根据查找到的所述哈希值对应的弱口令标识信息,确定所述哈希值对应的所述待核查账户名的口令是否为弱口令,包括:

当查找到的哈希值对应的弱口令标识为真时,所述哈希值对应的账户名的口令为弱口令;

当查找到的哈希值对应的弱口令标识为假时,所述哈希值对应的账户名的口令不为弱口令。

第二方面,本发明实施例提供了一种弱口令核查装置,所述装置包括:获取模块、计算模块、查找模块和确定模块;其中,

所述获取模块,用于获取待核查账户名和所述待核查账户名对应的加密后的密码;

所述计算模块,用于对所述待核查账户名和所述待核查账户名对应的加密后的密码进行哈希计算,得到所述待核查账户名的口令对应的哈希值;

所述查找模块,用于根据所述待核查账户名的口令对应的哈希值,查找所述待核查账户名的口令对应的弱口令标识信息;

所述确定模块,用于根据查找到的所述待核查账户名的口令对应的弱口令标识信息,确定所述待核查账户的口令是否为弱口令。

在上述方案中,所述装置还包括:保存模块;其中,

所述计算模块,用于对采集到的明文弱口令字典进行加密运算得到密文字典;

所述确定模块,用于若在所述密文字典中查找到所述加密后的密码,则对所述加密后的密码对应的账户名口令增加弱口令标识信息;

所述计算模块,用于根据所述账户名和账户名的加密后的密码生成所述账户名的口令对应的哈希值;

所述保存模块,用于将所述账户名的口令对应的哈希值与所述弱口令标识信息保存到数据库的缓存中。

在上述方案中,所述装置还包括:采集模块,用于采集所有的账户名以及账户名的口令加密算法、口令加密密钥和加密后的密码,并且收集明文弱口令字典;

所述计算模块,用于根据所述账户名的口令加密算法及口令加密密钥,对该明文弱口令字典中的所有弱口令进行加密运算,得到密文字典;

所述确定模块,用于在所述密文字典中查找所述账户名的加密后的密码,确定所述密文字典中是否包含所述账户名对应的加密后的密码;

以及,当所述密文字典中包含所述账户名的加密后的密码时,确定所述账户名的口令为弱口令,并对所述账户名的口令增加弱口令标识信息;

在上述方案中,所述计算模块,用于对所述账户名和账户名的加密后的密码进行哈希计算,生成所述账户名的口令对应的哈希值;

所述保存模块,用于将所述账户名的口令对应的哈希值以及弱口令标识信息保存到数据库的缓存中;其中,所述哈希值与弱口令标识信息为一一对应关系。

在上述方案中,所述确定模块,用于当所述密文字典中包含所述账户名的加密后的密码时,所述账户名的口令为弱口令,对所述账户名的口令增加弱口令标识信息且弱口令标识为真;

以及,当所述密文字典中不包含所述账户名的加密后的密码时,所述账户名的口令不为弱口令,对所述账户名的口令增加弱口令标识信息且弱口令标识为假。

在上述方案中,所述确定模块,用于当查找到的哈希值对应的弱口令标识为真时,所述哈希值对应的账户名的口令为弱口令;

以及,当查找到的哈希值对应的弱口令标识为假时,所述哈希值对应的账户名的口令不为弱口令。

本发明实施例提供了一种弱口令核查方法和装置,先将账户名的口令对应的哈希值和账户名的口令对应的弱口令标识信息保存为一一对应的关系,作为后续弱口令核查的基础,当对待核查的账户名进行弱口令核查时,在已保存的哈希值中查找待核查的账户名的口令对应的哈希值,当在已保存的哈希值中能够查找到待核查的账户名的口令对应的哈希值时,通过已保存的哈希值对应的弱口令标识信息,就可以确定待核查账户名的口令是否为弱口令。这样,能够在周期性的对海量账号进行弱口令检测场景下,减少了弱口令核查中查询比对的工作量,提升了弱口令核查的工作效率。

附图说明

图1为本发明实施例中的弱口令核查方法的一种流程示意图;

图2为本发明实施例中的弱口令核查方法的另一种流程示意图;

图3为本发明实施例中的弱口令核查设备的一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

实施例一

参见图1,其示出了本发明实施例提供的一种弱口令核查方法,该方法可以包括:

s101:获取待核查的账户名和所述待核查的账户名对应的加密后的密码;

需要说明的是,所有账户名和账户名对应的口令加密算法、口令加密密钥和加密后的密码都保存在操作系统中。

在具体实施过程中,按照口令加密算法,用口令加密密钥对口令进行加密处理,可以得到加密后的密码。

s102:对所述待核查的账户名和所述待核查的账户名对应的加密后的密码进行哈希计算,得到所述待核查的账户名的口令对应的哈希值;

需要说明的是,这里说的哈希计算是将账户名与账户名对应的加密后的密码经过哈希算法生成哈希值hashvalue,并且哈希计算具有单向不可逆且唯一的特性。

其中,由哈希算法生成的哈希值hashvalue是一段长度固定的二进制数据,每个口令对应的哈希值hashvalue是唯一的,即使是同一账户名对应的同一口令,由于使用的口令加密算法不同,计算得到口令对应的哈希值hashvalue也不同。

s103:根据所述待核查的账户名的口令对应的哈希值,查找所述待核查的账户名的口令对应的弱口令标识信息;

在具体实施过程中,数据库的缓存中保存的信息包括:操作系统中所有账户名的口令对应的哈希值hashvalue和所有账户名的口令对应的弱口令标识信息;其中,账户名的口令与哈希值hashvalue是一一对应的,哈希值hashvalue和弱口令标识信息是一一对应的,因此,账户名的口令与弱口令标识信息也是一一对应的。

另外,数据库中还可以对弱口令提供对应的弱口令值,便于根据弱口令值对弱口令进行分类存储等。

s104:根据查找到的所述哈希值对应的弱口令标识信息,确定所述哈希值对应的所述待核查的账户名的口令是否为弱口令;

需要说明的是,当查找到的哈希值对应的弱口令标识为真时,说明该哈希值对应的账户名的口令为弱口令;当查找到的哈希值对应的弱口令标识为假时,说明该哈希值对应的账户名的口令不为弱口令。

需要说明的是,在s101之前,所述方法还包括对操作系统中所有账户的弱口令核查过程和对所有口令对应的哈希值的计算过程,如图2所述,具体可以包括s100a至s100f:

s100a:采集所有的账户名以及账户名的口令加密算法、口令加密密钥和加密后的密码,并且收集明文弱口令字典;

需要说明的是,该明文弱口令字典中包括常用的明文弱口令,以及根据弱口令生成规则生成的临时明文弱口令。比如,当弱口令生成规则是生成单个重复字符时,根据该弱口令生成规则就可以生成临时明文弱口令:1111;当弱口令生成规则是按自然顺序排列时,根据该弱口令生成规则就可以生成临时明文弱口令:abcd。

s100b:根据所述账户名的口令加密算法及口令加密密钥,对该明文弱口令字典中的所有弱口令进行加密运算,得到密文字典;

s100c:在所述密文字典中查找所述账户名的加密后的密码,确定所述密文字典中是否包含所述账户名对应的加密后的密码;

具体来说,将采集到的账户名的加密后的密码与对收集到的明文弱口令字典中的所有弱口令进行加密运算后得到的密文字典逐一进行比对,确定密文字典中是否包含账户名的加密后的密码。

s100d:当所述密文字典中包含所述账户名的加密后的密码时,确定所述账户名的口令为弱口令,并对所述账户名的口令增加弱口令标识信息;

需要说明的是,当该密文字典中包含该账户名的加密后的密码时,该账户名的口令为弱口令,对该账户名的口令增加弱口令标识信息且弱口令标识为真;当该密文字典中不包含该账户名的加密后的密码时,该账户名的口令不为弱口令,对该账户名的口令增加弱口令标识信息且弱口令标识为假。

上述步骤s100a至s100d具体实现了:对明文弱口令字典进行加密运算得到密文字典,若在所述密文字典中查找到所述加密后的密码,则对所述加密后的密码对应的账户名口令增加弱口令标识信息。

s100e:对所述账户名和账户名的加密后的密码进行哈希计算,生成所述账户名的口令对应的哈希值;

s100f:将所述账户名的口令对应的哈希值以及弱口令标识信息保存到数据库的缓存中;其中,所述哈希值与弱口令标识信息为一一对应关系。

上述步骤s100e和s100f具体实现了:根据所述账户名和账户名的加密后的密码生成所述账户名的口令对应的哈希值,将所述账户名的口令对应的哈希值与所述弱口令标识信息保存到数据库的缓存中。

在具体实施过程中,在s103中,若在数据库的缓存中没有查找到待查询账户名的口令对应的哈希值,则需要重新执行s100c~s100f,将该待查询账户名的口令对应的哈希值和弱口令标识信息保存在数据库的缓存中,以便后续的弱口令核查工作。

本发明实施例提供了一种弱口令核查方法,先将账户名的口令对应的哈希值和账户名的口令对应的弱口令标识信息保存为一一对应的关系,作为后续弱口令核查的基础,当对待核查的账户名进行弱口令核查时,在已保存的哈希值中查找待核查的账户名的口令对应的哈希值,当在已保存的哈希值中能够查找到待核查的账户名的口令对应的哈希值时,通过已保存的哈希值对应的弱口令标识信息,就可以确定待核查账户名的口令是否为弱口令。这样,能够在周期性的对海量账号进行弱口令检测场景下,减少了弱口令核查中查询比对的工作量,提升了弱口令核查的工作效率。

实施例二

基于上述实施例相同的技术构思,参见图3,其示出了本发明实施例提供的一种一种弱口令核查装置3,该移装置3包括:获取单元301、计算单元302、查找单元303和确定单元304;其中,

所述获取单元301,用于获取待核查账户名和所述待核查的账户名对应的加密后的密码;

所述计算单元302,用于对所述待核查账户名和所述待核查账户名对应的加密后的密码进行哈希计算,得到所述待核查的账户名的口令对应的哈希值;

所述查找单元303,用于根据所述待核查账户名的口令对应的哈希值,查找所述待核查账户名的口令对应的弱口令标识信息;

所述确定单元304,用于根据查找到的所述待核查账户名的口令对应的弱口令标识信息,确定所述待核查账户的口令是否为弱口令。

上述方案中,所述装置还包括:保存模块305;其中,

所述计算模块302,用于对采集到的明文弱口令字典进行加密运算得到密文字典;

所述确定模块304,用于若在所述密文字典中查找到所述加密后的密码,则对所述加密后的密码对应的账户名口令增加弱口令标识信息;

所述计算模块302,用于根据所述账户名和账户名的加密后的密码生成所述账户名的口令对应的哈希值;

所述保存模块305,用于将所述账户名的口令对应的哈希值与所述弱口令标识信息保存到数据库的缓存中。

上述方案中,所述装置还包括:采集模块306;其中,

所述采集模块306,用于采集所有的账户名以及账户名的口令加密算法、口令加密密钥和加密后的密码,并且收集明文弱口令字典;

所述计算模块302,用于根据所述账户名的口令加密算法及口令加密密钥,对该明文弱口令字典中的所有弱口令进行加密运算,得到密文字典;

所述确定模块304,用于在所述密文字典中查找所述账户名的加密后的密码,确定所述密文字典中是否包含所述账户名对应的加密后的密码;

以及,当所述密文字典中包含所述账户名的加密后的密码时,确定所述账户名的口令为弱口令,并对所述账户名的口令增加弱口令标识信息。

上述方案中,所述计算模块302,用于对所述账户名和账户名的加密后的密码进行哈希计算,生成所述账户名的口令对应的哈希值;

所述保存模块305,用于将所述账户名的口令对应的哈希值以及弱口令标识信息保存到数据库的缓存中;其中,所述哈希值与弱口令标识信息为一一对应关系。

上述方案中,所述确定模块304,用于当所述密文字典中包含所述账户名的加密后的密码时,所述账户名的口令为弱口令,对所述账户名的口令增加弱口令标识信息且弱口令标识为真;

以及,当所述密文字典中不包含所述账户名的加密后的密码时,所述账户名的口令不为弱口令,对所述账户名的口令增加弱口令标识信息且弱口令标识为假。

上述方案中,所述确定模块304,用于当查找到的哈希值对应的弱口令标识为真时,所述哈希值对应的账户名的口令为弱口令;

以及,当查找到的哈希值对应的弱口令标识为假时,所述哈希值对应的账户名的口令不为弱口令。

具体的,本发明实施例提供的弱口令核查装置的说明可以参考实施例一的弱口令核查方法的说明,本发明实施例在此不再赘述。

在实际应用中,所述获取模块301、计算模块302、查找模块303和确定模块304、保存模块305和采集模块306均可由位于弱口令核查装置3中的中央处理器(centralprocessingunit,cpu)、微处理器(microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)、或现场可编程门阵列(fieldprogrammablegatearray,fpga)等实现。

本发明实施例提供了一种弱口令核查装置,先将账户名的口令对应的哈希值和账户名的口令对应的弱口令标识信息保存为一一对应的关系,作为后续弱口令核查的基础,当对待核查的账户名进行弱口令核查时,在已保存的哈希值中查找待核查的账户名的口令对应的哈希值,当在已保存的哈希值中能够查找到待核查的账户名的口令对应的哈希值时,通过已保存的哈希值对应的弱口令标识信息,就可以确定待核查账户名的口令是否为弱口令。这样,能够在周期性的对海量账号进行弱口令检测场景下,减少了弱口令核查中查询比对的工作量,提升了弱口令核查的工作效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、程序实施例、或结合程序和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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