安全的节点到多节点通信的制作方法

文档序号:11455839阅读:309来源:国知局
安全的节点到多节点通信的制造方法与工艺

本公开一般地涉及第一节点与多个其他节点(即,两个或更多个其他节点)之间的通信会话。换句话说,本公开涉及节点到多节点场景中的通信会话。



背景技术:

国际专利申请wo2011/002412a1描述了一种生成密码密钥的方法。更具体地,wo2011/002412a1描述了一种生成被用于对称加密的密码密钥的方法,即其中相同的密码密钥被用于加密和解密两者。虽然wo2011/002412a1提供许多优点,但是其中所描述的方法限于用于在节点到节点通信会话(即,第一节点与第二节点之间的通信会话)中使用的密码密钥的生成。也就是说,wo2011/002412a1集中于两个节点之间的节点到节点场景中的加密通信会话。wo2011/002412a1通过引用并入在本文中以便向本公开给出上下文。



技术实现要素:

本发明人已经认识到存在对第一节点与数个(即,两个或更多个)其他节点之间的安全的通信会话的需要。或者换一种说法,存在对广播式通信会话(即,第一节点与数个其他节点之间)的需要,所述广播式通信会话提供与现有安全的节点到节点通信系统相同或基本上相同程度的安全性。

因此,本发明的实施例的一般目标是允许第一节点与数个其他节点之间的通信会话,所述通信会话提供与现有安全的节点到节点通信系统相同或基本上相同程度的安全性。有利地,本文中所描述的实施例因此应该允许安全的广播式通信会话(例如,在节点到多节点场景中)。

已经通过所附独立权利要求解决了此一般目标。有利的实施例被限定在所附从属权利要求中。

根据第一方面,提供了在第一节点与多个其他节点之间建立通信会话的方法。

所述第一节点向服务器发送用于请求与多个其他节点建立安全的通信会话的请求消息。此请求消息包括节点标识符的列表,其中所述节点标识符中的每一个标识所述多个其他节点中的相应的节点。

所述服务器从所述第一节点接收所述请求消息。响应于接收到所述请求消息,所述服务器创建在所述服务器上可执行的虚拟和临时第二节点。此外,所述服务器基于节点标识符的所述列表来生成临时节点标识符的列表,使得所述多个节点中的每一个变得可通过它相应的临时节点标识符来标识。更进一步,所述服务器将临时标识符的列表传送到所述虚拟和临时第二节点。

随后,服务器向所述第一节点发送第一密钥生成文件。另外,所述服务器向所述虚拟和临时第二节点传送第二密钥生成文件。

所述第一节点开始处理所述第一密钥生成文件并且所述虚拟和临时第二节点开始处理所述第二密钥生成文件。响应于此,所述第一节点生成第一中间数据集并且所述虚拟和临时第二节点生成第二中间数据集。

所述第一节点将所述第一中间数据集发送到所述虚拟和临时第二节点。

所述虚拟和临时第二节点将所述第一中间数据集的比特与所述第二中间数据集的对应比特进行比较。所述虚拟和临时第二节点也通过在所比较的比特相等的情况下设置第一值并且在所比较的比特不相等的情况下设置第二值基于所述第一中间数据集与所述第二中间数据集之间的逐比特比较来生成第三中间数据集。

此外,所述虚拟和临时第二节点将所述第三中间数据集发送到所述第一节点。

所述第一节点将所述第三中间数据集的比特与所述第一中间数据集的对应比特进行比较。

而且,所述第一节点通过在所述第三中间数据集的对应比特被设置为所述第一值的情况下保持所述第一中间数据集的所述比特的值并且在所述第三中间数据集的所述对应比特被设置为所述第二值的情况下忽略所述第一中间数据集的所述比特基于所述第三中间数据集与所述第一中间数据集之间的逐比特比较来生成或者以其他方式创建第一密码密钥。

另外,所述虚拟和临时第二节点通过在所述第一中间数据集的所述对应比特相等的情况下保持所述第二数据集的所述比特的值并且在所比较的比特不相等的情况下忽略所述第二中间数据集的所述比特基于所述第一中间数据集与所述第二中间数据集之间的所述逐比特比较来生成或者以其他方式创建第二密码密钥,所述第一密码密钥和所述第二密码密钥是相同的。

所述虚拟和临时第二节点在所述第一节点与所述多个其他节点中的每一个之间设立或者以其他方式建立通信信道。所述虚拟和临时第二节点使用或者利用临时节点标识符的列表以用于标识所述多个节点中将设立或者建立通信信道的相应的节点。

响应于已经设立所述相应的通信信道,所述虚拟和临时第二节点也将所述第二密码密钥发送到所述多个其他节点中的每一个。

在所述第一节点与所述多个其他节点中的每一个之间的后续通信会话期间所述第一节点应用所述第一密码密钥并且所述多个其他节点中的每一个应用所述第二密码密钥。

根据第二方面,提供了由第一节点执行以便在所述第一节点与多个其他节点之间建立通信会话的方法。所述方法包括以下步骤或动作:

向服务器发送用于请求与多个其他节点建立安全的通信会话的请求消息,所述请求消息包括节点标识符的列表,其中所述节点标识符中的每一个标识所述多个其他节点中的相应的节点;

从所述服务器接收第一密钥生成文件;

开始处理所述第一密钥生成文件;并且作为响应

生成第一中间数据集;

将所述第一中间数据集发送到虚拟和临时第二节点,所述虚拟和临时第二节点在所述服务器上可执行;

从所述虚拟和临时第二节点接收第三中间数据集;

将所述第三中间数据集的比特与所述第一中间数据集的对应比特进行比较;

通过在所述第三中间数据集的对应比特被设置为所述第一值的情况下保持所述第一中间数据集的所述比特的值并且在所述第三中间数据集的所述对应比特被设置为所述第二值的情况下忽略所述第一中间数据集的所述比特基于所述第三中间数据集与所述第一中间数据集之间的逐比特比较来生成第一密码密钥;以及

在所述第一节点与所述多个其他节点中的每一个之间的所述通信会话期间应用所述第一密码密钥。

根据第三方面,提供了计算机程序。所述计算机程序包括指令,所述指令当在所述第一节点的至少一个处理器上执行时,使所述至少一个处理器执行根据第二方面所述的方法。

根据第四方面,提供了载体。所述载体包括根据第三方面所述的计算机程序,并且所述载体是以下各项中的一种:电子信号、光信号、无线电信号或计算机可读存储介质。

