生成和寄存用于多点认证的密钥的系统和方法与流程

文档序号:22124178发布日期:2020-09-04 16:59阅读:341来源:国知局
生成和寄存用于多点认证的密钥的系统和方法与流程

本发明整体上涉及网络或系统认证领域,更具体地,涉及网络用户的认证以及经由网络或系统向所述用户传送和从所述用户传送的数据。



背景技术:

所有组织都面临着保护其数据不受潜在安全漏洞影响的挑战。只有通过数据安全,组织才能确保只有经过授权的人员才能跨多种技术访问其系统。因此,数据安全和授权系统访问是当今组织必须面对的两大挑战。

目前有许多系统和方法可以对系统和网络的用户进行各种类型的认证。这些各种类型的认证具有不同的安全性和可靠性级别。以下是用于系统和网络的现有技术认证方法的类型的示例。

2005年11月8日向igt公布的美国专利第6,962,530号公开了一种游戏专用平台的体系结构和方法,所述平台具有游戏代码和其它数据的安全存储和验证功能。所述方法还为用户提供了与计算机投注游戏系统安全交换数据的能力。所述发明不涉及在多个设备之间传播登录信息。

2015年6月9日向necsolutioninnovators,ltd.公布的美国专利第9,053,306号公开了一种认证系统,所述认证系统可用于根据用户输入的登录信息计算第一和第二散列值。如果第一和第二散列值彼此匹配,那么将在服务器和终端之间建立会话。所述发明不涉及隐瞒加密细节的部分。

2015年3月24日向微软公司公布的美国专利第8,989,706号公开了与设备自动安全配对相关的系统、方法和/或技术,涉及使用设备并行下载内容。用于配对设备的工具可以基于地址和密钥执行认证协议。所述发明不涉及隐瞒加密细节的部分。

2013年1月15日向荷兰皇家菲利浦电子有限公司(koninklijkephilipselectronicsn.v.)公布的美国专利第8,356,180号公开了一种在深层公共安全域中实现安全通信的多维标识、认证、授权和密钥分发的方法。如果用户不向系统揭露用户密钥,所述发明就无法认证交易。

2000年8月25日向联合设备公司(uniteddevices)公布的美国专利第6,847,995号公开了一种用于在分布式处理系统内提供安全传输的安全体系结构和相关方法。所述发明不涉及多层加密或隐瞒加密细节的部分。

yarongvili于2016年11月23日提交的美国专利申请公开案第2017/0149796号公开了一种允许第三方验证者验证安全数据方面或其成功通信的系统和技术。所述发明不涉及多层加密或隐瞒加密细节的部分。

isamuteranishi于2011年6月6日提交的美国专利申请公开案第2011/0246779号公开了一种零知识证明系统,其允许离散对数零知识证明。所述发明不涉及多层加密或隐瞒加密细节的部分。

现有技术的加密方法和系统特别容易受到第三方对用户和用户以及系统或网络之间的数据和信息传输的干预。如果第三方可以访问传输中的数据,它可以从这些信息推断登录详细信息。如果用户和系统之间传输的数据提供了所有登录详细信息,那么第三方可以使用用户的登录详细信息登录到系统。如果使用已知的认证方法和系统,这将对当前系统造成安全隐患。

所需要的是一种认证方法和系统,所述方法和系统将保护用户的登录详细信息不会通过第三方对传输数据的干扰而获得。



技术实现要素:

在一个方面中,本发明涉及一种可用于认证用户、数据、文档、设备和交易的认证方法和系统。本发明的实施例可以在任何系统或网络上操作,并且与平台无关。认证方法和系统可用于安全地在多个设备之间创建和分发登录相关信息的唯一部分。系统使用登录相关信息的已分发部分来认证用户、数据、文档、设备和交易,而不向系统揭露登录相关信息。所述系统在创建、传输、存储和认证时保护登录相关信息。在另一方面,本发明涉及在不向系统揭露密钥的情况下的认证。

在另一方面,本发明涉及一种用于认证用户的系统和方法,包括:包含安全部分的客户端系统;可供用户访问客户端系统和存储登录信息部分的用户系统;验证系统,用于从客户端系统和用户系统接收信息并向客户端系统和用户系统发送信息;以及包含多个同步元件的同步系统,其中,用户登录相关信息的唯一部分可以与验证系统双向传输,并被访问和使用。

在另一方面,本发明涉及一种用于认证用户与客户端系统交互的系统和方法,其包括:用户设备;客户端系统;客户端显示单元;和客户端验证系统;用户设备,客户端系统,客户端显示单元和客户端验证系统,用于验证用户与客户端系统的交互,而不需要用户向系统揭露用户密钥。

在这方面,在详细解释本发明的至少一个实施例之前,应当理解,本发明在其应用中不限于以下描述或附图中所述的构造细节和组件的布置。本发明能够以各种方式实施和实施其它实施例。此外,应当理解,本文中使用的措辞和术语是为了描述目的,不应被视为限制性的。

附图的简要说明

为了更好地理解本发明,以下对本发明进行了详细描述以使本发明的目的将变得显而易见。所述说明参考了所附图式,在所附图式中:

图1是示出本发明的认证系统的实施例的系统图。

图2是示出可操作以在本发明实施例的客户端系统和验证系统之间进行数据传输的元件的配置的系统图。

图3是示出可操作以进行本发明实施例的登记处理的元件的配置的系统图。

图4是示出可操作以进行本发明实施例的访问处理的元件的配置的系统图。

图5是示出根据本发明实施例的可操作以处理散列oy数据包部分的同步元件的系统图。

图6是示出可操作以进行本发明实施例的解码处理的元件的配置的系统图。

图7是示出本发明实施例的用户设备的元件的系统图。

图8是示出本发明实施例的客户端系统的元件的系统图。

图9是示出本发明实施例的客户端显示单元的元件的系统图。

图10是示出本发明实施例的验证系统的元件的系统图。

图11是示出根据本发明一个实施例的可操作以处理用户认证请求以访问客户端系统的安全部分的元件的配置的系统图。

图12是示出根据本发明一个实施例的可操作以进行噪声和密钥的生成和处理以用于认证用户的元件的配置的系统图。

图13是示出根据本发明一个实施例的可操作以进行用于认证用户的密钥的验证的元件的配置的系统图。

图14是示出根据本发明一个实施例的可操作以进行用于认证用户的令牌验证的元件的配置的系统图。

图15是示出根据本发明一个实施例的可操作以以通过用于认证用户的客户端显示系统来进行质询验证的元件的配置的系统图。

图16是示出根据本发明一个实施例的可操作以通过用于认证用户的用户设备来进行质询验证的元件的配置的系统图。

图17示出了根据本发明一个实施例的登记方法。

图18示出了根据本发明一个实施例的创建一个或多个密钥的方法。

图19示出了根据本发明一个实施例的分发一个或多个密钥的方法。

图20示出了根据本发明一个实施例的登录方法。

图21示出了根据本发明一个实施例的创建一个或多个密钥的方法。

图22示出了根据本发明一个实施例的分发一个或多个验证密钥的方法。

图23示出了根据本发明一个实施例的在本地数据库中验证验证密钥的方法。

图24示出了根据本发明一个实施例的证实验证过程的方法。

图25示出了根据本发明一个实施例的生成一个或多个条形码的方法。

图26示出了根据本发明一个实施例的生成一个或多个密钥的方法。

图27示出了根据本发明一个实施例的生成一个或多个密钥的方法。

图28示出了根据本发明一个实施例的生成一个或多个密钥的方法。

图29示出了根据本发明一个实施例的建立网络会话的方法。

在附图中,通过示例说明本发明的实施例。应当明确理解,说明书和附图仅仅是为了说明以及帮助理解,而非为了界定本发明的限制。

优选实施方案的详细描述

本发明是一种可操作以对用户、数据、文档、设备和交易进行认证的认证方法和系统。本发明的实施例可以与任何组织或个人的任何系统或网络一起操作。认证方法和系统可操作以在多个设备之间分发登录相关信息的唯一部分。系统使用登录相关信息的已分发部分来认证用户、数据、文档、设备和交易,而不向系统揭露登录相关信息。登录相关信息通过多层加密和/或散列进行加密和/或散列,并且隐瞒一些加密和/或散列的详细信息。存储登录相关信息的设备将全部用于认证方法和系统中。提供给用户的登录相关信息不会揭露给系统或任何用户设备和/或存储在系统或任何用户设备中。数据、文档、设备和交易的认证不需要向系统揭露密钥。

此处所指的“客户端系统”是指组织或个人的网络或系统。此处提及的“用户设备”是指用户用于登录到客户端系统的设备,例如笔记本电脑、平板电脑、手机、智能手机、台式机、智能手表、计算设备,用户可以借此登录到客户端系统或需要安全登录的任何其它设备。在用户和客户端系统之间对“信息传输”的任何引用可以包括与系统相关的任何信息的创建、传输或存储。

为清楚起见,当提及认证系统的任何单元或元件“访问”另一单元或元件时,这可能涉及以下任一方面:(i)访问另一单元或元件以从中获取信息的单元或元件;或(ii)向另一个单元或元件发送信息检索或生成的请求的单元或元件,并且一旦响应请求检索或生成了此类信息,那么可以将此类信息发送到发送请求的单元或元件。

当用户使用用户设备登录到客户端系统时,用户设备和客户端系统之间的登录相关信息的创建、传输、存储或认证可能容易受到第三方的攻击。由于第三方对用户设备或客户端系统的攻击,在第三方之间的登录相关信息的创建、传输、存储和/或认证期间,第三方可以获取和/或将所述信息用于恶意目的。例如,第三方可以使用其获得的登录详细信息登录到客户端系统,从而实现对客户端系统的未经授权的访问,或者通过从客户端系统获取更多的登录相关信息或其它方式横向移动到与客户端系统连接的系统。作为另一个例子,第三方可以将由于攻击而获得的数据、文件或交易信息用于各种未经授权的目的(即,向其它方传播信息,利用信息获取市场优势,以信息为人质进行勒索、间谍活动、破坏活动等)。本发明降低了客户端系统对在客户端系统和用户设备之间创建、传输和/或存储的客户端系统或数据、文档或交易信息的未经授权的使用的脆弱性。

本发明的方法涉及使用用户设备登录到组织或个人的客户端系统的用户。登录相关信息将通过单层或多层散列和/或加密过程进行散列和/或加密。特别地,可以生成加密和/或散列密钥的至少一部分并将其存储在用户的设备中。登录相关信息的其它唯一部分将存储在环境中的其它设备中。在多个设备之间支付登录相关信息的唯一部分意味着访问客户端系统和用户设备之间的信息传输的第三方将无法获得成功登录到客户端系统所需的任何或所有信息。

此外,在当前系统的一个方面中,为了认证数据文档、设备、交易和/或用户,用户的设备将需要向客户端系统证明其具有有效密钥和/或设备已经过认证。这将通过本发明来实现,而用户设备不必向客户端系统揭露一个或多个密钥。因此,数据、文档、设备、交易和用户的认证可以在用户不必向客户端系统揭露其密钥的情况下进行。

登录相关信息将以唯一方式创建,不会存储和/或传输;这与用户设备辅助的多点认证一起防止未经授权的第三方访问客户端系统。

由于大多数现有技术认证系统涉及在用户的设备和客户端系统之间创建、存储、传输和单点认证登录相关信息,因此现有技术系统易受第三方泄露此类信息的攻击。一旦这些信息被第三方获得,这些信息就可以用于在单个认证点登录到系统网络,而无需授权,或未经授权使用数据、文档或交易信息。与现有技术系统相比,本发明提供了一个优点,因为它不易受第三方访问将允许未经授权访问客户端系统或数据、文档或交易信息的信息攻击。本发明的认证系统解决了现有技术认证在创建、存储、传输和认证点时可能受到损害的问题。

作为本发明相对于现有技术系统的另一个优点的一个例子,现有技术系统通常不能与任何类型的客户端系统或任何类型的用户设备一起操作。本发明提供一种具有安全认证系统的组织,所述安全认证系统将向用户提供必要的安全访问,以跨任何平台、解决方案或环境访问组织的数据。本发明可以由任何组织来实现,以用于任何类型的客户端系统以及任何平台上的任何用户设备。

与现有技术相比,本发明的另一个好处示例是,本发明可操作以对环境中的设备进行蜂窝授权。例如,可以在蜂窝授权过程中授权跨地理时间区域的多个移动和/或存储设备。现有技术系统无法跨地理时间区域进行蜂窝授权。

本发明的实施例可以包括多个可操作的组件,用于为了用户登录到其中具有安全部分的客户端系统,或者为了用户访问此类系统的安全部分而对用户进行认证。例如,本发明的一个实施例可以包括以下三个主要组件:(1)同步多方面认证(smfa);(2)交互式半人工认证(isma);(3)交易认证。为了提供本发明的这种实施例的示例,下面描述本发明的实施例的这三个组件。所属领域的读者将认识到本发明的其它配置是可能的,包括仅包括下面描述的三个组件中的一个或两个的配置,或者包括其它组件的配置。

同步多方面认证(smfa)

本发明的认证方法和系统的用户的认证处理操作使得随机多单元登录相关信息的加密和或散列部分在设备之间分发(例如,用户和/或系统设备和存储单元)以及所有此类或更多此类设备必须用于对用户进行认证。

因此,如果登录数据在创建、传输、存储或认证时(例如通过第三方未经授权的访问)受到损害,那么只会获得未知用户的时间敏感随机登录相关信息的加密和或散列部分,此数据将无法对用户进行认证。

更具体地说,本发明可操作以要求用户参与质询,例如,静态质询可以是针和/或图案质询、动画和/或非动画质询、图形和/或非图形质询、二维和/或三维质询,移动和/或静态游戏化质询和/或非游戏化接口质询,以便登录到客户端系统。系统可以选择一系列单元,并使用这些单元生成挑战。每个单元随机分配多个数字。在每次登录事件时可能会更改。用户可以在同一认证事件和任何后续认证事件中选择多个质询。

