使用网络来委托第二网络的制作方法

文档序号:15074603发布日期:2018-08-01 00:55阅读:171来源:国知局



背景技术:

网络连接装置的爆增已导致对某些协议的增加使用。例如,基于ieee802.15.4的协议(诸如zigbee®)现在通常被用在许多应用中,所述应用包括公用电表、照明系统等。随着对zigbee®的使用扩展,许多人正在试图解决协议中固有的一些感知到的安全弱点。

一个这种安全弱点是新装置用来加入现有zigbee®网络的过程。一旦装置是zigbee®网络的一部分,其分组就将使用网络密钥来加密。然而,将该网络密钥中继到新装置可能是有问题的。许多现有网络使用两个方案之一来允许新装置加入。

第一方案是使用众所周知的安全密钥(诸如默认zigbee®链路密钥)来对网络密钥进行加密。然而,此默认密钥是众所周知的。因此,黑客或其他恶意用户可通过在新装置加入网络时观察业务(traffic)容易地拦截网络密钥,从而允许他们对在使用默认密钥的zigbee®网络上发生的所有业务进行解密。

第二方案是使用装置特定密钥来对网络密钥进行加密。遗憾的是,必须将此装置特定密钥传送给zigbee®网关。当前,这通过在装置处提供密钥的指示来完成。例如,可以将具有装置特定密钥的纸条与装置一起放置在运输箱中。用户然后必须定位此指示并且将该装置密钥编程到zigbee®网关中。丢失此密钥的可能性很高,并且该过程可能需要在所有部署站点处都不存在的专业知识水平。

因此,需要改进的允许新装置安全地加入网络(诸如zigbee®网络)的系统和方法。进一步地,如果此系统和方法实现起来简单以便容易地达到目的将是有益的。



技术实现要素:

公开了一种允许新装置加入现有网络的系统和方法。配置工具用于使用与由主网络使用的网络协议不同的辅网络协议来从新网络装置向所述现有网络中的网关传送相关信息。例如,在一个实施例中,使用bluetooth®(蓝牙®)在所述配置工具与所述新装置之间且在所述配置工具与所述网关之间交换消息。一旦所有的所述相关信息已被交换,所述新装置就能够安全地加入所述主网络,这可以基于ieee802.15.4标准。

在一个实施例中,公开了一种允许网络装置安全地加入网络的方法。所述方法包括:使用与所述网络的网络协议不同的第一网络协议来在所述网络装置与配置工具之间建立网络连接;使用与所述网络的所述网络协议不同的第二网络协议来在网关与所述配置工具之间建立第二网络连接;使用所述配置工具来从所述网络装置获得信息并且将所述信息传递给所述网关;使用所述网络的所述网络协议来从所述网络装置向所述网关发送加入所述网络的请求;以及响应于所述请求而使用所述网络的所述网络协议来从所述网关向所述网络装置发送网络密钥,其中所述网络密钥基于从所述网络装置获得的所述信息被加密。在某些实施例中,所述信息是安装代码。在某些实施例中,所述方法还包括:在发送所述请求之前,使用所述配置工具来从所述网关获得网络信息并且将所述网络信息传递给所述网络装置。所述网络信息可以包括信道和panid。

根据另一实施例,公开了一种配置工具。所述配置工具允许网络装置安全地加入网络。此配置工具包括:第一网络接口;第二网络接口;处理单元;以及存储装置,所述存储装置包括指令,所述指令当由所述处理单元执行时,允许所述配置工具发起加入过程并且:使用与所述网络的网络协议不同的第一网络协议来经由所述第一网络接口在所述网络装置与所述配置工具之间建立第一网络连接;使用与所述网络的所述网络协议不同的第二网络协议来经由所述第二网络接口在网关与所述配置工具之间建立第二网络连接;经由所述第一网络连接从所述网络装置获得信息;以及经由所述第二网络连接将所述信息传递给所述网关。在某些实施例中,所述第一网络协议和所述第二网络协议是bluetooth®。

附图说明

为了更好地理解本公开,对附图进行参考,在附图中相同的元件用相同的标号来提及,并且在附图中:

图1是配置工具的框图;