根据第五方面,提供了第一节点。所述第一节点被配置成执行或以其他方式实行根据第二方面所述的方法。

根据第六方面,提供了由服务器执行以便在第一节点与多个其他节点之间建立通信会话的方法。所述方法包括以下步骤或动作:

从所述第一节点接收用于请求在所述第一节点与多个其他节点之间建立安全的通信会话的请求消息,所述请求消息包括节点标识符的列表,其中所述节点标识符中的每一个标识所述多个其他节点中的相应的节点;

响应于接收到所述请求消息:

创建在所述服务器内可执行的虚拟和临时第二节点;

基于所述节点标识符的列表来生成临时节点标识符的列表,使得所述多个节点中的每一个变得可通过它相应的临时节点标识符来标识;以及随后

向所述第一节点发送第一密钥生成文件并且所述服务器向所述虚拟和临时第二节点传送第二密钥生成文件;

在所述服务器上执行所述虚拟和临时第二节点并且所述虚拟和临时第二节点从而:

开始处理所述第二密钥生成文件;并且作为响应

生成第二中间数据集;

从所述第一节点接收第一中间数据集;

将所述第一中间数据集的比特与所述第二中间数据集的对应比特进行比较;

通过在所比较的比特相等的情况下设置第一值并且在所比较的比特不相等的情况下设置第二值基于所述第一中间数据集与所述第二中间数据集之间的逐比特比较来生成第三中间数据集;

将所述第三中间数据集发送到所述第一节点;

通过在所述第一中间数据集的所述对应比特相等的情况下保持所述第二数据集的所述比特的值并且在所比较的比特不相等的情况下忽略所述第二中间数据集的所述比特基于所述第一中间数据集与所述第二中间数据集之间的所述逐比特比较来生成第二密码密钥;

在所述第一节点与所述多个其他节点中的每一个之间设立通信信道,所述虚拟和临时第二节点使用临时节点标识符的列表以用于标识所述多个节点中将设立通信信道的相应的节点;响应于已经设立所述相应的通信信道

将所述第二密码密钥发送到所述多个其他节点中的每一个以用于由所述多个其他节点中的每一个在所述第一节点与所述多个其他节点中的每一个之间的所述通信会话期间随后应用。

根据第七方面,提供了计算机程序。所述计算机程序包括指令,所述指令当在所述服务器的至少一个处理器上执行时,使所述至少一个处理器执行根据第六方面所述的方法。

根据第八方面,提供了载体。所述载体包括根据第七方面所述的计算机程序,并且所述载体是以下各项中的一种:电子信号、光信号、无线电信号或计算机可读存储介质。

根据第九方面,提供了服务器。所述服务器被配置成执行或者以其他方式实行根据第六方面所述的方法。

根据第十方面,提供了由节点执行以便在所述节点与第一节点之间建立通信会话的方法。所述方法包括以下步骤或动作:

从在服务器上可执行的虚拟和临时第二节点接收通信设立请求消息;

响应于接收到所述通信设立请求消息而返回用于请求所述虚拟和临时第二节点的节点标识符的响应消息;

从所述服务器接收所述虚拟和临时第二节点的所述节点标识符;

将所接收到的节点标识符与存储的节点标识符进行比较;响应于此

在所接收到的节点标识符不和存储的节点标识符匹配时向所述服务器发送非确认消息;否则

在所接收到的节点标识符和存储的节点标识符匹配时对所述虚拟和临时第二节点进行认证并且向所述服务器发送确认消息;并且作为响应

从所述虚拟和临时第二节点接收第二密码密钥;以及

在与所述第一节点的通信会话期间应用所述第二密码密钥。

根据第十一方面,提供了计算机程序。所述计算机程序包括指令,所述指令当在所述服务器的至少一个处理器上执行时,使所述至少一个处理器执行根据第十方面所述的方法。

根据第十二方面,提供了载体。所述载体包括根据第十一方面所述的计算机程序,并且所述载体是以下各项中的一种:电子信号、光信号、无线电信号或计算机可读存储介质。

根据第十三方面,提供了节点。所述节点被配置成执行或者以其他方式实行根据第十方面所述的方法。

附图说明

对附图进行参考,这些及其他方面、特征和优点从各种实施例的以下描述将显而易见并且被阐明,在附图中:

图1示意性地图示包括第一节点a、服务器ses和数个其他节点c、d、e、f等的系统以及该第一节点a、该服务器ses和数个其他节点c、d、e、f等之间的示例信令;

图2是密钥生成文件的示例;

图3是用于生成第一和第二中间数据集的常数的示例;

图4是第一节点a处的第一中间数据集以及虚拟和临时第二节点b处的第二中间数据集的示例,所述虚拟和临时第二节点b在图1中所示的服务器ses处可执行;

图5图示第一数据集与第二数据集之间的匹配过程以及针对虚拟和临时第二节点b的密码密钥的生成的示例;

图6是针对第一节点a的密码密钥的生成的示例;

图7是示出根据实施例的方法的流程图;

图8是示出依照实施例的由第一节点(例如,图1中的节点a)执行的方法的流程图;

图9图示包括计算机程序代码装置的计算机可读介质的示例,所述计算机程序代码装置当在设备的处理器中执行时,可以使所述设备执行图8中所示的方法;

图10图示第一节点(例如,图1中的节点a)的示例实施方式;

图11图示第一节点(例如,图1中的节点a)的另一示例实施方式;

图12是示出依照实施例的由服务器(例如,图1中的ses)执行的方法的流程图;

图13图示包括计算机程序代码装置的计算机可读介质的示例,所述计算机程序代码装置当在设备的处理器中执行时,可以使所述设备执行图12中所示的方法;

图14图示服务器(例如,图1中的ses)的示例实施方式;

图15图示服务器(例如,图1中的ses)的另一示例实施方式;

图16是示出依照实施例的由节点(例如,图1中的节点c、d、e和/或f)执行的方法的流程图;

图17图示包括计算机程序代码装置的计算机可读介质的示例,所述计算机程序代码装置当在设备的处理器中执行时,可以使所述设备执行图16中所示的方法;

图18图示节点(例如,图1中的节点c、d、e和/或f)的示例实施方式;以及

图19图示节点(例如,图1中的节点c、d、e和/或f)的另一示例实施方式。

具体实施方式