在质询期间选择的一系列单元被认证系统划分为多个唯一的系统部分。可以对每个单元部分中的单元分别进行散列或加密以生成单元结果,然后对每个系统部分中的单元进行散列和/或集体加密以生成系统部分结果。应用于系统部分中的每个单元和应用于每个系统部分的散列和/或加密的数目可以变化。

散列和/或加密结果的一部分存储在客户端或其它系统的分布式体系结构的不同设备中,一部分存储在用户的设备中。例如,散列和/或加密结果的部分可以存储在多个用户和系统设备中。

所有包含散列和/或加密部分数据的客户端系统设备以及用户设备都必须进行自身证实。一旦设备通过认证,它们就可以对用户进行联合认证。

本认证系统发明与平台无关,因此可用于任何客户端系统。

交互式半人工认证(isma)

本发明的用户的认证处理操作使得使用多层加密和/或散列函数对登录信息进行加密和/或散列。随机加密和/或散列详细信息中的一部分被保留并人工传输,但不存储在客户端系统或用户设备中,从而降低了在传输、存储或认证过程中被破坏的可能性。

本发明的系统提供了一个密钥(即,密钥1)到移动设备。使用多层加密和/或散列函数对本发明中的所有密钥进行加密和/或散列。

要求在本发明的认证过程中使用加密密钥,因此用户必须首先使用本文描述的smfa处理进行证实,从而验证密钥并认证用户的设备。

系统将基于随机加密密钥生成质询,这些密钥将在每次登录事件时更改。经过认证的用户将使用其经过认证的设备扫描质询。在这个过程结束时,随机加密密钥的一部分或全部将被发送到用户设备。

在本发明的一些实施例中,可以存在由用户设备生成的另一组加密随机密钥,所述组密钥也将在每次登录事件时改变。可以组合成加密共享密钥的多个密钥;部分或全部加密共享密钥将发送到请求用户认证的组织的客户端系统。

用户设备可以生成多层加密。这种加密可以单独地或集体地应用于元件。例如,用户设备可以生成随机的三个或更多的数字(在每次登录事件期间可能会改变)以及salt和iv,或者可以应用其它类型的加密和/或散列。另一层加密可以集体添加到先前的加密。

多个随机字符将从包中删除,所述包是由多个加密层生成的。例如,可以从包中删除六个随机字符。将向用户提供多个随机数字和字符,并将加密的详细信息发送到客户端系统,请求对用户设备进行认证。

请求对用户设备进行认证的客户端系统将要求用户提供给予用户设备的信息。只有在用户提供此类信息时,客户端系统才能对用户进行认证。此过程减少了第三方截取、猜测或知晓用户登录信息的可能性。

当用户通过认证时,会话将通过基于时间和地理的访问代码进行认证。例如,基于地理的访问代码可以是令牌或任何其它类型的基于地理的访问代码。如果时间到期或地理方面无效,那么基于地理的访问代码可能无效。例如,如果用户不在与基于地理的访问代码相关的地理位置内,那么地理方面可能无效。

交易认证

本发明认证系统的用户的认证处理操作使得在不需要用户向客户端系统揭露其密钥的情况下对交易进行认证。客户端系统不知道用户密钥或用户是否有密钥。用户设备必须向系统证明其具有有效密钥,并且用户和设备已通过认证,而不向系统揭露密钥。为了实现这一点,用户设备将必须使用本文描述的smfa处理和/或本文描述的isma过程进行认证。一旦用户设备通过认证,用户设备就可以使用其拥有或接收到的随机临时密钥。

系统将产生一个质询。可以使用诸如多层加密、数字签名和/或散列等特征来保护此质询。安全包被发送到请求认证的用户设备。用户设备将验证包,并可以使用提供给显示器的解密密钥或解决所述质询。

作为一个例子,本发明的一个实施例可以是可操作的,使得系统将产生多个随机数字字母数字代码,其中一个或多个数字是空白的,相应的字母或数字将被填入空白,也将在isma过程中通过质询的方式向用户发送相应的字母或数字。例如,系统可以生成六个或更多个随机数字字母数字代码,或者任意数量的随机数字字母数字代码。

系统将生成并加密6个或更多随机数字字母数字代码以及其它元素。例如,系统可以加密六个或六个以上随机数字的字母数字代码、附加的加密和安全特征(可以包括但不限于salt、iv、安全密钥等)也可以由客户端系统应用。然后系统将在加密结果中添加数字签名。然后,将此加密和签名的包发送到请求认证的用户设备。

用户设备将验证数字签名,然后使用提供的解密密钥来重新创建六位或更多位字母数字代码以及相应的字母或数字。

然后,用户设备对重新创建的信息以及安全特征进行加密。然后,用户设备将向加密结果添加数字签名。然后,所述加密和签名的包被发送到参与认证过程的客户端系统。

客户端系统从用户设备接收消息,在接收时将验证数字签名、解密消息并将消息与发送的消息进行比较。如果比较显示接收到的消息与发送的消息相同,那么客户端系统知道用户在对用户设备进行认证时拥有所需的密钥会话将通过基于时间和地理位置的访问代码进行认证,如果时间过期或地理位置无效,那么这些访问代码将无效,如前所述。

所属领域的读者将认识到,用于本发明的认证的方法和系统可以以多种方式实现。图1-17提供了本发明的实施例的一些示例,这里对所述示例进行了描述。

如图1所示,认证系统包含许多元件,包括客户端系统、用户系统、验证系统和多个存储单元。所述认证系统具有证明和验证用户登录等功能。

用户系统102被用户用于登录到客户端系统902。如本文所述,用户系统可用于验证用户的身份以及其它活动。用户的身份必须由客户端系统验证,以便用户能够访问客户端系统的安全区域。验证系统202用于向客户端系统验证用户的身份。

当用户通过用户设备90想要访问客户端系统的安全区域时,用户将必须首先向客户端系统证明用户的身份。一旦客户端系统接收到用户身份的验证,系统就可以允许用户访问客户端系统的安全内容。

用户使用用户系统来证明其身份并访问客户端系统的安全区域。验证系统202可用于验证用户身份的真实性。同步系统300是一个或多个同步元件302a…302n的集合,以同步方式运行以批准用户身份的真实性。

用户系统可以包含多个元件。在本发明的一个实施例中,用户系统可以包括证明单元104、显示单元106、处理单元108、批准单元112、存储单元110和通信单元114。证明单元可操作以向验证系统证明用户系统102的初始身份。显示单元可操作以向用户显示信息,例如,质询或从客户端系统、验证系统或本发明的任何其它系统或元件向用户系统传输的任何其它信息。显示单元还可操作以向用户显示由客户端系统生成的信息。显示单元还可以连接到输入单元,或者具有触摸屏或其它输入操作性,由此用户可以输入信息。用户输入的信息可以显示在显示单元上,或者可以由用户系统收集并存储、传送到客户端系统或认证系统的另一个系统或元件,或者由用户系统处理。处理单元108将负责系统内的所有处理能力。批准单元112将负责访问质询和响应并提供结果,存储单元将负责存储临时和永久数据。通信单元114负责所有外部通信。

验证系统202可以包括多个元件。在本发明的一个实施例中,验证系统可以包括掩蔽器单元204、n-数据包生成器206、报告生成器208、处理单元210、批准单元212、一个或多个存储单元214a…214n和通信单元216。掩蔽器单元可用于为客户端系统和用户系统生成一个或多个唯一的非识别识别符。处理单元210可操作以根据认证系统的要求处理信息和数据。批准单元212可操作以访问在系统内部接收到的响应,并提供可被发送到处理单元或经由通信单元发送到系统外部的接收器的结果。一个或多个存储单元可用于存储临时和永久数据。n-数据包生成器206可用于生成认证信息的包。通信单元216可操作以接收和传输与验证系统外部的认证系统的所有元件(即,客户端系统、用户系统等)的所有通信。

所属领域的读者将认识到,在本发明的实施例中,图1中描述为验证系统的元件的部分或全部单元可以并入认证系统的其它系统或元件中,例如客户端系统。在本发明的一些实施例中,图1中描述为验证系统的元件的部分或全部单元可以是独立元件,这些元件不包括在认证系统的任何系统中,但通常包括在认证系统中。

同步系统300可以包括一个或多个同步元件302a…302n,并且每个同步元件可以包括多个单元。在本发明的一个实施例中,至少两个同步元件可以包括证明单元304a…304n、存储单元308a…308n、处理单元306a…306n、批准单元312a…312n,以及通信单元310a…310n。证明单元304a可操作以向验证系统202证明同步系统300的初始身份。

用户系统、验证系统和同步元件之间的通信由所述系统和/或元件的通信单元接收和传送。系统和/或元件之间的所有此类通信可通过使用一个或多个掩蔽函数来保护,一个或多个掩蔽函数可包括散列和/或加密。

如图2所示,数据可以经由验证系统的通信单元216在客户端系统902和验证系统的掩蔽器单元204之间传输。在客户端系统和与要使用客户端系统的新用户的设置相关的验证系统之间的初始通信期间,客户端系统可以与验证系统的掩蔽器单元通信,以请求新用户建立与客户端系统的安全连接所需的凭据。掩蔽器单元生成唯一的安全凭据,客户端系统可以使用这些凭据在客户端系统和验证系统之间建立链接。这些唯一凭据可以包括例如客户端id或其它形式的凭据。

当在客户端系统和验证系统之间建立可信连接时,掩蔽器单元执行诸如计算、算法或将生成对用户来说是秘密的唯一非识别识别符的其它类型的处理。唯一的非识别识别符可以存储在并入验证系统的存储单元214a(或存储单元214a…214n中的任何一个)中。

掩蔽器单元可以使用诸如散列、加密等掩蔽函数,或者一些其它掩蔽函数来使非识别识别符安全。客户端系统还可以向验证系统提供所有可用同步元件的列表。在本发明的实施例中,一个或多个同步元件可以存储在验证系统的一个或多个存储单元214a…214n中。

如图3所示,本发明的登记过程可以包括在用户与认证系统的初始交互期间根据需要操作认证系统的元件,以便用户向客户端系统登记。如图3所示,客户端系统、用户系统的元件、验证系统的元件和同步系统的元件之间的所有通信经由用户系统、验证系统和同步系统的通信单元。用户必须向被授权访问客户端系统安全部分的客户端系统登记。在初始登记期间,证明单元104访问客户端系统的一个或多个存储单元110以检索证明信息。证明信息可以包括由掩蔽器单元生成的非识别识别符、也由掩蔽器单元生成的秘密,并且还可以包括可识别用户设备的信息、唯一应用号码和或与用户相关的其它信息,例如生物特征信息(例如,用户的指纹、用户的视网膜扫描或用户的其它生物特征信息)、使用信息等。一旦证明单元获得所有证明信息,证明信息可以存储在用户系统的一个或多个存储单元中。

由证明单元104获得的证明信息经由用户系统的通信单元114安全地发送到验证系统的处理单元210。处理单元210经由验证系统的通信单元216从验证系统的存储单元214a…214n中的一个或多个为用户检索信息。处理单元210将从客户端系统接收到的信息与从验证系统的一个或多个存储单元检索到的信息相结合,以创建信息包。处理单元将这种信息包发送到批准单元212。

批准单元212将其从处理单元接收的信息包的值与先前从客户端系统接收的存储在验证系统的一个或多个存储单元214a…214n中的信息进行比较。如果比较成功,那么批准单元将接受与用户系统的连接。如果比较不成功,那么批准单元212将拒绝与用户系统的连接。批准系统的结果被发送到n数据包生成器206。

如果未批准与用户系统的连接,那么尝试登记用户的认证系统的操作将结束。在本发明的一个实施例中,如果与用户系统的连接被批准,那么n-数据包生成器将生成随机质询。随机质询可以包括多个数据包(n-数据包)。每个n-数据包包含多个随机数字或字母数字/其它字符(n-ranc)。

n-数据包被安全地发送到用户系统的显示单元106。本发明的实施例可以应用多层保护,包括但不限于加密、散列和/或数字签名,以对在n-数据包生成器和显示单元之间传输的n-数据包提供安全性,例如,在传输之前对n-rnac和n-数据包进行多层保护。在本发明的其它实施例中,n-数据包可以由用户系统的元件或具有或不具有n-rnac的不同系统生成。用户与此元件交互以生成oy数据包。

显示单元106接收n-数据包并向用户显示包含在n-数据包中的信息。从显示的n-数据包中,用户输入一个或多个n-数据包,从而选择与所选择的n-数据包相关联的n-ranc。为了便于参考,用户选择的n-数据包是这里的y-数据包。由用户选择的y-数据包被保持为有序的y-数据包(oy数据包)。oy数据包由显示单元106发送到用户系统的处理单元108。用户系统的处理单元将oy数据包分成两个或多个部分。每个部分可以包含两个或更多n-数据包。

用户系统的处理单元可以通过对oy数据包的每个部分应用掩蔽函数来掩蔽oy数据包信息。例如,用户系统的处理单元可以对以下一个或多个应用掩蔽:包含在oy数据包中的每个n-rnac和/或包含在oy数据包中的每个y数据包和/或每个oy数据包,。一个或多个掩蔽的结果可以存储在用户系统的一个或多个存储单元110中。未存储的结果被发送到验证系统的处理单元。

由发送到用户系统的显示单元的n数据包生成器生成的质询可以包含多个n包,并且每个n包可以包含三个或更多个n-ranc。用户可以选择形成oy数据包的多个y数据包。oy数据包可以分成两部分(即oya部分和oyb部分)。

验证系统的处理单元可以应用散列和/或加密,然后从存储在验证系统的一个或多个存储单元中的列表中选择同步系统的两个或多个随机同步元件。选定的随机同步元件构成同步登记表。验证系统的处理单元可以单独地或集体地向oy数据包部分添加秘密,并且可以单独地和/或集体地对oy数据包部分执行多层散列和/或加密功能。然后,散列和/或加密的唯一oy数据包部分可以分布在一个或多个同步元件中,并且存储在oy数据包部分被分布到的一个或多个同步元件中的一个或多个存储单元中。结果是,唯一的oy数据包部分存储在不同的同步元件中。分布信息部分可以存储在同步元件的同步登记表中。

