首页 / 专利库 / 资料储存系统 / 根哈希 / 一种弱口令检测方法及装置

一种弱口令检测方法及装置

阅读:196发布:2020-05-11

专利汇可以提供一种弱口令检测方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种弱口令检测方法及装置,该方法包括:获取用户设置密码时输入的密码及密码的类型;采用预设哈希 算法 获取密码的哈希值,并判断哈希值是否属于预先建立的哈希值列表中的哈希值;如果是,则查找哈希值对应的密码是否属于预先建立的哈希冲突列表中的密码,如果属于,则确定密码为弱口令密码;其中,哈希值列表为预先获取的对应密码类型的所有弱口令密码的哈希值集合,哈希冲突列表为根据哈希值列表中哈希值冲突的所有弱口令密码的集合。上述方法及系统能够较好的提高弱口令识别速率,进而较好的提高了账号密码的安全性,提高了用户体验。,下面是一种弱口令检测方法及装置专利的具体信息内容。

1.一种弱口令检测方法,其特征在于,包括:
获取用户设置密码时输入的密码及所述密码的类型;
采用预设哈希算法获取所述密码的哈希值,并判断所述哈希值是否属于预先建立的哈希值列表中的哈希值;
如果是,则查找所述哈希值对应的密码是否属于预先建立的哈希冲突列表中的密码,如果属于,则确定所述密码为弱口令密码;
其中,所述哈希值列表为预先获取的对应所述密码类型的所有弱口令密码的哈希值集合,所述哈希冲突列表为根据所述哈希值列表中哈希值冲突的所有弱口令密码的集合。
2.根据权利要求1所述的方法,其特征在于,若所述密码的类型为明文密码,则采用预设哈希算法获取所述密码的哈希值的步骤之前,所述方法还包括:
采用预设弱口令检测策略判断所述密码是否为弱口令密码;
如果不是,则执行采用预设哈希算法获取所述密码的哈希值的步骤;
相应地,所述哈希值列表为明文密码哈希值列表,所述哈希冲突列表为明文密码哈希冲突列表。
3.根据权利要求2所述的方法,其特征在于,所述预设弱口令检测策略判断所述密码是否为弱口令密码的步骤,包括:
判断所述密码的长度是否小于指定长度,若小于,则确定所述密码为弱口令密码;和/或,
判断所述密码是否均由阿拉伯数字组成,若是,则确定所述密码为弱口令密码;和/或,
判断所述密码是否均由小写英文字母组成,若是,则确定所述密码为弱口令密码;和/或,
判断所述密码是否均由大写英文字母组成,若是,则确定所述密码为弱口令密码。
4.根据权利要求2所述的方法,其特征在于,所述获取用户设置密码时输入的密码及所述密码的类型的步骤之前,所述方法还包括:
获取所有弱口令明文密码的哈希值,生成明文密码哈希值列表,并根据所有弱口令明文密码的哈希值,建立明文密码哈希冲突列表。
5.根据权利要求1所述的方法,其特征在于,若所述密码的类型为密文密码,则采用预设哈希算法获取所述密码的哈希值的步骤之前,所述方法还包括:
获取所述密码的加密算法类型;
相应地,所述哈希值列表为与所述加密算法类型对应的密文密码哈希值列表,所述哈希冲突列表为与所述加密算法类型对应的密文密码哈希冲突列表。
6.根据权利要求5所述的方法,其特征在于,所述获取用户设置密码时输入的密码及所述密码的类型的步骤之前,所述方法还包括:
获取每一加密算法类型对应的所有弱口令密文密码的哈希值,生成与该加密算法类型对应的密文密码哈希值列表,并根据所有弱口令密文密码的哈希值,建立与该加密算法类型对应的密文密码哈希冲突列表。
7.一种弱口令检测装置,其特征在于,包括:
获取单元,用于获取用户设置密码时输入的密码及所述密码的类型;
哈希值获取单元,用于采用预设哈希算法获取所述密码的哈希值;
第一判断单元,用于判断所述哈希值是否属于预先建立的哈希值列表中的哈希值;
第二判断单元,用于在第一判断单元确定所述哈希值属于所述哈希值列表中的哈希值时,查找所述哈希值对应的密码是否属于预先建立的哈希冲突列表中的密码;
确定单元,用于在第二判断单元查找所述密码属于所述哈希冲突列表中的密码时,确定所述密码为弱口令密码;
其中,所述哈希值列表为预先获取的对应所述密码类型的所有弱口令密码的哈希值集合,所述哈希冲突列表为根据所述哈希值列表中哈希值冲突的所有弱口令密码的集合。
8.根据权利要求7所述的装置,其特征在于,在所述密码的类型为明文密码时,所述装置还包括:
弱口令密码预检测单元,用于在所述哈希值获取单元获取所述密码的哈希值之前,采用预设弱口令检测策略判断所述密码是否为弱口令密码;
相应地,哈希值获取单元,用于在弱口令密码预检测单元确定所述密码不为弱口令密码时,获取所述密码的哈希值;
相应地,所述哈希值列表为明文密码哈希值列表,所述哈希冲突列表为明文密码哈希冲突列表。
9.根据权利要求8所述的装置,其特征在于,所述弱口令密码预检测单元,具体用于判断所述密码的长度是否小于指定长度,若小于,则确定所述密码为弱口令密码;和/或,
判断所述密码是否均由阿拉伯数字组成,若是,则确定所述密码为弱口令密码;和/或,
判断所述密码是否均由小写英文字母组成,若是,则确定所述密码为弱口令密码;和/或,
判断所述密码是否均由大写英文字母组成,若是,则确定所述密码为弱口令密码。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:第一列表建立单元;
所述第一列表建立单元,用于在获取单元获取密码之前,获取所有弱口令明文密码的哈希值,生成明文密码哈希值列表,并根据所有弱口令明文密码的哈希值,建立明文密码哈希冲突列表。
11.根据权利要求7所述的装置,其特征在于,在所述密码的类型为密文密码时,所述获取单元,还用于
获取所述密码的加密算法类型;
相应地,所述哈希值列表为与所述加密算法类型对应的密文密码哈希值列表,所述哈希冲突列表为与所述加密算法类型对应的密文密码哈希冲突列表。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:第二列表建立单元;
所述第二列表建立单元,用于在所述获取单元获取密码之前,获取每一加密算法类型对应的所有弱口令密文密码的哈希值,生成与该加密算法类型对应的密文密码哈希值列表,并根据所有弱口令密文密码的哈希值,建立与该加密算法类型对应的密文密码哈希冲突列表。

