CN101076807B - 一次性密码验证的方法和系统 - Google Patents
一次性密码验证的方法和系统 Download PDFInfo
- Publication number
- CN101076807B CN101076807B CN200580042646.5A CN200580042646A CN101076807B CN 101076807 B CN101076807 B CN 101076807B CN 200580042646 A CN200580042646 A CN 200580042646A CN 101076807 B CN101076807 B CN 101076807B
- Authority
- CN
- China
- Prior art keywords
- disposal password
- value
- password
- string
- offset
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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
-
- 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/3236—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 cryptographic hash functions
-
- 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/20—Manipulating the length of blocks of bits, e.g. padding or block truncation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
令牌通过如下步骤计算一次性密码:基于密钥K和计数器值C生成HMAC-SHA-1值,截取所生成的HMAC-SHA-1值模10^Digit,其中Digit表示所述一次性密码中位的数目。可以由验证服务器验证该一次性密码,验证服务器使用K和它自己的计数器值C’来计算它自己版本的该密码。如果存在最初不匹配,则验证服务器在前瞻窗口内补偿计数器C和C’之间同步的缺失,前瞻窗口的大小可以由参数s来设置。
Description
技术领域
本发明的领域是计算机安全性,具体地是通过一次性密码的认证。
背景技术
如今,双因素认证的部署在范围和规模上仍存在极大的限制。尽管威胁和攻击的水平越来越高,但是大多数因特网应用仍依赖于薄弱的认证方案来监控(policing)用户访问。硬件和软件技术供应商之间缺乏可互操作性已经成为采用双因素认证技术时的限制因素。具体来说,硬件和软件组件常常通过专有技术紧密地结合,从而导致高成本解决方案,不佳的采用和有限的创新。
最近两年来,网络威胁的快速增加暴露出作为因特网上主要的认证方式的静态密码的不足。同时,目前的方法要求终端用户携带昂贵且功能单一的装置仅仅是用于至网络的认证,显然不是正确的答案。为了在因特网上传播两因素认证,需要在能够跨广泛应用范围工作的更灵活的装置中嵌入它。
一次性密码肯定是用于确保网络访问安全的两因素认证的最简单和最流行的方式。例如,在大企业中,虚拟专用网络访问常常需要使用一次性密码令牌来实现远程用户认证。一次性密码常常比更强的认证形式(例如PKI或生物认证)更受青睐,因为空气隔离装置无需在用户的机器上安装任何客户机桌面软件,由此使它们在包括家庭计算机、自动售货机和个人数字助理的多个机器上漫游。
发明内容
按照本发明的一个方面,提供了一种使用一次性密码进行认证的系统,所述系统包括用于基于共享的安全密钥K和令牌计数器值C生成HMAC-SHA-1值的装置;用于屏蔽P的最高有效比特的装置,其中P=String[Offset]......String[Offset+3],Offset=StToNum(OffsetBits),OffsetBits为String[19]的低阶四比特;用于截取所屏蔽的HMAC-SHA-1值模10^Digit来生成一次性密码用于验证的装置,其中Digit是所述一次性密码中位的数目;以及用于将所述一次性密码发送到验证服务器用于验证的装置。
所述系统还包括用于基于共享的安全密钥K和C’+n来计算另一个一次性密码的装置,其中C’是验证服务器计数器值并且n是从1至s的整数,直到基于K和C’+n计算的另一个一次性密码与所述一次性密码匹配或n=s为止,s是前瞻参数。
所述系统还包括用于如果所述一次性密码与所述另一个一次性密码之间不存在匹配则指示失败的验证尝试的装置。
所述系统还包括用于如果所述一次性密码与所述另一个一次性密码之间存在匹配则指示成功验证的装置。
所述系统还包括用于如果失败的验证尝试的次数等于抑制参数T则发送抑制信号的装置。
所述系统还包括如果失败的验证尝试的次数等于抑制参数T则暂停进一步的验证尝试的装置。
按照本发明的另一方面,提供了一种使用一次性密码进行验证的验证服务器,所述验证服务器包括用于从令牌接收所述一次性密码的装置;用于基于共享的安全密钥K和验证服务器计数器值C’生成HMAC-SHA-1值并屏蔽P的最高有效比特以及截取所屏蔽的HMAC-SHA-1值模10^Digit来计算另一个一次性密码的装置,其中P=String[Offset]......String[Offset+3],Offset=StToNum(OffsetBits),OffsetBits为String[19]的低阶四比特,其中Digit是所述一次性密码中位的数目;以及用于将所述另一个一次性密码与从所述令牌接收的所述一次性密码比较的装置。
所述验证服务器还包括用于如果所述另一个一次性密码与从所述令牌接收的所述一次性密码不匹配则基于共享的安全密钥K和验证服务器计数器值C’+n来计算其他一次性密码的装置,其中n是从1至s的整数,s是前瞻窗口参数。
所述验证服务器还包括用于如果所述一次性密码与所述另一个一次性密码不匹配则指示失败的验证尝试的装置。
所述验证服务器还包括用于如果所述一次性密码与所述另一个一次性密码匹配则指示成功验证的装置。
所述验证服务器还包括用于在T次失败的验证尝试之后暂停来自所述令牌的进一步验证尝试的装置,T是抑制参数。
按照本发明的又一个方面,提供了一种用于验证一次性密码的方法,所述一次性密码是由令牌通过基于密钥K和令牌计数器值C生成HMAC-SHA-1值并屏蔽P的最高有效比特以及截取所屏蔽的HMAC-SHA-1值模10^Digit创建的,其中P=String[Offset]......String[Offset+3],Offset=StToNum(OffsetBits),OffsetBits为String[19]的低阶四比特,其中Digit是所述一次性密码中位的数目,所述方法包括下列步骤:
通过下列步骤计算要与所接收的一次性密码比较的一次性密码:
基于密钥K和验证服务器计数器值C’生成HMAC-SHA-1值;
屏蔽P的最高有效比特,其中P=String[Offset]......String[Offset+3],Offset=StToNum(OffsetBits),OffsetBits为String[19]的低阶四比特;并且
截取所屏蔽的HMAC-SHA-1值模10^Digit,其中Digit是所述一次性密码中位的数目;
将所计算的一次性密码与所接收的一次性密码比较,如果不存在匹配,则将C’递增1,再次计算一次性密码,以及如果仍不存在匹配,则继续递增C’,再次计算一次性密码并将再次计算的一次性密码与所接收的一次性密码比较,直到C’=C’+s为止,其中s是前瞻窗口参数。
其中如果所计算的或再次计算的一次性密码与所接收的密码匹配,则发送信号以指示成功验证。
其中如果所计算的或再次计算的一次性密码与所接收的密码不匹配,则发送信号以指示失败的验证尝试。
所述方法还包括如果失败的验证尝试的次数超过抑制参数T,则暂停验证尝试。
根据本发明的实施例,可以由任何硬件制造商或软件开发商来实施一次性密码算法以创建可互操作认证装置与软件代理。该算法可以是基于事件的,以便可以将其嵌入在例如Java智能卡、USB安全装置(dongle)和GSM SIM卡的高容量装置中。可以在因特网工程师任务组(IETF)的条款和条件下将该算法自由地提供给开发者团体。
具体实施方式
根据本发明的实施例,该算法可以是基于序列号或计数器的,并且可以通过将对电池、按钮数量、计算马力和显示器尺寸的要求最小化来经济地在硬件中实施。它可以使用不支持任何数字输入的令牌来工作,但是也可以配合例如安全密码键盘的更复杂的装置使用。
用户可以容易地读取令牌上显示的值并将其输入到另一个装置中,例如输入到个人计算机、蜂窝电话、自动应答机或任何其他适合的装置中。这要求一次性密码(OTP)值为合理长度。在许多情况中,基于安全性的原因,OTP值应该至少为6位(digit)值。仅为数字对于OTP值可能是个优点,因为可以容易地在具有简单的小键盘的装置(例如电话)上输入它。
可以有用户友好的机制用于与计数器再次同步。该算法应该使用强共享的密钥。为此,共享的密钥的长度可以是128比特或更长。
使用如下标记和符号来描述根据本发明的算法的实施例。
字符串表示二进制字符串,意味着0和1的序列。
如果s是字符串,则|s|表示它的长度。
如果n是数值,则|n|表示它的绝对值。
如果s是字符串,则s[i]表示它的第i比特。这些比特从位于0的比特开始编号,以此类推,s=s[0]s[1]...s[n-1],其中n=|s|是s的长度。
假设StToNum(字符串转数值)表示返回输入的字符串s的二进制值的十进制表示的函数。例如,StToNum(110)=6。
将如下标记用于符号表示:
C 8字节计数器值,可调因子。可以在OTP发生器(例如客户机)和OTP验证器(例如服务器)之间将该计数器同步。
K 客户机和服务器之间共享的密钥。每个OTP发生器可以具有不同且唯一的密钥K。
T 抑制(throttling)参数:在T次不成功认证尝试之后,服务器可以拒绝来自用户的连接,或者向接收方发送抑制信号以指示来自给定源有过多次数的验证尝试。
S 再次同步参数:该服务器可以尝试跨s个连续的计数器值验证接收的认证符
Digit OTP值中位的数目,它可以是系统参数
根据本发明的OTP算法可以基于递增的计数器值和仅对于该令牌和验证服务是已知的静态对称密钥。为了创建OTP值,可以使用HMAC-SHA-1算法,正如M.Bellare、R.Canetti和H.Krawczyk所著的“HMAC:用于消息认证的键控散列“(HMAC:Keyed-Hashing forMessage Authentication),IETF网络工作组,RFC2104,1997年2月中定义的。
HMAC-SHA1计算的输出是160比特,可以截取成用户能够容易地输入的大小的值。因此,
HOTP(K,C)=Truncate(HMAC-SHA-1(K,C)),
其中Truncate表示将HMAC-SHA-1值转换成HMAC-SHA1OTP(HOTP)值的函数。可以首先对Key(K)、Counter(C)和Data值执行高阶字节散列。可以将HOTP发生器生成的HOTP值作为大尾(bigendian)来处理。
可以在3个不同的步骤中生成HOTP值:
步骤1:生成HMAC-SHA-1值
令HS=HMAC-SHA-1(K,C),其中HS可以是20个字节字符串
步骤2:生成4个字节字符串(动态截取)
令Sbits=DT(HS),它可以返回31比特字符串
动态截取DT(String)能以如下方式对String=String[0]...String[19]起作用:
令OffsetBits为String[19]的低阶四比特
Offset=StToNum(OffSetBits),其中0<=OffSet<=15
令P=String[OffSet]...String[OffSet+3]
返回P的后31比特
屏蔽P的最高有效比特可以避免在带符号和不带符号的取模运算之间的混淆。不同处理器以不同方式执行这些运算,并且屏蔽掉带符号的比特可以消除歧义性。
步骤3:计算HOTP值
令Snum=StToNum(S),即将S转换到在0...2^{31}-1中的的数值
返回D=Snum(模)10^Digit,其中D是在范围0...10^{Digit}-1中的数值
Truncate函数执行步骤2和步骤3,即动态截取,然后是缩减(reduction)模10^Digit。动态偏移截取技术的目的是从160比特(20字节)的HMAC-SHA1结果中提取4字节动态二进制码。
实现应该提取至少6位的码。根据安全性要求,应该考虑Digit=7或更大,以便提取较长的HOTP值。
下文是对应于Digit=6使用此技术的示例,即由HMAC值计算6位HOTP值。该码示例描述假定hmac_result是具有HMAC-SHA1结果的字节阵列的情况下提取动态二进制码:
*最后字节(字节19)具有16进制值0x5a。
*低4比特的值是0xa(偏移值)。
*偏移值是字节10(0xa)。
*在字节10开始的4字节的值是0x50ef7fl9,它是动态二进制码DBC1
*DBC1的MSB是0x50,由此DBC2=DBC1=0x50ef7fl9
*HOTP=DBC2模10^6=872921。
将动态二进制码作为31比特不带符号的大尾整数来处理;使用0x7f屏蔽第一个字节。然后以该数值模1000000(10^6)以生成十进制数6位HOTP值872921。
任何一次性密码算法仅与实现它的应用和认证协议一样安全。参数T和s可能对安全性有很大影响。将HMAC-SHA1值截取到较短值使得暴力攻击成为可能。因此,认证服务器应该检测并阻止暴力攻击。应该将定义一次性密码验证的最大可能尝试次数的抑制参数T设置为适当小的数值。验证服务器可以管理对应于每个HOTP装置的各个计数器,以便注意到任何失败的尝试。T不应太大,尤其是在服务器上使用的再次同步方法是基于窗口以及窗口大小较大的情况下。应该尽可能地将T设低,同时不会太大地负面影响可用性。
另一个选择是实现延迟方案以避免暴力攻击。在每次失败的尝试A之后,认证服务器将等待递增的T*A秒数,例如T=5,则一次尝试之后,服务器等待5秒,在第二次失败的尝试之后,它等待5*2=10秒等等。
延迟或锁定方案应该是跨登录会话的,以便防御基于多个平行访问技术的攻击。
用于作为证明方和验证方之间的认证方法来实现HOTP的协议P应该具有安全性兴趣方面的某些特性。P应该是两因素,即你知道的某些事(例如密码、密码短语、PIN码等的口令)和你拥有的某些事(令牌)。口令应该仅对于用户是已知的,并且应该能够与一次性密码值一起输入来实现认证的目的(两因素认证)。
P对于暴力攻击不应是脆弱的。这意味着在例如验证服务器一侧上实施抑制/锁定方案。
P应该在现有技术下针对安全性来实施,以便避免与通过公众网络传输敏感数据关联的常见攻击和风险(隐私、重放攻击等)。
HOTP客户机(硬件或软件令牌)递增其计数器,然后计算下一个HOTP值,“HOTP-客户机”。如果认证服务器接收的值与客户机计算的值匹配,则该HOTP值是有效的。在此情况中,服务器将计数器值递增1。
如果服务器接收的值与客户机计算的值不匹配,则服务器启动再次同步(“再次同步”)协议(例如使用前瞻窗口(look-ahead window)),然后才请求另一次通过。
如果再次同步失败,则服务器可以请求进行该协议的另一次认证通过,直到达到最大授权的尝试次数为止。
如果达到最大授权的尝试次数,则服务器可以锁定该账户,并启动过程以告知用户已执行多次失败的访问该账户的尝试。
还可以使用HOTP客户机来认证验证服务器,宣称它是知道共享的密钥的真实实体。因为HOTP客户机和服务器得以同步并共享相同的密钥(或再次计算它的方法),所以可以将简单的3通过协议部署到位,例如:
1-终端用户可以输入TokenID和第一OTP值OTP1;
2-服务器可以检查OTP1,如果正确,则可以回送OTP2;
3-终端用户可以使用他的HOTP装置检查OTP2,如果正确,则该服务器通过认证,终端用户使用该Web网站。
显然,如前文所述,所有OTP通信应该在安全(例如SSL)连接上进行。
虽然服务器的计数器值仅在成功的HOTP认证之后递增,但是令牌上的计数器在每次用户请求新的HOTP时递增。因此,服务器上的计数器值与令牌上的计数器值可能并不同步。
可以在服务器上设置前瞻参数s,它定义前瞻窗口的大小。服务器可以再次计算下一批s个HOTP-服务器值,并对照接收的HOTP-客户机来检查它们。在此情况中的计数器同步仅要求服务器计算下一批HOTP值并确定是否匹配。为了再次同步的目的,系统可以要求用户发送HOTP值序列(例如2个、3个HOTP值),因为伪造连续的HOTP值的序列比猜测单个HOTP值难。
参数s设置的上限确保服务器不会永远不停地检查HOTP值(导致服务拒绝攻击),并限制攻击者试图制造HOTP值的可能方案的空间,应该将s设置得尽可能地低,同时仍确保可用性不受到太坏的影响。
应该以安全方式执行涉及用于生成和验证OTP值的共享的密钥的操作,以减轻敏感信息的任何漏洞的风险。考虑两种不同的途径以安全方式在验证系统中生成和存储共享的密钥:
1)确定性生成:同时在提供和验证阶段由主种子得出密钥,并在需要时即时生成。
2)随机生成:在提供阶段随机地生成密钥,并且必须立即将其存储并在其有效周期期间保持安全。
确定性生成
一个可能的策略是由主密钥得出共享的密钥。可以将主密钥仅存储在服务器处。应该使用防篡改装置来存储主密钥,并由主密钥和一些公共信息得出共享的密钥。其主要的好处是可以避免在任何时间暴露共享的密钥,并且还避免对存储装置的特定需求,因为可以在提供和验证时间需要时按需生成共享的密钥。
考虑两种不同的情况:
1)使用单个主密钥MK得出共享的密钥;每个HOTP装置具有不同的密钥K_i=SHA-1(MK,i),其中i表示唯一地标识该HOTP装置的公共信息片,例如序列号,令牌ID等。这可以在应用或服务的范畴内。不同的应用或服务提供商可能具有不同的密钥和设置。
2)使用多个主密钥MK_i,并且每个HOTP装置存储一组不同的得出的密钥{K_i,j=SHA-1(MK_i,j)},其中j表示标识装置的公共信息片。可以使用密钥共享方法将有效的主密钥仅存储在HSM中的验证服务器处,并且保存在安全位置,密钥共享方法诸如Adi Shamir所著的“如何共享密钥”(How to Share a Secret)中公开的方法。参阅Communications of the ACM,Vol.22,No.11,pp.612-613,November,1979。在此情况中,如果主密钥MK_I受到损害,则可以切换到另一个密钥而不更换所有装置。
确定性情况的缺点包括:暴露主密钥显然使攻击者能够基于正确的公共信息重构任何共享的密钥。将需要撤销所有密钥,或在多个主密钥情况中切换到一组新的密钥。
另一方面,用于存储主密钥并生成共享的密钥的装置应该是防篡改的。而且,HSM将不会在验证系统的安全性范围之外暴露,因此降低了泄漏的风险。
随机生成
可以随机地生成共享的密钥。应该为生成这些密钥选择好的且安全的随机源。(真正的)随机数发生器需要自然发生的随机性源。实际情况中,有两种可能的途径可考虑用于生成共享的密钥:
1)基于硬件的发生器可以采用在物理现象中发生的随机性。实施可以基于振荡器,并以主动攻击更难以执行的方式构建。
2)基于软件的发生器,虽然设计好的软件随机数发生器不是容易的工作。简单但是有效率的实施应该基于多种源并将例如SHA-1的单向函数应用于采样的序列。
应该以安全的方式存储共享的密钥,例如在存储时使用防篡改硬件加密将这些共享的密钥加密,并仅在需要时才暴露它们。例如,当需要验证HOTP值时将共享的密钥解密,然后立即再次加密,仅限于在RAM中短时间暴露。保存共享的密钥的数据存储器应该在安全区域中,以避免对验证系统和密钥数据库的直接攻击。
具体地说,对共享的密钥的访问应该仅限于验证系统要求的程序和进程。保护共享的密钥是最重要的。
HOTP算法的安全性可以通过如下公式来近似地表示:
Sec=sv/10^Digit
其中:
-Sec是敌方成功的概率
-s表示前瞻同步窗口的大小;
-v表示验证尝试的次数;
-Digit表示HOTP值中位的数目。
可以调整s、T(限制攻击者尝试次数的抑制参数)和Digit直到达到期望的安全性水平同时仍保持系统的可用性为止。
可能期望的是在共享的密钥K中包括附加的认证因素。这些附加的因素可以由令牌处已知但是其他人不易获得的的任何数据组成。此类数据的示例包括:
*作为令牌处用户输入获得的PIN或密码
*电话号码
*令牌处能以编程方式得到的任何唯一的标识符
在此情况中,在提供过程期间由随机种子值与一个或多个附加的认证因素组合构造复合共享的密钥K。服务器可以按需构建复合密钥或存储复合密钥。在任何情况中,根据实现选择,令牌可以仅存储种子值。当令牌执行HOTP计算时,它可以由种子值和其他认证因素的本地得出或输入的值计算K。
使用复合共享的密钥可以通过在令牌处包括附加的认证因素来增强基于HOTP的认证系统。只要令牌是被信任的装置,则该方法还具有不需要向其他装置暴露认证因素(例如用户输入的PIN)的好处。
如下是HOTP算法的示范实现:
/*
*OneTimePasswordAlgorithm.java
*OATH启动
*HOTP一次性密码算法
*
*/
/*Copyright(C)2004,OATH。版权所有。
*
*在如下前提下授予复制和使用本软件的许可权:
*须在提及或引用本软件或本功能的所有材料中将其标识为“OATH HOTP算法”。
*在如下前提下还授予许可权来制作和使用派生的作品:
*须在提及或引用本软件或本功能的所有材料中将其标识为“由OATH HOTP算法派生的”。
*
*OATH(开放AuTHentication)及其成员不就任何特定目的对有关本软件的适销性或本软件的适用性作出任何表示。
*
*本软件按原样提供,不附带任何种类的明示或暗示的保证以及OATH及其成员明示地声明不负有与本软件相关的任何种类的任何保证或责任。
*
*这些注释必须保留在本文档和/或软件的任何部分的任何副本中。
*/
package org.openauthentication.otp;_
import java.io.IOException;
import java.io.File;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.lang.reflect.UndeclaredThrowableExeeption;
import java.security.GeneralSecurityException;
import java.security.NoSuchAlgorithmException;
import java.security.IuvalidKeyException;
import javax.crypto.Mac;
import javax.erypto.spec.SecretKeySpec;
/**
*此类包含静态方法,该方法使用JCE提供HMAC-SHA1用于计算一次性密码(OTP)。
*
*作者Loren Hart
*版本1.0
*使用信用卡算法计算校验和。
*本算法具有如下优点:它检测任何单个误输入位和相邻位的任何单个错位。
*参数num要计算校验和的数字
*参数digits数字中有效位的个数
*return num的校验和
*本方法使用JCE提供HMAC-SHA1算法。
*HMAC计算散列的消息认证码,并且在此情况中SHA1是所用的散列算法。
*
*参数keyBytes用于HMAC-SHA1密钥的字节
*参数text要认证的消息或文本。
*
*throws NoSuchAlgorithmException如果没有提供商提供
*HmacSHA1或HMAC-SHA1摘要算法可用。
*throws InvalidKeyException
*提供的密钥不是有效的HMAC-SHA1密钥。
*本方法生成给定的参数集的OTP值。
*参数secret 共享的密钥
*参数movingFactor 基于每个用户而变化的计数器、时间或其他值。
*参数codeDigits OTP中位的数目,不包括校验和,
*参数addChecksum 指示是否应该将校验和数字位追加到OTP的标志。
*参数truncationOffset MAC结果中开始截取的偏移量。如果此值超出范围0、...、15,则将使用动态截取。动态截取是使用MAC的最后一个字节的最后4比特来确定起始偏移量。
*throws No SuchAlgorithmException 如果没有供应商提供HmacSHA1或HMAC-SHA1摘要算法可用。
*throws InvalidKeyException
*提供的密钥不是有效的HMAC-SHA1密钥。
*return 十进制中包括{link codeDigits}位加可选校验和位(如果请求的话)的数值字符串。
可以实施对该HOTP算法的多种增强以作为可用于定制实现的变化方案。
安全性方面的简单增强是从HMAC-SHA1值中提取更多位。例如,计算HOTP值模10^8以构造8-位HOTP值将敌方成功的概率从sv/10^6降低到sv/10^8。这可以通过例如增加T和/或s提供机会来改进可用性,同时在整体上仍实现更好的安全性。例如,s=10和10v/10^8=v/10^7<v/10^6,这是s=1时6位码的理论最优值。
另一个选择是使用A-Z和0-9值;或使用从字母数字字母表中提取的32个符号的子集以避免如下字符之间的任何混淆:0、O和Q以及1、l和I也是非常相似的,在小显示器上可能看成相同的。直接的结果是:安全性现在对于6位HOTP值达到sv/32^6级,而对于8位HOTP值达到sv/32^8。32^6>10^9,这样6位字母数字HOTP码的安全性稍微好于9位HOTP值,这是所提出的算法支持的最大长度的HOTP码。32^8>10^12,这样8位字母数字HOTP码的安全性大大好于9位HOTP值。根据用于显示和输入HOTP值的应用和令牌/接口,选择字母数字值可为以降低了成本和对用户影响小地提高安全性的简单且有效率的方式。
至于再次同步以便输入HOTP值的短序列(即2或3),可以作为概念将其推广到协议。可以添加参数L,它定义要输入的HOTP序列的长度。缺省情况下,应该将值L设为1,但是如果需要提高安全性,则可以要求用户(可能针对短期时间或特定操作)输入L个HOTP值。这可为不增加HOTP长度或使用字母数字值而加强安全性的另一种方式。
也可以将系统编程为定期请求同步(例如每天晚上或一周两次等),并且为了实现此目的,要求L个HOTP值的序列。
假定如果客户机不只可以访问并发送HOTP值,而且还可以访问并发送其他信息,例如计数器值,更有效率且安全的再次同步方法也是可能的。客户机应用可以发送HOTP-客户机值和相关的C-客户机计数器值,HOTP值作为计数器的消息认证码。
如果如下表达式全为真,则服务器接受,其中C-服务器是它自己的当前计数器值:
1)C-客户机>=C-服务器
2)C-客户机-C-服务器<=s
3)检查HOTP-客户机是有效的HOTP(K,C-客户机)
4)如果为真,则服务器将C设为C-客户机+1,并且客户机通过认证
在此情况中,无需再管理前瞻窗口。敌方成功的概率仅为v/10^6或大约为1百万分之v。显然一个附带的好处是:能够“无限地”增加s,并由此在不影响安全性的前提下改进了系统可用性。无论何时只要对客户机和服务器应用的相关影响被视为可接受的,就可以使用该再次同步协议。
另一个选择可为引入Data(数据)字段,它用于生成一次性密码值:HOTP(K,C,[Data]),其中Data是可为多个不同身份相关的信息块的并接的可选字段,例如Data=地址|PIN。
还可以仅作为可调因子或与Counter结合来使用Timer-在此情况中,例如Data=Timer,其中Timer可以是例如UNIX时间(自1/1/1970起的GMT秒数)除以某个因子(8、16、32等),以便给出特定的时间步长。一次性密码的时间窗口则等于该时间步长乘以如先前定义的再次同步参数-例如如果取64秒作为时间步长以及使用7作为再次同步参数,则得到+/-3分的接受窗口。只要明确地指定了Data字段,则使用Data字段可以导致算法实现中的更大灵活性。
本发明的实施例可以由耦合到存储器的处理器来实施。该处理器可以为通用微处理器或专用集成电路,该通用微处理器或专用集成电路将作为根据本发明实施例的方法的至少一部分包含在其硬件和/或固件中。该存储器可以是可存储数字信息的任何装置,例如随机存取存储器、硬盘、闪速存储器等。该存储器可以存储适于由处理器执行以执行根据本发明实施例的方法的至少一部分的指令。该处理器可以耦合到网络,通过网络可以发送认证数据(例如OTP和其他数据)来实施验证。
根据本发明的认证系统可以包括具有令牌处理器和令牌存储器的令牌和具有服务器处理器和服务器存储器的验证服务器。令牌处理器基于存储在令牌存储器中的指令来实施OTP生成算法。令牌存储器还可以存储共享的密钥K和令牌计数器值C。验证服务器处理器可以基于存储在验证服务器存储器中的指令和同样存储在验证服务器存储器中的验证服务器计数器值C’和共享的密钥K来实施OTP验证算法。验证服务器存储器还可以存储其他参数,例如抑制参数T、前瞻窗口大小s等。
令牌可以将基于K和C计算的它的一次性密码发送到验证服务器。验证服务器可以基于K和C来计算一次性密码。如果不存在匹配,则验证服务器可以基于K和C’+n(其中n是1至s的整数)来计算后续几个一次性密码。如果这些计算的一次性密码都不与从令牌接收的密码匹配,则验证服务器可以发送信号以指示失败的验证尝试。如果这些计算的一次性密码的其中一个与从令牌接收的一次性密码匹配,则验证服务器可以发送信号以指示成功验证。验证服务器可以在T次不成功的验证尝试之后暂停进一步的验证尝试,还可以提醒系统管理员如下结果:给定的令牌是多次此类失败尝试的源。
前文描述旨在说明本发明,而非限定本发明的范围。本领域技术人员将设想到除上文描述的实施例之外的其他实施例在本发明范围内。
Claims (15)
1.一种使用一次性密码进行认证的系统,包括:
用于基于共享的安全密钥K和令牌计数器值C生成HMAC-SHA-1值的装置,
用于屏蔽P的最高有效比特的装置,其中P=String[Offset]......String[Offset+3],Offset=StToNum(OffsetBits),OffsetBits为String[19]的低阶四比特,以及
用于截取所屏蔽的HMAC-SHA-1值模10^Digit来生成一次性密码用于验证的装置,其中Digit是所述一次性密码中位的数目,
用于将所述一次性密码发送到验证服务器用于验证的装置。
2.如权利要求1所述的系统,还包括用于基于共享的安全密钥K和C’+n来计算另一个一次性密码的装置,其中C’是验证服务器计数器值并且n是从1至s的整数,直到基于K和C’+n计算的另一个一次性密码与所述一次性密码匹配或n=s为止,s是前瞻参数。
3.如权利要求2所述的系统,还包括用于如果所述一次性密码与所述另一个一次性密码之间不存在匹配则指示失败的验证尝试的装置。
4.如权利要求2所述的系统,还包括用于如果所述一次性密码与所述另一个一次性密码之间存在匹配则指示成功验证的装置。
5.如权利要求3所述的系统,还包括用于如果失败的验证尝试的次数等于抑制参数T则发送抑制信号的装置。
6.如权利要求1所述的系统,还包括如果失败的验证尝试的次数等于抑制参数T则暂停进一步的验证尝试的装置。
7.一种使用一次性密码进行验证的验证服务器,包括:
用于从令牌接收所述一次性密码的装置,
用于基于共享的安全密钥K和验证服务器计数器值C’生成HMAC-SHA-1值并屏蔽P的最高有效比特以及截取所屏蔽的HMAC-SHA-1值模10^Digit来计算另一个一次性密码的装置,其中P=String[Offset]......String[Offset+3],Offset=StToNum(OffsetBits),OffsetBits为String[19]的低阶四比特,其中Digit是所述一次性密码中位的数目,以及
用于将所述另一个一次性密码与从所述令牌接收的所述一次性密码比较的装置。
8.如权利要求7所述的验证服务器,还包括用于如果所述另一个一次性密码与从所述令牌接收的所述一次性密码不匹配则基于共享的安全密钥K和验证服务器计数器值C’+n来计算其他一次性密码的装置,其中n是从1至s的整数,s是前瞻窗口参数。
9.如权利要求8所述的验证服务器,还包括用于如果所述一次性密码与所述另一个一次性密码不匹配则指示失败的验证尝试的装置。
10.如权利要求8所述的验证服务器,还包括用于如果所述一次性密码与所述另一个一次性密码匹配则指示成功验证的装置。
11.如权利要求8所述的验证服务器,还包括用于在T次失败的验证尝试之后暂停来自所述令牌的进一步验证尝试的装置,T是抑制参数。
12.一种用于验证一次性密码的方法,所述一次性密码是由令牌通过基于密钥K和令牌计数器值C生成HMAC-SHA-1值并屏蔽P的最高有效比特以及截取所屏蔽的HMAC-SHA-1值模10^Digit创建的,其中P=String[Offset]......String[Offset+3],Offset=StToNum(OffsetBits),OffsetBits为String[19]的低阶四比特,其中Digit是所述一次性密码中位的数目,所述方法包括:
通过下列步骤计算要与所接收的一次性密码比较的一次性密码:
基于密钥K和验证服务器计数器值C’生成HMAC-SHA-1值;
屏蔽P的最高有效比特,其中P=String[Offset]......String[Offset+3],Offset=StToNum(OffsetBits),OffsetBits为String[19]的低阶四比特;并且
截取所屏蔽的HMAC-SHA-1值模10^Digit,其中Digit是所述一次性密码中位的数目;
将所计算的一次性密码与所接收的一次性密码比较,如果不存在匹配,则将C’递增1,再次计算一次性密码,以及如果仍不存在匹配,则继续递增C’,再次计算一次性密码并将再次计算的一次性密码与所接收的一次性密码比较,直到C’=C’+s为止,其中s是前瞻窗口参数。
13.如权利要求12所述的方法,其特征在于,如果所计算的或再次计算的一次性密码与所接收的密码匹配,则发送信号以指示成功验证。
14.如权利要求12所述的方法,其特征在于,如果所计算的或再次计算的一次性密码与所接收的密码不匹配,则发送信号以指示失败的验证尝试。
15.如权利要求14所述的方法,还包括如果失败的验证尝试的次数超过抑制参数T,则暂停验证尝试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410381702.9A CN104104517B (zh) | 2004-10-15 | 2005-10-17 | 一次性密码验证的方法和系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US61860004P | 2004-10-15 | 2004-10-15 | |
US60/618,600 | 2004-10-15 | ||
PCT/US2005/037113 WO2006044717A2 (en) | 2004-10-15 | 2005-10-17 | One time password |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410381702.9A Division CN104104517B (zh) | 2004-10-15 | 2005-10-17 | 一次性密码验证的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101076807A CN101076807A (zh) | 2007-11-21 |
CN101076807B true CN101076807B (zh) | 2014-09-03 |
Family
ID=36203583
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200580042646.5A Expired - Fee Related CN101076807B (zh) | 2004-10-15 | 2005-10-17 | 一次性密码验证的方法和系统 |
CN201410381702.9A Expired - Fee Related CN104104517B (zh) | 2004-10-15 | 2005-10-17 | 一次性密码验证的方法和系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410381702.9A Expired - Fee Related CN104104517B (zh) | 2004-10-15 | 2005-10-17 | 一次性密码验证的方法和系统 |
Country Status (9)
Country | Link |
---|---|
US (2) | US8087074B2 (zh) |
EP (1) | EP1828946B1 (zh) |
JP (1) | JP4938673B2 (zh) |
KR (1) | KR20070050504A (zh) |
CN (2) | CN101076807B (zh) |
AU (1) | AU2005295579B2 (zh) |
CA (1) | CA2583741C (zh) |
SG (1) | SG156643A1 (zh) |
WO (1) | WO2006044717A2 (zh) |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2005295579B2 (en) | 2004-10-15 | 2011-08-04 | NortonLifeLock Inc. | One time password |
US8832458B2 (en) * | 2005-03-22 | 2014-09-09 | Seagate Technology Llc | Data transcription in a data storage device |
US8689309B2 (en) * | 2006-02-22 | 2014-04-01 | Gemalto Sa | Authentication token for identifying a cloning attack onto such authentication token |
PT1999930T (pt) * | 2006-03-28 | 2017-04-07 | ERICSSON TELEFON AB L M (publ) | Método e aparelho para gestão de chaves utilizadas para cifra e integridade |
US9106409B2 (en) | 2006-03-28 | 2015-08-11 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for handling keys used for encryption and integrity |
US9258124B2 (en) | 2006-04-21 | 2016-02-09 | Symantec Corporation | Time and event based one time password |
FR2902253B1 (fr) * | 2006-06-13 | 2009-04-03 | Ingenico Sa | Procede et dispositif d'authentification d'un utilisateur |
JP5053617B2 (ja) * | 2006-10-20 | 2012-10-17 | 株式会社リコー | ソフトウェア実行制御プログラム及びソフトウェア実行制御方法 |
US8958562B2 (en) * | 2007-01-16 | 2015-02-17 | Voltage Security, Inc. | Format-preserving cryptographic systems |
GB2442249B (en) * | 2007-02-20 | 2008-09-10 | Cryptomathic As | Authentication device and method |
CA2590989C (en) * | 2007-06-05 | 2014-02-11 | Diversinet Corp. | Protocol and method for client-server mutual authentication using event-based otp |
US8494959B2 (en) * | 2007-08-17 | 2013-07-23 | Emc Corporation | Payment card with dynamic account number |
CN101106455B (zh) | 2007-08-20 | 2010-10-13 | 北京飞天诚信科技有限公司 | 身份认证的方法和智能密钥装置 |
GB2458470A (en) * | 2008-03-17 | 2009-09-23 | Vodafone Plc | Mobile terminal authorisation arrangements |
US8543091B2 (en) | 2008-06-06 | 2013-09-24 | Ebay Inc. | Secure short message service (SMS) communications |
US20090307140A1 (en) | 2008-06-06 | 2009-12-10 | Upendra Mardikar | Mobile device over-the-air (ota) registration and point-of-sale (pos) payment |
US9363262B1 (en) * | 2008-09-15 | 2016-06-07 | Galileo Processing, Inc. | Authentication tokens managed for use with multiple sites |
FR2941833B1 (fr) * | 2009-02-03 | 2011-04-01 | Oberthur Technologies | Serveur, systeme et procede d'authentification a partir de mots de passe dynamiques. |
US20110083170A1 (en) * | 2009-10-06 | 2011-04-07 | Validity Sensors, Inc. | User Enrollment via Biometric Device |
US8544075B2 (en) * | 2010-06-15 | 2013-09-24 | Microsoft Corporation | Extending a customer relationship management eventing framework to a cloud computing environment in a secure manner |
US8627424B1 (en) * | 2010-06-30 | 2014-01-07 | Emc Corporation | Device bound OTP generation |
US8832807B1 (en) * | 2010-08-05 | 2014-09-09 | Christine E. Kuo | Method and apparatus for asynchronous dynamic password |
US8312519B1 (en) * | 2010-09-30 | 2012-11-13 | Daniel V Bailey | Agile OTP generation |
US8756652B2 (en) | 2010-11-03 | 2014-06-17 | Ebay Inc. | Automatic PIN creation using password |
US20130047210A1 (en) * | 2011-02-14 | 2013-02-21 | Mark Philip Rotman | Systems and Methods for Providing Security When Accessing a User Account of a Browser-Based Communications Application |
US8885833B2 (en) | 2011-04-11 | 2014-11-11 | Microsoft Corporation | One-time recovery credentials for encrypted data access |
AU2012245477C1 (en) | 2011-04-20 | 2017-06-15 | Medimmune, Llc | Antibodies and other molecules that bind B7-H1 and PD-1 |
CN102307095B (zh) * | 2011-04-27 | 2014-08-27 | 上海动联信息技术股份有限公司 | 一种动态令牌种子密钥注入和变形方法 |
US9104993B2 (en) * | 2011-04-28 | 2015-08-11 | Lantronix, Inc. | Asset management via virtual tunnels |
CN102347942B (zh) * | 2011-07-01 | 2016-09-28 | 飞天诚信科技股份有限公司 | 一种基于图像采集的信息安全方法及系统 |
US9858401B2 (en) * | 2011-08-09 | 2018-01-02 | Biogy, Inc. | Securing transactions against cyberattacks |
US8862767B2 (en) | 2011-09-02 | 2014-10-14 | Ebay Inc. | Secure elements broker (SEB) for application communication channel selector optimization |
US20130085944A1 (en) * | 2011-09-29 | 2013-04-04 | Pacid Technologies, Llc | System and method for application security |
EP3576343A1 (en) * | 2011-12-27 | 2019-12-04 | INTEL Corporation | Authenticating to a network via a device-specific one time password |
US9258249B2 (en) * | 2012-02-13 | 2016-02-09 | Microsoft Technology Licensing, Llc | Resource access throttling |
CN103294938B (zh) | 2012-02-29 | 2016-08-24 | 国际商业机器公司 | 访问请求验证方法及系统、授权信息生成方法、硬件设备 |
US20140330578A1 (en) * | 2012-03-13 | 2014-11-06 | Theodore Pincus | Electronic medical history (emh) data management system for standard medical care, clinical medical research, and analysis of long-term outcomes |
US9589399B2 (en) | 2012-07-02 | 2017-03-07 | Synaptics Incorporated | Credential quality assessment engine systems and methods |
CN103679492B (zh) * | 2012-09-12 | 2017-07-28 | 卓望数码技术(深圳)有限公司 | 一种o2o模式下的商品订购及消费识别的方法和系统 |
GB201217084D0 (en) | 2012-09-25 | 2012-11-07 | Uni I Oslo | Network security |
JP5216932B1 (ja) * | 2012-10-01 | 2013-06-19 | さくら情報システム株式会社 | ワンタイムパスワード装置、システム及びプログラム |
DE102012218944A1 (de) * | 2012-10-17 | 2014-04-17 | Bundesdruckerei Gmbh | Verfahren zur Erzeugung eines One-Time-Password (OTP) |
DE102012218943A1 (de) * | 2012-10-17 | 2014-04-17 | Bundesdruckerei Gmbh | Verfahren zur Initialisierung von Datenbankmitteln |
CN103838753B (zh) * | 2012-11-23 | 2018-04-27 | 腾讯科技(北京)有限公司 | 一种兑换码的存储、验证方法和装置 |
US9430655B1 (en) * | 2012-12-28 | 2016-08-30 | Emc Corporation | Split tokenization |
US20140222671A1 (en) * | 2013-02-07 | 2014-08-07 | Aurelio Elias | System and method for the execution of third party services transaction over financial networks through a virtual integrated automated teller machine on an electronic terminal device. |
US10110578B1 (en) * | 2013-03-12 | 2018-10-23 | Amazon Technologies, Inc. | Source-inclusive credential verification |
CN105379177A (zh) | 2013-05-23 | 2016-03-02 | 英特托拉斯技术公司 | 安全授权系统和方法 |
WO2014194293A1 (en) | 2013-05-30 | 2014-12-04 | Amplimmune, Inc. | Improved methods for the selection of patients for pd-1 or b7-h4 targeted therapies, and combination therapies thereof |
US10460314B2 (en) * | 2013-07-10 | 2019-10-29 | Ca, Inc. | Pre-generation of session keys for electronic transactions and devices that pre-generate session keys for electronic transactions |
US9218473B2 (en) * | 2013-07-18 | 2015-12-22 | Suprema Inc. | Creation and authentication of biometric information |
EP2849111B1 (en) | 2013-09-12 | 2016-07-13 | Carl Beame | OTP generation on portable medium |
US9917694B1 (en) * | 2013-11-27 | 2018-03-13 | EMC IP Holding Company LLC | Key provisioning method and apparatus for authentication tokens |
US10084601B2 (en) * | 2014-06-17 | 2018-09-25 | Sony Corporation | Method, system and electronic device |
TWI693232B (zh) | 2014-06-26 | 2020-05-11 | 美商宏觀基因股份有限公司 | 與pd-1和lag-3具有免疫反應性的共價結合的雙抗體和其使用方法 |
US10212136B1 (en) * | 2014-07-07 | 2019-02-19 | Microstrategy Incorporated | Workstation log-in |
US9860242B2 (en) * | 2014-08-11 | 2018-01-02 | Vivint, Inc. | One-time access to an automation system |
CN104158664A (zh) * | 2014-08-11 | 2014-11-19 | 北京唐桓科技发展有限公司 | 一种身份认证方法及系统 |
FR3030828A1 (fr) * | 2014-12-22 | 2016-06-24 | Orange | Procede de securisation de transactions sans contact |
CN104484596B (zh) * | 2015-01-07 | 2018-02-13 | 宇龙计算机通信科技(深圳)有限公司 | 多操作系统中创建密码的方法及终端 |
US10701067B1 (en) | 2015-04-24 | 2020-06-30 | Microstrategy Incorporated | Credential management using wearable devices |
US10299118B1 (en) * | 2015-06-01 | 2019-05-21 | Benten Solutions Inc. | Authenticating a person for a third party without requiring input of a password by the person |
TWI870335B (zh) | 2015-06-12 | 2025-01-21 | 美商宏觀基因股份有限公司 | 變異的嵌合4d5抗體及其與抗pd-1抗體聯合用於治療癌症的應用 |
US9648012B1 (en) * | 2015-06-26 | 2017-05-09 | EMC IP Holding Company LLC | Automatic propagation of password updates on multiple devices |
CN106341372A (zh) * | 2015-07-08 | 2017-01-18 | 阿里巴巴集团控股有限公司 | 终端的认证处理、认证方法及装置、系统 |
WO2017007767A1 (en) * | 2015-07-08 | 2017-01-12 | Alibaba Group Holding Limited | Method and device for authentication using dynamic passwords |
US9860243B2 (en) | 2015-07-29 | 2018-01-02 | International Business Machines Corporation | Authenticating applications using a temporary password |
US9930034B2 (en) | 2015-07-29 | 2018-03-27 | International Business Machines Corporation | Authenticating applications using a temporary password |
CR20200423A (es) | 2015-07-30 | 2021-01-20 | Macrogenics Inc | Moléculas de unión a pd-1 y métodos de uso de las mismas (divisional 2018-0062) |
WO2017031343A1 (en) | 2015-08-19 | 2017-02-23 | Shen Winifred | Systems and methods for authenticating users accessing a secure network with one-session-only, on-demand login credentials |
MA45429A (fr) | 2015-10-08 | 2019-05-01 | Macrogenics Inc | Polythérapie pour le traitement du cancer |
WO2017100282A1 (en) * | 2015-12-07 | 2017-06-15 | Mastercard International Incorporated | Systems and methods for utilizing vehicle connectivity in association with payment transactions |
AR107781A1 (es) | 2015-12-14 | 2018-06-06 | Macrogenics Inc | Moléculas biespecíficas que tienen inmunorreactividad con pd-1 y ctla-4, y métodos de uso de las mismas |
RS65703B1 (sr) | 2015-12-15 | 2024-07-31 | Oncoc4 Inc | Himerna i humanizovana anti-humana ctla4 monoklonska antitela i njihova upotreba |
US9830445B1 (en) | 2015-12-18 | 2017-11-28 | EMC IP Holding Company LLC | Personal identification number (PIN) replacement in a one-time passcode based two factor authentication system |
US10855664B1 (en) | 2016-02-08 | 2020-12-01 | Microstrategy Incorporated | Proximity-based logical access |
US10231128B1 (en) | 2016-02-08 | 2019-03-12 | Microstrategy Incorporated | Proximity-based device access |
CN105871866B (zh) * | 2016-04-28 | 2018-10-12 | 济南大学 | 一种基于计算机硬件信息的密码管理系统及方法 |
TWI596556B (zh) * | 2016-07-29 | 2017-08-21 | 臺灣集中保管結算所股份有限公司 | 使用通用一次性密碼以將一用戶與多個服務提供者進行認證之方法及系統 |
JP6404958B2 (ja) * | 2017-01-20 | 2018-10-17 | 日本電信電話株式会社 | 認証システム、方法及びプログラム並びにサーバ |
SG11201907753TA (en) | 2017-02-24 | 2019-09-27 | Macrogenics Inc | Bispecific binding molecules that are capable of binding cd137 and tumor antigens, and uses thereof |
US10657242B1 (en) | 2017-04-17 | 2020-05-19 | Microstrategy Incorporated | Proximity-based access |
US11140157B1 (en) | 2017-04-17 | 2021-10-05 | Microstrategy Incorporated | Proximity-based access |
US10771458B1 (en) | 2017-04-17 | 2020-09-08 | MicoStrategy Incorporated | Proximity-based user authentication |
US10749674B2 (en) | 2017-09-29 | 2020-08-18 | Micro Focus Llc | Format preserving encryption utilizing a key version |
CN108024249B (zh) * | 2017-11-30 | 2021-08-06 | 郑州云海信息技术有限公司 | 一种防止wifi暴力破解的方法及系统 |
MA52422A (fr) | 2018-02-27 | 2021-01-06 | Incyte Corp | Imidazopyrimidines et triazolopyrimidines en tant qu'inhibiteurs a2a/a2b |
JP6538923B2 (ja) * | 2018-04-26 | 2019-07-03 | 日本電信電話株式会社 | 認証システム、方法及びプログラム並びにサーバ |
JP7391046B2 (ja) | 2018-05-18 | 2023-12-04 | インサイト・コーポレイション | A2a/a2b阻害剤としての縮合ピリミジン誘導体 |
EP4349411A3 (en) | 2018-06-20 | 2024-06-19 | Incyte Corporation | Anti-pd-1 antibodies and uses thereof |
CN117304191A (zh) | 2018-07-05 | 2023-12-29 | 因赛特公司 | 作为a2a/a2b抑制剂的稠合吡嗪衍生物 |
US10581611B1 (en) * | 2018-10-02 | 2020-03-03 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
KR102786209B1 (ko) | 2018-10-02 | 2025-03-25 | 캐피탈 원 서비시즈, 엘엘씨 | 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법 |
US10554411B1 (en) * | 2018-10-02 | 2020-02-04 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
CN111321947A (zh) * | 2018-12-14 | 2020-06-23 | 云丁网络技术(北京)有限公司 | 一种基于一次性密码的控制方法及装置 |
WO2020101658A1 (en) * | 2018-11-14 | 2020-05-22 | Hewlett-Packard Development Company, L.P. | Firmware access based on temporary passwords |
TWI829857B (zh) | 2019-01-29 | 2024-01-21 | 美商英塞特公司 | 作為a2a / a2b抑制劑之吡唑并吡啶及三唑并吡啶 |
CN110602142B (zh) * | 2019-09-29 | 2022-07-19 | 成都安恒信息技术有限公司 | 一种基于密码链的后台认证方法 |
WO2021138512A1 (en) | 2020-01-03 | 2021-07-08 | Incyte Corporation | Combination therapy comprising a2a/a2b and pd-1/pd-l1 inhibitors |
WO2022147092A1 (en) | 2020-12-29 | 2022-07-07 | Incyte Corporation | Combination therapy comprising a2a/a2b inhibitors, pd-1/pd-l1 inhibitors, and anti-cd73 antibodies |
CN113507368A (zh) * | 2021-06-17 | 2021-10-15 | 北京惠而特科技有限公司 | 基于动态口令的工业控制设备身份认证方法及装置 |
CN114067497B (zh) * | 2021-11-06 | 2023-08-08 | 威胜能源技术股份有限公司 | 一种基于动态口令的离线换电方法 |
CN113987467A (zh) * | 2021-11-10 | 2022-01-28 | 京东科技信息技术有限公司 | 动态口令的生成方法、装置及相关设备 |
CN115225673B (zh) * | 2022-07-14 | 2024-12-13 | 蔚来汽车科技(安徽)有限公司 | 车辆监控方法、设备和存储介质 |
TWI864705B (zh) * | 2023-04-27 | 2024-12-01 | 玉山商業銀行股份有限公司 | 驗證系統及驗證方法 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5168520A (en) * | 1984-11-30 | 1992-12-01 | Security Dynamics Technologies, Inc. | Method and apparatus for personal identification |
US4998279A (en) * | 1984-11-30 | 1991-03-05 | Weiss Kenneth P | Method and apparatus for personal verification utilizing nonpredictable codes and biocharacteristics |
WO1993017388A1 (en) * | 1992-02-26 | 1993-09-02 | Clark Paul C | System for protecting computers via intelligent tokens or smart cards |
JP3053527B2 (ja) | 1993-07-30 | 2000-06-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パスワードを有効化する方法及び装置、パスワードを生成し且つ予備的に有効化する方法及び装置、認証コードを使用して資源のアクセスを制御する方法及び装置 |
US5937068A (en) * | 1996-03-22 | 1999-08-10 | Activcard | System and method for user authentication employing dynamic encryption variables |
US5802176A (en) * | 1996-03-22 | 1998-09-01 | Activcard | System for controlling access to a function, using a plurality of dynamic encryption variables |
US6178236B1 (en) | 1996-03-27 | 2001-01-23 | Siemens Information And Communication, Networks, Inc. | Method and system for providing password protection |
KR100213188B1 (ko) * | 1996-10-05 | 1999-08-02 | 윤종용 | 사용자 인증 장치 및 방법 |
US6292896B1 (en) | 1997-01-22 | 2001-09-18 | International Business Machines Corporation | Method and apparatus for entity authentication and session key generation |
US6891819B1 (en) * | 1997-09-05 | 2005-05-10 | Kabushiki Kaisha Toshiba | Mobile IP communications scheme incorporating individual user authentication |
US6370649B1 (en) | 1998-03-02 | 2002-04-09 | Compaq Computer Corporation | Computer access via a single-use password |
JPH11282982A (ja) * | 1998-03-31 | 1999-10-15 | Oki Electric Ind Co Ltd | 利用者カード、通信端末機、通信サーバ、通信システム、および、通信システムの利用者認証方法 |
JPH11316740A (ja) * | 1998-05-06 | 1999-11-16 | Meidensha Corp | ワンタイムパスワード認証システム |
JP4146089B2 (ja) * | 1998-09-22 | 2008-09-03 | アボセント ハンツヴィル コーポレーション | パーソナルコンピュータにリモートアクセスするためのシステム |
JP2001175599A (ja) * | 1999-12-15 | 2001-06-29 | Metro Inc | 認証システム |
DE60024319T2 (de) * | 2000-02-08 | 2006-08-03 | Swisscom Mobile Ag | Vereinter einloggungsprozess |
JP2001352324A (ja) * | 2000-06-07 | 2001-12-21 | Nec Corp | ワンタイムパスワード生成装置、認証方法およびワンタイムパスワード生成プログラムを記録した記録媒体 |
AU7182701A (en) * | 2000-07-06 | 2002-01-21 | David Paul Felsher | Information record infrastructure, system and method |
AU2002220182A1 (en) * | 2000-10-20 | 2002-05-21 | Wave Systems Corporation | System and method for managing trust between clients and servers |
EP1342216A2 (en) * | 2000-12-14 | 2003-09-10 | Assendon Limited | An authentication system |
GB0119629D0 (en) * | 2001-08-10 | 2001-10-03 | Cryptomathic As | Data certification method and apparatus |
CN100454809C (zh) * | 2001-12-20 | 2009-01-21 | 西北工业大学 | 利用一次性口令进行交易认证的方法 |
US7661129B2 (en) * | 2002-02-26 | 2010-02-09 | Citrix Systems, Inc. | Secure traversal of network components |
JP4090251B2 (ja) * | 2002-03-05 | 2008-05-28 | パスロジ株式会社 | 認証装置、認証方法、ならびに、プログラム |
GB0210692D0 (en) * | 2002-05-10 | 2002-06-19 | Assendon Ltd | Smart card token for remote authentication |
US7523490B2 (en) | 2002-05-15 | 2009-04-21 | Microsoft Corporation | Session key security protocol |
US7069438B2 (en) * | 2002-08-19 | 2006-06-27 | Sowl Associates, Inc. | Establishing authenticated network connections |
US7171564B2 (en) * | 2002-08-29 | 2007-01-30 | International Business Machines Corporation | Universal password generation method |
US7318235B2 (en) * | 2002-12-16 | 2008-01-08 | Intel Corporation | Attestation using both fixed token and portable token |
US7519989B2 (en) * | 2003-07-17 | 2009-04-14 | Av Thenex Inc. | Token device that generates and displays one-time passwords and that couples to a computer for inputting or receiving data for generating and outputting one-time passwords and other functions |
US7529371B2 (en) * | 2004-04-22 | 2009-05-05 | International Business Machines Corporation | Replaceable sequenced one-time pads for detection of cloned service client |
US7886345B2 (en) * | 2004-07-02 | 2011-02-08 | Emc Corporation | Password-protection module |
US7373516B2 (en) * | 2004-08-19 | 2008-05-13 | International Business Machines Corporation | Systems and methods of securing resources through passwords |
AU2005295579B2 (en) | 2004-10-15 | 2011-08-04 | NortonLifeLock Inc. | One time password |
WO2006119184A2 (en) * | 2005-05-04 | 2006-11-09 | Tricipher, Inc. | Protecting one-time-passwords against man-in-the-middle attacks |
-
2005
- 2005-10-17 AU AU2005295579A patent/AU2005295579B2/en not_active Ceased
- 2005-10-17 CN CN200580042646.5A patent/CN101076807B/zh not_active Expired - Fee Related
- 2005-10-17 CA CA2583741A patent/CA2583741C/en not_active Expired - Fee Related
- 2005-10-17 EP EP05812772.1A patent/EP1828946B1/en active Active
- 2005-10-17 KR KR1020077009339A patent/KR20070050504A/ko not_active Withdrawn
- 2005-10-17 WO PCT/US2005/037113 patent/WO2006044717A2/en active Application Filing
- 2005-10-17 US US11/665,027 patent/US8087074B2/en active Active
- 2005-10-17 SG SG200906847-9A patent/SG156643A1/en unknown
- 2005-10-17 JP JP2007536963A patent/JP4938673B2/ja not_active Expired - Fee Related
- 2005-10-17 CN CN201410381702.9A patent/CN104104517B/zh not_active Expired - Fee Related
-
2011
- 2011-12-06 US US13/284,359 patent/US8434138B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8087074B2 (en) | 2011-12-27 |
CN101076807A (zh) | 2007-11-21 |
US20090313687A1 (en) | 2009-12-17 |
CN104104517B (zh) | 2017-11-07 |
US20120096535A1 (en) | 2012-04-19 |
AU2005295579A1 (en) | 2006-04-27 |
CA2583741C (en) | 2014-10-14 |
SG156643A1 (en) | 2009-11-26 |
CN104104517A (zh) | 2014-10-15 |
CA2583741A1 (en) | 2006-04-27 |
EP1828946A2 (en) | 2007-09-05 |
WO2006044717A2 (en) | 2006-04-27 |
EP1828946B1 (en) | 2018-02-28 |
AU2005295579B2 (en) | 2011-08-04 |
KR20070050504A (ko) | 2007-05-15 |
US8434138B2 (en) | 2013-04-30 |
JP4938673B2 (ja) | 2012-05-23 |
WO2006044717A3 (en) | 2006-09-28 |
JP2008517384A (ja) | 2008-05-22 |
EP1828946A4 (en) | 2010-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101076807B (zh) | 一次性密码验证的方法和系统 | |
M'Raihi et al. | Hotp: An hmac-based one-time password algorithm | |
US6950523B1 (en) | Secure storage of private keys | |
EP1723594B1 (en) | Token authentication system and method | |
CN101999132B (zh) | 在服务器凭证验证时生成一次性口令和签名的强认证令牌 | |
EP3149886B1 (en) | Controlling access to a resource via a computing device | |
KR100702499B1 (ko) | 메시지 무결성 보증 시스템, 방법 및 기록 매체 | |
US11870897B1 (en) | Post quantum unique key per token system | |
CN1717896A (zh) | 长期安全数字签名 | |
CN109644137B (zh) | 具有签名消息的基于令牌的认证的方法 | |
US8953786B2 (en) | User input based data encryption | |
US10158490B2 (en) | Double authentication system for electronically signed documents | |
M'Raihi et al. | RFC 4226: HOTP: An HMAC-based one-time password algorithm | |
Silva | An overview of cryptographic hash functions and their uses | |
Karthick Roshan et al. | Securing Data in MongoDB: A Framework Using Encryption | |
Roshan et al. | Securing Data in MongoDB: A Framework Using Encryption | |
CN117711094A (zh) | 智能门锁的动态密码生成方法及相关设备 | |
Hoornaert et al. | Network Working Group D. M’Raihi Request for Comments: 4226 VeriSign Category: Informational M. Bellare UCSD | |
Guan | An Enhanced One-Time Password Implementation |
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 |
Granted publication date: 20140903 |
|
CF01 | Termination of patent right due to non-payment of annual fee |