如图4所示,认证系统可用于执行访问处理,其中登记用户尝试通过验证系统的操作来认证自己,以便用户获得对客户端系统的安全部分的访问。如图4所示,用户系统的元件、验证系统的元件和同步系统的元件之间的所有通信经由用户系统的通信单元、验证系统和同步系统的同步元件的同步元件。用户系统的证明单元104访问用户系统的存储单元110中的一个或多个以检索证明信息。证明信息可以包括非识别识别符和秘密。

由证明单元获得的部分或全部证明信息经由用户系统的通信单元114经由验证系统的通信单元216安全地发送到验证系统的处理单元210。处理单元210从验证系统的一个或多个存储单元214a…214n检索用户的信息。处理单元210将从客户端系统接收到的信息与从验证系统的一个或多个存储单元检索到的信息相结合,以创建信息包。处理单元将所述信息包发送到验证系统的批准单元212。

批准单元212将其从处理单元210接收到的信息包的值与先前从客户端系统接收到的存储在验证系统中的信息进行比较。如果比较成功(即,比较结果与比较信息匹配),那么批准单元将接受与用户系统的连接。如果比较不成功,那么批准单元将拒绝与用户系统的连接。批准系统的结果被发送到n数据包生成器206。

如果未批准与用户系统的连接,那么尝试登记用户的认证系统的操作将结束。如果与用户系统的连接被批准,那么n数据包生成器将生成随机质询。随机质询可以包括两个或多个数据包(n-数据包)。每个n数据包包含两个以上的随机数或字母数字字符(n-ranc)。可以对发送到显示单元的质询应用多层散列和/或加密。散列和/或加密由随机数生成器应用。

n-数据包被安全地发送到用户系统的显示单元106。本发明的实施例可以应用多层散列和/或加密来为在n数据包生成器和显示单元之间传输的n-数据包提供安全性。例如,多层散列和/或加密可以包括在传输之前对n-rnac和/或n-数据包进行散列和/或加密。显示单元106接收n-数据包并向用户显示相应的信息。从显示的对应信息中,用户选择两个或多个对应信息,然后通过选择n-数据包和与所选择的n-数据包相关联的n-ranc来进行选择。为了便于参考,用户选择的n-数据包是这里的y-数据包,这些y-数据包被排序并且被称为oy数据包。

在本发明的另一实施例中,n-数据包生成器可以存在于用户系统和/或其它系统中,其可以通过来自用户系统或其它系统(例如,照相机、扫描仪等)的任何元件与用户交互来生成y和/或oy数据包。

oy数据包由显示单元106发送到用户系统的处理单元108。用户系统的处理单元将oy数据包分成多个部分。每个部分包含多个n数据包。

用户系统的处理单元108从存储先前存储的oy数据包部分的用户系统的一个或多个存储单元检索先前存储的oy数据包部分。处理单元将先前存储的oy数据包部分和最近创建的oy数据包部分发送到用户系统的批准单元110。用户系统的批准单元将其从用户系统的处理单元接收到的信息与先前存储的oy数据包部分进行比较,并生成批准结果或拒绝结果。由用户系统的批准单元生成的结果(即批准结果或拒绝结果)被传送到用户系统的处理单元。如果来自用户系统的批准单元的结果是拒绝结果,那么将停止认证过程。

如果用户系统的批准单元的结果是批准结果,那么用户系统的处理单元可以存储最近在用户系统的一个或多个存储单元中生成的oy数据包部分中的一个或多个,并且将剩余的oy数据包部分发送到验证系统的处理单元。验证系统的处理单元从同步登记表中检索用户的同步系统信息。验证系统的处理单元可以向其接收的oy数据包部分添加秘密,并对这些oy数据包部分执行多层散列和/或加密功能。在散列和/或加密之后,验证系统的处理单元可以将散列和/或加密的唯一oy数据包部分发送到同步系统的同步元件的一个或多个处理单元302a…320n。同步元件的每个处理单元,其从验证系统的处理单元210接收散列和/或加密的唯一oy数据包部分。接收散列和/或加密的oy数据包部分的同步单元的每个同步元件可以进行如图5所示的处理。同步元件的处理单元306a…306n可以解码散列和/或加密以确定和识别一个或多个n-数据包和n-ranc。同步元件的处理单元可以将n-数据包和n-ranc发送到同一同步元件的批准单元312a…312n。

同步单元的证明单元304a…304n从同步单元的存储单元308a…308n检索先前存储的散列和/或加密的oy数据包部分。同步单元的证明单元可以对散列和/或加密进行解码,以确定和识别一个或多个n-数据包和n-ranc,并且这些被发送到同步单元的批准单元。同步元件的批准单元将其接收到的最近生成的n-数据包和n-ranc与先前存储的n-数据包和n-ranc进行比较。基于此比较,生成通过值或失败值。生成的通过值或失败值被传送到同步元件的证明单元。

同步单元的证明单元从同步单元的一个或多个存储单元检索证明信息,并且证明信息和证明单元接收到的通过值或失败值都可以被散列和/或加密并发送到验证系统的处理单元。

验证系统的处理单元从生成所述信息的每个同步元件的每个证明单元接收散列和/或加密的结果和证明信息。为了清楚起见,多个同步元件可以接收到唯一的oy数据包部分,并且每个这样的同步元件将根据本文讨论的方法处理oy数据包部分。如图6所示,用户系统、验证系统和客户端系统的元件之间的所有通信经由用户系统、客户端系统和验证系统的通信单元。同样如图6所示,验证系统202的处理单元210将对其从每个同步元件302a…302n接收到的验证信息进行解码,并将解码后的信息发送到验证系统的批准单元212。验证系统的处理单元210从验证系统的一个或多个存储单元214a…214n检索证明信息。验证系统的处理单元将检索到的证明信息发送给验证系统的批准单元。验证系统的批准单元利用其接收到的信息来批准同步元件。

验证系统的处理单元解码其从同步元件接收的每个通过和/或失败值。解码后的值作为验证结果保存在验证系统的一个或多个存储单元中。验证系统的处理单元或报告生成器208可以生成验证结果报告,并且所述报告可以包含各种信息,例如请求的总同步元件、接收到的通过值的数目、接收到的失败值的数目,同步系统信任评分等信息。

验证系统的处理单元可以散列或加密验证结果,并且经由验证系统的通信单元216将散列和/或加密的验证结果发送到用户系统102的处理单元108。用户系统的处理单元将散列或加密的验证结果发送给客户端系统902。客户端系统基于客户端系统接收到的验证结果,经由验证系统的通信单元216向验证系统的处理单元210提交验证请求。验证系统的处理单元检索保存在验证系统的一个或多个存储单元中的验证结果,并将检索到的结果发送到验证系统的批准单元。验证系统的批准单元对检索到的结果进行批准,并将批准结果发送给客户端系统,客户端系统根据验证报告的结果决定是否对用户进行认证。

在用户被认证并被授予访问客户端系统的安全部分之后,用户可以访问信息(即数据、文档、交易信息等)和/或向客户端系统提供用户信息(即文本、数据等)。例如,用户可以访问客户端系统以发送消息、进行涉及信用卡支付的购买、将电子签名附加到文档或用于各种其它目的。在用户与客户端系统的交互过程中,用户信息通过用户系统在客户端系统和用户系统之间进行传输。本发明可用于在创建、传输、存储和认证期间保护此类用户和认证相关信息的安全。

为了实现这种安全性,本发明的实施例可以包括用户系统、客户端系统、客户端显示单元和验证系统。用户系统可以全部或部分地并入用户用来与客户端系统通信和访问客户端系统的客户端设备中。所属领域的读者将认识到,本发明的实现在用户设备和客户端系统之间传输的用户和认证相关信息的安全的实施例可以包括其它元件。

用户将使用用户设备验证用户系统以及用户到客户端系统的凭据。必须验证用户的凭据和用户系统,以验证用户是否有权访问客户端系统的安全部分。只有当用户通过认证时,用户才能通过客户端系统的安全部分执行某些功能或访问某些信息。例如,只有在对用户和用户系统进行认证的情况下,用户才能通过客户端系统批准某些交易。客户端系统是用户试图访问的系统,因此需要执行认证。如本文所述,本发明的验证系统将验证用户和用户系统的身份,并使客户端系统将用户和用户系统识别为已认证。

如图7所示,用于向客户端系统发送和从客户端系统发送用户信息的用户系统101可以包括多个元件。例如,本发明的实施例可以包括用户系统,其包括交互单元103、验证器生成器105、噪声生成器107、处理单元109、存储单元111和读取器单元113。

如图8所示,本发明实施例的客户端系统130可以包括多个元件。例如,本发明的实施例可以包括客户端系统,所述客户端系统包括csap生成器131、存储单元133、处理单元135、质询生成器137和批准单元139。

如图9所示,本发明实施例的客户端显示单元150可以包括多个元件。例如,本发明的实施例可以包括客户端显示单元,所述客户端显示单元包括交互单元151、处理单元153、临时存储单元155和密钥生成器157。

如图10所示,本发明实施例的验证系统140可以包括多个元件。例如,本发明的实施例可以包括验证系统,所述验证系统包括随机密钥生成器141、随机文本生成器143、usid生成器145和处理单元147。

当用户想要登录到客户端系统的安全部分时,用户将通过与客户端显示单元的交互来声明自己的意图,并使用客户端显示单元的交互单元来输入请求。如图11所示,交互单元151将请求传送到客户端显示单元的处理单元153,然后客户端显示单元的处理单元将请求传送到验证系统的处理单元147。用户系统的处理单元109将生成生成α密钥(αk)组合的请求,所述组合由αk1和αk2密钥组成,并经由验证系统的处理单元147发送给客户端显示单元的密钥生成器157。客户端显示单元的密钥生成器将αk1和αk2发送到验证系统的处理单元147。

然后,验证系统的处理单元147从验证系统的随机文本生成器143请求随机文本,并从验证系统的usid生成器145请求唯一的系统和事件识别符(usid)。随机文本生成器生成随机文本并将随机文本发送到验证系统的处理单元147。usid生成器生成usid并将usid发送到验证系统的处理单元。usid生成器可用于识别验证系统、试图连接到客户端系统中安全区域的用户设备和事件。usid对于浏览器或多个浏览器中的每个选项卡都是唯一的,用于识别和控制打开供用户使用的浏览器或选项卡的数量。

验证系统的处理单元147将用αk2接收的usid和随机文本组合成数据字符串,并将数据字符串转换成机器可读格式,然后将其发送到客户端显示单元的处理单元153。客户端显示单元的交互单元151使信息可用于用户系统的读取器单元113。

如图12所示,在完成图11的处理之后,通过读取器单元113将信息提供给用户系统。读取器单元113可以包括一个或多个传感器,所述一个或多个传感器包括以下听觉、视觉、触觉、打印、运动和其它类型的传感器,所述传感器可以并入客户端设备中或在客户端设备外部,但是通过有线连接或无线连接连接到所述传感器。传感器可用于获取与用户有关的信息。

然后,读取器单元113将其获得的信息发送到用户系统的处理单元109。用户系统的处理单元可以分离其从读取器单元接收的信息,并且可以保存所述信息。用户系统的处理单元109将从用户系统的噪声生成器107请求噪声。噪声生成器将产生噪声并将噪声发送到用户系统的处理单元。噪声被用来掩盖传输中信息的身份。

如果用户先前已经被客户端系统认证,那么用户系统可以具有随机δ1密钥(δk1)。

用户系统的处理单元将αk2和δk1发送到用户系统的验证器生成器105。处理单元还将向用户系统的验证器生成器发送请求,请求生成新的β密钥。根据所述请求,验证器生成器将使用αk2和δk1生成βkey1(βk1)和βkey2(βk2)。验证器生成器105将向用户系统的处理单元109发送βk1和βk2。

用户系统的处理单元还将访问用户系统的存储单元111,并请求δ1密钥和/或会话代码和/或会话代码的生成。存储单元111将向用户系统的处理单元提供δ1密钥,或者将生成会话代码并将其提供给用户系统的处理单元。例如,用户系统的处理单元109可以请求验证系统的随机密钥生成器141生成随机δ1密钥和/或会话代码,并将其提供给处理单元109,所述处理单元109可以为所提供的δk1或sc生成散列值。

用户系统的处理单元可以使用从噪声产生器、用户系统的存储单元和验证器产生器中的每一个获得的信息来生成人工交互代码(mic)。用户系统的处理单元可以将mic发送到用户系统的交互单元103。客户端显示单元的交互单元103将向用户显示mic。

当生成mic时,将存在残余数据(“mic后数据”)。用户系统的处理单元可以对mic后数据进行对称或非对称加密。用户系统的处理单元可以将mic后数据和散列值发送到客户端系统的处理单元135。

如图13所示,一旦用户系统创建mic、mic后数据和散列值,客户端系统的处理单元135接收mic后数据和散列。客户端系统的处理单元135发送要临时存储在客户端系统的存储单元133中的散列值。mic后数据被发送到客户端显示单元的处理单元153。

客户端显示单元的处理单元153将αk1和mic后数据组合为一个包,并将所述包发送到客户端显示单元的密钥生成器157。处理单元153请求客户端显示单元的密钥生成器157生成γ密钥(γk)。客户端显示单元的密钥生成器将γk发送到客户端显示单元的处理单元153。

现在要求用户与客户端显示单元的交互单元151交互。用户必须人工输入mic。一旦输入,mic随后由客户端显示单元的交互单元发送到客户端显示单元的处理单元153。处理单元153使用γk、mic和包来使得sc或δk1可用。客户端显示单元的处理单元计算sc或δk1的散列值,并将散列值发送到客户端系统的批准单元139进行验证。

在客户端显示单元的处理单元153的处理活动期间的任意时刻,可以将由客户端显示单元的处理单元接收或生成的任何信息临时存储在客户端显示单元的临时存储单元155中。

客户端系统的处理单元135检索临时存储在客户端系统的存储单元133中的散列值。客户端系统的处理单元将sc或δk1的散列值以及从存储器中检索到的值发送到客户端系统的批准单元139。批准单元139比较散列值以确定匹配。