图2示出了根据一个实施例的加入过程期间的新装置、网关和配置工具;

图3示出了根据第二实施例的加入过程期间的新装置、网关和配置工具;以及

图4示出了加入过程的流程图。

具体实施方式

图1示出了代表性配置工具10的框图。配置工具10具有处理单元20和关联的存储装置25。此存储装置25包含指令,所述指令当由处理单元20执行时,使得配置工具10能够执行本文中所描述的功能。此存储装置25可以是非易失性存储器,诸如flashrom、电可擦rom或其他适合的装置。在其他实施例中,存储装置25可以是易失性存储器,诸如ram或dram。在某些实施例中,存储装置25可以与处理单元20封装在一起。处理单元20可以是任何适合的装置,包括但不限于通用处理器、专用处理器、嵌入式控制器或个人计算机(pc)。

配置工具10也包括第一网络接口30,其通常是包括天线35的无线接口。第一网络接口30可以支持任何无线网络,包括bluetooth®或蜂窝协议(诸如3g、gcm、cdma、4g、lte)或其他协议。在某些实施例中,配置工具10可以包括与第一网络接口30不同的第二网络接口50。此第二网络接口50可以支持任何无线网络,包括bluetooth®或蜂窝协议(诸如3g、gcm、cdma、4g、lte)或其他协议。

配置工具10可以包括第二存储装置40,在所述第二存储装置40中存储了由第一网络接口30接收的数据和将由第一网络接口30发送的数据。附加地,可以将由第二网络接口50发送和接收的数据存储在第二存储装置40中。此第二存储装置40传统上是易失性存储器。处理单元20具有读取和写入第二存储装置40以便与网络中的其他装置进行通信的能力。尽管未示出,然而配置工具10也具有电源,所述电源可以是电池或到永久电源的连接,诸如墙上插座。

虽然公开了存储装置25,但是可以采用任何计算机可读介质来存储这些指令。例如,可以采用只读存储器(rom)、随机存取存储器(ram)、磁存储装置(诸如硬盘驱动器)或光学存储装置(诸如cd或dvd)。此外,可以诸如例如通过网络连接(未示出)、经由cdrom或者通过另一机制将这些指令下载到存储装置25中。这些指令可以用任何编程语言编写并且不受本公开限制。因此,在一些实施例中,可以存在包含本文中所描述的指令的多个计算机可读介质。如图1中所示,第一计算机可读介质可以与处理单元20通信。第二计算机可读介质可以是远离配置工具10定位的cdrom或不同的存储装置。可以将包含在此第二计算机可读介质上的指令下载到存储装置25上以允许由配置工具10执行指令。

配置工具10也可以包括显示元件60。在一些实施例中,显示元件60可以是led或lcd屏幕。在某些实施例中,显示元件60是触摸屏,使得可以通过显示元件60向处理单元20供应输入。在其他实施例中,配置工具10也可以与单独的输入装置通信以允许用户输入。例如,输入装置可以是键盘。

包括上面所枚举的组件的任何装置都可以被用作配置工具。在一个特定实施例中,配置工具10可以是移动电话或平板计算机。在某些实施例中,本文中所描述的指令可以被封装为应用。配置工具10可以从远程服务器接收应用。例如,在一个实施例中,可以在远程服务器(诸如公司服务器)上获得应用。在某些实施例中,可以在诸如googleplay、microsoftstore(微软商店)、appleappstore(苹果应用商店)等之类的数字分发平台上获得应用。当然,在其他实施例中,可以将软件预先加载到配置工具10上。

图2示出了用于根据一个实施例的加入过程的组件。除配置工具10之外,还存在打算加入现有网络300的新网络装置100。网络装置100具有处理单元120和关联的存储装置125。此存储装置125包含指令,所述指令当由处理单元120执行时,使得新网络装置100能够执行本文中所描述的功能。此存储装置125可以是非易失性存储器,诸如flashrom、电可擦rom或其他适合的装置。在其他实施例中,存储装置125可以是易失性存储器,诸如ram或dram。在某些实施例中,存储装置125可以与处理单元120封装在一起。处理单元120可以是任何适合的装置,包括但不限于通用处理器、专用处理器、嵌入式控制器或个人计算机(pc)。

