检测口令的方法、口令检测设备及存储介质转让专利

申请号 : CN201910907337.3

文献号 : CN112637110B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王显雷

申请人 : 华为云计算技术有限公司

摘要 :

本申请公开了一种检测口令的方法、口令检测设备及存储介质,属于信息处理领域。在本申请实施例中,在接收到第一用户请求之后,可以确定第一用户请求携带的待检测口令的计数值,该待检测口令的计数值为接收第一用户请求之前接收到的至少一个用户请求中携带该待检测口令的用户请求的数量。之后,可以根据该待检测口令的计数值来确定待检测口令是否合法。在此基础上,根据待检测口令的计数值来确定待检测口令是否合法,相当于是以统计数据为基础对待检测口令进行检测,提高了口令检测的准确度。

权利要求 :

1.一种检测口令的方法,其特征在于,所述方法包括:接收至少一个用户请求之后,接收第一用户请求,所述第一用户请求携带待检测口令;

从所述第一用户请求中获取所述待检测口令;

确定所述待检测口令的计数值,所述待检测口令的计数值为所述至少一个用户请求中携带所述待检测口令的用户请求的数量;

根据所述待检测口令的计数值,确定所述待检测口令是否合法;

所述根据所述待检测口令的计数值,确定所述待检测口令是否合法,包括:从预先存储的计数值与弱口令概率之间的映射关系中获取所述待检测口令的计数值所对应的弱口令概率,根据所述弱口令概率确定所述待检测口令是否合法;

或者,根据所述待检测口令的计数值与预设计数阈值的大小关系,确定所述待检测口令是否合法。

2.根据权利要求1所述的方法,其特征在于,所述至少一个用户请求携带有至少一个口令;

所述接收第一用户请求之前,所述方法还包括:对所述至少一个口令进行脱密处理得到至少一个标识;

确定所述待检测口令的计数值,包括:对所述待检测口令进行所述脱密处理得到所述待检测口令的标识;

根据所述待检测口令的标识和所述至少一个标识的匹配结果确定所述待检测口令的计数值。

3.根据权利要求2所述的方法,其特征在于,对所述至少一个口令进行脱密处理得到至少一个标识,包括:将所述至少一个口令中的每个口令映射到m个标识中的一组标识,其中,所述m个标识对应m个计数值,所述m个计数值表示从所述至少一个用户请求中获取的口令的数量,m为正整数;

对所述待检测口令进行所述脱密处理得到所述待检测口令的标识,包括:将所述待检测口令映射到m个标识中匹配的一组标识;

根据所述待检测口令的标识和所述至少一个标识的匹配结果确定所述待检测口令的计数值,包括:

获取所述匹配的一组标识中各个标识对应的计数值;

根据获取的计数值确定所述待检测口令的计数值。

4.根据权利要求3所述的方法,其特征在于,将所述至少一个口令中的每个口令映射到m个标识中的一组标识,包括:通过k次哈希运算将所述至少一个口令中的每个口令映射到m个标识中的k个标识,其中k为正整数,且k不大于m;

所述将所述待检测口令映射到m个标识中匹配的一组标识,包括:通过所述k次哈希运算将所述待检测口令映射到所述m个标识中匹配的k个标识;

获取所述匹配的一组标识中各个标识对应的计数值,包括:获取所述匹配的k个标识中各个标识对应的计数值。

5.根据权利要求3或4所述的方法,其特征在于,根据获取的计数值确定所述待检测口令的计数值,包括:将所述获取的计数值中的最小值确定为所述待检测口令的计数值。

6.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:每隔预设时长,将所述m个计数值中每个计数值减1。

7.根据权利要求5所述的方法,其特征在于,所述方法还包括:每隔预设时长,将所述m个计数值中每个计数值减1。

8.一种口令检测设备,其特征在于,所述口令检测设备包括:接收模块,用于接收至少一个用户请求之后,接收第一用户请求,所述第一用户请求携带待检测口令;

获取模块,用于从所述第一用户请求中获取所述待检测口令;

确定模块,用于确定所述待检测口令的计数值,所述待检测口令的计数值为所述至少一个用户请求中携带所述待检测口令的用户请求的数量;

检测模块,用于根据所述待检测口令的计数值,确定所述待检测口令是否合法;

所述检测模块,用于:

从预先存储的计数值与弱口令概率之间的映射关系中获取所述待检测口令的计数值所对应的弱口令概率,根据所述弱口令概率确定所述待检测口令是否合法;

或者,根据所述待检测口令的计数值与预设计数阈值的大小关系,确定所述待检测口令是否合法。

9.根据权利要求8所述的口令检测设备,其特征在于,所述至少一个用户请求携带有至少一个口令;

所述确定模块还用于,对所述至少一个口令进行脱密处理得到至少一个标识;

所述确定模块具体用于:

对所述待检测口令进行所述脱密处理得到所述待检测口令的标识;

根据所述待检测口令的标识和所述至少一个标识的匹配结果确定所述待检测口令的计数值。

10.根据权利要求9所述的口令检测设备,其特征在于,所述确定模块具体用于:

将所述至少一个口令中的每个口令映射到m个标识中的一组标识,其中,所述m个标识对应m个计数值,所述m个计数值表示从所述至少一个用户请求中获取的口令的数量,m为正整数;

所述确定模块具体还用于:

将所述待检测口令映射到m个标识中匹配的一组标识;

获取所述匹配的一组标识中各个标识对应的计数值;

根据获取的计数值确定所述待检测口令的计数值。