如果散列值匹配,那么批准单元139确认与客户端系统的处理单元135的匹配。

如图14所示,在接收到所述匹配确认时,客户端系统的处理单元135从csap生成器131请求客户端会话访问通过(csap)。csap生成器131生成csap,csap被发送到要临时存储的客户端系统的存储单元133。csap生成器131还将csap发送到验证系统的处理单元147。验证系统的处理单元147将csap发送到153客户端显示单元的处理单元。客户端显示单元的处理单元153向用户系统的处理单元135发送csap。用户系统的处理单元135将csap发送到客户端系统的批准单元139。客户端系统的审批单元确认csap。用户系统的处理单元接收此类确认的通知,并且操作以允许用户访问客户端系统的安全部分。

如果客户端系统的批准单元139确定这些值不匹配,那么用户、用户系统和客户端显示单元未经认证。

客户端系统的csap生成器131可用于测试与用户的认证相关的条件;通过csap的生成,用户系统和客户端显示单元周期性地,客户系统的处理单元对其进行处理,并按照本文所述的方法将所述csap传送到验证系统、用户系统、客户显示单元的其它处理单元,并将所述csap存储在客户系统、用户系统和客户显示单元的存储单元中。在客户端系统的批准单元确定不满足与csap相关的认证条件的任何情况下,例如,确定客户端系统的处理单元接收的csap与存储的csap不匹配,那么用户的认证(即csap认证),用户设备和客户端显示单元将被撤销,并且对用户、用户设备和客户端显示单元的安全区域的访问将被终止。

在本发明的实施例中应用的用于认证的csap条件可以包括与以下任一条件相关的条件:维度、地理时间、机器学习人工智能、行为或任何其它条件。

图15示出了本发明的另一实施例,其中用户使用客户端显示单元试图通过访问客户端系统的安全部分来证实交易。客户端显示单元的处理单元153向客户端系统的处理单元135发送请求以验证交易。根据这样的请求,客户端系统的处理单元135向客户端系统的质询生成器137发送请求以生成质询。根据这样的请求,客户端系统的质询生成器137将生成质询,并且可以进一步对质询的结果应用散列值,并且将解和/或散列值保存在客户端系统的存储单元133中。客户端系统的质询生成器将质询发送到客户端系统的处理单元135。

客户端系统的处理单元135可以对质询应用对称和/或非对称加密。处理单元135将质询发送到客户端显示单元的处理单元153。客户端显示单元的处理单元153可以使用提供给其的密钥来解密质询,并且将质询发送到客户端显示单元的交互单元151。在本发明的一个实施例中,可以要求用户与客户端显示单元的交互单元151交互,以找到所述质询的解。在本发明的另一实施例中,客户端显示单元的处理单元153可以对解密的质询求解。

一旦使用客户端显示单元的用户找到质询的解,用户解被发送到客户端显示单元的处理单元153。客户端显示单元的处理单元153可以基于用户解生成散列值,并且客户端显示单元的处理单元可以进一步向所述散列值和/或解添加对称或非对称加密。客户端显示单元的处理单元的处理结果(例如,散列值或加密散列值,或解或加密解)可以发送到客户端系统的处理单元135。客户端系统的处理单元135可以向客户端系统的存储单元133发送请求,以检索存储的解和/或存储的散列值。根据这样的请求,客户端系统的存储单元133将检索存储的解和/或存储的散列值,并将存储的解和/或存储的散列值发送到客户端系统的处理单元135。

客户端系统的处理单元135将解密其从客户端显示单元的处理单元153接收到的任何加密散列值或加密解和/或非加密散列值。客户端系统的处理单元135将其从客户端显示单元的处理单元153接收到的散列值和/或解(以未加密的形式)和存储的解和/或存储的has值发送到客户端系统的批准单元139以供批准。客户端系统的批准单元139将接收到的解与存储的解进行比较,和/或将接收到的散列值与存储的散列值进行比较。

如果接收到的解和/或散列值与存储的解和/或散列值匹配,那么批准单元139将向客户端系统的处理单元135发送匹配的确认。如果匹配是肯定的,那么客户端系统的处理单元135将肯定匹配的确认发送到客户端系统,以确认交易的认证已成功完成,并且客户端系统将由此授权所述交易。

如果接收到的解和/或散列值与存储的解和/或散列值不匹配,那么批准单元139将向客户端系统的处理单元135发送不匹配的通知。客户系统的处理单元将通知发送给客户系统,并建议客户系统不要对交易进行认证。

在本发明的另一实施例中,验证系统的处理单元可以执行根据图14为客户端系统的处理单元描述的功能。在本发明的这样一个实施例中,质询生成器单元和批准单元可以合并到客户端系统或验证系统中,并且所述质询生成器单元和批准单元将具有与根据质询生成器单元137和批准单元139的图14描述的相同的功能。

图16示出了本发明的另一实施例,其中用户使用用户系统来尝试验证交易。在本发明的这种实施例中,用户系统的处理单元109发送客户端系统的处理单元135的请求以验证交易。根据这样的请求,客户端系统的处理单元135向质询生成器137发送请求以生成质询。根据这样的请求,质询生成器137将生成质询,并且将进一步对质询的结果(质询的解)应用散列值,并将所述解和/或散列值保存在客户端系统的存储单元133中。

客户端系统的处理单元135可以对质询应用对称和/或非对称加密。处理单元135将可以加密的质询发送到用户系统的处理单元109。如果质询被加密,那么用户系统的处理单元109可以解密质询,并且将质询发送到用户系统的交互单元103。在本发明的一个实施例中,可以要求用户与用户系统的交互单元103交互以找到所述质询的解。在本发明的另一实施例中,用户系统的处理单元109可以对解密的质询求解。

一旦用户找到质询的解,用户解被发送到用户系统的处理单元109。用户系统的处理单元109可以基于用户解生成散列值,并且用户系统的处理单元109可以进一步向所述散列值和/或解添加对称或非对称加密。用户系统的处理单元109的处理结果(例如,散列值或加密散列值以及解或加密解)可以发送到客户端系统的处理单元135。客户端系统的处理单元135可以向客户端系统的存储单元133发送请求,以检索存储的解和/或存储的散列值。根据这样的请求,客户端系统的存储单元133将检索存储的解和/或存储的散列值,并将存储的解和/或存储的散列值发送到客户端系统的处理单元135。

客户端系统的处理单元135将解密其从用户系统的处理单元109接收到的任何加密散列值或加密解。客户端系统的处理单元135将其从用户系统的处理单元109(以未加密的形式)接收到的散列值和解以及存储的解和/或存储的has值发送到客户端系统的批准单元139以供批准。客户端系统的批准单元139将接收到的解与存储的解进行比较,和/或将接收到的散列值与存储的散列值进行比较。

如果接收到的解与存储的解匹配和/或接收到的散列值与存储的散列值匹配,那么批准单元139将向客户端系统的处理单元135发送匹配的确认。客户端系统的处理单元135将向客户端系统发送匹配的确认,以确认交易的认证已完成且成功。

如果接收到的解与存储的解匹配和/或接收到的散列值与存储的散列值匹配,那么审批单元139将向客户端系统的处理单元发送不匹配的通知。客户系统的处理单元将通知发送给客户系统,并建议客户系统不要对交易进行认证。

在本发明的另一实施例中,验证系统的处理单元可以执行根据图16为客户端系统的处理单元描述的功能。在本发明的这种实施例中,质询生成器单元和批准单元可以并入客户端系统或验证系统中,并且所述质询生成器单元和批准单元将具有根据质询生成器137和批准单元139的图16所描述的相同功能。

用于认证的系统和网络可以包括一个或多个第一对等机、一个或多个服务器和一个或多个第二对等机,每个对等机包括至少一个处理器和发射器/接收器。一个或多个第一对等机和一个或多个第二对等机可以另外包括各自的存储器。在一些实施例中,一个或多个第一对等机和一个或第二对等机中的每一个可以包括视觉显示器。一个或多个服务器还可以包括数据库。

第一对等机、第二对等机和服务器中的每一个的发射器/接收器可以被配置成从外部源发送和接收信息。在一些实施例中,第一对等机可以被配置成从服务器发送和接收信息,服务器可以被配置成从第一对等机和第二对等机发送和接收信息,第二对等机可以被配置成从服务器发送和接收信息。第一对等机和第二对等机的存储器以及服务器的数据库可以被配置成存储信息并允许检索信息。视觉显示器还可以包括用户与显示器交互的装置,例如输入数据、选择字符、选择对象等。

第一对等机、第二对等机或服务器的处理器可以包括处理迁移器、数据操纵器、数据转换器、处理生成器和处理验证器。处理迁移器可被配置为将数据从第一对等机、第二对等机或服务器内的一个组件迁移到第一对等机、第二对等机或服务器内的另一个组件。作为示例而非限制,处理迁移器可被配置成将数据从第一对等机的存储器移动到第一对等机的处理器,或从第二对等机的处理器移动到第二对等机的发射器/接收器。数据操纵器可被配置为操纵数据,例如组合、分离、分离和重组、重新排序等。通过示例而不是限制,第一对等机的数据操纵器可被配置为将一个或多个字符串分离为第一部分和第二部分,或者,服务器的数据操纵器可被配置成将数据的第一部分与数据的第二部分组合以产生单个数据包。

数据转换器可被配置成将第一字符串转换成第二字符串,其中第一字符串和第二字符串中的每一个在长度、组成或排列上的任何一个或多个方面都可以不同。在一些实施例中,数据转换器可被配置为对第一字符串应用散列算法。在其它实施例中,数据转换器可被配置成将加密协议应用于第一字符串字符。在另一实施例中,数据转换器可被配置成将解密协议应用于第一字符串字符。在其它实施例中,数据转换器可被配置成将散列算法、加密协议、解密协议或任何其它已知的数据转换方法的任意组合应用于第一字符串以产生第二字符串。

处理生成器可以被配置成产生数据。在一些实施例中,数据可以包括任意长度的一个或多个字符串,并且可以包括条形码等。在一些实施例中,数据可以以随机方式或有向方式产生。处理验证器可被配置成比较两个或多个数据并确定这些数据是否相同或不同。在一些实施例中,处理验证器和处理生成器可以配对以确定第一字符串和第二字符串是否相同,并基于第一和第二字符串的标识生成响应。

认证方法可以包括登记方法1700和用户登录方法2000。在一些实施例中,登记方法1700可包括创建一个或多个密钥、分发一个或多个密钥、在本地数据库上存储一个或多个密钥以及在服务器数据库上存储一个或多个密钥。如图17所示,登记方法1700还可以包括第一对等机1701、服务器1750和至少一个第二对等机1775之间的通信。

在登记方法1700的一些实施例中,服务器1750可以从第一对等机1701接收登记请求1702。服务器1750可以向第一对等机1701发送登记数据1751。登记数据1751可以包括登记方法1700所需的任何数据。在一些实施例中,登记数据1751可以包括客户端登记代码1703。客户登记代码1703可以由一个或多个字符组成,这些字符包括字母、数字、符号或其任何组合,并且可以由服务器1750生成。在其它实施例中,登记数据包括用户选择对象。在另一实施例中,登记数据可以包括一个或多个客户端登记代码1703、用户选择对象和登记所需的任何其它数据的组合。

登记方法1700还可以包括从用户输入1704生成服务器密钥1705和客户端密钥1706。在一些实施例中,服务器密钥1705和客户端密钥1706用于生成登记密钥1707。在其它实施例中,使用服务器密钥1705、客户端密钥1706和至少一个客户端登记代码1703来生成登记密钥1707。其它实施例可以包括用于生成登记密钥1707的客户端密钥1706、服务器密钥1705和客户端登记代码1703的不同组合。一些信息,例如客户端密钥1706、客户端登记代码1703,可以存储在第一对等机1701的存储器1708中。此外,登记方法1700可以包括将信息从第一对等机1701传送到服务器1750。在一些实施例中,登记密钥1707和服务器密钥1705被传送到服务器1750。

登记方法1700可以包括从服务器1750处的第一对等机1701接收信息。在一些实施例中,在服务器1750处接收的信息可以包括登记密钥1707和服务器密钥1705。服务器1750可以生成接收方代码1752。此外,服务器1750可以生成发送方代码1754。甚至,服务器1750可以生成分发代码1756。服务器密钥1705、接收方代码1752和发送方代码1754可用于生成分发密钥1753。在一些实施例中,分发密钥1753可以由服务器密钥1705、接收方代码1752或发送方代码1754中的任意一个或多个或其中的任意组合生成。一些信息,例如接收方代码1752、分发密钥1753,可以存储在服务器1750的数据库1757中。登记方法1700还可以包括将信息从服务器1750传送到至少一个第二对等机1775。在一些实施例中,分发密钥1753和分发代码1756被传送到至少一个第二对等机1775。

登记方法1700还可以包括在本地数据库上存储一个或多个密钥。如图17所示,至少一个第二对等机1775可以从服务器1750接收信息。在一些实施例中,信息可以包括分发密钥1753和分发代码1756。第二对等机可以生成寄存代码1776。此外,分发密钥1753和寄存代码1776可用于生成寄存密钥1777。在一些实施例中,寄存密钥1777可以仅使用分发密钥1753、仅使用寄存代码1776或分发密钥1753和寄存代码1776的任意组合来生成。一些信息,例如分发密钥1753、存放密钥1777、分发代码1756可以存储在第二对等机设备1775的存储器1758中。登记方法1700还可以包括将信息从第二对等机1775传送到服务器1750。在一些实施例中,寄存密钥1777和分发代码1756被传送到服务器1750。

登记方法1700可以包括从第二对等机1775接收信息并将所述信息存储在本地数据库中。在一些实施例中,服务器1750从第二对等机1775接收信息。接收到的信息可以包括寄存密钥1777、分发代码1756以及服务器1750存储信息或识别第二对等机1775所需的其它信息。

