CN101076807B - 一次性密码验证的方法和*** - Google Patents

一次性密码验证的方法和*** Download PDF

Info

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.)
Active
Application number
CN200580042646.5A
Other languages
English (en)
Other versions
CN101076807A (zh
Inventor
N·波普
D·姆赖希
L·哈特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FLISAEN Co
Original Assignee
FLISAEN Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by FLISAEN Co filed Critical FLISAEN Co
Priority to CN201410381702.9A priority Critical patent/CN104104517B/zh
Publication of CN101076807A publication Critical patent/CN101076807A/zh
Application granted granted Critical
Publication of CN101076807B publication Critical patent/CN101076807B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3226Cryptographic 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/3228One-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3234Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating 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,则暂停验证尝试。
CN200580042646.5A 2004-10-15 2005-10-17 一次性密码验证的方法和*** Active CN101076807B (zh)

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
CN201410381702.9A Active CN104104517B (zh) 2004-10-15 2005-10-17 一次性密码验证的方法和***
CN200580042646.5A Active CN101076807B (zh) 2004-10-15 2005-10-17 一次性密码验证的方法和***

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201410381702.9A Active 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) CN104104517B (zh)
AU (1) AU2005295579B2 (zh)
CA (1) CA2583741C (zh)
SG (1) SG156643A1 (zh)
WO (1) WO2006044717A2 (zh)

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1828946B1 (en) 2004-10-15 2018-02-28 Symantec International One time password
US8832458B2 (en) * 2005-03-22 2014-09-09 Seagate Technology Llc Data transcription in a data storage device
WO2007096735A2 (en) * 2006-02-22 2007-08-30 Axalto S.A. An authentication token for identifying a cloning attack onto such authentication token
US9106409B2 (en) 2006-03-28 2015-08-11 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for handling keys used for encryption and integrity
JP5043928B2 (ja) * 2006-03-28 2012-10-10 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 暗号化および整合性のために使用されるキーを処理する方法および装置
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
US20090307140A1 (en) 2008-06-06 2009-12-10 Upendra Mardikar Mobile device over-the-air (ota) registration and point-of-sale (pos) payment
US8543091B2 (en) * 2008-06-06 2013-09-24 Ebay Inc. Secure short message service (SMS) communications
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.
US8799666B2 (en) * 2009-10-06 2014-08-05 Synaptics Incorporated Secure user authentication using biometric information
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
LT2699264T (lt) 2011-04-20 2018-07-10 Medimmune, Llc Antikūnai ir kitos molekulės, kurios jungiasi prie b7-h1 ir 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
WO2013100918A1 (en) * 2011-12-27 2013-07-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 さくら情報システム株式会社 ワンタイムパスワード装置、システム及びプログラム
DE102012218943A1 (de) * 2012-10-17 2014-04-17 Bundesdruckerei Gmbh Verfahren zur Initialisierung von Datenbankmitteln
DE102012218944A1 (de) * 2012-10-17 2014-04-17 Bundesdruckerei Gmbh Verfahren zur Erzeugung eines One-Time-Password (OTP)
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
US10021091B2 (en) * 2013-05-23 2018-07-10 Intertrust Technologies Corporation Secure authorization systems and methods
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
TW201709929A (zh) 2015-06-12 2017-03-16 宏觀基因股份有限公司 治療癌症的聯合療法
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
US9930034B2 (en) 2015-07-29 2018-03-27 International Business Machines Corporation Authenticating applications using a temporary password
US9860243B2 (en) 2015-07-29 2018-01-02 International Business Machines Corporation Authenticating applications using a temporary password
IL297090A (en) 2015-07-30 2022-12-01 Macrogenics Inc Molecules that bind pd-1 and methods of using them
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
CN108136010A (zh) 2015-10-08 2018-06-08 宏观基因有限公司 用于治疗癌症的联合疗法
WO2017100282A1 (en) * 2015-12-07 2017-06-15 Mastercard International Incorporated Systems and methods for utilizing vehicle connectivity in association with payment transactions
TWI758267B (zh) 2015-12-14 2022-03-21 美商宏觀基因股份有限公司 對於pd-1和ctla-4具有免疫反應性的雙特異性分子及其使用方法
IL296354B1 (en) 2015-12-15 2024-03-01 Oncoc4 Inc Chimeric and humanized monoclonal antibodies against CTLA-4 and their uses
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 日本電信電話株式会社 認証システム、方法及びプログラム並びにサーバ
US11459394B2 (en) 2017-02-24 2022-10-04 Macrogenics, Inc. Bispecific binding molecules that are capable of binding CD137 and tumor antigens, and uses thereof
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
US10657242B1 (en) 2017-04-17 2020-05-19 Microstrategy Incorporated Proximity-based access
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暴力破解的方法及***
CN112384515A (zh) 2018-02-27 2021-02-19 因赛特公司 作为a2a/a2b抑制剂的咪唑并嘧啶和***并嘧啶
JP6538923B2 (ja) * 2018-04-26 2019-07-03 日本電信電話株式会社 認証システム、方法及びプログラム並びにサーバ
US11168089B2 (en) 2018-05-18 2021-11-09 Incyte Corporation Fused pyrimidine derivatives as A2A / A2B inhibitors
SG11202012671QA (en) 2018-06-20 2021-01-28 Incyte Corp Anti-pd-1 antibodies and uses thereof
GEP20237548B (en) 2018-07-05 2023-10-10 Incyte Corp Fused pyrazine derivatives as a2a /a2b inhibitors
MX2021003138A (es) 2018-10-02 2021-05-14 Capital One Services Llc Sistemas y metodos para autentificacion criptografica de tarjetas sin contacto.
US10581611B1 (en) * 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
CN111321947A (zh) * 2018-12-14 2020-06-23 云丁网络技术(北京)有限公司 一种基于一次性密码的控制方法及装置
US11423138B2 (en) 2018-11-14 2022-08-23 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
AU2021411952A1 (en) 2020-12-29 2023-08-10 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 威胜能源技术股份有限公司 一种基于动态口令的离线换电方法
CN115225673A (zh) * 2022-07-14 2022-10-21 蔚来汽车科技(安徽)有限公司 车辆监控方法、设备和存储介质