11.根据权利要求10所述的口令检测设备,其特征在于,所述确定模块具体用于:

通过k次哈希运算将所述至少一个口令中的每个口令映射到m个标识中的k个标识,其中k为正整数,且k不大于m;

所述确定模块具体还用于:

通过所述k次哈希运算将所述待检测口令映射到所述m个标识中匹配的k个标识;

获取所述匹配的k个标识中各个标识对应的计数值。

12.根据权利要求10或11所述的口令检测设备,其特征在于,所述确定模块具体用于:将所述获取的计数值中的最小值确定为所述待检测口令的计数值。

13.根据权利要求10或11所述的口令检测设备,其特征在于,所述口令检测设备还用于:

每隔预设时长,将所述m个计数值中每个计数值减1。

14.根据权利要求12所述的口令检测设备,其特征在于,所述口令检测设备还用于:每隔预设时长,将所述m个计数值中每个计数值减1。

15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述权利要求1‑7任一所述的方法。

16.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;

所述存储器用于存储程序代码,所述处理器执行所述程序代码以实现权利要求1‑7任一项所述的方法。

说明书 :

检测口令的方法、口令检测设备及存储介质

技术领域

[0001] 本申请涉及信息处理技术领域,特别涉及一种检测口令的方法、口令检测设备及存储介质。

背景技术

[0002] 当前,各类应用一般均采用口令认证的方式来对用户账号进行安全认证管理。例如,对于一些购物应用、通讯应用等,用户可以注册用户账号,并设置用户账号对应的口令。
该口令即为后续登录该用户账号时对该用户账号进行认证的口令。其中,在设置用户账号
对应的口令时,用户输入的口令可能是一个众所周知或有规律的弱口令。在这种情况下,该
口令被破解的可能性将较大,这将导致用户账号存在较大的安全风险。基于此,为了避免用
户设置的口令为弱口令,在接收到口令之后,可以检测该口令是否为弱口令,以便根据检测
结果对用户进行提示。
[0003] 相关技术中,技术人员可以依靠经验线下收集弱口令,得到弱口令字典。将该弱口令字典输入到服务器中。服务器可以将弱口令字典内包括的所有弱口令加入到布隆过滤器
内。后续,当接收到用户设置的口令时,服务器可以判断该口令是否在布隆过滤器内,如果
在布隆过滤器内,则确定该口令为弱口令。
[0004] 然而,相关技术中的弱口令字典是依靠经验收集得到的,缺乏统计数据的支撑。在这种情况下,仅以该弱口令字典为依据来判断口令是否为弱口令,将会导致判定结果准确
度不高。

发明内容

[0005] 本申请提供了一种检测口令的方法、口令检测设备及存储介质,可以用于解决通过弱口令字典判定弱口令时判定结果的准确度不高的问题。所述技术方案如下:
[0006] 第一方面,提供了一种检测口令的方法,所述方法包括:接收至少一个用户请求之后,接收第一用户请求,所述第一用户请求携带待检测口令;从所述第一用户请求中获取所
述待检测口令;确定所述待检测口令的计数值,所述待检测口令的计数值为所述至少一个
用户请求中携带所述待检测口令的用户请求的数量;根据所述待检测口令的计数值,确定
所述待检测口令是否合法。
[0007] 在本申请实施例中,在接收到第一用户请求之后,可以确定第一用户请求携带的待检测口令的计数值,该待检测口令的计数值为接收第一用户请求之前接收到的至少一个
用户请求中携带该待检测口令的用户请求的数量。之后,可以根据该待检测口令的计数值
来确定待检测口令是否合法。在此基础上,根据待检测口令的计数值来确定待检测口令是
否合法,相当于是以统计数据为基础对待检测口令进行检测,提高了口令检测的准确度。
[0008] 可选地,所述至少一个用户请求携带有至少一个口令。在这种情况下,在接收第一用户请求之前还可以对所述至少一个口令进行脱密处理得到至少一个标识。相应地,确定
所述待检测口令的计数值的实现过程可以为:对所述待检测口令进行所述脱密处理得到所
述待检测口令的标识;根据所述待检测口令的标识和所述至少一个标识的匹配结果确定所
述待检测口令的计数值。
[0009] 在本申请实施例中,对于接收到的用户请求中携带的口令可以进行脱密处理,以得到各个口令的标识,进而通过口令的标识来对口令的使用频次进行计数。这样,可以不必
存储明文口令,提高了用户设置的口令的安全性,保护了用户隐私。
[0010] 可选地,口令检测设备中存储有至少一个标识的计数值。在此基础上,根据所述待检测口令的标识和所述至少一个标识的匹配结果确定所述待检测口令的计数值的实现过
程可以为:若至少一个标识中包括待检测口令的标识,则将至少一个标识中与待检测口令
的标识匹配的标识的计数值作为待检测口令的计数值。若至少一个标识中不包括待检测口
令的标识,则确定待检测口令的计数值为0;将待检测口令的标识进行存储,并将待检测口
令的标识的计数值更新为1。
[0011] 可选地,对所述至少一个口令进行脱密处理得到至少一个标识的实现过程可以为:将所述至少一个口令中的每个口令映射到m个标识中的一组标识,其中,所述m个标识对
应m个计数值,所述m个计数值表示从所述至少一个用户请求中获取的口令的数量,m为正整
数;相应地,对所述待检测口令进行所述脱密处理得到所述待检测口令的标识的实现过程
可以为:将所述待检测口令映射到m个标识中匹配的一组标识;获取所述匹配的一组标识中
各个标识对应的计数值;根据获取的计数值确定所述待检测口令的计数值。
[0012] 其中,每个口令映射到的一组标识中的各个标识可以完全相同,也可以不完全相同。
[0013] 可选地,将所述至少一个口令中的每个口令映射到m个标识中的一组标识的实现过程可以为:通过k次哈希运算将所述至少一个口令中的每个口令映射到m个标识中的k个
标识,其中k为正整数,且k不大于m。在此基础上,所述将待检测口令映射到m个标识中匹配
的一组标识的实现过程可以为:通过所述k次哈希运算将所述待检测口令映射到所述m个标
识中匹配的k个标识。获取所述匹配的一组标识中各个标识对应的计数值的实现过程可以
为:获取所述匹配的k个标识中各个标识对应的计数值。
[0014] 可选地,根据获取的计数值确定所述待检测口令的计数值的实现过程可以为:将所述获取的计数值中的最小值确定为所述待检测口令的计数值。
[0015] 可选地,该方法还可以包括:每隔预设时长,将所述m个计数值中每个计数值减1。这样,可以对弱口令进行动态调整,使得弱口令的判别更加准确。
[0016] 第二方面,提供了一种口令检测设备,所述口令检测设备具有实现上述第一方面中检测口令的方法行为的功能。所述口令检测设备包括至少一个模块,该至少一个模块用
于实现上述第一方面所提供的检测口令的方法。
[0017] 第三方面,提供了一种计算设备,所述计算设备的结构中包括处理器和存储器,所述存储器用于存储支持计算设备执行上述第一方面所提供的检测口令的方法的程序,以及
存储用于实现上述第一方面所提供的检测口令的方法所涉及的数据。所述处理器被配置为
用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通
信总线用于该处理器与存储器之间建立连接。
[0018] 第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的检测口令的方法。
[0019] 第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的检测口令的方法。
[0020] 上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
[0021] 本申请提供的技术方案带来的有益效果至少包括:
[0022] 在本申请实施例中,在接收到第一用户请求之后,可以确定第一用户请求携带的待检测口令的计数值,该待检测口令的计数值为接收第一用户请求之前接收到的至少一个
用户请求中携带该待检测口令的用户请求的数量。之后,可以根据该待检测口令的计数值
来确定待检测口令是否合法。在此基础上,根据待检测口令的计数值来确定待检测口令是
否合法,相当于是以统计数据为基础对待检测口令进行检测,提高了口令检测的准确度。

