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

用于访问受保护资源的口令状态机的制作方法

2022-04-14 01:49:23 来源:中国专利 TAG:

用于访问受保护资源的口令状态机
1.本技术是申请日为2018年3月26日、申请号为201880022292.5的发明专利申请“用于访问受保护资源的口令状态机”的分案申请。


背景技术:

2.诸如用户名和口令的各种认证机制常常被用于控制对各种计算资源和过程的访问。希望获得对资源或过程的访问的人可能被要求输入用户名和口令。如果该人输入了正确的用户名和口令,那么可以许可访问。否则,拒绝许可访问。对计算资源访问的情形,例如,电子邮件账户、在线购物账户、在线银行账户、访问学校记录、企业门户、虚拟专用网络、认证的机器到机器通信(m2m)、登录到社交网络服务等,是可以对访问进行口令控制的基于web或云的资源和服务的一些示例。也可能需要用户名和口令来解锁诸如个人计算机、移动电话的用户设备或者访问在用户的计算设备上本地可用的功能和资源。用户名和口令是在两个端点之间的共享秘密类型的一个示例。共享秘密的其他示例是数字pin码而不需要用户名和诸如指纹或视网膜扫描器的生物测定信息。在这些情形的每种情形中,在许可访问期望的资源之前必须给出并且验证凭据。
3.在使用口令等时出现的问题是其会受到特定类型的攻击。如果用户名和口令受到损坏或者被盗窃,恶意行为者可能获得对受保护资源的访问。口令提供安全性的依据是假设仅有口令的合法用户知道口令。如果这种假设非真,那么口令就不再提供预期的安全性。如果恶意行为者获知口令并然后将其呈现给控制对资源的访问的认证管理器,那么恶意行为者会获得与合法用户相同的访问。计算系统尝试提供诸多层的安全防范措施以防止恶意行为者获得对用户账户的访问,然而,如果恶意行为者提供有效的用户名和口令凭据,在各层安全方案措施不给有效用户访问施加不当的负担以尝试和检测恶意行为者的情况下,则可能几乎不可能检测到入侵。


技术实现要素:

4.一种用户认证技术,其允许用户访问受保护资源,诸如网站上的账户或计算设备上的安全文件,所述计算设备诸如是智能电话、个人计算机、平板计算机等,所述用户认证技术采用共享秘密,所述共享秘密使用状态机在一系列状态之间顺序地过渡,在所述一系列状态期间,要求用户输入也是共享秘密的一部分的预定义信息。亦即,所述共享秘密包括必须要提供的用户特定数据以及要提供用户特定数据或凭据的特定顺序或方式两者。所述状态机可能需要用户特定数据或者非特定类型的数据或事件。所述状态机输入预期是用户与他们要认证进入的计算设备之间的共享秘密。执行状态机的设备的用户界面可以被设计成在登录期间不给出关于以下内容的任何指示:执行状态机作为认证后端的一部分,这与典型的两因素认证系统不同,两因素认证系统明确地要求用户输入额外的认证步骤或者接电话并提供信息。在某些情况下,用户能够选择并定制要与其(一个或多个)账户一起使用的状态机,这使得他们能够增加额外的安全层,超出典型的指纹、pin或者用户名和口令复杂度,以及通常由安全策略或计算设备的能力建立的规则或者由网站管理员、计算机管理
员设想到或由认证模块的软件开发者实施的服务。状态机配置甚至可以包括要在用户名和口令认证之后在规定时间之内执行的步骤。
5.可以提供给状态机的输入的以下示例并非作为对在本文中所描述的主题的限制而给出,而是用于辅助理解用户可以提供以推进状态机的大量可能类型的输入中的一些。这些输入能够包括但不限于以下输入,诸如:以某一时间延迟输入口令字符或者包括退格符以修改人为打字错误;发送或接收电子邮件;在输入口令之前禁用/启用wifi;调节音量;在输入正确的口令之前两次输入无效的口令尝试(其是特定秘密关键字的异序词),其在预定时间正确执行时将推进状态机,而未能执行下一规定状态将在恶意行为者提供有效的用户名和口令或者其他有效访问凭据但是未能成功执行所需状态机操作以获得访问时,阻止访问并辅助检测恶意行为者尝试访问账户。
6.在一些实施例中,该认证技术可以补充常规的一因素或两因素认证技术的使用,所述认证技术需要例如口令或者用户名和口令两者,其通常用于在许可访问资源之前提供额外的安保层。以这种方式,即使恶意行为者要获得对用户名和口令以及两因素认证pin码的访问,行为者也可能不知道使状态机走到许可访问的成功状态所需的步骤顺序。并非仅仅依赖于仍然可能失窃的过度复杂口令,状态机增加了额外的用户可定制防护措施,其能够被用户容易地记住和执行,对于特定水平的老练的恶意攻击者保持不可检测。除了使用用户名和口令之外,还使用状态机能够大大提高针对用户的用户名和口令的暴力攻击的难度水平,因为能够向登录序列容易地增加多种状态。能够训练入侵检测以检测包括正确用户名和口令但是对状态机的输入不正确的访问尝试的实例,这指示有凭据被盗的潜在风险。根据用户的用户名和口令的复杂度,可以暂停所述账户以保护系统不受进一步暴力攻击,直到可以通过其他手段来验证尝试访问账户的用户的身份,所述手段诸如是与欺诈检测中受训练的客户服务专业人员会面。然而相反,如果状态机要求被恰当满足并且有充分大复杂度以补偿例如用户名或口令中的打字错误,如果口令是错误的或者甚至是轻微错误的,用户账户可以在暂停所述账户之前允许更多登录尝试。
7.在本文中所描述的用户认证技术当在计算设备上操作时,可以通过向访问控制过程增加另一层复杂度以降低能够使用被窃用户名和口令来访问资源的风险,来增强对诸如用户名和口令的凭据的常规使用,由此改善保护(一个或多个)计算设备的资源的安全水平。此外,状态机的共享秘密可以在与凭据分开的位置处被存储为可执行代码,进一步降低了恶意行为者获得对访问受保护资源必须执行的整组认证步骤的访问的可能性。攻击者将需要用户名和口令,以及识别、访问执行状态机的代码并对其进行反向工程,以理解遵循状态机交互和获得对资源的访问需要什么。这种额外的复杂度显著提高了攻击企业系统所需的成本和工作量,所述企业系统可能包含数百万个软件模块,使得用户的特定状态机模式混淆,以及相对于仅基于简单用户名和口令的访问控制保护的账户,提高了入侵检测的可能性。最后,采用状态机的系统能够帮助检测受到侵犯的用户名和口令,而在常规系统中,这样的受损的用户账户可能由攻击者访问而不被检测到。
8.在本文中所描述的主题的各方面相对于麻烦的常规两因素认证系统有所改善,常规两因素认证系统要求用户接收具有pin码的文本消息并在心里复制/粘贴代码,或者携带专用设备,所述专用设备具有改变的数字值,要作为质询响应验证的一部分而被输入。使用状态机,在一些实施例中,能够配置状态机以使用容易记忆的输入和动作,所述输入和动作
可以被用户个性化,并且因此可以被更容易执行。然而,使用状态机不排除并入现有的两因素方案,但是替代地将其扩展到更复杂和安全的状态机,状态机能够由每位用户来个性化,甚至能够以用户指定和预定的方式来改变或者被允许自动演进。
9.提供本发明内容是为了以简化形式介绍一系列概念,在下文的具体实施方式中进一步描述了这些概念。本发明内容并非意图识别所要求保护的主题的关键特征或必要特征,也并非意图用作确定所要求保护的主题的范围的辅助手段。此外,所要求保护的主题并不限于解决本公开的任何部分中指出的任何或全部缺点的实施方式。将意识到,上述主题可以被实施为计算机控制的装置、计算机过程、计算系统或者被实施为制品,诸如一种或多种计算机可读存储介质。通过阅读以下具体实施方式并审阅关联的附图,这些和各种其他特征将显而易见。
附图说明
10.图1是可以在其中实施在本文中所公开的主题的各方面的示例环境的图示。
11.图2示出了图1中所示的计算设备中的一个计算设备的更详细示例。
12.图3示出了图1中所示的网络资源的更详细示例。
13.图4示出了诸如图2和图3中所示的那些的认证模块的一个示例。
14.图5是示出了用户可以用于预先配置认证机制的过程的一个示例的流程图。
15.图6示出了用于提供对资源的访问控制的方法的一个示例。
16.图7示出了用于提供对资源的访问控制的方法的另一示例。
17.图8示出了针对诸如图1中所示的计算设备或网络资源的设备的示例架构。
18.图9是诸如移动电话或智能电话的另一例示性计算设备的更详细的功能框图。
具体实施方式
19.图1是可以在其中实施在本文中所公开的主题的各方面的示例实施例环境100的图示。环境100仅仅是适当计算环境的一个示例,而并非意在暗示关于所公开的主题的使用范围或功能的任何限制。本发明与众多通用或专用计算系统或配置一起使用。可能适合与本发明一起使用的公知计算系统、环境和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持式或膝上型设备、平板计算机、移动通信设备(例如,无线蜂窝电话、卫星电话、可穿戴计算设备,诸如智能手表)、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子设备、网络pc、微计算机、主机计算机、嵌入式系统(例如,汽车设备、医疗设备、工业设备、自动化设备、物联网(iot)设备、计算机化的器具、娱乐设备(计算机化的玩具、游戏控制台、信息娱乐设备、智能电视等)、视觉化计算机系统、云托管的计算(例如,软件即服务(saas)、平台即服务(paas)、基础设施即服务(iaas))、面向服务的架构(soa)、包括以上任何系统或设备的分布式计算环境等。
20.环境100包括第一计算设备102、第二计算设备104、第三计算设备106以及第四计算设备108。所述计算设备经由通信网络110来连接。可以使用任何数量的前述类型的计算设备或组合来实施各实施例中的计算设备102-108。
21.通信网络110可以被实施为单个网络或者多个网络的组合以实现在任何两个或更多个计算设备之间的通信,所述网络诸如是因特网和/或一个或多个内联网、局域网、广域
网、有线或无线网络、全连接网络、以太网、usb集线器或者其任意组合。计算设备106和计算设备108还被图示为经由通信链路112被连接到彼此。通信链路112能够包括直接usb连接、apple的lightning、wi-fi或蓝牙连接、zigbee、近场通信、红外射束和/或接收器、通过扫描具有编码的信息(例如,条形码、qr条形码等)的图像、wemo、x10或者包括(一个或多个)有线和/或无线连接的某种其他通信链路。通信链路110和/或112也可以由向存储设备写入数据的计算设备的一个或多个计算设备来实施,所述存储设备诸如是有备用电池的ram卡、紧致盘、相变存储器设备或基于flash的存储设备(例如,安全数字(sd)卡、usb闪存驱动器、磁盘驱动器)或自旋介质盘驱动器,随后将其插入在目的地计算设备处并且由端点读取以完成信息传输的动作,而不仅仅依赖网络基础设施(如有线或无线信号)来通信地耦合计算设备(例如sneakernet)。计算设备102-108可以通过通信网络110(例如,由网络资源114所代表的)来访问网络或基于云的资源。
22.图2示出了计算设备102-108中的一个计算设备的更详细示例。在本示例中,计算设备102包括一个或多个处理器210、用户界面205以及计算机可读介质202,其可以包括各种类型的存储设备(例如,磁的、光学的等)以及存储器。计算机可读介质202包含或者具有对认证模块204、受保护资源206和受保护实体模块208的访问。认证模块204能够经由用户界面205接收来自用户的认证请求并且基于在所述认证请求中提供的信息通过许可或拒绝对受保护资源或受保护实体的访问而对该认证请求做出响应。例如,所述认证模块可以通过创建或修改访问控制列表(acl)来许可访问,在操作系统允许认证请求者或代表请求者行动的代理人线程或过程访问(一个或多个)受保护资源之前,操作系统会检查所述访问控制列表。所述认证模块还可以通过为请求者提供安全令牌、cookie、数字证书来许可访问,安全令牌、cookie、数字证书接下来将被用于在连接的会话和/或将来的会话期间访问资源。应当意识到,可以将本发明并入到其他认证协议中,以在如下情形中补充简单的用户名和口令凭据,诸如能够利用额外的认证状态机步骤来补充kerberos用户名/口令验证步骤,或者可以扩展microsoft的manage service accounts(msa)用户名和口令凭据以包括执行认证状态机。
23.受保护资源206可以包括例如由计算设备102提供的功能、由计算设备102托管的应用和/或计算设备102上存储的或能由计算设备102访问的数据或文件。受保护实体模块208能够被包含在计算机可读介质202中或者与计算机可读介质202分离,并且可以例如由计算设备102-114的任意组件来托管,并且能够被用于例如对存储器中的数据中的信息授予许可,所述存储器能够是随机访问或顺序访问、分页或不分页存储器、非持久性存储器(例如,dram、sram)或非易失性持久存储器(例如,基于忆阻器、相变存储器),或者许可网络访问以使信息流动,或者调用计算设备上托管的应用程序之间的功能,诸如通过消息中间件层、代理服务器、防火墙或者允许访问虚拟专用网络(vpn)资源等。家庭自动化系统中的受保护实体可以包括以下中的一项或多项:灯、恒温器或报警系统。受保护实体模块访问能够包括认证的机器到机器(例如,web服务、面向服务的架构(soa)、m2m、数据库访问、消息层、中间件、执行存储的流程、工作流引擎等)通信。受保护实体未必被体现在计算机可读介质上,但是为了以受保护实体模块208的形式控制它们而进行访问则几乎都是这样的。
24.在一种实施方式中,用户界面205包括软件程序,诸如能由计算设备102上的处理器210执行的图形用户界面(gui),其专门被配置为经由网络110与网络资源114进行接口和
通信。在另一实施方式中,用户界面205包括在提供网络接口的计算设备106上运行的浏览器模块以浏览网络110上可用的信息。例如,用户界面205可以被部分地实施为web浏览器以查看网络110上可用的信息。用户界面205可以被部分地实施为:在许可对本地存储装置206上可用的信息的访问或者通过网络110访问可用的服务或者这两者的组合之前,在移动设备108上运行的应用程序的认证。
25.在各实施例中,计算设备102可以包括访问控制模块212。访问控制模块212可以是操作系统的一部分、单独的应用程序或者另一应用程序的组件。访问控制模块212可以要求在授权用户访问特定应用程序和/或计算设备102的功能之前被操作系统调用。访问控制模块212可以与认证模块204协同操作,以确定用户是否有资格被授权访问计算设备102的特定应用程序和/或功能。
26.图3示出了网络资源之一的更详细示例,诸如能够向计算设备提供基于云的服务的网络资源114。在一种实施方式中,网络资源114可以是托管web站点的web服务器,所述web站点能够由诸如计算设备106的计算设备上的web浏览器来访问。在一些情况下,网络资源114可以是共同托管由web浏览器访问的web站点的一系列分布式服务器。在本示例中,网络资源114包括一个或多个处理器310以及计算机可读介质312。计算机可读介质312包含或者有权访问认证模块304和受保护资源306。认证模块304能够经由诸如网络110上的web浏览器的用户界面从计算设备(例如,计算设备106或108)的用户接收认证请求。认证模块304通过基于认证请求中提供的信息来许可或拒绝访问受保护资源306而对认证请求做出响应。受保护资源306可以包括例如服务、用户特有的账户数据等。在一些实施例中,认证模块304可以是与受保护资源所处的(一个或多个)服务器分离的专用服务器。应当意识到,在本文中所描述的主题并不限于由组件114所示服务器的单一实例,而是替代地可以包括更早提到的基于云的计算系统,诸如saas(例如,sap business bydesign、enterprise resource planning(erp)、netflix、gmail、hotmail、salesforce)、paas(windows azure cloud services、google app engine、amazon aws)以及iaas(例如,openstack)和soa等,其典型地由诸如如下卖家的云计算供应商使用专利云计算软件和/或开放源(诸如openstack)来托管,如microsoft的azure、amazon的aws,google的cloud compute platform、sap的cloud platform、ibm的watson、oracle的cloud、salesforce service cloud、rackspace cloud、facebook的cloud等。
27.在其他实施方式中,网络资源114可以是提供基于云的服务的被托管应用程序的部分,所述应用程序包括:诸如数据库的应用程序,如microsoft的sql、ibm db2,中间件,如ibm websphere和/或来自sap的企业应用程序、microsoft dynamics。网络资源114可以由云提供商来虚拟化,所述云提供商诸如是microsoft的azure、amazon web service(aws)、ibm cloud或google cloud platform(包括其他前述云提供商)。网络资源114通过网络110或112从类似于计算设备102到114的其他设备计算设备接收访问请求。在本示例中,网络资源114可以包括一个或多个处理器310以及计算机可读介质312。计算机可读介质312包含或者有权访问认证模块304和受保护资源306。认证模块304能够接收源自本地或基于云的应用程序或服务之一的认证请求。认证模块304通过基于在认证请求中提供的信息许可或拒绝访问受保护资源306而对所述认证请求做出响应。受保护资源306可以包括例如服务、用户特有的账户数据、企业数据、应用数据等。在一些实施例中,认证模块304可以与受保护资
源所处的(一个或多个)服务器被单独地虚拟化和划分。
28.如先前所描述的,长期以来一直使用口令等来控制对资源的访问。然而,当例如黑客使用密钥记录程序识别了用户名和口令时,或者当黑客获得了对用户名和口令数据库的授权访问时,或者当捕获到包含加密信息的网络流量并且破解加密以显露秘密凭据时,口令会被盗窃。在一些实施例中,在本文中所描述的主题提供了一种使用一种过程来认证用户的方式,用户必须通过所述过程来进行以便获得对资源的访问。在一些实施例中,该过程可以不在存储用户名和口令的同一数据库中,并且因此,即使恶意实体要获得对数据库的访问,该实体将仍然没有足够信息获得对受保护资源的访问。相反,恶意实体将需要对认证机制需要的额外过程进行反向工程,这增大了完成任务的复杂度和所需的时间量,并且由此提供了能够发现攻击并且采取补救措施的更多时间。
29.应当意识到,在本文中所描述的主题不仅限于人类用户登录到计算机系统中的状况。相反,在一些实施例中,对于涉及机器到机器认证和安全互操作的情况以及对于运行在计算设备上的认证服务而言,该过程能够由计算机软件应用程序或服务来执行。能够将本主题作为对几乎任何现有基于用户名和口令的情形的增强来集成,以提供额外的安全保护。例如,利用状态机步骤增强的认证模块可以改善microsoft的managed service accounts(msa)的安全性。msa是在关联到特定计算机的活动目录中创建的账户。该账户具有其自身的复杂口令并且被自动地维护。在本文中所描述的主题能够向msa的验证添加额外的认证过程,以包括用户和口令连同增强的验证过程识别符或可选的验证输入或事件(将在发生msa认证步骤时被执行)。
30.可以被扩展以结合口令和状态机信息的使用对请求访问资源306的用户或机器账户执行验证的基于口令的系统的另一示例是kerberos协议。(能从众多资源获得kerberos网络认证规范,如https://web.mit.edu/kerberos/,并且能从http://www.roguelynn.com/words/explain-like-im-5-kerberos获得该系统的高层级描述)。例如,扩展在url http://www.roguelynn.com/words/explain-like-im-5-kerberos处可获得的描述,用户可以利用id、所请求服务的名称(票据许可服务器)、网络地址以及所请求的针对票据许可票据有效的时间向认证服务器做出请求。其可以向用户名添加要并入到请求中的用户的优选状态机,或者其可以被配置为认证服务器密钥分发中心(kdc)数据库中的共享秘密。
31.所述认证服务器将返回两条消息,其中的一条消息利用客户端的包含tgs名称/id、时间戳、寿命和tgs会话密钥的客户端秘密密钥来加密。在本文中所描述的状态机例如可以由返回包含已知当在后续消息中重复使用时要由客户端改变的值或时间戳的会话密钥的认证服务器采用。不知道要补偿给密钥的精确偏移的计算机黑客将不经意地执行标准kerberos协议,并且返回标称值并且揭示其不知道如何执行关于当实施kerberos认证协议时在认证状态机中包括时间参数的共享秘密。另外,当客户端机器应用用户口令和椒盐(salt)对第二消息进行解密以便获得tgs会话密钥时。可以要求用户在客户端上执行状态机并且输入包含时间戳的散列的不正确口令,并且然后输入正确口令。攻击者不会确切地知道为何正确地输入了破解的用户口令未成功地解密tgs会话密钥,并且可以被用作指示用户的账户可能已经受到攻击的系统事件。当然,如在本文中所描述地使用状态机并不限于仅通过这种方式扩展kerberos协议,提出其仅仅作为一个示例,以示出能够如何使用共
享秘密被系统管理员和用户所知的状态机的概念来补充认证协议并且增强恶意用户或软件服务的访问尝试的可检测性。
32.图4示出了诸如在图2和3中所示的诸如认证模块204和304的认证模块400的一个示例,其可以由诸如前述计算设备或网络资源的任何实体使用以控制对受保护资源的访问。认证模块400包括状态机引擎410、用户数据储存库420和共享秘密模块430。
33.状态机引擎410表示在一组状态和一组过渡方面对行为进行建模的计算组件。过渡是响应于外部输入而触发的从一种状态到另一种状态的变化。状态机引擎410在某一时间仅能够处于一种状态中。在这种情况下,可以根据要由待认证以便获得对所请求资源的访问的用户执行的动作(或者诸如预定义延迟的不动作)来表示触发状态改变的外部输入。状态机引擎410执行能够由其状态的列表、其初始状态以及针对每种过渡的条件(例如,用户动作或事件)定义的计算过程。
34.共享秘密模块430为要被允许访问受保护资源的每位用户存储状态机引擎410必须过渡通过的用户特有状态以及在那些状态之间过渡所要求的用户特有输入。为了方便起见,下文时而将所需的输入以及两种或更多种状态的序列称为状态机模式,构成被用于访问资源的共享秘密。在一些实施例中,所述状态机模式可以是要由状态机引擎410执行的编译软件代码的形式。通过这种方式,即使未经授权的攻击者要获得代码,也将仍然必须对其进行反编译,以供攻击者获得对受保护资源的访问。与软件模块的交互可以导致以预定义方式与另一软件模块的交互,以使对跟踪进行干扰。例如,软件模块可以在运行之后删除自身,使得攻击者不能够再现登录事件,因为现在缺失了中间件模块。能够在这种情形中使用状态机以触发当不能够完全信任网络或计算机系统时有用的一次性访问事件。在攻击者捕获网络流量并且破解散列化或加密的消息时,当擦除所述模块时,由服务器删除可访问代码路径。所述软件模块可以执行与操作系统口令散列化模块不同的散列化算法,以使针对用于保护所述系统的算法的暴力攻击更复杂,或者其可以实施诸如编程时间延迟的特征,其将通知系统现在可以接受口令。如果用户在模块到期之前尝试登录,则可以将其用于触发入侵并且禁用账户或某种其他登录特征,这提升了与账户相关联的更大风险的意识。各模块也可以实施平均攻击者不可检测的特征,诸如发送可以被视为典型垃圾邮件的内容,用户知道利用特定关键字对其做出响应,以在接下来的浏览器登录或访问尝试中触发访问。
35.重要的是要指出,在本文中所描述的对当前仅使用用户名和口令或pin码的系统应用口令状态机增强针对恶意攻击者在特定情形下访问的系统提供了更大的保护。例如,如果黑客能够安装按键记录程序,并且甚至在某种程度上设法记录用户键入其用户名和口令的视频,并且观察用户执行共享秘密状态机访问步骤,则共享秘密能够包括限制使用凭据的访问以及(一个或多个)恶意攻击者观察的特定状态机输入的数量的计划。如果将极限设定为一次使用,那么恶意攻击者不能够使用他们获得的信息来访问系统,即使该信息就是刚刚访问资源所需的。所述状态机模块能够是自适应共享秘密,诸如每次相继访问尝试应当使用字母数字顺序的下一亲缘名称,这将利用有限组的访问尝试而使所记录的回放攻击失败。自适应状态机甚至能够更复杂,使得算法发现更困难。与用于实施共享秘密状态机的软件模块相关地,所述系统例如能够在已经满足允许尝试次数时删除执行该一次性使用或有限次数使用模块必需的必要软件状态机模块。当针对状态机访问的使用次数已经过期
时,用户应当使用系统管理员提供给它们的另一种方法或公共秘密等。能够使用状态机访问系统资源的次数能够是一次、有限次数或无限次数。用户能够调用共享秘密状态机输入,并不是仅仅访问系统,而是替代地可以使用共享秘密状态机来删除对账户的所有访问、暂停或恢复基于状态机的访问、甚至删除账户等。当用户提升其账户时,例如,当登录到系统中并且用户希望过渡到管理员或根账户时,可以采用状态机,在这种情况下,他们可能需要在系统将提升其账户状态之前使用凭据连同状态机步骤。例如,用户可以创建与系统的本地或远程终端会话,并且使用其普通用户名和口令登录。系统管理员和用户可能已经或者尚未配置用户以执行状态机过程作为该登录的部分。当用户希望提升账户以获得更多特权(诸如根账户或管理员账户)时,他们可能需要提供用户名和口令并且在提升其账户之前执行状态机步骤。类似地,用户可能需要执行状态机步骤,连同其凭据,以切换用户账户、降低其特权等。被访问的客户端机器或远程服务器能够使用全局可访问数据库保持对访问的跟踪,以限制能够使用用户凭据和状态机来访问资源或特定资源等的次数。例如,可能仅在一天的特定时间、特定一组天数期间需要状态机,或者其可以具有过期日或时间而非用户可以访问系统的次数。状态机的共享秘密输入也能够是恶意攻击者可能在其系统中未配置的周边特定的某物,如从以太网mac地址为“48-0f-cf-61-e0-b1”的网络适配器或者触控板输入的特定供应商、系统主板序列号接收网络分组作为多步骤状态机的部分。
36.用户数据存储库420可以存储额外的用户凭据,在一些情况下,可能需要所述额外的用户凭据以获得对受保护资源的访问。例如,在一些实施例中,用户数据储存库420可以为每个用户存储用户名和口令。用户数据存储库420和共享秘密模块430可以被物理地维护在不同位置和不同安全数据结构中,以便降低未授权攻击者不恰当地获得对受保护资源的访问的可能性。
37.应当指出,在一些实施例中,在图4中所示的认证模块400的功能可以被并入到需要访问资源的一个或多个应用程序中,使得应用程序能够执行在本文中所描述的认证过程。
38.还应当指出的是,在本文中所描述的认证机制不会以任何方式限制可以采用的特定状态机模式(成功获得对资源的访问所必需的状态以及在那些状态之间过渡所需的用户动作的特定序列)。出于例示的目的,下文将提供数个非限制性示例。在一些实施例中,可以由个体用户选择或定制状态机模式。备选地,在一些情况下,可以为用户呈现一系列状态机模式,从所述一系列状态机模式中做出选择。在其他情况下,要使用的状态机模式可以由控制对所请求资源的访问的实体来指定。
39.在状态机模式的一个示例中,或者作为更大状态机模式的一部分,可以要求用户遵循三个步骤的序列。在第一步骤中,可以要求用户正确地输入他的或她的口令,在第二步骤中,不正确地输入口令,在第三步骤中,再一次正确地输入口令。应当指出,在认证过程期间,将不提示用户应当输入正确或不正确的哪种输入以执行状态机步骤。相反,这些步骤构成用户先前在初始配置过程期间确定的共享秘密。当然,所采用的步骤的具体数量(例如,用户必须正确和不正确地输入其口令的次数)以及执行它们的次序并不限于本示例中给出的那些。恶意攻击者执行这些步骤失败可以被用于触发入侵检测。在线资源也可以利用假造系统(通常称为蜜罐)诓骗用户的账户,当恰当地执行状态机时,由用户的实际账户来替代假造系统。恶意攻击者在蜜罐环境中采取的动作可以被用于更容易地识别入侵检测。
40.在状态机操作的另一示例中,用户可以在机器第一次启动时在提示中的登录处向客户端机器中输入其用户名和口令。然而,共享秘密即输入字段将在用户键入到输入字段中的字符流中的特定位置处或者在控制台提示处接收若干退格字符。所述系统正在跟踪与输入字段的每次用户输入交互,作为尝试登录的一部分。因此,用户知道输入其口令,并且包括两个不正确地输入的字符,然后添加两个退格符,并且修改打字错误以输入其有效口令。应当指出的是,退格符是客户端访问输入字段的状态机验证的部分。因此,人成功访问机器键盘接口可能需要成功匹配用户名和散列化口令,但是也具有系统驱动程序,其识别登录尝试中正确位置处的两个退格符、许可访问系统所需的状态总和。观测到用户输入其用户名而不知道已经结合的状态机的恶意攻击者将简单地输入他们观察到的有效口令,并且不知不觉中触发入侵检测,尽管其输入了在当前时刻可以由远程终端使用它们使用相同用户账户信息来访问客户端计算机的正确的用户名和口令。如果用户犯了错误,则他们能够简单地错误输入用户名和口令一次,然后再次尝试。或者,用户可能知道秘密密钥命令,如按下键盘的控制按键和大写字母“c”,例如作为口令输入的一部分,并且系统可以忽略在control “c”之前的每个字符,如果那不是用于推进状态机的过程的一部分,用户无需通过整个无效登录尝试。如果用户输入足够多删除字符以删除其全部输入,则它们也可以由系统用于开始对用户名和口令以及用于用户凭据秘密嵌入的击键的用户输入处理连同状态机输入处理。
41.对于构成用户名和口令登录尝试期间输入的字符的内容,所述系统并不限于先前接受的功能标准。例如,如果要求完成共享秘密状态机而无需实际向输入框中输入字符,则用户可以按下滚动锁定按钮或者shift键若干次而未计数任何其他并发的击键作为状态机步骤的一部分。在没有本文所述状态机的系统中,用户简单地按下shift键或控制键(ctrl)而没有其他输入,将基本被忽略,不被视为对用户名或口令输入字段中的输入,除非与它们一起按下了某个其他按键。可以说,本文描述的主题可以允许除了其他输入之外充分利用可能的键盘输入的整体,以完成由状态机指定的步骤。亦即,输入并不限于键盘输入,而是可能包括例如系统事件、触摸图案、鼠标移动、诸如键盘或鼠标等外围设备的附接和移除。
42.此外,针对并非仅仅局部登录访问过程的情形而言,能够使用用户名和口令,连同被用于驱动状态机的元按键。例如,它们能够被用于使用诸如ssh、bash、x11、vt220终端仿真器等终端来访问远程计算机。用户向终端中输入的客户端计算机可以跟踪所有输入并且将其发送到服务器,用于进行输入验证和状态机处理,或者可能有混合系统,其中,在客户端机器上完成一些处理,并且在服务器上完成一些处理,以评估输入和状态机动作的总体,例如,在远程系统为客户端提供了插入模块以运行一次用于要执行或输入共享秘密状态机步骤的情况下。
43.至于跟踪退格符以从输入字段去除字符并且然后对其进行修改作为状态机的一部分,应当指出,用户能够使用鼠标或其他用户输入设备以:选择输入到用户名、口令、或pin字段中的有效或无效字符,出现在屏幕上的随机字符,或字符的图像;使用鼠标在用户输入的不同位置选择、删除、剪切或粘贴,这使得攻击者使用按键记录器获得在用户名和口令(或pin)字段中输入的信息的能力更困难,因为他们将不知道用户删除或剪切和粘贴字符的位置,除非攻击者能够跟踪鼠标移动以及插入和删除点,屏幕上有什么,这也可能要求知道屏幕分辨率、字符位置、m字体大小等。因此,使用鼠标编辑用户名、口令或pin的输入使
得攻击者更难以使用远程攻击或其他机制成功向机器中输入用户的访问凭据以访问用户的账户。这还能够提供入侵报警,因为他们将不成功地跟踪与输入字段的用户交互。在一些实施例中,状态机甚至可以被配置为使得用户点击用户界面上的“ok”按钮或“submit”按钮或“sign in”按钮的特定区域,如按钮的特定角部或边,或者每次访问不同的边(等等),刷动按钮和点击等。未点击该特定区域或方法或者与之交互的攻击者将触发来自入侵检测分析系统的严格检查,其基于点击(或输入动作)距特定区域或预期方法多远,可以指出账户受到入侵或呈现被入侵的升高的风险。
44.在相关情形中,拥有例如5位pin来访问atm机的用户可以与其银行具有共享秘密。他们可以故意错误地输入数位之一(例如,第三位),然后正确地输入另两个数字,然后返回并删除三个数字,以修改打字错误,并且正确输入所有5位。atm状态机将把整组编辑看作pin的验证的一部分,其中,用户不需要记住精确的长pin,而要输入的秘密密钥总数不超过5个,并且做出校正的字符串中的位置和使用的无效数字是共享秘密。能够设想到其他示例,其中,重复该过程若干次,之后系统许可访问,尽管用户仅记得具体的5位序列。例如,所述共享秘密可以是:系统将在接受实际pin之前从用户接受更长的pin,由此在不需要系统看起来需要其的情况下实现两因子认证。输入访问状态机的失败可以被用于触发入侵检测系统或者在账户上提供警报。最后,一旦访问了atm机器,用户就可以执行已知的动作,如响应于终端提出问题而按下(一个或多个)用户界面按钮的替代形式或组合,所述问题诸如是“您需要收据吗?”,当提供选项“是”和“否”时(替代或补充选择是或否),需要它们的全部来完成状态机登录动作,用于从atm机访问其账户。当然,前述示例并非旨在作为方案的穷举列表。配置参数仅受到在可扩展状态机认证系统中能够捕获的共享秘密种类的创建的限制。
45.在状态机模式的另一示例中,或者作为更大状态机模式的一部分,所述共享秘密可以包括一个或多个数字或者其他字符。在认证过程期间,可以相继地为用户呈现一系列不同数字或字符,其中的每个都可以代表单种状态。作为状态机模式的一部分,为了从一种状态过渡到另一种状态,可以要求用户在先前指定的数字出现在显示器上时选择它。因此,在本示例中,为用户呈现不正确状态的序列,但是必须等候正确状态被呈现,以便得到认证。类似地,在另一示例中,所述共享秘密可以包括特定问题,诸如询问用户在哪座城市出生的问题,并且他们将通过将其正确地输入而推进状态(或者更精确的不正确答案,诸如以字母d开头的华盛顿州的任何城市),并且然后利用其实际信息来追踪。(注意,典型攻击者可能从个人的公开可用社交网络简档获得网站典型询问的正确备份问题,该信息将不足以用于状态机增强的基于认证的系统。)在认证过程期间,可以为用户呈现一系列问题,并且用户仅回答构成共享秘密的一个问题。如果用户回答任何其他问题,即使回答正确,也将拒绝访问资源。
46.在状态机模式的另一示例中,或者作为更大状态机模式的一部分,用户正在尝试获得对具有多个域的web站点服务提供商上的账户的访问,所述多个域诸如是针对不同国家的不同域。例如,如果用户希望进入网站abc.co.us上的账户,可以要求他或她经由其所属国家的域之一,诸如abc.co.fr,来进入该网站。亦即,为了在认证过程期间从一种状态过渡到另一种状态,可以要求用户通过另一网站而不是通过直接导航到期望网站来访问期望的网站。服务器可以在用户机器上存储cookie或者从其本地/优选域abc.co.us通知在用户
后续登录尝试中并入的后端模块。可以配置该系统,使得用户不必成功地访问远程域,而仅仅输入用户名和特定不正确的口令,以推进状态机,然后从其正常期望的域接受用户的访问。在前述示例中,尝试登录到abc.co.fr的用户将足以记录系统事件,所述系统事件为用户提供了例如状态机机会,以使用其用户名和口令来访问abc.co.us。这可能受到时间限制,因此对于接下来的例如30秒而言,用户可以尝试使用这种一次性或多次使用访问来访问abc.co.us。
47.类似地,用户可能需要将其浏览器引导到公共网站,诸如www.contoso.com,然后刷新浏览器若干次,服务器然后注意到来自客户端ip地址的行为,并且使用该信息继续进行状态机的步骤,其最终接受用户向输入字段中输入其用户名和口令。用户浏览器可以运行由服务器提供的模块,以接收每个用户输入字符,以完成用户向输入字段中输入一组字符的效果,所述一组字符包括字符和退格符或者其他元字符,作为用户名和口令输入连同状态机输入的一部分。用户可能具有输入到输入框中的特殊字符码,其是从来自远程系统的特殊电子邮件或文本消息拷贝/粘贴的,用户使用与远程管理员的共享秘密来修改它们。例如,用户可以向从服务器接收的pin码来添加其母亲的生日。状态机共享秘密可以包括刷新主页3次,并且进入到网站上的网站搜索框中,输入诸如pin或口令的秘密。在执行该搜索之后,实际可以由远程服务器来跟踪,远程服务器然后督促用户实际登录状态。根据www.contoso.com处的信息有多敏感,未能遵循共享秘密状态机的任何用户可以让其账户暂停或者让其ip地址被阻止。用于www.contoso.com的远程访问状态机秘密可以简单的是:想要访问ip地址的任何机器都将尝试访问用户提供的秘密url,诸如www.contoso.com/11223344userx,并且服务器记录其访问该url的ip地址。然后,用户访问www.contoso.com,并且被呈现以用户名和口令字段,并且如果他们正确地输入其用户名和口令,则许可进行正常访问,仅仅因为他们在尝试利用其用户名和口令尝试访问网站之前通过请求共享秘密url而完成了状态机访问的第一部分。管理员可以具有策略,其使用每个账户的特定url或者针对超过一个用户的公共url。如果用户发现他们偏离了预定的状态机脚本,可以使用秘密url来重置状态机,并且可以使用该共享秘密来向远程系统指示他们想要重置并重新开始。重置和重复尝试的次数能够被限于每天、每月、每个用户等一次或特定次数的重置尝试,或者能够将其账户的状态变为暂停、删除等。
48.在状态机模式的另一示例中,或者作为更大状态机模式的一部分,共享秘密可以要求用户响应于一次或提示而输入不正确的信息。例如,如果为用户呈现图片,则可以要求用户输入表示其反义的对象的名称。例如,如果为用户呈现水的图片,则共享秘密可以是相反意义的答案,在这样的情况下,可以要求用户输入“火”。
49.在状态机模式的另一示例中,或者作为更大状态机模式的一部分,共享秘密可以要求用户在触摸屏上绘制一系列滑动图案,或者在触摸屏上轻击图案,或者,如果计算设备包括惯性传感器,则以特定方式晃动计算设备。
50.在又一示例中,可能是这样的情况;在做出访问请求决策之前或当时,未必要完成所有状态机操作。在输入用户名和口令之后,可以许可用户访问计算机资源,然而,攻击者不知道的是,系统可能在降低功能模式下操作,直到用户执行共享秘密动作为止,所述共享秘密动作诸如是禁用/启用wifi、将鼠标移动到屏幕的特定拐角或者轻击屏幕的某一区域特定次数。如果用户未能执行这些动作,则系统将不启动使得攻击者能够向/从系统拷贝信
息的任何服务或特征。计算机可以激活用户对设备的偏好,以仅执行与找到其电话等相关的丢失设备在线恢复服务。另外,系统可以进入禁用状态,直到用户登录到远程门户中并且通过扩展手段来验证其身份。状态机行为的该示例是:被集成到认证层通知中的各种类的行为软件模块的额外示例能够被用于识别恶意攻击者。所述系统可以对信息进行高度加密或删除信息,并且在用户成功完成完整的登录状态机之后将其恢复。此外,所述系统可以将用户登录到伪造账户或蜜罐机器中,在此他们被系统中各种模拟被破坏特征挫败,诸如频繁的崩溃、关于系统事件的伪造消息或者人为的存储器破坏和/或应用错误,usb端口或驱动器被禁用,如同硬件错误一般,显示器驱动器闪烁或模拟屏幕或触摸输入的不可操作区域,以及电池充电系统不再实际对电池充电。也可以为用户呈现伪造的蜜罐文件,在被访问时,蜜罐文件让系统进入禁用状态,直到基于当前用户表现出成功完成状态机质询或者对可用于确定用户权限或身份的适当水平提问做出响应而执行身份检查为止。
51.图5是流程图,其示出了用户可以用于预先配置认证机制的过程的一个示例,例如,图2和3中的认证模块204和304,通过可以经用户界面访问的计算设备的用户设置/配置菜单。用户在框510处发起认证或访问控制过程。在框520处,在注册步骤期间,为用户呈现用户设置/配置界面,通过该界面,用户可以建立认证,设置访问控制规则作为登录流程的一部分,和/或对应用程序和功能进行分类以控制对本地资源和实体或者网络资源的访问。对于初始配置而言,可以通过由用户界面对有效认证和访问控制的创建和/或选择来引导用户。通过这种方式,用户能够建立允许用户访问(一个或多个)期望的资源的账户。
52.作为注册框520的一部分,用户与认证机制建立共享秘密,其控制对期望的资源的访问。如先前提到的,共享秘密包括由状态序列定义的状态机模式,在每种状态期间,要提供预定义的认证信息。上文已经给出了这样的序列与在它们之间转换所需的认证信息的非限制性示例。注册过程也可以被用于建立其他凭据,诸如也可能需要用户名和口令以获得对期望的资源的访问。
53.在一些实施例中,可以为用户呈现用户界面,其中,用户能够组装包括各种可用状态机元素的状态机方案。例如,用户可以配置电子邮件应用(“app”)以要求在许可访问之前两次无效用户名尝试,而视频流传输应用可以简单地要求两次有效预配置指纹扫描的模式(其将由状态机在用户界面上报告为无效,但是在内部被成功处理以推进到下一访问状态),接着是无效指纹扫描(用户使用未配置的指纹),最后是有效指纹扫描。应当意识到,很多现代用户界面提供图形工具,使得当由用户、系统管理员、信息技术(it)管理员或者辅助用户进行账户维护的远程客户支持人员在创建或修改账户(在线地或在本地)时,容易将各种应用与个性化或共享状态机方案组装在一起并且进行配置。
54.接下来,在框530处,合适的认证或访问控制机制接收共享秘密和任何额外的凭据。额外的凭据(如果采用)被存储在第一安全数据结构中,诸如被存储在维护用户凭据的数据库中。为了有额外的安全性,经编译的可执行代码模块或其他秘密可以在框530处被存储在第二单独的安全数据结构中。另外,共享秘密的识别符或对共享秘密的其他标引与额外凭据相关联并且也被存储在第一数据结构中。该识别符可以由访问控制机制用于从第二数据结构获得共享秘密,从而能够将其应用于状态机。所述访问控制机制然后使用识别符或其他标引来获得并且执行共享秘密,其可以是经编译的可执行代码模块(例如,二进制可执行代码、javascript、php、.net、java、python、cgi-bin脚本)。共享秘密状态机识别符可
以被存储在数据库中,其识别执行共享秘密验证的模块,但是如果攻击者获得对用户名和口令数据库的访问,甚至如果他们能够对用户名和口令进行解密,则将对攻击者确定如何登录到系统中无用。通过这种方式,即使恶意行为者要获得对第一安全数据结构中用户凭据的访问,他们将仍然不能访问受保护资源,因为他们将仅拥有其共享秘密的识别符,而不是共享秘密自身。识别符可以指向空内容、入侵检测模块或者实际共享秘密模块或特征,也可以是在用户与系统管理员之间的共享秘密。此外,即使他们要获得对共享秘密的访问,他们仍然不能容易地执行代码。状态机处理所涉及的部分功能可以被存储在信任平台模块(tpm)内部或者与之相关,这意指与tpm进行交互的状态机代码不能够被拷贝并且不能在具有不同tpm配置的另一计算设备上成功执行。例如,用户名和口令文件可以指向第一计算机系统上的状态机算法#12,所述第一计算机系统具有特定支持算法,所述特定支持算法被配置为与该系统的tpm进行交互,所述tpm保持算法秘密的细节。由于该tpm算法尚未被安装在第二计算机系统上,那么执行与tpm进行交互的状态机的代码模块将不恰当地工作,即使将该算法拷贝到另一系统。
55.应当意识到,用户可能已经使用视觉界面或程序块创建了定制访问状态机。该秘密状态机然后由服务器或客户端编译成加密数据和/或可执行脚本,并且可以包括针对状态机输入和有效响应的单向散列化类型功能,甚至利用不对称加密来保护状态机代码和数据状态。所述模块可以被存储在本地客户端处或者被存储在远程机器上,并且稍晚在用户尝试访问特定(每种资源不同模块)或更一般情形(共享的一个或多个模块)(一个或多个)资源时被取回,作为实施访问状态机的一部分。所述算法可以被拆分,并且一些秘密区段被存储在tpm中,tpm将成功状态机关联到已经被配置为执行秘密操作或解密等的tpm。在已经成功存储凭据和共享秘密之后,该过程在框540处终止。
56.图6示出了用于提供对资源的访问控制的方法的一个示例。所述方法开始于框610,此时用户发起登录或其他认证流程以获得对一个或多个资源的访问。(客户端或远程机器此时可能已经在执行状态机或交换数据或模块,以实现状态机验证增强。)在框620处,用户提供任何必要的凭据(例如,用户名和口令以及额外的状态机输入,诸如击键、事件等),以及由共享秘密指定的序列中构成共享秘密的预定义的认证信息,以将状态机推进到期望的“批准认证”状态。例如,可以将用户状态机编程以预期用户会输入正确用户名,但是两次输入错误口令(在这种情形中,无效口令以前一直没有用户的有效口令),然后在第三次尝试时输入正确口令。认证机制然后在框630处确定是否以共享秘密中预定义的序列中正确地输入了预定义的认证信息。如果是,则在框640处许可访问所请求的资源,并且过程结束。如果未正确地提供预定义的认证信息,则所述方法可以进行到可选框650,在此期间,认证机制可以确定在阻止访问资源或暂停账户之前允许用户做出不正确认证尝试的次数。无效尝试的次数可以被编码在与被访问资源相关的软件模块中,或者在多种资源之间由认证系统、安全性策略、内核和/或操作系统施行的系统范围参数来配置。作为该可选步骤的替代,认证机制可以简单地为用户提供默认尝试次数,以在阻止访问资源或暂停账户之前成功完成认证过程。
57.在可选框650处,认证机制检查用户输入的作为对共享秘密的补充的凭据之一的复杂度。例如,认证机制可以检查用户已经在框620处输入的口令。被检查的凭据越复杂,就给用户越多的尝试次数以正确完成认证过程,相反,被检查的凭据越不复杂,则将给用户越
少的尝试次数来正确完成认证过程。可以通过多种方式中的任何方式来确定被检查凭据的复杂度。例如,对于数字字母混合口令而言,复杂度可以部分地基于口令中字符的数量,以及构成口令的字母、数字和其他符号的多样性。所述算法可以允许特定数量的无效重新尝试,作为可接受风险总量的表示。除了重新尝试次数之外,能够使用其他因素来确定口令的复杂度以及其与先前存储的口令的关系,以影响增加无效访问尝试风险因素的权重的决策,趋向于确定重新尝试次数和无效输入范围已经超过可接受阈值与否。例如,如果用户过去已经使用了口令“asdfjkl#1”和“asdfjkl#2”,当前口令为“asdfjkl#3”,则可以预计已经获得旧口令文件的攻击者可能尝试“asdfjkl#3”作为当前口令,因此该口令复杂度可以被认为很低,尽管其包含大写、小写、数字和符号。如果口令正确但是在更少总重新尝试次数内状态机无效,则在状态机处稍微无效的尝试可能触发更高疑似风险。而如果用户从未使用具有“asdfjkl#”序列的口令,并且输入“asdfjkl32”,如果下一次尝试为“asdfjkl#2”,则可能不触发为显著风险,因为可以设想到,用户错过了shift键,状态机的其余部分被正确地执行。
58.使用成功完成认证过程的默认尝试次数或者在框650处确定的次数,认证机制将在决策框660处确定是否已经达到重新尝试次数(或累积风险)。如果已经达到,则认证机制可以在框670处在某时间段(例如,10分钟)内阻止访问资源,之后可以允许用户做出另一次尝试,或者替代地,可以暂停用户的账户,要求用户采取额外步骤以使其复原。如果尚未超过获得访问的尝试次数,则该过程返回到框620,这允许用户再一次尝试获得对资源的访问。该系统甚至可以使用该事件来触发对状态机的启用,从而除了标准用户名和口令之外,在一段时间之内,或者为了将来的登录尝试,或者直到可以确认用户身份或口令改变等,都需要额外的输入。应当意识到,尽管在图6中未示出,可以许可用户访问所请求的资源640或所请求资源的部分集合,然而仍然需要提供更多系统状态机输入,诸如禁用wifi和启用wifi(如更早提到的或者其他众多示例所提到的,如轻击屏幕的特定区域、晃动设备、跟踪图案等),以完成整个认证过程。可以使用户置于蜜罐状态640中,看起来被许可访问系统或资源,而实际上未被许可完全访问实际系统资源,直到他们完成由软件模块要求的认证步骤或者其他状态配置要求。如果他们未能执行最终状态机访问要求,他们能够退出系统,并且其可以如早前提到的进入降低的功能或特殊功能状态。
59.图7示出了用于提供对资源的访问控制的方法的另一示例。本示例类似于在图6中所示的示例,只是其被设计成应对当用户输入不正确口令时的情形,当系统预期两次无效尝试(作为一个示例)时,该不正确口令恰好是旧的先前有效的口令。这种情形可以用于例示一个实施例,并且不被解读为对在本文中所描述的主题的限制。在本实施例中,状态机可能正在查找不匹配预期参数的输入,并且其可能基于先前共享的秘密排除可接受的有效或无效输入以防止恶意攻击者能够使用旧信息获得对系统的访问。该方法在框710处开始,此时用户发起登录或其他认证流程并且进行到框712,在此,用户输入用户名和口令以及构成由共享秘密指定的序列中的共享秘密的预定义的认证信息。在决策框714处,该认证机制确定是否用户名和口令两者都正确。例如,如果用户名正确但是口令不正确(框716),则该过程进行到框718,在此,认证机制确定不正确口令是否是一次性有效的过期口令。如果是这样,该所述过程进行到框710,在此,阻止访问资源或者暂停用户的账户。与先前口令进行这种比较防止攻击者从可能与其当前口令密切相关的网络钓鱼攻击发现用户的旧口令。如果
攻击者获得用户的旧口令“asdfjkl#1”,然后猜测“asdfjkl#2”,然后猜测“asdfjkl#3”,他们将不知不觉中能够正确地导航通过预期两次无效口令尝试接着是第3次正确口令输入的状态机。能够设置该系统以针对可能变成用户容易记住的常用状态机模式的内容,防止这样的有些随机但是社会工程化的攻击。所述系统可以允许恶意用户在确定移动到框770之后随机地保持尝试用户名口令,从而系统不过早地揭示攻击者实际输入过先前有效的口令。后续的访问尝试将在入侵检测的同时保持攻击者繁忙,最终用户通知以及对攻击源的恰当跟踪被识别并且可能在将来的访问尝试中针对其他用户的账户被阻止。
60.如果在框716已经确定用户名和口令未被正确地提供,或者如果在框718处,发现用户名正确但是口令是先前有效的口令,则该过程进行到框750,如下文所讨论的。
61.另一方面,如果在决策框714处,用户输入的用户名和口令正确,那么该过程进行到框720。在框720处,该认证机制然后确定是否以共享秘密中预定义的序列在框712处正确地输入了构成共享秘密的预定义的认证信息。如果是,则在框740许可访问所请求的资源,并且过程结束。如果未正确地提供预定义的认证信息,则所述方法可以进行到可选框750,在此,类似于图6中的框650,认证机制可以基于口令或其他凭据的复杂度,确定在阻止访问资源或暂停账户之前允许用户做出不正确认证尝试的次数。作为该可选步骤的替代,认证机制可以简单地为用户提供默认尝试次数,以在阻止访问资源或暂停账户之前成功完成认证过程。状态机能够被配置为在这种情形中仅允许此前从未使用过的无效口令尝试,因为能设想到,恶意攻击者可能访问用户的旧口令,这不应当被视为有效状态机过渡。
62.使用成功地完成认证过程的默认尝试次数或者在框750处确定的次数或者如上文所提到的风险计算,认证机制将在决策框760处确定是否已经达到该次数。如果已经达到,则该过程进行到框770,在此,认证机制可以在某段时间(例如,10分钟)内阻止访问资源,之后可以允许用户做出另一次尝试,或者替代地,可以暂停用户的账户,要求用户采取额外步骤以使其复原。如果尚未超过获得访问的尝试次数,则该过程返回框712,这允许用户再一次尝试获得对资源的访问。
63.能够以几乎不受限数量的方式实施用户在尝试访问计算资源时将执行的状态机步骤的创建。下文将给出若干示例,然而,其并非意在限制在本文中所描述的主题的范围,而是要充当示例,供一些人尝试提出一种创建状态机步骤并且与其用户共享的方法。首先,客户端机器能够通过打开命令提示并运行应用程序而为用户呈现具有选项列表的用户界面,所述应用程序诸如是:
64.c:\create_usr_state_machine.exe
65.客户端计算机然后可以提供基于文本的用户界面,在以下示例中,为用户提供10个选项,加上第11个学习模式。用户将通过按照用户想要执行的次序输入表示他们想要选择的每种状态的数字而构建状态机,这在用户与本地机之间构建了共享秘密。用户状态机可执行项然后利用这种界面提示用户:
66.选择一种或多者状态以定制您的访问状态机:
67.选项1:错误地输入口令
68.选项2:正确地输入口令
69.选项4:禁用wifi
70.选项5:启用wifi
71.选项6:连接到当前wifi接入点名称
72.选项7:按下num lock键
73.选项8:按下ctrl键
74.选项9:向右移动鼠标
75.选项10:向左移动鼠标
76.选项11:学习模式
77.请选择您的第一状态:
78.(用户然后键入1和10之间的数字选项并按下回车。)
[0079]“请选择您的第一状态:”《假设用户输入1》 《回车键》
[0080]“请选择您的第二状态:”《假设用户输入1》 《回车键》
[0081]“请选择您的第三状态:”《假设用户选择6》 《回车键》
[0082]“请选择您的第四状态:”《假设用户选择9》 《回车键》
[0083]“请选择您的第五状态:”《假设用户选择2》 《回车键》
[0084]“请选择您的第六状态:”《假设用户按下回车键而未做任何选择》
[0085]
本地机在计算机上存储状态机,并且认证模块312将比较由用户呈现的输入和环境与该用户将来的访问尝试,以确定他们在许可访问资源之前是否成功遵循状态机。为了用户完成前述配置的状态机,用户将两次错误地输入口令,然后连接到wifi ssid,然后向右移动鼠标,然后正确地输入口令,以获得访问。用户还可以具有其他访问状态机或者与该同一用户账户相关联的其他口令。可以给予用户选项以命名状态机,以辅助他们记住他们想要执行或删除的不同地配置的状态机。
[0086]
用户可以如何创建由状态机执行的步骤以增强其用户名和口令或其他认证凭据(诸如指纹或pest)的另一示例是使用帮助应用程序,所述帮助应用程序在状态机步骤执行有效登录时记录它们,而该工具无需记录其秘密凭据,如可能随时间改变的用户名和口令。使用户容易记录其用户界面交互的现有应用程序的示例被称为“steps recorder”应用程序,该应用程序存在于microsoft windows 10操作系统上,默认安装路径为c:\windows\system32\psr.exe,可以通过搜索“steps recorder”应用程序来定位它。该应用程序当前不支持创建访问状态机,而是充当应用程序能够如何记录用户的交互而不记录其秘密凭据并且将所述交互保存在文件中的示例。能够为用户提供选项以在创建账户时、口令被修改时、或者在从用户账户管理员用户界面页之后的任何其他时间来创建认证状态机。用户能够调用该应用程序以记录其访问状态机,从计算机登出,然后在登录尝试期间执行他们每次使用期望的状态机登录到计算机中时将重复的状态机动作。当用户使用有效凭据来访问计算机时,他们能够停止记录并且在特定名称下保存状态机,或者将其用作默认访问状态机。用户也能够编辑所记录的状态机以将参数配置为实况值,如大于10秒的延迟,而不是由实用程序记录的8.5秒延迟。
[0087]
用户现在可以配置用户访问状态机,这将要求他们例如错误地输入其口令两次,并且被连接到当前的wifi接入点命令,之后他们在其口令上点击回车以进行第三次访问尝试,他们向右移动其鼠标。在且仅在他们以正确次序执行所有这些状态时,他们的用户名和口令凭据才会通过认证检查,并许可他们访问计算机。当用户在家并且想要用户账户具有短口令时这可能是有用的,这利用了如下事实:他们已经输入了登录口令以加入其wifi网
络。如果wifi不受口令保护,那么根据客户端机器的安全性策略设置,用户可能不能够选择其作为状态机。
[0088]
上文提到的样本应用程序包括选项11,可以将客户端计算机置于学习模式中,其记录来自用户的数次击键或输入,诸如用户启用和禁用wifi,测量用户轻击的频率,用户讲出的音频,诸如在访问尝试期间要讲出的口令短语。在用户执行所需数量的事件之后,他们能够按回车键以停止记录事件。所述系统可以要求用户将步骤执行两次或更多次,以便确保系统和用户两者对共享秘密有相互理解并消除疑似输入。用户能够审查由应用程序记录的状态列表,并且编辑它们,移除用户发现不再需要的内容或者修改状态。用户例如可以编辑状态机输入状态,预期针对关键字“2017年3月13日”的语音打印状态,而不是构成具有诸如“今天的日期”的元短语的口头词语。这意味着,当用户尝试访问时将说出当天的日期,而不是系统寻找具有与用户相同的语音水印的口令短语。所述系统将在访问请求期间侦听用户语音输入,用户语音输入能够被转换成文本,结果是当天的日期,以匹配访问系统所需的状态输入之一。
[0089]
样本应用程序已经被描述为本地客户端应用程序,然而,其可以在浏览器中运行并且是由例如web网站提供的增强安全访问特征的部分。状态机输入将被提供给用户以进行配置,或者用户可以在学习模式中将其创建为所解释的样本应用程序中的选项11。无论哪种方式,远程站点和用户现在都已经创建了共享秘密以用于为其账户提供额外保护,并辅助将来检测与其(一个或多个)账户相关的恶意活动。
[0090]
状态机的配置可以得到一个模块,所述模块具有在状态机中硬编码的状态,并且将要求攻击者对其进行反编译以理解具有不完整信息的代码,该不完整信息由独立于访问状态机配置数据相关的模块的远程服务器来维护,使得更难以对所需步骤进行反向工程。备选地,状态可以是没有可执行代码的一组配置选项,其能够被加密并存储在本地机、受信任平台模块(tpm)或远程服务器上。用户或浏览器仅可以在正确地输入用户名和口令以解锁尝试并执行状态机的机会之后取回与用户名相关联的远程访问数据或模块。客户端机器可以发送与预期状态值混合的过剩量的数据,这是与远程服务器之间的共享秘密,远程服务器能够挑选出尝试访问远程站点的用户的特定值或属性。如果客户端取回该模块或数据并且未能执行所需状态机步骤,则所述远程服务器可以从可接受的状态列表中删除访问状态机配置。远程站点可以为用户提供支持的状态机访问的列表连同一些诱饵名称,以辅助户记住他们配置了哪些状态机来访问远程站点。
[0091]
图8示出了针对诸如图1中所示的计算设备或网络资源的设备的示例架构800,其能够运行用于实施在本文中所描述的访问控制机制的各方面的在本文中所描述的各种组件。因此,例如,在图8中所图示的架构800示出了可以适用于服务器计算机、移动电话、pda、智能电话、台式计算机、上网本计算机、平板计算机、gps设备、游戏控制台和/或膝上型计算机的架构。架构800可以用于运行在本文中所提出的组件的任意方面。
[0092]
图8中所图示的架构800包括:cpu(中央处理单元)802;系统存储器804,其包括ram 806和rom 808;以及系统总线810,其将存储器804耦合到cpu 802。包含基本例程的基本输入/输出系统被存储在rom 808中,所述基本例程帮助在架构800之内的元件之间(诸如在启动期间)传输信息。架构800还包括用于存储软件代码或者用于实施应用程序、文件系统和操作系统的其他计算机执行代码的大容量存储设备812。
[0093]
通过被连接到总线810的大容量存储控制器(未示出)将大容量存储设备812连接到cpu 802。大容量存储设备812以及与其相关联的计算机可读存储介质提供针对架构800的非易失性存储装置。
[0094]
尽管在本文中所包含的计算机可读存储介质的描述是指大容量存储设备,诸如硬盘或cd-rom驱动器,但是本领域的技术人员应当意识到,计算机可读存储介质能够是能够由架构800访问的任何可用存储介质。
[0095]
例如而非限制,计算机可读存储介质可以包括在用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术中实现的易失性和非易失性、可移除和不可移除介质。例如,计算机可读介质包括但不限于:ram、rom、eprom(可擦除可编程只读存储器)、eeprom(电可擦可编程只读存储器)、闪存存储器或其他固态存储器技术、cd-rom、dvd、hd-dvd(高清晰度dvd)、蓝光或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁性存储设备、或者能够被用于存储所需信息并且能够由架构800访问的其他介质。
[0096]
根据各实施例,架构800可以使用通过网络通往远程计算机的逻辑连接在联网环境操作。架构800可以通过被连接到总线810的网络接口单元816连接到网络。应当意识到,还可以利用网络接口单元816来连接到其他类型的网络和远程计算机系统。架构800还可以包括用于从包括键盘、鼠标或电子笔(在图8中未示出)的若干其他设备接收并处理输入的输入/输出控制器818。类似地,输入/输出控制器818可以向显示屏、打印机或其他类型输出设备(在图8中也未示出)提供输出。
[0097]
应当意识到,在本文中所描述的软件组件当被加载到cpu 802中并运行时,将cpu 802和总体架构800从通用计算系统转换成定制为促成在本文中提出的功能的专用计算系统。cpu 802可以由任意数量的晶体管或其他分立电路元件构成,其可以个体地或共同地采取任意数量的状态。更具体而言,响应于在本文中所公开的软件模块内包含的可执行指令,cpu 802可以作为有限状态机来操作。这些计算机可执行指令可以通过指定cpu 802如何在状态之间过渡而转换cpu 802,由此转换构成cpu 802的晶体管或其他分立硬件元件。
[0098]
编码在本文中所提供的软件模块还可以转换在本文中所提供的计算机可读存储介质的物理结构。在本说明书的不同实施方式中,物理结构的具体转换可以取决于各种因素。这样因素的示例可以包括但不限于:用于实施计算机可读存储介质的技术、计算机可读存储介质被表征为主要存储装置还是次要存储装置等。例如,如果计算机可读存储介质被实施为基于半导体的存储器,就可以通过转换半导体存储器的物理状态而在计算机可读存储介质上对本文所公开的软件进行编码。例如,该软件可以转换晶体管、电容器或构成半导体存储器的其他分立电路元件的状态。该软件还可以转换这样的组件的物理状态,以便在其上存储数据。
[0099]
作为另一示例,可以使用磁或光学技术来实施在本文中所公开的计算机可读存储介质。在这样的实施方式中,当软件在其中被编码时,在本文中所提出的软件可以转换磁或光学介质的物理状态。这些转换可以包括改变给定磁性介质内的特定位置的磁特性。这些转换还可以包括改变给定光学介质之内的特定位置的物理特征或特性以改变那些位置的光学特性。物理介质的其他转换也是可能的,而不脱离本说明书的范围和主旨,提供前述示例仅仅为了方便本论述。
[0100]
考虑到上述内容,应当意识到,很多类型的物理转换发生于架构800中,以便存储
并执行在本文中提出的软件组件。还应当意识到,架构800可以包括其他类型的计算设备,包括手持式计算机、嵌入式计算机系统、智能电话、pda以及本领域内的技术人员已知的其他类型的计算设备。还设想到了,架构800可以不包括图8中所示的全部组件,可以包括图8中未明确示出的其他组件,或者可以利用与图8中所示完全不同的架构。
[0101]
图9是诸如包括多种可选硬件和软件组件的移动电话或智能电话的另一例示性计算设备902的功能框图。计算设备902中的任何组件都能够与任何其他组件通信,但是,为了便于说明,未示出全部连接。所述计算设备能够是任何多种计算设备(例如,蜂窝电话、智能电话、平板计算机、手持式计算机、可穿戴计算设备、hmd设备、pda等)并且能够允许与一个或多个移动通信网络904(诸如蜂窝或卫星网络)进行无线双向通信。
[0102]
计算设备902能够包括用于执行如信号编码、数据处理、输入/输出处理、功率控制和/或其他功能的这样的任务的控制器或处理器910(例如,信号处理器、微处理器、微控制器、asic(专用集成电路)或者其他控制和处理逻辑电路)。操作系统912能够控制组件902的分配和使用,包括功率状态、上锁定状态和下锁定状态,并为一个或多个应用程序914提供支持。应用程序能够包括通用移动计算应用程序(例如,图像捕获应用程序、邮件应用程序、日历、联系人管理器、web浏览器、消息传送应用程序)或者任何其他计算应用程序。
[0103]
计算设备902能够包括存储器920。存储器920能够包括不可移除存储器922和/或可移除存储器924。不可移除存储器922能够包括ram、rom、闪存存储器、硬盘或者其他众所周知的存储器存储技术。可移除存储器924能够包括闪存存储器或用户身份模块(sim)卡,其在gsm(全球移动通信系统)系统中是众所周知的,或者其他众所周知的存储器存储技术,诸如“智能卡”。存储器920能够被用于存储用于运行操作系统912和应用程序914的数据和/或代码。示例数据能够包括要经由一个或多个有线或无线网络向和/或从一个或多个网络服务器或其他设备发送和/或接收的网页、文本、图像、声音文件、视频数据或其他数据集。
[0104]
存储器920还可以被布置为或者包括在用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术中实施的一种或多种计算机可读存储介质。例如,计算机可读介质包括但不限于:ram、rom、eprom、eeprom、闪存存储器或其他固态存储技术、cd-rom(紧致盘rom)、dvd(数字通用盘)、hd-dvd(高清晰度dvd)、蓝光或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁性存储设备,或者能够被用于存储所需的信息并且能够由设备902访问的任何其他介质。
[0105]
存储器920能够被用于存储诸如国际移动用户身份(imsi)的用户识别符和诸如国际移动设备识别符(imei)的设备识别符。能够向网络服务器传输这样的识别符以识别用户和设备。设备902能够支持一个或多个输入设备930,诸如触摸屏932;用于实施语音识别、语音命令等的语音输入的麦克风934;相机936;物理键盘938;轨迹球940和/或接近度传感器942;以及一个或多个输出设备950,诸如扬声器952以及一个或多个显示器954。在一些情况下,还可以利用使用手势识别的其他输入设备(未示出)。其他可能的输出设备(未示出)能够包括压电或触觉输出设备。一些设备能够用于超过一个输入/输出功能。例如,触摸屏932和显示器954能够被组合成单个输入/输出设备。
[0106]
无线调制解调器960能够被耦合到天线(未示出)并且能够支持处理器910与外部设备之间的双向通信,如本领域所公知的。调制解调器960被一般性示出,并且能够包括用于与移动通信网络904通信的蜂窝调制解调器和/或其他基于无线电的调制解调器(例如,
蓝牙964或wi-fi 962)。无线调制解调器960典型被配置用于与一个或多个蜂窝网络,诸如gsm网络通信,用于在单个蜂窝网络之内、在蜂窝网络之间或者在设备和公共交换电话网(pstn)之间进行数据和语音通信。
[0107]
所述设备还能够包括至少一个输入/输出端口980、电源982、卫星导航系统接收器984,诸如gps接收器、加速度计986、陀螺仪(未示出)和/或物理连接器990,物理连接器990能够是usb端口、ieee 1394(火线)端口和/或rs-232端口。不需要或完全包括所图示的组件902,因为能够删除任何组件并且能够添加其他组件。
[0108]
现在通过例示给出本访问控制机制的各种示范性实施例,不作为所有实施例的穷举列表。一个示例包括一种用于提供对资源的访问控制的方法,包括:由一个或多个处理器从用户接收对访问资源的认证请求,所述资源受到在用户与认证机制之间建立的共享秘密的保护,所述认证机制控制对资源的访问,所述共享秘密包括预定义的状态序列,在每种状态期间,要提供预定义的认证信息;由一个或多个处理器接收针对每种状态的用户指定的信息(或者系统可检测信息,如用户输入手势或屏幕轻击或点击、存在的外围设备类型、wifi ssid连接等);验证用户指定的信息(或系统可检测信息或事件)是否匹配预定义的认证信息并且已经在每种状态期间并以预定义的序列被正确地输入;以及如果在每种状态期间并且以预定义的序列正确地输入了预定义的认证信息,则许可访问所述资源。
[0109]
在另一示例中,所述方法还包括接收一个或多个额外用户凭据,以获得对资源的访问,并且仅在额外用户凭据被验证为正确时许可访问资源。在另一示例中,所述资源是基于网络的资源,并且由与基于网络的资源相关联的服务器通过通信网络来接收认证请求。在另一示例中,通过处理器所处的计算设备的用户界面接收认证请求,并且资源在本地可用于计算设备。在另一示例中,预定义的状态序列中的至少一种状态要求用户不正确地输入用户凭据之一。在另一示例中,所述方法还包括为用户呈现一系列用户可选择的状态,其包括不允许许可访问资源的至少一种状态和允许许可访问资源的至少一种其他状态,并且其中,许可访问资源还包括仅在用户选择所述至少一种其他状态并且不选择所述至少一种状态时许可访问资源。在另一示例中,所述方法还包括为用户呈现一系列用户可选择的状态,包括多个用户可选择的状态,每种状态都提示用户做出响应,其中,多个用户可选择的状态中仅有一种状态被包括在共享秘密中,从而如果用户选择了多种用户可选择的状态中的任何其余状态,都将拒绝访问资源。在另一示例中,许可访问资源包括仅在用户对在共享秘密中包括的一种用户可选择的状态期间提供的提示做出正确响应时,才许可访问资源。在另一示例中,网络资源与接收认证请求的网站相关联,并且其中,预定义的状态序列中的至少一种状态要求用户通过预先确定的替代网站或特定url来访问网站,以便允许访问资源。在另一示例中,所述方法还包括,当不正确地提供额外凭据中的一个额外凭据使得拒绝访问资源时,允许用户重新提交针对每种状态的用户指定的信息指定的次数,所述指定的次数至少部分地基于所述一个额外凭据的复杂度。在另一示例中,所述方法还包括:当所提供的额外凭据之一是先前有效但现在过期的凭据时,拒绝访问资源。
[0110]
另外的示例包括存储指令的一种或多种计算机可读存储器设备,所述指令当由一个或多个处理器运行时执行一种用于建立允许访问一个或多个受保护资源的使用账户的方法,包括:和与一个或多个受保护资源相关联的访问控制机制建立用户凭据和共享秘密,其中,建立所述共享秘密包括指定一系列状态以及要在每种状态期间提供的信息,要向访
问控制机制提供用户凭据和共享秘密以获得对一个或多个受保护资源的访问;在第一数据结构中存储一个或多个用户凭据,使得在从用户接收到请求访问一个或多个受保护资源的认证请求时,访问控制机制能访问用户凭据;以及在第二数据库(或存储位置)中存储共享秘密,使得在从用户接收到请求访问一个或多个受保护资源的认证请求时,访问控制机制能访问可执行代码。
[0111]
在另一示例中,所述一种或多种计算机可读存储器设备还包括公共数据结构,所述公共数据结构包括第一数据结构和第二数据结构。在另一示例中,所述一种或多种计算机可读存储器设备还包括将参考与第一数据库中存储的用户凭据相关联,所述参考向访问控制机制指出能从其访问共享秘密可执行代码的位置。在另一示例中,建立共享秘密还包括建立导致为访问用户账户的用户呈现一系列用户可选择的状态的共享秘密,所述一系列用户可选择的状态包括不允许访问一个或多个受保护资源的至少一种状态和允许访问一个或多个受保护资源的至少一种其他状态,从而仅在用户选择所述一种其他状态而未选择所述至少一种状态时才许可访问一个或多个受保护资源。在另一示例中,建立共享秘密还包括建立导致为访问用户账户的用户呈现多个用户可选择的状态并且每种状态提示用户响应的共享秘密,其中,选择多个用户可选择的状态的仅一个用户可选择的状态允许访问一个或多个受保护资源,并且选择多个用户可选择的状态的任何其他状态都拒绝访问一个或多个受保护资源。
[0112]
另外的示例包括一种计算设备,其包括:一个或多个处理器;配置为与设备用户交互的用户界面(ui);存储计算机可读指令的存储器件,所述计算机可读指令当由一个或多个处理器运行时执行一种方法,以:运行状态机;经由用户界面接收对访问受保护资源的请求;响应于对访问受保护资源的请求,通过用户界面提示用户提供访问受保护资源所需的预定义的认证信息,所述提示提示用户使用户指定的认证信息由状态机在状态机的预定义的状态序列中的每种状态期间来接收;使用状态机来验证用户指定的信息是否匹配预定义的认证信息并且已经在每种状态期间并且以预定义的序列被正确地输入;以及如果在每种状态期间并且以预定义的序列正确地输入了预定义的认证信息,则许可访问所述受保护资源。用户界面(ui)可以不向用户给出状态机正在被执行的任何指示。增强的安全性和入侵检测的优点之一在于保持攻击者不知道系统与用户之间存在共享秘密。当恶意攻击者可能仅看到具有提交按钮的用户名和口令输入字段而攻击者能够输入有效的用户名和口令时,用户会受益,并且可以利用缺失事先的共享秘密步骤来向客户端或后端账户管理系统通知入侵,导致防止恶意攻击者成功地访问受保护资源,或者甚至许可他们访问伪造的蜜罐资源。
[0113]
在另一示例中,由该设备执行的方法还包括接收一个或多个额外用户凭据,以获得对资源的访问,并且仅在额外用户凭据被验证为正确时许可访问资源。在另一示例中,预定义的状态序列中的至少一种状态要求用户不正确地输入额外用户凭据之一。在另一示例中,当不正确地提供额外凭据中的一个额外凭据时使得拒绝访问资源时,所述方法还包括:允许用户重新提交针对每种状态的用户指定的信息指定的次数,所述指定的次数至少部分地基于所述一个额外凭据的复杂度。
[0114]
在另一示例中,在本文中所描述的主题可以是灵活和可扩展的方案,能够适于并入到现有计算机认证协议中,诸如kerberos and microsoft managed service accounts
(msa),例如,如本领域技术人员所理解的。在本文中所描述的主题能够适于任何一般种类的依赖于凭据或令牌(诸如个人识别号码(pin)或用户口令)认证系统,从而能够将这些系统扩展成在会话层处结合共享秘密状态机,其中,所述系统在访问重新尝试期间推进,或者甚至系统级保持跟踪针对账户的一次性访问尝试接着共享秘密模式(例如,用户尝试利用无效的以前从未使用的口令凭据登录,等待超过15秒但小于20秒,并利用有效口令再次尝试,从而被许可访问)。
[0115]
基于前文所述,应当意识到,在本文中已经公开了用于控制对受保护资源访问的技术。尽管以特定于计算机结构特征、方法和转换动作、特定计算机器和计算机可读存储介质的语言对在本文中给出的主题进行了描述,但是应当理解,所附权利要求中限定的本发明并不一定限于所描述的特定特征、动作或介质。相反,公开了特定特征、动作和介质作为实施权利要求的示例形式。
[0116]
上文描述的主题仅通过例示提供,不应当被视为限制性的。可以对本文描述的主题做出各种修改和改变而不遵循例示和描述的示例实施例和应用,并且不脱离在以下权利要求中阐述的本发明的真正主旨和范围。
再多了解一些

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

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

相关文献