HK1234909B - Enhanced security for registration of authentication devices - Google Patents
Enhanced security for registration of authentication devicesInfo
- Publication number
- HK1234909B HK1234909B HK17108423.1A HK17108423A HK1234909B HK 1234909 B HK1234909 B HK 1234909B HK 17108423 A HK17108423 A HK 17108423A HK 1234909 B HK1234909 B HK 1234909B
- Authority
- HK
- Hong Kong
- Prior art keywords
- user
- code
- authentication
- secure
- hash
- Prior art date
Links
Description
背景技术Background Art
技术领域Technical Field
本发明整体涉及数据处理系统的领域。更具体地讲,本发明涉及对验证装置进行安全注册的设备和方法。The present invention generally relates to the field of data processing systems. More particularly, the present invention relates to an apparatus and method for securely registering an authentication device.
相关领域说明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 DetermineAuthentication Capabilities”(用于确定验证功能的查询系统和方法);序列号13/730,776,名称为“System and Method for Efficiently Enrolling,Registering,andAuthenticating With Multiple Authentication Devices”(使用多个验证装置有效地进行登记、注册和验证的系统和方法);序列号13/730,780,名称为“System and Method forProcessing Random 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. ,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”; and Serial No. 13/730,795 entitled “System and Method for Implementing Privacy Classes Within an Authentication Framework.” 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”).
简而言之,在这些共同未决的申请描述的验证技术中,用户向客户端装置上的验证装置(或验证器)诸如生物计量装置(例如,指纹传感器)登记。当用户向生物计量装置登记时,由验证装置的生物计量传感器捕捉生物计量参考数据(例如,通过轻扫手指、拍摄照片、记录声音等)。用户随后可经由网络向一个或多个服务器(例如,配备有安全交易服务的网站或其他依赖方,如共同未决的申请中所描述)注册验证装置,并且随后可使用在注册过程中交换的数据(例如,预置到验证装置中的加密密钥)向那些服务器验证。一旦通过验证,用户便获许与网站或其他依赖方执行一个或多个在线交易。在共同未决的申请所描述的框架中,敏感信息(诸如指纹数据和可用于唯一地标识用户的其他数据)可本地保持在用户的验证装置上,以保护用户的隐私。'504申请描述了多种额外的技术,包括以下技术:设计复合验证器、智能地生成验证保证等级、使用非侵入式用户验证、将验证数据传送到新的验证装置、用客户端风险数据扩充验证数据、自适应地应用验证策略、以及创建信任圈、等等。In short, in the authentication technology described in these co-pending applications, a user registers with an authentication device (or authenticator) on a client device, such as a biometric device (e.g., a fingerprint sensor). When a user registers with a biometric device, biometric reference data is captured by the authentication device's biometric sensor (e.g., by swiping a finger, taking a photo, recording a sound, etc.). The user can then register 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 can then authenticate to those servers using the data exchanged during the registration process (e.g., encryption keys pre-set to 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 a user) can be maintained locally on the user's authentication device to protect the user's privacy. The '504 application describes a variety of additional techniques, including techniques for designing composite authenticators, intelligently generating authentication assurance levels, using non-intrusive user authentication, transferring authentication data to new authentication devices, augmenting authentication data with client risk data, adaptively applying authentication policies, and creating circles of trust, among others.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
可结合下列附图从以下具体实施方式更好地理解本发明,其中:The present invention may be better understood from the following detailed description in conjunction with the following drawings, in which:
图1A和图1B示出了安全验证系统架构的两个不同实施例。1A and 1B illustrate two different embodiments of a secure authentication system architecture.
图2是示出可如何将密钥注册到验证装置中的事务图。FIG2 is a transaction diagram showing how a key may be registered into an authentication device.
图3A和图3B示出了使用安全显示器进行安全交易确认的实施例。3A and 3B illustrate an embodiment of secure transaction confirmation using a secure display.
图4示出了本发明的用于向依赖方注册的一个实施例;FIG4 shows an embodiment of the present invention for registering with a relying party;
图5是示出如何在本发明的一个实施例中实施具有查询策略的注册操作的事务图;FIG5 is a transaction diagram illustrating how a registration operation with a query strategy is implemented in one embodiment of the present invention;
图6示出了以增强型安全性进行注册的架构的一个实施例;FIG6 illustrates one embodiment of an architecture for registration with enhanced security;
图7示出了用于安全注册的方法的一个实施例;FIG7 illustrates one embodiment of a method for secure registration;
图8A和图8B示出了用于安全注册的方法的不同实施例;8A and 8B illustrate different embodiments of methods for secure registration;
图9示出了将密码从用户发送到依赖方的方法的另一个实施例;FIG9 illustrates another embodiment of a method of sending a password from a user to a relying party;
图10示出了使用用户的现有凭据进行注册的方法的另一个实施例;并且FIG10 illustrates another embodiment of a method for registering using a user's existing credentials; and
图11和图12示出了用于执行本发明实施例的计算机系统的示例性实施例。11 and 12 illustrate exemplary embodiments of computer systems for implementing embodiments of the present invention.
具体实施方式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 authentication functionality (such as biometric devices 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 functionality (e.g., an optical scanner and associated software for scanning a user's retina). User authentication functionality 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 for cryptographic operations.
在移动式生物计量的具体实施中,生物计量装置可远离依赖方。如本文所用,术语“远离”意味着生物计量传感器不是其以通信方式耦接到的计算机的安全边界的一部分(例如,生物计量传感器未嵌入到与依赖方计算机相同的物理外壳中)。举例来说,生物计量装置可经由网络(例如,因特网、无线网络链路等)或经由外围输入(诸如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 physically conducting a transaction 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 a secure transaction server implemented on behalf of that entity (which can perform the underlying authentication 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, 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 facilitating the provision of, a network "service" 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
图1A和图1B示出了包括用于验证用户的客户端侧组件和服务器侧组件的系统架构的两个实施例。图1A所示的实施例使用基于web浏览器插件的架构来与网站通信,而图1B所示的实施例不需要web浏览器。本文所述的各种技术诸如向验证装置登记用户、向安全服务器注册验证装置和验证用户可在这些系统构架中的任一者上实施。因此,虽然图1A所示的架构用于展示下述若干实施例的操作,但相同的基本原理可在图1B所示的系统上容易地实施(例如,通过删除浏览器插件105,该浏览器插件充当用于在服务器130与客户端上的安全交易服务101之间通信的中介)。Figures 1A and 1B show two embodiments of a system architecture including a client-side component and a server-side component for verifying a user. The embodiment shown in Figure 1A uses an architecture based on a web browser plug-in to communicate with a website, while the embodiment shown in Figure 1B does not require a web browser. Various techniques described herein, such as registering a user with a verification device, registering a verification 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 illustrate the operation of several embodiments described below, the same basic principles can be easily implemented on the system shown in Figure 1B (for example, by deleting the browser plug-in 105, which acts as an intermediary for communicating between the server 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 authenticating 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 forms (such as PIN authentication). 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相关的信息,诸如装置标识代码、用户标识代码、受验证装置保护的用户登记数据(例如,所扫描的指纹或其他生物计量数据)、以及由验证装置封装的用于执行本文所述的安全验证技术的密钥。例如,如下文详细论述,唯一密钥可被存储到每个验证装置中并且在经由网络(诸如因特网)与服务器130通信时使用。The 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 the 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 keys 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 the server 130 via a network (such as the Internet).
如下文论述,安全交易插件105支持某些类型的网络交易,诸如与网站131或其他服务器的HTTP或HTTPS交易。在一个实施例中,响应于由安全企业或Web目的地130内的web服务器131(下文中有时简称为“服务器130”)插入到网页HTML代码中的特定HTML标签来启动安全交易插件。响应于检测到此类标签,安全交易插件105可将交易转发到安全交易服务101以进行处理。另外,对于某些类型的事务(例如,诸如安全密钥交换),安全交易服务101可开启与当地交易服务器132(即,与网站位于同一地点)或异地交易服务器133的直接通信信道。As discussed below, 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 by a web server 131 within a secure enterprise or web destination 130 (sometimes referred to hereinafter as "server 130"). In response to detecting such a tag, secure transaction plugin 105 may forward the transaction to secure transaction service 101 for processing. In addition, for certain types of transactions (e.g., such as secure key exchange), 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耦接到安全交易数据库120,安全交易数据库120用于存储用户数据、验证装置数据、密钥以及支持下文所述的安全验证交易所需要的其他安全信息。然而,应该指出的是,本发明的基本原理不需要分离图1A所示的安全企业或web目的地130内的逻辑组件。例如,网站131和安全交易服务器132至133可在单个物理服务器或分开的多个物理服务器内实施。此外,网站131和交易服务器132至133可在用于执行下文所述的功能的一个或多个服务器上所执行的集成软件模块内实施。Secure transaction servers 132-133 are coupled to secure transaction database 120, 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管理服务器端上的安全交易数据库120。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 120 on the server side.
装置注册和交易确认Device registration and transaction confirmation
本发明的一个实施例在注册期间采用安全交易确认技术。因此,最初将结合图2至图5描述各种注册操作和安全交易操作,随后详细描述本发明的用于安全注册验证装置的实施例。One embodiment of the present invention employs secure transaction confirmation technology during registration. Therefore, various registration operations and secure transaction operations will be initially described in conjunction with Figures 2 to 5, followed by a detailed description of an embodiment of the present invention for secure registration verification.
图2示出了用于注册验证装置的一系列事务。在注册期间,在验证装置与安全交易服务器132至133中的一个之间共享密钥。密钥存储在客户端100的安全存储装置120和由安全交易服务器132至133使用的安全交易数据库120内。在一个实施例中,密钥是由安全交易服务器132至133中的一个生成的对称密钥。然而,在下文论述的另一个实施例中,可使用不对称密钥。在该实施例中,公共密钥可由安全交易服务器132至133存储,并且第二相关私有密钥可存储在客户端上的安全存储装置120中。此外,在另一个实施例中,密钥可在客户端100上生成(例如,由验证装置或验证装置接口而不是安全交易服务器132至133生成)。本发明的基本原理不限于任何特定类型的密钥或生成密钥的方式。Figure 2 illustrates a series of transactions for registering an authentication device. During registration, a key is shared between the authentication device and one of the secure transaction servers 132-133. The key is stored in the secure storage 120 of the client 100 and in the secure transaction database 120 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 may be used. In this embodiment, a public key may be stored by the secure transaction server 132-133, and a second, related private key may be stored in the secure storage 120 on the client. Furthermore, in another embodiment, the key may be generated on the client 100 (e.g., by the authentication device or authentication 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)。然而,本发明的基本原理不限于任何特定密钥预置协议。A secure key provisioning protocol, such as the Dynamic Symmetric Key Provisioning Protocol (DSKPP), may be used to share keys with the client via a secure communication channel (see, for example, Request for Comments (RFC) 6063). However, the underlying principles of the invention are not limited to any particular key provisioning protocol.
转到图2所示的具体细节,一旦用户登记或用户验证完成,服务器130便生成随机生成的质询(例如,密码随机数),客户端必须在装置注册期间呈现此质询。该随机质询可在有限时间段内有效。安全交易插件检测随机质询并将其转发到安全交易服务101。作为响应,安全交易服务发起与服务器130的带外会话(例如,带外事务),并使用密钥供应协议与服务器130通信。服务器130使用用户名定位用户,查验随机质询,在已经发送装置的验证码的情况下查验该验证码,并且在安全交易数据库120中为用户创建新条目。其还可生成密钥,将密钥写入到数据库120,并使用密钥预置协议将密钥发送回到安全交易服务101。一旦完成,验证装置与服务器130便在使用对称密钥的情况下共享相同密钥,或者在使用不对称密钥的情况下共享不同密钥。Turning to the specific details shown in FIG2 , once user registration or user verification is complete, server 130 generates a randomly generated challenge (e.g., a cryptographic random number) that the client must present during device registration. This random challenge is valid for a limited period of time. The secure transaction plugin detects the random challenge and forwards it to secure transaction service 101. In response, secure transaction service initiates an out-of-band session (e.g., an out-of-band transaction) with server 130 and communicates with server 130 using a key provisioning protocol. Server 130 locates the user using the username, verifies the random challenge, verifies the device's verification code if it has already been sent, and creates a new entry for the user in secure transaction database 120. It also generates a key, writes the key to database 120, and sends the key back to secure transaction service 101 using a key provisioning protocol. Once complete, the authenticating device and server 130 share the same key if symmetric keys are used, or different keys if asymmetric keys are used.
图3A示出了用于基于浏览器的具体实施的安全交易确认。虽然示出了基于浏览器的具体实施,但相同的基本原理可使用独立应用程序或移动装置应用程序来实施。Figure 3A shows a secure transaction confirmation for a browser-based implementation. Although a browser-based implementation is shown, the same basic principles can be implemented using a standalone application or a mobile device application.
此安全交易确认被设计为向某些类型的交易(例如,金融交易)提供更强的安全性。在图示实施例中,用户在进行交易之前确认每个交易。使用图示技术,用户确认他/她究竟想要进行何种交易,并确实进行他/她在图形用户界面(GUI)的窗口301中看到的交易。换句话讲,该实施例确保“中间人”(MITM)或“浏览器中间人”(MITB)无法修改交易文本来进行用户没有确认的交易。This secure transaction confirmation is designed to provide enhanced security for certain types of transactions (e.g., financial transactions). In the illustrated embodiment, the user confirms each transaction before conducting it. Using the illustrated technique, the user confirms exactly what transaction they want to conduct and actually conducts the transaction they see in window 301 of the graphical user interface (GUI). In other words, this embodiment ensures that a "man in the middle" (MITM) or "man in the browser" (MITB) cannot modify the transaction text to conduct a transaction that the user has not confirmed.
在一个实施例中,安全交易插件105在浏览器环境中显示窗口301以展示交易细节。安全交易服务器101周期性地(例如,以随机时间间隔)验证窗口中所示的文本没有正被任何人篡改。在不同的实施例中,验证装置具有可信用户界面(例如,用于提供符合全球平台组织(GlobalPlatform)的可信UI的API)。In one embodiment, the secure transaction plug-in 105 displays a window 301 in the browser environment to display transaction details. The secure transaction server 101 periodically (e.g., at random intervals) verifies that the text displayed in the window has not been tampered with by anyone. In various embodiments, the verification device includes a trusted user interface (e.g., an API for providing a trusted UI compliant with the GlobalPlatform organization).
以下例子将帮助突出显示该实施例的操作。用户从商家网站选择要购买的商品并选择“结账”。商家网站将交易发送到服务提供商(例如,PayPal),该服务提供商具有实施本文所述的本发明的一个或多个实施例的安全交易服务器132至133。商家网站验证用户并完成交易。The following example will help highlight the operation of this embodiment. A user selects an item to purchase from a merchant website and selects "Checkout." The merchant website sends the transaction to a service provider (e.g., PayPal) that has secure transaction servers 132-133 that implement one or more embodiments of the present invention described herein. The merchant website authenticates the user and completes the transaction.
安全交易服务器132至133接收交易细节(TD),并且将“安全交易”请求放在HTML页面中并发送到客户端100。安全交易请求包括交易细节和随机质询。安全交易插件105检测对交易确认消息的请求并将所有数据转发到安全交易服务101。在不使用浏览器或插件的实施例中,可将该信息直接从安全交易服务器发送到客户端100上的安全交易服务。Secure transaction servers 132-133 receive the transaction details (TD) and place a "secure transaction" request in an HTML page, sending it to client 100. The secure transaction request includes the transaction details and a random challenge. Secure transaction plugin 105 detects the request for a transaction confirmation message and forwards all data to secure transaction service 101. In embodiments that do not use a browser or plugin, this information can be sent directly from the secure transaction server to the secure transaction service on client 100.
就基于浏览器的具体实施来说,安全交易插件105向用户显示具有交易细节的窗口301(例如,在浏览器环境中),并要求用户提供验证以确认交易。在不使用浏览器或插件的实施例中,安全交易服务101、应用程序154(图1B)或验证装置110可显示窗口301。安全交易服务101启动计时器并验证正向用户显示的窗口301的内容。可随机选择验证周期。安全交易服务101确保用户在窗口301中看到有效交易细节(例如,生成有关细节的散列,并通过与正确内容的散列相比较来验证内容是否准确)。如果检测到内容已被篡改,则阻止生成确认令牌/签名。In a browser-based implementation, the secure transaction plug-in 105 displays a window 301 with the transaction details to the user (e.g., in a browser environment) and asks the user to provide verification to confirm the transaction. In embodiments that do not use a browser or plug-in, the secure transaction service 101, application 154 ( FIG. 1B ), or verification device 110 may display window 301. The secure transaction service 101 starts a timer and verifies the contents of window 301 being displayed to the user. The verification period may be randomly selected. The secure transaction service 101 ensures that the user sees valid transaction details in window 301 (e.g., generates a hash of the details and verifies the accuracy of the content by comparing it to a hash of the correct content). If it is detected that the content has been tampered with, the generation of the confirmation token/signature is blocked.
在用户提供有效验证数据(例如,通过在指纹传感器上轻扫手指)之后,验证装置验证用户,并使用交易细节和随机质询生成加密签名(有时称为“令牌”)(即,根据交易细节和随机数计算得到签名)。这允许安全交易服务器132至133确保并未在服务器与客户端之间修改交易细节。安全交易服务101将所生成的签名和用户名发送到安全交易插件105,该安全交易插件将签名转发到安全交易服务器132至133。安全交易服务器132至133使用用户名标识用户并验证签名。如果验证成功,则向客户端发送确认消息并处理交易。After the user provides valid authentication data (e.g., by swiping a finger across a fingerprint sensor), the authentication device authenticates the user and generates a cryptographic signature (sometimes called a "token") using the transaction details and a random challenge (i.e., a signature calculated from the transaction details and a random number). This allows secure transaction servers 132-133 to ensure that the transaction details have not been modified between the server and the client. Secure transaction service 101 sends the generated signature and username to secure transaction plugin 105, which forwards the signature to secure transaction servers 132-133. Secure transaction servers 132-133 use the username to identify the user and verify the signature. If authentication is successful, a confirmation message is sent to the client and the transaction is processed.
本发明的一个实施例实施一种查询策略,其中安全交易服务器将服务器策略传输到客户端,该服务器策略指示服务器所接受的验证功能。客户端接着分析服务器策略以识别其支持的以及/或者用户已经表明想要使用的验证功能的子组。客户端接着使用与所提供的策略匹配的验证令牌子组注册和/或验证用户。因此,对客户端的隐私具有较小影响,因为不需要客户端传输关于其验证功能的详尽信息(例如,所有其验证装置)或可用于唯一地识别客户端的其他信息。One embodiment of the present invention implements a query strategy in which a secure transaction server transmits a server policy to a client, indicating the authentication capabilities accepted by the server. The client then analyzes the server policy to identify a subset of authentication capabilities that the server supports and/or that the user has indicated they wish to use. The client then registers and/or authenticates the user using the subset of authentication tokens that matches the provided policy. Consequently, there is less impact on the client's privacy because the client is not required to transmit detailed information about its authentication capabilities (e.g., all of its authentication devices) or other information that could be used to uniquely identify the client.
以举例而非限制的方式,客户端可包括许多用户验证功能,诸如指纹传感器、声音识别功能、面部识别功能、眼球/光学识别功能、PIN验证等等。然而,出于隐私原因,用户可能不希望向请求服务器透露所有其功能的细节。因此,通过使用本文所述的技术,安全交易服务器可将服务器策略传输到客户端,该服务器策略指示其支持(例如)指纹、光学或智能卡验证。客户端可接着将服务器策略与其自己的验证功能进行比较,并选择一个或多个可用验证选项。By way of example and not limitation, a client may include a variety of user authentication capabilities, such as a fingerprint sensor, voice recognition, facial recognition, eye/optical recognition, PIN verification, and so on. However, for privacy reasons, a user may not wish to reveal all details of their capabilities to the requesting server. Therefore, using the techniques described herein, a secure transaction server may transmit a server policy to the client indicating that it supports (for example) fingerprint, optical, or smart card authentication. The client may then compare the server policy with its own authentication capabilities and select one or more available authentication options.
本发明的一个实施例采用安全交易服务器上的交易签署,使得不需要在服务器上维持任何交易状态就能维持与客户端的会话。具体地讲,可将窗口301内所显示的诸如交易文本等交易细节发送到由服务器签署的客户端。服务器可接着通过验证签名来验证由客户端接收的已签署的交易响应是否有效。服务器不需要永久性地存储交易内容,因为对于大量客户端而言,这样做会消耗大量存储空间并且会导致对服务器的拒绝服务类型攻击的可能性。One embodiment of the present invention utilizes transaction signing on a secure transaction server, allowing the client session to be maintained without maintaining any transaction state on the server. Specifically, transaction details, such as the transaction text, displayed in window 301 can be sent to the client, where they are signed by the server. The server can then verify the validity of the signed transaction response received by the client by verifying the signature. The server does not need to permanently store the transaction content, as doing so would consume significant storage space for a large number of clients and could lead to the possibility of a denial-of-service attack on the server.
图3B中示出了本发明的一个实施例,其示出网站或其他网络服务311正在发起与客户端100的交易。例如,用户可能已在网站上选择了要购买的商品,并且可能已准备好结账付款。在图示例子中,网站或服务311将交易提交到安全交易服务器312,该安全交易服务器包括用于生成和验证签名(如本文所述)的签名处理逻辑313和用于执行客户端验证(例如,使用先前所述的验证技术)的验证逻辑314。One embodiment of the present invention is illustrated in FIG3B , which shows a website or other network service 311 initiating a transaction with a client 100. For example, a user may have selected items to purchase on the website and may be ready to check out and pay. In the illustrated example, the website or service 311 submits the transaction to a secure transaction server 312, which includes signature processing logic 313 for generating and verifying signatures (as described herein) and verification logic 314 for performing client verification (e.g., using the verification techniques previously described).
在一个实施例中,从安全交易服务器312发送到客户端100的验证请求包括随机质询(诸如密码随机数)(如上所述)、交易细节(例如,为完成交易而呈现的特定文本)、和由签名处理逻辑313使用私有密钥(仅安全交易服务器知道)在随机质询和交易细节上生成的签名。In one embodiment, the verification request sent from the secure transaction server 312 to the client 100 includes a random challenge (such as a cryptographic random number) (as described above), transaction details (e.g., specific text presented to complete the transaction), and a signature generated by the signature processing logic 313 using a private key (known only to the secure transaction server) on the random challenge and transaction details.
一旦客户端接收到以上信息,用户便可接收有关需要用户验证才能完成交易的指示。作为响应,用户可(例如)在指纹扫描器上轻扫手指,拍摄照片,对着麦克风说话,或执行针对给定交易所准许的任何其他类型的验证。在一个实施例中,一旦用户已经成功通过验证装置110的验证,客户端便将以下各项传输回服务器:(1)随机质询和交易文本(两者均由服务器在先前提供给客户端),(2)证明用户成功地完成验证的验证数据,以及(3)签名。Once the client receives the above information, the user may receive an indication that user authentication is required to complete the transaction. In response, the user may, for example, swipe a finger on a fingerprint scanner, take a photo, speak into a microphone, or perform any other type of authentication permitted for a given transaction. In one embodiment, once the user has successfully authenticated through the authentication device 110, the client transmits the following back to the server: (1) a random challenge and transaction text (both previously provided to the client by the server), (2) authentication data proving that the user successfully authenticated, and (3) a signature.
安全交易服务器312上的验证模块314可接着确认用户已经正确地验证,并且签名处理逻辑313使用私有密钥在随机质询和交易文本上重新生成签名。如果该签名与客户端所发送的签名匹配,则服务器可验证交易文本与其最初从网站或服务311接收时相同。这节约了存储和处理资源,因为不需要安全交易服务器312将交易文本(或其他交易数据)永久性地存储在安全交易数据库120内。The verification module 314 on the secure transaction server 312 can then confirm that the user has been correctly authenticated, and the signature processing logic 313 uses the private key to regenerate a signature on the random challenge and the transaction text. If the signature matches the signature sent by the client, the server can verify that the transaction text is the same as when it was originally received from the website or service 311. This saves storage and processing resources because the secure transaction server 312 does not need to permanently store the transaction text (or other transaction data) in the secure transaction database 120.
图4示出用于实施这些技术的客户端-服务器架构的一个实施例。如图所示,在客户端100上实施的安全交易服务101包括策略筛选器401,其用于分析服务器130所提供的策略并识别要用于注册和/或验证的验证功能子组。在一个实施例中,策略筛选器401被实施为在安全交易服务101的环境内执行的软件模块。然而,应该指出的是,策略筛选器401可在同时仍符合本发明的基本原理的情况下以任何方式来实施,并且可包括软件、硬件、固件或其任何组合。Figure 4 illustrates one embodiment of a client-server architecture for implementing these techniques. As shown, the secure transaction service 101 implemented on the client 100 includes a policy filter 401, which is used to analyze the policy provided by the server 130 and identify a subset of authentication functions to be used for registration and/or authentication. In one embodiment, policy filter 401 is implemented as a software module that executes within the context of the secure transaction service 101. However, it should be noted that policy filter 401 can be implemented in any manner while still consistent with the underlying principles of the present invention and may include software, hardware, firmware, or any combination thereof.
图4所示的特定具体实施包括安全交易插件105,其用于使用先前论述的技术建立与安全企业或Web目的地130(有时简称为“服务器130”或“依赖方”130)的通信。例如,安全交易插件可识别由web服务器131插入到HTML代码中的特定HTML标签。因此,在这个实施例中,将服务器策略提供到安全交易插件105,该安全交易插件将其转发到实施策略筛选器401的安全交易服务101。The particular implementation shown in FIG4 includes a secure transaction plug-in 105 for establishing communication with a secure enterprise or web destination 130 (sometimes referred to simply as "server 130" or "relying party" 130) using the techniques previously discussed. For example, the secure transaction plug-in can identify specific HTML tags inserted into the HTML code by the web server 131. Thus, in this embodiment, the server policy is provided to the secure transaction plug-in 105, which forwards it to the secure transaction service 101, which implements the policy filter 401.
策略筛选器401可通过从客户端的安全存储区域420读取功能来确定客户端验证功能。如先前论述,安全存储装置420可包括所有客户端验证功能(例如,所有验证装置的标识代码)组成的存储库。如果用户已经向其验证装置登记了用户,则用户的登记数据被存储在安全存储装置420内。如果客户端已经向服务器130注册了验证装置,则安全存储装置还可存储与每个验证装置相关联的加密秘密密钥。The policy filter 401 can determine the client authentication capabilities by reading the capabilities from the client's secure storage area 420. As previously discussed, the secure storage 420 can include a repository of all client authentication capabilities (e.g., identification codes for all authentication devices). If the user has registered the user with their authentication device, the user's registration data is stored in the secure storage 420. If the client has registered authentication devices with the server 130, the secure storage can also store the encryption secret key associated with each authentication device.
通过使用从安全存储装置420提取的验证数据和由服务器提供的策略,策略筛选器401可接着识别要使用的验证功能子组。根据配置,策略筛选器401可识别客户端和服务器两者所支持的验证功能的完整列表,或可识别完整列表的子组。例如,如果服务器支持验证功能A、B、C、D和E,并且客户端具有验证功能A、B、C、F和G,则策略筛选器401可向服务器识别共同验证功能的整个子组:A、B和C。或者,如果需要较高隐私等级,如在图4中由用户偏好430指示,则可向服务器识别更有限的验证功能子组。例如,用户可指示应仅向服务器识别单个共同验证功能(例如,A、B或C之一)。在一个实施例中,用户可针对客户端100的所有验证功能确立优先化方案,并且策略筛选器可选择服务器和客户端两者共有的最高优先级的验证功能(或N个验证功能的优先化组)。Using the authentication data extracted from the secure storage device 420 and the policy provided by the server, the policy filter 401 can then identify a subset of authentication functions to be used. Depending on the configuration, the policy filter 401 can identify the complete list of authentication functions supported by both the client and the server, or can identify a subset of the complete list. For example, if the server supports authentication functions A, B, C, D, and E, and the client has authentication functions A, B, C, F, and G, the policy filter 401 can identify the entire subset of common authentication functions to the server: A, B, and C. Alternatively, if a higher level of privacy is desired, as indicated by the user preferences 430 in Figure 4, a more limited subset of authentication functions can be identified to the server. For example, the user can indicate that only a single common authentication function (e.g., one of A, B, or C) should be identified to the server. In one embodiment, the user can establish a prioritization scheme for all authentication functions of the client 100, and the policy filter can select the highest priority authentication function (or prioritized group of N authentication functions) shared by both the server and the client.
根据服务器130发起了何种操作(注册还是验证),安全交易服务130对筛选的验证装置子组(110至112)执行该操作,并经由安全交易插件105将操作响应发送回到服务器130,如图4所示。或者,在不依赖于Web浏览器的插件105组件的实施例中,可将该信息直接从安全交易服务101传递到服务器130。Depending on which operation (registration or authentication) was initiated by the server 130, the secure transaction service 130 performs the operation on the selected authentication device subset (110 to 112) and sends the operation response back to the server 130 via the secure transaction plug-in 105, as shown in Figure 4. Alternatively, in an embodiment that does not rely on the plug-in 105 component of the web browser, this information can be passed directly from the secure transaction service 101 to the server 130.
图5示出了事务图,其展示使用查询策略事务的一系列示例性注册的额外细节。在图示实施例中,用户先前没有向服务器130注册装置。因此,在501处,用户可输入用户名和密码作为初始的一次性验证步骤,在502处,用户名和密码经由客户端浏览器104转发到服务器130。然而,应该指出的是,为了符合本发明的基本原理,不一定需要用户名和密码。FIG5 shows a transaction diagram illustrating additional details of an exemplary series of registrations using a query strategy transaction. In the illustrated embodiment, the user has not previously registered the device with the server 130. Therefore, at 501, the user may enter a username and password as an initial, one-time authentication step, which are forwarded to the server 130 via the client browser 104 at 502. However, it should be noted that a username and password are not necessarily required in order to comply with the underlying principles of the present invention.
因为在503处确定用户先前未以增强型安全性注册,所以在504处,服务器130将其服务器策略传输到客户端。如所提及,服务器策略可包括对服务器130所支持的验证功能的指示。在图示例子中,经由事务506将服务器策略传递到安全交易服务101。Because it is determined at 503 that the user has not previously registered with enhanced security, server 130 transmits its server policy to the client at 504. As mentioned, the server policy may include an indication of the authentication functionality supported by server 130. In the illustrated example, the server policy is communicated to secure transaction service 101 via transaction 506.
在事务507处,安全交易服务101将服务器策略与客户端的功能(以及有可能其他信息,诸如装置优先级方案和/或用户偏好,如上所述)进行比较,以得到验证功能的筛选列表。装置的筛选列表(102)接着生成交易密钥对508和509,并且将这些密钥对的公共部分提供给安全交易服务101,该安全交易服务继而在510处将这些公共部分作为注册响应发送回服务器130。服务器证实验证装置并将公共密钥存储在安全交易数据库中。此处所采用的令牌证实是在注册期间确认验证装置身份的过程。其允许服务器130以加密方式确保客户端所报告的装置实际上是其声称的那个装置。At transaction 507, the secure transaction service 101 compares the server policy with the client's capabilities (and possibly other information, such as a device priority scheme and/or user preferences, as described above) to obtain a filtered list of authentication capabilities. The filtered list of devices (102) then generates transaction key pairs 508 and 509 and provides the public portions of these key pairs to the secure transaction service 101, which in turn sends these public portions back to the server 130 as a registration response at 510. The server authenticates the authentication device and stores the public key in the secure transaction database. Token authentication, as employed herein, is the process of confirming the identity of the authentication device during registration. It allows the server 130 to cryptographically ensure that the device reported by the client is actually the device it claims to be.
作为另外一种选择或除此之外,在507处,可向用户提供审查列表和/或选择要与该特定服务器130一起使用的特定验证功能的机会。例如,筛选列表可指示使用借助指纹扫描、面部识别和/或声音识别进行的验证的选项。用户可接着选择在向服务器130验证时使用这些选项中的一个或多个。Alternatively or additionally, at 507, the user may be provided with an opportunity to review the list and/or select a particular authentication function to be used with this particular server 130. For example, the filter list may indicate options for using authentication using fingerprint scanning, facial recognition, and/or voice recognition. The user may then select one or more of these options to use when authenticating to the server 130.
上文针对在客户端处筛选服务器策略所描述的技术可在上文所述的一系列事务的各种不同阶段(例如,在装置发现、装置注册、装置预置、用户验证等期间)实施。也就是说,本发明的基本原理不限于图5所陈述的该组特定事务和特定事务次序。The techniques described above for filtering server policies at the client can be implemented at various stages in the series of transactions described above (e.g., during device discovery, device registration, device provisioning, user authentication, etc.). That is, the underlying principles of the invention are not limited to the specific set of transactions and specific transaction order set forth in FIG.
此外,如先前提及,为了符合本发明的基本原理,不一定需要浏览器插件架构。对于不涉及浏览器或浏览器插件的架构(例如,诸如独立应用程序或移动装置应用程序),图5所示的事务图(以及本文所公开的其他事务图)可简化,使得浏览器104被移除,并且安全交易服务101直接与服务器130通信。Furthermore, as previously mentioned, a browser plug-in architecture is not necessarily required to comply with the underlying principles of the present invention. For architectures that do not involve a browser or browser plug-in (e.g., such as a standalone application or a mobile device application), the transaction diagram shown in FIG5 (and other transaction diagrams disclosed herein) can be simplified such that the browser 104 is removed and the secure transaction service 101 communicates directly with the server 130.
以增强型安全性注册装置Registering devices with enhanced security
包括欧洲中央银行(ECB)和联邦金融机构检查委员会(FFIEC)在内的各种组织建议使用强验证进行金融交易。此外,欧洲网络和信息安全机构(ENISA)最近提出,金融机构应将所有客户装置都视为已被危及的装置。虽然上述的安全交易确认方法即使在客户端已被危及的情况下(只要验证装置未被危及)也提供充分保护,但上述用于经由网络注册验证装置的注册技术(即便这些注册技术通常是安全的)不会基于如下假设来操作:即,客户端装置已被危及,因此可能易受装置上恶意软件的攻击。Various organizations, including the European Central Bank (ECB) and the Federal Financial Institutions Examination Committee (FFIEC), recommend the use of strong authentication for financial transactions. Furthermore, the European Network and Information Security Agency (ENISA) recently proposed that financial institutions should treat all client devices as if they were compromised. While the aforementioned secure transaction confirmation methods provide adequate protection even in the event of a client compromise (as long as the authentication device is not compromised), the aforementioned registration techniques for registering authentication devices over a network (even though these registration techniques are generally secure) do not operate under the assumption that the client device is compromised and, therefore, may be vulnerable to malware on the device.
为了增强装置注册期间的安全性,本发明的一个实施例包括使用带外通信信道来从依赖方向用户或从用户向依赖方发送密码。该带外通信信道只用于注册验证器一次。接下来,验证器无需使用该信道,就可用于后续的验证或交易确认步骤。另外,可采用包括使用安全显示器在内的安全交易确认技术(例如,诸如上文结合图3A和图3B所述)来允许用户确认经由带外传输所发送的密码。To enhance security during device registration, one embodiment of the present invention includes using an out-of-band communication channel to transmit a password from a relying party to a user, or vice versa. This out-of-band communication channel is used only once to register the authenticator. The authenticator can then be used for subsequent authentication or transaction confirmation steps without using this channel. Additionally, secure transaction confirmation techniques, including the use of a secure display (e.g., such as described above in connection with Figures 3A and 3B), can be employed to allow the user to confirm the password sent via out-of-band transmission.
图6示出了包括验证器600或连接到验证器600的示例性客户端装置690,该验证器包括用于实施本文所述的增强型安全性技术的增强型安全性注册模块604。图示实施例还包括验证引擎610,该验证引擎具有保证度计算模块606,该模块用于生成合法用户持有客户端装置600的保证等级。例如,显式和非侵入式验证结果605使用显式用户验证装置620至621、一个或多个传感器643(例如,位置传感器、加速度计等)以及与客户端装置600的当前验证状态有关的其他数据(例如,诸如自最后一次显式验证以来的时间)来收集。6 illustrates an exemplary client device 690 that includes or is connected to an authenticator 600 that includes an enhanced security registration module 604 for implementing the enhanced security techniques described herein. The illustrated embodiment also includes an authentication engine 610 having an assurance calculation module 606 for generating an assurance level that a legitimate user possesses the client device 600. For example, explicit and non-intrusive authentication results 605 are collected using explicit user authentication devices 620-621, one or more sensors 643 (e.g., a location sensor, an accelerometer, etc.), and other data related to the current authentication state of the client device 600 (e.g., such as the time since the last explicit authentication).
显式验证可例如使用生物计量技术(例如,在指纹验证装置上轻扫手指)以及/或者由用户输入密码来执行。非侵入式验证技术可基于诸如以下各项这样的数据来执行:(例如,经由GPS传感器)检测到的客户端装置600的当前位置、所感测到的其他用户行为(例如,使用加速度计测量用户的步态)和/或诸如自最后一次显式验证以来的时间这样的变量。不管验证结果605是如何生成的,保证度计算模块606总是使用这些结果来确定指示合法用户650持有客户端装置600的可能性的保证等级。安全通信模块613建立与依赖方613的安全通信(例如,使用安全加密密钥,如本文论述)。公共/私有密钥对或对称密钥可存储在安全存储装置625内,该安全存储装置可作为密码安全硬件装置(例如,安全芯片)实施,或可使用安全硬件与软件的任何组合来实施。Explicit authentication can be performed, for example, using biometric technology (e.g., swiping a finger on a fingerprint authentication device) and/or by the user entering a password. Non-invasive authentication techniques can be performed based on data such as the current location of the client device 600 detected (e.g., via a GPS sensor), other user behaviors sensed (e.g., measuring the user's gait using an accelerometer), and/or variables such as the time since the last explicit authentication. Regardless of how the authentication results 605 are generated, the assurance calculation module 606 always uses these results to determine an assurance level indicating the likelihood that the legitimate user 650 possesses the client device 600. The secure communication module 613 establishes secure communication with the relying party 613 (e.g., using a secure encryption key, as discussed herein). The public/private key pair or symmetric key can be stored in a secure storage device 625, which can be implemented as a cryptographically secure hardware device (e.g., a security chip) or can be implemented using any combination of secure hardware and software.
如图6所示,客户端装置690可包括各种额外的组件,诸如Web浏览器691、各种移动应用程序692和其他硬件/软件组件。在本文所述的一些实施例中,假设验证器600已被危及,从而势必需要本文所述的安全注册技术。但是,该假设可能对客户端装置690中可正常地操作而不会影响本发明基本原理的剩余硬件/软件组件没有任何影响。As shown in FIG6 , client device 690 may include various additional components, such as a web browser 691, various mobile applications 692, and other hardware/software components. In some embodiments described herein, it is assumed that authenticator 600 has been compromised, necessitating the secure registration techniques described herein. However, this assumption may have no impact on the remaining hardware/software components in client device 690, which may operate normally without affecting the basic principles of the present invention.
图7中示出了用于以增强型安全性执行注册的方法的一个实施例。在701处,用户尝试向在线服务(诸如具有安全交易服务的依赖方,如本文所述)注册验证装置。例如,用户可能已经购买了具有新验证装置/功能(诸如新指纹验证器)的新装置。或者,用户可能已经在现有客户端装置上安装了新验证器并且/或者可能正首次使用现有验证器来访问在线服务。One embodiment of a method for performing registration with enhanced security is shown in FIG7 . At 701 , a user attempts to register an authentication device with an online service (such as a relying party with a secure transaction service, as described herein). For example, the user may have purchased a new device with a new authentication device/functionality (such as a new fingerprint authenticator). Alternatively, the user may have installed a new authenticator on an existing client device and/or may be using an existing authenticator to access an online service for the first time.
在702处,响应于验证尝试,经由带外通信信道从服务向用户或从用户向服务发送密码。例如,在一个实施例中,使用注册过程(参见例如图5中的事务510)中生成的公共密钥散列来生成密码,接着经由带外信道发送密码。在一个特定实施例中,向公共密钥应用散列操作(诸如SHA-256、SHA-1或SHA-3散列操作),以生成包含散列值的密码。At 702, in response to the authentication attempt, a password is sent from the service to the user or from the user to the service via an out-of-band communication channel. For example, in one embodiment, the password is generated using a hash of the public key generated during the registration process (see, e.g., transaction 510 in FIG. 5 ), and then sent via the out-of-band channel. In a specific embodiment, a hash operation (such as a SHA-256, SHA-1, or SHA-3 hash operation) is applied to the public key to generate a password comprising a hash value.
在一个实施例中,由依赖方生成密码并将其经由带外信道(例如,经由标准邮件或电子邮件等)发送到用户。在另一个实施例中,使用安全交易确认操作在客户端装置上安全地显示密码;用户接着可复制安全显示的密码(例如,公共密钥散列)并将其经由带外通信信道发送到依赖方。In one embodiment, the password is generated by the relying party and sent to the user via an out-of-band channel (e.g., via standard mail or email, etc.). In another embodiment, the password is securely displayed on the client device using a secure transaction confirmation operation; the user can then copy the securely displayed password (e.g., a public key hash) and send it to the relying party via an out-of-band communication channel.
可采用各种不同类型的带外信道。如本文所用,“带外”信道是与标准注册和标准验证所用通信信道类型不同的通信信道。在一个实施例中,带外信道包括非电子邮件。例如,依赖方可使用邮政服务将散列值邮寄到用户的已知地址。在另一个实施例中,带外信道可包括电子信道诸如电子邮件、文本消息发送(例如,短消息服务(SMS))、即时消息发送或使用依赖方已知的与用户相关联的目的地地址的任何其他类型的通信信道。Various types of out-of-band channels may be employed. As used herein, an "out-of-band" channel is a communication channel of a different type than the communication channel used for standard registration and standard authentication. In one embodiment, the out-of-band channel comprises a non-email communication channel. For example, the relying party may use a postal service to mail the hash value to a known address of the user. In another embodiment, the out-of-band channel may comprise an electronic channel such as email, text messaging (e.g., Short Message Service (SMS)), instant messaging, or any other type of communication channel that uses a destination address associated with the user that is known to the relying party.
不管使用哪一个带外信道,在703处,都使用密码(例如,通过带外信道接收的公共密钥散列)来验证注册。例如,在公共密钥散列安全地显示在客户端上的实施例中,用户经由带外信道提交安全显示器上显示的公共密钥散列。在将代码从依赖方经由带外信道发送到客户端的实施例中,用户可确认客户端上的密码(例如,经由安全交易确认操作)。在一个实施例中,本文所述的安全交易确认技术(参见例如图3A和图3B,以及相关联文字部分)可用于在显示器上安全地显示公共密钥散列,以进行用户验证并/或允许用户复制公共密钥散列并将其经由带外信道发送回依赖方。Regardless of which out-of-band channel is used, at 703, the registration is verified using a password (e.g., a public key hash received via the out-of-band channel). For example, in embodiments where the public key hash is securely displayed on the client, the user submits the public key hash displayed on the secure display via the out-of-band channel. In embodiments where a code is sent from the relying party to the client via the out-of-band channel, the user can confirm the password on the client (e.g., via a secure transaction confirmation operation). In one embodiment, the secure transaction confirmation techniques described herein (see, for example, Figures 3A and 3B, and associated text) can be used to securely display the public key hash on a display for user verification and/or allow the user to copy the public key hash and send it back to the relying party via the out-of-band channel.
如果在704处确定验证成功(例如,如果作为注册701的一部分接收的公共密钥散列与经由带外信道发送的公共密钥散列匹配),则在705处确认注册。然而,如果公共密钥散列不匹配,或者如果经过阈值量的时间才经由带外信道接收到公共密钥散列,则在706处拒绝注册。If verification is determined to be successful at 704 (e.g., if the public key hash received as part of registration 701 matches the public key hash sent via the out-of-band channel), then registration is confirmed at 705. However, if the public key hashes do not match, or if a threshold amount of time has passed before the public key hash is received via the out-of-band channel, then registration is denied at 706.
在一个实施例中,可显示各种其他数据供用户在注册过程中进行验证。例如,在一个实施例中,与依赖方上的用户帐户相关联的唯一代码也使用交易确认技术和安全显示技术来显示(并由用户进行验证)。这种将用户与依赖方相关联的唯一代码在本文中有时称为“AppID”。在依赖方提供多种在线服务的一些实施例中,用户在单个依赖方可拥有多个AppID(依赖方为每种服务提供一个AppID)。In one embodiment, various other data may be displayed for user verification during the registration process. For example, in one embodiment, a unique code associated with the user's account on the relying party is also displayed (and verified by the user) using transaction confirmation technology and secure display technology. This unique code that associates the user with the relying party is sometimes referred to herein as an "AppID." In some embodiments where the relying party offers multiple online services, a user may have multiple AppIDs with a single relying party (the relying party providing one AppID for each service).
可采用各种不同的具体实施,包括依赖方提前了解用户的后注册实施例、用户在依赖方识别出用户之前向依赖方注册的预注册实施例(例如,根据相应的“了解你的客户(KYC)”准则)和涉及准同步注册的混合实施例(例如,使用用户和依赖方都了解的现有代码)。A variety of different implementations may be employed, including post-registration embodiments where the relying party has advance knowledge of the user, pre-registration embodiments where the user registers with the relying party before the relying party identifies the user (e.g., in accordance with applicable Know Your Customer (KYC) guidelines), and hybrid embodiments involving quasi-simultaneous registration (e.g., using an existing code known to both the user and the relying party).
1.后注册1. Post-registration
图8A示出了其中依赖方了解用户的后注册过程的一个实施例。例如,在用户执行注册之前,依赖方可能就已依据“了解你的客户(KYC)”准则识别出了用户。在801处,用户被依赖方(例如,使用KYC)识别,依赖方在其数据库中为该用户创建电子记录。FIG8A illustrates an embodiment of a post-registration process in which a relying party is aware of a user. For example, the relying party may have identified the user based on Know Your Customer (KYC) guidelines before the user performs registration. At 801, the user is identified by the relying party (e.g., using KYC), and the relying party creates an electronic record for the user in its database.
在802处,用户访问依赖方的网站,依赖方的web应用程序检测到用户的装置配备有增强型验证功能(例如,诸如本文所述的用于经由网络进行远程验证的那些)。At 802, a user visits a website of a relying party, and the relying party's web application detects that the user's device is equipped with enhanced authentication capabilities (eg, such as those described herein for remote authentication over a network).
在803处,用户向依赖方发起注册。例如,可执行诸如图5所示的一系列事务,而为验证器生成公共/私有密钥对。在804处,依赖方使用带外方法(例如,邮政邮件、电子邮件、SMS等)向用户发送密码(例如,已注册公共密钥的散列)。At 803, the user initiates registration with the relying party. For example, a series of transactions such as those shown in FIG5 may be performed to generate a public/private key pair for the authenticator. At 804, the relying party sends a password (e.g., a hash of the registered public key) to the user using an out-of-band method (e.g., postal mail, email, SMS, etc.).
在805处,依赖方触发安全交易确认操作。例如,在一个实施例中,可向用户显示具有密码并可能具有唯一帐户ID代码的消息,要求用户确认此信息(例如,“我确认通过带外方法接收的公共密钥散列与此时在我的安全显示器上显示的公共密钥散列完全相同,并且该公共密钥散列已被注册到那里示出的AppID”)。在806处,用户接着可在密码和ID代码与安全显示器内所显示的密码和ID代码匹配的情况下接受交易,从而在807处确认注册。如果在806处用户拒绝交易(例如,由于所显示的信息与密码和/或ID代码不匹配),则在808处拒绝注册。At 805, the relying party triggers a secure transaction confirmation operation. For example, in one embodiment, a message may be displayed to the user with a password and possibly a unique account ID code, asking the user to confirm this information (e.g., "I confirm that the public key hash received via the out-of-band method is identical to the public key hash displayed on my secure display at this time, and that this public key hash has been registered to the AppID shown there."). At 806, the user may then accept the transaction if the password and ID code match the password and ID code displayed within the secure display, thereby confirming the registration at 807. If the user rejects the transaction at 806 (e.g., because the displayed information does not match the password and/or ID code), the registration is rejected at 808.
图8B示出了其中依赖方了解用户的后注册过程的另一个实施例。同样,在用户执行注册之前,依赖方可能就已依据“了解你的客户(KYC)”准则识别出了用户。在811处,用户被依赖方(例如,使用KYC)识别,依赖方在其数据库中为该用户创建电子记录。FIG8B illustrates another embodiment of a post-registration process in which a relying party is aware of a user. Similarly, the relying party may have identified the user based on Know Your Customer (KYC) guidelines before the user performs registration. At 811, the user is identified by the relying party (e.g., using KYC), and the relying party creates an electronic record for the user in its database.
在812处,用户访问依赖方的网站,依赖方的web应用程序检测到用户装置配备有增强型验证功能(例如,诸如本文所述的用于经由网络进行远程验证的那些)。At 812, the user visits a relying party's website, and the relying party's web application detects that the user device is equipped with enhanced authentication capabilities (eg, such as those described herein for remote authentication via a network).
在813处,用户同意向依赖方注册。例如,可执行诸如图5所示的一系列事务,而为验证器生成公共/私有密钥对。在804处,依赖方触发安全交易确认操作。例如,在一个实施例中,可向用户显示可能具有唯一帐户ID代码的消息,要求用户确认此信息(例如,“我确认注册并将经由已验证的带外信道签署地发送下面示出的公共密钥散列”)。At 813, the user agrees to register with the relying party. For example, a series of transactions such as that shown in FIG. 5 may be performed to generate a public/private key pair for the validator. At 804, the relying party triggers a secure transaction confirmation operation. For example, in one embodiment, a message may be displayed to the user, possibly with a unique account ID code, requesting the user to confirm this information (e.g., "I confirm registration and will send the public key hash shown below signed via an authenticated out-of-band channel").
在815处,用户经由已验证的带外信道(例如,已签署信件)传输安全显示器上示出的公共密钥散列。在816处,依赖方利用步骤813中接收到的公共密钥散列来验证815中发送的公共密钥散列,随后可在817处接受注册。如果值不匹配,则依赖方在818处拒绝注册。At 815, the user transmits the public key hash shown on the secure display via an authenticated out-of-band channel (e.g., a signed letter). At 816, the relying party verifies the public key hash sent in 815 using the public key hash received in step 813 and may then accept the registration at 817. If the values do not match, the relying party rejects the registration at 818.
2.预注册2. Pre-registration
图9示出了用户在依赖方(例如,根据相应的KYC准则)识别出用户之前向依赖方执行注册的过程的一个实施例。在901处,用户访问依赖方的网站,依赖方的web应用程序检测到用户的装置配备有增强型验证功能(例如,诸如本文所述的用于经由网络进行远程验证的那些)。Figure 9 illustrates one embodiment of a process in which a user registers with a relying party before the relying party identifies the user (e.g., according to corresponding KYC guidelines). At 901, the user accesses the website of the relying party, and the relying party's web application detects that the user's device is equipped with enhanced authentication capabilities (e.g., such as those described herein for remote authentication via a network).
在902处,用户向依赖方发起注册。例如,可执行诸如图5所示的一系列事务,而为验证器生成公共/私有密钥对。在903处,依赖方针对注册请求触发交易确认操作。例如,可在安全显示器上显示消息,请求确认用户希望在依赖方上注册(例如,“我想在<依赖方>上注册,稍后会接受KYC”)。另外,安全显示器可显示代码(例如,公共密钥散列)和AppID。需注意,该代码可以是“秘密”代码,也可以不是。At 902, the user initiates registration with the relying party. For example, a series of transactions such as those shown in FIG. 5 may be performed to generate a public/private key pair for the authenticator. At 903, the relying party triggers a transaction confirmation operation in response to the registration request. For example, a message may be displayed on a secure display requesting confirmation that the user wishes to register with the relying party (e.g., "I would like to register with <relying party> and will undergo KYC later"). In addition, the secure display may display a code (e.g., a public key hash) and the AppID. Note that this code may or may not be a "secret" code.
在904处,用户使用已验证的带外机制向依赖方发送代码。例如,在一个实施例中,用户可物理地将散列的打印件送到依赖方的分支机构将其进行出示,作为KYC确认的一部分。或者,用户可将代码输入作为识别程序的一部分的表单内。或者,用户可经由电子邮件、邮政邮件、SMS或任何其他类型的已验证带外信道来发送密码。At 904, the user sends the code to the relying party using a verified out-of-band mechanism. For example, in one embodiment, the user may physically take a printout of the hash to a branch of the relying party to present it as part of the KYC confirmation. Alternatively, the user may enter the code into a form as part of the identification process. Alternatively, the user may send the code via email, postal mail, SMS, or any other type of verified out-of-band channel.
在905处,依赖方执行代码验证(例如,将公共密钥散列与由注册期间从该用户接收的公共密钥计算出的散列值进行比较)。如果在906处确认匹配,则在907处确认注册。如果未确认匹配,则在908处拒绝注册。At 905, the relying party performs code verification (e.g., comparing the public key hash to a hash value calculated from the public key received from the user during registration). If a match is confirmed at 906, then the registration is confirmed at 907. If a match is not confirmed, then the registration is denied at 908.
3.准同步注册3. Quasi-simultaneous registration
有些用户已经拥有多个凭据,诸如上面附带身份证书的电子ID卡。利用这种身份证书,就可使用如图10所示的电子ID卡将带外方法替换为电子方法。Some users already have multiple credentials, such as an electronic ID card with an identity certificate. Utilize this identity certificate, the electronic ID card as shown in Figure 10 can be used to replace the out-of-band method with an electronic method.
在1001处,用户访问依赖方的网站,依赖方的web应用程序检测到用户的装置配备有增强型验证功能(例如,诸如本文所述的用于经由网络进行远程验证的那些)。At 1001 , a user visits a website of a relying party, and the relying party's web application detects that the user's device is equipped with enhanced authentication capabilities (eg, such as those described herein for remote authentication over a network).
在1002处,用户同意向依赖方注册。例如,可执行诸如图5所示的一系列事务,而为验证器生成公共/私有密钥对。在1003处,依赖方针对注册请求触发交易确认操作。例如,确认交易的安全显示器可显示一则消息,请求确认用户希望使用现有凭据在依赖方上注册(例如,“我想在<依赖方>上注册,并将使用基于我的电子ID卡的识别”)。另外,安全显示器可向用户显示密码(例如,公共密钥散列)和AppID。At 1002, the user agrees to register with the relying party. For example, a series of transactions such as that shown in FIG. 5 may be performed to generate a public/private key pair for the authenticator. At 1003, the relying party triggers a transaction confirmation operation for the registration request. For example, a secure display confirming the transaction may display a message requesting confirmation that the user wishes to register with the relying party using existing credentials (e.g., "I would like to register with <relying party> and will use identification based on my electronic ID card"). In addition, the secure display may display a password (e.g., a public key hash) and an AppID to the user.
在1004处,用户创建包含AppID和公共密钥散列的验证对象(例如,文档或二进制文件)、使用与现有凭据(例如,用户电子ID卡上的身份证书)有关的私有密钥来签署该对象。在1005处,依赖方验证已签署对象,并从凭据(例如,身份证书)中提取身份数据。另外,依赖方将从已签署对象中提取的该公共密钥散列与由注册期间从该用户接收的公共密钥计算出的散列值进行比较。如果在1006处确定两者匹配,则在1007处确认注册。如果不匹配,则在1008处拒绝注册。At 1004, the user creates a verification object (e.g., a document or binary file) containing the AppID and a public key hash, and signs the object using a private key associated with an existing credential (e.g., an identity certificate on the user's electronic ID card). At 1005, the relying party verifies the signed object and extracts the identity data from the credential (e.g., identity certificate). In addition, the relying party compares the public key hash extracted from the signed object with a hash value calculated from the public key received from the user during registration. If the two match at 1006, the registration is confirmed at 1007. If not, the registration is rejected at 1008.
示例性数据处理装置Exemplary data processing apparatus
图11是示出可在本发明的一些实施例中使用的示例性客户端和服务器的框图。应当理解,尽管图11示出计算机系统的各种组件,但其并非意图表示互连组件的任何特定架构或方式,因为此类细节与本发明并不密切相关。应当理解,具有更少组件或更多组件的其他计算机系统也可与本发明一起使用。FIG11 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 FIG11 illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the 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.
如图11所示,计算机系统1100,其为一种形式的数据处理系统,包括总线1150,该总线与处理系统1120、电源1125、存储器1130和非易失性存储器1140(例如,硬盘驱动器、快闪存储器、相变存储器(PCM)等)耦接。总线1150可通过如本领域中熟知的各种桥接器、控制器和/或适配器来彼此连接。处理系统1120可从存储器1130和/或非易失性存储器1140检索指令,并执行这些指令以执行如上所述的操作。总线1150将以上组件互连在一起,并且还将那些组件互连到可选底座1160、显示控制器与显示装置1170、输入/输出装置1180(例如,NIC(网络接口卡)、光标控件(例如,鼠标、触摸屏、触摸板等)、键盘等)和可选无线收发器1190(例如,蓝牙、WiFi、红外等)。As shown in FIG11 , a computer system 1100, which is a form of data processing system, includes a bus 1150 coupled to a processing system 1120, a power supply 1125, a memory 1130, and a non-volatile memory 1140 (e.g., a hard drive, flash memory, phase change memory (PCM), etc.). The bus 1150 can be connected to each other via various bridges, controllers, and/or adapters as are well known in the art. The processing system 1120 can retrieve instructions from the memory 1130 and/or the non-volatile memory 1140 and execute these instructions to perform the operations described above. The bus 1150 interconnects the above components and also interconnects those components to an optional base 1160, a display controller and display device 1170, an input/output device 1180 (e.g., a NIC (network interface card), a cursor control (e.g., a mouse, touch screen, touchpad, etc.), a keyboard, etc.), and an optional wireless transceiver 1190 (e.g., Bluetooth, WiFi, infrared, etc.).
图12是示出可在本发明的一些实施例中使用的示例性数据处理系统的框图。例如,数据处理系统1200可为手持式计算机、个人数字助理(PDA)、移动电话、便携式游戏系统、便携式媒体播放器、平板计算机或手持式计算装置(其可包括移动电话、媒体播放器和/或游戏系统)。又如,数据处理系统1200可为网络计算机或在另一个装置内的嵌入式处理装置。Figure 12 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 1200 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 1200 may be a network computer or an embedded processing device within another device.
根据本发明的一个实施例,数据处理系统1200的示例性架构可用于上文所述的移动装置。数据处理系统1200包括处理系统1220,其可包括一个或多个微处理器和/或集成电路上的系统。处理系统1220与存储器1210、电源1225(其包括一个或多个电池)、音频输入/输出1240、显示控制器与显示装置1260、可选输入/输出1250、输入装置1270和无线收发器1230耦接。应当理解,在本发明的某些实施例中,图12中未示出的其他组件也可为数据处理系统1200的一部分,并且在本发明的某些实施例中,可使用比图12所示更少的组件。另外,应当理解,图12中未示出的一个或多个总线可用于使如本领域中熟知的各种组件互连。According to one embodiment of the present invention, an exemplary architecture of a data processing system 1200 can be used for the mobile device described above. The data processing system 1200 includes a processing system 1220, which may include one or more microprocessors and/or systems on integrated circuits. The processing system 1220 is coupled to a memory 1210, a power supply 1225 (which includes one or more batteries), an audio input/output 1240, a display controller and a display device 1260, an optional input/output 1250, an input device 1270, and a wireless transceiver 1230. It should be understood that in certain embodiments of the present invention, other components not shown in Figure 12 may also be part of the data processing system 1200, and in certain embodiments of the present invention, fewer components than shown in Figure 12 may be used. In addition, it should be understood that one or more buses not shown in Figure 12 can be used to interconnect various components as is known in the art.
存储器1210可存储数据和/或程序以供数据处理系统1200执行。音频输入/输出1240可包括麦克风和/或扬声器以(例如)播放音乐,以及/或者通过扬声器和麦克风提供电话功能。显示控制器与显示装置1260可包括图形用户界面(GUI)。无线(例如,RF)收发器1230(例如,WiFi收发器、红外收发器、蓝牙收发器、无线蜂窝电话收发器等)可用于与其他数据处理系统通信。所述一个或多个输入装置1270允许用户向系统提供输入。这些输入装置可为小键盘、键盘、触控面板、多点触控面板等。可选的其他输入/输出1250可为底座的连接器。Memory 1210 can store data and/or programs for execution by data processing system 1200. Audio input/output 1240 can include a microphone and/or speaker to (for example) play music, and/or provide telephone functionality through the speaker and microphone. Display controller and display device 1260 can include a graphical user interface (GUI). Wireless (e.g., RF) transceiver 1230 (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 1270 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 1250 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 (23)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/268,619 | 2014-05-02 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1234909A1 HK1234909A1 (en) | 2018-02-23 |
| HK1234909B true HK1234909B (en) | 2021-05-21 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106464673B (en) | Enhanced security for authenticating device registration | |
| KR102358546B1 (en) | System and method for authenticating a client to a device | |
| KR102382474B1 (en) | System and method for establishing trust using secure transmission protocols | |
| JP7798572B2 (en) | Systems and methods for efficient challenge-response authentication | |
| CN104969528B (en) | Query system and method for determining authentication functionality | |
| CN106575281B (en) | System and method for implementing hosted authentication services | |
| WO2016044373A1 (en) | System and method for integrating an authentication service within a network architecture | |
| JP7702404B2 (en) | SYSTEM AND METHOD FOR PROTECTION AGAINST MALICIOUS PROGRAM CODE INJECTION - Patent application | |
| HK1234909B (en) | Enhanced security for registration of authentication devices | |
| HK1234909A1 (en) | Enhanced security for registration of authentication devices | |
| HK40081382A (en) | System and method for protection against malicious program code injection | |
| HK40064425A (en) | System and method for efficient challenge-response authentication | |
| HK1236268B (en) | System and method for authenticating a client to a device | |
| HK1236637B (en) | System and method for implementing a hosted authentication service | |
| HK1237157B (en) | System and method for establishing trust using secure transmission protocols | |
| HK1236268A1 (en) | System and method for authenticating a client to a device | |
| HK1236637A1 (en) | System and method for implementing a hosted authentication service | |
| HK1231647A1 (en) | System and method for carrying strong authentication events over different channels | |
| HK1237157A1 (en) | System and method for establishing trust using secure transmission protocols | |
| HK1231647B (en) | System and method for carrying strong authentication events over different channels | |
| HK1237073B (en) | System and method for integrating an authentication service within a network architecture | |
| HK1237073A1 (en) | System and method for integrating an authentication service within a network architecture | |
| HK1236663B (en) | System and method for performing authentication using data analytics |