网络装置100也包括第一网络接口130,其通常是包括天线135的无线接口。第一网络接口130可以支持ieee802.15.4协议,诸如thread、zigbee®等。网络装置也包括第二网络接口150。此第二网络接口150支持与第一网络接口130不同的网络协议。第二网络接口150可以支持任何无线网络,包括bluetooth®或蜂窝协议(诸如3g、gcm、cdma、4g、lte)或其他协议。在其他实施例中,第二网络接口150可以支持有线网络协议,诸如usb。在某些实施例中,新网络装置100能够在两个网络接口上通信。在其他实施例中,网络装置100可以具有多个软件映像,其中这些软件映像中的一个在加入过程期间被使用并且允许通过第二网络接口150通信。这些软件映像中的另一个可以在正常操作期间被使用并且允许通过第一网络接口130通信。这些软件映像可以被内部地存储在存储装置125中,或者可以被存储在外部存储装置170中,所述外部存储装置170可以是非易失性存储装置。

网络装置100可以包括第二存储装置140,在所述第二存储装置140中存储了由第一网络接口130和第二网络接口150接收的数据以及将由这些网络接口​​发送的数据。此第二存储装置140传统上是易失性存储器。处理单元120具有读取和写入第二存储装置140以便与网络中的其他装置进行通信的能力。尽管未示出,然而网络装置100也具有电源,所述电源可以是电池或到永久电源的连接,诸如墙上插座。

图2也示出了网关200。网关200是新网络装置100希望加入到的网络300的一部分。网关200可以是网络300内的任何装置,但是通常是负责控制对网络300的访问的装置。网络300通常是无线网络,诸如基于ieee802.15.4的无线网络,包括但不限于zigbee®。

像网络装置100一样,网关200也包括处理单元220、存储装置225、第二存储装置240、第一网络接口230、天线235和第二网络接口250。网关200的第一网络接口230和新网络装置100的第一网络接口130利用相同的网络协议。网关200和新网络装置100的第二网络接口可以利用相同的网络协议,但是这不是必需的。

在某些实施例中,网关200可以包括到互联网的连接。此连接可以是上面所描述的两个网络接口之一,或者可以是第三网络接口,诸如以太网或wifi。

在操作中,配置工具10的第一网络接口30能够与新网络装置100的第二网络接口150进行通信。类似地,配置工具10的第二网络接口50能够与网关200的第二网络接口250进行通信。在网关200和新网络装置100的第二网络接口利用相同的网络协议的实施例中,配置工具10可以使用第一网络接口30来与网关200和新网络装置100两者进行通信。在此实施例中,配置工具10的第二网络接口50可以不存在,或者可以存在但是在加入过程期间不使用。

图2示出了配置工具10的第二网络接口50与网关200的第二网络接口之间的直接连接。然而,其他配置也是可能的。例如,图3示出了第二实施例。在此实施例中,配置工具10和新网络装置100如上所述。在此实施例中,网关200的第二网络接口250与远程装置(诸如云服务器390)通信。云服务器390可以是任何服务器或其他计算机并且可以能够使用第二网络接口250来与网关200进行通信。在其他实施例中,云服务器390可以使用第三网络接口来与网关200进行通信。在某些实施例中,此通信协议可以是任何带外协议并且不受本公开限制。在此实施例中,配置工具10的第二网络接口50与云服务器390进行通信。在一些实施例中,可以使用蜂窝通信协议或wifi来执行此通信。云服务器390然后经由第二网络接口250将从配置工具10接收到的信息中继到网关200。

换句话说,配置工具10具有使用与由网络300使用的网络协议不同的网络协议来与新网络装置100和网关200进行通信的能力。在某些实施例中,配置工具10使用相同的网络协议来与新网络装置100和网关200两者进行通信。在某些实施例中,此网络协议可以是bluetooth®。在某些实施例中,配置工具10使用不同的网络协议来与新网络装置100和网关200进行通信。如上所述,配置工具10与网关200之间的通信可以是直接的(如图2中所示)或间接的(如图3中所示)。

