CN100432889C - 提供断开鉴别的系统和方法 - Google Patents

提供断开鉴别的系统和方法 Download PDF

Info

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.)
Active
Application number
CNB2004800330595A
Other languages
English (en)
Other versions
CN1879072A (zh
Inventor
安德鲁·纳诺普洛斯
卡尔·阿克曼
皮尔斯·鲍内斯
威廉·杜安
马库斯·雅各布松
布特·卡利斯基
德米特里·帕尔
沙恩·D·赖斯
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.)
RSA Security LLC
Original Assignee
RSA Security LLC
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 RSA Security LLC filed Critical RSA Security LLC
Publication of CN1879072A publication Critical patent/CN1879072A/zh
Application granted granted Critical
Publication of CN100432889C publication Critical patent/CN100432889C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network 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
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • 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/3271Cryptographic 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2103Challenge-response
    • 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/80Wireless

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所述的计算机,其中所述验证记录包括加密的数据元素,其中所述加密的数据元素是利用密钥对数据元素进行加密的结果,其中所述密钥是对所述参考通行码应用单向函数的结果。
CNB2004800330595A 2003-09-12 2004-09-10 提供断开鉴别的系统和方法 Active CN100432889C (zh)

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 Active 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 (165)

* Cited by examiner, † Cited by third party
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
US9197409B2 (en) 2011-09-29 2015-11-24 Amazon Technologies, Inc. Key derivation techniques
US9203613B2 (en) 2011-09-29 2015-12-01 Amazon Technologies, Inc. Techniques for client constructed sessions
US9178701B2 (en) 2011-09-29 2015-11-03 Amazon Technologies, Inc. Parameter based key derivation
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
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
US8739308B1 (en) 2012-03-27 2014-05-27 Amazon Technologies, Inc. Source identification for unauthorized copies of content
US8892865B1 (en) 2012-03-27 2014-11-18 Amazon Technologies, Inc. Multiple authority key derivation
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
US9269358B1 (en) 2012-07-11 2016-02-23 Microstrategy Incorporated User credentials
US9887992B1 (en) 2012-07-11 2018-02-06 Microstrategy Incorporated Sight codes for website authentication
EP2880619A1 (en) 2012-08-02 2015-06-10 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
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
US9369461B1 (en) 2014-01-07 2016-06-14 Amazon Technologies, Inc. Passcode verification using hardware secrets
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
US9999924B2 (en) 2014-08-22 2018-06-19 Sigma Labs, Inc. Method and system for monitoring additive manufacturing processes
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
CN107428081B (zh) 2015-01-13 2020-07-07 西格马实验室公司 材料鉴定系统和方法
SG10201500276VA (en) * 2015-01-14 2016-08-30 Mastercard Asia Pacific Pte Ltd Method and system for making a secure payment transaction
EP3073407B1 (en) 2015-03-26 2019-12-18 Nagravision S.A. Method and system for searching for at least a specific datum in a user unit
EP3955146A1 (en) 2015-05-05 2022-02-16 Ping Identity Corporation 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
US11200307B2 (en) 2015-12-03 2021-12-14 Nokia Technologies Oy Access management
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
US10509932B2 (en) 2016-03-07 2019-12-17 ShoCard, Inc. Large data transfer using visual codes with feedback confirmation
US10007826B2 (en) 2016-03-07 2018-06-26 ShoCard, Inc. Transferring data files using a series of visual codes
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
EP3482293A4 (en) 2016-07-05 2019-11-27 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
US10484350B2 (en) * 2017-04-26 2019-11-19 At&T Intellectual Property I, L.P. Privacy-preserving location corroborations
US10574650B2 (en) 2017-05-17 2020-02-25 Bank Of America Corporation System for electronic authentication with live user determination
US10387632B2 (en) 2017-05-17 2019-08-20 Bank Of America Corporation System for provisioning and allowing secure access to a virtual credential
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
WO2019113552A1 (en) 2017-12-08 2019-06-13 ShoCard, Inc. 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
US10979227B2 (en) 2018-10-17 2021-04-13 Ping Identity Corporation Blockchain ID connect
US11082221B2 (en) 2018-10-17 2021-08-03 Ping Identity Corporation Methods and systems for creating and recovering accounts using dynamic passwords
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
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US20030014315A1 (en) * 1999-12-03 2003-01-16 Harri Jaalinoja 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
EP1323323A1 (en) * 2000-08-15 2003-07-02 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 横河電機株式会社 パスワードシステム
EP1391073B8 (en) 2001-05-01 2018-09-05 OneSpan International GmbH Method and system for increasing security of a secure connection
AU2002345935A1 (en) * 2001-06-26 2003-03-03 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
EP1654827A4 (en) * 2003-08-15 2009-08-05 Fiberlink Comm Corp SYSTEM, METHOD, APPARATUS AND SOFTWARE PRODUCT FACILITATING DIGITAL COMMUNICATIONS

Patent Citations (9)

* Cited by examiner, † Cited by third party
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
AU2004305800A1 (en) 2005-03-31
JP2012119007A (ja) 2012-06-21
US8966276B2 (en) 2015-02-24
WO2005029746A3 (en) 2005-08-11
EP1668448A2 (en) 2006-06-14
WO2005029746A2 (en) 2005-03-31
JP5451785B2 (ja) 2014-03-26
CN1879072A (zh) 2006-12-13
JP5058600B2 (ja) 2012-10-24
JP2007505408A (ja) 2007-03-08
US20050166263A1 (en) 2005-07-28

Similar Documents

Publication Publication Date Title
CN100432889C (zh) 提供断开鉴别的系统和方法
EP2957063B1 (en) Policy enforcement with associated data
CN102932136B (zh) 用于管理加密密钥的系统和方法
CN101569132B (zh) 用于分发数据和保护数据安全的系统和方法
EP1969762B1 (en) Certify and split system and method for replacing cryptographic keys
KR102171568B1 (ko) 투표자 단말, 인증서버, 투표서버, 및 전자투표 시스템
US9467293B1 (en) Generating authentication codes associated with devices
US11372993B2 (en) Automatic key rotation
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) 安全数据解析方法和系统
CN109756893A (zh) 一种基于混沌映射的群智感知物联网匿名用户认证方法
US20230237437A1 (en) Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing
US8631475B1 (en) Ordering inputs for order dependent processing
CN100459495C (zh) 一种公开加密方式的口令动态加密输入方法
CN116318617A (zh) 基于rfid和区块链的医疗救援物资慈善捐助方法
CN110855667B (zh) 一种区块链加密方法、装置及系统
JP2003152716A (ja) 可変認証情報を用いる資格認証方法
US11502840B2 (en) Password management system and method
US11856095B2 (en) Apparatus and methods for validating user data by using cryptography
KR20220108584A (ko) 블록체인을 기반으로 한 동적 암호키를 생성하는 저전력 무선 센서 네트워크 시스템 및 상기 시스템에서의 동적 암호키 생성 방법
AU2003222410B2 (en) Secure electronic polling method and cryptographic processes therefor

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