首页> 中国专利> 用于提供安全组播集群内通信的系统和方法

用于提供安全组播集群内通信的系统和方法

摘要

公开了使用在加入集群的节点与作为所述集群的有效部分的任何单个节点之间的认证来促进在集群中的任何有效节点之间的安全组播通信的系统和方法。根据实施例,集群密钥用于为集群内通信提供安全性。实施例的集群密钥由已经为集群的部分的节点与加入集群的节点仅在这两个节点互相彼此认证之后共享。实施例的所述互相认证握手实施其中会话密钥由两个节点计算的协议,从而提供可共享集群密钥的安全手段。根据实施例,通过具有所述集群密钥,所述集群中的每个节点能够与所述集群中的任何其它节点或者单独地(例如单播)或者共同地(例如组播)安全通信。

著录项

  • 公开/公告号CN103959735A

    专利类型发明专利

  • 公开/公告日2014-07-30

    原文格式PDF

  • 申请/专利权人 网络存储技术公司;

    申请/专利号CN201280046647.7

  • 发明设计人 菲利普·布莱恩·克莱;

    申请日2012-04-17

  • 分类号H04L29/06(20060101);H04L29/08(20060101);

  • 代理机构北京派特恩知识产权代理有限公司;

  • 代理人武晨燕;张颖玲

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 00:55:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-29

    授权

    授权

  • 2016-08-10

    著录事项变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20120417

    著录事项变更

  • 2014-08-27

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20120417

    实质审查的生效

  • 2014-07-30

    公开

    公开

说明书

技术领域

本发明大体涉及集群内通信,并且更具体而言,涉及提供安全组播集群内 通信。

背景技术

存在其中一集群中的不同节点彼此通信的各种系统配置,其中节点为可操 作以提供所期望的功能、服务或运算或其部分并且可与其它节点配合以形成集 群的操作单元(例如基于处理器的系统)。例如,数据存储系统常常包括存在于 该数据存储系统的不同节点处的多个存储装置。此类数据存储系统可使用多种 存储架构(诸如网络附接存储(NAS)环境、存储区域网络(SAN)、直接附接 存储环境及其组合)来实现。数据存储系统的节点可包括基于处理器的系统, 诸如文件服务器系统、家用计算机、计算机工作站等。在不同节点处的存储装 置可包括磁盘驱动器、闪速存储器、光学存储器等。可根据存储架构将从所述 存储装置中选择的一些存储装置组织成存储阵列。承载存储阵列中的存储装置 以及其它联网装置的节点可因此包括可配合地操作以提供数据存储系统的节点 集群。

为了作为集群来操作,集群中的节点彼此通信。此类通信可包括各种点对 点通信(例如单个节点对单个节点或单播通信)和组播通信(例如单个节点对 多个节点)。因此,为了有效地配合以提供所期望的操作,集群中的每个节点 可需要具有与该集群中的任何和所有其它节点通信的能力。然而,此类通信可 能会穿行于不安全的链接,诸如公共或其它网络链接(例如互联网、公用电话 交换网(PSTN)、局域网(LAN)、城域网(MAN)、广域网(WAN)等)。 通过此类不安全的链接运载的此类通信可易受拦截、窃听、篡改、监控、嗅探、 中间人攻击、中继攻击、重放攻击等的影响。

因此,各种安全协议已经在过去实施以促进在集群中的节点之间的通信(即 集群内通信)。例如,集群中的节点已实现安全套接字层(SSL)和传输层安 全(TLS)安全协议,以保证集群内通信安全。SSL和TLS为密码协议,其通 过将非对称密码技术用于私有和加密钥的消息认证码以求消息可靠性来提供通 信安全。然而,这些安全协议为点对点安全协议。即,针对每个节点对,采用 唯一的密钥集。因此,安全组播通信无法通过使用SSL和TLS安全协议来提供。

虽然已经开发出用于保证组播通信安全的协议,但是迄今为止此类协议还 无法针对组播通信提供足够的安全性并且还没有充分地适应节点与集群的动态 关联。已经用于提供通信的安全性的一个此类协议为JGROUPS。JGROUPS提 供组播协议,其中在传输协议之上增加“分组”层。为了针对组播通信提供安全 性,JGROUPS实施其AUTH和ENCRYPT协议。然而AUTH协议仅使用单个 基于令牌的认证(例如在不安全的链接之上传送的密码或其它认证凭证)来提 供单向认证(即仅一个节点认证另一个),因此窃听者可以监控通信并且模拟 安全握手(例如重放攻击)以建立虚假的认证。ENCRYPT协议使用集群密钥 (clusterKey)来加密所有组播通信。然而,ENCRYPT协议的集群密钥被提供 给提供其自己的公共密钥并且要求集群密钥的任何节点。因此,即使利用由 JGROUPS实现的AUTH和ENCRYPT协议,中间人亦可轻易地加入集群并且 因此针对组播通信所提供的安全性具有略微空洞。

