CN100432889C - 提供断开鉴别的系统和方法 - Google Patents
提供断开鉴别的系统和方法 Download PDFInfo
- Publication number
- CN100432889C CN100432889C CNB2004800330595A CN200480033059A CN100432889C CN 100432889 C CN100432889 C CN 100432889C CN B2004800330595 A CNB2004800330595 A CN B2004800330595A CN 200480033059 A CN200480033059 A CN 200480033059A CN 100432889 C CN100432889 C CN 100432889C
- Authority
- CN
- China
- Prior art keywords
- pass code
- token
- record
- function
- value
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 100
- 235000002566 Capsicum Nutrition 0.000 claims abstract description 65
- 239000006002 Pepper Substances 0.000 claims abstract description 63
- 235000016761 Piper aduncum Nutrition 0.000 claims abstract description 63
- 235000017804 Piper guineense Nutrition 0.000 claims abstract description 63
- 235000008184 Piper nigrum Nutrition 0.000 claims abstract description 63
- 150000003839 salts Chemical class 0.000 claims abstract description 56
- 238000012795 verification Methods 0.000 claims abstract description 6
- 241000722363 Piper Species 0.000 claims description 62
- 238000003860 storage Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims 1
- 238000011084 recovery Methods 0.000 claims 1
- 244000203593 Piper nigrum Species 0.000 abstract 1
- 230000006870 function Effects 0.000 description 51
- 238000006073 displacement reaction Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000009795 derivation Methods 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 241000892681 Erigenia bulbosa Species 0.000 description 2
- 241000758706 Piperaceae Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000010561 standard procedure Methods 0.000 description 2
- 235000008534 Capsicum annuum var annuum Nutrition 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 235000019510 Long pepper Nutrition 0.000 description 1
- 241000245050 Menispermum Species 0.000 description 1
- 240000003455 Piper longum Species 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012850 discrimination method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 239000013558 reference substance Substances 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—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/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
在用于断开鉴别的系统中,将对应于预定时间段内给定的鉴别令牌输出的验证记录、事件序列和/或询问组下载至验证器。这些记录包括对给定鉴别令牌输出的加密或者散列信息。在一个使用时间间隔的实施例中,对于每个时间间隔,令牌输出数据、盐值以及胡椒值都被散列处理,并与该时间间隔的验证记录进行比较。在比较成功之后,用户可以访问该计算机。也可以提供PIN值作为该散列函数的输入。可以将该散列函数输出的一部分用作对加密的(视窗)口令或者其它敏感信息解密的密钥。
Description
技术领域
总的来说,本发明涉及密码术,具体而言,涉及用于计算机安全的系统。
背景技术
正如本领域所公知的,存在各种各样的系统用于相对计算机和/或计算机网络来鉴别用户。例如,要登陆一台计算机,用户通常要键入口令。但是,正如本领域所公知的,仅靠口令的系统只能提供有限的安全级别。
其它已知的鉴别系统需要两种识别要素。一种这样的系统是由美国麻省Bedford的RSA安全公司提供的RSA SECURID系统。通常,该系统需要用户从他拥有的鉴别令牌(token)形式的装置输入字母-数字个人身份号码(PIN)和数据。服务器验证所述令牌中服务器知道的用户PIN及安全数据。该RSA SECURID系统已经在授予Weiss的4,720,860号美国专利中概括描述,在这里将其引入作为参考。
鉴别令牌,例如RSA SECURID令牌,对于通过不安全通道相对于服务器来鉴别用户而言正变得越来越普遍。鉴别令牌优于使用标准口令的好处是多方面的,主要有减少了遭到假冒攻击的风险。假冒攻击是指未被授权人员企图通过安全服务器的鉴别,从而访问例如公司网。
典型情况下,鉴别令牌与鉴别服务器,例如RSA安全ACE服务器,共享一些信息,这些信息一般不被其它实体所知,并且利用这些信息能够产生和验证某些鉴别字符串的至少一部分。该鉴别字符串通常还包括所述令牌的拥有者记住并同时存储在服务器上的某些信息,或者是这些信息的函数。为了产生这一鉴别字符串,该鉴别可以是交互的,例如,询问-响应形式,或者是非交互的,例如不从服务器向用户/令牌发送任何信息。
目前,构成鉴别尝试的所述信息是通过某些有可能不安全的通信线路发送的,例如通过无线或者有线网络进行发送。在一种普通情形里,拥有鉴别令牌的用户希望访问由服务器控制的某些资源。可以假定该服务器对于攻击是安全的,因而也可以假定由该服务器存储的秘密信息的安全不会遭到破坏,并且不可能被用于假冒该用户的目的。上述资源可以是例如数据库、电子邮件账号、存储单元或者处理能力。可以假定该资源不需要存储对于产生鉴别字符串有用的任何信息,除非该资源与执行验证的服务器相同。
虽然这些系统对于结合远程鉴别服务器的用户鉴别来说是有效的,但是当所述鉴别服务器无法使用的时候这些系统可能无效,或者当想要访问的资源是令牌拥有者所拥有的计算机的时候这些系统不实用。在这种情况下,如果所述计算机能够验证鉴别码,而不需要与远程鉴别服务器交互,那么这将是有益的。但是,如果该计算机丢失或者被偷窃,或者受到入侵者控制,那么该入侵者可能会获取验证信息,并使用该信息企图针对远程鉴别服务器假冒该用户(即令牌)。因此,虽然可以将某些信息存储在计算机上以便能够鉴别输出令牌,但是这样做不应当带来不可接受的安全缺陷。
因此,需要克服上述缺点及其它缺点。
发明内容
本发明提供一种用于断开鉴别的系统。服务器将一系列验证记录下载到已经通过服务器鉴别的计算机,例如膝上型电脑。在一个实施例中,所述记录对应于预定的一段时间。在另一个实施例中,所述记录对应于事件。所述记录存储在膝上型电脑中,并且包含与预定的这一段时间内由鉴别令牌所输出的数据相对应的信息,例如口令。所述记录以一种方式和格式存储,这种方式和格式用于使攻击者在给定的未来时间内能够发现令牌输出的可能性最小化,从而防止通过膝上型电脑的鉴别和/或在重新连接到服务器后假冒用户。
通常,验证器对拥有能够提供一个或者多个一次性通行码(passcode)的鉴别令牌的用户进行鉴别。获得验证记录并且获得通行码。然后确定该通行码是否与验证记录一致,其中验证记录是参考通行码的函数(reference passcode)。
在一个实施例中,所述记录包括一些值,已经使用单向函数对这些值进行了加密、模糊化或者使得这些值不可读出。散列(hash)函数是这种单向函数的一个例子。在一个特定的实施例中,散列算法接收给定时间的令牌输出值作为输入,所谓的盐值(salt value),以及所谓的胡椒值(pepper value)。所得到的从服务器下载下来的散列输出存储在膝上型电脑上,作为记录的一部分。可以将预定的那一段时间每个令牌输出时间间隔的记录存储起来。如果该令牌输出是由这个用户提供的,并且该令牌数据、盐值和胡椒值的散列与对应于给定时间间隔的记录匹配,那么这个用户就通过了膝上型电脑的鉴别。
附图说明
通过下面结合附图的详细描述,将更全面地理解本发明,在这些附图中:
图1是根据本发明提供断开鉴别的系统的框图;
图2是说明本发明中基于时间的示例性信息的图形表示,可以下载这些信息以提供断开鉴别;
图3是示出本发明中断开鉴别的示例性部件的框图;
图4是根据本发明可以构成断开鉴别一部分的示例性记录的文本表示;
图5是本发明中断开鉴别另一个特征的图形表示;
图6是本发明中断开鉴别又一个特征的图形表示。
具体实施方式
本发明提供一种系统,不能与鉴别服务器通信的时候,这种系统有利于在代理,例如膝上型个人电脑(PC)上进行断开鉴别。(断开时间段之前)连接到鉴别服务器时,下载对应于预定的一段时间的一系列验证记录至所述代理。在一个实施例中,所述代理存储由鉴别服务器产生的,处理后例如散列处理后多个版本的一次性通行码。
通常,验证器鉴别拥有鉴别令牌的用户,这些鉴别令牌能够提供一个或者多个一次性通行码。获取是参考通行码函数的验证记录。确定所提交的通行码是否与这一验证记录一致,该通行码可以作为时间、事件、询问等的函数来产生,如同以下将详细描述的一样。在一个实施例中,断开的用户提交来自鉴别令牌的通行码给验证器,用于通过确定所提交的通行码是否与对应的验证记录一致来鉴别用户。
在一个特定的实施例中,根据用户时间的种子值或者基于序列的鉴别令牌,例如由RSA安全公司提供的RSA SECURID令牌,来产生基于时间的通行码。验证记录可以在例如用户旅行之前下载。也可以将它们下载下来供一次登陆会话期间使用,例如使用几分钟到几小时。因此每个验证记录都是可以从种子值产生的参考通行码的函数。
对于基于时间的令牌,一次性通行码仅在短期内有效,例如一分钟。应当为每个令牌时间间隔下载一个记录。或者应当下载(可能是中间的)种子值这种下载信息,以允许所述记录由验证器本身产生,其中所述种子值应当在产生所述记录之后删除。这更适于涉及图2所描述的导出分层种子的方案,因为与具有单一主种子而没有中间种子值的方案相比,中间种子值生命期有限。令牌输出的持续时间与在代理上感觉到的任何时间变化无关,并且时间是由该令牌控制的。在断开期间,代理可以对由用户输入的通行码信息进行散列处理,并比较存储的散列通行码以确定是否存在匹配的情形,从而鉴别用户。也就是说,确定提交用于鉴别的通行码是否与给定的验证记录一致,其中的验证记录是能够由例如鉴别服务器产生的参考通行码的函数。
图1示出了根据本发明具有断开鉴别功能的示例性系统100。代理102,例如个人计算机(PC),作为验证器,可以通过可选网络106与服务器104通信,供服务器进行鉴别。用户可以从鉴别令牌108提供个人身份号码(PIN)和数据给代理102,代理102将此信息传送给服务器104。通常,令牌108由控制代理102的用户所拥有。令牌108中的信息可以由用户例如通过键盘提供给代理102,或者可以通过例如有线或者无线通信线路自动提供。如果需要,同样可以用各种方式将信息提供给令牌。该令牌也可以是在验证器内实施的“虚拟”软件令牌。应当理解,该服务器可以相对于几个时间间隔的记录(和/或对应于多个事件)来验证令牌输出,从而时钟漂移或者其它同步丧失都不会使用户丧失访问服务器的能力。
在鉴别用户之后,服务器104可以提供信息给代理102,能够在有限的一段时间内将这些信息用于用户鉴别,如同下面将更加全面地说明的一样。通过这种方式,未被授权的人访问所述代理102和/或重新连接的时候对服务器104成功假冒已授权用户都不太可能。
可以支持各种令牌类型,包括基于时间的令牌,其中令牌输出或者令牌码是时间变量和令牌秘密(例如种子值)的函数;询问响应令牌,其中令牌输出或者响应是提供给该令牌的询问值和令牌秘密的函数;基于事件的令牌,其中令牌输出是事件计数器和令牌秘密的函数,或者其中令牌输出是令牌秘密的函数,并且该秘密响应某些事件而更新(例如按下令牌上的按钮);以及涉及上述某些组合的令牌。也可以将令牌的状态信息结合到令牌输出的导出过程中,正如在M.Jakobsson和A.Juels于2003年11月26日提交的10/724,034号美国专利申请“Identity Authentication System and Methods”中进一步描述的一样,在这里将该申请引入作为参考。此外,一次性通行码不需要由任何特定的函数产生;它们可以是存储在令牌中并与鉴别服务器共享的随机值。同时,该令牌本身不必是一个计算装置;它也可能包括在其上印有通行码的卡(可能是“刮掉”类型的)。应当理解,通行码和鉴别字符串这些术语是可以互相交换使用的。
此外,可以将PIN附加到令牌输出上或者包含在计算一次性通行码的过程中。这一组合可以由令牌本身或者其它地方完成。也可以将PIN提供给所述令牌,并在该令牌产生输出之前由该令牌进行本地验证。也可以应用生物统计学在本地相对于令牌进行鉴别。但是,这里所描述的方法不需要PIN或者生物测定。
图2与图1一起描述了根据本发明可以被下载用于断开鉴别的信息。在一个特定的实施例中,鉴别令牌108包括产生年种子152a~m的根种子150,从年种子产生月种子154a~n。从月种子154产生日种子156a~o,然后是小时种子158a~p等等直到在所需的时间间隔产生唯一的值,例如每六十秒(一分钟)160a~q。可以利用现有技术中公知的方式使用单向函数产生种子值。鉴别服务器104也可以产生这些值,以便能够验证令牌值。此外,还用这些值产生将被下载至代理的记录。
如果用户意识到将从服务器104断开,那么可以由服务器给代理102下载以记录为形式的鉴别信息,覆盖预定量的时间,例如三天162。这些记录每个都可以对应于令牌的给定时间间隔。下载的信息应当使用户能够在这三天162内访问这台计算机(代理102),直到利用服务器104重新鉴别。应当将下载的记录存储起来,从而对于未被授权人员例如偷窃膝上型电脑的人来说,要访问该计算机和/或假冒该鉴别服务器的用户是相当困难的。显然,在很多情况下攻击者希望假冒用户来访问例如公司网。
应当理解,可以将本发明应用于其中与鉴别令牌中的信息一起提供口令或者个人身份号码(PIN)的实施例,以及询问/响应实施例。
下载的信息可以使用各种自动和手动机制进行下载。但是,鉴别服务器应当验证用户是被授权下载所述信息。通常,将下载的信息作为记录存储在代理上,从而使代理能够识别与每个记录关联的时间间隔。
在一个示例性的实施例中,下载的记录对应于预定的时间段。例如,被授权用户可能有三天时间从服务器断开。服务器可以下载记录供这三天时间内的鉴别。所述记录可以包括对应于询问/响应数据的信息。在一个实施例中,所述记录包括加密数据,这些加密数据对应于鉴别令牌响应询问c在时间t的响应At(c),这些数据将构成该记录的一部分。但是,询问并不是必需的。如同以下进一步描述的,也可以单独使用基于时间的值。更一般地,可以将本发明应用于如上所述的各种鉴别令牌类型。
应当理解,虽然假定了基于时间(在某些场合也可以是基于询问的)的鉴别令牌,但是这里所描述的技术也能够用于基于事件的和不是基于时间的其它实施例。例如,代替使令牌输出与时间变量相关,所述输出可以与计数器相关;因此记录可以不直接对应于时间段(例如三天),而是对应于令牌输出数量(例如300个令牌输出)。为方便起见,下面将一般性地描述基于时间的实施例,但是转换成基于事件或者基于序列的实施例,以及将询问结合进来,对于本领域普通技术人员来说将是显而易见的。符号At(c)的目的就是要表示这种替换。
虽然以下描述主要针对散列函数的使用,但是应当理解各种算法类型,包括单向算法和非单向算法都应当落在本发明的范围之内。正如这里所使用的,单向函数是指对其求逆实际上比计算它更困难的单向函数。可以使用标准散列函数,例如SHA256(在联邦信息处理标准(FIPS)PUB 186-2,“Secure Hash Standard(SHS)”,2002年8月中给出了定义)。正如所公知的,使用散列构造的迭代,例如1000次SHA256的连续迭代,来增加攻击者的计算成本,同时保持用户的开销适度也是很有益的。此外,虽然总的来说是结合给单向函数提供基于时间的变量,例如令牌输出,来描述本发明,但是应当理解所述变量也可以对应于事件等等。
在一个特定的实施例中,下载的记录包括At(c)以及在预定时间段例如三天内每个令牌时间间隔的盐值和胡椒值的散列。该盐值与相关记录一起存储,而胡椒值则不存储。对于不同的时间,盐值可能不同。也可以下载信息,例如一个或者多个种子值,以便能够产生所述记录。
正如在这里所使用的,盐值指的是这样一个值,将它包含进来作为要进行散列处理(或者加密)的信息的一部分。例如可以作为具有预定比特数的随机数来提供该盐值。该盐值可以与所述记录一起存储,或者为了减少存储需求,可以从与一组记录相关的主盐值,以及与给定的记录相关的其它信息产生它。正如本领域普通技术人员所理解的,盐值能够阻止词典型的攻击获取安全值例如令牌输出。由于盐值对于不同的时间是不同的,因此攻击者确定安全值要做的工作必须对每个时间间隔都做一遍,因为该盐是散列数据的一部分。
正如在这里所使用的,胡椒指的是这样一个值,它具有已知的或者可预测的比特数,这个值是被散列处理的数据的一部分。但是,与盐值不同,胡椒值不被存储。还有,也不下载胡椒值。因此,计算可能的胡椒值,并为每个胡椒值计算散列函数。由于必须为可能的胡椒值计算散列函数以找出实际的值,胡椒减慢了词典型攻击。
在图3所示的一个特定实施例中,对应于时间t的给定记录200包括对应于散列函数输出202的信息。散列函数的输入包括时间t的令牌输出,At(c)204,时间t的盐值206,以及时间t的胡椒值208。当试图访问计算机时,可以要求用户提供令牌输出At(c)204。应当理解,由于没有存储胡椒值208,因此对可能的胡椒值计算散列函数。虽然这些值中每个值的比特数可以变化,但是示例性的比特数包括At(c)的20比特,胡椒的10比特,以及盐的21比特。将得到的散列函数202计算结果与给定时间的存储记录200进行比较,以便找出正确的值,能够访问计算机。
应当理解,如果没有询问,则不存储c。此外,如果没有询问,那么At不是c的函数,不需要用户输入c到令牌中(或者,如果所述令牌具有有线或者无线通信链路,那么不需要该令牌接收询问c)。应当理解,本发明可以应用于询问和非询问的实施例。
不知道给定时间的令牌安全数据At(c)204并且不知道胡椒值208的情况下,为了计算散列函数输出,对于20比特的At和10比特的胡椒,需要220×210=230数量级次数计算。如上所述,盐值206是已知的,但是能够防止对所有记录的并行类型攻击。
在又一个实施例中,个人身份号码(PIN)值210(附图3中以虚线形式示出)可以构成将被散列处理的数据的一部分。如果PIN数据是13比特,那么对于每个时间间隔,攻击者有计算次数的数量级为230×213=243这样多的工作要做。并且如同以下更详细描述的,这些操作必须在已下载记录对应的时间段截止之前完成。
在图4所示的一个特定实施例中,使用被称为SHA256的公开的256比特散列函数。从安全信息的输入计算从SHA256散列函数的256比特输出,这些安全信息来自鉴别令牌(即令牌输出或者通行码)、盐以及可能的胡椒。可以将SHA256散列函数输出的一部分与存储记录比较。在一个示例性实施例中,可以将SHA256输出的最高128个有效位定义为h’(x),用于与存储的记录比较。如果输入是正确的,那么这些散列结果之一的h’(x)(来自可能的胡椒值的结果)将匹配。
将正确胡椒值的SHA256散列函数输出的最低128个有效位(h”(x))作为对视窗(Windows)口令的加密值解密的密钥。通过这种方式,仅在从鉴别令牌输入正确的安全信息之后,才能提取正确的视窗口令。
实例
将时间分成多个间隔,每个间隔等于显示一个令牌输出的持续时间。一个记录与每个这种时间段相关。在某个(任意)基线时间之后的第i个时间段被称为时间i,并且与该时间段相关的记录称为rec_i。这些记录是通过机器例如ACE服务器利用令牌种子的信息计算出来的。然后从该机器向可以被称为验证器的机器下载一批记录,随后该验证器将执行令牌输出的脱机验证。该验证器典型情况下是膝上型电脑。
初始化过程(每次将要下载一批记录时由鉴别服务器执行)如下。例如,选择在40和80比特之间固定长度的随机盐值salt_i。选择在10和25比特之间固定长度的随机值pepper_i。利用附加或者组合的正确PIN针对时间间隔i计算令牌,例如RSA SECURID的输出。令它为val_i值,对于6数字令牌和4数字PIN它有34比特长。可以让val_i仅为令牌输出,在这种情况下将不通过散列记录验证PIN。计算值y=SHA256(pepper_i,salt_i,val_i)。让A_i为y的第一部分,其中A_i是例如80与128比特之间的固定大小。让B_i作为y的第二部分,它可以是128比特(但是不包含A_i的任何部分)。值A_i随后被用于验证鉴别尝试的正确性,同时B_i提供能够加密视窗口令,秘密密钥或者对应用于验证器上有益的任何其它秘密信息的密钥。这些信息,也称为数据元素,被称作M,并且使用B_i对M加密称作E_i。可以使用公知的AES算法来加密M。如果M比128比特长,那么将在密码块链接(CBC)模式下使用密码。令rec_i=(salt_i,A_i,E_i)。应当注意,pepper_i、val_i以及B_i这些量都不包含在所述记录中,不发送给所述验证器。
应当理解,所述信息M可以采用各种形式。除了已经描述的用于对视窗口令解密的密钥之外,所述信息可以是:
-用于对验证器上的文件或者其它数据解密的例如高级加密标准(AES)的对称密钥加密系统的秘密密钥
-用于利用消息鉴别码(MAC)鉴别数据的秘密密钥
-在非对称(公开密钥)加密系统例如RSA公开密钥加密系统中用于对文件或者其它数据解密的私有密钥
-用于利用数字签名方案鉴别数据的私有密钥
-用于针对例如其它计算机上的应用进行鉴别的秘密密钥或者私有密钥
-用于解开其它密钥(如上所述这些其它密钥本身也可能是秘密密钥或者私有密钥)的秘密密钥或者私有密钥
-用于保护敏感数据,例如用户概况信息(例如信用卡号码)或者本地口令表的密钥
-任何敏感数据
-视窗口令本身
此外,代替利用值B_i对M加密,可以直接从B_i导出密钥。也可以将值B_i本身用作密钥。
鉴别过程如下。用户输入用户名(可选)、当前令牌码以及PIN(可选),并且从这些数据获取值val_i。验证器选择记录rec_i以匹配基于用户名(如果输入)和时间的输入。对pepper_i所有可能的值使用穷举搜索(以任何需要的顺序),计算值y=SHA256(pepper_i,salt_i,val_i)。比较第一部分(与A_i相同大小)与rec_i中的A_i以确定是否匹配。如果对于某些胡椒存在匹配,那么鉴别成功。在这种情况下,令B_i为y的第二部分。值B_i可以被用于对E_i解密以获得M。
正如对于一次性通行码所容易理解的,在令牌与验证器之间有可能存在某些同步损失。例如参见授予Weiss的4,885,778号美国专利,在这里将它引入作为参考。因此,如果利用记录rec_i的鉴别不成功,那么验证器可以利用一个或者多个相邻的记录重试。也可以跟踪在以前成功的鉴别中使用了哪些记录,以便防止重新使用以前的令牌码。
代替计算A_i值,验证器也可以仅计算B_i值,并基于E_i的成功解密单独鉴别该用户。例如,如果加密操作包括冗余,例如填充或者在解密期间校验的校验和,或者如果本身加密的值M具有可以验证的冗余,那么成功地解密确保了使用正确的密钥B_i。这又给所提供的安全信息是正确的提供了保证。由于不计算或者存储A_i值,该方法具有减少存储和计算需求的好处。
作为另一个选择,值M的成功使用可以是通过其验证安全信息的手段。例如,如果值M是视窗口令(或者通过其对所述密码解密的密钥),那么该视窗口令可以由视窗操作系统作为确定所述安全信息是否正确的手段进行验证。除了增加正确性的保证之外,在没有冗余地对所述值加密的情况下,该方法还具有必须使用所述值以便能够进行验证的好处,从而有可能给其中使用了所述值的系统发出遭到攻击的信号。也就是说,在不使用值M的情况下,获得记录的攻击者不能确定对安全信息的猜测是否正确。
也可以将所述各种替代方式的元素组合起来,从而使正确性的确保来自于A_i的匹配、E_i的成功解密和/或M的成功使用。
在图5所示的本发明的另一个方面里,可以“摇晃”散列函数的盐值。在一个实施例中,以置换方式存储每个散列记录,如在第一列250中所示的,与列252中对应的盐值之间的关联。也就是说,与散列输出一起存储的盐值不是该散列输出的盐值。通过这种方式,对盐值进行测试以找出对应于给定散列输出的盐值。应当理解,本领域普通技术人员已知的各种机制都可以用于置换这种盐/散列关联。
在图5所示的又一个实施例中,盐值被分成独立存储的第一部分salt1和第二部分salt2,如在列254中所示的。该第一和第二盐部分被分开、置换和存储。对于本领域普通技术人员来说很明显,可以将该盐分成任何数量的部分并以各种技术和方式进行置换。此外很明显存在大量可以使用的盐和胡椒的混合。
实例
作为“盐罐”初始化过程的一部分,同时准备某一数量n的记录,例如1000个记录。设置胡椒为空字符串(即不使用任何胡椒)。对于每个记录,这样做导致一个多元组(salt_i,val_i,A_i,B_i,E_i)。在这些多元组中,验证器接收除了B_i之外所有的值。但是,在发送任意值过去之前,随机地置换这n个salt_i值。不修改它们的比特串,而是仅修改与它们相关的记录。在置换之后,存在格式为rec_i=(salt_i,A_i,E_i)的n个记录,其中salt_i被用于指代置换到第i个位置的盐。值A_i或者E_i不置换。
在验证过程中,验证器以穷举方式尝试salt_i值和A_i值的每个组合。它为每个这样的盐值计算值y=SHA256(salt_i,val_i),比较第一部分与所选记录的A_i值。该过程将正确值y的计算“延迟”平均n/2倍,并且最坏的情况下延长n倍。因此这将对应于10比特长度的胡椒值。产生更长的延迟而不必处理更多记录的方法不言自明。
为了将计算成本平均增加n*n/2倍,将盐值分解成相同大小的两部分,然后每个这种部分与一个随机记录相关联,即这些半个独立置换。于是记录具有(salt_{i1},salt_{i2},A_i,E_i)的格式,其中salt_{i1}是置换后的第一半,salt_{i2}是置换后的第二半。为了验证令牌值,验证器需要以穷举方式搜索第一半和第二半盐值的所有组合,这样做平均要尝试n*n/2次。通过将每个盐分成甚至更小的部分,同时通过不将它们按第一半先存储等顺序存储,而是对每个记录按随机顺序存储,能够很容易地增加计算工作量。增加工作量的另外一种方式是引入必须同时搜索的“哑”记录。
图6示出了本发明的另一个方面,其中时间的流逝会增加攻击者成功访问计算机所需完成的工作量。在一个特定的实施例中,用户下载例如三天的鉴别记录。如上所述,成功攻击需要243次计算。如果用户在预定时间段,例如一天内不登陆,那么第二天成功攻击的工作量会增加到例如2×243。如果用户两天不登陆,那么工作量增加到4×243。虽然附加的工作也会增加对提供正确安全信息的用户进行鉴别所需的时间,但是对于每个后续的时间段,例如天,攻击者所需完成的工作量都要加倍。用户登录的延迟可能是明显的,但是应当是能够接受的。
总之,鉴别真用户时,与没有使用这里所描述的本发明的技术那种情况相比,计算机的工作量应当大致相同(较少)。如果用户在相对长的时间段内没有进行过鉴别,那么计算成本上升是可以接受的。但是,该系统不应当允许攻击者有大量的时间通过尝试所有可能的组合来“分解”记录。因此,对应于未来时间间隔的记录比那些对应于当前时间间隔的记录更应当受到保护,因为攻击者将有更多的时间来攻击这些记录。
应该理解,试图未经授权访问计算机的攻击者会受到激励用所需最低工作量获得进入。因此,对应于下载的记录,攻击者不可能倾向于选择直到接近预定时间段结尾,例如三天的结尾,才能够恢复出令牌输出的时间间隔。由于所需工作量,攻击者能够实现攻击的时间段长度有限。
还是参考图6,在一个实施例中,每次成功登陆都提供给下一次登陆或者时间段的“提示”。在一个示例性实施例中,胡椒值的比特数对于用户不登陆的每一天都增加。例如,在第一天胡椒值为10比特,对应于243次计算的工作量,如上所述。如果用户在第一天不登陆,胡椒值在第二天增加到11比特。如果用户在第一天登陆,那么获取第二天11比特胡椒中的1比特用于第二天,以便为第二天提供10比特的有效胡椒值。
如果用户在第一天和第二天都不登陆,那么用于第三天的胡椒值增加到12比特,对应于2×2×243的工作量。如果用户在第一天和第二天没有登录的情况下确实打算在第三天登陆,那么由于对应于增加的胡椒值的数量而增加的计算量,在获得访问的过程中的延迟会增加。但是,增加的延迟不应是禁止性的。
应当理解,虽然将提供提示描述为获取胡椒比特,但是考虑到这里所包含的说明,提供提示的方式可以按照对本领域普通技术人员来说显而易见的方式,改变比特数量、时间、最后登陆日期、数值类型等。下面将把提示看作与胡椒独立的变量,虽然它们也可以被实现为胡椒的一部分或者其它属性。
在另一个实施例中,从胡椒值空间的被选部分或者摇晃后(shaken)盐值的置换提供提示。例如,可以利用具有不等概率的随机比特选择胡椒空间的不等部分,这里的不等概率为逻辑“1”或者“0”。
实例
对于时间间隔i,记录rec_i=(A_i,Δ_i,salt_i)。还将时间分成更长的时间段,例如24小时间隔或者日历日,用t做下标。每个时间段t与hint_i值关联,这个值的长度可以在例如1~10比特范围内。时间间隔i所属的较长时间段由t_i表示;几个连续的时间间隔将属于相同的较长时间段(例如1440个时间间隔,如果时间间隔是一分钟并且较长的时间段是一天的话)。
当接收输入值val_i时,需要验证它是否对应于rec_i。这里假定val_i是较长时间段t_i的一部分,并且hint_{t_i-1}是已知的。如果用户在前一个较长的时间段内已被服务器成功地鉴别,那么该提示将是已知的。对于所有可能的pepper_i值,验证器计算(A|B)=h(val_i,hint_{t_i-1},salt_i,pepper_i)这个量,其中h()表示散列函数,其中A与A_i大小相同,salt_i是指间隔i的盐值,pepper_i是指在间隔i的可能的胡椒值,并且B是指可以用作解密密钥的散列输出的一部分。将量A与值A_i进行比较,如果匹配,就认为(val_i,pepper_i)对应于该时间间隔的记录rec_i。
应当理解,可以使用值B来加密视窗口令或者其它数据以及下一个提示。足以对每个数据解密的信息可以作为字段E_i存储在记录中。也可以存储延迟值Δ,从而当它与B的某些部分进行XOR(异或)运算以后,所述结果为未来的某些时间间隔产生提示。值Δ可以通过鉴别服务器来计算,并在某个以前的时间下载到计算机中。
如果值hint_{t_i-1}不是已知的,那么必须以穷举法尝试所有可能的值。给定遭到破坏的机器状态,对于“诚实”地使用这一系统,以及对于攻击者希望确定val_i这个量的攻击,都是如此。
从值B计算所述提示。具体而言,hint_{t_i}=Δ_i XOR B′,其中B’为B的一个比特(或者通过B获得的一个比特)。因此,计算rec_i的一方设置Δ_i=B XOR hint_{t_i},其中hint_i是独立于rec_i中的值选取的,XOR是指逻辑异或函数。与不知道hint_{t_i-1}这一提示的一方相比,这样做允许知道hint_{t_i-1}的一方在下一个较长的时间段内(A|B)的计算量“打折”。前者将不得不结合所有可能的胡椒来尝试所有可能的提示;后者保持了前一次成功鉴别的提示,只需要尝试所有可能的胡椒。因此,胡椒使每个人减速,提示仅仅使那些不知道他们的人减速。
在前面,为了得到与所述提示相关的计算量折扣,必须了解刚好是前一个较长时间段中给出的提示(也可以在当前的时间段求出所述提示,但是没有折扣,因为它可能与相同时间段内用于其它记录的提示相同)。在一个实施例中,希望给了解在较早的时间段接收到提示的人提供类似的好处。
如果提示的大小为10比特,那么可以给了解刚好是前一个较长时间段的提示值的一方10比特的折扣。可以给了解最近两个较长时间段的提示的一方9比特的折扣,可以给了解最近三个较长时间段的提示的一方8比特的折扣等等。这一点可以通过使hint_t=f(hint_{t-1},r_t)来实现,其中r_t是一个随机比特(或者在连续提示之间帮助的差异应当比1大的情况下,是几比特)。在这里,f可以被选择为LFSR(线性反馈移位寄存器)、单向函数或者适合组合输入部分的其它机制。
上述描述对应于这样一个设置,其中计算工作量随着自最后一个已知的提示以来的时间段数增大而指数变化。
如以下所描述的,也可以使计算工作量随时间段数线性变化。在设置阶段,系统为将在验证器上存储其记录的每个较长时间段t产生随机加密密钥K_t。该系统定义Δ_i,从而使B_i′XOR Δ_I给出随机加密密钥。在成功鉴别之后恢复密钥K_t。使用日加密密钥K_t,对相对小的比特串表M_1、M_2、…、M_T加密,其中对于第j个随后时间段来说M_j是一个“掩码”,并且T是在其之前成功鉴别导致“折扣”的时间段数量。每个值M_j是一个T比特串,其中每个比特对应于可能的胡椒值空间的不同部分,其中所述胡椒可能出现在第j个随后时间段;值M_j将设置j比特。这意味着已知的M值越新(给定前一次并且成功的鉴别尝试),可能的胡椒值的搜索空间减少得越多,相应地计算速度也就越快。
随后,对于成功的鉴别尝试,由验证器导出字符串M_1…M_T,并按明文存储。这样做允许减少未来鉴别尝试的计算成本。如果设置M_j的1比特,那么应当从空间的那一部分搜索胡椒,如果清楚的话,就不搜索。M_j将设置j比特,这意味着胡椒空间减少到下一个较长时间段其整个大小的1/T,对随后的长时间段是2/T,对下一个是3/T等等。在连续的长时间段内揭示的,对应于给定的未来时间段的那些M_j值,应当比在前一个时间段内揭示的那一个要清楚1比特,因而在不同的长时间段内揭示的M_j值不给出不需要量的信息。
在一个实施例中,在用服务器鉴别之后,定期下载新的“长周期”记录到验证器中。所述掩码应当工作新的一些较长时间段,这意味着服务器必须记住该掩码。验证器的第一次下载(这需要初始鉴别)可以包括掩码的初始设置。
上述技术还为所谓的盐罐(salt shaker)实施例工作;提示将与置换的盐值一起被输入到散列函数中,并且下一个提示将在该记录中被加密。在一个替换实施例中,在盐罐实施例的范围内的提示值删除对应于前一次成功鉴别尝试的那些盐部分,或者将这些部分标记为已经搜索过。然后,对未来的鉴别尝试不搜索该记录以及相关的盐,从而为每个成功的鉴别尝试提供特定的计算折扣。可以看出,对于某一个有界的时间段,成功鉴别尝试越多(与置换的那一组记录相关),那么计算成本将会越低。
示例
将时间划分到天,例如24小时的时间段。例如,如果用户在第一个24个小时周期内成功地通过验证器鉴别,那么对于之后开始的24小时周期,验证令牌输出应当并不“昂贵”;对于接下来的24小时周期更加不昂贵,并且对于相同的24小时周期来说极其不昂贵。
从范围[0…maxpepper]中选择胡椒值,其中maxpepper等于例如4095。该范围可以分成四个部分,[0…1023],[1024…2047],[2048…3071],[3072…4095]。在这四个范围中相同的一个范围内选择给定日的所有胡椒值。一旦用户已被验证器成功鉴别,那么验证器就知道这是哪一部分,从而相同日任何进一步的尝试在计算工作上都将仅花费它们通常所需花费的1/4。这是因为这样一个事实,已知这一天晚些时候的胡椒来自这一天早些时候对应的同一个范围,并且验证器记住了这一范围。这对第二天不会提供折扣。但是,如果值M包含不用于第二天的胡椒的有关两个间隔(四以外)的信息,那么允许以其花费的一半执行第二天的所有鉴别尝试。
此外,如果值M包含有关不用于第二天的后一天的一个胡椒间隔的信息,那么这对第二天的后一天将提供1/4的计算折扣。应当注意,两天提示必须是第二天提示的子集,以便使两个提示不会将成本减少到1/4,除非需要这样。
以上的各种胡椒和盐罐方法的优点在于攻击者的成本显著地增加,而对产生记录的成本只有适度的影响。如果在鉴别服务器处需要产生大量的记录,那么这是有吸引力的,如果有许多用户就会是这种情况,特别是对于其中频繁产生新令牌输出(例如每分钟)的基于时间的鉴别令牌。但是,胡椒和盐罐方法并不是必需的。一种替代的方法是使用迭代或者其它减慢的散列函数。这样做也会极大的增加攻击者的成本,尽管它会对产生具有更大的影响(由于与仅仅选择胡椒或者盐置换相比,产生记录的一方也必须使用减慢的散列函数)。
胡椒或者盐罐方法的另一种替代方式是使用时间锁难题(time-lock puzzle),例如在1996年2月MIT Laboratory for ComputerScience(麻省理工学院计算机科学实验室)technical memo(技术备忘录)MIT/LCS/TR-684中R.L.Rivest,A.Shamir以及D.A.Wagner的“Time-Lock Puzzles and Timed-Release Crypto”所描述的。时间锁难题是能够高效率地构造的难题,但是它的求解却需要大量的运算。作为一个例子,这个难题可能需要计算y=x^(2^k)mod n这个值,其中n是大的复合模量,x和k是给定的整数。构造这个难题的一方还知道n的多个因子,因此知道phi(n),其中phi(n)是欧拉的totient函数。因此该方能够高效率地按照y=x^r mod n计算y,其中r=2^k modphi(n)。但是,求解这个难题的那一方仅知道模量n,并不知道phi(n),因而必须执行k次连续的模二次幂运算(modular squarings)。为此,输入的x将代替散列函数的输入;值k将作为控制成本的可变整数;并且输出y将代替散列函数的输出。
时间锁难题与胡椒或者盐罐一样具有相同的特征,即验证的成本增加而不必极大地增加产生的成本。但是,在胡椒和盐罐方法中,仍然存在攻击者在比预期少的几次操作中偶然正确地猜出胡椒或者盐置换的可能性。在时间锁难题方法中,与迭代散列方式类似,攻击者实质上必须执行所需的所有步骤;不存在未知的东西需要猜测,只有靠工作才能做到。(但是,如果需要的话,可以容易地提供这种“未知的东西”,例如作为散列或者难题的输入的附加部分;这将提供一种将提示结合到这些方法中的方式)。
在又一个实施例中,可以为在预定间隔过去以后其记录已下载的时间的访问提供“长期”提示。例如,如果下载30天时间段的记录,并且用户30天没有登陆,那么用户可能需要例如通过电话联系鉴别服务器或者呼叫中心,以获取进一步的通行码。可以将它看作是紧急访问码,它会相对较长。
在一个示例性实施例中,下载的记录包括第一时间段例如头30天以第一格式存储的记录,例如如上所述的,以及第二时间段例如后30天以第二格式存储的记录。在一个实施例中,第二个30天的记录利用除上述加密外的紧急访问码进行加密。通过这种方式,在获取紧急访问码之后,用户可以在第二个三十天的周期内进行鉴别。该紧急访问码可以被认为是在第二个30天周期的时间间隔验证散列的提示。也可以将该紧急码用于允许访问提示。
在一个替代实施例中,可以将相对较长的胡椒值,例如80比特,输入到散列函数中。关于这80比特,验证器可以最初给出胡椒的60比特,这60比特对于预定的时间段来说是相同的,例如历月。下一个月的60比特是不知道的。下一个月的60比特可以通过例如经过服务器鉴别或者通过能够由呼叫中心提供的口头电话通信获得。
应当理解,所有的记录可以一起加密,这将包括相对长紧急密钥的用户,例如128比特,或者单个记录可以使用“扩展胡椒值”,其中扩展是紧急密钥,并且对于30天周期的所有记录来说是相同的。一旦给出紧急码并且与所述记录一起存储,那么如果从来不存在任何胡椒值的扩展,胡椒搜索就与其将具有的一样简单。
作为进一步的变形,在某些情况下为了鉴别,可以要求用户使用不止一个令牌输出。通过从两个(或者更多)令牌输出(典型地为连续的)中导出值val_i以及可选的PIN,很容易修改已经描述的技术以适应这种情况。作为一个例子,验证器可以为第一个30天的时间段提供一组普通记录(从单个令牌输出中导出的),并为下一个30天提供一组修改的记录(需要两个令牌输出)。通过这种方式,已断开30多天的用户仍然可以通过鉴别,但是仅仅在具有两个令牌输出的情况下才行;这将极大地增加攻击者搜索下一个30天的正确令牌输出所需要付出的成本,对存储在验证器上的未来记录提供更强的适当保护。实际上,利用这种强保护,有可能存储一年或者更多未来的记录,从而支持不确定的断开时间段。但是,在许多情况下,管理政策可能会要求用户偶尔通过服务器鉴别,以验证用户保持被授权使用断开的机器。可以将这些鉴别过程下载的附加提示结合到未来的记录中以加强该政策。
上述提示机制同样可以有利地应用在这里。修改过的记录组也可以包含加密的提示,从而当用户在第二个30天的周期内利用两个令牌输出进行鉴别时,获取允许在那30天利用单个令牌输出实现随后鉴别的提示。实现这一特征的一种方式是具有第二个30天的两个记录组:一个要求也包含加密提示的两个令牌输出的修改记录组;以及一个要求单个令牌输出加提示的普通记录组。在第二个30天的周期之前给攻击者增加的成本仍然保留,因为攻击者将需要猜测两个正确的令牌输出,或者一个正确的令牌输出和提示(该提示可能相对较长)。但是,一旦用户在第二个30天的周期内利用两个令牌输出成功通过鉴别,将给出该时间段的提示,之后用户可以利用单个令牌输出进行鉴别。
类似的结构适用于多个时间段,从而每次用户输入一个新的时间段,都要求两个令牌输出。作为一种情况,最初可能要求用户输入用于第一时间段的两个令牌输出。来自在前时间段的提示也可以以各种方式与这一结构结合,如果用户足够近的时候或者十分频繁地利用一个令牌输出通过鉴别,或许因此不再需要两个令牌输出。
结合两个令牌输出使用的修改记录仅需要产生所述提示,不需要实现两个令牌输出的立即鉴别;这是上述原理的一个例子,其中令牌输出的正确性可以由从所述记录中恢复的值M的使用来确定。这里的值M将是所述提示。在从两个令牌输出中恢复候选提示之后,验证器将随后相对于普通记录使用该提示来验证一个或者两个令牌输出。该方法具有修改的记录不必包括A_i值,而是仅包括E_i值(以及可能的盐,如果如上所述它不是从主盐导出的话)的优点。很清楚这些修改记录的E_i值可以简单地作为普通记录的其它字段存储,而不是具有两个单独的记录组。
在本发明的另一个方面,在产生所述记录时只使用用户PIN的一部分,以便增加假冒攻击失败的可能性并提供检测假冒攻击的机会。如上所述,攻击者有可能获取给定时间的鉴别令牌的安全信息。通过仅使用一部分用户PIN,攻击者不可能从所述记录中获取正确PIN的完整值。随后,攻击者可能试图针对鉴别服务器假冒该用户。由于攻击者还不具有正确PIN的完整值,因此鉴别服务器可以检测到该攻击。将会理解到,可以修改PIN信息的存储以平衡鉴别服务器的安全性和膝上型电脑的安全性。
例如,如果PIN具有四个数字,可以仅使用两个数字。攻击者有可能获取该记录中的两个数字,但是,其它两个数字仍然未知,并且攻击者不得不猜测。在一个实施例中,攻击者必须猜测正确的PIN以获取视窗口令,例如该密码本身与至少一部分PIN结合。这使得攻击者获取视窗口令更困难。
安全威胁在于攻击者可能在成功搜索之后获知PIN,然后使用该PIN去通过安全服务器的鉴别。通过在断开机器上仅使用一部分PIN,攻击者不能获得整个PIN。应当理解用户仍然可以每次输入完整的PIN以产生相同的用户经历,但是在计算使用之前可以忽略部分PIN。
虽然这里所描述的某些实施例涉及视窗口令,但是应当理解本发明还可以应用于在登陆过程中要求用户提供识别信息的其它操作系统。
在另一个实施例中,可以为相同的时间间隔存储多个记录。每个记录可以对应于一个正确的令牌输出,但是仅有一个记录具有正确的PIN。例如,对于给定的时间间隔可以存在多个记录,例如三个,其中三个记录中的两个具有错误的PIN。攻击者不知道正确的PIN,可能在尝试在线假冒通过鉴别服务器时试图从该三个记录中猜测正确的PIN。由于攻击者有可能猜测错误,因此减少了假冒攻击成功的机会(在这里,对所有记录使用相同的一组错误PIN,否则攻击者将能够区分出正确的PIN和错误的PIN,因为正确的PIN将出现在许多记录中,而错误的PIN不会)。
应当理解,可以方便地对各种参数进行修改以满足特定应用的需要。例如,PIN的大小,错误记录的数目,输入到散列中的PIN部分的大小等等,都可以根据需要进行调整。PIN的这一“部分”本身可以是该PIN的任意函数,而不只是子串,从而类似的PIN很可能产生不同的部分,从而减少用户由于键入错误提供与正确的PIN具有相同部分的错误PIN的机会。同时,当例如通过异或构造值val_i时,如果将这个PIN的一部分与令牌输出结合,那么PIN的该部分将不能恢复(除非攻击者通过其它一些方式不能得到真的令牌输出)。(同样参见授予Weiss的美国专利5,168,520)。
此外,如果攻击者提供正确的安全信息(令牌输出)和错误记录之一中“坏的”PIN,或者具有所述正确部分否则就是错误的这样一个PIN,鉴别服务器就能够很容易地检测到企图的假冒。这可以用作有人企图假冒攻击的无声警报。应当理解,授权用户无意中提供正确令牌输出数据与一个错误记录中的PIN,或者具有正确的部分否则便是错误PIN的这种可能性极其低或者可以使它极其低。
此外,如果鉴别服务器检测到某些类型的不合常规,那么服务器可以延迟并请求下一个令牌输出。这样做将会给攻击者增加更多的负担,攻击者不得不同时求出下一个令牌输出。应当理解,该服务器可以根据包含日时、IP地址、主叫ID信息、最后登录时间、在接收到下载记录后旅途中第一次登陆等等各种因素,延迟和/或请求附加的安全信息。也就是说,服务器可能基于某些类型的不合常规使代理经受进一步的仔细检查。此外,服务器可能随机地延迟和/或请求令牌输出,例如时间的百分之十。
实例
验证器为每个时间段i存储一小组记录rec_{ij}。在这里,对于一个j值,记录rec_{ij}等于前一个描述的值rec_i,而对其它值不是。对于其它j值,错误的PIN与令牌输出组合以获得正讨论的记录的val_i。这意味着验证器尝试使用正确的令牌输出和一小组PIN来接受鉴别尝试,其中这些当中仅有一个将是用于通过服务器鉴别的正确PIN。验证器没有任何方式来确定是否使用过正确的PIN,但是如果任何记录rec_{ij}匹配就允许访问。如果验证器被攻击者破坏,通过足够的计算努力,攻击者有可能计算出某些时间段的值val_i,但是不会知道PIN的值。因此,如果攻击者试图在未来的时间段尝试通过鉴别服务器的鉴别来假冒用户,就能够检测到安全性缺口,因为服务器知道,与一小组错误PIN之一结合使用正确令牌输出意味着服务器被破坏。这就使得服务器能够采取行动,这些行动可以包括警告用户,限制对用户帐户的访问,限制对与该令牌相关资源的访问等等。
上述实施例是在非交互式令牌的范围内描述的。应当理解,本发明可以很容易地扩展到使用询问响应协议的令牌。对于这种令牌,每个记录rec_i(或者rec_{ij})都包含将发送至令牌的随机询问,以及值A_i,这个值可以是对该询问的正确应答的函数。
本发明提供了允许用户通过没有连接到安全服务器的部分安全机的鉴别的系统。部分安全是指有可能受到攻击者控制的机器。为了能够验证鉴别字符串,该部分安全机(验证器)存储了允许验证某些鉴别字符串的信息,这些信息是以交互式还是非交互式方式产生的信息都行。如果验证器被攻击者破坏,例如可以是恶意软件程序或者计算机窃贼,那么系统能够限制这一损害。具体地说,存储在验证器上的信息不允许攻击者成功地假冒该用户来访问其它机器,不管该机器是安全的还是部分安全的。在可能受到这些假冒攻击的范围内,它们可行的持续时间被及时限制。此外,执行这种假冒尝试需要大量的计算努力,有可能使得在假冒尝试有意义的时间内这样做是不经济的。
此外,试图提取秘密信息并进行假冒尝试可能导致已经发生这种情况被发现。具体地说,作为前一个违反验证器安全性的结果,攻击者与之通信的服务器可能发现鉴别企图已经发生;这就使得服务器能够限制该用户对资源的访问,或者提醒该用户和其他人出现了这些问题。
作为一般的安全手段,在记录中和/或在散列函数的输入中包含用于不同目的的附加信息是有帮助的,在加密协议工程中这是一种标准实施方式。例如,可以包含用户名、令牌序列号、验证器的标识符和/或提供这一批信息的鉴别服务器的标识符。这在以下描述的几个实施例中是都是有益的。
在给定的验证器中使用用于不同用户的多批记录,和/或用于同一用户的多批不同令牌。还有,如果用户在不同鉴别服务器处使用同一个令牌,那么每个鉴别服务器都可以为该令牌提供其自己的一批记录,或者不同的鉴别服务器可以共享同一批记录。
如同以上讨论的,验证器典型地是与鉴别服务器断开了某一段时间的膝上型电脑。但是,在更一般的设置中,验证器可以是任何想要鉴别用户而不必连接到鉴别服务器的计算机。应当将术语“断开”理解为表示(a)验证器不必连接到鉴别服务器来执行鉴别;以及(b)验证器不必具有存储在用户鉴别令牌中的任何秘密的一个副本。第一个方面使得鉴别系统具有高可用性和可伸缩性;第二个方面限制了攻击对验证器的影响。
可以想象其中存在多个验证器的系统,每个验证器都能够鉴别一个或者多个用户。每个验证器都周期性地为一个或者多个用户和/或令牌获取一批记录。从而使验证器能够在有限的时间段内对用户鉴别。如果验证器不同于用户的计算机,那么用户的鉴别字符串将被提供给该验证器;作为一个典型的例子,用户可以将该鉴别字符串提供给用户的计算机,该计算机随后将该字符串转发至验证器,有可能是通过网络。从这个意义上讲,用户计算机和验证器不与该网络断开,但是它们在鉴别意义上来说是断开的,因为它们在鉴别操作期间不需要连接到鉴别服务器。
下面为了清楚起见,“验证器”是根据这里所描述的方法为了某个目的而鉴别用户的装置,而“用户计算机”是用户通过它与系统中的其它计算机,包括验证器,交互的装置。如上所述,“鉴别服务器”是与用户鉴别令牌共享秘密的服务器。
在其它实施例中,断开的鉴别系统使用“预订”模型,其中验证器直接从鉴别服务器周期性地下载或者接收多批记录。例如,可以每天提供多批记录给验证器。
在B.M.Jakobsson和小B.S.Kaliski于2003年7月31日提交的第10/631,989号美国专利申请“Method and Apparatus for Graph-BasedPartition of Cryptographic Functionality”中描述了一种典型的预订模型,在这里将其引入作为参考,其中它允许验证器在有限的时间段内鉴别用户。在Jakobsson-Kaliski的专利申请中,验证器提供中间种子,从这个中间种子可以导出和验证其它种子和/或鉴别值,例如令牌输出。但是在这里,给验证器提供令牌输出的散列值(或者从中可以产生它们的信息),并通过这些散列值鉴别用户。在Jakobsson-Kaliski的专利申请中具有中间种子的验证器可以产生散列值的子集供本地使用,和/或将它们提供给其它验证器。
在另一个实施例中,系统包括“会话”模型,其中验证器仅在用户用鉴别服务器成功鉴别之后获取给定用户的一批记录。由该批覆盖的时间段典型地将对应于单个用户会话的长度,例如几分钟到几小时,取决于安全政策。验证器在会话期间通过该批记录可以重新鉴别用户,而不需另外连接到鉴别服务器。
可以在用户成功鉴别之后直接由鉴别服务器将这一批记录提供给一个或者多个验证器,与预订模型类似。
该批记录也可以通过用户计算机间接提供给一个或者多个验证器。在用户成功地通过鉴别服务器的鉴别之后,该批记录将提供给用户计算机。该用户计算机将立即或者随后将该批记录转发至验证器。
多批记录可以包含在例如由鉴别服务器发布的SAML声明(assertion)中(参见“Security Assertion Markup Language(SAML)vl.1”,Organization for the Advancement of Structured InformationStandards(OASIS),2003年8月)。所述记录给验证器提供从用户获取“拥有证据”的一种手段,即确认用户继续拥有与声明连接的鉴别凭证(在这种情况下为令牌)。
验证器还可以以“委托(delegation)”的形式相互分配所述批。作为一个例子,应用服务器可以分配一批记录给另一个应用服务器,从而使后者也能够鉴别用户,既可以为了提高可用性,又可以为了其本地目的。作为另一个例子,用户的桌上型电脑可以分配一批记录给用户的膝上型电脑。批的转发可以进一步持续到一串验证器。
多个批的分配采用某种手段来鉴别这个批是正确的,也就是说,它对应于令牌的实际鉴别字符串。否则,攻击者有可能通过构造声称其与用户相关的新的一组记录来假冒用户,但是攻击者知道这组记录的鉴别字符串,并换成提供这批记录到验证器。因此,应当包含数据鉴别例如消息鉴别码(MAC)或者数字签名,其中MAC或者数字签名密钥与鉴别服务器或者可以信任的另一官方机制相关。验证器在接收或者使用一批记录之前将检查MAC或者数字签名的正确性。也可以使用从鉴别服务器到验证器的安全服务器鉴别通道。
每个记录都可以具有自己的MAC或者数字签名作为证据,虽然这样做会给计算、存储和传输方面增加开销。完整的一批记录也可以具有单个MAC或者签名,但是这可能需要在验证器之间传输整个批,并且不提供委托中同样多的粒度。(例如,验证器可能希望仅委托几小时价值的记录给其它验证器,但是批本身可以跨越一整天。这种更详细方式的一个优点在于限制了记录的暴露,从而减少了攻击者从中获得记录以开始搜索令牌输出的机会)。
作为在签署单独的记录与签署完整批之间的折中,可以有利地应用各种散列型构造。例如,每个记录都可以被看作散列树的一片树叶。通过标准技术将树叶集合成散列树,以及将签名或者MAC应用至树根。通过这种方式,可以在验证器之间交换树叶的任何子集(即记录),以及从子集到根的路径以及单个MAC或者签名。叶的内容,每层的孩子的数量,以及树的层数都可以改变,就象在标准技术里能够理解的一样。作为一个例子,可以将一个小时价值的记录采集到一片树叶中去,并且24个散列树叶一起构成签署的一个日根(a daily root)。这将在小时的基础上给出粒度,这样做对许多应用来说都是足够的。
还应当注意涉及单独验证器的方法与B.Kaliski和M.Nystrom的“Password Protection Module”(2004年7月28日提交的临时专利申请,具有美国临时专利申请号60/591,672),以及B.Kaliski和M.Nystrom的,标题也是“Password Protection Module”(2004年7月2日提交的临时专利申请,具有美国临时专利申请号60/584,997)中的密码散列方法兼容,在这里将它们引入作为参考。利用应用标识符对口令(或者更普遍地,鉴别字符串)进行散列处理以产生得到保护的口令,然后将其提供给应用(应用标识符是专用于应用组中一个给定应用的字符串,例如网址、URL或者应用的域名)。
散列处理步骤能够防止遭到破坏的应用直接接收所述口令,然后它能够将口令转发至合法应用。当如上建议涉及多个验证器时,最好提供得到保护的口令(即得到保护的鉴别字符串)给验证器。这样做同样能够防止遭到破坏的验证器滥用获得的信息在其它验证器处假冒该用户。因此提供的记录对于验证器都不相同,因为它们将基于受到保护的鉴别字符串,而后者取决于应用标识符以及令牌输出。
可以方便地将Kaliski-Nystrom中建议的确认码作为通过记录保护的敏感数据的一部分。由于不知道鉴别字符串,这将防止获得记录的攻击者针对验证器进行假冒。
这里描述的断开鉴别方法在其支持的鉴别结构方面特别灵活。虽然断开机器本身的鉴别使用了令牌输出,但是在已经成功地完成鉴别之后,可以恢复在其它应用处进行鉴别可能使用的密钥或者其它敏感数据。例如,可以恢复私有签名密钥,其可以用在标准的基于公开密钥的鉴别协议,例如SSL/TLS(参见T.Dierks和C.Allen的“The TLSProtocol Version 1.0”,IETF RFC 2246,1999年1月),或者作为SAML声明的“拥有证据”。这样,用户可以利用标准的公开密钥技术在应用处鉴别,同时仅拥有一次性通行码鉴别令牌,与其它方法相比,减少了危害断开机器上私有签名密钥的风险。(作为对比,在其它方法中,用户可以通过鉴别令牌在可信服务器处鉴别,然后下载签名私有密钥,接下来在用户计算机上存储、解密。在这里该方法是有利的,因为该私有密钥利用从令牌输出导出的值进行了加密,因而获得对用户计算机上数据访问的攻击者不能容易地恢复该私有密钥)。
在使用私有密钥在其它应用处进行鉴别的情况下,可以每个记录有单独一个私有密钥,每批记录有单独一个私有密钥,或者在这两者之间。由于对应的公开密钥需要对所述应用可用,利用每批一个私有密钥(因此每批单独一个公开密钥)的方法在对许多签名方案的密钥管理方面是有利的。但是,某些签名方案具有每个记录单独一个私有密钥,而每批仍旧只有一个公开密钥的属性。
作为一个例子,例如象编辑为M.Wiener,M.Bellare和S.Miner的“A Forward-Secure Digital Signature Scheme”,Advances inCryptology-Crypto’99 Proceedings,Lecture Notes in Computer Science(计算机科学演讲笔记)第1666卷,Springer,1999中的转发安全签名方案,具有一个公开密钥和一连串私有密钥,其中后面的私有密钥可以从早期的密钥计算出来,但是反过来不行(验证器可以确定在连续的可能的私有密钥中使用的私有密钥的位置)。这是有利的,因为能够防止给定晚些时候被损害的一个私有密钥的情况下,攻击者伪造表现为较早的签名。为此,可以为整个批预先计算各个私有密钥,然后利用连续的记录进行保护。与通常的转发安全序列相比,这里最好是颠倒私有密钥的顺序,从而损坏给定时间间隔的私有密钥的攻击者仅仅能够计算较早时间间隔的私有密钥。假定后面时间间隔的敏感数据比较早的时间间隔具有更强的保护,如上所述,这种方法为私有密钥提供了较好的两级防护。
在这里也可以采用Merkle或者散列树签名方案(参见斯坦福大学电子工程系1979年R.Merkle的博士论文“Secrecy,Authentication,and Public Key Systems”;还有编辑是M.Joye,Topics inCryptology-CT-RSA 2003 Proceedings,Lecture Notes in ComputerScience(计算机科学演讲笔记)第2612卷中,M.Jakobsson,F.T.Leighton,S.Micali和M.Szydlo的“Fractal Merkle Tree Representationand Traversal”,Springer,2003),既然它也具有单个公开密钥(树根),而对于不同的签名操作具有不同的私有密钥(树叶集合),例如对每个记录。这种方案向前和向后都是安全的;单个私有密钥的损害不会导致能够计算出任何一个方向上任何其它私有密钥。
可以支持许多其它鉴别协议。例如,为了在应用处鉴别,可以恢复共享对称密钥。共享密钥例如可以是Kerberos鉴别系统中的密钥。作为另一个例子,可以恢复会话状态,从中可以恢复SSL/TLS会话。恢复出来的敏感数据也可以是“虚拟”或者“软”鉴别令牌的种子,然后可以使用其输出在其它应用处进行鉴别。作为另一个例子,可以恢复不同令牌的令牌输出。此外,敏感数据可以包括散列函数的输入,其中所述散列函数的输出可以用于其它应用,并提供输入作为在该应用处进行鉴别的证据。
作为另一个例子,B_i值本身可以用作同时共享记录的另一个验证器的“鉴别证据”,例如视窗域控制器。用户计算机将提供从给定的令牌输出获得的B_i值给所述另一个验证器,该另一个验证器将确定B_i值是否能够将其E_i值的副本正确地解密。
用于鉴别协议的敏感数据的又一个例子将是SAML声明或者其它已签署值,可以将它呈现给其它应用作为用户鉴别的证据。可以由鉴别服务器提供一个或者多个SAML声明,并对不同的时间间隔对它们加密。在验证器处成功的鉴别将恢复这些声明,这些声明将被提供给其它应用。这样做为验证器提供了“自发布”性能,其中在验证器处很容易获得一系列预计算声明,而不用与鉴别服务器交互。因此该声明有可能具有较短的生命期,因此比普通由鉴别服务器发布的声明要“新”,同时保持相对较长的会话。(例如,日常可以通过验证器从鉴别服务器下载一组记录,保护仅具有一小时生命期的会话。用户每天仅仅需要与鉴别服务器交互一天,并且一小时将需要在验证器处鉴别一次以获取新的声明)。
按照小B.S.Kaliski的第6,085,320和6,189,098号美国专利“Client/Server Protocol for Proving Authenticity”,不必对整个SAML声明加密。相反,仅仅加密验证该声明必需的信息就足够了,例如该声明的签名,或者散列函数的输入,其中散列函数的输出是该声明的一部分。
根据上述实施例,本领域技术人员将会理解本发明进一步的特征和优点。因此,本发明并不局限于已经特别表示和描述的部分,而是由所附的权利要求书表示。在这里明确地将这里引用的所有公开物和参考物整体引入作为参考。
Claims (76)
1.一种方法,用于在验证器处鉴别拥有鉴别令牌的用户,该鉴别令牌能够提供一个或者多个一次性的通行码,该方法包括:
获取验证记录;
获取提交以鉴别该用户的通行码;以及
确定所提交的通行码是否与所述验证记录一致,其中所述验证记录是参考通行码的函数。
2.如权利要求1所述的方法,其中所述验证器为个人计算机。
3.如权利要求1所述的方法,其中所述验证器为应用服务器。
4.如权利要求1所述的方法,其中所述一次性通行码是作为令牌秘密的函数产生的。
5.如权利要求4所述的方法,其中所述验证器与所述令牌秘密隔离。
6.如权利要求4所述的方法,其中所述令牌秘密是响应事件而更新的。
7.如权利要求1所述的方法,其中所述一次性通行码是作为时间变量的函数产生的。
8.如权利要求1所述的方法,其中所述一次性通行码是作为事件变量的函数产生的。
9.如权利要求1所述的方法,其中所述通行码是作为询问值的函数产生的。
10.如权利要求1所述的方法,其中所述一次性通行码是作为PIN的函数产生的。
11.如权利要求1所述的方法,其中用于产生所述一次性通行码的函数包括从所述令牌秘密产生令牌码,并将该令牌码与所述PIN结合。
12.如权利要求1所述的方法,其中所述一次性通行码是作为存储在鉴别服务器上的令牌秘密的函数产生的。
13.如权利要求1所述的方法,其中所述鉴别服务器产生所述参考通行码的至少一部分。
14.如权利要求12所述的方法,其中所述令牌秘密存储在所述鉴别令牌中。
15.如权利要求1所述的方法,其中所述鉴别令牌产生所提交的通行码的至少一部分。
16.如权利要求1所述的方法,其中一个或者多个令牌码存储在所述鉴别令牌中,并且所述提交的通行码是作为所述令牌码之一的函数而获得的。
17.如权利要求1所述的方法,其中所述验证记录是从鉴别服务器获取的。
18.如权利要求17所述的方法,其中所述鉴别服务器产生所述验证记录。
19.如权利要求17所述的方法,其中所述验证记录是从中介物获得的,其中所述中介物从所述鉴别服务器获取所述验证记录。
20.如权利要求19所述的方法,其中所述中介物是个人计算机。
21.如权利要求19所述的方法,其中所述中介物是应用服务器。
22.如权利要求1所述的方法,其中所述验证记录是作为包含多个验证记录的数据结构的一部分而获得的。
23.如权利要求1所述的方法,其中所述验证记录是作为被鉴别数据结构的一部分而获得的。
24.如权利要求23所述的方法,其中所述被鉴别数据结构是SAML声明。
25.如权利要求1所述的方法,其中所述验证记录存储在所述验证器中。
26.如权利要求1所述的方法,其中所述提交的通行码的至少一部分是通过用户交互获得的。
27.如权利要求1所述的方法,其中所述提交的通行码的至少一部分是通过有线和/或无线通信链路获得的。
28.如权利要求1所述的方法,其中所述提交的通行码的一致性是相对于多个验证记录确定的。
29.如权利要求1所述的方法,其中用于产生所述验证记录的所述函数包括密码散列函数。
30.如权利要求29所述的方法,其中所述密码散列函数被多次迭代。
31.如权利要求29所述的方法,其中用于产生所述验证记录的函数包括密码时间锁难题(a cryptographic time-lock puzzle)。
32.如权利要求29所述的方法,其中所述验证记录包括参考散列通行码,其中所述参考散列通行码是对所述参考通行码应用单向函数的结果。
33.如权利要求32所述的方法,还包括:
对所述提交的通行码应用所述单向函数以获得散列通行码;
将所述散列通行码与所述参考散列通行码进行比较;以及
至少部分地基于所述比较是否成功来确定一致性。
34.如权利要求1所述的方法,其中所述验证记录包括加密的数据元素,其中所述加密的数据元素是利用密钥对数据元素进行加密的结果,其中所述密钥是对所述参考通行码应用单向函数的结果。
35.如权利要求34所述的方法,还包括:
对提交的通行码应用所述单向函数以获取密钥;
利用该密钥对所述加密的数据元素进行解密以恢复该数据元素;以及
至少部分地基于该解密操作是否成功来确定一致性。
36.如权利要求34所述的方法,还包括:
对提交的令牌码应用所述单向函数以获取密钥;
利用该密钥对加密的数据元素进行解密以恢复该数据元素;
使用该数据元素;以及
至少部分地基于该数据元素的使用是否成功来确定一致性。
37.如权利要求34所述的方法,其中所述数据元素包括视窗口令。
38.如权利要求34所述的方法,其中所述数据元素包括用于另一个鉴别操作的胡椒值的至少一部分。
39.如权利要求34所述的方法,其中所述数据元素包括用于另一个鉴别操作的提示值。
40.如权利要求34所述的方法,其中所述数据元素包括第二密钥。
41.如权利要求40所述的方法,还包括获取第二加密数据元素,其中所述第二加密数据元素是利用所述第二密钥对第二数据元素进行加密的结果。
42.如权利要求41所述的方法,其中所述第二数据元素包括视窗口令。
43.如权利要求41所述的方法,其中所述第二数据元素包括提示值。
44.如权利要求41所述的方法,其中所述数据元素包括敏感数据。
45.如权利要求1所述的方法,其中用于产生所述验证记录的函数的输入也包括PIN值的函数。
46.如权利要求45所述的方法,其中所述PIN值的函数包含比整个PIN值少的信息,从而有不止一个PIN值与所述验证记录一致。
47.如权利要求46所述的方法,其中从错误的PIN产生的验证记录也存储在所述验证器中。
48.如权利要求1所述的方法,其中用于产生所述验证记录的函数的输入也包括盐值。
49.如权利要求48所述的方法,其中所述验证记录包括所述盐值。
50.如权利要求48所述的方法,其中所述盐值的一部分或者全部包含在另一个验证记录中。
51.如权利要求50所述的方法,还包括测试与一个或者多个其它验证记录中盐值的一致性。
52.如权利要求1所述的方法,其中用于产生所述验证记录的函数的输入也包括胡椒值。
53.如权利要求52所述的方法,还包括对一个或者多个可能的胡椒值测试一致性。
54.如权利要求1所述的方法,其中用于产生所述验证记录的函数的输入也包括提示值。
55.如权利要求54所述的方法,其中所述提示值是从一个或者多个其它鉴别操作恢复的。
56.如权利要求1所述的方法,在获取验证记录之前还包括,
对所述验证记录进行加密以产生加密的验证记录,其中获取验证记录还包括:
获取解密密钥;以及
对加密的验证记录进行解密以恢复该验证记录。
57.如权利要求56所述的方法,其中所述解密密钥是从紧急访问码导出的。
58.如权利要求56所述的方法,其中所述解密密钥是从另一个验证操作中恢复的密钥导出的。
59.如权利要求1所述的方法,其中用于产生所述验证记录的函数的输入还包括第二参考通行码的至少一部分。
60.如权利要求59所述的方法,其中所述确定步骤还包括测试所述验证记录与所述参考通行码和第二参考通行码的至少一部分的一致性。
61.如权利要求1所述的方法,其中所述鉴别令牌是在计算机上实现的软件令牌。
62.如权利要求1所述的方法,还包括随着时间的流逝而增加在攻击中确定所述验证记录与通行码的一致性所需的工作量。
63.一种服务器,包括:
处理器,用于处理作为参考通行码函数的多个验证记录;以及
接口,用于从所述服务器下载所述多个记录到代理,以使所述代理能够确定提交的通行码是否与所述验证记录中给定的一个一致,所述验证记录用于鉴别拥有能够提供通行码的鉴别令牌的用户。
64.如权利要求63所述的服务器,其中所述参考通行码是作为所述令牌秘密的函数产生的。
65.如权利要求63所述的服务器,其中所述参考通行码是作为时间变量、事件变量以及询问值中一个或者多个的函数产生的。
66.如权利要求63所述的服务器,其中所述多个验证记录是从中介物获得的。
67.如权利要求63所述的服务器,其中所述验证记录包括参考散列通行码,其中所述参考散列通行码是对所述参考通行码应用单向函数的结果。
68.如权利要求67所述的服务器,其中对提交的通行码应用所述单向函数以获得散列通行码,该散列通行码用于与所述参考散列通行码进行比较,以至少部分地基于该比较是否成功来确定一致性。
69.如权利要求63所述的服务器,其中所述验证记录包括加密的数据元素,其中所述加密的数据元素是利用密钥对数据元素进行加密的结果,其中所述密钥是对所述参考通行码应用单向函数的结果。
70.一种计算机,包括:
存储器,用于存储作为参考通行码的函数产生的多个验证记录;以及
处理器,连接至该存储器,以确定提交到该计算机的通行码是否与所述多个鉴别记录中给定的一个一致,以鉴别拥有能够提供通行码的鉴别令牌的用户。
71.如权利要求70所述的计算机,其中所述参考通行码是作为所述令牌秘密的函数产生的。
72.如权利要求70所述的计算机,其中所述参考通行码是作为时间变量、事件变量以及询问值中一个或者多个的函数产生的。
73.如权利要求70所述的计算机,其中所述多个验证记录是从鉴别服务器获得的。
74.如权利要求70所述的计算机,其中所述验证记录包括参考散列通行码,其中所述参考散列通行码是对所述参考通行码应用单向函数的结果。
75.如权利要求74所述的计算机,其中对提交的通行码应用所述单向函数以获得散列通行码,该散列通行码用于与所述参考散列通行码比较,以至少部分地基于该比较是否成功来确定一致性。
76.如权利要求75所述的计算机,其中所述验证记录包括加密的数据元素,其中所述加密的数据元素是利用密钥对数据元素进行加密的结果,其中所述密钥是对所述参考通行码应用单向函数的结果。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US50254603P | 2003-09-12 | 2003-09-12 | |
US60/502,546 | 2003-09-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1879072A CN1879072A (zh) | 2006-12-13 |
CN100432889C true CN100432889C (zh) | 2008-11-12 |
Family
ID=34375267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800330595A Expired - Lifetime CN100432889C (zh) | 2003-09-12 | 2004-09-10 | 提供断开鉴别的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8966276B2 (zh) |
EP (1) | EP1668448A2 (zh) |
JP (2) | JP5058600B2 (zh) |
CN (1) | CN100432889C (zh) |
AU (1) | AU2004305800A1 (zh) |
WO (1) | WO2005029746A2 (zh) |
Families Citing this family (167)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10181953B1 (en) | 2013-09-16 | 2019-01-15 | Amazon Technologies, Inc. | Trusted data verification |
US7395311B2 (en) * | 2003-01-10 | 2008-07-01 | Microsoft Corporation | Performing generic challenges in a distributed system |
US9412123B2 (en) | 2003-07-01 | 2016-08-09 | The 41St Parameter, Inc. | Keystroke analysis |
US10999298B2 (en) | 2004-03-02 | 2021-05-04 | The 41St Parameter, Inc. | Method and system for identifying users and detecting fraud by use of the internet |
US20060005234A1 (en) * | 2004-06-30 | 2006-01-05 | International Business Machines Corporation | Method and apparatus for handling custom token propagation without Java serialization |
US8510225B2 (en) * | 2004-09-01 | 2013-08-13 | Research In Motion Limited | Split channel authenticity queries in multi-party dialog |
US7660798B1 (en) * | 2004-10-04 | 2010-02-09 | Adobe Systems Incorporated | System and method for providing document security, access control and automatic identification of recipients |
US8666900B1 (en) * | 2005-03-30 | 2014-03-04 | Intuit Inc. | Secure product enablement over channels with narrow bandwidth |
US8266441B2 (en) * | 2005-04-22 | 2012-09-11 | Bank Of America Corporation | One-time password credit/debit card |
US8219814B2 (en) * | 2005-06-30 | 2012-07-10 | Psion Teklogix Inc. | System and method of user credential management |
US8577684B2 (en) * | 2005-07-13 | 2013-11-05 | Intellisist, Inc. | Selective security masking within recorded speech utilizing speech recognition techniques |
US8181232B2 (en) * | 2005-07-29 | 2012-05-15 | Citicorp Development Center, Inc. | Methods and systems for secure user authentication |
US20070037552A1 (en) * | 2005-08-11 | 2007-02-15 | Timothy Lee | Method and system for performing two factor mutual authentication |
US20070078668A1 (en) * | 2005-09-30 | 2007-04-05 | Dimpy Pathria | Authentication ID interview method and apparatus |
US20230196357A9 (en) * | 2005-10-07 | 2023-06-22 | Multiple Shift Key, Inc. | Secure authentication and transaction system and method |
US7849323B2 (en) * | 2005-11-09 | 2010-12-07 | Emc Corporation | Password presentation for multimedia devices |
US20070124810A1 (en) * | 2005-11-29 | 2007-05-31 | Sigalow Ian D | Method and system for securing electronic transactions |
US7673795B2 (en) * | 2005-12-06 | 2010-03-09 | Microsoft Corporation | Manipulation of unified messaging pins |
US9002750B1 (en) | 2005-12-09 | 2015-04-07 | Citicorp Credit Services, Inc. (Usa) | Methods and systems for secure user authentication |
US9768963B2 (en) * | 2005-12-09 | 2017-09-19 | Citicorp Credit Services, Inc. (Usa) | Methods and systems for secure user authentication |
US7904946B1 (en) | 2005-12-09 | 2011-03-08 | Citicorp Development Center, Inc. | Methods and systems for secure user authentication |
US7814538B2 (en) * | 2005-12-13 | 2010-10-12 | Microsoft Corporation | Two-way authentication using a combined code |
US7519354B2 (en) * | 2005-12-15 | 2009-04-14 | At&T Mobility Ii Llc | Dynamic authentication configuration in a network |
US8938671B2 (en) | 2005-12-16 | 2015-01-20 | The 41St Parameter, Inc. | Methods and apparatus for securely displaying digital images |
US11301585B2 (en) | 2005-12-16 | 2022-04-12 | The 41St Parameter, Inc. | Methods and apparatus for securely displaying digital images |
US20070143628A1 (en) * | 2005-12-20 | 2007-06-21 | Konica Minolta Business Technologies, Inc. | User authentication method, system provided with user authentication function, and, apparatus and computer software provided with user authentication function |
KR100751428B1 (ko) | 2006-01-16 | 2007-08-23 | (주)에이티솔루션 | 일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템 |
US8151327B2 (en) | 2006-03-31 | 2012-04-03 | The 41St Parameter, Inc. | Systems and methods for detection of session tampering and fraud prevention |
WO2007123228A1 (ja) * | 2006-04-21 | 2007-11-01 | Panasonic Corporation | マルチキャストパケット送信装置及びマルチキャストパケット転送装置並びにマルチキャストパケット受信装置 |
US7552467B2 (en) * | 2006-04-24 | 2009-06-23 | Jeffrey Dean Lindsay | Security systems for protecting an asset |
FR2902253B1 (fr) | 2006-06-13 | 2009-04-03 | Ingenico Sa | Procede et dispositif d'authentification d'un utilisateur |
US7689325B2 (en) * | 2006-07-26 | 2010-03-30 | Delphi Technologies, Inc. | Communication control method for a vehicle |
JP2008052578A (ja) * | 2006-08-25 | 2008-03-06 | Seiko Epson Corp | アクセス制御装置、画像表示装置及びプログラム |
US8284929B2 (en) * | 2006-09-14 | 2012-10-09 | Uniloc Luxembourg S.A. | System of dependant keys across multiple pieces of related scrambled information |
CA2561077A1 (en) * | 2006-09-26 | 2008-03-26 | Ibm Canada Limited - Ibm Canada Limitee | System and method for secure verification of electronic transactions |
US9251637B2 (en) | 2006-11-15 | 2016-02-02 | Bank Of America Corporation | Method and apparatus for using at least a portion of a one-time password as a dynamic card verification value |
US8082452B2 (en) * | 2006-12-06 | 2011-12-20 | George Mason Intellectual Properties, Inc. | Protecting sensitive data associations |
US9191822B2 (en) * | 2007-03-09 | 2015-11-17 | Sony Corporation | Device-initiated security policy |
US8002193B2 (en) | 2007-03-12 | 2011-08-23 | Visa U.S.A. Inc. | Payment card dynamically receiving power from external source |
US8413221B2 (en) * | 2007-03-23 | 2013-04-02 | Emc Corporation | Methods and apparatus for delegated authentication |
JP5175490B2 (ja) * | 2007-05-17 | 2013-04-03 | 株式会社野村総合研究所 | 認証装置、認証システム、認証方法および認証プログラム |
US8156332B2 (en) * | 2007-05-29 | 2012-04-10 | Apple Inc. | Peer-to-peer security authentication protocol |
US7945950B2 (en) | 2007-10-26 | 2011-05-17 | Microsoft Corporation | Generic interactive challenges in a distributed system |
US7522723B1 (en) | 2008-05-29 | 2009-04-21 | Cheman Shaik | Password self encryption method and system and encryption by keys generated from personal secret information |
CN101304311A (zh) * | 2008-06-12 | 2008-11-12 | 中兴通讯股份有限公司 | 密钥生成方法和系统 |
US8032932B2 (en) * | 2008-08-22 | 2011-10-04 | Citibank, N.A. | Systems and methods for providing security token authentication |
US8949955B2 (en) * | 2008-10-29 | 2015-02-03 | Symantec Corporation | Method and apparatus for mobile time-based UI for VIP |
US8190906B1 (en) * | 2008-12-16 | 2012-05-29 | Emc Corporation | Method and apparatus for testing authentication tokens |
US9112850B1 (en) | 2009-03-25 | 2015-08-18 | The 41St Parameter, Inc. | Systems and methods of sharing information through a tag-based consortium |
US9047450B2 (en) * | 2009-06-19 | 2015-06-02 | Deviceauthority, Inc. | Identification of embedded system devices |
US9047458B2 (en) * | 2009-06-19 | 2015-06-02 | Deviceauthority, Inc. | Network access protection |
US20100333213A1 (en) * | 2009-06-24 | 2010-12-30 | Craig Stephen Etchegoyen | Systems and Methods for Determining Authorization to Operate Licensed Software Based on a Client Device Fingerprint |
US8213907B2 (en) | 2009-07-08 | 2012-07-03 | Uniloc Luxembourg S. A. | System and method for secured mobile communication |
US8726407B2 (en) * | 2009-10-16 | 2014-05-13 | Deviceauthority, Inc. | Authentication of computing and communications hardware |
US8452980B1 (en) | 2010-03-29 | 2013-05-28 | Emc Corporation | Defeating real-time trojan login attack with delayed interaction with fraudster |
TWI422206B (zh) * | 2010-05-31 | 2014-01-01 | Intercity Business Corp | 包容式金鑰認證方法 |
US9237155B1 (en) | 2010-12-06 | 2016-01-12 | Amazon Technologies, Inc. | Distributed policy enforcement with optimizing policy transformations |
AU2011100168B4 (en) | 2011-02-09 | 2011-06-30 | Device Authority Ltd | Device-bound certificate authentication |
JP5776927B2 (ja) * | 2011-03-28 | 2015-09-09 | ソニー株式会社 | 情報処理装置及び方法、並びにプログラム |
CN103597520B (zh) * | 2011-04-13 | 2016-12-07 | 诺基亚技术有限公司 | 基于身份的票务方法和系统 |
US8738908B2 (en) * | 2011-05-10 | 2014-05-27 | Softlayer Technologies, Inc. | System and method for web-based security authentication |
US8769642B1 (en) | 2011-05-31 | 2014-07-01 | Amazon Technologies, Inc. | Techniques for delegation of access privileges |
AU2011101295B4 (en) | 2011-06-13 | 2012-08-02 | Device Authority Ltd | Hardware identity in multi-factor authentication layer |
AU2011101297B4 (en) | 2011-08-15 | 2012-06-14 | Uniloc Usa, Inc. | Remote recognition of an association between remote devices |
US9178701B2 (en) | 2011-09-29 | 2015-11-03 | Amazon Technologies, Inc. | Parameter based key derivation |
US9203613B2 (en) | 2011-09-29 | 2015-12-01 | Amazon Technologies, Inc. | Techniques for client constructed sessions |
US8667569B2 (en) | 2011-09-29 | 2014-03-04 | Target Brands, Inc. | Credentials management |
US9525551B1 (en) * | 2011-09-29 | 2016-12-20 | EMC IP Holding Company LLC | Randomly skewing secret values as a countermeasure to compromise |
US9197409B2 (en) | 2011-09-29 | 2015-11-24 | Amazon Technologies, Inc. | Key derivation techniques |
US10754913B2 (en) | 2011-11-15 | 2020-08-25 | Tapad, Inc. | System and method for analyzing user device information |
US9633201B1 (en) | 2012-03-01 | 2017-04-25 | The 41St Parameter, Inc. | Methods and systems for fraud containment |
US9521551B2 (en) | 2012-03-22 | 2016-12-13 | The 41St Parameter, Inc. | Methods and systems for persistent cross-application mobile device identification |
US9215076B1 (en) | 2012-03-27 | 2015-12-15 | Amazon Technologies, Inc. | Key generation for hierarchical data access |
US8892865B1 (en) | 2012-03-27 | 2014-11-18 | Amazon Technologies, Inc. | Multiple authority key derivation |
US8739308B1 (en) | 2012-03-27 | 2014-05-27 | Amazon Technologies, Inc. | Source identification for unauthorized copies of content |
US8752156B1 (en) * | 2012-03-30 | 2014-06-10 | Emc Corporation | Detecting soft token copies |
US8752148B1 (en) * | 2012-06-25 | 2014-06-10 | Emc Corporation | Processorless token for producing a one-time password |
US9258118B1 (en) | 2012-06-25 | 2016-02-09 | Amazon Technologies, Inc. | Decentralized verification in a distributed system |
US9660972B1 (en) | 2012-06-25 | 2017-05-23 | Amazon Technologies, Inc. | Protection from data security threats |
US9887992B1 (en) | 2012-07-11 | 2018-02-06 | Microstrategy Incorporated | Sight codes for website authentication |
US9027099B1 (en) | 2012-07-11 | 2015-05-05 | Microstrategy Incorporated | User credentials |
WO2014022813A1 (en) | 2012-08-02 | 2014-02-06 | The 41St Parameter, Inc. | Systems and methods for accessing records via derivative locators |
US8775807B1 (en) | 2012-10-26 | 2014-07-08 | Microstrategy Incorporated | Credential tracking |
WO2014078569A1 (en) | 2012-11-14 | 2014-05-22 | The 41St Parameter, Inc. | Systems and methods of global identification |
US9294267B2 (en) | 2012-11-16 | 2016-03-22 | Deepak Kamath | Method, system and program product for secure storage of content |
US9640001B1 (en) | 2012-11-30 | 2017-05-02 | Microstrategy Incorporated | Time-varying representations of user credentials |
WO2014087381A1 (en) * | 2012-12-07 | 2014-06-12 | Visa International Service Association | A token generating component |
CN103973651B (zh) * | 2013-02-01 | 2018-02-27 | 腾讯科技(深圳)有限公司 | 基于加盐密码库的账户密码标识设置、查询方法及装置 |
DE102013002998A1 (de) * | 2013-02-22 | 2014-08-28 | Hkw - Elektronik Gmbh | Verfahren zur Authentifizierung und Anordnung zur Durchführung des Verfahrens |
US9143496B2 (en) | 2013-03-13 | 2015-09-22 | Uniloc Luxembourg S.A. | Device authentication using device environment information |
US9154303B1 (en) | 2013-03-14 | 2015-10-06 | Microstrategy Incorporated | Third-party authorization of user credentials |
US9154304B1 (en) * | 2013-03-14 | 2015-10-06 | Emc Corporation | Using a token code to control access to data and applications in a mobile platform |
US9286466B2 (en) | 2013-03-15 | 2016-03-15 | Uniloc Luxembourg S.A. | Registration and authentication of computing devices using a digital skeleton key |
CN104113411B (zh) * | 2013-04-22 | 2017-09-29 | 中国银联股份有限公司 | 一种ic卡脱机pin验证方法以及ic卡脱机验证系统 |
US9407440B2 (en) | 2013-06-20 | 2016-08-02 | Amazon Technologies, Inc. | Multiple authority data security and access |
US10489852B2 (en) * | 2013-07-02 | 2019-11-26 | Yodlee, Inc. | Financial account authentication |
US9521000B1 (en) | 2013-07-17 | 2016-12-13 | Amazon Technologies, Inc. | Complete forward access sessions |
US10902327B1 (en) | 2013-08-30 | 2021-01-26 | The 41St Parameter, Inc. | System and method for device identification and uniqueness |
US9237019B2 (en) | 2013-09-25 | 2016-01-12 | Amazon Technologies, Inc. | Resource locators with keys |
US9311500B2 (en) | 2013-09-25 | 2016-04-12 | Amazon Technologies, Inc. | Data security using request-supplied keys |
US10243945B1 (en) | 2013-10-28 | 2019-03-26 | Amazon Technologies, Inc. | Managed identity federation |
EP3077946A1 (en) | 2013-12-02 | 2016-10-12 | Gemalto SA | System and method for securing offline usage of a certificate by otp system |
US9420007B1 (en) | 2013-12-04 | 2016-08-16 | Amazon Technologies, Inc. | Access control using impersonization |
US9276931B2 (en) * | 2013-12-23 | 2016-03-01 | Verizon Patent And Licensing Inc. | Method and apparatus for providing multiplexed security token values |
US10091204B1 (en) * | 2013-12-31 | 2018-10-02 | EMC IP Holding Company LLC | Controlling user access to protected resource based on outcome of one-time passcode authentication token and predefined access policy |
US9967251B1 (en) * | 2013-12-31 | 2018-05-08 | EMC IP Holding Company LLC | Security-aware single-server passcode verification for one-time authentication tokens |
US10673832B2 (en) | 2013-12-31 | 2020-06-02 | EMC IP Holding Company LLC | Predefined access policy implementation based on auxiliary information embedded in one-time authentication passcodes |
US9369461B1 (en) | 2014-01-07 | 2016-06-14 | Amazon Technologies, Inc. | Passcode verification using hardware secrets |
US9374368B1 (en) * | 2014-01-07 | 2016-06-21 | Amazon Technologies, Inc. | Distributed passcode verification system |
US9292711B1 (en) | 2014-01-07 | 2016-03-22 | Amazon Technologies, Inc. | Hardware secret usage limits |
US9270662B1 (en) | 2014-01-13 | 2016-02-23 | Amazon Technologies, Inc. | Adaptive client-aware session security |
US10771255B1 (en) | 2014-03-25 | 2020-09-08 | Amazon Technologies, Inc. | Authenticated storage operations |
US9258117B1 (en) | 2014-06-26 | 2016-02-09 | Amazon Technologies, Inc. | Mutual authentication with symmetric secrets and signatures |
US10326597B1 (en) | 2014-06-27 | 2019-06-18 | Amazon Technologies, Inc. | Dynamic response signing capability in a distributed system |
JP6338949B2 (ja) * | 2014-07-04 | 2018-06-06 | 国立大学法人名古屋大学 | 通信システム及び鍵情報共有方法 |
JP6329841B2 (ja) * | 2014-07-31 | 2018-05-23 | 株式会社日立製作所 | 機器台数カウントシステム及び方法 |
US10956560B1 (en) * | 2014-08-01 | 2021-03-23 | State Farm Mutual Automobile Insurance Company | System and method for improving the security of stored passwords for an organization |
DE102015011013B4 (de) | 2014-08-22 | 2023-05-04 | Sigma Additive Solutions, Inc. | Verfahren zur Überwachung von generativen Fertigungsprozessen |
US9306940B2 (en) | 2014-09-08 | 2016-04-05 | Square, Inc. | Mitigating risk of account enumeration |
CN104281794A (zh) * | 2014-09-23 | 2015-01-14 | 北京奇艺世纪科技有限公司 | 一种密码存储及验证的方法和装置 |
US10091312B1 (en) | 2014-10-14 | 2018-10-02 | The 41St Parameter, Inc. | Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups |
US10786948B2 (en) | 2014-11-18 | 2020-09-29 | Sigma Labs, Inc. | Multi-sensor quality inference and control for additive manufacturing processes |
WO2016115284A1 (en) | 2015-01-13 | 2016-07-21 | Sigma Labs, Inc. | Material qualification system and methodology |
SG10201500276VA (en) * | 2015-01-14 | 2016-08-30 | Mastercard Asia Pacific Pte Ltd | Method and system for making a secure payment transaction |
ES2924347T3 (es) | 2015-03-26 | 2022-10-06 | Nagravision Sa | Método y sistema para buscar al menos un dato específico en una unidad de usuario |
WO2016179334A1 (en) | 2015-05-05 | 2016-11-10 | ShoCard, Inc. | Identity management service using a block chain |
US10122692B2 (en) | 2015-06-16 | 2018-11-06 | Amazon Technologies, Inc. | Handshake offload |
US10122689B2 (en) | 2015-06-16 | 2018-11-06 | Amazon Technologies, Inc. | Load balancing with handshake offload |
US10303887B2 (en) * | 2015-09-14 | 2019-05-28 | T0.Com, Inc. | Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree |
US10207489B2 (en) | 2015-09-30 | 2019-02-19 | Sigma Labs, Inc. | Systems and methods for additive manufacturing operations |
CN108292454B (zh) | 2015-12-03 | 2020-08-14 | 诺基亚技术有限公司 | 访问管理方法及装置 |
US9985946B2 (en) * | 2015-12-22 | 2018-05-29 | Intel Corporation | System, apparatus and method for safety state management of internet things (IoT) devices |
WO2017152150A1 (en) | 2016-03-04 | 2017-09-08 | ShoCard, Inc. | Method and system for authenticated login using static or dynamic codes |
US10007826B2 (en) | 2016-03-07 | 2018-06-26 | ShoCard, Inc. | Transferring data files using a series of visual codes |
US10509932B2 (en) | 2016-03-07 | 2019-12-17 | ShoCard, Inc. | Large data transfer using visual codes with feedback confirmation |
US20170278127A1 (en) | 2016-03-28 | 2017-09-28 | Codebroker, Llc | Validating digital content presented on a mobile device |
US10567377B2 (en) * | 2016-05-23 | 2020-02-18 | Pemian & Corella, LLC | Multifactor privacy-enhanced remote identification using a rich credential |
US10476676B2 (en) * | 2016-07-05 | 2019-11-12 | Capital One Services, Llc | Systems and methods for secure remote identity verification |
US10116440B1 (en) | 2016-08-09 | 2018-10-30 | Amazon Technologies, Inc. | Cryptographic key management for imported cryptographic keys |
EP3340560A1 (en) * | 2016-12-22 | 2018-06-27 | Mastercard International Incorporated | Mobile device user validation method and system |
US10498541B2 (en) | 2017-02-06 | 2019-12-03 | ShocCard, Inc. | Electronic identification verification methods and systems |
USRE49968E1 (en) * | 2017-02-06 | 2024-05-14 | Ping Identity Corporation | Electronic identification verification methods and systems with storage of certification records to a side chain |
US10484350B2 (en) * | 2017-04-26 | 2019-11-19 | At&T Intellectual Property I, L.P. | Privacy-preserving location corroborations |
US10387632B2 (en) | 2017-05-17 | 2019-08-20 | Bank Of America Corporation | System for provisioning and allowing secure access to a virtual credential |
US10574650B2 (en) | 2017-05-17 | 2020-02-25 | Bank Of America Corporation | System for electronic authentication with live user determination |
US11321448B1 (en) * | 2017-06-20 | 2022-05-03 | State Farm Mutual Automobile Insurance Company | System and method for improving the security of stored passwords for an organization |
US10937083B2 (en) | 2017-07-03 | 2021-03-02 | Medici Ventures, Inc. | Decentralized trading system for fair ordering and matching of trades received at multiple network nodes and matched by multiple network nodes within decentralized trading system |
US11206133B2 (en) | 2017-12-08 | 2021-12-21 | Ping Identity Corporation | Methods and systems for recovering data using dynamic passwords |
US10972275B1 (en) * | 2018-07-17 | 2021-04-06 | Imageware Systems, Inc. | Zero-knowledge, anonymous verification and management using immutable databases such as blockchain |
US11082221B2 (en) | 2018-10-17 | 2021-08-03 | Ping Identity Corporation | Methods and systems for creating and recovering accounts using dynamic passwords |
US10979227B2 (en) | 2018-10-17 | 2021-04-13 | Ping Identity Corporation | Blockchain ID connect |
US11258756B2 (en) * | 2018-11-14 | 2022-02-22 | Citrix Systems, Inc. | Authenticating to a hybrid cloud using intranet connectivity as silent authentication factor |
CN110012048B (zh) | 2018-11-22 | 2021-11-12 | 创新先进技术有限公司 | 信息识别码生成方法、装置、电子设备及计算机存储介质 |
US10951412B2 (en) | 2019-01-16 | 2021-03-16 | Rsa Security Llc | Cryptographic device with administrative access interface utilizing event-based one-time passcodes |
US11720660B2 (en) * | 2019-01-28 | 2023-08-08 | EMC IP Holding Company LLC | Temporary partial authentication value provisioning for offline authentication |
WO2020165486A1 (en) | 2019-02-12 | 2020-08-20 | Nokia Technologies Oy | Method and apparatus for protecting integrity of digital information |
US11062001B2 (en) | 2019-04-02 | 2021-07-13 | International Business Machines Corporation | Matrix transformation-based authentication |
US11030298B2 (en) * | 2019-04-08 | 2021-06-08 | Microsoft Technology Licensing, Llc | Candidate user profiles for fast, isolated operating system use |
US10880260B1 (en) | 2019-06-19 | 2020-12-29 | Etherweb Technologies LLC | Distributed domain name resolution and method for use of same |
US11743254B2 (en) * | 2019-08-12 | 2023-08-29 | Lenovo (Singapore) Pte. Ltd. | Device authentication across unsecure network |
US10628576B1 (en) | 2019-08-20 | 2020-04-21 | Capital One Services, Llc | Computer-based platforms or systems, computing devices or components and/or computing methods for technological applications involving provision of a portal for managing user accounts having a login portal configured to defend against credential replay attacks |
US11412373B2 (en) * | 2020-04-03 | 2022-08-09 | Nxp B.V. | Client privacy preserving session resumption |
US11641281B2 (en) * | 2020-04-29 | 2023-05-02 | Hewlett Packard Enterprise Development Lp | Hashing values using salts and peppers |
US11201737B1 (en) * | 2020-05-19 | 2021-12-14 | Acronis International Gmbh | Systems and methods for generating tokens using secure multiparty computation engines |
US11651066B2 (en) | 2021-01-07 | 2023-05-16 | EMC IP Holding Company LLC | Secure token-based communications between a host device and a storage system |
US11170130B1 (en) | 2021-04-08 | 2021-11-09 | Aster Key, LLC | Apparatus, systems and methods for storing user profile data on a distributed database for anonymous verification |
US20220109558A1 (en) * | 2021-12-15 | 2022-04-07 | Intel Corporation | Xmss management to address randomized hashing and federal information processing standards |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4609777A (en) * | 1984-02-22 | 1986-09-02 | Gordian Systems, Inc. | Solid state key for controlling access to computer software |
US4720860A (en) * | 1984-11-30 | 1988-01-19 | Security Dynamics Technologies, Inc. | Method and apparatus for positively identifying an individual |
US5737421A (en) * | 1996-03-22 | 1998-04-07 | Activcard | System for controlling access to a function having clock synchronization |
CN1181560A (zh) * | 1996-10-05 | 1998-05-13 | 三星电子株式会社 | 鉴别用户的装置及其方法 |
US6199114B1 (en) * | 1997-09-16 | 2001-03-06 | Webtv Networks, Inc. | Initiating a user session at an internet terminal using a smart card |
WO2001031840A1 (en) * | 1999-10-29 | 2001-05-03 | Nokia Corporation | Method and arrangement for reliably identifying a user in a computer system |
WO2002048846A2 (en) * | 2000-12-14 | 2002-06-20 | Quizid Technologies Limited | An authentication system |
EP1255392A2 (en) * | 2001-04-30 | 2002-11-06 | Matsushita Electric Industrial Co., Ltd. | Computer network security system employing portable storage device |
EP1320014A2 (en) * | 2001-12-12 | 2003-06-18 | Pervasive Security Systems Inc. | Method and apparatus for accessing secured electronic data off-line |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2760051B2 (ja) | 1989-05-17 | 1998-05-28 | 富士通株式会社 | 暗証番号照合方式 |
FR2706210B1 (fr) * | 1993-06-08 | 1995-07-21 | Bull Cp8 | Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants. |
JPH07271729A (ja) | 1994-03-31 | 1995-10-20 | Matsushita Electric Ind Co Ltd | データ処理装置 |
US5787169A (en) * | 1995-12-28 | 1998-07-28 | International Business Machines Corp. | Method and apparatus for controlling access to encrypted data files in a computer system |
CA2214911C (en) * | 1996-09-11 | 2001-12-25 | Nippon Telegraph And Telephone Corporation | Contents transmission control method with user authentication functions and recording medium with the method recorded thereon |
US5995624A (en) * | 1997-03-10 | 1999-11-30 | The Pacid Group | Bilateral authentication and information encryption token system and method |
US6766454B1 (en) * | 1997-04-08 | 2004-07-20 | Visto Corporation | System and method for using an authentication applet to identify and authenticate a user in a computer network |
US6081893A (en) * | 1997-05-28 | 2000-06-27 | Symantec Corporation | System for supporting secured log-in of multiple users into a plurality of computers using combined presentation of memorized password and transportable passport record |
US6064736A (en) * | 1997-09-15 | 2000-05-16 | International Business Machines Corporation | Systems, methods and computer program products that use an encrypted session for additional password verification |
IL122106A (en) | 1997-11-04 | 2010-11-30 | Enco Tone Ltd | Method and algorithms for identification and validation |
US6263446B1 (en) * | 1997-12-23 | 2001-07-17 | Arcot Systems, Inc. | Method and apparatus for secure distribution of authentication credentials to roaming users |
US6484174B1 (en) * | 1998-04-20 | 2002-11-19 | Sun Microsystems, Inc. | Method and apparatus for session management and user authentication |
US6173400B1 (en) * | 1998-07-31 | 2001-01-09 | Sun Microsystems, Inc. | Methods and systems for establishing a shared secret using an authentication token |
US6154543A (en) * | 1998-11-25 | 2000-11-28 | Hush Communications Anguilla, Inc. | Public key cryptosystem with roaming user capability |
US6523027B1 (en) * | 1999-07-30 | 2003-02-18 | Accenture Llp | Interfacing servers in a Java based e-commerce architecture |
AU2374401A (en) * | 1999-12-03 | 2001-06-12 | First Hop Oy | A method and a system for obtaining services using a cellular telecommunication system |
FR2802666B1 (fr) * | 1999-12-17 | 2002-04-05 | Activcard | Systeme informatique pour application a acces par accreditation |
US6826686B1 (en) * | 2000-04-14 | 2004-11-30 | International Business Machines Corporation | Method and apparatus for secure password transmission and password changes |
AU2001283949A1 (en) * | 2000-08-15 | 2002-02-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Network authentication by using a wap-enabled mobile phone |
US7114080B2 (en) * | 2000-12-14 | 2006-09-26 | Matsushita Electric Industrial Co., Ltd. | Architecture for secure remote access and transmission using a generalized password scheme with biometric features |
US20020095588A1 (en) * | 2001-01-12 | 2002-07-18 | Satoshi Shigematsu | Authentication token and authentication system |
US6954740B2 (en) * | 2001-02-26 | 2005-10-11 | Albert Israel Talker | Action verification system using central verification authority |
JP2002259344A (ja) * | 2001-02-28 | 2002-09-13 | Mitsubishi Electric Corp | ワンタイムパスワード認証システム及び携帯電話及びユーザ認証サーバ |
US20030037261A1 (en) * | 2001-03-26 | 2003-02-20 | Ilumin Corporation | Secured content delivery system and method |
JP4324951B2 (ja) | 2001-04-17 | 2009-09-02 | 横河電機株式会社 | パスワードシステム |
US7975139B2 (en) * | 2001-05-01 | 2011-07-05 | Vasco Data Security, Inc. | Use and generation of a session key in a secure socket layer connection |
WO2003003321A2 (en) * | 2001-06-26 | 2003-01-09 | Enterprises Solutions, Inc. | Transaction verification system and method |
JP2003122719A (ja) * | 2001-10-11 | 2003-04-25 | Ntt Fanet Systems Corp | サーバ、端末コンピュータ、端末コンピュータ用プログラム、コンピュータシステムおよび端末コンピュータの使用許諾方法 |
JP3899918B2 (ja) | 2001-12-11 | 2007-03-28 | 株式会社日立製作所 | ログイン認証方法およびその実施システム並びにその処理プログラム |
CA2394742A1 (fr) * | 2002-01-17 | 2003-07-17 | Michel Caron | Appareil portatif, active par l'empreinte digitale de son detenteur, qui fournira un code d'acces unique et different pour chaque utilisation de son detenteur |
US20030163739A1 (en) * | 2002-02-28 | 2003-08-28 | Armington John Phillip | Robust multi-factor authentication for secure application environments |
US20030236975A1 (en) * | 2002-06-20 | 2003-12-25 | International Business Machines Corporation | System and method for improved electronic security credentials |
EP1383265A1 (en) * | 2002-07-16 | 2004-01-21 | Nokia Corporation | Method for generating proxy signatures |
US7725730B2 (en) * | 2002-08-09 | 2010-05-25 | Emc Corporation | Cryptographic methods and apparatus for secure authentication |
US20040103290A1 (en) * | 2002-11-22 | 2004-05-27 | Mankins David P. | System and method for controlling the right to use an item |
US7478057B2 (en) * | 2002-11-29 | 2009-01-13 | Research In Motion Limited | Method for conducting an electronic commercial transaction |
JP2007503136A (ja) * | 2003-08-15 | 2007-02-15 | ファイバーリンク コミュニケーションズ コーポレーション | デジタル通信を容易にするためのシステム、方法、装置およびコンピュータプログラム |
-
2004
- 2004-09-10 CN CNB2004800330595A patent/CN100432889C/zh not_active Expired - Lifetime
- 2004-09-10 EP EP20040783839 patent/EP1668448A2/en not_active Withdrawn
- 2004-09-10 JP JP2006526361A patent/JP5058600B2/ja not_active Expired - Lifetime
- 2004-09-10 US US10/938,422 patent/US8966276B2/en active Active
- 2004-09-10 AU AU2004305800A patent/AU2004305800A1/en not_active Abandoned
- 2004-09-10 WO PCT/US2004/029776 patent/WO2005029746A2/en active Application Filing
-
2012
- 2012-01-26 JP JP2012014358A patent/JP5451785B2/ja not_active Expired - Lifetime
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4609777A (en) * | 1984-02-22 | 1986-09-02 | Gordian Systems, Inc. | Solid state key for controlling access to computer software |
US4720860A (en) * | 1984-11-30 | 1988-01-19 | Security Dynamics Technologies, Inc. | Method and apparatus for positively identifying an individual |
US5737421A (en) * | 1996-03-22 | 1998-04-07 | Activcard | System for controlling access to a function having clock synchronization |
CN1181560A (zh) * | 1996-10-05 | 1998-05-13 | 三星电子株式会社 | 鉴别用户的装置及其方法 |
US6199114B1 (en) * | 1997-09-16 | 2001-03-06 | Webtv Networks, Inc. | Initiating a user session at an internet terminal using a smart card |
WO2001031840A1 (en) * | 1999-10-29 | 2001-05-03 | Nokia Corporation | Method and arrangement for reliably identifying a user in a computer system |
WO2002048846A2 (en) * | 2000-12-14 | 2002-06-20 | Quizid Technologies Limited | An authentication system |
EP1255392A2 (en) * | 2001-04-30 | 2002-11-06 | Matsushita Electric Industrial Co., Ltd. | Computer network security system employing portable storage device |
EP1320014A2 (en) * | 2001-12-12 | 2003-06-18 | Pervasive Security Systems Inc. | Method and apparatus for accessing secured electronic data off-line |
Also Published As
Publication number | Publication date |
---|---|
US20050166263A1 (en) | 2005-07-28 |
JP5058600B2 (ja) | 2012-10-24 |
WO2005029746A2 (en) | 2005-03-31 |
US8966276B2 (en) | 2015-02-24 |
EP1668448A2 (en) | 2006-06-14 |
JP5451785B2 (ja) | 2014-03-26 |
JP2007505408A (ja) | 2007-03-08 |
JP2012119007A (ja) | 2012-06-21 |
CN1879072A (zh) | 2006-12-13 |
AU2004305800A1 (en) | 2005-03-31 |
WO2005029746A3 (en) | 2005-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100432889C (zh) | 提供断开鉴别的系统和方法 | |
CN102932136B (zh) | 用于管理加密密钥的系统和方法 | |
EP2957063B1 (en) | Policy enforcement with associated data | |
CN101569132B (zh) | 用于分发数据和保护数据安全的系统和方法 | |
EP1969762B1 (en) | Certify and split system and method for replacing cryptographic keys | |
US11372993B2 (en) | Automatic key rotation | |
US9467293B1 (en) | Generating authentication codes associated with devices | |
KR102171568B1 (ko) | 투표자 단말, 인증서버, 투표서버, 및 전자투표 시스템 | |
US20060036857A1 (en) | User authentication by linking randomly-generated authentication secret with personalized secret | |
JP2000357156A (ja) | 認証シード配布のためのシステムおよび方法 | |
RU2584500C2 (ru) | Криптографический способ аутентификации и идентификации с шифрованием в реальном времени | |
CN104079573A (zh) | 用于安全保护云中的数据的系统和方法 | |
EP1992101A2 (en) | Secure data transmission using undiscoverable or black data | |
CN101401341A (zh) | 安全数据解析方法和系统 | |
US11676111B1 (en) | Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing | |
CN110855667B (zh) | 一种区块链加密方法、装置及系统 | |
CN100459495C (zh) | 一种公开加密方式的口令动态加密输入方法 | |
US8631475B1 (en) | Ordering inputs for order dependent processing | |
CN116318617A (zh) | 基于rfid和区块链的医疗救援物资慈善捐助方法 | |
US11856095B2 (en) | Apparatus and methods for validating user data by using cryptography | |
JP2003152716A (ja) | 可変認証情報を用いる資格認証方法 | |
US11502840B2 (en) | Password management system and method | |
KR20220108584A (ko) | 블록체인을 기반으로 한 동적 암호키를 생성하는 저전력 무선 센서 네트워크 시스템 및 상기 시스템에서의 동적 암호키 생성 방법 | |
AU2003222410B2 (en) | Secure electronic polling method and cryptographic processes therefor | |
CN118802194A (zh) | 加密、解密方法、装置、设备、存储介质 |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20081112 |
|
CX01 | Expiry of patent term |