一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于使用随机噪声符号进行认证的用户界面的制作方法

2022-02-22 02:08:55 来源:中国专利 TAG:

用于使用随机噪声符号进行认证的用户界面


背景技术:

1.尝试访问安全的访问受控资源的用户执行认证尝试,从而用户输入一个或多个凭证,例如用户名和密码。将输入的凭证与存储的凭证进行比较,以确定用户名和密码是否与被授权访问安全的访问受控资源的有效帐户相匹配。如果凭证与被授权访问安全的访问受控资源的有效帐户相匹配,则系统可以准许对访问受控资源的访问。
附图说明
2.在附图中,相同的附图标记可以描述不同视图中的相同组件,附图不一定是按比例绘制的。具有不同字母后缀的相同数字可表示相同组件的不同实例。附图通过示例而非限制的方式大体上示出了本文档中讨论的各种实施例。
3.图1描绘了根据本公开内容的一些示例的示例认证环境,其中用户设备的用户可以进行认证以访问安全的访问受控资源。
4.图2描绘了根据本公开内容的一些示例的示例认证环境,其中用户可以进行认证以访问安全的访问受控资源。
5.图3描绘了根据本公开内容的一些示例的具有附加的非指定的噪声符号的认证的数据流的图。
6.图4描绘了根据本公开内容的一些示例的对用户进行认证的方法的流程图。
7.图5描绘了根据本公开内容的一些示例的对用户进行认证的方法的流程图。
8.图6描绘了根据本公开内容的一些示例的对用户进行认证的方法的流程图。
9.图7和图8a-图8c描绘了根据本公开内容的一些示例的、用于允许用户输入认证凭证的示例图形用户界面(gui)的图。
10.图9描绘了根据本公开内容的一些示例的、具有分布式认证功能的用户设备和远程设备的图。
11.图10描绘了根据本公开内容的一些示例的、利用大小限制对用户进行认证的方法的流程图。
12.图11描绘了根据本公开内容的一些示例的、以散布标准的度量对用户进行认证的方法的流程图。
13.图12描绘了根据本公开内容的一些示例的具有附加的非指定的噪声符号的认证的数据流的图。
14.图13描绘了根据本公开内容的一些示例的、具有附加的非指定的噪声符号和实施的凭证子集的认证尝试的数据流的图。
15.图14-图16描绘了根据本公开内容的一些示例的、利用凭证子集对用户进行认证的方法的流程图。
16.图17描绘了根据本公开内容的一些示例的示例机器的框图,该示例机器可以实施本文讨论的技术(例如,方法)中的一种或多种技术。
具体实施方式
17.图1描绘了根据本公开内容的一些示例的示例认证环境100,其中用户设备110的用户可以进行认证以访问安全的访问受控资源130。如图1所示,安全的访问受控资源130可以是用户设备110的安全的访问受控资源130或由可通过网络175访问的远程设备135提供的安全的访问受控资源130。安全的访问受控资源130可以包括对一个或多个文件、文件的一部分(例如,字段或数据结构)、应用的访问,对操作系统的访问,对用户设备110本身的访问,对一项或多项基于网络的服务(例如,社交网络服务、文件共享服务、电子邮件、通信服务等)的访问,对物理对象(例如,通过计算机控制对象的解锁)的访问,等等。
18.网络175可以包括任何计算网络,包括局域网(lan)、广域网(wan)、互联网等。在用户设备110处,用户对请求访问安全的访问受控资源130进行认证尝试。认证尝试是用户尝试证明拥有有效凭证以访问安全的访问受控资源。作为认证尝试的一部分,客户端125可以使得显示用户界面(ui)127(其可以是图形ui(gui)),其请求访问安全的访问受控资源130所需的用户凭证。示例凭证包括用户名、密码、生物特征、令牌、数字证书、加密密钥等。
19.客户端125然后可以将用户输入的凭证传递给认证器120。认证器120可以确定用户输入的凭证是否有效。如果凭证有效,则认证器120可以准许对安全的访问受控资源130的访问。如果凭证无效,则认证器120可以拒绝对安全的访问受控资源130的访问。如果安全的访问受控资源130由远程设备135控制,则认证器120可以通过网络175发送消息以向远程设备135指示用户是否被授权访问安全的访问受控资源。客户端125然后可以经由ui 127通知用户访问是否被准许。
20.图2描绘了根据本公开内容的一些示例的示例认证环境200,其中利用用户设备110的用户可以进行认证以访问安全的访问受控资源130。图2与图1类似,除了认证器120位于远程设备250上之外。用户经由客户端125的ui 127输入凭证,如图1所示。在一些示例中,ui可以完全由客户端125提供,但是在其他示例中,ui可以部分地由远程设备250提供(例如,经由由远程设备250发送并由客户端125呈现以创建ui 127的一个或多个文件)。客户端经由网络175将凭证发送到远程设备250的认证器120。当通过网络175发送时,凭证可以被加密,例如,通过使用安全套接字层连接。
21.在图2的示例中,安全的访问受控资源130可以驻留在用户设备110、远程设备250或第二远程设备255处。认证器120可以直接地或者通过客户端125向安全的访问受控资源130所在的设备发送指示以指示用户是否被认证。在一些示例中,该指示可以是到设备(例如,诸如用户设备110或第二远程设备255)的直接消息。在其他示例中,如果用户成功认证,则认证器120可以向客户端125发布令牌。该令牌可以由用户设备110发送到安全的访问受控资源130所在的任何设备。设备(例如,110、250或255)然后验证令牌并且如果令牌被验证则准许用户对安全的访问受控资源的访问。
22.在传统的认证系统中,用户输入凭证,对照存储的凭证对输入的凭证进行检查(或以其他方式验证),以确定输入的凭证是否与存储的凭证精确匹配。虽然要求精确匹配是传统认证系统中用于防止黑客试图通过使用蛮力攻击来猜测凭证的最安全的验证方法,但要求精确匹配对于远程认证可能是有问题的,因为通信信道可能会引入噪声,这可能导致认证失败。此外,精确匹配系统存在安全漏洞,因为它们会将用户的精确凭证暴露给窃听者。例如,安全漏洞可能是由于以下情况导致的:恶意用户窃听合法用户在输入他们的密码时
的键盘(所谓的背后偷窥者)、使用直接从用户键盘窃取数据的键盘记录器,或者使用拦截通信(例如可能被发送到服务器的凭证)的中间人攻击。在需要与用户凭证精确匹配的系统中,窃听者只需要拦截单次认证尝试即可危及用户的帐户。
23.为了更好地抵御这些窃听攻击,一些精确匹配认证系统需要输入与合法凭证符号穿插的一个或多个噪声符号。噪声符号是不属于用户凭证的一部分的一个或多个符号,并且不会对照存储的凭证对其进行检查以确定是否与用户的存储的凭证相匹配。符号是一个或多个数据单元,例如字符、字节、字等等。对密码进行认证的设备会移除这些噪声符号,以检查与存储的凭证的精确匹配。这些技术可能会击败试图通过观察用户键入的字符来窥探用户密码的背后偷窥者。此外,通过在密码中添加噪声字符也可以防止监测用户键入的密钥的某些键盘记录器或拦截用户通信的中间人攻击者确定用户的密码,因为可能需要多次观察才能分辨出用户的真实密码。
24.在凭证中引入噪声符号的认证系统中的认证器通常需要在检查精确匹配之前过滤掉凭证中的噪声符号。为了实现这一点,认证器必须知道哪些符号是噪声符号,哪些符号是凭证的一部分。在一些示例中,认证系统在针对所有认证尝试指定的凭证的位置处引入噪声符号。例如,认证系统可以指定所有的认证尝试必须在凭证符号内的开头、结尾、开头和结尾处或在其他预定位置处放置噪声符号。这些位置在后续登录尝试中不会发生变化。也就是说,每次登录尝试都会在这些相同位置中的一个或者一个或多个位置处使用附加的噪声符号。
25.在其他示例中,认证器(在用户设备上或在远程设备处)可以针对特定的认证尝试指定用户将在凭证的指定位置放置噪声符号。例如,可以指示用户在密码p的第一个符号之前、第二个和第三个符号之间以及第四个和第五个符号之间插入三个噪声符号n以产生提交的符号{n1,p1,p2,n2,p3,p4,n3,p5......pm},其中m是密码p的长度。用于这些噪声符号n的符号可以由认证器指定,或者可以留给用户决定他们何时输入随机字符。在一些示例中,符号可以是字符并且凭证可以是密码,因此用户可以在密码内的指定字符位置处在密码内插入噪声字符。
26.然后认证器从提交的符号中去除噪声符号n。在这些系统上很容易实现认证,因为准确了解噪声符号的位置使得能够轻松移除那些符号,因此在输入的符号和存储的凭证之间进行直接比较是可能的。这些系统可能无法有效地解决密码窃听的问题,因为窃听者也可能能够确定在密码中插入噪声的位置,从而可能能够准确地移除噪声。例如,如果向用户显示位置,则背后偷窥者也将能够看到哪些位置是噪声符号。此外,如果认证器位于远程,则认证器可以向客户端设备发送指示用户应该在哪里插入噪声的消息。此消息可能会被中间人攻击截获。攻击者访问指定位置的潜在方式使这些系统的效率降低。
27.在一些示例中公开了通过实施具有包括穿插的噪声符号的凭证的认证系统来允许更安全的认证尝试的方法、系统和机器可读介质。这些系统允许噪声符号n位于由用户确定的位置中,这些位置未被指定给认证器进行认证尝试,这对窃听者产生了更高的安全性,因为窃听者无法提前确定噪声符号(例如,字符)的位置。虽然这些系统更安全,但它们不容易被认证。例如,由于认证器不知道噪声符号的位置,因此不容易忽略噪声符号n来确定剩余字符是否与密码相匹配。
28.在所公开的示例中,噪声符号(例如,字符)及其在凭证内的位置没有被系统指定
用于特定的认证尝试。用户可以在凭证输入时决定将随机噪声符号放在哪里以及随机噪声符号是什么。认证器将提交的字符(带有穿插的噪声符号的凭证)与存储的凭证进行比较,而不知道噪声符号在凭证符号内的什么位置,也不知道噪声符号是什么符号。
29.为了对用户进行认证,认证器将提交的符号分解为长度为m的多个向量,长度m对应于有效凭证中的符号数量(例如,密码的长度)。在多个向量中的每个向量中保持符号的排序,使得向量中的每个符号相对于向量中的另一个符号的顺序与被接收的排序相匹配。然后计算距离度量,该距离度量对每个向量与包括凭证符号的向量之间的距离进行量化。基于距离度量,可以确定凭证是否匹配并且用户是否被认证。在一些示例中,凭证是密码,并且符号是字符。
30.因此,本公开内容解决了使用能够抵抗键盘记录器、窃听者和中间人攻击的一个或多个安全凭证(例如,密码)来提供对访问受控资源的安全访问的技术问题。这是通过引入在用户指定的位置处引入的用户指定的噪声符号(例如,字符)来实现的。认证者不知道噪声符号被引入哪里或噪声符号是什么。认证器将提交的符号分解为多个向量,并利用距离度量来确定认证是否应被准许。在一些示例中,该方法可以通过在阈值次数的失败登录尝试之后通过将用户锁定在其帐户之外(永久地或暂时地)以限制用户可以进行的认证尝试次数来保护免受暴力攻击。
31.图3描绘了根据本公开内容的一些示例的具有附加的非指定的噪声符号的认证的数据流300的图。根据示例数据流300,输入的凭证310(例如,密码)可以包括这样顺序的三个符号312、314和316{p1,p2,p3},其可以是字符的形式。用户在输入凭证时向凭证添加噪声字符形式的一个或多个噪声符号320。在图3所示的示例中,为了便于描述,仅添加了一个噪声符号320。由用户提交用于认证的提交的符号325包括凭证符号312、314和316(按顺序的)连同插入到凭证符号中的一个或多个噪声符号320。
32.认证器327包括向量创建器330,其接收提交的符号325并创建多个长度为m的向量,其中m是用户的存储的凭证350(例如,密码)的符号数(例如有效密码的长度)。这些向量反映了提交的符号325的每个可能的有序的长度为m的组合。每个向量中的字符的顺序是与提交的符号325中的符号的顺序相同的顺序。也就是说,如果组合序列是“plas”,并且凭证是“pas”,那么向量的长度都是三,并且会反映所有可能的顺序(即,每个字符保持它从提交的符号325中出现的顺序)组合。在该示例中,向量将是:《p,1,a》,《p,a,s》,《p,1,s》,《1,a,s》
33.然后将每个向量传递到距离度量计算器335,该计算器计算每个向量与存储的凭证350的向量之间的距离。在一些示例中,距离度量可以是levenshtein距离。在其他示例中,距离度量可以将每个向量的每个符号与存储的凭证350中的相应位置进行比较。如果符号匹配,则分数可以不递增。如果符号不匹配,则分数可以递增。在其他示例中,更高的分数反映更好的匹配,因此匹配的符号可以使得分数递增,而不匹配的符号可以使得分数不变或者可以使得分数递减。在又一些其他示例中,距离度量可以是与存储的凭证350的相关性,例如pearson相关系数。在其他示例中,可以使用其他编辑距离度量或算法。
34.然后每个向量的距离度量被传递到匹配确定逻辑单元340。在一些示例中,匹配确定逻辑单元340识别表示与存储的凭证350的最接近匹配的距离度量(例如,最小距离)。这可以是最高分数(在针对匹配分配得分的情况下),或者也可以是最低分数,这取决于所期
望的实施方式。如果表示最接近匹配的距离度量比阈值更接近存储的凭证350(例如,距离小于阈值),则匹配确定逻辑单元340可以返回:找到匹配。在示例中,满足阈值可以要求完美匹配。在其他示例中,匹配确定逻辑单元识别表示与存储的凭证350的两个最接近匹配的两个距离度量(例如,最小距离和第二最小距离)。匹配确定逻辑单元然后可以采用两个距离度量的比值并将其与阈值进行比较以确定是否存在匹配。在一些示例中,即使在提交的符号325中的输入凭证310与存储的凭证350不够完美匹配时,阈值的使用也允许进行认证。这可以允许某种级别的噪声容限,其中输入的凭证310的符号在传输期间被噪声符号替代。
35.访问控制345然后可以基于来自匹配确定逻辑单元340的结果准许或拒绝对安全的访问受控资源的访问。例如,访问控制345可以向托管安全的访问受控资源的计算机设备发送消息以提供认证尝试的结果。在一些示例中,访问控制345可以向用户设备或托管安全的访问受控资源的设备发送令牌。在其他示例中,访问控制345可以提供安全的访问受控资源。在一些示例中,访问控制可以向物理设备发送信号,该物理设备可以提供对物理资源的访问(例如,解锁门)。
36.图4描绘了根据本公开内容的一些示例的对用户进行认证的方法400的流程图。在操作410处,认证器识别与存储的值(例如凭证(例如,用户名、密码、加密密钥))相对应的第一符号集合(例如,字符)。如本文中所使用的,符号是数据单元,例如字符、字、字节或其他数据组。在操作420处,认证器接收要与存储的值进行比较的第二符号集合(例如,字符),第二符号集合包括比第一符号集合更多的符号(例如,噪声字符)。例如,符号可以是带有附加噪声符号(例如,字符)的输入的凭证符号(例如,密码),并且存储的值可以是凭证(例如密码)。
37.在操作430处,认证器确定第二符号集合是否包括与存储的值匹配的第一符号子集。例如,认证器确定第二字符集合是否包括凭证(例如,密码)。如果第二符号集合不包括存储的值,则在操作460处,访问可以被拒绝。如果第二符号集合包括存储的值,则处理移动至操作440。在一些示例中,为了确定第二符号集合是否包括存储的值,可以将第二符号集合分解为第二值集合的大小为m的有序向量组合的集合,其中m是存储的凭证中的符号的数量。这些向量反映了提交的符号的每个可能的有序长度为m的组合。可以针对每个向量计算距离度量,其测量存储的值与每个向量之间的距离。关于第二符号集合是否包括存储的值的决定可以基于距离度量以及距离度量中的至少一个是否在存储的值的阈值距离内。
38.在操作440处,认证器确定第二符号集合是否在第二符号集合内的一个或多个非指定位置包括非指定符号的第二子集。例如,认证器确定噪声字符是否添加到了密码字符中。在一些示例中,认证器可以确保输入附加的符号以确保用户免受窃听攻击。如果没有添加附加的噪声符号,则在操作460处,访问被拒绝。否则,在操作450处,访问可以被准许。需要注意的是,认证器没有为任何认证尝试指定噪声符号被放置在何处,以及噪声符号是什么。这通过防止窃听这些位置来保护用户。
39.图5描绘了根据本公开内容的一些示例的对用户进行认证的方法500的流程图。在操作510处,认证器在认证尝试期间接收待认证的提交符号的集合。在一些示例中,符号是字符。在一些示例中,接收到的符号集合包括比与存储的值(例如凭证)相对应的第一符号集合更多的符号。例如,输入的字符包括噪声字符。在操作520处,认证器创建两个或更多个向量的集合,每个向量的长度与包括与存储的值(例如,存储的凭证)相对应的第一符号集
合的有序向量的长度相对应,并且每个向量包括接收到的符号集合的不同有序组合,接收到的符号集合的不同有序组合是以与符号被接收的相同的顺序来排序的。例如,如果接收到的字符集合是{p,#,a,r,s,s}并且密码(存储的值)是{p,a,s,s},然后创建长度为4的向量集合。在此示例中,系统将针对接收到的字符集合中的每4个字符的顺序组合创建向量。
40.顺序是指向量中的符号保持这些符号在所提交的符号中相对于彼此的排序。换句话说,在上面的示例中,如果字符“p”在向量中,则该字符将始终是密码字符中的第一个(不考虑噪声符号)。向量中的“a”字符将是密码字符中的第一个(如果“p”不在向量中)或第二个(如果“p”在向量中)(同样,不考虑噪声符号)。因此,在上面的示例中,以下是有效的向量:
41.1.p#ar
42.2.#ars
43.3.arss
44.4.pars
45.5.prss
46.6.p#rs
47.7.pass
48.8.#rss
49.9.#ass
50.10.p#as
51.11.p#ss
52.在操作530处,认证器可以确定每个相应向量和包括与存储的值相对应的第一符号集合的有序向量之间的距离集合。如前所述,距离集合可以由以下来确定:一个或多个距离度量(例如levenshtein距离);简单的总点数,其中基于符号的差异添加或减去点;或者统计相关性。例如,利用点值系统的系统可以将值1添加到不匹配的符号位置的分数,并且将值0添加到与存储的值(例如,存储的凭证)相匹配的符号位置。在上面的示例中,使用这个简单的距离度量,距离将是:{3,2,2,1,1,2,0,2,2}。在又一些其他示例中,可以简单地将向量与存储的值进行比较以确定是否存在匹配。在另外的附加示例中,距离度量可以是统计相关性。
53.在操作540处,系统可以基于距离集合中的距离来选择向量集合中的向量。例如,系统可以选择与存储的值的向量距离最短的向量。在上面的示例中,向量“pass”的距离为“0”,因此可以选择该向量。
54.在操作550处,系统可以基于与所选择的向量相对应的值与阈值的比较,使得对计算机资源的访问被准许。例如,距离值与阈值的比较。在其他示例中,该值可以是向量的距离值与第二向量(例如,第二最近向量)的比值。阈值可以是预定的或指定的。在其他示例中,可以基于存储的值的长度来确定阈值。即,对于较短的存储的值,可以设置阈值使得提交的符号和存储的值之间的更接近匹配是提高安全性所必需的。因此,三个字符的存储的值可以具有比十个字符的存储的值低的阈值(其中更低是更接近匹配)。
55.图6描绘了根据本公开内容的一些示例的对用户进行认证的方法600的流程图。在操作610处,客户端可以使得显示gui。例如,图7所示的gui。gui可以具有一个或多个数据输
入字段,用于由用户输入一个或多个凭证的一个或多个符号。例如,gui可以包括用于从输入设备接受所请求的认证凭证的字符的输入字段。在一些示例中,gui以符号集合(例如,字符)的形式接受所请求的认证凭证。示例输入设备可以包括键盘、屏幕上的键盘、鼠标输入、触摸输入、生物特征输入,等等。在一些示例中,gui可以要求该符号集合(例如,字符)包括比存储的凭证更多的符号(例如,字符)。例如,通过检查用户输入的字符的长度并对照存储的密码的长度来检查该长度。在一些示例中,gui可以要求字符集合包括比存储的凭证更多的阈值数量个符号。阈值可以是预先指定的或者可以基于凭证的长度来确定。例如,如果凭证(例如,密码)短,则与凭证较长的情况相比,系统可能需要更多的噪声符号。在其他示例中,系统可以将输入的提交符号的值与凭证的符号值进行比较以确定是否添加了噪声符号。
56.在一些示例中,客户端可以检查以确保噪声符号(例如,字符)穿插在提交的凭证中。例如,如果噪声符号在开头、结尾或者在开头和结尾,但未穿插在提交的符号中,则客户端可以显示错误。例如,如果噪声符号的位置在整个凭证符号中的散布测量结果(measurement of spread)低于阈值,则客户端可以显示错误并使用户修复提交的符号,使得散布测量结果高于或等于阈值。下面更深入地详细介绍了散布测量结果。
57.如果上述任何一项检查表明用户提交的符号(例如字符)不满足上述要求中的一项或多项,则客户端可以显示错误并要求用户更正提交的符号。一旦用户通过指定符号(例如,字符)的输入已完成的输入(例如,按enter、点击或轻敲指示输入已完成的按钮等)来提交符号,则可以显示错误。在其他示例中,系统可以在用户输入符号时监测输入的符号。例如,在预定数量的符号(例如,存储的凭证的长度)之后,系统可以根据实施方式来检查符号的长度、噪声符号和/或散布测量结果。图8a-图8c中示出了对用户的示例警告。
58.在操作620处,客户端可以接受用户在gui的一个或多个数据输入字段中输入的符号(例如,字符)。例如,在用户提交了输入来指示该符号集合完成并且该字符集合满足要求之后(例如,长度大于凭证;提交的符号中包括噪声字符;噪声是穿插的;和/或噪声是穿插的并且散布测量结果高于阈值)。
59.在操作630处,客户端可以接收或识别访问是否被准许的指示。在一些示例中,客户端可以将提交的符号发送到远程计算设备中的远程认证器,例如图2所示。客户端然后可以从远程设备接收关于访问是否被准许的指示。在其他示例中,客户端本身可以包括认证器并且可以执行如图1所示的认证。在这些示例中,该指示可以是通过函数返回、过程间通信等接收到的来自认证器的关于访问是否被准许的指示。
60.在操作632处,系统可以确定该指示是访问被准许还是被拒绝。如果访问被拒绝,则在操作645处,可以使gui显示访问被拒绝的消息。在一些示例中,用户可以重试认证。在一些示例中,可以实现对重试尝试次数的限制,以防止用户在确定的时间量内在确定次数的认证失败之后重试认证。
61.如果在操作632处,访问被准许,则在操作635处,系统可以指示访问已经被准许。例如,系统可以使gui显示访问被准许的指示。在其他示例中,系统可以简单地移除登录画面并显示对访问受控资源的访问。在其他示例中,系统可以提供所请求的访问受控资源。在操作640,在一些示例中,客户端可以促进对所请求的安全的访问受控资源的访问,例如通过将用户的浏览器重新定向到资源的地址、执行提供资源的功能,等等。
62.图7描绘了根据本公开内容的一些示例的、用于允许用户输入认证凭证的示例gui的图。在图7的示例中,存在两个凭证,用户名和密码。用户可以选择所请求的凭证旁边的框之一并输入所请求凭证的符号。例如,用户可以键入用户名和/或密码的符号。当用户完成时,用户可以输入指定字符输入完成的输入(例如,按下enter、点击或轻敲指示输入完成的提交按钮等)。
63.图8a-图8c描绘了根据本公开内容的一些示例的、用于允许用户输入其认证凭证的示例gui的图。在图8a中,用户已经开始键入用户的密码并且客户端已经识别出用户尚未添加任何噪声字符。客户端然后用警告来对用户进行提示。该警告可以是对用户键入不包括噪声字符的阈值数量个字符的响应。在一些示例中,一旦用户输入第一个噪声字符,警告可以消失。在其他示例中,客户端可以计算噪声字符与合法密码字符之间的比值。当比值低于指定的阈值比值时,可以显示警告。在一些示例中,当散布测量结果不在目标散布测量结果内(例如,不高于或低于阈值,或不在指定范围内)时,可以显示警告。在其他示例中,可以响应于用户选择“提交”而显示警告,并且可以禁止用户继续直至被纠正。
64.在图8b中,用户已经开始键入密码,并且客户端已经识别出密码超过或低于固定长度。在本示例中,对于用户的输入需要固定长度。固定长度可以包括输入的所有字符的固定总长度,或者噪声字符的固定长度。在示例中,密码输入框可以限制用户以防止输入比固定限制多的字符。在示例中,客户端可以向用户提示关于固定长度问题的警告。在一些示例中,一旦用户输入等于固定长度的字符数,警告可以消失。在其他示例中,固定长度可以是最小长度,使得当输入固定长度或更多字符时警告可以消失。在其他示例中,可以响应于用户选择“提交”而显示警告,并且可以禁止用户继续直至被纠正。
65.在图8c中,用户已经开始键入密码,并且客户端已经识别出输入的字符不包括有效密码的子集。例如,输入的字符可以包括完整的密码或者可以不包括密码的任何子集。在此示例中,对于用户的输入需要有效密码的子集(并且可选地不是完整的有效密码)。在示例中,客户端可以向用户提示关于固定长度问题的警告。在示例中,可能需要最小长度的子集,并且当输入的字符不包括足够长度的有效密码的子集(例如,满足或超过最小长度)时,可以显示警告。一旦用户输入有效密码的子集,警告可以消失。在其他示例中,可以响应于用户选择“提交”而显示警告,并且可以禁止用户继续直至被纠正。
66.用于分布式计算的拆分认证器功能
67.虽然上文提及的示例包括用户设备或远程设备中的认证器,但在其他示例中,认证器的一些功能可以在用户设备中执行并且其他功能可以在远程设备中执行。例如,用户设备中的认证器可以创建向量和/或计算距离度量并将结果发送到远程设备上的认证器。在一些示例中,这可以允许通过让客户端设备分担一些计算负担来分配认证所需的计算资源。
68.在一些示例中,可以使用加密在传输中保护中间结果。在一些示例中,为了防止篡改,可以通过被给予受信任应用的安全的对称密钥来保护结果。远程设备的认证器然后可以使用相应的密钥来解锁结果。通过成功解锁结果,远程设备上的认证器可以相信结果是由受信任的应用产生的。在一些示例中,为了进一步防止篡改,用户设备上的认证器可以在一个或多个受保护环境中执行,例如软件防护扩展(sgx)环境等。
69.图9描绘了根据本公开内容的一些示例的、具有分布式认证功能的用户设备110和
远程设备250的图900。图9描绘了一种系统,用户设备110通过该系统执行部分认证过程并向远程设备250提供中间计算或部分结果。例如,用户设备110包括本地认证器920,其包括向量创建器330和可选的距离度量计算器335。在这些示例中,提交的符号(例如,字符)被提交给向量创建器330,该向量创建器330创建向量集合(例如,图3中所示的那些)并将这些向量集合发送到远程设备250。
70.在一些示例中,本地认证器920可以包括距离度量计算器335,其可以计算凭证(例如,密码)和向量之间的距离并且将距离发送到远程设备250。远程设备250包括远程认证器950,其可以包括匹配确定逻辑单元340和/或距离度量计算器335(取决于用户设备是否包括距离度量计算器335)。如果用户设备110向远程设备提供向量,则远程设备250可以将那些向量提供给距离度量计算器335用于计算距离度量。如果用户设备110提供距离度量(例如,用户设备110具有距离度量计算器335),则远程设备接收那些距离度量并将它们传递给匹配确定逻辑单元。匹配确定逻辑单元340利用距离度量来确定访问是否如先前描述的那样被准许。如图9所示,安全的访问受控资源130可以在用户设备110或远程设备250上。
71.对提交的符号的长度检查
72.虽然上文公开的认证系统可以很好地防止窃听,但是它在计算上也可能是昂贵的。在一些示例中,攻击者可能会尝试通过提交长度很长的符号来导致对认证器的拒绝服务(dos)攻击。例如,攻击者可能会提交150个字符的认证尝试。如果密码只有10个字符,则存在提交的符号的大量长度为10的顺序组合。生成的大量向量也可能触发要生成的大量距离测量结果。这些操作可能会使用认证器的大量处理和内存资源。复杂的攻击可能特征在于数百次这样的攻击认证尝试,这可能会使认证器不堪重负并阻止对合法用户的认证,因为认证器可能忙于为非法攻击提供服务而无暇顾及合法认证。
73.在一些示例中,为了防止该问题,客户端和/或认证器可以拒绝具有不满足长度要求的提交符号(例如,提交的字符)的认证请求。例如,可以接受长度超过长度阈值的提交的符号。可以对照提交的符号的总长度(例如,密码字符和噪声字符)、仅噪声符号的长度、仅密码符号的长度、噪声符号与密码符号的比值等等来测量长度阈值。在其他示例中,长度可以是指定长度。也就是说,可以要求提交的符号、噪声符号和/或凭证符号具有指定长度。可以在创建向量之前处理拒绝,从而不处理被拒绝的认证尝试以创建向量。
74.本公开内容解决了使用安全密码提供对计算资源的安全访问的技术问题,该安全密码可以抵抗键盘记录器、窃听者和中间人攻击以及能够拒绝服务攻击。输入的符号被限制在阈值内,以防止在认证器处进行过于复杂的计算。
75.图10描绘了根据本公开内容的一些示例的、以大小限制对用户进行认证的方法1000的流程图。在操作1010处,认证器识别与存储的值(例如,密码、其他凭证,或者其他存储的值)相对应的第一符号集合。在操作1020处,认证器接收要与存储的值进行比较的第二符号集合,第二符号集合包括比第一符号集合更多的符号。例如,符号可以是输入的密码字符。
76.在操作1030处,系统可以确定符号是否满足一个或多个长度标准。如果符号满足一个或多个长度标准,则处理继续到操作1040,否则在操作1060处,认证被拒绝。长度标准可以是最小长度、最大长度或最小和最大长度的范围。
77.在一些示例中,在操作1030处对照标准检查的符号是提交的符号(例如,用户输入
的包括凭证字符和噪声字符二者的字符),并且标准为:提交的符号的数量小于阈值—例如,操作1030确定提交的符号的总长度是否小于阈值长度。因此,如果用户输入30个字符并且阈值是25,则认证将使得操作1030处的确定未能通过,并且在操作1060处,访问将被拒绝。在一些示例中,除了最大长度之外,可能还有所需的最小总长度(例如,以确保输入足够的噪声符号)。
78.在另一示例中,在操作1030处对照标准检查的符号是噪声符号并且该标准包括这样的限制:噪声符号的数量小于阈值。即,操作1030确定噪声符号的数量是否小于噪声符号的阈值数量。这可以通过从凭证的长度中减去提交的符号中的符号总数并将结果与阈值进行比较来实现。例如,如果提交的符号为12个符号长,而存储的凭证为5个符号长,则将(12-5)=7与阈值进行比较。如果阈值为8或更多,则处理可以继续,否则,在操作1060处访问被拒绝。在其他示例中,可以通过从提交的符号中移除与凭证相对应的符号然后将剩余符号的计数与阈值进行比较来确定噪声符号的数量。例如,当凭证为密码且有效密码为“pass”且提交的符号为用户输入的字符且为“passl2345”时,字符'p'、'a'、's'、's'被移除,留下“12345”,这是5个字符长。然后将5与阈值进行比较。如果5未能满足或超过阈值,则在操作1060处访问可以被拒绝。如上所述,在一些示例中,还可能需要最小数量的噪声符号,从而使得可能需要最小和最大数量的噪声符号二者。
79.在其他示例中,长度标准不是阈值长度,而是精确的符号计数(例如,符号的数量不大于且不小于指定的符号)。例如,可以要求提交的符号具有预设计数。在其他示例中,可以要求噪声符号具有预设计数。在又一些其他示例中,可以要求噪声符号与凭证符号的比值为预设比值。例如,当要求提交的符号为10个符号,且凭证为“pass”时,则系统可能要求4个凭证符号(例如字符)和添加6个符号作为噪声符号(例如字符),因为总数(噪声符号和凭证符号)必须等于10个符号。例如,如果提交的符号的总计数不等于预设计数,则访问可以被拒绝。在一些示例中,预设计数对于所有认证尝试可以是全局的,或者可以是针对每个认证尝试被指定的。
80.在操作1040处,认证器确定第二符号集合是否包括与存储的值匹配的第一符号子集。如果第二符号集合不包括与存储的值相匹配的第一符号子集,则在操作1060处访问被拒绝。如果第二符号集合包括与存储的值相匹配的第一符号子集,则在操作1045处处理继续。例如,验证器在第二符号集合中搜索存储的凭证。如前所解释的,这可以包括将提交的符号拆分为向量并计算每个向量与存储的凭证之间的距离。距离可用于确定第二符号集合是否包括与存储的值(例如,存储的凭证)相匹配的第一子集。
81.在操作1045处,认证器可以确定第二符号集合是否包括非指定符号的第二子集。也就是说,验证器确保已将噪声符号添加到提交的符号中。在一些示例中,该操作可能已经被执行,因为在操作1030处符号满足长度标准的结果可以确保最小数量的噪声符号。如果已经添加了噪声符号,则在操作1050处,访问可以被准许。如果没有添加噪声符号,则在操作1060处,访问可以不被准许。如本文中所描述的,认证器还可以要求噪声符号满足与散布测量结果相关的标准、可以要求存在最小数量的噪声符号,等等。
82.需要注意的是,认证器没有为任何认证尝试指定噪声字符被放置在何处,以及噪声字符是什么。这通过防止窃听这些位置来保护用户。通过要求最大数量的提交的符号,可以避免可能拒绝服务的对认证器的外部攻击。
94.在这些示例中,窃听者(甚至是背后偷窥者)可能会观察到多次登录尝试并辨别用户的凭证,因为每次认证尝试之间的共同字符可以通过观察快速地与噪声符号区分开。为了防止这种情况,系统可以确定一个或多个度量,用于确定噪声符号在凭证内的分布均匀程度(或等效地,凭证在噪声符号内的分布均匀程度)。在一些示例中,被称为散布测量结果的度量可以对一个符号集合在第二符号集合内分布的均匀程度进行量化。
95.系统(客户端或认证器)可以要求凭证符号中噪声符号的位置的散布测量结果高于指定阈值,以确保噪声符号分布在整个凭证中。在一些示例中,系统(客户端或认证器)可以指定散布测量结果还低于指定的阈值,以确保还避免噪声符号在整个凭证中的完美分布,因为完美分布也可能很容易被窃听者弄清楚。系统可能希望通过要求散布测量结果在特定范围内来获得凭证符号中噪声符号看似随机的分布。
96.在一些示例中,系统还可以存储针对指定登录次数或时间范围的过去认证尝试的计算出的散布测量结果的历史。系统可以要求散布测量结果随时间变化,从而具有相同散布测量结果或彼此相似(例如,在阈值数内)的提交符号的认证尝试被拒绝。这可有助于促进分布噪声符号的随机性。在一些示例中,系统可以以统计的方式分析针对过去认证尝试的用户的散布测量结果。示例统计分析包括计算散布测量结果的标准偏差。如果标准偏差低于阈值,则系统可以调整散布测量结果的目标范围以将标准偏差移向阈值。这样,系统监测密码符号中噪声符号随时间推移的分布,以更好地实现随机出现。
97.在一些示例中,当用户输入他们的凭证时,系统可以实时计算散布测量结果并提供关于用户是否在期望范围内的指示。这可以是关于用户在可接受范围内或用户不在可接受范围内的简单指示。如果用户不在可接受范围内,系统可能会提供关于移动到可接受范围的提示(例如,“插入更多噪声字符”或“移除一些噪声字符”)。
98.因此,本公开内容解决了使用能够抵抗键盘记录器、窃听者和中间人攻击的安全凭证来提供对访问受控资源的安全访问的技术问题。通过实施良好的噪声符号分布,系统可以通过确保凭证不容易从提交的符号中被破译来确保用户利用本公开内容的安全性增强方面。例如,本系统可以确保噪声符号随机出现,而不是遵循可辨别的模式。
99.图11描绘了根据本公开内容的一些示例的、以散布测量结果标准对用户进行认证的方法1100的流程图。在操作1110处,认证器识别与存储的值(例如密码)相对应的第一符号集合。在操作1120处,认证器接收要与存储的值进行比较的第二符号集合,第二符号集合包括比第一符号集合更多的符号。例如,符号可以是输入的密码字符。
100.在操作1130处,认证器确定第二符号集合是否包括与存储的值匹配的第一符号子集。例如,认证器确定第二字符集合是否包括存储的凭证(例如,密码)。如果第二字符集合不包括存储的凭证,则在操作1160处,访问可以被拒绝。如果第二字符集合包括存储的凭证,则处理移动至操作1140。在一些示例中,为了确定第二字符集合是否包括存储的凭证,可以将第二符号集合分解为第二字符集合的大小为m的有序向量组合的集合,其中m是存储的凭证中的符号的数量。这些向量反映了提交的符号的每个可能的有序长度为m的组合。可以针对每个向量计算距离度量,其测量存储的凭证与每个向量之间的距离。关于第二字符集合是否包括存储的凭证的决定可以基于距离度量以及距离度量中的至少一个是否在存储的凭证的阈值距离内。
101.在操作1140处,认证器确定第二符号集合是否在第二符号集合内的一个或多个非
指定位置包括非指定符号的第二子集。例如,认证器确定噪声字符是否被添加到密码字符中。在一些示例中,认证器可以确保输入附加的字符以确保用户免受窃听攻击。如果没有添加附加的噪声字符,则在操作1160处,访问被拒绝。否则,在操作1145处,处理可以继续。需要注意的是,认证器没有针对任何认证尝试指定噪声字符要放置在何处,以及噪声字符是什么。这通过防止窃听这些位置来保护用户。
102.在操作1145处,系统可以确定第二符号集合内第一子集或第二子集的各个位置的散布测量结果是否在阈值范围内或以其他方式满足一个或多个指定标准。因此,系统可以(取决于设计)确定第一子集在第二符号集合内如何分布(例如,密码字符如何分布),或者噪声符号在第二符号集合内如何分布。
103.示例性散布测量结果包括计算第二符号集合内的第一或第二符号子集的后续符号的相应位置之间的最大距离。例如,如果密码是“pass”并且用户输入“pla2s3s4”,则散布测量结果将为1。在这些示例中,系统可以要求最小散布测量结果—例如,第二符号集合内的第二符号子集的后续符号的相应位置之间的最大距离小于阈值。在其他示例中,散布测量结果可以是第二符号集合内的第一或第二符号子集的后续符号的相应位置之间的平均距离。
104.在又一些其他示例中,散布测量结果可以是第二符号集合内的第一或第二符号子集的相应位置的方差。在另一些其他示例中,散布测量结果可以是第二符号集合内的第一或第二符号子集的相应位置的标准偏差。
105.在一些示例中,阈值范围可以是上阈值、下阈值或上下阈值。阈值可以是指定的,或者可以是导出的。例如,阈值可以从凭证的长度导出。例如,与较长的凭证相比,对于较短的凭证可能要求更高的散布水平(以提高安全性),反之亦然。在一些示例中,上限和下限都确保噪声符号是有噪的—也就是说,它们不符合易于破译的模式。例如,用户的密码是“pass”并且用户输入“pla2s3s4”的情况可能不如用户输入“pl2as22s”安全,因为在前者中每隔一个符号插入噪声符号可以比后者中更随机的插入更可预测。通过要求散布高于最小值,但不是完美散布,系统可以要求更多的随机性。
106.如果在操作1145处,散布测量结果不在阈值范围内,则在操作1160处访问可以被拒绝。如果在操作1145处,散布测量结果在阈值范围内,则在操作1150处,访问可以被准许。
107.在一个示例中,可以通过创建输入字符向量的集合来确定输入字符集合内的密码中的噪声散布。向量集合可以如本文所述那样生成。可以比较从一个或多个向量集合到密码向量的距离度量。在示例中,可以评估平均值、中值或总向量距离,并将其与阈值进行比较。当平均值、中值或总距离超出阈值时,可以确定输入的字符集合具有足够的散布。在另一示例中,可以使用向量集合的子集(例如,仅可以使用两个阈值之间的向量,“接近”阈值和“远离”阈值),并且可以要求子集具有最小向量数量。
108.在又一示例中,可以通过采用总长度等于密码的顺序、有序字符来生成向量子集。例如,密码可以是“pass”,输入的字符是“p#arss”,这是噪声充分散布遍及的示例。在该示例中,向量集合可以被构造为“p#ar”、“#ars”和“arss”。从距离上来说这些都不是特别接近“pass”。输入的字符具有不足的散布的示例是“#rpass”。在该示例中,向量集合可以包括“#rpa”、“rpas”和“pass”。这些向量距离密码(包括密码本身)更近,因此可以确定输入的字符具有不足的散布。
109.图12描绘了根据本公开内容的一些示例的具有附加的、非指定的噪声符号的认证的数据流1200的图。图12与图3类似,除了在图12中认证器1227包括散布检查器1237之外。散布检查器1237可以计算散布测量结果,该散布测量结果对用户输入的噪声符号320在提交的符号325内分布的良好程度(或凭证符号在提交的符号325内分布的良好程度)进行量化。散布检查器1237可以包括在验证器327中,或者在用户设备110中,或者在远程设备135中,如图1和图2所示。散布检查器1237也可以是客户端125的一部分。例如,可以在用户输入凭证时计算散布测量结果,并且可以向用户给出实时反馈以指示散布测量结果是否在可接受范围内。
110.散布检查器1237可以计算噪声符号320(例如,字符)在用户输入的总提交符号325内的散布,或者凭证符号312、314和316在用户输入的总提交符号325内的散布。如前所述,示例性散布测量结果包括计算密码或噪声字符之间的最大或平均距离、方差、标准偏差,等等。
111.散布检查器1237可以对计算出的散布进行比较以确定散布测量结果是否满足指定标准。例如,标准可以是散布测量结果是否高于第一阈值。在其他示例中,标准可以是散布测量结果是否低于第二阈值。在又一些其他示例中,标准可以是散布测量结果是否既高于第一阈值又低于第二阈值(并因此在期望范围内)。如果结果是所提交的符号325的散布测量结果满足标准,则处理继续到使用向量创建器330来创建向量。如果散布测量结果不满足标准,则匹配确定逻辑单元340可以做出认证被拒绝的确定。
112.防止重复输入
113.在一些示例中,窃听者可能不会从噪声字符中尝试并解密密码。取而代之的是,窃听者可能会利用重放攻击藉此来捕捉整个输入序列,稍后整体“重放”,包括噪声字符。为了防止这种情况,在一些示例中,系统可以采取措施来检测和拒绝与过去的认证尝试相同或相似的认证尝试。
114.例如,认证器可以存储针对多个过去认证尝试的提交符号。当进行新的认证尝试时,将新接收的提交符号与存储的针对过去认证尝试的提交符号进行比较。如果新接收的针对当前认证尝试的提交符号匹配,或者在存储的针对过去认证尝试的过去提交符号之一的指定的相似度阈值水平内(以防止简单改变),则系统可以拒绝认证尝试。
115.系统可以存储针对指定时间段(例如,前一天、上周、上个月等)的多次过去认证尝试、指定次数的认证尝试等的提交符号。
116.在其他示例中,取代存储过去的提交符号,系统可以存储过去认证尝试的距离度量或散布测量结果中的一个或多个。例如,系统可以针对每次认证尝试存储两个或三个最近的距离度量。如果当前认证尝试的一个或多个距离度量和/或散布测量结果在过去认证尝试的一个或多个距离度量和/或散布测量结果的阈值差之内,则目前认证尝试可以被拒绝。通过存储距离度量或散布测量结果而非提交的符号,系统可以减少防止重放攻击所需的存储量。
117.部分密码子集
118.在一些示例中,窃听者可以通过多次认证尝试来访问用户的通信。例如,键盘记录器和中间人攻击可能会通过多次认证尝试来观察用户。攻击者可能能够通过在多次认证尝试中检测共同字符来辨别用户的密码。即使系统在凭证中实施类似随机的噪声符号分布,
但复杂的算法也可能会在捕获的数据中找到模式。
119.为了防止这种情况,系统可以强制用户输入用户凭证的子集。例如,用户的密码可以是“password”,用户可以使用“pass”、“sswor”、“word”等进行认证。在某些系统中,在用户的密码为“password”的情况下,可以使用其他组合,例如“pawo”或“psrd”(例如,与“password”中的字符顺序相同,但不一定是按顺序的)。在一些示例中,系统可以要求用户在每次认证尝试时使用不同的凭证子集。这使得窃听者更难通过在多次认证尝试中检测共同符号(例如字符)来观察用户的凭证。在示例中,可以在多次未使用或一段时间后重复不同的凭证子集(例如,在20个不同的子集之后,可以重复第一输入的子集,或者在六个月之后可以重复已经输入的子集)。
120.系统可以实施最小子集长度(例如,子集满足最小字符数、总密码的最小百分比,等等)。系统可以实施以下规则:相同子集在指定的认证尝试次数(或指定的时间段)期间只能被使用指定次数。例如,相同的凭证子集在十次认证尝试中只能使用两次。在一些示例中,可以要求子集由连续符号组成,但在其他示例中,可以允许跳过符号。在一些示例中,子集必须是顺序的。也就是说,如果用户的密码是“password”,则子集“pssord”是有效的子集,但“dpssor”不是。
121.因此,本公开内容解决了使用能够抵抗键盘记录器、窃听者、中间人和重放攻击的安全凭证来提供对访问受控资源的安全访问的技术问题。这是通过引入在用户指定的随机位置引入的用户指定的随机噪声符号来实现的。认证设备将提交的符号分解为多个向量,并利用距离度量来确定认证是否应被准许。通过使用除噪声符号之外的凭证子集,系统可以使得对用户进行窃听的攻击者更难以确定用户的凭证。
122.图13描绘了根据本公开内容的一些示例的、具有附加的非指定的噪声符号和实施的凭证子集的认证尝试的数据流1300的图。凭证1310(例如,密码)可以包括字符p1-p6形式的六个符号。在图13的示例中,用户已输入p2、p3和p4作为子集凭证符号1315。用户在输入凭证时向子集添加一个或多个噪声符号320(例如,字符)。在图13所示的示例中,为了便于描述,仅添加了一个噪声符号320。用户输入的提交的符号1325包括子集凭证符号1315连同穿插在凭证字符中的一个或多个噪声符号320。
123.认证器1327包括子集创建器1340,该子集创建器1340识别多个有序向量(称为凭证子集向量),这些有序向量包括存储的用户凭证1350的有序子集。在子集必须具有最小数量的符号的示例中,子集创建器1340创建具有最小大小和更大的凭证子集向量(直到存储的凭证1350的大小或最大子集大小)。例如,如果最小大小是5个字符,那么每个凭证子集向量是5个或更多字符,并且凭证子集向量包括具有5个或更多个字符的存储的凭证1350的所有可能子集的集合(可选地作为严格子集,例如,不包括整体的凭证1350)。
124.检查向量创建器1330接收由用户输入的提交的符号1325并从提交的符号1325创建多个向量,每个向量的长度对应于由子集创建器1340创建的凭证子集向量的长度。这些向量可以被称为“检查向量”。多个检查向量反映提交的符号1325中长度可能为m的有序组合中的每一个组合,其中m是存储的凭证的有效子集长度。每个检查向量中的符号的顺序与提交的符号1325中的凭证符号的顺序相同。如图13所示,m是长度为三、四和五个向量的向量。在其他示例中,m可以是不同的长度。例如,用户可以用提交的符号1325(例如,p2、n1、p3、p4加上“4”)来提交凭证长度。在另一示例中,用户界面可以指示要提交的凭证长度(例
如,大于某个最小值但小于总凭证长度的随机数,或由诸如访问控制345之类的凭证服务分配的数字)。
125.每个检查向量和每个凭证子集向量然后被传递到距离度量计算器1335,该计算器计算凭证子集向量与多个检查向量中的每个检查向量的每个组合之间的距离。在其他示例中,距离度量计算器1335计算凭证子集向量与多个检查向量中的每个检查向量的每个相同大小的组合之间的距离。在一些示例中,距离度量可以是levenshtein距离。在其他示例中,距离度量可以将每个检查向量的每个符号与每个凭证子集向量的相应符号进行比较。如果符号匹配,则分数可以不递增。如果符号不匹配,则分数可以递增。在其他示例中,更高的分数反映更好的匹配,因此匹配的符号可以使得分数递增,而不匹配的符号可以使得分数不变或者可以使得分数递减。在又一些其他示例中,距离度量可以是相关性,例如pearson相关系数。
126.然后将距离度量传递到匹配确定逻辑单元340。在一些示例中,匹配确定逻辑单元340识别表示检查向量和凭证子集向量中的一个凭证子集向量之间的最接近匹配的距离度量(例如,最小距离)。这可以是最高分数(在针对匹配分配得分的情况下),或者也可以是最低分数,这取决于所期望的实施方式。如果表示最接近匹配的距离度量比阈值更接近凭证子集向量中的一个凭证子集向量(例如,距离小于阈值),则匹配确定逻辑单元340可以返回:找到匹配。在其他示例中,匹配确定逻辑单元识别表示与凭证子集向量的两个最接近匹配的两个距离度量(例如,最小距离和第二最小距离)。匹配确定逻辑单元340然后可以采用两个距离度量的比值并将其与阈值进行比较以确定是否存在匹配。
127.访问控制345然后可以基于来自匹配确定逻辑单元340的结果来准许或拒绝对安全的访问受控资源的访问。例如,访问控制345可以向托管安全的访问受控资源的计算机设备发送消息以提供认证尝试的结果。在一些示例中,访问控制345可以向用户设备或托管安全的访问受控资源的设备发送令牌。在其他示例中,访问控制345可以提供安全的访问受控资源。在一些示例中,访问控制可以向物理设备发送信号,该物理设备可以提供对物理资源的访问(例如,解锁门)。
128.在一些示例中,检查向量创建器1330可以验证所提交的符号1325包括子集,而不是所有存储的凭证1350。例如,检查向量创建器1330可以确定提交的符号中与来自凭证的符号按顺序匹配的符号的数量的计数。在一些示例中,检查向量创建器1330可以确保这在可接受的范围内。例如,检查向量创建器1330可以将该符号数量与最小阈值(以确保最小子集大小)和最大阈值(以确保子集不会太接近完整的密码)进行比较。如果符号的数量在该范围内,则检查向量创建器1330可以确定进行认证。如果符号的数量不在该范围内,则检查向量创建器1330可以使得认证被拒绝。
129.在一些示例中,子集(而不是完整的凭证)的存在可以通过验证具有到任何凭证子集向量的最近距离度量的检查向量在期望的距离范围内来确定。该范围可以实施最小接近度和最大接近度。这确保子集足够完全来构成认证,但不是完整(或几乎完整)的凭证。
130.在又一另外的示例中,可以将具有最近距离的向量的距离与具有次近距离的向量的距离的比值与最小阈值进行比较。在该示例中,系统还可以对具有最近距离的向量的距离实施最大阈值。在此示例中,使用阈值的混合来实施最小值和最大值,其中最小阈值用于比值,而最大阈值用于距离本身。
131.检查向量创建器1330可以验证子集满足最小长度。例如,最小长度可以是指定的长度,或者可以基于存储的凭证1350的长度来计算。例如,凭证长度越短,最小子集长度可以越短。在一些示例中,最小子集长度可以随着凭证长度增加而增加直到定义的最大值,此时更长的凭证长度不会增加最小子集长度。
132.在一些示例中,检查向量创建器1330可以实施重复输入限制,使得在认证尝试之间比较输入的凭证子集以确定用户是否频繁地使用相同子集(例如,超过阈值出现次数)。如果用户对特定子集的使用超出了阈值出现率,则认证器1327可以拒绝认证尝试。在一些示例中,出现率可以被定义为指定时间量(例如,过去的一天、一周、一个月)期间的使用次数或指定的登录尝试次数。
133.在一些示例中,阈值频率可以基于存储的凭证1350的长度。例如,取决于存储的凭证1350的长度,可能只有数量x个最小长度为l的有效子集。在一些示例中,阈值频率可以是基于x设置的,例如x除以2,或x,或者x-可配置或指定的裕量。
134.在一些示例中,除了实施不同子集的要求之外,检查向量创建器1330可以实施这样的要求:噪声符号320在多次认证尝试之间可以不同,或者可以穿插在多次认证尝试的输入凭证1310的不同位置中。
135.图14描绘了根据本公开内容的一些示例的、使用凭证子集对用户进行认证的方法1400的流程图。在操作1410处,认证器识别与存储的值(例如凭证)相对应的第一符号集合。在操作1420处,认证器接收要与存储的值进行比较的第二符号集合,第二符号集合包括比第一符号集合更多的符号。例如,符号可以是输入的密码字符。
136.在操作1425处,认证器可以确定第二符号集合的任何子集是否与存储的值的符号相匹配。例如,认证器可以确定多个有序向量(被称为凭证子集向量),包括大于最小子集长度的所有可能长度的用户的存储凭证的有序子集。例如,如果存储的凭证是“password”,并且最小子集长度为3(在一些示例中,不允许跳过符号,但其他示例可能允许跳过,例如本示例中的“pwd”),则凭证子集向量将是3个、4个、5个、6个、7个和8个字符的所有可能的有序子集。在一些示例中,还可以指定最大子集大小。在这些示例中,凭证子集向量可以被限制为最大大小以实施这样的要求:输入的凭证是子集(而不是完整的凭证)。最大大小可以被指定(例如,由管理员)或者可以基于凭证的大小来计算。在上文凭证为“password”的示例中,如果最大子集大小限制为6,则凭证子集向量将是所有可能的3个、4个、5个和6个符号的有序子集(在下文显示的示例中,为便于阅读而阻止跳过):
137.3:pas;ass;ssw;swo;wor;ord;
138.4:pass;assw;sswo;swor;word;
139.5:passw;asswo;sswor;sword;
140.6:passwo;asswor;ssword;
141.认证器然后从第二符号集合创建多个向量(检查向量),每个向量的长度与相应凭证子集向量的长度相对应。检查向量反映长度与相应凭证子集向量的长度相对应的第二符号集合的每个可能的有序组合。例如,如果有4个凭证子集向量的集合,长度分别为3、4、5和6个符号,则使用第二符号集合的所有可能的3个符号长的有序组合创建第一多个检查向量;使用第二符号集合的所有可能的4个符号长的有序组合创建第二多个检查向量;使用第二符号集合的所有可能的5个符号长的有序组合创建第三多个检查向量;并且使用第二符
号集合的所有可能的6个符号长的有序组合创建第四多个检查向量。有序是指每个检查向量中的字符的顺序是与第二符号集合中的符号的顺序相同的顺序。
142.在一些示例中,计算在具有特定长度的凭证子集向量中的每个凭证子集向量与具有相同特定长度的多个检查向量中的每个检查向量之间的距离。距离量化了每个检查向量和每个凭证子集向量之间的差异。在其他示例中,计算在凭证子集向量的每个组合(无论大小)与多个检查向量中的每个检查向量之间的距离。
143.然后,认证器确定第二符号集合是否包括与存储的值的一部分匹配的第一符号子集。例如,认证器确定第二符号集合是否包括存储的凭证(例如,密码)的子集。在一些示例中,为了确定第二符号集合是否包括与存储的值的一部分相匹配的第一子集,系统可以利用距离度量以及距离度量中的至少一个距离度量是否在凭证子集向量的阈值距离内。如果第二字符集合不包括存储的凭证的子集,则在操作1460处,访问可以被拒绝。如果第二字符集合包括存储的凭证的子集,则处理移动至操作1440。
144.在操作1440处,认证器确定第二符号集合是否在第二符号集合内的一个或多个非指定位置中包括非指定符号的第二子集。例如,认证器确定噪声符号是否被添加到了凭证中。在一些示例中,认证器可以确保输入附加的字符以确保用户免受窃听攻击。如果没有添加附加的噪声符号,则在操作1460处,访问被拒绝。否则,在操作1450处,访问可以被准许。需要注意的是,认证器没有针对任何认证尝试指定噪声字符要被放置在何处,以及噪声字符是什么。这通过防止窃听这些位置来保护用户。
145.图15描绘了根据本公开内容的一些示例的、使用凭证子集对用户进行认证的方法1500的流程图。在操作1510处,作为认证请求(例如,访问请求)的一部分,认证器可以接收符号集合(例如,提交的符号)。在操作1520处,认证器确定提交的符号集合中没有子集与存储的值(例如,诸如密码的凭证)精确匹配。这确保输入的凭证是子集而不是完整的凭证。如果接收的符号集合中存在与存储的值精确匹配的子集,则在一些示例中,认证可能会失败。
146.在操作1530处,认证器可以识别包括长度小于存储值的长度的存储值的有序子集的有序向量(例如,凭证子集向量)。在操作1540处,认证器创建多个检查向量,这些向量的长度对应于凭证子集向量的长度。在操作1550处,认证器可以确定多个检查向量和凭证子集向量之间的距离集合。如所指出的,在一些示例中,距离集合包括检查向量和凭证子集向量的每个组合之间的距离,但是在其他示例中,距离集合仅包括相同大小的检查向量和凭证子集向量的每个组合之间的距离(例如,大小为z的检查向量和大小为z的凭证子集向量)。
147.在操作1560处,认证器可以选择与最小距离相对应的检查向量。在操作1570处,认证器可以基于与所选择的向量相对应的值和阈值的比较,使得对安全的访问受控资源的访问被准许。例如,与所选择的向量相对应的最小距离值和阈值。在其他示例中,可以将与所选择的向量相对应的最小距离和与所选择的向量或第二检查向量相对应的第二最小距离的比值与阈值进行比较。
148.图16描绘了根据本公开内容的一些示例的、使用子集的认证尝试的方法1600的流程图。在操作1610处,客户端可以使得显示gui。例如,图7所示的gui。gui可以具有一个或多个数据输入字段,用于由用户输入一个或多个凭证的一个或多个符号。例如,gui可以包括用于从输入设备接受所请求的认证凭证的字符的输入字段。在一些示例中,gui以符号(例
如,字符)集合的形式接受所请求的认证凭证。示例输入设备可以包括键盘、屏幕键盘、鼠标输入、触摸输入、生物特征输入,等等。在一些示例中,gui可以要求该符号(例如,字符)集合包括比存储的凭证更多的符号(例如,字符)。例如,通过检查用户输入的字符的长度并对照存储的密码的长度来检查该长度。在一些示例中,gui可以要求字符集合包括比存储的凭证更多的阈值数量个符号。阈值可以是预先指定的或者可以基于凭证的长度来确定。例如,如果凭证(例如,密码)很短,则与凭证较长的情况相比,系统可能需要更多的噪声符号。在其他示例中,系统可以将输入的提交符号的值与凭证的符号值进行比较以确定是否添加了噪声符号。
149.在一些示例中,客户端可以检查以确保噪声符号(例如,字符)穿插在提交的凭证中。例如,如果噪声符号在开头、结尾或者在开头和结尾,但未穿插在提交的符号中,则客户端可以显示错误。例如,如果噪声符号在整个凭证符号中的散布测量结果低于阈值,则客户端可以显示错误并使用户修复提交的符号,使得散布测量结果高于或等于阈值。下面更深入地详细介绍了散布测量结果。
150.在一些示例中,客户端可以验证提交的符号与存储的凭证不精确匹配,而是替代包括子集。例如,客户端可以将正被输入的符号与存储的凭证进行比较,以确保用户输入了具有最小长度和/或最大长度的子集。如果提交的符号不包括凭证的子集,则gui可以显示错误并使用户修复提交的符号,使得提交的符号包括存储的凭证的子集。
151.如果上述任何一项检查指示用户提交的符号(例如字符)不满足上述一项或多项要求,则客户端可以显示错误并要求用户更正提交的符号。一旦用户通过指定符号(例如,字符)的输入已完成的输入(例如,按enter、点击或轻敲指示输入已完成的按钮等)来提交符号,则可以显示错误。在其他示例中,系统可以在用户输入符号时监测输入的符号。例如,在预定数量个符号(例如,存储的凭证的长度)之后,取决于实施方式,系统可以检查符号的长度、噪声符号和/或散布测量结果。图8中示出了对用户的示例警告。
152.在操作1620处,客户端可以接受用户在gui的一个或多个数据输入字段中输入的符号(例如,字符),其中该符号集合包括比存储的凭证更多的字符并且不包括与存储的凭证精确匹配的字符集合的子集。例如,在用户提交了输入来指示该符号集合完成并且字符集合满足要求之后(例如,长度大于凭证,提交的符号包括噪声字符,噪声是穿插的,和/或噪声是穿插的并且散布测量结果高于阈值)。在示例中,要求可以不要求字符集合的长度大于凭证。例如,当密码为“password”时,用户输入的带有噪声的子集可能是“pla2s3s”,其字符数比“password”少,但仍可以足够安全。
153.在操作1630处,客户端可以接收或识别关于访问是否被准许的指示。在一些示例中,客户端可以将提交的符号发送到远程计算设备中的远程认证器,例如图2所示。客户端然后可以从远程设备接收关于访问是否被准许的指示。在其他示例中,客户端本身可以包括认证器并且可以执行如图1所示的认证。在这些示例中,该指示可以是通过函数返回、过程间通信等接收到的来自认证器的关于访问是否被准许的指示。
154.在操作1632处,系统可以确定该指示是访问被准许还是被拒绝。如果访问被拒绝,则在操作1645处,可以使gui显示关于访问被拒绝的消息。在一些示例中,用户可以重试认证。在一些示例中,可以实现对重试尝试次数的限制,以防止用户在确定的时间量内在确定次数的认证失败之后重试认证。
155.如果在操作1632处,访问被准许,则在操作1635处,系统可以指示访问已经被准许。例如,系统可以使gui显示关于访问被准许的指示。在其他示例中,系统可以简单地移除登录画面并显示对访问受控资源的访问。在其他示例中,系统可以提供所请求的访问受控资源。在操作1640,在一些示例中,客户端可以促进对所请求的安全的访问受控资源的访问,例如通过将用户的浏览器重新定向到资源的地址、执行提供资源的功能,等等。
156.在一些示例中,上述各种特征可以单独地或组合地实现。例如,系统可能要求噪声字符、实施最大数量的总字符、要求子集、要求在散布测量结果的范围内的噪声字符分布,并且要求提交的符号1325是不重复的。在其他示例中,可以仅实施某些特征,而可以不实施其他特征。在又一些其他示例中,所实施的特征和要求可由终端用户、管理员等配置。前面的公开内容聚焦于认证技术的用户来认证用户的凭证。然而,如前所述,凭证只是一种可以被比较的存储的值。本技术通常可用于相对于存储的值对接收的值进行验证。此外,在各种流程图中,操作的顺序可以是示例性的。例如,在图10中,取决于实施方式,操作1030、1040和1045可以以任何顺序执行。这只是一个示例,因为可以根据期望的实施方式对其他流程图进行重新排序。
157.图17描绘了根据本公开内容的一些示例的示例机器1700的框图,该示例机器可以实施本文讨论的技术(例如,方法)中的一种或多种技术。在替代实施例中,机器1700可以作为单独的设备操作,或者可以连接(例如网络连接)到其他机器。在网络化的部署中,在服务器-客户端网络环境中,机器1700可以作为服务器机器、客户端机器或这二者来进行操作。机器1700可以实施用户设备110、远程设备135、第二远程设备255,等等。例如,机器1700可以被配置为包括图3、图9、图12和图13的任何一个或多个组件。机器1700可以被配置为执行图4-图6、图10、图11和图14-图16的方法。机器1700可以被配置为提供图7和图8的gui。在示例中,机器1700可以用作对等(p2p)(或其他分布式)网络环境中的对等机器。机器1700可以是用户设备、远程设备、第二远程设备或其他设备,其可以采取下列形式:个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、智能电话、网络设备、网络路由器、交换机或桥、或者能够(顺序地或以其他方式)执行指定将要由该机器执行的动作的指令的任何机器。此外,虽然仅描绘了单个机器,但术语“机器”也应该被认为包括单独或联合执行一组(或多组)指令,以便执行本文中讨论的方法中的任意一种或多种方法的机器的任意集合,诸如云计算、软件即服务(saas)、其他计算机集群配置。
158.如本文所描述的,示例可以包括下列各项或者可以在下列各项上操作:逻辑单元、或多个组件、模块或机制(下文中被称为“模块”)。模块是能够执行指定操作的有形实体(例如,硬件),并且可以用某种方式配置或布置。在示例中,可以用指定的方式将电路布置(例如,内在地和或相对于诸如其他电路的外部实体)为模块。在示例中,一个或多个计算机系统(例如,单独的客户端或服务器计算机系统)的部分或整体,或者一个或多个硬件处理器可由固件或软件(例如,指令、应用部分或应用)配置为操作以执行指定操作的模块。在示例中,软件可以位于机器可读介质上。在示例中,当由模块的底层硬件执行时,软件使得硬件执行指定操作。
159.因此,应当理解:术语“模块”涵盖有形实体,是物理构建的、特别配置(例如,硬线连接的)或临时(例如,暂时)配置(例如,编程的)以便以指定方式执行或者执行本文中描述的任何操作的部分或全部的实体。考虑在其中模块是临时配置的示例,这些模块中的每个
模块不需要在任何一个时刻进行实例化。例如,在模块包括使用软件配置的通用硬件处理器的情况下,通用硬件处理器可以在不同时刻被配置为各个不同的模块。软件可以相应地配置硬件处理器,例如,以便在一个时刻构成特定的模块,并且在一个不同时刻构成不同的模块。
160.机器(例如,计算机系统)1700可以包括硬件处理器1702(例如,中央处理单元(cpu)、图形处理单元(gpu)、硬件处理器内核或它们的任意组合)、主存储器1704和静态存储器1706,其中的一些或全部可以经由互联链接(例如,总线)1708彼此进行通信。机器1700还可以包括显示单元1710、字母数字输入设备1712(例如,键盘)、以及用户接口(ui)导航设备1714(例如,鼠标)。在示例中,显示单元1710、输入设备1712和ui导航设备1714可以是触摸屏显示器。机器1700还可以包括存储设备(例如,驱动单元)1716、信号生成设备1718(例如,扬声器)、网络接口设备1720、以及一个或多个传感器1721(诸如全球定位系统(gps)传感器、罗盘、加速计、或其他传感器)。机器1700可以包括输出控制器1728(诸如串行(例如,通用串行总线(usb)、并行或其他有线或无线(例如,红外线(ir)、近场通信(nfc)等)连接以便通信或控制一个或多个外围设备(例如,打印机、卡阅读器等)。
161.存储设备1716可以包括机器可读介质1722,在其上存储有体现本文中描述的技术或功能中的任意一种或多种或由其使用的一组或多组数据结构或指令1724(例如,软件)。指令1724还可以完全或至少部分位于主存储器1704内、静态存储器1706内,或者在由机器1700对该指令的执行期间在硬件处理器1702内。在示例中,硬件处理器1702、主存储器1704、静态存储器1706或存储设备1716的一种或任意组合可以构成机器可读介质。
162.虽然将机器可读介质1722描绘为单个介质,但术语“机器可读介质”可以包括被配置用于存储一个或多个指令1724的单个介质或多个介质(例如,集中式或分布式数据库、和/或相关联的高速缓存器和服务器)。
163.术语“机器可读介质”可以包括以下任何介质:能够进行存储、编码或携带用于由机器1700运行的指令,并且使得机器1700执行本公开内容中的技术中的任意一种或多种技术,或者能够进行存储、编码或携带由这些指令使用或者与这些指令相关联的数据结构。非限制性的机器可读介质的示例可以包括固态存储器以及光学和磁介质。机器可读介质的具体示例可以包括:非易失性存储器(诸如半导体存储器设备(例如,电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)))、以及闪存器设备、磁盘(诸如内部硬盘和可移除盘)、磁-光盘、随机存取存储器(ram)、固态驱动器(ssd)以及cd-rom和dvd-rom盘。在一些示例中,机器可读介质可以是非暂时性机器可读介质。在一些示例中,机器可读介质可以包括不是瞬时传播信号的机器可读介质。
164.指令1724还可以经由网络接口设备1720使用传输介质在通信网络1726上被发送或接收。机器1700可以利用多种传输协议(例如,帧中继、互联网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传输协议(例如,http)等)中的任意一种来与一个或多个其他机器通信。示例通信网络可以包括局域网(lan)、广域网(wan)、分组数据网络(例如,互联网)、移动电话网络(例如,蜂窝网络)、普通老式电话(pots)网络,以及无线数据网络(例如,被称为的电气和电子工程师协会(ieee)802.11标准系列、被称为的ieee 802.16标准系列)、ieee802.15.4标准系列、长期演进(lte)标准系列、通用移动电信系统(umts)标准系列、对等(p2p)网络,等等。在示例中,网络接口设备1720可以
包括一个或多个物理插口(例如,以太网、同轴电缆或电话插口)或连接到通信网络1726的一个或多个天线。在示例中,网络接口设备1720可以包括多个天线以便使用单输入多输出(simo)、多输入多输出(mimo)、或多输入单输出(miso)技术中的至少一种进行无线通信。在一些示例中,网络接口设备1720可以使用多用户mimo技术进行无线通信。
165.非限制性示例
166.示例1是一种用于认证的方法,所述方法包括:使用一个或多个硬件处理器:识别与存储的密码相对应的第一字符集合;在认证尝试期间接收待认证的第二字符集合,其中,接收到的待认证的第二字符集合包括比与所述存储的密码相对应的所述第一字符集合更多的字符;以及基于确定所述第二字符集合包括下列各项,使得对访问受控资源的访问被准许:和与所述存储的密码相对应的所述第一字符集合相匹配并且顺序相同的第一字符子集,以及不是针对所述认证尝试指定的、并且以不是针对所述认证尝试指定的顺序与所述第一字符子集交织的第二字符子集。
167.在示例2中,根据示例1所述的主题包括:其中,确定所述第二字符集合包括和与所述存储的密码相对应的所述第一字符集合相匹配并且顺序相同的第一字符子集包括:基于距离函数和最大距离阈值来确定所述第二字符集合和所述第一字符集合的部分之间的匹配。
168.在示例3中,根据示例1-2所述的主题包括:其中,所述第二字符集合是通过网络接收的。
169.在示例4中,根据示例1-3所述的主题包括:其中,所述第二字符集合是从通信地耦合至所述一个或多个硬件处理器的输入设备接收的。
170.在示例5中,根据示例1-4所述的主题包括:其中,使得对所述访问受控资源的访问被准许包括:向控制所述访问受控资源的计算设备发送访问被准许的指示。
171.在示例6中,根据示例1-5所述的主题包括:其中,确定所述第二字符集合包括所述第一字符子集包括:将包括所述接收到的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配。
172.在示例7中,根据示例6所述的主题包括:其中,将包括所接收的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配包括:将从距离函数得出的距离与阈值进行比较。
173.在示例8中,根据示例1-7所述的主题包括:其中,所述第一字符集合是从硬件存储设备检索的。
174.在示例9中,根据示例1-8所述的主题包括:存储关于所述第二字符集合的信息;接收在第二认证尝试期间输入的第三字符集合;以及基于确定所述第三字符集合在所述第二字符集合的阈值相似度之内,使得对所述访问受控资源的访问被拒绝。
175.示例10是一种用于认证的设备,所述设备包括:一个或多个硬件处理器;存储器,其存储指令,所述指令在被运行时使所述一个或多个硬件处理器执行包括下列各项的操作:识别与存储的密码相对应的第一字符集合;在认证尝试期间接收待认证的第二字符集合,其中,接收到的待认证的第二字符集合包括比与所述存储的密码相对应的所述第一字符集合更多的字符;以及基于确定所述第二字符集合包括下列各项,使得对访问受控资源的访问被准许:和与所述存储的密码相对应的所述第一字符集合相匹配并且顺序相同的第
一字符子集,以及不是针对所述认证尝试指定的、并且以不是针对所述认证尝试指定的顺序与所述第一字符子集交织的第二字符子集。
176.在示例11中,根据示例10所述的主题包括:其中,确定所述第二字符集合包括和与所述存储的密码相对应的所述第一字符集合相匹配并且顺序相同的第一字符子集的所述操作包括:基于距离函数和最大距离阈值来确定所述第二字符集合和所述第一字符集合的部分之间的匹配。
177.在示例12中,根据示例10-11所述的主题包括:其中,所述第二字符集合是通过网络接收的。
178.在示例13中,根据示例10-12所述的主题包括:其中,所述第二字符集合是从通信地耦合至所述一个或多个硬件处理器的输入设备接收的。
179.在示例14中,根据示例10-13所述的主题包括:其中,使得对所述访问受控资源的访问被准许的所述操作包括:向控制所述访问受控资源的计算设备发送访问被准许的指示。
180.在示例15中,根据示例10-14所述的主题包括:其中,确定所述第二字符集合包括所述第一字符子集的所述操作包括:将包括所述接收到的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配。
181.在示例16中,根据示例15所述的主题包括:其中,将包括所接收的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配的所述操作包括:将从距离函数得出的距离与阈值进行比较。
182.在示例17中,根据示例10-16所述的主题包括:其中,所述第一字符集合是从硬件存储设备检索的。
183.在示例18中,根据示例10-17所述的主题包括:其中,所述操作还包括:存储关于所述第二字符集合的信息;接收在第二认证尝试期间输入的第三字符集合;以及基于确定所述第三字符集合在所述第二字符集合的阈值相似度之内,使得对所述访问受控资源的访问被拒绝。
184.示例19是一种对照存储的密码对密码进行认证的方法,所述方法包括:使用一个或多个硬件处理器:识别与所述存储的密码相对应的第一字符集合;在认证尝试期间接收待认证的第二字符集合,其中,接收到的待认证的第二字符集合包括比与所述存储的密码相对应的所述第一字符集合更多的字符;基于确定所述第二字符集合包括下列各项,使得对访问受控资源的访问被准许:和与所述存储的密码相对应的所述第一字符集合相匹配并且顺序相同的第一字符子集,以及不是针对所述认证尝试指定的、并且以不是针对所述认证尝试指定的顺序与所述第一字符子集交织的第二字符子集,并且所述第二字符集合包括第一预设计数的字符或者所述第二字符子集包括第二预设计数的字符。
185.在示例20中,根据示例19所述的主题包括:存储关于所述第二字符集合的信息;接收在第二认证尝试期间待认证的第三字符集合;以及基于确定所述第三字符集合在所述第二字符集合的阈值相似度之内,使得对所述访问受控资源的访问被拒绝。
186.在示例21中,根据示例19-20所述的主题包括:接收在第二认证尝试期间待认证的第三字符集合;以及基于确定所述第三字符集合包括下列各项,使得对访问受控资源的访问被准许:和与所述存储的密码相对应的所述第一字符集合相匹配并且顺序相同的第三字
符子集,以及不是针对所述第二认证尝试指定的、并且以不是针对所述第二认证尝试指定的顺序与所述第三字符子集交织的第四字符子集,并且所述第三字符集合包括所述第一预设计数的字符或者所述第四字符子集包括所述第二预设计数的字符。
187.在示例22中,根据示例19-21所述的主题包括:其中,确定所述第二字符集合包括和与所述存储的密码相对应的所述第一字符集合相匹配并且顺序相同的第一字符子集包括:基于距离函数和最大距离阈值来确定所述第二字符集合和所述第一字符集合的部分之间的匹配。
188.在示例23中,根据示例19-22所述的主题包括:其中,所述第二字符集合是通过网络接收的。
189.在示例24中,根据示例19-23所述的主题包括:其中,所述第二字符集合是从通信地耦合至所述一个或多个硬件处理器的输入设备接收的。
190.在示例25中,根据示例19-24所述的主题包括:其中,使得对访问受控资源的访问被准许包括:向所述访问受控资源至少部分位于的计算设备发送访问被准许的指示。
191.在示例26中,根据示例19-25所述的主题包括:其中,确定所述第二字符集合包括所述第一字符子集包括:将包括所述接收到的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配。
192.在示例27中,根据示例26所述的主题包括:其中,将包括所接收的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配包括:将从距离函数得出的距离与阈值进行比较。
193.在示例28中,根据示例19-27所述的主题包括:如果所述第二字符集合与所述第一预设计数的字符不一致,则拒绝待准许的访问。
194.示例29是一种用于认证的设备,所述设备包括:一个或多个硬件处理器;存储器,其存储指令,所述指令在被运行时使所述一个或多个硬件处理器执行包括下列各项的操作:识别与存储的密码相对应的第一字符集合;在认证尝试期间接收待认证的第二字符集合,其中,接收到的待认证的第二字符集合包括比与所述存储的密码相对应的所述第一字符集合更多的字符;基于确定所述第二字符集合包括下列各项,使得对访问受控资源的访问被准许:和与所述存储的密码相对应的所述第一字符集合相匹配并且顺序相同的第一字符子集,以及不是针对所述认证尝试指定的、并且以不是针对所述认证尝试指定的顺序与所述第一字符子集交织的第二字符子集,并且所述第二字符集合包括第一预设计数(preset count)的字符或者所述第二字符子集包括第二预设计数的字符。
195.在示例30中,根据示例29所述的主题包括:其中,所述操作还包括:存储关于所述第二字符集合的信息;接收在第二认证尝试期间待认证的第三字符集合;以及基于确定所述第三字符集合在所述第二字符集合的阈值相似度之内,使得对所述访问受控资源的访问被拒绝。
196.在示例31中,根据示例29-30所述的主题包括:其中,所述操作还包括:接收在第二认证尝试期间待认证的第三字符集合;以及基于确定所述第三字符集合包括下列各项,使得对访问受控资源的访问被准许:和与所述存储的密码相对应的所述第一字符集合相匹配并且顺序相同的第三字符子集,以及不是针对所述第二认证尝试指定的、并且以不是针对所述第二认证尝试指定的顺序与所述第三字符子集交织的第四字符子集,并且所述第三字
符集合包括所述第一预设计数的字符或者所述第四字符子集包括所述第二预设计数的字符。
197.在示例32中,根据示例29-31所述的主题包括:其中,确定所述第二字符集合包括和与所述存储的密码相对应的所述第一字符集合相匹配并且顺序相同的第一字符子集的所述操作包括:基于距离函数和最大距离阈值来确定所述第二字符集合和所述第一字符集合的部分之间的匹配。
198.在示例33中,根据示例29-32所述的主题包括:其中,所述第二字符集合是通过网络接收的。
199.在示例34中,根据示例29-33所述的主题包括:其中,所述第二字符集合是从通信地耦合至所述一个或多个硬件处理器的输入设备接收的。
200.在示例35中,根据示例29-34所述的主题包括:其中,使得对访问受控资源的访问被准许的所述操作包括:向所述访问受控资源至少部分位于的计算设备发送访问被准许的指示。
201.在示例36中,根据示例29-35所述的主题包括:其中,确定所述第二字符集合包括所述第一字符子集的所述操作包括:将包括所述接收到的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配。
202.在示例37中,根据示例36所述的主题包括:其中,将包括所接收的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配的所述操作包括:将从距离函数得出的距离与阈值进行比较。
203.在示例38中,根据示例29-37所述的主题包括:其中,使得对访问受控资源的访问被准许的所述操作包括:如果所述第二字符集合与所述第一预设计数的字符不一致,则拒绝待准许的访问。
204.示例39是一种用于在认证尝试期间对照存储的值来对接收到的符号集合进行认证的方法,所述方法包括:使用一个或多个硬件处理器:在所述认证尝试期间接收待认证的符号集合,其中,所接收的符号集合包括比与所述存储的值相对应的第一符号集合更多的符号;创建两个或更多个向量的集合,每个向量的长度与包括与所述存储的值相对应的所述第一符号集合的有序向量的长度相对应,并且每个向量包括所接收的符号集合的不同有序组合,所接收的符号集合的不同有序组合是以与所述符号被接收的相同的顺序来排序的;确定每个相应向量和包括与所述存储的值相对应的第一符号集合的所述有序向量之间的距离集合;选择所述向量集合中与所述距离集合中的最小距离相对应的向量;以及基于与所选择的向量相对应的值与阈值的比较,使得对访问受控资源的访问被准许。
205.在示例40中,根据示例39所述的主题包括:其中,基于与所选择的向量相对应的所述值与所述阈值的比较,使得对所述访问受控资源的访问被准许包括:确定所述最小距离小于所述阈值。
206.在示例41中,根据示例39-40所述的主题包括:选择所述向量集合中与所述距离集合中的次最小距离相对应的第二向量,所述第二向量不同于与所述最小距离相对应的所选择的向量;并且其中,基于与和所述最小距离相对应的所选择的向量相对应的所述值与所述阈值的比较,使得对所述访问受控资源的访问被准许包括:确定基于与和所述最小距离相对应的相应所选择的向量以及第二向量相对应的所述最小距离和所述次最小距离计算
出的值小于所述阈值。
207.在示例42中,根据示例41所述的主题包括:其中,所述值是下列各项中的一项:所述最小距离与所述次最小距离的比值,或者所述最小距离与所述次最小距离之间的差值。
208.在示例43中,根据示例39-42所述的主题包括:其中,确定每个相应向量与包括所述存储的值的所述有序向量之间的所述距离集合包括:确定所述相应向量与所述有序向量之间的相关性。
209.在示例44中,根据示例39-43所述的主题包括:其中,确定每个相应向量与包括所述存储的值的所述有序向量之间的所述距离集合包括:确定每个相应向量与所述有序向量之间的汉明距离。
210.在示例45中,根据示例39-44所述的主题包括:作为第二认证尝试的一部分,接收第二符号集合;确定所接收的第二符号集合的长度;确定所接收的第二符号集合的长度超出阈值长度;以及响应于确定所接收的第二符号集合的所述长度超出所述阈值长度,使得对所述访问受控资源的访问被拒绝。
211.在示例46中,根据示例39-45所述的主题包括:作为第二认证尝试的一部分,接收第二符号集合;识别对所述第一符号集合与所述第二符号集合之间的差异进行量化的距离度量;确定所述距离度量低于确定的阈值;以及基于确定所述距离度量低于所述确定的阈值,使得对所述访问受控资源的访问被拒绝。
212.示例47是一种用于在认证尝试期间对照存储的值来对接收的符号集合进行认证的设备,所述设备包括:一个或多个硬件处理器;存储器,包括指令,所述指令在被所述一个或多个硬件处理器运行时使所述设备执行包括下列各项的操作:在所述认证尝试期间接收待认证的符号集合,其中,所接收的符号集合包括比与所述存储的值相对应的第一符号集合更多的符号;创建两个或更多个向量的集合,每个向量的长度与包括与所述存储的值相对应的所述第一符号集合的有序向量的长度相对应,并且每个向量包括所接收的符号集合的不同有序组合,所接收的符号集合的不同有序组合是以与所述符号被接收的相同的顺序来排序的;确定每个相应向量和包括与所述存储的值相对应的第一符号集合的所述有序向量之间的距离集合;选择所述向量集合中与所述距离集合中的最小距离相对应的向量;以及基于与所选择的向量相对应的值与阈值的比较,使得对访问受控资源的访问被准许。
213.在示例48中,根据示例47所述的主题包括:其中,基于与所选择的向量相对应的所述值与所述阈值的比较,使得对所述访问受控资源的访问被准许的所述操作包括:确定所述最小距离小于所述阈值。
214.在示例49中,根据示例47-48所述的主题包括:其中,所述操作还包括:选择所述向量集合中与所述距离集合中的次最小距离相对应的第二向量,所述第二向量不同于与所述最小距离相对应的所选择的向量;并且其中,基于与和所述最小距离相对应的所选择的向量相对应的所述值与所述阈值的比较,使得对所述访问受控资源的访问被准许包括:确定基于与和所述最小距离相对应的相应所选择的向量以及第二向量相对应的所述最小距离和所述次最小距离计算出的值小于所述阈值。
215.在示例50中,根据示例49所述的主题包括:其中,所述值是下列各项中的一项:所述最小距离与所述次最小距离的比值,或者所述最小距离与所述次最小距离之间的差值。
216.在示例51中,根据示例47-50所述的主题包括:其中,确定每个相应向量与包括所
述存储的值的所述有序向量之间的所述距离集合的所述操作包括:确定所述相应向量与所述有序向量之间的相关性。
217.在示例52中,根据示例47-51所述的主题包括:其中,确定每个相应向量与包括所述存储的值的所述有序向量之间的所述距离集合的所述操作包括:确定每个相应向量与所述有序向量之间的汉明距离。
218.在示例53中,根据示例47-52所述的主题包括:其中,所述操作还包括:作为第二认证尝试的一部分,接收第二符号集合;确定所接收的第二符号集合的长度;确定所接收的第二符号集合的长度超出阈值长度;以及响应于确定所接收的第二符号集合的所述长度超出所述阈值长度,使得对所述访问受控资源的访问被拒绝。
219.在示例54中,根据示例47-53所述的主题包括:其中,所述操作还包括:作为第二认证尝试的一部分,接收第二符号集合;识别对所述第一符号集合与所述第二符号集合之间的差异进行量化的距离度量;确定所述距离度量低于确定的阈值;以及基于确定所述距离度量低于所述确定的阈值,使得对所述访问受控资源的访问被拒绝。
220.示例55是一种用于对访问受控资源的访问进行认证的方法,所述方法包括:使用一个或多个硬件处理器:使得图形用户界面(gui)被显示来请求针对认证尝试的认证凭证,所述gui包括用于以字符集合的形式接受来自输入设备的所请求的认证凭证的输入字段,所述gui要求所述字符集合包括比存储的凭证更多的字符;在接收到至所述gui的关于字符集合完成的输入之后,接受来自所述输入字段的所述字符集合,所述字符集合包括比所述存储的凭证更多的字符;接收以下指示:所接受的字符集合包括:与所述存储的凭证相匹配并且顺序相同的第一字符子集,以及不是针对所述认证尝试指定的、并且以不是针对所述认证尝试指定的顺序与所述第一字符子集交织的第二字符子集;以及响应于接收到所述指示,允许对所述访问受控资源的访问。
221.在示例56中,根据示例55所述的主题包括:其中,至所述gui的关于所述字符集合已完成的输入包括:按回车键或指向提交按钮的输入。
222.在示例57中,根据示例55-56所述的主题包括:其中,所述认证凭证是密码。
223.在示例58中,根据示例55-57所述的主题包括:其中,当所述字符集合不包括比所述存储的凭证中的多个字符更多的字符时,所述gui显示视觉指示符。
224.在示例59中,根据示例55-58所述的主题包括:其中,当所述字符集合不包括噪声字符集合时,所述gui显示视觉指示符。
225.在示例60中,根据示例55-59所述的主题包括:其中,当所述字符集合不包括分布在与所述存储的凭证相对应的字符集合之内的噪声字符集合时,所述gui显示视觉指示符;并且其中,所述gui还要求所述字符集合包括分布在与所述存储的凭证相对应的所述字符集合之内的所述噪声字符集合。
226.在示例61中,根据示例60所述的主题包括:其中,当与所述存储的凭证相对应的所述字符集合中的所述噪声字符的散布测量结果不满足阈值时,所述gui显示所述视觉指示符;并且其中,所述gui还要求所述字符集合之内的所述噪声字符集合的所述散布测量结果满足所述阈值。
227.在示例62中,根据示例55-61所述的主题包括:确定所述字符集合包括所述第一子集和所述第二子集。
228.在示例63中,根据示例55-62所述的主题包括:接收以下指示:所述字符集合包括所述第一子集和所述第二子集。
229.示例64是一种用于对访问受控资源的访问进行认证的设备,所述设备包括:一个或多个硬件处理器;存储器,其包括指令,所述指令在被所述一个或多个硬件处理器运行时使所述设备执行包括下列各项的操作:使得图形用户界面(gui)被显示来请求针对认证尝试的认证凭证,所述gui包括用于以字符集合的形式接受来自输入设备的所请求的认证凭证的输入字段,所述gui要求所述字符集合包括比存储的凭证更多的字符;在接收到至所述gui的关于字符集合完成的输入之后,接受来自所述输入字段的所述字符集合,所述字符集合包括比所述存储的凭证更多的字符;接收以下指示:所接受的字符集合包括:与所述存储的凭证相匹配并且顺序相同的第一字符子集,以及不是针对所述认证尝试指定的、并且以不是针对所述认证尝试指定的顺序与所述第一字符子集交织的第二字符子集;以及响应于接收到所述指示,允许对所述访问受控资源的访问。
230.在示例65中,根据示例64所述的主题包括:其中,至所述gui的关于所述字符集合已完成的输入包括:按回车键或指向提交按钮的输入。
231.在示例66中,根据示例64-65所述的主题包括:其中,所述认证凭证是密码。
232.在示例67中,根据示例64-66所述的主题包括:其中,当所述字符集合不包括比所述存储的凭证中的多个字符更多的字符时,所述gui显示视觉指示符。
233.在示例68中,根据示例64-67所述的主题包括:其中,当所述字符集合不包括噪声字符集合时,所述gui显示视觉指示符。
234.在示例69中,根据示例64-68所述的主题包括:其中,当所述字符集合不包括分布在与所述存储的凭证相对应的字符集合之内的噪声字符集合时,所述gui显示视觉指示符;并且其中,所述gui还要求所述字符集合包括分布在与所述存储的凭证相对应的所述字符集合之内的所述噪声字符集合。
235.在示例70中,根据示例69所述的主题包括:其中,当与所述存储的凭证相对应的所述字符集合中的所述噪声字符的散布测量结果不满足阈值时,所述gui显示所述视觉指示符;并且其中,所述gui还要求所述字符集合之内的所述噪声字符集合的所述散布测量结果满足所述阈值。
236.在示例71中,根据示例64-70所述的主题包括:其中,所述操作还包括:确定所述字符集合包括所述第一子集和所述第二子集。
237.在示例72中,根据示例64-71所述的主题包括:其中,所述操作还包括接收以下指示:所述字符集合包括所述第一子集和所述第二子集。
238.示例73是一种对照存储的密码对密码进行认证的方法,所述方法包括:使用一个或多个硬件处理器:识别与所述存储的密码相对应的第一字符集合;在认证尝试期间接收待认证的第二字符集合,其中,所接收的待认证的第二字符集合包括比与所述存储的密码相对应的所述第一字符集合更多的字符;以及基于确定所述第二字符集合包括下列各项,使得对访问受控资源的访问被准许:和与所述存储的密码相对应的所述第一字符集合相匹配并且顺序相同的第一字符子集,以及不是针对所述认证尝试指定的、并且以不是针对所述认证尝试指定的顺序与所述第一字符子集分布的第二字符子集,其中所述第二字符集合之内的所述第一子集或所述第二子集的字符的相应位置的散布测量结果在阈值范围内。
239.在示例74中,根据示例73所述的主题包括:其中,所述第一子集或所述第二子集的所述相应位置的所述散布测量结果包括所述第二字符集合内的所述第二字符子集的后续字符的相应位置之间的最大距离。
240.在示例75中,根据示例73-74所述的主题包括:其中,所述第一子集或所述第二子集的所述相应位置的所述散布测量结果包括所述第二字符集合内的所述第二字符子集的后续字符的相应位置之间的平均距离。
241.在示例76中,根据示例73-75所述的主题包括:其中,所述第一子集或所述第二子集的所述相应位置的所述散布测量结果包括所述第二字符集合内的所述第二字符子集的所述相应位置的方差。
242.在示例77中,根据示例73-76所述的主题包括:其中,所述第二字符集合是通过网络接收的。
243.在示例78中,根据示例73-77所述的主题包括:其中,所述第二字符集合是从通信地耦合至所述一个或多个硬件处理器的输入设备接收的。
244.在示例79中,根据示例73-78所述的主题包括:其中,确定所述第二字符集合包括所述第一字符子集包括:将包括所接收的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配。
245.在示例80中,根据示例79所述的主题包括:其中,将包括所接收的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配包括:将从距离函数得出的距离与阈值进行比较。
246.在示例81中,根据示例73-80所述的主题包括:存储关于所述第二字符集合的信息;接收在第二认证尝试期间输入的第三字符集合;以及基于确定所述第三字符集合在所述第二字符集合的阈值相似度之内,使得对所述访问受控资源的访问被拒绝。
247.示例82是一种用于认证的设备,所述设备包括:一个或多个硬件处理器;存储器,其存储指令,所述指令在被运行时使所述一个或多个硬件处理器执行包括下列各项的操作:识别与存储的密码相对应的第一字符集合;在认证尝试期间接收待认证的第二字符集合,其中,所接收的待认证的第二字符集合包括比与所述存储的密码相对应的所述第一字符集合更多的字符;以及基于确定所述第二字符集合包括下列各项,使得对访问受控资源的访问被准许:和与所述存储的密码相对应的所述第一字符集合相匹配并且顺序相同的第一字符子集,以及不是针对所述认证尝试指定的、并且以不是针对所述认证尝试指定的顺序与所述第一字符子集分布的第二字符子集,其中所述第二字符集合之内的所述第一子集或所述第二子集的字符的相应位置的散布测量结果在阈值范围内。
248.在示例83中,根据示例82所述的主题包括:其中,所述第一子集或所述第二子集的所述相应位置的所述散布测量结果包括所述第二字符集合内的所述第二字符子集的后续字符的相应位置之间的最大距离。
249.在示例84中,根据示例82-83所述的主题包括:其中,所述第一子集或所述第二子集的所述相应位置的所述散布测量结果包括所述第二字符集合内的所述第二字符子集的后续字符的相应位置之间的平均距离。
250.在示例85中,根据示例82-84所述的主题包括:其中,所述第一子集或所述第二子集的所述相应位置的所述散布测量结果包括所述第二字符集合内的所述第二字符子集的
所述相应位置的方差。
251.在示例86中,根据示例82-85所述的主题包括:其中,所述第二字符集合是通过网络接收的。
252.在示例87中,根据示例82-86所述的主题包括:其中,所述第二字符集合是从通信地耦合至所述一个或多个硬件处理器的输入设备接收的。
253.在示例88中,根据示例82-87所述的主题包括:其中,确定所述第二字符集合包括所述第一字符子集的所述操作包括:将包括所接收的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配。
254.在示例89中,根据示例88所述的主题包括:其中,将包括所接收的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配的所述操作包括:将从距离函数得出的距离与阈值进行比较。
255.在示例90中,根据示例82-89所述的主题包括:其中,所述操作还包括:存储关于所述第二字符集合的信息;接收在第二认证尝试期间输入的第三字符集合;以及基于确定所述第三字符集合在所述第二字符集合的阈值相似度之内,使得对所述访问受控资源的访问被拒绝。
256.示例91是一种用于对访问受控资源的访问进行认证的方法,所述方法包括:使用一个或多个硬件处理器:使得图形用户界面(gui)被显示来请求用于访问所述访问受控资源的认证凭证,所述gui包括用于以字符集合的形式接受来自输入设备的所请求的认证凭证的输入字段,所述gui要求所述字符集合包括除存储的凭证中的字符之外的至少一个字符;在接收到至所述gui的关于字符集合完成的输入之后,接受来自所述输入字段的所述字符集合,所述字符集合包括比所述存储的凭证更多的字符,并且不包括与所述存储的凭证整体精确匹配的所述字符集合的子集;接收以下指示:所述字符集合包括与所述存储的凭证的一部分相匹配的第一字符子集,所述存储的凭证的匹配部分具有比所述存储的凭证更少的并且顺序相同的字符;以及响应于接收到所述指示,在所述gui上显示对所述访问受控资源的访问已经被准许。
257.在示例92中,根据示例91所述的主题包括:其中,至所述gui的输入的所述字符集合要求具有预定长度的数个字符。
258.在示例93中,根据示例91-92所述的主题包括:其中,基于确定所述字符集合的所述匹配部分整体等于所述第一字符集合,拒绝对所述访问受控资源的访问。
259.在示例94中,根据示例91-93所述的主题包括:在后续认证尝试期间从所述输入字段接收第二字符集合;以及在所述gui中显示以下指示:基于确定所述第二字符集合包括与所述存储的凭证的第二部分相匹配的第三字符子集,所述第二部分具有比所述存储的凭证更少的并且顺序相同的字符;以及与所述第三字符子集穿插的最小数量的附加字符;并且所述第一字符子集不同于所述第三字符子集,对所述访问受控资源的访问已经被准许。
260.在示例95中,根据示例91-94所述的主题包括:在后续认证尝试期间从所述输入字段接收第二字符集合;以及在所述gui中显示以下指示:基于确定所述第二字符集合包括与所述存储的凭证的第二部分相匹配的第三字符子集,所述第二部分具有比所述存储的凭证更少的并且顺序相同的字符;以及与所述第三字符子集穿插的最小数量的附加字符;并且所述附加字符不同于与所述第一子集交织的第二字符子集,对所述访问受控资源的访问已
经被准许。
261.在示例96中,根据示例91-95所述的主题包括:其中,显示关于对所述访问受控资源的访问已经被准许的所述指示包括:确定所述第一字符子集包括与所述存储的凭证相对应的最小数量的字符。
262.在示例97中,根据示例91-96所述的主题包括:其中,基于距离函数和最大距离阈值,确定所述第一字符子集与所述存储的凭证的所述部分相匹配。
263.在示例98中,根据示例97所述的主题包括:其中,显示关于对所述访问受控资源的访问已经被准许的所述指示包括:确定所述第一字符子集与所述存储的凭证的所述部分的距离小于所述最大距离阈值并且大于零距离阈值。
264.在示例99中,根据示例97-98所述的主题包括:其中,显示关于对所述访问受控资源的访问已经被准许的所述指示包括:确定所述第一字符子集与所述存储的凭证的所述部分的距离和所述第三字符子集与所述存储的凭证的所述部分的距离相比的比值超过最小比值阈值。
265.在示例100中,根据示例91-99所述的主题包括:在输入第二字符集合时监测第二字符集合的输入;确定所述第二字符集合不包括与所述第一子集交织的所述第二字符子集;以及在完成所述第二字符集合的输入之前显示用于输入所述第二子集的指示。
266.在示例101中,根据示例91-100所述的主题包括:在输入第二字符集合时监测第二字符集合的输入;确定所述第二字符集合包括整体的所述存储的凭证;以及在完成所述第二字符集合的输入之前显示用于从与所述存储的凭证相对应的所述第二字符集合中移除至少一个字符的指示。
267.在示例102中,根据示例91-101所述的主题包括:其中,所述gui要求所述字符集合不包括整体的所述存储的凭证。
268.在示例103中,根据示例91-102所述的主题包括:其中,所述字符集合被指示为包括第二字符子集,所述第二字符子集不是针对所述访问受控资源指定的,并且以非指定的顺序与所述第一字符子集交织。
269.示例104是一种用于对访问受控资源的访问进行认证的设备,所述设备包括:一个或多个硬件处理器;存储器,其存储指令,所述指令在被运行时使所述一个或多个硬件处理器执行包括下列各项的操作:使得图形用户界面(gui)被显示以请求用于访问所述访问受控资源的认证凭证,所述gui包括用于以字符集合的形式接受来自输入设备的所请求的认证凭证的输入字段,所述gui要求所述字符集合包括除存储的凭证中的字符之外的至少一个字符;在接收到至所述gui的关于字符集合完成的输入之后,接受来自所述输入字段的所述字符集合,所述字符集合包括比所述存储的凭证更多的字符,并且不包括与整体的所述存储的凭证精确匹配的所述字符集合的子集;接收以下指示:所述字符集合包括与所述存储的凭证的一部分相匹配的第一字符子集,所述存储的凭证的匹配部分具有比所述存储的凭证更少的并且顺序相同的字符;以及响应于接收到所述指示,在所述gui上显示对所述访问受控资源的访问已经被准许。
270.在示例105中,根据示例104所述的主题包括:其中,至所述gui的输入的所述字符集合被要求具有预定长度的数个字符。
271.在示例106中,根据示例104-105所述的主题包括:其中,基于确定所述字符集合的
所述匹配部分等于整体的所述第一字符集合,拒绝对所述访问受控资源的访问。
272.在示例107中,根据示例104-106所述的主题包括下列操作:在后续认证尝试期间从所述输入字段接收第二字符集合;以及在所述gui中显示以下指示:基于确定所述第二字符集合包括与所述存储的凭证的第二部分相匹配的第三字符子集,所述第二部分具有比所述存储的凭证更少的并且顺序相同的字符;以及与所述第三字符子集穿插的最小数量的附加字符;并且所述第一字符子集不同于所述第三字符子集,对所述访问受控资源的访问已经被准许。
273.在示例108中,根据示例104-107所述的主题包括以下操作:在后续认证尝试期间从所述输入字段接收第二字符集合;以及在所述gui中显示以下指示:基于确定所述第二字符集合包括与所述存储的凭证的第二部分相匹配的第三字符子集,所述第二部分具有比所述存储的凭证更少的并且顺序相同的字符;以及与所述第三字符子集穿插的最小数量的附加字符;并且所述附加字符不同于与所述第一子集交织的第二字符子集,对所述访问受控资源的访问已经被准许。
274.在示例109中,根据示例104-108所述的主题包括:其中,显示对所述访问受控资源的访问已经被准许的所述指示的所述操作包括:确定所述第一字符子集包括与所述存储的凭证相对应的最小数量的字符。
275.在示例110中,根据示例104-109所述的主题包括:其中,基于距离函数和最大距离阈值,确定所述第一字符子集与所述存储的凭证的所述部分相匹配。
276.在示例111中,根据示例110所述的主题包括:其中,显示对所述访问受控资源的访问已经被准许的所述指示的所述操作包括:确定所述第一字符子集与所述存储的凭证的所述部分的距离小于所述最大距离阈值并且大于零距离阈值。
277.在示例112中,根据示例110-111所述的主题包括:其中,显示对所述访问受控资源的访问已经被准许的所述指示的所述操作包括:确定所述第一字符子集与所述存储的凭证的所述部分的距离和第三字符子集与所述存储的凭证的所述部分的距离相比的比值超过最小比值阈值。
278.在示例113中,根据示例104-112所述的主题包括以下操作:在输入第二字符集合时监测第二字符集合的输入;确定所述第二字符集合不包括与所述第一子集交织的所述第二字符子集;以及在完成所述第二字符集合的输入之前显示用于输入所述第二子集的指示。
279.在示例114中,根据示例104-113所述的主题包括以下操作:在输入第二字符集合时监测第二字符集合的输入;确定所述第二字符集合包括整体的所述存储的凭证;以及在完成所述第二字符集合的输入之前显示用于从与所述存储的凭证相对应的所述第二字符集合中移除至少一个字符的指示。
280.在示例115中,根据示例104-114所述的主题包括:其中,所述gui要求所述字符集合不包括整体的所述存储的凭证。
281.在示例116中,根据示例104-115所述的主题包括:其中,所述字符集合被指示为包括第二字符子集,所述第二字符子集不是针对所述访问受控资源指定的,并且以非指定的顺序与所述第一字符子集交织。
282.示例117是一种用于对照包括第一字符集合的存储的密码对待认证的密码进行认
证的方法,所述方法包括:使用一个或多个硬件处理器:在认证尝试期间接收待认证的第二字符集合;以及基于下列各项,使得对访问受控资源的访问被准许:确定第二字符集合中没有子集与和所述存储的密码相对应的所述第一字符集合相匹配;以及确定所述第二字符集合包括:与和所述存储的密码相对应的所述第一字符集合的一部分相匹配的第二字符集合的第一子集,所述第一字符集合的所述部分具有比所述第一字符集合更少的并且顺序相同的字符;以及与所述第一字符子集穿插的最小数量的附加字符。
283.在示例118中,根据示例117所述的主题包括:接收在第二认证尝试期间待认证的第三字符集合;以及基于确定所述第三字符集合的一部分等于所述第一字符集合,拒绝对所述访问受控资源的访问。
284.在示例119中,根据示例117-118所述的主题包括:在第二认证尝试期间接收第三字符集合;以及基于确定所述第三字符集合包括下列各项,使得对所述访问受控资源的访问被准许:与和所述存储的密码相对应的所述第一字符集合的一部分相匹配的第二字符子集,所述第一字符集合的所述部分具有比所述第一字符集合更少的并且顺序相同的字符;以及与所述第一字符子集穿插的所述最小数量的第二附加字符,并且其中,所述第一字符子集不同于所述第二字符子集。
285.在示例120中,根据示例117-119所述的主题包括:在第二认证尝试期间接收第三字符集合;以及基于确定所述第三字符集合包括下列各项,使得对所述访问受控资源的访问被准许:与和所述存储的密码相对应的所述第一字符集合的一部分相匹配的第二字符子集,所述第一字符集合的所述部分具有比所述第一字符集合更少的并且顺序相同的字符;以及与所述第一字符子集穿插的所述最小数量的第二附加字符,并且其中,所述第二附加字符子集不同于所述附加字符。
286.在示例121中,根据示例117-120所述的主题包括:其中,使得对访问受控资源的访问被准许包括:确定所述第一字符集合的所述部分包括与所述存储的密码相对应的最小数量的字符。
287.在示例122中,根据示例117-121所述的主题包括:其中,确定所述第二字符集合包括所述第一字符子集包括:基于距离函数和最大距离阈值来确定所述第二字符集合和所述第一字符子集的部分之间的匹配。
288.在示例123中,根据示例122所述的主题包括:其中,使得对所述访问受控资源的访问被准许包括:确定所述第一字符子集与所述第二字符集合的距离小于所述最大距离阈值并且大于零距离阈值。
289.在示例124中,根据示例122-123所述的主题包括:其中,使得对所述访问受控资源的访问被准许包括:确定所述第一字符子集与所述第二字符集合的距离和第二字符子集与所述第二字符集合的距离相比的比值超过最小比值阈值。
290.在示例125中,根据示例117-124所述的主题包括:其中,确定所述第二字符集合包括所述第一字符子集包括:将包括所接收的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配。
291.示例126是一种用于对照包括第一字符集合的存储的密码对待认证密码进行认证的设备,所述设备包括:一个或多个硬件处理器;存储器,其存储指令,所述指令在被运行时使所述一个或多个硬件处理器执行包括下列各项的操作:在认证尝试期间接收待认证的第
二字符集合;以及基于下列各项,使得对访问受控资源的访问被准许:确定第二字符集合中没有子集与和所述存储的密码相对应的所述第一字符集合相匹配;以及确定所述第二字符集合包括与和所述存储的密码相对应的所述第一字符集合的一部分相匹配的第二字符集合的第一子集,所述第一字符集合的所述部分具有比所述第一字符集合更少的并且顺序相同的字符;以及与所述第一字符子集穿插的最小数量的附加字符。
292.在示例127中,根据示例126所述的主题包括:其中,所述操作还包括:接收在第二认证尝试期间待认证的第三字符集合;以及基于确定所述第三字符集合的一部分等于所述第一字符集合,拒绝对所述访问受控资源的访问。
293.在示例128中,根据示例126-127所述的主题包括以下操作:在第二认证尝试期间接收第三字符集合;以及基于确定所述第三字符集合包括下列各项,使得对所述访问受控资源的访问被准许:与和所述存储的密码相对应的所述第一字符集合的一部分相匹配的第二字符子集,所述第一字符集合的所述部分具有比所述第一字符集合更少的并且顺序相同的字符;以及与所述第一字符子集穿插的所述最小数量的第二附加字符,并且其中,所述第一字符子集不同于所述第二字符子集。
294.在示例129中,根据示例126-128所述的主题包括以下操作:在第二认证尝试期间接收第三字符集合;以及基于确定所述第三字符集合包括下列各项,使得对所述访问受控资源的访问被准许:与和所述存储的密码相对应的所述第一字符集合的一部分相匹配的第二字符子集,所述第一字符集合的所述部分具有比所述第一字符集合更少的并且顺序相同的字符;以及与所述第一字符子集穿插的所述最小数量的第二附加字符,并且其中,所述第二附加字符不同于所述附加字符。
295.在示例130中,根据示例126-129所述的主题包括:其中,使得对访问受控资源的访问被准许的所述操作包括:确定所述第一字符集合的所述部分包括与所述存储的密码相对应的最小数量的字符。
296.在示例131中,根据示例126-130所述的主题包括:其中,确定所述第二字符集合包括所述第一字符子集的所述操作包括:基于距离函数和最大距离阈值来确定所述第二字符集合和所述第一字符子集的部分之间的匹配。
297.在示例132中,根据示例131所述的主题包括:其中,使得对所述访问受控资源的访问被准许的所述操作包括:确定所述第一字符子集与所述第二字符集合的距离小于所述最大距离阈值并且大于零距离阈值。
298.在示例133中,根据示例131-132所述的主题包括:其中,使得对所述访问受控资源的访问被准许的所述操作包括:确定所述第一字符子集与所述第二字符集合的距离和第二字符子集与所述第二字符集合的距离相比的比值超过最小比值阈值。
299.在示例134中,根据示例126-133所述的主题包括:其中,确定所述第二字符集合包括所述第一字符子集的所述操作包括:将包括所接收的第二字符集合的排列的多个向量对照所述第一字符集合进行匹配。
300.示例135是一种用于验证密码的方法,所述方法包括:作为用于访问访问受控资源的访问请求过程的一部分接收字符集合;确定所述字符集合中没有子集与存储的密码精确匹配;访问包括所述存储的密码的有序子集的多个有序向量,所述多个有序向量各自具有的长度都小于所述存储的密码的长度;基于所接收的字符集合创建多个检查向量,所述多
个检查向量各自具有的长度与所述多个有序向量中的有序向量的长度相对应,其中,所述多个检查向量中的每个向量包括与所接收的字符集合顺序相同的不同有序组合;确定所述多个检查向量中的每个相应向量与所述多个有序向量中的每个向量之间的距离集合;选择所述检查向量集合中与所述距离集合中的最小距离相对应的向量;以及基于与所选择的向量相对应的值与阈值的比较,使得对所述访问受控资源的访问被准许。
301.在示例136中,根据示例135所述的主题包括:其中,确定所述多个检查向量中的每个相应向量与所述多个有序向量中的每个有序向量之间的所述距离集合包括:确定所述相应向量与所述多个有序向量中的每个有序向量之间的汉明距离。
302.在示例137中,根据示例135-136所述的主题包括:其中,使得对所述访问受控资源的访问被准许包括:确定所述最小距离大于零距离阈值。
303.在示例138中,根据示例135-137所述的主题包括:选择所述多个检查向量中与所述距离集合中的次最小距离相对应的第二向量;并且其中,使得对所述访问受控资源的访问被准许包括:确定所述最小距离与所述次最小距离的比值小于所述阈值。
304.在示例139中,根据示例135-138所述的主题包括:作为用于访问所述访问受控资源的第二访问请求过程的一部分接收第二字符集合;确定所述第二字符集合的子集与所述存储的密码精确匹配;以及基于确定所述第二字符集合的所述子集与所述存储的密码精确匹配来拒绝访问。
305.在示例140中,根据示例135-139所述的主题包括:在第二访问请求过程期间接收第二字符集合,其中,所述字符集合不同于所述第二字符集合;选择第二多个检查向量中与第二距离集合中新的最小距离相对应的第二向量;以及基于与所选择的向量相对应的第二值和第二阈值的比较,使得对所述访问受控资源的访问被准许。
306.在示例141中,根据示例135-140所述的主题包括:其中,使得对所述访问受控资源的访问被准许包括:确定所选择的向量包括与所述存储的密码相对应的最小数量的字符。
307.示例142是一种用于验证输入的密码的设备,所述设备包括:一个或多个硬件处理器;存储器,其存储指令,所述指令在被运行时使所述一个或多个硬件处理器执行包括下列各项的操作:作为用于访问访问受控资源的访问请求过程的一部分接收字符集合;确定所述字符集合中没有子集与存储的密码精确匹配;访问包括所述存储的密码的有序子集的多个有序向量,所述多个有序向量各自具有的长度都小于所述存储的密码的长度;基于所接收的字符集合创建多个检查向量,所述多个检查向量各自具有的长度与所述多个有序向量中的有序向量的长度相对应,其中,所述多个检查向量中的每个向量包括与所接收的字符集合顺序相同的不同有序组合;确定所述多个检查向量中的每个相应向量与所述多个有序向量中的每个向量之间的距离集合;选择所述检查向量集合中与所述距离集合中的最小距离相对应的向量;以及基于与所选择的向量相对应的值与阈值的比较,使得对所述访问受控资源的访问被准许。
308.在示例143中,根据示例142所述的主题包括:其中,确定所述多个检查向量中的每个相应向量与所述多个有序向量中的每个有序向量之间的所述距离集合的所述操作包括:确定所述相应向量与所述多个有序向量中的每个有序向量之间的汉明距离。
309.在示例144中,根据示例142-143所述的主题包括:其中,使得对所述访问受控资源的访问被准许的所述操作包括:确定所述最小距离大于零距离阈值。
310.在示例145中,根据示例142-144所述的主题包括下列操作:选择所述多个检查向量中与所述距离集合中的次最小距离相对应的第二向量;并且其中,使得对所述访问受控资源的访问被准许包括:确定所述最小距离与所述次最小距离的比值小于所述阈值。
311.在示例146中,根据示例142-145所述的主题包括:其中,所述操作还包括:作为用于访问所述访问受控资源的第二访问请求过程的一部分接收第二字符集合;确定所述第二字符集合的子集与所述存储的密码精确匹配;以及基于确定所述第二字符集合的所述子集与所述存储的密码精确匹配来拒绝访问。
312.在示例147中,根据示例142-146所述的主题包括下列操作:在第二访问请求过程期间接收第二字符集合,其中,所述字符集合不同于所述第二字符集合;选择第二多个检查向量中与第二距离集合中新的最小距离相对应的第二向量;以及基于与所选择的向量相对应的第二值和第二阈值的比较,使得对所述访问受控资源的访问被准许。
313.在示例148中,根据示例142-147所述的主题包括:其中,使得对所述访问受控资源的访问被准许的所述操作包括:确定所选择的向量包括与所述存储的密码相对应的最小数量的字符。
314.示例149是至少一种机器可读介质,其包括指令,所述指令在由处理电路运行时使所述处理电路执行操作以实现示例1-148中的任何一个示例。
315.示例150是包括用于实现示例1-148中的任何一个示例的单元的一种装置。
316.示例151是用于实现示例1-148中的任何一个示例的一种系统。
317.示例152是用于实现示例1-148中的任何一个示例的一种方法。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献