发明内容

本发明针对使用在加入集群的节点与作为该集群的有效部分的任何单个节 点之间的认证来促进该集群中的任何有效节点之间的安全组播通信的系统和方 法。根据本发明的实施例,集群密钥(例如对称密码密钥)用于提供集群内通 信的安全。实施例的所述集群密钥由已经为集群的部分的节点与加入集群的节 点仅在这两个节点互相彼此认证之后共享。实施例的互相认证握手实施其中会 话密钥由两个节点计算的协议,或与与该协议关联,从而在会话密钥尚未经网 络或其它连接传送的情况下促进在节点之间的安全链接。根据本发明的实施例, 会话密钥被已经为集群的部分的节点用来与加入集群的节点在这两个节点互相 彼此认证之后安全地共享集群密钥。通过具有集群密钥,集群中的每个节点能 够与该集群中的任何其它节点或者单独安全通信(例如单播)或者共同安全通 信(例如组播)。

从上文可以了解,本发明的实施例通过在集群中的任何节点上进行认证来 促进节点加入集群。本发明的实施例不依赖公钥基础设施或证书的使用来提供 节点的认证。因此,避免了在PKI或管理证书中所涉及的配置和维护。然而, 即使在定制或调适于用在组播通信的集群环境的新方法中,本文的实施例仍可 利用可用认证协议、密钥协定协议和/或加密算法或其部分,以利用良好测试的 并且完全基于证明文件的技术。

一旦被认证,就与整个节点集群建立针对所加入的节点的信任。即,加入 集群的节点作为加入的逻辑单元本质上得到集群的认证。由此,根据本文的实 施例不必要针对在集群中的每一个节点或甚至多于一个节点来认证加入集群的 节点,如在实施点对点类型协议的方式中所要求的。一旦加入,集群中的节点 能够使用包括单播和组播消息传送的各种消息传送技术与集群中的其它节点通 信。针对本发明的实施例的操作,在点对点类型协议中不容易实施组播通信技 术。

上文已相当宽泛地概述了本发明的特征和技术优势以便更好地理解下面的 对本发明的详细的描述。本发明的额外的特征和优势将在下文中描述,这形成 本发明的权利要求的主题。本领域技术人员应了解,可容易地利用所公开的概 念和具体的实施例作为用于修改或设计用于执行本发明的相同用途的其它结构 的基础。本领域技术人员也应意识到,此类等效构造不脱离在所附的权利要求 中陈述的本发明的精神和范围。新颖的特征被认作本发明的特性,就其组织和 操作方法而论,以及进一步的目标和优势将从下列在结合附图考虑的描述被更 好地理解。然而,应清楚地理解提供每个附图仅用于说明和描述的目的,而不 意欲作为限定本发明的限制。

附图说明

为了更完整理解本发明,现在参考结合附图作出的下列说明,其中:

图1A和图1B示出根据本发明实施例的适于使一集群中的每个节点能够安 全地与该集群中的任何其它节点通信的系统的框图。

图2示出根据本发明实施例的使一集群中的每个节点能够安全地与该集群 中的任何其它节点通信的高层处理流程的梯形图。

图3示出根据本发明实施例的使一集群中的每个节点能够安全地与该集群 中的任何其它节点通信的更详细的处理流程的梯形图。

具体实施方式

下面提供本文所使用的特定术语的意义的简述,以便帮助读者更好地理解 下列论述中描述的本发明的概念。虽然下文提供针对特定术语的一般意义,应 了解的是针对本文某术语的额外的意义可在下文所论述的特定实施例的上下文 中而提供。

本文所使用的集群为一组链接或另外关联的节点,其可一起操作以提供在 许多方面中所期望的功能、服务或运算,从而形成单个逻辑实体。节点为联网 装置操作单元,诸如基于处理器的系统(例如计算机、网络家电等)和关联的 指令集(例如软件、固件、应用程序等),其可操作以提供所期望的功能、服 务或运算或其部分并且可与其它节点配合以形成集群。集群内通信为在集群中 的两个或多个节点之间的诸如单播通信和组播通信的通信。单播通信为将一个 或多个消息或信息发送至单个网络目的地(例如节点)。组播通信为通过单个 传输将一个或多个消息或信息发送至多个网络目的(例如节点)。