进一步地,先前的公开内容描述了其中使用无线网络协议来执行配置工具10及新网络装置100和网关200之间的通信的实施例。然而,其他实施例是可能的。例如,新网络装置100可以包括硬件端口,诸如usb端口。配置工具10的第一网络接口30可以与此硬件端口兼容,使得物理电缆能够用于连接配置工具10和新网络装置100。替换地或附加地,网关200的第二网络接口250可以包括硬件端口,使得配置工具10的第二网络接口50能够使用物理电缆连接到网关200。

在描述了这些组件的物理配置后,将描述使用配置工具10来允许新网络装置100加入网络300的方法。

传统上,当新装置加入网络时,需要网络密钥以能够对在该网络上发生的所有通信进行解密。此网络密钥必须由网关发送到新网络装置。但是,简单地将网络密钥发送到新网络装置危害网络的安全,因为网络密钥是未加密的。因此,如果黑客正在监视网络业务,则网络密钥可被容易地捕获并用于对网络上的所有其他业务进行解密。

作为替代方案,在一些实施例中,网络密钥被发送到使用链路密钥加密的新网络装置。链路密钥可以是默认值或装置唯一值。在默认值的情况下,网络的安全仍然受到危害,因为链路密钥的默认值是已发布的并且是众所周知的。因此,监视业务的黑客可对网络密钥进行解密,因为链路密钥已经是已知的。

因此,最安全的方法是创建以某种方式对特定网络装置唯一的链路密钥。这可以通过使唯一安装代码与每个网络装置相关联来实现。此安装代码在它诸如在一张纸上被交付给客户时可以伴随网络装置。用户然后必须将此安装代码输入到网关中,使得网关可生成链路密钥并将网络密钥发送到新网络装置。然而,此过程是手动的并且是有缺陷的,因为加入过程依靠客户的为每个装置保留安装代码并且将该信息正确地输入到网关中的能力。

图4示出了图示根据一个实施例的加入过程的流程图。在此实施例中,配置工具10与新网络装置100和网关200建立通信,如过程400中所示。在某些实施例中,配置工具10维持到两个装置的同时连接。在其他实施例中,配置工具10与新网络装置100之间以及配置工具10与网关200之间的连接是有顺序的。在某些实施例中,配置工具10建立到其他装置中的一个或两个的安全连接。然而,在其他实施例中,到其他装置中的每一个的连接可能不是安全的。如上所述,到配置工具10的连接使用其他两个组件的第二网络接口来执行。

在某些实施例中,配置工具10可以包括显示元件60。此显示元件可以用于显示可用的网关和未连接的网络装置。以这种方式,用户可以能够选择将参与图4中所示出的序列的特定网关和网络装置。

一旦连接已被建立,配置工具10就可选地从网关200获得网络信息,诸如信道和扩展panid,如过程410中所示。当然,配置工具10可以视需要从网关200获得附加信息。

配置工具10然后从新网络装置100获得某些信息。此信息可以包括新网络装置100的mac地址(也被称为ieee地址)以及其安装代码,如过程420中所示。

配置工具10然后将它从网关200接收到的信息发送到新网络装置100,并且将它从新网络装置100接收到的信息发送到网关200,如过程430中所示。

应该注意的是,可以视需要按照相反次序执行过程410和420。附加地,在过程430中交换信息可以作为独立过程被执行。例如,可以执行过程410,并且可以将此信息发送到新网络装置100。然后可以执行过程420并且然后将此信息中继到网关200。在某些实施例中,不管序列如何,配置工具10都从网关200和新网络装置100获得信息并且将此信息发送到另一个组件。在其他实施例中,配置工具10从新网络装置100获得信息并且将此信息发送到网关200。

序列(即过程400至420)的这个部分代替默认链路密钥的使用或将安装代码手动地输入到网关200中的需要。进一步地,在某些实施例中,可以在其中存在多个网络的环境中添加新网络装置。通过将信息从网关转移到新网络装置100,新网络装置被通知关于它将加入到哪一个网络300。进一步地,通过将mac地址提供给网关200,网关200被通知哪一个装置将试图加入其网络300。这可以使恶意行动者加入网络300的机会最小化。

