包含一次性通行码的持久性认证系统的制作方法

文档序号:12289839阅读:274来源:国知局
包含一次性通行码的持久性认证系统的制作方法与工艺

技术领域

本发明涉及一种包含一次性通行码的持久性认证系统,更具体地但非排他地,这样的系统不需要系统的用户针对由用户发起的用户会话输入和重新输入用户名和相应的口令。



背景技术:

用户名和口令的使用在本领域中是公知的。存在如下日益严重的问题,其中在服务器侧存储口令正在变得更易于遭受攻击,并且用户在多个网站上使用不同的和安全口令的负担带来了不便、过于复杂和持续的安全风险。

对解决这个问题的尝试包括设备硬件指纹或诸如生物特征的其他多因素认证。这些被用于试图提高安全性并减少与标准用户名和口令认证系统相关联的问题的暴露。然而,通常它们只是向已经很繁重的处理增加了更多的复杂性和不便的步骤。

这种尝试的一个示例是IBM的US 5875296,其内容通过交叉引用并入本文。其解决方案在其权利要求1中概述为:

一种向可连接到分布式计算环境的分布式文件系统的Web服务器认证客户端的方法,所述分布式计算环境包括用于将凭证返回给经过认证以访问所述分布式文件系统的用户的安全服务,所述方法包括以下步骤:

响应于所述Web服务器从所述客户端接收到用户ID和口令,执行针对所述安全服务的登录协议并存储由此产生的凭证;

向所述客户端返回其中具有标识符的持久客户端状态对象;以及

使所述客户端使用包括所述标识符在内的所述持久客户端状态对象而不是用户id和口令,来获得对所述分布式文件系统中的Web文档的后续访问。

该布置可以被解释为利用“cookie”作为持久客户端状态对象。该布置存在重大的安全问题。

其他的现有技术示例(所有这些示例通过交叉参考而被包括)包括:

US8447977Canon KK,其主要权利要求如下:

一种通过网络向服务器认证设备的方法,所述方法包括以下步骤:

由所述设备建立与所述服务器的安全连接;

由所述设备向所述服务器传送所述设备的标识信息,其中所述标识信息向所述服务器唯一地标识所述设备,并且被预存储在所述设备中;

由所述服务器使用由所述设备传送的所述标识信息来确定所述设备的可信度;以及

在所述服务器确定所述设备可信的情况下:

由所述服务器创建针对所述设备的第一认证令牌,所述第一认证令牌指示所述设备是可信的;

由所述服务器存储所述第一认证令牌;

由所述服务器使用所述安全连接将所述第一认证令牌传送到所述设备;以及

由所述设备存储所述第一认证令牌;

其中,所述方法还包括以下步骤:

由所述设备建立与所述服务器的安全重新连接;以及

由所述服务器通过所述安全重新连接,使用由所述设备存储的所述第一认证令牌来认证所述设备。

US6668322Sun MicroSystems,其主要权利要求如下:

一种在控制对一个或多个信息资源的访问的安全架构中使用的会话凭证,所述会话凭证包括:

唯一标识主体的主体标识符;以及

在对与所述主体相对应的登录凭证进行预先认证之后由所述安全架构赋予的授权的编码,

所述主体标识符和授权编码被加密保护,并且允许所述安全架构评估对于访问所述一个或多个信息资源的授权的充分性,而无需重新认证所述登录凭证。

US6421768First Data,其主要权利要求如下:

一种用于可转移认证的方法,通过该方法,能够向远离第一计算机的第二计算机认证访问所述第一计算机的用户,而不必要求用户向所述第二计算机明确地标识自己,所述方法包括以下步骤:

在用户的计算机处访问所述第一计算机;

向所述第一计算机认证所述用户;

从所述第一计算机接收包括所述第一计算机的用户特征的数字凭证在内的cookie,所述凭证由所述第一计算机加密保证,由所述第一计算机使用对所述第一计算机和所述第二计算机保密但对所述用户未知的客户端公钥将所述用户特征加密并合并到所述数字凭证中,所述客户端公钥被使用所述第一计算机和所述第二计算机中的至少一个的非对称密钥来加密保证;

通过所述用户的计算机向所述第二计算机发送所述加密保证的客户端公钥;以及

将包括所述凭证在内的所述cookie的至少一部分发送到所述第二计算机,所述第二计算机被配置为:

认证所述凭证,而不必要求所述用户向所述第二计算机明确地标识自己;

从所述凭证提取所述用户特征;以及