现在参考图18,根据一些实施例,创建一个或多个密钥1800可以发生在第一对等机1801中。第一对等机1801可以是任何iot设备,即可以连接到网络并且能够传输数据的任何设备,包括但不限于手机、个人助理、按钮、家庭安全系统、设备等。第一对等机1801可以从服务器1850请求登记。根据一些实施例,服务器1850可以向第一对等机1801发送登记数据。登记数据可以由第一对等机1801的发射器/接收器1841接收,并且可以包括在第一对等机1801处生成一个或多个密钥1800所需的任何数据。在一些实施例中,登记数据可以包括客户端登记代码1803。在其它实施例中,登记数据可以包括客户端登记代码1803和可作为用户输入1804的前体的附加数据。客户端登记代码1803可以包括任意长度的一个或多个字符串。

用户输入1804可以包括任何形式的用户生成的数据,其包括离散的信息单元。在一些实施例中,用户输入1804包括生物特征数据,例如指纹、虹膜等。在这些实施例中,生物特征数据可以被分割成包括识别符的离散信息单元。识别符可以转换为唯一选择代码1809。在其它实施例中,用户输入1804可以包括任意数量的空间和/或时间数据。空间和/或时间数据可以被分割成包含识别符的离散信息单元。识别符可以转换为唯一选择代码1809。在另一实施例中,用户输入1804可包括生物特征数据和空间和/或时间数据的组合,其中每一个可用于生成唯一选择代码1809。

在其它实施例中,用户输入1804可以包括一个或多个选择对象。一个或多个选择对象可以是图像、图标、标记、按钮或允许用户从一组选择对象中选择一个或多个选择对象的任何其它对象。在一些实施例中,选择对象可以在发射器/接收器1841处接收,并且处理迁移器1842可以将选择对象迁移到视觉显示器1843。当用户在视觉显示器1843上进行选择时,选择对象可以被转换为选择代码1809,选择代码1809可以包括任意数量的字符,例如字母、数字、符号。在特定实施例中,选择对象是可以从服务器1850接收的图像。每个图像被分配一个唯一的选择代码1809,其中,用户对选择对象的组合的选择产生用户输入1804,所述用户输入1804包括对用户对选择对象的选择唯一的选择代码1809的组合。在一些实施例中,生物特征数据、空间和/或时间数据以及选择对象的任何组合可以包括用户输入1804。

根据一些实施例,用户可以生成包括两个或多个选择代码1809的用户输入1804,其中选择代码的数目等于n。数据操纵器1844可以被配置成将选择代码分成两个或多个组。在一些实施例中,数据操纵器1844可被配置成将选择代码1809分离为第一组1810和第二组1811,其中第一组1810包含在一个和n-1个选择代码1809之间,第二组1811包含在一个和n-1个选择代码1809之间。第一组1810和第二组1811中的每个选择代码1809可由数据转换器1845单独地转换为一个或多个字符串,从而产生第一组转换的选择代码1813和第二组转换的选择代码1815。在一些实施例中,转换1812可以包括使用散列算法。在其它实施例中,转换1812可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换1812。第一组转换的选择代码1813可用于生成客户端预密钥1814。包括第一组转换的选择代码1813的单个转换的选择代码可以由数据操纵器1844组合以形成一个或多个字符串,所述字符串包括客户端预密钥1814。在一些实施例中,通过单元的串联来组合单个转换的选择代码。串联可以包括使用每个单独转换的选择代码作为单元,或者可以包括使用每个单独转换的选择代码的片段作为单元。客户端预密钥1814可由数据转换器1845将1812转换为客户端密钥1806。在一些实施例中,转换1812可以包括使用散列算法。在其它实施例中,转换1812可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换1812。客户端密钥1812可以由处理迁移器1842存储在第一对等机1801的存储器1808中。

第二组转换的选择代码1815可用于生成服务器预密钥1816。包含第二组转换选择代码1815的单个转换选择代码可由数据操纵器1844组合以形成包含服务器预密钥1816的一个或多个字符串。在一些实施例中,可以通过单元的串联来组合单个转换的选择代码。串联可以包括使用每个单独转换的选择代码作为单元,或者可以包括使用每个单独转换的选择代码的片段作为单元。服务器预密钥1816可以由数据转换器1845将1812转换为服务器密钥1805。在一些实施例中,转换1812可以包括使用散列算法。在其它实施例中,转换1812可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换1812。

根据一些实施例,可以生成登记密钥1807。数据操纵器1844可以将客户端密钥1806和服务器密钥1805中的每一个分离为客户端密钥第一部分1817、客户端密钥第二部分1818、服务器密钥第一部分1819和服务器密钥第二部分1820。在一些实施例中,客户端密钥1806可以被分成三个或更多部分。同样,服务器密钥1805可以被分成三个或更多部分。客户端密钥第一部分1817和客户端密钥第二部分1818可以包括构成客户端密钥1806的字符的不同部分。在特定实施例中,客户端密钥第一部分1817和客户端密钥第二部分1818中的每一个可以是客户端密钥1806的一半。服务器密钥第一部分1819和服务器密钥第二部分1820可以包括构成服务器密钥1805的字符的不同部分。在特定实施例中,服务器密钥第一部分1819和服务器密钥第二部分1820中的每一个可以是服务器密钥1805的一半。客户端密钥第一部分1817、客户端密钥第二部分1818、服务器密钥第一部分1819和服务器密钥第二部分1820可以由数据操纵器1844通过单元串联来组合,以形成包含第一预密钥1821的一个或多个字符串。数据操纵器1844的连接可以包括使用客户端密钥第一部分1817、客户端密钥第二部分1818、服务器密钥第一部分1819和服务器密钥第二部分1820中的每一个作为单元,或者可以包括使用客户端密钥第一部分1817、客户端密钥第二部分1818、服务器密钥第一部分1819和服务器密钥第二第1820部分作为一个单元。此外,串联可以包括使用通过分离客户端密钥1806或服务器密钥1805而生成的部分的任意组合。第一预密钥1821可由数据转换器1845转换为包含第二预密钥1822的一个或多个字符串。在一些实施例中,转换1812可以包括使用散列算法。在其它实施例中,转换1812可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换1812。第二预密钥1822可用于生成登记预密钥1823。根据一些实施例,第二预密钥1822和客户端登记代码1803可由数据操纵器1844连接以形成包含登记预密钥1823的一个或多个字符串。串联可以包括使用第二预密钥1822和客户端登记代码1803中的每一个作为单元,或者可以包括使用第二预密钥1822和客户端登记代码1803的片段作为单元。登记预密钥1823可以由数据转换器1845将1812转换为包含登记密钥1807的一个或多个字符串。在一些实施例中,转换1812可以包括使用散列算法。在其它实施例中,转换1812可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换1812。

第一对等机1801可以向服务器1850发送信息。根据一些实施例,第一对等机1801的处理迁移器1842可以将登记密钥1807和服务器密钥1805迁移到第一对等机1801的发射器/接收器1841,第一对等机1801可以将登记密钥1807和服务器密钥1805发送到服务器1850。在其它实施例中,第一对等机1801的发射器/接收器1841可以将登记密钥1807、服务器密钥1805和登记方法所需的其它信息发送到服务器1850。

登记方法还可以包括分发一个或多个密钥1900。如图19所示,服务器1950的发射器/接收器1941可以从第一对等机1901接收信息。根据一些实施例,服务器1950的发射器/接收器1941可以从第一对等机1901接收登记密钥1907。服务器1950的发射器/接收器1941可以从第一对等机1901接收服务器密钥1905。服务器1950的发射器/接收器1941可以从第一对等机1901接收登记密钥1907和服务器密钥1905。处理迁移器1942可以将登记密钥1907和服务器密钥1905迁移到服务器1950的处理器。登记密钥1907可以由处理迁移器1942存储在服务器1950的数据库1957中。服务器1950的处理生成器1946可以生成对等机列表1958。对等机列表1958可以包括网络上的对等设备的列表,例如第一对等机1901、第二对等机1975。对等机列表还可以包括接收方代码1952和分发代码1956,其可以包括任意长度的一个或多个字符串。此外,服务器1950的处理生成器1946可以生成发送方代码1954,其还可以包括任意长度的一个或多个字符串。

根据一些实施例,服务器1950可以从第一对等机1901接收登记密钥1907。登记密钥1907可用于生成任意数量的登记密钥子部分。数据操纵器可以从登记密钥1907生成登记密钥子部分。在这些实施例中,登记密钥1907可以包含等于n的任意数量的字符。每个登记密钥子部分可以包含等于n-1的任意数量或任意组合的字符。服务器1950可以生成一个或多个随机字符串。数据操纵器1944可以将每个登记子部分与一个或多个随机字符串连接起来。在一些实施例中,连接的字符串可以将1912被转换。每个生成的连接字符串或转换的连接字符串可以被发送到一个或多个第二对等机1975。

服务器1950可以从第一对等机1901接收服务器密钥1908。服务器密钥1908可用于生成任意数量的服务器密钥子部分。数据操纵器可以从服务器密钥1908生成服务器密钥子部分。在这些实施例中,服务器密钥1908可包含等于n的任意数量的字符。每个服务器密钥子部分可包含等于n-1的任意数量或任意组合的字符。服务器1950可以生成一个或多个随机字符串。服务器密钥子部分中的每一个可以由数据操纵器1944与一个或多个随机字符串连接。在一些实施例中,连接的字符串可以将1912被转换。每个生成的连接字符串或转换的连接字符串可以被发送到一个或多个第二对等机1975。

服务器1950的数据操纵器1944可以通过组合服务器密钥1905、接收方代码1952、发送方代码1954、分发代码1956或登记密钥1907的任意组合来生成分发预密钥1959。在一些实施例中,分发预密钥由服务器密钥1905、发送方代码1954和接收方代码1952组成,这些密钥可以通过单元串联来组合以形成一个或多个字符串。串联可以包括使用服务器密钥1905、发送方代码1954和接收方代码1952中的每一个作为单元,或者可以包括使用服务器密钥1905、发送方代码1954和接收方代码1952中的每一个作为单元。分发预密钥1959可由数据转换器1945在1912转换为包含分发密钥1953的一个或多个字符串。在一些实施例中,转换1912可以包括使用散列算法。在其它实施例中,转换1912可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换1912。分发密钥1953可以由处理迁移器1942存储在服务器1950的数据库1957中。服务器1950可以被配置成向第二对等机1975发送信息。在一些实施例中,服务器1950的处理迁移器1942可以将分发密钥1953和分发代码1956迁移到服务器1950的发射器/接收器1941。在其它实施例中,服务器1950的发射器/接收器1941可以将分发密钥1953、分发代码1956和登记方法所需的其它信息发送到第二对等机1975。在一些实施例中,服务器1950可以在服务器1950的数据库1957中存储登记密钥1907、服务器密钥1905和分发密钥1953的任意组合。

服务器1950可以生成多于一个分发密钥1953并将数据发送到多于一个第二对等机1975。在一些实施例中,对等机列表1958可以包括网络上的多于一个第二对等机1975的列表。第二对等机可以包括任何iot设备、服务器或网络上能够从服务器1950发送和接收数据的任何设备。服务器1950可以为第二对等机1975生成唯一的分发代码1956。服务器1950可以为第二对等机1975生成唯一的接收方代码1952。在这些实施例中,为每个第二对等机1975创建的分发密钥1953可以不同于为其它第二对等机1975创建的分发密钥1953,尽管从第一对等机1901接收的底层服务器密钥1905可以相同。

根据一些实施例,登记密钥1907可用于生成分发预密钥1959。在这些实施例中,登记密钥1907、发送方代码1954、接收方代码1952和服务器密钥1905的任意组合可用于生成分发前密钥1959。

现在参考图17,登记方法1700可以包括在本地数据库上存储一个或多个密钥。根据一些实施例,第二对等机1775可以被配置成通过第二对等机1775的发射器/接收器接收和发送信息到服务器1750。第二对等机1775可以通过第二对等机1775的发射器/接收器从服务器1750接收分发密钥1753。第二对等机1775可以从服务器1750接收分发代码1756。在一些实施例中,第二对等机1775可以从服务器1750接收分发密钥1753和分发代码1756。分发密钥1753和分发代码1756可以存储在第二对等机1775的存储器1778中。第二对等机1775可以生成寄存代码1776。寄存代码1776可以是任意长度的一个或多个字符串,并且可以随机方式生成。或者,寄存代码1776可以由服务器1750生成并由第二对等机1775接收。寄存代码1776和分发密钥1753可以通过单元的串联来组合以形成一个或多个包含寄存预密钥1779的字符串。串联可以包括使用寄存代码1776和分发密钥1753中的每一个作为单元,或者可以包括使用寄存代码1776和分发密钥1753中的每一个作为单元。寄存预密钥1779可以被转换成1712,成为包含寄存密钥1777的一个或多个字符串。在一些实施例中,转换1712可以包括使用散列算法。在其它实施例中,转换1712可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换1712。寄存密钥1777可以存储在第二对等机1775的存储器1778中。在一些实施例中,第二对等机1775可以向服务器1750发送寄存密钥1777和分发代码1756。在其它实施例中,第二对等机1775可以将寄存密钥1777、分发代码1756和登记方法1700所需的任何其它信息发送到服务器1750。

登记方法1700还可以包括在服务器数据库上存储一个或多个密钥。如图19所示,服务器1950的发射器/接收器1941可以从第二对等机1975接收信息。在一些实施例中,服务器1950的发射器/接收器1941可以接收分发代码1956。在一些实施例中,服务器1950的发射器/接收器1941可以接收寄存密钥1977。在其它实施例中,服务器1950的发射器/接收器1941可以接收分发代码1956和寄存密钥1977。在另一实施例中,服务器1950的发射器/接收器1941可以接收分发代码1956、寄存密钥1977和登记方法所需的任何其它信息。分发代码1956和寄存密钥1977可由处理迁移器1942存储在服务器1950的数据库1957中。