如本文所使用的,认证为一方(例如节点)确认另一方(例如另一节点) 的身份的过程,而互相认证为两方(例如节点)确认彼此的身份的过程。认证 握手为在两方(例如节点)之间的消息的对话试图认证一方或另一方(认证) 或者彼此认证(互相认证)。密钥协定协议为如下协议,其中两方或多方(例 如节点)可以用使得两者都影响结果的方式来协定密钥(例如用于数据加密和/ 或解密的密码密钥),从而促进唯一密钥(例如会话密钥)的分别计算而无需 在通信方之间传送该唯一密钥并且因此避免窃听和篡改。窃听为当第三方(例 如不是集群的部分的节点)在通信中所涉及的通信方(例如集群的节点)未同 意和/或不知晓的情况下观察通信时。篡改为当第三方(例如不是集群的部分的 联网装置)在通信中所涉及的通信方(例如集群中的节点)不知晓的情况下改 变或以其他方式更改正在通信方之间的途中的数据。加密为使用算法(称为密 码(cipher))变换信息(在加密之前被称作纯文本)以使其对于除了那些拥有 特殊知识(通常称作密钥(例如密码密钥))的人以外的任何人不可读的过程, 而解密为将加密的信息变换回纯文本的过程。

直接关注图1A,示出包括经由网络101耦合的多个联网装置(示出为联网 装置110-130)的系统100。联网装置110-130可包括基于处理器的系统,诸如 文件服务器系统、家用计算机、计算机工作站等。因此,实施例的联网装置 110-130包括处理器(例如中央处理单元(CPU)、专用集成电路(ASIC)、可 编程门阵列(PGA)等)、存储器(例如随机存取存储器(RAM)、只读存储器 (ROM)、磁盘存储器、光学存储器、闪速存储器等)以及合适的输入/输出电 路系统(例如网络接口卡(NIC)、无线网络接口、显示器、键盘、数据总线等)。 上文基于处理器的系统可在提供本文所述的操作的指令集(例如软件、固件、 小应用程序、代码等)的控制之下操作。网络101可包括各种形式的通信基础 设施,诸如互联网、PSTN、LAN、MAN、WAN、无线网络(例如移动通信网 络、无线LAN等)和/或类似物。

可提供系统100的各种配置,其中由联网装置110和联网装置120形成集 群中的一个或多个节点,从而提供集群环境,其中通过在集群中的节点之间的 通信来促进集群的配合操作。例如,数据存储系统可由联网装置110-130形成, 其中存在于联网装置110和联网装置120的一个或多个存储装置(例如存储装 置114和存储装置124)(例如磁盘驱动器、闪速存储器、光学存储器等)配 合以提供可访问联网装置130的卷。联网装置110和联网装置120承载存储阵 列的存储装置,客户端联网装置130可因此包括可配合地操作以提供数据存储 系统的节点的集群。

图1B提供框图,其中针对系统100的实施例的额外细节适于使集群中的 每个节点能够与该集群中的任何其它节点安全地通信。如上文所阐述的,系统 100可包括两个或多个互相连接的诸如联网装置110和联网装置120,其被配置 成提供对在构成系统100的存储器的一组存储装置(示出为存储装置114和存 储装置124)上存储的数据的访问。存储服务可由此类实现配合以提供系统100 的分布式存储系统架构的各种功能部件的节点提供。

说明性地,可将节点(例如联网装置110和联网装置120)组织成一个或 多个网络元件(N-模块112和N-模块122)和/或存储元件(D-模块113和D- 模块123)以及管理元件(M-主机111和M-主机121)。N-模块可包括使节点 能够通过计算机网络101连接至一个或多个客户端(联网装置130)的功能, 而D-模块可连接至存储装置(例如可实现为一存储阵列)。M-主机可提供在节 点之间的集群通信服务,用于生成信息共享操作并且用于呈递系统100的分布 式文件系统映像。用于使一集群中的每个节点与该集群中的任何其它节点安全 地通信的功能可由根据本发明实施例而调整的M-主机提供。

应了解的是网络101可包括各种形式的网络基础设施以及甚至分离部分的 网络基础设施。例如,联网装置110和联网装置120可由集群交换机构102互 相连接,而联网装置110和联网装置120可通过更普遍的数据网络(例如互联 网、LAN等)而互相连接至联网装置130。