一旦此信息已被交换,传统的加入过程就可以继续。如上所述,可以使用安装代码来创建链路密钥。接下来,新网络装置100要求网关200加入网络300,如过程440中所示。因为已经向新网络装置100通知了panid和信道,所以新网络装置100能够将请求发送到所期望的网络300。在其他实施例中,新网络装置100简单地发送请求而不标识特定网络。网关200然后通过向新网络装置100发送网络密钥来响应。因为网关200知道安装代码,所以网关200能够使用链路密钥来对网络密钥进行加密,如过程450中所示。此链路密钥也为新网络装置100所知。此时,新网络装置100已加入网络300。

因此,在一个实施例中,加入过程利用与主网络协议不同的一个或多个辅网络协议。这些辅网络协议用于在网关200与新网络装置100之间交换信息,这是通过使用能够与这些组件中的每一个建立网络连接的配置工具10来促进的。在某些实施例中,配置工具10用于从新网络装置100中检索被传递给网关200的信息。

进一步地,在一个特定实施例中,配置工具10具有bluetooth®接口,并且使用bluetooth®来与新网络装置100和网关200两者进行通信。在此实施例中,配置工具10可以是支持bluetooth®的任何装置,包括个人计算机、平板计算机、移动电话等。如上所述,可以将在配置工具10上执行的软件从远程服务器或数字分发平台下载到配置工具10。

在其他实施例中,配置工具可以使用不同的辅网络协议来与网关200和新网络装置100进行通信。在一个实施例中,bluetooth®用于与新网络装置100进行通信,而wifi®或usb用于与网关200进行通信。当然,辅网络协议可以不同于上面所描述的那些网络协议,因为这意在用作示例。

在仍然其他的实施例(诸如图3中所示出的实施例)中,配置工具10可以与能够访问网关200的远程服务器(诸如云服务器390)进行通信。在此实施例中,配置工具10可以使用bluetooth®来与新网络装置100进行通信,同时使用蜂窝协议(诸如lte、4g、gsm、3g等)来与云服务器进行通信。

虽然上面的公开内容描述了允许新网络装置加入网络300的系统和机制,但是使用此方法的其他增强功能也是可能的。例如,当网关200向配置工具10提供信息时,该信息也可以确切地包括网络300正在使用哪一个网络协议。例如,zigbee®、thread和其他协议全部利用ieee802.15.4标准。因此,在一个实施例中,网关200将网络协议信息传递给配置工具10,所述配置工具10然后将此信息转发到新网络装置100。基于此信息,新网络装置100可以选择软件映像中的一个,该选择的软件映像支持经标识的网络协议。如上所述,这些软件映像可以被存储在外部存储装置170中或者存储在存储装置125中。换句话说,配置工具10可以指示新网络装置100将使用的网络协议。这然后使新网络装置100将多个软件映像中的一个加载到该新网络装置100的存储装置125中并且执行包含在此软件映像中的指令。这允许用户不仅允许网络装置100加入先已存在的网络,而且允许在网络协议级配置网络装置100。

此外,配置工具10也可以被用于其他目的。已经描述了促进网络的安全加入和软件映像的选择的能力。附加地,配置工具10也可以向新网络装置传达有关该配置工具10在网络300上的操作的信息。在一个特定实施方式中,网络300可以包括多个灯,并且新网络装置100可以是开关。配置工具10可以将有关如何控制这些灯中的全部或子集的信息中继到新网络装置100。例如,在一个实施例中,用户可以使用显示元件60(诸如触摸屏)来选择在网络300上新网络装置100将控制的一组特定装置。

本公开在范围上将不受本文中所描述的特定实施例限制。实际上,除本文中所描述的那些实施例和修改之外,根据上述描述和附图本公开的其他各种实施例和对本公开的修改对于本领域的普通技术人员而言将是显而易见的。因此,此类其他实施例和修改旨在落入本公开的范围内。进一步地,尽管已经出于特定目的在特定环境中的特定实施方式的上下文中于此描述了本公开,然而本领域的普通技术人员将认识到,其有用性不限于此并可以出于任何数量的目的在任何数量的环境中有利地实现本公开。因此,应该鉴于如本文中所描述的本公开的完整广度和精神来解释在下面阐述的权利要求。

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