在特定实施例中,登记方法1700可包括创建一个或多个密钥、分发一个或多个密钥、在本地数据库上存储一个或多个密钥以及在服务器数据库上存储一个或多个密钥。如图17所示,登记方法1700可以从来自第一对等机1701的登记请求1702开始。登记请求1702可以发送到一个或多个服务器1750并由其接收。一个或多个服务器可以将登记数据1751发送到第一对等机1701。现在参考图18,特定实施例可以包括从服务器1850接收登记数据的第一对等机1801。登记数据可以包括客户端登记代码1803和一个或多个选择对象。客户端登记代码1803可以包括一个8位字符的字符串。选择对象可以包括多个图像。在特定实施例中,选择对象可以包括等于60的多个选择对象。每个选择对象可以包含唯一的选择代码1809。选择代码1809可以包括一个或多个字符串,并且在特定实施例中,每个选择代码可以包括五个字符的字符串。用户可以从服务器1850接收的选择对象中选择多个选择对象。在特定实施例中,用户可以选择六个选择对象。用户对选择对象的选择可以生成包括选择代码1809的集合的用户输入1804,选择代码1809可以通过选择与每个选择代码1809相关联的特定选择对象来选择。在特定实施例中,用户输入1804包括六个、五个字符的选择代码1809。

用户输入1804可以分为第一组1810和第二组1811。在特定实施例中,第一组1810和第二组1811中的每一个包括三个不同的选择代码1809。包括第一组1810和第二组1811的每个选择代码1809可以将1812被转换成一个或多个字符串。在特定实施例中,每个选择代码1809可以使用散列算法来转换,并且可以分别集体地包括第一组转换的选择代码1813和第二组转换的选择代码1815。第一组转换的选择代码1813和第二组转换的选择代码1815中的每一个可以组合以分别生成客户端预密钥1814和服务器预密钥1816中的每一个。在特定实施例中,包括第一组转换的选择代码1813的三个转换的选择代码可以被连接以产生一个或多个包含客户端预密钥1814的字符串。同样,包括第二组转换选择代码1815的三个转换选择代码可以被连接以产生一个或多个包含服务器预密钥1816的字符串。客户端预密钥1814和服务器预密钥1816可以分别将1812转换为客户端密钥1806和服务器密钥1805。在特定实施例中,转换1812包括使用散列算法。

可以使用客户端密钥1806、服务器密钥1805和客户端登记代码1803的组合来生成登记密钥1807。在特定实施例中,客户端密钥1806和服务器密钥1805分别被分为第一部分1817和1819以及第二部分1818和1820。第一预密钥1821可以通过串联来形成一个或多个字符串,通过组合客户端密钥1806的任何部分和服务器密钥1805的任何部分来生成。第一预密钥1821可以将1812被转换成包含第二预密钥1822的一个或多个字符串。在特定实施例中,转换1812包括使用散列算法。登记预密钥1823可以通过合并客户端登记代码1803和第二预密钥1822来生成,其方法是串联以形成一个或多个字符串。登记预密钥1823可以被转换为登记密钥1807,其中转换1812包括使用散列算法。在特定实施例中,客户端密钥1806和客户端登记代码1803可以存储在第一对等机1801的存储器1808中。此外,服务器密钥1805和登记密钥1807可以被发送到一个或多个服务器1850。

登记方法可以包括分发一个或多个密钥。在图19所示的特定实施例中,服务器1950可以从第一对等机1901接收登记密钥1907和服务器密钥1905。登记密钥可以存储在服务器1950的数据库1957中。服务器1950可以生成对等机列表1958,其可以包括网络上的第二对等机列表1975。对于第二对等机1975中的每一个,服务器1950可以生成接收方代码1952和分发代码1956。在特定实施例中,接收方代码1952和分发代码1956对于特定的第二对等机1975和特定交易都是唯一的。另外,服务器1950可以生成特定服务器1950所独有的发送方代码1954。在特定实施例中,可以通过串联来组合接收方代码1952、发送方代码1954和服务器密钥1905,以产生包含分发预密钥1959的一个或多个字符串。分发密钥1959可以在1912转换为分发密钥1953。在特定实施例中,转换1912可以包括使用散列算法。在一些实施例中,可以生成多个唯一分发密钥1953,每个密钥包括不同的接收方代码1952,并且具有来自对等机列表1958的不同的关联分发代码1956,其中每个唯一分发密钥1953可以最终发送到不同的第二对等机1975。在特定实施例中,从相同的服务器密钥1905生成多个唯一分发密钥1953,并且在网络上将每个唯一分发密钥1953发送到单独的第二对等机1975。

登记方法还可以包括在本地数据库上存储一个或多个密钥,如图17所示。在特定实施例中,第二对等机1775可以从服务器1750接收分发密钥1753和分发代码1756。在本实施例中,第二对等机1775可以是网络中的多个第二对等机1775中的一个,以接收来自上述第一对等机1701和服务器1750之间的相同交易的分发密钥1753和分发代码1756。第二对等机1775可以将分发密钥1753和分发代码1756存储在第二对等机1775的存储器1778中。此外,第二对等机1775可以生成寄存代码1776。在特定实施例中,寄存代码1776包括8个字符的单个字符串。寄存代码1776和分发密钥1753可以通过串联来组合以产生包含寄存预密钥1779的一个或多个字符串。寄存预密钥1779可以被1712转换为寄存预密钥1777。在特定实施例中,转换1712包括使用散列算法。第二对等机1775可以向一个或多个服务器1750发送信息。在特定实施例中,多个第二对等机1775可以向服务器1750发送信息。信息可以包括分发代码1756、寄存密钥1777和执行登记处理1700所需的任何其它信息。

登记方法1700可以包括在服务器数据库上存储一个或多个密钥。在一些实施例中,服务器1750可以被配置成从一个或多个第二对等机1775接收信息。在特定实施例中,服务器1750可以从多个第二对等机1775接收信息,该信息包括分发代码1756和寄存密钥1777。服务器1750可以将分发代码1756存储并将密钥1777存储在数据库1757中。现在参考图19,分发代码1956和寄存密钥1977可以存储在存储在数据库1957中的对等机列表1958中。在特定实施例中,分发代码1956和寄存密钥1977与存储的分发密钥1953和接收方代码1952配对,存储的分发密钥1953和接收方代码1952可以特定于第一对等机1901、服务器1950和特定第二对等机1975之间进行的交易。

认证方法可以包括登录方法,如图20所示。登录方法2000可以包括创建一个或多个登录密钥、分发一个或多个验证密钥、验证本地数据库中的验证密钥以及验证验证过程。另外,登录方法2000可以包括一个或多个第一对等机2001、一个或多个服务器2050和一个或多个第二对等机2075之间的通信。

登录方法2000可以包括第一对等机2001,其中第一对等机可以被配置成与用户交互。第一对等机2001可以请求登录2002,并且登录请求2002可以被发送到一个或多个服务器2050。服务器2050可以接收登录请求2002并生成登录数据2051。在一些实施例中,登录数据2051可以包括登录salt2024。登录salt可以由一个或多个字符组成,这些字符包括字母、数字、符号或其任何组合。在一些实施例中,登录数据2051可以包括用户选择对象。在其它实施例中,登录数据2051可以包括一个或多个登录salt2024和用户选择对象,以及登录方法2000所需的任何其它数据。

创建一个或多个登录密钥还可以包括从用户输入2004生成服务器密钥2005和客户端密钥2006。在一些实施例中,服务器密钥2005和客户端密钥2006可用于生成登录密钥2099。在其它实施例中,服务器密钥2005、客户端密钥2006和至少登录salt2024可用于生成登录密钥2099。其它实施例可以包括用于生成登录密钥2099的客户端密钥2006、服务器密钥2005和登录salt2024的不同组合。一些信息,例如客户端密钥2006、登录salt2024,可以存储在第一对等机2001的存储器2008中。此外,创建一个或多个登录密钥可以包括将信息从第一对等机2001传送到服务器2050。在一些实施例中,登录密钥2099和服务器密钥2005被传送到服务器2050。

如图20所示,分发一个或多个验证密钥可以包括从服务器2050处的第一对等机2001接收信息。在一些实施例中,在服务器2050接收的信息可以包括登录密钥2099和服务器密钥2005。服务器2050可以生成接收方代码2052。此外,服务器2050可以生成发送方代码2054。甚至,服务器2050可以生成分发代码2056。服务器密钥2005、接收方代码2052和发送方代码2054可用于生成验证密钥2062。在一些实施例中,验证密钥2062可以由一个或多个服务器密钥2005、接收方代码2052、验证salt2024或发送方代码2054或其中的任何组合生成。一些信息,例如接收方代码2052、验证密钥2062,可以存储在服务器2050的数据库2057中。在一些实施例中,验证密钥2062可以不存储在服务器2050的数据库2057中。分发一个或多个验证密钥还可以包括将信息从服务器2050传送到至少一个第二对等机2075。在一些实施例中,验证密钥2062和分发代码2056被传送到至少一个第二对等机2075。

登录方法2000还可以包括在本地数据库上验证一个或多个验证密钥。如图20所示,至少一个第二对等机2075可以从服务器2050接收信息。在一些实施例中,信息可以包括验证密钥2062和分发代码2056。在其它实施例中,信息可以包括验证密钥2062、分发代码2056和验证salt2063。第二对等机2075可以使用分发代码2056和验证密钥2062的任意组合来定位和确认对应的分发密钥可以存储在第二对等机2075的存储器2078中。存储的分发密钥可用于生成确认密钥2081。在一些实施例中,从服务器2050接收的存储分发密钥2053和验证salt2063可用于生成确认密钥2081。第二对等机2075可以向服务器2050发送信息,该服务器2050可以包括确认密钥2081、分发代码2056和登录方法2000可能需要的任何其它信息的任何组合。

证实验证过程可以包括从第二对等机2075接收信息,并将接收到的信息与存储在服务器2050的数据库2057中的信息进行比较。在一些实施例中,服务器2050从第二对等机2075接收信息。接收到的信息可以包括确认密钥2081、结果、分发代码2056和服务器2050存储或比较信息或识别第二对等机2075所需的其它信息。

如图21所示,根据一些实施例,创建一个或多个登录密钥2100可以发生在第一对等机2101中。第一对等机2101可以是任何iot设备,即可以连接到网络并且能够传输数据的任何设备,包括但不限于手机、个人助理、按钮、家庭安全系统、设备等。第一对等机2101可以从服务器2150请求登录。根据一些实施例,服务器2150的发射器/接收器可以向第一对等机2101发送登录数据。登录数据可以由第一对等机2101的发射器/接收器2141接收,并且可以包括在第一对等机2101处发起登录方法所需的任何数据。在一些实施例中,登录数据可以包括登录salt2124。在其它实施例中,登录数据可以包括登录salt2124和可作为用户输入2104的前体的附加数据。登录salt2124可以包括任意长度的一个或多个字符串。

如图21所示,用户输入2104可以包括任何形式的用户生成的数据,其包括离散的信息单元。在一些实施例中,用户输入2104包括生物特征数据,例如指纹、虹膜等。在这些实施例中,生物特征数据可以被分割成包括识别符的离散信息单元。识别符可以转换为唯一选择代码2109。

在其它实施例中,用户输入2104可以包括一个或多个选择对象。一个或多个选择对象可以是图像、图标、标记、按钮或允许用户从一组选择对象中选择一个或多个选择对象的任何其它对象。选择对象可以显示在第一对等机2101的视觉显示器2143上,并且可以被转换为选择代码2109,选择代码2109可以包括任意数量的字符,例如字母、数字、符号。在特定实施例中,选择对象是可以从服务器2150接收的图像。每个图像被分配一个唯一的选择代码2109,其中,用户对选择对象的组合的选择产生用户输入2104,该用户输入2104包括对用户对选择对象的选择唯一的选择代码2109的组合。

根据一些实施例,用户可以生成包含两个或更多选择代码2109的用户输入2104,其中选择代码的数目等于n。选择代码2109可以由数据操纵器2144分离为第一组2110和第二组2111,其中,第一组2110包括一个和n-1个选择代码2109之间,第二组2111包括一个和n-1个选择代码2109之间。第一组2110和第二组2111中的每个选择代码2109可由数据转换器2145单独转换为一个或多个字符串,从而产生第一组转换的选择代码2113和第二组转换的选择代码2115。在一些实施例中,转换2112可以包括使用散列算法。在其它实施例中,转换2112可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换2112。第一组转换的选择代码2113可用于生成客户端预密钥2114。包括第一组转换的选择代码2113的单个转换的选择代码可由数据操纵器2144组合以形成一个或多个包含客户端预密钥2114的字符串。在一些实施例中,可以通过单元的串联来组合单个转换的选择代码。串联可以包括使用每个单独转换的选择代码作为单元,或者可以包括使用每个单独转换的选择代码的片段作为单元。客户端预密钥2114可以由数据转换器2145转换为客户端密钥2106。在一些实施例中,转换2112可以包括使用散列算法。在其它实施例中,转换2112可以包括使用加密方法。然而其它实施例可包括使用散列算法和加密方法的组合的转换2112。客户端密钥2106可以由处理迁移器2147存储在第一对等机2101的存储器单元2108中。由登录方法生成的客户端密钥2106可以由处理验证器2147与存储在第一对等机2101的存储器2108中的客户端密钥2106在身份的登记处理期间进行比较。

第二组转换的选择代码2115可用于生成服务器预密钥2116。包括第二组转换的选择代码2115的单个转换的选择代码可由数据操纵器2144组合以形成一个或多个包含服务器预密钥2116的字符串。在一些实施例中,可以通过单元的串联来组合单个转换的选择代码。串联可以包括使用每个单独转换的选择代码作为单元,或者可以包括使用每个单独转换的选择代码的片段作为单元。服务器预密钥2116可以由数据转换器2145将2112转换为服务器密钥2105。在一些实施例中,转换2112可以包括使用散列算法。在其它实施例中,转换2112可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换2112。