也应注意到尽管示出组成所示实施例的节点的相等数量的N和D-模块,但 根据本发明的各种实施例,可存在不同数量和/或类型的功能部件实施节点。例 如,系统100中可存在互相连接的多个N-模块和/或D-模块,这些模块不反映 在联网装置110和120的模块之间的一一对应性。因此,包括一个N-模块和一 个D-模块的联网装置110和联网装置120的描述应被视为仅为说明性的,并且 将理解新颖的技术不受限于本文所述的说明性的实施例。

联网装置130可为通用计算机,其被配置成根据信息传递的客户端/服务器 模型与联网装置110和联网装置120交互。为此,联网装置130可通过将读取 或写入请求提交至包括联网装置的集群节点来请求联网装置110和联网装置 120的服务。响应于该请求,节点可通过在网络101之上交换信息包来返回所 请求的服务的结果。联网装置130可通过使用基于对象的访问协议(诸如例如 通用互联网文件系统(CIFS)协议、网络文件系统(NFS)协议、在TCP之上 封装的小型计算机系统接口(SCSI)协议(iSCSI)和在光纤通道(FCP)之上 封装的SCSI)发布数据包来提交访问请求。优选地,联网装置110和联网装置 120可实现基于文件的协议和基于框的协议的组合以与联网装置130通信。

系统100还可包括用于提供全部集群的管理服务的管理控制台(在此示出 为管理控制台150)。例如,管理控制台150可通过网络101与联网装置110 和联网装置120通信,以请求在由联网装置组成的集群节点处执行操作,并且 从节点请求信息(例如节点配置、操作指标)或将信息提供给节点。另外,管 理控制台150可被配置成从系统100的用户(例如存储管理员)接收输入并且 将输出提供给系统100的用户,从而作为在管理员与系统100之间的集中式管 理接口来操作。在说明性的实施例中,可将管理控制台150联网至联网装置 110-130,但是本发明的其它实施例可用节点的功能部件或者连接至或组成系统 100的任何其它处理系统来实现管理控制台150。

在分布式架构中,联网装置130向一节点提交对存储在一远程节点处的数 据的访问请求。作为示例,可将来自联网装置130的访问请求发送至联网装置 120,该访问请求可指向联网装置110上的存储器114中的存储对象(例如,卷 (volume))。为了加速对访问请求的服务并且优化集群性能,联网装置120 可将所请求的卷缓存在本地存储器(memory)中或在存储器(storage)124中。 例如,在作为集群节点的联网装置120的初始化期间,联网装置120可向联网 装置110请求联网装置110的所有或部分卷,以用于在联网装置130实际请求 此类数据之前在联网装置120处进行存储。

如从上文可以了解的,为了作为集群(例如前面提及的数据存储系统)来 操作,联网装置110-130可彼此通信。此类通信可包括各种形式的通信(例如 点对点或单播通信、组播通信等)。因此,根据本发明的实施例,为了有效地 配合以提供所期望的操作,作为逻辑实体,一个集群中的每个节点可被提供与 该集群中的任何和所有其它节点通信的能力。然而,由于网络101可提供不安 全的链接,所以此类通信可易受拦截、窃听、篡改、监控、嗅探、中间人攻击、 中继攻击、重放攻击等的影响,本发明的实施例使用在加入集群的节点与作为 该集群的有效部分的任何单个节点之间的认证来在该集群的任何有效节点之间 提供安全通信(例如单播和组播)。

为了促进安全通信,加入集群的节点作为加入的逻辑单元通过该集群的认 证,并且因此可在加入的节点与该集群的任何其它有效节点之间提供安全通信, 根据本发明的实施例的操作在加入集群的节点与作为该集群的有效部分的任何 单个节点之间执行互相认证会话。如果互相认证成功,根据实施例的操作使用 针对互相认证会话唯一的安全通信信道(例如使用根据互相认证所计算的会话 密钥)将集群机密(例如,集群密钥)传送至加入集群的节点。根据本发明的 实施例,拥有集群机密和集群证书使加入集群的节点成为集群节点并且集群机 密使集群节点能够与作为该集群的有效部分的每一个其它节点安全地通信。

