CN113032765A - 一种口令认证方法、装置和设备 - Google Patents
一种口令认证方法、装置和设备 Download PDFInfo
- Publication number
- CN113032765A CN113032765A CN202110477269.9A CN202110477269A CN113032765A CN 113032765 A CN113032765 A CN 113032765A CN 202110477269 A CN202110477269 A CN 202110477269A CN 113032765 A CN113032765 A CN 113032765A
- Authority
- CN
- China
- Prior art keywords
- password
- target
- list
- target user
- user
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 235000012907 honey Nutrition 0.000 claims abstract description 41
- 230000002159 abnormal effect Effects 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
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/44—Program or device authentication
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例提供了一种口令认证方法、装置和设备,涉及信息安全技术领域,其中,该方法包括:接收输入的目标用户的目标口令;获取目标用户对应的目标口令列表;目标口令列表中包含目标用户的真实口令和多个蜜糖口令;在确定所述目标口令在目标口令列表中的情况下,确定目标口令在目标口令列表中的位置索引是否等于目标索引;在确定目标口令在目标口令列表中的位置索引不等于目标索引的情况下,生成异常提示信息。在本说明书实施例中,通过口令列表使得即使攻击者获取得到了目标口令列表也无法准确地区分真实口令和蜜糖口令,并且当攻击者一旦尝试用蜜糖口令登录时,可以及时地检测到并采取相应的措施,进而可以有效提高用户认证的安全性。
Description
技术领域
本说明书实施例涉及信息安全技术领域,特别涉及一种口令认证方法、装置和设备。
背景技术
口令是一种简单且广泛使用的身份验证方法,现有技术在基于口令的身份验证系统中,通常采用用户名+口令的方式进行身份认证,系统中仅维护用户的真实口令对应的哈希口令文件。由于用户自取口令的熵值通常是比较低的,所以在攻击者盗取到哈希口令文件的情况下可以以较高概率恢复出哈希口令文件中的真实口令。由此可见,采用现有技术中的口令认证方法无法确保身份验证的安全性。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书实施例提供了一种口令认证方法、装置和设备,以解决现有技术中无法确保身份验证的安全性的问题。
本说明书实施例提供了一种口令认证方法,包括:接收输入的目标用户的目标口令;获取所述目标用户对应的目标口令列表;其中,所述目标口令列表中包含所述目标用户的真实口令和多个蜜糖口令;在确定所述目标口令在所述目标口令列表中的情况下,确定所述目标口令在所述目标口令列表中的位置索引是否等于目标索引;其中,所述目标索引为真实口令在所述目标口令列表中的位置索引;在确定所述目标口令在所述目标口令列表中的位置索引不等于目标索引的情况下,生成异常提示信息。
本说明书实施例还提供了一种口令认证装置,包括:接收模块,用于接收输入的目标用户的目标口令;获取模块,用于获取所述目标用户对应的目标口令列表;其中,所述目标口令列表中包含所述目标用户的真实口令和多个蜜糖口令;确定模块,用于在确定所述目标口令在所述目标口令列表中的情况下,确定所述目标口令在所述目标口令列表中的位置索引是否等于目标索引;其中,所述目标索引为真实口令在所述目标口令列表中的位置索引;处理模块,用于在确定所述目标口令在所述目标口令列表中的位置索引不等于目标索引的情况下,生成异常提示信息。
本说明书实施例还提供了一种口令认证设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述口令认证方法的步骤。
本说明书实施例提供了一种口令认证方法,可以在接收到目标用户的目标口令的情况下,获取目标用户对应的目标口令列表,由于目标口令列表中包含所述目标用户的真实口令和多个蜜糖口令,因此,可以在确定所述目标口令在所述目标口令列表中的情况下,确定所述目标口令在所述目标口令列表中的位置索引是否等于目标索引。确定目标口令在目标口令列表中的位置索引不等于目标索引的情况下,说明输入的目标口令为蜜糖口令,则输入目标口令的可能是攻击者,此时可以生成异常提示信息,从而使得即使攻击者获取得到了目标口令列表也无法准确地区分真实口令和蜜糖口令,并且当攻击者一旦尝试用蜜糖口令登录时,可以及时地检测到并采取相应的措施,进而可以有效提高用户认证的安全性。
附图说明
此处所说明的附图用来提供对本说明书实施例的进一步理解,构成本说明书实施例的一部分,并不构成对本说明书实施例的限定。在附图中:
图1是根据本说明书实施例提供的口令认证方法的步骤示意图;
图2是根据本说明书实施例提供的口令表的示意图;
图3是根据本说明书实施例提供的口令认证装置的结构示意图;
图4是根据本说明书实施例提供的口令认证设备的结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本说明书实施例的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书实施例,而并非以任何方式限制本说明书实施例的范围。相反,提供这些实施方式是为了使本说明书实施例公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本说明书实施例的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书实施例公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
请参阅图1,本实施方式可以提供一种口令认证方法。该口令认证方法可以用于提高身份认证的安全性。上述口令认证方法可以包括以下步骤。
S101:接收输入的目标用户的目标口令。
在本实施方式中,可以接收输入的目标用户的目标口令,输入目标口令的可能是目标用户,也有可能是攻击者。上述目标用户可以为目标系统的用户,目标用户在目标系统中进行登录等一些对身份权限有要求的操作时,需要先进行身份认证,此时可以在目标系统的相应界面上输入目标口令以进行身份认证。
在本实施方式中,上述目标口令可以为字符口令,也可以为面部识别、指纹识别等认证凭据。具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,上述目标用户可以为目标系统中对安全要求较高的用户,也可以是目标系统中选择了相应安全模式的用户。当然可以理解的是,上述目标用户也可以为目标系统中的任意用户,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
S102:获取目标用户对应的目标口令列表;其中,目标口令列表中包含目标用户的真实口令和多个蜜糖口令。
在本实施方式中,为了对目标用户的身份进行认证,可以获取目标用户对应的目标口令列表。其中,上述目标口令列表中可以包含目标用户的真实口令和多个蜜糖口令。
在本实施方式中,通常已有的认证系统存储的真实口令的哈希值,对于安全的哈希(hash)算法而言,攻击者如果能够攻击得到真实口令的哈希值,一般也推算不出真实口令。不过由于大部分用户自取的真实口令的熵比较低,存在口令泄漏、口令重用、系统安全漏洞等多种因素的问题,所以攻击者可以通过字典攻击、撞库攻击等方法以较高概率得到真实口令,使得身份认证安全性较低。而本实施方式中可以通过为目标用户维护一个目标口令列表从而使得即使攻击者获取得到了目标口令列表也无法准确地区分真实口令和蜜糖口令,并且当攻击者一旦尝试用蜜糖口令登录时,目标系统就会及时地检测到并采取相应的措施,从而可以有效提高用户认证的安全性。
在本实施方式中,上述目标口令列表中的蜜糖口令可以是由目标用户的历史真实口令组成,也可以是系统随机生成的。当然可以理解的是,也可以是目标用户自己给定的,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,可以为目标系统中的各个目标用户维护一个口令列表,各个目标用户的口令列表可以记录在一张口令表中,口令表中可以包含多个字段。为了避免口令列表被攻击者盗取,口令列表中记录的数据可以是对应的哈希值或者利用加密算法加密后的数据,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
S103:在确定目标口令在目标口令列表中的情况下,确定目标口令在目标口令列表中的位置索引是否等于目标索引;其中,目标索引为真实口令在目标口令列表中的位置索引。
在本实施方式中,可以先确定目标用户输入的目标口令是否在目标口令列表中,如果确定目标口令在目标口令列表中的情况下,可以进一步区分目标口令是真实口令还是蜜糖口令。具体的,可以确定目标口令在目标口令列表中的位置索引是否等于目标索引,上述目标索引为真实口令在目标口令列表中的位置索引。
在本实施方式中,上述目标口令列表中还可以维护有真实口令在目标口令列表中的位置索引。例如,用户A在口令列表存储P1~PN共N个口令,其中只有Pi是真实口令,对应的位置索引为i,其它均为蜜糖口令。当用户A输入口令P后,首先确定P是否在口令列表中,如果P在当前的口令列表中,可以进一步确定P在口令列表中的位置索引j,然后通过判断j是否等于i来确定口令P是真实口令还是蜜糖口令。
S104:在确定目标口令在目标口令列表中的位置索引不等于目标索引的情况下,生成异常提示信息。
在本实施方式中,在确定目标口令在目标口令列表中的位置索引不等于目标索引的情况下,说明输入的目标口令为蜜糖口令,则输入目标口令的可能是攻击者,此时可以生成异常提示信息,从而进入预警处理流程。
在本实施方式中,在确定目标口令在目标口令列表中的位置索引等于目标索引的情况下,说明目标口令为真实口令,目标用户本次认证通过,可以正常地进入后续流程。
在本实施方式中,上述异常提示信息中可以包含目标用户的唯一标识、发生的异常情况(输入的口令为蜜糖口令等)、异常发生时间等。当然,异常提示信息不限于上述举例,所属领域技术人员在本说明书实施例技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本说明书实施例相同或相似,均应涵盖于本说明书实施例保护范围内。
在本实施方式中,上述预警处理流程可以包括但不限于通知系统管理员、锁定用户账户、通知用户修改口令、强制所有用户修改口令或者反侦察等措施。在一个实施例中,当目标用户通过目标口令登录系统时,如果确认为真实口令则正常登录,如果确认触发预警处理流程则可以将生成的异常提示信息记录在系统日志中并查询该异常情况对应的安全策略。
在本实施方式中,预警处理流程会因为应用场景的不同而采取不同的措施,并且会付出不同的代价和处理结果。一般而言,对于安全要求不高的系统可以执行比较宽松的处理措施,例如仅记录系统日志;对于安全性要求一般的系统可以采取通知系统管理员和用户等措施;而对于安全性要求极高的系统可以采取冻结所有账号并重置所有口令等措施,其相应开销也极高。具体的可以根据实际情况确定,本说明书实施例对此不作限定。
从以上的描述中,可以看出,本说明书实施例实现了如下技术效果:可以在接收到目标用户的目标口令的情况下,获取目标用户对应的目标口令列表,由于目标口令列表中包含目标用户的真实口令和多个蜜糖口令,因此,可以在确定目标口令在目标口令列表中的情况下,确定目标口令在目标口令列表中的位置索引是否等于目标索引。在确定目标口令在目标口令列表中的位置索引不等于目标索引的情况下,说明输入的目标口令为蜜糖口令,则输入目标口令的可能是攻击者,此时可以生成异常提示信息,从而使得即使攻击者获取得到了目标口令列表也无法准确地区分真实口令和蜜糖口令,并且当攻击者一旦尝试用蜜糖口令登录时,可以及时地检测到并采取相应的措施,进而可以有效提高用户认证的安全性。
在一个实施方式中,在获取目标用户对应的目标口令列表之后,还可以包括:在确定目标口令不在目标口令列表中的情况下,生成认证失败的提示信息;将认证失败的提示信息反馈给目标用户。
在本实施方式中,如果目标口令不在目标口令列表中,则说明输入的目标口令是错误的,此时可以生成认证失败的提示信息,并将认证失败的提示信息反馈给目标用户。进一步的,可以在目标用户输入目标口令的界面上展示反馈的认证失败的提示信息,以提醒目标用户重新输入口令。
在一个实施方式中,在获取目标用户对应的目标口令列表之前,还可以包括:针对目标用户随机生成多个候选口令,并基于目标用户对多个候选口令的选择操作,将目标用户选择的候选口令作为目标用户的真实口令。进一步的,可以确定目标用户的真实口令在多个候选口令中的位置索引,并根据多个候选口令、目标用户的真实口令和真实口令在多个候选口令中的位置索引,生成目标用户对应的目标口令列表。
在本实施方式中,在攻击者已经得到口令列表的情况下,如果真实口令与蜜糖口令相差很大,那么攻击者可能会较容易猜测出真实口令从而避免输入蜜糖口令。因此,用户的口令列表的生成和维护是非常重要的。
在本实施方式中,对于每个目标用户,系统可以随机生成多个候选口令,目标用户可以选择其中1个作为自己的真实口令,其它则作为蜜糖口令。进一步的,可以确定真实口令在多个候选口令中的位置索引,从而生成目标用户的目标口令列表。当然可以理解的是,目标用户也可以直接选择索引位置,并将随机生成的多个候选口令中对应选择的索引位置的口令作为真实口令。具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,假设系统有K个用户,每个用户的口令列表中有N个口令,其中1个是真实口令,N-1个是蜜糖口令,每个口令长度均是l。例如:在N=5、r=2、l=12的情况下,系统可以随机生成如表1所示的5个候选口令,用户选择“:?AU88\bmrG{”作为真实口令,位置索引的值为2。
表1
1<wEP8.>mU3, | YB772ln63Z23 | :?AU88\bmrG{ | rD/O)9v*{c4+ | }h3L9&22cQk1 |
在本实施方式中,因为口令列表中所有口令都是系统随机生成的,每个口令的熵值高,从而可以确保用户认证的安全性。
在一个实施方式中,在生成目标用户对应的目标口令列表之后,还可以包括:在确定需要更新目标口令列表的情况下,随机生成一个新口令,并将目标口令列表中的一个口令替换为新口令。进一步的,可以更新新口令的位置索引,得到更新后的目标口令列表。
在本实施方式中,在实际的使用过程中,出于安全性考量和用户遗忘等各种原因,口令列表通常需要更新或者重置。考虑到安全性和易用性,每次用户重置口令可以只替换口令列表中的一个口令。这样的操作简单,也保存了用户的历史口令,在一定的安全条件下可以防止用户重用历史口令。
在本实施方式中,在确定需要更新目标口令列表的情况下,可以由系统随机生成一个口令作为用户的新口令,可以随机选择目标口令列表中的一个口令,替换为新口令,并且将新口令位置索引作为真实口令的位置索引进行更新,从而得到更新后的目标口令列表。系统随机选择新的位置索引r=0,并随机生成新口令x*F44p)ZoaYj,则可以将表1中的“1<wEP8.>mU3,”更新为“x*F44p)ZoaYj)”,并更新位置索引的值为0。
在一个实施方式中,在获取目标用户对应的目标口令列表之前,还可以包括:接收目标用户输入的目标字符串,并随机生成多个随机字符串。可以将目标字符串分别与各个随机字符串组合,得到多个候选口令。基于目标用户对多个候选口令的选择操作,将目标用户选择的候选口令作为目标用户的真实口令。进一步得到,可以确定目标用户的真实口令在多个候选口令中的位置索引,并根据多个候选口令、目标用户的真实口令和真实口令在多个候选口令中的位置索引,生成目标用户对应的目标口令列表。
在本实施方式中,在攻击者已经得到口令列表的情况下,如果真实口令与蜜糖口令相差很大,那么攻击者可能会较容易猜测出真实口令从而避免输入蜜糖口令。因此,用户的口令列表的生成和维护是非常重要的。
在本实施方式中,目标用户可以给定目标字符串给出p,系统生成N个随机字符串q,可以将目标字符串分别与各个随机字符串组合,得到多个候选口令:{pq1,pq2,…,pqN},目标用户可以随机选择其中一个pqi作为真实口令。可以确定真实口令在多个候选口令中的位置索引,从而生成目标用户的目标口令列表。当然可以理解的是,目标用户也可以直接选择索引位置,并将随机生成的多个候选口令中对应选择的索引位置的口令作为真实口令。具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,目标字符串分别与各个随机字符串的组合可以采用后连接的方式产生,即pq,也可以用前连接的方式产生,即qp,这两种组合方式的安全性是相同的。当然可以理解的是,还可以采用其它算法方式将两者组合,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,目标系统的口令表,每新增一个用户,均可以执行一次上述口令列表的生成步骤。
在本实施方式中,假设系统有K个用户,每个用户的口令列表中有N个口令,其中1个是真实口令,N-1个是蜜糖口令,每个口令长度均是l。例如:在N=5、p=password、l=8、r=3的情况下,系统可以随机生成5个随机字符串,组合后的多个候选口令可以如表2中所示,用户可以选择“password;I1Y”作为真实口令,位置索引的值为3。
表2
password.6Ew | password<bmF | password}m2X | password;I1Y | password C;hf |
在本实施方式中,用户输入了口令的一部分字符串p,p往往是用户比较容易记忆的,可以有效降低用户的记忆难度,而拼接的是系统随机生成的字符串,可以确保口令的安全性,从而有效提高了口令列表维护的易用性。
在一个实施方式中,在生成目标用户对应的目标口令列表之后,还可以包括:在确定需要更新目标口令列表的情况下,接收目标用户输入的新字符串,并随机生成一个新随机字符串。可以将目标用户输入的新字符串的随机生成的新随机字符串组合,得到目标用户的新口令。进一步的,可以将目标口令列表中的一个口令替换为新口令,并更新新口令的位置索引,得到更新后的目标口令列表。
在本实施方式中,在实际的使用过程中,出于安全性考量和用户遗忘等各种原因,口令列表通常需要更新或者重置。考虑到安全性和易用性,每次用户重置口令可以只替换口令列表中的一个口令。这样的操作简单,也保存了用户的历史口令,在一定的安全条件下可以防止用户重用历史口令。
在本实施方式中,在确定需要更新目标口令列表的情况下,可以由用户给定一个新字符串,系统随机生成一个新随机字符串,将目标用户输入的新字符串的随机生成的新随机字符串组合后可以得到目标用户的新口令,可以随机选择目标口令列表中的一个口令,替换为新口令,并且将新口令的位置索引作为真实口令的位置索引进行更新,从而得到更新后的目标口令列表。例如:用户输入新字符串password1,系统随机选择新的位置索引r=1,生成随机字符串Q913,则可以将表2中的“password<bmF”更新为“password1Q913”,并更新位置索引的值为1。
在一个实施方式中,在获取目标用户对应的目标口令列表之前,还可以包括:接收目标用户输入多个候选口令和从多个候选口令中选择的真实口令,并确定目标用户的真实口令在多个候选口令中的位置索引。进一步的,可以根据多个候选口令、目标用户的真实口令和真实口令在多个候选口令中的位置索引,生成目标用户对应的目标口令列表。
在本实施方式中,目标用户可以给定多个候选口令,并选择其中1个作为自己的真实口令,其它则作为蜜糖口令。进一步的,可以确定真实口令在多个候选口令中的位置索引,从而生成目标用户的目标口令列表。当然可以理解的是,目标用户也可以直接选择索引位置,并将随机生成的多个候选口令中对应选择的索引位置的口令作为真实口令。具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,假设系统有K个用户,每个用户的口令列表中有N个口令,其中1个是真实口令,N-1个是蜜糖口令,每个口令长度均是l。例如:在N=5、r=4的情况想,目标用户可以输入如表3中所示的5个候选口令,目标用户可以选择myopassword5作为真实口令,位置索引的值为4。
表3
Myopassword1 | Myopassword2 | Myopassword3 | Myopassword4 | Myopassword5 |
在本实施方式中,由于全部口令由用户输入,其可记忆性较高。
在一个实施方式中,在生成目标用户对应的目标口令列表之后,还可以包括:在确定需要更新目标口令列表的情况下,接收目标用户输入的新口令,并将目标口令列表中的一个口令替换为新口令。进一步的,可以更新新口令的位置索引,得到更新后的目标口令列表。
在本实施方式中,在实际的使用过程中,出于安全性考量和用户遗忘等各种原因,口令列表通常需要更新或者重置。考虑到安全性和易用性,每次用户重置口令可以只替换口令列表中的一个口令。配合本说明书实施例中的口令列表更新方法,可以记录了用户一段时间内使用过的口令,所以具备检测用户是否重置为历史口令的功能,在一定的安全条件下可以防止用户重用历史口令,从而简化系统设计与实现。
在本实施方式中,在确定需要更新目标口令列表的情况下,可以由用户给定一个新口令,可以随机选择目标口令列表中的一个口令,替换为新口令,并且将新口令位置索引作为真实口令的位置索引进行更新,从而得到更新后的目标口令列表。例如:目标用户输入新口令为Myopassword7,系统随机选择新的位置索引r=2,则可以将表3中的“Myopassword3”更新为“Myopassword7”,并更新位置索引的值为2。
在本实施方式中,上述口令列表生成和更新的方法充分利用了用户的历史数据,从而有效避免了真实口令与蜜糖口令相差过大的问题。
在一个实施方式中,目标口令列表中包含目标用户的唯一标识、目标用户的真实口令和各个蜜糖口令的哈希值、白盒加密算法的初始化向量、目标用户的真实口令的位置索引值密文;其中,真实口令的位置索引值密文对应的密钥利用白盒加密算法保护。
在本实施方式中,由多个用户的口令列表组成的系统的口令表可以如图2中所示,其中,Username是用户的唯一标识,Hash(p)是口令(真实口令和各个蜜糖口令)的哈希值,IV是白盒加密算法的初始化向量,Encrypt(Index)是用户的真实口令的位置索引值密文。在实际应用中,口令表可能会比较庞大。Username写入之后不会更新,Hash(p)则可能经常更新。因此,口令表可以按Username排序(升序或者降序)存储,而不必对Hash(p)排序。
在本实施方式中,用户的真实口令的位置索引值可以通过加密存储在口令表中,这样即使系统被攻破,由于用户的真实口令的位置索引值被加密,攻击者也不能获取位置索引的信息。在用户认证的过程中,可以使用白盒加密算法保护加密密钥,防止密钥泄露问题。与黑盒加密相比,白盒加密算法有效解决了密钥存储问题,与专设检测服务器的方案相比,在缩减成本的同时也增加了安全性。
在本实施方式中,每个用户需要存储N个口令,假定每个口令长度是12,每个字符占1个字节,IV的长度是32字节,密钥长度是32字节,当N=10时每个用户所增加的存储量是12×1×9+32+32=172Byte(比特),假定系统的用户量是100000级别,则系统增加的存储量是17200000Byte=17.2MB。在目前主流配置的存储系统中,例如:磁盘容量2TB,内存16GB,可见增加的存储成本是非常低的。
在本实施方式中,口令表存储在主服务器中,而无须额外增加检查服务器,降低了已有设计的复杂度和成本,同时避免了对主服务器和检查服务器之前的通信攻击,例如:拒绝服务式攻击。
在本说明书实施例中,可以不更改用户使用习惯,在平时的使用过程中,用户延续原有的认证流程,不会觉察底层安全技术的存在。因此,对用户体验无影响,容易被用户接纳。
基于同一发明构思,本说明书实施例中还提供了一种口令认证装置,如下面的实施例。由于口令认证装置解决问题的原理与口令认证方法相似,因此口令认证装置的实施可以参见口令认证方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图3是本说明书实施例的口令认证装置的一种结构框图,如图3所示,可以包括:接收模块301、获取模块302、确定模块303、处理模块304,下面对该结构进行说明。
接收模块301,可以用于接收输入的目标用户的目标口令;
获取模块302,可以用于获取目标用户对应的目标口令列表;其中,目标口令列表中包含目标用户的真实口令和多个蜜糖口令;
确定模块303,可以用于在确定目标口令在目标口令列表中的情况下,确定目标口令在目标口令列表中的位置索引是否等于目标索引;其中,目标索引为真实口令在目标口令列表中的位置索引;
处理模块304,可以用于在确定目标口令在目标口令列表中的位置索引不等于目标索引的情况下,生成异常提示信息。
本说明书实施例实施方式还提供了一种电子设备,具体可以参阅图4所示的基于本说明书实施例提供的口令认证方法的电子设备组成结构示意图,电子设备具体可以包括输入设备41、处理器42、存储器43。其中,输入设备41具体可以用于输入目标口令。处理器42具体可以用于获取目标用户对应的目标口令列表;其中,目标口令列表中包含目标用户的真实口令和多个蜜糖口令;在确定目标口令在目标口令列表中的情况下,确定目标口令在目标口令列表中的位置索引是否等于目标索引;其中,目标索引为真实口令在目标口令列表中的位置索引;在确定目标口令在目标口令列表中的位置索引不等于目标索引的情况下,生成异常提示信息。存储器43具体可以用于存储目标口令列表等数据。
在本实施方式中,输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。输入设备还可以获取接收其他模块、单元、设备传输过来的数据。处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。存储器具体可以是现代信息技术中用于保存信息的记忆设备。存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该电子设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例实施方式中还提供了一种基于口令认证方法的计算机存储介质,计算机存储介质存储有计算机程序指令,在计算机程序指令被执行时可以实现:接收输入的目标用户的目标口令;获取目标用户对应的目标口令列表;其中,目标口令列表中包含目标用户的真实口令和多个蜜糖口令;在确定目标口令在目标口令列表中的情况下,确定目标口令在目标口令列表中的位置索引是否等于目标索引;其中,目标索引为真实口令在目标口令列表中的位置索引;在确定目标口令在目标口令列表中的位置索引不等于目标索引的情况下,生成异常提示信息。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本说明书实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
虽然本说明书实施例提供了如上述实施例或流程图所述的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本说明书实施例提供的执行顺序。所述的方法的在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本说明书实施例的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本说明书实施例的优选实施例而已,并不用于限制本说明书实施例,对于本领域的技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的保护范围之内。
Claims (11)
1.一种口令认证方法,其特征在于,包括:
接收输入的目标用户的目标口令;
获取所述目标用户对应的目标口令列表;其中,所述目标口令列表中包含所述目标用户的真实口令和多个蜜糖口令;
在确定所述目标口令在所述目标口令列表中的情况下,确定所述目标口令在所述目标口令列表中的位置索引是否等于目标索引;其中,所述目标索引为真实口令在所述目标口令列表中的位置索引;
在确定所述目标口令在所述目标口令列表中的位置索引不等于目标索引的情况下,生成异常提示信息。
2.根据权利要求1所述的方法,其特征在于,在获取所述目标用户对应的目标口令列表之后,还包括:
在确定所述目标口令不在所述目标口令列表中的情况下,生成认证失败的提示信息;
将所述认证失败的提示信息反馈给所述目标用户。
3.根据权利要求1所述的方法,其特征在于,在获取所述目标用户对应的目标口令列表之前,还包括:
针对所述目标用户随机生成多个候选口令;
基于所述目标用户对所述多个候选口令的选择操作,将所述目标用户选择的候选口令作为所述目标用户的真实口令;
确定所述目标用户的真实口令在所述多个候选口令中的位置索引;
根据所述多个候选口令、所述目标用户的真实口令和所述真实口令在所述多个候选口令中的位置索引,生成所述目标用户对应的目标口令列表。
4.根据权利要求3所述的方法,其特征在于,在生成所述目标用户对应的目标口令列表之后,还包括:
在确定需要更新所述目标口令列表的情况下,随机生成一个新口令;
将所述目标口令列表中的一个口令替换为所述新口令;
更新所述新口令的位置索引,得到更新后的目标口令列表。
5.根据权利要求1所述的方法,其特征在于,在获取所述目标用户对应的目标口令列表之前,还包括:
接收所述目标用户输入的目标字符串;
随机生成多个随机字符串;
将所述目标字符串分别与各个随机字符串组合,得到多个候选口令;
基于所述目标用户对所述多个候选口令的选择操作,将所述目标用户选择的候选口令作为所述目标用户的真实口令;
确定所述目标用户的真实口令在所述多个候选口令中的位置索引;
根据所述多个候选口令、所述目标用户的真实口令和所述真实口令在所述多个候选口令中的位置索引,生成所述目标用户对应的目标口令列表。
6.根据权利要求4所述的方法,其特征在于,在生成所述目标用户对应的目标口令列表之后,还包括:
在确定需要更新所述目标口令列表的情况下,接收所述目标用户输入的新字符串;
随机生成一个新随机字符串;
将所述目标用户输入的新字符串的随机生成的新随机字符串组合,得到所述目标用户的新口令;
将所述目标口令列表中的一个口令替换为所述新口令;
更新所述新口令的位置索引,得到更新后的目标口令列表。
7.根据权利要求1所述的方法,其特征在于,在获取所述目标用户对应的目标口令列表之前,还包括:
接收所述目标用户输入多个候选口令和从所述多个候选口令中选择的真实口令;
确定所述目标用户的真实口令在所述多个候选口令中的位置索引;
根据所述多个候选口令、所述目标用户的真实口令和所述真实口令在所述多个候选口令中的位置索引,生成所述目标用户对应的目标口令列表。
8.根据权利要求7所述的方法,其特征在于,在生成所述目标用户对应的目标口令列表之后,还包括:
在确定需要更新所述目标口令列表的情况下,接收所述目标用户输入的新口令;
将所述目标口令列表中的一个口令替换为所述新口令;
更新所述新口令的位置索引,得到更新后的目标口令列表。
9.根据权利要求1所述的方法,其特征在于,所述目标口令列表中包含所述目标用户的唯一标识、所述目标用户的真实口令和各个蜜糖口令的哈希值、加密算法的初始化向量、所述目标用户的真实口令的位置索引值密文;其中,所述真实口令的位置索引值密文对应的密钥利用白盒加密算法保护。
10.一种口令认证装置,其特征在于,包括:
接收模块,用于接收输入的目标用户的目标口令;
获取模块,用于获取所述目标用户对应的目标口令列表;其中,所述目标口令列表中包含所述目标用户的真实口令和多个蜜糖口令;
确定模块,用于在确定所述目标口令在所述目标口令列表中的情况下,确定所述目标口令在所述目标口令列表中的位置索引是否等于目标索引;其中,所述目标索引为真实口令在所述目标口令列表中的位置索引;
处理模块,用于在确定所述目标口令在所述目标口令列表中的位置索引不等于目标索引的情况下,生成异常提示信息。
11.一种口令认证设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110477269.9A CN113032765A (zh) | 2021-04-29 | 2021-04-29 | 一种口令认证方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110477269.9A CN113032765A (zh) | 2021-04-29 | 2021-04-29 | 一种口令认证方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113032765A true CN113032765A (zh) | 2021-06-25 |
Family
ID=76455210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110477269.9A Pending CN113032765A (zh) | 2021-04-29 | 2021-04-29 | 一种口令认证方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032765A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109560937A (zh) * | 2019-01-04 | 2019-04-02 | 平安科技(深圳)有限公司 | 口令认证方法、装置及计算机可读存储介质 |
CN109711173A (zh) * | 2019-02-03 | 2019-05-03 | 北京大学 | 一种口令文件泄漏检测方法 |
CN110110518A (zh) * | 2019-04-08 | 2019-08-09 | 平安科技(深圳)有限公司 | 口令强度评估方法、装置及计算机可读存储介质 |
-
2021
- 2021-04-29 CN CN202110477269.9A patent/CN113032765A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109560937A (zh) * | 2019-01-04 | 2019-04-02 | 平安科技(深圳)有限公司 | 口令认证方法、装置及计算机可读存储介质 |
CN109711173A (zh) * | 2019-02-03 | 2019-05-03 | 北京大学 | 一种口令文件泄漏检测方法 |
CN110110518A (zh) * | 2019-04-08 | 2019-08-09 | 平安科技(深圳)有限公司 | 口令强度评估方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8732844B2 (en) | Secure serial number | |
US9514294B1 (en) | Accessing a computing resource | |
US8549314B2 (en) | Password generation methods and systems | |
US9292681B2 (en) | Password audit system | |
US20130145170A1 (en) | Cross system secure logon | |
CN110071917B (zh) | 用户口令检测方法、设备、装置及存储介质 | |
CN111178890A (zh) | 账户的保护方法、装置和设备 | |
US9378358B2 (en) | Password management system | |
CN111143808B (zh) | 系统安全认证方法、装置及计算设备、存储介质 | |
KR101918547B1 (ko) | 취약점 패치의 검증이 가능한 해킹 방어 경연 시스템 | |
CN111949952B (zh) | 验证码请求处理方法及计算机可读存储介质 | |
CN113032765A (zh) | 一种口令认证方法、装置和设备 | |
US20170208018A1 (en) | Methods and apparatuses for using exhaustible network resources | |
WO2021015711A1 (en) | Automatic password expiration based on password integrity | |
CN113411339B (zh) | 基于零因子图序列的密码文件泄露的检测方法 | |
CN112765588B (zh) | 一种身份识别方法、装置、电子设备及存储介质 | |
CN110855446B (zh) | 一种密码验证方法及装置 | |
KR102086375B1 (ko) | 악성 소프트웨어에 대한 실시간 예방 및 사후 복구를 위한 보안 시스템 및 그 방법 | |
CN112565162A (zh) | 一种检测账户窃取行为的方法及装置 | |
JP6816623B2 (ja) | 認証装置、認証プログラム及び認証方法 | |
CN113055382B (zh) | 一种基于零信任的主机口令管控方法 | |
CN112104657B (zh) | 信息校验方法和装置 | |
CN117118644A (zh) | 数据校验方法、装置、计算机设备和存储介质 | |
JP6338540B2 (ja) | 認証システム、認証結果利用サーバ及び認証方法 | |
CN115659308A (zh) | 一种软件认证方法及相关设备 |
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 |