根据一些实施例,可以生成登录密钥2199。数据操纵器2144可以将客户端密钥2106和服务器密钥2105中的每一个分离为客户端密钥第一部分2117、客户端密钥第二部分2118、服务器密钥第一部分2119和服务器密钥第二部分2120。客户端密钥第一部分2117和客户端密钥第二部分2118可以包括构成客户端密钥2106的字符的不同部分。在特定实施例中,客户端密钥第一部分2117和客户端密钥第二部分2118中的每一个可以是客户端密钥2106的一半。服务器密钥第一部分2119和服务器密钥第二部分2120可以包括构成服务器密钥2105的字符的不同部分。在特定实施例中,服务器密钥第一部分2119和服务器密钥第二部分2120中的每一个可以是服务器密钥2105的一半。客户端密钥第一部分2117、客户端密钥第二部分2118、服务器密钥第一部分2119和服务器密钥第二部分2120可以由数据操纵器2144通过单元的串联来组合以形成包含第一预密钥2121的一个或多个字符串。串联可以包括使用客户端密钥第一部分2117、客户端密钥第二部分2118、服务器密钥第一部分2119和服务器密钥第二部分2120中的每一个作为单元,或者可以包括使用客户端密钥第一部分2117、客户端密钥第二部分2118、服务器密钥第一部分2119和服务器密钥第二部分2120中的每一个作为单元。

第一预密钥2121可由数据转换器2145将2112转换为包含第二预密钥2122的一个或多个字符串。在一些实施例中,转换2112可以包括使用散列算法。在其它实施例中,转换2112可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换2112。第二预密钥2122可用于生成登记预密钥2123。根据一些实施例,第二预密钥2122和客户端登记代码2103可由数据操纵器2144连接以形成一个或多个包含登记预密钥2123的字符串。串联可以包括使用第二预密钥2122和客户端登记代码2103中的每一个作为单元,或者可以包括使用第二预密钥2122和客户端登记代码2103的片段作为单元。在登记过程中,处理迁移器2142可以将客户端登记代码2103存储在第一对等机2101的存储器2108中。登记预密钥2123可由数据转换器2144将2112转换为包含登记密钥2107的一个或多个字符串。在一些实施例中,转换2112可以包括使用散列算法。在其它实施例中,转换2112可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换2112。在一些实施例中,登记密钥2107可以与由第一对等机1701在登记方法1700期间生成的登记密钥1707相同,如图17所示。回到图21,可以使用登记密钥2107来生成登录密钥2199。在一些实施例中,使用登记密钥2107和登录salt2124来生成登录密钥2199。登记密钥2107和登录salt2024可由数据操纵器2144连接以形成包含登录预密钥2198的一个或多个字符串。串联可以包括使用登记密钥2107和登录salt2024中的每一个作为单元,或者可以包括使用登记密钥2107和登录salt2024的片段作为单元。登录预密钥2198可用于生成登录密钥2199。在一些实施例中,登录预密钥2198可由数据转换器2145转换为登录密钥2199。在一些实施例中,转换2112可以包括使用散列算法。在其它实施例中,转换2112可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换2112。

第一对等机2101可以向服务器2150发送信息。根据一些实施例,第一对等机2101的发射器/接收器2141可以向服务器2150发送登录密钥2199和服务器密钥2105。在其它实施例中,第一对等机2101的发射器/接收器2141可将登录密钥2199、服务器密钥2105和登录方法所需的其它信息发送到服务器2150。

登录方法还可以包括分发一个或多个验证密钥。如图22所示,服务器2250可以从第一对等机2201接收信息。根据一些实施例,服务器2250的发射器/接收器2241可以从第一对等机2201接收登录密钥2299。服务器2250的发射器/接收器2241可以从第一对等机2201接收服务器密钥2205。服务器2250的发射器/接收器2241可以从第一对等机2201接收登录密钥2299和服务器密钥2205。在一些实施例中,服务器2250可以生成比较登录密钥2260。可以使用在登记方法期间存储在服务器2250的数据库2257中的登记密钥2207来生成比较登录密钥2260。服务器2250的处理迁移器2242可以从数据库2257迁移登记密钥2207和登录salt2224。服务器2250的数据操纵器2244可以通过串联来组合登记密钥2207和登录salt2224以生成比较登录预密钥。数据转换器2245可以将比较登录预密钥2212转换为比较登录密钥2260。在一些实施例中,转换2212可以包括使用散列算法。在其它实施例中,转换2212可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换2212。服务器2250的处理验证器2247可以将比较登录密钥2260与第一对等机2201发送的登录密钥2299进行比较,以确定是否可以与第一对等机2201通信。

处理迁移器2242可以将登录密钥2299存储在服务器2250的数据库2257中。服务器可以使用数据迁移器2242访问先前存储的对等机列表2258。存储的对等机列表2258可以包括网络上的对等设备的列表,例如第一对等机2201、第二对等机2275。对等机列表还可以包括接收方代码2252和分发代码2256,其可以包括任意长度的一个或多个字符串。另外,服务器2250的处理生成器2246可以生成发送方代码2254,其还可以包括任意长度的一个或多个字符串。

服务器2250的数据操纵器2244可以通过组合服务器密钥2205、接收方代码2252、发送方代码2254、分发代码2256或登录密钥2299的任意组合来生成分发预密钥2259。在一些实施例中,分发预密钥2259由服务器密钥2205、发送方代码2254和接收方代码2252组成,这些密钥可以通过单元的串联来组合以形成一个或多个字符串。串联可以包括使用服务器密钥2205、发送方代码2254和接收方代码2252中的每一个作为单元,或者可以包括使用服务器密钥2205、发送方代码2254和接收方代码2252的片段作为单元。分发预密钥2259可以由数据转换器2245将2212转换为包含分发密钥2253的一个或多个字符串。在一些实施例中,转换2212可以包括使用散列算法。在其它实施例中,转换2212可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换2212。分发密钥2253可以存储在服务器2250的数据库2257中。可由服务器2250的数据操纵器2244生成验证预密钥2261。在一些实施例中,由服务器2250的处理生成器2246生成并包含任意数量的字符的分发密钥2253和验证salt2263可以串联以生成验证预密钥2261。验证预密钥2261可由数据转换器2245将2112转换为验证密钥2262。在一些实施例中,转换2212可以包括使用散列算法。在其它实施例中,转换2212可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换2212。

服务器2250可以被配置成向第二对等机2275发送信息。在一些实施例中,服务器2250的发射器/接收器2241可以将验证密钥2262和分发代码2256发送到第二对等机2275。在其它实施例中,服务器2250的发射器/接收器2241可以将验证密钥2262、分发代码2256、验证salt2263和登录方法2000所需的其它信息发送到第二对等机2275。在一些实施例中,服务器2250可以将分发密钥2253、验证salt2263和分发代码2256的任意组合发送到第二对等机2275。

服务器2250可以生成多个验证密钥2262,并且向多个第二对等机2275发送数据。在一些实施例中,对等机列表2258可以包括网络上多于一个第二日对等机2275的列表。第二对等机可以包括任何iot设备、服务器或网络上能够从服务器2250发送和接收数据的任何设备。服务器2250可以为每个第二对等机2275生成唯一的分发代码2256。服务器2250可以为每个第二对等机2275生成唯一的接收方代码2252。在这些实施例中,为每个第二对等机2275创建的验证密钥2262可以不同于为其它第二对等机2275创建的验证密钥2262,尽管从第一对等机2201接收的底层服务器密钥2205可以相同。验证密钥2262可以存储在服务器2250的数据库2257中,也可以不存储在数据库2257中。

现在参考图23,登录方法可以包括验证本地数据库上的一个或多个登录密钥。根据一些实施例,第二对等机2375可被配置成接收信息并将信息发送到服务器2350。第二对等机2375的发射器/接收器2341可以从服务器2350接收验证密钥2362。第二对等机2375的发射器/接收器2341可以从服务器2350接收分发代码2356。在一些实施例中,第二对等机2375的发射器/接收器2341可以从服务器2350接收验证密钥2362、分发代码2356和验证salt2363。处理验证器2347可以将分发代码2356与存储在第二对等机2375的存储器2378中的所有分发代码2356进行比较。如果从服务器2350接收到的分发代码2356与存储在第二对等机2375的存储器2378中的分发代码2356相同,那么第二对等机2375的处理生成器2346可以产生肯定的结果2382。如果第二对等机2375接收到的分发代码2356与存储在第二对等机2375的存储器2378中的分发代码2356不相同,那么第二对等机2375的处理生成器2346可以产生否定的结果2382。在一些实施例中,验证密钥2362还用于定位相同的分发代码2356。如果第二对等机2375确定存储在第二对等机2375的存储器2378中的一个或多个分发代码2356与从服务器2350接收的分发代码2356相同,然后,第二对等机2375的处理迁移器2342可以从存储器2378中移除与匹配的分发代码2356相关联的分发密钥2353。从第二对等机2375的存储器2378中移除的分发密钥2353和验证salt2363可由数据操纵器2344用于通过串联生成确认预密钥2380。确认预密钥2380可由数据转换器2345将2312转换为确认密钥2381。在一些实施例中,转换2312可以包括使用散列算法。在其它实施例中,转换2312可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换2312。

在一些实施例中,第二对等机2375可以从服务器2350接收分发密钥和验证salt2363。第二对等机2375可通过将分发密钥和验证salt2363串联以生成验证预密钥,在第二对等机2375处生成验证密钥2362。可将验证预密钥2312转换为验证密钥2362。

在一些实施例中,第二对等机2375可以生成比较验证密钥2383。第二对等机2375可以通过将存储的分发密钥2353和从服务器2350接收的验证salt2363串联以生成比较验证预密钥来生成比较验证密钥2383。比较验证预密钥可以被转换为比较验证密钥2312。在一些实施例中,处理验证器2347可以将比较验证密钥2383与接收到的验证密钥2362进行比较,并且可以生成结果2382。在一些实施例中,结果2382可以包括将验证密钥2362与比较验证密钥2383进行比较产生的结果,以及将接收到的分发代码2356与存储的分发代码2356进行比较产生的结果。确认密钥2381可以由从第二对等机2375的存储器2378检索的验证salt2363和存储密钥2377生成。寄存密钥2377和验证salt2363可由数据操纵器2344串联以生成确认预密钥2380。确认预密钥2380可以转换为2312到确认密钥2381。确认密钥2381、分发代码2356和结果2382的任意组合可以从第二对等机2375发送到服务器2350。

第二对等机2375可以被配置成向服务器2350发送数据。在一些实施例中,第二对等机2375的发射器/接收器2341可以将结果2382、分发代码2356和确认密钥2381的任意组合发送到服务器2350。在一些实施例中,第二对等机2375可被配置为删除与交易相关联的所有数据。在特定实施例中,第二对等机2375可以从第二对等机2375的存储器2378或第二对等机2375的处理器中删除分发代码2356、寄存密钥2377、分发密钥2353、验证密钥2362、验证salt2326、确认预密钥2380和确认密钥2381的任意组合。在一些实施例中,数据的删除可以与向服务器2350发送数据同时发生。在其它实施例中,在向服务器2350发送数据之后,可以发生数据删除。

现在参考图24,登录方法可以进一步包括证实验证过程2400。服务器2450可以被配置为从一个或多个第二对等机2475接收数据。在一些实施例中,服务器2450的发射器/接收器2441可以接收确认密钥2481、结果2482和分发代码2456的任意组合。服务器2450可以确认从第二对等机2475接收的结果2482。在结果为肯定的情况下,服务器2450的处理验证器2447可以将从第二对等机2475接收的分发代码2456与存储在服务器2450的数据库2457中的所有或一些分发代码2456进行比较。如果存储在服务器2450的数据库2457中的分发代码2456与从第二对等机2475接收的分发代码2456相同,那么服务器2450的处理迁移器2442可以检索验证salt2463和分发密钥2453的任何组合,所述组合可以与分发代码2456关联并存储在服务器2450的数据库2457。在一些实施例中,检索到的分发密钥2453可以是在登记过程中存储的分发密钥2453。数据操纵器2444可以使用检索到的验证salt2463和检索到的分发密钥2453,通过验证salt2463和分发密钥2453的串联来生成验证预密钥2461。验证预密钥2461可由数据转换器2445将2412转换为验证密钥2462。在一些实施例中,转换2412可以包括使用散列算法。在其它实施例中,转换2412可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换2412。

服务器2450的处理验证器2447可以将生成的验证密钥2462与从第二对等机2475接收的确认密钥2481进行比较,并且处理生成器2246可以生成认证结果2464。如果验证密钥2462与从第二对等机2475接收的确认密钥2481相同,那么结果可能是肯定的,例如验证成功。如果验证密钥2462与从第二对等机2475接收的确认密钥2481不同,那么验证结果2464可以是否定的,例如验证失败或威胁。服务器2450的处理迁移器2442可以将认证结果2464存储在数据库2457中。在一些实施例中,认证结果2464与在登记方法期间生成的关联分发密钥2453一起存储。

服务器2450可以向一个或多个第二对等机2475发送新的分发密钥2453。现在参考图19,服务器1950可以在服务器1950的数据库1957中生成新的对等机列表1958。在一些实施例中,服务器1950可以分配新的接收方代码1952和新的分发代码1956的任意组合,并使用新的接收方代码1952和新的分发代码1956的任意组合来生成新的分发密钥1953,其方法可以与分发一个或多个分发密钥1900相同。服务器1950可以将新生成的分发密钥1953发送到第二对等机1975,第二对等机1975不同于先前存储分发密钥1953的第二对等机1975。

网络认证方法可以包括生成条形码、生成一个或多个密钥以及建立网络会话。此外,网络认证系统可以包括一个或多个第一设备、第二设备、第一服务器、第二服务器和互联网应用之间的通信。一个或多个第一设备、第二设备、第一服务器和第二服务器可以包括至少一个处理器和发射器/接收器。一个或多个第一设备和一个或多个第二设备可以另外包括各自的存储器。在一些实施例中,一个或多个第一设备和一个或第二设备中的每一个可以包括视觉显示器。一个或多个第一设备和一个或第二设备中的每一个可以包括扫描条形码的装置。一个或多个第一服务器和第二服务器可以另外包括数据库。

第一设备、第二设备、第一服务器和第二服务器的发射器可以被配置成从外部源发送和接收信息。在一些实施例中,第一设备可被配置成从第二设备、第一服务器和第二服务器的任何组合发送和接收信息。第一服务器和第二服务器可以配置为从第一设备和第二设备发送和接收信息,第二设备可以配置为从第一服务器、第一设备和第二服务器发送和接收信息。第一设备和第二设备的存储器以及服务器的数据库可以被配置成存储信息并允许检索信息。视觉显示器还可包括用户与显示器交互的装置,例如输入数据、选择字符、选择对象等。互联网应用程序可被配置成从第一服务器、第二服务器、第一设备和第二设备的任何组合发送或接收信息。