图2示出一处理流程,根据本文的实施例,其使集群的每个节点能够与该 集群中的任何其它节点或者单独地(例如单播通信)或者共同地(例如组播通 信)安全通信,而无需加入集群的节点针对集群中的每一个节点或甚至多于一 个节点来认证。具体而言,图2的梯形图提供根据实施例当新节点(例如联网 装置120)加入一集群(在该集群中,另一节点是第一成员,例如联网装置110) 时发生的认证握手、会话密钥协定和集群密钥交换。应了解的是图2中所示的 处理流程的功能可用软件实现,在这种情况下,本发明的实施例的元件本质上 为可在基于处理器的系统或计算机系统(例如联网装置110、联网装置120和/ 或联网装置130)上操作以执行必要任务的代码段。程序或代码段可以存储在 计算机可读介质中(例如联网装置110-130中的相应联网装置的前述存储器)。

根据所示的实施例,假设将成为集群的有效部分的每个节点拥有集群凭证 (例如集群密码)。因此,在所示的实施例的过程201,添加集群凭证以确立 联网装置110为将有效地包括在集群中的节点。应了解的是可实施各种技术用 于集群凭证的添加。例如,联网装置110的用户可在启动期间在联网装置的控 制台输入集群密码,集群密码可从通过各种手段保护的文件(例如在暂时附接 至联网装置的通用串行总线(USB)存储器装置的存储器中存储的文件)读出, 集群密码可从其它可能的机密、数据等获得。无论何种具体的用于添加集群凭 证至节点的技术,一旦具有适当的凭证,联网装置110就可有效地加入集群。

在过程202,联网装置110确定其为集群中的第一成员。对于联网装置110, 可实施各种技术以确定集群的其它节点是否存在。例如,联网装置110可经由 网络101发送一个或多个消息以查询来自另一集群节点的响应,和/或联网装置 110可与管理节点或维护成员节点的数据库的其它集群源(例如管理控制台、 M-主机等)通信。作为补充或替代,联网装置110可监控网络101上的通信以 识别集群通信业务的存在。无论所示的实施例的联网装置110如何确定其为集 群的第一成员,联网装置110在过程202生成新集群机密(例如集群密钥)以 用于保证集群通信的安全。

如根据本文的实施例所利用的集群密钥可使用各种技术而生成。例如,集 群密钥可使用安全和/或随机数据而生成。系统常常提供生成伪随机数据的方 式,诸如可使用基于CPU温度、风扇速度、鼠标移动、网络流量等的数据作为 种数据。此类伪随机数据可用于计算用作本文的集群密钥的密码密钥。根据本 发明的实施例所生成的集群密钥包括对称密钥(即提供对称加密,其中相同的 密码密钥提供加密和解密)。因此,避免了针对使用此集群密钥进行的集群通 信在PKI或管理证书中所涉及的配置和维护。

如果具有集群机密和集群凭证,则联网装置110为集群的成员(尽管目前 为仅有的成员)。联网装置110可操作以诸如通过广播一个或多个消息、与管 理节点或维护成员节点的数据库的其它集群资源通信(例如管理控制台、M-主 机等)等宣布其为集群的成员。

在图2中所示的实施例,联网装置120希望加入其中联网装置110为目前 仅有成员的集群。因此,在所示的实施例的过程203,添加集群凭证以确立联 网装置120为将有效地包括在集群中的节点。如上文针对联网装置110所论述 的,可实施用于添加集群凭证的各种技术。无论何种具体的用于将集群凭证添 加至联网装置的技术,一旦具有适当的凭证,联网装置120即可有效地加入该 集群。

在过程204,联网装置120确定在集群中已经存在至少一个成员。如上文 针对联网装置110所论述的,对于联网装置120,可实施各种技术以确定集群 的其它节点是否存在。无论所示的实施例的联网装置120如何确定至少一个成 员已经为集群的成员,在过程204经由网络101执行在联网装置120(加入集 群)与现有的集群成员(在该情况中,联网装置110)之间的互相认证握手。 由加入节点所选择的用于执行本文的互相认证的特定集群节点可基于许多标准 (例如作为集群的最老成员的集群节点、在物理上位于离该加入节点最近的集 群节点、可使用具有最少跳数的链接的集群节点、具有最低利用率的集群节点 等)的任何标准来选择。应了解的是用于提供本文的互相认证的所选择的集群 成员可为加入集群的节点的对等节点。即,不需要利用管理节点或其它集中集 群资源,而是作为集群的有效部分的对等节点(例如如果不是发起集群机密的 节点,那么可以是已经互相认证过的节点、以及拥有集群机密的节点)的每个 可提供根据本文的实施例的认证和集群加入处理。

