《高效扼流用户认证.pdf》由会员分享,可在线阅读,更多相关《高效扼流用户认证.pdf(14页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104094269A43申请公布日20141008CN104094269A21申请号201380007778922申请日2013012913/364,22120120201USG06F21/3120060171申请人微软公司地址美国华盛顿州72发明人A戈登RA伦丁74专利代理机构上海专利商标事务所有限公司31100代理人段登新54发明名称高效扼流用户认证57摘要在一实施例中,管理计算机系统从用户接收用户登录凭证并且做出以下确定中的至少一者该用户标识符不与任何现存用户帐户匹配;该用户标识符匹配至少一个现存用户帐户,但是用户的帐户处于锁定状态;或者该用户标识符匹配至少一个现存用户。
2、帐户,但是用户的密码不与用户标识符匹配。不管做出哪个确定,管理计算机系统随后向用户返回相同的响应消息。该响应指示该用户的登录凭证无效。该响应还阻止用户确定是哪个凭证无效,因为对于每个确定而言响应消息均是相同的,并且响应消息在对于每个确定而言相同的所测响应时间之后被发送给用户。30优先权数据85PCT国际申请进入国家阶段日2014080186PCT国际申请的申请数据PCT/US2013/0235202013012987PCT国际申请的公布数据WO2013/116169EN2013080851INTCL权利要求书2页说明书7页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说。
3、明书7页附图4页10申请公布号CN104094269ACN104094269A1/2页21在包括多个计算系统的计算机联网环境中、在包括至少一个处理器和存储器的认证服务器计算机系统处,一种用于高效认证用户同时阻止枚举攻击的计算机实现的方法,所述方法包括从用户接收用户登录凭证的动作,所述用户登录凭证包括用户标识符和密码;做出以下确定中的至少一者的动作确定所述用户标识符不匹配任何现存用户帐户;确定所述用户标识符匹配至少一个现存用户帐户,但是所述用户的帐户处于锁定状态;以及确定所述用户标识符匹配至少一个现存用户帐户,但是所述用户的密码不匹配所述用户标识符;以及不管做出哪种确定,均向所述用户返回相同响应。
4、消息的动作,所述响应消息指示所述用户的登录凭证无效,其中所述响应消息阻止所述用户确定是所述凭证中的哪个凭证无效,因为对于每个确定而言所述响应消息是相同的,并且所述响应消息在对于每个确定而言相同的测得响应时间之后被发送给所述用户。2如权利要求1所述的方法,其特征在于,所述响应消息被存储而不存储不存在的帐户的状态信息。3如权利要求1所述的方法,其特征在于,还包括跟踪每个用户的失败登录尝试的次数。4如权利要求3所述的方法,其特征在于,还包括确定所述失败登录尝试的次数大于预定义最大数量的动作;以及将所述用户的帐户置于锁定状态达指定时间量的动作,其中当所述用户的帐户处于锁定状态时阻止所述用户登录。5如权。
5、利要求3所述的方法,其特征在于,还包括确定所述失败登录尝试的次数不大于预定义最大数量的动作;以及将与所述用户相关联的失败登录尝试计数器递增1的动作,其中不向所述用户告知递增的计数器,且其中一旦所述失败登录尝试计数器达到预定义最大值的时候所述用户的帐户就被锁定。6在包括多个计算系统的计算机联网环境中、在包括至少一个处理器和存储器的客户端计算机系统处,一种用于提供登录错误消息同时阻止枚举攻击的计算机实现的方法,所述方法包括从用户向认证服务器发送用户登录凭证的动作,所述用户登录凭证包括用户标识符和密码,所述认证服务器做出以下确定中的至少一者确定所述用户标识符不匹配任何现存用户帐户;确定所述用户标识符。
6、匹配至少一个现存用户帐户,但是所述用户的帐户处于锁定状态;以及确定所述用户标识符匹配至少一个现存用户帐户,但是所述用户的密码不匹配所述用户标识符;以及从所述认证服务器接收指示所述用户的凭证无效的响应消息的动作,其中所述响应消息阻止所述用户确定是所述凭证中的哪种凭证无效,因为对于每个确定而言所述响应消权利要求书CN104094269A2/2页3息是相同的,且所述用户的帐户在对于每个确定而言相同的测得响应时间之后被所述用户105接收。7如权利要求6所述的方法,其特征在于,COOKIE被在所述客户端计算机系统上创建以跟踪与所述用户登录尝试相关联的信息的一个或多个部分。8如权利要求7所述的方法,其特征。
7、在于,与所述用户的登录尝试相关联的信息的部分中的至少一个包括失败登录尝试计数器。9如权利要求8所述的方法,其特征在于,还包括访问所述客户端计算机系统上的COOKIE以确定失败登录尝试的次数是否大于预定义最大数量的动作;以及在确定失败登录尝试的次数不大于预定义的最大数量时,将所述失败登录尝试计数器递增1的动作。10一种计算机系统,包括以下一个或多个处理器;系统存储器;其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在被所述一个或多个处理器执行时致使所述计算系统执行一种用于高效认证用户同时阻止枚举攻击的方法,所述方法包括从用户接收用户登录凭证的动作,所述用户登录凭证包。
8、括用户标识符和密码;做出以下确定中的至少一者的动作确定所述用户标识符不匹配任何现存用户帐户;确定所述用户标识符匹配至少一个现存用户帐户,但是所述用户的帐户处于锁定状态;以及确定所述用户标识符匹配至少一个现存用户帐户,但是所述用户的密码不匹配所述用户标识符;以及不管做出哪种确定,均向所述用户返回相同响应消息的动作,所述响应消息指示所述用户的登录凭证无效,其中所述响应消息阻止所述用户确定是所述凭证中的哪个凭证无效,因为对于每个确定而言所述响应消息是相同的,并且所述用户的帐户在对于每个确定而言相同的测得响应时间之后被发送给所述用户。权利要求书CN104094269A1/7页4高效扼流用户认证0001。
9、背景0002计算机已变得高度集成于工作、家庭、移动设备以及许多其他地方中。计算机可快速且有效地处理大量信息。被设计成在计算机系统上运行的软件应用允许用户执行包括商业应用、学校作业、娱乐等等在内的各种各样的功能。软件应用通常被设计成执行特定的任务,诸如用于草拟文档的文字处理器应用或者用于发送、接收和组织电子邮件的电子邮件程序。0003在许多情况下,软件应用被设计为与其他软件应用或其他计算机系统交互。例如,互联网浏览器允许用户向其他计算机系统发送请求。这些请求被数据服务器答复,数据服务器的响应被通过网络传送回用户。在许多情况下,网站提供和/或剪裁其向已经被该网站认证的用户所提供的。用户通常通过输入。
10、某种形式的用户名可能是邮件地址和密码PASSWORD或密码短语PASSPHRASE来进行认证。如果用户输入了错误的凭证,则登录被阻止并且错误消息被返回。0004为了阻止不合法用户猜测或使用字典攻击或其他重复尝试密码的手段,扼流THROTTLE被实现。这些通常把用户或特定网际协议IP地址在一段时间内的失败登录限制到特定次数例如,10分钟内3次失败的登录尝试。CPATCHAS全自动区分计算机和人类的图灵测试也可被用来阻止脚本或其他自动化系统重复猜测用户名和密码组合。CAPTCHAS要求用户查看部分扭曲的图像并且输入图像中显示的单词或字符序列。CAPTCHAS被设计为人类能够轻易判读而计算机系统却非。
11、常难以判读。0005简要概述0006本文描述的实施例涉及高效认证用户同时防止枚举攻击,还涉及提供登录错误消息通知防止枚举攻击。在一个实施例中,管理计算机系统从用户接收用户登录凭证。这些用户登录凭证可包括用户标识符和密码。管理计算机系统随后做出以下确定中的至少一者其确定用户标识符不与任何现存用户帐户匹配;确定用户标识符匹配至少一个现存用户帐户,但是用户的帐户处于锁定状态;或者确定用户标识符匹配至少一个现存用户帐户,但是用户的密码不与用户标识符匹配。不管做出哪个确定,管理计算机系统随后向用户返回相同的响应消息。该响应指示该用户的登录凭证无效。该响应还阻止用户确定是哪个凭证无效,因为对于每个确定而言。
12、响应消息均是相同的,并且响应消息在对于每个确定而言相同的所测响应时间之后被发送给用户。0007在另一实施例中,客户端计算机系统将用户登录凭证从用户发送到认证服务器。所述用户登录凭证包括用户标识符和密码。认证服务器做出以下确定中的至少一者其确定用户标识符不与任何现存用户帐户匹配;确定用户标识符匹配至少一个现存用户帐户,但是用户的帐户处于锁定状态;或者确定用户标识符匹配至少一个现存用户帐户,但是用户的密码不与用户标识符匹配。客户端计算机随后从认证服务器接收响应消息,该响应消息指示该用户的凭证无效。该响应消息阻止用户确定是哪个凭证无效,因为对于每个确定而言响应消息均是相同的,并且响应消息在对于每个确。
13、定相同而言的所测响应时间之后由用户接收。说明书CN104094269A2/7页50008提供本概述是为了以简化的形式介绍将在以下具体实施方式中进一步描述的概念选择。本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。0009附加的特征和优点将在以下的描述中被阐述,并且部分地可通过该描述而对本领域技术人员显而易见,或者可通过对本文中的教示的实践来习得。本发明的实施例的特征和优点可以通过在所附权利要求中特别指出的手段和组合来被实现并获得。本发明的实施例的特征将从以下描述和所附权利要求书中变得完全显而易见,或者可通过如下所述对本发明的实践而习得。附。
14、图说明0010为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明的实施例将通过使用附图用附加特征和细节来描述和说明,附图中0011图1示出本发明的各实施例可在其中操作的计算机体系结构,包括高效认证用户,同时阻止枚举攻击。0012图2示出高效认证用户同时阻止枚举攻击的示例方法的流程图。0013图3示出提供登入错误消息同时阻止枚举攻击的示例方法的流程图。0014图4示出其中提供错误消息同时阻止枚举攻击的本发明的实施例。具体实施方式0015本文描述的实施例涉及高效认证。
15、用户同时阻止枚举攻击,还涉及提供登录错误消息通知阻止枚举攻击。在一个实施例中,管理计算机系统从用户接收用户登录凭证。这些用户登录凭证可包括用户标识符和密码。管理计算机系统随后做出以下确定中的至少一者其确定用户标识符不与任何现存用户帐户匹配;确定用户标识符匹配至少一个现存用户帐户,但是用户的帐户处于锁定状态;或者确定用户标识符匹配至少一个现存用户帐户,但是用户的密码不与用户标识符匹配。不管做出哪个确定,管理计算机系统随后向用户返回相同的响应消息。该响应指示该用户的登录凭证无效。该响应还阻止用户确定是哪个凭证无效,因为对于每个确定而言响应消息均是相同的,并且响应消息在对于每个确定而言相同的所测响应。
16、时间之后被发送给用户。0016在另一实施例中,客户端计算机系统将用户登录凭证从用户发送到认证服务器。所述用户登录凭证包括用户标识符和密码。认证服务器做出以下确定中的至少一者其确定用户标识符不与任何现存用户帐户匹配;确定用户标识符匹配至少一个现存用户帐户,但是用户的帐户处于锁定状态;或者确定用户标识符匹配至少一个现存用户帐户,但是用户的密码不与用户标识符匹配。客户端计算机随后从认证服务器接收响应消息,该响应消息指示该用户的凭证无效。该响应消息阻止用户确定是哪个凭证无效,因为对于每个确定而言响应消息均是相同的,并且响应消息在对于每个确定而言相同的所测响应时间之后由用户接收。0017以下讨论现涉及可。
17、以执行的多种方法以及方法动作。应当注意,虽然这些方法动说明书CN104094269A3/7页6作可能是按一定次序讨论的,或者是在流程图中被描绘为是按照特定顺序进行的,然而并非必然需要特定的次序,除非是特别声明的或者是因为一个动作依赖于在执行该动作之前完成另一动作而需要的。0018本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如举例而言一个或多个处理器和系统存储器的计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据形。
18、式存储有计算机可执行指令的计算机可读介质是计算机存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质计算机存储介质和传输介质。0019计算机存储介质包括RAM、ROM、EEPROM、CDROM、基于RAM、闪存、相变存储器PCM,或其它类型的存储器的固态驱动器SSD,或者其他光盘存储、磁盘存储或其他磁存储设备,或可用于以计算机可执行指令、数据或数据结构形式存储所期望的程序代码装置且可被通用或专用计算机访问的任何其他介质。0020“网络”被定义成允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或。
19、多个数据链路和/或数据交换机。当信息通过网络硬连线、无线、或者硬连线或无线的组合被传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可以包括如下的网络所述网络可以用于运送计算机可执行指令形式或数据结构形式的数据或所期望的程序代码资料,并且可以被通用或专用计算机访问。上述的组合也应被包括在计算机可读介质的范围内。0021此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码资料可从传输介质自动传输到计算机存储介质或反之亦然。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓冲在网络接口模块例如,网络接口卡或“NIC”内的RAM中,然后最终被传输。
20、给计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用或甚至主要利用传输介质的计算机系统组件中。0022计算机可执行或计算机可解释的指令包括例如致使通用计算机、专用计算机、或专用处理设备执行某个功能或某组功能的指令。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。更具体而言,上述特征和动作是作为实现权利要求的示例形式而公开的。0023本领域的技术人员将理解,本发明可以在具有许多类型的计算机。
21、系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明还可在分布式系统环境中实践,在该环境中本地和远程计算机系统通过网络经由硬连线数据链路、无线数据链路、或者经由硬连线和无线数据链路的组合链接起来,每个计算机系统都执行任务例如,云计算、云服务等。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。说明书CN104094269A4/7页70024图1示出了可在其中采用本发明的原理的计算机。
22、架构100。计算机架构100包括计算机系统101。计算机系统101可以是任何类型的本地或分布式计算机系统,包括云计算系统。该计算机系统包括客户端应用102。这些可能是任何类型的软件应用,包括互联网浏览器或者允许或要求用户登录到认证服务器的其他应用。从而,用户105可向客户端应用提供其登录凭证106,该客户端应用将那些凭证传递到认证服务器计算机系统110。凭证可包括各种不同类型的凭证的任一者,包括用户标识符例如,用户名、电子邮件地址、生物测量数据等、密码包括密码短于、个人标识号PIN、图像选择序列或任何其他类型的密码代码或标识并认证用户的任何其他方式。在图1中示出的实施例中,用户的登录凭证包括用。
23、户标识符107和密码108。0025这些凭证被发送到认证服务器110。该认证服务器可以是任何类型的本地或分布式计算机系统。其包括确定模块115,该确定模块做出各种关于用户凭证的确定。例如,该确定模块可确定所接收的凭证106不与任何现存用户帐户112相匹配,或者该用户帐户存在,但是该帐户出于锁定状态,或者该用户帐户存在,但是密码和标识符不匹配。不管做出什么确定,认证服务器均可向该用户发送相同的响应消息,该消息指示凭证无效。不管确定如何,此响应在从接收到凭证起经过相同时间后被发送到用户。这避免了用户基于更快或更慢的响应时间来确定帐户存在或不存在。0026本文描述的某些实施例基于服务器侧和客户端侧方。
24、法的组合。方法的组合可提供与传统CAPTCHA全自动区分计算机和人类的图灵测试或扼流实现相同的安全益处,同时阻止枚举风险。本文使用的“枚举风险”是指恶意用户将尝试不同用户名和密码组合来确定该帐户是否有效的可能性。如果恶意用户能够确定帐户有效,则该用户随后可使用其他技术来破解或以其它方式发现用户的密码。0027认证服务器110被设计成向客户端提供具有相同或基本相同内容的相同或基本相同的响应,而不管是具有坏密码的好用户还是不存在的用户。消息也在接收用户的凭证之后的经过相同时间量后被发送给用户。以此方式,恶意用户不能从响应获得知识,而响应本来会帮助恶意用户进行攻击。客户端侧的控制被用来延缓到用户10。
25、5的消息。这甚至避免从多个网际协议地址IP或通过自动化执行分布式攻击的攻击者获得关于认证服务器的用户帐户121的知识。0028每当用户尝试登录到认证服务器时,登录要么成功其中用户被准予对一个或多个指定系统特性的访问要么失败。在登录失败的情况下,计数器可递增以跟踪登录失败的次数。此计数器可以是寿命计数器,或者该计数器可以在一定时间量例如,30分钟后重置。从而,如果用户在所指定的特定尝试次数例如三次之后仍登录失败,则该用户的帐户将被置为“暂时锁定”状态。该锁定状态将在一定时间量内阻止用户登录。锁定前登录尝试的次数、重置计数器的分钟数、给定锁定的分钟数以及其他设置可以由管理用户定制和指定。0029每。
26、当失败的登录尝试发生时,向用户105发送指示该用户的凭证无效的响应消息116。例如,该消息可以是“坏用户名或密码”。在一些实施例中,客户端的登录尝试可由计算机系统101扼流无需用CAPTCHA。客户端计算机系统可例如,在COOKIE103中创建起自己的计数器。此COOKIE可在用户的首次失败登录尝试时创建针对每个用户。随后可在每次失败的登录尝试时将其递增1。针对现存和不存在的用户均执行此操作。针对坏说明书CN104094269A5/7页8密码以及针对不存在的用户名提供相同的错误消息。当计数器达到特定值时,在客户端计算机系统本地执行的软件功能集合可取代或附加于响应消息显示以下内容例如,在因特网浏。
27、览器的登录页面上“你的帐户可能已被锁定。5分钟后再尝试。”一旦用户已成功登录,则重置计数器或简单地删除COOKIE。0030在客户端侧,计数器可按多种方式实现,包括使用COOKIES和超文本标记语言HTTP本地存储。如果使用COOKIE,则该计数器可单独从客户端侧实现。例如,客户端计算机系统可以读和写COOKIE并且每当用户提交了登录凭证并已登录失败时递增该计数器。取决于浏览器能力,该计数器还可用HTML本地存储实现。COOKIE的客户端侧管理可阻止攻击者获得关于帐户的知识。例如,客户端侧COOKIE管理可阻止攻击者通过看HTTP响应中的COOKIE来了解该帐户已经被锁定。客户端计算机系统可实。
28、现在浏览器中运行的脚本代码,或富客户端应用。下面,分别针对图2和图3的方法200和300进一步解释这些概念。0031考虑到以上描述的系统和体系结构,参考图2和图3的流程图将更好地领会根据所公开的主题实现的方法。为了说明简明起见,这些方法被示出和描述为一系列框。然而,应该理解和了解,所要求保护的主题不受框的次序的限制,因为一些框可按不同的次序进行和/或与此处所描绘和描述的其他框同时进行。此外,并非全部所示的框都是实现下面所述的方法所必需的。0032图2示出了用于高效认证用户同时阻止枚举攻击的方法200的流程图。现在将频繁地分别参照图1和图4的环境100和400的组件和数据来描述方法200。003。
29、3方法200包括从用户接收用户登录凭证的动作,该用户登录凭证包括用户标识符和密码动作210。例如,认证服务器计算机系统110可接收登录凭证106。这些登录凭证可包括任何类型的用户标识符107和密码108或密码短语,或其组合。认证服务器随后可做出以下确定中的任一者或多者如图4中所示确定A461A,其确定用户标识符不与任何现存用户帐户匹配动作220A。在这种情况下,用户标识符例如,标识该用户的用户名、电子邮件地址、生物测量数据等不与认证服务器的数据存储120中存储的任何现存用户帐户121匹配。0034附加地或替代地,认证服务器110的确定模块115可做出确定B461B,其指示该用户标识符匹配至少一。
30、个现存用户帐户121,但是该用户的帐户处于锁定状态动作220B。例如,如果用户已在特定时间段内具有超过特定次数的失败登录尝试,则认证服务器的帐户锁定模块125将锁定用户的帐户,并且在指定时间量内阻止该用户的成功登录即,直到该帐户被解锁为止。一旦用户的帐户被解锁,则如果该用户提供了适当的有效的凭证则该用户将能够登录。0035而且,认证服务器110的确定模块115可做出确定C461C,该确定指示用户标识符107与至少一个现存用户帐户121匹配,但是该用户的密码108不与该用户的标识符匹配动作220C。从而,在这种情况下,与所提供的用户标识符相对应的帐户的确存在,但是所提供的密码不匹配。相应地,该用。
31、户将被阻止登录,并且响应消息将被发送。0036无论做出哪种确定A、B、或C,认证服务器计算机系统110向用户返回相同的响应消息动作230。响应消息指示该用户的登录凭证无效。响应消息不提供指示凭证为何无效的额外细节仅指示用户标识符和密码中的一者或两者不正确。响应消息116阻止恶意用户确定所述凭证中是哪个无效,因为响应消息对于每个确定均相同。而且,则对于每说明书CN104094269A6/7页9个确定相同的测得响应时间之后,将响应发送给用户动作230。0037从而,例如,延迟模块130可生成并对每个响应消息116应用延迟,来确保每个响应从用户登录凭证被接收起经过相同时间量之后被发送给用户。从而,如。
32、图4中所示,如果认证服务器455的确定模块460花费07秒来做出确定A,而从接收凭证起到提供响应消息的总经过时间将为10秒,则延迟模块465可在将响应消息467发送给客户端计算机系统450之前向该响应消息添加03秒的第二延迟466A。类似地,如果确定模块460花费03秒来做出确定461B,则该延迟模块将添加07秒的第二延迟466B,而如果确定C461C花费09秒,则在发送响应消息前将添加01秒的第二延迟466C。从而,可以看出,无论做出哪个确定都将发送相同的消息,且该响应消息将在基本上相同的时间发送。本领域技术人员将理解,上面提到的时间是任意的,并且可使用任何其他延迟或排队系统来确保在相同的经。
33、过时间之后发出消息。0038而且,将理解,延迟模块465所施加的延迟的长度是可变的,并且是对每次登录尝试动态生成的。这确保了每个响应在从用户登录凭证被接收起经过相同时间量后被发送。该响应消息被存储而不存储不存在帐户的状态信息。从而,认证服务器系统不需要存储或维护不与现存用户帐户121相匹配的用户名或其他标识符的状态信息。0039如同上面提到的,失败登录尝试的次数可由认证服务器针对每个用户例如,用户105跟踪。认证服务器可确定失败登录尝试的次数大于预定义的最大次数。结果是,帐户锁定模块125可将用户的帐户置于锁定状态达指定时间量。在此时间期间,阻止用户登录。一旦指定时间量逝去,则用户的帐户将被解。
34、锁,而该用户将能够登录。如果用户使用无效的凭证尝试登录且失败的登录尝试的次数不大于预定义的最大数量,则认证服务器会把与该用户相关联的失败登录尝试计数器递增1并且提供响应消息116。在计数器到达预定义的最大次数值且该帐户被锁定时在任一情况下均将返回相同的有歧义响应,用户或攻击者将看不到任何差别。服务器内部锁定用户帐户,而用户不知道这发生了。这些帐户锁定元素可附加地或替代地由客户端计算机系统执行,如下面将参考图3的方法300所解释的。0040图3示出了用于提供登录错误消息同时防止枚举攻击的方法300的流程图。现在将频繁参考环境100的组件和数据来描述方法300。0041方法300包括从用户向认证服。
35、务器发送用户登录凭证的动作,该用户登录凭证包括用户标识符和密码动作310。例如,客户端计算机系统101可从用户105接收包括用户标识符107和密码108的登录凭证106。该客户端计算机系统随后可将这些凭证发送到认证服务器计算机系统110。这些凭证可从该用户接收并经由客户端应用102诸如因特网浏览器发送。0042认证服务器110做出以下确定中的至少一者其确定用户标识符107不与任何现存用户帐户121匹配,其确定用户标识符匹配至少一个现存用户帐户,但是该用户的帐户处于锁定状态,或者其确定用户标识符匹配至少一个现存用户帐户,但是该用户的密码不匹配该用户标识符。此时,不管认证服务器做出哪个确定,客户端。
36、计算机系统均从认证服务器接收指示该用户的凭证无效的响应消息动作320。该响应消息116阻止用户确定所述凭证中的哪个是无效的,因为对于每一确定而言响应消息均是相同的,并且响应消息均在针对每一确定相同的测得响应时间之后被接收动作320。如上所指示的,可向每一响应说明书CN104094269A7/7页10消息施加延迟来确保为每个登录请求花费相同的经过时间量。0043客户端计算机系统101可被单独地或附加于认证服务器110用来跟踪用户的失败登录尝试。可在客户端计算机系统上创建COOKIE103以便跟踪与该用户的登录尝试相关联的信息的一个或多个部分。与用户的登录尝试相关联的该信息可包括失败登录尝试计数器。
37、。客户端计算机系统可访问COOKIE中的计数器来确定失败登录尝试的次数是否大于预定义的最大数量。如果失败登录尝试的次数不大于预定义的最大数量,则把失败登录尝试计数器递增1。如此,客户端计算机系统上的COOKIE的处理可阻止认证服务器对COOKIE的任何处理。0044在此情况下,客户端计算机系统可访问COOKIE103来确定失败登录尝试的次数是否大于预定义的最大数量。而且,在确定失败登录尝试的次数大于预定义的最大数量之后,客户端计算机系统可向用户105显示指示该用户的账户已被锁定的消息。0045在另一实施例中,失败登录尝试计数器可被存储在客户端计算机系统101上的超文本标记语言HTML本地存储1。
38、04中。该客户端计算机系统可访问HTML本地存储中的该失败登录尝试计数器来确定失败登录尝试的次数是否大于预定义的最大数量。如果确定失败登录尝试的次数不大于预定义的最大数量,则把HTML本地存储中的失败登录尝试计数器递增1。如果该客户端计算机系统访问HTML本地存储中的失败登录尝试计数器并且确定失败登录尝试的次数大于预定义的最大数量,则该客户端计算机系统可向用户显示指示该用户的账户已被锁定和/或改用户可在稍后的时间尝试登陆的消息。0046相应地,提供了高效地认证用户同时阻止枚举攻击的方法、系统和计算机程序产品。无论是所标识的账户不存在,无论是该账户被锁定,还是用户名和密码不匹配,响应消息均在相同。
39、经过时间之后被发送,且相同响应消息被发送。以此方式,向用户提供指示所提供的凭证无效的信息,但是不向恶意用户提供本可以在枚举攻击中使用的信息。0047本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。说明书CN104094269A101/4页11图1说明书附图CN104094269A112/4页12图2说明书附图CN104094269A123/4页13图3说明书附图CN104094269A134/4页14图4说明书附图CN104094269A14。