密钥链同步的制作方法

文档序号:9204547阅读:336来源:国知局
密钥链同步的制作方法
【专利说明】密钥链同步
【背景技术】
[0001] 在多个设备之间共享数据对于多个设备的用户而言是越来越受欢迎的特征。数据 共享特征通过更新整个文件W及在某些情况下更新被指定用于在所述多个设备之间进行 同步的整组文件来实现。提供数据共享特征的很多应用程序W未受保护的方式在所述多个 设备之间发送和接收数据。

【发明内容】

[0002] 本发明的一些实施例提供了一种新颖的方法用于促进在被指定为同步组(也被 称为同步分组或同步圈)的成员的多个设备之间密钥链的同步(也被称为"同步处理")。 在一些实施例中,密钥链是限定的数据集合,其可包括密码、私钥、证书、安全笔记等。在一 些实施例中,该方法通过对等(P2P)网络在设备之间同步密钥链。一些实施例的方法使用 通信安全特征,用于阻止对设备之间的通信的未授权访问。
[0003] 不同实施例使用不同的技术来实现设备相互通信所通过的P2P网络。例如,一些 实施例使用具有全连接网状拓扑的覆盖网络,而其他实施例使用具有星型拓扑的覆盖网 络。此外,一些实施例使用任意数量的附加和/或不同的覆盖网络来实现P2P网络。
[0004] 在一些实施例中,该方法提供安全传输层,用于保护设备相互通信的数据。一些实 施例的方法通过在每个所述设备之间利用基于消息的通信协议(例如无记录(0TR)消息传 送)提供安全通信信道来实现安全传输层,而其他实施例的方法通过在每对设备之间利用 基于流的通信协议(例如安全套接字层(S化))提供安全通信信道来实现安全传输层。
[0005] -些实施例的方法通过同步密钥链的单独项(也被称为密钥链项)(而不是同步 整个密钥链)来在设备之间同步密钥链。在一些情况下,在同步密钥链项时,一些实施例的 方法检测到相同密钥链项的多个版本之间的冲突。不同实施例的方法W不同方式解决该样 的冲突。例如,在一些实施例中,该方法使用密钥链项的最新版本作为要在设备之间同步的 密钥链项。在一些实施例中可使用附加的和/或不同的方法。
[0006] 在一些实施例中,该方法提供数据保护特征,用于根据所定义的一组条件和/或 要求来限制对设备上的密钥链数据(例如密钥链项)的访问。例如,设备上的每个密钥链 项在一些实施例中被指定为属于特定保护域。一些实施例的方法只有在为特定密钥链项所 属于的特定保护域定义的一组条件和/或要求被满足时才允许设备访问所述特定密钥链 项。条件和/或要求的示例包括设备处于解锁状态、设备处于锁定状态、设备的用户输入特 定密码等等。在该种方法下,可W粒度的方式来控制对设备上密钥链项的访问。
[0007] 上述
【发明内容】
旨在用作对本发明的一些实施例的简单介绍。其并非意味着对在本 文档中所公开的所有发明主题进行介绍或概述。随后的【具体实施方式】W及在【具体实施方式】 中所参照的附图将进一步描述
【发明内容】
中所述的实施例W及其他实施例。因此,为了理解 该文档所描述的所有实施例,需要全面审阅
【发明内容】
、【具体实施方式】和附图。此外,要求保 护的主题不限于
【发明内容】
、【具体实施方式】W及附图中的示例性的细节,而是由所附权利要 求限定,该是因为要求保护的主题能够W其他特定形式实施而不脱离本主题的实质。
【附图说明】
[000引在所附的权利要求中阐述了本发明的新颖特征。然而,出于说明目的,在W下附图 中阐释本发明的若干实施例。
[0009] 图1根据本发明的一些实施例概念性地示出了在多个设备之间同步密码。
[0010] 图2根据本发明的一些实施例概念性地示出了用于直接P2P网络的网络架构。
[0011] 图3根据本发明的一些实施例概念性地示出了用于间接P2P网络的网络架构。
[0012] 图4根据本发明的一些实施例概念性地示出了发起同步圈并添加设备到同步圈 的示例。
[0013] 图5概念性地示出了一些实施例的用于请求加入同步圈的过程。
[0014] 图6概念性地示出了一些实施例的用于处理加入同步圈的请求的过程。
[0015] 图7概念性地示出了用于对密码进行同步的通过图2中所示网络架构的示例性数 据流。
[0016] 图8和图9概念性地示出了用于对密码进行同步的通过图3中所示网络架构的示 例性数据流。
[0017] 图10根据本发明的一些实施例概念性地示出了用于密钥链的数据结构。
[0018] 图11概念性地示出了描述一些实施例的密钥链管理器的不同状态及该些状态之 间的转换的状态图。
[0019] 图12概念性地示出了一些实施例的用于将更新推送到对等设备的过程。
[0020] 图13概念性地示出了一些实施例的用于处理来自对等设备的更新的过程。
[0021] 图14概念性地示出了一些实施例的用于解决发生冲突的冲突解决方案的过程。
[0022] 图15概念性地示出了一些实施例的用于解决密钥链项冲突的过程。
[0023] 图16概念性地不出了不同设备中的不同密钥链项。
[0024] 图17概念性地示出了一些实施例为了处理密钥链项而执行的过程。
[00巧]图18概念性地示出了用于存放传入的密钥链项的处理队列。
[0026] 图19概念性地示出了一些实施例为了处理从源设备接收的密钥链项而执行的过 程。
[0027] 图20示出了受到保护域保护的密钥链项,该保护域要求该设备被解锁,W便属于 该保护域的密钥链项在设备处可用。
[0028] 图21示出了受到保护域保护的密钥链项,该保护域要求该设备在被启动之后至 少被解锁一次,W便属于该保护域的密钥链项在设备处可用。
[0029] 图22示出了受到保护域保护的密钥链项,该保护域要求该设备被开启,W便属于 该保护域的密钥链项在设备处可用。
[0030] 图23示出了受到保护域保护的密钥链项,该保护域要求该设备被解锁并且还要 求附加的认证,W便属于该保护域的密钥链项在设备处可用。
[0031] 图24示出了受到两个保护域保护的数据,该两个保护域具有对于设备的不同条 件组。
[0032] 图25概念性地示出了由多个设备形成的多个同步圈。
[0033] 图26概念性地示出了多个设备形成的用于多个不同保护域的同步圈。
[0034] 图27概念性地示出了一些实施例的密钥链管理器的软件架构。
[0035] 图28概念性地示出了用W实施本发明一些实施例的电子系统。
【具体实施方式】
[0036] 在本发明的W下【具体实施方式】中,提出并描述了本发明的许多细节、示例和实施 例。然而,对于本领域的技术人员来说将清楚和显而易见的是,本发明并不限于所陈述的实 施例,并且本发明可在没有使用所讨论的一些具体细节和示例的情况下被实施。例如,为了 简化和/或解释的目的,本申请中的很多附图都是针对特定数量的设备进行描述的。本领 域的普通技术人员将认识到,本发明不限于该些附图中所示的设备数量,并且本发明可W 任意数量的不同设备来实施。
[0037] 本发明的一些实施例提供了一种新颖的方法用于促进被指定为同步组(也被称 为同步分组或同步圈)的成员的多个设备之间密钥链的同步。在一些实施例中,密钥链是 限定的数据集合,其可包括密码、私钥、证书、安全笔记等。在一些实施例中,该方法通过P2P 网络在设备之间同步密钥链。一些实施例的方法使用通信安全特征,用于阻止对设备之间 的通信的未授权访问。
[0038] 不同实施例使用不同的技术来实现设备相互通信所通过的P2P网络。例如,一些 实施例使用具有全连接网状拓扑的覆盖网络,而其他实施例使用具有星型拓扑的覆盖网 络。此外,一些实施例使用任意数量的附加和/或不同覆盖网络来实现P2P网络。
[0039] 在一些实施例中,该方法提供安全传输层,用于保护设备相互通信的数据。一些实 施例的方法通过利用基于消息的通信协议(例如0TR消息传送)在每对设备之间提供安全 通信信道来实施安全传输层,而其他实施例的方法通过利用基于流的通信协议(例如SSL) 在每对设备之间提供安全通信信道来实施安全传输层。
[0040] 一些实施例的方法通过同步密钥链的单独项(也被称为密钥链项)(而不是同步 整个密钥链)来在设备之间同步密钥链。在一些情况下,在同步密钥链项时,一些实施例的 方法检测到相同密钥链项的多个版本之间的冲突。不同实施例的方法W不同方式解决该样 的冲突。例如,在一些实施例中,该方法使用密钥链项的最新版本作为在设备之间进行同步 的密钥链项。在一些实施例中可使用附加的和/或不同的方法。
[0041] 在一些实施例中,该方法提供数据保护特征,用于根据所定义的一组条件和/或 要求来限制对设备上密钥链数据(例如密钥链项)的访问。例如,在一些实施例中,设备上 的每个密钥链项被指定为属于特定保护域。一些实施例的方法只有在为特定密钥链项所属 于的特定保护域定义的一组条件和/或要求被满足时才允许设备访问所述特定密钥链项。 条件和/或要求的示例包括设备处于解锁状态、设备处于锁定状态、设备的用户输入特定 密码等。在该种方法下,可W粒度的方式控制对设备上密钥链项的访问。
[0042] 图1概念性地示出了根据本发明的一些实施例在多个设备A-C之间同步密码。具 体地,图1示出了处于设备A-C之间示例性密码同步的S个不同阶段105-115的设备A-C。 在该个示例中,设备A-C被指定为同步圈的彼此对密码进行同步的成员。设备A-C中每一 者可W是台式计算机、膝上型计算机、智能电话、平板电脑、或任何其他类型的计算设备。
[0043] 第一阶段105示出了密码1-3在设备A-C之间同步,该是通过设备A-C中每一者 都具有相同密码1-3的副本来指示的。对于该个示例,设备A-C中每一者上的密码1-3W 只有该设备能够解密和访问的加密格式存储在该设备上。安全特征在图1中是通过将该组 密码1-3在设备A-C中每一者中描绘为特定形状来表现的。具体地,存储在设备A上的密 码1-3被显示为矩形,存储在设备B上的密码1-3被显示为楠圆形,而存储在设备C上的密 码1-3被显示为不规则的凸八边形。该样,在该示例中,设备A只能解密和访问矩形密码, 设备B只能解密和访问楠圆形密码,而设备C只能解密和访问不规则凸八边形密码。
[0044] 图1的第二阶段110显示了将密码4添加到设备A(例如,设备A的用户使用设备 A创建密码4)。如图所示,密码4被加密并W矩形形状存储在设备A上。在第二阶段110 中,设备A正向设备B和C发送密码4的副本,W便将密码4与设备B和C同步。在一些实 施例中,当设备A接收到密码4时,设备A向设备B发送密码4的W只有设备B能解密的格 式加密的副本,并且向设备C发送密码4的另一个W只有设备C能解密的格式加密的副本。 该是通过设备A将密码4作为楠圆形形状发送给设备B并将密码4作为不规则凸八边形形 状发送给设备C来指示的。
[0045] 如上所述,一些实施例提供通信安全特征,用于阻止对设备之间通信的未授权访 问。为了保护与设备B的通信,设备A在该个示例中对密码4的副本加密并利用安全通信 协议(例如SSU0TR等)通过安全信道将其发送给设备B。一些实施例的安全通信信道是 被认证和加密的通信信道。在一些实施例中,设备BW先前被用来通过安全信道传输密码 4的加密格式来存储密码4。类似地,设备C在一些实施例中W先前被用来通过安全信道传 输密码的加密格式来存储密码4。
[0046] 第S阶段115示出了在设备A-C之间被同步的密码1-4。如图所示,设备B正在存 储设备B从设备A接收的密码4的加密副本,并因此与设备A同步。同样,设备C正在存储 设备C从设备A接收的密码4的加密副本,并因此与设备A进行同步。如上面所讨论的那 样,在该个示例中,存储在设备B上的密码4W只有设备B能解密的格式被加密,而存储在 设备C上的密码4W只有设备C能解密的格式被加密。
[0047] 在本专利申请中描述了设及设备存储密码W在作为同步圈成员的设备之间进行 同步的多个细节、示例、和实施例。但是,本领域的普通技术人员应当理解,在一些实施例 中,同步圈中的一个或多个设备还存储不与同步圈中的一些或全部其他设备共享(即同 步)的密码。
[0048] 此外,虽然本专利申请中所解释的大多数细节、示例、和实施例设及对被存储作为 密钥链一部分的密码进行同步,但本领域的普通技术人员将认识到,本发明并不限于对密 码进行同步,并且本发明可被实施用于在同步圈中的设备之间同步密钥链中的其他类型的 数据(例如私钥、证书、安全笔记等)。此外,本领域的普通技术人员将认识到,本发明可被 实施用于在同步圈中的设备之间同步多于一个密钥链。
[0049] 在下面的章节中描述了本发明的若干更详细的实施例。章节1概念性地描述了根 据本发明的一些实施例的示例性P2P网络架构的细节。然后,章节II概念性地描述了根据 本发明的一些实施例创建同步圈W及将设备注册到同步圈中。章节III描述了根据本发明 的一些实施例在同步圈的设备之间同步密钥链。然后,章节IV描述了根据本发明的一些实 施例用于密钥链的数据保护特征。章节V描述了一些实施例的密钥链管理器的软件架构。 最后,章节VI描述了实现本发明的一些实施例的电子系统。
[0050]I.对等网络架构
[0051] 如上所述,一些实施例通过P2P网络在作为同步圈成员的设备之间同步密钥链。 不同实施例的P2P网络利用不同的网络架构来实施,W便有利于同步圈中的设备之间的通 信。后面的附图示出了P2P网络架构的不同具体实施的几个示例。
[0052] 图2概念性地示出了根据本发明的一些实施例用于直接P2P网络的网络架构。在 该个示例中,设备A-C是同步圈的成员。如图所示,设备A-C中每一者都具有用于存储密码 的存储装置210和密钥链管理器205。一些实施例的密钥链管理器205负责执行用于促进 设备A-C之间密码同步的功能。例如,在一些实施例中,密钥链管理器205处理将设备注册 到同步圈中、在设备A-C之间同步密码、解决发生冲突的密码之间的冲突、生成不同类型的 密钥链清单、提供用于在设备A-C之间传送数据的安全通信信道、等等。
[005引如图2中所示,设备A-C通过具有全连接网状拓扑的覆盖网络来彼此通信。该样, 设备A-C中每一者都能与其他设备中的每一者直接通信。目P,设备A能与设备B和C直接 通信,设备B能与设备A和C直接通信,设备C能与设备A和B直接通信。
[0054] 如上所述,一些实施例提供安全传输层来保护设备彼此通信的数据。对于该个示 例,设备A-C通过在设备A-C中每一对之间建立的安全通信信道来彼此通信。安全通信信 道可利用任意数量的不同协议来实现,诸如基于消息的通信协议(例如0TR消息传送)、基 于流的通信协议(例如SSL)等。
[0055] 图3概念性地示出了根据本发明的一些实施例用于间接P2P网络的网络架构。与 图2类似,对于该个示例,设备A-C是同步圈的成员,并且设备A-C中每一者都具有存储装 置210和密钥链管理器205。
[0056] 如图3中所示,设备A-C通过具有星型拓扑的覆盖网络来彼此通信。特别地,设备 A-C通过云服务305来彼此通信,云服务充当星型拓扑的中屯、节点并提供用于存储数据的 云存储服务和其他云服务(例如云计算服务)。例如,当设备A想要向设备B传送数据时, 设备A将该数据存储在云服务305中,云服务305 (例如经由推送通知服务)向设备B通知 该数据,并且设备B从云服务305检索该数据。
[0057] 如图所示,云服务305将同步圈的名称和指定为该同步圈的成员的设备的同步圈 设备列表存储在存储装置310中。在一些实施例中,该些设备通过唯一地识别所述设备的 数据来指定。该样的数据的示例包括用于认证设备身份的设备签名公钥/私钥对中的公 钥、设备的设备类型(例如台式计算机、平板电脑、智能电话等)、设备的名称等、或任意数 量的此类数据的组合。
[0058] 云服务305还将用户签名存储在存储装置315中。在一些实施例中,用户签名是 用于认证用户作为消息、文档、或任何其他类型的数据的签名者的身份的数字签名。在一些 实施例中,同步圈链接到云服务帐户,并且与云服务帐户相关联的设备(例如具有用于访 问与该帐户相关联的云服务的应用程序或程序的设备)是用于注册到该同步圈中的候选 设备。在一些该样的实施例中,存储装置315包括W基于云服务帐户的密码生成的用户签 名公钥/私钥对中的私钥签名的签名,W指示云服务305帐户的用户是签名者。存储在存 储装置315中的用户签名的示例包括W用户签名公钥/私钥对中的私钥签名的同步圈设备 列表的签名、W用户签名密钥对中的私钥签名的注册请求的签名、和/或用于认证云服务 帐户的用户的身份的任何其他签名。
[0059] 图3还示出了云服务305将设备签名存储在存储装置320中。在一些实施例中, 设备签名是用于认证设备圈中的设备作为消息、文档、或任何其他类型的数据的签名者的 身份的数字签名。例如,在一些实施例中,存储装置320包括同步圈设备列表的签名,同步 圈设备列表的签名W属于作为同步圈成员的设备的设备签名公钥/私钥对中的私钥来签 名。该样的签名表明签名设备确认同步圈设备的列表中的设备列表是同步圈的成员。在一 些实施例中,当同步圈处于稳定状态时(例如没有注册请求待处理或未被批准),存储装置 320中的设备签名对于作为同步圈成员的每个设备包括W该设备的设备签名公钥/私钥对 中的私钥签名的同步圈设备列表的签名。目P,在该样的实例中,签名共同地指示同步圈设备 列表中所列出的每个设备同意同步圈设备列表中所列出的设备是同步圈的成员。
[0060] 此外,云服务305在存储装置325中存储用于在同步圈中的设备之间同步密钥链 的密钥链数据,并且在存储装置330中存储其他数据,所述其他数据可包括用户签名公钥/ 私钥对中的公钥、用于生成用户签名密钥对中的在同步圈中设备之间共享的随机串(例如 256位串)、W及待处理注册请求的列表。在一些实施例中,云服务305将存储装置310-330 实现为键值存储。
[0061] 虽然存储装置310-330在图3中被显示为是分开的存储装置,但在一些实施例中, 存储装置310-330被实现为单个存储装置,而在其他实施例中,存储装置310-330在多个存 储装置上实现。
[0062] 在一些实施例中,上文中参考图2所述的安全传输层被用来保护设备通过云服务 305彼此通信的数据。目P,虽然设备A-C通过在设备A-C中每一对之间建立的安全通信信道 来彼此通信,但设备A-C使用云服务305作为用于传输所述通信的机制。一些实施例的安 全通信信道在一些实施例中可利用任意数量的不同协议(例如基于消息的通信协议(例如 0TR消息传送)、基于流的通信协议(例如SSL)等等)来实现。
[0063]II.同巧圈
[0064] 如上所述,作为同步圈成员的设备在该些设备之间同步密钥链。在本专利申请中, 该样的设备也被称为对等设备,或者被简称为对等节点。下面的章节描述创建同步圈W在 同步圈的设备之间同步密钥链W及将设备添加到同步圈的示例。
[0065] 图4概念性地示出了根据本发明的一些实施例发起同步圈420W及将设备添加 到同步圈420的示例。具体地,图4示出了将设备A和B注册到同步圈420中的S个阶段 405-415。阶段405-410中每一者显示了同步圈420W及存储用于同步圈420的数据的存 储装置425的概念性图示。在一些实施例中,存储装置425实现在云存储服务305中,并且 包括存储装置310-330中的数据,其在上文中参考图3进行了描述。在一些实施例中,结合 将存储装置425实现在云存储服务中,作为同步圈420的成员的每个设备将存储装置425 中数据的副本在本地存储在设备上。
[0066] 第一阶段405示出了在没有设备注册到同步圈420中的情况下的同步圈420。如 图所示,同步圈420是空的,并且存储装置425不包含关于同步圈420的成
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1