根据本发明的实施例而实施的认证握手导致联网装置120和联网装置110 的互相认证。此类互相认证握手的使用确保提供用于提供给集群的有效成员的 集群机密和/或凭证或者其它安全信息不被提供给未被授权的联网装置或并非 集群的有效部分的其它节点(例如中间人)。各种互相认证协议可用于提供过程 204的认证握手。在下文参考图3中所示的实施例来提供针对一个此类互相认 证协议的细节。无论所实现的具体互相认证协议是哪个,联网装置110和联网 装置120的每个针对联网装置120和联网装置110的另一个通过实施例所示的 互相认证握手的操作而认证。如果在任何时间联网装置110或联网装置120检 测到认证失败,则优选中止加入过程。

在根据本发明的实施例的操作中,联网装置110和联网装置120都导出会 话机密(例如会话密钥)作为互相认证握手的部分或与互相认证握手关联。如 根据本文的实施例所利用的会话机密可使用各种技术而生成。例如,会话密钥 可从在认证握手期间收集的数据而生成。在下文参考图3中所示的实施例来提 供针对用于会话密钥生成的一个此类技术的细节。在根据本发明的实施例的操 作中,集群凭证、用户导出的信息、在集群中的所有节点的共同信息和可呈递 可检测的图案或会使分别计算的会话机密的安全性变弱的其它信息不用在导出 会话机密本身中。无论何种具体的生成会话机密的技术,实施例操作以由参与 互相认证握手的每个节点来分别生成会话机密,使得会话机密(例如会话密钥) 不会通过加入节点的链接(例如网络101)。因此,在所示的实施例中,过程205 由联网装置110实施以计算会话机密,而与之分离地,过程206由联网装置120 实施以计算会话机密。

假设互相认证成功,根据本发明的实施例利用上文的会话机密以将集群机 密经由网络101从联网装置110安全地传送至联网装置120。因此,在所示的 实施例的过程207,联网装置110使用会话机密(例如会话密钥)来加密集群 机密(例如集群密钥)并且将加密的集群机密发送至联网装置120。例如,在 实施例的过程207使用会话密钥加密集群密钥可使用AES-128对称密钥加密。 然而,根据本发明的实施例,亦可使用其它密码密钥算法(例如其它对称密码 密钥算法,诸如国际数据加密算法(IDEA)和CAST-128密码算法)。根据本 发明的实施例的所利用的会话密钥不依赖PKI或证书的使用来提供节点的认 证,并且因此避免在PKI或证书管理中所涉及的配置和维护。

在将集群机密发送至联网装置120之后,根据本发明的实施例,对于联网 装置110而言,联网装置110与联网装置120之间的集群加入会话完成,并且 因此联网装置110然后可丢弃会话机密。根据实施例,联网装置110可操作以 将作为集群的有效部分的节点的列表更新为包括新加入的联网装置120,诸如 以用于之后的集群操作。应了解的是,联网装置110可(例如在丢弃会话机密 之前)将额外的信息(诸如前面提及的作为集群的有效部分的节点的列表)传 送至联网装置120。实施例的联网装置120使用会话机密来解密从联网装置110 接收的加密的集群机密以获得集群机密。根据本发明的实施例,在解密从联网 装置110接收的集群机密之后,对于联网装置120而言,联网装置110与联网 装置120之间的集群加入会话完成,并且因此联网装置120然后可丢弃会话机 密。联网装置110和/或联网装置120可(例如使用集群机密)向集群中的其它 节点传送将联网装置120识别为集群节点的信息。

通过具有集群机密和集群凭证,联网装置120成为集群的成员(目前为两 个成员中的一个)。因此,在根据实施例的操作中,联网装置120信任在集群中 的每一个其它成员,并且在集群中的每一个其它成员信任联网装置120。一旦 加入,集群的节点就能够使用包括通过使用各种消息传送技术与集群中的其它 节点通信,所述各种消息传送技术包括通过使用集群机密进行(例如使用集群 密钥加密消息)的单播和组播消息传送。即,联网装置120已经能够安全地获 得集群中的所有其它节点所共享的集群机密,并且因此联网装置120可使用集 群机密与那些节点单独通信(例如单播通信)或者共同通信(例如组播通信)。 由此,使用(例如用集群密钥加密的)集群机密来保证至/从集群中的任何成员 的进一步通信的安全性,如由所示的实施例的过程208所表示的。

例如,在实施例的过程208使用会话密钥加密消息可使用AES-128对称密 钥加密。然而,根据本发明的实施例,可使用其它密码密钥算法(例如其它对 称密码密钥算法,诸如国际数据加密算法(IDEA)和CAST-128密码算法)。 根据本发明的实施例的所利用的集群密钥不依赖PKI或证书的使用来提供节点 的认证,并且因此避免在PKI或证书管理中所涉及的配置和维护。