说明书全文

一种弱口令检测方法及装置

技术领域

[0001] 本发明涉及信息安全技术领域,尤其涉及一种弱口令检测方法及装置。

背景技术

[0002] 当前流行的操作系统通常是支持多用户多任务的分时操作系统。安装有该类操作系统的设备中系统账号/密码的安全是设备主机安全的一道重要的屏障。
[0003] 为此,用户针对该操作系统设置密码时,操作系统会有一定的复杂度要求,比如密码长度不能过短,不允许设置多位连续重复的数字、字母等。
[0004] 然而,操作系统自带密码复杂度检测算法过于简单,导致用户设置的账号/密码的密码强度过低,不能抵御密码暴破解工具的攻击。
[0005] 鉴于操作系统自带的密码复杂度检测算法过低简单的问题,业内人士提供一种使用弱口令字典检测弱口令密码的方法,具体步骤包括:预先采用穷举遍历法建立弱口令字典,然后将用户设置的账号/密码与弱口令字典中的弱口令进行匹配,确定是否属于弱口令。上述方法弱口令识别速率低,识别准确率低,导致操作系统的账号/密码的安全性降低。

发明内容

[0006] 针对现有技术中的缺陷,本发明提供一种弱口令检测方法及装置,用以解决现有技术中弱口令识别速率低,且识别准确率低的问题,提高操作系统的密码安全强度。
[0007] 第一方面,本发明提供一种弱口令检测方法,包括:
[0008] 获取用户设置密码时输入的密码及所述密码的类型;
[0009] 采用预设哈希算法获取所述密码的哈希值,并判断所述哈希值是否属于预先建立的哈希值列表中的哈希值;
[0010] 如果是,则查找所述哈希值对应的密码是否属于预先建立的哈希冲突列表中的密码,如果属于,则确定所述密码为弱口令密码;
[0011] 其中,所述哈希值列表为预先获取的对应所述密码类型的所有弱口令密码的哈希值集合,所述哈希冲突列表为根据所述哈希值列表中哈希值冲突的所有弱口令密码的集合。
[0012] 可选地,若所述密码的类型为明文密码,则采用预设哈希算法获取所述密码的哈希值的步骤之前,所述方法还包括:
[0013] 采用预设弱口令检测策略判断所述密码是否为弱口令密码;
[0014] 如果不是,则执行采用预设哈希算法获取所述密码的哈希值的步骤;
[0015] 相应地,所述哈希值列表为明文密码哈希值列表,所述哈希冲突列表为明文密码哈希冲突列表。
[0016] 可选地,所述预设弱口令检测策略判断所述密码是否为弱口令密码的步骤,包括:
[0017] 判断所述密码的长度是否小于指定长度,若小于,则确定所述密码为弱口令密码;和/或,
[0018] 判断所述密码是否均由阿拉伯数字组成,若是,则确定所述密码为弱口令密码;和/或,
[0019] 判断所述密码是否均由小写英文字母组成,若是,则确定所述密码为弱口令密码;和/或,
[0020] 判断所述密码是否均由大写英文字母组成,若是,则确定所述密码为弱口令密码。
[0021] 可选地,所述获取用户设置密码时输入的密码及所述密码的类型的步骤之前,所述方法还包括:
[0022] 获取所有弱口令明文密码的哈希值,生成明文密码哈希值列表,并根据所有弱口令明文密码的哈希值,建立明文密码哈希冲突列表。
[0023] 可选地,若所述密码的类型为密文密码,则采用预设哈希算法获取所述密码的哈希值的步骤之前,所述方法还包括:
[0024] 获取所述密码的加密算法类型;
[0025] 相应地,所述哈希值列表为与所述加密算法类型对应的密文密码哈希值列表,所述哈希冲突列表为与所述加密算法类型对应的密文密码哈希冲突列表。
[0026] 可选地,所述获取用户设置密码时输入的密码及所述密码的类型的步骤之前,所述方法还包括:
[0027] 获取每一加密算法类型对应的所有弱口令密文密码的哈希值,生成与该加密算法类型对应的密文密码哈希值列表,并根据所有弱口令密文密码的哈希值,建立与该加密算法类型对应的密文密码哈希冲突列表。
[0028] 第二方面,本发明提供一种弱口令检测装置,包括:
[0029] 获取单元,用于获取用户设置密码时输入的密码及所述密码的类型;
[0030] 哈希值获取单元,用于采用预设哈希算法获取所述密码的哈希值;
[0031] 第一判断单元,用于判断所述哈希值是否属于预先建立的哈希值列表中的哈希值;
[0032] 第二判断单元,用于在第一判断单元确定所述哈希值属于所述哈希值列表中的哈希值时,查找所述哈希值对应的密码是否属于预先建立的哈希冲突列表中的密码;
[0033] 确定单元,用于在第二判断单元查找所述密码属于所述哈希冲突列表中的密码时,确定所述密码为弱口令密码;
[0034] 其中,所述哈希值列表为预先获取的对应所述密码类型的所有弱口令密码的哈希值集合,所述哈希冲突列表为根据所述哈希值列表中哈希值冲突的所有弱口令密码的集合。
[0035] 可选地,在所述密码的类型为明文密码时,所述装置还包括:
[0036] 弱口令密码预检测单元,用于在所述哈希值获取单元获取所述密码的哈希值之前,采用预设弱口令检测策略判断所述密码是否为弱口令密码;
[0037] 相应地,哈希值获取单元,用于在弱口令密码预检测单元确定所述密码不为弱口令密码时,获取所述密码的哈希值;
[0038] 相应地,所述哈希值列表为明文密码哈希值列表,所述哈希冲突列表为明文密码哈希冲突列表。
[0039] 可选地,所述弱口令密码预检测单元,具体用于
[0040] 判断所述密码的长度是否小于指定长度,若小于,则确定所述密码为弱口令密码;和/或,
[0041] 判断所述密码是否均由阿拉伯数字组成,若是,则确定所述密码为弱口令密码;和/或,
[0042] 判断所述密码是否均由小写英文字母组成,若是,则确定所述密码为弱口令密码;和/或,
[0043] 判断所述密码是否均由大写英文字母组成,若是,则确定所述密码为弱口令密码。
[0044] 可选地,所述装置还包括:第一列表建立单元;
[0045] 所述第一列表建立单元,用于在获取单元获取密码之前,获取所有弱口令明文密码的哈希值,生成明文密码哈希值列表,并根据所有弱口令明文密码的哈希值,建立明文密码哈希冲突列表。
[0046] 可选地,在所述密码的类型为密文密码时,所述获取单元,还用于[0047] 获取所述密码的加密算法类型;
[0048] 相应地,所述哈希值列表为与所述加密算法类型对应的密文密码哈希值列表,所述哈希冲突列表为与所述加密算法类型对应的密文密码哈希冲突列表。
[0049] 可选地,所述装置还包括:第二列表建立单元;
[0050] 所述第二列表建立单元,用于在所述获取单元获取密码之前,获取每一加密算法类型对应的所有弱口令密文密码的哈希值,生成与该加密算法类型对应的密文密码哈希值列表,并根据所有弱口令密文密码的哈希值,建立与该加密算法类型对应的密文密码哈希冲突列表。
[0051] 由上述技术方案可知,本发明的弱口令检测方法及装置,通过哈希算法获取当前用户输入的密码的哈希值,进而查看是否属于预先建立的哈希值列表,以及在属于哈希值列表之后,查看是否属于哈希冲突列表,以确定该密码是否为弱口令密码,由此,可较好的解决现有技术中弱口令识别速率低,且识别准确率低的问题,提高操作系统的密码安全强度。附图说明
[0052] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0053] 图1为本发明一实施例提供的弱口令检测方法的流程示意图;
[0054] 图2为本发明另一实施例提供的弱口令检测方法的流程示意图;
[0055] 图3为本发明另一实施例提供的弱口令检测方法的流程示意图;
[0056] 图4为本发明另一实施例提供的弱口令检测装置的结构示意图。

