-
Diese Offenbarung beschreibt Systeme und Verfahren, die die Verwendung eines sekundären Netzwerks ermöglichen, um ein primäres Netzwerk in Betrieb zu nehmen.
-
Hintergrund
-
Der starke Anstieg netzwerkverbundener Vorrichtungen hat zu einer vermehrten Verwendung bestimmter Protokolle geführt. Zum Beispiel werden auf IEEE802.15.4 beruhende Protokolle, wie ZIGBEE®, nun in vielen Anwendungen allgemein verwendet, einschließlich Stromzählern, Beleuchtungssystemen und Ähnlichem. Während die Verwendung von ZIGBEE® expandiert, versuchen viele, einige wahrgenommene, dem Protokoll innewohnende Sicherheitsschwächen anzusprechen.
-
Eine derartige Sicherheitsschwäche ist der Vorgang, durch den sich eine neue Vorrichtung mit einem existierenden ZIGBEE®-Netzwerk verbindet. Sobald eine Vorrichtung Teil eines ZIGBEE®-Netzwerks ist, werden deren Pakete unter Verwendung eines Netzwerkschlüssels verschlüsselt. Das Weitergeben dieses Netzwerkschlüssels an die neue Vorrichtung kann jedoch problematisch sein. Viele existierende Netzwerke verwenden eines von zwei Schemata, um neuen Vorrichtungen eine Verbindung zu ermöglichen.
-
Das erste Schema ist, den Netzwerkschlüssel unter Verwendung eines wohlbekannten Sicherheitsschlüssels zu verschlüsseln, wie des Standard-ZIGBEE®-Verbindungsschlüssels. Dieser Standardschlüssel ist jedoch wohl bekannt. So können Hacker oder andere bösartige Anwender den Netzwerkschlüssel leicht durch Beobachten des Verkehrs abfangen, wenn sich eine neue Vorrichtung mit dem Netzwerk verbindet, was ihnen erlaubt, allen Verkehr zu dekodieren, der über ein ZIGBEE®-Netzwerk abläuft, das den Standardschlüssel verwendet.
-
Das zweite Schema ist, den Netzwerkschlüssel unter Verwendung eines vorrichtungsspezifischen Schlüssels zu kodieren. Leider muss dieser vorrichtungsspezifische Schlüssel dem ZIGBEE®-Gateway mitgeteilt werden. Zurzeit wird dies durch Bereitstellen einer Anzeige des Schlüssels an der Vorrichtung getan. Zum Beispiel kann ein Papierstreifen mit dem vorrichtungsspezifischen Schlüssel in der Transportschachtel mit der Vorrichtung angebracht werden. Der Anwender muss dann diese Anzeige lokalisieren und den Vorrichtungsschlüssel in das ZIGBEE®-Gateway programmieren. Die Möglichkeit, diesen Schlüssel zu verlieren, ist hoch, und der Vorgang kann ein Niveau an Expertise erfordern, das nicht an allen Einsatzstellen existiert.
-
Daher werden ein verbessertes System und ein verbessertes Verfahren gebraucht, um es einer neuen Vorrichtung zu erlauben, sich sicher mit einem Netzwerk zu verbinden, wie einem ZIGBEE®-Netzwerk. Ferner wäre es von Vorteil, wenn dieses System und dieses Verfahren einfach umzusetzen wären, um so leicht ausgeführt zu werden.
-
Zusammenfassung
-
Ein System und ein Verfahren, das es einer neuen Vorrichtung ermöglicht, sich mit einem existierenden Netzwerk zu verbinden, werden offenbart. Ein Konfigurationswerkzeug wird verwendet, um relevante Information von der neuen Netzwerkvorrichtung dem Gateway in dem existierenden Netzwerk unter Verwendung eines sekundären Netzwerkprotokolls mitzuteilen, das von dem von dem primären Netzwerk verwendeten verschieden ist. In einer Ausführungsform werden zum Beispiel Mitteilungen zwischen dem Konfigurationswerkzeug und der neuen Vorrichtung und zwischen dem Konfigurationswerkzeug und dem Gateway unter Verwendung von BLUETOOTH® ausgetauscht. Sobald alle relevante Information ausgetauscht worden ist, ist die neue Vorrichtung in der Lage, sich sicher mit dem primären Netzwerk zu verbinden, das auf dem IEEE802.15.4-Standard basieren kann.
-
In einer Ausführungsform wird ein Verfahren offenbart, das es einer Netzwerkvorrichtung ermöglicht, sich sicher mit einem Netzwerk zu verbinden. Das Verfahren weist das Einrichten einer Netzwerkverbindung zwischen der Netzwerkvorrichtung und einem Konfigurationswerkzeug unter Verwendung eines ersten Netzwerkprotokolls auf, das sich von einem Netzwerkprotokoll des Netzwerks unterscheidet; das Einrichten einer zweiten Netzwerkverbindung zwischen einem Gateway und dem Konfigurationswerkzeug unter Verwendung eines zweiten Netzwerkprotokolls, das sich von dem Netzwerkprotokoll des Netzwerks unterscheidet; das Verwenden des Konfigurationswerkzeugs, um Information von der Netzwerkvorrichtung zu erhalten und die Information zu dem Gateway weiterzuleiten; das Senden einer Anfrage zum Verbinden mit dem Netzwerk von der Netzwerkvorrichtung zu dem Gateway unter Verwendung des Netzwerkprotokolls des Netzwerks; und das Übertragen eines Netzwerkschlüssels von dem Gateway zu der Netzwerkvorrichtung unter Verwendung des Netzwerkprotokolls des Netzwerks in Antwort auf die Anfrage, wobei der Netzwerkschlüssel basierend auf der von der Netzwerkvorrichtung erhaltenen Information verschlüsselt ist. In bestimmten Ausführungsbeispielen ist die Information ein Installationscode. In bestimmten Ausführungsbeispielen enthält das Verfahren ferner die Verwendung des Konfigurationswerkzeugs, um Netzwerkinformation von dem Gateway zu erhalten und die Netzwerkinformation an die Netzwerkvorrichtung weiterzuleiten, vor dem Senden der Anfrage. Die Netzwerkinformation kann einen Kanal und ein PAN-ID aufweisen.
-
Gemäß einer anderen Ausführungsform wird ein Konfigurationswerkzeug offenbart. Das Konfigurationswerkzeug erlaubt es einer Netzwerkvorrichtung, sich sicher mit einem Netzwerk zu verbinden. Dieses Konfigurationswerkzeug enthält eine erste Netzwerk-Schnittstelle; eine zweite Netzwerk-Schnittstelle; eine Recheneinheit; und eine Speichereinrichtung mit Instruktionen, die, wenn sie von der Recheneinheit ausgeführt werden, es dem Konfigurationswerkzeug erlauben, einen Verbindungsprozess zu initiieren und: eine erste Netzwerkverbindung einzurichten, über die erste Netzwerk-Schnittstelle, zwischen der Netzwerkvorrichtung und dem Konfigurationswerkzeug, unter Verwendung eines ersten Netzwerkprotokolls, das sich von einem Netzwerkprotoll des Netzwerks unterscheidet; eine zweite Netzwerkverbindung einzurichten, über die zweite Netzwerk-Schnittstelle, zwischen einem Gateway und dem Konfigurationswerkzeug, unter Verwendung eines zweiten Netzwerkprotokolls, das sich von dem Netzwerkprotokoll des Netzwerks unterscheidet; Information von der Netzwerkvorrichtung über die erste Netzwerkverbindung zu erhalten; und die Information mittels der zweiten Netzwerkverbindung an das Gateway weiterzuleiten. In bestimmten Ausführungsformen sind die ersten und zweiten Netzwerkprotokolle BLUETOOTH®.
-
Figurenliste
-
Für ein besseres Verständnis der vorliegenden Offenbarung wird Bezug auf die beigefügten Zeichnungen genommen, in denen auf gleiche Elemente mit gleichen Bezugszeichen Bezug genommen wird und in denen:
- 1 ein Blockdiagramm des Konfigurationswerkzeugs ist;
- 2 eine neue Vorrichtung, ein Gateway und ein Konfigurationswerkzeug während des Verbindungsprozesses gemäß einer Ausführungsform zeigt;
- 3 eine neue Vorrichtung, ein Gateway und ein Konfigurationswerkzeug während des Verbindungsprozesses gemäß einer zweiten Ausführungsform zeigt; und
- 4 ein Flussdiagramm des Verbindungsvorgangs zeigt.
-
Detaillierte Beschreibung
-
1 zeigt ein Blockdiagramm eines repräsentativen Konfigurationswerkzeugs 10. Das Konfigurationswerkzeug 10 hat eine Recheneinheit 20 und eine zugehörige Speichereinrichtung 25. Diese Speichereinrichtung 25 enthält die Instruktionen, die, wenn sie durch die Recheneinheit 20 ausgeführt werden, es dem Konfigurationswerkzeug 10 ermöglichen, die hierin beschriebenen Funktionen auszuführen. Diese Speichereinrichtung 25 kann ein nicht flüchtiger Speicher sein, wie zum Beispiel ein FLASH ROM, ein elektrisch löschbares ROM oder andere geeignete Einrichtungen. In anderen Ausführungsbeispielen kann die Speichereinrichtung 25 ein flüchtiger Speicher sein, wie zum Beispiel RAM oder DRAM. In bestimmten Ausführungsformen kann die Speichereinrichtung 25 mit der Recheneinheit 20 zusammengepackt sein. Die Recheneinheit 20 kann irgendeine geeignete Einrichtung sein, einschließlich (aber nicht darauf beschränkt) eines Prozessors zu allgemeinen Zwecken, eines anwendungsspezifischen Prozessors, eines eingebetteten Controllers oder eines persönlichen Computers (PC).
-
Das Konfigurationswerkzeug 10 enthält auch eine erste Netzwerk-Schnittstelle 30, die typischerweise eine drahtlose Schnittstelle einschließlich einer Antenne 35 ist. Die erste Netzwerk-Schnittstelle 30 kann jedes drahtlose Netzwerk unterstützen, einschließlich BLUETOOTH® oder ein zellulares Protokoll, wie 3G, GCM, CDMA, 4G, LTE oder andere Protokolle. In bestimmten Ausführungsformen kann das Konfigurationswerkzeug 10 eine zweite Netzwerk-Schnittstelle 50 enthalten, die sich von der ersten Netzwerk-Schnittstelle 30 unterscheidet. Diese zweite Netzwerk-Schnittstelle 50 kann jedes drahtlose Netzwerk unterstützen, einschließlich BLUETOOTH® oder ein zellulares Protokoll, wie 3G, GCM, CDMA, 4G, LTE oder andere Protokolle.
-
Das Konfigurationswerkzeug 10 kann eine zweite Speichereinrichtung 40 enthalten, in der Daten, die von der ersten Netzwerk-Schnittstelle 30 erhalten werden, und Daten, die durch die erste Netzwerk-Schnittstelle 30 zu übertragen sind, gespeichert werden. Zusätzlich können Daten, die von der zweiten Netzwerk-Schnittstelle 50 gesendet und erhalten werden, in der zweiten Speichereinrichtung 40 gespeichert werden. Diese zweite Speichereinrichtung 40 ist herkömmlicherweise ein flüchtiger Speicher. Die Recheneinheit 20 hat die Fähigkeit, die zweite Speichereinrichtung 40 zu lesen und zu beschreiben, um so mit den anderen Vorrichtungen in dem Netzwerk zu kommunizieren. Obwohl nicht gezeigt, hat das Konfigurationswerkzeug 10 auch eine Spannungsversorgung, die eine Batterie oder eine Verbindung zu einer permanenten Spannungsversorgung sein kann, wie eine Wandsteckdose.
-
Während eine Speichereinrichtung 25 offenbart wird, kann irgendein computerlesbares Medium eingesetzt werden, um diese Instruktionen zu speichern. Zum Beispiel können ein ausschließlich lesbarer Speicher (ROM), ein wahlfreier Zugriffsspeicher (RAM), eine magnetische Speichereinrichtung wie ein Festplattenlaufwerk oder eine optische Speichereinrichtung wie eine CD oder eine DVD verwendet werden. Fernen können diese Instruktionen in die Speichereinrichtung 25 heruntergeladen werden, wie zum Beispiel über eine Netzwerkverbindung (nicht gezeigt), über CD-ROM oder durch einen anderen Mechanismus. Diese Instruktionen können in irgendeiner Programmiersprache geschrieben sein, was durch diese Offenbarung nicht begrenzt ist. So können in einigen Ausführungsbeispielen vielfache computerlesbare Medien vorliegen, die die hier beschriebenen Instruktionen enthalten. Das erste computerlesbare Medium kann in Kommunikation mit der Recheneinheit 20 sein, wie in 1 gezeigt. Das zweite computerlesbare Medium kann eine CD-ROM oder eine andere Speichereinrichtung sein, die sich entfernt von dem Konfigurationswerkzeug 10 befindet. Die in diesem zweiten computerlesbaren Medium enthaltene Instruktionen können auf die Speichereinrichtung 25 heruntergeladen werden, um die Ausführung der Instruktionen durch das Konfigurationswerkzeug 10 zu erlauben.
-
Das Konfigurationswerkzeug 10 kann auch ein Anzeigeelement 60 enthalten. In einigen Ausführungsbeispielen kann das Anzeigeelement 60 ein LED- oder LCD-Bildschirm sein. In bestimmten Ausführungsformen ist das Anzeigeelement 60 ein berührungsempfindlicher Bildschirm, so dass Eingaben an die Recheneinheit 20 durch das Anzeigeelement 60 geliefert werden können. In anderen Ausführungsformen kann das Konfigurationswerkzeug 10 auch in Kommunikation mit einer separaten Eingabeeinrichtung stehen, um Anwendereingaben zu erlauben. Die Eingabeeinrichtung kann zum Beispiel eine Tastatur sein.
-
Jede Vorrichtung, die die oben aufgezählten Komponenten enthält, kann als Konfigurationswerkzeug verwendet werden. In einem spezifischen Ausführungsbeispiel kann das Konfigurationswerkzeug 10 ein Mobiltelefon oder ein Tabletcomputer sein. In bestimmten Ausführungsbeispielen können die hierin beschriebenen Instruktionen als eine Anwendung gepackt sein. Das Konfigurationswerkzeug 10 kann die Anwendung von einem entfernten Server erhalten. Zum Beispiel kann in einem Ausführungsbeispiel eine Anwendung auf einem entfernten Server zugänglich gemacht werden, wie einem Unternehmensserver. In bestimmten Ausführungsbeispielen kann die Anwendung auf einer digitalen Verteilungsplattform zugänglich gemacht werden, wie Google Play, Microsoft Store, dem Apple App Store und anderen. In anderen Ausführungsbeispielen kann die Software natürlich auf das Konfigurationswerkzeug 10 vorgeladen sein.
-
2 zeigt die für den Verbindungsvorgang gemäß der einen Ausführungsform verwendeten Komponenten. Zusätzlich zu dem Konfigurationswerkzeug 10 gibt es die neue Netzwerkvorrichtung 100, die beabsichtigt, sich mit dem existierenden Netzwerk 300 zu verbinden. Die Netzwerkvorrichtung 100 hat eine Recheneinheit 120 und eine zugeordnete Speichereinrichtung 125. Diese Speichereinrichtung 125 enthält die Instruktionen, die, wenn von der Recheneinheit 120 ausgeführt, die neue Netzwerkvorrichtung 100 in die Lage versetzen, die darin beschriebenen Funktionen auszuführen. Diese Speichereinrichtung 125 kann ein nicht flüchtiger Speicher sein, wie ein Flash-ROM, ein elektrisch löschbares ROM oder andere geeignete Vorrichtungen. In anderen Ausführungsbeispielen kann die Speichereinrichtung 125 ein flüchtiger Speicher sein, wie ein RAM oder DRAM. In bestimmten Ausführungsbeispielen kann die Speichereinrichtung 125 mit der Recheneinheit 120 gepackt sein. Die Recheneinheit 120 kann jede geeignete Vorrichtung sein, einschließlich, aber nicht darauf beschränkt, eines Prozessors zu allgemeinen Zwecken, eines anwendungsspezifischen Prozessors, eines eingebetteten Controllers oder eines persönlichen Computers (PC).
-
Die Netzwerkvorrichtung 100 enthält auch eine erste Netzwerk-Schnittstelle 130, die typischerweise eine drahtlose Schnittstelle einschließlich einer Antenne 135 ist. Die erste Netzwerk-Schnittstelle 130 kann ein IEEE802.15.4-Protokoll unterstützen, wie Thread, ZIGBEE® oder Ähnliches. Die Netzwerkvorrichtung enthält auch eine zweite Netzwerk-Schnittstelle 150. Diese zweite Netzwerk-Schnittstelle 150 unterstützt ein von der ersten Netzwerk-Schnittstelle 130 verschiedenes Netzwerkprotokoll. Die zweite Netzwerk-Schnittstelle 150 kann jedes drahtlose Netzwerk unterstützen, einschließlich BLUETOOTH® oder ein zellulares Protokoll, wie 3G, GCM, CDMA, 4G, LTE oder andere Protokolle. In anderen Ausführungsbeispielen kann die zweite Netzwerk-Schnittstelle 150 ein drahtgeführtes Netzwerkprotokoll unterstützen, wie USB. In bestimmten Ausführungsbeispielen ist die neue Netzwerkvorrichtung 100 in der Lage, auf beiden Netzwerk-Schnittstellen zu kommunizieren. In anderen Ausführungsbeispielen kann die Netzwerkvorrichtung 100 vielfache Software-Bilder haben, wo eines dieser Software-Bilder während des Verbindungsvorgangs verwendet wird und eine Kommunikation über die zweite Netzwerk-Schnittstelle 150 erlaubt. Ein weiteres der Software-Bilder kann während des normalen Betriebs verwendet werden und erlaubt eine Kommunikation über die erste Netzwerk-Schnittstelle 130. Diese Software-Bilder können intern in der Speichereinrichtung 125 gespeichert werden oder können in einer externen Speichervorrichtung 170 gespeichert werden, die eine nicht flüchtige Speichervorrichtung sein kann.
-
Die Netzwerkvorrichtung 100 kann eine zweite Speichereinrichtung 140 enthalten, in der Daten gespeichert werden, die von der ersten Netzwerk-Schnittstelle 130 und der zweiten Netzwerk-Schnittstelle 150 empfangen werden und Daten, die von den Netzwerk-Schnittstellen versendet werden sollen. Diese zweite Speichereinrichtung 140 ist traditionell ein flüchtiger Speicher. Die Recheneinheit 120 hat die Fähigkeit, die zweite Speichereinrichtung 140 auszulesen und zu beschreiben, um so mit den anderen Vorrichtungen in dem Netzwerk zu kommunizieren. Obwohl nicht gezeigt, hat die Netzwerkvorrichtung 100 auch eine Spannungsversorgung, die eine Batterie oder eine Verbindung zu einer permanenten Spannungsquelle, wie einer Wandsteckdose, sein kann.
-
Die 2 zeigt auch ein Gateway 200. Das Gateway 200 ist Teil des Netzwerks 300, mit dem sich die neue Netzwerkvorrichtung 100 zu verbinden wünscht. Das Gateway 200 kann irgendeine Vorrichtung innerhalb des Netzwerks 300 sein, aber ist typischerweise die Vorrichtung, die zum Kontrollieren des Zugangs zu dem Netzwerk 300 verantwortlich ist. Das Netzwerk 300 ist typischerweise ein drahtloses Netzwerk, wie eines, das auf IEEE802.15-4 basiert, einschließlich ZIGBEE®, aber nicht auf ZIGBEE® beschränkt.
-
Wie die Netzwerkvorrichtung 100 enthält auch das Gateway 200 eine Recheneinheit 220, eine Speichereinrichtung 225, eine zweite Speichereinrichtung 240, eine erste Netzwerk-Schnittstelle 230, eine Antenne 235 und eine zweite Netzwerk-Schnittstelle 250. Die erste Netzwerk-Schnittstelle 230 des Gateway 200 und die erste Netzwerk-Schnittstelle 130 der neuen Netzwerkvorrichtung 100 verwenden dasselbe Netzwerkprotokoll. Die zweiten Netzwerk-Schnittstellen des Gateways 200 und der neuen Netzwerkvorrichtung 100 können dasselbe Netzwerkprotokoll verwenden, obwohl dies nicht erforderlich ist.
-
In bestimmten Ausführungsbeispielen kann das Gateway 200 eine Verbindung zum Internet enthalten. Diese Verbindung kann eine der beiden oben beschriebenen Netzwerk-Schnittstellen sein oder kann eine dritte Netzwerk-Schnittstelle sein, wie Ethernet oder WiFi.
-
Im Betrieb ist die erste Netzwerk-Schnittstelle 30 des Konfigurationswerkzeugs 10 in der Lage, mit der zweiten Netzwerk-Schnittstelle 150 der neuen Netzwerkvorrichtung 100 zu kommunizieren. Ähnlich ist die zweite Netzwerk-Schnittstelle 50 des Konfigurationswerkzeugs 10 in der Lage, mit der zweiten Netzwerk-Schnittstelle 250 des Gateways 200 zu kommunizieren. In Ausführungsbeispielen, wo die zweiten Netzwerk-Schnittstellen des Gateways 200 und der neuen Netzwerkvorrichtung 100 dasselbe Netzwerkprotokoll benutzen, kann das Konfigurationswerkzeug 10 sowohl mit dem Gateway 200 als auch der neuen Netzwerkvorrichtung 100 unter Verwendung der ersten Netzwerk-Schnittstelle 30 kommunizieren. In diesem Ausführungsbeispiel muss die zweite Netzwerk-Schnittstelle 50 des Konfigurationswerkzeugs 10 nicht vorliegen, oder sie kann vorliegen, wird aber während des Verbindungsvorgangs nicht benutzt.
-
Die 2 zeigt eine direkte Verbindung zwischen der zweiten Netzwerk-Schnittstelle 50 des Konfigurationswerkzeugs 10 und der zweiten Netzwerk-Schnittstelle des Gateways 200. Andere Konfigurationen sind jedoch möglich. Zum Beispiel zeigt die 3 eine zweite Ausführungsform. In dieser Ausführungsform sind das Konfigurationswerkzeug 10 und die neue Netzwerkvorrichtung 100 wie oben beschrieben. In dieser Ausführungsform steht die zweite Netzwerk-Schnittstelle 250 des Gateways 200 mit einer entfernten Vorrichtung in Verbindung, wie einem Cloudserver 390. Der Cloudserver 390 kann jeder Server oder andere Computer sein und kann in der Lage sein, mit dem Gateway 200 unter Verwendung der zweiten Netzwerk-Schnittstelle 250 zu kommunizieren. In anderen Ausführungsbeispielen kann der Cloudserver 390 mit dem Gateway 200 unter Verwendung der dritten Netzwerk-Schnittstelle kommunizieren. In bestimmten Ausführungsbeispielen kann dieses Kommunikationsprotokoll irgendein Außer-Band-Protokoll sein und ist durch diese Offenbarung nicht beschränkt. In diesem Ausführungsbeispiel kommuniziert die zweite Netzwerk-Schnittstelle 50 des Konfigurationswerkzeugs 10 mit dem Cloudserver 390. In einigen Ausführungsbeispielen kann diese Kommunikation unter Verwendung eines zellularen Kommunikationsprotokolls oder von WiFi durchgeführt werden. Der Cloudserver 390 leitet die von dem Konfigurationswerkzeug 10 erhaltene Information dann über die zweite Netzwerk-Schnittstelle 250 an das Gateway 200 weiter.
-
In anderen Worten, das Konfigurationswerkzeug 10 ist in der Lage, mit der neuen Netzwerkvorrichtung 100 und dem Gateway 200 unter Verwendung eines Netzwerkprotokolls zu kommunizieren, das von dem von dem Netzwerk 300 verwendeten verschieden ist. In bestimmten Ausführungsbeispielen kommuniziert das Konfigurationswerkzeug 10 sowohl mit der neuen Netzwerkvorrichtung 100 als auch mit dem Gateway 200 unter Verwendung desselben Netzwerkprotokolls. In bestimmten Ausführungsbeispielen kann dieses Netzwerkprotokoll BLUETOOTH® sein. In bestimmten Ausführungsbeispielen kommuniziert das Konfigurationswerkzeug 10 mit der neuen Netzwerkvorrichtung 100 und dem Gateway 200 unter Verwendung unterschiedlicher Netzwerkprotokolle. Wie oben beschrieben, kann die Kommunikation zwischen dem Konfigurationswerkzeug 10 und dem Gateway 200 direkt (wie in 2 gezeigt) oder indirekt (wie in 3 gezeigt) sein.
-
Ferner beschreibt die vorhergehenden Offenbarung Ausführungsformen, wo die Kommunikation zwischen dem Konfigurationswerkzeug 10 und der neuen Netzwerkvorrichtung 100 und dem Gateway 200 unter Verwendung drahtloser Netzwerkprotokolle durchgeführt wird. Andere Ausführungsbeispiele sind jedoch möglich. Zum Beispiel kann die neue Netzwerkvorrichtung 100 einen Hardware-Anschluss enthalten, wie einen USB-Anschluss. Die erste Netzwerk-Schnittstelle 30 des Konfigurationswerkzeugs 10 kann mit diesem Hardware-Anschluss kompatibel sein, so dass ein physisches Kabel verwendet wird, um das Konfigurationswerkzeug 10 und die neue Netzwerkvorrichtung 100 zu verbinden. Alternativ oder zusätzlich kann die zweite Netzwerk-Schnittstelle 250 des Gateways 200 einen Hardware-Anschluss enthalten, so dass die zweite Netzwerk-Schnittstelle 50 des Konfigurationswerkzeugs 10 unter Verwendung eines physischen Kabels mit dem Gateway 200 verbunden ist.
-
Nachdem die technische Konfiguration dieser Komponenten beschrieben ist, wird nun das Verfahren der Benutzung dieses Konfigurationswerkzeugs 10 beschrieben, um der neuen Netzwerkvorrichtung 100 die Verbindung mit dem Netzwerk 300 zu erlauben.
-
Wenn sich eine neue Vorrichtung mit einem Netzwerk verbindet, ist traditionell der Netzwerkschlüssel erforderlich, um alle Kommunikationen, die über das Netzwerk stattfinden, entschlüsseln zu können. Dieser Netzwerkschlüssel muss durch das Gateway zu der neuen Netzwerkvorrichtung übermittelt werden. Den Netzwerkschlüssel einfach an die neue Netzwerkvorrichtung zu senden, beeinträchtigt jedoch die Sicherheit des Netzwerks, weil der Netzwerkschlüssel nicht verschlüsselt ist. Wenn ein Hacker den Netzwerkverkehr überwacht, kann daher der Netzwerkschlüssel leicht ergriffen und dazu verwendet werden, allen weiteren Verkehr auf dem Netzwerk zu dekodieren.
-
Als eine Alternative wird in einigen Ausführungsformen der Netzwerkschlüssel unter Verwendung eines Verbindungsschlüssels kodiert zu der neuen Netzwerkvorrichtung übertragen. Der Verbindungsschlüssel kann ein Vorgabewert sein oder ein für die Vorrichtung einmaliger Wert. Im Falle eines Vorgabewerts ist die Sicherheit des Netzwerks immer noch beeinträchtigt, da der Vorgabewert des Verbindungsschlüssels veröffentlicht und wohlbekannt ist. Somit kann ein Hacker, der den Verkehr überwacht, den Netzwerkschlüssel dekodieren, weil der Verbindungsschlüssel bereits bekannt ist.
-
Folglich ist es das sicherste Vorgehen, einen Verbindungsschlüssel zu erzeugen, der irgendwie einmalig für eine bestimmte Netzwerkvorrichtung ist. Dies kann durch Zuordnen eines einmaligen Installationscodes zu jeder Netzwerkvorrichtung erlangt werden. Dieser Installationscode kann die Netzwerkvorrichtung begleiten, wenn sie zu dem Kunden geliefert wird, wie auf einem Papierzettel. Der Benutzer muss dann diesen Installationscode in das Gateway eingeben, so dass das Gateway den Verbindungsschlüssel erzeugen und den Netzwerkschlüssel zu der neuen Netzwerkvorrichtung übertragen kann. Dieser Vorgang ist jedoch manuell und mängelbehaftet, da der Verbindungsvorgang von der Fähigkeit des Benutzers abhängt, den Installationscode für jede Vorrichtung aufzubewahren und diese Information korrekt in das Gateway einzugeben.
-
4 zeigt ein Flussdiagramm, das den Verbindungsvorgang gemäß einer Ausführungsform veranschaulicht. In dieser Ausführungsform richtet das Konfigurationswerkzeug 10 eine Kommunikation mit der neuen Netzwerkvorrichtung 100 und dem Gateway 200 ein, wie im Vorgang 400 gezeigt. In bestimmten Ausführungsbeispielen hält das Konfigurationswerkzeug 10 gleichzeitig Verbindungen zu beiden Vorrichtungen. In anderen Ausführungsbeispielen sind die Verbindung zwischen dem Konfigurationswerkzeug 10 und der neuen Netzwerkvorrichtung 100 und zwischen dem Konfigurationswerkzeug 10 und dem Gateway 200 sequentiell. In bestimmten Ausführungsbeispielen richtet das Konfigurationswerkzeug 10 eine sichere Verbindung zu einer oder beiden der anderen Vorrichtungen ein. In anderen Ausführungsbeispielen können jedoch die Verbindungen zu jeder der anderen Vorrichtungen nicht sicher sein. Wie oben beschrieben, wird die Verbindung zu dem Konfigurationswerkzeug 10 unter Verwendung der zweiten Netzwerk-Schnittstelle der anderen beiden Komponenten durchgeführt.
-
In bestimmten Ausführungsbeispielen kann das Konfigurationswerkzeug 10 ein Anzeigeelement 60 enthalten. Dieses Anzeigeelement kann verwendet werden, um die zur Verfügung stehenden Gateways und nicht verbundene Netzwerkvorrichtungen anzuzeigen. Auf diese Weise kann der Benutzer in der Lage sein, das spezielle Gateway und die Netzwerkvorrichtung auszuwählen, die an der in 4 gezeigten Sequenz teilnehmen.
-
Sobald die Verbindungen eingerichtet sind, erhält das Konfigurationswerkzeug 10 optional Netzwerkinformation von dem Gateway 200, wie den Kanal und die erweiterte PAN-ID, wie im Vorgang 410 gezeigt. Das Konfigurationswerkzeug 10 kann natürlich von dem Gateway 200 zusätzliche Information erhalten, falls gewünscht.
-
Das Konfigurationswerkzeug 10 erhält dann bestimmte Information von der neuen Netzwerkvorrichtung 100. Diese Information kann die MAC-Adresse (auch die IEEE-Adresse genannt) der neuen Netzwerkvorrichtung 100 sowie ihren Installationscode enthalten, wie im Vorgang 420 gezeigt.
-
Das Konfigurationswerkzeug 10 überträgt dann die von dem Gateway 200 erhaltene Information zu der neuen Netzwerkvorrichtung 100 und überträgt die von der neuen Netzwerkvorrichtung 100 erhaltene Information zu dem Gateway 200, wie im Vorgang 430 gezeigt.
-
Es ist darauf hinzuweisen, dass die Vorgänge 410 und 420 in umgekehrter Reihenfolge ausgeführt werden können, falls gewünscht. Zusätzlich kann das Austauschen von Information im Vorgang 430 als unabhängige Vorgänge durchgeführt werden. Zum Beispiel kann der Vorgang 410 durchgeführt werden, und diese Information kann an die neue Netzwerkvorrichtung 100 übertragen werden. Dann kann der Vorgang 420 durchgeführt werden und diese Information an das Gateway 200 weitergeleitet werden. In bestimmten Ausführungsbeispielen erhält das Konfigurationswerkzeug 10 unabhängig von der Reihenfolge Information von dem Gateway 200 und der neuen Netzwerkvorrichtung 100 und überträgt diese Information zu der anderen Komponente. In den anderen Ausführungsbeispielen erhält das Konfigurationswerkzeug 10 Information von der neuen Netzwerkvorrichtung 100 und überträgt diese Information zu dem Gateway 200.
-
Dieser Teil der Sequenz (d.h. Vorgang 400-420) ersetzt die Verwendung des Standardverbindungsschlüssels oder die Notwendigkeit, den Installationscode manuell in das Gateway 200 einzugeben. Ferner kann in bestimmten Ausführungsbeispielen eine neue Netzwerkvorrichtung in einer Umgebung hinzugefügt werden, wo mehrere Netzwerke vorkommen. Durch Übertragen von Information von dem Gateway zu der neuen Netzwerkvorrichtung 100 wird die neue Netzwerkvorrichtung informiert, mit welchem Netzwerk 300 sie sich verbinden soll. Ferner wird das Gateway 200 durch Bereitstellen der MAC-Adresse an das Gateway 200 informiert, welche Vorrichtung versuchen wird, sich ihrem Netzwerk 300 anzuschließen. Dies kann die Chancen eines bösartigen Akteurs auf Verbindung mit dem Netzwerk 300 minimieren.
-
Nachdem diese Information ausgetauscht worden ist, kann der herkömmliche Verbindungsprozess fortfahren. Wie oben beschrieben, kann der Verbindungsschlüssel unter Verwendung des Installationscodes erzeugt werden. Als nächstes ersucht die neue Netzwerkvorrichtung 100 das Gateway 200 um Verbindung mit dem Netzwerk 300, wie im Vorgang 440 gezeigt. Da sie bereits über die PAN-ID und den Kanal informiert worden ist, ist die neue Netzwerkvorrichtung 100 in der Lage, die Anfrage zu dem gewünschten Netzwerk 300 zu senden. In anderen Ausführungsbeispielen sendet die neue Netzwerkvorrichtung 100 einfach eine Anfrage, ohne das spezielle Netzwerk zu identifizieren. Das Gateway 200 antwortet dann durch Senden des Netzwerkschlüssels an die neue Netzwerkvorrichtung 100. Da das Gateway 200 in Kenntnis des Installationscodes ist, ist das Gateway 200 in der Lage, den Netzwerkschlüssel unter Verwendung des Verbindungsschlüssels zu verschlüsseln, wie im Vorgang 450 gezeigt. Dieser Verbindungsschlüssel ist ebenso auch der neuen Netzwerkvorrichtung 100 bekannt. An dieser Stelle hat sich die neue Netzwerkvorrichtung 100 mit dem Netzwerk 300 verbunden.
-
Somit verwendet der Verbindungsvorgang in einer Ausführungsform ein oder mehrere sekundäre Netzwerkprotokolle, die sich von dem primären Netzwerkprotokoll unterscheiden. Diese sekundären Netzwerkprotokolle werden benutzt, um Information zwischen dem Gateway 200 und der neuen Netzwerkvorrichtung 100 auszutauschen, was durch die Verwendung eines Konfigurationswerkzeugs 10 erleichtert wird, das in der Lage ist, Netzwerkverbindungen mit jeder dieser Komponenten einzurichten. In bestimmten Ausführungsbeispielen wird das Konfigurationswerkzeug 10 verwendet, um Information von der neuen Netzwerkvorrichtung 100 abzurufen, die zu dem Gateway 200 geleitet wird.
-
Ferner hat das Konfigurationswerkzeug 10 in einem spezifischen Ausführungsbeispiel eine BLUETOOTH®-Schnittstelle und kommuniziert sowohl mit der neuen Netzwerkvorrichtung 100 und dem Gateway 200 unter Verwendung von BLUETOOTH®. In diesem Ausführungsbeispiel kann das Konfigurationswerkzeug 10 irgendeine Vorrichtung sein, die BLUETOOTH® unterstützt, einschließlich persönlichen Computern, Tabletcomputern, Mobiltelefonen und Ähnlichem. Die auf dem Konfigurationswerkzeug 10 ausgeführte Software kann von einem entfernten Server oder einer digitalen Verteilungsplattform auf das Konfigurationswerkzeug 10 heruntergeladen werden, wie oben beschrieben.
-
In anderen Ausführungsbeispielen kann das Konfigurationswerkzeug mit dem Gateway 200 und der neuen Netzwerkvorrichtung 100 unter Verwendung verschiedener sekundärer Netzwerkprotokolle kommunizieren. In einem Ausführungsbeispiel wird BLUETOOTH® verwendet, um mit der neuen Netzwerkvorrichtung 100 zu kommunizieren, während WIFI® oder USB verwendet wird, um mit dem Gateway 200 zu kommunizieren. Die sekundären Netzwerkprotokolle können natürlich anders als die oben beschriebenen sein, da dies gedacht ist, als ein Beispiel zu dienen.
-
In weiteren Ausführungsbeispielen, wie dem in 3 gezeigten, kann das Konfigurationswerkzeug 10 mit einem entfernten Server kommunizieren, wie einem Cloudserver 390, der Zugang zu dem Gateway 200 hat. In diesem Ausführungsbeispiel kann das Konfigurationswerkzeug 10 mit der neuen Netzwerkvorrichtung 100 unter Verwendung von BLUETOOTH® kommunizieren, während ein zellulares Protokoll, wie LTE, 4G, GSM, 3G oder Ähnliches benutzt wird, um mit dem Cloudserver zu kommunizieren.
-
Während die obige Offenbarung ein System und einen Mechanismus beschreibt, um einer neuen Netzwerkvorrichtung die Verbindung mit einem Netzwerk 300 zu erlauben, sind auch andere Verbesserungen unter Verwendung dieses Ansatzes möglich. Wenn zum Beispiel das Gateway 200 dem Konfigurationswerkzeug 10 Information bereitstellt, kann diese Information auch enthalten, genau welches Netzwerkprotokoll von dem Netzwerk 300 verwendet werden soll. Zum Beispiel benutzen ZIGBEE®, Thread und andere Protokolle alle den IEEE802.15.4-Standard. Somit leitet in einem Ausführungsbeispiel das Gateway 200 die Netzwerkprotokoll-Information zu dem Konfigurationswerkzeug 10, das dann diese Information zu der neuen Netzwerkvorrichtung 100 weiterleitet. Basierend auf dieser Information kann die neue Netzwerkvorrichtung 100 eines der Software-Bilder auswählen, das das identifizierte Netzwerkprotokoll unterstützt. Wie oben beschrieben, können diese Software-Bilder in der externen Speichervorrichtung 170 oder in der Speichereinrichtung 125 gespeichert werden. In anderen Worten, das Konfigurationswerkzeug 10 kann anzeigen, welches Netzwerkprotokoll die neue Netzwerkvorrichtung 100 benutzen soll. Dies veranlasst dann die neue Netzwerkvorrichtung 100, eines einer Anzahl von Software-Bildern in ihre Speichereinrichtung 125 zu laden und die in diesem Software-Bild enthaltenen Befehle auszuführen. Dies ermöglicht es dem Benutzer, nicht nur der Netzwerkvorrichtung 100 eine Verbindung mit einem vorbestehenden Netzwerk zu erlauben, sondern erlaubt auch eine Konfiguration der Netzwerkvorrichtung 100 auf dem Niveau eines Netzwerkprotokolls.
-
Ferner kann das Konfigurationswerkzeug 10 auch für andere Zwecke verwendet werden. Die Möglichkeit, ein sicheres Verbinden eines Netzwerks zu erleichtern, und eine Auswahl eines Software-Bildes sind bereits geschrieben worden. Zusätzlich kann das Konfigurationswerkzeug 10 auch Information an die neue Netzwerkvorrichtung übertragen, die deren Betrieb in dem Netzwerk 300 betrifft. In einem speziellen Ausführungsbeispiel kann das Netzwerk 300 eine Anzahl von Leuchten enthalten, und die neue Netzwerkvorrichtung 100 kann ein Schalter sein. Das Konfigurationswerkzeug 10 kann Information an die neue Netzwerkvorrichtung 100 weitergeben, die die Steuerung aller oder einer Untermenge dieser Leuchten betrifft. Zum Beispiel kann der Benutzer in einem Ausführungsbeispiel das Anzeigeelement 60 verwenden, wie einen Touchscreen, um eine spezielle Gruppe von Vorrichtungen auf dem Netzwerk 300 auszuwählen, die die neue Netzwerkvorrichtung 100 steuern soll.
-
Die vorliegende Offenbarung soll in ihrem Umfang durch die hierin beschriebenen speziellen Ausführungsbeispiele nicht eingeschränkt werden. In der Tat, verschiedene andere Ausführungsbeispiele und Modifikationen der vorliegenden Offenbarung, zusätzlich zu den hier beschriebenen, werden dem Durchschnittsfachmann an der vorhergehenden Beschreibung und den beiliegenden Zeichnungen ersichtlich. Somit sollen solche anderen Ausführungsbeispiele und Modifikationen in den Umfang der vorliegenden Offenbarung fallen. Obwohl die vorliegende Offenbarung hier im Zusammenhang mit einer speziellen Umsetzung in einer speziellen Umgebung für einen speziellen Zweck geschrieben worden ist, werden ferner Durchschnittsfachleute erkennen, dass deren Nützlichkeit nicht hierauf beschränkt ist und dass die vorliegende Offenbarung in irgendeiner Zahl von Umgebungen für irgendeine Zahl von Zwecken vorteilhaft umgesetzt werden kann. Demgemäß sollten die unten stehenden Patentansprüche angesichts der vollen Breite und dem Geist der vorliegenden Offenbarung, wie hier beschrieben, ausgelegt werden.