以下、本発明の具体的な構成例について、図面を参照しながら説明する。
図1は、本発明の通信システム100のシステム構成を示す概略ブロック図である。通信システム100は、ローカルネットワーク10、中継ネットワーク20及びサービスシステム30を含む。ローカルネットワーク10とサービスシステム30とは、中継ネットワーク20を介して通信可能に接続される。ローカルネットワーク10は、複数のデバイスが接続されるネットワークであり、所定の施設や領域に構築される。例えば、プラントや工場や病院のような施設にローカルネットワーク10が構築されてもよい。例えば、河川の流域や山や畑などの領域にローカルネットワーク10が構築されてもよい。中継ネットワーク20は、移動体通信網やインターネットワークや光通信網(例えばPassive Optical Network(PON))等のネットワークを用いて構成される。中継ネットワーク20は、複数のネットワークを接続して構築されてもよい。サービスシステム30は、ローカルネットワーク10において取得された情報を示すデータを、中継ネットワーク20を介して受信する。サービスシステム30は、受信されたデータを蓄積し、蓄積されたデータを分析し、分析結果に応じてユーザーに情報を提供する。サービスシステム30は、例えばローカルネットワーク10の管理者が使用する端末装置に対して所定の分析結果を示すデータを送信してもよい。サービスシステム30は、例えばローカルネットワーク10に接続されたデバイス11又はその制御装置に対し、分析結果に応じた制御信号を送信してもよい。
ローカルネットワーク10は、複数のデバイス11、スイッチ12、ルーター13、NWコントローラー14、デバイス管理装置15、初期設定サーバー16及びハニーポット17を備える。
デバイス11は、中継ネットワーク20を介してサービスシステム30に情報を送信する。デバイス11は、例えば所定の情報を取得し、取得した所定の情報を、中継ネットワーク20を介してサービスシステム30に送信する。デバイス11は、例えばセンサや、撮影装置等の装置である。デバイス11がセンサである場合、デバイス11は例えば温度を測定するセンサであってもよいし、気圧を測定するセンサであってもよいし、音量を測定するセンサであってもよいし、風速を測定するセンサであってもよい。この場合、デバイス11は、温度、気圧、音量及び風速などの環境に関する情報を所定の情報として取得する。デバイス11が撮影装置である場合、デバイス11は撮影した画像(静止画像)、映像(動画像)、音を所定の情報として取得する。ローカルネットワーク10に設置される複数のデバイス11は、全てが同じ種類のデバイスである必要はない。すなわち、一つのローカルネットワーク10において複数種類のデバイス11が設置されてもよい。
スイッチ12は、ローカルネットワーク10においてデータを中継する通信装置である。スイッチ12には、例えば複数のデバイス11とルーター13とが接続されている。スイッチ12は、デバイス11から送信されたデータを、その宛先に応じて中継する。スイッチ12は、NWコントローラー14によってその動作を制御される。
デバイス11とスイッチ12とは、通信を行うことによってデータを送受信する。デバイス11とスイッチ12との間で行われる通信は、無線通信であってもよいし有線通信であってもよい。この通信は、例えばBluetooth(登録商標)であってもよいし、無線LAN(Local Area Network)であってもよいし、有線LANであってもよいし、他の通信プロトコルで実現されてもよい。
ルーター13は、ローカルネットワーク10と他のネットワークとを中継する通信装置である。ルーター13は、例えばローカルネットワーク10と中継ネットワーク20との間でデータを中継する。ルーター13は、さらに、ローカルネットワーク10において複数の仮想ネットワークを形成する。仮想ネットワークは、他の仮想ネットワークとの間で通信が隔離される。仮想ネットワークは、例えばVirtual Local Area Network(VLAN)を用いて実現されてもよい。
NWコントローラー14は、情報処理装置を用いて構成される。NWコントローラー14は、スイッチ12やルーター13等の通信機器の動作を制御する。NWコントローラー14は、例えば通信機器の動作を制御することによって、ローカルネットワーク10に接続されている機器(例えばデバイス11)に割り当てられる通信リソースを制御してもよい。NWコントローラー14は、例えばデバイス管理装置15の指示に応じて通信機器の動作を制御してもよい。なお、ローカルネットワーク10はSoftware Defined Network(SDN)を用いて実装されてもよい。この場合、NWコントローラー14はSDNのコントローラーとして機能してもよい。
デバイス管理装置15は、情報処理装置を用いて構成される。デバイス管理装置15は、各デバイス11から、各デバイス11によって取得された所定の情報を受信する。デバイス管理装置15は、各デバイス11の状況に基づいて、各デバイス11の通信環境を制御する。制御対象となる通信環境の具体例として、ローカルネットワーク10の外部のネットワークや外部の装置との間の通信の可否、ローカルネットワーク10の内部の他の装置との間の通信の可否、割り当てられる通信帯域、所属する仮想ネットワーク、データの送信先、がある。デバイス管理装置15は、各デバイス11の通信環境を決定すると、決定された通信環境が実現されるようにNWコントローラー14に指示する。
初期設定サーバー16は、情報処理装置を用いて構成される。初期設定サーバー16は、デバイス11が動作するために必要となるデータのうち、動作開始前に設定されるデータ(以下「初期設定データ」という。)を記憶する。動作開始前とは、デバイス11が本来予定されている動作を開始する前のタイミングである。例えば、サービスシステム30に対して所定のデータを送信することが予定されているデバイス11にとっては、所定のデータをサービスシステム30に送信し始める前のタイミングが動作開始前に相当する。初期設定データには、デバイス11が予定されている動作を行うために必要となるデータの一部又は全部が含まれる。初期設定データには、例えば収集装置31のアドレスや、データの取得タイミング等を示す情報が含まれる。初期設定サーバー16は、デバイス11に対し、通信路を介して初期設定データを送信する。
ハニーポット17は、情報処理装置を用いて構成される。ハニーポット17は、いわゆるハニーポット装置であり、悪意のコンピューターシステムからアクセスを受けたとしても実質的な被害が生じないように設計された装置である。
中継ネットワーク20は、複数の中継装置21(例えば中継装置21−1、中継装置21−2)及び認証装置22を備える。
中継装置21は、中継ネットワーク20においてデータを中継する通信装置である。中継装置21は、例えば中継ネットワーク20内で発生したデータを中継してもよいし、他のネットワーク(例えばローカルネットワーク10、サービスシステム30)から受信されたデータを中継してもよい。中継装置21は、中継ネットワーク20と他のネットワークとの境界に設けられる場合には、特にエッジルータとして機能してもよい。中継装置21は、ローカルネットワーク10との間の通信経路における通信帯域を制御してもよい。例えば、デバイス11に対して割り当てられる上記通信帯域が制御されてもよい。
認証装置22は、ネットワーク(例えばローカルネットワーク10)に接続されたデバイス11を認証する。認証装置22は、例えばデバイス11から認証情報を受信し、受信された認証情報に基づいて認証するか否かを判定する。認証装置22は、認証結果を示す情報を、デバイス11と、デバイス11と関連するデバイス管理装置15に送信する。例えば、認証装置22は、認証されたデバイス11の識別情報をデバイス管理装置15に送信してもよい。
サービスシステム30は、収集装置31、記憶装置32、分析装置33及び情報提供装置34を備える。
収集装置31は、情報処理装置を用いて構成される。収集装置31は、デバイス11から送信される所定の情報を受信する。収集装置31は、受信されたデータを記憶装置32に記録する。例えば、デバイス11が温度を示す情報を送信する場合、収集装置31は温度を示す情報を受信し、温度とその温度が計測された日時とデバイス11の識別情報とを対応付けて記憶装置32に記録してもよい。例えば、デバイス11が所定の領域が撮影された画像データを送信する場合、収集装置31は画像データを受信し、画像データとその画像が撮影された日時とデバイス11の識別情報とを対応付けて記憶装置32に記録してもよい。
記憶装置32は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。記憶装置32は、収集装置31によって記録されるデータを記憶する。記憶装置32は、分析装置33による分析結果をさらに記憶してもよい。
分析装置33は、情報処理装置を用いて構成される。分析装置33は、記憶装置32に記録されたデータを分析する。分析装置33は、例えば記憶装置32に記録されているデータの統計値を算出することで分析を行ってもよい。分析装置33は、例えば記憶装置32に記録されているデータを、予め得られている学習済みモデルに基づいて処理することによって分析を行ってもよい。
情報提供装置34は、情報処理装置を用いて構成される。情報提供装置34は、分析装置33の分析結果に応じたサービスを提供するためのデータを生成する。情報提供装置34は、例えば不図示のユーザー端末からHTTP(HyperText Transfer Protocol)でリクエストを受信すると、HTML(HyperText Markup Language)等のマークアップ言語で画面のデータを生成し、ユーザー端末にデータを送信するように構成されてもよい。情報提供装置34は、分析結果を示すデータを、予め定められた所定のフォーマットで生成し、ユーザー端末にインストールされているアプリケーションに対して送信するように構成されてもよい。情報提供装置34は、ローカルネットワーク10に設置されたアクチュエーター等のデバイス11を制御するコントローラー(例えばPLC:Programmable Logic Controller)に対して、分析結果に応じた制御信号を送信するように構成されてもよい。
図2は、デバイス管理装置15の機能構成を示す概略ブロック図である。デバイス管理装置15は、通信部151、条件記憶部152、デバイス情報記憶部153及び制御部154を備える。
通信部151は、通信インターフェースを用いて構成される。通信部151は、他の装置とデータ通信を行う。例えば、通信部151は、ローカルネットワーク10に接続され、所定のプロトコルで他の装置とデータを送受信する。
条件記憶部152は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。条件記憶部152は、デバイス11の状態に関する条件及びデバイス11の通信状態に関する条件と、各条件が満たされた場合に設定される各デバイス11の通信環境を示す情報と、を対応付けて記憶する。条件と通信環境との具体例については、第1動作例〜第6動作例として後述する。
デバイス情報記憶部153は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。デバイス情報記憶部153は、ローカルネットワーク10に接続されたデバイス11のうち、認証装置22による認証結果を受けたデバイス11を認証結果と対応付けて記憶する。
制御部154は、CPU(Central Processing Unit)等のプロセッサとメモリとを用いて構成される。プロセッサがデバイス管理プログラム実行することによって、判定部155、決定部156及び指示部157の機能が実現される。なお、判定部155、決定部156及び指示部157の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されても良い。デバイス管理プログラムは、コンピューター読み取り可能な記録媒体に記録されても良い。コンピューター読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM、半導体記憶装置(例えばSSD:Solid State Drive)等の可搬媒体、コンピューターシステムに内蔵されるハードディスクや半導体記憶装置等の記憶装置である。デバイス管理プログラムは、電気通信回線を介して送信されても良い。
判定部155は、デバイス11の状態又はデバイス11の通信状態が、条件記憶部152に記憶されている条件を満たしたか否かを判定する。判定部155は、満たされた条件があるばあい、その条件を決定部156に通知する。
決定部156は、判定部155によって満たされたと判定された条件に基づいて、条件を満たしたデバイス11の通信環境を決定する。決定部156は、満たされたと判定された条件に対応付けて条件記憶部152に記憶されている通信環境を、条件を満たしたデバイス11の通信環境として決定する。決定部156は、制御対象のデバイス11と、決定した通信環境と、を指示部157に通知する。
指示部157は、決定部156によって決定された通信環境が、制御対象のデバイス11の通信に反映されるように、通信機器を制御する。指示部157は、NWコントローラー14に対して指示をすることによって通信機器を制御してもよい。指示部157は、通信機器を直接制御してもよい。
図3は、ローカルネットワーク10において構築される仮想ネットワークの具体例を示す図である。図3では、仮想ネットワークの具体例としてVLANが用いられている。ローカルネットワーク10において、認証用ネットワーク、設定用ネットワーク、通信用ネットワーク及び囮用ネットワークが構築されてもよい。図3の例では、第1VLANが認証用ネットワークに相当し、第2VLANが設定用ネットワークに相当し、第3VLANが通信用ネットワークに相当し、第4VLANが囮用ネットワークに相当する。
認証用ネットワーク(第1VLAN)及び通信用ネットワーク(第3VLAN)には、ルーター13の複数のポートのうち、外部のネットワークに繋がるポートが含まれる。第1VLANに含まれるポートからは、認証装置22に対する通信が行われる。第3VLANに含まれるポートからは、収集装置31に対する通信が行われる。一方、設定用ネットワーク(第2VLAN)及び囮用ネットワーク(第4VLAN)には、ルーター13の複数のポートのうち、外部のネットワークに繋がるポートが含まれない。そのため、設定用ネットワーク又は囮用ネットワークに接続されたデバイス11は、外部のネットワークに接続できない。
認証用ネットワーク(第1VLAN)、通信用ネットワーク(第3VLAN)及び囮用ネットワーク(第4VLAN)には、初期設定サーバー16が含まれない。一方、設定用ネットワーク(第2VLAN)には、初期設定サーバー16が含まれる。そのため、設定用ネットワークに接続されたデバイス11は、初期設定サーバー16と通信できる。一方、認証用ネットワーク、通信用ネットワーク又は囮用ネットワークに接続されたデバイス11は、初期設定サーバー16と通信できない。
認証用ネットワーク(第1VLAN)には、認証装置22による認証がなされていないデバイス11や、初期設定サーバー16による初期設定がなされていないデバイス11と、デバイス管理装置15と、が接続される。新たなデバイス11がローカルネットワーク10に接続される場合には、新たなデバイス11は認証用ネットワーク(第1VLAN)に接続される。そのため、認証や初期設定がなされていないデバイス11によってローカルネットワーク10内の装置や外部のネットワークへのアクセスがなされてしまうことを防止できる。
以下、通信システム100の複数の動作例について説明する。
(第1動作例)
図4及び図5は、通信システム100の第1動作例を示すシーケンスチャートである。第1動作例では、新たなデバイス11がローカルネットワーク10に接続されて認証を受ける。以下、通信システム100の第1動作例について説明する。
新たなデバイス11がローカルネットワーク10に接続される際に、デバイス11は、アドレスの割り当てなど接続に必要な処理が完了するのを待機する。新たに接続されたデバイス11は、自身が接続されたネットワークにおけるデバイス管理装置に対して認証接続要求を送信する。本実施形態では、デバイス11はデバイス管理装置15に認証接続要求を送信する(ステップS101)。認証接続要求は、認証装置22への接続を要求することを示すデータである。認証接続要求には、例えば送信元であるデバイス11の識別情報が含まれる。デバイス11の識別情報は、例えばデバイス11のチップ等のハードウェアに予め固定的に記録されている情報であってもよい。
デバイス管理装置15は、デバイス11から認証接続要求を受信すると、受信された認証接続要求に基づいて、送信元であるデバイス11が認証要件を満たすデバイスであるか否かを判定する(ステップS102)。例えば、既に認証を受けたデバイス11としてデバイス管理装置15に登録されているデバイスは、認証要件を満たさないと判定される。例えば、既に認証を受けられなかったデバイス11としてデバイス管理装置15に登録されているデバイスは、認証要件を満たさないと判定される。一方、過去に認証処理が実施されていないデバイス(すなわちデバイス管理装置15に登録されていないデバイス)は、認証要件を満たすと判定される。送信元であるデバイス11が認証要件を満たしていない場合には、デバイス管理装置15は認証接続要求を破棄して処理を終了する。送信元であるデバイス11が認証要件を満たしている場合には、デバイス管理装置15は、認証通信許可通知をNWコントローラー14に送信し(ステップS103)、許可通知をデバイス11に送信する(ステップS104)。認証通信許可通知は、認証接続要求の送信元であるデバイス11の識別情報を含む。NWコントローラー14は、認証通信許可通知を受信すると、受信された認証通信許可通知に含まれる識別情報が示すデバイス11を認証用ネットワークに接続させるように、ローカルネットワーク10内の通信機器を制御する(ステップS105)。
ステップS103及びステップS104の処理の後、デバイス管理装置15は、計時を開始する(ステップS106)。デバイス11は、デバイス管理装置15から許可通知を受信すると、認証装置22に対して認証要求を送信する(ステップS107)。認証要求には、送信元であるデバイス11の識別情報や、認証を受けるために必要となる情報(認証情報)が含まれる。認証装置22は、デバイス11から認証要求を受信すると、受信された認証情報に基づいて認証処理を行う(ステップS108)。認証装置22は、認証要求の送信元であるデバイス11に対し、認証結果を通知する(ステップS109)。
デバイス11は、認証結果を受信すると、認証結果をデバイス管理装置15に対して通知する(ステップS110)。認証結果は、認証装置22による電子署名等の偽装対策がなされたものであることが望ましい。
デバイス管理装置15は、所定のタイミングで、認証されたことを示す認証結果がデバイス11から受信されたか否かを判定する(ステップS111)。認証されたことを示す認証結果が受信された場合(ステップS111−YES)、デバイス管理装置15は、通知元のデバイス11が外部のネットワーク(例えば中継ネットワーク20)に接続できる状態になるようにNWコントローラー14に指示する。例えば、デバイス管理装置15は、外部のネットワークに接続可能な通信用ネットワークとして構築された仮想ネットワーク(例えば第3VLAN)にデバイス11が接続されるようにNWコントローラー14に指示してもよい(ステップS112)。NWコントローラー14は、デバイス管理装置15の指示に応じて、デバイス11を通信用ネットワークに接続させるようにネットワークの切り替えを行う(ステップS113)。
一方、認証されたことを示す認証結果が受信されていない場合(ステップS111−NO)、デバイス管理装置15は、ステップS106における計時開始から所定の時間が経過したか否かを判定する(ステップS114)。所定時間が経過していない場合(ステップS114−NO)、デバイス管理装置15は、ステップS106の直後の状態に戻り、ステップS111の処理まで待機する。一方、所定時間が経過した場合(ステップS114−YES)、デバイス管理装置15は、ステップS101において認証接続要求を送信してきた送信元のデバイス11が外部のネットワーク(例えば中継ネットワーク20)に接続できない状態になるようにNWコントローラー14に指示する(ステップS115)。例えば、デバイス管理装置15は、外部のネットワークに接続可能な通信用ネットワークとして構築された仮想ネットワークにデバイス11が接続されないようにNWコントローラー14に指示してもよい。デバイス管理装置15は、デバイス11がローカルネットワーク10内でも通信できなくなるようにNWコントローラー14に指示してもよい。例えば、デバイス11が送信元であるデータを中継せずに全て廃棄するように各通信機器が設定されてもよい。デバイス管理装置15は、遮断通知の対象となったデバイス11の識別情報をブラックリストとして記憶する。デバイス管理装置15は、ブラックリストとして記憶されている識別情報のデバイス11については、その後に新たにローカルネットワーク10に接続されたとしても、認証通知許可を通知しない。NWコントローラー14は、デバイス管理装置15の指示に応じて、デバイス11を通信用ネットワークに接続させるようにネットワークの切り替えを行う(ステップS116)。なお、デバイス11が認証されなかったことを示す認証結果が受信された場合にも、ステップS115及びS116の処理が行われてもよい。
第1動作例では、新たに接続されたデバイス11は、当初は外部のネットワークに接続できない。一方、認証接続要求がデバイス管理装置15によって認められると、所定の時間の間だけ認証装置22との通信が許可される。所定の時間の間にデバイス11が認証装置22から認証された場合には、デバイス11は通信用ネットワークに接続され、その後も継続して外部のネットワークへの接続が認められる。一方、所定の時間の間にデバイス11が認証装置22から認証されなかった場合には、デバイス11は通信用ネットワークに接続されることなく、認証装置22との通信も遮断される。そのため、認証装置22による認証を受けられなかったデバイス11が外部のネットワークに対して不都合な挙動を起こしてしまうことを防止することができる。また、特に図4及び図5の例では、所定の時間の間にデバイス11が認証装置22から認証されなかった場合には、デバイス11はローカルネットワーク10内でも通信が遮断される。そのため、認証装置22による認証を受けられなかったデバイス11が、ローカルネットワーク10において不都合な挙動を起こしてしまうことも防止することができる。例えば、音声盗聴器や通信盗聴器(スニッファ)等の有害な装置がローカルネットワーク10内で通信することを防止することが可能となる。
また、第1動作例では以下のような効果も得られる。一般的にサービスシステム30(例えばクラウドのIoTサービス)にデバイス11がデータを送信する場合には、認証はサービスシステム30に任せられる場合がある。この場合、デバイス11が設置されたローカルネットワーク10からサービスシステム30までの通信路は常時開かれていることが多い。そのため、たとえサービスシステム30において認証がなされなかったとしても、デバイス11が接続されたローカルネットワーク10や中継ネットワーク20では、デバイス11の通信路が開かれた状態であることが多い。このように制御されると、認証されなかったデバイス11によって、中継ネットワーク20を介して他のネットワークへの不正なアクセスがなされてしまうことや、ローカルネットワーク10内で不正なアクセスがなされてしまうおそれがあった。しかしながら、上述した第1動作例では、認証されなかったデバイス11の通信がローカルネットワーク10内で遮断されるため、このような問題を解決することができる。
(第2動作例)
図6は、通信システム100の第2動作例を示すシーケンスチャートである。第2動作例では、新たなデバイス11がローカルネットワーク10に接続されて初期設定を受ける。以下、通信システム100の第2動作例について説明する。
まず、新たなデバイス11がローカルネットワーク10に接続される。デバイス管理装置15は、新たに接続されたデバイス11を検出すると(ステップS201)、新たに接続されたデバイス11を設定用ネットワークに接続することをNWコントローラー14に指示する(ステップS202)。NWコントローラー14は、デバイス管理装置15の指示にしたがって、新たに接続されたデバイス11を設定用ネットワークに接続させるように、ローカルネットワーク10内の通信機器を制御する(ステップS203)。なお、新たに接続されたデバイス11をデバイス管理装置15が検出する処理は、どのように実現されてもよい。例えば、新たに接続されたデバイス11が、初期設定を受けることを要求するデータをデバイス管理装置15に送信し、このデータの受信に応じてデバイス管理装置15がデバイス11を検出してもよい。例えば、第1動作例のステップS112の認証結果通知をデバイス管理装置15が受信することに応じてデバイス11を検出してもよい。この場合、第1動作例のステップS113及びS114の処理は、第2動作例のステップS202及びS203の処理に置き換えて実行されてもよい。ステップS202及びステップS203の処理の後、デバイス管理装置15は、初期設定の実行をデバイス11に対して指示する(ステップS204)。
デバイス11は、デバイス管理装置15から初期設定の指示を受信すると、初期設定サーバー16に対して初期設定データ要求を送信する(ステップS205)。初期設定データ要求には、送信元であるデバイス11の識別情報や、デバイス11の種別を示す情報が含まれる。デバイス11の種別を示す情報は、例えばデバイス11の型番であってもよいし、デバイス11にインストールされているOS(Operating System)の種別やバージョンを示す情報であってもよい。初期設定サーバー16は、デバイス11から初期設定データ要求を受信すると、受信された初期設定データ要求に応じた初期設定データを記憶装置から読み出す。そして、初期設定サーバー16は、初期設定データ要求の送信元であるデバイス11に対し、読み出された初期設定データを送信する(ステップS206)。
デバイス11は、初期設定データを受信すると、受信された初期設定データに基づいて初期設定処理を実行する(ステップS207)。初期設定処理は、例えば受信された初期設定データに含まれるデータを、所定の記憶領域に記録する処理であってもよい。初期設定処理は、例えば受信された初期設定データに含まれる実行形式のプログラムを実行する処理であってもよい。デバイス11は、初期設定処理が完了すると、初期設定が完了したことをデバイス管理装置15に通知する(ステップS208)。
デバイス管理装置15は、初期設定が完了したデバイス11が接続されているネットワークを、設定用ネットワークから通信用ネットワークに変更することをNWコントローラー14に指示する(ステップS209)。NWコントローラー14は、デバイス管理装置15の指示に応じて、デバイス11を通信用ネットワークに接続させるようにネットワークの切り替えを行う(ステップS210)。
第2動作例では、初期設定が必要なデバイス11(例えば新たに接続されたデバイス11)は、設定用ネットワークに接続される。一方、初期設定が終了すると、デバイス11は、設定用ネットワークではなく接続用ネットワークに接続される。そのため、初期設定が未設定のデバイス11が外部のネットワークに接続することを防止できる。その結果、初期設定が未設定であることを原因として想定外の挙動を示すデバイス11が外部ネットワークにアクセスしてしまうことを回避することが可能となる。
また、初期設定データは、通常の通信で送受信されるデータに比べてファイルサイズが大きく、相対的に大きな通信帯域が必要とされる場合がある。そのため、通常の動作をしているデバイス11と初期設定を行うデバイス11とが同じネットワークに接続されていると、初期設定データの送受信で生じた輻輳などにより、他のデバイス11がサービスシステム30に対して送信すべきデータが正しく送信されない可能性がある。第2動作例では、予め設定用ネットワークと通信用ネットワークとを分けて構築しておくことで、このような問題を解決できる。また、予め設定用ネットワークを通信用ネットワークよりも大きな通信帯域での通信が可能となるように設定しておくことで、このような問題を解決することができる。
(第3動作例)
図7は、通信システム100の第3動作例を示すシーケンスチャートである。第3動作例では、デバイス11がソフトウェアのバージョンアップを行う。以下、通信システム100の第3動作例について説明する。
まず、初期設定サーバー16が新たなバージョンのソフトウェアが利用可能になったことを示す情報(バージョンアップ情報)をデバイス管理装置15に通知する(ステップS301)。デバイス管理装置15は、バージョンアップ情報を受信すると(ステップS302)、バージョンアップが必要なデバイス11を設定用ネットワークに接続することをNWコントローラー14に指示する(ステップS302)。このとき、デバイス管理装置15は、各デバイス11の種別を示す情報を記憶しておき、デバイスの種別に基づいてバージョンアップが必要か否かをデバイス11毎に判定してもよい。NWコントローラー14は、デバイス管理装置15の指示にしたがって、デバイス11を設定用ネットワークに接続させるように、ローカルネットワーク10内の通信機器を制御する(ステップS303)。ステップS302及びステップS303の処理の後、デバイス管理装置15は、バージョンアップの実行をデバイス11に対して指示する(ステップS304)。
デバイス11は、デバイス管理装置15からバージョンアップの指示を受信すると、初期設定サーバー16に対してバージョンアップデータ要求を送信する(ステップS305)。バージョンアップデータ要求には、送信元であるデバイス11の識別情報や、デバイス11の種別を示す情報が含まれる。デバイス11の種別を示す情報は、例えばデバイス11の型番であってもよいし、デバイス11にインストールされているOSの種別やバージョンを示す情報であってもよい。初期設定サーバー16は、デバイス11からバージョンアップデータ要求を受信すると、受信されたバージョンアップデータ要求に応じたバージョンアップデータを記憶装置から読み出す。そして、初期設定サーバー16は、バージョンアップデータ要求の送信元であるデバイス11に対し、読み出されたバージョンアップデータを送信する(ステップS306)。
デバイス11は、バージョンアップデータを受信すると、受信されたバージョンアップデータに基づいてバージョンアップ処理を実行する(ステップS307)。バージョンアップ処理は、例えば受信されたバージョンアップデータに含まれるデータを、所定の記憶領域に記録する処理であってもよい。バージョンアップ処理は、例えば受信されたバージョンアップデータに含まれる実行形式のプログラムを実行する処理であってもよい。デバイス11は、バージョンアップ処理が完了すると、バージョンアップが完了したことをデバイス管理装置15に通知する(ステップS308)。
デバイス管理装置15は、バージョンアップが完了したデバイス11が接続されているネットワークを、設定用ネットワークから通信用ネットワークに変更することをNWコントローラー14に指示する(ステップS309)。NWコントローラー14は、デバイス管理装置15の指示に応じて、デバイス11を通信用ネットワークに接続させるようにネットワークの切り替えを行う(ステップS310)。
第3動作例では、バージョンアップが必要なデバイス11(例えば新たなバージョンのソフトウェアが提供された種別のデバイス11)は、設定用ネットワークに接続される。一方、バージョンアップが終了すると、デバイス11は、設定用ネットワークではなく接続用ネットワークに接続される。バージョンアップデータは、通常の通信で送受信されるデータに比べてファイルサイズが大きく、相対的に大きな通信帯域が必要とされる場合がある。そのため、通常の動作をしているデバイス11とバージョンアップを行うデバイス11とが同じネットワークに接続されていると、バージョンアップデータの送受信で生じた輻輳などにより、他のデバイス11がサービスシステム30に対して送信すべきデータが正しく送信されない可能性がある。第3動作例では、予め設定用ネットワークと通信用ネットワークとを分けて構築しておくことで、このような問題を解決できる。また、予め設定用ネットワークを通信用ネットワークよりも大きな通信帯域での通信が可能となるように設定しておくことで、このような問題を解決することができる。
第3動作例は、バージョンアップではなく、デバイス11の検疫に適用されてもよい。例えば、各デバイス11がウイルスに感染しているか否かを判定する装置(例えば初期設定サーバーでもよいし、検疫を専ら行う検疫サーバーであってもよい)によって各デバイス11の検疫が行われるように第3動作例が用いられてもよい。この場合、ウイルスに感染している可能性のあるデバイス11を、他のデバイス11からネットワーク単位で切り離して検疫を実行できるため、他の健全なデバイス11に感染が広がってしまうことを防止できる。
(第4動作例)
図8は、通信システム100の第4動作例を示すシーケンスチャートである。第4動作例では、デバイス11が中継ネットワーク20を介して所定のデータを送信する。図8の例では、デバイス11は、サービスシステム30の収集装置31に所定のデータを送信する。以下、通信システム100の第4動作例について説明する。
第4動作例では、各デバイス11は通信用ネットワークに接続されている。ただし、通信用ネットワークでは、各デバイス11が送信タイミングになっていない場合には、外部のネットワークへの通信が遮断されている。このような遮断は、例えばルーター13が各デバイス11から送信されたデータを廃棄することによって実現されてもよい。
デバイス管理装置15は、所定のタイミングで、各デバイス11が送信タイミングになったか否かを判定する(ステップS401)。送信タイミングになったことは、例えば予めデバイス11と同期してデバイス管理装置15に設定されている所定の周期が到来したことに応じて判定されてもよい。この場合、所定の周期が到来するとデバイス11はデータを送信し、デバイス管理装置15も同じく所定の周期が到来するとデバイス11が送信タイミングになったと判定する。所定の周期は、デバイス11毎に設定されてもよい。送信タイミングになったことは、デバイス11に対してデバイス管理装置15が送信指示や送信許可を通知することによって判定されてもよい。この場合、デバイス管理装置15は、デバイス11に対して送信指示や送信許可を送信する。デバイス11は、送信指示や送信許可を受信するとデータを送信するように予め設定されている。そのため、デバイス管理装置15は、デバイス11に対して送信指示や送信許可を送信することによって、そのデバイス11の送信タイミングを判定することができる。
デバイス管理装置15は、送信タイミングになったデバイス11が存在する場合(ステップS401−YES)、このデバイス11について解除通知をNWコントローラー14に送信する(ステップS402)。解除通知は、送信タイミングになったデバイス11から送信されたデータを外部のネットワークに中継することをNWコントローラー14に指示するための通知である。NWコントローラー14は、解除通知にしたがって、デバイス11から送信されたデータを外部ネットワークに中継するように、ローカルネットワーク10内の通信機器を制御する(ステップS403)。
デバイス11は、送信タイミングになると、収集装置31に対し所定のデータを送信する(ステップS404)。収集装置31は、デバイス11から所定のデータを受信すると、受信されたデータを記憶装置32に記録する(ステップS405)。
デバイス管理装置15は、所定のタイミングで、各デバイス11の送信タイミングが終了したか否かを判定する(ステップS406)。デバイス管理装置15は、送信タイミングが終了したデバイス11が存在する場合(ステップS406−YES)、このデバイス11について解除終了通知をNWコントローラー14に送信する(ステップS407)。解除終了通知は、送信タイミングが終了したデバイス11から送信されたデータを、再び外部のネットワークに中継しないことをNWコントローラー14に指示するための通知である。NWコントローラー14は、解除終了通知にしたがって、デバイス11から送信されたデータを外部ネットワークに中継しないように、ローカルネットワーク10内の通信機器を制御する(ステップS408)。
第4動作例では、所定の送信タイミングになったデバイス11から送信されたデータは、外部のネットワークへ中継される。一方、所定の送信タイミングになっていないデバイス11から送信されたデータは、外部のネットワークへは中継されない。このような中継の可否はデバイス管理装置15によって制御される。そのため、デバイス管理装置15によって送信タイミングが判定されていないデバイス11が勝手に外部のネットワークにデータを送信したとしても、そのようなデータは外部のネットワークへ中継されない。したがって、悪意のあるデータがローカルネットワーク10から外部のネットワークへ送信されてしまうことを防止できる。そのため、例えばローカルネットワーク10に接続されたデバイス11が、本来は外部に送信されてはいけない秘密データをローカルネットワーク10内で収集して外部のネットワークに漏洩させてしまことを防止できる。
第4動作例において、送信タイミングになっていないデバイス11については、送信データが遮断されるだけではなく、外部のネットワークからデバイス11宛てに送信されてきたデータも遮断されてもよい。また、第4動作例において、送信タイミングになったデバイス11は他の方法により判定されてもよい。例えば、外部のネットワーク(例えば収集装置31や分析装置33)からデバイス11宛てにデータのリクエストが届いた場合、デバイス管理装置15がこのリクエストを受信し、リクエストの宛先となっていたデバイス11を送信タイミングになったデバイス11として判定してもよい。
(第5動作例)
図9は、通信システム100の第5動作例を示すシーケンスチャートである。第5動作例では、不適切な通信を行ったデバイス11がハニーポット17に接続される。以下、通信システム100の第5動作例について説明する。
デバイス管理装置15は、ローカルネットワーク10において不適切な通信を検知すると(ステップS501)、検知された通信のデータに基づいて、不適切な通信の発信元であるデバイス11を特定する。不適切な通信の検知はどのような技術を用いて実現されてもよい。例えば、デバイス管理装置15は、ローカルネットワーク10内で生じる通信として予め定義されている通信とは異なる通信が検出された場合に、その通信を不適切な通信として判定してもよい。
デバイス管理装置15は、特定されたデバイス11を、囮用ネットワークに接続するようにNWコントローラー14に指示する(ステップS502)。囮用ネットワークとは、ハニーポット17との間で通信を行うためのネットワークである。囮用ネットワークは、例えばハニーポット17とデバイス11とが接続された仮想ネットワークとして構築されてもよい。NWコントローラー14は、デバイス管理装置15の指示にしたがってデバイス11を囮用ネットワークに接続するようにローカルネットワーク10内の通信機器を制御する(ステップS503)。その後、デバイス11の通信はハニーポット17との間で行われる。すなわち、デバイス11が送信したデータはいずれもハニーポット17に中継される。ハニーポット17は、デバイス11から送信されたデータに応じてデータをデバイス11に送信する。
第5動作例では、ローカルネットワーク10内に不正なデバイス11が接続された場合、不正なデバイス11はハニーポット17に接続される。そのため、ハニーポット17において、不正なデバイス11について情報を収集することが可能となる。
第5動作例において、デバイス管理装置15は、認証が受けられなかったデバイス11をハニーポット17に接続するように構成されてもよい。このように構成されることにより、認証を受けられなかったデバイス11の挙動について情報を収集することが可能となる。
(第6動作例)
図10は、通信システム100の第6動作例を示すシーケンスチャートである。第6動作例では、デバイス11が中継ネットワーク20を介して大容量のデータを送信する。図10の例では、デバイス11は、サービスシステム30の収集装置31に所定の大容量のデータを送信する。以下、通信システム100の第6動作例について説明する。なお、大容量データとは、予め定義されたデータであり、一般的なデバイス11によって送信されるデータよりも相対的に容量の大きいデータである。大容量データの具体例として、ソフトウェアやファームウェアのバージョンアップファイルのデータ、動画像データがある。具体的にどのような容量のデータを大容量データとして取り扱うかは、通信システム100の設計者や運用者などによって適宜決定される。
第6動作例では、各デバイス11は通信用ネットワークに接続されている。ただし、通信用ネットワークでは、各デバイス11が送信タイミングになっていない場合には、外部のネットワークへの通信が遮断されている。このような遮断は、例えばルーター13が各デバイス11から送信されたデータを廃棄することによって実現されてもよい。
デバイス管理装置15は、所定のタイミングで、各デバイス11が大容量データの送信タイミングになったか否かを判定する(ステップS601)。デバイス管理装置15は、大容量データの送信タイミングになったデバイス11が存在する場合(ステップS601−YES)、このデバイス11について解除通知をNWコントローラー14に送信する(ステップS602)。解除通知は、送信タイミングになったデバイス11から送信されたデータを外部のネットワークに中継することをNWコントローラー14に指示するための通知である。NWコントローラー14は、解除通知にしたがって、デバイス11から送信された大容量データを外部ネットワークに中継するように、ローカルネットワーク10内の通信機器を制御する(ステップS603)。デバイス管理装置15はさらに、通信帯域を制御可能な通信装置に対して、通信帯域を大きくするように指示する。第6動作例では、中継ネットワーク20のエッジルータである中継装置21−1が、通信帯域を制御可能な通信装置に相当する。デバイス管理装置15は、中継装置21−1に対し、デバイス11の通信に対してより大きな通信帯域を割り当てるように指示する(ステップS604)。中継装置21−1は、デバイス管理装置15の指示にしたがって、大容量データを送信するデバイス11の通信に割り当てられる通信帯域を大きくする(ステップS605)。
デバイス11は、送信タイミングになると、収集装置31に対し所定の大容量データを送信する(ステップS606)。収集装置31は、デバイス11から所定の大容量データを受信すると、受信された大容量データを記憶装置32に記録する(ステップS607)。
デバイス管理装置15は、所定のタイミングで、各デバイス11の大容量データの送信タイミングが終了したか否かを判定する(ステップS608)。デバイス管理装置15は、大容量データの送信タイミングが終了したデバイス11が存在する場合(ステップS608−YES)、このデバイス11について解除終了通知をNWコントローラー14に送信する(ステップS609)。解除終了通知は、大容量データの送信タイミングが終了したデバイス11から送信されたデータを、再び外部のネットワークに中継しないことをNWコントローラー14に指示するための通知である。NWコントローラー14は、解除終了通知にしたがって、デバイス11から送信されたデータを外部ネットワークに中継しないように、ローカルネットワーク10内の通信機器を制御する(ステップS610)。
デバイス管理装置15は、中継装置21−1に対し、デバイス11の通信に対して割り当てられていた大きな通信帯域を元に戻す(小さくする)ように指示する(ステップS611)。中継装置21−1は、デバイス管理装置15の指示にしたがって、大容量データを送信するデバイス11の通信に割り当てられる通信帯域を元に戻す(ステップS612)。
第6動作例では、所定の送信タイミングになったデバイス11から送信された大容量データは、外部のネットワークへ中継される。このとき、大容量データの送信に合わせて通信帯域も大きな値に設定される。そのため、容量が小さい一般的なセンサデータが送信されるタイミングでは通信帯域を小さくしておきつつ、大容量データが送信されるタイミングにおいて通信帯域を大きく変更することが可能となる。このように制御されることによって、通信費用を節約することが可能となる。また、このように制御されることによって、通信帯域を有効に活用することが可能となる。
第6動作例において、収集装置31や分析装置33等の他の装置から大容量データのリクエストがデバイス11に対して送信された場合に、このリクエストに基づいてデバイス管理装置15が大容量データの送信タイミングであると判定してもよい。その他の効果や変形例については、第4動作例と同様である。
(変形例)
通信システム100のシステム構成は図1に示される例に限定される必要はない。例えば、NWコントローラー14及びデバイス管理装置15のいずれか一方又は双方は、ローカルネットワーク10ではなく他のネットワークに設けられてもよい。例えば、NWコントローラー14がローカルネットワーク10に設けられ、デバイス管理装置15が中継ネットワーク20に設けられてもよい。例えば、NWコントローラー14が中継ネットワーク20に設けられ、デバイス管理装置15がローカルネットワーク10に設けられてもよい。例えば、NWコントローラー14及びデバイス管理装置15が中継ネットワーク20に設けられてもよい。
上述した通信システム100では、スイッチ12やルーター13等の通信機器の設定の変更はNWコントローラー14によって行われていたが、デバイス管理装置15がこれらの通信機器の設定を変更してもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。