现将在下文中更充分地描述本发明。然而,本发明可以被以许多不同的形式具体实现,而不应该被解释为限于本文中所阐述的实施例;相反地,这些实施例作为示例来提供,使得此公开将是详尽且完整的,并且将会将本发明的范围完全地传达给本领域的技术人员。相同的附图标记在本描述中自始至终指代相同的元件或方法步骤。

如上所述,存在对第一节点与数个(即,两个或更多个)其他节点之间的通信会话的需要,所述通信会话提供与现有安全的节点到节点通信系统相同或基本上相同程度的安全性。因此本文中所描述的实施例的一般目标是在第一节点与数个其他节点之间提供相对安全的通信会话,从而允许相对安全的广播式通信会话实现。

图1图示包括第一节点10和数个其他节点30的系统,所述第一节点10在下文中也被称为节点a,所述数个其他节点30在下文中也被称为节点c32、节点d34、节点e36、节点f38等。该系统也包括服务器20。节点10、30(例如,节点a、b、c、d、e、f等)可以是任何通信节点。因此,节点10、30可以例如是电子装置,诸如计算机、膝上型计算机、平板计算机、蜂窝电话、移动电话或智能电话。服务器20可以是任何通信装置(例如,计算机服务器),所述通信装置能够以安全的方式(例如,通过利用某种安全证书)发送和/或接收数据消息。因此,服务器20有时可以被称为安全服务器(缩写为ses)。

参考图1,将更详细地说明第一节点10(即,节点a)与数个其他节点30(即,节点c、d、e、f...)之间的通信的方法。如将了解的,也将参考图1来说明生成密码密钥的方法。生成密码密钥的方法本身与wo2011/002412a1中所描述的方法类似。然而,与wo2011/002412a1中所描述的方法不同,根据此公开的生成密码密钥的方法由第一节点10(即,节点a)和服务器20来执行。由服务器20生成的密码密钥然后被发送或者以其他方式传送到数个其他节点30(即,此示例中的节点c-f)以用于由这些节点30随后应用。如将了解的,因此使得有可能允许广播式通信会话(即,第一节点10与数个其他节点30之间),所述广播式通信会话可以提供与现有安全的节点到节点通信系统相同或基本上相同程度的安全性。

为了让第一节点10(即,节点a)能够像此公开中所描述的那样使用与数个其他节点(即,节点c-f)的安全的通信,第一节点10可能必须被授权与服务器20进行通信。因此,服务器20可以优选地但是未必跟踪被授权与服务器20进行通信的所有节点(例如,节点a、c、d、e、f等)。如上文所提到的,服务器与经授权的节点(例如,第一节点10)之间的通信通过使用某种安全证书通常是安全的或反之亦然。例如,x.509证书等可以被用于安全的通信。

继续参考图1,第一节点向服务器20发送101或者传送用于请求与多个其他节点30建立安全的通信会话的请求消息。所述请求消息包括节点标识符的列表,其中所述节点标识符中的每一个标识多个其他节点30中第一节点10想要与其设立安全的通信会话的相应的节点。

响应于接收到101请求消息,服务器20也可以检查第一节点10是否被授权与服务器20进行通信。可选地,服务器20也可以检查第一节点10是否被授权与第一节点10想要与其设立安全的通信会话的多个其他节点30设立安全的通信。

响应于接收到101请求消息,服务器创建102在服务器20内可执行的虚拟和临时第二节点22(在下文中也被称为节点b)。换句话说,响应于接收到101请求消息,可以触发服务器以创建或者以其他方式生成虚拟和临时第二节点22。更具体地,服务器20可以包括至少一个处理器和至少一个存储器,其中所述至少一个存储器存储具有指令的计算机程序,所述指令当在所述至少一个处理器上执行时,使服务器20创建或者以其他方式生成虚拟和临时第二节点22。

虚拟和临时第二节点22在它不是诸如第一节点10(即,节点a)或其他节点30(即,节点c-f)的单独的物理节点的意义上是虚拟的。相反地,虚拟和临时第二节点22在服务器20内执行并且具体实现具有与如wo2011/002412a1中所描述的第二节点(即,节点b)相同、基本上相同或类似的功能的第二节点的功能。应该了解的是,在一些实施例中,可以将虚拟和临时第二节点22具体实现为具有指令的计算机程序,所述指令当在服务器20的至少一个处理器上执行时,使服务器20应用如wo2011/002412a1中所描述的第二节点的相同、基本上相同或类似的功能。

虚拟和临时第二节点22在虚拟和临时第二节点22仅在服务器20上在有限时间段内可执行的意义上是临时的。例如,在一些实施例中,虚拟和临时第二节点22直到已经在第一节点10(即,节点a)与多个其他节点30(即,节点c-f)之间设立通信信道才是有效的,并且因此是可执行的。例如,第一节点10(即,节点a)和数个其他节点30(即,节点b、c、d、e、f)一旦彼此通信,虚拟和临时第二节点22就可能不再有效。另外,通信一旦在第一节点10(即,节点a)与数个其他节点30(即,节点b、c、d、e、f)之间已开始,这些节点就可能彼此直接地继续(一个或多个)通信会话。

此外,服务器20基于节点标识符的早前提到的列表来生成103临时节点标识符的列表,使得多个节点30中的每一个变得可通过它相应的临时节点标识符来标识。例如,服务器20可以生成103临时节点标识符的列表,以这样的方式使得每个临时节点标识符从来自所接收到的节点标识符的列表的相应的节点标识符随机地生成。可以想象用于随机地生成临时节点标识符的各种技术。临时节点标识符在这些临时节点标识符仅由服务器20在有限时间段内使用的意义上是临时的。例如,在一些实施例中,临时节点标识符直到已经在第一节点10(即,节点a)与多个其他节点30(即,节点c-f)之间设立通信信道才是有效的。一般地,所生成的临时节点标识符的列表仅为服务器20所知,因为正是服务器20它本身生成103临时节点标识符的列表(例如,借助于来自从第一节点10(节点a)接收到的节点标识符的列表的随机生成)。这是有利的,因为这可以改进总体安全性。

接下来,服务器20也将临时节点标识符的列表传送104到它创建的虚拟和临时第二节点22。