Family Cites Families (35)

* Cited by examiner, † Cited by third party
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
AU3777593A (en) * 1992-02-26 1993-09-13 Paul C. Clark 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 ワンタイムパスワード認証システム
EP1116086B1 (en) * 1998-09-22 2007-02-21 Avocent Huntsville Corporation System for accessing personal computers remotely
JP2001175599A (ja) * 1999-12-15 2001-06-29 Metro Inc 認証システム
EP1254547B1 (en) * 2000-02-08 2005-11-23 Swisscom Mobile AG Single sign-on process
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
WO2002048846A2 (en) 2000-12-14 2002-06-20 Quizid Technologies 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
EP1828946B1 (en) 2004-10-15 2018-02-28 Symantec International One time password
US7840993B2 (en) * 2005-05-04 2010-11-23 Tricipher, Inc. Protecting one-time-passwords against man-in-the-middle attacks

Also Published As

Publication number Publication date
CA2583741A1 (en) 2006-04-27
CN104104517B (zh) 2017-11-07
EP1828946A2 (en) 2007-09-05
EP1828946B1 (en) 2018-02-28
WO2006044717A2 (en) 2006-04-27
US8087074B2 (en) 2011-12-27
AU2005295579B2 (en) 2011-08-04
AU2005295579A1 (en) 2006-04-27
US20120096535A1 (en) 2012-04-19
SG156643A1 (en) 2009-11-26
JP2008517384A (ja) 2008-05-22
JP4938673B2 (ja) 2012-05-23
WO2006044717A3 (en) 2006-09-28
EP1828946A4 (en) 2010-12-29
KR20070050504A (ko) 2007-05-15
CN104104517A (zh) 2014-10-15
CN101076807A (zh) 2007-11-21
US20090313687A1 (en) 2009-12-17
US8434138B2 (en) 2013-04-30
CA2583741C (en) 2014-10-14

Similar Documents

Publication Publication Date Title
CN101076807B (zh) 一次性密码验证的方法和***
M'Raihi et al. Hotp: An hmac-based one-time password algorithm
US10742420B1 (en) Quantum-resistant double signature system
US6950523B1 (en) Secure storage of private keys
EP1723594B1 (en) Token authentication system and method
CN1717896B (zh) 用于对电子文档进行数字签名的方法、计算机设备和***
EP3149886B1 (en) Controlling access to a resource via a computing device
KR100702499B1 (ko) 메시지 무결성 보증 시스템, 방법 및 기록 매체
US11870897B1 (en) Post quantum unique key per token system
US8953786B2 (en) User input based data encryption
US7076062B1 (en) Methods and arrangements for using a signature generating device for encryption-based authentication
EP3133791B1 (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
CN109644137B (zh) 具有签名消息的基于令牌的认证的方法
CN117711094A (zh) 智能门锁的动态密码生成方法及相关设备
Hoornaert et al. Network Working Group D. M’Raihi Request for Comments: 4226 VeriSign Category: Informational M. Bellare UCSD
CN115694818A (zh) 数据一致性校验方法及装置
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