第一设备、第二设备、第一服务器和第二服务器的处理器可以包括处理迁移器、数据操纵器、数据转换器、处理生成器和处理验证器。处理迁移器可被配置为将数据从第一设备、第二设备或第一或第二服务器内的一个组件迁移到第一设备、第二设备或第一或第二服务器内的另一个组件。作为示例而非限制,处理迁移器可被配置成将数据从第一设备的存储器移动到第一设备的处理器,或从第二设备的处理器移动到第二设备的发射器/接收器。数据操纵器可以被配置为操纵数据,例如组合、分离、分离和重组、重新排序等。例如,而不是限制,第一设备的数据操纵器可以被配置为将一个或多个字符串分离为第一部分和第二部分,或者,服务器的数据操纵器可以被配置成将数据的第一部分与数据的第二部分组合以产生一个或多个字符串。

数据转换器可被配置成将第一字符串转换成第二字符串,其中第一字符串和第二字符串中的每一个在长度、构图或排列上的任何一个或多个方面都可以不同。在一些实施例中,数据转换器可被配置为对第一字符串应用散列算法。在其它实施例中,数据转换器可被配置成将加密协议应用于第一字符串字符。在另一实施例中,数据转换器可被配置成将解密协议应用于第一字符串字符。在其它实施例中,数据转换器可被配置成将散列算法、加密协议、解密协议或任何其它已知的数据转换方法的任意组合应用于第一字符串以产生第二字符串。

处理生成器可以被配置成产生数据。在一些实施例中,数据可以包括任意长度的一个或多个字符串,并且可以包括条形码等。在一些实施例中,数据可以以随机方式或定向方式产生。处理验证器可被配置成比较两个或多个数据并确定这些数据是否相同或不同。在一些实施例中,处理验证器和处理生成器可以配对以确定第一字符串和第二字符串是否相同,并基于第一和第二字符串的识别生成响应。

网络认证方法可以包括生成条形码,如图25所示。可以在互联网应用程序2590处开始生成条形码2500。在一些实施例中,用户可以使用登录请求在互联网应用程序2590处开始生成条形码2500。第一协商协议对2646可以由处理生成器2646生成。在一些实施例中,第一协商协议对2646可以由互联网应用程序2590处的处理生成器2646生成。第一密钥协商协议对2526可以包括所属领域的一般技术人员容易知道的任何密钥协商协议对。在一些实施例中,第一密钥协商协议对2526可以包括椭圆曲线diffie-hellman(ecdh)对。根据一些实施例,互联网应用程序2590可以被配置成向第一服务器2525发送信息。处理迁移器2642可以将信息传送到互联网应用程序2590的发射器/接收器2541。互联网应用程序2590可以发送第一公开密钥2503、第一私有密钥2504和生成条形码2505所需的任何其它信息的任意组合。

在一些实施例中,第一服务器2525可被配置成从互联网应用程序2590接收信息。第一服务器2525的发射器/接收器2541可以接收第一公开密钥2503、第一私有密钥2504和用于从互联网应用程序2590生成条形码2500的任何其它必要信息的任何组合。第一服务器2525可以生成随机密钥2527,并且可以由第一服务器2525的处理生成器2646生成随机密钥2527。随机密钥2527可以包括任意长度的一个或多个字符串,并且字符可以包括字母、数字和符号。在一些实施例中,可以生成条形码2505。处理生成器2546可以使用条形码前体来生成条形码2505。条形码2505可以包括任何类型的条形码2505,包括但不限于任何线性条形码、二维条形码或所属领域的一般技术人员容易知道的任何类型的可读指示。在一些实施例中,条形码2505可以包括qr码。可以从第一公开密钥2503、第一私有密钥2504、随机密钥2527和生成条形码2500所需的任何其它信息的任意组合生成条形码2505。在特定实施例中,条形码2505可以由第一服务器2525的数据操纵器2544生成,并且可以基于第一公开密钥2503和随机密钥2527。第一服务器2525可以被配置成将信息传送到互联网应用程序2590。在一些实施例中,第一服务器2525的发射器/接收器2541可以向互联网应用程序2590发送信息。在特定实施例中,第一服务器2525可以向互联网应用程序2590发送条形码2505。互联网应用程序2590可以在发射器/接收器2541处接收条形码2505,并且可以在互联网应用程序2590的视觉显示器2590处显示条形码2505。

网络认证方法可以包括生成一个或多个密钥,如图26、27和28所示。现在参考图26,生成一个或多个密钥2600可以包括扫描条形码2605的第一设备2650。第一设备2650的数据操纵器2644可以从包含在条形码2605中的信息生成随机密钥2627、第一公开密钥2603或随机密钥2627和第一公开密钥2603。为了生成一个或多个密钥2600,数据操纵器2644可以外推包含在条形码2605中的任何信息。此外,第一设备2650的处理生成器2646可以生成第二密钥协商协议对2651。第二密钥协商协议对2651可以包括所属领域的一般技术人员容易知道的任何密钥协商协议对。在一些实施例中,第二密钥协商协议对2651可以包括椭圆曲线diffie-hellman(ecdh)对。在一些实施例中,第二密钥协商协议对2651可以包括第二私有密钥2652和第二公开密钥2653。第二私有密钥2652和从条形码2605推断出的第一公开密钥2603可以由数据操纵器2644组合以生成密钥2654。第一设备2650的处理生成器2646可以生成salt2655、初始化向量2656和迭代号2657的任意组合。在特定实施例中,第一设备2650的处理生成器2646可以生成salt2655、初始化向量2656和迭代号2657中的每一个。salt2655、初始化向量2656和迭代号2657可以分别包括任意长度的一个或多个字符串,并且字符可以包括字母、数字或符号的任意组合。初始化向量2656可以包括等于n的字符数,并且可以另外包括iv第一部分2658和iv第二部分2659。iv第一部分2658和iv第二部分2659可以各包含一到n-1之间的字符数。迭代号2657可以包括等于n的字符数,并且还包括in第一部分2660和in第二部分2661。in第一部分2660n和in第二部分2661an可以各自包含1到n-1之间的多个字符。数据操纵器2644可以从初始化向量2656产生iv第一部分2658和iv第二部分2659。数据操纵器2644可以从迭代号2657产生in第一部分2660和in第二部分2661。根据一些实施例,密钥2654、salt2655、iv第一部分2658和in第一部分2660可由数据转换器2645将2612分别转换为掩蔽密钥2662、掩蔽salt2663、掩蔽iv第一部分2664和掩蔽in第一部分2665。在一些实施例中,初始化向量2656可由数据转换器2645转换2612到掩蔽iv第一部分2664。同样,迭代号2657可由数据转换器2645转换2612为掩蔽iv第一部分2665。在一些实施例中,转换2612可以包括使用散列算法。在其它实施例中,转换2612可以包括使用加密方法。然而,其它实施例可以包括使用散列算法和加密方法的组合的转换2612。在一些实施例中,迭代号2657可以保持完整,不生成in第一部分2660,in第二部分2661,并且产生的in第一部分2660可以不被转换2612。

第一设备2650的处理生成器2646可以生成客户端密钥2666。客户端密钥2666可以包括任意长度的一个或多个字符串,并且字符可以包括字母、数字或符号的任意组合。根据一些实施例,客户端密钥2666可由数据转换器2645转换2612为第一掩蔽客户端密钥2667。在其它实施例中,客户端密钥2667可由数据转换器2645转换2612为第二掩蔽客户端密钥2668。在另一实施例中,客户端密钥2666可由数据转换器2645将2612转换成第一掩蔽客户端密钥2667和第二掩蔽客户端密钥2668中的每一个。转换2612可以包括使用散列算法。另外,转换2612可以包括使用加密方法。在一些实施例中,转换2612可以包括散列算法和加密方法的组合。第一设备2650可以被配置成向第一服务器2625发送信息。在一些实施例中,第一设备2650的发射器/接收器2641可以将第一掩蔽客户端密钥2667、第二掩蔽客户端密钥2668、掩蔽密钥2662、掩蔽salt2663、掩蔽iv第一部分2664和掩蔽in第一部分2665的任意组合发送到第一服务器2625。在一些实施例中,第一设备2650可以在第一设备2650的视觉显示器2669上显示iv第二部分2659和in第二部分2661中的每一个。在特定实施例中,迭代号2657可全部显示在第一设备2650的视觉显示器2669上。

现在参考图27,生成一个或多个密钥可以包括第一服务器2725从第一设备2750接收信息。在一些实施例中,第一服务器2725的发射器/接收器2741可以从第一设备2750接收掩蔽密钥2762、第二掩蔽客户端密钥2768、掩蔽salt2763、掩蔽iv第一部分2764、掩蔽in第一部分2765和第一掩蔽客户端密钥2767的任意组合。在一些实施例中,第一服务器2725的处理迁移器2742可以在第一服务器2725的数据库2729中存储从第一设备2750接收的一个或多个掩蔽密钥2762、第二掩蔽客户端密钥2768、掩蔽salt2763、掩蔽iv第一部分2764、掩蔽in第一部分2765和第一掩蔽客户端密钥2767。根据特定实施例,第一服务器2725的处理迁移器2742可以将第一掩蔽客户端密钥2767存储在第一服务器2729的数据库2729中。

第一服务器2725可以被配置成向互联网应用程序2790发送信息。在一些实施例中,第一服务器2725的发射器/接收器2741可以将掩蔽密钥2762、第二掩蔽客户端密钥2768、掩蔽salt2763、掩蔽iv第一部分2764、掩蔽in第一部分2765和第一掩蔽客户端密钥2767的任意组合发送到第一服务器2725。在特定实施例中,第一服务器2725的发射器/接收器2741可以将掩蔽密钥2762、第二掩蔽客户端密钥2768、掩蔽salt2763、掩蔽iv第一部分2764和掩蔽in第一部分2765发送到第一服务器2725。在其它实施例中,第一服务器2725的发射器/接收器2741可以将掩蔽密钥2762、第二掩蔽客户端密钥2768、掩蔽salt2763和掩蔽iv第一部分2764的任何组合发送到互联网应用程序2790(从这一点向前统称为“接收数据2728”)。

如图28所示,生成一个或多个密钥2800可包括互联网应用程序2890的发射器/接收器2841从第一服务器2825接收接收数据2828发射器。第一设备2850可包含用户输入2869,其可包括iv第二部分2659和in第二部分2661(参见图26),其可分别包含字符串。用户输入2869可以包括iv第一部分和迭代号。在一些实施例中,用户输入2869可以显示在第一设备2850的图形显示器2869上。生成一个或多个密钥可以包括用户输入2869输入到互联网应用程序2890中。互联网应用程序2890的数据转换器2844可以将2812接收到的数据2828转换为密钥2854、in第一部分2860、salt2855、iv第一部分2858和客户端密钥2866中的一个或多个。转换2812可以包括使用散列算法。另外,转换2812可以包括使用加密方法。转换可以包括使用解密方法。在一些实施例中,转换2812可以包括散列算法、加密方法或解密方法的任意组合。根据一些实施例,互联网应用程序2890的数据转换器2844可以使用用户输入2869和接收数据2828来将2812接收数据2828转换为密钥2854、in第一部分2860、salt2855、iv第一部分2858和客户端密钥2866中的一个或多个。处理迁移器2842可以将客户端密钥2866存储在互联网应用程序2890的存储器2891中。互联网应用程序2890的数据转换器2845可以将2812客户端密钥2866转换为第三掩蔽客户端密钥2892。在一些实施例中,第三掩蔽客户端密钥2892可以由处理迁移器2842迁移到互联网应用程序2890的发射器/接收器2841。互联网应用程序2890的发射器/接收器2841可以将第三掩蔽客户端密钥2892发送到第一服务器2825。

网络认证方法可以包括建立网络会话。如图29所示,第一服务器2825的发射器/接收器2941可以从互联网应用程序2990接收第三掩蔽客户端密钥2992。根据一些实施例,第一服务器2825的处理迁移器2942可以从第一服务器2825的数据库2929检索存储的第一掩蔽客户端密钥2967。处理验证器2947可以将检索到的第一掩蔽客户端密钥2967与从互联网应用程序2990接收到的第三掩蔽客户端密钥2992进行比较。处理生成器2946可以基于第一掩蔽客户端密钥2967和第三掩蔽客户端密钥2992的识别生成结果2930。第一服务器2825的发射器/接收器2941可以将结果2930发送到第二服务器2980。第二服务器2980的发射器/接收器2941可以从第一服务器2825接收结果2930并生成网络令牌2931。网络令牌2931可以由处理生成器2946生成。在一些实施例中,网络令牌2931可以是所属领域已知的用于授权建立网络会话的任何手段。第二服务器2980可以将生成的网络令牌2931发送到第一服务器2825。第一服务器2825的发射器/接收器2941可以从第二服务器2980接收网络令牌2931,并且可以将接收到的网络令牌2931发送到互联网应用程序2990。互联网应用程序2990的发射器/接收器2941可以从第一服务器2825接收网络令牌2931。

在一些实施例中,互联网应用程序可以将接收到的网络令牌发送到第二服务器。第二服务器可以从网络浏览器接收网络令牌,并且可以建立网络会话。此外,第二服务器可以被配置成向第一服务器发送信息。在一些实施例中,第二服务器可以发送关于从互联网应用程序接收网络令牌的信息。关于从互联网应用程序接收网络令牌的信息可以包括但不限于关于互联网应用程序的任何信息、关于互联网应用程序的用户的信息、关于访问网络会话的信息、关于本文描述的系统的任何组件的空间和/或时间信息。第一服务器可以从第二服务器接收关于接收网络令牌的信息。在一些实施例中,第一服务器可以被配置成向第一设备发送信息,包括但不限于关于接收网络令牌的信息。

所属领域的技术人员将理解,也可以在不脱离本发明的范围的情况下实践本文所描述的实施例的其它变化形式。因此,还可以进行其它修改。

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