随后,服务器20向第一节点发送105a第一密钥生成文件。服务器也向虚拟和临时第二节点传送105b第二密钥生成文件。图2图示依照实施例的密钥生成文件200的示例。密钥生成文件200包括进程文件202,所述进程文件202当被执行时将生成加密/解密密钥,即密码密钥。因为第一节点10(即,节点a)以及虚拟和临时第二节点22(即,节点b)处的进程是不同的,将在下文中对此进行说明,所以发送到第一节点10的进程文件202可以不同于传送到虚拟和临时第二节点22的进程文件202。如图2中所描绘的,密钥生成文件200可以附加地包括元数据ml(204)、m2(206)、...、mn(208)。元数据可以包括用于生成密码密钥的信息。相同的元数据通常将被传送到第一节点10以及虚拟和临时第二节点22。元数据的示例是被使用或者以其他方式利用来生成密码密钥的常数。图3示出用于分别生成第一中间数据集和第二中间数据集的这种常数的示例,将下文中对此进一步说明。元数据也可以包括时间戳或时间标记,所述时间戳或时间标记可以例如用于检查两个密钥生成文件是否具有相同的起源。此外,元数据可以包括关于待使用的密钥长度和/或哪些比特应该被用于生成密码密钥的信息。如将由本领域的技术人员所了解的,也可以设想除上面所列举的信息外的其他信息以便增强安全性。

在接收到第一密钥生成文件时,第一节点10开始处理106a第一密钥生成文件。类似地,在接收到第二密钥生成文件时,虚拟和临时第二节点22开始处理106b第二密钥生成文件。

响应于对第一密钥生成文件的处理106a,第一节点将生成107a第一中间数据集。例如,第一节点10可以通过使用如图3中所描绘的常数的值来生成107a第一中间数据集。另外,响应于对第二密钥生成文件的处理106b,虚拟和临时第二节点22将生成107b第二中间数据集。例如,虚拟和临时第二节点22可以通过使用如图3中所描绘的常数的值来生成107b第二中间数据集。在上面的示例中,常数包含各自与相应的字母相关联的四个二进制比特。常数的长度可以任意变化并且比特可以与字母、图、希腊语符号等相关联。

在图4中示出了用于第一节点10(即,节点a)以及虚拟和临时第二节点22的第一中间数据集的示例。在此示例中,可以通过使用用于生成字母a、b、c和d的随机序列的任何已知的伪随机数生成器(例如,使用如blumblumshub、fortuna或mersennetwister(马特赛特旋转演算法)这样的伪随机算法)来生成中间数据集。在图4中,字母的随机序列被分别示出在第一和第二中间数据集的头部中。因此,为了生成中间数据集首先伪随机地确定字母的顺序,并且随后,分配根据图3的常数与字母相关联的正确值。如果此分配导致对于中间数据集生成例如仅零(0)或仅一(1),则可以在一些实施例中滤出此结果,并且可以生成新的随机序列。

因为第一中间数据集和第二中间数据集两者被伪随机地生成,所以这两个中间数据集一般地将永不相同。此示例中的中间数据集的长度仅是八个比特,以便容易地图示本发明的实施例。然而,在实践中,中间数据集的长度通常可以介于64个比特与2048个比特之间。比特长度可以是如上面所提到的元数据的一部分,并且每当从节点(诸如第一节点10)做出新请求10时可以由服务器20随机地设置。

在第一和第二中间数据集的生成之后,第一节点10将第一中间数据集发送108到虚拟和临时第二节点22。

虚拟和临时第二节点22然后将会将第一中间数据集的比特与第二中间数据集的对应比特进行比较109。或者换一种说法,虚拟和临时第二节点22将会将第一中间数据集和第二中间数据集彼此进行比较。比较109的结果在图5中所示的表中被称作匹配1。

如可在图5中看到的,值a和值b分别对应于第一中间数据集和第二中间数据集。比较是逐比特比较,并且结果在第一和第二数据集比特的值分别相等的情况下为真,而在它们不相等的情况下为假。比较的结果匹配1用于通过在所比较的比特相等的情况下设置第一值并且在所比较的比特不相等的情况下设置第二值来创建或者以其他方式生成10新的第三中间数据集(值1)。在此示例中,当所比较的比特相等时使用1,而在比特不相等的情况下使用0。然而,应该了解的是,也可以是相反的方式。

接下来,虚拟和临时第二节点22将所生成的第三中间数据集(值1)发送111到第一节点10。例如,可以将第三中间数据集从虚拟和临时第二节点22公开地发送或者传送到第一节点10。

第一节点10将第三中间数据集的比特与第一中间数据集的对应比特进行比较112。此外,第一节点通过在第三中间数据集的对应比特被设置为第一值的情况下保持第一中间数据集的比特的值并且在第三中间数据集的对应比特被设置为第二值的情况下忽略第一中间数据集的比特基于第三中间数据集与第一中间数据集之间的逐比特比较112来生成113a第一密码密钥。在被图示在图6中的此示例中,第一值对应于1并且第二值对应于0。如从图6明显的,密码密钥包括四个比特而不是原始八个比特,因为四个比特已经在密码密钥的生成期间被忽略了。

如早前提到的,可以公开地发送第一中间数据集和第三中间数据两者。即使他们被拦截,一般而言第三方也没有办法使用此数据来生成密码密钥。这是因为第三中间数据集中的1值不真正地意指值1,而是替代地第一数据集和第二数据集具有相同的值。因此,第三中间数据集中的1实际上可以是1或0。

在虚拟和临时第二节点22中,第二密码密钥是通过在第一中间数据集的对应比特相等的情况下保持第二数据集的比特的值并且在所比较的比特不相等的情况下忽略第二中间数据集的比特基于第一中间数据集与第二中间数据集之间的逐比特比较(参见图5)而生成的。如可在图5和图6中看到的,第一密码密钥和第二密码密钥分别是相同的密码密钥。所述密码密钥然后可以被用于在第一节点a与第二节点b之间发送的信息的加密/解密。任何已知的加密方法可以与通过本文中所描述的方法生成的密码密钥一起使用。

因此,本公开不集中于加密/解密是如何进行的,但是至今焦点已朝向密码密钥的生成。在密码密钥的生成之后,虚拟和临时第二节点在第一节点10与多个其他节点30中的每一个之间设立114或者以其他方式建立通信信道。通常,虚拟和临时第二节点使用或者利用临时节点标识符的列表以用于标识所述多个节点中将设立通信信道的相应的节点。

响应于已经设立相应的通信信道,虚拟和临时第二节点22还将第二密码密钥发送115到多个其他节点30中的每一个。