应了解的是一旦得到集群中的任何节点的认证,如上文所述的,在整个节 点集群中建立针对所加入的节点的信任。由此,根据本文的实施例,不必要针 对在集群中的每一个节点或甚至多于一个节点来认证加入集群的节点。即,如 根据本文的实施例所实施的互相认证技术提供这样的配置,其中每个节点被配 置成促进节点本身加入集群的集群机密的接收方以及促进其它节点加入集群的 集群机密的源。因此,当第三节点(例如类似于图1A的联网装置110和联网 装置120的联网装置)要加入形成为包括在图2中的联网装置110和联网装置 120的集群,此类加入节点可执行与已经为集群的部分的任何单个节点(例如 为联网装置110或联网装置120)的互相认证和集群机密共享处理(例如执行 图2的过程203-207)并且建立与集群的每一个节点(例如联网装置110和联网 装置120)的信任和安全通信的能力。即,由于已经成功加入集群的每一个节 点具有集群机密(例如集群密钥),所以任何节点可以与集群中的任何其它节点 通信。这允许单播和组播消息用于集群内通信。如从上文可以了解的,经仅认 证集群中的单个节点,而非得到集群中每个节点的认证,节点即具有多播通信 能力。该方式可以调整至适合任何尺寸的集群。

图3示出针对图2的处理流程的实施例的提供使集群中的每个节点能够与 该集群中的任何其它节点安全地通信的操作的细节。具体地,图3的梯形图提 供针对可根据本发明的实施例而利用的互相认证协议以及会话密钥生成技术的 细节。因此,图3的过程301-320提供针对可操作以提供根据图2的过程204-207 的互相认证的处理流程的细节,并且过程315和过程319提供针对可操作以提 供根据图2的过程205和过程206的分别的会话机密计算的处理流程的细节。 图3的过程201-203和过程208对应于图2的过程201-203和过程208,并且图 3的过程316、过程317、过程320对应于图2的过程207。如图2的处理流程, 图3中所示的处理流程的功能可用软件实现,其中本发明的实施例的元件本质 上为可在基于处理器的系统或计算机系统(例如联网装置110、联网装置120 和/或联网装置130)之上操作以执行必要的任务的代码段。程序或代码段可以 存储在计算机可读介质中(例如前面提及的联网装置110-130中的相应联网装 置的存储器)。

在图3中所示的实施例利用修改后的安全远程密码协议版本6a(SRP-6a) 的配置来提供互相认证和分别的会话机密计算。然而,根据本发明的实施例, 亦可使用其它认证和密钥协定协议,其提供在握手中所涉及的两方的互相认证 和仅为所涉及的两方已知的共享机密。虽然假定所使用的认证协议、密钥协定 协议和加密算法对于先验的每一个节点是已知的,根据本文的概念所提供的实 施例可操作以动态地选择提供本文的操作的特定协议和/或算法(例如通过节点 交换消息以在握手发生之前协定公共协议和算法集)。

在根据图3中所示的处理流程的实施例的操作中,所有节点预先知道互相 认证协议的n和g值。例如,用在实施例中的n和g值可由正讨论的两方协定。 n和g值可以提前设置或主机可以将其供应给客户端。在后一情况中,主机应 在第一消息中与salt一起发送参数。为了最大的安全,n应为安全的素数(例 如形式n=2q+1的数,其中q也为素数)。此外,g应为n的模数,这意指对于 任何x(其中o<x<n),存在对应x值的g^x%n==x。然而,替代实施例可操作 以返回n和g值(例如在过程304)。

在图3的实施例中示出的互相认证协议的K值用作会话密钥,并且用伪随 机函数(PRF)(例如在RFC2246的第五部分所定义的TLSvl协议,其公开内 容通过引用并入本文)来计算。然而,根据本发明的实施例,可使用能够扩展 一个机密(S)至另一个(K)的任何数量的算法来计算会话密钥。