附图说明

[0023] 图1是本申请实施例提供的一种口令检测的系统架构图;
[0024] 图2是本申请实施例提供的一种检测口令的方法流程图;
[0025] 图3是本申请实施例提供的一种生成弱口令排行榜的方法流程图;
[0026] 图4是本申请实施例提供的一种口令检测设备的结构示意图;
[0027] 图5是本申请实施例提供的一种用于进行口令检测的计算设备的结构示意图。

具体实施方式

[0028] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0029] 在对本申请实施例进行详细的解释说明之前,先对本申请实施例的应用场景进行介绍。
[0030] 随着互联网技术的发展,当前,用户可以在某些应用及网站中注册用户账号,进而通过用户账号来获取相应地服务。其中,在注册用户账号时,用户需要设置用户账号对应的
口令,以便后续登录该用户账号时,服务器基于该口令来对该用户账号进行安全认证管理。
例如,当用户在某个网站中注册用户账号时,可以输入该用户账号对应的口令。终端在接收
到该口令时,可以将该口令传输至服务器。服务器保存该口令和用户账号之间的映射关系,
这样,后续当该用户登录该用户账号时,即可以通过该口令对用户账号进行认证。或者,在
某些情况下,用户可能还需要重新设置用户账号的口令或者是对口令进行修改。
[0031] 需要说明的是,在上述用户为用户账号设置口令的场景下,用户输入的口令可能是一个众所周知或有规律的弱口令。在这种情况下,该口令被破解的可能性将较大,这将导
致用户账号存在较大的安全风险。基于此,本申请实施例提供了一种检测口令的方法,用于
在接收到用户设置的口令时,判断该口令是否为不合法的弱口令,进而根据判断结果为用
户提供后续服务。
[0032] 图1是本申请实施例提供的一种检测口令的方法所涉及的系统架构图。如图1所示,该系统中可以包括终端101、服务器102和口令检测设备103。其中,终端101可以与服务
器102通信,服务器102可以与口令检测设备103通信。
[0033] 需要说明的是,用户通过终端101访问服务器102,具体地,终端101可以向服务器102发送用户请求,该用户请求中可以携带用户输入的用户账号和待检测口令。需要说明的
是,该用户请求可以为账号注册请求,也可以为用于请求进行口令重置或修改的请求。
[0034] 服务器102是指用户注册的用户账号所属的应用的应用服务器,或者是用户注册的用户账号所属的网站的网站服务器等。服务器102可以接收终端101发送的用户请求,并
将该用户请求中携带的待检测口令发送至口令检测设备103。
[0035] 口令检测设备103在接收到待检测口令之后,可以通过本申请实施例提供的方法来检测该待检测口令是否合法,并返回检测结果至服务器102。
[0036] 服务器102在接收到口令检测设备103返回的检测结果之后,可以基于该检测结果为用户提供后续服务。
[0037] 需要说明的是,终端101可以为智能手机、平板电脑、笔记本电脑或台式电脑等用户设备,终端101也可以是服务器。服务器102可以是一台服务器,也可以是一个服务器集
群。口令检测设备103可以是指用于提供口令检测服务的服务器。
[0038] 在一种可能的实现方式中,口令检测设备103也可以是应用于服务器102中的一个模块,也即,该口令检测设备103可以集成在服务器102中,本申请实施例对此不做限定。
[0039] 在一种可能的实现方式中,用户可以不通过终端101,直接访问服务器102,本申请实施例对此不做限定。
[0040] 接下来对本申请实施例提供的检测口令的方法进行详细的解释说明。
[0041] 图2是本申请实施例提供了一种检测口令的方法的流程图。该方法可以应用于图1所示的口令检测设备中,参见图2,该方法包括:
[0042] 步骤201:在接收至少一个用户请求后,接收第一用户请求,该第一用户请求携带待检测口令。
[0043] 其中,第一用户请求可以为注册请求、口令重置请求或口令修改请求。该第一用户请求中可以携带用户账号和待检测口令。当该第一用户请求为注册请求时,携带的待检测
口令是指用户在注册用户账号时设置的口令,当第一用户请求为口令重置请求时,携带的
待检测口令为用户为当前的用户账号重新设置的口令,当该第一用户请求为口令修改请求
时,该待检测口令为用户设置的修改后的口令。
[0044] 需要说明的是,在接收第一用户请求之前,口令检测设备还可以接收至少一个用户请求,每个用户请求均可以携带有一个口令。其中,每当口令检测设备接收到一个用户请
求时,该口令检测设备可以获取该用户请求中携带的口令,并对携带的口令进行计数。
[0045] 示例性地,在一种可能的实现方式中,该口令检测设备可以通过一种脱密算法对该用户请求携带的口令进行处理,从而得到该口令的一个标识。在得到该用户请求携带的
口令的标识之后,如果口令检测设备中已经存储有该标识,则口令检测设备可以将该标识
的计数值加1。否则,口令检测设备可以存储该标识,并将该标识的计数值设置为1。
[0046] 可选地,在另一种可能的实现方式,该口令检测设备也可以对该口令进行脱密处理得到一组标识。该一组标识中包括k个标识。示例性地,该口令检测设备可以通过多种不
同的脱密算法对该口令进行脱密处理,从而得到包含有k个标识的一组标识。此时,这组标
识中的k个标识可能完全相同,也可能部分相同,部分不同,也可能各个都不同。例如,该口
令检测设备可以通过k次哈希运算对该口令进行处理,进而得到k个标识。在得到该用户请
求携带的口令的一组标识之后,如果口令检测设备中存储有这组标识中的全部标识,则口
令检测设备可以将这组标识中的每个标识的计数值加1。如果口令检测设备中未存储有这
组标识中的全部标识,则口令检测设备可以将这组标识中已经存储在口令检测设备中的标
识的计数值加1,对于这组标识中未存储在口令检测设备中的标识,则可以对其进行存储,
并将对应的计数值设置为1。
[0047] 对于在第一用户请求之前接收到的至少一个用户请求中的每个用户请求,口令检测设备均可以通过上述方法来对各个用户请求中的口令进行脱密处理。其中,由于该至少
一个用户请求中的有些用户请求携带的口令可能相同,有些用户请求携带的口令可能不相
同。因此,如果对每个口令脱密处理时得到一个标识,则通过对至少一个口令进行处理之
后,口令检测设备中存储的至少一个标识的数量将小于或等于接收到的至少一个用户请求
中携带的口令的种类数量,并且,该至少一个标识中有的标识的计数值可能为1,有的标识
的计数值可能大于1。此时,每个标识的计数值均可以用于指示已经接收到的用户请求中携
带有相应标识所表征的口令的请求数量,也即,该口令被使用的次数。
[0048] 如果对每个口令脱密处理时得到的标识为包含有k个标识的一组标识,则由于各组标识中可能存在相同的标识,也可能存在不同的标识,因此,对至少一个口令进行处理之
后,该口令检测设备中存储的标识的数量m将大于或等于k,此时,至少一个口令中的每个口
令均可以映射到该m个标识中的一组标识。并且,m个标识中的每个标识的计数值可能为1,
也可能大于1。
[0049] 需要说明的是,在上述介绍中,脱密处理得到的至少一个标识以及至少一个标识的计数值均存储在口令检测设备中,在一些可能的实现方式中,至少一个标识以及计数值
还可以存储在其他口令检测设备中,在这种情况下,当前口令检测设备可以通过与其他口
令检测设备进行通信交互来实现上述过程。
[0050] 可选地,在上述两种实现方式中,口令检测设备可以对接收到的用户请求中的口令进行脱密处理之后得到标识,根据标识来统计各个口令的使用频次。在另外一种可能的
实现方式中,口令检测设备也可以直接存储接收到的口令,并对接收到的各个口令的次数
进行计数。
[0051] 步骤202:从第一用户请求中获取待检测口令。
[0052] 由于第一用户请求中携带有待检测口令,所以,口令检测设备可以从第一用户请求中获取待检测口令,进而通过步骤203‑204来检测该待检测口令是否合法。
[0053] 可选地,在一种可能的实现方式中,在获取到待检测口令之后,在执行步骤203之前,该口令检测设备还可以根据口令复杂度规则来检测该待检测口令是否为简单口令。其
中,口令复杂度规则可以包括字符数量小于第一阈值,包含的字符的种类数量小于第二阈
值等复杂度条件中的一种或多种。基于此,该口令检测设备可以检测该待检测口令是否满
足口令复杂度规则中的复杂度条件中的一种或多种,如果满足,则可以确定该待检测口令
为简单口令。由此可见,通过上述口令复杂度规则检测到的简单口令即是指包含的字符的
数量小于第一阈值和/或包含的字符的种类数量小于第二阈值的口令。
[0054] 示例性地,以口令复杂度规则包括字符数量小于第一阈值、包含的字符的种类数量小于第二阈值这两个复杂度条件为例,口令检测设备可以确定待检测口令包含的字符的
数量,如果待检测口令包含的字符的数量小于第一阈值,则可以确定待检测口令为简单口
令。如果待检测口令包含的字符的数量不小于第一阈值,则该口令检测设备可以确定待检
测口令包含的字符的种类数量,如果该种类数量小于第二阈值,则说明该待检测口令为简
单口令,否则,则确定该待检测口令不为简单口令。
[0055] 或者,口令检测设备可以确定待检测口令包含的字符的数量以及待检测口令包含的字符的种类数量,如果字符数量小于第一阈值,且种类数量小于第二阈值,则可以确定该
待检测口令为简单口令。如果字符数量小于第一阈值,种类数量不小于第二阈值,则可以确
定待检测口令不为简单口令。如果字符数量不小于第一阈值,种类数量小于第二阈值,则可
以确定待检测口令不为简单口令。
[0056] 示例性地,第一阈值可以为6、7、8等数值。其中,该待检测口令对应的用户账号要求的保密程度越高,则该第一阈值相应地可以设置的越大。例如,对于支付类应用中的用户
账号的口令,在检测这一类待检测口令是否为简单口令时所采用的第一阈值,即可以大于
检测诸如社交应用、视频应用中用户账号的待检测口令时所采用的第一阈值。另外,字符的
种类数量用于指示口令中包含有多少种类型的字符。其中,字符的类型可以包括英文字符、
数字、特殊字符等。
[0057] 如果确定待检测口令不为简单口令,则接下来该口令检测设备可以通过步骤203‑204来检测该待检测口令是否为合法。如果确定该待检测口令为简单口令,则该口令检测设
备可以直接确定该待检测口令不合法。
[0058] 步骤203:确定待检测口令的计数值,该待检测口令的计数值为至少一个用户请求中携带待检测口令的用户请求的数量。
[0059] 可选地,若口令检测设备对待检测口令之前接收到的至少一个口令进行了脱密处理,那么,在获取到待检测口令之后,口令检测设备可以对待检测口令进行脱密处理,得到
待检测口令的标识,根据待检测口令的标识和存储的至少一个标识的匹配结果确定待检测
口令的计数值。
[0060] 由步骤201中的介绍可知,对于第一用户请求之后接收到的至少一个用户请求,口令检测设备可以采用两种不同的方式来对用户请求中携带的口令进行脱密处理。基于此,
在本步骤中,口令检测设备也可以采用两种不同的方式来对待检测口令进行脱密处理。
[0061] 第一种实现方式,如果口令检测设备对第一用户请求之前的每个用户请求中的口令进行脱密处理后得到是一个标识,则在本步骤中,口令检测设备可以采用相同的处理方
法对待检测口令进行处理,从而得到待检测口令对应的一个标识。
[0062] 在此基础上,口令检测设备在得到待检测口令的标识之后,可以判断存储的至少一个标识中是否包括该待检测口令的标识,如果不包括该待检测口令的标识,则口令检测
设备可以确定待检测口令的计数值为0。之后,该口令检测设备可以存储该待检测口令的标
识,并将该检测口令的标识的计数值设置为1。可选地,如果至少一个标识中存储有该待检
测口令的标识,则口令检测设备可以获取存储的至少一个标识中与待检测口令匹配的标识
的计数值,将该计数值作为待检测口令的计数值,之后,口令检测设备可以将与至少一个标
识中与该待检测口令匹配的标识的计数值加1。
[0063] 在第二种实现方式中,如果口令检测设备对第一用户请求之前的每个用户请求中的口令进行脱密处理后得到是包含有k个标识的一组标识,则在本步骤中,口令检测设备采
用同样的脱密处理算法对该待检测口令进行脱密处理,得到待检测口令的一组标识。在此
基础上,如果存储的m个标识中包含有待检测口令的这组标识中的每个标识,则口令检测设
备可以获取m个标识中与该待检测口令的这组标识匹配的一组标识中各个标识对应的计数
值,并根据获取的计数值确定该待检测口令的计数值。
[0064] 示例性地,口令检测设备可以通过k次哈希运算对该待检测口令进行脱密处理,从而得到k个哈希值,将该k个哈希值作为该待检测口令的对应的k个标识。
[0065] 另外,在获取到匹配的一组标识中各个标识对应的计数值之后,口令检测设备可以将获取的计数值中的最小计数值作为该待检测口令的计数值。可选地,口令检测设备也
可以将获取的计数值的平均值作为该待检测口令的计数值。
[0066] 在确定待检测口令的计数值之后,该口令检测设备还可以将m个标识中与待检测口令的这组标识匹配的一组标识中的各个标识的计数值加1。
[0067] 可选地,如果存储的m个标识中未包含有待检测口令的这组标识中的全部标识,例如,仅包含这组口令中的部分标识,则口令检测设备可以将确定该待检测口令的计数值为
0。之后,口令检测设备可以将m个标识中包含的与这组标识中的部分标识匹配的标识的计
数值加1。对于这组标识中未包含在m个标识中的标识,口令检测设备可以将其进行存储,并
将其对应的计数值设置为1。
[0068] 值得注意的是,口令检测设备中存储的m个标识的计数值可以具有一个计数值上限值。在这种情况下,该口令检测设备在m个标识中确定出与待检测口令的标识匹配的一组
标识之后,还可以判断匹配的这组标识中的各个标识的当前计数值是否小于该计数上限
值。对于匹配的这组标识中当前计数值小于该计数上限值的标识,该口令检测设备可以将
这些标识的计数值加1。而对于当前计数值等于该计数上限值的标识,该口令检测设备可以
保持这些标识的计数值不变。其中,计数上限值可以为127、255、511等数值,本申请实施例
对此不做限定。
[0069] 由上述介绍可知,该口令检测设备在接收到待检测口令之后,可以将之前接收到的至少一个用户请求携带待检测口令的用户请求的数量确定为该待检测口令的计数值。而
之前携带待检测口令的用户请求的数量可以反映出该待检测口令的使用频次。也即,该待
检测口令的计数值为待检测口令的判别提供了统计数据支撑,在此基础上,以该待检测口
令的计数值来检测待检测口令是否合法,更为准确。
[0070] 另外,在本申请实施例中,口令检测设备可以将接收到的用户请求中携带的口令转换为标识,进而根据标识来对口令的使用频次进行统计,这样,口令检测设备中即可以避
免存储明文的口令,提高了口令的安全性,保护了用户隐私。
[0071] 当然,如果口令检测设备直接将用户请求中的口令进行存储,并记录各个口令的接收次数,则在本步骤中,口令检测设备可以从存储的多个口令中确定是否包含有待检测
口令,如果包含有待检测口令,则获取存储的待检测口令的计数值。之后,口令检测设备可
以将存储的待检测口令的计数值加1,以完成对待检测口令的计数值的更新。如果存储的多
个口令中不包含有待检测口令,则口令检测设备可以确定待检测口令的计数值为0,之后,
口令检测设备可以存储该待检测口令,并将待检测口令的计数值设置为1。
[0072] 步骤204:根据待检测口令的计数值,确定待检测口令是否合法。
[0073] 在确定待检测口令的计数值之后,口令检测设备可以根据该待检测口令的计数值,来确定待检测口令是否合法。
[0074] 在一种可能的实现方式中,该口令检测设备中可以存储有计数值与弱口令概率之间的映射关系。在这种情况下,该口令检测设备可以从该映射关系中获取该待检测口令的
计数值所对应的弱口令概率,并根据该弱口令概率来判定该待检测口令是否合法。
[0075] 例如,表1中示出了一种计数值与弱口令概率之间的映射关系。如表1中所示,当计数值为1时,对应的弱口令概率为0%;当计数值为2时,对应的弱口令概率为50%;当计数值
为3时,对应的弱口令概率为90%;当计数值为4时,对应的弱口令概率为95%;当计数值大
于或等于5时,对应的弱口令概率为100%。
[0076] 表1计数值与弱口令概率之间的映射关系
[0077]计数值 弱口令概率
1 0%
2 50%
3 90%
4 95%
≥5 100%
[0078] 在本申请实施例中,在获取到弱口令概率之后,如果弱口令概率大于预设概率阈值,则口令检测设备可以将该待检测口令确定为非法口令,否则,则可以将待检测口令确定
为合法口令。其中非法口令是指该口令检测设备不允许设置的口令,合法口令是指该口令
检测设备允许设置的口令。
[0079] 可选地,在另一种可能的实现方式中,该口令检测设备在获取到待检测口令对应的计数值之后,可以直接判断该待检测口令对应的计数值是否小于预设计数阈值。如果该
待检测口令对应的计数值小于预设计数阈值,则该口令检测设备可以将该待检测口令确定
为合法口令,否则,将该待检测口令确定为非法口令。
[0080] 需要说明的是,在一种可能的场景中,当获取到待检测口令的弱口令概率之后,该口令检测设备还可以将该弱口令概率发送至请求进行口令检测的设备,以便该设备可以根
据该弱口令概率进行后续操作。
[0081] 可选地,在本申请实施例中,当对每个口令进行脱密处理得到的是包含有k个标识的一组标识,且每个口令的计数值为存储的m个标识中与k个标识匹配的一组标识的计数值
中的最小计数值时,该口令检测设备还可以每隔预设时长,将存储的所有标识的计数值减
1。其中,预设时长可以为6个月或者12个月等。这样,对于某些口令,可能在某一段时间内,
该口令为弱口令,而在这段时间之后,随着时间流逝,使用该口令的用户可能越来越少,频
率越来越低。在这种情况下,通过定期对每个标识的计数值减1,即可以使得这一类口令重
新调整为非弱口令。也即,通过上述方法可以对弱口令进行动态调整,进而使得对口令的合
法性的判别更加准确。
[0082] 需要说明的是,每个标识的计数值还可以具有一个计数下限值,在此基础上,在将每个标识的计数值减1之前,口令检测设备还可以判断每个标识的计数值是否等于计数下
限值。对于计数值等于计数下限值的标识,该口令检测设备可以保持该标识的计数值不变。
对于计数值大于计数下限值的标识,该口令检测设备可以将该标识的计数值减1。
[0083] 当然,当每个口令对应唯一一个标识,也即,每个口令对应唯一一个计数值时,该口令检测设备也可以每隔预设时长,将存储的至少一个标识的计数值中的每个计数值减
一。本申请实施例在此不再赘述。
[0084] 在本申请实施例中,口令检测设备在接收到第一用户请求之后,可以确定第一用户请求携带的待检测口令的计数值,该待检测口令的计数值为接收第一用户请求之前接收
到的至少一个用户请求中携带该待检测口令的用户请求的数量。之后,可以根据该待检测
口令的计数值来确定待检测口令是否合法。由此可见,本申请实施例可以根据接收到的用
户请求,动态的收集并统计各个口令的使用频次。在此基础上,根据待检测口令的计数值来
确定待检测口令是否合法,相当于是以统计数据为基础对待检测口令进行检测,提高了口
令检测的准确度。
[0085] 上述实施例主要介绍了对接收到的待检测口令进行检测的实现过程。可选地,在上述实施例的基础上,该口令检测设备还可以提供弱口令排行榜服务。
[0086] 示例性地,图3是本申请实施例提供的一种生成弱口令排行榜并对弱口令排行榜进行维护的方法流程图。如图3所示,该方法包括:
[0087] 步骤301:获取接收到的多个口令中每个口令的计数值。
[0088] 口令检测设备可以在接收到每个口令时,根据前述实施例中介绍的相关实现方式,确定每个口令的标识和计数值,并将每个口令的标识与每个口令的计数值对应存储在
映射关系表中。这样,在本步骤中,该口令检测设备可以直接从映射关系中获取每个口令的
标识对应的计数值。
[0089] 步骤302:按照每个口令的计数值从大到小的顺序,对多个口令进行排序,得到排序结果。
[0090] 在获取到每个口令的计数值之后,该口令检测设备可以按照每个口令的计数值的从大到小的顺序,对多个口令的口令标识进行排序,得到排序结果。
[0091] 步骤303:根据排序结果中排在前N位的口令生成弱口令排行榜,N为大于1的正整数。
[0092] 在确定排序结果之后,该口令检测设备可以从该排序结果中获取排在前N位的口令标识,并根据排在前N位的口令标识和指定函数,通过指定函数对该N个口令标识进行处
理,以恢复得到排在前N位的口令标识所对应的口令。根据确定的排在前N位的口令生成弱
口令排行榜。其中,该弱口令排行榜中包括N个口令以及每个口令对应的计数值。
[0093] 步骤304:在获取到待检测口令的计数值之后,查找弱口令排行榜中对应的计数值小于该待检测口令对应的计数值的口令。
[0094] 在生成弱口令排行榜之后,如果口令检测设备接收到待检测口令,并通过上述实施例中的步骤203获取到该待检测口令对应的计数值之后,该口令检测设备可以从当前的
弱口令排行榜中查找对应的计数值小于该待检测口令对应的计数值的口令。如果查找到,
则该口令检测设备可以执行步骤305,否则,该口令检测设备可以结束操作。
[0095] 步骤305:将查找到的口令中对应的计数值最小的口令从弱口令排行榜中删除,将该待检测口令添加至弱口令排行榜。
[0096] 如果在当前的弱口令排行中查找到对应的计数值小于该待检测口令对应的计数值的口令,且该口令的个数为一个,则口令检测设备可以将该口令从弱口令排行榜中删除,
并将该待检测口令添加至该弱口令排行榜中最后一个位置。如果查找到的口令的个数为多
个,则该口令检测设备可以将查找到的多个口令中计数值最小的口令删除,并将该待检测
口令插入至查找到的多个口令中计数值最大的口令与其相邻的口令之间。
[0097] 需要说明的是,当该口令检测设备接收到其他服务器发送的弱口令排行榜获取请求时,可以向其他服务器返回该弱口令排行榜,其他服务器可以将该弱口令排行榜返回至
终端,以便终端显示该弱口令排行榜,以提醒用户避免设置该弱口令排行榜上的口令,减小
用户设置弱口令的概率,提高用户设置的口令的安全性。
[0098] 可选地,在上述实施例的基础上,该口令检测设备还可以提供恶意账号检测服务。示例性地,当该口令检测设备根据该待检测口令的计数值之后,如果该待检测口令的计数
值大于上限阈值,则该口令检测设备还可以生成告警信息,该告警信息用于指示该待检测
口令对应的用户账号为恶意账号。其中,上限阈值大于前述实施例中弱口令概率为100%时
所对应的计数值范围中的最小计数值。
[0099] 需要说明的是,当一个待检测口令出现的频率甚至大于用于判别一个口令为弱口令的阈值时,则该待检测口令对应的用户账号有很大的概率可能是一个机器植入的恶意账
号。在这种情况下,该口令检测设备即可以生成告警信息。例如,以表1中所示的计数值与弱
口令概率之间的映射关系为例,弱口令概率为100%所对应的计数值中的最小计数值为5,
基于此,设置上限阈值为10。如果一个待检测口令的计数值大于10,则说明该待检测口令不
仅100%为弱口令,而且还有很大概率是机器植入的恶意账号,此时,该口令检测设备即可
以生成告警信息。
[0100] 在生成告警信息之后,该口令检测设备可以向发送该待检测口令的服务器发送该告警信息,以提示发送该待检测口令的服务器,该待检测口令对应的用户账号可能为一个
恶意账号。在这种情况下,发送该待检测口令的服务器可以根据该告警信息决定是否允许
该用户账号的注册。
[0101] 在本申请实施例中,在确定待检测口令为弱口令之后,口令检测设备还可以根据待检测口令对应的计数值来进一步地判断该待检测口令对应的用户账号是否为恶意账号,
进而将判断结果反馈至发送待检测口令的服务器,以便发送待检测口令的服务器可以根据
该判断结果来执行后续操作。
[0102] 接下来对本申请实施例提供的口令检测设备进行介绍。
[0103] 参见图4,本申请实施例提供了一种口令检测设备400,该口令检测设备400包括:
[0104] 接收模块401,用于执行前述实施例中的步骤201;
[0105] 获取模块402,用于执行前述实施例中的步骤202;
[0106] 确定模块403,用于执行前述实施例中的步骤203;
[0107] 检测模块404,用于执行前述实施例中的步骤204。
[0108] 可选地,至少一个用户请求携带有至少一个口令;
[0109] 确定模块403还用于,对至少一个口令进行脱密处理得到至少一个标识;
[0110] 确定模块403具体用于:
[0111] 对待检测口令进行脱密处理得到待检测口令的标识;
[0112] 根据待检测口令的标识和至少一个标识的匹配结果确定待检测口令的计数值。
[0113] 可选地,确定模块403具体用于:将至少一个口令中的每个口令映射到m个标识中的一组标识,其中,m个标识对应m个计数值,m个计数值表示从至少一个用户请求中获取的
口令的数量,m为正整数;
[0114] 确定模块403具体还用于:将待检测口令映射到m个标识中匹配的一组标识;获取匹配的一组标识中各个标识对应的计数值;根据获取的计数值确定待检测口令的计数值。
[0115] 可选地,确定模块403具体用于:通过k次哈希运算将至少一个口令中的每个口令映射到m个标识中的k个标识,其中k为正整数,且k不大于m;
[0116] 确定模块403具体还用于:通过k次哈希运算将待检测口令映射到m个标识中匹配的k个标识;获取匹配的k个标识中各个标识对应的计数值。
[0117] 可选地,确定模块具体用于:将获取的计数值中的最小值确定为待检测口令的计数值。
[0118] 可选地,该口令检测设备400还用于:每隔预设时长,将m个计数值中每个计数值减1。
[0119] 综上所述,在本申请实施例中,在接收到第一用户请求之后,可以确定第一用户请求携带的待检测口令的计数值,该待检测口令的计数值为接收第一用户请求之前接收到的
至少一个用户请求中携带该待检测口令的用户请求的数量。之后,可以根据该待检测口令
的计数值来确定待检测口令是否合法。由此可见,本申请实施例可以根据接收到的用户请
求,动态的收集并统计各个口令的使用频次。在此基础上,根据待检测口令的计数值来确定
待检测口令是否合法,相当于是以统计数据为基础对待检测口令进行检测,提高了口令检
测的准确度。
[0120] 需要说明的是:上述实施例提供的口令检测设备在进行口令检测时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功
能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部
分功能。另外,上述实施例提供的口令检测设备与检测口令的方法实施例属于同一构思,其
具体实现过程详见方法实施例,这里不再赘述。
[0121] 图5是本申请实施例提供的一种计算设备的结构示意图。前述实施例中的口令检测设备可以通过图5所示的计算设备来实现。参见图5,该计算设备包括至少一个处理器
501,通信总线502,存储器503以及至少一个通信接口504。
[0122] 处理器501可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(application‑specific integrated circuit,ASIC),或一个或多
个用于控制本申请方案程序执行的集成电路。
[0123] 通信总线502可包括一通路,在上述组件之间传送信息。
[0124] 存储器503可以是只读存储器(read‑only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM))或者可存储
信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器
(Electrically Erasable Programmable Read‑Only Memory,EEPROM)、只读光盘(Compact 
Disc Read‑Only Memory,CD‑ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光
碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或
存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但
不限于此。存储器503可以是独立存在,通过通信总线502与处理器501相连接。存储器503也
可以和处理器501集成在一起。
[0125] 通信接口504,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
[0126] 在具体实现中,作为一种实施例,处理器501可以包括一个或多个CPU,例如图5中所示的CPU0和CPU1。
[0127] 在具体实现中,作为一种实施例,计算设备可以包括多个处理器,例如图5中所示的处理器501和处理器505。这些处理器中的每一个可以是一个单核(single‑CPU)处理器,
也可以是一个多核(multi‑CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或
用于处理数据(例如计算机程序指令)的处理核。
[0128] 在具体实现中,作为一种实施例,计算设备还可以包括输出设备506和输入设备507。输出设备506和处理器501通信,可以以多种方式来显示信息。例如,输出设备506可以
是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)
显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入
设备507和处理器501通信,可以以多种方式接收用户的输入。例如,输入设备507可以是鼠
标、键盘、触摸屏设备或传感设备等。
[0129] 上述的计算设备可以是一个通用计算设备或者是一个专用计算设备。在具体实现中,计算设备可以是台式机、便携式电脑、网络服务器、通信设备或者嵌入式设备。本发明实
施例不限定计算设备的类型。
[0130] 其中,存储器503用于存储程序代码508。处理器501用于执行存储器503中存储的程序代码508,以实现前述实施例中步骤201‑204以及步骤301‑305中的方法。
[0131] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序
产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分
地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、
计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或
者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令
可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用
户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网
站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够
存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储
设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘
(Digital Versatile Disc,DVD))、或者半导体介质(例如:固态硬盘(Solid State Disk,
SSD))等。
[0132] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读
存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0133] 应当理解的是,本文提及的“多个”是指两个或两个以上,“至少一个”是指一个或多个。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文
中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或
B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本
申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用
基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并
不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
[0134] 以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。