具体实施方式

[0057] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0058] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
[0059] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
[0060] 本发明实施例中的弱口令可理解为容易被别人猜测到或被破解工具破解的口令。
[0061] 图1示出了本发明一实施例提供的弱口令检测方法的流程示意图,如图1所示,本实施例的弱口令检测方法包括如下步骤:
[0062] 101、获取用户设置密码时输入的密码及所述密码的类型。
[0063] 举例来说,上述密码可为用户在操作系统中设置的安全密码,也可以是用户在主机的操作系统的某一应用程序设置的安全密码等,本实施例不对其限定,不限定仅仅应用在操作系统中设置的安全密码。
[0064] 另外,本实施例中所述的密码的类型可为明文密码或密文密码。该处的明文密码可为未经过加密算法加密的密码,密文密码可为经过任一现有的加密算法加密的密码。
[0065] 102、采用预设哈希算法获取所述密码的哈希值,并判断所述哈希值是否属于预先建立的哈希值列表中的哈希值;如果是,则执行步骤103,否则,确定所述密码不为弱口令密码,即用户设置密码时输入的密码的安全性较高。
[0066] 举例来说,哈希值列表可为预先获取的对应所述密码类型的所有弱口令密码的哈希值集合。例如,若密码的类型为明文密码,则该哈希值列表可为明文密码哈希值列表;若密码的类型为密文密码,则该哈希值列表可为密文密码哈希值列表。
[0067] 可理解的是,本实施例中预设的哈希算法可为现有技术中任一可使用的哈希算法,本实施例不对其进行限定。
[0068] 103、如果步骤102中密码的哈希值属于所述哈希值列表中的哈希值,则查找所述哈希值对应的密码是否属于预先建立的哈希冲突列表中的密码;如果属于,则执行步骤104,否则,可确定所述密码不为弱口令密码,即用户设置密码时输入的密码的安全性较高。
[0069] 其中,所述哈希冲突列表可为预先根据所述哈希值列表中哈希值冲突的所有弱口令密码的集合。例如,若密码的类型为明文密码,则该哈希冲突列表可为明文密码哈希冲突列表;若密码的类型为密文密码,则该哈希冲突列表可为密文密码哈希冲突列表。
[0070] 104、如果步骤103中哈希值对应的密码属于所述哈希冲突列表中记录的密码,则可确定所述密码为弱口令密码。
[0071] 本实施例的弱口令检测方法,通过哈希算法获取当前用户输入的密码的哈希值,进而查看是否属于预先建立的哈希值列表,以及在属于哈希值列表之后,查看是否属于哈希冲突列表,以确定该密码是否为弱口令密码,由此,可较好的解决现有技术中弱口令识别速率低,且识别准确率低的问题,提高操作系统的密码安全强度。
[0072] 图2示出了本发明另一实施例提供的弱口令检测方法的流程示意图,如图2所示,本实施例的弱口令检测方法包括如下步骤:
[0073] 201、获取用户设置密码时输入的密码及该密码的类型,该密码的类型为明文密码。
[0074] 202、采用预设弱口令检测策略判断所述密码是否为弱口令密码;如果不是,则执行步骤203,否则,确定当前用户设置密码时输入的密码为弱口令密码。
[0075] 举例来说,本实施例中的步骤202可包括下述的一项或多项。
[0076] 判断所述密码的长度是否小于指定长度,若小于,则确定所述密码为弱口令密码;和/或,
[0077] 判断所述密码是否均由阿拉伯数字组成,若是,则确定所述密码为弱口令密码;和/或,
[0078] 判断所述密码是否均由小写英文字母组成,若是,则确定所述密码为弱口令密码;和/或,
[0079] 判断所述密码是否均由大写英文字母组成,若是,则确定所述密码为弱口令密码。
[0080] 203、采用预设哈希算法获取所述密码的哈希值,并判断所述哈希值是否属于预先建立的明文密码哈希值列表中的哈希值,如果是,则执行步骤204,否则,确定所述密码不为弱口令密码,即用户设置密码时输入的密码的安全性较高。
[0081] 举例来说,明文密码哈希值列表可为预先获取的明文密码的所有弱口令密码的哈希值集合。
[0082] 204、如果步骤203中密码的哈希值属于明文密码哈希值列表中的哈希值,则查找所述哈希值对应的密码是否属于预先建立的明文密码哈希冲突列表中的密码,如果属于,则执行步骤205,否则,可确定所述密码不为弱口令密码,即用户设置密码时输入的密码的安全性较高。
[0083] 本实施例中,明文密码哈希冲突列表可为与预先根据明文密码哈希值列表中的哈希值冲突的所有弱口令密码的集合。
[0084] 205、如果步骤204中哈希值对应的密码属于明文密码哈希冲突列表中记录的密码,则可确定所述密码为弱口令密码。
[0085] 可理解的是,在实际应用中,图2所示的方法在执行步骤201之前,所述弱口令检测方法还包括下述的图中未示出的步骤200:
[0086] 200、获取所有弱口令明文密码的哈希值,生成明文密码哈希值列表,并根据所有弱口令明文密码的哈希值,建立明文密码哈希冲突列表。
[0087] 在实际应用中,可使用现有的弱口令字典中的所有明文弱口令构造明文密码哈希值列表,相应建立明文密码哈希冲突列表。例如,针对现有技术中的弱口令字典中的明文弱口令,逐项使用指定哈希算法计算哈希值,生成哈希数组,进而得到明文密码哈希值列表。对于计算后的每个哈希值,若存在哈希冲突,可构建明文密码哈希冲突列表,该明文密码哈希冲突列表用于存放各明文弱口令。
[0088] 需要说明的是,在该步骤中获取所有弱口令明文密码的哈希值对应的哈希算法与前述步骤203中提及的预设哈希算法是一致的。
[0089] 本实施例中的明文密码哈希值列表和密文密码哈希值列表分开,可降低该列表占用的系统资源,且能够提高检测弱口令密码时的检测效率,以及检测准确率。
[0090] 特别地,本实施例中还建立有明文密码哈希冲突列表可有效的防止明文密码中有冲突的哈希值而导致检测不准确的问题。
[0091] 另外,在具体应用中,上述明文密码哈希值列表和明文密码哈希冲突列表可根据用户需求动态扩充。
[0092] 本实施例的弱口令检测方法主要是针对明文密码的弱口令检测,通过上述方法可较好的解决现有技术中弱口令识别速率低,且识别准确率低的问题,提高操作系统的密码安全强度。
[0093] 图3示出了本发明另一实施例提供的弱口令检测方法的流程示意图,如图3所示,本实施例的弱口令检测方法包括如下步骤:
[0094] 301、获取用户设置密码时输入的密码以及该密码的类型,该密码的类型为密文密码。
[0095] 302、获取所述密码的加密算法类型。
[0096] 举例来说,密码的加密算法类型可为现有公开的SHA加密算法、MD5加密算法等等。
[0097] 303、采用预设哈希算法获取所述密码的哈希值,并选择预先建立的与所述密码的加密算法类型对应的密文密码哈希值列表。
[0098] 304、判断所述哈希值是否属于选择的密文密码哈希值列表中的哈希值,如果是,则执行步骤305,否则,确定所述密码不为弱口令密码,即用户设置密码时输入的密码的安全性较高。
[0099] 在本实施例中,密文密码哈希值列表为预先获取的对应加密算法类型的密文密码的所有弱口令密码的哈希值集合。
[0100] 305、如果步骤304中密码的哈希值属于密文密码哈希值列表中的哈希值,则查找所述哈希值对应的密码是否属于预先建立的密文密码哈希冲突列表中的密码,如果属于,则执行步骤306,否则,可确定所述密码不为弱口令密码,即用户设置密码时输入的密码的安全性较高。
[0101] 在本实施例中,密文密码哈希冲突列表可为根据加密算法类型对应的密文密码哈希值列表中的哈希值冲突的所有弱口令密码的集合。
[0102] 306、如果步骤305中哈希值对应的密码属于密文密码哈希冲突列表中记录的密码,则可确定所述密码为弱口令密码。
[0103] 可理解的是,在实际应用中,图3所示的方法在执行步骤301之前,所述弱口令检测方法还包括下述的图中未示出的步骤300:
[0104] 300、获取每一加密算法类型对应的所有弱口令密文密码的哈希值,生成与该加密算法类型对应的密文密码哈希值列表,并根据所有弱口令密文密码的哈希值,建立与该加密算法类型对应的密文密码哈希冲突列表。
[0105] 在实际应用中,可使用现有的弱口令字典中的所有明文弱口令构造密文密码哈希值列表,以及建立密文密码哈希冲突列表。
[0106] 具体地,采用各加密算法类型的加密算法逐项计算弱口令字典中的所有明文弱口令,生成与该加密算法对应的密文密码/密文口令;
[0107] 接着,针对该加密算法对应的密文密码/密文口令,采用指定哈希算法逐项获取哈希值,生成哈希数组,进而得到与该加密算法对应的密文密码哈希值列表。对于计算后的每个哈希值,若存在哈希冲突,可构建密文密码哈希冲突列表,该明文密码哈希冲突列表用于存放各密文弱口令即上述的密文口令/密文密码。
[0108] 需要说明的是,在该步骤中获取所有弱口令密文密码的哈希值对应的哈希算法与前述步骤303中提及的预设哈希算法是一致的。
[0109] 本实施例中的明文密码哈希值列表和密文密码哈希值列表分开,可降低该列表占用的系统资源,且能够提高检测弱口令密码时的检测效率,以及检测准确率。
[0110] 特别地,本实施例中还建立有密文密码哈希冲突列表可有效的防止密文密码中有冲突的哈希值而导致检测不准确的问题。
[0111] 另外,在具体应用中,上述密文密码哈希值列表和密文密码哈希冲突列表可根据用户需求动态扩充。
[0112] 本实施例的弱口令检测方法主要是针对密文密码的弱口令检测,通过上述方法可较好的解决现有技术中弱口令识别速率低,且识别准确率低的问题,提高操作系统的密码安全强度。
[0113] 应说明的是,上述任一实施例所述的弱口令检测方法的检测效率非常高。在实际应用中,现有技术中基于弱口令字典的弱口令检测方法的时间效率是0(N),而本发明实施例采用哈希的思想构造弱口令的哈希数组,弱口令的检测效率可以达到0(1),由此,本发明中可以预先建立样本足够大包括弱口令密码的哈希值列表,覆盖常用弱口令的检测。进一步地,预先建立的哈希值列表还可以动态扩充。
[0114] 也就是说,本发明实施例中的弱口令检测方法能够提高弱口令识别速率,降低识别过程中的系统开销,提高了操作系统主机账号的安全性。
[0115] 图4示出了本发明一实施例提供的弱口令检测装置的结构示意图,如图4所示,本实施例的弱口令检测装置包括:获取单元41、哈希值获取单元42、第一判断单元43、第二判断单元44和确定单元45;
[0116] 其中,获取单元41用于获取用户设置密码时输入的密码及所述密码的类型;
[0117] 哈希值获取单元42用于采用预设哈希算法获取所述密码的哈希值;
[0118] 第一判断单元43用于判断所述哈希值是否属于预先建立的哈希值列表中的哈希值;
[0119] 第二判断单元44用于在第一判断单元43确定所述哈希值属于所述哈希值列表中的哈希值时,查找所述哈希值对应的密码是否属于预先建立的哈希冲突列表中的密码;
[0120] 确定单元45用于在第二判断单元44查找所述密码属于所述哈希冲突列表中的密码时,确定所述密码为弱口令密码;
[0121] 其中,所述哈希值列表为预先获取的对应所述密码类型的所有弱口令密码的哈希值集合,所述哈希冲突列表为根据所述哈希值列表中哈希值冲突的所有弱口令密码的集合。
[0122] 在一种可能的实现方式中,在所述密码的类型为明文密码时,所述装置还包括图4中未示出的弱口令密码预检测单元42a;
[0123] 弱口令密码预检测单元42a用于在所述哈希值获取单元42获取所述密码的哈希值之前,采用预设弱口令检测策略判断所述密码是否属于弱口令密码;
[0124] 相应地,哈希值获取单元42可用于在弱口令密码预检测单元确定所述密码不属于弱口令密码时,获取所述密码的哈希值;
[0125] 此时,所述哈希值列表为明文密码哈希值列表,所述哈希冲突列表为明文密码哈希冲突列表。
[0126] 举例来说,所述弱口令密码预检测单元42a可具体用于,
[0127] 判断所述密码的长度是否小于指定长度,若小于,则确定所述密码为弱口令密码;和/或,
[0128] 判断所述密码是否均由阿拉伯数字组成,若是,则确定所述密码为弱口令密码;和/或,
[0129] 判断所述密码是否均由小写英文字母组成,若是,则确定所述密码为弱口令密码;和/或,
[0130] 判断所述密码是否均由大写英文字母组成,若是,则确定所述密码为弱口令密码。
[0131] 在第二种可能的实现方式中,前述图4所示的装置还可包括:第一列表建立单元40,该第一列表建立单元40可用于在获取单元41获取密码之前,获取所有弱口令明文密码的哈希值,生成明文密码哈希值列表,并根据所有弱口令明文密码的哈希值,建立明文密码哈希冲突列表。
[0132] 另外,在第三种可能的实现方式中,在所述密码的类型为密文密码时,前述的获取单元41还用于,获取所述密码的加密算法类型;
[0133] 相应地,所述哈希值列表为与所述加密算法类型对应的密文密码哈希值列表,所述哈希冲突列表为与所述加密算法类型对应的密文密码哈希冲突列表。
[0134] 可选地,弱口令检测装置还可包括下述的图中未示出的第二列表建立单元,该第二列表建立单元可用于在所述获取单元41获取密码之前,获取每一加密算法类型对应的所有弱口令密文密码的哈希值,生成与该加密算法类型对应的密文密码哈希值列表,并根据所有弱口令密文密码的哈希值,建立与该加密算法类型对应的密文密码哈希冲突列表。
[0135] 本实施例的弱口令检测装置可对明文密码和密文密码进行弱口令检测,由此可较好的解决现有技术中弱口令识别速率低,且识别准确率低的问题,提高操作系统的密码安全强度。
[0136] 应说明的是,本实施例的弱口令检测装置可为任一应用程序可安装在任一操作系统中,同时可检测终端上操作系统主机账号的密码是否为弱口令密码,还可检测终端其他应用程序对应的密码/账号是否为弱口令密码等,本实施例不对其进行限定。
[0137] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0138] 本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模或流程并不一定是实施本发明所必须的。
[0139] 本领域技术人员可以理解实施例中的系统中的模块可以按照实施例描述进行分布于实施例的系统中,也可以进行相应变化位于不同于本实施例的一个或多个系统中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0140] 以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