基于所述用户特征执行动作。

如上所述,目前,Cookie具有特定安全问题,并且具有持续采用问题。

还公开了以下内容,其公开了寻求安全系统的替代方式,而不使用重复的口令输入以及从一个机器到另一个机器的口令的明确通信。这些系统可能更复杂,包括使用第三方机器来执行验证/认证。

US4578531AT&T

US6134592Netscape

US6205480Computer Assoc

US7523490Microsoft

US20110320820IBM

US20130219472A1QSAN

本发明的实施例被设计为解决这些问题。

注释

术语“包括”(及其语法变化)在本说明书中用于“具有”或“包含”的包括性意义,而不是“仅由...组成”的排他性意义。

本发明的背景技术中对现有技术的以上讨论不是承认本文中所讨论的任何信息是在任何国家本领域技术人员的公知常识的部分或可引用的现有技术。



技术实现要素:

概括地说,在本发明的实施例中概述的概念在于依赖于用于持久性认证过程和相应系统和装置的两条信息:

在优选的详细形式中,针对每个会话,由客户端生成新的密钥对并将其传递给服务器。只有当在该服务器存储的公钥与匹配该用户(用户ID)的客户端上的公钥之间存在匹配时,才启用后续会话的通信。

概括地说,以另一种方式陈述,根据优选实施例,当使用与服务器对话的客户端侧应用时,使用一次性通行码的不间断链来表征用户。在特定形式中,一次性通行码实际上是客户端生成的密钥对的公钥。在另一特定优选形式中,实现了关于更新的一个方面,其中一次性通行码保持以规则间隔(在优选形式中,优选地,每连接会话至少一次)被更换。

因此,在本发明的一种广泛形式中,提供了一种维持对应用的用户的持续认证的方法,而不需要针对在驻留在客户端侧平台上的客户端侧应用与服务器之间发起的每个会话输入和重新输入用户名和相应的口令;以及其中,口令不存储在服务器上;所述方法包括:利用一次性通行码的不间断链;链中的每个通行码对于用户名和客户端侧应用是唯一的;每个通行码被定期地更新,并且优选地在每个所述会话期间被更新至少一次。

优选地,通行码包括客户端侧公钥,所述客户端侧公钥在客户端侧平台和服务器两者上保持持久,直到被通行码链中的下一客户端侧公钥替换。

优选地,客户端侧公钥包括PKI密钥对的公钥。

优选地,不与服务器共享相应的客户端侧私钥。

在本发明的另一广泛形式中,公开了一种包括适于执行应用的与存储器通信的处理器在内的设备;所述设备维持对能够在所述设备上执行的应用的用户的持续认证,而不需要针对在驻留在所述设备上的客户端侧平台上的客户端侧应用与远程服务器之间发起的每个会话输入和重新输入用户名和相应的口令;以及其中,口令不存储在服务器上;所述方法包括:利用一次性通行码的不间断链;链中的每个通行码对于用户名和客户端侧应用是唯一的;每个通行码在每个所述会话期间被更新至少一次。

优选地,通行码包括客户端侧公钥,所述客户端侧公钥在客户端侧平台和服务器两者上保持持久,直到被通行码链中的下一客户端侧公钥替换。

优选地,客户端侧公钥包括PKI密钥对的公钥。

优选地,不与服务器共享相应的客户端侧私钥。

在本发明的另一广泛形式中,提供了一种包括具有适于执行应用的与存储器通信的处理器的设备在内的系统;所述设备维持对能够在所述设备上执行的应用的用户的持续认证,而不需要针对在驻留在所述设备上的客户端侧平台上的客户端侧应用与远程服务器之间发起的每个会话输入和重新输入用户名和相应的口令,所述系统推导出第一项数据和第二项数据;所述第一项数据包括:

“你所拥有的事物”,在优选形式中其是客户端侧公钥。

所述第二项数据包括“你知道的事物”。

优选地,所述第二项数据包括用于针对任何给定会话创建私钥的用户PIN/口令。

优选地,所述第二项数据包括任何形式的个人可识别信息,所述信息包括但不限于:拇指纹或用于针对任何给定会话创建私钥的其他生物特征。

优选地,针对每个会话,由客户端生成新的密钥对并将其传递给服务器,并且其中只有当在该服务器存储的公钥与匹配该用户(用户ID)的客户端上的公钥之间存在匹配时才启用后续会话的通信。