如将了解的,存在设立114通信信道并且将第二密码密钥发送115到多个其他节点30中的每一个的各种方式。在被示意性地图示在图7中的一个示例实施例中,虚拟和临时第二节点22可以向多个其他节点30中的每一个发送114a通信设立请求消息。响应于此,服务器20从多个其他节点30中的每一个接收114b用于请求虚拟和临时第二节点的节点标识符的响应消息;响应于接收到(一个或多个)响应消息,服务器将虚拟和临时第二节点22的节点标识符返回114c给接收到响应消息的那些节点30。服务器从多个其他节点30中的每一个接收114d确认(ack)消息或非确认(nack)消息。响应于接收到确认(ack)消息,服务器20指示115a虚拟和临时第二节点22向返回了确认消息的多个其他节点中的每一个发送第二密码密钥。响应于从服务器20接收到指令,虚拟和临时第二节点22将第二密码密钥发送到返回了确认消息的多个其他节点中的每一个。

本领域的技术人员将了解,所生成的密码密钥可以是有效的,只要第一节点10与其他节点30中的相应的节点之间的通信会话是活动的即可。

上面提到的实施例是有利的原因在于它们使得能实现第一节点10(例如,节点a)与数个其他节点30(例如,节点c、d、e、f...)之间的安全的节点到多节点通信会话。除了别的之外,本文中所描述的节点到多节点通信不泄露数个其他节点30的节点标识符。替代地,服务器20以及虚拟和临时第二节点(例如,节点b)将临时节点标识符用于被“作为目标”的这些节点。这些临时节点标识符由服务器20生成,例如随机地生成,并且因此仅为服务器20以及虚拟和临时第二节点22所知。这增强节点到多节点通信会话的安全性,因为对其他节点来说很难(如果有可能)泄露数个临时节点标识符的列表中的所有临时节点标识符。

现在转向图8,将描述依照实施例的方法。该方法由第一节点10(例如,节点a)执行或者以其他方式在第一节点10(例如,节点a)中执行。第一节点10向服务器22发送101用于请求与多个其他节点30建立安全的通信会话的请求消息。所述请求消息包括节点标识符的列表,其中所述节点标识符中的每一个标识所述多个其他节点中的相应的节点。第一节点10也从服务器20接收105a第一密钥生成文件。在接收到105a第一密钥生成文件时,第一节点10开始处理106a第一密钥生成文件。当第一节点10处理106a第一密钥生成文件时,第一中间数据集被生成107a。第一中间数据集被发送108到虚拟和临时第二节点22,所述虚拟和临时第二节点22在如早前描述的所述服务器上可执行。第一节点10也从虚拟和临时第二节点接收111第三中间数据集。第一节点10将第三中间数据集的比特与第一中间数据集的对应比特进行比较112。另外,第一密码密钥被生成113a。第一密码密钥的生成113a是通过在第三中间数据集的对应比特被设置为第一值的情况下保持第一中间数据集的比特的值并且在第三中间数据集的对应比特被设置为第二值的情况下忽略第一中间数据集的比特基于第三中间数据集与第一中间数据集之间的逐比特比较的。而且,第一节点10在第一节点10与多个其他节点30中的每一个之间的后续通信会话期间应用116a第一密码密钥。

现在转向图9,将简要地讨论另一实施例。图9示出在此示例中形式为数据盘900的计算机可读介质的示例。在一个实施例中,数据盘900是磁数据存储盘。数据盘900被配置成承载指令901,所述指令901当被加载到第一节点10(例如,节点a)的至少一个处理器中时,执行如在本文中关于图1或图8所描述的方法或过程。数据盘900可以被布置成连接到读取装置(未示出)或者在读取装置内并且由读取装置读取,以便将指令加载到至少一个处理器中。与一个(或数个)数据盘900组合的读取装置的一个这种示例是硬盘驱动器。应该注意的是,计算机可读介质可以可替代地是其他介质,诸如紧致盘、数字视频盘、闪速存储器或常用的其他存储器技术。在此类实施例中,数据盘900是一种类型的有形计算机可读介质。可以可替代地通过将指令包括在计算机可读信号(未示出)中将指令下载到第一节点10,所述计算机可读信号经由无线(或有线)接口(例如,经由互联网)发送到第一节点10以便将指令加载到第一节点10的至少一个处理器中。在这种实施例中,计算机可读信号是一种类型的非有形计算机可读介质。计算机可读信号可以例如是电子信号、光信号或无线电信号。

图10示出第一节点10(例如,节点a)的示例实施方式。第一节点10包括通信接口1010,所述通信接口1010通常包括发送器(tx)和接收器(rx)。可替代地,通信接口1010可以包括组合发送和接收能力的收发器。另外,第一节点包括处理器1020和存储器1030。存储器1030存储具有指令的计算机程序,所述指令当在处理器1020上执行时,使节点10:

(i)借助于发送器1010向服务器20发送用于请求与多个其他节点30(参见例如图1)建立安全的通信会话的请求消息,所述请求消息包括节点标识符的列表,其中所述节点标识符中的每一个标识所述多个其他节点30中的相应的节点;

(ii)借助于接收器1010从服务器20接收第一密钥生成文件

(iii)处理第一密钥生成文件;并且作为响应

(iv)生成第一中间数据集;

(v)借助于发送器1010将第一中间数据集发送到虚拟和临时第二节点22,该虚拟和临时第二节点22在所述服务器20上可执行;

(vi)借助于接收器1010从虚拟和临时第二节点22接收第三中间数据集;

(vii)将第三中间数据集的比特与第一中间数据集的对应比特进行比较;

(viii)通过在第三中间数据集的对应比特被设置为第一值的情况下保持第一中间数据集的比特的值并且在第三中间数据集的对应比特被设置为第二值的情况下忽略第一中间数据集的比特基于第三中间数据集与第一中间数据集之间的逐比特比较来生成第一密码密钥;以及

(ix)在第一节点10与多个其他节点30中的一个或多个(例如,每一个)之间的(一个或多个)后续通信会话期间应用第一密码密钥。

