能够与多个独立的应用提供者一起使用的强认证令牌的制作方法

文档序号:7914119阅读:240来源:国知局
专利名称:能够与多个独立的应用提供者一起使用的强认证令牌的制作方法
技术领域
本发明涉及安全电子事务处理领域,特别地涉及能够与多个独立的应用提供者一起使用的强认证令牌。
背景技术
强认证令牌是本领域公知的一种专用硬件安全设备。它们允许服务提供者和应用通过提供只能在知悉服务提供者或应用所采用的认证服务器一方与认证令牌一方之间共享的秘密或密钥的情况下才能够生成的动态口令来认证令牌的持有人。为了生成动态口令,强认证令牌对共享秘密和动态变量施加加密算法,其中所述动态变量例如包括一个或更多个计数值、表示当前时间的值以及随机暗号。通常,动态口令只能使用一次,从而相对于静态口令大大提高了安全等级。强认证令牌很受欢迎,特别是对于安全应用,如网上银行,这是因为它们提供了显著高于结合有高的用户方便性的静态口令的安全等级。一些强认证令牌可以生成事务处理数据签名。这样的事务处理签名令牌允许服务提供者和应用通过提供关于事务处理的、只能够在知悉由服务提供者或应用所采用的认证服务器一方与认证令牌一方之间共享的秘密或密钥的情况下才能够生成的电子签名来验证令牌持有人的事务处理的批准和事务处理数据的完整性。为了生成电子签名,事务处理签名令牌对共享密钥和事务处理数据施加加密算法。在一些情况中,事务处理签名令牌还可以将动态变量的值包括到电子签名的计算中,以作为抵抗重放攻击的措施。在一些情况中,令牌通过对共享秘密和暗号施加加密算法从而将暗号与事务处理数据进行数学相关来生成电子签名。暗号可以例如根据事务处理数据的杂凑来计算。为了验证由强认证令牌生成的动态口令或电子签名的有效性,认证服务器使用它本身的共享密钥副本、它的计数器的局部保持值、当前时间、它提交给终端用户的暗号或与相关事务处理有关的数据来执行与安全令牌基本上相同的计算来获得验证值。然后,服务器比较它生成的验证值与从用户接收到的动态口令或电子签名。如果由终端用户提交的令牌所生成的动态口令或电子签名与由认证服务器生成的验证值相匹配,则认证或事务处理批准成功。大多数强认证令牌不需要与计算机系统的数字连接(或具有它们不需要这样的连接的操作模式),而是依赖用户在令牌与由该令牌保护的应用之间交换数据。这样交换的数据的示例包括从用户接收的数据,例如暗号或事务处理数据;以及输出数据,例如由令牌针对用户生成的动态口令或签名。在通常的强认证令牌中,该经由用户的数据交换包括用户在令牌与计算机之间手动传输数据。为了便于该手动传输,生成的动态口令或签名具有适度规模,该适度规模在大多数情况下小于用于生成这些动态口令或签名的密文。换句话说,动态口令或签名的生成通常意味着某种形式的密文截断,并且,作为结果,生成的动态口令或签名通常不会将包括在这些密文中的所有信息传送给认证服务器。然而,由于对称加密的使用,已获得强认证令牌的密钥的认证服务器可以计算验证值,该验证值必须与接收到的动态口令或签名进行比较以检验接收到的口令或签名是否确实是使用特定的令牌生成的。强认证令牌不需要与计算机系统的数字连接的事实使得强认证令牌完全独立于所使用的任何计算机系统的任何技术特性,例如操作系统版本、驱动程序支持以及特定技术输入/输出接口。这使得强认证令牌相对于其他安全设备(例如需要例如智能卡阅读器的智能卡或USB密钥、以及没有得到用户想要使用的所有计算机系统的普遍支持的或受到可互操作性和兼容性问题的困扰的USB连接器及相应的驱动器软件)呈现巨大的优点。通常的强认证令牌具有显示装置,所述显示装置用于将生成的动态凭证例如一次性口令或电子签名传达给终端用户;以及按钮或键盘,所述按钮或键盘用于请求生成新的凭证和/或输入暗号、事务处理数据、PIN码等。强认证令牌的其他已知通信设备包括听觉输出生成器、USB接口以及无线接口。强认证令牌的其他已知输入设备包括光学传感器、USB接口和无线接口。一些强认证令牌需要用户输入PIN码来执行某些行为,例如生成电子签名。在一些情况下,用户在除了提交由强认证令牌生成的、作为抵抗冒用丢失的或被盗的令牌的对抗措施的动态口令之外还向认证服务器提交静态口令。由Vasco Data security公司销售的DIGIPASS品牌下的系列产品包括如上所述的强认证令牌的若干例子。

发明内容
技术问题在强认证令牌中使用对称加密的优点是它允许相对较短的动态凭证,例如一次性口令和电子签名,但它也具有缺点。与非对称加密相比,对称加密意味着想要使已使用特定秘密生成的加密值(例如强认证令牌的动态口令或签名)生效的任何一方必须能够获得该特定秘密的值。这在用户希望以安全的方式与多于一个的应用提供者进行交互的情况下会导致问题,这是因为每个应用提供者必须能够获得用户的秘密。到目前为止,已知道以下方法来处理这个问题。在大多数情况下,只是简单地接受特定的强认证令牌只能与特定的应用提供者一起使用。这具有如下缺点用户必须具有与用户想要进行与之交互的应用提供者一样多的令牌。这自然带来了冗余,而且用户尤其是与许多应用提供者进行交互的活跃用户可能会对管理多个令牌很烦恼。在另一种方案中,不同的应用提供者共享令牌的秘密。这就要求共享秘密的不同应用提供者之间彼此信任,并且信任彼此的安全系统和安全实践。然而,在现实中,对于不同的应用提供者来说很难保证他们坚持相同的安全实践以及对应当如何管理这些共享秘密和应当如何处理与安全漏洞相关联的责任取得一致的意见。在第三方案中,只有一个应用提供者能够获得令牌秘密并向其他应用提供者提供用于使由令牌生成的凭证生效的服务。这使得其他的应用提供者在工作上依赖于管理令牌秘密的提供者,这意味着可能有一些服务水平协议必须被协商。此外,管理令牌秘密的提供者可能不情愿实际上鼓励它的用户生成有效的动态口令和签名并将它们提供给其他方。实际上,一旦用户习惯许多不同的提供者可以合法地请求相同的动态口令和签名的观念,则可能会使骗子变得更加容易建立足以使普通用户确信从而交出有效的动态口令并生成某、些数据的有效签名的社会工程和钓鱼式攻击。所需要的是如下安全设备,该安全设备提供现有强认证令牌的所有优点(S卩,高的安全等级、高的用户方便等级、独立于用户的计算机系统)并同时提供保护不同的应用提供者的应用的能力,而无需这些不同的应用提供者共享秘密或依赖于彼此以使由安全设备生成的动态口令或签名生效。技术方案本发明基于如下观点如果采用对称加密的强认证令牌根据所生成的动态口令或签名所专用的应用提供者使用不同的秘密来生成动态口令或签名,则每个应用提供者只需要知道强认证令牌与所述应用提供者相关联的秘密以能够自主地验证由该提供者生成的动态口令或签名,而无需与其他提供者共享秘密以及无需另一个提供者的协助。本发明进一步基于如下观点如果强认证令牌具有用户接口以允许用户给出用户针对其来请求生成动态口令或签名的应用或应用提供者的指示,则强认证令牌可以使用特 定的应用提供者的正确秘密。本发明的优选实施方式包括用于生成动态凭证例如关于事务处理数据的一次性口令或电子签名的安全装置。用于生成动态凭证的安全装置优选地具有紧凑的形式因素和需要较少的用户交互的简单用户接口。用户接口优选地包括输入设备,所述输入设备允许用户指示安全装置生成动态凭证以及向令牌给出指示,以指示哪个秘密应当被用来生成所选择的应用或应用提供者的凭证。用户接口优选地还包括输出设备,以向用户传达生成的凭证等。在一个实施方式中,输入设备可以包括例如一个或更多个按钮或一个拇指轮。按钮可以是键盘的键。在一个特定的实施方式中,用户通过按下或压下与应用提供者或应用提供者组相关联的特定按钮或按钮的组合来选择与应用或应用提供者有关的指示符。在另一个特定实施方式中,用户通过滚动标签的列表来选择与应用提供者有关的合适指示符,每个标签代表与特定的应用提供者有关的指示符。在具体的实施方式中,用户通过重复地压下按钮来滚动该列表。在另一个具体的实施方式中,用户通过快速地压下特定的按钮多次来选择与应用提供者有关的合适指示符,其中按钮已被按下的次数指示用户意图选择哪个与应用提供者有关的指示符。在又一个特定的实施方式中,用户使用拇指轮滚动列表。在再一个特定实施方式中,用户指示安全装置通过按下按钮或推动拇指轮来生成用于所选择的与应用提供者有关的指示符的动态凭证。在又一特定实施方式中,安全装置在一定的等待时间之后自动地生成当前选择的与应用提供者有关的指示符的动态凭证,在该等待时间期间,用户不选择与另一个应用提供者有关的指示符。在又一个实施方式中,用户通过例如使用键盘的键输入应用提供者指示符。在另一个实施方式中,安全装置的用户接口包括输出设备,以将生成的动态凭证传达给用户或指示哪个与应用提供者有关的指示符当前被选择。输出设备可以例如包括显不装置或生成器,以生成声音信号,该声音信号可以包括合成语音或录制的声音片段。在一些实施方式中,当前选择的与应用提供者有关的指示符使用标签来指示。这些标签可以是数字的或可以包括文字。在具体的实施方式中,这些标签可以直接指应用提供者或一组应用提供者。在具体的实施方式中,这些标签可以指应用或一种类型的应用。在另一个具体的实施方式中,这些标签可以指的是应用或应用提供者的对于用户来说容易辨别且有意义的某些特性。在一个实施方式中,安全装置具有强认证令牌的形式因素。在另一个实施方式中,安全装置具有信用卡的形式因素。在优选的实施方式中,安全装置有一键式强认证令牌的形式因素。为了提高安全等级,动态凭证优选地是不可预知的。优选地,它应当很难被任何攻击者获得或很难被任何攻击者生成有效动态凭证。生成不可预知的动态凭证的一种方法涉及使用以一个或更多个密值进行参数化的加密算法。优选地,这些秘密中的至少一个直接或间接与用户相关联。加密算法可以包括对称算法,例如对称加密或解密算法(例如DES或AES),或者,它可以包括单向函数,例如杂凑函数(例如MD5或杂凑函数SHA家族的成员)。加密算法还可以包括生成消息认证码或键控杂凑消息认证码。除了与动态凭证为之生成的应用或应用提供者有关的指示符之外,动态凭证生成算法还可以考虑动态变量的值,例如 计数器的一个或更多个值、与时间有关的值、与暗号或事务处理有关的数据。在一个实施方式中,动态凭证生成包括将涉及加密操作的算法施加于一个或更多个秘密、动态变量、以及与应用提供者指示符有关的值。在另一个实施方式中,动态凭证生成包括基于应用提供者指示符从一组秘密中选择秘密,以及将加密算法施加于动态变量和所选择的秘密。在又一个实施方式中,动态凭证生成包括从主密钥和应用提供者指示符导出密钥,并将加密算法施加于动态变量和导出的密钥。在一个通常的实施方式中,动态凭证生成包括通过从密文或加密生成值中截取或选择一些位来获得位串的步骤。因而得到的位串通常被转换成人可理解的符号串以呈现给用户。该转换可以例如包括将所述位串十进制化或将所述位串分成成组的位串并以合适的符号值来替代每组位。这些符号值可以包括十进制或十六进制数字或来自字母表的字符。在本发明的优选实施方式中,动态凭证被验证服务器使用验证参考值进行验证。在一个实施方式中,所述验证参考值使用用于生成动态凭证的相同或类似算法来生成。在另一个实施方式中,验证参考值使用直接或间接与用户或被用户使用来生成动态凭证的安全装置相关联的秘密来生成。在具体的实施方式中,该秘密从数据库中取回。在另一个具体的实施方式中,该秘密使用主密钥或直接或间接与用户或被用户使用来生成动态凭证的安全装置相关联的值来生成。在又一个实施方式中,在验证参考值与从用户收到的动态凭证进行比较,并且如果根据一些匹配标准动态凭证与验证参考值相匹配,则该动态凭证被成功验证。在具体的实施方式中,匹配标准会要求这两个值是相等的。在一些实施方式中,验证过程中的一些步骤可以由计算机系统执行。该计算机系统可以包括服务器计算机。它也可以包括数据库,并且它还可以包括硬件安全模块(HSM)以执行某些加密操作。在一个特定的实施方式中,多个强认证令牌被分发在多个用户之中。在分发之前,每个令牌已经使用一组密值进行了个性化,每个密值对应于所支持的应用提供者或应用提供者组的不同指示符。每个应用提供者或应用提供者组设置有对应于该提供者或提供者组的令牌秘密的列表。通常,应用提供者只接收对应于该应用提供者的秘密而不会接收对应于其他应用提供者的秘密。提供给特定的应用提供者或应用提供者组的令牌秘密的列表可以包括文件或数据库,该文件或数据库优选地被加密并且该文件或数据库用于为每个令牌列举该令牌的对应于该应用提供者或应用提供者组的秘密。为了生成针对特定的应用提供者的动态凭证,用户选择关于该令牌的合适的应用提供者指示符并指示该令牌生成该指示符的动态凭证。令牌从它的存储的一组秘密中选择对应于选择的指示符的秘密并将加密算法施加于选择的秘密和动态变量的值,以生成被请求的动态凭证。然后,令牌例如借助于显示装置或借助于声音信号将生成的动态凭证传达给用户。然后,用户将动态凭证转发到合适的应用提供者。应用提供者从数据库中取回显示哪个令牌已被分发给该用户以及哪个应用提供者特定的秘密被该应用提供者的令牌使用的信息。应用提供者将加密算法施加于动态值和取回的秘密,以生成验证参考值。应用提供者将接收到的动态凭证与生成的验证参考值进行比较。如果接收到的动态凭证与验证参考值相匹配,则动态凭证被成功验证。
在另一个实施方式中,每个令牌被使用令牌特定的主密钥个性化。每个应用提供者特定的令牌秘密从令牌特定的主秘密和与该应用提供者的令牌指示符有关的值导出。所支持的强认证令牌接收已从对应于该应用提供者的指示符和每个令牌的特定主密钥导出的应用提供者特定的令牌秘密的列表。通常,令牌特定的主密钥不提供给应用提供者。事实上,一旦令牌已被个性化并且应用提供者特定的令牌秘密已被导出并被安全地存储或提供给应用提供者,则可以将令牌特定的主密钥破坏。令牌特定的主密钥本身可以例如随机生成或可以例如针对每个令牌依次从单个通用主密钥和单个令牌特定的一些数据元素例如令牌的序列号导出。为了生成用于特定应用提供者的动态凭证,用户选择关于令牌的合适应用程序提供者指示符并指示令牌生成该指示符的动态凭证。令牌从令牌特定的主密钥和与该应用提供者的令牌指示符有关的值导出应用提供者特定的令牌密钥。令牌使用动态变量和导出的应用提供者特定的令牌密钥来生成动态凭证。该实施方式具有如下明显的优点在令牌中的安全地存储秘密的存储器的量不必随着所支持的应用提供者的数量的增长而增长。在该实施方式的一个变型中,与用于该应用提供者的令牌指示符有关的值是由用户输入的应用提供者代码。在具体的变型中,在每次生成动态凭证时,用户必须输入应用提供者代码。在另一个具体的变型中,用户具有如下操作模式允许用户输入应用提供者代码并允许将该应用提供者代码与将用作应用提供者指示符的标签相关联。如果用户随后选择该标签来生成动态凭证,则令牌将使用与该标签相关联的应用提供者代码作为与应用提供者有关的值和令牌特定的主密钥来导出应用提供者特定的令牌密钥,并使用动态值和导出的应用提供者特定的密钥来生成动态凭证。在一些实施方式中,在应用提供者特定的令牌秘密从令牌特定的主密钥和与该应用提供者的令牌指示符有关的值导出的情况下,优选的是,一旦令牌已经个性化,则不破坏或丢弃令牌特定的主密钥,而是安全地存储它们以供以后使用。这在如下情况下可能特别有意义应用提供者指示符或与应用提供者指示符有关的值不是从静态列表中选择的,而是可以通过例如用户对机器或机器对机器输入接口动态地提供给令牌。这使得在令牌被个性化的情况下能够使用未知的或未被预期的应用提供者指示符来生成应用提供者的应用提供者特定的令牌秘密。这样,即使在令牌已经被个性化并分发给用户的情况下,新的应用提供者也可以被添加到所支持的应用提供者的列表中。支持新的应用供应上则不需要分发任何新的令牌。如下就足够了 将新的应用提供者指示符分配给该新的应用提供者;使用安全存储的令牌特定的主秘密来导出新的应用提供者指示符;以及然后将应用提供者特定的令牌秘密的清单提供给新的应用提供者。
在又一个实施方式中,每个令牌的应用提供者特定的令牌秘密从应用提供者特定的主秘密和令牌标识符例如令牌的序列号导出。不同的应用提供者特定的主秘密与每个所支持的应用提供者或应用提供者组相关联。每个令牌使用一组导出的应用提供者特定的令牌秘密来个性化,每个所支持的应用提供者或应用提供者组对应一个令牌秘密。每个所支持的应用提供者或应用提供者组被设置有与应用提供者或应用提供者组相关联的应用提供者特定的主秘密的值。在又一个实施方式中,除了应用提供者特定的令牌秘密之外,生成动态凭证的算法的其他参数可以是所选择的应用提供者或应用提供者组的函数。这些参数可以包括例如动态凭证的长度或哪种加密算法被使用或哪个动态变量值被使用或动态凭证如何被表示。例如,对一个应用提供者,可以使用ASE算法和实时时钟的值来生成9位十进制数字的0ΤΡ,而对于另一个应用提供者,可以使用键控的杂凑算法和计数器的值来生成6位十六进制数字的0ΤΡ。在计数器可以被用作动态变量的情况下,优选的是,令牌针对不同应用提供者或应用提供者组保持独立的计数器。。有利影响 本发明的重要优点是,用户可以使用相同的强认证令牌来生成不同应用提供者的动态凭证,而不需要这些应用提供者共享秘密或在工作上依赖于彼此。根据本发明的强认证令牌的安全等级与由现有的强认证令牌提供的安全等级相同。根据本发明的强认证令牌的形式因素可以相同于或非常相似于其他强认证令牌的形式因素。根据本发明的强认证令牌具有用户接口从而为用户提供非常类似于其他现有强认证令牌的方便性。此外,用户获得如下方便性只需要一个安全装置来保护它们与多个应用提供者的事务处理。作为结果,强认证令牌的成本,包括分发成本,可以被划分到多个应用提供者。不同的应用提供者可以建立共享相同的强认证令牌的伙伴关系,从而降低它们的成本,而无需整合它们的安全系统。在下面的示例中示出了这一点。为了确保其网上银行应用,银行可以在它的客户中分发一键式强认证令牌。这些强认证令牌能够生成一次性口令(OTP)。如果用户按下他们的令牌的按钮一次,则令牌显示银行的品牌名称。如果用户迅速按下令牌的按钮两次,则令牌显示信用卡公司的品牌,该信用卡公司与银行具有战略联盟并且想要影响银行的强认证令牌以确保它的在线卡支付应用,以例如借助于在安全在线支付协议例如3D安全协议的上下文中的OTP来认证用户。如果,在按下令牌的按钮之后,用户等待一小段时间(例如两秒),则令牌针对其品牌名称被显示的应用提供者(即,银行或信用卡公司)生成一次性口令。为了使这两种一次口令之间的差别对用户更加明显,银行OTP和信用卡OTP可以具有不同的长度。每个令牌存储两个密钥一个是与银行相关联的密钥,另一个是与信用卡公司相关联的密钥。为了生成0ΤΡ,令牌根据被用户选择的品牌名称选择正确密钥,并使用选择的密钥将加密算法应用于它的实时时钟的值。为了验证银行0ΤΡ,银行具有带有令牌银行应用特定的秘密的数据库。信用卡公司可以已从它的战略伙伴银行接收该数据库,或者它可以直接从负责生成令牌秘密和使用这些秘密对令牌进行个性化的一方接收数据库。这一方可以是令牌制造商。在一些实施方式中,甚至可以在令牌已经被个性化并分发给用户的情况下添加额外的所支持的应用提供者。
在考虑灵活的信用卡形式的安全装置的情况下,本发明的优点变得尤为明显。产生这种装置的技术尚不成熟,从而需要昂贵的部件并且往往导致产量和可靠性问题。因此,灵活的信用卡形式的强认证令牌是相当昂贵的。本发明使得能够产生灵活的信用卡形式的强认证令牌,其可以不只是针对一个应用或应用提供者生成动态凭证而是可以针对多个应用或应用提供者生成动态凭证而无需额外费用。这意味着,这些信用卡形式的强认证令牌的相对高的成本可以被分到多个应用提供者上。


图I示出了根据本发明的一个实施方式的生成不同应用提供者的动态凭证的方法。图2示出了根据本发明的另一个实施方式的生成不同应用提供者的动态凭证的可替代方法。图3示出了根据本发明的又一个实施方式的生成不同应用提供者的动态凭证的
另一种方法。图4a示出了生成不同的应用提供者的动态凭证的安全装置的特定形式因素。图4b示出了生成不同的应用提供者的动态凭证的安全装置的另一种形式因素。图4c示出了生成不同的应用提供者的动态凭证的安全装置的又一种形式因素。图4d示出了生成不同的应用提供者的动态凭证的安全装置的再一种形式因素。图4E示出了示出了生成不同的应用提供者的动态凭证的安全装置的一个多形式因素。图4F示出了生成不同的应用提供者的动态凭证的安全装置的又一个多形式因素。图5示出了根据本发明的一个实施方式的生成不同应用提供者的动态凭证的安
全装置。图6示出了根据本发明的实施方式的、管理可以生成不同应用提供者的动态凭证的强认证令牌的密钥的方法。图7示出了根据本发明的实施方式的、管理可以生成不同应用提供者的动态凭证的强认证令牌的密钥的另一种方法。图8示出了根据本发明的实施方式的、管理可以生成不同应用提供者的动态凭证的强认证令牌的密钥的又一种方法。
具体实施例方式实施本发明的模式图I示出了根据本发明的、生成特定的应用提供者或应用提供者组的动态凭证的优选方法,该方法包括如下步骤 获得应用提供者或应用提供者组的指示符(步骤110); 捕获至少一个动态变量的值(步骤120); 取回一个或更多个密值(步骤130); 使用对称加密算法将所述应用提供者指示符、所述动态值以及所述一个或更多个密值进行加密组合(步骤140);以及 将所述加密组合的结果转化为在通常情况下不同于加密组合的结果的动态凭证(步骤150)。在一个实施方式中,动态变量可以包括与时间有关的值。在具体的实施方式中,动态变量中包括实时时钟的值。在另一个实施方式中,动态变量包括计数器的值。在一个具体的实施方式中,该计数器可以是应用提供者特定的。在又一个实施方式中,动态变量可以包括与暗号或事务处理有关的数据。在一实施方式中,对称加密算法可以包括对称加密或解密算法。在另一个实施方式中,对称加密算放可以包括杂凑算法。在又一个实施方式中,指示符、动态值和所述一个或更多个密值的加密组合包括使用应用提供者指示符与动态值的数学组合和使用被以所述一个或更多个密值参数化的对称加密算法来生成密文。在具体的实施方式中,被捕获的动态值是取决于应用提供者指示符的值从多个动态变量中选择的动态变量。在另一个具体的实施方式中,可以根据应用提供者指示符选择使用的加密算法。在又一个实施方式中,生成动态凭证的算法的其他参数也可以是应用提供者指示符(例如生成的凭证或用于表示关于用户的凭证的符号的长度)的函数。图2示出了根据本发明的生成特定的应用提供者或应用提供者组的动态凭证的可替代方法,包括如下步骤 获得应用提供者或应用提供者组的指示符(步骤210); 捕获至少一个动态变量的值(步骤220); 取回一组密值(步骤231); 基于应用提供者指示符的值,从取回的一组密值中选择至少一个密值(步骤235); 使用对称加密算法将所述动态值和所选择的密值进行加密组合(步骤241);以及 将所述加密组合的结果转化成在通常情况下不同于加密组合的结果的动态凭证(步骤250)。图3示出了根据本发明的生成特定的应用提供者或应用提供者组的动态凭证的又一种方法,包括如下步骤 获得应用提供者或应用提供者组的指示符(步骤310); 捕获至少一个动态变量的值(步骤320); 取回令牌特定的主秘密的值(步骤332); 从取回的主秘密和应用提供者指示符导出密值(步骤336); 使用对称加密算法将所述动态值和所导出的密值进行加密组合(步骤342);以及 将所述加密组合的结果转化成在通常情况下不同于加密组合的结果的动态凭证(步骤350)。 在一个实施方式中,从取回的主秘密和应用提供者指示符导出密值的步骤包括将主秘密和与应用提供者指示符有关的数据进行加密组合。在一个具体的实施方式中,所述加密组合包括使用加密或解密算法作用于与应用提供者指示符有关并以主秘密进行参数化的数据。在另一个具体的实施方式中,所述加密组合包括将与应用提供者指示符有关的数据与主秘密进行杂凑计算。本发明的一个实施方式包括生成多个应用提供者的动态凭证的安全装置。生成动态凭证的安全装置通常被提供为具有将动态凭证和其他信息传送给用户的输出设备(例如显示装置)的手持式电池供电形式的装置。优选地,装置具有一个或更多个按钮或其它输入设备,以触发动态凭证的生成和/或选择动态凭证应当为之而生成的应用提供者和/或输入应用提供者指示符。在本发明的装置的优选实施方式中,如图5所示,所述装置是生成多个应用提供者的动态凭证的安全令牌500。安全令牌500通常包括一个密钥存储器510、变量源520、输入接口 550、凭证生成工具590、输出接口 560和能量源570。凭证生成器590通常包括应用提供者特定的令牌密钥提供工具580、加密工具530和转换工具540。密钥存储器510优选地以安全的方式存储可以在生成不同应用提供者的动态凭证中使用的一个或更多个密钥。存储的密钥可以包括被令牌用来使用相应的应用服务提供 者指示符导出用于所支持的应用提供者的应用提供者特定的令牌密钥的令牌特定的主密钥。或者,存储的密钥可以包括应用提供者特定的令牌密钥。密钥存储器510可以包括易失性存储器,例如已经存在于令牌中的处理器或微控制器的存储器或单独的随机存取存储器(RAM)部件,由此,该存储器被电池永久供电以防止丢失存储的数据。或者,密钥存储器510可以是是永久的存储器,例如闪速存储器部件。变量源520提供动态变量,该动态变量可以包括与时间有关的值或计数器值或与暗号或事务处理有关的数据。变量源520可以包括实时时钟或计数器。计数器可以每次生成动态凭证时自动递增。变量源还可以包括输入接口,通过该输入接口,令牌可以被提供与暗号或事务处理有关的数据。凭证生成工具590可以包括一个或更多个合适编程的处理器或微控制器或专用硬件,例如特定应用集成电路(ASIC)或现场可编程门阵列(FPGA)。加密工具530可以为合适编程的处理器或微控制器或专用硬件,例如特定应用集成电路(ASIC)或现场可编程门阵列(FPGA)。另外,转化工具540和应用提供者特定的令牌密钥提供工具580可以是合适编程的处理器或微控制器或专用硬件,例如特定应用集成电路(ASIC)或现场可编程门阵列(FPGA)。应用提供者特定的密钥提供工具580、加密工具530以及转化工具540可以被实施在同一硬件平台上,或者实施在不同的硬件平台上。其中可以包括人机接口设备或机器对机器接口的输入接口 550允许用户指示令牌生成动态凭证,或允许用户选择动态凭证应当针对其而生成的应用提供者或应用提供者组,或允许用户输入应用提供者指示符。人机接口设备可以包括一个或更多个按钮。人机接口输入设备还可以或可替代地包括一个拇指轮。生成的动态凭证可以通过输出接口 560提供给终端用户。在另一个实施方式中,令牌包括适于输出生成的动态凭证的动态凭证输出接口 560,例如人机接口设备或机器到机器接口。人机接口输出设备可以包括可视输出设备例如显示装置,或声音输出设备例如合成语音源。由人机接口输出设备输出的动态凭证可以作为一串或一序列的人类可解释符号传达给用户。
输入接口 550或输出接口 560的机器对机器接口可以包括USB、以太网、串口或其它有线接口、蓝牙、无线、WiFi、移动电话或其它无线接口。能量源570提供其他部件所需要的能量。能量源570可以包括电池、光伏电池、燃料电池、热电元件、适于提取环境能源的工具、或兼顾其它部件的能量需求与安全令牌500的总成本和形式因素需求的任何其它的能量源。安全令牌500通常操作如下。通过输入接口 550,用户选择合适的应用提供者指示符或输入应用提供者指示符,并指示令牌生成相应的动态凭证。凭证生成器590将从密钥存储器510取回的一个或更多个密钥与由变量源520提供的动态变量的值以及由用户通过输入接口 550选择或输入的应用软件提供者指示符进行加密组合以生成动态凭证。令牌通过输出接口 560输出生成的动态凭证。在一个实施方式中,凭证生成器590使用对称加密来生成动态凭证。在优选的实施方式中,凭证生成器590包括应用提供者特定的令牌密钥提供工具580、加密工具530以及转化工具540。在一个实施方式中,应用提供者特定的令牌密钥提供 工具580使用存储在密钥存储器510中的一个或更多个密钥根据由用户通过输入接口 550选择或输入的应用服务提供者指示符提供应用提供者特定的令牌密钥;加密工具530将应用提供者特定的令牌密钥与由变量源520提供的动态变量的值进行加密组合;以及转化工具540将加密组合的结果转化成动态凭证。在一个实施方式中,加密工具530使用对称加密。在一个具体的实施方式中,应用提供者特定的令牌密钥提供工具580通过根据应用提供者指示符从存储在密钥存储器510中的多个密钥中选择合适的密钥来提供应用提供者特定的令牌密钥。密钥存储器510通常用于存储每个所支持的应用提供者或应用提供者组的不同密钥。在另一个具体的实施方式中,应用提供者特定的令牌密钥提供工具580从与应用提供者指示符有关的值和存储在密钥存储器510中的令牌特定的主密钥导出应用提供者特定的令牌密钥。密钥提供工具580通常使用对称加密来导出专用令牌密钥。在又一个实施方式中,加密工具530使用多个应用提供者特定的令牌密钥和由变量源520所提供的动态值生成多个密文,并且凭证生成器590根据应用提供者指示符选择密文。在又一个实施方式中转化工具540将多个密文转化成多个动态凭证,并且凭证生成器590根据应用提供者指示符选择动态凭证。在一个实施方式中,令牌500的部件被布置在基底例如印刷电路板(PCB)上。在另一个实施方式中,这些部件容置在可能是塑料的保护壳中。在又一个实施方式中,这些部件嵌入在层压介质中。图4a示出了根据本发明的安全装置的特定实施方式,所述安全装置包括生成不同应用提供者的动态凭证的令牌401。输出接口包括显示装置461。输入接口包括多个按钮451,每个按钮对应每个不同的应用提供者或应用提供者组。在所示的示例中,令牌具有三个按钮,这是因为它支持三个不同的应用提供者或应用提供者组的动态凭证的生成。表示相应的应用提供者或应用提供者组的标签或符号可以印在令牌的的塑料外壳上靠近每个按钮处或印在按钮本身上。当用户按下按钮,令牌上电,生成所选择的应用提供者或应用提供者组的动态凭证,并在它的显示装置上输出生成的动态凭证。图4b示出了根据本发明的安全装置的另一个特定实施方式,其包括生成不同的应用提供者的动态凭证的令牌402。输出接口包括显示装置462。输入接口包括两个按钮452/453。一个按钮452允许用户循环通过应用提供者或应用提供者组的列表。当用户按下此按钮时,令牌选择下一个应用提供者或应用提供者组。令牌通过在显示装置462上显示的合适的标签或符号来指示当前哪个应用提供者或应用提供者组被选择。如果用户按下另一个按钮453,则令牌生成当前选择的应用提供者或应用提供者组的动态凭证,并将生成的动态生成凭证输出到它的显示装置462上。图4c示出了根据本发明的安全装置的又一特定的实施方式,其包括生成不同的应用提供者的动态凭证的令牌404,其具有信用卡的形式因素。输出接口包括显示装置464。输入接口包括按钮454。如 果用户按下按钮至少一次,则令牌上电。按钮454被按下的次数确定哪个应用提供者或应用提供者组被当前选择。例如,通过迅速按下按钮454两次,所支持的应用提供者或应用提供者组的列表中的第二个应用提供者或应用提供者被选中。为了选择列表中的第三应用提供者或应用提供者组,用户迅速按下按钮454三次。令牌通过显示在显示装置464上的合适标签或符号来指示哪个应用提供者或应用提供者组当前被选择。如果用户未按按钮454超过一定的预定时间,例如2秒,则令牌生成当前选择的应用提供者或应用提供者组的动态凭证,并将生成的动态凭证输出到它的显示装置464上。然而,如果在该预定时间内用户按下按钮454,则另一个应用提供者或应用提供者组被选中。在此实施方式的优选变型中,安全装置不具有信用卡的大小,而是具有传统的一键式强认证令牌的形式因素。图4d示出了根据本发明的安全装置的又一个特定实施方式,其包括生成不同的应用提供者的动态凭证的令牌405。令牌405包括输出和输入接口。它还可以或可替代地包括显示装置465。输入接口包括按钮455。令牌405进一步包括机器对机器通信接口 480,机器对机器通信接口 480可以包括例如USB连接器和USB控制器。当令牌405通过该机器对机器通信接口连接到主机计算机时,在主机计算机上的应用可以请求令牌405生成由主机计算机提供的应用提供者或应用提供者组的动态凭证。通过输出接口 465,令牌405向用户指示对于哪个应用提供者或应用提供者组,动态凭证被请求。例如,令牌可以在显示装置465上示出与应用提供者或应用提供者组相关联的某个标签或符号。通过按下按钮455,用户指示令牌405生成所请求的动态凭证。然后,令牌405生成所请求的动态凭证,并将该动态凭证通过通信接口 480传送给主机。令牌405还可以包括另一个按钮456,用户可以按下该按钮456以指示主机计算机的请求必须被拒绝。图4e示出了根据本发明的安全装置的又一个实施方式,其包括生成动态凭证的令牌403。它的输出接口包括显示装置466。它的输入接口包括拇指轮457。在一个实施方式中,它的输入接口还可以包括按钮453。通过转动拇指轮457,用户可以循环通过所支持的应用提供者或应用提供者组的列表。令牌通过显示在显示装置466上的合适的标签或符号来指示当前哪个应用提供者或应用提供者组被选择。在一个实施方式中,用户通过按下拇指轮来指示令牌生成当前选择的应用提供者或应用提供者组的动态凭证。在另一实施方式中,用户按下按钮453来做到这一点。令牌在它的显示装置上466输出生成的动态凭证。图4f示出了根据本发明的安全装置的又一个实施方式,其包括生成动态凭证的令牌408。它的输出接口包括显示装置468。它的输入接口包括键盘458。在通常的实施方式中,该键盘可以包括十个十进制数字键、取消键以及确定键或回车键。通过使用键盘458的键,用户可以从所支持的应用提供者或应用提供者组的列表中选择应用提供者或应用提供者组。令牌通过在显示装置468上显示的合适标签或符号来指示哪个应用提供者或应用提供者组被当前选择。可替代地,用户可以通过键盘458的键来输入应用提供者指示符。在一个实施方式中,用户通过按下合适的按键或多个按键(例如确定键或回车键)来指示令牌生成当前选择的应用提供 者或应用提供者组的动态凭证。键盘458还可以用于输入与暗号或事务处理有关的数据以用作生成动态凭证的动态值。令牌在显示装置468上输出生成的动态凭证。图6示出了根据本发明的实施方式的、管理可以生成 不同应用提供者的动态凭证的强认证令牌的密钥的方法。该方法包括如下步骤 针对一批强认证令牌中的每一个来生成610 —组应用提供者特定的令牌密钥,所支持的应用提供者或应用提供者组的清单中的每一个对应于一个应用提供者特定的令牌密钥; 使用与令牌相关联的所述一组应用提供者特定的令牌密钥来个性化620每个所述令牌;以及 以安全的方式独立地向每个应用提供者(或将代表该应用提供者来验证针对该应用提供者生成的动态凭证的实体)提供630该应用提供者特定的所有应用提供者特定的令牌密钥。出于安全的原因,应用提供者特定的令牌密钥优选地是以它们的值是不可预知的方式生成。例如,它们可能被例如使用硬件随机生成器生成为随机值,或者它们可以从主秘密、对于每个令牌是唯一的标识符或对于每个所支持的应用提供者是唯一的另一个标识符来安全地导出。出于安全的原因,优选地的是一旦令牌已被个性化并且应用提供者特定的令牌密钥已被提供给相应的应用提供者,则将没有包括在令牌范围内且不在相应的应用提供者的控制之下的应用提供者特定的令牌密钥的所有副本破坏。可以借助于包括每个令牌的用于该特定应用提供者的应用提供者特定的令牌密钥的文件或数据库将应用提供者特定的令牌密钥提供给相应的应用提供者。出于安全的原因,这些文件或数据库优选地被加
LU O图7示出了根据本发明的实施方式的、管理可以生成不同应用提供者的动态凭证的强认证令牌的密钥的另一种方法。该方法包括如下步骤 生成710 —组应用提供者特定的主密钥,所支持的应用提供者或应用提供者组的列表中的每一个对应于一个应用提供者特定的主密钥; 针对一批强认证令牌中的每一个生成720 —组应用提供者特定的令牌密钥,所支持的应用提供者或应用提供者组的列表中的每一个对应于一个应用提供者特定的令牌密钥,其中每个专用令牌密钥从相应的应用提供者特定的主密钥和令牌的唯一标识符例如令牌的序列号导出; 使用与令牌相关联的一组应用提供者特定的令牌密钥来个性化730每个令牌;以及 以安全的方式独立地向每个应用提供者(或将代表该应用提供者来验证针对该应用提供者生成的动态凭证的实体)提供740相应的应用提供者特定的主密钥。这种方法在如下情况下可能是优选的其中,应用提供者不希望保持应用提供者特定的令牌密钥的数据库或列表,而是当需要时(例如验证动态凭证)从它们的应用提供者特定的主密钥和令牌的唯一标识符导出应用提供者特定的令牌密钥。出于安全的原因,优选的是一旦相应的应用提供者特定的令牌密钥已被生成并且专用主密钥已被提供给相应的应用提供者,则将不在相应的应用提供者的控制之下的应用提供者特定的主密钥的所有副本破坏。图8给出了根据本发明的实施方式的、管理可以生成不同的应用提供者的动态凭证的动态凭证的强认证令牌的密钥的另一种方法。该方法包括如下步骤 针对一批强认证令牌中的每一个生成810令牌特定的主密钥; 使用与该令牌相关联的令牌特定的主密钥来个性化820每个令牌;以及; 针对所支持的应用提供者或应用提供者组的列表中的每一个生成830 —组应用提供者特定的令牌密钥,每个令牌对应一个应用提供者特定的令牌密钥,其中,每个应用提供者特定的令牌密钥从该令牌的令牌特定的主密钥和应用提供者或应用提供者组的唯一标识符或指示符导出; 以安全的方式独立地向每个应用提供者(或将代表应用提供者来验证针对该应用提供者生成的动态凭证的实体)提供840相应的一组应用提供者特定的令牌密钥。该方法如下情况下是优选的其中,令牌的安全密钥存储器不足够大以包括用于每个所支持的应用提供者或应用提供者组的独立密钥,或者在如下情况下是优选的其中,所支持的应用提供者的列表在个性化令牌的时候不是固定且已知的。后者可以是如下情况需要在任何时候(例如还有在个性化和分发令牌之后)可以将新的应用提供者添加到所支持的应用提供者的列表中的情况。这可以通过允许用户输入应用提供者指示符的值的令牌提供。如果不需要可以在任何时间将新的应用提供者添加到所支持的应用提供者的列表中,则出于安全的原因,优选的是,一旦令牌已被个性化并且用于所有的所支持的应用提供者的应用提供者特定的令牌密钥已被生成,则将没有包括在令牌中的令牌特定的主密钥的所有副本破坏。图6、图7和图8中示出的方法也可用于使用不同的密钥生成动态凭证的任何强认证令牌。尽管上文已示出了本发明的各种实施方式,但应当理解的是,它们只是作为示例来呈现,而不是进行限制。因此,本发明的广度和范围不应局限于以上描述的示例性实施方式,而是应当只根据所附权利要求和所附权利要求的等同物来限定。
权利要求
1.一种用于针对不同的应用提供者生成不同的动态凭证的装置,包括 输入接口,所述输入接口提供表示应用提供者指示符的输出; 密钥存储器,所述密钥存储器用于存储一个或更多个密钥; 变量源,所述变量源用于提供动态变量值; 凭证生成器,所述凭证生成器用于通过将存储在所述密钥存储器中的一个或更多个密钥与所述动态变量值以及与所述应用提供者指示符有关的值进行加密组合来生成动态凭证;以及 输出接口,所述输出接口输出所述动态凭证。
2.根据权利要求I所述的装置,其中,所述凭证生成器使用对称加密来将所述一个或更多个密钥与所述动态变量值以及所述与应用提供者指示符有关的值进行加密组合。
3.根据权利要求I所述的装置,其中,所述凭证生成器包括 密钥提供工具,所述密钥提供工具用于使用存储在所述密钥存储器中的一个或更多个密钥根据所述应用提供者指示符来提供应用提供者特定的密钥;以及 加密工具,所述加密工具用于将所述应用提供者特定的密钥与所述动态变量值进行加密组合。
4.根据权利要求3所述的装置,其中,所述加密工具使用对称加密将所述应用提供者特定的密钥与所述动态变量值进行加密组合。
5.根据权利要求3所述的装置,其中,所述密钥存储器存储多个密钥,并且其中,所述密钥提供工具根据所述应用提供者指示符从存储在所述密钥存储器中的所述多个密钥中选择所述应用提供者特定的密钥。
6.根据权利要求3所述的装置,其中,所述密钥存储器存储令牌特定的主密钥,并且其中,所述密钥提供工具从所述与应用提供者指示符有关的值和存储在所述密钥存储器中的所述令牌特定的主密钥导出所述应用提供者特定的密钥。
7.根据权利要求3所述的装置,还包括转化工具,所述转化工具耦接在所述加密工具与所述输出接口之间,以用于对所述加密工具的输出进行转化以生成所述动态凭证。
8.根据权利要求I或5所述的装置,其中,所述输入接口包括对用于选择应用提供者指示符的用户选择进行响应的人机接口设备。
9.根据权利要求I或6所述的装置,其中,所述输入接口包括对用户输入应用提供者指示符进行响应的人机接口设备。
10.根据权利要求I或7所述的装置,其中,所述输出接口包括用于将所述动态凭证传达给用户的人机输出接口。
11.一种管理强认证令牌的密钥的方法,所述强认证令牌的密钥能够使用每个所支持的应用提供者或应用提供者组的不同密钥来生成多于一个的所支持的应用提供者或应用提供者组的动态凭证,所述方法包括 针对一批强认证令牌中的每一个强认证令牌生成令牌特定的主密钥; 使用与所述令牌相关联的令牌特定的主密钥来个性化所述一批强认证令牌中的每一个令牌; 针对多个所支持的应用提供者或应用提供者组中的每一个生成一组应用提供者特定的令牌密钥,所述一批强认证令牌中的每一个令牌对应一个应用提供者特定的令牌密钥;其中,从所述令牌的令牌特定的主密钥和所述应用提供者或应用提供者组的唯一标识符或指示符导出所述组中的每个组的每个应用提供者特定的令牌密钥;以及 向每个应用提供者或负责代表所述应用提供者来验证针对所述应用提供者生成的动态凭证的实体提供相应的一组应用提供者特定的令牌密钥。
12.根据权利要求11所述的方法,还包括在令牌已经个性化以及已针对所有的所支持的应用服务商生成所述应用提供者特定的令牌密钥的组之后,将没有包括在所述令牌中的令牌特定的主密钥的所有副本破坏。
全文摘要
本发明定义了一种用于针对不同的应用提供者生成不同的动态凭证的强认证令牌,包括输入接口,所述输入接口提供代表应用提供者指示符的输出;密钥存储器,所述密钥存储器存储一个或更多个密钥;变量源,所述变量源用于提供动态变量值;密钥提供工具,所述密钥提供工具用于使用存储在所述密钥存储器中的一个或更多个密钥根据所述应用提供者指示符提供应用服务商特定的密钥;加密工具,所述加密工具用于使用对称加密将所述动态变量值与所述应用提供者特定的密钥进行加密组合;转化工具,所述转化工具耦接至所述加密工具,以用于对所述加密工具的输出进行转化以生成动态凭证;以及输出接口,所述输出接口输出所述动态凭证。
文档编号H04L29/06GK102648610SQ201080047277
公开日2012年8月22日 申请日期2010年10月22日 优先权日2009年10月23日
发明者弗兰克·霍尔内特, 贝诺伊特·格兰奇, 迪尔克·马里恩 申请人:威斯科数据安全国际有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1