在本发明的又一广泛形式中,提供了一种平台,其包括与存储器通信的至少一个处理器,所述处理器执行代码以执行对用户进行认证的方法;所述方法包括:当使用在所述平台上执行的通过互联网与远程服务器通信的客户端侧应用时,使用一次性通行码的不间断链来表征用户。

优选地,一次性通行码是客户端生成的密钥对的公钥。

在本发明的又一广泛形式中,提供了一种维持对应用的用户的持续认证的系统,而不需要针对在驻留在客户端侧平台上的客户端侧应用与服务器之间发起的每个会话输入和重新输入用户名和相应的口令,所述系统利用可更新的一次性通行码串,并且其中通过以规则间隔更换通行码来实现更新。

在优选形式中,间隔包括每会话连接进行一次的间隔。

附图说明

图1是示例实施例的主要组件。

图2是示例实施例的初始使用的控制处理。

图3是示例实施例的非初始使用的控制处理。

图4是根据另外实施例的构造私钥的方法的框图。

具体实施方式

概括地说,本发明构思在于:依靠两条信息用于初始认证,然后用于持续认证;

在优选的详细形式中,针对每个会话,由客户端生成新的公钥并将其传递给服务器。只有当在该服务器存储的公钥与匹配该用户(用户ID)的客户端上的公钥之间存在匹配时,才启用后续会话的通信。

概括地说,以另一种方式方式,根据优选实施例,当使用与服务器对话的客户端侧应用时,使用一次性通行码的不间断链来表征用户。在特定形式中,一次性通行码实际上是公钥。在另一特定优选形式中,实现了关于更新的一个方面,其中一次性通行码保持以规则间隔(每会话至少一次)被更换。

公开了如下示例实施例,其使用一次性通行码的不间断链来替代传统用户名和口令认证系统中的口令。

图1示出了示例实施例的关键组件。当用户使用唯一用户ID 23与服务器连接时,通常使用诸如公钥加密交换之类的加密和认证系统。

通常,用户具有客户端侧应用24,客户端侧应用24产生用于与服务器通信的密钥对10,其中,服务器使用它自己的密钥对11。在公钥密码术的已知实践中,客户端私钥12与服务器14的公钥一起使用来对消息进行加密,并且服务器使用客户端的公钥13和服务器的私钥15来对所发送的消息进行解密。

一旦发送方10和接收方11的身份被验证,则双方共享秘密口令17,其中秘密口令17用于加密消息16的高速加密和解密。

通常,加密消息16使用仅用于通信会话的长度的秘密口令17,此后,口令17被丢弃并且不再被使用。

在示例实施例中,上述密钥交换和加密过程被扩展为包括由客户端生成的第二密钥对集合18。该密钥对生成18用于在客户端和服务器之间唯一地将当前认证的会话与下一认证系统链接。

该密钥对18包括本地存储在客户端设备上的私钥20和也被本地存储的公钥19。所存储的客户端公钥还与服务器25共享并传送到服务器25,然后,服务器25将所存储的对当前使用客户端的人的唯一用户ID 21的引用与客户端的公钥22的存储副本链接。

在客户端和服务器之间的后续连接期间,所存储和共享的客户端公钥19、22、服务器的公钥14和客户端上存储的私钥20用作当前客户端侧公钥对,然后,生成并存储附加密钥对以用于后续会话。

图2公开了示例实施例的初始会话的控制处理。用户使用通信的客户端侧30上的应用来与服务器31交互。

最初,用户利用唯一ID连接到使用持久的一次性密钥的服务器(32)。最初,服务器和客户端使用传统的公钥加密会话(33)来确保客户端30和服务器31之间的通信。

接着,确认用户想要使用持久的一次性代码(34),并且从用户或从客户端上的存储器捕获或检索用户唯一ID,并将其发送到服务器(35)。随后,服务器请求客户端生成用于在下一会话中使用的公钥对(36)。然后,客户端生成公钥对(37),该公钥对被安全地存储在客户端以用于下一会话(38),并且与服务器共享密钥对的公钥(39)。

使用用户唯一ID将用于下一会话的客户端公钥存储在服务器上(40)。一旦该步骤被确认,则使用现有的SSL、TLS或类似连接来确保客户端和服务器之间的进行中通信,直到会话终止或超时(41)。

图3公开了示例实施例的非初始会话的控制处理。用户使用通信的客户端侧60上的应用来与服务器61交互。

最初,用户利用唯一ID连接到使用持久的一次性密钥的服务器(62)。最初,服务器和客户端使用传统的公钥加密会话(63)来确保客户端60和服务器61之间的通信。