参考图11,将描述第一节点10(例如,节点a)的替代实施方式。第一节点10可以包括处理器1110、各种模块1120、发送器(tx)1130和接收器(rx)1140。可以可替代地将发送器1130和接收器1140实现为单个收发器。更具体地,第一节点10包括用于经由发送器1130向服务器1130发送用于请求与多个其他节点30(参见例如图1)建立安全的通信会话的请求消息的发送模块1121,所述请求消息包括节点标识符的列表,其中所述节点标识符中的每一个标识所述多个其他节点30中的相应的节点。接收器1140被配置成从服务器20接收第一密钥生成文件。另外,密钥生成文件处理模块1122被提供用于处理第一密钥生成文件。第一节点10也包括用于生成第一中间数据集的数据集生成模块1123。发送器1010被配置成将第一中间数据集发送或者以其他方式传送到虚拟和临时第二节点22,其中虚拟和临时第二节点22在所述服务器20上可执行。接收器1140还被配置成从虚拟和临时第二节点22接收第三中间数据集。而且,第一节点10包括用于将第三中间数据集的比特与第一中间数据集的对应比特进行比较的比特比较器模块1124。更进一步,第一节点包括用于通过在第三中间数据集的对应比特被设置为第一值的情况下保持第一中间数据集的比特的值并且在第三中间数据集的对应比特被设置为第二值的情况下忽略第一中间数据集的比特基于第三中间数据集与第一中间数据集之间的逐比特比较来生成第一密码密钥的密码密钥生成模块1125。此外,第一节点10可以包括用于在第一节点10与多个其他节点30中的一个或多个(例如,每一个)之间的(一个或多个)后续通信会话期间应用第一密码密钥的密码密钥应用模块1126。

现在转向图12,将描述依照实施例的方法。图12中所示的方法由服务器20(例如,图1中所示的ses)执行或者以其他方式在服务器20(例如,图1中所示的ses)中执行。服务器从第一节点(例如,节点a)接收101用于请求在第一节点10与多个其他节点30(例如,节点c、d、e、f...)之间建立安全的通信会话的请求消息。此请求消息包括节点标识符的列表,其中所述节点标识符中的每一个标识所述多个其他节点30中的相应的节点。响应于从第一节点10接收到请求消息,服务器创建或者以其他方式生成虚拟和临时第二节点22。如本文中早前描述的,虚拟和临时第二节点22在服务器20内可执行。此外,服务器基于节点标识符的列表来生成103或以其他方式建立临时节点标识符的列表,使得所述多个节点30中的每一个变得可通过它相应的临时节点标识符来标识。随后,服务器向第一节点10发送105a第一密钥生成文件。另外,服务器20向虚拟和临时第二节点22传送105b第二密钥生成文件。更进一步,虚拟和临时第二节点在服务器20上执行。这使服务器开始处理106b第二密钥生成文件。作为响应,第二中间数据集被生成107b。从第一节点接收108第一中间数据集。此外,第一中间数据集的比特与第二中间数据集的对应比特进行比较109。随后,通过在所比较的比特相等的情况下设置第一值并且在所比较的比特不相等的情况下设置第二值基于第一中间数据集与第二中间数据集之间的逐比特比较来生成110第三中间数据集。该第三中间数据集被发送111到第一节点。另外,通过在第一中间数据集的对应比特相等的情况下保持第二数据集的比特的值并且在所比较的比特不相等的情况下忽略第二中间数据集的比特基于第一中间数据集与第二中间数据集之间的逐比特比较来生成113a第二密码密钥。而且,第一节点与多个其他节点中的每一个之间的通信信道被设立114或者以其他方式建立。虚拟和临时第二节点22可以使用临时节点标识符的列表以用于标识所述多个节点中将设立通信信道的相应的节点。响应于已经设立相应的通信信道,第二密码密钥被发送115到多个其他节点30中的每一个以用于由多个其他节点30中的一个或多个(例如,每一个)在第一节点10与多个其他节点30中的一个或多个(例如,每一个)之间的通信会话期间随后应用。

参考图13,将简要地讨论另一实施例。图13示出在此示例中形式为数据盘1300的计算机可读介质的示例。在一个实施例中,数据盘1300是磁数据存储盘。数据盘1300被配置成承载指令1301,所述指令1301当被加载到服务器(例如,ses)的至少一个处理器中时,执行如在本文中关于图1或图12所描述的方法或过程。数据盘1300可以被布置成连接到读取装置(未示出)或者在读取装置内并且由读取装置读取,以便将指令加载到至少一个处理器中。与一个(或数个)数据盘1300组合的读取装置的一个这种示例是硬盘驱动器。应该注意的是,计算机可读介质可以可替代地是其他介质,诸如紧致盘、数字视频盘、闪速存储器或常用的其他存储器技术。在此类实施例中,数据盘1300是一种类型的有形计算机可读介质。可以可替代地通过将指令包括在计算机可读信号(未示出)中将指令下载到服务器20,所述计算机可读信号经由无线(或有线)接口(例如,经由互联网)发送到服务器20以便将指令加载到服务器20的至少一个处理器中。在这种实施例中,计算机可读信号是一种类型的非有形计算机可读介质。计算机可读信号可以例如是电子信号、光信号或无线电信号。

图14示出服务器20(例如,ses)的示例实施方式。服务器20包括通信接口1410,所述通信接口1410通常包括发送器(tx)和接收器(rx)。可替代地,通信接口1410可以包括组合发送和接收能力的收发器。另外,服务器20包括处理器1420和存储器1430。存储器1430存储具有指令的计算机程序,所述指令当在处理器1420上执行时,使服务器20:

(i)借助于接收器1410从第一节点10(例如,节点a)接收用于请求在第一节点10与多个其他节点30(例如,节点c、d、e、f...)之间建立安全的通信会话的请求消息,所述请求消息包括节点标识符的列表,其中所述节点标识符中的每一个标识所述多个其他节点30中的相应的节点;

(ii)响应于接收到所述请求消息而创建在所述服务器20内可执行的虚拟和临时第二节点22(例如,节点b);以及

(iii)基于节点标识符的所述列表来生成临时节点标识符的列表,使得所述多个节点中的每一个变得可通过它相应的临时节点标识符来标识;以及随后

(iv)借助于发送器1410向第一节点10发送第一密钥生成文件;以及

(v)向虚拟和临时第二节点22传送第二密钥生成文件;

(vi)在服务器20上执行虚拟和临时第二节点22并且虚拟和临时第二节点22从而:

a.处理第二密钥生成文件;并且作为响应

b.生成第二中间数据集;

c.借助于接收器1410从第一节点10接收第一中间数据集;

