CN112640389B - 用于保护统一资源定位符的系统、方法和机器可读介质 - Google Patents
用于保护统一资源定位符的系统、方法和机器可读介质 Download PDFInfo
- Publication number
- CN112640389B CN112640389B CN201980057916.1A CN201980057916A CN112640389B CN 112640389 B CN112640389 B CN 112640389B CN 201980057916 A CN201980057916 A CN 201980057916A CN 112640389 B CN112640389 B CN 112640389B
- Authority
- CN
- China
- Prior art keywords
- url
- protected
- computing device
- password
- client computing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000004044 response Effects 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 230000009118 appropriate response Effects 0.000 claims 2
- 238000004891 communication Methods 0.000 description 26
- 238000005516 engineering process Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 6
- 230000001052 transient effect Effects 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101100162169 Xenopus laevis adrm1-a gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
Abstract
描述了用于使用短暂URL密码来阻止大量攻击的方法和系统。从客户端计算设备检测要访问若干受保护的URL中的一个的请求。从客户端计算设备接收URL密码。在确定所接收到的URL密码对于若干受保护的URL中的一个有效时,将请求重新定向到受保护的URL。
Description
技术领域
主题技术总体上涉及阻止不良行为者,并且更具体地,涉及一种利用短暂统一资源定位符(URL)密码来防止大量攻击的系统和方法。
背景技术
诸如Xoom©之类的财政机构将URL暴露给互联网,这些URL被外部商家和客户客户端用于认证目的。这些URL构成安全性风险,因为URL必须接受未经认证的请求作为认证过程的一部分,同时提供进入客户的账户和财政中的路径。因此,这些URL已变成通过僵尸网络进行大量凭证填充和拒绝服务攻击的目标。
在凭证填充(credential-stuffing)的实例中,黑客可以获取被盗账户凭证并且试图使用它们来通过针对web应用的大规模自动化登录请求来访问用户账户。换句话说,可以跨与不同组织相关联的不同URL尝试大量的泄露账户凭证(例如,用户名和密码对)。任何个人被盗凭证是特定组织的账户的实际用户名和密码的可能性低;然而,通过尝试跨许多不同组织的账户收集大量的被盗凭证,可以发现潜在的用户名和密码匹配。这些类型的技术被调制解调器计算能力促进,其中可在短时间量内尝试许多用户名和密码。
虽然某些组织现在需要更鲁棒的密码或者利用诸如captcha之类的程序,但是不良行为者继续开发使许多这些要求失效的变通方法。此外,当不良行为者能够获得被盗凭证时,更鲁棒的密码不再有用。因此,为了使这样的黑客尝试处于困难境地,可以采纳用于减慢这样的大量攻击而不将合法用户拒之门外的新方法。
发明内容
根据主题技术的各个方面,描述了一种用于使用短暂URL密码来阻止大量攻击的系统。从客户端计算设备检测要访问若干受保护的URL中的一个的请求,从客户端计算设备接收URL密码。在确定所接收到的URL密码对于该URL有效时,客户端计算设备的请求被重新定向到受保护的URL。
根据主题技术的各个方面,描述了一种使用短暂URL密码来阻止大量攻击的方法。从客户端计算设备检测要访问多个受保护的URL中的一个的请求。基于由客户端计算设备下载的码本,接收URL密码。做出所接收到的URL密码所基于的码本未过期的确定。做出在先前使用的URL密码的缓存中未找到所接收到的URL密码的另一确定。做出所接收到的URL密码对由客户端设备请求的URL有效的进一步确定。客户端计算设备的请求然后被重新定向到受保护的URL。
根据本技术的各个方面,描述了一种非暂时性机器可读介质,在其上存储有可执行以用于使用短暂URL密码来阻止大量攻击的机器可读指令。从客户端计算设备检测到要访问若干受保护的URL中的一个的请求。从客户端计算设备接收URL密码。在确定所接收到的URL密码对于受保护的URL有效时,访问请求被重新定向到受保护的URL。
主题技术的附加特征和优点将在以下描述中被阐述,并且部分地将通过描述而显而易见,或者可以通过对主题技术的实践来学习。将通过所撰写的说明书及其权利要求以及附图中特别指出的结构来实现和获得主题技术的优点。
应当理解,前面的总体描述和下面的详细描述都是示例性和说明性的,并且旨在提供对所要求保护的本发明的进一步说明。
附图说明
附图被包括以提供对主题技术的进一步理解,并且被并入本说明书中并构成本说明书的一部分,附图图示了主题技术的各方面,并且与说明书一起用来说明主题技术的原理。
图1是示例性计算系统的框图,可以在该计算系统上执行使用短暂URL密码来确定客户端的合法性。
图2是适合于实现图1中的计算系统的一个或多个设备的示例性计算机系统的框图。
图3图示了用于使用短暂URL密码来确定客户端的合法性的示例性过程300。
图4图示了用于证实URL密码的示例性过程400。
图5提供了在计算设备的网络内对计算设备上的凭证填充尝试的说明性描绘。
具体实施方式
个人电子设备(例如,智能电话、台式电脑、平板电脑、膝上型电脑等)被用于各种目的,包括但不限于实时通信、财政交易以及数据的传输或共享。为了正确地进行这些活动,必须对用户进行认证以确保该用户是否是其所声称的人。提供了许多应用以便用户连接到他们的包含敏感信息(例如,个人信息、财政信息等)的账户。结果,用作通向敏感信息的网关的这些应用成为不道德活动的目标。
在黑客之间流行的一种技术是凭证填充,其中黑客运行使用被盗或甚至伪造的凭证(例如,用户名和密码对)来尝试针对web应用的大规模登录请求的程序(例如,僵尸网络)。僵尸网络可以在某些商家的URL上模拟认证请求。计算能力的提高仅使得黑客更容易在较短时间段内尝试收集更多的凭证。虽然已使用诸如reCaptcha之类的工具来防止海量认证请求,但是像reCaptcha这样的工具的使用可能引起登录过程不便,并且进而可能将客户拒之门外。最终,通过纯粹的蛮力方法,某些账户可能被泄露。
用于抑制由发送高速率的客户认证请求的僵尸网络进行的大量攻击的一个方式是需要客户端在可以提交每个认证请求之前支付计算成本。这样做将使由潜在黑客使用的系统不得不花费更多的资源来尝试大量攻击。这样的机制可以阻碍黑客启动这些攻击,因为它们不再高效或有效,或者这样的机制可以使黑客切换到不承担这样的成本的不同目标。然而,不会阻碍合法客户端支付计算成本,因为合法客户端拥有用于成功地执行认证请求的凭证。另一方面,僵尸网络被要求每次进行尝试时支付计算成本。换句话说,合法客户端仅必须每次进行登录尝试时支付成本一次(假定尝试是成功的),然而僵尸网络将为许多尝试中的每次尝试支付成本(极高的不成功比例)。
这种方法的成功依靠询问(challenge)协议的若干特性:1)存在对单个询问的多个正确答案;2)对由客户端提供的询问的答案是容易可验证的;3)对询问的正确答案中的每一个只能被使用一次;以及4)任何单个询问仅在有限时间量内可用。这些特性是通过要求外部客户端执行计算昂贵的任务(例如,找到当在对服务器提供的一次性随机数(nonce)的HMAC-SHA-256计算中用作密钥时产生具有前缀的签名的256位值,服务器已使该前缀与URL相关联)以将请求授权给受保护的URL来实现的,其中密钥和一次性随机数一起构成URL的有效“密码”。可以在可由客户端下载的码本中提供计算昂贵的任务,其中码本限定询问协议的某些特性,包括其寿命(例如,可以使用询问协议中的每一种多长时间)。
本说明书包括对“一个实施例”、“一些实施例”或“实施例”的引用。这些短语的出现不一定引用同一实施例。可以以与本公开一致的任何合适的方式组合特定特征、结构或特性。
在本文中使用“第一”、“第二”等,这些术语被用作它们之后跟随的名词的标签,而不一定暗示任何类型的排序(例如,空间、时间、逻辑、基数等)。此外,可以将各种组件描述或要求为“被配置为”执行一个或多个任务。在这样的上下文中,“被配置为”用于通过指示组件包括在操作期间执行一个或多个任务的结构(例如,存储的逻辑)来表示结构。因此,即使当组件当前不工作(例如,未开启)时,组件也可以被认为是被配置为执行任务。叙述组件被“配置为”执行一个或多个任务明确地旨在不针对该组件援引美国法典第35条第112(f)款。
图1是示例性计算系统的框图,可以在该计算系统上执行使用短暂URL密码来确定客户端的合法性。如图所示,计算系统100可以包括或实现操作用于执行根据所描述的实施例的各种方法学的多个服务器、设备和/或软件组件。示例性服务器、设备和/或软件组件可以包括例如运行诸如以下项之类的操作系统(OS)的独立企业级服务器:MICROSOFT® OS、UNIX® OS、LINUX® OS或其他合适的OS。可以领会,可以以其他方式部署图1中所示的服务器,并且由这样的服务器执行的操作和/或由这样的服务器提供的服务可以针对给定实现方式被组合、分布和/或分离,并且可以由较大数目或较少数目的服务器执行。一个或多个服务器可以由相同或不同的实体来操作和/或维护。
在各种设备、服务器、数据库和其他元件当中,计算系统100可以包括一个或多个客户端102,该客户端102包括或采用一个或多个客户端设备104,例如膝上型电脑、移动计算设备、平板电脑、个人计算机、可穿戴设备、和/或根据所描述的实施例的具有计算和/或通信能力的任何其他计算设备。客户端设备104还可以包括蜂窝电话、智能电话、电子可穿戴设备(例如,智能手表、虚拟现实头戴式耳机)、或用户可以携带在身上或附近并容易地接近的其他类似的移动设备。
客户端设备104通常可以提供一个或多个客户端程序106,例如用于执行各种计算和/或通信操作的系统程序和应用程序。示例性系统程序可以包括但不限于操作系统(例如,MICROSOFT® OS、UNIX® OS、LINUX® OS、Symbian OS™、iOS、Android、Embedix OS、无线二进制运行时环境(BREW)OS、JavaOS、无线应用协议(WAP)OS和其他OS)、设备驱动、编程工具、实用程序、软件库、应用编程接口(API)等。示例性应用程序可以包括但不限于支付系统应用、web浏览器应用、消息传递应用、联系人应用、日历应用、电子文档应用、数据库应用、媒体应用(例如,音乐、视频、电视)、可以利用诸如天线等的硬件组件的基于位置的服务(LBS)应用(例如,GPS、地图、方向、定位系统、地理位置、兴趣点、定位符)。客户端程序106中的一个或多个可以显示各种图形用户界面(GUI)以向客户端设备104的一个或多个用户呈现信息和/或从客户端设备104的一个或多个用户接收信息。在一些实施例中,客户端程序106可以包括被配置为进行在下面讨论的功能性和/或过程中的一些或全部的一个或多个应用。
如图所示,客户端设备104可以经由一个或多个网络108通信地耦合到基于网络的系统110。基于网络的系统110可以被构造、布置和/或配置为允许客户端102在基于网络的系统110与各种客户端设备104和/或客户端程序106之间建立一个或多个通信会话。因此,客户端设备104与基于网络的系统110之间的通信会话可以涉及信息的单向交换和/或双向交换,并且可以根据通信模式而在一种或多种类型的网络108上发生。虽然图1的实施例图示了部署在客户端-服务器操作环境中的计算系统100,但是应当理解,可以根据所描述的实施例使用其他合适的操作环境和/或架构。
可以通过诸如以下项之类的一个或多个网络108来发送和接收客户端设备104与基于网络的系统110之间的数据通信:因特网、WAN、WWAN、WLAN、移动电话网络、陆线电话网络、个域网以及其他合适的网络。例如,客户端设备104可以通过经由与网站、电子邮件、IM会话和/或视频消息传递会话的交互发送和/或接收信息来在因特网或其他合适的WAN上与基于网络的系统110进行通信。如将容易地领会的,可以发生客户端设备104与系统110之间的各式各样合适的通信类型中的任一种。具体而言,可以在客户端设备104与系统110之间发生任何合适的形式的无线通信(例如,蓝牙、近场通信等),例如在移动电话或其他个人设备和/或移动设备的情况下常常发生的无线通信。
基于网络的系统110可以包括一个或多个通信服务器120以提供合适的接口,这些合适的接口使用各种通信模式和/或经由一个或多个网络108来实现通信。通信服务器120可以包括web服务器122、API服务器124和/或消息传递服务器126以向一个或多个应用服务器130提供接口。基于网络的系统110的应用服务器130可以被构造、布置和/或配置为向与基于网络的系统110进行通信的客户端设备提供各种在线服务。在各种实施例中,客户端设备104可以经由以下项中的一个或多个与基于网络的系统110的应用服务器130进行通信:由web服务器122提供的web接口、由API服务器124提供的程序接口和/或由消息传递服务器126提供的消息传递接口。可以领会,web服务器122、API服务器124和消息传递服务器126可以被构造、布置和/或配置为与各种类型的客户端设备104和/或客户端程序106进行通信,并且可以在一些实现方式中彼此互操作。
web服务器122可以被布置为与诸如以下项之类的web客户端和/或应用进行通信:web浏览器、web浏览器工具栏、桌面微件、移动微件、基于web的应用、基于web的解释器、虚拟机、移动应用等。API服务器124可以被布置为与包括用于基于网络的系统110的API的实现方式的各种客户端程序106进行通信。消息传递服务器126可以被布置为与诸如电子邮件、IM、SMS、MMS、电话、VoIP、视频消息传递、IRC等的各种消息传递客户端和/或应用进行通信,并且消息传递服务器126可以提供用于使得客户端102能够访问由应用服务器130提供的各种服务和功能的消息传递接口。
基于网络的系统110的应用服务器130可以为向客户端设备提供各种服务的服务器,例如用于对用户进行认证的工具和相关联的库。应用服务器130可以包括多个服务器和/或组件。例如,应用服务器130可以包括询问问题生成器132、答案验证引擎134、重复检测引擎136和/或认证引擎138。可以作为其他服务器的补充的这些服务器和/或组件可以被构造和布置为标识恶意内容的那些网页。
应用服务器130进而可以耦合到一个或多个数据库140并且能够访问一个或多个数据库140,一个或多个数据库140包括系统调用数据库142、应用数据库144和/或认证数据库146。数据库140通常可以存储和维护各种类型的信息以供由应用服务器130使用,并且可以包括根据所描述的实施例的各种类型的计算机存储设备(例如,服务器、存储器)和/或数据库结构(例如,关系、面向对象、层次、维度、网络)或者由这些计算机存储设备和/或数据库结构实现。
图2以框图格式图示了适合于在图1中的计算系统的一个或多个设备上实现的示例性计算机系统200。在各种实现方式中,包括计算机系统200的设备可以包括能够与网络进行通信的个人计算设备(例如,智能或移动电话、计算平板电脑、个人计算机、膝上型电脑、可穿戴设备、PDA等)。服务提供商和/或内容提供商可以利用能够与网络进行通信的网络计算设备(例如,网络服务器)。应该领会,可以以如下方式将由用户、服务提供商和内容提供商利用的设备中的每一个实现为计算机系统200。另外地,随着越来越多的设备变得有通信能力,诸如使用无线通信来报告、跟踪、消息传递、中继信息等的智能设备,这些设备可以为计算机系统200的一部分。
计算机系统200可以包括用于在计算机系统200的各种组件之间传送信息数据、信号和信息的总线202或其他通信机构。组件包括输入/输出(I/O)控制器204,该I/O控制器204处理用户动作,例如从按键/键盘选择键、选择一个或多个按钮、链接、可致动元件等,并且向总线202发送对应的信号。I/O控制器204还可以包括输出组件,例如显示器206和光标控件208(例如按键、键区、鼠标、触摸屏等)。在一些示例中,I/O控制器204可以包括用于捕获图像和/或视频的图像传感器,例如互补金属氧化物半导体(CMOS)图像传感器和/或类似物。还可以包括音频I/O组件210以允许用户将语音用于通过转换音频信号来输入信息。音频I/O组件210可以允许用户听到音频。
收发器或网络接口212经由网络在计算机系统200与诸如另一用户设备、商家服务器、电子邮件服务器、应用服务提供商、web服务器、支付提供商服务器和/或其他服务器之类的其他设备之间发送和接收信号。在各种实施例中,例如对于许多蜂窝电话和其他移动设备实施例,这种传输可以为无线的,但是其他传输介质和方法也可以是合适的。可以为微控制器、数字信号处理器(DSP)或其他处理组件的处理器214处理这些各种信号,例如以用于在计算机系统200上显示或经由通信链路218通过网络216传输到其他设备。再次,在一些实施例中,通信链路218可以为无线通信。处理器214还可以控制诸如cookie、IP地址、图像和/或类似物之类的信息向其他设备的传输。
计算机系统200的组件还包括系统存储器220(例如,RAM)、静态存储组件222(例如,ROM)和/或磁盘驱动器224。计算机系统200通过由处理器214和其他组件执行包含在系统存储器220中的一个或多个指令序列来执行具体操作。逻辑可以被编码在计算机可读介质中,该计算机可读介质可以是指参与向处理器214提供指令以供执行的任何介质。这样的介质可以采取许多形式,包括但不限于非易失性介质、易失性介质和/或传输介质。在各种实现方式中,非易失性介质包括光盘或磁盘,易失性介质包括动态存储器,例如系统存储器220,并且传输介质包括同轴电缆、铜线和光纤,包括构成总线202的电线。在一个实施例中,逻辑被编码在非暂时性机器可读介质中。在一个示例中,传输介质可以采取声波或光波的形式,例如在无线电波、光学和红外数据通信期间生成的声波或光波。
计算机可读介质的一些常见形式包括例如软盘、柔性盘、硬盘、磁带、任何其他磁性介质、CD-ROM、任何其他光学介质、打孔卡(punch card)、纸带、具有孔图案的任何其他物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储器芯片或盒、或计算机被适配为从中读取的任何其他介质。
在本公开的各种实施例中,对用于实践本公开的指令序列的执行可以由计算机系统200执行。在本公开的各种其他实施例中,通过通信链路218耦合到网络(例如,诸如LAN、WLAN、PTSN和/或各种其他有线或无线网络,包括电信、移动和蜂窝电话网络)的多个计算机系统200可以执行指令序列以彼此协作地实践本公开。本文描述的模块可以被体现在一个或多个计算机可读介质中或者与一个或多个处理器通信以执行或者处理本文描述的技术和算法。
计算机系统可以通过通信链路和通信接口来发送和接收消息、数据、信息和指令,包括一个或多个程序(即,应用代码)。接收到的程序代码可以随着被接收和/或存储在磁盘驱动器组件或某个其他非易失性存储组件中以供执行而由处理器执行。
在适用的情况下,可以使用硬件、软件或硬件和软件的组合来实现由本公开提供的各种实施例。另外,在适用的情况下,在不脱离本公开的精神的情况下,可以将本文阐述的各种硬件组件和/或软件组件组合成包括软件、硬件和/或两者的复合组件。在适用的情况下,可以将本文阐述的各种硬件组件和/或软件组件分成包括软件、硬件或两者的子组件,而不脱离本公开的范围,。另外,在适用的情况下,设想了可以将软件组件实现为硬件组件,并且反之亦然。
根据本公开的诸如程序代码和/或数据之类的软件可以被存储在一个或多个计算机可读介质上。还设想了可以使用联网和/或以其他方式的一个或多个计算机和/或计算机系统来实现本文标识的软件。在客户端102、基于网络的系统110或两者处,可以在沿着或贯穿系统的一个或多个位置处存储和/或使用这种软件。在适用的情况下,本文描述的各种步骤的排序可以发生改变,被组合成复合步骤,和/或被分成子步骤以提供本文描述的特征。
前述的网络、系统、设备及其许多变型可以用于实现一个或多个服务,诸如上述并在下文更详细地讨论的服务。
可以用于使服务抵抗来自僵尸网络的大量请求的一种策略是插入障碍,这些障碍使客户端要克服的计算能力相比于服务器施加障碍而言要大得多。同时,必须使这些障碍的绝对量保持得足够小,使得通常不发送快速开火(rapid-fire)请求的合法客户端可协商障碍,而不使用户的体验显著地降低。
在一个示例性实施例中,可以在代理中实现障碍,而无需代理后面的服务知道它或必须以任何方式容纳它。HTTP服务器可以充当基于URL的路径的组件将请求重新定向到其他服务的代理。示例障碍是短暂URL密码的使用。该示例中的密码是对需要蛮力计算昂贵的解决方案的密码问题的大量解决方案。可以将每个问题实例绑定到具体URL(或URL集)。虽然后续讨论将短暂URL密码用作障碍,但是可以利用具有相同或类似特性的各种其他计算昂贵的询问。
图3图示了用于使用短暂URL密码来确定客户端的合法性的示例性过程300。在操作310,系统检测要访问受保护的URL的请求。随着用户在浏览器上导航到受保护的URL,可以检测到访问请求。在一个示例中,可以出于对用户进行认证的目的由公用客户端调用一组受保护的URL。由于最初可能未对用户进行认证,所以这些URL不能仅将访问简单地限于认证用户。同时,这些URL提供进入用户账户和财政中的路径,因此它们已成为需要一些保护元素的高价值攻击目标。
在该实例中,可以通过使用短暂URL密码来保护URL集。在一些实施例中,当客户端导航到这些URL中的任一个时,受保护的URL集需要短暂URL密码。因此,在操作320,系统从客户端接收短暂URL密码。为了让客户端提供密码,客户端必须首先下载为受保护的URL指定询问的码本。每个受保护的URL将具有客户端必须履行才能继续访问受保护的URL的唯一询问。在从客户端接收到密码之后,在操作330,系统可以在确定所接收到的短暂URL密码有效时,将客户端计算设备的请求重新定向到受保护的URL。如果密码无效,则对受保护的URL的访问被拒绝,直到客户端提供有效密码为止。
如以上讨论的,在一个示例性实施例中,询问是短暂URL密码询问。更具体地,询问是使用SHA-256作为其散列函数的基于散列的消息认证代码(HMAC)操作(即,HMAC-256)。HMAC-256操作取两个参数,即密钥和用该密钥签名的第一字节数组,并且产生作为签名的第二字节数组。这种设计对于要签名的字节数组使用固定值(即,一次性随机数),并且迫使客户端找到这样的密钥,该密钥在用于用HMAC-256对一次性随机数签名时,产生具有期望前缀的签名。
在这种情况下使用的一次性随机数是服务器生成的字符串,客户端在搜索产生期望位串前缀的密钥的同时,必须将该字符串馈送到其HMAC-256计算中。客户端在其请求中将所得的密钥以及一次性随机数作为URL密码发送到服务器。一次性随机数是将在下面更详细地描述的码本的一部分,并且用作码本的全局唯一标识符。
对于这种设计最重要的HMAC-256操作的性质是其不可逆性。也就是说,为了产生具有某个前缀的结果,客户端必须搜遍操作可能的参数,直到它找到产生这样的结果的参数为止。不可逆性的另一方面是,对于给定一次性随机数,可以通过大量有区别的密钥来生成实际长度的任何前缀。这允许服务器控制一次性随机数,而没有致使无法生成任何前缀的风险。此外,因为HMAC-256密钥是256位长的,所以长度n的任何前缀平均具有针对给定一次性随机数生成前缀的2256-n个有区别的密钥。
HMAC通常已用于在服务器与客户端之间安全地转移文件。更具体地,HMAC用于验证正在交换消息的数据完整性和认证。因此,如本文所述,为了要求外部客户端在对受保护的URL授权请求之前执行计算昂贵的任务而使用HMAC-256是基于散列的认证代码的非常规适配。也就是说,HMAC-256不用于验证消息的完整性或认证,而是以要求客户端找到具体256位值的形式在客户端上简单地施加成本,所述具体256位值当在对服务器提供的一次性随机数的HMAC-256计算中用作密钥时,产生具有前缀的签名,服务器已使该前缀与URL相关联。换句话说,系统要求客户端通过执行计算密集操作来获得密码。愿意执行该操作的任何客户端可获得有效密码。
URL密码是允许客户端调用受保护的URL的HMAC-256密钥、一次性随机数对。密钥是对找到HMAC-256密钥的问题的解决方案,所述HMAC-256密钥当用于计算一次性随机数的HMAC-256时,产生具有通过由一次性随机数标识的码本与URL相关联的位串前缀的签名。位串前缀是在码本中映射到URL(或URL集)的位的序列,并且因此,是客户端必须执行以调用URL的搜遍HMAC-256密钥的目标。当通过HMAC-256算法产生的签名的二进制表示以与前缀匹配的0和1数字的序列开始时,搜索成功。
客户端必须为对URL的每一次尝试的调用支付成本,但是不能多次使用密码。这种特性在被用于对用户进行认证的URL的情况下特别有用。具体地,合法客户端避免多次支付成本,因为他们的首次认证尝试通常是成功的。另一方面,尝试泄露凭证的列表的不良行为者可能由于高登录失败率而被抑制继续,其中每次失败会要求客户端再次执行计算密集操作。
以两种方式使URL密码是短暂的:首先,每个密码局限于单次使用,所以用相同的密码发送附加请求将失败。将每个有效密码局限于单次使用迫使客户端为对单个URL的每次重复调用支付新性能成本。知道它们需要调用多个服务URL的客户端可在单次搜索的过程中收集对于每个URL有效的HMAC-256密钥,从而将每个URL的搜索成本降低一小部分。对较短的前缀来说,可供使用的有效密码的数目更大。
其次,码本本身是短暂的,使得一次性随机数将不可在超过预定/有限时间量内与任何密钥一起使用。较长的码本寿命提高合法客户端相互冲突(即,合法客户端提供相同的有效密码)的可能性。较长的码本寿命还产生服务器必须跟踪以强制单次使用的大量使用的密码。另一方面,较短的码本寿命提高客户端必须检索新码本的频率。合法客户端可通过以下步骤来进一步降低彼此冲突的可能性:使用从高熵源播种的密码上强的伪随机数生成器来生成用于搜索的初始密钥,然后通过计算当前密钥的SHA-256散列来生成每个后续密钥。
如以上提及的,客户端试图通过搜遍大量密钥来找到有效HMAC-256密钥。映射的位串前缀的长度提供在客户端与服务器之间的指数级成本差异。对于前缀长度n,客户端将需要平均执行2n个密钥生成和HMAC-256操作以找到为给定一次性随机数生成期望前缀的密钥。相比之下,服务器需要仅用客户端生成的密钥来对一次性随机数执行单个HMAC-256操作以获得要在其映射中找到的前缀。通过改变前缀长度并且通过使映射中的多个前缀与相同的URL相关联,可以在对URL的善意调用的性能与抑制对URL的滥用之间达成折衷。此外,可以容易地通过改变前缀长度使这种类型的询问适于增加的计算能力增加。
虽然映射的前缀不一定都需要具有相同的长度,但是它们必须都脱节。也就是说,映射中的任何前缀不可以为映射中的任何其他前缀的前缀。例如,在同一映射中使用不同的前缀长度可以用于相比于客户端调用不太敏感或较轻量级的URL的成本而提高客户端调用更敏感或资源密集的URL的成本。在映射中改变对URL的保护的一种更精确的方式是将多个前缀映射到同一URL:对于所有前缀都为相同长度n的映射,将长度n-p的较短前缀映射到URL u相当于具有将长度n的前缀映射到u的2P条目,但是不存在相当于向映射添加m个条目的较短前缀,其中m不是2的次幂。在单个映射中允许使单个URL与长度n的m个前缀相关联,URL的平均搜索时间变为2n/m。
系统要求并证实它保护的URL上的URL密码。如果系统通过将有效请求重新定向到依靠它进行保护的其他服务器来为URL服务,则系统还可用作代理。例如,当码本中受保护的URL涉及数据中心中与保护URL的服务器不同并且系统将有效请求重新定向到的服务器时,系统可以充当强制代理。
图4图示了用于证实URL密码的示例性过程400。该证实过程是多方面的。在操作410中,一次性随机数用于查找相对应的码本以确保该码本尚未过期。一旦确定码本尚未过期,则系统就在操作420中验证密码不在先前使用的密码的缓存(例如,Redis缓存)中。换句话说,如果密码先前被使用,则即使密码可能是对询问的正确答案,系统也不会接受密码。如以上讨论的,URL密码的一个短暂特征是每个密码局限于单次使用。密码的任何重复提交将被从先前使用的密码的缓存中标识并且访问将被拒绝。如果确定密码先前尚未被使用,则在操作430中验证密码。
在一些实施例中,一次性随机数用于在缓存中找到其对应的码本。随后使用HMAC-256密钥来计算出一次性随机数的HMAC-256签名。为了验证密钥,系统在码本中寻找与签名匹配的前缀,并且检索关联的方法引用。然后执行客户端的请求的HTTP方法与方法引用的HTTP方法匹配的验证。还执行客户端的请求的路径与方法引用的路径匹配的验证。
一旦已验证并记录了密码以防止将来重用,代理就将映射的URL解析到适当的内部端点并在那里重新定向请求。换句话说,一旦代理已验证了询问的成本已被支付,它就将请求重新定向到与映射的URL相对应的端点。该端点自由地对它接收到的请求实施任何附加限制。
图5提供了在计算设备的网络内对计算设备上的凭证填充尝试的说明性描绘。泄露凭证505的列表用于尝试在客户端计算设备上运行的web浏览器510上登录。web浏览器经由将计算设备连接到服务器515的网络通信地耦合到服务器515。
在该示例中,在web浏览器510上的用户名输入框530和密码输入框535中单独地尝试用户名520和密码525对。当服务器515检测到客户端计算设备的web浏览器510试图导航到受保护的URL时,服务器查找并证实由客户端响应于与受保护的URL匹配的询问而提供的响应。只有当存在有效响应时,服务器才会将客户端的请求重新定向到受保护的URL。因此,对于被尝试的每个用户名520和密码525对,由于客户端计算设备必须履行询问-响应问题,存在与所尝试的登录关联的计算成本。随着用户名520和密码525对的数目增加,询问-响应的累积成本也随之增加。例如,如果存在100,000个用户名520和密码525对,则计算设备尝试每一对的成本将是100,000乘以询问-响应问题所需要的计算成本。
由于使用像凭证填充这样的技术的黑客依靠在短时间段内尝试大量凭证的能力,所以通过要求询问-响应答案来减慢导航到受保护的URL以输入凭证的过程将在黑客过程中创建瓶颈,这可以导致黑客最终中止其尝试。如果假设地说,尝试的10,000个凭证中的一个成功,则将需要平均10,000次登录尝试才能渗透一个账户。因此,通过以在web浏览器上尝试大量凭证的方式挑战过程将花费大量时间,将阻止黑客设法泄露受保护的URL的账户。
上述用户设备(即,计算设备)可以为包括但不限于智能电话、平板、膝上型电脑和一对增强现实眼镜的各种设备中的一个。这些设备中的每一个均体现一些处理能力以及连接到网络(例如,互联网、LAN、WAN等)的能力。每个设备还包括用于显示各种信息的显示元件。这些特征(显示元件、处理能力和连接性)在移动通信上的组合使得用户能够执行各种必要且有用的功能。
前面的描述被提供来使得本领域的技术人员能够实践本文描述的各种配置。虽然已参考各个图和配置特别描述了主题技术,但是应该理解,这些仅用于图示目的,而不应该被视为限制主题技术的范围。
可能有许多其他方式来实现主题技术。在不脱离主题技术的范围的情况下,本文描述的各种功能和元件可以被与所示出的功能和元件不同地分割。对这些配置的各种修改对于本领域的技术人员而言将是容易地显而易见的,并且本文定义的通用原理可以被应用于其他配置。因此,在不脱离主题技术的范围的情况下,本领域的普通技术人员可以对主题技术做出许多改变和修改。
应理解,所公开的过程中的步骤的具体次序或层次是示例性方法的图示。基于设计偏好,应理解,可以重新布置过程中的步骤的具体次序或层次。可以同时地执行步骤中的一些。所附方法权利要求以样本次序呈现各种步骤的要素,而不意在限于所呈现的具体次序或层次。
诸如“一个方面”的短语不暗示这种方面是主题技术必不可少的或者这种方面适用于主题技术的所有配置。与一个方面有关的公开内容可以适用于所有配置或一个或多个配置。一个方面可以提供本公开的一个或多个示例。诸如“方面”的短语可以是指一个或多个方面并且反之亦然。诸如“实现方式”的短语不暗示这种实现方式是主题技术必不可少的或者这种实现方式适用于主题技术的所有配置。与一个实现方式有关的公开内容可以适用于所有实现方式或一个或多个实现方式。一个实现方式可以提供本公开的一个或多个示例。诸如“实现方式”的短语可以是指一个或多个实现方式并且反之亦然。诸如“配置”的短语不暗示这种配置是主题技术必不可少的或者这种配置适用于主题技术的所有配置。与配置有关的公开内容可以适用于所有配置或一个或多个配置。配置可以提供本公开的一个或多个示例。诸如“配置”的短语可以是指一个或多个配置并且反之亦然。
此外,就在说明书或权利要求书中使用术语“包括”、“具有”和“类似”而言,此类术语旨在以类似于术语“包含”的方式为包括的,因为“包含”当被用作权利要求中的过渡词时被解释。
词语“示例性”在本文中用于意指“用作示例、实例或图示”。在本文中描述为“示例性”的任何实现方式不一定被解释为优于其他实现方式为优选或有利的。
除非具体地陈述,否则以单数形式对元素的引用不旨在意指“一个且仅一个”,而是相反意指“一个或多个”。术语“一些”是指一个或多个。本领域的普通技术人员已知或以后将想到的贯穿本公开描述的各种配置的元素的所有结构和功能等同物都通过引用明确地并入本文并旨在被主题技术包含。此外,本文公开的任何内容都不应认为捐献给公众,无论是否在以上描述中明确地叙述了这种公开内容。
Claims (20)
1. 一种用于保护统一资源定位符(URL)的系统,所述系统包括:
非暂时性存储器,所述非暂时性存储器存储指令;和
一个或多个硬件处理器,所述一个或多个硬件处理器耦合到所述非暂时性存储器,并且被配置为从所述非暂时性存储器读取所述指令以使所述系统执行包括以下项的操作:
检测来自客户端计算设备的、要访问多个受保护的URL中的一个的请求;
从所述客户端计算设备接收URL密码,所述URL密码包括使用基于散列的计算能够由所述客户端计算设备计算出的参数,其中,所述参数在对被提供给所述客户端计算设备的一次性随机数的所述基于散列的计算中用作密钥时,使得具有与受保护的URL相关联的前缀的签名由所述客户端计算设备产生;以及
在确定所接收到的URL密码对于所述多个受保护的URL中的所述一个有效时,通过确认对所述一次性随机数的所述基于散列的计算中使用的所述参数产生具有所述前缀的所述签名将所述请求重新定向到这个受保护的URL。
2.根据权利要求1所述的系统,其中,所接收到的URL密码响应于能够由所述客户端计算设备下载的码本中提供的多个询问-响应问题中的一个。
3.根据权利要求2所述的系统,其中,当i)确定所述码本未过期;ii)在先前使用的密码的缓存中未找到所述URL密码;iii)所述URL密码是对所述多个询问-响应问题中的所述一个的适当响应,并且iv)由所述URL密码解决的问题与所述码本中与所述请求匹配的所述多个受保护的URL中的所述一个相关联时,所述URL密码被确定为有效。
4.根据权利要求2所述的系统,其中,所述询问-响应问题中的每一个均与所述多个受保护的URL中的至少一个相关联。
5.根据权利要求2所述的系统,其中,所述询问-响应问题是基于散列的消息认证代码(HMAC)操作。
6.根据权利要求5所述的系统,其中,所述HMAC操作使用SHA-256作为所述操作的散列函数。
7.根据权利要求6所述的系统,其中,所述询问-响应问题包括找到256位值,所述256位值当在对由所述系统提供的一次性随机数的HMAC-SHA-256计算中用作密钥时,产生具有前缀的签名,所述前缀与检测访问请求所针对的所述多个受保护的URL中的所述一个相关联。
8.根据权利要求7所述的系统,其中,当所找到的256位值在用于用HMAC-256对所述一次性随机数签名时产生具有预定前缀的签名时,所接收到的URL密码被证实。
9.一种用于保护URL的方法,所述方法包括:
检测来自客户端计算设备的、要访问多个受保护的URL中的一个的请求;
从所述客户端计算设备接收基于能够由所述客户端计算设备下载的码本的URL密码,所述URL密码包括使用基于散列的计算能够由所述客户端计算设备计算出的参数,其中,所述参数在对被提供给所述客户端计算设备的一次性随机数的所述基于散列的计算中用作密钥时,使得具有与受保护的URL相关联的前缀的签名由所述客户端计算设备产生;
确定所接收到的URL密码所基于的所述码本未过期;
确定在先前使用的URL密码的缓存中未找到所接收到的URL密码;
通过确认对所述一次性随机数的所述基于散列的计算中使用的所述参数产生具有所述前缀的所述签名,确定所接收到的URL密码对于所述多个受保护的URL中的所述一个有效;以及
将所述请求重新定向到这个受保护的URL。
10.根据权利要求9所述的方法,其中,所接收的URL密码响应于能够由所述客户端计算设备下载的所述码本中提供的多个询问-响应问题中的一个。
11.根据权利要求10所述的方法,其中,所述询问-响应问题中的每一个均与所述多个受保护的URL中的至少一个相关联。
12.根据权利要求10所述的方法,其中,所述询问-响应问题是HMAC操作。
13.根据权利要求12所述的方法,其中,所述HMAC操作使用SHA-256作为所述操作的散列函数。
14.根据权利要求13所述的方法,其中,所述询问-响应问题包括找到256位值,所述256位值当在对由系统提供的一次性随机数的HMAC-SHA-256计算中用作密钥时,产生具有前缀的签名,所述前缀与检测访问请求所针对的受保护的URL相关联。
15.根据权利要求14所述的方法,其中,当所找到的256位值在用于用HMAC-256对所述一次性随机数签名时产生具有预定前缀的签名时,所接收到的URL密码被证实。
16.一种非暂时性机器可读介质,其上存储有机器可读指令,所述机器可读指令能够执行来使得执行包括以下项的操作:
检测来自客户端计算设备的、要访问多个受保护的URL中的一个的请求;
从所述客户端计算设备接收URL密码,所述URL密码包括使用基于散列的计算能够由所述客户端计算设备计算出的参数,其中,所述参数在对被提供给所述客户端计算设备的一次性随机数的所述基于散列的计算中用作密钥时,使得具有与受保护的URL相关联的前缀的签名由所述客户端计算设备产生;以及
在确定所接收到的URL密码对于所述多个受保护的URL中的所述一个有效时,通过确认对所述一次性随机数的所述基于散列的计算中使用的所述参数产生具有所述前缀的所述签名,将所述请求重新定向以访问这个受保护的URL。
17.根据权利要求16所述的非暂时性机器可读介质,其中,所接收到的URL密码响应于能够由所述客户端计算设备下载的码本中提供的多个询问-响应问题中的一个。
18.根据权利要求17所述的非暂时性机器可读介质,其中,当i)确定所述码本未过期;ii)在先前使用的密码的缓存中未找到所述URL密码;iii)所述URL密码是对所述多个询问-响应问题中的所述一个的适当响应,并且iv)由所述URL密码解决的问题与所述码本中与所述请求匹配的所述多个受保护的URL中的所述一个相关联时,所述URL密码被确定为有效。
19.根据权利要求17所述的非暂时性机器可读介质,其中,所述询问-响应问题中的每一个均与所述多个受保护的URL中的至少一个相关联。
20.根据权利要求19所述的非暂时性机器可读介质,其中,所述询问-响应问题是基于散列的消息认证代码(HMAC)操作,其中,所述HMAC操作使用SHA-256作为所述操作的散列函数,并且其中,所述询问-响应问题包括找到256位值,所述256位值当在对由系统提供的一次性随机数的HMAC-SHA-256计算中用作密钥时,产生具有前缀的签名,所述前缀与检测访问请求所针对的受保护的URL相关联。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/124,728 US11310217B2 (en) | 2018-09-07 | 2018-09-07 | Using ephemeral URL passwords to deter high-volume attacks |
US16/124,728 | 2018-09-07 | ||
PCT/US2019/049813 WO2020051372A1 (en) | 2018-09-07 | 2019-09-05 | Using ephemeral url passwords to deter high-volume attacks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112640389A CN112640389A (zh) | 2021-04-09 |
CN112640389B true CN112640389B (zh) | 2024-03-08 |
Family
ID=69720302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980057916.1A Active CN112640389B (zh) | 2018-09-07 | 2019-09-05 | 用于保护统一资源定位符的系统、方法和机器可读介质 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11310217B2 (zh) |
EP (1) | EP3847793B1 (zh) |
CN (1) | CN112640389B (zh) |
AU (2) | AU2019336757B2 (zh) |
WO (1) | WO2020051372A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108600172B (zh) * | 2018-03-23 | 2020-11-24 | 广州广电研究院有限公司 | 撞库攻击检测方法、装置、设备及计算机可读存储介质 |
US10389708B1 (en) * | 2019-01-03 | 2019-08-20 | Capital One Services, Llc | Secure authentication of a user associated with communication with a service representative |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008024362A2 (en) * | 2006-08-23 | 2008-02-28 | Acuprint, Inc. | Advanced multi-factor authentication methods |
CN104519049A (zh) * | 2013-09-30 | 2015-04-15 | 瞻博网络公司 | 通过增加客户端资源需求来限制拒绝服务攻击的效力 |
CN106470190A (zh) * | 2015-08-19 | 2017-03-01 | 中兴通讯股份有限公司 | 一种Web实时通信平台鉴权接入方法及装置 |
CN107070863A (zh) * | 2016-01-29 | 2017-08-18 | 谷歌公司 | 本地设备认证 |
CN107077574A (zh) * | 2014-10-20 | 2017-08-18 | 微软技术许可有限责任公司 | 用于客户端设备的信任服务 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US865373A (en) * | 1906-10-02 | 1907-09-10 | Homer Metzger | Automatic lantern-slide-moving device. |
ATE434330T1 (de) | 2005-04-11 | 2009-07-15 | Axsionics Ag | System und verfahren zur benutzersicherheit bei einer herstellung einer kommunikationsverbindung über ein unsicheres netzwerk |
US7765406B2 (en) * | 2006-04-04 | 2010-07-27 | Grant Friedline | System, computer program and method for a crytographic system using volatile allocation of a superkey |
US8171533B2 (en) | 2008-09-29 | 2012-05-01 | International Business Machines Corporation | Managing web single sign-on applications |
US9203819B2 (en) * | 2012-01-18 | 2015-12-01 | OneID Inc. | Methods and systems for pairing devices |
EP2805470B1 (en) * | 2012-01-20 | 2018-09-12 | Interdigital Patent Holdings, Inc. | Identity management with local functionality |
US8635373B1 (en) * | 2012-09-22 | 2014-01-21 | Nest Labs, Inc. | Subscription-Notification mechanisms for synchronization of distributed states |
US20150052584A1 (en) * | 2013-08-13 | 2015-02-19 | News UK & Ireland Limited | Access Control System |
US9059985B1 (en) | 2014-12-08 | 2015-06-16 | Fmr Llc | Methods for fraud detection |
US10262129B1 (en) * | 2015-11-02 | 2019-04-16 | Shanit Gupta | Dynamic password generator with fuzzy matching |
US11093207B1 (en) * | 2016-10-28 | 2021-08-17 | Assa Abloy Ab | Visual verification of virtual credentials and licenses |
WO2018183572A1 (en) * | 2017-03-29 | 2018-10-04 | Board Of Regents, The University Of Texas System | Reducing amount of helper data in silicon physical unclonable functions via lossy compression without production-time error characterization |
US10721239B2 (en) * | 2017-03-31 | 2020-07-21 | Oracle International Corporation | Mechanisms for anomaly detection and access management |
-
2018
- 2018-09-07 US US16/124,728 patent/US11310217B2/en active Active
-
2019
- 2019-09-05 WO PCT/US2019/049813 patent/WO2020051372A1/en unknown
- 2019-09-05 AU AU2019336757A patent/AU2019336757B2/en active Active
- 2019-09-05 EP EP19856568.1A patent/EP3847793B1/en active Active
- 2019-09-05 CN CN201980057916.1A patent/CN112640389B/zh active Active
-
2022
- 2022-02-28 US US17/683,013 patent/US11750596B2/en active Active
- 2022-05-24 AU AU2022203509A patent/AU2022203509B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008024362A2 (en) * | 2006-08-23 | 2008-02-28 | Acuprint, Inc. | Advanced multi-factor authentication methods |
CN104519049A (zh) * | 2013-09-30 | 2015-04-15 | 瞻博网络公司 | 通过增加客户端资源需求来限制拒绝服务攻击的效力 |
CN107077574A (zh) * | 2014-10-20 | 2017-08-18 | 微软技术许可有限责任公司 | 用于客户端设备的信任服务 |
CN106470190A (zh) * | 2015-08-19 | 2017-03-01 | 中兴通讯股份有限公司 | 一种Web实时通信平台鉴权接入方法及装置 |
CN107070863A (zh) * | 2016-01-29 | 2017-08-18 | 谷歌公司 | 本地设备认证 |
Also Published As
Publication number | Publication date |
---|---|
WO2020051372A1 (en) | 2020-03-12 |
US11310217B2 (en) | 2022-04-19 |
CN112640389A (zh) | 2021-04-09 |
EP3847793A1 (en) | 2021-07-14 |
US11750596B2 (en) | 2023-09-05 |
US20200084197A1 (en) | 2020-03-12 |
EP3847793B1 (en) | 2024-03-20 |
AU2022203509B2 (en) | 2023-07-13 |
AU2019336757B2 (en) | 2022-03-10 |
EP3847793A4 (en) | 2021-10-27 |
AU2019336757A1 (en) | 2021-03-18 |
US20220394025A1 (en) | 2022-12-08 |
AU2022203509A1 (en) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11805129B2 (en) | Fictitious account generation on detection of account takeover conditions | |
JP5719871B2 (ja) | フィッシング攻撃を防ぐ方法および装置 | |
US8005965B2 (en) | Method and system for secure server-based session management using single-use HTTP cookies | |
US8019995B2 (en) | Method and apparatus for preventing internet phishing attacks | |
US11630887B2 (en) | Using an NP-complete problem to deter malicious clients | |
US11910194B2 (en) | Secondary device authentication proxied from authenticated primary device | |
JP2010508588A (ja) | 人為的な中間フィッシング攻撃の検出及び防止 | |
WO2016164984A1 (en) | Method and system for transaction security | |
AU2022203509B2 (en) | Using ephemeral URL passwords to deter high-volume attacks | |
US11665199B2 (en) | Using cloned accounts to track attacks on user accounts | |
CN111492614A (zh) | 多因素认证 | |
US20210312446A1 (en) | Detecting malware by monitoring client-side memory stacks | |
Sabzevar et al. | Improving the security of mobile-phone access to remote personal computers | |
Daneshgadeh et al. | Security Issues of Smartphones Regarding M-Commerce | |
Sabzevar et al. | Secure Mobile Phone Access to Remote Personal Computers: A Case Study | |
Boneh et al. | Snap2Pass: Consumer-Friendly Challenge-Response Authentication with a Phone |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |