[go: up one dir, main page]

HK1236663B - System and method for performing authentication using data analytics - Google Patents

System and method for performing authentication using data analytics

Info

Publication number
HK1236663B
HK1236663B HK17110163.1A HK17110163A HK1236663B HK 1236663 B HK1236663 B HK 1236663B HK 17110163 A HK17110163 A HK 17110163A HK 1236663 B HK1236663 B HK 1236663B
Authority
HK
Hong Kong
Prior art keywords
verification
parameters
user
parameters associated
current transaction
Prior art date
Application number
HK17110163.1A
Other languages
Chinese (zh)
Other versions
HK1236663A1 (en
Inventor
D‧巴格达萨瑞安
Original Assignee
诺克诺克实验公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 诺克诺克实验公司 filed Critical 诺克诺克实验公司
Publication of HK1236663A1 publication Critical patent/HK1236663A1/en
Publication of HK1236663B publication Critical patent/HK1236663B/en

Links

Description

用于使用数据分析执行验证的系统和方法Systems and methods for performing validation using data analysis

背景技术Background Art

技术领域Technical Field

本发明整体涉及数据处理系统的领域。更具体地讲,本发明涉及用于使用诸如机器学习等数据分析执行验证的系统和方法。The present invention generally relates to the field of data processing systems. More particularly, the present invention relates to systems and methods for performing validation using data analytics such as machine learning.

相关领域说明Description of related fields

还已经设计了使用生物计量传感器经由网络提供安全用户验证的系统。在此类系统中,可经由网络发送由验证器生成的得分和/或其他验证数据,以向远程服务器验证用户。例如,专利申请No.2011/0082801(“‘801申请”)描述了一种在网络上进行用户注册和验证的框架,这种框架提供强验证(例如,防御身份窃取和网络钓鱼)、安全交易(例如,防御交易中的“浏览器中的恶意软件”和“中间人”攻击)和客户端验证令牌的登记/管理(例如,指纹读取器、面部识别装置、智能卡、可信平台模块等等)。Systems that use biometric sensors to provide secure user authentication over a network have also been designed. In such systems, a score and/or other authentication data generated by an authenticator can be sent over the network to authenticate the user to a remote server. For example, Patent Application No. 2011/0082801 (“the '801 Application”) describes a framework for user registration and authentication over a network that provides strong authentication (e.g., protection against identity theft and phishing), secure transactions (e.g., protection against “in-browser malware” and “man-in-the-middle” attacks during transactions), and registration/management of client authentication tokens (e.g., fingerprint readers, facial recognition devices, smart cards, trusted platform modules, etc.).

本申请的受让人已经开发出对‘801申请中所描述的验证框架的多种改进。这些改进中的一些在以下一组美国专利申请中描述,这些美国专利申请都被转让给本受让人:序列号13/730,761,名称为“Query System and Method to Determine AuthenticationCapabilities”(用于确定验证能力的查询系统和方法);序列号13/730,776,名称为“System and Method for Efficiently Enrolling,Registering,and AuthenticatingWith Multiple Authentication Devices”(使用多个验证装置有效地进行登记、注册和验证的系统和方法);序列号13/730,780,名称为“System and Method for ProcessingRandom Challenges Within an Authentication Framework”(用于在验证框架内处理随机质询的系统和方法);序列号13/730,791,名称为“System and Method forImplementing Privacy Classes Within an Authentication Framework”(用于在验证框架内实施隐私类别的系统和方法);序列号13/730,795,名称为“System and Method forImplementing Transaction Signaling Within an Authentication Framework”(用于在验证框架内实施交易信令的系统和方法);以及序列号14/218,504,名称为“AdvancedAuthentication Techniques and Applications”(高级验证技术和应用)(下文中称为“‘504申请”)。这些申请在本文中有时称为(“共同未决的申请”)。The assignee of the present application has developed various improvements to the authentication framework described in the '801 application. Some of these improvements are described in the following group of U.S. patent applications, all of which are assigned to the present assignee: Serial No. 13/730,761, entitled “Query System and Method to Determine Authentication Capabilities”; Serial No. 13/730,776, entitled “System and Method for Efficiently Enrolling, Registering, and Authenticating With Multiple Authentication Devices”; Serial No. 13/730,780, entitled “System and Method for Processing Random Challenges Within an Authentication Framework”; Serial No. 13/730,791, entitled “System and Method for Implementing Privacy Classes Within an Authentication Framework”; Serial No. 13/730,795, entitled “System and Method for Implementing Transaction Signaling Within an Authentication Framework” (Systems and Methods for Implementing Transaction Signaling within an Authentication Framework); and Serial No. 14/218,504, entitled “Advanced Authentication Techniques and Applications” (hereinafter referred to as the “‘504 Application”). These applications are sometimes referred to herein as (the “Co-Pending Applications”).

简而言之,在这些共同未决的申请描述的验证技术中,用户向客户端装置上的验证装置(或验证器)诸如生物计量装置(例如,指纹传感器)登记。当用户向生物计量装置登记时,(例如,通过轻扫手指、拍摄照片、记录语音等)捕捉生物计量参考数据。用户可随后经由网络向一个或多个服务器(例如,配备有安全交易服务的网站或其他依赖方,如共同未决的申请中所述)注册/预置验证装置;并且随后使用在注册过程中交换的数据(例如,预置到验证装置中的密钥)向那些服务器验证。一旦通过验证,用户便获许与网站或其他依赖方执行一个或多个在线交易。在共同未决的申请所描述的框架中,敏感信息(诸如指纹数据和能够用于唯一地标识用户的其他数据)可本地保持在用户的验证装置上,以保护用户的隐私。In short, in the authentication technology described in these co-pending applications, a user registers with an authentication device (or authenticator), such as a biometric device (e.g., a fingerprint sensor), on a client device. When a user registers with the biometric device, biometric reference data is captured (e.g., by swiping a finger, taking a photo, recording a voice, etc.). The user can then register/pre-install the authentication device with one or more servers (e.g., websites or other relying parties equipped with secure transaction services, as described in the co-pending applications) via a network; and then authenticate with those servers using the data exchanged during the registration process (e.g., a key pre-installed in the authentication device). Once authenticated, the user is permitted to perform one or more online transactions with the website or other relying party. In the framework described in the co-pending applications, sensitive information (such as fingerprint data and other data that can be used to uniquely identify the user) can be stored locally on the user's authentication device to protect the user's privacy.

‘504申请描述了多种额外的技术,包括以下技术:设计复合验证器、智能地生成验证保证等级、使用非侵入式用户核验、将验证数据传送到新的验证装置、用客户端风险数据扩充验证数据、自适应地应用验证策略、以及创建信任圈、等等。The '504 application describes a variety of additional techniques, including the following: designing composite authenticators, intelligently generating authentication assurance levels, using non-intrusive user verification, transmitting authentication data to new authentication devices, augmenting authentication data with client risk data, adaptively applying authentication policies, and creating circles of trust, among other techniques.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

能够结合下列附图从以下具体实施方式更好地理解本发明,其中:The present invention can be better understood from the following detailed description in conjunction with the following drawings, in which:

图1A至图1B示出了安全验证系统架构的两个不同实施例;1A-1B illustrate two different embodiments of a security verification system architecture;

图2是示出可如何将密钥注册到验证装置中的事务图;FIG2 is a transaction diagram illustrating how a key may be registered into an authentication device;

图3示出了显示远程验证的事务图;FIG3 shows a transaction diagram illustrating remote authentication;

图4A至图4B示出了用于使用机器学习技术执行验证的系统的不同实施例;4A-4B illustrate various embodiments of systems for performing verification using machine learning techniques;

图5示出了用于使用机器学习技术执行验证的方法的一个实施例;FIG5 illustrates one embodiment of a method for performing verification using machine learning techniques;

图6示出了用于使用机器学习技术执行验证的方法的另一个实施例;FIG6 illustrates another embodiment of a method for performing verification using machine learning techniques;

图7示出了用于服务器和/或客户端的计算机架构的一个实施例;以及FIG7 illustrates one embodiment of a computer architecture for a server and/or client; and

图8示出了用于服务器和/或客户端的计算机架构的一个实施例。FIG8 illustrates one embodiment of a computer architecture for a server and/or client.

具体实施方式DETAILED DESCRIPTION

下文描述用于实施高级验证技术及相关联应用的设备、方法和机器可读介质的实施例。在整个描述中,出于解释的目的,本文陈述了许多特定细节以便透彻理解本发明。然而,本领域的技术人员将容易明白,可在没有这些特定细节中的一些的情况下实践本发明。在其他情况下,为免模糊本发明的基本原理,已熟知的结构和装置未示出或以框图形式示出。The following describes embodiments of devices, methods, and machine-readable media for implementing advanced authentication techniques and associated applications. Throughout the description, for purposes of explanation, numerous specific details are set forth herein to provide a thorough understanding of the present invention. However, those skilled in the art will readily appreciate that the present invention can be practiced without some of these specific details. In other instances, well-known structures and devices are not shown or are shown in block diagram form to avoid obscuring the underlying principles of the present invention.

下文论述的本发明的实施例涉及具有用户核实功能(诸如生物计量形式或PIN输入)的验证装置。这些装置在本文中有时称为“令牌”、“验证装置”或“验证器”。尽管某些实施例注重于面部识别硬件/软件(例如,用于识别用户面部并且跟踪用户的眼球运动的相机和相关联软件),但有些实施例可利用额外的生物计量装置,包括(例如)指纹传感器、声音识别硬件/软件(例如,用于识别用户声音的麦克风和相关联软件)以及光学识别能力(例如,用于扫描用户视网膜的光学扫描器和相关联软件)。用户验证功能还可包括非生物计量形式,如PIN输入。验证器可使用装置,如可信平台模块(TPM)、智能卡和安全元件,来进行密码操作与密钥存储。The embodiments of the present invention discussed below relate to authentication devices with user verification capabilities (such as biometric forms or PIN entry). These devices are sometimes referred to herein as "tokens," "authentication devices," or "authenticators." Although some embodiments focus on facial recognition hardware/software (e.g., a camera and associated software for recognizing a user's face and tracking the user's eye movements), some embodiments may utilize additional biometric devices, including, for example, fingerprint sensors, voice recognition hardware/software (e.g., a microphone and associated software for recognizing a user's voice), and optical recognition capabilities (e.g., an optical scanner and associated software for scanning a user's retina). User authentication capabilities may also include non-biometric forms, such as PIN entry. Authenticators may use devices such as Trusted Platform Modules (TPMs), smart cards, and secure elements to perform cryptographic operations and key storage.

在移动式生物计量的具体实施中,生物计量装置可远程于依赖方。如本文所用,术语“远程”意味着生物计量传感器不是其以通信方式耦接到的计算机的安全边界的一部分(例如,生物计量传感器未嵌入到与依赖方计算机相同的物理外壳中)。举例来说,生物计量装置可经由网络(例如,因特网、无线网络链路等)或经由外围输入(诸如USB端口)耦接到依赖方。在这些条件下,依赖方可能无法知道装置是否为得到依赖方授权的装置(例如,提供可接受等级的验证强度和完整性保护的装置)以及/或者黑客是否已经危及或甚至已经替换了生物计量装置。生物计量装置的置信度取决于装置的特定实施。In specific implementations of mobile biometrics, the biometric device may be remote from the relying party. As used herein, the term "remote" means that the biometric sensor is not part of the security perimeter of the computer to which it is communicatively coupled (e.g., the biometric sensor is not embedded in the same physical housing as the relying party's computer). For example, the biometric device may be coupled to the relying party via a network (e.g., the Internet, a wireless network link, etc.) or via a peripheral input (such as a USB port). Under these conditions, the relying party may not be able to know whether the device is authorized by the relying party (e.g., a device that provides an acceptable level of authentication strength and integrity protection) and/or whether a hacker has compromised or even replaced the biometric device. The confidence level of the biometric device depends on the specific implementation of the device.

本文中使用的术语“本地”指的是用户正亲自在特定位置处(诸如在自动取款机(ATM)或销售点(POS)零售结账处)进行交易的事实。然而,如下文所论述,用于验证用户的验证技术可能涉及非位置组件,诸如经由网络与远程服务器和/或其他数据处理装置的通信。此外,尽管本文中描述了特定实施例(诸如ATM和零售点),但应该指出的是,可在由最终用户在其内本地发起交易的任何系统的环境中实施本发明的基本原理。As used herein, the term "local" refers to the fact that a user is conducting a transaction in person at a specific location, such as at an automated teller machine (ATM) or a point-of-sale (POS) retail checkout. However, as discussed below, the authentication techniques used to authenticate a user may involve non-location components, such as communication with a remote server and/or other data processing device via a network. Furthermore, while specific embodiments (such as ATMs and retail points of sale) are described herein, it should be noted that the underlying principles of the present invention may be implemented in the context of any system in which a transaction is initiated locally by an end user.

本文中有时使用术语“依赖方”来不仅指尝试与之进行用户交易的实体(例如,执行用户交易的网站或在线服务),还指代表那个实体实施的安全交易服务器(有时称为“验证器”),其可执行本文所述的基础验证技术。安全交易服务器可由依赖方拥有并且/或者在依赖方的控制下,或者可在作为商业安排的一部分向依赖方提供安全交易服务的第三方的控制下。The term "relying party" is sometimes used herein to refer not only to the entity with which a user transaction is attempted (e.g., a website or online service that performs the user transaction), but also to the secure transaction server (sometimes referred to as a "validator") implemented on behalf of that entity that can perform the underlying validation techniques described herein. The secure transaction server can be owned and/or under the control of the relying party, or can be under the control of a third party that provides secure transaction services to the relying party as part of a business arrangement.

本文中使用的术语“服务器”指的是在一个硬件平台上(或跨多个硬件平台)执行的软件,其经由网络从客户端接收请求,然后作为响应来执行一个或多个操作,并且将响应传输到客户端,该响应通常包括操作的结果。服务器对客户端请求做出响应,从而向客户端提供或帮助向客户端提供网络“服务”。值得注意的是,服务器不限于单个计算机(例如,用于执行服务器软件的单个硬件装置),而是实际上可散布在多个硬件平台上,有可能位于多个地理位置处。As used herein, the term "server" refers to software executed on a hardware platform (or across multiple hardware platforms) that receives requests from clients via a network, then performs one or more operations in response, and transmits a response to the client, which typically includes the results of the operations. The server responds to client requests, thereby providing or helping to provide network "services" to the client. It is worth noting that a server is not limited to a single computer (e.g., a single hardware device for executing server software), but can actually be distributed across multiple hardware platforms, potentially located in multiple geographical locations.

示例性系统架构和交易Exemplary System Architecture and Transactions

图1A至图1B示出了包括用于注册验证装置(有时还称为“预置”)并且验证用户的客户端侧组件和服务器侧组件的系统架构的两个实施例。图1A所示的实施例使用基于web浏览器插件的架构来与网站通信,而图1B所示的实施例不需要web浏览器。本文所述的各种技术诸如向验证装置登记用户、向安全服务器注册验证装置和核验用户可在这些系统构架中的任一者上实施。因此,虽然图1A所示的架构用于展示下述若干实施例的操作,但相同的基本原理可在图1B所示的系统上容易地实施(例如,通过删除安全交易插件105,该安全交易插件充当用于在安全企业或Web目的地130与客户端上的安全交易服务101之间通信的中介)。Figures 1A to 1B show two embodiments of a system architecture including client-side components and server-side components for registering an authentication device (sometimes also referred to as "pre-set") and authenticating a user. The embodiment shown in Figure 1A uses a web browser plug-in-based architecture to communicate with a website, while the embodiment shown in Figure 1B does not require a web browser. The various techniques described herein, such as registering a user with an authentication device, registering an authentication device with a secure server, and verifying a user, can be implemented on any of these system architectures. Therefore, although the architecture shown in Figure 1A is used to demonstrate the operation of several of the embodiments described below, the same basic principles can be easily implemented on the system shown in Figure 1B (for example, by removing the secure transaction plug-in 105, which acts as an intermediary for communicating between a secure enterprise or web destination 130 and the secure transaction service 101 on the client).

首先转到图1A,图示实施例包括配备有一个或多个用于登记和核验最终用户的验证装置110至112(这些验证装置在本领域中有时称为验证“令牌”或“验证器”)的客户端100。如上所述,验证装置110至112可包括生物计量装置,诸如指纹传感器、声音识别硬件/软件(例如,用于识别用户声音的麦克风和相关联软件)、面部识别硬件/软件(例如,用于识别用户面部的相机和相关联软件)、和光学识别功能(例如,用于扫描用户视网膜的光学扫描器和相关联软件),并且支持非生物计量形式(诸如PIN核验)。验证装置可使用可信平台模块(TPM)、智能卡或安全元件用于加密操作以及密钥存储。Turning first to FIG1A , the illustrated embodiment includes a client 100 equipped with one or more authentication devices 110 to 112 (these authentication devices are sometimes referred to in the art as authentication “tokens” or “authenticators”) for enrolling and verifying end users. As described above, the authentication devices 110 to 112 may include biometric devices such as fingerprint sensors, voice recognition hardware/software (e.g., a microphone and associated software for recognizing a user's voice), facial recognition hardware/software (e.g., a camera and associated software for recognizing a user's face), and optical recognition capabilities (e.g., an optical scanner and associated software for scanning a user's retina), and support non-biometric modalities (such as PIN verification). The authentication device may use a trusted platform module (TPM), a smart card, or a secure element for cryptographic operations and key storage.

验证装置110至112通过由安全交易服务101暴露的接口102(例如,应用程序编程接口或API)以通信方式耦接到客户端。安全交易服务101是用于经由网络与一个或多个安全交易服务器132至133通信以及用于与在web浏览器104的环境内执行的安全交易插件105介接的安全应用程序。如图所示,接口102还可提供对客户端100上的安全存储装置120的安全访问,该安全存储装置存储与每个验证装置110至112相关的信息,诸如装置识别代码、用户识别代码、受验证装置保护的用户登记数据(例如,所扫描的指纹或其他生物计量数据),以及用于执行本文所述安全验证技术的由验证装置包封的密钥。例如,如下文详细论述,唯一密钥可被存储到每个验证装置中并且在经由网络(诸如因特网)与安全企业或Web目的地130通信时使用。Authentication devices 110 to 112 are communicatively coupled to the client via an interface 102 (e.g., an application programming interface or API) exposed by a secure transaction service 101. The secure transaction service 101 is a secure application for communicating with one or more secure transaction servers 132 to 133 via a network and for interfacing with a secure transaction plug-in 105 executed within the environment of a web browser 104. As shown, the interface 102 may also provide secure access to a secure storage device 120 on the client 100, which stores information related to each authentication device 110 to 112, such as a device identification code, a user identification code, user registration data protected by the authentication device (e.g., a scanned fingerprint or other biometric data), and a key encapsulated by the authentication device for performing the secure authentication techniques described herein. For example, as discussed in detail below, a unique key may be stored in each authentication device and used when communicating with a secure enterprise or web destination 130 via a network (such as the Internet).

如下文论述,安全交易插件105支持某些类型的网络交易,诸如与网站131或其他服务器的HTTP或HTTPS交易。在一个实施例中,响应于插入到由安全企业或Web目的地130内的网站131的网页的HTML代码中的特定HTML标签来启动安全交易插件。响应于检测到此类标签,安全交易插件105可将交易转发到安全交易服务101以进行处理。另外,对于某些类型的交易(例如,诸如安全密钥交换),安全交易服务101可开启与当地交易服务器132(即,与网站位于同一地点)或异地交易服务器133的直接通信信道。As discussed below, the secure transaction plugin 105 supports certain types of network transactions, such as HTTP or HTTPS transactions with a website 131 or other server. In one embodiment, the secure transaction plugin is activated in response to a specific HTML tag inserted into the HTML code of a web page of a website 131 within a secure enterprise or web destination 130. In response to detecting such a tag, the secure transaction plugin 105 may forward the transaction to the secure transaction service 101 for processing. In addition, for certain types of transactions (e.g., such as secure key exchanges), the secure transaction service 101 may open a direct communication channel with a local transaction server 132 (i.e., co-located with the website) or an off-site transaction server 133.

安全交易服务器132至133耦接到安全交易数据库121,安全交易数据库121用于存储用户数据、验证装置数据、密钥以及支持下文所述的安全验证交易所需要的其他安全信息。然而,应该指出的是,本发明的基本原理不需要分离图1A所示的安全企业或web目的地130内的逻辑组件。例如,网站131和安全交易服务器132至133可在单个物理服务器或分开的多个物理服务器内实施。此外,网站131和交易服务器132至133可在用于执行下文所述的功能的一个或多个服务器上所执行的集成软件模块内实施。Secure transaction servers 132-133 are coupled to secure transaction database 121, which is used to store user data, authentication device data, cryptographic keys, and other security information required to support secure authentication transactions as described below. However, it should be noted that the underlying principles of the present invention do not require the separation of logical components within the secure enterprise or web destination 130 shown in FIG1A . For example, website 131 and secure transaction servers 132-133 may be implemented within a single physical server or multiple separate physical servers. Furthermore, website 131 and transaction servers 132-133 may be implemented within integrated software modules executed on one or more servers for performing the functions described below.

如上所述,本发明的基本原理不限于图1A所示的基于浏览器的架构。图1B示出替代性具体实施,其中独立应用程序154利用由安全交易服务101提供的功能来经由网络验证用户。在一个实施例中,应用程序154被设计为建立与一个或多个网络服务151的通信会话,这些网络服务依赖于安全交易服务器132至133来执行下文详细描述的用户/客户端验证技术。As mentioned above, the underlying principles of the present invention are not limited to the browser-based architecture shown in FIG1A . FIG1B illustrates an alternative implementation in which a standalone application 154 utilizes functionality provided by secure transaction service 101 to authenticate users via the network. In one embodiment, application 154 is designed to establish a communication session with one or more network services 151, which rely on secure transaction servers 132-133 to perform the user/client authentication techniques described in detail below.

在图1A和图1B所示的任一个实施例中,安全交易服务器132至133可生成密钥,这些密钥接着被安全地传输到安全交易服务101并存储到安全存储装置120内的验证装置中。另外,安全交易服务器132至133管理服务器端上的安全交易数据库121。In either embodiment shown in Figures 1A and 1B, the secure transaction servers 132-133 may generate keys that are then securely transmitted to the secure transaction service 101 and stored in a verification device within the secure storage device 120. In addition, the secure transaction servers 132-133 manage the secure transaction database 121 on the server side.

将结合图2至图3描述与向依赖方远程注册验证装置和验证相关联的某些基本原理,随后是对用于使用机器学习技术执行验证的本发明的实施例的详细描述。Certain basic principles associated with remote registration of an authentication device and authentication with a relying party will be described in conjunction with Figures 2-3, followed by a detailed description of an embodiment of the present invention for performing authentication using machine learning techniques.

图2示出了用于注册客户端上的验证装置(诸如图1A至图1B中的客户端100上的装置110至112)(有时称为“预置”验证装置)的一系列交易。简单来讲,安全交易服务101和接口102被总和在一起作为验证客户端201,并且包括安全交易服务器132至133的安全企业或web目的地130被表示为依赖方202。FIG2 illustrates a series of transactions for registering an authentication device on a client, such as devices 110 to 112 on client 100 in FIG1A to FIG1B (sometimes referred to as a “pre-installed” authentication device). In simplified terms, secure transaction service 101 and interface 102 are collectively referred to as authentication client 201, and secure enterprise or web destination 130, including secure transaction servers 132 to 133, is represented as relying party 202.

在注册验证器(例如,指纹验证器、语音验证器等)期间,在验证客户端201与依赖方202之间共享与验证器相关联的密钥。再参见图1A至图1B,密钥可存储在客户端100的安全存储装置120和由安全交易服务器132至133使用的安全交易数据库121内。在一个实施例中,密钥是由安全交易服务器132至133中的一个生成的对称密钥。然而,在下文论述的另一个实施例中,使用不对称密钥。在这个实施例中,可由安全交易服务器132至133生成公共/私有密钥对。公共密钥可接着由安全交易服务器132至133存储,并且相关的私有密钥可存储在客户端上的安全存储装置120中。在替代实施例中,密钥可在客户端100上生成(例如,由验证装置或验证装置接口而不是安全交易服务器132至133生成)。本发明的基本原理不限于任何特定类型的密钥或生成密钥的方式。During registration of an authenticator (e.g., a fingerprint authenticator, a voice authenticator, etc.), a key associated with the authenticator is shared between the authenticating client 201 and the relying party 202. Referring again to Figures 1A-1B, the key may be stored in the secure storage 120 of the client 100 and in the secure transaction database 121 used by the secure transaction servers 132-133. In one embodiment, the key is a symmetric key generated by one of the secure transaction servers 132-133. However, in another embodiment discussed below, an asymmetric key is used. In this embodiment, a public/private key pair may be generated by the secure transaction server 132-133. The public key may then be stored by the secure transaction server 132-133, and the associated private key may be stored in the secure storage 120 on the client. In an alternative embodiment, the key may be generated on the client 100 (e.g., by the authenticating device or authenticating device interface rather than by the secure transaction server 132-133). The underlying principles of the present invention are not limited to any particular type of key or method of generating the key.

在一个实施例中,采用安全密钥预置协议经由安全通信信道与客户端共享密钥。密钥预置协议的一个例子是动态对称密钥预置协议(DSKPP)(例如,见请求注解(RFC)6063)。然而,本发明的基本原理不限于任何特定密钥预置协议。在一个特定实施例中,客户端生成公共/私有密钥对并且将公共密钥发送到服务器,该服务器可用证实密钥来证实。In one embodiment, a secure key provisioning protocol is employed to share a key with the client via a secure communication channel. An example of a key provisioning protocol is the Dynamic Symmetric Key Provisioning Protocol (DSKPP) (e.g., see Request for Comments (RFC) 6063). However, the underlying principles of the present invention are not limited to any particular key provisioning protocol. In a specific embodiment, the client generates a public/private key pair and sends the public key to the server, which can be authenticated using a authentication key.

转到图2所示的具体细节,为了发起注册过程,依赖方202便生成随机生成的质询(例如,密码随机数),验证客户端201必须在装置注册期间呈现此质询。该随机质询可在有限时间段内有效。作为响应,验证客户端201发起与依赖方202的带外安全连接(例如,带外交易)并且使用密钥预置协议(例如,上文提及的DSKPP协议)与依赖方202通信。为了发起安全连接,验证客户端201可将随机质询提供回到依赖方202(可能与在随机质询上生成的签名一起)。另外,验证客户端201可传输用户的身份(例如,用户ID或其他代码)和待预置注册的验证装置的身份(例如,使用唯一地识别正被预置的验证装置的类型的验证证实ID(AAID))。Turning to the specific details shown in Figure 2, to initiate the registration process, relying party 202 generates a randomly generated challenge (e.g., a cryptographic random number), which verification client 201 must present during device registration. This random challenge may be valid for a limited time period. In response, verification client 201 initiates an out-of-band secure connection (e.g., an out-of-band transaction) with relying party 202 and communicates with relying party 202 using a key provisioning protocol (e.g., the DSKPP protocol mentioned above). To initiate the secure connection, verification client 201 may provide the random challenge back to relying party 202 (possibly along with a signature generated on the random challenge). In addition, verification client 201 may transmit the identity of the user (e.g., a user ID or other code) and the identity of the verification device to be provisioned (e.g., using an authentication authentication ID (AAID) that uniquely identifies the type of verification device being provisioned).

依赖方使用用户名称或ID代码定位用户(例如,在用户帐户数据库中),查验该随机质询(例如,使用签名或简单地将该随机质询与所发送的随机质询进行比较),在已经发送验证装置的验证代码的情况下查验该验证代码(例如,AAID),并且在安全交易数据库(例如,图1A至图1B中的数据库121)中为用户和验证装置创建新条目。在一个实施例中,依赖方维护其接受用于验证的验证装置的数据库。其可使用AAID(或其他验证装置代码)查询这个数据库以确定正被预置的验证装置是否能够被接受用于验证。如果是,则其将继续进行注册过程。The relying party locates the user using the username or ID code (e.g., in a user account database), verifies the random challenge (e.g., using a signature or simply comparing the random challenge to the random challenge sent), verifies the verification code of the authentication device if one has already been sent (e.g., AAID), and creates a new entry for the user and authentication device in a secure transaction database (e.g., database 121 in Figures 1A to 1B). In one embodiment, the relying party maintains a database of authentication devices that it accepts for authentication. It can query this database using the AAID (or other authentication device code) to determine whether the authentication device being provisioned is acceptable for authentication. If so, it will continue with the registration process.

在一个实施例中,依赖方202为正被预置的每个验证装置生成验证密钥。其将密钥写入安全数据库并且使用密钥预置协议将密钥发送回到验证客户端201。一旦完成,验证装置和依赖方202便在使用对称密钥的情况下共享相同密钥,或者在使用不对称密钥的情况下共享不同密钥。例如,如果使用不对称密钥,则依赖方202可存储公共密钥并且向验证客户端201提供私有密钥。在从依赖方202接收到私有密钥后,验证客户端201将该密钥预置到验证装置中(将其存储在与验证装置相关联的安全存储装置内)。其可接着在用户的验证(如下所述)期间使用该密钥。在替代实施例中,由验证客户端201生成密钥,并且使用密钥预置协议来向依赖方202提供密钥。在任一种情况下,一旦预置完成,验证客户端201和依赖方202便各自具有密钥,并且验证客户端201向依赖方通知该完成。In one embodiment, relying party 202 generates a verification key for each verification device being preset. It writes the key into a secure database and uses a key pre-setting protocol to send the key back to verification client 201. Once completed, the verification device and relying party 202 share the same key when using a symmetric key, or share different keys when using an asymmetric key. For example, if an asymmetric key is used, relying party 202 can store a public key and provide a private key to verification client 201. After receiving the private key from relying party 202, verification client 201 presets the key into the verification device (storing it in a secure storage device associated with the verification device). It can then use the key during the user's verification (as described below). In an alternative embodiment, a key is generated by verification client 201 and a key pre-setting protocol is used to provide the key to relying party 202. In either case, once the pre-setting is completed, verification client 201 and relying party 202 each have a key, and verification client 201 notifies the relying party of the completion.

图3示出了用于向预置的验证装置验证用户的一系列交易。一旦装置注册完成(如图2所述),依赖方202便将接受客户端上的本地验证装置所生成的验证响应(有时称为“令牌”)作为有效验证响应。Figure 3 shows a series of transactions for verifying a user to a preset verification device. Once device registration is complete (as described in Figure 2), relying party 202 will accept the verification response (sometimes referred to as a "token") generated by the local verification device on the client as a valid verification response.

转到图3所示的具体细节,响应于用户发起需要验证的与依赖方202的交易(例如,发起来自依赖方的网站的支付、访问私有用户帐户数据等),依赖方202生成包括随机质询(例如,密码随机数)的验证请求。在一个实施例中,随机质询具有与其相关联的时间限制(例如,其在指定时间段内有效)。依赖方还可识别待由验证客户端201用于验证的验证器。如上所述,依赖方可预置客户端上可用的每个验证装置并且存储用于每个所预置的验证器的公共密钥。因此,其可使用验证器的公共密钥或可使用验证器ID(例如,AAID)来识别待使用的验证器。或者,其可向客户端提供用户可从中进行选择的验证选项列表。Turning to the specific details shown in Figure 3, in response to a user initiating a transaction with a relying party 202 that requires verification (e.g., initiating a payment from a relying party's website, accessing private user account data, etc.), the relying party 202 generates a verification request including a random challenge (e.g., a cryptographic random number). In one embodiment, the random challenge has a time limit associated with it (e.g., it is valid for a specified time period). The relying party can also identify the authenticator to be used for verification by the verification client 201. As described above, the relying party can preset each verification device available on the client and store the public key for each preset authenticator. Therefore, it can use the public key of the authenticator or can use the authenticator ID (e.g., AAID) to identify the authenticator to be used. Alternatively, it can provide the client with a list of verification options from which the user can choose.

响应于接收到验证请求,可向用户呈现请求验证的图形用户界面(GUI)(例如,呈网页或验证应用程序/应用程序的GUI的形式)。用户接着执行验证(例如,在指纹读取器上轻扫手指等)。作为响应,验证客户端201生成验证响应,其含有在随机质询上方的签名以及与验证器相关联的私有密钥。其还可在验证响应中包括其他相关数据,诸如用户ID代码。In response to receiving the verification request, a graphical user interface (GUI) requesting verification may be presented to the user (e.g., in the form of a web page or verification application/application's GUI). The user then performs verification (e.g., swiping a finger across a fingerprint reader, etc.). In response, the verification client 201 generates a verification response containing a signature over the random challenge and a private key associated with the authenticator. It may also include other relevant data in the verification response, such as a user ID code.

在接收到验证响应后,依赖方便可查验随机质询上方的签名(例如,使用与验证器相关联的公共密钥)并且确认用户的身份。一旦验证完成,便准许用户进入与依赖方的安全交易,如图所示。After receiving the verification response, the relying party can verify the signature above the random challenge (e.g., using the public key associated with the authenticator) and confirm the user's identity. Once verification is complete, the user is allowed to enter into a secure transaction with the relying party, as shown in the figure.

诸如传输层安全性(TLS)或安全套接字层(SSL)等安全通信协议可用于针对图2至图3所示的任何或所有交易在依赖方202与验证客户端201之间建立安全连接。A secure communication protocol such as Transport Layer Security (TLS) or Secure Sockets Layer (SSL) may be used to establish a secure connection between relying party 202 and verification client 201 for any or all of the transactions shown in Figures 2-3.

用于使用数据分析执行验证的系统和方法Systems and methods for performing validation using data analysis

本发明的实施例包括用于通过以较大规模查看验证相关数据来检测用户和装置的不同行为模式并且使用这些模式来调整交易的验证风险的技术。传统验证系统分析来自用户或装置的单个数据信号,诸如口令或加密响应,并且基于这个信号做出最终验证决策。相反,下文所述的本发明的实施例基于与用户验证相关联的各种不同信号和数据来执行较大规模的分析,从而识别无法用传统系统检测的与当前交易相关的关注模式。Embodiments of the present invention include techniques for detecting distinct behavioral patterns of users and devices by examining authentication-related data at a larger scale, and using these patterns to adjust the authentication risk of transactions. Traditional authentication systems analyze a single data signal from a user or device, such as a password or encrypted response, and make final authentication decisions based on this signal. In contrast, the embodiments of the present invention described below perform larger-scale analysis based on a variety of different signals and data associated with user authentication, thereby identifying patterns of interest related to the current transaction that cannot be detected by traditional systems.

如所提及,传统验证系统是基于验证数据的单个源,诸如用户口令和验证密钥。服务器通常将用户验证数据存储在用户记录中并且期望在每个验证事件期间接收恰当的验证数据。服务器执行二元检查–即,如果验证数据的核验成功,则用户被验证,如果核验失败,则用户未被验证。现今成千上万的网站采用此方案。As mentioned, traditional authentication systems are based on a single source of authentication data, such as a user password and an authentication key. The server typically stores the user's authentication data in the user's record and expects to receive the appropriate authentication data during each authentication event. The server performs a binary check—that is, if the authentication data is verified successfully, the user is authenticated; if it fails, the user is not authenticated. Thousands of websites today employ this approach.

甚至在允许用户使用客户端装置的生物计量验证器向服务器验证的下一代验证协议中,基本的验证方法也是基于二元核验–即,对验证器所提供的加密签名的核验。虽然客户端装置可提供多个加密签名,但服务器简单地核验这些加密签名并且做出成功或失败的二元决策。Even in next-generation authentication protocols that allow users to authenticate to a server using a biometric authenticator on a client device, the underlying authentication method is based on a binary verification—that is, verification of a cryptographic signature provided by the authenticator. While the client device can provide multiple cryptographic signatures, the server simply verifies these and makes a binary decision of success or failure.

此类系统的缺点是其容易受到高级攻击。只要所提供的验证数据通过服务器侧核验,验证就将被认为是成功的。然而,如果客户端侧验证器受到危及并且攻击者能够生成有效验证数据,则这些系统可受到危及。在没有通过以较大规模查看数据来执行更高级分析的情况下,很难检测到此类攻击并恰当地做出反应。A drawback of these systems is their vulnerability to advanced attacks. As long as the verification data provided passes server-side validation, verification is considered successful. However, if the client-side authenticator is compromised and an attacker is able to generate valid verification data, these systems can be compromised. Without more advanced analysis by viewing the data at a larger scale, it is difficult to detect such attacks and respond appropriately.

客户端侧验证器用于向验证服务器验证用户的系统(诸如上文结合图1A至图1B、图2和图3所述)能够访问能够被进一步分析以确定关注模式的关注数据点。此类系统收集的数据越多,分析就将越丰富。可在验证之前、在验证期间和/或在验证之后执行分析。例如,在一个实施例中,验证服务器可查看特定用户的所有先前验证尝试并且判断当前验证操作是否适合于对于该用户而言典型的较大模式。如果其背离该典型模式,则当前操作是较不典型的并且因此较不被信任/较具风险。相反,如果当前验证操作适合于先前模式,则系统可决定不覆盖该用户并且不需要额外验证或者利用侵入性较小的验证技术。The system used by the client-side authenticator to authenticate the user to the authentication server (such as described above in conjunction with Figures 1A to 1B, Figures 2 and 3) has access to data points of interest that can be further analyzed to determine patterns of interest. The more data such a system collects, the richer the analysis will be. The analysis can be performed before, during and/or after authentication. For example, in one embodiment, the authentication server can review all previous authentication attempts for a particular user and determine whether the current authentication operation fits into a larger pattern that is typical for that user. If it deviates from that typical pattern, the current operation is less typical and therefore less trusted/risky. Conversely, if the current authentication operation fits into a previous pattern, the system can decide not to cover the user and not require additional authentication or to utilize less invasive authentication techniques.

图4A示出了本发明的一个实施例,其中在验证服务器450上执行用于基于当前参数执行数据分析以确定风险等级并且选择验证技术的逻辑。图4B示出了另一个实施例,其中在客户端装置400上实施该逻辑。不管在服务器侧还是客户端侧上执行该分析,本发明的基本原理均保持相同。Figure 4A illustrates one embodiment of the present invention, wherein logic for performing data analysis based on current parameters to determine a risk level and select an authentication technique is executed on an authentication server 450. Figure 4B illustrates another embodiment, wherein the logic is implemented on a client device 400. Regardless of whether the analysis is performed on the server or client side, the underlying principles of the present invention remain the same.

首先转到图4A的实施例,示例性客户端装置400包括验证客户端410,其用于使用一个或多个显式用户验证装置420至421和/或非侵入式验证技术405验证用户。显式用户验证装置420至421表示需要显式用户输入的任何形式的验证,诸如指纹验证器、语音或面部识别、视网膜扫描或用户可在上面输入诸如PIN等加密口令的键盘(虚拟或物理)。4A , an exemplary client device 400 includes an authentication client 410 for authenticating a user using one or more explicit user authentication devices 420-421 and/or non-intrusive authentication techniques 405. Explicit user authentication devices 420-421 represent any form of authentication requiring explicit user input, such as a fingerprint authenticator, voice or facial recognition, a retinal scan, or a keyboard (virtual or physical) on which a user can enter an encrypted password such as a PIN.

非侵入式验证技术405可用于收集用于确定合法用户持有客户端装置400的可能性的相关数据。以举例而非限制的方式,非侵入式验证技术405可包括确定用户的当前位置(例如,经由GPS或其他定位机制)并且将当前位置与已知由最终用户访问的位置(例如,用户的“家”和“工作地”位置)进行比较。例如,如果客户端装置400的当前位置是用户的工作地,则这可由验证客户端410在确定是否需要显式用户验证(例如,经由这些验证装置420至421中的一者)和/或显式用户验证水平时使用。Non-intrusive authentication techniques 405 may be used to collect relevant data for determining the likelihood that a legitimate user is in possession of client device 400. By way of example and not limitation, non-intrusive authentication techniques 405 may include determining the user's current location (e.g., via GPS or other positioning mechanisms) and comparing the current location to locations known to be visited by the end user (e.g., the user's "home" and "work" locations). For example, if the current location of client device 400 is the user's workplace, this may be used by authentication client 410 in determining whether explicit user authentication (e.g., via one of authentication devices 420-421) is required and/or the level of explicit user authentication.

在一个特定实施例中,“位置”的定义可不关联到一组物理坐标(如使用GPS时),而是由一组对等装置或其他类型的网络装置的存在来规定。例如,在工作时,客户端的无线网络适配器(例如,Wifi适配器、蓝牙适配器、LTE适配器等)可始终“看到”一组对等网络装置(例如,其他计算机、移动电话、平板计算机等)和网络基础设施装置(例如,Wifi接入点、手机发射塔等)。因此,在用户工作时可利用这些装置的存在来验证。可以类似方式由装置的存在来定义其他位置,诸如当用户在家时。In one particular embodiment, the definition of "location" may not be associated with a set of physical coordinates (as when using GPS), but rather may be defined by the presence of a set of peer devices or other types of network devices. For example, when working, a client's wireless network adapter (e.g., a Wi-Fi adapter, a Bluetooth adapter, an LTE adapter, etc.) may always "see" a set of peer network devices (e.g., other computers, mobile phones, tablets, etc.) and network infrastructure devices (e.g., Wi-Fi access points, cell phone towers, etc.). Thus, the presence of these devices can be used to verify that the user is at work. Other locations can be defined in a similar manner by the presence of devices, such as when the user is at home.

其他非侵入式验证技术405可包括从客户端装置400上的传感器(诸如加速度计)收集数据。例如,可使用加速度计或其他类型的传感器以及被设计为生成用户的正常步行模式的步态“指纹”的软件和/或硬件,来测量用户的生物计量步态。此外,可收集当前温度、湿度、压力和其他环境数据并且将其与用于所宣称的客户端装置400的当前位置的已知环境数据进行比较(例如,以确定当前环境读数与当前声称位置匹配)。另外,非侵入式验证技术可包括测量自从使用装置420至421的上一次成功显式验证以来的时间。时间越短,当前用户就越有可能是客户端装置的合法用户。可收集并分析这些和其他类型的数据,以确定当前用户是客户端装置400的合法用户的可能性(进而确定需要显式用户验证的程度)。Other non-invasive authentication techniques 405 may include collecting data from sensors on the client device 400, such as accelerometers. For example, a user's biometric gait may be measured using an accelerometer or other type of sensor and software and/or hardware designed to generate a gait "fingerprint" of the user's normal walking pattern. In addition, current temperature, humidity, pressure, and other environmental data may be collected and compared with known environmental data for the claimed current location of the client device 400 (e.g., to determine whether the current environmental reading matches the current claimed location). Additionally, non-invasive authentication techniques may include measuring the time since the last successful explicit authentication using the devices 420 to 421. The shorter the time, the more likely the current user is the legitimate user of the client device. These and other types of data may be collected and analyzed to determine the likelihood that the current user is the legitimate user of the client device 400 (and thus the extent to which explicit user authentication is required).

如上所述,安全存储装置425可用于存储与验证装置420至421中的每一者相关联的验证密钥。验证密钥可用于签名并加密经由安全通信信道与依赖方450的通信。As described above, secure storage 425 may be used to store verification keys associated with each of verification devices 420 through 421. The verification keys may be used to sign and encrypt communications with relying party 450 via a secure communication channel.

在一个实施例中,通过在依赖方验证服务器450上执行的风险分析模块411从客户端装置400收集当前参数406。下文示出了许多示例性参数。风险分析模块411可接着将当前参数406与验证服务器450上的存储装置中所维护的历史参数和阈值430进行比较以确定当前交易的风险等级407。在一个实施例中,风险等级407表示当前参数406偏离在先前成功验证期间收集的历史参数430的程度(例如,当前参数与历史参数之间的“距离”)和/或当前参数406与在先前不成功验证尝试或欺诈性验证尝试期间收集的历史参数430相关的程度(其将往往指示较大风险)。如下文详细论述,在一个实施例中,使用异常检测算法确定风险等级407,该异常检测算法使用距离函数来指定当前参数406与历史参数430之间的距离(如下文详细论述)。In one embodiment, current parameters 406 are collected from client device 400 by a risk analysis module 411 executed on a relying party verification server 450. A number of exemplary parameters are shown below. Risk analysis module 411 may then compare current parameters 406 with historical parameters and thresholds 430 maintained in a storage device on verification server 450 to determine a risk level 407 for the current transaction. In one embodiment, risk level 407 represents the degree to which current parameters 406 deviate from historical parameters 430 collected during a previous successful verification (e.g., the "distance" between the current parameters and the historical parameters) and/or the degree to which current parameters 406 correlate with historical parameters 430 collected during a previous unsuccessful verification attempt or a fraudulent verification attempt (which would tend to indicate a greater risk). As discussed in detail below, in one embodiment, risk level 407 is determined using an anomaly detection algorithm that uses a distance function to specify the distance between current parameters 406 and historical parameters 430 (discussed in detail below).

在一个实施例中,基于所检测到的风险等级407,验证服务器450选择验证该用户所需要的验证技术408。一般来讲,风险等级407越大(例如,与指示“正常”行为的参数的距离越大),验证就越严格。例如,在一个实施例中,如果风险等级高于指定阈值,则验证服务器450可需要使用一个或多个显式用户验证装置420至421的验证。相反,对于低于指定阈值的风险等级,则非侵入式验证技术405可为足够的。如上所述,从依赖方发送的验证请求可包括其他形式的安全性相关数据,诸如密码随机数。In one embodiment, based on the detected risk level 407, the verification server 450 selects the verification technology 408 required to verify the user. Generally speaking, the greater the risk level 407 (e.g., the greater the distance from the parameters indicating "normal" behavior), the more stringent the verification. For example, in one embodiment, if the risk level is above a specified threshold, the verification server 450 may require verification using one or more explicit user verification devices 420 to 421. Conversely, for risk levels below the specified threshold, non-intrusive verification technology 405 may be sufficient. As described above, the verification request sent from the relying party may include other forms of security-related data, such as a cryptographic random number.

响应于从依赖方发送的验证请求,验证客户端410提示用户使用一个或多个指定验证装置420至421执行验证(如果需要显式验证的话)。如果用户成功地验证(例如,在指纹验证器上轻扫注册的手指),则验证客户端410发送回指示成功验证的验证响应。验证客户端410可与验证响应一起发送其他安全性相关数据,诸如密码随机数和/或使用验证器的加密密钥生成的签名。验证服务器450可接着核验验证响应(例如,核验密码随机数并且使用对应验证器密钥来核验签名)。如果核验成功,则将允许用户执行所需的交易。例如,在一个实施例中,验证服务器450可向依赖方Web服务器发送对成功验证的指示以准许用户完成交易。In response to the verification request sent from the relying party, the verification client 410 prompts the user to perform verification using one or more designated verification devices 420 to 421 (if explicit verification is required). If the user successfully verifies (for example, swipes a registered finger on a fingerprint verifier), the verification client 410 sends back a verification response indicating successful verification. The verification client 410 may send other security-related data along with the verification response, such as a cryptographic random number and/or a signature generated using the authenticator's encryption key. The verification server 450 may then verify the verification response (for example, verifying the cryptographic random number and verifying the signature using the corresponding authenticator key). If the verification is successful, the user will be allowed to perform the desired transaction. For example, in one embodiment, the verification server 450 may send an indication of successful verification to the relying party web server to allow the user to complete the transaction.

在一个实施例中,结果分析和更新模块412分析与成功验证或不成功验证尝试相关联的参数,以生成对历史参数和阈值的更新409。例如,如果验证成功,则当前参数406可被添加为与成功验证相关联的历史参数430(从而减小与这些参数相关联的“风险性”)。相反,如果验证不成功并且/或者如果检测到欺诈,则结果分析和更新模块412所生成的更新可使当前参数406中的一者或多者与不成功验证尝试相关联(例如,使得在将来验证尝试中那些参数的存在指示较高风险)。例如,如果当前参数406指示用户位于先前未观测到的位置中并且验证不成功,则结果分析和更新模块412可更新与这个位置相关联的阈值和/或权重以增大与这个位置相关联的风险。接着将所得数据与历史验证参数和阈值数据库430整合。结果分析和更新模块412可使用包括机器学习算法(如下文所述)在内的各种不同类型的算法来提供对历史数据的更新。In one embodiment, the results analysis and update module 412 analyzes parameters associated with successful or unsuccessful authentication attempts to generate updates 409 to historical parameters and thresholds. For example, if authentication is successful, the current parameters 406 may be added as historical parameters 430 associated with successful authentication (thereby reducing the "riskiness" associated with those parameters). Conversely, if authentication is unsuccessful and/or if fraud is detected, the updates generated by the results analysis and update module 412 may associate one or more of the current parameters 406 with the unsuccessful authentication attempt (e.g., so that the presence of those parameters in future authentication attempts indicates a higher risk). For example, if the current parameters 406 indicate that the user is located in a previously unobserved location and authentication is unsuccessful, the results analysis and update module 412 may update the thresholds and/or weights associated with this location to increase the risk associated with this location. The resulting data is then integrated with the historical authentication parameter and threshold database 430. The results analysis and update module 412 may use a variety of different types of algorithms, including machine learning algorithms (described below), to provide updates to the historical data.

这样,结果分析和更新模块412持续分析并生成新验证事件(成功和不成功)的相关性并且响应性地更新现有历史数据430。风险分析模块411可接着将经过更新的历史数据430用于后续验证尝试。虽然在图4A至图4B中被示出为单独模块,但风险分析模块411和结果分析和更新模块412可被实施为单个集成机器学习模块以持续评估与用户活动相关的参数并且更新历史数据库430。In this way, the results analysis and update module 412 continuously analyzes and generates correlations for new authentication events (successful and unsuccessful) and responsively updates the existing historical data 430. The risk analysis module 411 can then use the updated historical data 430 for subsequent authentication attempts. Although shown as separate modules in Figures 4A and 4B, the risk analysis module 411 and the results analysis and update module 412 can be implemented as a single integrated machine learning module to continuously evaluate parameters related to user activity and update the historical database 430.

在一个实施例中,单独地基于用户的“正常”模式来设置历史参数和阈值430。也就是说,不是并入与不成功验证事件或欺诈性活动相关的数据,而是可更新历史参数430以包括仅与成功验证事件相关的数据。因此,在这个实施例中,风险分析模块411将尝试测量与这个正常用户配置文件的偏离并且基于与正常用户行为的偏离量(例如,基于是否已经越过一个或多个阈值,如下文论述)来生成风险等级407。In one embodiment, historical parameters and thresholds 430 are set solely based on the user's "normal" pattern. That is, rather than incorporating data related to unsuccessful authentication events or fraudulent activity, historical parameters 430 can be updated to include data related only to successful authentication events. Thus, in this embodiment, risk analysis module 411 will attempt to measure deviations from this normal user profile and generate a risk level 407 based on the amount of deviation from normal user behavior (e.g., based on whether one or more thresholds have been crossed, as discussed below).

图4B示出了一个实施例,其中风险分析模块411和结果分析和更新模块412在验证客户端410内实施而非在验证服务器450上实施(或除了在验证服务器上实施之外)。如在图4A所示的服务器侧实施例中,在这个实施例中,风险分析模块411评估当前参数406与历史参数430之间的相关性以确定与当前交易相关联的风险等级407。基于风险等级407,验证客户端选择一种或多种验证技术408并且将验证结果提供到结果分析和更新模块412,该结果分析和更新模块接着基于当前参数406和验证结果来更新历史参数和阈值。下文提供可被评估的各种具体参数和验证结果。FIG4B illustrates an embodiment in which the risk analysis module 411 and the results analysis and update module 412 are implemented within the verification client 410 rather than on the verification server 450 (or in addition to being implemented on the verification server). As in the server-side embodiment shown in FIG4A , in this embodiment, the risk analysis module 411 evaluates the correlation between the current parameters 406 and the historical parameters 430 to determine the risk level 407 associated with the current transaction. Based on the risk level 407, the verification client selects one or more verification techniques 408 and provides the verification results to the results analysis and update module 412, which then updates the historical parameters and thresholds based on the current parameters 406 and the verification results. Various specific parameters and verification results that may be evaluated are provided below.

在一个实施例中,被收集并评估以确定风险等级407的参数可包括:每个用户的身份和与在验证服务器处注册的验证器420至421相关的多种数据,包括例如验证证实ID(AAID),其唯一地识别所注册的验证装置的类型;与在验证器注册期间交换的密钥相关联(并且存储在客户端和验证服务器上的安全存储装置425中)的密钥ID;用于查验用密钥生成的加密签名的加密密钥数据;指示已经用密钥生成签名的次数的签名计数器;以及指示每个验证器的版本的验证器版本。另外,用于确定风险等级的参数可包括与每个验证器相关联的元数据,诸如AAID(上文提及)、验证器供应商、验证器类型(例如,指示验证器是在客户端内部还是外部)、验证因素(例如,指纹、声纹、存在等)以及密钥保护方法(例如,可信执行环境、安全元件等)。In one embodiment, the parameters collected and evaluated to determine the risk level 407 may include: the identity of each user and various data associated with the authenticators 420-421 registered at the authentication server, including, for example, an authentication attestation ID (AAID), which uniquely identifies the type of authenticator being registered; a key ID associated with a key exchanged during authenticator registration (and stored in secure storage 425 on the client and the authentication server); cryptographic key data used to verify cryptographic signatures generated with the key; a signature counter indicating the number of times a signature has been generated with the key; and an authenticator version indicating the version of each authenticator. Additionally, the parameters used to determine the risk level may include metadata associated with each authenticator, such as the AAID (mentioned above), the authenticator vendor, the authenticator type (e.g., indicating whether the authenticator is internal or external to the client), authentication factors (e.g., fingerprint, voiceprint, presence, etc.), and key protection methods (e.g., trusted execution environment, secure element, etc.).

为了执行较详细分析,本发明的一个实施例收集并分析以下不同参数中的一者或多者:To perform a more detailed analysis, one embodiment of the present invention collects and analyzes one or more of the following different parameters:

1.与加密密钥使用数据相关的参数 1. Parameters related to encryption key usage data

○操作的时戳○ Timestamp of the operation

○所使用的密钥的密钥ID○Key ID of the key used

○所执行的验证操作○Verification operations performed

○签名核验的成功或失败的指示○Indication of success or failure of signature verification

○与操作相关联的交易ID○The transaction ID associated with the operation

○与这个操作相关联的交易风险得分○The transaction risk score associated with this operation

○最终交易验证状态(成功或失败)○ Final transaction verification status (success or failure)

2.与密钥的状态过渡相关的参数 2. Parameters related to key state transition

○过渡的时戳○ Transition timestamp

○转变密钥的密钥ID○Key ID of the transformation key

○过渡验证器的验证器版本○ Validator version for transition validator

○过渡状态(例如,良好、遭受攻击、撤销注册、复制、受到危及)○ Transitional states (e.g., healthy, attacked, deregistered, replicated, compromised)

3.与验证后欺诈报告相关的参数 3. Parameters related to post-verification fraud reporting

○欺诈的时戳○ Timestamp of fraud

○已经被报告为欺诈性的交易的交易ID○ The transaction ID of the transaction that has been reported as fraudulent

4.与密钥的历史安全性强度相关的参数 4. Parameters related to the historical security strength of the key

○采样的时戳○Sampling timestamp

○加密密钥的密钥ID○Key ID of the encryption key

○到采样时的安全性强度○ Security strength at the time of sampling

5.与验证器的历史安全性强度相关的参数 5. Parameters related to the historical security strength of the validator

○采样的时戳○Sampling timestamp

○验证器的AAID○ The AAID of the authenticator

○到采样时的安全性强度○ Security strength at the time of sampling

6.从另选数据源收集的额外参数 6. Additional parameters collected from alternative data sources

○用户装置GPS位置○ GPS location of user device

○用户装置周围WiFi信息○ WiFi information around the user's device

○用户装置的数字指纹○Digital fingerprint of the user’s device

○从用户的生物计量装置收集的生物计量得分○ Biometric score collected from the user's biometric device

7.用户活动参数 7. User activity parameters

○用户注册的时戳○ User registration timestamp

○上一次成功登录的时戳○The timestamp of the last successful login

○上一次本地验证方法及其时戳○The last local verification method and its timestamp

在一个实施例中,风险分析模块411通过以下文指定的方式评估这些参数来确定当前风险等级407。这些评估可基于(1)与客户端装置上的AAID和密钥相关的参数;(2)与用户验证的时间相关的参数;(3)与客户端装置的位置相关的参数;(4)与客户端装置的网络连接性相关的参数;以及(5)与验证客户端(例如,响应于用户验证尝试)所生成的生物计量得分相关的参数。In one embodiment, the risk analysis module 411 determines the current risk level 407 by evaluating these parameters in the manner specified below. These evaluations may be based on (1) parameters related to the AAID and key on the client device; (2) parameters related to the time of user authentication; (3) parameters related to the location of the client device; (4) parameters related to the network connectivity of the client device; and (5) parameters related to a biometric score generated by the authentication client (e.g., in response to a user authentication attempt).

1.AAID和密钥 1. AAID and key

在一个实施例中,过去已经成功使用加密密钥或AAID的次数将减小与该加密密钥或AAID的使用相关联的风险。相反,加密密钥或AAID已经与不成功验证尝试或欺诈未遂相关联的次数将增大与该加密密钥或AAID相关联的风险。在一个实施例中,可将成功验证尝试的数目与使用其他加密密钥或AAID的验证尝试进行比较。如果比其他密钥/AAID明显不频繁地使用这个密钥/AAID,则这可增大与其使用相关联的风险等级。In one embodiment, the number of times an encryption key or AAID has been successfully used in the past will reduce the risk associated with the use of that encryption key or AAID. Conversely, the number of times an encryption key or AAID has been associated with unsuccessful authentication attempts or fraud attempts will increase the risk associated with that encryption key or AAID. In one embodiment, the number of successful authentication attempts can be compared to authentication attempts using other encryption keys or AAIDs. If this key/AAID is used significantly less frequently than other keys/AAIDs, this can increase the risk level associated with its use.

可被评估的其他变量包括已经使用加密密钥的上一次时间和这个用户已经使用任何验证器的上一次时间。例如,如果用户尚未使用该验证器(或任何验证器)达延长的时间段(例如,超过阈值),则这可增大与该验证器相关联的风险。另外,可考虑加密密钥是否曾经被复制和/或这个AAID的密钥正被复制的频率以确定风险(例如,较多复制指示较多风险)。Other variables that may be evaluated include the last time the encryption key was used and the last time this user used any authenticator. For example, if the user has not used this authenticator (or any authenticator) for an extended period of time (e.g., exceeding a threshold), this may increase the risk associated with the authenticator. Additionally, whether the encryption key has been copied and/or how frequently the key for this AAID is being copied may be considered to determine risk (e.g., more copies indicate more risk).

可被评估的额外变量包括该加密密钥的状态被改变为“受到攻击”(从而指示较大风险)的频率、该用户从其帐户删除验证器的次数、用户注册/撤销注册特定AAID的次数、用户撤销注册该AAID的频率、用户在其选择撤销注册之前使用该AAID的时间长度;来自这个供应商的任何验证器已经受到危及的次数;这个验证器版本已经受到危及的次数;该用户已经在不同指定时间段(例如,上20秒、5分钟、60分钟、1天、7天)内尝试注册验证器的次数;以及该用户在上一个指定时间段(例如,20秒、5分钟、60分钟、1天、7天)内尝试使用验证器进行验证的次数。Additional variables that may be assessed include how often the encryption key's status is changed to "compromised" (thereby indicating a greater risk), how many times the user has deleted an authenticator from their account, how many times the user has registered/deregistered a particular AAID, how often the user has deregistered that AAID, how long the user used that AAID before they chose to deregister it; the number of times any authenticator from this vendor has been compromised; the number of times this authenticator version has been compromised; the number of times the user has attempted to register the authenticator within different specified time periods (e.g., the last 20 seconds, 5 minutes, 60 minutes, 1 day, 7 days); and the number of times the user has attempted to authenticate using the authenticator within the last specified time period (e.g., 20 seconds, 5 minutes, 60 minutes, 1 day, 7 days).

2.验证的时间 2. Verification time

在一个实施例中,可评估一天期间用户通常请求验证的时间段、每天/每周/每月用户通常请求验证的次数以确定风险。例如,如果当前验证请求不处于典型时间和/或天,并且/或者如果每天/每周/每月已经请求验证的次数超出范围,则这可指示欺诈性活动。可被评估的另一个变量是关于这是否为使用这个特定验证器进行验证的恰当时间的指示。In one embodiment, the time of day during which users typically request authentication, and the number of times per day/week/month that users typically request authentication, can be evaluated to determine risk. For example, if the current authentication request is not at a typical time and/or day, and/or if the number of authentication requests per day/week/month is out of range, this may indicate fraudulent activity. Another variable that can be evaluated is an indication of whether this is an appropriate time to authenticate using this particular authenticator.

3.位置 3. Location

在一个实施例中,被评估以确定风险的位置变量包括已经在当前位置附近看见这个验证器的次数、已经在给定位置附近看见这个验证器的上一次时间、过去在这个位置附近看见的欺诈量、使用这个AAID在这个位置中看见的欺诈量、这个位置与这个用户的通常位置的距离、这个位置与用户上一次进行验证所在的位置的距离,以及与这个位置/国家相关联的总体风险。In one embodiment, the location variables evaluated to determine risk include the number of times the authenticator has been seen near the current location, the last time the authenticator has been seen near a given location, the amount of fraud seen near this location in the past, the amount of fraud seen in this location using this AAID, the distance of this location from the user's usual location, the distance of this location from the location where the user last authenticated, and the overall risk associated with this location/country.

4.网络连接性 4. Network connectivity

在一个实施例中,被评估以确定风险的网络变量包括在给定WiFi(或其他网络)范围附近看见这个用户/密钥的次数;在给定WiFi(或其他网络)范围内装置涉及欺诈性活动的次数;以及在当前宣称位置中容易得到给定WiFi的可能性。In one embodiment, the network variables evaluated to determine risk include the number of times this user/key has been seen in the vicinity of a given WiFi (or other network); the number of times the device has been involved in fraudulent activity while in range of a given WiFi (or other network); and the likelihood that a given WiFi is readily available in the current declared location.

5.生物计量得分 5. Biometric score

在一个实施例中,由客户端的验证器420至421生成的生物计量得分可用于确定风险。例如,可针对这个AAID确定生物计量得分的统计平均值。如果当前得分与平均值具有指定距离,则这可指示较大风险。另外,可将这个特定用户的平均生物计量得分与当前得分进行比较。再次,如果当前得分与平均值具有指定距离,则这可指示较大风险。In one embodiment, the biometric scores generated by the client's authenticators 420-421 can be used to determine risk. For example, a statistical average of the biometric scores can be determined for this AAID. If the current score is a specified distance from the average, this can indicate a higher risk. Additionally, the average biometric score for this particular user can be compared to the current score. Again, if the current score is a specified distance from the average, this can indicate a higher risk.

在本发明的一个实施例中,采用机器学习技术来识别指示欺诈性活动和/或合法活动的特定参数(诸如上文所述的参数)。图5示出了用于确定并评估参数以评估风险的方法的一个实施例。该方法可在图4A至图4B所示的系统架构的环境内实施,但不限于任何特定系统架构。In one embodiment of the present invention, machine learning techniques are employed to identify specific parameters (such as those described above) that indicate fraudulent activity and/or legitimate activity. FIG5 illustrates one embodiment of a method for determining and evaluating parameters to assess risk. The method may be implemented within the context of the system architecture illustrated in FIG4A-4B , but is not limited to any particular system architecture.

在501处,选择可与欺诈性活动相关的许多参数。在一个实施例中,使用训练过程选择一组初始参数,在该训练过程中这些参数和验证结果被提供作为识别这些参数与欺诈性和/或合法活动之间的相关性的机器学习算法的输入。最终结果是识别与合法和/或欺诈性活动高度相关的某些参数。At 501, a number of parameters that may be correlated with fraudulent activity are selected. In one embodiment, an initial set of parameters is selected using a training process in which these parameters and validation results are provided as input to a machine learning algorithm that identifies correlations between these parameters and fraudulent and/or legitimate activity. The end result is the identification of certain parameters that are highly correlated with legitimate and/or fraudulent activity.

在502处,基于对这些参数的评估来选择一个或多个阈值(T)。在一个实施例中,所选择的阈值界定“欺诈性”、“可疑”和/或“正常”活动之间的边界。例如,可针对验证尝试被视为“正常”的时间范围设置阈值。在这些范围之外的时间可被视为可疑或欺诈性的,并且可相应地增大风险等级。可使用上文论述的任何或所有参数确定各种其他阈值。在一个实施例中,可通过机器学习算法自动地设置阈值,如所提及,该机器学习算法识别欺诈性/合法活动与各种参数之间的相关性。At 502, one or more thresholds (T) are selected based on the evaluation of these parameters. In one embodiment, the selected thresholds define the boundaries between "fraudulent," "suspicious," and/or "normal" activity. For example, thresholds may be set for time ranges during which authentication attempts are considered "normal." Times outside these ranges may be considered suspicious or fraudulent, and the risk level may be increased accordingly. Various other thresholds may be determined using any or all of the parameters discussed above. In one embodiment, the thresholds may be automatically set by a machine learning algorithm that, as mentioned, identifies correlations between fraudulent/legitimate activity and various parameters.

一旦确定初始参数和阈值,便在503处将用于当前交易的参数的距离与现有历史参数进行比较。这在一个实施例中借助使用能够确定数据集之间的相关性的机器学习或其他算法的数学方法来完成。一般来讲,与“正常”参数的距离越大,与当前交易相关联的风险就越高。Once the initial parameters and thresholds are determined, the distance between the parameters for the current transaction and existing historical parameters is compared at 503. In one embodiment, this is accomplished using mathematical methods using machine learning or other algorithms that can determine correlations between data sets. Generally speaking, the greater the distance from "normal" parameters, the higher the risk associated with the current transaction.

在评估之后,在504处,确定在与历史数据集相比时这些参数的最终值是否在所选择的阈值内。如果不是,则在505处这被确定为不寻常活动(例如,可疑或欺诈性的),并且可要求用户使用更严格的验证技术(例如,显式生物计量验证)来验证。在图4所示的实施例中,可提高风险等级407,从而需要更严密的验证。如果这些参数在所选择的阈值内,则在506处该交互被视为正常活动并且可使用较不严格的(或不使用)验证(例如,诸如上文所述的非侵入式验证)。After the evaluation, at 504, it is determined whether the final values of these parameters are within the selected thresholds when compared to the historical data set. If not, at 505, this is determined to be unusual activity (e.g., suspicious or fraudulent), and the user may be required to authenticate using a more stringent authentication technique (e.g., explicit biometric authentication). In the embodiment shown in FIG4 , the risk level 407 may be increased, requiring more stringent authentication. If these parameters are within the selected thresholds, at 506, the interaction is considered normal activity and less stringent (or no) authentication may be used (e.g., non-intrusive authentication such as described above).

在任一种情况下,在506处,更新历史数据以反映最近验证结果。这样,可持续更新用于检测可疑或欺诈性活动的历史数据以反映新数据点和阈值。例如,如果用户从不典型位置或在不寻常时间进入交易,则这可在505处被识别为不寻常活动。然而,如果用户成功验证,则在506处可更新历史数据以反映合法用户已在这个特定位置和时间验证的事实。因而,这个特定位置和/或时间可不再被视为“不寻常”,或更准确地讲,可减小与这个位置和/或时间相关联的“风险性”。In either case, at 506, the historical data is updated to reflect the most recent verification result. In this way, historical data used to detect suspicious or fraudulent activity can be continually updated to reflect new data points and thresholds. For example, if a user enters a transaction from an uncharacteristic location or at an unusual time, this can be identified as unusual activity at 505. However, if the user successfully verifies, the historical data can be updated at 506 to reflect the fact that a legitimate user has verified at this particular location and time. Thus, this particular location and/or time can no longer be considered "unusual," or more accurately, the "riskiness" associated with this location and/or time can be reduced.

不同数学方法可用于确定当前交易的参数与历史参数之间的“距离”(例如,图5中的操作503)。一种特定方法已知为可基于高斯分布的异常检测。尽管以下论述将集中于异常检测,但还能够应用各种其他机器学习算法。Various mathematical methods can be used to determine the "distance" between the parameters of the current transaction and the historical parameters (e.g., operation 503 in FIG5 ). One particular method is known as anomaly detection, which can be based on a Gaussian distribution. Although the following discussion will focus on anomaly detection, various other machine learning algorithms can also be applied.

图6中示出本发明的一个实施例中所采用的异常检测算法。在601处,选择可用于指示欺诈性活动的一组初始参数(P1…Pm)。理想的是,这些参数被选择为与欺诈性和/或合法活动具有最强相关性。如上文提及,可使用利用在一段时间内收集的现有验证数据的训练过程选择这些初始参数。FIG6 illustrates an anomaly detection algorithm employed in one embodiment of the present invention. At 601, a set of initial parameters (P 1 ...P m ) that may be indicative of fraudulent activity is selected. Ideally, these parameters are selected to have the strongest correlation with fraudulent and/or legitimate activity. As mentioned above, these initial parameters can be selected using a training process that utilizes existing validation data collected over a period of time.

在602处,对于每个参数(Pi),使用现有数据集历史(h1…hm),该数据集如果高斯性不足的话,则被标准化。一旦被标准化,便基于数据集历史(h1…hm)来确定高斯分布的均值(μ)和方差(σ)参数。在一个实施例中,这使用以下等式来完成:At 602, for each parameter (P i ), the existing data set history (hi 1 ... hm ) is used, which is normalized if not Gaussian enough. Once normalized, the mean (μ) and variance (σ) parameters of the Gaussian distribution are determined based on the data set history (hi 1 ... hm ). In one embodiment, this is done using the following equations:

i.i.

ii.ii.

在603处,对于具有参数(x1…xm)的每个新交易,基于历史来计算用于每个新参数的高斯分布。在一个实施例中,这使用以下等式来完成:At 603, for each new transaction with parameters (x 1 ...x m ), a Gaussian distribution for each new parameter is calculated based on the history. In one embodiment, this is done using the following equation:

i.i.

在604处,针对所有参数的总和计算p(x)。在一个实施例中,这根据以下等式来完成:At 604, p(x) is calculated for the sum of all parameters. In one embodiment, this is done according to the following equation:

||

如果在605处确定p(x)<T(所选择的阈值),则在606处这被确定为不寻常行为。因而,可请求一种或多种严格验证技术(例如,显式生物计量验证)。然而,如果p(x)≥T,则在607处,该交互被识别为正常活动并且可需要较不严密的验证(例如,如上所述的非侵入式验证)或可不需要验证。If it is determined at 605 that p(x) < T (a selected threshold), then this is determined to be unusual behavior at 606. Thus, one or more strict authentication techniques (e.g., explicit biometric authentication) may be requested. However, if p(x) ≥ T, then at 607, the interaction is identified as normal activity and may require less stringent authentication (e.g., non-intrusive authentication as described above) or no authentication may be required.

在任一种情况下,在608处,用新参数(P1…Pm)和相关联验证结果更新数据集历史。例如,如果在606处验证成功,则可更新数据集历史以反映与这些参数相关联的成功验证。In either case, the data set history is updated with the new parameters (P 1 ...P m ) and associated validation results at 608. For example, if validation was successful at 606, the data set history may be updated to reflect the successful validation associated with those parameters.

示例性数据处理装置Exemplary data processing apparatus

图7是示出可在本发明的一些实施例中使用的示例性客户端和服务器的框图。应当理解,尽管图7示出计算机系统的各种组件,但其并非意图表示互连组件的任何特定架构或方式,因为此类细节与本发明并不密切相关。应当理解,具有更少组件或更多组件的其他计算机系统也可与本发明一起使用。FIG7 is a block diagram illustrating an exemplary client and server that may be used in some embodiments of the present invention. It should be understood that although FIG7 illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting components, as such details are not germane to the present invention. It should be understood that other computer systems having fewer or more components may also be used with the present invention.

如图7所示,计算机系统700,其为一种形式的数据处理系统,包括总线750,该总线与处理系统720、电源725、存储器730和非易失性存储器740(例如,硬盘驱动器、快闪存储器、相变存储器(PCM)等)耦接。总线750可通过如本领域中熟知的各种桥接器、控制器和/或适配器来彼此连接。处理系统720可从存储器730和/或非易失性存储器740检索指令,并执行这些指令以执行如上所述的操作。总线750将以上组件互连在一起,并且还将那些组件互连到可选底座760、显示控制器与显示装置770、输入/输出装置780(例如,NIC(网络接口卡)、光标控件(例如,鼠标、触摸屏、触摸板等)、键盘等)和可选无线接口790(例如,蓝牙、WiFi、红外等)。As shown in Figure 7, computer system 700, which is a form of data processing system, includes a bus 750, which is coupled to a processing system 720, a power supply 725, a memory 730, and a non-volatile memory 740 (e.g., a hard drive, flash memory, phase change memory (PCM), etc.). The bus 750 can be connected to each other through various bridges, controllers, and/or adapters as are well known in the art. The processing system 720 can retrieve instructions from the memory 730 and/or the non-volatile memory 740 and execute these instructions to perform the operations described above. The bus 750 interconnects the above components together and also interconnects those components to an optional base 760, a display controller and display device 770, an input/output device 780 (e.g., a NIC (network interface card), a cursor control (e.g., a mouse, a touch screen, a touchpad, etc.), a keyboard, etc.), and an optional wireless interface 790 (e.g., Bluetooth, WiFi, infrared, etc.).

图8是示出可在本发明的一些实施例中使用的示例性数据处理系统的框图。例如,数据处理系统800可为手持式计算机、个人数字助理(PDA)、移动电话、便携式游戏系统、便携式媒体播放器、平板计算机或手持式计算装置(其可包括移动电话、媒体播放器和/或游戏系统)。又如,数据处理系统800可为网络计算机或在另一个装置内的嵌入式处理装置。Figure 8 is a block diagram illustrating an exemplary data processing system that may be used in some embodiments of the present invention. For example, data processing system 800 may be a handheld computer, a personal digital assistant (PDA), a mobile phone, a portable gaming system, a portable media player, a tablet computer, or a handheld computing device (which may include a mobile phone, a media player, and/or a gaming system). For another example, data processing system 800 may be a network computer or an embedded processing device within another device.

根据本发明的一个实施例,数据处理系统800的示例性架构可用于上文所述的移动装置。数据处理系统800包括处理系统820,其可包括一个或多个微处理器和/或集成电路上的系统。处理系统820与存储器810、电源825(其包括一个或多个电池)、音频输入/输出840、显示控制器与显示装置860、可选输入/输出850、输入装置870和无线收发器830耦接。应当理解,在本发明的某些实施例中,图8中未示出的其他组件也可为数据处理系统800的一部分,并且在本发明的某些实施例中,可使用比图8所示更少的组件。另外,应当理解,图8中未示出的一个或多个总线可用于使如本领域中熟知的各种组件互连。According to one embodiment of the present invention, an exemplary architecture of a data processing system 800 can be used for the mobile device described above. The data processing system 800 includes a processing system 820, which may include one or more microprocessors and/or systems on integrated circuits. The processing system 820 is coupled to a memory 810, a power supply 825 (which includes one or more batteries), an audio input/output 840, a display controller and a display device 860, an optional input/output 850, an input device 870, and a wireless transceiver 830. It should be understood that in certain embodiments of the present invention, other components not shown in Figure 8 may also be part of the data processing system 800, and in certain embodiments of the present invention, fewer components than shown in Figure 8 may be used. In addition, it should be understood that one or more buses not shown in Figure 8 can be used to interconnect various components as is known in the art.

存储器810可存储数据和/或程序以供数据处理系统800执行。音频输入/输出840可包括麦克风和/或扬声器以(例如)播放音乐,以及/或者通过扬声器和麦克风提供电话功能。显示控制器与显示装置860可包括图形用户界面(GUI)。无线(例如,RF)收发器830(例如,WiFi收发器、红外收发器、蓝牙收发器、无线蜂窝电话收发器等)可用于与其他数据处理系统通信。所述一个或多个输入装置870允许用户向系统提供输入。这些输入装置可为小键盘、键盘、触控面板、多点触控面板等。可选的其他输入/输出850可为底座的连接器。The memory 810 can store data and/or programs for execution by the data processing system 800. The audio input/output 840 can include a microphone and/or a speaker to (for example) play music, and/or provide telephone functionality through the speaker and microphone. The display controller and display device 860 can include a graphical user interface (GUI). A wireless (e.g., RF) transceiver 830 (e.g., a WiFi transceiver, an infrared transceiver, a Bluetooth transceiver, a wireless cellular phone transceiver, etc.) can be used to communicate with other data processing systems. The one or more input devices 870 allow a user to provide input to the system. These input devices can be a keypad, a keyboard, a touch panel, a multi-touch panel, etc. Optional other input/output 850 can be a connector for the base.

本发明的实施例可包括如上文陈述的各种步骤。这些步骤可体现为致使通用处理器或专用处理器执行某些步骤的机器可执行指令。或者,这些步骤可由包含用于执行这些步骤的硬连线逻辑的特定硬件组件执行,或由编程的计算机组件和定制硬件组件的任何组合执行。Embodiments of the present invention may include the various steps set forth above. These steps may be embodied as machine-executable instructions that cause a general-purpose processor or a special-purpose processor to perform certain steps. Alternatively, these steps may be performed by specific hardware components that contain hard-wired logic for performing these steps, or by any combination of programmed computer components and custom hardware components.

本发明的元件还可被提供为用于存储机器可执行程序代码的机器可读介质。机器可读介质可包括但不限于软盘、光盘、CD-ROM和磁光盘、ROM、RAM、EPROM、EEPROM、磁卡或光卡、或者适合于存储电子程序代码的其他类型的介质/机器可读介质。Element of the present invention can also be provided as machine-readable medium for storing machine executable program code.Machine-readable medium can include but is not limited to floppy disk, optical disk, CD-ROM and magneto-optical disk, ROM, RAM, EPROM, EEPROM, magnetic card or optical card or other types of medium/machine-readable medium that are suitable for storing electronic program code.

在整个前述描述中,出于解释的目的,陈述了许多特定细节以便透彻理解本发明。然而,本领域的技术人员将容易明白,可在没有这些特定细节中的一些的情况下实践本发明。例如,本领域的技术人员将容易明白,本文所述的功能模块和方法可被实施为软件、硬件或其任何组合。此外,虽然本文在移动计算环境的情形内描述本发明的一些实施例,但本发明的基本原理不限于移动计算具体实施。在一些实施例中,可使用几乎任何类型的客户端或对等数据处理装置,包括(例如)台式计算机或工作站计算机。因此,应依据所附权利要求书确定本发明的范围和精神。Throughout the foregoing description, for the purpose of explanation, many specific details have been set forth in order to provide a thorough understanding of the present invention. However, it will be readily apparent to those skilled in the art that the present invention may be practiced without some of these specific details. For example, it will be readily apparent to those skilled in the art that the functional modules and methods described herein may be implemented as software, hardware, or any combination thereof. Furthermore, although some embodiments of the present invention are described herein in the context of a mobile computing environment, the underlying principles of the present invention are not limited to mobile computing implementations. In some embodiments, virtually any type of client or peer data processing device may be used, including, for example, a desktop computer or a workstation computer. Therefore, the scope and spirit of the present invention should be determined based on the appended claims.

本发明的实施例可包括如上文陈述的各种步骤。这些步骤可体现为致使通用处理器或专用处理器执行某些步骤的机器可执行指令。或者,这些步骤可由包含用于执行这些步骤的硬连线逻辑的特定硬件组件执行,或由编程的计算机组件和定制硬件组件的任何组合执行。Embodiments of the present invention may include the various steps set forth above. These steps may be embodied as machine-executable instructions that cause a general-purpose processor or a special-purpose processor to perform certain steps. Alternatively, these steps may be performed by specific hardware components that contain hard-wired logic for performing these steps, or by any combination of programmed computer components and custom hardware components.

Claims (22)

1.一种在验证系统内实施的方法,包括:1. A method implemented within a verification system, comprising: 选择与客户端装置上的用户活动相关的一组参数;Select a set of parameters related to user activity on the client device; 接收验证所述用户用于当前交易的请求;Receive a request to verify the user's information for the current transaction; 响应性地计算与所述当前交易相关联的参数和来自现有数据集的历史参数之间的距离;Responsive calculation of the distance between parameters associated with the current transaction and historical parameters from the existing dataset; 基于与所述当前交易相关联的所述参数和所述历史参数之间的所计算出的距离来确定与所述当前交易相关联的风险等级;The risk level associated with the current transaction is determined based on the calculated distance between the parameters associated with the current transaction and the historical parameters. 基于所述风险等级来选择验证所述用户所需要的一种或多种验证技术;Based on the risk level, select one or more verification technologies required to verify the user; 执行所述一种或多种验证技术以尝试验证所述用户并且生成验证结果;Perform one or more of the aforementioned verification techniques to attempt to verify the user and generate a verification result; 使用与所述当前交易相关联的所述参数和所述验证结果更新所述历史参数;以及Update the historical parameters using the parameters associated with the current transaction and the verification result; and 采用机器学习以通过执行每个参数与先前验证事件的结果之间的相关性来选择所述一组参数。Machine learning is employed to select the set of parameters by examining the correlation between the results of each parameter and the results of previous validation events. 2.根据权利要求1所述的方法,其中所述参数包括与用于执行验证的验证器标识符或密钥相关联的参数、与验证时间相关联的参数、与验证位置相关联的参数、与网络连接性相关联的参数和/或与由客户端装置验证器生成的生物计量得分相关联的参数。2. The method of claim 1, wherein the parameters include parameters associated with a validator identifier or key used to perform the verification, parameters associated with the verification time, parameters associated with the verification location, parameters associated with network connectivity, and/or parameters associated with a biometric score generated by the client device validator. 3.根据权利要求1所述的方法,其中如果与所述当前交易相关联的所述参数中的一者或多者和对应的所述历史参数之间的所述距离低于指定阈值,则将所述风险等级设置为表示正常用户行为的第一等级。3. The method of claim 1, wherein if the distance between one or more of the parameters associated with the current transaction and the corresponding historical parameter is less than a specified threshold, the risk level is set to a first level representing normal user behavior. 4.根据权利要求3所述的方法,其中如果与所述当前交易相关联的所述参数中的一者或多者和对应的所述历史参数之间的所述距离高于指定阈值,则将所述风险等级设置为表示可疑用户行为的第二等级。4. The method of claim 3, wherein if the distance between one or more of the parameters associated with the current transaction and the corresponding historical parameter is higher than a specified threshold, the risk level is set to a second level indicating suspicious user behavior. 5.根据权利要求1所述的方法,其中选择包括:5. The method of claim 1, wherein the selection includes: 针对高于第一阈值的风险等级选择验证技术的第一子集并且针对低于所述第一阈值的风险等级选择验证技术的第二子集或不选择验证技术。For risk levels above a first threshold, a first subset of verification techniques is selected, and for risk levels below the first threshold, a second subset of verification techniques is selected, or no verification techniques are selected. 6.根据权利要求5所述的方法,其中验证技术的所述第一子集包括显式生物计量用户验证。6. The method of claim 5, wherein the first subset of the verification techniques includes explicit biometric user verification. 7.根据权利要求6所述的方法,其中验证技术的所述第二子集包括非侵入式验证技术。7. The method of claim 6, wherein the second subset of verification techniques includes non-invasive verification techniques. 8.根据权利要求1所述的方法,其中将与成功验证事件和/或不成功验证事件具有高相关性的参数选择为包括在所述一组参数中。8. The method of claim 1, wherein parameters that are highly correlated with successful verification events and/or unsuccessful verification events are selected to be included in the set of parameters. 9.根据权利要求1所述的方法,其中计算与所述当前交易相关联的参数和历史参数之间的距离包括使用所述参数的高斯分布执行异常检测。9. The method of claim 1, wherein calculating the distance between the parameters associated with the current transaction and historical parameters includes performing anomaly detection using a Gaussian distribution of the parameters. 10.一种存储有程序代码的非暂时性机器可读介质,所述程序代码,当被机器执行时,使得所述机器执行以下操作:10. A non-transitory machine-readable medium storing program code, said program code, when executed by a machine, causing the machine to perform the following operations: 选择与客户端装置上的用户活动相关的一组参数;Select a set of parameters related to user activity on the client device; 接收验证所述用户用于当前交易的请求;Receive a request to verify the user's information for the current transaction; 响应性地计算与所述当前交易相关联的参数和来自现有数据集的历史参数之间的距离;Responsive calculation of the distance between parameters associated with the current transaction and historical parameters from the existing dataset; 基于与所述当前交易相关联的所述参数和所述历史参数之间的所计算出的距离来确定与所述当前交易相关联的风险等级;The risk level associated with the current transaction is determined based on the calculated distance between the parameters associated with the current transaction and the historical parameters. 基于所述风险等级来选择验证所述用户所需要的一种或多种验证技术;Based on the risk level, select one or more verification technologies required to verify the user; 执行所述一种或多种验证技术以尝试验证所述用户并且生成验证结果;Perform one or more of the aforementioned verification techniques to attempt to verify the user and generate a verification result; 使用与所述当前交易相关联的所述参数和所述验证结果更新所述历史参数;以及Update the historical parameters using the parameters associated with the current transaction and the verification result; and 采用机器学习以通过执行每个参数与先前验证事件的结果之间的相关性来选择所述一组参数。Machine learning is employed to select the set of parameters by examining the correlation between the results of each parameter and the results of previous validation events. 11.根据权利要求10所述的机器可读介质,其中所述参数包括与用于执行验证的验证器标识符或密钥相关联的参数、与验证时间相关联的参数、与验证位置相关联的参数、与网络连接性相关联的参数和/或与由客户端装置验证器生成的生物计量得分相关联的参数。11. The machine-readable medium of claim 10, wherein the parameters include parameters associated with a validator identifier or key used to perform the verification, parameters associated with the verification time, parameters associated with the verification location, parameters associated with network connectivity, and/or parameters associated with a biometric score generated by a validator on a client device. 12.根据权利要求10所述的机器可读介质,其中如果与所述当前交易相关联的所述参数中的一者或多者和对应的所述历史参数之间的所述距离低于指定阈值,则将所述风险等级设置为表示正常用户行为的第一等级。12. The machine-readable medium of claim 10, wherein if the distance between one or more of the parameters associated with the current transaction and the corresponding historical parameter is less than a specified threshold, the risk level is set to a first level representing normal user behavior. 13.根据权利要求12所述的机器可读介质,其中如果与所述当前交易相关联的所述参数中的一者或多者和对应的所述历史参数之间的所述距离高于指定阈值,则将所述风险等级设置为表示可疑用户行为的第二等级。13. The machine-readable medium of claim 12, wherein if the distance between one or more of the parameters associated with the current transaction and the corresponding historical parameter is greater than a specified threshold, the risk level is set to a second level indicating suspicious user behavior. 14.根据权利要求10所述的机器可读介质,其中选择包括:14. The machine-readable medium of claim 10, wherein the selection includes: 针对高于第一阈值的风险等级选择验证技术的第一子集并且针对低于所述第一阈值的风险等级选择验证技术的第二子集或不选择验证技术。For risk levels above a first threshold, a first subset of verification techniques is selected, and for risk levels below the first threshold, a second subset of verification techniques is selected, or no verification techniques are selected. 15.根据权利要求14所述的机器可读介质,其中验证技术的所述第一子集包括显式生物计量用户验证。15. The machine-readable medium of claim 14, wherein the first subset of the verification techniques includes explicit biometric user verification. 16.根据权利要求15所述的机器可读介质,其中验证技术的所述第二子集包括非侵入式验证技术。16. The machine-readable medium of claim 15, wherein the second subset of the verification techniques includes non-invasive verification techniques. 17.根据权利要求10所述的机器可读介质,其中将与成功验证事件和/或不成功验证事件具有高相关性的参数选择为包括在所述一组参数中。17. The machine-readable medium of claim 10, wherein parameters that are highly correlated with successful verification events and/or unsuccessful verification events are selected to be included in the set of parameters. 18.根据权利要求10所述的机器可读介质,其中计算与所述当前交易相关联的参数和历史参数之间的距离包括使用所述参数的高斯分布执行异常检测。18. The machine-readable medium of claim 10, wherein calculating the distance between the parameters associated with the current transaction and historical parameters includes performing anomaly detection using a Gaussian distribution of the parameters. 19.一种验证系统,包括:19. A verification system, comprising: 客户端装置,所述客户端装置用于提供与当前用户的活动相关的一组参数;A client device, the client device being used to provide a set of parameters related to the current user's activity; 验证服务器,所述验证服务器用于:Verification server, the verification server being used for: 接收验证所述用户用于当前交易的请求;Receive a request to verify the user's information for the current transaction; 计算与所述当前交易相关联的参数和来自现有数据集的历史参数之间的距离;Calculate the distance between the parameters associated with the current transaction and historical parameters from the existing dataset; 基于所述当前交易相关联的所述参数和所述历史参数之间的所述所计算出的距离来确定与所述当前交易相关联的风险等级;并且The risk level associated with the current transaction is determined based on the calculated distance between the parameters associated with the current transaction and the historical parameters; and 基于所述风险等级来选择验证所述用户所需要的一种或多种验证技术;Based on the risk level, select one or more verification technologies required to verify the user; 验证引擎,所述验证引擎用于执行所述一种或多种验证技术以尝试验证所述用户并且生成验证结果;A verification engine, which executes one or more verification techniques to attempt to verify the user and generate a verification result; 其中所述验证服务器进一步用于使用与所述当前交易相关联的所述参数和所述验证结果更新所述历史参数并且用于采用机器学习以通过执行每个参数与先前验证事件的结果之间的相关性来选择所述一组参数。The verification server is further configured to update the historical parameters using the parameters associated with the current transaction and the verification results, and to employ machine learning to select the set of parameters by performing a correlation analysis between each parameter and the results of previous verification events. 20.根据权利要求19所述的系统,其中所述参数包括与用于执行验证的验证器标识符或密钥相关联的参数、与验证时间相关联的参数、与验证位置相关联的参数、与网络连接性相关联的参数和/或与由客户端装置验证器生成的生物计量得分相关联的参数。20. The system of claim 19, wherein the parameters include parameters associated with a validator identifier or key used to perform the verification, parameters associated with the verification time, parameters associated with the verification location, parameters associated with network connectivity, and/or parameters associated with a biometric score generated by the validator on the client device. 21.根据权利要求19所述的系统,其中如果与所述当前交易相关联的所述参数中的一者或多者和对应的所述历史参数之间的所述距离低于指定阈值,则将所述风险等级设置为表示正常用户行为的第一等级。21. The system of claim 19, wherein if the distance between one or more of the parameters associated with the current transaction and the corresponding historical parameter is less than a specified threshold, the risk level is set to a first level representing normal user behavior. 22.根据权利要求21所述的系统,其中如果与所述当前交易相关联的所述参数中的一者或多者和对应的所述历史参数之间的所述距离高于指定阈值,则将所述风险等级设置为表示可疑用户行为的第二等级。22. The system of claim 21, wherein if the distance between one or more of the parameters associated with the current transaction and the corresponding historical parameter is greater than a specified threshold, the risk level is set to a second level indicating suspicious user behavior.
HK17110163.1A 2014-07-31 2015-07-30 System and method for performing authentication using data analytics HK1236663B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/448,868 2014-07-31

Publications (2)

Publication Number Publication Date
HK1236663A1 HK1236663A1 (en) 2018-03-29
HK1236663B true HK1236663B (en) 2021-09-17

Family

ID=

Similar Documents

Publication Publication Date Title
CN106575401B (en) System and method for performing validation using data analysis
CN106464673B (en) Enhanced security for authenticating device registration
US10068076B1 (en) Behavioral authentication system using a behavior server for authentication of multiple users based on their behavior
US10326761B2 (en) Web-based user authentication techniques and applications
CN106233663B (en) System and method for carrying strong authentication events on different channels
US11140155B2 (en) Methods, computer readable media, and systems for authentication using a text file and a one-time password
US8990572B2 (en) Methods and systems for conducting smart card transactions
CN106575281B (en) System and method for implementing hosted authentication services
CN105264817A (en) Multi-factor authentication techniques
HK1236663B (en) System and method for performing authentication using data analytics
HK1236663A1 (en) System and method for performing authentication using data analytics
HK1234909A1 (en) Enhanced security for registration of authentication devices
HK1234909B (en) Enhanced security for registration of authentication devices
HK1236637A1 (en) System and method for implementing a hosted authentication service
HK1236637B (en) System and method for implementing a hosted authentication service
HK1231647B (en) System and method for carrying strong authentication events over different channels