d.将第一中间数据集的比特与第二中间数据集的对应比特进行比较;

e.通过在所比较的比特相等的情况下设置第一值并且在所比较的比特不相等的情况下设置第二值基于第一中间数据集与第二中间数据集之间的逐比特比较来生成第三中间数据集;

f.借助于发送器1410将第三中间数据集发送到第一节点10;

g.通过在第一中间数据集的对应比特相等的情况下保持第二数据集的比特的值并且在所比较的比特不相等的情况下忽略第二中间数据集的比特基于第一中间数据集与第二中间数据集之间的逐比特比较来生成第二密码密钥;

(vii)在第一节点10与多个其他节点30中的每一个之间设立通信信道,虚拟和临时第二节点22使用临时节点标识符的列表以用于标识多个节点30中将设立通信信道的相应的节点;响应于已经设立相应的通信信道

(viii)借助于发送器1410将第二密码密钥发送到多个其他节点30中的每一个以用于由多个其他节点30中的一个或多个(例如,每一个)在第一节点10与多个其他节点30中的一个或多个(例如,每一个)之间的(一个或多个)后续通信会话期间随后应用。

参考图15,将描述服务器20(例如,ses)的替代实施方式。服务器20可以包括处理器1510、各种模块1520、发送器(tx)1530和接收器(rx)1540。可以可替代地将发送器1530和接收器1540实现为单个收发器。更具体地,接收器1540被配置成从第一节点10(例如,节点a)接收用于请求在第一节点10与多个其他节点30(例如,节点c、d、e、f...)之间建立安全的通信会话的请求消息。所述请求消息包括节点标识符的列表,其中所述节点标识符中的每一个标识多个其他节点30中的相应的节点。还提供了节点创建模块1521。响应于借助于接收器1540接收到所述请求消息,节点创建模块1521被适配成创建在所述服务器20内可执行的虚拟和临时第二节点22(例如,节点b)。临时节点id生成模块1522被提供用于基于节点标识符的所述列表来生成临时节点标识符的列表,使得所述多个节点中的每一个变得可通过它相应的临时节点标识符来标识。而且,发送器1530被配置成向第一节点10发送第一密钥生成文件。另外,服务器20向虚拟和临时第二节点22传送第二密钥生成文件,所述虚拟和临时第二节点22在所述服务器20内部可执行。虚拟和临时第二节点执行模块1523也被提供用于在服务器20上执行虚拟和临时第二节点22,并且虚拟和临时第二节点22从而使服务器20:i)处理第二密钥生成文件;并且作为响应,ii)生成第二中间数据集;iii)借助于接收器1540从第一节点10接收第一中间数据集;iv)将第一中间数据集的比特与第二中间数据集的对应比特进行比较;v)通过在所比较的比特相等的情况下设置第一值并且在所比较的比特不相等的情况下设置第二值基于第一中间数据集与第二中间数据集之间的逐比特比较来生成第三中间数据集;vi)借助于发送器1530将第三中间数据集发送到第一节点10;vii)通过在第一中间数据集的对应比特相等的情况下保持第二数据集的比特的值并且在所比较的比特不相等的情况下忽略第二中间数据集的比特基于第一中间数据集与第二中间数据集之间的逐比特比较来生成第二密码密钥。通信信道建立模块1524被适配成在第一节点10与多个其他节点30中的一个或数个(例如,每一个)之间设立通信信道(经由发送器1530和接收器1540),虚拟和临时第二节点22使用临时节点标识符的列表以用于标识多个节点30中将设立通信信道的相应的节点。响应于已经设立相应的通信信道,发送器1530被配置成将第二密码密钥发送到多个其他节点30中的一个或数个(例如,每一个)以用于由多个其他节点30中的每一个在第一节点10与多个其他节点30中的每一个之间的通信会话期间随后应用。

图16示出依照实施例的方法的流程图。图16中所图示的方法由节点30执行或者以其他方式在节点30中执行,所述节点30诸如节点30中的任何一个(例如,节点c、d、e、f...)。从虚拟和临时第二节点接收1610通信设立请求消息,所述虚拟和临时第二节点在服务器10(例如,ses)上可执行。从节点30的角度看,请求消息似乎是从服务器20接收的。在过程的这个阶段,节点30通常不知道已经由服务器20创建以便在服务器20上执行的虚拟和临时第二节点22的身份。响应于接收到这个通信设立请求消息,用于请求虚拟和临时第二节点22的节点标识符的响应消息被返回1620。接下来,节点30从服务器接收1630虚拟和临时第二节点的节点标识符。节点30将所接收到的节点标识符与存储的节点标识符进行比较1640。响应于此,节点30在所接收到的节点标识符不和存储的节点标识符匹配时向服务器20发送非确认消息,否则节点30在所接收到的节点标识符和存储的节点标识符匹配时对虚拟和临时第二节点进行认证1660并且向服务器发送确认消息。随后,节点30可以从虚拟和临时第二节点接收1670第二密码密钥。此后,节点30可以在与第一节点的通信会话期间应用1680第二密码密钥。

参考图17,将简要地讨论另一实施例。图17示出在此示例中形式为数据盘1700的计算机可读介质的示例。在一个实施例中,数据盘1700是磁数据存储盘。数据盘1700被配置成承载指令1701,所述指令1701当被加载到节点30(例如,图1的节点c、d、e、f...中的任何一个)的至少一个处理器中时,执行如在本文中关于图1或图16所描述的方法或过程。数据盘1700可以被布置成连接到读取装置(未示出)或者在读取装置内并且由读取装置读取,以便将指令加载到至少一个处理器中。与一个(或数个)数据盘1700组合的读取装置的一个这种示例是硬盘驱动器。应该注意的是,计算机可读介质可以可替代地是其他介质,诸如紧致盘、数字视频盘、闪速存储器或常用的其他存储器技术。在此类实施例中,数据盘1700是一种类型的有形计算机可读介质。可以可替代地通过将指令包括在计算机可读信号(未示出)中将指令下载到节点30,所述计算机可读信号经由无线(或有线)接口(例如,经由互联网)发送到节点30以便将指令加载到节点30的至少一个处理器中。在这种实施例中,计算机可读信号是一种类型的非有形计算机可读介质。计算机可读信号可以例如是电子信号、光信号或无线电信号。

