CN102474416B - 具有增量密钥建立能力的认证令牌 - Google Patents
具有增量密钥建立能力的认证令牌 Download PDFInfo
- Publication number
- CN102474416B CN102474416B CN201080030832.8A CN201080030832A CN102474416B CN 102474416 B CN102474416 B CN 102474416B CN 201080030832 A CN201080030832 A CN 201080030832A CN 102474416 B CN102474416 B CN 102474416B
- Authority
- CN
- China
- Prior art keywords
- secret
- value
- instance
- conversion
- certificate
- 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.)
- Expired - Fee Related
Links
Classifications
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
Abstract
一种装置,包括:用于秘密密钥的存储器,所述秘密密钥用于密码值的生成;以及密码代理,用于使用所述秘密密钥生成所述密码值,以不可预测的方式选择预定的密钥变换集合中的一个密钥变换,并在生成所述密码值之一之前将所选择的密钥变换应用到所述密码密钥。服务器通过以下方式接收和认证使用经变换的秘密生成的证书并得出经变换的秘密:使用所存储的秘密的已知的允许的变换的集合来生成多个验证值;确定所述证书是否与所述多个验证值之一匹配;以及,如果所述证书与所述多个验证值之一匹配,则将所述已知的允许的变换的集合中相应的一个变换存储为所存储的秘密的更新值。
Description
技术领域
本发明涉及强认证令牌的领域,更具体地涉及采用用于这种强认证令牌的密码密钥建立协议的方法和装置。
背景技术
强认证令牌是本领域所公知的。通过提供只能使用秘密或密钥的知识而生成的证书,强认证令牌允许服务提供者和应用对令牌的持有者进行认证,在一方面的由服务提供者或应用所采用的认证服务器与另一方面的认证令牌之间共享该秘密或密钥。为了生成证书,认证令牌将密码算法应用到被共享的秘密和变量,该秘密和变量例如包括计数器值、表示当前时间的值以及表示正在进行的会话或事务处理的询问(challenge)或数据。如此生成的证书用作一次性口令(password),或者在其计算中包括事务处理数据的情况下,如此生成的证书用作电子签名。
认证服务器使用其自身对共享秘密的拷贝、以及其本地保存的计数器值、当前时间、其提交到终端用户的询问或者相关的事务处理相关数据,执行相同计算或互补计算以获得验证值。如果由终端用户提交的令牌生成证书与由认证服务器生成的验证值相匹配,则认证通过。
典型的强认证令牌具有用于将证书传达给终端用户的显示器、以及按钮或小键盘以请求生成新的证书和/或输入询问、事务处理数据、PIN码等。其它已知的通信装置包括听觉输出、USB接口以及无线接口。其它已知的输入装置包括光学传感器、USB接口以及无线接口。
一些强认证令牌是其仅有的或主要的功能是生成认证证书的专用硬件设备;而其它令牌是具有通用目的计算能力的设备(例如个人计算机、个人数字助理、蜂窝式电话),这些设备运行模拟专用硬件强认证令牌功能的软件并且通常仅作为除了其它功能之外的附加功能提供认证证书的生成。后一种令牌有时被称为软件令牌。
在第一类强认证令牌中,秘密被嵌入于在令牌自身内部的存储器中,该存储器通常被制作成不可被外部世界访问。
在第二类强认证令牌中,令牌能够接纳承载秘密的外部部件(诸如智能卡)并且能够与该外部部件配合以生成并提供证书。
第二类强认证令牌的优点是直到添加了外部部件为止它们可以是完全通用的。这意味着针对这种强认证令牌的制造、库存管理和分配处理与针对任何其它类型的非个性化电子装置的处理是类似的,而没有保持跟踪各个项目的下落的特殊要求。
然而,可能出现这样的情形,期望具有将两个领域的优点相结合的令牌,即具有嵌入在设备自身中的秘密的强认证令牌,该强认证令牌仍然能够作为通用项目被制造。
发明内容
技术问题
一种提供具有嵌入在设备自身中的秘密而仍然能够作为通用项目被制造的强认证令牌的方式是,在分配到终端用户之后,在其第一次使用之前将令牌个性化。这种方法的缺点是需要将密钥种子输入到设备中,这通常必须由终端用户(例如经由小键盘)手动完成。存在对由终端用户输入的数据的大小的相冲突影响的两个要求。一方面,有需要使用户便利最大化,这意味着由终端用户输入的数据量应该是最小化的。在实践中,终端用户输入为密码密钥提供多于约40比特的熵的密钥种子可以被认为不实用的。另一方面,存在通过使密钥的熵最大化而使得安全性最大化的需要。通常推荐最小80比特的熵用于密码密钥以提供对所谓的强力攻击的抵抗力。为了获得这种高质量的共享秘密,即具有高程度熵的共享秘密,必须由终端用户输入的数据的量会大得使得这种方法变得不便利。
由此,需要一种在分配到终端用户之后对强认证令牌个性化的更加便利的方法。
技术方案
本发明基于以下认识:虽然高质量的共享秘密需要以安全的方式在认证服务器和强认证令牌之间交换相对大量的密钥材料,但是无需在一次事务处理中交换所有这种材料。本发明通过实施增量密钥建立协议来解决强认证令牌的分配后个人化的问题。
第一,本发明依赖以下事实:只要认证服务器和强认证令牌是同步的,即双方都知道当前版本的共享秘密是什么,那么共享的秘密无需在时间上恒定。
第二,本发明依赖以下事实:如果强认证令牌在预定的界限之内修改共享的秘密,那么仅通过试验共享秘密的受限数目的允许修改,接收用经修改的版本的共享秘密生成的证书的认证服务器将能够验证该证书,同时重建经修改的共享秘密。
第三,本发明依赖以下事实:一系列如上所述的随机的(或伪随机,或者在实际意义上不可预测的其它方式)但是有界限的修改会随着时间而去除可能存在于被存储在不同强认证令牌中的密钥之间的任何相关性。
基于这些前提,可以以下方式有效地解决个人化问题。用户被提供以在某个时间点被给以初始秘密的强认证令牌,该初始秘密因为某种原因而被认为具有弱点或者表示潜在的安全风险。例如,这些令牌可以是全部都包括相同的预编程的秘密的通用令牌,以使得该单个秘密的泄密会潜在地影响所有用户,或者这些令牌可以是由终端用户用具有相对低的熵的最小用户专用秘密密钥材料做种子(seeded)的令牌。对于通过强认证令牌进行的证书的后续生成中的至少一些生成,令牌在证书的生成之前改变秘密,每个这样的改变是从受限的允许的改变的集合中随机地(或者伪随机地、或者在实际意义上不可预测的某种其它方式)选择出的。在将证书提交到认证服务器时,认证服务器针对共享秘密的允许的改变中的每个改变生成验证值。如果验证值中任何验证值与所接收到的证书匹配,则认证通过,并且对应版本的改变了的共享秘密作为新的共享秘密被存储。如果没有认证值与所接收到的证书匹配,则认证不通过,并且所存储的共享秘密保持不变。
只要满足预定的条件,诸如达到了目标水平的熵或者距初始秘密的统计距离,那么改变秘密的处理就可以终止。可替选地,改变秘密的处理可以无限地继续。如果在任何证书生成时攻击者能够观察到所生成的证书的可能性都非零,那么后者可以是优选的。
在一个实施例中,可以以真随机的方式进行从受限的允许的改变的集合中选择秘密密钥改变。在另一个实施例中,选择是以伪随机方式或者以在实际意义上对试图检索秘密密钥的攻击者来说是不可预测的某种其它方式进行。在本文的其余部分中,除非另外指出,应该将术语“随机”理解为不仅包括真随机,也包括较较弱形式的不可预测性。
在优选的实施例中,例如通过在安全信道(例如SSL或TLS连接)上将所生成的证书中的至少一些证书传送到认证服务器来保护所述证书的机密性。
在一些实施例中,共享的秘密是直接用于生成或验证证书的密钥。在其它实施例中,共享秘密是例如在对用于生成或验证证书的会话密钥的推导中被间接使用的秘密数据。在本文的其余部分中,应该将“共享的秘密密钥”理解为包括在令牌和认证服务器之间共享的用于确定用来生成或验证证书的会话密钥的值的所有秘密数据。
在一些实施例中,如果验证值和所接收到的证书相等,那么它们匹配。在其它实施例中,如果验证值和所接收到的证书满足一些预定关系,那么它们匹配。在一个实施例中,如果验证值等于从所接收到的证书计算出的某个值,那么该验证值可以匹配所接收到的证书。例如,在生成证书的最后阶段涉及加扰(scrambling)的情况下,所接收到得证书可以通过认证服务器解扰,并且如果验证值等于解扰的证书,则发生匹配。
基于时间的强认证令牌(即,使用在证书的生成过程中从内部时钟得出的值的强认证令牌)的使用通常需要认证服务器一侧的同步机制。这是由于令牌内部的时钟的准确度有限这一事实,以及因为证书的生成与证书的接收之间的时间可能改变。处理同步问题的一种方式是在认证服务器处计算与“实际时间值”附近的小窗口内的不同时间值对应的不同验证值。以这种方式,尽管有少量的去同步化,但是成功的认证仍然会发生。此处所使用的“实际时间值”是从认证服务器的内部时钟获得的时间值,针对每个单独的令牌偏移特定的量。只要同步算法指示当前存储的“实际时间”不再与给定的强认证令牌所显然使用的时间相对应,则可以更新该偏移。
同样的原因适用于对基于事件的强认证令牌的使用,这种装置也就是使用证书生成过程中从内部计数器得出的值的强认证令牌。此处,问题是终端用户可能已经生成了从未提交到认证服务器的证书,由此在存储在认证服务器处的计数器值和存储在强认证令牌中的计数器值之间产生了分歧。更具体地,在这些情况下,存储在强认证令牌中的计数器值会大于或等于存储在认证服务器中的值(计数器溢出的可能性除外)。也可以在认证服务器侧实施同步算法,该算法包括计算与从服务器侧计数器值开始的小窗口内的不同的计数器值相对应的不同认证值。只要同步算法指示当前存储的计数器值不再与被强认证令牌所显然使用的计数器值相对应,那么对应于任何给定的强认证令牌的服务器侧计数器值就可以被更新。
本发明的机制可能看起来与以上呈现的同步方案相类似,这是因为该机制也包括“测试”一定数目的候选验证值,以及当识别出正确的候选时更新令牌特定数据元素。然而,本发明在一些重要方面不同于该同步机制。首先,尽管同步机制的目的是能够在服务器侧对已经被认证令牌用于生成证书的输入变量的精确值的潜在不明确性进行处理,由此无需所述精确值的机密性,而本发明的目的是将认证令牌共享的秘密密钥的变换以安全且机密的方式传送到服务器。第二,根据本发明的强认证令牌包括新颖的变换代理,该变换代理适合于根据从允许变换的集合中的随机选择的一个变换来变换被存储的共享秘密密钥。第三,根据本发明的认证服务器现在默认执行对所应用的变换进行确定的步骤,而不是预期能够用“最后已知(last known)的好参数”(存储的时间偏移或计数器值)来验证证书,以及作为回退进入到同步算法。通常,无需检查是否使用了“最后已知的好参数”,而如果发现秘密正在被重新使用,那么这不应该导致成功的认证。
由此,清楚的是,本发明的特征可以应用到基于时间的或者基于事件的强认证令牌,因此,上述同步算法以及本发明的秘密变换机制二者都可以被认证服务器执行。如果证书生成过程仅基于询问或事务处理数据,那么如上所述的同步机制是不必要的,这明显地降低了会导致成功认证的候选证书的数目,由此还降低了假阳性认证的风险。
实际上,并不是由认证令牌生成的每个证书都会被提交到认证服务器。在这种情况下,认证令牌可能已经将变换应用到了其共享密钥拷贝上,而服务器确不知道该情况并且因此将不会将同样的变换应用到其自身的共享密钥拷贝上。以这种方式,令牌处的共享密钥拷贝与服务器处的共享密钥拷贝会变得去同步化。可以以许多方式来补救这个问题。
可选地,如果本发明的变换机制的应用没有导致成功的认证,那么认证服务器可以将第二集合的允许的变换的应用到第一集合的允许的变换中的每个。由此使候选验证值的数目取平方,并且使用由此获得的认证值来重复认证尝试。这样做使得认证服务器能够检测到下述情况:证书是由强认证令牌生成的,且变换被应用到令牌的秘密而不通知认证服务器。然而,针对多个“缺失的证书”重复该方法迅速地增加了服务器认为是可接受的候选值的数目,这会对安全水平有不利影响。
在可替选的解决方案中,令牌不将密钥变换应用到每个证书生成。例如在一个实施例中,只有当令牌已经生成了至少N个证书而没有应用密钥变换时,令牌才应用密钥变换(其中,N是作为令牌的参数的正整数,例如值为“4”)。因为服务器接收使用经变换的密钥而生成的至少一个证书就足以能够跟踪密钥变换,所以服务器可以遗漏连续生成的多至N-1个证书而没有去同步化的风险。
在另一个实施例中,令牌只在从上一次密钥变换起经过了某个最小量的时间(例如一天)的情况下才应用密钥变换。这在下述情况下会是特别有用的:终端用户“玩”令牌并且在短时间范围内逐一生成许多证书而没有将所生成的证书实际呈现到服务器。
在一个实施例中,例如如果可接受的是假设潜在的攻击者通常不能观察到提交到认证服务器的所有证书,那么令牌可以在证书中包括对于选择了哪个允许变换的指示。
虽然到此为止仅在强认证令牌的背景下对本发明进行了描述,但是本领域技术人员会明白,相同的方法可以用于共享秘密密钥的任意一对实体,其中一个实体使其共享密钥拷贝发生改变而另一个实体需要使其自身共享密钥拷贝发生相同的改变。因此可以以更加一般的形式将本发明的一个实施例描述为一种用于共享秘密密钥的实体将通过所述两个实体中的第一实体对所述共享密钥的变换从所述第一实体传送到所述实体中的第二实体方法;所述方法包括以下步骤:所述第一实体从受限的允许密钥变换集合中选择所述密钥变换;所述第一实体用所述变换的秘密密钥生成密码值;将所述密码值提交到所述第二实体;所述第二实体使用候选秘密密钥值来生成多个候选验证值,该候选秘密密钥值是通过将来自所述的允许密钥变换集合的变换应用到其自身的共享秘密密钥拷贝,并将所述候选验证值中的至少之一与所述第一实体生成的所述密码值相比较而获得的;以及,如果所述候选验证值之一与所述第一实体生成的所述密码值匹配,那么所述第二实体保留所述候选秘密密钥值中的、其对应的候选验证值与所述第一实体生成的所述密码值匹配的一个候选秘密密钥值作为其自身的共享秘密密钥拷贝的新值。
有利效果
根据本发明的令牌结合了以下优点:具有嵌入在设备自身中的秘密的强认证令牌,以及按照通用项目制造和分配令牌的可能性。
一旦使用了一批最初具有相同的秘密的强认证令牌,它们就会扩散成为一组具有相互不同的秘密的令牌,由此,减弱了在初始秘密曾经被泄密的情况下的潜在后果。
从具有低熵的由终端用户手动提供的种子得出的软件令牌的秘密会逐渐地改变成具有高水平熵的秘密,由此对于不能够观察到所有生成的证书的攻击者来说更难通过穷举搜索来猜出。这会例如是下述情况,证书中的至少一些证书在安全信道(例如SSL或TLS连接)上被传送到服务器。
附图说明
如附图所示,根据以下对本发明的几个实施例的更具体的描述,本发明的前述和其它的特征和优点将会明显;
图1示出根据本发明的一个实施例的强认证令牌100;
图2示出根据本发明的方法;
图3示出根据本发明的方法的变型。
具体实施方式
强认证令牌通常被设置成手持式电池供电的装置的形式,其具有显示器以将证书输送给用户。通常,该装置具有按钮以触发证书生成过程;有时,有小键盘用于输入PIN码、询问、事务处理数据等。一些强认证令牌适合于接纳诸如智能卡的外部密钥存储介质。证书的密码生成可以通过被适当地编程的处理器或微处理器来执行,或者通过诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)的专用的硬件来执行。所有这些特征都是设计选择,其可以或者可以不存在于本发明的具体实施例中。
在本发明的装置的优选实施例中,如图1所示,装置是强认证令牌100,包括秘密密钥存储器101。来自存储器101的密钥用于生成证书。密钥变换代理102通过使用不可预测性源106选择受限的变换集合中的一个变换,在连续的证书生成之间将该集合中的一个变换应用到所述秘密密钥。证书由密码代理104生成,该密码代理104还使用由被示出为可变性源103的时钟、计数器或输入接口所提供的时间、计数或者询问值。所生成的证书通过证书输出接口105提供到终端用户。秘密密钥存储装置101可以包括:易失性存储器,诸如已经存在于令牌中的处理器或微处理器的存储器;或者单独的随机存取存储器(RAM)部件,由此该存储器由电池永久地供电以防止所存储的数据的丢失。可替选地,秘密密钥存储器101可以是持久性存储器,诸如快速闪存部件。
优选地,变换代理102随机地、伪随机地或者以在实际意义上不可预测的某种其它方式从受限的允许变换集合中选择其施加到所述秘密密钥的所述变换。所述变换代理102可以通过以某种顺序列出允许的变换以及挑选出列表中的第k个变换来选择所述变换,其中,k是不可预测的数模除被允许的变换的数目而得到的值。生成不可预测性的技术是本领域公知的。在一个实施例中,所述变换代理102可以包括或者能够访问一些不可预测性源106,诸如,例如基于电路中的热噪声或电子噪声的真硬件随机数生成器。在另一个实施例中,所述变换代理102包括时钟或计数器并且将与所述时钟或计数器异步或不相关的事件之间的时间差或者计数器差作为不可预测性的源。所述事件例如可以是某用户与设备交互的精确时刻。在又一个实施例中,变换代理102包括以某秘密数据元素做种子的伪随机数生成器。在再一个实施例中,变换代理102可以将用户输入的数据的内容作为不可预测的数据,由用户输入的数据的内容诸如由服务器提供的询问或者甚至是与事务处理相关的数据。在这种情况下,优选地例如通过在安全信道(例如TLS或者SSL连接)上交换所述数据中的至少一些数据来保护用户输入的所述数据的机密性。
变换代理102可以是被适当地编程的处理器或微处理器,或者是专用硬件,诸如专用集成电路(ASIC)或者现场可编程门阵列(FPGA)。密码代理104也可以是被适当地编程的处理器或微处理器,或者是专用硬件,诸如专用集成电路(ASIC)或者现场可编程门阵列(FPGA)。变换代理102和密码代理104可以被实现在同一硬件平台上或者在不同的硬件平台上。
在一个实施例中,令牌还包括适合于接收询问和/或事务处理数据的输入接口103,诸如人机接口设备或者机器对机器接口,所述询问和/或事务处理数据用于得出动态值。人机接口设备可以包括小键盘。在另一个实施例中,令牌包括适合于输出所生成的证书的证书输出接口105,诸如人机接口设备或者机器对机器接口。人机接口设备可以包括视觉输出设备(诸如显示器)或者听觉输出设备(诸如合成语音源)。输入接口103或证书输出接口105的机器对机器接口可以包括USB、以太网、串口、或者其它有线接口,或者蓝牙、WiFi、蜂窝或者其它无线接口。
在本发明的装置100的一类实施例中,使用动态值来生成证书。在优选实施例中,令牌100还包括时钟103,而动态值是从时钟的时间值得出的时间值。在另一个实施例中,令牌100还包括计数器103,诸如在每次生成证书时增量的寄存器,而动态值从当前的计数器值得出。在又一个实施例中,令牌还包括适合于接收询问和/或事务处理数据的输入接口103,诸如人机接口设备或者机器对机器接口,所述询问和/或事务处理数据用于得出动态值。优选地,令牌100能够使用时间值和接收到的询问和/或事务处理数据两者来生成证书。
图2中示出了本发明的方法的实施例,其基于经变换的秘密来接收证书并且得出经变换的秘密。通常,图2的方法可以由服务器来执行,以对由用户从令牌获得的并且由用户提供给服务器的证书进行认证。初始地,在步骤201针对需要被认证的令牌检索所存储的秘密。该方法包括计算(步骤202)与所存储的秘密的不同的允许变换相对应的验证值;对照这些验证值中的每个验证值检查(步骤203)接收到的证书;如果有匹配的话,那么确定(步骤204)验证值中的哪个验证值产生了匹配;如果成功,那么将匹配的变换存储(步骤205)为在认证的令牌的新秘密,并返回(步骤206)成功的认证结果;如果不成功,那么返回(步骤207)不成功的认证结果。
图3示出了本发明的方法的另一个实施例,其基于经变换的秘密来接收证书并且得出经变换的秘密。初始地,针对需要被认证的令牌检索(步骤301)所存储的秘密。该方法包括计算(步骤302)与所存储的秘密的允许变换中的第一变换相对应的验证值;对照该第一验证值来检查(步骤303)接收到的证书;确定(步骤304)计算出的验证值是否产生匹配;如果成功,那么将匹配的变换存储(步骤305)为在认证的令牌的新秘密,并返回(步骤306)成功的认证结果;如果不成功,那么检查(步骤307)是否还有剩余的允许变换;如果没有,则返回(步骤308)不成功的认证结果;如果有,则针对下一个允许变换重复步骤302和后续步骤。
在本发明的方法的一类实施例中,使用动态值来生成验证值。在优选的实施例中,在优选的实施例中,动态值是从时钟得出的时间值。在另一个实施例中,动态值是从计数器的当前值得出的。在又一个实施例中,动态值包括询问和/或与事务处理或会话相关的数据。
本领域技术人员会理解,有许多的方式可以使初始通用密钥变换以使得随后的变换导致不可预测的并且优选地高度不同的结果。在本发明的意义上,一种设计允许变换的集合的相对简单的方式是指定少量的固定项,这些项中的一项借助于二进制XOR运算被附加或者添加到当前有效版本的秘密,之后,用公知的散列函数使结果散列或加扰。在每次变换中,允许变换值的数目等于可选择的固定项的数目。另一种方式是简单随机地选择且翻转秘密的一个比特。这样,秘密会有效地执行一种在密钥空间中的随机游动。在每次变换中,允许变换值的数目等于秘密中的比特数目。又一种方式是以固定的顺序来考虑秘密的所有比特并且每次变换随机地决定所考虑的比特是否正在被改变。在每次变换中,有两个允许变换值。这样,在等于秘密中的比特数目的数目次的变换之后,秘密的值会完全独立于秘密的初始值。一种变型是,在每次变换中,每次不止考虑一比特而是考虑一(小)组比特,例如每次2比特或3比特,并且针对所考虑的组中的每个比特决定是否改变该比特。在这种情况下,每次变换的允许的变换值的数目等于2的下述数目次方,该数目为每次变换中可以改变的比特的数目。
虽然以上描述了本发明的各种实施例,但是应该理解,这些实施例仅作为示例呈现,而不是限制。由此,本发明的广度和范围不应该被以上所描述的示例性实施例中的任何示例性实施例所限制,而是应该仅根据所附权利要求及其等效内容来限定。
Claims (26)
1.一种采用用于强认证令牌的密码密钥建立协议的设备,包括:
存储装置,用于存储秘密密钥的当前值,所述秘密密钥用于密码值的生成;
密钥变换代理,其被配置为:
以不可预测的方式从预定的允许变换的集合中随机选择秘密密钥变换以产生经变换的秘密密钥,使得只有所述设备知道所述选择,而任何认证验证者都不知道所述选择;
将所选择的秘密密钥变换应用到所述秘密密钥的当前值;以及
将存储在所述存储装置中的所述秘密密钥的当前值更新为所述秘密密钥的经变换的值;以及
密码代理,被配置为使用存储在所述存储装置中的所述秘密密钥的当前值来生成所述密码值。
2.根据权利要求1所述的设备,还被配置为确保:在所述密钥变换代理已完成所述秘密密钥的当前值的第一次更新之后,在所述密钥变换代理对所述秘密密钥的当前值进行下一次更新之前,由所述密码代理生成最少数量的密码值。
3.根据权利要求1所述的设备,还被配置为迫使对所述秘密密钥的任意两个相继变换之间的时间间隔最短。
4.根据权利要求1所述的设备,其被配置为通过用户手动输入密钥种子来使所述设备个性化。
5.根据权利要求1所述的设备,还被配置为使得所述密钥变换代理在满足预定条件之后不再以不可预测的方式更新所述秘密密钥的值。
6.一种包括根据权利要求1所述的设备的强认证令牌,其中,所述密码代理使用所述秘密密钥的当前值生成所述密码值包括:所述密码代理通过对所述秘密密钥的当前值和动态值进行加密地组合来生成认证证书。
7.根据权利要求6所述的令牌,还包括时钟,其中所述认证证书包括一次性口令,并且其中所述动态值包括从所述时钟得出的时间值。
8.根据权利要求6所述的令牌,还包括计数器,其中所述认证证书包括一次性口令,并且其中所述动态值是从所述计数器存储的值得出的。
9.根据权利要求6、7或8所述的令牌,还包括数据输入接口,其中,所述证书的生成使用通过所述数据输入接口从所述令牌的用户接收到的数据。
10.根据权利要求9所述的令牌,其中通过所述数据输入接口接收的所述数据包括事务处理数据。
11.根据权利要求9所述的令牌,其中通过所述数据输入接口接收的所述数据包括询问。
12.一种用于认证从用户接收到的证书的方法,包括:存储秘密;生成多个验证值,其中每个所述验证值是使用来自所述所存储的秘密的已知的允许变换的预定集合的相应所选变换而加密地生成的;接收已使用所述秘密来加密地生成的证书,其中已通过从所述允许变换的预定集合中随机选择一个变换来以不可预测的方式从先前的秘密随机地变换了所述秘密,其中,只有所述选择者知道所述选择,而任何认证验证者都不知道所述选择;确定所述证书是否与所述多个验证值之一匹配;以及,如果所述证书与所述多个验证值之一匹配,则将所存储的秘密更新为通过所述已知的允许变换的集合中的相应一个变换而变换的秘密。
13.根据权利要求12所述的方法,其中,所述验证值的生成使用动态值。
14.根据权利要求13所述的方法,其中,所述动态值是从时钟得出的时间值。
15.根据权利要求13所述的方法,其中,所述动态值是从计数器值得出的。
16.根据权利要求13、14或15所述的方法,其中,所述验证值的生成使用与事务处理有关的数据。
17.根据权利要求13、14或15所述的方法,其中,所述验证值的生成使用表示会话的数据。
18.一种将经变换的秘密从存储秘密的值的第一实体安全地传送到也存储所述变换前的所述秘密的值的第二实体以允许所述第二实体确定所述经变换的秘密的方法,所述方法包括:
在所述第一实体处进行以下操作:
以不可预测的方式从预定的允许变换的集合中随机选择用于所存储的秘密的变换,以产生经变换的秘密,使得所述选择只被所述第一实体知道而不被所述第二实体知道;用所述经变换的秘密替换由所述第一实体存储的所述秘密的当前值;使用所述秘密的当前值生成密码值;以及将所述密码值提交到所述第二实体;以及在所述第二实体处进行以下操作:
从所述第一实体接收所述密码值;通过将来自所述预定的允许变换的集合的变换应用到被所述第二实体存储的所述秘密来生成若干候选秘密;针对每个验证值使用所述候选秘密中相应的一个候选秘密来加密地生成多个验证值;将所述验证值的至少之一与所述密码值比较;以及,如果所述验证值之一与所述接收到的密码值匹配,则将在加密地生成与从所述第一实体接收到的所述密码值匹配的所述验证值的过程中使用的所述候选秘密保存为所述所存储的秘密的值,由此所述第一实体和所述第二实体存储所述经变换的秘密的值。
19.根据权利要求18所述的方法,其中所述密码值包括认证证书。
20.根据权利要求19所述的方法,其中所述认证证书的所述生成包括将所述秘密与动态变量的值进行加密地组合。
21.根据权利要求20所述的方法,其中,所述第一实体包括强认证令牌,并且其中所述认证证书包括一次性口令,并且其中所述动态变量与时间有关或者与由所述强认证令牌维护的计数器有关。
22.根据权利要求20所述的方法,其中,所述第一实体包括强认证令牌,并且其中所述认证证书包括响应,并且其中所述动态变量与询问有关。
23.根据权利要求19所述的方法,其中所述第一实体包括强认证令牌,并且其中所述认证证书包括电子签名,并且其中所述电子签名的生成包括将所述秘密与所要签名的事务处理数据进行加密地组合。
24.根据权利要求18所述的方法,其中,在对所述秘密密钥进行的第一变换之后,在对所述秘密密钥进行下一次变换之前,生成最少数量的密码值,以使得所述选择只被所述第一实体知道而不被所述第二实体知道。
25.根据权利要求18所述的方法,其中,在对所述秘密密钥进行的任意两个相继的变换之间的时间间隔最短,以使得所述选择只被所述第一实体知道而不被所述第二实体知道。
26.一种在第二实体处安全地更新被所述第二实体和第一实体共享并且被所述第一实体变换的秘密的值的方法,所述方法包括:
在所述第二实体处接收来自所述第一实体的密码值,所述密码值已被所述第一实体从所述经变换的秘密得出,其中,已由所述第一实体通过从预定的允许变换的集合中随机地选择一个变换,并且将所选择的一个变换应用到由所述第一实体和所述第二实体共享的秘密,来以不可预测的方式随机生成所述经变换的秘密,其中所述选择只被所述第一实体知道而不被所述第二实体知道,
在所述第二实体处使用不同的候选秘密生成多个验证值,其中,从通过受限的允许变换的集合中的不同变换而变换的所存储的秘密得出所述候选秘密,
在所述第二实体处将所述验证值的至少之一与所述密码值比较;以及,如果所述验证值之一与所述密码值匹配,则在所述第二实体处将在获得与从所述第一实体接收到的所述密码值匹配的所述验证值的过程中使用的所述候选秘密保存为所存储的秘密,由此所述第二实体存储所述经变换的秘密。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/501,131 | 2009-07-10 | ||
US12/501,131 US8347096B2 (en) | 2009-07-10 | 2009-07-10 | Authentication token with incremental key establishment capacity |
PCT/US2010/041486 WO2011006043A1 (en) | 2009-07-10 | 2010-07-09 | Authentication token with incremental key establishment capability |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102474416A CN102474416A (zh) | 2012-05-23 |
CN102474416B true CN102474416B (zh) | 2014-12-03 |
Family
ID=43428358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080030832.8A Expired - Fee Related CN102474416B (zh) | 2009-07-10 | 2010-07-09 | 具有增量密钥建立能力的认证令牌 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8347096B2 (zh) |
EP (1) | EP2452460A4 (zh) |
CN (1) | CN102474416B (zh) |
WO (1) | WO2011006043A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8752156B1 (en) | 2012-03-30 | 2014-06-10 | Emc Corporation | Detecting soft token copies |
MX366316B (es) * | 2012-08-21 | 2019-07-04 | Bankinter Sa | Metodo y sistema para habilitar ticketing/pagos moviles sin contacto por medio de una aplicacion de telefono movil. |
JP2017507549A (ja) * | 2013-12-30 | 2017-03-16 | バスコ データ セキュリティー インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング | ブルートゥースインタフェースを備える認証装置 |
US9306930B2 (en) | 2014-05-19 | 2016-04-05 | Bank Of America Corporation | Service channel authentication processing hub |
US9836594B2 (en) | 2014-05-19 | 2017-12-05 | Bank Of America Corporation | Service channel authentication token |
US10686612B2 (en) * | 2015-07-30 | 2020-06-16 | Hewlett Packard Enterprise Development Lp | Cryptographic data |
CN105183866A (zh) * | 2015-09-15 | 2015-12-23 | 上海上讯信息技术股份有限公司 | 用于在数据库审计中解析协议参数的方法和设备 |
WO2017096300A1 (en) * | 2015-12-04 | 2017-06-08 | Visa International Service Association | Unique code for token verification |
US10262164B2 (en) * | 2016-01-15 | 2019-04-16 | Blockchain Asics Llc | Cryptographic ASIC including circuitry-encoded transformation function |
CN105978876B (zh) * | 2016-05-11 | 2019-04-23 | 杭州图南电子股份有限公司 | 一种应用在广播通讯中的指令加密方法 |
TWI694707B (zh) * | 2016-10-03 | 2020-05-21 | 日商日本電氣股份有限公司 | 通信裝置、通信方法、通信系統及記錄媒體 |
US10887090B2 (en) * | 2017-09-22 | 2021-01-05 | Nec Corporation | Scalable byzantine fault-tolerant protocol with partial tee support |
US10372943B1 (en) * | 2018-03-20 | 2019-08-06 | Blockchain Asics Llc | Cryptographic ASIC with combined transformation and one-way functions |
US10256974B1 (en) | 2018-04-25 | 2019-04-09 | Blockchain Asics Llc | Cryptographic ASIC for key hierarchy enforcement |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173400B1 (en) * | 1998-07-31 | 2001-01-09 | Sun Microsystems, Inc. | Methods and systems for establishing a shared secret using an authentication token |
CN101005357A (zh) * | 2006-12-28 | 2007-07-25 | 北京飞天诚信科技有限公司 | 一种更新认证密钥的方法和*** |
CN101355422A (zh) * | 2008-07-16 | 2009-01-28 | 冯振周 | 一种新型矢量加密认证机制 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4819267A (en) | 1984-02-22 | 1989-04-04 | Thumbscan, Inc. | Solid state key for controlling access to computer systems and to computer software and/or for secure communications |
US4599489A (en) | 1984-02-22 | 1986-07-08 | Gordian Systems, Inc. | Solid state key for controlling access to computer software |
US4609777A (en) | 1984-02-22 | 1986-09-02 | Gordian Systems, Inc. | Solid state key for controlling access to computer software |
EP1570442A2 (en) * | 2002-11-27 | 2005-09-07 | RSA Security Inc. | Identity authentication system and method |
US8820637B1 (en) * | 2005-02-26 | 2014-09-02 | James A. Roskind | Time-varying security code for enabling authorizations and other uses of financial accounts |
US8127135B2 (en) | 2006-09-28 | 2012-02-28 | Hewlett-Packard Development Company, L.P. | Changing of shared encryption key |
-
2009
- 2009-07-10 US US12/501,131 patent/US8347096B2/en not_active Expired - Fee Related
-
2010
- 2010-07-09 CN CN201080030832.8A patent/CN102474416B/zh not_active Expired - Fee Related
- 2010-07-09 EP EP10797896.7A patent/EP2452460A4/en not_active Withdrawn
- 2010-07-09 WO PCT/US2010/041486 patent/WO2011006043A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173400B1 (en) * | 1998-07-31 | 2001-01-09 | Sun Microsystems, Inc. | Methods and systems for establishing a shared secret using an authentication token |
CN101005357A (zh) * | 2006-12-28 | 2007-07-25 | 北京飞天诚信科技有限公司 | 一种更新认证密钥的方法和*** |
CN101355422A (zh) * | 2008-07-16 | 2009-01-28 | 冯振周 | 一种新型矢量加密认证机制 |
Also Published As
Publication number | Publication date |
---|---|
WO2011006043A1 (en) | 2011-01-13 |
US8347096B2 (en) | 2013-01-01 |
CN102474416A (zh) | 2012-05-23 |
EP2452460A1 (en) | 2012-05-16 |
US20110010552A1 (en) | 2011-01-13 |
EP2452460A4 (en) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102474416B (zh) | 具有增量密钥建立能力的认证令牌 | |
CN111213171B (zh) | 用于安全离线支付的方法和装置 | |
EP3605997B1 (en) | Method, apparatus and system for securing a mobile application | |
CN101847296B (zh) | 集成电路、加密通信装置、***和方法以及信息处理方法 | |
KR101284481B1 (ko) | 생체이미지 정보를 포함하는 일회용 비밀번호를 이용한 인증방법 및 장치 | |
US9218493B2 (en) | Key camouflaging using a machine identifier | |
CN111034120B (zh) | 基于身份信息的加密密钥管理 | |
KR102289419B1 (ko) | 바이오메트릭을 이용한 사용자의 인증 방법 및 장치 | |
CN105723651A (zh) | 可验证装置 | |
EP2720167A1 (en) | Method and system for smart card chip personalization | |
CN101765996A (zh) | 远程认证和交易签名 | |
CN102187619A (zh) | 认证*** | |
US8245040B2 (en) | Secret authentication system | |
JP2008526078A (ja) | 鍵生成、及び認証の承認に関する方法及び装置 | |
CN101278538A (zh) | 用于用户认证的方法和设备 | |
CN111401901B (zh) | 生物支付设备的认证方法、装置、计算机设备和存储介质 | |
WO2017117520A1 (en) | A method, system and apparatus using forward-secure cryptography for passcode verification | |
CN101124767A (zh) | 密钥生成以及证明真实性的方法和设备 | |
CN111739200B (zh) | 一种指纹电子锁的加密、解密认证方法和指纹电子锁 | |
Gope et al. | A comparative study of design paradigms for PUF-based security protocols for IoT devices: Current progress, challenges, and future expectation | |
EP3471334B1 (en) | Method for configuring a transponder, transponder and base station | |
CN101510875B (zh) | 一种基于n维球面的身份认证方法 | |
CN102571810A (zh) | 一种基于硬件数字证书载体的动态密码验证方法及*** | |
CN104579692A (zh) | 一种基于智能卡的信息处理方法 | |
KR101012479B1 (ko) | 입력값에 따른 otp 발생키를 생성하여 otp를 발생하는 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141203 Termination date: 20200709 |