接着,从用户或客户端上的存储器捕获或检索唯一ID(64)。接着,使用当前用户的唯一用户ID来检索所存储的在先前会话期间存储的客户端密钥对(65)。然后,与服务器共享用户唯一ID和先前存储的客户端公钥(66)。

然后,服务器在其自己的用户数据库中搜索用户唯一ID,并且检索先前保存的客户端公钥(67),以便与来自客户端的共享客户端公钥进行比较(68)。如果两个密钥不匹配,则服务器通知用户并且建议解决问题的各种措施(70)。如果确实发生了匹配(69),则服务器请求(71)客户端生成第二公钥对(72),并且随后存储密钥对(73)。另外,与服务器共享刚刚生成(72)的密钥对的公钥以在下一会话中使用(74)。然后,服务器存储要与用户唯一ID一起使用的下一客户端公钥(75),并且客户端和服务器两者的当前密钥对用于客户端和服务器之间的进行中通信,直到会话终止或超时(76)。

结果是,以客户端公钥形式的一次性代码的持久链可以用于在多个进行中会话之间建立和延续客户端系统与服务器系统之间的安全连接。

备选实施例

示例实施例使用作为持久性标识符的存储在客户端侧和服务器侧两者上的一系列客户端侧公钥的生成和链接以用于认证目的。备选实施例可以使用诸如共享的AES通行码之类的TLS会话密钥链作为持久性标识符。在这种情况下,每次使用共享的客户端侧公钥时,就生成跟随密钥并且其被存储在双侧上以在下一会话中使用。使用客户端侧公钥作为持久性标识符的优点在于:与TLS会话密钥的情况不同,客户端侧私钥不被与服务器共享,并且因此增加了系统的安全级别。

在示例实施例中,客户端用于生成密钥对以供处理使用。在备选实施例中,服务器可以用于生成密钥对并将其与客户端共享以在后续会话中使用。

示例实施例将下一客户端公钥的服务器存储副本与在当前会话期间来自客户端的客户端公钥的共享副本进行共享。备选实施例可以将客户端公钥的任何等同物用于比较目的,包括但不限于客户端公钥的校验和(checksum)或散列(hash)。

其他实施例

参照图4并且在特定优选形式中,根据另一实施例,本发明的实施例依赖于根据构造私钥的方法的两条信息。

“你所拥有的事物”,在优选形式中其是客户端侧公钥。

“你知道的事物”,在优选形式中其是用于针对任何给定会话创建私钥的用户PIN/口令。

在示例实施例的进一步增强中,客户端密钥对的私钥可以链接到客户端设备的特定用户,以实行双因素认证。这是通过在使用示例实施例的双因素认证中要求用户输入PIN或其他“用户必须知道的事物”与“用户必须拥有的事物”(在这种情况下是有效客户端密钥对的必需私钥)来实现的。

在该增强中,客户端密钥对101的私钥100被分成两个部分102、103。第一部分是PIN 102,其由用户选择以在未来会话中验证他们的身份。从完整的私钥100中减去该PIN 102以产生差分密钥元素103。除非用户将正确的PIN 102添加到正确的差分密钥元素103以产生可用密钥对101的可用私钥100,否则差分密钥元素103不能用作客户端密钥对101中的成功的私钥100。

可以将差分密钥元素安全地存储104在客户端设备上以在下一会话中使用,因为在没有所需PIN 102的情况下不能成功地使用元素104。

在实践中,将在每个会话开始时向用户请求PIN 102,然后将其添加到差分密钥元素103,以建立成功的公钥数据加密和解密。

另外,PIN 102将被临时存储在客户端上,然后被用于生成合适的差分密钥元素103以用于下一会话私钥20。

示例实施例示出了将PIN用作“用户必须知道的事物”以便实现双因素认证。备选实施例可以使用任何形式的个人可识别信息,包括但不限于拇指纹或其他生物特征。

示例实施例通过从客户端侧密钥对的私钥中减去PIN来使用减法产生差分密钥元素。备选实施例可以使用允许将个人可识别因素与第二文件元素组合以在客户端侧密钥对中产生可用私钥的任何计算。

以上仅描述了本发明的一些实施例,并且在不脱离本发明的范围和精神的情况下,可以进行对本领域技术人员而言显而易见的修改。

工业实用性

本发明的实施例可以应用在以下情境中:在与装置进一步通信之前,需要验证对该装置或装置加用户组合的认证。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1