图18示出节点30的示例实施方式。节点30包括通信接口1810,所述通信接口1810通常包括发送器(tx)和接收器(rx)。可替代地,通信接口1810可以包括组合发送和接收能力的收发器。另外,节点30包括处理器1820和存储器1830。存储器1830存储具有指令的计算机程序,所述指令当在处理器1820上执行时,使节点30:

i)借助于接收器从在服务器20上可执行的虚拟和临时第二节点22接收通信设立请求消息;

ii)响应于接收到所述通信设立请求消息借助于发送器返回用于请求虚拟和临时第二节点22的节点标识符的响应消息;

iii)借助于接收器从服务器20接收虚拟和临时第二节点22的所述节点标识符,

iv)将所接收到的节点标识符与存储的节点标识符进行比较;响应于此

a.当所接收到的节点标识符不和存储的节点标识符匹配时借助于发送器1810向服务器20发送非确认消息;否则

b.当所接收到的节点标识符和存储的节点标识符匹配时对虚拟和临时第二节点22进行认证;

c.借助于发送器1810向服务器20发送确认消息;并且作为响应

d.借助于接收器1810从虚拟和临时第二节点22接收第二密码密钥;以及

e.在与第一节点10的通信会话期间应用第二密码密钥。

参考图19,将描述节点30的替代实施方式。节点30可以包括处理器1910、各种模块1920、发送器(tx)1930和接收器(rx)1940。可以可替代地将发送器1930和接收器1940实现为单个收发器。更具体地,接收器1940被配置成从在服务器20上可执行的虚拟和临时第二节点22接收通信设立请求消息。作为响应,发送器1930被配置成返回即发送用于请求虚拟和临时第二节点的节点标识符的响应消息。此外,接收器1940被配置成从服务器20接收虚拟和临时第二节点的所述节点标识符。节点标识符比较器模块1921被提供用于将所接收到的节点标识符与存储的节点标识符进行比较。此外,节点认证器模块1922被提供用于在所接收到的节点标识符不和存储的节点标识符匹配时向服务器发送(经由发送器1930)非确认消息,以及否则在所接收到的节点标识符和存储的节点标识符匹配时对虚拟和临时第二节点进行认证并且向服务器发送(经由发送器1930)确认消息。接收器1940还被配置成从虚拟和临时第二节点接收第二密码密钥。而且,密码密钥应用模块1923被提供用于在与第一节点10的后续通信会话期间应用第二密码密钥。

应该了解的是,节点可以包括第一节点10和多个其他节点(即,在此公开中被表示为30)的功能。

本公开已讨论了第一节点与多个其他节点(即,两个或更多个其他节点)之间的通信的各种实施例。往回参考图1,两个密码密钥被生成。在第一节点10(例如,节点a)中生成113a第一密码密钥。第二密码密钥由第二节点22生成113b,所述第二节点22是在服务器20(在图1中被表示为ses)上执行的虚拟和临时节点。第二密码密钥被发送到数个其他节点30,例如节点c、d、e和/或f。然后可以在第一节点10与数个其他节点30中的一个或多个之间的通信会话中应用相同的第一密码密钥和第二密码密钥。因此使得有可能允许节点到多节点通信会话,所述节点到多节点通信会话提供与常规的节点到节点通信会话(例如,如wo2011/002412al中所描述的)相同或基本上相同的安全性。

在上文的详细描述中,出于说明而非限制的目的,阐述了特定细节以便提供对此公开中所描述的各种实施例的详尽理解。在一些实例中,已经省略众所周知的装置、组件、电路和方法的详细描述,以便不以不必要的细节使本文中所公开的实施例的描述混淆。在本文中记载本文中所公开的原理、方面和实施例的所有描述及其特定示例旨在包含结构及其功能等同物两者。附加地,意图是,此类等同物既包括当前已知的等同物,也包括将来开发的等同物,即所开发的不管结构如何都执行相同功能的任何元件。因此,例如,将了解的是,本文的框图可表示具体实现所描述的实施例的原理的说明性电路或其他功能单元的概念图。类似地,将了解的是,任何流程图等表示可以被基本上表示在计算机可读介质中并且所以由计算机或处理器执行的各种进程,而无论这种计算机或处理器是否被显式地示出。包括功能块的各种元件的功能可以通过使用硬件来提供,所述硬件诸如能够执行形式为存储在上面提到的计算机可读介质上的编码指令的软件的硬件和/或电路硬件。因此,此类功能和图示的功能块将被理解为是硬件实现的和/或计算机实现的,并且因此是机器实现的。在硬件实施方式方面,功能块可以包括或者包含而不限于数字信号处理器(dsp)硬件、精减指令集处理器、硬件(例如,数字或模拟)电路,包括但不限于专用集成电路[asic]和/或现场可编程门阵列(fpga))以及(适当时)能够执行此类功能的状态机。在计算机实施方式方面,计算机一般地被理解成包括一个或多个处理器或一个或多个控制器。当由计算机或处理器或控制器来提供时,功能可以由单个专用计算机或处理器或控制器、由单个共享计算机或处理器或控制器或者由多个单独的计算机或处理器或控制器(其中的一些可以被共享或分布)来提供。而且,术语“处理器”或“控制器”的使用也可以被解释成指代能够执行此类功能和/或执行软件的其他硬件,诸如上面所记载的示例硬件。

所描述的实施例的修改和其他变体将被受益于上述描述和相关附图中所呈现的教导的本领域的技术人员想到。因此,应当理解的是,实施例不限于此公开中所描述的特定示例实施例并且修改和其他变体旨在被包括在此公开的范围内。例如,本文中所描述的方法通过按照特定次序执行或者实行的方法步骤或动作来举例说明。然而,本领域的技术人员将了解,未必已经按照所举例说明的次序执行或者实行被描述的方法步骤或动作。其他次序可以同样地是可能的或者同样地有利的,所以所描述的实施例的修改和其他变体将被本领域的技术人员想到。此外,尽管可以在本文中采用特定术语,然而它们仅在通用和描述性意义上被使用,而不用于限制的目的。因此,本领域的技术人员将认识到将仍然落入所附权利要求的范围内的所描述的实施方式的许多变化。如本文中所用的,术语“包括/包括有”或“包含/包含有”不排除其他元件或步骤的存在。此外,尽管可以在不同的权利要求中包括单独的特征,然而可能可以有利地组合这些,并且不同权利要求的包括不暗示特征的组合是不可行的和/或有利的。此外,单数引用不排除多个。

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