CN107113175B - 多用户强认证令牌 - Google Patents
多用户强认证令牌 Download PDFInfo
- Publication number
- CN107113175B CN107113175B CN201580071306.9A CN201580071306A CN107113175B CN 107113175 B CN107113175 B CN 107113175B CN 201580071306 A CN201580071306 A CN 201580071306A CN 107113175 B CN107113175 B CN 107113175B
- Authority
- CN
- China
- Prior art keywords
- token
- instance
- user
- authentication token
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3215—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a plurality of channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Lock And Its Accessories (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
Abstract
公开了一种支持与不同用户相关联并且由用户身份验证机制保护的多个实例的强认证令牌。多实例强认证令牌可以适于使用存储在令牌中的特定实例所特有的密码秘密来生成动态凭证。公开了一种使用支持多个实例的强认证令牌来确保能够远程访问的应用安全的方法和系统。公开了一种用于将附加令牌加载到多实例认证令牌中的方法。
Description
本申请涉及并要求于2014年10月31日提交的名称为“A MULTI-USER STRONGAUTHENTICATION TOKEN”的美国临时申请第62/073,457的权益,该申请的内容通过引用并入本文。
技术领域
本发明涉及确保通过计算机网络远程访问计算机和应用以及远程交易安全。更具体地,本发明涉及允许多个用户共享同一强认证令牌以确保访问远程应用安全的方法和设备。
背景技术
随着对计算机系统和应用的远程访问越来越普及,通过诸如因特网的公用网络远程访问的交易的数量和种类显著增长。该普及强调了对安全的要求;特别是:如何确保正远程访问应用的人是他们所声称的人、如何确保正远程进行的交易由合法个体发起、以及如何确保交易数据在被应用服务器处接收到之前未被改变。在本说明书的上下文中,除非另外指出或根据上下文是清楚的,否则应用是指可远程访问的基于计算机的应用,其由一个或更多个应用服务器计算机托管,并且可由与客户端计算设备本地交互的用户远程访问,其中用户的客户端计算设备和一个或更多个应用服务器借助于计算机网络连接。例如,用户可以与运行网络浏览器的个人计算机或智能电话进行交互,其中可以借助于互联网将个人计算机或智能电话与托管应用的网络服务器连接,并且其中网络浏览器和网络服务器可以交换例如超文本传输协议(HTTP)消息。在另一示例中,用户可以与运行在与远程服务器连接的智能电话上的移动应用进行交互。应用可以例如包括网上银行应用。
确保访问远程应用安全的一种方法是使用所谓的强认证令牌。在本说明书的上下文中,强认证令牌(或简称为认证令牌或令牌)是包括能够进行某些密码运算的数据处理装置的紧凑型手持电子设备。该设备适于通过对包括至少一个动态变量的一个或更多个输入执行密码算法来生成代表用户的动态认证凭证,其中密码算法由可与该用户相关联的一个或更多个秘密密码密钥参数化。动态变量可以例如包括时间值(其可以由认证令牌中包括的实时时钟提供),动态变量可以包括可以提供给认证令牌的质询的值(例如输入到认证令牌中的十进制数字串),动态变量可以包括计数器的值,该计数器的值可以由认证令牌维持并且可以例如在每当使用计数器生成凭证时递增(或递减),动态变量可以包括从先前生成的凭证得到的值(其可以例如包括凭证的先前值),动态变量可以包括表示需要被认证的交易的数据,并且动态变量可以包括上述的任何组合。
在令牌仅使用时间、计数器或质询值生成动态认证凭证的情况下,所生成的凭证也可以被称为一次性口令。如果令牌使用交易数据生成动态认证凭证,则动态认证凭证也可以被称为签名或交易数据签名。
强认证令牌可以向用户呈现生成的动态认证凭证,使得用户可以将生成的凭证转发给应用,使得应用可以对凭证进行验证。例如,强认证令牌可以生成由数字串组成的动态认证凭证,并且可以通过将该数字串显示在令牌的显示器上来向用户呈现动态认证凭证。
一些强认证令牌相对简单,并且可以仅提供基本的一次性口令功能,以及可以仅具有只包含单个开/关按钮和用于显示6位的一次性口令的7段显示器的非常有限的用户接口。其他强认证令牌较复杂。例如,一些高端强认证令牌可能能够提供包括在交易数据上生成签名在内的一系列功能,并且所述高端强认证令牌例如可以包括:摄像装置,其用于捕获编码有要签名的相对大量的数据的图像;更强大的数据处理装置,其用于对所捕获的图像进行处理和解码;以及更复杂的用户接口,其能够通过例如图形显示向用户呈现相对大量的数据。
这里包括对本发明的背景技术的讨论以解释本发明的背景。不应将此理解为承认上述任何材料在本申请的优先权日是已公开的、已知的或是公知常识的一部分。
发明内容
技术问题
与比较简单的令牌相比,使用更复杂的高端强认证令牌使得能够以更安全和更用户友好的方式来确保更复杂交易的安全。然而,摄像装置、更强大的数据处理装置和复杂的用户接口往往相对较贵,使复杂的强认证令牌的成本明显高于简单的基本的一次性口令令牌的成本。尽管在安全性和用户友好性方面具有优势,但这种额外的成本可能会抑制高端强认证令牌的广泛采用。
需要的是减少使用这种高端强认证令牌的成本同时保留其使用所提供的优点的方式。
技术方案
本发明基于发明人的以下认识:如果不同的应用用户(例如同一家庭的成员)可以共享同一强认证令牌,则可以明显减少应用的用户使用相对昂贵的高端强认证令牌来确保应用安全的总成本。
此外,本发明还基于发明人的以下认识:如果单个强认证令牌能够包括多个令牌实例,则不同用户可以共享该单个强认证令牌,其中每个实例可以具有其自身的一组密码秘密(或用于确定这样的密码秘密的数据)和用于生成诸如签名和一次性口令之类的动态凭证的参数,并且其中不同的实例可以与不同的用户相关联。
此外,本发明还基于发明人的以下认识:如果强认证令牌将每个单独实例的使用限制于与该实例相关联的合法用户,则可以获得更高级别的安全性。
此外,本发明还基于以下认识:如果使用户可以使用多实例强认证令牌的逻辑处理使得可以在强认证令牌已经被分发给用户之后生成单独的实例和/或将单独的实例分配给特定用户和/或加载到特定令牌中,则这是有利的。
在本说明书的上下文中,术语“用户”可以指自然人,但也可以指代虚拟用户,例如同一自然人可以由多个虚拟用户身份表示。也就是说,不同的用户可以是不同的自然人,但是不同的用户也可以是与同一自然人相对应的不同的虚拟用户身份。
支持多个实例的认证令牌
在本发明的一个方面,提供了一种用于对用户或交易进行认证以确保多个用户与一个或更多个应用之间的交互安全的系统。
在单个认证令牌上的多个实例
在一些实施方式中,单个强认证令牌可以包括多于一个的令牌实例。令牌实例(或简称为实例)可以被理解为包括包含在认证令牌中的与特定用户相关联的所有个性化数据,其中所述个性化数据限定该令牌相比另一用户对于该特定用户而言如何不同作用。特别地,实例可以包括由认证令牌用以针对与该实例相关联的用户生成动态认证凭证的一个或更多个密码密钥,或者实例可以包括下述数据元素,认证令牌可以使用所述数据元素来确定或得到由认证令牌使用以针对与该实例相关联的用户生成动态认证凭证的一个或更多个密码密钥的值。在一些实施方式中,实例还可以包括可以定义属性值的一些参数,例如所生成的动态凭证在呈现给用户之前被编码的方式(例如十进制、十六进制、字母数字、……)、动态凭证中包括多少位、......。在一些实施方式中,实例也可以包括使得认证令牌能够验证用户是否确实是与实例相关联的合法用户的参考数据。例如,在一些实施方式中,实例可以包括PIN参考值或生物特征参考数据集。在一些实施方式中,实例还可以包括与实例的生命周期有关的参数和数据如PIN管理相关数据。这样的参数和数据可以例如包括指示初始PIN是否仍必须更改的标记、指示实例已启用还是阻止的标记、PIN尝试计数器,最大PIN尝试计数器,指示锁定实例是否应自动被删除的参数、PIN解锁码、......。在一些实施方式中,实例还可以包括取决于用户并且可能具有改善用户体验和用户便利性的功能的数据。例如,实例可以包括一些用户相关的消息值或标题(如实例的名称),或者实例可以包括语言偏好指示符,该语言偏好指示符可以向认证令牌指示用户偏好认证令牌支持的多种语言中的哪种语言。在一些实施方式中,实例还可以包括诸如实例序列号的实例标识数据元素(或实例标识符)。在一些实施方式中,这样的实例标识数据元素可以对于整个批次的令牌而言是唯一的。在一些实施方式中,实例标识数据元素可以仅在单个令牌的实例中是唯一的。在一些实施方式中,特定令牌的特定实例的实例标识数据元素和令牌标识数据元素(例如令牌序列号)的组合可以在整个批次令牌中的所有令牌的所有实例中是唯一的。
特定实例中包括的或与特定实例相关联的一些数据元素可以被存储在令牌的存储器的特定区域中(由此该区域可被保留用于存储与该特定实例相关联的数据),并且令牌可以在需要时从与该特定实例相关联的存储器区域取回或读取这些数据元素。实例的其他数据元素不永久地存储在与特定实例相关联的存储器区域中。实例中的一些数据元素由令牌在需要时例如通过使用该实例的其他数据元素来创建或重新创建。由令牌用以获得实例的某些数据元素的这些其他数据元素中的一些数据元素可以存储在令牌的与该实例相关联的存储器区域中并且可以从所述存储器区域读取。例如,在一些实施方式中,可以将与特定实例相关联的密码密钥存储在令牌的被保留用于该特定实例的存储器区域中,并且令牌可以通过从与该实例相关联的存储器区域读取密码密钥来获得该密码密钥(例如,用于生成动态凭证或将消息解密)。在一些实施方式中,可以不将特定实例的特定密码密钥永久地存储在与该实例相关联的存储器区域中,而是可以在令牌需要该特定密码密钥时由令牌通过从该实例的另一数据元素得到该特定密码密钥来获得。例如,在一些实施方式中,令牌可以通过将令牌主密钥与标识特定实例的数据元素(如该实例的序列号)以密码方式组合来得到该特定实例的特定密码密钥。在另一实施方式中,令牌可以通过使用密钥多样化数据元素(其可以例如与令牌将所得到的密码密钥用于的操作类型相关联)从特定实例的另一密码密钥以密码方式得到该特定实例的特定密码密钥来得到所述特定密码密钥。
实例与用户之间的关系
在一些实施方式中,包括多于一个的令牌实例的单个强认证令牌的各个令牌实例可以与不同的用户相关联。在一些实施方式中,同一令牌中包括的每个实例与不同的用户相关联。在一些实施方式中,与同一用户相关联的多个实例可以被包括在同一令牌中。在一些实施方式中,与同一用户相关联的多个实例可以构成用户实例组。在一些实施方式中,同一用户实例组的实例可以共享某些数据元素(例如,用户实例组标识数据元素如用户实例组序列号)。在一些实施方式中,同一用户实例组的实例的一些相应数据元素的值之间可以具有密码关联。例如,在一些实施方式中,同一用户实例组的实例的一个或更多个密码密钥的值可以全都从同一主密钥得到,该主密钥与用户实例组相关联并且可以对另一用户实例组而言具有不同的值。在一些实施方式中,仅单个用户实例组可以与单个用户相关联。在其他实施方式中,多个用户实例组可以与同一用户相关联。在一些实施方式中,令牌可以只包括同一用户实例组中的一个实例,但是可以包括与同一用户相关联的多个实例,前提是这些实例全都属于不同的用户实例组。
在一些实施方式中,任何令牌上的每个实例是唯一的,即同一实例可以仅被包括在一个单个令牌中。在其他实施方式中,同一实例的多个拷贝可以存在于多于一个的不同的令牌上。在一些实施方式中,同一实例的多个拷贝可以与同一用户相关联。在一些实施方式中,可以被包括在不同令牌中的多个实例可以与同一用户相关联并且可以共享某些数据值和属性。在一些实施方式中,不同令牌中包括的并且与同一用户相关联的多个实例可以共享某些数据和属性的值但是可以对于其他数据和属性而言具有不同的值。例如,在一些实施方式中,与同一用户相关联的多个实例可以被包括在不同的令牌中,并且所有这些实例可以共享同一密码密钥但是可以具有不同的PIN或口令参考值和/或不同的PIN尝试计数器。
多应用支持
在一些实施方式中,令牌上的所有实例与同一应用有关。在其他实施方式中,令牌可以包括与不同应用有关的实例。
在一些实施方式中,任何实例可以与仅单个应用或单个应用集相关联,并且实例可以和与该实例相关联的应用或应用集共享其动态凭证生成密钥。
实例生命周期
创建和分配实例
在一些实施方式中,强认证令牌可以包括多个实例,这些实例在令牌被提供给终端用户之前(例如由应用)被创建并加载到强认证令牌中。在这样的实施方式中,可以在向假定共享强认证令牌的终端用户组(组中的一个成员)提供特定强认证令牌之前将特定强认证令牌的各个预加载实例分配给终端用户组的各个成员(例如家庭成员)。在其他实施方式中,一个实例被分配给终端用户组的第一成员,并且在令牌被提供给第一成员之后,组中的后面的成员可以登记并且在登记时可以将尚未分配的实例分配给每个后面登记的成员并且与每个后面登记的成员相关联。
替选地,在一些实施方式中,可以在不将任何实例加载到令牌的情况下将令牌分发给终端用户。当特定用户想要使用特定令牌时,用户可以将与该用户相关联的特定实例加载到该特定令牌中。在一些实施方式中,可以将(与特定用户相关联)的同一实例加载到多个不同的强认证令牌中。在其他实施方式中,可以仅将特定令牌实例加载到单个强认证令牌中。
在一些实施方式中,当将特定实例分配给特定用户时,该实例或实例数据的至少一部分通过应用与该用户相关联,并且应用可以将该关联存储在数据库中。例如,在实例分配时,应用可以将使分配了该实例的特定用户与可以使得应用能够取回或确定一个或更多个密码凭证验证密钥的数据关联的关系存储在数据库中,应用可以使用所述一个或更多个密码凭证验证密钥对包括该实例的令牌可以针对该实例生成的动态凭证进行验证。
在一些实施方式中,应用具有未分配实例(即尚未被分配给特定用户的实例)池,当需要将实例分配给用户时应用可以从该实例池选择实例并且将所选实例分配给用户。在一些实施方式中,这些未分配实例可以全都由实例提供商生成,该实例提供商可以将一批未分配实例提供给应用所有者。在一些实施方式中,作为实例提供商的一方也可以是负责制造令牌的一方。在其他实施方式中,当需要将实例分配给用户时,应用可以生成要分配给该用户的新实例。
将实例加载到令牌中
在一些实施方式中,可以将实例加载到令牌中作为制造令牌的一部分。在一些实施方式中,可以在制造出令牌并且将令牌分发给用户之后将实例加载到令牌中。
在一些实施方式中,将实例加载到令牌中可以包括将一个或更多个实例加载消息或命令提供给令牌。在一些实施方式中,可以由用户使用令牌的手动用户输入接口例如键盘将这种实例加载消息或命令手动输入到令牌中。在一些实施方式中,实例加载消息或命令可以包括可以借助于令牌的数字数据输入接口提供给令牌的数字消息或命令。例如,在一些实施方式中,可以将实例加载消息或命令编码成二维条形码,该二维条形码可以由令牌中包括的数字摄像装置捕获并且随后可以由令牌将该二维条形码解码。
在一些实施方式中,实例加载消息或命令可以被以密码方式保护。在一些实施方式中,可以使用密码算法和密码实例加载密钥来保护实例加载消息或命令。例如,在一些实施方式中,可以通过使用由密码实例加载密钥参数化的加密算法来(整体地或部分地)对实例加载消息或命令加密。在一些实施方式中,令牌可以适于使用由密码实例加载密钥参数化的解密算法将实例加载消息或命令中包括的加密内容解密。在一些实施方式中,实例加载消息或命令可以包括对所述消息或命令的内容的至少一部分的消息认证码(MAC)或签名,以对实例加载消息或命令的源进行认证。在一些实施方式中,令牌可以适于使用由密码实例加载密钥参数化的密码算法对实例加载消息或命令中包括的MAC或签名进行验证。在一些实施方式中,用于确保实例加载消息或命令安全的密码算法可以包括对称密码算法例如诸如DES(数据加密标准)或AES(高级加密标准)的对称加密/解密算法,或者诸如HMAC(基于散列的消息认证码)的带密钥散列算法。例如,在一些实施方式中,对称加密/解密算法可以用于将实例加载消息或命令加密/解密。在一些实施方式中,可以使用对称加密算法来生成和/或验证MAC。在一些实施方式中,可以使用带密钥散列算法来生成和/或验证MAC。
在一些实施方式中,可以在应当加载实例的令牌与发出实例加载消息或命令的应用之间共享密码实例加载密钥。在一些实施方式中,实例加载密钥可以与单个令牌相关联。在一些实施方式中,实例加载密钥可以与一批令牌相关联并且可以由同一批次的所有令牌共享。
在一些实施方式中,设备可以仅支持某一最大数量的实例。当已经加载了最大数量的实例并且用户试图加载额外的实例时,令牌可以向用户通知已达到加载实例的最大数量,并且可以向用户建议移除所加载的实例中的一个实例来为另一实例腾出空间。
多应用支持
在一些实施方式中,实例的加载可以在令牌控制方的控制下进行,并且实例的加载可能需要令牌控制方的许可和/或协作。在一些实施方式中,令牌控制方与应用提供商一致,并且仅与该应用提供商所提供的一个或更多个应用有关的实例可以被加载到令牌中。在一些实施方式中,令牌控制方可以允许加载与不同应用提供商有关的实例。例如,在一些实施方式中,令牌控制方可以向多个应用提供商提供工具和密码密钥以加载和管理与其应用有关的实例。在一些实施方式中,应用提供商可以用以加载和管理与该应用提供商有关的实例的密码密钥的值与其他应用提供商所使用的相应密钥的值不同。
移除实例
在一些实施方式中,令牌可以适于支持移除不再需要的或已经废弃的实例(例如已被锁定并且不可以再被解锁的实例)的可能性。
在一些实施方式中,令牌上的实例的移除可以由令牌接收实例移除消息或命令来发起。在一些实施方式中,令牌上的实例的移除可以由用户在令牌上(例如经由令牌提供的菜单)手动选择要移除的实例来发起。
在一些实施方式中,实例仅可以在令牌验证了用户的身份之后被移除。在一些实施方式中,实例仅可以在令牌验证了与该实例相关联的用户的身份之后被移除。在一些实施方式中,主用户(其例如可以是分配了令牌上的实例的第一用户)可以与令牌相关联,并且在令牌验证了主用户的身份之后,该令牌还可以允许移除与其他用户相关联的实例。
在一些实施方式中,实例的移除不需要验证用户的身份。
在一些实施方式中,实例的移除要求令牌接收到针对要移除的实例的实例移除消息或命令。在一些实施方式中,这样的实例移除消息或命令被以密码方式保护。例如,在一些实施方式中,令牌可以适于以密码方式验证实例移除消息或命令是由有权指示令牌移除实例的应用生成或发出的。例如,在一些实施方式中,实例移除消息可以被加密或者可以包括消息认证码。在一些实施方式中,应用可以使用具有第一密码实例移除密钥的密码算法来确保实例移除消息安全。在一些实施方式中,令牌可以使用具有第二密码实例移除密钥的密码算法对实例移除消息进行验证。在一些实施方式中,应用和令牌可以共享密码实例移除密钥。在一些实施方式中,密码实例移除密钥可以与令牌相关联。在一些实施方式中,密码实例移除密钥可以与实例相关联。
在一些实施方式中,令牌可以支持一次移除令牌的所有实例的可能性。例如,在一些实施方式中,令牌可以支持移除所有实例的总实例移除消息或命令。在一些实施方式中,这样的总实例移除消息或命令可以通过使用密码总实例移除密钥来以密码方式保护,该密码总实例移除密钥可以与令牌相关联并且可以与发出或生成总实例移除消息或命令的应用共享。
在一些实施方式中,令牌可以适于自动移除被锁定的实例(关于锁定实例的更多信息,参见本说明书中其他地方)。
选择特定实例
当例如用户想要使用包括多于一个的令牌实例的强认证令牌来生成认证凭证(如一次性口令或交易数据签名)时,则必须以某种方式选择与用户相关联的必须要使用其生成凭证的正确实例。同样对于涉及特定实例的其他操作(如将特定实例的锁定PIN或口令解锁、或更改特定实例的PIN或口令、或者移除废弃的特定实例),可能必须选择作为操作目标的正确实例。在一些实施方式中,如果令牌仅包括单个实例,则令牌可以自动地选择该单个实例。
手动选择
在一些实施方式中,强认证令牌可以包括使得用户能够明确选择特定实例的机制。例如,在一些实施方式中,强认证令牌可以提供诸如列表框或菜单的机制,其向用户(例如经由令牌显示器)呈现实例标识符的列表,并允许用户(例如经由令牌用户输入设备)选择所呈现的实例标识符中的一个实例标识符,由此所呈现的实例标识符中的每一个可以与存在于强认证令牌上的实例中的一个实例相关联,并且由此用户选择特定实例标识符可以具有选择与该特定实例标识符相关联的实例的效果。在一些实施方式中,实例可以包括实例标识符。
自动选择
在一些实施方式中,涉及特定实例的令牌操作或令牌功能可以通过各种令牌命令来发起。在一些实施方式中,这些令牌命令可以被嵌入在可被提供给令牌的令牌消息中。在一些实施方式中,可以构建消息或命令,并且认证令牌可以适于使得接收消息或命令的认证令牌可以根据消息或命令的内容推断所接收到的消息或命令的目标实例。
自动显式选择
在一些实施方式中,令牌命令或嵌入有令牌命令的令牌消息可以包括使得令牌能够确定该命令或消息所针对的特定实例的数据元素。例如,在一些实施方式中,针对特定实例的令牌消息或令牌命令可以包括可以与目标实例的实例标识符匹配的实例标识数据元素。在接收到令牌消息或令牌命令时,令牌可以从消息或命令取回实例标识数据元素,并且将所取回的实例标识数据元素与令牌中存在的实例的实例标识符进行比较。如果令牌在消息或命令的所取回的实例标识数据元素之间找到匹配,则令牌可以选择与所匹配的实例标识符相关联的实例,并且根据消息或命令的内容作用于所选实例。在一些实施方式中,实例标识数据元素对于系统中的所有令牌实例而言是唯一的。在一些实施方式中,实例标识数据元素仅对于单个令牌中的所有令牌实例而言是唯一的。例如,在一些实施方式中,用于标识和选择命令或消息所针对的特定令牌的实例的标识数据元素可以由与同一用户相关联的所有实例共享,但任何令牌可以包括与同一用户相关联的不多于一个实例。
自动隐式选择
在一些实施方式中,所接收到的消息或命令可能已被以密码方式保护,并且对消息或命令的处理可能需要令牌使用与所述消息或命令的目标实例相关联的密码消息密钥来执行密码操作。在一些实施方式中,令牌可以从特定实例取回与该特定实例相关联的密码消息密钥。在其他实施方式中,令牌可以根据从特定实例取回的或以其他方式与该实例相关联的数据来确定或者得到与特定实例相关联的密码消息密钥。在一些实施方式中,认证令牌可以适于验证密码操作是否成功。例如,在一些实施方式中,可以使用目标实例的密码消息密钥(例如通过应用)对消息的至少一部分内容进行加密,并且上述密码操作可以包括令牌使用与特定实例相关联的密码消息密钥将加密的内容解密。然后,令牌可以验证解密的内容是否满足特定预定条件。例如,令牌可以验证解密的内容是否遵循某些语法规则或某些数据字段是否存在或某些数据字段的值是否正确。例如,令牌可以验证解密的内容是否包括循环冗余码(CRC)以及该CRC的值是否对应于解密内容的其余部分。如果令牌确定解密的内容确实满足预定的条件,则该令牌可以认为密码操作成功。在其他实施方式中,消息或命令可以包括消息认证码(MAC),该消息认证码可以通过本领域公知的用于生成MAC的技术使用目标实例的密码消息密钥来生成,并且令牌可以适于通过本领域公知的用于验证MAC的补充技术使用特定实例的密码消息密钥来验证该MAC。
在一些实施方式中,如果使用与消息或命令的目标实例所关联的值不同的密码消息密钥的另一值来执行密码操作,则密码操作不成功的统计概率较高。在一些实施方式中,认证令牌可以在接收到消息或命令时,使用与令牌中包括的各个实例相关联的密码消息密钥来执行密码操作。如果使用特定实例的密码消息密钥进行的密码操作成功,则令牌可以断定这是消息或命令的目标实例,并且令牌可以选择该实例并且可以执行或发起与所述消息或命令相关联的功能或操作。在一些实施方式中,如果在使用所有实例的密码消息密钥下密码操作失败,则令牌可以向用户呈现出错消息。
密钥管理
在一些实施方式中,令牌可以包括和/或使用各种密码密钥与各种密码算法。例如,令牌可以使用第一密码密钥以生成代表特定用户的认证凭证,或者可以使用第二密码密钥以确保实例加载的安全,或者可以使用第三密码密钥以确保将锁定的实例解锁的安全,或者可以使用第四密码密钥以确保针对特定实例的消息安全,或者可以使用第五密码密钥以生成或得到另一密码密钥。
与一批令牌相关联的密钥
在一些实施方式中,可以由令牌使用的一些密码密钥对于一批令牌中的所有令牌而言可以具有同一值。例如,在一些实施方式中,一批令牌中的所有令牌可以共享主密钥的同一值,令牌可以使用该主密钥得到其他密钥。
与特定令牌相关联的密钥
在一些实施方式中,由令牌使用的密码密钥中的一些密码密钥可以与特定令牌相关联,即每个令牌具有其自身的对于这样的密钥的值,并且该值可以是唯一的。在一些实施方式中,该值可以在绝对意义上是唯一的,即任何特定密钥的任何特定值可以仅出现在一个单个令牌中。例如,在一些实施方式中,可以通过使用秘密主密钥对唯一令牌序列号进行加密而生成一些密码密钥的值。在其他实施方式中,该值可以仅在统计意义上是唯一的,即对特定密钥在一个令牌中的值的知悉不增加能够获得该密钥在另一令牌中的值的实际机率。例如,在一些实施方式中,可以通过真随机数生成器来生成一些密码密钥的值。
与特定实例相关联的密钥
在一些实施方式中,由令牌使用的密码密钥中的一些密码密钥可以与令牌中包括的特定实例相关联,即,对于这样的密钥,每个实例具有其自身的值,并且该值可以在绝对意义或统计意义上是唯一的。在一些实施方式中,除了同一实例的多于一个的拷贝可以存在于不同的令牌中并且这些多于一个的拷贝对于与该实例相关联的密钥而言可以共享同一值之外,这些实例密钥是唯一的。在一些实施方式中,除了实例密钥的同一值可以由都与同一用户相关联的多于一个的实例共享之外,这些实例密钥是唯一的。在一些实施方式中,与特定实例相关联的密钥可以包括一个或更多个凭证生成密钥、和/或解锁密钥、和/或一个或更多个安全消息收发密钥。在一些实施方式中,可以将与特定实例相关联的各个密钥中的至少一些密钥存储作为实例数据的一部分。在一些实施方式中,可以由令牌使用存储在特定实例中的或与特定实例相关联的数据来确定或得到与特定实例相关联的各个密钥中的至少一些密钥。例如,在一些实施方式中,可以由令牌根据与令牌相关联的主密钥和与特定实例相关联(可以被存储在实例中)的数据元素例如实例标识符或实例标识数据元素来得到与该实例相关联的一个或更多个密钥。
在其他实施方式中,可以由令牌根据与特定实例相关联的主实例密钥(并且其可以被存储在实例中或这反过来又可以从例如令牌主密钥得到)和多样化值例如密钥类型指示符值来得到与该特定实例相关联的一个或更多个密钥。
令牌或实例消息或命令
在一些实施方式中,令牌可以适于接收或处理消息或命令。在一些实施方式中,一些消息或命令可以指向或针对作为整体的令牌(例如加载额外实例的消息)。在一些实施方式中,一些消息或命令可以指向或针对令牌中包括的特定实例(例如用于将锁定的实例解锁的消息或命令,或者用于发起使用特定实例来生成动态凭证的消息或命令)。
确保消息或命令的安全
在一些实施方式中,一些消息或命令可以被以密码方式保护。在一些实施方式中,可以将一些消息或命令以密码方式保护,以保护包含在消息或命令中的数据的机密性。在一些实施方式中,可以将一些消息或命令以密码方式保护,以确保消息或命令的完整性。在一些实施方式中,可以将一些消息或命令以密码方式保护,以证明消息或命令的真实性。在一些实施方式中,可以将一些消息或命令的至少一些内容加密例如以提供包含在消息或命令中的敏感数据的机密性,并且令牌可以适于将加密的内容解密。在一些实施方式中,令牌可以适于对一些消息或命令的源进行认证。例如,在一些实施方式中,一些消息或命令可以包括签名或MAC,并且令牌可以适于对签名或MAC进行验证。
在一些实施方式中,可以使用对称密码算法来以密码方式保护一些消息或命令。在一些实施方式中,这些对称密码算法可以使用对称密码密钥。在一些实施方式中,可以从对特定实例而言为唯一的秘密得到用于保护消息或命令的密码密钥。在一些实施方式中,可以从对特定令牌而言为唯一的秘密得到用于保护消息或命令的密码密钥。在一些实施方式中,可以从在特定实例组的所有实例之间共享(这样的组例如可以仅包括与同一用户相关联的实例)并且不为不属于该特定组的实例所知的秘密得到用于保护消息或命令的密码密钥。在一些实施方式中,可以从在所有实例之间或在一批实例的所有实例(例如与特定应用相关联的所有实例)之间共享的秘密得到用于保护消息或命令的密码密钥。
消息或命令的类型
在一些实施方式中,可以有用于各种目的的多种类型的消息或命令。在一些实施方式中,消息或命令可以包括指示消息或命令的类型、功能或目的的数据元素。
一些消息或命令可以用于将实例加载到令牌中。一些消息或命令可以用于将锁定的实例解锁。一些消息或命令可以用于移除实例。一些消息或命令可以用于发起生成动态凭证。
向令牌提供消息或命令
在一些实施方式中,可以由用户手动地(例如,由用户例如在令牌的键盘上输入对消息或命令进行编码的字符串)将一些消息或命令提供给令牌。在一些实施方式中,可以以数字格式对消息或命令进行编码,并且可以借助于令牌的数字数据输入接口将数字消息或命令提供给令牌。在一些实施方式中,用于将消息或命令提供给令牌的数字数据输入接口可以支持双向通信。例如,数字数据输入接口可以包括诸如USB(通用串行总线)的有线数据通信接口,或者数字数据输入接口可以包括诸如蓝牙的无线数据通信接口。在其他实施方式中,用于将消息或命令提供给令牌的数字数据输入接口可以仅支持朝向令牌的单向通信。例如,在一些实施方式中,令牌可以包括用于捕获数字图像的数字摄像装置,并且消息或命令可以被编码为图像(例如,为诸如QR码的二维条形码的形式),并且令牌可以适于捕获编码有消息或命令的图像并且可以适于将这些图像解码以取回消息或命令。
确定消息的目标
在一些实施方式中,用户可以帮助令牌确定消息或命令的目标。例如,在一些实施方式中,用户可以手动地选择目标实例(在接收到消息或命令之前或之后)。
在一些实施方式中,令牌可以适于自主地确定所接收到的消息或命令的目标。在一些实施方式中,消息或命令可以包括明确指示消息或命令的预期目标的数据元素。例如,在一些实施方式中,消息或命令可以包括目标标识数据元素如令牌序列号和/或实例序列号。在一些实施方式中,可以以隐式方式指示消息或命令的目标。例如,在一些实施方式中可以以密码方式保护消息或命令,并且令牌可以适于通过应用可以由密码验证密钥参数化的密码算法来对所接收到的消息或命令执行密码验证,该密码验证密钥可以与消息的候选目标相关联。在一些实施方式中,如果令牌使用与预期目标相对应的验证密钥的值来执行验证,则验证预期会成功,并且如果令牌使用验证密钥的另一值来执行验证,则该验证预期会失败。在一些实施方式中,令牌可以通过做出候选目标的列表并且逐个使用与各候选目标对应的不同的验证密钥值执行对所接收到的消息或命令的密码验证来确定消息或命令的目标。如果令牌发现对于特定候选目标验证成功,则令牌可以断定该候选目标是消息或命令的预期目标。如果对于所有候选目标验证失败,则令牌可以拒绝该消息或命令并且生成出错状态。
将实例的使用保留给实例的合法用户
在一些实施方式中,强认证令牌可以适于确保仅与特定实例相关联的合法用户可以有效使用该特定实例。
为了确保仅与特定实例相关联的合法用户可以使用该特定实例来生成认证凭证,强认证令牌可以适于在用户试图使用特定实例时对用户进行验证,更具体地,强认证令牌可以适于验证试图使用特定实例的用户是否对应于与该特定实例相关联的用户。在一些实施方式中,令牌可以向用户提示呈现某种类型的用户凭证,并且目标实例(即用户正在试图使用的实例)可以包括一些用户凭证参考数据,该强认证令牌可以将所述用户凭证参考数据与用户所提供的用户凭证进行比较。如果所提供的用户凭证与实例用户凭证参考数据之间的比较产生匹配,则令牌可以授权用户访问实例,否则令牌可以拒绝用户访问该实例。例如,在一些实施方式中,强认证令牌可以提示用户输入PIN或口令值,并且可以将输入的PIN或口令值与包含在用户想要使用的实例的实例数据中的PIN或口令参考值(这例如可以包括PIN或口令的正确值或该正确值的散列值)进行比较。在其他实施方式中,强认证令牌例如可以具有指纹传感器并且可以适于捕获指纹读取并且将捕获的指纹读取与目标实例中包括的一组生物特征指纹参考数据进行比较。
PIN管理
初始化PIN或口令或生物特征参考数据
在一些实施方式中,将认证令牌用以验证特定实例的用户的参考数据加载到令牌中作为其他实例数据的一部分。
在一些实施方式中,新的实例起初并不包括用于用户验证的参考数据。替代地,在一些实施方式中,可以在首次使用特定实例期间向该实例的用户提示提供用户今后在用户验证中使用的PIN或口令的值至少一次,并且令牌可以存储与用户所提供的供令牌在随后的用户验证中使用的一个或更多个值有关的参考值。在一些实施方式中,特定实例的用户可能必须经过生物特征登记阶段,在此期间令牌获取用户的特定生物特征(例如指纹)的一个或更多个捕获,并且根据这些生物特征捕获来构建令牌可以在随后的针对此实例的用户验证中使用的生物特征参考数据。
在一些实施方式中,新的实例由用户验证参考数据的初始值(其可以与其他实例数据一起加载或被加载作为其他实例数据的一部分)初始地保护,并且令牌可以适于在基于这些初始用户验证数据的首次成功用户验证之后向用户提示提供用于该实例的新的用户验证参考数据。在一些实施方式中,可以通过实例中的数据元素如“首次使用修改”标记来指示令牌是否必须在首次使用特定实例时向用户提示提供用于该实例的新的用户验证参考数据。在一些实施方式中,可以针对初始不具有用户验证参考数据的实例以如上所述相同的方式获取新的用户验证参考数据。例如,在一些实施方式中,当将新的实例加载到认证令牌中时,被加载的实例数据包括PIN或口令的初始值的参考数据和指示PIN或口令还具有其初始值的标记。当用户想要首次使用该实例时,令牌首先使用初始PIN或口令参考数据对用户进行验证,并且在成功验证了用户之后,令牌可以向用户提示提供新的PIN或口令值。令牌也可以向用户提示第二次提供该新的PIN或口令值作为确认。然后,令牌可以使用新的PIN或口令的参考值来替换初始参考值。
PIN或口令更改
在一些实施方式中,认证令牌可以允许特定实例的用户更改该实例的PIN或口令。例如,在一些实施方式中,令牌可以具有在用户验证成功之后允许用户提供新的PIN或口令值的功能。在一些实施方式中,令牌可以要求用户提供新的PIN或口令的同一值多于一次以便被接受。
本地发起的PIN更改
在一些实施方式中,可以在认证令牌上本地发起对特定实例的PIN更改。例如,在一些实施方式中,认证令牌可以提供用于发起PIN更改的菜单选项。在一些实施方式中,用户必须首先选择必须更改PIN或口令的实例,然后用户可以选择PIN更改功能。在一些实施方式中,令牌可以在用户可以选择PIN更改功能之前针对所选实例对用户进行验证。在一些实施方式中,令牌可以在PIN更改功能被选择之后(例如作为PIN更改功能的一部分)针对所选实例对用户进行验证。在其他实施方式中,用户必须首先选择PIN更改功能,然后选择应更改PIN或口令的实例。
应用发起的PIN更改
在一些实施方式中,想要更改特定实例的PIN或口令的用户可以与应用交互,并且向应用指示他或她想要更改PIN或口令。在一些实施方式中,应用可以接着构建PIN更改命令或消息,所述命令或消息然后可以被传送给令牌以发起PIN更改功能。在一些实施方式中,如在本说明书的其他地方更总体和更详细地说明的那样,PIN更改命令或消息也可以由令牌使用以确定和选择应更改PIN或口令的实例。在一些实施方式中,在使PIN更改消息或命令可用之前,应用可以要求用户被该应用成功认证。例如,应用可以要求用户提供使用用户想要更改PIN或口令的实例生成的凭证(这在一些实施方式中可能隐含用户被该实例的令牌成功验证)。在一些实施方式中,PIN更改命令或消息可以向令牌隐式地或显式地指示,所述用户已被应用成功认证并且令牌可以不再需要针对目标实例对用户进行附加的用户验证。
锁定特定实例的PIN或口令
在一些实施方式中,认证令牌可以针对一个或更多个实例禁用用户验证机制,并且锁定这些实例。在一些实施方式中,这可以发生在特定条件满足之后。例如,在一些实施方式中,认证令牌可以在用户验证连续失败的次数超出某一阈值之后禁止对特定实例的用户验证并且阻止访问该实例。例如,在一些实施方式中,认证令牌可以在连续输入了三个错误的PIN或口令值时禁止对特定实例的PIN或口令验证并且可以阻止访问该实例。
在一些实施方式中,当PIN或口令或其他用户验证机制被锁定时,认证令牌可以自动移除实例。在一些实施方式中,当实例被锁定和移除时,可以生成新的实例并且将新的实例加载到令牌中以取代被移除的实例。
对特定实例的PIN或口令解锁
在一些实施方式中,认证令牌可以具有将特定的锁定实例解锁的解锁机制。在一些实施方式中,当特定的锁定实例被解锁时,用户可以再次使用该实例的旧PIN或口令。在其他实施方式中,当特定的锁定实例被解锁时,需要用户提供该实例的PIN或口令的新值,并且令牌将使用与该新值相对应的新的用户验证参考数据来取代该实例的旧的用户验证参考数据。
本地发起的解锁
在一些实施方式中,可以在认证令牌上本地发起对特定实例的解锁操作。例如,在一些实施方式中,认证令牌可以提供用于发起解锁操作的菜单选项。在一些实施方式中,用户必须首先选择用户想要解锁的实例,然后用户可以选择解锁功能。在其他实施方式中,用户必须首先选择解锁功能,然后选择应解锁的实例。在一些实施方式中,如果令牌包括仅一个锁定实例,则当用户选择解锁功能时该实例被自动地选择。
应用发起的解锁
在一些实施方式中,想要将特定的锁定实例解锁的用户可以与应用交互,并且向应用指示他或她想要解锁实例。在一些实施方式中,应用可以接着(可能在一些条件满足之后)构建解锁命令或消息,所述命令或消息然后可以被传送给令牌以发起解锁功能。在一些实施方式中,如在本说明书的其他地方更总体和更详细地说明的那样,解锁命令或消息也可以由令牌使用以确定和选择要解锁的实例。在一些实施方式中,在使解锁命令可用之前,应用可以要求用户被该应用成功认证。例如,应用可以要求用户借助于与使用认证令牌的锁定实例不同的替选认证方法来进行认证。例如,在一些实施方式中,用户可能必须到银行分支机构并且使用身份文件物理地进行认证,在此之后用户可以接收到针对锁定实例的解锁命令。在一些实施方式中,解锁命令或消息可以向令牌隐式地或显式地指示,用户已被应用成功认证并且令牌可以在不需要针对目标实例对用户进行附加用户验证的情况下将目标锁定实例解锁。
PUK
在一些实施方式中,实例可以包括PUK(PIN解锁码)的参考值。当实例被锁定时,用户可以提供PUK的值。然后令牌可以将由用户提供的PUK值与存储在实例中的PUK参考值进行比较,并且如果存在匹配则令牌可以将实例解锁。在一些实施方式中,特定实例的PUK值仅可以被使用一次用于将特定实例解锁。如果之后实例被再次锁定,则不能够第二次使用该PUK值将实例再次解锁。在一些实施方式中,实例可以具有多个PUK,由此可以逐个使用不同的PUK。
应用生成的解锁码
在一些实施方式中,应用可以生成用于锁定的实例的解锁码。当这样的应用生成的解锁码被传递给令牌时,令牌可以对应用生成的解锁码进行验证。在一些实施方式中,应用可以使用由密码密钥参数化的密码算法来生成应用生成的解锁码。在一些实施方式中,令牌可以使用由密码密钥参数化的密码算法来对应用生成的解锁码进行验证,该密码密钥可以由令牌从实例取回或者由令牌使用来自实例的数据确定或得到。例如,在一些实施方式中,锁定的实例可以生成解锁质询值。令牌可以将解锁质询呈现给用户。令牌可以例如在实例被锁定或每当选择了锁定的实例时呈现解锁质询。在一些实施方式中,令牌可以连同解锁质询向用户呈现其他数据,例如邀请用户联系应用的服务台的消息、和/或实例标识数据元素(例如实例序列号)、和/或令牌标识数据元素(例如令牌序列号)。用户可以将解锁质询值提供给应用。应用可以(例如借助于一些替选认证方法)确定用户是否是与锁定实例相关联的合法用户,并且可以确定锁定实例是否可以被解锁。然后,应用可以通过将解锁质询与第一密码解锁密钥以密码方式组合来生成解锁响应。然后,可以将所生成的解锁响应提供给令牌。令牌可以通过使用对解锁质询和解锁响应进行操作并且由密码解锁实例密钥参数化的密码算法来验证解锁响应,该密码解锁实例密钥可以由令牌从实例取回或者可以根据令牌从实例取回的数据得到。
例如,在一些实施方式中,为了生成解锁响应,应用可以使用由解锁加密密钥参数化的密码加密算法对质询进行加密,或者应用可以生成质询和解锁秘密的组合的散列。在应用通过使用第一密码解锁密钥对由用户提供的质询进行加密而生成解锁响应的情况下,令牌可以通过使用实例的密码解锁密钥的拷贝将解锁响应解密来验证解锁响应,并且可以将解密的结果与原质询值(其例如可以被存储在实例中)进行比较,并且如果匹配则可以将实例解锁。另一方面,如果应用通过对用户所提供的质询和第一密码解锁密钥的组合进行散列而生成解锁响应,则令牌可以通过对原质询和实例的密码解锁密钥的拷贝的组合进行散列来验证解锁响应,并且可以将所得散列与接收到的解锁响应进行比较,并且如果匹配则可以将实例解锁。
例如,在一些实施方式中,实例可以包括可以用作密码解锁实例密钥并且可以与解锁应用共享的密码密钥。该密钥可以与基于服务器的解锁应用共享。当由于用户在一行中输入错误的PIN或口令太多次导致实例被锁定时,令牌可以生成随机或伪随机值,并且在实例中将该值存储作为解锁质询。每当实例被选择或做出了试图发起涉及实例的动作时,令牌可以向用户通知此实例已被锁定,并可以向用户呈现解锁质询(例如为字符串或数字串的形式,由此字符或数字可以为例如字母数字或十进制的)。然后,用户可以联系解锁应用。在解锁应用验证了满足允许对实例进行解锁的所有条件(这可以包括以一些替选方式对用户进行认证)之后,应用可以生成解锁响应码(例如如上所述)以及包括所生成的解锁响应码的解锁消息。然后,可以将解锁消息提供给令牌。然后,令牌可以选择解锁消息所针对的锁定实例。然后,令牌可以对解锁消息中包括的解锁响应码进行验证。当解锁响应码验证成功时,令牌可以将锁定实例解锁。
重新加载锁定实例
在一些实施方式中,可以通过重新加载锁定实例将锁定实例解锁。在一些实施方式中,重新加载的实例可以与最初加载的实例相同。在其他实施方式中,重新加载的实例的一些数据元素相比于最初加载的实例中的对应值可以具有不同的值(例如,可以用于生成动态凭证的秘密的值或用户验证参考数据的初始值)。
生成动态凭证
令牌可以适于通过将动态变量与密码秘密以密码方式进行组合来生成动态凭证。在一些实施方式中,令牌可以适于通过将动态变量与包括与加载到令牌中的实例相关联的一个或更多个凭证生成密钥的密码秘密以密码方式进行组合来生成动态凭证。在一些实施方式中,可以将凭证生成密钥存储在实例中。在一些实施方式中,令牌通过使用存储在实例中的数据来确定凭证生成密钥的值。动态变量可以包括由令牌内部生成的值例如实时时钟的值或存储在实例中的计数器的值,并且每当令牌使用该计算器的值或之前由令牌针对实例生成的并且存储在实例中的动态凭证的值来生成动态凭证时,动态变量会自动递增(或递减)。动态变量也可以包括由令牌接收的外部生成的值例如由应用服务器生成的质询或需要被签名并且已被提供给令牌的交易数据。动态变量也可以包括内部生成值和外部生成值的任何组合。例如,为了防止对交易数据签名的重放攻击,令牌可以使用包括交易数据和由令牌的时钟提供的时间值的组合的动态变量。在令牌仅使用内部生成值用于动态变量的情况下,可以将动态变量称为内部动态变量,并且可以将生成的动态凭证称为“一次性口令”。在令牌使用包括外部生成的质询的动态变量的情况下,可以将生成的动态变量称为“响应”。在令牌使用包括交易数据的动态变量的情况下,可以将生成的动态凭证称为“交易数据签名”或简称为“签名”。
在一些实施方式中,令牌可以适于将生成的动态凭证呈现给用户。在一些实施方式中,用户可以将呈现的动态凭证转发给服务器进行验证。在一些实施方式中,令牌可以以视觉方式(例如通过使用显示器)将动态凭证呈现给用户。在一些实施方式中,令牌可以以听觉方式(例如通过使用扬声器)将动态凭证呈现给用户。在一些实施方式中,可以以字符串的格式对所呈现的动态凭证进行编码。在一些实施方式中,串可以仅包括十进制字符。在一些实施方式中,串可以包括字母字符。在一些实施方式中,串可以包括来自非字母书写系统的字符(例如中文字符)。
用于使用多实例令牌对用户或交易进行认证的方法
在本发明的一个方面,提供了一种用于对用户或交易进行认证或用于确保多个用户与一个或更多个应用之间的交互安全的系统。
在一些实施方式中,根据本发明的方法可以包括以下步骤。
如在本说明书的其他地方更详细描述的那样,在多个用户之间分发多个令牌。
将这些用户中的至少一个用户与至少一个实例相关联。
如在本说明书的其他地方更详细描述的那样,将实例加载到至少一个令牌中。
如在本说明书的其他地方更详细地描述的那样,在令牌处生成用于加载的实例的动态凭证。
在应用处接收所生成的动态凭证。
验证接收到的动态凭证的有效性。
取决于验证步骤的结果,在应用处采取适当的动作。
用于借助于多实例令牌对用户或交易进行认证的系统。
在本发明的一个方面,提供了一种用于对用户或交易进行认证或用于确保多个用户与一个或更多个应用之间的交互安全的系统。
在一种实施方式中,根据本发明的系统可以包括以下部件。
一个或更多个应用服务器计算机。一个或更多个应用服务器计算机可以托管能够由多个用户远程访问的一个或更多个应用。应用服务器计算机例如可以包括网络服务器。一个或更多个应用可以在一个或更多个应用提供商的控制下。
多个客户端计算设备,其可以使得多个用户中的一个或更多个用户能够远程访问一个或更多个应用。客户端计算设备例如可以包括PC(个人计算机)、平板计算机或智能电话。
计算机网络,其连接一个或更多个应用服务器计算机和多个客户端计算设备。在一些实施方式中,计算机网络可以包括互联网。在一些实施方式中,计算机网络可以包括公用电话网。在一些实施方式中,计算机网络可以包括无线电话网。
如在本说明书的其他地方更详细描述的多个令牌。可以在多个用户之间分发令牌。在一些实施方式中,可以由一个或更多个应用提供商在用户之间分发令牌。
一个或更多个凭证验证服务器。在一些实施方式中,一个或更多个凭证验证服务器中的每一个连接至一个或更多个应用服务器中的至少一个应用服务器,并且可以被配置成对动态凭证进行验证,所述动态凭证可以由与验证服务器相连的一个或更多个应用服务器所托管的应用从与这样的应用交互的用户接收。在一些实施方式中,应用服务器中的每一个可以连接至一个或更多个凭证验证服务器中的至少一个凭证验证服务器,并且可以被配置成将由其托管的应用从与该应用交互的用户接收的动态凭证转发至所连接的一个或更多个凭证验证服务器中的一个凭证验证服务器。当从应用接收到动态凭证时,凭证验证服务器可以取回与令牌针对其生成该动态凭证的实例相关联的数据,并且使用该数据以对接收到的动态凭证的有效性以密码方式进行验证。凭证验证服务器可以将指示验证是否成功的信号返回给应用。如果信号指示验证成功,则应用可以使用该信息确定是否授权用户访问(例如访问某些数据),或者是否执行用户请求的特定操作。
示例性实施方式
在下面的段落中,将描述本发明的一组示例性实施方式。
在下面的一组示例性实施方式中,由令牌制造商将多个认证令牌提供给一组应用所有者。应用所有者可以在其用户之间分发令牌。在其他实施方式中,可以由令牌提供商将令牌(直接或间接地)分发给用户。这些用户可以使用令牌来安全地访问由各种应用提供商提供的应用。例如,用户可以通过与可能受控于用户的本地客户端计算设备(例如PC、膝上型计算机、平板计算机或智能电话)进行交互来远程访问应用,并且本地计算设备可以例如通过计算机网络如互联网来与托管用户正在访问的应用的服务器计算机进行远程通信。例如,用户可以使用该用户的本地计算设备上的网络浏览器应用来与由远程网络服务器托管的基于网络的网上银行应用进行交互。为了确保用户对应用的访问以及与应用的交互安全,用户可以使用由应用所有者中的一个应用所有者分发的令牌。在访问应用时,用户可以使用该令牌来生成动态凭证,用户例如经由本地计算设备将该动态凭证转发到应用服务器以进行验证。在成功验证动态凭证之后,应用服务器可以授权访问或者可以执行用户所请求的操作。例如,当登录到网上银行应用以查看帐户余额时,用户可以使用令牌来生成一次性口令。用户还可以使用令牌来对用户想通过网上银行应用执行的转账的数据生成签名。
在一些实施方式中,令牌和应用验证服务器可以适于使得:单个令牌可以由多个用户使用,用户可以使用同一令牌来访问多个应用,即使这多个应用由不同的应用提供商提供,而这些不同的应用提供商不必共享秘密或以其他方式彼此信任,并且用户可以使用多个令牌来访问同一应用。这具有以下优点:由于基础设施的重要部分(即令牌)可以在多个用户与多个应用所有者之间共享,所以应用提供商用于确保其应用安全的总成本被降低,由于用户可以使用多个设备来访问同一应用,并且可以使用同一设备来访问多个应用,因此增加了用户的便利性(即增加用户的灵活性),尽管降低了成本并增加了用户便利性,但系统提供的安全级别仍然与基于常规的强认证令牌的常规安全系统的安全级别一样高。
更具体地,令牌可以适于支持多个实例,其中,同一设备中包括的不同实例可以与不同的用户和/或不同的应用相关联,其中与同一用户和同一应用相关联的多个实例可以被包括在不同的设备中。在一些具体实施方式中,实例可以被分组成用户实例组,其中同一实例用户组的所有实例被分配给同一用户并且与同一应用相关联,其中至少一个实例用户组与每个用户相关联。在这样的实施方式中,系统可以适于确保单个设备不能包括同一用户实例组的多个实例。
在一些实施方式中,令牌可以分组成多于一个的批次。在一些实施方式中,每个批次可以对某一类型的所有令牌进行分组。例如在一些实施方式中,可以存在两批令牌。一个批次可以包括所有的专用硬件令牌(即专门设计和制造以用作本说明书中描述的令牌的电子设备),而另一个批次可以包括所有的软件令牌(即,在通用计算平台上运行的软件应用,这些软件应用未被专门设计成用作令牌,并且其主要用途可能不同于执行强认证令牌的功能,例如运行认证应用的智能电话)。在其他实施方式中,可以存在多个令牌提供商,并且每个批次可以对相同令牌提供商的所有令牌进行分组。
在一些实施方式中,每个令牌可以具有唯一的令牌标识符——在下文中称为设备ID。在一些实施方式中,设备ID隐式或显式地指示令牌所属的批次。每个用户实例组可以具有唯一的用户实例组标识符——在下文中称为组序列号。每个实例可以具有唯一的实例标识符——在下文中称为实例ID。在一些实施方式中,实例ID可以由实例所属的用户实例组的组序列号与用户实例组中唯一的序列号的组合来组成。
系统可以使用以下密码密钥:
批次主密钥
不同的秘密批次主密钥可以与每个不同的令牌批次相关联。在一些实施方式中,这些批次主密钥可以由令牌提供商生成,并且令牌提供商可以在令牌提供商向应用提供商或向用户提供令牌之前将合适的批次主密钥加载到与批次主密钥相关联的批次的令牌中。在一些实施方式中,每个批次主密钥可以仅对于令牌提供商和与批次主密钥相关联的批次的令牌而言是已知的。在一些实施方式中,存在具有不同批次主密钥的至少两个不同的令牌批次。
用户实例组主密钥
秘密用户实例组主密钥可以与每个用户实例组相关联。用户实例组主密钥可以用于确保将用户实例组的实例加载到令牌中安全,如在本说明书的其他部分中更详细地说明的那样。
实例有效载荷密钥
一组一个或更多个秘密有效载荷密钥可以与每个实例相关联。这些有效载荷密钥将被用于确保将在与实例相关联的应用服务器与包括该实例的令牌之间交换的至少一些消息和命令安全。在一些实施方式中,实例的有效载荷密钥可以是与有效载荷密钥相关联的实例与服务器之间共享的共享秘密,并且有效载荷密钥可以用于将用于确保消息安全的对称密码算法参数化。在一些实施方式中,相同用户实例组的所有实例针对有效载荷密钥共享相同的值,使得服务器可以生成依然可以由相同用户实例组的所有实例接收的以密码方式保护的消息。这反过来又具有以下优点:用户可以足以向应用识别他或她自身,并且用户在接收到可以发起令牌操作例如生成用于应用的动态凭证的服务器消息之前不必向应用识别该用户打算使用的令牌。在一些实施方式中,任何令牌可以包括相同用户实例组中的至多一个令牌实例。在一些实施方式中,实例可以具有多于一个不同的有效载荷密钥,从而不同的有效载荷密钥可以用于不同的目的。例如,可以使用一个有效载荷密钥来确保消息的机密性(例如通过将消息加密或解密),而可以使用另一有效载荷密钥来确保消息的认证和/或完整性(例如,通过生成或验证消息上的签名或MAC)。
在一些实施方式中,存储在令牌中的实例数据可以包括有效载荷密钥的实际值。在一些实施方式中,存储在令牌中的实例数据可以包括数据元素的值,当令牌需要有效载荷密钥的值时令牌可以使用所述数据元素的值来确定该实例的有效载荷密钥的那些值。
实例凭证生成密钥
一组一个或更多个秘密凭证生成密钥可以与每个实例相关联。令牌可以使用这些秘密凭证生成密钥来生成用于与这些秘密凭证生成密钥相关联的实例的动态凭证。在一些实施方式中,实例的秘密凭证生成密钥可以是在与其相关联的实例与服务器(例如应用服务器或者凭证验证服务器)之间共享的共享秘密,并且实例的秘密凭证生成密钥可以用于将用于生成动态凭证的对称密码算法参数化。在一些实施方式中,对于同一用户实例组的多于一个的实例而言,凭证生成密钥是相同的。在一些实施方式中,对于同一用户实例组的所有实例而言,凭证生成密钥具有相同的值。在一些实施方式中,为了增加安全性(即,使得如果用户实例组中的一个实例被损坏,同一用户实例组中的其他实例不会自动地也被损坏),这些凭证生成密钥对于每个实例是唯一的。在一些实施方式中,这些凭证生成密钥仅对于与这些凭证生成密钥相关联的一个或更多个实例以及与实例相关联的应用服务器是已知的。在一些实施方式中,实例可以具有多于一个的不同的凭证生成密钥,从而可以将不同的凭证生成密钥用于不同的目的。例如在一些实施方式中,可以使用不同的凭证生成密钥来生成不同类型的凭证。例如在一些实施方式中,可以使用一个凭证生成密钥来生成一次性口令(例如,用于对尝试登录的用户进行认证),而可以使用另一凭证生成密钥来生成签名(例如,用于对用户提交的交易进行认证)。
在一些实施方式中,存储在令牌中的实例数据可以包括凭证生成密钥的实际值。在一些实施方式中,存储在令牌中的实例数据可以包括数据元素的值,当令牌需要凭证生成密钥的值时,令牌可以使用所述数据元素的值来确定该实例的凭证生成密钥的那些值。
加载实例
在一些实施方式中,可以通过以下两阶段处理将实例加载到令牌中。
实例加载处理的第一阶段
在第一阶段中,为特定用户实例组生成第一用户实例组加载消息(或第一加载消息或第一阶段加载消息)。该第一加载消息可以用于加载该特定用户实例组中的所有实例。该消息可以包括用于目标令牌的足够数据,以确定与该特定用户实例组相关联的用户实例组主密钥的值。这些数据将被称为用户实例组主密钥传送数据。在一些实施方式中,可以使用与令牌的批次主密钥相关的密码密钥来确保将用户实例组主密钥加载到令牌中安全。在一些实施方式中,令牌可以通过将用户实例组主密钥传送数据与已经加载在令牌中的批次主密钥以密码方式进行组合来确定用户实例组主密钥的值。因此,用户实例组主密钥传送数据可以是目标令牌的用户实例组主密钥和批次主密钥的函数。例如在一些实施方式中,第一用户实例组加载消息中的用户实例组主密钥传送数据可以包括用目标令牌的批次主密钥加密的用户实例组主密钥。
在一些实施方式中,第一用户实例组加载消息可以由实例加载服务器生成。在一些实施方式中,应用服务器也可以是实例加载服务器,或者可以在应用服务器中包括实例加载服务器。
在一些实施方式中,相同的第一加载消息可以与任何批次的任何令牌一起使用。例如在一些实施方式中,用户实例组主密钥传送数据可以包括不同的批次相关值,每个批次对应一个值,其中每个不同的批次相关值可以是与该值相关的批次的用户实例组主密钥和批次主密钥的函数,使得接收包括具有所有这些批次相关值的用户实例组主密钥传送数据的第一加载消息的所有令牌可以通过将其批次主密钥和与其批次相对应的值以密码方式组合来确定用户实例组主密钥的同一值。例如在一些实施方式中,每个批次相关值包括由与批次相关值相关的批次的批次主密钥加密的用户实例组主密钥,并且第一加载消息可以包括所有批次相关值,并且令牌可以适于使用其批次主密钥将与其批次相对应的批次相关值解密,使得接收第一加载消息的所有令牌最终具有用户实例组主密钥的同一值。以这种方式,特定用户可以使用相同的第一加载消息来发起在用户期望的任何令牌上加载与该用户相关联的用户实例组的实例。在一些实施方式中,相同的第一加载消息可以与多个不同的令牌重新使用。以这种方式,特定用户可以重新使用相同的第一加载消息来发起在多于一个的令牌上加载与该用户相关联的用户实例组的实例。
在一些实施方式中,用户实例组主密钥可以由令牌提供商生成并由令牌提供商提供给应用提供商。在一些实施方式中,批次相关值也可以由令牌提供商生成并提供给应用提供商。在其他实施方式中,用户实例组主密钥的值可以由相应的应用提供商选择,并且批次相关值可以由能够访问批次主密钥的值的可信任方生成并被提供给适当的应用提供商。
在一些实施方式中,通过可以被认为是足够安全的特定通信信道将第一加载消息提供给与用户实例组相关联的用户,使得用户可以将其提供给该用户选择的令牌。例如在一些实施方式中,令牌可以包括适于将二维条形码捕获并解码的数据输入接口,并且第一加载消息可以以包含条形码的邮件的形式或以上面印有条形码的信件的形式被发送给用户并且例如通过注册邮件来发送。
在令牌接收到第一加载消息并且令牌已经确定用户实例组主密钥的值之后,令牌可以生成第一加载确认码,令牌例如可以向用户呈现该第一加载确认码,以转发到应用服务器,以向应用服务器指示第一加载消息已被成功接收并处理。在一些实施方式中,第一加载确认码可以包括使应用服务器能够确定令牌身份的数据。例如,第一加载确认码可以包括令牌的设备ID。在一些实施方式中,第一加载确认码可以包括以密码方式生成的数据,该数据向应用服务器演示令牌确实成功地确定了用户实例组主密钥的正确值。例如,第一加载确认码可以包括令牌通过将第一加载消息中存在的值与令牌针对用户实例组主密钥确定的值以密码方式进行组合而生成的响应。
实例加载处理的第二阶段
在实例加载处理的第二阶段中,可以生成第二加载消息(或第二阶段加载消息)。第二加载消息可以用于向令牌传送该令牌可以用以确定实例的一些秘密值的一些数据,例如与该实例相关联的一组有效载荷密钥以及一组凭证生成密钥。在一些实施方式中,令牌可以根据在第二加载消息中接收到的数据和实例的用户实例组主密钥来确定要传送的这些数据或者这些秘密值本身。可以使用实例的用户实例组主密钥来以密码方式确保第二加载消息安全,例如以保护消息中的数据的机密性和/或完整性和/或真实性,所述数据例如令牌可以用以确定安全性敏感的实例数据的数据,例如有效载荷密钥或凭证生成密钥。在一些实施方式中,可以直接使用用户实例组主密钥来确保第二加载消息安全(例如,通过使用用户实例组主密钥来将第二加载消息的内容进行加密)。在一些实施方式中,可以直接使用用户实例组主密钥来确保第二加载消息安全;例如在一些实施方式中,密码密钥可以从用户实例组主密钥得到,并且得到的密钥可以用于确保第二加载消息安全(例如,将第二加载消息的内容进行加密)。例如在一些实施方式中,第二加载消息可以包括使用该实例的用户实例组主密钥加密或者使用从该实例的用户实例组主密钥得到的密钥进行加密的实例的有效载荷密钥和凭证生成密钥。在一些实施方式中,第二加载消息可以针对特定的单独令牌。在一些实施方式中,第二加载消息可以被以密码方式链接到特定的单独令牌,使得接收第二加载消息的特定令牌可以确定是否确实是第二加载消息所针对的特定令牌。例如在一些实施方式中,第二加载消息可以包括设备ID上的MAC,从而使用用户实例组主密钥生成MAC,或者包含在使用用户实例组主密钥加密的第二加载消息中的数据也可以包括设备ID。在一些实施方式中,可以使用可以从令牌的设备ID和用户实例组主密钥得到的密码密钥对第二加载消息以密码方式进行保护(例如,使用消息内容上的MAC或签名来加密或提供)。
在一些实施方式中,同一用户实例组的所有实例对于用于确保在服务器与包括这些实例中之一的令牌之间交换的消息安全的一个或更多个有效载荷秘密共享相同的值。在一些实施方式中,同一用户实例组的所有实例共享用于确保从服务器发送到包括这些实例中之一的令牌的消息安全的相同的有效载荷秘密。在一些实施方式中,凭证生成秘密中的一个或更多个的值可以由相同用户实例组的所有实例共享。在一些实施方式中,实例的凭证生成秘密中的至少一个或者一些或全部的值对于该实例可以是唯一的。在一些实施方式中,实例的有效载荷秘密中的至少一个或者一些或全部的值对于该实例可以是唯一的。例如在一些实施方式中,用于确保由令牌针对特定实例生成并发往服务器的消息安全的有效载荷密钥对于该实例可以是唯一的。
在一些实施方式中,有效载荷密钥的值和/或凭证生成密钥的值由与(与有效载荷密钥和凭证生成密钥相关联的)实例所属的用户实例组相关联的应用提供商选择。在其他实施方式中,有效载荷密钥的值和/或凭证生成密钥的值可以由令牌提供商选择并且提供给适当的应用提供商。
在一些实施方式中,通过可以认为是足够安全的特定通信信道将第二加载消息提供给与实例相关联的用户,使得用户可以将第二加载消息提供给目标令牌。例如在一些实施方式中,可以在用户返回第一加载确认码的网络会话期间将第二加载消息提供给用户。在一些实施方式中,可能需要用户在接收第二加载消息之前进行认证。例如,如果用户之前已经接收到另一个实例,则可能需要用户提供使用该另一实例生成的一次性口令。
在目标令牌已经接收到第二加载消息并且令牌已经确定了实例数据的值之后,令牌可以生成第二加载确认码,令牌例如可以将第二加载确认码呈现给用户以转发到应用服务器,以向应用服务器指示第二加载消息已被成功接收并处理,并且实例已成功加载。例如,第二加载确认码可以包括由令牌使用加载的实例的凭证生成密钥生成的一次性口令。
在一些实施方式中,认证令牌可以适于接受同一用户实例组的不多于两个实例的加载。在一些实施方式中,第一加载消息可以包括标识与该第一加载消息相关联的用户实例组的数据元素。在一些实施方式中,第二加载消息可以包括标识与该第二加载消息相关联的实例的用户实例组的数据元素。在一些实施方式中,第二加载消息可以包括标识与该第二加载消息相关联的实例的数据元素。在一些实施方式中,第二加载消息可以包括使接收第二加载消息的认证令牌能够将接收到的第二加载消息链接到较早接收到的第一加载消息的数据元素。在一些实施方式中,认证令牌可以适于拒绝不能链接到较早的相应第一加载消息的第二加载消息。
操作阶段
在实例被成功加载到目标令牌中之后,实例进入操作阶段。具有实例的令牌现在可以接收针对该实例的消息或命令,并对所述消息或命令进行操作。在一些实施方式中,可以利用与消息或命令以其为目标的实例相关联的有效载荷密钥来确保目标实例安全。例如,响应于接收到包括要被签名并且使用与加载的实例对应的有效载荷密钥确保安全的数据的交易数据签名命令,令牌可以使用加载的实例的凭证生成密钥来生成动态凭证,例如包括交易数据签名。
例如在一些实施方式中,应用可以生成凭证生成命令并将其传送给令牌。在一些实施方式中,可以使用可以与特定实例或特定用户实例组相关联的一个或更多个有效载荷密钥来对凭证生成命令进行认证。例如,可以使用一个有效载荷密钥对凭证生成命令进行签名或赋予MAC,并且可以使用另一个有效载荷密钥对凭证生成命令的内容加密。在接收到凭证生成命令时,令牌可以取回或确定适用的有效载荷密钥。如果适用,则令牌可以认证接收到的凭证生成命令,例如通过使用适用的有效载荷密钥来验证签名或MAC。如果对接收到的凭证生成命令的认证失败,则令牌可以拒绝接收到的凭证生成命令。在拒绝了接收到的凭证生成命令时,令牌可以向用户输出出错消息。如果适用,则令牌可以将接收到的凭证生成命令的内容解密。令牌可以确定并选择接收到的凭证生成所发往的实例,如在本说明书的其他部分中更详细描述的那样。如果令牌不能确定并选择包含在令牌中的实例中之一作为由接收到的凭证生成消息针对的实例,则令牌可以拒绝接收到的凭证生成命令。在拒绝了接收到的凭证生成命令时,令牌可以向用户输出出错消息。如果接收到的凭证生成命令包含要被签名的交易数据,则令牌可以向用户呈现该交易数据,并请求用户批准或拒绝交易。如果用户拒绝所呈现的交易数据,则令牌可以拒绝接收到的凭证生成命令。如果接收到的凭证生成消息被接受,则令牌可以遵照接收到的凭证生成消息的内容并且使用所选实例的适当凭证生成密钥来生成动态凭证。例如,如果接收到的凭证生成消息指示应该生成一次性口令,则令牌可以生成一次性口令。如果接收到的凭证生成消息包括质询,则令牌可以生成响应。如果接收到的凭证生成消息包括交易数据,则令牌可以生成对这些交易数据的签名。在一些实施方式中,令牌然后可以将所生成的凭证呈现给用户,以便于用户转发到应用。在一些实施方式中,令牌可以生成包括所生成的凭证的凭证生成响应消息,并且发送该凭证生成响应消息。应用可以在接收到生成的凭证时验证接收到的生成的凭证。
在一些替选实施方式中,可以使用单个加载消息来完成将实例加载到特定令牌中。在一些实施方式中,单个加载消息针对特定令牌,并且只能与该特定令牌一起使用。在一些实施方式中,单个加载消息被以密码方式链接到该特定令牌,如上文更详细地说明的那样。在其他实施方式中,单个加载消息可以与所有令牌一起使用。
在一些实施方式中,存在多于一个的令牌提供商。在一些实施方式中,批次主密钥不由令牌提供商生成并且不被令牌提供商已知。在一些实施方式中,批次主密钥仅由可信第三方生成和已知,该第三方负责处理不由令牌执行的所有操作,并且需要知道批次主密钥。在一些实施方式中,令牌提供商使用令牌提供商主密钥来初始化他们所提供的令牌。在一些实施方式中,通过使用这些令牌中存在的令牌提供商主密钥来确保安全的消息将适当的批次主密钥加载到令牌中。在一些实施方式中,批次主密钥的这种加载发生在用户之间分发令牌之前。在一些实施方式中,令牌提供商将其令牌提供商主密钥提供给可信任方。
附图说明
从附图中所示的本发明的实施方式的以下更具体的描述中,本发明的前述和其他特征和优点将是明显的。
图1示意性地示出了根据本发明的一个方面的示例性设备。
图2示意性地示出了根据本发明的一个方面的示例性系统。
图3示意性地示出了根据本发明的一个方面的示例性方法。
具体实施方式
下面讨论本发明的一些实现方式。尽管讨论了具体实现方式,但是应当理解,这仅仅是出于说明的目的。相关领域的技术人员将认识到,在不脱离本发明的精神和范围的情况下,可以使用其他部件和配置。提供了各种具体详情以便能够透彻地理解本发明。然而,相关领域的技术人员将理解,可以在没有这些具体详情的情况下实践本发明。在其他情况下,没有详细描述公知的方法、过程、部件和电路,以免使本发明变得模糊。对于本领域技术人员来说,对所描述的实施方式的各种修改将是明显的,并且下面详细描述的实施方式的一般原理可以应用于其他实施方式。
图1示意性地示出了根据本发明的一个方面的本发明的示例性设备(100)。图1的设备包括强认证令牌。在一些实施方式中,强认证令牌适于生成代表用户的动态凭证。在一些实施方式中,由强认证令牌生成的动态凭证可以包括例如一次性口令和/或例如交易数据上的电子签名和/或对质询的响应。
多个实例
在一些实施方式中,强认证令牌适于支持多个(即多于一个)实例,多个实例可以各自与不同的用户相关联。在一些实施方式中,每个实例可以包括令牌可以用以确定例如密码密钥的数据,例如令牌可以用以生成代表与该实例相关联的用户的动态凭证的一个或更多个密码凭证生成密钥。关于可以被包括在实例中的数据、令牌可以如何使用实例、关于实例的管理和生命周期以及关于实例、令牌和用户之间的各种关系的更多详情,请参阅上述说明。
处理器(150)和存储器(160)。
令牌可以包括数字数据处理部件(150),数字数据处理部件(150)可以适于执行一组数据处理指令,例如以实现赋予本文中描述的令牌的一个或更多个功能。在一些实施方式中,数据处理部件(150)可以包括例如一个或更多个微处理器、微控制器、数字信号处理器(DSP)芯片、现场可编程门阵列(FPGA)等。
令牌可以包括存储器部件(160)。存储器部件(160)可以连接到数字数据处理部件(150)。在一些实施方式中,存储器部件可以包括适于存储要由数据处理部件执行的软件或固件的程序存储器部件。在一些实施方式中,令牌支持的功能可以由存储在其存储器中的软件或固件来限定。
在一些实施方式中,存储器部件(160)可以包括适于永久地或临时地存储数据的数据存储器部件。在一些实施方式中,数据存储器部件可以适于安全地存储秘密数据如密码密钥或PIN或口令参考数据。在一些实施方式中,数据存储器部件可以适于存储多个实例的数据。
存储器部件可以例如包括RAM(随机存取存储器)存储器、ROM(只读存储器)存储器、EPROM(可擦除可编程只读存储器)存储器、一次性可编程存储器、闪速存储器、固态存储器、硬盘等。
用户接口(120,130)
在一些实施方式中,强认证令牌可以包括与用户交互例如用于与用户交换数据、信息和/或命令的用户接口(120,130)。用户接口(120,130)可以连接到数字数据处理部件(150)。
在一些实施方式中,强认证令牌的用户接口可以包括用于向强认证令牌的用户呈现信息和/或数据的输出用户接口(130)。在一些实施方式中,输出用户接口可以包括例如显示器(130)或音频输出接口。在一些实施方式中,强认证令牌的用户接口可以包括用于从用户接收输入的输入用户接口(120),所述输入例如输入的数据(如质询或交易数据)或指令(如确认或取消)或PIN。在一些实施方式中,输入用户接口可以包括例如键盘(120)。在一些实施方式中,强认证令牌的用户接口可以包括可以适于提供用户输出接口和用户输入接口二者的功能的触摸屏。
数据输入接口(140)
在一些实施方式中,强认证令牌可以包括数字数据输入接口。数据输入接口(140)可以连接到数字数据处理部件(150)。在一些实施方式中,强认证令牌的数字数据输入接口可以适于接收数字数据消息。在一些实施方式中,数据输入接口可以包括光学图像获取部件(140)。在一些实施方式中,光学图像获取部件可以包括摄像装置。在一些实施方式中,强认证令牌可以适于使用光学图像获取部件来捕获可以用数字数据消息编码的图像。在一些实施方式中,图像可以包括二维条形码。在一些实施方式中,图像的格式可以在标准中进行限定。例如在一些实施方式中,光学图像可以是QR码。
在其他实施方式中,数字数据输入接口可以包括适于捕获可以使用用于令牌的消息或命令来编码的声学信号的声学接口。在一些实施方式中,声学接口可以包括麦克风。在一些实施方式中,声学接口可以包括模数转换器,模数转换器将模拟电子信号转换成数字信号,数字信号可以由例如上述数字数据处理部件进一步来处理。
在一些实施方式中,强认证令牌可以包括数据输出接口(141)。数据输出接口(141)可以连接到数字数据处理部件(150)。在一些实施方式中,强认证令牌的数字数据输出接口可以适于发送数字数据消息。例如在一些实施方式中,认证令牌可以包括可以适于接收和发送消息的双向数据接口,即将数据输入接口和数据输出接口进行组合的数据接口。例如在一些实施方式中,令牌可以包括包含无线数据通信接口的数据接口,无线数据通信接口——例如移动数据通信接口或蓝牙接口——包括天线和适当的芯片组。在一些实施方式中,令牌可以包括下述数据接口,该数据接口可以例如包括包含USB连接器和芯片组的通用串行总线(USB)接口。
在其他实施方式中,强认证令牌可以不包括用于以数字格式输出包括所生成的动态凭证的数字数据消息的数据输出接口,并且输出所生成的动态凭证的唯一方式是通过使用输出用户接口来将所生成的动态凭证呈现给用户。
令牌命令消息
在一些实施方式中,强认证令牌可以适于对其可能接收到的数据消息进行处理和操作。在一些实施方式中,强认证令牌可以适于对用于将实例加载到令牌中的消息进行接收、处理和操作。在一些实施方式中,强认证令牌可以适于对包含要签名的交易数据的消息进行接收、处理和操作。在一些实施方式中,强认证令牌可以适于对提示强认证令牌生成一次性口令的消息进行接收、处理和操作。在一些实施方式中,强认证令牌可以适于对包含质询值并且提示强认证令牌使用接收到的质询值和存储在强认证令牌中的秘密来以密码方式计算响应值的消息进行接收、处理和操作。
在一些实施方式中,由强认证令牌接收到的数据消息可以发往强认证令牌支持的特定实例。在一些实施方式中,强认证令牌适于检测接收到的数据消息发往哪个实例。在一些实施方式中,接收到的数据消息可以包括目的地实例指示数据元素,目的地实例指示数据元素可以给出对消息发往的实例的指示。
关于令牌可以接收、处理和操作的数字数据消息以及令牌可以如何确定接收到的数据消息发往哪个实例的更多详情可以在本说明书的其他地方找到。
凭证生成
令牌可以适于生成动态凭证,如在本说明书的其他部分中更详细说明的那样。在一些实施方式中,数据处理部件(150)可以适于执行密码计算以生成动态凭证。在一些实施方式中,令牌可以适于使用可以被永久地或临时地存储在存储器部件(160)中的密码密钥来生成动态凭证,或者这些密码密钥可以由令牌从永久地或临时地存储在存储器部件(160)中的数据中得到。在一些实施方式中,令牌可以适于使用作为存储在存储器部件(160)中的实例的一部分的数据来生成动态凭证。在一些实施方式中,令牌可以适于使用对称密码算法来生成动态凭证。在一些实施方式中,用于生成动态凭证的密码算法可以使用一个或更多个对称秘密密码凭证生成密钥来参数化。在一些实施方式中,这些凭证生成密钥可以与令牌中包含的实例相关联。在一些实施方式中,实例的凭证生成密钥可以与服务器如凭证验证服务器共享。
在一些实施方式中,令牌可以适于使用动态变量来生成动态凭证,动态变量可以包括由令牌提供的内部值。例如在一些实施方式中,令牌可以包括时钟(170),并且令牌可以将该时钟提供的时间值用作内部值。在一些实施方式中,令牌可以将计数器作为实例的数据的一部分进行维护,并且令牌可以适于将该计数器的值用作内部值来生成该实例的动态凭证,并且每当令牌使用该计数器的值生成动态凭证时更新该计数器的值(例如通过递增或递减)。
在一些实施方式中,令牌可以适于使用动态变量来生成动态凭证,该动态变量可以包括提供给令牌的外部值。在一些实施方式中,这样的外部值可以包括由服务器生成的质询或者要签名的交易数据。在一些实施方式中,外部值可以由用户通过使用令牌的用户输入接口手动提供给令牌。例如,令牌可以捕获令牌中包括的、用户可以在键盘上作为字符串输入的质询或交易数据。在一些实施方式中,外部值被提供为被包括在由令牌通过其数据输入接口接收的消息或命令中。
在一些实施方式中,令牌可以适于将所生成的动态凭证呈现给用户。例如在一些实施方式中,令牌可以将所生成的动态凭证作为可读字符串显示在其显示器上。在一些实施方式中,该字符串可以仅包括十进制字符。在其他实施方式中,该字符串可以包括字母数字字符。
安全的专用硬件令牌
在一些实施方式中,令牌(100)是专用硬件设备。在一些实施方式中,令牌可以专用于确保用户对应用的访问安全或者确保用户与这样的应用进行交互安全的方法。在一些实施方式中,认证设备的主要目的是用于确保用户对应用的访问安全或者确保用户与这样的应用进行交互安全的方法。在一些实施方式中,为了保证认证设备专用于其作为安全设备的用途,认证设备可以适于使得不可能更改其固件。在一些实施方式中,为了保证认证设备专用于其作为安全设备的用途,对其固件的任何更改或更新仅可以通过安全固件更新协议来实现,安全固件更新协议被设计为确保只有授权控制的可信任方才能更新或更改认证设备的固件。这使得控制可信任方能够确保不会发生固件更新,从而可以撤销认证设备专用于在用于确保用户对应用的访问安全或者确保用户与这样的应用进行交互安全的方法中的用途。用户可以在其中安装未被控制信任方授权的额外软件的设备不能被视为专用设备。其主要目的是提供远程通信设施的设备不能被认为是专用于确保用户访问应用安全以及确保与应用交互安全的方法的设备。通用的PC、膝上型计算机、平板计算机和智能电话不能被视为专用设备。
在一些实施方式中,令牌(100)是安全硬件设备。在一些实施方式中,安全硬件设备适于确保检测到或抵抗对篡改安全硬件设备的尝试。在一些实施方式中,安全硬件设备的壳体适于抵抗打开壳体以及/或者增加用户将通过壳体变形(篡改证据)注意到打开壳体的尝试的可能性。在一些实施方式中,一起构成壳体的部件可以被焊接或胶合在一起,使得试图分离这些部件通常将导致壳体明显变形。在一些实施方式中,安全硬件设备包括检测壳体被打开的开关。在一些实施方式中,安全硬件设备适于在检测到篡改的尝试时采取适当的动作。在一些实施方式中,安全硬件设备可以擦除某些敏感数据,例如密码密钥或者一些或所有的实例数据,或者安全硬件设备可以(可能不可逆地)在检测到对安全硬件设备的篡改的尝试时进入出错模式或者停止运行。
安全硬件设备可以具有安全用户输出接口(例如安全显示器)和安全用户输入接口(例如,安全键盘)。在一些实施方式中,安全硬件设备具有安全的输出接口,该输出接口安全在于:该输出接口由安全硬件设备完全控制,并且该输出接口不能用于通过安全硬件设备外部的处理将数据或信息呈现给用户,或者如果这是由安全硬件设备授权和控制的,则该输出接口只能用于通过安全硬件设备外部的处理将数据或信息呈现给用户。在一些实施方式中,安全硬件设备具有安全的用户输入接口,该用户输入接口安全在于:该用户输入接口由安全硬件设备完全控制,并且不能用于通过安全硬件设备外部的处理从用户获取数据或信息,或者如果这是由安全硬件设备授权和控制的,则该用户输入接口只能用于通过安全硬件设备外部的处理从用户获取数据或信息。在一些实施方式中,安全用户输入和输出接口的安全性由安全硬件设备维护,该安全硬件设备不允许对其固件进行任何更改,或者提供安全固件更新机制,其仅允许通过安全协议对其固件进行更改,该安全协议确保安全硬件设备仅接受来自受信任源的授权固件更新。
在一些实施方式中,令牌不是专用的硬件设备。在一些实施方式中,令牌可以包括电子消费者设备,该电子消费者设备的主要目的可能不是提供认证功能,而是该电子消费者设备可以包括用于提供本说明书中描述的强认证令牌功能的软件。例如在一些实施方式中,令牌可以包括平板计算机或智能电话,该平板计算机或智能电话包括提供本说明书中描述的强认证令牌功能的认证应用。
外形因素
在一些实施方式中,令牌可以包括塑料电路板,在该塑料电路板上可以布置令牌中包括的电子部件中的至少一些电子部件。其他电子部件可以以电镀方式连接到布置在电路板上的部件(例如通过电线)。在一些实施方式中,令牌的所有电子部件都被包括在单个壳体内。在一些实施方式中,壳体可以由塑料或金属或者这些材料的组合制成。在一些实施方式中,认证令牌可以是单片式设备。在本说明书的上下文中,这意味着用于生成动态凭证的数字数据处理部件、用于存储实例数据的存储器部件、被包括在认证令牌中的输入用户接口、输出用户接口和数据输入接口都被包括在单个物理设备中。在一些实施方式中,作为认证令牌的普通操作的一部分,这些部件不能被用户移除。在一些实施方式中,在不引起认证令牌的不可逆变化的情况下,这些部件不能被移除。在一些实施方式中,在认证令牌不被永久损坏的情况下,这些部件不能被移除。
尺寸和重量
在一些实施方式中,令牌具有重量和空间度量,使得令牌可以被认为是便携式、袖珍尺寸的手持式设备。在一些实施方式中,读取器具有重量和空间度量,使得令牌可以以适中的成本通过邮递发送给用户。例如在一些实施方式中,认证设备可以具有小于2cm的厚度、小于10cm的宽度、小于15cm的长度以及小于200克的重量。在其他实施方式中,认证设备可以具有小于1.5cm的厚度、小于7cm的宽度、小于13cm的长度以及小于110克的重量。在一些实施方式中,认证设备的长度和宽度可以分别超过标准全尺寸信用卡的长度和宽度的不大于10%。在一些实施方式中,认证设备可以具有标准全尺寸信用卡的长度和宽度。在一些实施方式中,认证设备可以具有在适用于标准全尺寸信用卡的范围内的标准全尺寸信用卡的长度、宽度和厚度(例如,具有由ISO/IEC 7810规定的ID-1尺寸的智能卡的尺寸)。
电源
在一些实施方式中,认证设备包括自主的电力源。在一些实施方式中,电源可以包括电池。在一些实施方式中,电池可以是可更换的。
服务菜单
在一些实施方式中,令牌可以支持向用户提供若干选项以访问各种令牌功能的服务菜单。例如,服务菜单可以包括帮助选项,用户可以借助于帮助选项来访问帮助信息。服务菜单可以包括用于用户设置语言偏好的语言菜单。服务菜单可以包括选择特定实例的选项。服务菜单可以包括发起解锁实例操作的选项。服务菜单可以包括发起实例移除操作的选项。服务菜单可以包括发起实例加载操作的选项。服务菜单可以包括发起动态凭证生成的选项。服务菜单可以包括访问令牌信息(例如令牌标识数据元素)的选项。服务菜单可以包括获得加载实例的概述的选项。服务菜单可以包括访问关于特定实例的信息(例如实例标识数据元素)的选项。
在本发明的一个方面中,提供了用于认证多于一个的用户或者用于确保所述多于一个的用户与一个或更多个应用之间的交互安全的认证令牌。
在第一组实施方式中,认证令牌可以包括多个令牌实例,每个令牌实例包括实例数据,并且每个令牌实例与令牌的有至少两个不同用户的多个用户之一相关联,其中至少一个不同的令牌实例与所述有至少两个不同用户的多个用户中的每一个用户相关联,并且认证令牌可以适于使用所述多个令牌实例中的所选令牌实例的实例数据中包括的或者从所述多个令牌实例中的所选令牌实例的实例数据得到的秘密凭证生成密钥来生成动态凭证,以用于对与所述所选令牌实例相关联的用户进行认证,或者用于确保与所述所选令牌实例相关联的用户与一个或更多个应用之间的交互安全。在一些实施方式中,所述认证令牌可以包括在本说明书的其他地方描述的任何认证令牌。
接收消息
在第二组实施方式中,令牌可以是先前的一组实施方式中的任何令牌,其中令牌还可以适于接收服务器消息并且对所述服务器消息进行解码和处理。
在第三组实施方式中,令牌可以是第二组实施方式中的任何令牌,其中接收到的服务器消息是针对所述多个令牌实例中的特定目标令牌实例的,并且其中令牌还可以适于基于所述接收到的服务器消息(即,不使用令牌的用户的输入)来自主地确定并选择所述目标令牌实例。
在第四组实施方式中,令牌可以是第三组实施方式中的任何令牌,其中令牌还可以适于使用接收到的服务器消息中的令牌实例标识数据元素来确定和选择目标令牌实例。
在第五组实施方式中,令牌可以是第三组实施方式中的任何令牌,其中令牌还可以适于通过使用用与所述多个令牌实例的候选令牌实例相关联的密码有效载荷密钥参数化的密码算法对所述接收到的服务器消息的密码保护元素或方面进行验证来确定和选择目标令牌实例,其中,令牌可以适于在所述验证成功的情况下将所述候选令牌实例选择作为目标令牌实例。
在第六组实施方式中,令牌可以是第五组实施方式中的任何令牌,其中令牌还可以适于循环遍历多个令牌实例,并且逐个考虑或尝试所述多个令牌实例中的每个令牌实例作为候选,至少直到使用任何候选令牌实例对所述接收到的服务器消息的密码保护元素或方面进行的所述验证产生所述验证成功的候选令牌实例为止,或者直到对于多个令牌实例中的任何令牌实例而言使用多个令牌实例中的所有令牌实例对所述接收到的服务器消息的密码保护元素或方面进行的所述验证都没有成功为止。
在第七组实施方式中,令牌可以是第六组实施方式中的任何令牌,其中令牌还可以适于选择对所述接收到的服务器消息的密码保护元素或方面的所述验证成功的第一令牌实例。
在第八组实施方式中,令牌可以是第五组或第六组实施方式中的任何令牌,其中令牌还可以适于:在令牌没有找到对所述接收到的服务器消息的密码保护元素或方面的所述验证成功的候选令牌实例的情况下,拒绝所述服务器消息。
在第九组实施方式中,令牌可以是第五组至第八组实施方式中的任何令牌,其中所述多个令牌实例中的每个令牌实例相对于所述多个令牌实例中的其他令牌实例的有效载荷密钥值而言对于所述有效载荷密钥具有唯一值。
生成凭证
在第十组实施方式中,令牌可以是第二组至第九组实施方式中的任何实施方式中的任何令牌,其中所述接收到的服务器消息可以包括凭证生成命令消息,并且令牌还可以适于响应于所述凭证生成命令消息来生成所述动态凭证。
在第十一组实施方式中,令牌可以是第三组至第九组实施方式中的任何实施方式中的任何令牌,其中所述接收到的服务器消息可以包括凭证生成命令消息,并且该令牌还可以适于响应于所述凭证生成命令消息来生成所述动态凭证并且所述所选令牌实例是所述接收到的服务器消息所针对的所述目标令牌实例。
在第十二组实施方式中,令牌可以是先前组实施方式中的任何实施方式中的任何令牌,其中令牌还可以适于在所述生成动态凭证中使用对称密码算法,所述对称密码算法使用所述秘密凭证生成密钥被参数化,所述秘密凭证生成密钥包括对称秘密密钥。
实例管理
实例加载
在第13组实施方式中,令牌可以是先前组实施方式中的任何实施方式中的任何令牌,其中令牌还可以适于接收附加的令牌实例,其中认证令牌可以被包括在多个令牌批次中的至少一个令牌批次中,其中批次主密钥的值可以与所述多个令牌批次中的每个令牌批次相关联,并且其中认证令牌可以包括所述多个令牌批次中的包含认证令牌的所述至少一个令牌批次的批次主密钥的值。认证令牌还可以适于接收并处理第一阶段加载消息作为用于向认证令牌传送用户实例组主密钥的值的第一加载处理阶段的一部分,该第一阶段加载消息可以包括一组批次相关值,所述令牌批次中的每个令牌批次对应一个批次相关值,其中每个批次相关值的值可能已经被确定为使得可以根据所述令牌批次中的任何特定令牌批次的批次主密钥和与该特定令牌批次对应的批次相关值的任何配对来计算所述用户实例组主密钥的同一值。认证令牌处理所述第一阶段加载消息可以包括:认证令牌从认证令牌接收到的第一阶段加载消息中取回与下述批次主密钥也对应于的同一令牌批次相对应的批次相关值,该批次主密钥的值被包括在认证令牌中;认证令牌根据认证令牌中包括的所述批次主密钥以及认证令牌可以从第一阶段加载消息中取回的所述批次相关值来计算用户实例组主密钥的值;以及认证令牌存储计算出的用户实例组主密钥的值。认证令牌还可以适于接收并处理第二阶段加载消息作为用于向认证令牌传送用于附加令牌实例的一组实例数据值的第二加载处理阶段的一部分,第二阶段加载消息可以包括用于附加令牌实例的所述一组实例数据值,并且可以使用所述用户实例组主密钥或者从用户实例组主密钥得到的密钥来确保第二阶段加载消息安全。认证令牌处理所述第二阶段加载消息可以包括:认证令牌通过使用认证令牌可能在第一加载处理阶段已经计算出的用户实例组主密钥的值来从认证令牌可能已经接收到的第二阶段加载消息中取回所述一组实例数据值;以及认证令牌通过使用所述取回的一组实例数据值来确定所述附加令牌实例的一组秘密密钥的值,其中附加令牌实例的所述一组秘密密钥可以包括所述秘密凭证生成密钥,认证令牌可以随后使用该秘密凭证生成密钥来生成用于所述附加令牌实例的动态凭证。
实例移除
在第14组实施方式中,令牌可以是先前组实施方式中的任何实施方式中的任何令牌,其中令牌还可以适于支持移除所述多个令牌实例中的至少一个废弃令牌实例的实例移除处理。在一些实施方式中,所述实例移除处理包括令牌从令牌中包括的存储器中擦除待移除的所述至少一个废弃令牌实例的所有实例数据。
在第15组实施方式中,令牌可以是第14组实施方式中的任何令牌,其中令牌还可以适于向用户呈现供用户发起所述实例移除处理的菜单选项。
在第16组实施方式中,令牌可以是第14组至第15组实施方式中的任何令牌,其中令牌还可以适于向用户呈现供用户选择用户希望令牌移除的所述废弃令牌实例的菜单。
在第17组实施方式中,令牌可以是第14组至第16组实施方式中的任何令牌,其中令牌还可以适于接收并处理实例移除命令消息,其中对所述接收到的实例移除命令消息的所述处理可以包括:响应于所述接收到的实例移除命令消息来移除待移除的所述至少一个废弃令牌实例。
在第18组实施方式中,令牌可以是第17组实施方式中的任何令牌,其中令牌还可以适于基于接收到的实例移除命令消息来自主地选择要对其执行实例移除处理的所述至少一个废弃令牌实例。在一些实施方式中,这种对要针对其执行实例移除处理的所述至少一个废弃令牌实例的自主选择可以包括:使用用于确定和选择令牌实例的任何机制,这些机制在本说明书的其他地方被更详细地描述。
PIN或口令处理
在第19组实施方式中,令牌可以是先前组实施方式中的任何实施方式中的任何令牌,其中令牌还可以适于将所述多个令牌实例中的至少一个受保护令牌实例的使用保留给与所述至少一个受保护令牌实例相关联的用户。在一些实施方式中,令牌可以适于验证尝试使用所述至少一个受保护令牌实例的用户是否对应于与所述至少一个受保护令牌实例相关联的用户。
在第20组实施方式中,令牌可以是第19组实施方式中的任何令牌,其中所述至少一个受保护令牌实例的实例数据包括用户凭证参考数据,并且令牌还可以适于:从用户接收用户凭证,将从用户接收的用户凭证与所述用户凭证参考数据进行比较,并且如果接收到的用户凭证与所述用户凭证参考数据相匹配,则允许用户使用所述至少一个受保护令牌实例,并且如果接收到的用户凭证与所述用户凭证参考数据不匹配,则拒绝用户使用所述至少一个受保护令牌实例。
在第21组实施方式中,令牌可以是第20组实施方式中的任何令牌,其中用户凭证参考数据可以包括口令参考值,并且所述用户凭证可以包括口令值(令牌可以例如通过令牌的用户输入接口来接收该口令值)。在一些实施方式中,口令值可以由仅数字的序列组成。在一些实施方式中,口令值可以包括PIN(个人识别号码)。
更改PIN或口令
在第22组实施方式中,令牌可以是第21组实施方式中的任何令牌,其中令牌还可以适于支持口令更改处理,以允许用户更改至少一个受保护令牌实例的用户凭证参考数据。
在第23组实施方式中,令牌可以是第22组实施方式中的任何令牌,其中令牌还可以适于向用户呈现供用户发起所述口令更改处理的菜单选项。
在第24组实施方式中,令牌可以是第23组实施方式中的任何令牌,其中令牌还可以适于向用户呈现供用户选择用户希望令牌执行口令更改处理的至少一个受保护令牌实例的菜单。
在第25组实施方式中,令牌可以是第22组实施方式中的任何令牌,其中令牌还可以适于接收并处理口令更改命令消息,其中对所述接收到的口令更改命令消息的所述处理可以包括:响应于所述接收到的口令更改命令消息来发起和执行口令更改处理。
在第26组实施方式中,令牌可以是第25组实施方式中的任何令牌,其中令牌还可以适于基于接收到的口令更改命令消息来自主地选择待执行口令更改处理的至少一个受保护令牌实例。在一些实施方式中,自主地选择待执行口令更改处理的至少一个受保护令牌实例可以包括:使用用于确定和选择令牌实例的任何机制,这些机制在本说明书的其他地方被更详细地描述。
对PIN或口令进行锁定和解锁
在第27组实施方式中,令牌可以是第21组至第26组实施方式中的任何令牌,其中令牌还可以适于:在用户已经针对至少一个受保护令牌实例提供了与所述至少一个受保护令牌实例的口令参考值不匹配的多个口令值从而所述数目超过预定义的口令尝试计数器阈值的情况下,锁定(即永久地拒绝另外的使用)所述至少一个受保护令牌实例。
在第28组实施方式中,令牌可以是第27组实施方式中的任何令牌,其中令牌还可以适于支持口令解锁处理,该口令解锁处理允许用户撤销对锁定的至少一个受保护令牌实例的所述锁定。
在第29组实施方式中,令牌可以是第28组实施方式中的任何令牌,其中令牌还可以适于向用户呈现供用户发起所述口令解锁处理的菜单选项。
在第30组实施方式中,令牌可以是第29组实施方式中的任何令牌,其中令牌还可以适于向用户呈现供用户选择用户希望令牌执行口令解锁处理的锁定的至少一个受保护令牌实例的菜单。
在第31组实施方式中,令牌可以是第30组实施方式中的任何令牌,其中令牌还可以适于接收并处理口令解锁命令消息,其中对所述接收到的口令解锁命令消息的所述处理可以包括:响应于所述接收到的口令解锁命令消息来发起和执行口令解锁处理。
在第32组实施方式中,令牌可以是第31组实施方式中的任何令牌,其中令牌还能够适于基于接收到的口令解锁命令消息来自主地选择要对其执行口令解锁处理的锁定的至少一个受保护令牌实例。在一些实施方式中,对要对其执行口令解锁处理的锁定的至少一个受保护令牌实例的这种自主选择可以包括:使用用于确定和选择令牌实例的任何机制,这些机制在本说明书的其他地方被更详细地描述。
部件
在另一组实施方式中,令牌可以是先前组实施方式中的任何实施方式中的任何令牌,其中令牌还可以包括数字数据处理部件、可以连接到数据处理部件的存储器部件、可以连接到数据处理部件的用户输入接口、可以连接到数据处理部件的用户输出接口以及可以连接到数据处理部件的数据输入接口。
在另一组实施方式中,令牌可以是先前组实施方式中的任何实施方式中的任何令牌,其中存储器部件适于存储所述多个令牌实例的所述实例数据。
在另一组实施方式中,令牌可以是先前组实施方式中的任何实施方式中的任何令牌,其中数字数据处理部件适于生成所述动态凭证。在一些实施方式中,数字数据处理部件适于执行密码操作或密码算法。在一些实施方式中,数字数据处理部件适于从所述实例数据中取回或得到所述秘密凭证生成密钥。在一些实施方式中,数字数据处理部件适于执行对称密码算法。在一些实施方式中,所述取回或得到的秘密凭证生成密钥可以包括对称秘密密钥。
在另一组实施方式中,令牌可以是先前组实施方式中的任何实施方式中的任何令牌,其中数据输入接口可以适于接收服务器消息,并且数字数据处理部件可以适于处理所述服务器信息。在一些实施方式中,数据输入接口可以包括数字摄像装置部件,并且服务器消息可以被包括在一个或更多个经编码的二维图像中,并且所述接收服务器消息可以包括:令牌使用数字摄像装置部件捕获所述一个或更多个经编码的二维图像,并且对所述捕获的一个或更多个经编码的二维图像进行解码以取回服务器消息。
在另一组实施方式中,令牌可以是先前组实施方式中的任何实施方式中的任何令牌,其中服务器消息包括凭证生成命令消息,并且对所述服务器消息的所述处理可以包括:数字数据处理部件处理所述凭证生成命令消息。在一些实施方式中,所述数字数据处理部件处理所述凭证生成命令消息可以包括:数字数据处理部件生成动态凭证。在一些实施方式中,所述数字数据处理部件生成动态凭证可以包括:数字数据处理部件从凭证生成命令消息中取回数据,并且在凭证生成算法中使用所述取回的数据。
在另一组实施方式中,令牌可以是先前组实施方式中的任何实施方式中的任何令牌,其中数字数据处理部件可以适于为用户生成输出,并且用户输出接口可以适于向用户呈现由数字数据处理部件为用户生成的所述输出。在一些实施方式中,所述输出可以包括出错消息。在一些实施方式中,所述输出可以包括由数据输入接口接收的服务器消息中包括的交易数据。在一些实施方式中,所述输出可以包括所述生成的动态凭证。
在另一组实施方式中,令牌可以是先前组实施方式中的任何实施方式中的任何令牌,其中用户输入接口可以适于接收来自用户的输入,并且数字数据处理部件可以适于处理所述用户输入。
在另一组实施方式中,令牌可以是先前组实施方式中的任何实施方式中的任何令牌,其中数字数据处理部件可以适于为用户生成输出,并且用户输出接口可以适于向用户呈现由数字数据处理部件为用户生成的所述输出,其中所述输出可以包括由数据输入接口接收的服务器消息中包括的交易数据;其中用户输入接口可以适于接收来自用户的输入,并且数字数据处理部件可以适于处理所述用户输入,其中从所述用户接收的所述输入可以包括对呈现给所述用户的所述交易数据的批准或拒绝;并且其中所述数字数据处理部件可以适于以用户是否批准了所呈现的交易数据为条件来生成所述动态凭证。
在本发明的第二方面中,提供了用于对有至少两个不同用户的多个用户进行认证或者用于确保所述有至少两个不同用户的多个用户与多个可远程访问的应用之间的交互安全的系统。
图2示意性地示出了根据本发明的第二方面的本发明的示例性系统(200)。
系统(200)可以包括:一个或更多个应用服务器(210)、多个接入客户端设备(230)和多个认证令牌(240),其中所述应用服务器和所述接入客户端设备由计算机网络(250)连接,使得所述应用服务器和所述接入客户端设备能够彼此通信,其中所述应用服务器中的每一个托管至少一个可远程访问的应用,所述接入客户端设备中的每一个适于与所述多个用户(290)中的一个或更多个用户进行交互,以使得所述一个或更多个用户能够与所述可远程访问的应用中的至少一个应用进行交互;所述系统还包括多个令牌实例,每个令牌实例包括实例数据并且与所述有至少两个不同用户的多个用户中的单个用户相关联,并且每个令牌实例被包括在所述多个认证令牌中的至少一个中,其中一个或更多令牌实例与每个用户相关联,其中每个认证令牌包括一个或更多个令牌实例,并且所述多个认证令牌中的至少一个认证令牌包括至少两个不同的与两个不同用户相关联的令牌实例;其中至少一个不同的令牌实例与所述有至少两个不同用户的多个用户中的每一个用户相关联,并且其中所述多个认证令牌中的每个特定认证令牌可以适于使用被包括在所述特定认证令牌中的所选令牌实例的实例数据中包括的或者从所选令牌实例的实例数据中得到的秘密凭证生成密钥来生成动态凭证,用于将与所述所选令牌实例相关联的用户认证到所述应用中之一或者用于确保与所述所选令牌实例相关联的所述用户与所述应用中之一之间的交互安全。
在一些实施方式中,所述认证令牌可以包括在本说明书的其他地方描述的任何认证令牌。在一些实施方式中,应用服务器可以包括一个或更多个物理服务器计算机。在一些实施方式中,应用服务器可以适于验证由认证令牌生成的动态凭证,该动态凭证用于将所述认证令牌的用户认证到由所述应用服务器托管的应用中之一或者用于确保与所述所选令牌实例相关联的所述用户与由所述应用服务器托管的应用中之一之间的交互安全。在一些实施方式中,应用服务器验证动态凭证可以包括所述应用服务器将密码验证委托给多个凭证验证服务器(220)中之一。在一些实施方式中,这样的凭证验证服务器可以与将对动态凭证的验证委托给该凭证验证服务器的应用服务器被包括在同一物理计算机中。在一些实施方式中,凭证验证服务器和将对动态凭证的验证委托给该凭证验证服务器的应用服务器可以被包括在不同的物理计算机中。
在系统的第一组实施方式中,系统可以包括先前描述的任何系统,并且系统还可以包括一个或更多个实例加载服务器,多个令牌实例可以被分组成多个(相互分离的)用户实例组,其中每个不同的用户实例组由与同一用户相关联的所有令牌实例组成,并且其中唯一的用户实例组密钥与每个用户实例组相关联,并且多个认证令牌可以被分组成多个令牌批次,其中唯一的批次主密钥与每个令牌批次相关联,其中所述批次主密钥被包括在与所述批次主密钥相关联的令牌批次中包括的每个认证令牌中;实例加载服务器和认证令牌可以适于支持用于将附加令牌实例加载到目标认证令牌中的实例加载处理,实例加载处理包括用于向目标认证令牌传送用户实例组主密钥的值的第一加载处理阶段以及用于向目标认证令牌传送一组实例数据值的第二加载处理阶段;其中在第一加载处理阶段中,第一实例加载服务器生成第一阶段加载消息(在本申请中的其他地方也可以将其称为第一加载消息或者第一用户实例组加载消息),第一阶段加载消息被发送到所述目标认证令牌,并且目标认证令牌接收并处理所述第一阶段加载消息,并且其中在第二加载处理阶段中,第二实例加载服务器生成第二阶段加载消息(在本申请中的其他地方也可以将其称为第二加载消息),第二阶段加载消息被发送到所述目标认证令牌,并且目标认证令牌接收并处理所述第二阶段加载消息;其中第一阶段加载消息包括一组批次相关值,所述令牌批次中的每个令牌批次对应一个批次相关值,每个批次相关值被确定为使得可以根据所述令牌批次中的任何特定令牌批次的批次主密钥以及与该特定令牌批次对应的批次相关值的任何配对来计算用于用户实例组主密钥的同一值,并且其中由目标认证令牌对第一阶段加载消息进行的处理包括:目标认证令牌根据目标令牌中包括的批次主密钥以及第一阶段加载消息中包括的、与所述目标令牌中包括的所述批次主密钥所对应的令牌批次相对应的批次相关值,来计算用户实例组主密钥的值;并且其中第二阶段加载消息包括所述一组实例数据值,其中使用用户实例组主密钥或者从用户实例组主密钥得到的密钥来确保第二阶段加载消息安全,并且其中目标认证令牌可以通过使用目标认证令牌在第一加载处理阶段中获得的用户实例组主密钥的值来从第二阶段加载消息中取回所述一组实例数据值,并且其中目标认证令牌可以通过使用所述取回的一组实例数据值来确定所述附加令牌实例的一组秘密密钥的值,其中附加令牌实例的所述一组秘密密钥可以包括附加令牌实例的秘密凭证生成密钥。
在第二组实施方式中,系统可以包括第一组实施方式中的任何系统,其中第一阶段加载消息中的每个特定批次相关值通过使用与所述特定批次相关值所对应的令牌批次相关联的批次主密钥对用户实例组主密钥进行加密来生成,并且其中目标认证令牌通过使用目标令牌包括中的所述批次主密钥将第一阶段加载消息中包括的、与所述目标令牌中包括的所述批次主密钥所对应的令牌批次相对应的批次相关值解密,来获得用户实例组主密钥的值。
在第三组实施方式中,系统可以包括第一组至第二组实施方式中的系统中的任何系统,其中可以使用用户实例组主密钥对第二阶段加载消息中包括的所述一组实例数据值进行加密,并且其中目标认证令牌可以通过使用目标认证令牌在第一加载处理阶段获得的用户实例组主密钥的值将来自第二阶段加载消息的加密的所述一组实例数据值解密来从第二阶段加载消息中取回所述一组实例数据值。在一些实施方式中,第二阶段加载消息中包括的一组实例数据值可以使用用户实例组主密钥来进行加密,并且目标认证令牌可以通过使用目标认证令牌在第一加载处理阶段中获得的用户实例组主密钥的值将来自第二阶段加载消息的加密的所述一组实例数据值解密来从第二阶段加载消息中取回所述一组实例数据值。在一些实施方式中,第二阶段加载消息中包括的一组实例数据值可以使用从用户实例组主密钥得到的密钥来加密,并且目标认证令牌可以通过使用从目标认证令牌在第一加载处理阶段中获得的用户实例组主密钥的值得到的密钥将来自第二阶段加载消息的加密的所述一组实例数据值解密来从第二阶段加载消息中取回所述一组实例数据值。
在第四组实施方式中,系统可以包括第一组至第三组实施方式中的系统中的任何系统,其中附加令牌实例的秘密凭证生成密钥被包括在第二阶段加载消息中包括的所述一组实例数据值中。
在第五组实施方式中,系统可以包括第一组至第四组实施方式中的系统中的任何系统,其中目标认证令牌根据第二阶段加载消息中包括的所述一组实例数据值来得到附加令牌实例的秘密凭证生成密钥。
在第六组实施方式中,系统可以包括第一组至第五组实施方式中的系统中的任何系统,其中目标认证令牌根据第二阶段加载消息中包括的所述一组实例数据值来确定一个或更多个有效载荷密钥的值,其中所述有效载荷密钥可以随后用于确保在应用服务器与目标认证令牌之间交换的并且被发往所述附加令牌实例或者与所述附加令牌实例有关的后续消息安全。
在第七组实施方式中,系统可以包括第一组至第六组实施方式中的系统中的任何系统,其中第一阶段加载消息或第二阶段加载消息还包括用于标识附加令牌实例的数据元素或者用于标识附加令牌实例的用户实例组的数据元素。
在第八组实施方式中,系统可以包括第一组至第七组实施方式中的系统中的任何系统,其中第一阶段加载消息或第二阶段加载消息还包括附加令牌实例的其他数据元素。
在本发明的第三方面中,提供了一种用于将附加令牌实例加载到多实例认证令牌中的方法。
图3示意性地示出了根据本发明的第三方面的本发明的示例性方法(300)。
在一个实施方式中,该方法可以包括用于将附加令牌实例加载到适于生成动态凭证的多实例目标认证令牌中的方法(300),该方法包括:用于向目标认证令牌传送用户实例组主密钥的值的第一加载处理阶段(301);以及用于向目标认证令牌传送一组实例数据值的第二加载处理阶段(302),其中目标认证令牌被包括在多个令牌批次中的至少一个令牌批次中,其中批次主密钥的值与所述多个令牌批次中的每个令牌批次相关联,并且其中目标认证令牌包括所述多个令牌批次中的包括目标认证令牌的所述至少一个令牌批次的批次主密钥的值。
第一加载处理阶段(301)可以包括:生成(310)第一阶段加载消息,所述第一阶段加载消息的所述生成包括:针对所述令牌批次中的每个令牌批次确定(311)批次相关值,使得可以根据所述令牌批次中的任何特定令牌批次的批次主密钥以及与该特定令牌批次对应的批次相关值的任何配对来计算与附加令牌实例所属的特定实例用户组相关联的用户实例组主密钥的同一值;以及将所述批次相关值包括(312)到第一阶段加载消息中。
第一加载处理阶段(301)还可以包括:在目标认证令牌处接收并处理(320)所述第一阶段加载消息,处理所述第一阶段加载消息包括:目标认证令牌从目标认证令牌可能已经接收到的第一阶段加载消息中取回(321)与下述批次主密钥也对应于的同一令牌批次相对应的批次相关值,该批次主密钥的值被包括在目标认证令牌中;目标认证令牌根据目标认证令牌中包括的所述批次主密钥以及目标认证令牌从第一阶段加载消息中取回的所述批次相关值来计算(322)用户实例组主密钥的值;以及目标认证令牌存储(323)所计算的用户实例组主密钥的值。
第二加载处理阶段(302)可以包括:生成(340)第二阶段加载消息,所述第二阶段加载消息的所述生成包括:生成(341)附加令牌实例的一组实例数据值;将所生成的一组实例数据值包括(342)在第二阶段加载消息中;以及使用所述用户实例组主密钥或者从用户实例组主密钥得到的密钥来确保第二阶段加载消息安全(343)。
第二加载处理阶段(302)还可以包括:在目标认证令牌处接收并处理(350)第二阶段加载消息,处理所述第二阶段加载消息可以包括:通过使用目标认证令牌在第一加载处理阶段计算出的用户实例组主密钥的值,目标认证令牌从其接收到的第二阶段加载消息中取回(351)所述一组实例数据值;以及目标认证令牌通过使用所述取回的一组实例数据值来确定(352)所述附加令牌实例的一组秘密密钥的值,其中附加令牌实例的所述一组秘密密钥可以包括秘密凭证生成密钥,以供认证令牌随后在生成用于所述附加令牌实例的动态凭证时使用。
在该方法的第一组实施方式中,该方法可以包括先前描述的实例加载方法中的任何实例加载方法,并且该方法还可以包括以下步骤。
该方法可以包括预备阶段、用于向目标认证令牌传送用户实例组主密钥的值的第一加载处理阶段以及用于向目标传送一组实例数据值的第二加载处理阶段。
该方法的预备阶段可以包括以下步骤。可以生成批次主密钥的值并且使其与一组令牌批次中的每个令牌批次相关联,其中任何特定令牌批次的批次主密钥的值对于该特定令牌批次可以是唯一的。该步骤可以由批次主密钥生成服务器完成。然后,可以将批次主密钥的值加载到令牌批次的认证令牌中、由令牌批次的认证令牌接收并存储在令牌批次的认证令牌中。该步骤可以例如由令牌初始化设备和认证令牌来完成。可以生成用户实例组主密钥的值并且将其与特定用户实例组相关联,其中该值对于该特定用户实例组可以是唯一的。
第一加载处理阶段可以包括以下步骤。第一实例加载服务器(或者另一实体)可以生成第一阶段加载消息(在本申请中的其他地方也可以称为第一加载消息或第一用户实例组加载消息)。第一阶段加载消息可以被发送到目标认证令牌。这可以例如由第一加载服务器和/或另一实体来完成。目标认证令牌可以接收并且可以处理第一阶段加载消息。
第一加载处理阶段还可以包括以下步骤。可以例如由第一实例加载服务器或另一实体针对所述令牌批次中的每个令牌批次来确定批次相关值,使得可以根据所述令牌批次中的任何特定令牌批次的批次主密钥以及与该特定令牌批次对应的批次相关值的任何配对来计算用户实例组主密钥的同一值。第一实例加载服务器(或另一实体)可以将该组批次相关值包括在第一阶段加载消息中。目标认证令牌可以从目标认证令牌可能已经接收到的第一阶段加载消息中取回下述批次相关值,该批次相关值与目标认证令牌中包括的批次主密钥也对应于的同一令牌批次相对应。然后,目标认证令牌可以根据目标认证令牌中包括的批次主密钥以及目标认证令牌可能已取回的批次相关值来计算用户实例组主密钥的值。然后,目标认证令牌可以存储所获得的用户实例组主密钥的值。
第二加载处理阶段可以包括以下步骤。第二实例加载服务器(或另一实体)可以生成第二阶段加载消息(在本申请中的其他地方也可以称为第二加载消息)。第二阶段加载消息可以被发送到目标认证令牌。这可以例如由第二第一加载服务器和/或另一实体来完成。目标认证令牌可以接收并且可以处理第二阶段加载消息。
第二加载处理阶段还可以包括以下步骤。可以例如由第二实例加载服务器或另一实体针对附加令牌实例生成一组实例数据值。所生成的一组实例数据值可以例如由第二实例加载服务器或另一实体包括在第二阶段加载消息中。可以例如由第二实例加载服务器或另一实体使用用户实例组主密钥或者从用户实例组主密钥得到的密钥来确保第二阶段加载消息安全。目标认证令牌可以通过使用目标认证令牌可能在第一加载处理阶段获得的用户实例组主密钥的值来从其接收到的第二阶段加载消息中取回所述一组实例数据值。目标认证令牌可以通过使用所述取回的一组实例数据值来确定所述附加令牌实例的一组秘密密钥的值,其中附加令牌实例的所述一组秘密密钥可以包括附加令牌实例的秘密凭证生成密钥。
在第二组实施方式中,该方法可以包括第一组实施方式中的任何方法,因此所述第一阶段加载消息中的每个特定的批次相关值可以通过使用和与所述特定的批次相关值对应的令牌批次相关联的批次主密钥对用户实例组主密钥进行加密来生成,并且其中目标认证令牌通过使用目标令牌中包括的所述批次主密钥将第一阶段加载消息中包括的、与所述目标令牌中包括的所述批次主密钥所对应的令牌批次相对应的批次相关值解密,来获得用户实例组主密钥的值。
在第三组实施方式中,该方法可以包括第一组至第二组实施方式中的任何方法,其中第二阶段加载消息中包括的所述一组实例数据值可以使用用户实例组主密钥来加密,并且其中目标认证令牌可以通过使用目标认证令牌在第一加载处理阶段获得的用户实例组主密钥的值将来自第二阶段加载消息的加密的所述一组实例数据值解密来从第二阶段加载消息中取回所述一组实例数据值。在一些实施方式中,第二阶段加载消息中包括的一组实例数据值可以用用户实例组主密钥来加密,并且目标认证令牌可以通过使用目标认证令牌在第一加载处理阶段可能获得的用户实例组主密钥的值将来自第二阶段加载消息的加密的所述一组实例数据值解密来从第二阶段加载消息中取回所述一组实例数据值。在一些实施方式中,第二阶段加载消息中包括的一组实例数据值可以使用从用户实例组主密钥得到的密钥来加密,并且目标认证令牌可以通过使用从目标认证令牌可能在第一加载处理阶段获得的用户实例组主密钥的值得到的密钥将来自第二阶段加载消息的加密的所述一组实例数据值解密来从第二阶段加载消息中取回所述一组实例数据值。
在第四组实施方式中,该方法可以包括第一组至第三组实施方式中的任何方法,其中附加令牌实例的秘密凭证生成密钥可以被包括在第二阶段加载消息中包括的所述一组实例数据值中。
在第五组实施方式中,该方法可以包括第一组至第四组实施方式中的任何方法,其中目标认证令牌可以从第二阶段加载消息中包括的所述一组实例数据值得到附加令牌实例的秘密凭证生成密钥。
在第六组实施方式中,该方法可以包括第一组至第五组实施方式中的任何方法,其中目标认证令牌可以根据第二阶段加载消息中包括的所述一组实例数据值确定一个或更多个有效载荷密钥的值,其中所述有效载荷密钥可以随后用于确保可以在应用服务器与目标认证令牌之间交换的并且可以被发往所述附加令牌实例或者与所述附加令牌实例有关的后续消息安全。
在第七组实施方式中,该方法可以包括第一组至第六组实施方式中的任何方法,其中第一阶段加载消息或第二阶段加载消息还可以包括用于标识附加令牌实例的数据元素或者用于标识附加令牌实例的用户实例组的数据元素。
在第八组实施方式中,该方法可以包括第一组至第七组实施方式中的任何方法,其中第一阶段加载消息或第二阶段加载消息还包括附加令牌实例的其他数据元素。
已经描述了多个实现方式。然而,应当理解,可以进行各种修改。例如,可以对一个或更多个实现方式的元素进行组合、删除、修改或补充以形成另外的实现方式。因此,其他实现方式落入所附权利要求的范围内。此外,尽管本发明的特定特征可能仅针对若干实现方式中的一个而被公开,但是这样的特征可以与对于任何给定的或特定的应用可能期望或是有利的其他实现方式的一个或更多个其他特征进行组合。虽然上面已经描述了本发明的各种实施方式,但是应当理解,这些实施方式仅以示例而不是限制的方式来呈现。特别地,当然不可能为了描述所要求保护的主题的目的而描述部件或方法的每个可以想到的组合,但是本领域普通技术人员可以认识到,本发明的许多另外的组合和排列是可能的。因此,本发明的广度和范围不应受上述任何示例性实施方式的限制;相反,本发明的至少一个实施方式的范围仅根据所附权利要求及其等同方案来限定。
Claims (46)
1.一种用于对有至少两个不同用户的多个用户进行认证或用于确保所述有至少两个不同用户的多个用户与多个能够远程访问的应用之间的交互安全的系统,所述系统包括:
一个或更多个应用服务器;
多个接入客户端设备,所述多个接入客户端设备通过计算机网络连接至所述应用服务器,使得所述应用服务器和所述接入客户端设备能够彼此通信;以及
多个认证令牌,一个或更多个认证令牌与每个用户相关联;以及
在所述多个认证令牌中的至少一个中的多个令牌实例,每个令牌实例包括实例数据并且与所述有至少两个不同用户的多个用户中的单个用户相关联;
其中所述应用服务器中的每一个托管所述多个能够远程访问的应用中的至少一个应用,所述接入客户端设备中的每一个适于与所述有至少两个不同用户的多个用户中的一个或更多个用户交互,以使得所述一个或更多个用户能够与所述多个能够远程访问的应用中的至少一个应用交互;
其中每个认证令牌包括一个或更多个令牌实例,并且所述多个认证令牌中的至少一个认证令牌包括至少两个不同的分别与两个不同用户相关联的令牌实例;
其中至少一个不同的令牌实例与所述有至少两个不同用户的多个用户中的每一个用户相关联,并且
其中所述多个认证令牌中的每个特定认证令牌适于使用所述特定认证令牌中所包括的所选令牌实例的实例数据中包括的或从所述实例数据得到的秘密凭证生成密钥来生成动态凭证,以针对所述应用中的一个应用对与所述所选令牌实例相关联的用户进行认证,或确保与所述所选令牌实例相关联的用户与所述应用中的所述一个应用之间的交互安全。
2.根据权利要求1所述的系统,还包括:
一个或更多个实例加载服务器,其中,所述多个令牌实例被分组成多个相互分离的用户实例组,其中每个不同的用户实例组包括与同一用户相关联的令牌实例,并且其中唯一的用户实例组密钥与每个用户实例组相关联,并且所述多个认证令牌被分组成多个令牌批次,其中唯一的批次主密钥与每个令牌批次相关联,其中所述批次主密钥被包括在与所述批次主密钥相关联的令牌批次中所包括的每个认证令牌中;
其中,所述实例加载服务器和所述认证令牌适于支持用于将附加令牌实例加载到所述多个认证令牌中的目标认证令牌中的实例加载处理,所述实例加载处理包括用于将用户实例组主密钥的值传送至所述目标认证令牌的第一加载处理阶段和用于将一组实例数据值传送至所述目标认证令牌的第二加载处理阶段;
其中在所述第一加载处理阶段中,第一实例加载服务器生成第一阶段加载消息,所述第一阶段加载消息被发送至所述目标认证令牌,并且所述目标认证令牌对所述第一阶段加载消息进行接收和处理,并且其中在所述第二加载处理阶段中,第二实例加载服务器生成第二阶段加载消息,所述第二阶段加载消息被发送至所述目标认证令牌,并且所述目标认证令牌对所述第二阶段加载消息进行接收和处理;
其中所述第一阶段加载消息包括一组批次相关值,所述令牌批次中的每一个批次对应一个批次相关值,每个批次相关值被确定成使得能够根据所述令牌批次中的任何特定令牌批次的批次主密钥和与所述特定令牌批次相对应的批次相关值的任何配对来计算所述用户实例组主密钥的同一值,并且其中所述目标认证令牌对所述第一阶段加载消息的处理包括:所述目标认证令牌根据所述目标认证令牌中包括的批次主密钥和所述第一阶段加载消息中包括的、与所述目标认证令牌中包括的所述批次主密钥也对应于的令牌批次相对应的批次相关值,来计算所述用户实例组主密钥的值;并且
其中所述第二阶段加载消息包括所述一组实例数据值,其中使用所述用户实例组主密钥或从所述用户实例组主密钥得到的密钥来确保所述第二阶段加载消息安全,并且其中所述目标认证令牌通过使用所述目标认证令牌在所述第一加载处理阶段中获得的所述用户实例组主密钥的值来从所述第二阶段加载消息中取回所述一组实例数据值,并且其中所述目标认证令牌通过使用取回的所述一组实例数据值来确定所述附加令牌实例的一组秘密密钥的值,其中所述附加令牌实例的所述一组秘密密钥包括所述附加令牌实例的秘密凭证生成密钥。
3.根据权利要求2所述的系统,其中,所述第一阶段加载消息中的每个特定批次相关值通过使用与所述特定批次相关值所对应的令牌批次相关联的批次主密钥对所述用户实例组主密钥进行加密来生成,并且其中所述目标认证令牌通过使用所述目标认证令牌中包括的所述批次主密钥将所述第一阶段加载消息中包括的、与所述目标认证令牌中包括的所述批次主密钥也对应于的令牌批次相对应的批次相关值解密,来获得所述用户实例组主密钥的值。
4.根据权利要求2所述的系统,其中,使用所述用户实例组主密钥对所述第二阶段加载消息中包括的所述一组实例数据值进行加密,并且其中所述目标认证令牌通过使用所述目标认证令牌在所述第一加载处理阶段中获得的所述用户实例组主密钥的值将来自所述第二阶段加载消息的加密的所述一组实例数据值解密,来从所述第二阶段加载消息中取回所述一组实例数据值。
5.根据权利要求2所述的系统,其中,使用所述用户实例组主密钥对所述第二阶段加载消息中包括的所述一组实例数据值进行加密,并且所述目标认证令牌通过使用所述目标认证令牌在所述第一加载处理阶段中获得的所述用户实例组主密钥的值将来自所述第二阶段加载消息的加密的所述一组实例数据值解密,来从所述第二阶段加载消息中取回所述一组实例数据值。
6.根据权利要求2所述的系统,其中,使用从所述用户实例组主密钥得到的密钥对所述第二阶段加载消息中包括的所述一组实例数据值进行加密,并且所述目标认证令牌通过使用从所述目标认证令牌在所述第一加载处理阶段中获得的所述用户实例组主密钥的值得到的密钥将来自所述第二阶段加载消息的加密的所述一组实例数据值解密,来从所述第二阶段加载消息中取回所述一组实例数据值。
7.根据权利要求2所述的系统,其中,所述附加令牌实例的秘密凭证生成密钥被包括在所述第二阶段加载消息中包含的所述一组实例数据值中。
8.根据权利要求2所述的系统,其中,所述目标认证令牌从所述第二阶段加载消息中包括的所述一组实例数据值得到所述附加令牌实例的秘密凭证生成密钥。
9.根据权利要求2所述的系统,其中,所述目标认证令牌根据所述第二阶段加载消息中包括的所述一组实例数据值来确定一个或更多个有效载荷密钥的值,其中所述有效载荷密钥随后被用于确保在应用服务器与所述目标认证令牌之间交换的并且目的地是所述附加令牌实例或与所述附加令牌实例有关的后续消息安全。
10.根据权利要求2所述的系统,其中,所述第一阶段加载消息或所述第二阶段加载消息还包括标识所述附加令牌实例的数据元素或标识所述附加令牌实例的用户实例组的数据元素。
11.根据权利要求2所述的系统,其中,所述第一阶段加载消息或所述第二阶段加载消息还包括所述附加令牌实例的其他数据元素。
12.一种用于对多于一个的用户进行认证或用于确保所述多于一个的用户与一个或更多个应用之间的交互安全的认证令牌,所述认证令牌包括:
多个令牌实例,每个令牌实例包括实例数据,并且每个令牌实例与所述认证令牌的有至少两个不同用户的多个用户中的一个用户相关联,其中,至少一个不同的令牌实例与所述有至少两个不同用户的多个用户中的每一个用户相关联,
其中,所述认证令牌适于使用所述多个令牌实例中的所选令牌实例的实例数据中包括的或从所述实例数据得到的秘密凭证生成密钥来生成动态凭证,以对与所述所选令牌实例相关联的用户进行认证,或确保与所述所选令牌实例相关联的所述用户与一个或更多个应用之间的交互安全。
13.根据权利要求12所述的认证令牌,其中,所述认证令牌还适于接收服务器消息并且对所述服务器消息进行解码和处理。
14.根据权利要求13所述的认证令牌,其中,接收到的服务器消息是针对所述多个令牌实例中的特定目标令牌实例的,并且其中所述认证令牌还适于在不使用所述认证令牌的用户的输入的情况下基于所述接收到的服务器消息来自主地确定和选择所述目标令牌实例。
15.根据权利要求14所述的认证令牌,其中,所述认证令牌还适于使用所述接收到的服务器消息中的令牌实例标识数据元素来确定和选择所述目标令牌实例。
16.根据权利要求14所述的认证令牌,其中,所述认证令牌还适于通过使用由与所述多个令牌实例中的候选令牌实例相关联的密码有效载荷密钥参数化的密码算法对所述接收到的服务器消息的密码保护元素或方面进行验证,来确定和选择所述目标令牌实例,其中所述认证令牌适于在所述验证成功的情况下将所述候选令牌实例选择作为所述目标令牌实例。
17.根据权利要求16所述的认证令牌,其中,所述认证令牌还适于:循环通过所述多个令牌实例,并且逐个考虑或尝试将所述多个令牌实例中的每一个作为候选令牌实例,至少直至使用任何候选令牌实例对所述接收到的服务器消息的密码保护元素或方面进行的所述验证产生所述验证成功的候选令牌实例为止,或直至对于所述多个令牌实例中的任何令牌实例而言使用所述多个令牌实例中的所有令牌实例对所述接收到的服务器消息的密码保护元素或方面进行的所述验证都不成功为止。
18.根据权利要求17所述的认证令牌,其中,所述认证令牌还适于选择对所述接收到的服务器消息的密码保护元素或方面的所述验证成功的第一令牌实例。
19.根据权利要求17所述的认证令牌,其中,所述认证令牌还适于:在所述认证令牌未找到对所述接收到的服务器消息的密码保护元素或方面的所述验证成功的候选令牌实例的情况下,拒绝所述服务器消息。
20.根据权利要求17所述的认证令牌,其中,所述多个令牌实例中的每个令牌实例相对于所述多个令牌实例中的其他令牌实例的有效载荷密钥值而言对于所述有效载荷密钥具有唯一值。
21.根据权利要求13所述的认证令牌,其中,所述接收到的服务器消息包括凭证生成命令消息,并且所述认证令牌还适于响应于所述凭证生成命令消息来生成所述动态凭证。
22.根据权利要求13所述的认证令牌,其中,所述接收到的服务器消息包括凭证生成命令消息,并且所述认证令牌还适于响应于所述凭证生成命令消息来生成所述动态凭证,并且所述所选令牌实例是所述接收到的服务器消息所针对的目标令牌实例。
23.根据权利要求12所述的认证令牌,其中,所述认证令牌还适于在动态凭证的生成过程中使用对称密码算法,所述对称密码算法由所述秘密凭证生成密钥参数化,所述秘密凭证生成密钥包括对称秘密密钥。
24.根据权利要求12所述的认证令牌,还适于接收附加令牌实例,
其中所述认证令牌被包括在多个令牌批次中的至少一个令牌批次中,其中批次主密钥的值与所述多个令牌批次中的每个令牌批次相关联,并且其中所述认证令牌包括所述多个令牌批次中的包含所述认证令牌的所述至少一个令牌批次的批次主密钥的值;
所述认证令牌还适于:作为用于将用户实例组主密钥的值发送至所述认证令牌的第一加载处理阶段的一部分,对包括一组批次相关值的第一阶段加载消息进行接收和处理,所述令牌批次中的每一个批次对应一个批次相关值,其中每个批次相关值的值被确定成使得能够根据所述令牌批次中的任何特定令牌批次的批次主密钥和与所述特定令牌批次相对应的批次相关值的任何配对来计算所述用户实例组主密钥的同一值,其中所述认证令牌对所述第一阶段加载消息进行处理包括:
所述认证令牌从所述认证令牌接收到的所述第一阶段加载消息中取回与下述批次主密钥也对应于的同一令牌批次相对应的批次相关值,所述批次主密钥的值被包括在所述认证令牌中;
所述认证令牌根据所述认证令牌中包括的所述批次主密钥和所述认证令牌从所述第一阶段加载消息中取回的所述批次相关值来计算所述用户实例组主密钥的值;以及
所述认证令牌存储所计算的所述用户实例组主密钥的值;
所述认证令牌还适于:作为用于将附加令牌实例的一组实例数据值传送至所述认证令牌的第二加载处理阶段的一部分,对第二阶段加载消息进行接收和处理,所述第二阶段加载消息包括所述附加令牌实例的所述一组实例数据值并且使用所述用户实例组主密钥或从所述用户实例组主密钥得到的密钥来确保安全,其中,所述认证令牌对所述第二阶段加载消息进行处理包括:
所述认证令牌通过使用所述认证令牌在所述第一加载处理阶段中计算的所述用户实例组主密钥的值从所述认证令牌接收到的所述第二阶段加载消息中取回所述一组实例数据值;以及
所述认证令牌通过使用取回的所述一组实例数据值来确定所述附加令牌实例的一组秘密密钥的值,其中所述附加令牌实例的所述一组秘密密钥包括供所述认证令牌随后在生成用于所述附加令牌实例的动态凭证时使用的秘密凭证生成密钥。
25.根据权利要求12所述的认证令牌,其中,所述认证令牌还适于支持用于移除所述多个令牌实例中的至少一个废弃令牌实例的实例移除处理。
26.根据权利要求25所述的认证令牌,其中,所述认证令牌还适于向所述用户呈现供所述用户发起所述实例移除处理的菜单选项。
27.根据权利要求25所述的认证令牌,其中,所述认证令牌还适于向所述用户呈现供所述用户选择所述用户想要所述认证令牌移除的所述废弃令牌实例的菜单。
28.根据权利要求25所述的认证令牌,其中,所述认证令牌还适于对实例移除命令消息进行接收和处理,其中,对接收到的实例移除命令消息的所述处理包括响应于所述接收到的实例移除命令消息来移除要移除的所述至少一个废弃令牌实例。
29.根据权利要求28所述的认证令牌,其中,所述认证令牌还适于基于所述接收到的实例移除命令消息来自主地选择要对其执行实例移除处理的所述至少一个废弃令牌实例。
30.根据权利要求12所述的认证令牌,其中,所述认证令牌还适于将所述多个令牌实例中的至少一个受保护令牌实例的使用保留给与所述至少一个受保护令牌实例相关联的用户。
31.根据权利要求30所述的认证令牌,其中,所述至少一个受保护令牌实例的实例数据包括用户凭证参考数据,并且其中所述认证令牌还适于:从所述用户接收用户凭证,将从所述用户接收的所述用户凭证与所述用户凭证参考数据进行比较,并且在所接收到的用户凭证与所述用户凭证参考数据匹配的情况下允许所述用户使用所述至少一个受保护令牌实例,以及在所接收到的用户凭证与所述用户凭证参考数据不匹配的情况下拒绝所述用户使用所述至少一个受保护令牌实例。
32.根据权利要求31所述的认证令牌,其中,所述用户凭证参考数据包括口令参考值,并且所述用户凭证包括口令值。
33.根据权利要求32所述的认证令牌,其中,所述认证令牌还适于支持允许所述用户更改所述至少一个受保护令牌实例的所述用户凭证参考数据的口令更改处理。
34.根据权利要求33所述的认证令牌,其中,所述认证令牌还适于向所述用户呈现供所述用户发起所述口令更改处理的菜单选项。
35.根据权利要求34所述的认证令牌,其中,所述认证令牌还能够适于向所述用户呈现供所述用户选择所述用户想要所述认证令牌对其执行所述口令更改处理的所述至少一个受保护令牌实例的菜单。
36.根据权利要求32所述的认证令牌,其中,所述认证令牌还适于对口令更改命令消息进行接收和处理,其中,对接收到的口令更改命令消息的所述处理包括响应于所述接收到的口令更改命令消息来发起和执行所述口令更改处理。
37.根据权利要求36所述的认证令牌,其中,所述认证令牌还适于基于所述接收到的口令更改命令消息来自主地选择要对其执行所述口令更改处理的所述至少一个受保护令牌实例。
38.根据权利要求32所述的认证令牌,其中,所述认证令牌还适于在所述用户针对所述至少一个受保护令牌实例提供了与所述至少一个受保护令牌实例的口令参考值不匹配的多个次数的口令值由此所述次数超过预定口令尝试计数器阈值的情况下,锁定所述至少一个受保护令牌实例。
39.根据权利要求38所述的认证令牌,其中,所述认证令牌还适于支持口令解锁处理,所述口令解锁处理允许所述用户撤销对锁定的至少一个受保护令牌实例的所述锁定。
40.根据权利要求39所述的认证令牌,其中,所述认证令牌还适于向所述用户呈现供所述用户发起所述口令解锁处理的菜单选项。
41.根据权利要求40所述的认证令牌,其中,所述认证令牌还适于向所述用户呈现供所述用户选择所述用户想要所述认证令牌对其执行所述口令解锁处理的锁定的至少一个受保护令牌实例的菜单。
42.根据权利要求41所述的认证令牌,其中,所述认证令牌还适于对口令解锁命令消息进行接收和处理,其中,对接收到的口令解锁命令消息的所述处理包括响应于所述接收到的口令解锁命令消息来发起和执行所述口令解锁处理。
43.根据权利要求41所述的认证令牌,其中,所述认证令牌还适于基于接收到的口令解锁命令消息来自主地选择要对其执行所述口令解锁处理的锁定的至少一个受保护令牌实例。
44.一种用于将附加令牌实例加载到适于生成动态凭证的多实例目标认证令牌中的方法,所述方法包括用于将用户实例组主密钥的值传送至目标认证令牌的第一加载处理阶段和用于将一组实例数据值传送至所述目标认证令牌的第二加载处理阶段,
其中所述目标认证令牌被包括在多个令牌批次中的至少一个令牌批次中,其中批次主密钥的值与所述多个令牌批次中的每个令牌批次相关联,并且其中所述目标认证令牌包括所述多个令牌批次中的包含所述目标认证令牌的所述至少一个令牌批次的批次主密钥的值;
所述第一加载处理阶段包括:
生成第一阶段加载消息,所述第一阶段加载消息的所述生成包括:
针对所述令牌批次中的每一个批次确定批次相关值,使得能够根据所述令牌批次中的任何特定令牌批次的批次主密钥和与所述特定令牌批次相对应的批次相关值的任何配对来计算与所述附加令牌实例所属的特定实例用户组相关联的用户实例组主密钥的同一值,
将所述批次相关值包括在所述第一阶段加载消息中;
在所述目标认证令牌处对所述第一阶段加载消息进行接收和处理,对所述第一阶段加载消息进行处理包括:
所述目标认证令牌从所述目标认证令牌接收到的所述第一阶段加载消息中取回与下述批次主密钥也对应于的同一令牌批次相对应的批次相关值,所述批次主密钥的值被包括在所述目标认证令牌中;
所述目标认证令牌根据所述目标认证令牌中包括的所述批次主密钥和所述目标认证令牌从所述第一阶段加载消息中取回的所述批次相关值来计算所述用户实例组主密钥的值;以及
所述目标认证令牌存储所计算的所述用户实例组主密钥的值;
所述第二加载处理阶段包括:
生成第二阶段加载消息,所述第二阶段加载消息的所述生成包括:
生成所述附加令牌实例的一组实例数据值;
将生成的所述一组实例数据值包括在所述第二阶段加载消息中;以及
使用所述用户实例组主密钥或从所述用户实例组主密钥得到的密钥来确保所述第二阶段加载消息安全;
在所述目标认证令牌处对所述第二阶段加载消息进行接收和处理,对所述第二阶段加载消息进行处理包括:
所述目标认证令牌通过使用所述目标认证令牌在所述第一加载处理阶段中计算的所述用户实例组主密钥的值从所述目标认证令牌接收到的所述第二阶段加载消息中取回所述一组实例数据值;以及
所述目标认证令牌通过使用取回的所述一组实例数据值来确定所述附加令牌实例的一组秘密密钥的值,其中所述附加令牌实例的所述一组秘密密钥包括供所述认证令牌随后在生成用于所述附加令牌实例的动态凭证时使用的秘密凭证生成密钥。
45.一种用于将附加令牌实例加载到适于生成动态凭证的多实例目标认证令牌中的方法,所述方法包括用于将用户实例组主密钥的值传送至目标认证令牌的第一加载处理阶段和用于将一组实例数据值传送至所述目标认证令牌的第二加载处理阶段,
其中所述目标认证令牌被包括在多个令牌批次中的至少一个令牌批次中,其中批次主密钥的值与所述多个令牌批次中的每个令牌批次相关联,并且其中所述目标认证令牌包括所述多个令牌批次中的包含所述目标认证令牌的所述至少一个令牌批次的批次主密钥的值;
所述第一加载处理阶段包括:
生成第一阶段加载消息,所述第一阶段加载消息的所述生成包括:
针对所述令牌批次中的每一个批次确定批次相关值,使得能够根据所述令牌批次中的任何特定令牌批次的批次主密钥和与所述特定令牌批次相对应的批次相关值的任何配对来计算与所述附加令牌实例所属的特定实例用户组相关联的用户实例组主密钥的同一值,以及
将所述批次相关值包括在所述第一阶段加载消息中;
将所述第一阶段加载消息发送至所述目标认证令牌;
所述第二加载处理阶段包括:
生成第二阶段加载消息,所述第二阶段加载消息的所述生成包括:
生成所述附加令牌实例的一组实例数据值;
将生成的所述一组实例数据值包括在所述第二阶段加载消息中;以及
使用所述用户实例组主密钥或从所述用户实例组主密钥得到的密钥来确保所述第二阶段加载消息安全;
将所述第二阶段加载消息发送至所述目标认证令牌。
46.一种用于将附加令牌实例接收到适于生成动态凭证的多实例目标认证令牌中的方法,所述方法包括用于将用户实例组主密钥的值传送至目标认证令牌的第一加载处理阶段和用于将所述附加令牌实例的一组实例数据值传送至所述目标认证令牌的第二加载处理阶段,
其中所述目标认证令牌被包括在多个令牌批次中的至少一个令牌批次中,其中批次主密钥的值与所述多个令牌批次中的每个令牌批次相关联,并且其中所述目标认证令牌包括所述多个令牌批次中的包含所述目标认证令牌的所述至少一个令牌批次的批次主密钥的值;
所述第一加载处理阶段包括:所述目标认证令牌对包括一组批次相关值的第一阶段加载消息进行接收和处理,所述令牌批次中的每一个批次对应一个批次相关值,其中每个批次相关值的值被确定成使得能够根据所述令牌批次中的任何特定令牌批次的批次主密钥和与所述特定令牌批次相对应的批次相关值的任何配对来计算所述用户实例组主密钥的同一值,对所述第一阶段加载消息进行处理包括:
所述目标认证令牌从所述目标认证令牌接收到的所述第一阶段加载消息中取回与下述批次主密钥也对应于的同一令牌批次相对应的批次相关值,所述批次主密钥的值被包括在所述目标认证令牌中;
所述目标认证令牌根据所述目标认证令牌中包括的所述批次主密钥和所述目标认证令牌从所述第一阶段加载消息中取回的所述批次相关值来计算所述用户实例组主密钥的值;以及
所述目标认证令牌存储所计算的所述用户实例组主密钥的值;
所述第二加载处理阶段包括:所述目标认证令牌对第二阶段加载消息进行接收和处理,所述第二阶段加载消息包括所述附加令牌实例的所述一组实例数据值并且使用所述用户实例组主密钥或从所述用户实例组主密钥得到的密钥来确保安全,对所述第二阶段加载消息进行处理包括:
所述目标认证令牌通过使用所述目标认证令牌在所述第一加载处理阶段中计算的所述用户实例组主密钥的值来从所述目标认证令牌接收到的所述第二阶段加载消息中取回所述一组实例数据值;以及
所述目标认证令牌通过使用取回的所述一组实例数据值来确定所述附加令牌实例的一组秘密密钥的值,其中所述附加令牌实例的所述一组秘密密钥包括供所述认证令牌随后在生成用于所述附加令牌实例的动态凭证时使用的秘密凭证生成密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010645823.5A CN111884806B (zh) | 2014-10-31 | 2015-10-30 | 用于认证用户或确保交互安全的系统和硬件认证令牌 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462073457P | 2014-10-31 | 2014-10-31 | |
US62/073,457 | 2014-10-31 | ||
PCT/US2015/058365 WO2016114841A1 (en) | 2014-10-31 | 2015-10-30 | A multi-user strong authentication token |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010645823.5A Division CN111884806B (zh) | 2014-10-31 | 2015-10-30 | 用于认证用户或确保交互安全的系统和硬件认证令牌 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107113175A CN107113175A (zh) | 2017-08-29 |
CN107113175B true CN107113175B (zh) | 2020-08-04 |
Family
ID=55953359
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580071306.9A Active CN107113175B (zh) | 2014-10-31 | 2015-10-30 | 多用户强认证令牌 |
CN202010645823.5A Active CN111884806B (zh) | 2014-10-31 | 2015-10-30 | 用于认证用户或确保交互安全的系统和硬件认证令牌 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010645823.5A Active CN111884806B (zh) | 2014-10-31 | 2015-10-30 | 用于认证用户或确保交互安全的系统和硬件认证令牌 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10205711B2 (zh) |
EP (2) | EP3787226B1 (zh) |
CN (2) | CN107113175B (zh) |
ES (1) | ES2953529T3 (zh) |
WO (1) | WO2016114841A1 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140207686A1 (en) * | 2013-01-21 | 2014-07-24 | Humetrix.Com, Inc. | Secure real-time health record exchange |
US10430894B2 (en) | 2013-03-21 | 2019-10-01 | Khoros, Llc | Gamification for online social communities |
US10541996B1 (en) * | 2015-06-15 | 2020-01-21 | National Technology & Engineering Solutions Of Sandia, Llc | Methods and systems for authenticating identity |
US10505957B2 (en) * | 2015-12-29 | 2019-12-10 | Oath Inc. | User verification |
US10127399B1 (en) * | 2015-12-29 | 2018-11-13 | EMC IP Holding Company LLC | Secrets as a service |
US10348713B2 (en) * | 2016-09-16 | 2019-07-09 | Oracle International Corporation | Pluggable authentication for enterprise web application |
US10462124B2 (en) | 2016-12-30 | 2019-10-29 | Google Llc | Authenticated session management across multiple electronic devices using a virtual session manager |
US10541992B2 (en) * | 2016-12-30 | 2020-01-21 | Google Llc | Two-token based authenticated session management |
CN108696868B (zh) * | 2017-03-01 | 2020-06-19 | 西安西电捷通无线网络通信股份有限公司 | 用于网络连接的凭证信息的处理方法和装置 |
EP3376421A1 (en) * | 2017-03-17 | 2018-09-19 | Gemalto Sa | Method for authenticating a user and corresponding device, first and second servers and system |
DE102017105771A1 (de) * | 2017-03-17 | 2018-09-20 | Deutsche Telekom Ag | Verfahren zur Zugangskontrolle |
CA3005598C (en) | 2017-05-22 | 2022-05-24 | Hussein Talaat Mouftah | Methods and systems for conjugated authentication and authorization |
KR101981942B1 (ko) * | 2017-08-30 | 2019-05-24 | (주)와이브레인 | 두뇌자극장치의 사용 권한을 설정하는 방법 및 이를 구현하는 장치 |
US10346449B2 (en) | 2017-10-12 | 2019-07-09 | Spredfast, Inc. | Predicting performance of content and electronic messages among a system of networked computing devices |
US10999278B2 (en) | 2018-10-11 | 2021-05-04 | Spredfast, Inc. | Proxied multi-factor authentication using credential and authentication management in scalable data networks |
US11570128B2 (en) | 2017-10-12 | 2023-01-31 | Spredfast, Inc. | Optimizing effectiveness of content in electronic messages among a system of networked computing device |
US11470161B2 (en) * | 2018-10-11 | 2022-10-11 | Spredfast, Inc. | Native activity tracking using credential and authentication management in scalable data networks |
US10650130B2 (en) | 2017-11-06 | 2020-05-12 | Ubs Business Solutions Ag | System and method for facilitating authentication via a short-range wireless token |
US11861025B1 (en) | 2018-01-08 | 2024-01-02 | Rankin Labs, Llc | System and method for receiving and processing a signal within a TCP/IP protocol stack |
US11689543B2 (en) | 2018-08-10 | 2023-06-27 | Rankin Labs, Llc | System and method for detecting transmission of a covert payload of data |
FR3085777B1 (fr) * | 2018-09-12 | 2020-10-09 | Idemia Identity & Security France | Procede et systeme de vote electronique a identification biometrique |
CN109302422B (zh) * | 2018-11-22 | 2022-02-25 | 北京顺丰同城科技有限公司 | 一种登录移动应用的方法、移动终端、电子设备、系统及存储介质 |
US11917061B2 (en) * | 2019-04-26 | 2024-02-27 | Barbara Jean Wilk | Decentralized and/or hybrid decentralized secure cryptographic key storage method |
US11477182B2 (en) * | 2019-05-07 | 2022-10-18 | International Business Machines Corporation | Creating a credential dynamically for a key management protocol |
US11055166B2 (en) * | 2019-05-28 | 2021-07-06 | Rankin Labs, Llc | Covertly storing a payload of data within a network |
US11729184B2 (en) | 2019-05-28 | 2023-08-15 | Rankin Labs, Llc | Detecting covertly stored payloads of data within a network |
CN110912794B (zh) * | 2019-11-15 | 2021-07-16 | 国网安徽省电力有限公司安庆供电公司 | 基于令牌集的近似匹配策略 |
US11366891B2 (en) * | 2019-11-25 | 2022-06-21 | Jpmorgan Chase Bank, N.A. | Method and system for facilitating an identification of an application |
WO2021113626A1 (en) | 2019-12-06 | 2021-06-10 | John Rankin | High-level programming language which utilizes virtual memory |
IL274674A (en) * | 2020-05-14 | 2021-12-01 | Zion Kopelovitz Ben | System and method to support message authentication |
US11438289B2 (en) | 2020-09-18 | 2022-09-06 | Khoros, Llc | Gesture-based community moderation |
US11714629B2 (en) | 2020-11-19 | 2023-08-01 | Khoros, Llc | Software dependency management |
DE102021000603A1 (de) | 2021-02-05 | 2022-08-11 | Giesecke+Devrient Mobile Security Gmbh | Chip-Initialisierung mit Betriebssystemladen |
US20230046788A1 (en) * | 2021-08-16 | 2023-02-16 | Capital One Services, Llc | Systems and methods for resetting an authentication counter |
US11895101B2 (en) * | 2021-11-22 | 2024-02-06 | Dell Products, L.P. | Machine learning development hub |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101765996A (zh) * | 2007-05-31 | 2010-06-30 | 威斯科数据安全国际有限公司 | 远程认证和交易签名 |
CN101999132A (zh) * | 2008-03-11 | 2011-03-30 | 威斯科数据安全国际有限公司 | 在服务器凭证验证时生成一次性口令和签名的强认证令牌 |
US8245292B2 (en) * | 2005-11-16 | 2012-08-14 | Broadcom Corporation | Multi-factor authentication using a smartcard |
CN102648610A (zh) * | 2009-10-23 | 2012-08-22 | 威斯科数据安全国际有限公司 | 能够与多个独立的应用提供者一起使用的强认证令牌 |
CN103415855A (zh) * | 2010-06-16 | 2013-11-27 | 威斯科数据安全国际有限公司 | 大容量存储设备存储器加密方法、系统及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8166296B2 (en) * | 2004-10-20 | 2012-04-24 | Broadcom Corporation | User authentication system |
US8370638B2 (en) * | 2005-02-18 | 2013-02-05 | Emc Corporation | Derivative seeds |
US7900247B2 (en) * | 2005-03-14 | 2011-03-01 | Microsoft Corporation | Trusted third party authentication for web services |
EP1811421A1 (en) * | 2005-12-29 | 2007-07-25 | AXSionics AG | Security token and method for authentication of a user with the security token |
CN104662864B (zh) * | 2012-08-03 | 2018-03-09 | 威斯科数据安全国际有限公司 | 使用了移动认证应用的用户方便的认证方法和装置 |
US9286455B2 (en) * | 2012-10-04 | 2016-03-15 | Msi Security, Ltd. | Real identity authentication |
US9124569B2 (en) * | 2013-06-14 | 2015-09-01 | Microsoft Technology Licensing, Llc | User authentication in a cloud environment |
-
2015
- 2015-10-30 EP EP20175565.9A patent/EP3787226B1/en active Active
- 2015-10-30 EP EP15858127.2A patent/EP3213459B1/en active Active
- 2015-10-30 ES ES20175565T patent/ES2953529T3/es active Active
- 2015-10-30 CN CN201580071306.9A patent/CN107113175B/zh active Active
- 2015-10-30 WO PCT/US2015/058365 patent/WO2016114841A1/en active Application Filing
- 2015-10-30 US US14/928,516 patent/US10205711B2/en active Active
- 2015-10-30 CN CN202010645823.5A patent/CN111884806B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8245292B2 (en) * | 2005-11-16 | 2012-08-14 | Broadcom Corporation | Multi-factor authentication using a smartcard |
CN101765996A (zh) * | 2007-05-31 | 2010-06-30 | 威斯科数据安全国际有限公司 | 远程认证和交易签名 |
CN101999132A (zh) * | 2008-03-11 | 2011-03-30 | 威斯科数据安全国际有限公司 | 在服务器凭证验证时生成一次性口令和签名的强认证令牌 |
CN102648610A (zh) * | 2009-10-23 | 2012-08-22 | 威斯科数据安全国际有限公司 | 能够与多个独立的应用提供者一起使用的强认证令牌 |
CN103415855A (zh) * | 2010-06-16 | 2013-11-27 | 威斯科数据安全国际有限公司 | 大容量存储设备存储器加密方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3787226B1 (en) | 2023-06-07 |
CN111884806B (zh) | 2024-03-15 |
US20170012951A1 (en) | 2017-01-12 |
EP3787226C0 (en) | 2023-06-07 |
US10205711B2 (en) | 2019-02-12 |
EP3213459A1 (en) | 2017-09-06 |
CN111884806A (zh) | 2020-11-03 |
CN107113175A (zh) | 2017-08-29 |
EP3213459B1 (en) | 2020-05-20 |
WO2016114841A1 (en) | 2016-07-21 |
ES2953529T3 (es) | 2023-11-14 |
EP3787226A1 (en) | 2021-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107113175B (zh) | 多用户强认证令牌 | |
US9525549B2 (en) | Method and apparatus for securing a mobile application | |
US8739266B2 (en) | Universal authentication token | |
US20190239079A1 (en) | Electronic credential management system | |
US9124433B2 (en) | Remote authentication and transaction signatures | |
US9338163B2 (en) | Method using a single authentication device to authenticate a user to a service provider among a plurality of service providers and device for performing such a method | |
EP2885904B1 (en) | User-convenient authentication method and apparatus using a mobile authentication application | |
US20070223685A1 (en) | Secure system and method of providing same | |
JP2019083536A (ja) | モバイルアプリケーションの安全性を確保する方法および装置 | |
US20140365781A1 (en) | Receiving a Delegated Token, Issuing a Delegated Token, Authenticating a Delegated User, and Issuing a User-Specific Token for a Resource | |
CN113316784A (zh) | 基于存储在非接触式卡中的身份数据的安全认证 | |
KR20110005612A (ko) | 생체 인식을 이용한 오티피 운영 방법 및 시스템과 이를 위한 오티피 장치 및 기록매체 | |
KR20110005616A (ko) | 생체 인식을 이용한 무선 오티피 운영 방법 및 시스템과 이를 위한 무선단말 및 기록매체 | |
KR20110005615A (ko) | 사용자 매체를 이용한 무선 오티피 운영 방법 및 시스템과 이를 위한 무선단말 및 기록매체 | |
KR20110005611A (ko) | 사용자 매체를 이용한 오티피 운영 방법 및 시스템과 이를 위한 오티피 장치 및 기록매체 | |
WO2007092429A2 (en) | Secure system and method for providing same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Zurich Patentee after: VASCO DATA SECURTY, Inc. Address before: Swiss Glatt Brygge Patentee before: VASCO DATA SECURITY, Inc. |