应了解的是SRP-6a协议被设计成在客户端与服务器之间使用,然而在图3 中所示的处理流程的互相认证是针对集群中的节点而执行的。在客户端/服务器 环境中,服务器通常存储从用户的密码导出的验证符(v),使得其不存储用户 的密码但是仍操作为使用用户的密码来验证客户端。在所示的实施例的集群实 施中,每个节点知道集群密码(例如其可由如上文所述的各种手段而添加),并 且因此在SRP-6a协议中不需要使用验证符(v)来存储遮蔽版本的用户密码。 因此,修改在图3所示的互相认证协议使得在每次认证尝试(例如过程302和 过程303)中生成salt(s)并计算验证符(v)(例如集群节点名称、地址或唯 一地或基本上唯一地识别加入集群的节点的其它信息,可用作计算中的用户 名)。虽然必需在每次认证尝试中计算验证符(v),并且因此对没有很好适应适 合服务器环境的重需求的处理能力带来负担,但是上述的修改促进集群中的任 何节点(而不是在客户端/服务器模型中使用的其单个点(服务器))使用互 相认证协议。

应了解的是如由上文参考图2和图3所论述的实施例所提供的使得集群中 的每个节点能够与该集群中的任何其它节点安全地通信的操作不仅可调整至适 合任何尺寸的集群,而且可轻易地适于提供节点消耗管理和/或增强的安全协 议。例如,由上文的处理流程实施的技术可以延伸至提供周期性集群密钥轮换。 根据周期性集群密钥轮换的实施例的操作中,在一段时间已经消逝之后,由一 节点生成新的集群密钥,并且使每一个其它节点通过再认证以获得该新的集群 密钥。值得注意的是,新的集群密钥并不是使用目前的集群密钥分发给其它节 点的,因为如果黑客或其它未授权的节点具有目前的集群密钥,那么黑客或未 授权的节点可能简单地解密并且获得新的集群密钥。此类周期性集群密钥轮换 减少了如果黑客或其它未授权的节点想要获得或保留集群密钥时可以被解密的 消息的可能数量,从而提供增强的安全性。

上文周期性集群密钥轮换的概念可针对离开集群的节点来利用,从而提供 节点消耗管理。离开集群的节点留下了离开集群的节点将仍能够解密集群消息 的可能性。因此,根据集群密钥再生成的实施例的操作中,在节点离开集群之 后,新的集群密钥由节点生成,并且使每一个其它节点通过再认证以获得新的 集群密钥。为了防止离开集群的节点在集群密钥再生成实施中窃听互相认证握 手,并且因此导出再生成的集群密钥,可添加新的集群机密(例如集群密码) 至其余的节点,而不将其提供给离开集群的节点。

用于提供增强的安全性的技术可在被允许加入集群的节点上施加额外的约 束。例如,为何维持被允许的节点的名册。尝试加入集群的任何节点可必须存 在于该名册中并且完成互相认证握手以便加入集群。

在特定的联网装置在某时间段之内(例如1小时)认证失败一定次数(例 如5)的情况下,然后本文的增强的安全技术可操作以将联网装置在被允许再 尝试互相认证之前锁定在互相认证过程之外一段时间。因为集群中的每个节点 具有与加入集群的节点相互认证的能力,因此优选地,认证失败锁定信息(例 如使用特定节点已经尝试认证的次数的集群状态、使用通过使用集群密钥而促 进的组播通信等)在集群中的节点之间共享。此类认证失败锁定技术防止激活 的字典式攻击。

应了解的是,如由上文参考图2和图3所论述的实施例所提供的使得集群 中的每个节点能够与该集群中的任何其它节点安全地通信的操作,不仅可轻易 地调适于提供节点消耗管理和/或增强的安全协议,而且也可轻易地适于促进在 许多不同的环境和/或场景中的操作。例如,在节点加入集群之后,可选择性地 (例如在使用具有限制的受限处理能力的节点的环境中)用集群密钥加密消息 以改进性能。在一个此类环境中,如果消息被视为不包含敏感素材,那么不需 要加密,但是可采用某个有更好性能的防止嗅探的方法(例如数字签名算法和/ 或其它安全技术)。在通过其它手段(例如IPSec或安全隔离的网络)保证网络 安全的环境中,可将使用集群密钥的加密完全关闭。

虽然已经详细描述本发明及其优势,应理解的是可以在不脱离如由所附的 权利要求所限定的本发明的精神和范围的情况下在此做出各种改变、替换和更 改。此外,本申请的范围不意欲受限于在说明书中所述的过程、机器、制造、 组成物、手段、方法和步骤的特定实施例。本领域的普通技术人员将从本发明 的公开轻易地了解,可根据本发明而利用执行如本文所述的对应的实施例的基 本上相同的功能或基本上实现相同的结果的现有的或之后将开发的过程、机器、 制造、组成物、手段、方法或步骤。因此,所附的权利要求意欲将此类过程、 机器、制造、组成物、手段、方法或步骤包括在其范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号