特許第6987571号(P6987571)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東芝テック株式会社の特許一覧

<>
  • 特許6987571-制御装置 図000002
  • 特許6987571-制御装置 図000003
  • 特許6987571-制御装置 図000004
  • 特許6987571-制御装置 図000005
  • 特許6987571-制御装置 図000006
  • 特許6987571-制御装置 図000007
  • 特許6987571-制御装置 図000008
  • 特許6987571-制御装置 図000009
  • 特許6987571-制御装置 図000010
  • 特許6987571-制御装置 図000011
  • 特許6987571-制御装置 図000012
  • 特許6987571-制御装置 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6987571
(24)【登録日】2021年12月3日
(45)【発行日】2022年1月5日
(54)【発明の名称】制御装置
(51)【国際特許分類】
   H04L 12/66 20060101AFI20211220BHJP
   G06F 21/44 20130101ALI20211220BHJP
   G09C 1/00 20060101ALI20211220BHJP
   H04L 9/32 20060101ALI20211220BHJP
【FI】
   H04L12/66 B
   G06F21/44
   G09C1/00 640E
   H04L9/00 675A
【請求項の数】4
【全頁数】19
(21)【出願番号】特願2017-162722(P2017-162722)
(22)【出願日】2017年8月25日
(65)【公開番号】特開2019-41288(P2019-41288A)
(43)【公開日】2019年3月14日
【審査請求日】2020年5月22日
(73)【特許権者】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100189913
【弁理士】
【氏名又は名称】鵜飼 健
(72)【発明者】
【氏名】福島 孝文
【審査官】 平井 嗣人
(56)【参考文献】
【文献】 特開2010−283553(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
G09C 1/00
H04L 9/32
12/28
12/46
12/66
(57)【特許請求の範囲】
【請求項1】
ローカルエリアネットワーク内の第1の装置と通信する第1の通信部と、
前記ローカルエリアネットワーク外の第2の装置と通信する第2の通信部と、
前記第1の通信部を通じて前記第1の装置の真正性を確認し、
前記第1の通信部を通じて前記第1の装置が送信するデータを受信し、
前記第1の装置の真正性の確認に成功し前記データの宛先が前記第2の装置である場合、前記第2の通信部を通じて前記データを前記宛先に送信し、
前記第1の装置の真正性の確認に失敗し前記データの宛先が前記第2の装置である場合、前記第1の装置の通信を遮断する、
プロセッサと、
真正性の確認に失敗した第1の装置が所定の期間において送信するデータの、前記第2の装置の1つである宛先を格納する記憶部と、
を備え、
前記プロセッサは、
真正性の確認に失敗した前記第1の装置が送信するデータを受信し、
前記データの宛先が、前記記憶部が格納する宛先と一致する場合、前記第2の通信部を通じて前記宛先に前記データを送信する、
制御装置。
【請求項2】
前記第1の通信部は、前記ローカルエリアネットワーク内にある複数の装置と通信し、 前記プロセッサは、
前記第1の装置が送信するデータの宛先が前記ローカルエリアネットワーク内の装置である場合、前記第1の通信部を通じて前記データを前記宛先に送信する、
前記請求項1に記載の制御装置。
【請求項3】
前記記憶部は、真正性の確認に失敗した第1の装置が所定の期間においてデータを送信する宛先ポートをさらに格納し、
前記プロセッサは、
前記データの宛先及び宛先ポートが、前記記憶部が格納する宛先及び宛先ポートと一致する場合、前記第2の通信部を通じて前記宛先の前記宛先ポートに前記データを送信する、
前記請求項に記載の制御装置。
【請求項4】
前記記憶部は、前記第2の装置の1つである接続先を示すポリシー情報を格納し、
前記プロセッサは、
前記データの宛先が、前記ポリシー情報が格納する接続先と一致する場合、前記第2の通信部を通じて前記宛先に前記データを送信する、
前記請求項1乃至3の何れか1項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、制御装置に関する。
【背景技術】
【0002】
近年、ネットワークに接続するセンサ、カメラ、照明又は空調(いわゆる、IoT機器)が提供されている。IoT機器は、コスト又は消費電力を抑制するため、強固なセキュリティ対策を行うことができないことがある。そのような場合、IoT機器の通信を制御する制御装置は、通信許可リスト又は通信拒否リストを用いてIoT機器の通信を制御する。
【0003】
従来、制御装置は、オペレータなどの操作に従ってIoT機器に合わせた通信許可リスト又は通信拒否リストを予め格納する必要があるという課題がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−73548号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の課題を解決するために、機器の通信を安全に管理する制御装置を提供する。
【課題を解決するための手段】
【0006】
実施形態によれば、制御装置は、第1の通信部と、第2の通信部と、プロセッサと、記憶部と、を備える。第1の通信部は、ローカルエリアネットワーク内の第1の装置と通信する。第2の通信部は、前記ローカルエリアネットワーク外の第2の装置と通信する。プロセッサは、前記第1の通信部を通じて前記第1の装置の真正性を確認し、前記第1の通信部を通じて前記第1の装置が送信するデータを受信し、前記第1の装置の真正性の確認に成功し前記データの宛先が前記第2の装置である場合、前記第2の通信部を通じて前記データを前記宛先に送信し、前記第1の装置の真正性の確認に失敗し前記データの宛先が前記第2の装置である場合、前記第1の装置の通信を遮断する。記憶部は、真正性の確認に失敗した第1の装置が所定の期間において送信するデータの、前記第2の装置の1つである宛先を格納する。前記プロセッサは、真正性の確認に失敗した前記第1の装置が送信するデータを受信し、前記データの宛先が、前記記憶部が格納する宛先と一致する場合、前記第2の通信部を通じて前記宛先に前記データを送信する。
【図面の簡単な説明】
【0007】
図1図1は、第1の実施形態に係る制御システムの構成例を示すブロック図である。
図2図2は、第1の実施形態に係る制御装置の構成例を示すブロック図である。
図3図3は、第1の実施形態に係る機器情報の構成例を示す図である。
図4図4は、第1の実施形態に係る制御装置の動作例を示すシーケンス図である。
図5図5は、第1の実施形態に係る制御装置の動作例を示すフローチャートである。
図6図6は、第1の実施形態に係る制御装置の動作例を示すフローチャートである。
図7図7は、第2の実施形態に係る制御装置の構成例を示すブロック図である。
図8図8は、第2の実施形態に係るポリシー情報の構成例を示す図である。
図9図9は、第2の実施形態に係る機器情報の構成例を示す図である。
図10図10は、第2の実施形態に係る制御装置の動作例を示すシーケンス図である。
図11図11は、第2の実施形態に係る制御装置の動作例を示すフローチャートである。
図12図12は、第2の実施形態に係る制御装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、実施形態について、図面を参照して説明する。
(第1の実施形態)
まず、第1の実施形態について説明する。
実施形態に係る制御システムは、IoT機器の通信を制御する。制御システムは、IoT機器が行う通信の内容を監視する。制御システムは、IoT機器の通信動作が適切であるかをチェックする。制御システムは、IoT機器の接続先が不適切である場合、当該IoT機器の通信を遮断する。たとえば、制御システムは、商品を販売する店舗に設置される。なお、制御システムが設置させる場所は、特定の構成に限定されるものではない。
【0009】
図1は、実施形態に係る制御システム1の構成例を示すブロック図である。
図1が示すように、制御システム1は、制御装置10、WAN接続装置20、サーバ30、ネットワーク40及び機器A乃至D(IoT機器)などを備える。制御装置10は、機器A乃至Dと互いに接続する。制御装置10は、WAN接続装置20と互いに接続する。WAN接続装置20は、ネットワーク40を介してサーバ30と互いに接続する。
【0010】
制御装置10は、機器A乃至D間の通信を制御する。制御装置10は、機器A乃至D間でデータ通信を中継する。また、制御装置10は、機器A乃至Dとサーバ30との間の通信を制御する。制御装置10は、WAN接続装置20を介して、機器A乃至Dとサーバ30との間でのデータ通信を中継する。
【0011】
制御装置10は、機器A乃至Dとデータを送受信するためのネットワーク(ローカルエリアネットワーク(LAN))を形成する。制御装置10は、機器A乃至Dとデータを送受信する。
WAN接続装置20は、ネットワーク40への接続をサポートする。WAN接続装置20は、制御装置10からのデータをネットワーク40に転送する。また、WAN接続装置20は、ネットワーク40からのデータを制御装置10に転送する。
【0012】
ネットワーク40は、制御装置10とサーバ30と間などでデータを送受信するための通信網である。たとえば、ネットワーク40は、インターネットである。また、ネットワーク40は、独自の通信網であってもよい。
【0013】
サーバ30(第2の装置)は、制御装置10が形成するLANの外部にあるサーバである。即ち、サーバ30は、ネットワーク40を介して機器A乃至Dに接続する。サーバ30は、機器A乃至Dなどからのデータに基づいて機器A乃至Dを管理するものであってもよい。たとえば、サーバ30は、機器A乃至Dなどの動作状態などを管理する。サーバ30の動作及び目的は、特定の構成に限定されるものではない。
【0014】
機器A乃至D(第1の装置)は、制御装置10が形成するLANに接続する装置である。機器A乃至Dは、当該LANを介して互いに接続する。また、機器A乃至Dは、制御装置10を介してサーバ30に互いに接続する。たとえば、機器A乃至Dは、IoT(Internet of Things)機器である。機器A乃至Dは、たとえば、プリンタ、カメラ、マイク、各種センサ、ライト、ドローン又はPOS端末(point of sale端末)などである。また、機器A乃至Dは、ディスクトップPC、ノートPC、タブレットPC、スマートフォン又はウェアラブル端末などであってもよい。機器A乃至Dの構成は、特定の構成に限定されるものではない。
【0015】
機器Aは、TPM101A(Trusted Platform Module)を備える。
TPM101Aは、機器Aのセキュリティに関する機能を実現するモジュールである。ここでは、TPM101Aは、機器Aの改ざんを検知するために用いられる。たとえば、機器Aは、起動時などにおいてTPM101Aを用いて自身の改ざんをチェックする。
【0016】
また、TPM101Aは、機器Aの真正性を証明する証明書を発行するために用いられる。たとえば、TPM101Aは、証明書のための暗号鍵などを生成する。機器Aは、TPM101Aを用いて証明書を制御装置10へ送信する。たとえば、機器Aは、制御装置10からのリクエストに対するレスポンスとして証明書を制御装置10へ送信する。
【0017】
装置Bは、TPM101Bを備える。TPM101Bは、TPM101Aと同様の構成であるため説明を省略する。
【0018】
なお、制御システム1は、制御装置10のLANに接続するIoT機器として他の機器を備えてもよいし所定の機器を除外してもよい。制御システム1の構成は、特定の構成に限定されるものではない。
【0019】
次に、制御装置10について説明する。
図2は、制御装置10の構成例を示すブロック図である。
図2が示すように、制御装置10は、基本的な構成として、MCU11、TPM12、WAN通信部13、通信制御部14、通信部15乃至18及びストレージ19などを備える。これらの各部は、データバスを介して互いに接続される。なお、制御装置10は、図2が示すような構成の他に必要に応じた構成を具備したり、特定の構成を除外したりしてもよい。
【0020】
MCU11(プロセッサ)(Micro Control Unit)は、制御装置10全体の動作を制御する機能を有する。MCU11は、内部メモリ及び各種のインターフェースなどを備えてもよい。MCU11は、内部メモリ、ROM111又はストレージ19などが予め記憶するプログラムを実行することにより種々の処理を実現する。
【0021】
なお、MCU11がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、MCU11は、ハードウエア回路により実行される機能を制御する。
【0022】
MCU11は、ROM111及びRAM112などを備える。
ROM111は、予め制御用のプログラム及び制御データなどが記憶された不揮発性のメモリである。ROM111に記憶される制御プログラム及び制御データは、予め制御装置10の仕様に応じて組み込まれる。
【0023】
RAM112は、揮発性のメモリである。RAM112は、MCU11の処理中のデータなどを一時的に格納する。RAM112は、MCU11からの命令に基づき種々のアプリケーションプログラムを格納する。また、RAM112は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【0024】
TPM12は、制御装置10のセキュリティに関する機能を実現するモジュールである。TPM12は、制御装置10の改ざんを検知するために用いられる。たとえば、制御装置10は、起動時などにおいてTPM12を用いて自身の改ざんをチェックする。
【0025】
また、TPM12は、ストレージ19に格納するデータを暗号化するための暗号鍵及びストレージ19に格納されるデータを復号化するための復号鍵を生成する。
【0026】
WAN通信部13(第2の通信部)は、WAN接続装置20とデータを送受信するためのインターフェースである。即ち、WAN通信部13は、WAN接続装置20を介してネットワーク40(さらに、サーバ30)に接続するためのインターフェースである。WAN通信部13は、MCU11からの信号に従って所定のデータをWAN接続装置20へ送信する。また、WAN通信部13は、WAN接続装置20から受信したデータをMCU11へ送信する。
WAN通信部13は、LAN接続をサポートするものであってもよい。
【0027】
通信制御部14は、通信部15乃至18とデータを送受信するためのインターフェースである。通信制御部14は、通信部15乃至18からのデータをMCU11へ送信する。通信制御部14は、MCU11からのデータを通信部15乃至18へ送信する。
【0028】
通信部15乃至18(第1の通信部)は、複数の装置(ここでは、機器A乃至D)とそれぞれデータを送受信するためのインターフェースである。通信部15乃至18は、それぞれ機器A乃至Dからのデータを通信制御部14へ送信する。通信部15乃至18は、通信制御部14からのデータをそれぞれ機器A乃至Dへ送信する。
通信部15乃至18は、LAN接続をサポートするものであってもよい。
【0029】
ストレージ19(記憶部)は、データの書き込み及び書き換えが可能な不揮発性のメモリである。ストレージ19は、例えば、ハードディスク、SSD、EEPROM(登録商標)又はフラッシュメモリなどにより構成される。ストレージ19は、制御装置10の運用用途に応じてプログラム、アプリケーション、及び種々のデータを格納する。
【0030】
ストレージ19は、暗号化されたデータを格納する。ストレージ19は、TPM12が生成した暗号鍵などで暗号化されたデータを格納する。
【0031】
ストレージ19は、真正性確認プログラムを格納する記憶領域19a及び機器情報を格納する記憶領域19bを備える。真正性確認プログラム及び機器情報については、後述する。
【0032】
なお、制御装置10は、表示部又は操作部を備えてもよい。
制御装置10は、たとえば、ルータなどであってもよい。また、制御装置10は、汎用のPCであってもよい。汎用のPCである場合、制御装置10は、後述する機能を実行するためのプログラムをインストールしたものであってもよい。
【0033】
また、通信部15乃至19は、一体的に形成されてもよい。たとえば、通信部15乃至19は、機器A乃至Dと無線で通信する通信部であってもよい。
【0034】
次に、機器情報について説明する。
機器情報は、制御装置10LANに接続するIoT機器(たとえば、機器A乃至D)のセキュリティに関する情報である。機器情報は、各IoT機器に対して設定される。MCU11は、IoT機器が通信部15乃至18のいずれかに接続すると、当該IoT機器に対応する機器情報を生成し記憶領域19bに格納する。
【0035】
機器情報は、IoT機器の真正性を示す。即ち、機器情報は、対応するIoT機器から真正性を証明する証明書を受信したかを示す。
【0036】
図3は、機器情報の構成例を示す。図3は、機器Aに対応する機器情報及び機器Cに対応する機器情報を示す。
【0037】
機器情報は、「MACアドレス」、「IPアドレス」、「接続先」、「真正性」、「使用ポート番号」及び「設置日時」などから構成される。
【0038】
「MACアドレス」は、対応するIoT機器のMAC(Media Access Control)アドレスを示す。
【0039】
「IPアドレス」は、対応するIoT機器のIP(Internet Protocol)アドレスを示す。
【0040】
「接続先」は、対応するIoT機器が接続可能なアドレスを示す。ここでは、「接続先」は、いずれも未設定である。
【0041】
「真正性」は、対応するIoT機器の真正性を示す。即ち、「真正性」は、IoT機器から証明書を受信したかを示す。
【0042】
「使用ポート番号」は、対応するIoT機器が接続可能なポートを示す。ここでは、「使用ポート番号」は、いずれも未設定である。
【0043】
「設置日時」は、対応するIoT機器が制御装置10に接続した日時を示す。
【0044】
なお、機器情報は、図3が示すような構成の他に必要に応じた構成を具備したり、特定の構成を除外したりしてもよい。
【0045】
次に、制御装置10が実現する機能について説明する。以下の機能は、制御装置10のMCU11がストレージ19などに格納されるプログラムを実行することで実現される。
【0046】
まず、MCU11は、真正性確認プログラムに従って、接続されたIoT機器の真正性を確認する機能を有する。
たとえば、MCU11は、起動時において割り込み処理を許可する。MCU11はIoT機器の接続又は取り外しがあると割り込み処理を開始する。MCU11は、割り込み処理として、IoT機器の真正性をチェックする。たとえば、MCU11は、Iot機器が新たに接続されたと判定すると、当該機器の真正性をチェックする。
【0047】
たとえば、MCU11は、自身に新たにIoT機器が接続されると、当該IoT機器に対して証明書を要求するリクエストを送信する。MCU11は、当該IoT機器から証明書を受信する。MCU11は、証明書を受信すると、当該IoT機器の真正性の確認に成功したと判定する。なお、MCU11は、証明書の検証を行い検証に成功した場合に、当該IoT機器の真正性の確認に成功したと判定してもよい。
【0048】
MCU11は、当該IoT機器の真正性の確認に成功した判定すると、当該IoT機器に対応する機器情報に真正性を確認したことを示す情報を格納する。たとえば、MCU11は、機器情報の「真正性」に「OK」を格納する。
【0049】
MCU11は、当該IoT機器から証明書を受信しない場合、当該IoT機器の真正性の確認に失敗したと判定する。MCU11は、当該IoT機器の真正性の確認に失敗したと判定すると、当該IoT機器に対応する機器情報に真正性の確認に失敗したことを示す情報を格納する。たとえば、MCU11は、機器情報の「真正性」に「NG」を格納する。
【0050】
また、MCU11は、機器情報に基づいて各IoT機器からのデータを管理する機能を有する。
MCU11は、機器情報の「真正性」が「OK」又は「NG」のいずれであっても、IoT機器を自身が形成する内部ネットワーク(たとえば、LAN)の内部の装置(たとえば、機器A乃至D)に接続する。即ち、MCU11は、IoT機器のデータの宛先が通信部15乃至18を通じて接続する装置(たとえば、機器A乃至D)である場合、当該データを当該宛先に送信する。
【0051】
また、MCU11は、機器情報の「真正性」が「OK」であるIoT機器をネットワーク40に接続する。即ち、MCU11は、WAN通信部13を通じて接続する装置(たとえば、サーバ30)へ接続する。たとえば、MCU11は、当該IoT機器のデータの宛先がサーバ30である場合、当該データをWAN接続装置20及びネットワーク40を介してサーバ30へ送信する。
【0052】
MCU11は、機器情報の「真正性」が「NG」であるIoT機器をネットワーク40へ接続しない。MCU11は、当該IoT機器のデータの宛先がサーバ30である場合、当該IoT機器からネットワーク40への通信を遮断する。
【0053】
また、MCU11は、IoT機器からネットワーク40への通信を遮断した場合には、係員からの操作などを受け付けるまで、当該IoT機器からのいずれの通信も遮断してもよい。また、MCU11は、当該IoT機器を内部ネットワークの装置に接続してもよい。
【0054】
図3が示す例では、機器Aに対応する機器情報の「真正性」は、「OK」である。また、機器Cに対応する機器情報の「真正性」は、「NG」である。従って、MCU11は、機器Aをネットワーク40に接続する。また、MCU11は、機器Cをネットワーク40に接続しない。
【0055】
次に、制御システム1の動作例について説明する。
図4は、制御システム1の動作例について説明するためのシーケンス図である。
【0056】
ここでは、機器Aが制御装置10の通信部15に接続するものとする。その後、装備Cが制御装置10の通信部17に接続するものとする。
【0057】
まず、オペレータの操作などによって、機器Aは、通信部15に接続する(ACT11)。機器Aが通信部15に接続すると、制御装置10のMCU11は、通信部15を通じて証明書を要求するリクエストを機器Aに送信する(ACT12)。
【0058】
機器Aは、当該リクエストを受信する。当該リクエストを受信すると、機器Aは、TPM101Aを用いて証明書を生成し、制御装置10へ送信する(ACT13)
MCU11は、通信部15を通じて証明書を受信する。証明書を受信すると、MCU11は、機器Aに対応する機器情報の「真正性」に「OK」を格納する(ACT14)。
【0059】
機器Aは、プログラムに従って動作する(ACT15)。機器Aは、所定のタイミングでサーバ30宛てのデータを制御装置10へ送信する(ACT16)。MCU11は、通信部15を通じて、当該データを受信する。
【0060】
当該データを受信すると、MCU11は、WAN通信部13を通じて当該データをWAN接続装置20に送信する(ACT17)。WAN接続装置20は、当該データを受信する。WAN接続装置20は、ネットワーク40を介して当該データをサーバ30へ送信する(ACT18)。
【0061】
オペレータの操作などによって、機器Cは、通信部17に接続する(ACT19)。機器Cが通信部15に接続すると、制御装置10のMCU11は、通信部17を通じて証明書を要求するリクエストを機器Cに送信する(ACT20)。
【0062】
MCU11は、所定の期間経過しても証明書を受信しないと、機器Cに対応する機器情報の「真正性」に「NG」を格納する(ACT21)。
【0063】
機器Cは、プログラムに従って動作する(ACT22)。機器Cは、所定のタイミングでデータを制御装置10へ送信する(ACT23)。MCU11は、通信部15を通じて、当該データを受信する。
【0064】
MCU11は、データの宛先が内部ネットワークの装置(機器A、B又はD)であるか判定する(ACT24)。データの宛先が内部ネットワークの装置であると判定すると(ACT24、YES)、MCU11は、当該データを当該宛先に送信する(ACT25)。
【0065】
データの宛先が内部ネットワークの装置でないと判定すると(ACT24、NO)、MCU11は、機器Cとの通信を遮断する(ACT26)。
【0066】
次に、制御装置10の動作例について説明する。
図5及び6は、制御装置10の動作例について説明するためのフローチャートである。
【0067】
まず、制御装置10のMCU11は、オペレータからの操作などに従ってTPM12を用いて安全に起動する(ACT31)。起動に成功すると(ACT32、YES)、MCU11は、記憶領域19bから機器情報を取得する(ACT33)。
【0068】
機器情報を取得すると、MCU11は、機器情報の「真正性」を取得する(ACT34)。機器情報の「真正性」を取得すると、MCU11は、「真正性」が「OK」である機器情報に対応する機器とネットワーク40及び内部ネットワークとの接続を有効にする(ACT35)。
【0069】
ネットワーク40及び内部ネットワークとの接続を有効にすると、MCU11は、「真正性」が「NG」である機器情報に対応する機器と内部ネットワークとの接続を有効にする(ACT36)。
【0070】
内部ネットワークとの接続を有効にすると、MCU11は、割り込み処理を許可する設定を行う(ACT37)。割り込み処理を許可する設定を行うと、MCU11は、割り込み(IoT機器の接続又は取り外し)があるか判定する(ACT38)。
【0071】
割り込みがないと判定すると(ACT38、NO)、MCU11は、操作部などを通じて電源をOFFにする操作を受け付けたか判定する(ACT39)。電源をOFFにする操作を受け付けていないと判定すると(ACT39、NO)、MCU11は、ACT38に戻る。
【0072】
割り込みがあると判定すると(ACT38、YES)、MCU11は、割り込み処理を拒否する設定を行う(ACT40)。割り込み処理を拒否する設定を行うと、MCU11は、IoT機器が接続されたか又は取り外されたか判定する(ACT41)。
【0073】
IoT機器が接続されたと判定すると(ACT42、YES)、MCU11は、当該IoT機器に対応する機器情報を生成し、記憶領域19bに格納する(ACT43)。機器情報を格納すると、MCU11は、当該IoT機器の真正性を確認する(ACT44)。IoT機器の真正性の確認に成功すると(ACT45、YES)、MCU11は、当該IoT機器に対応する機器情報の「真正性」に「OK」を格納する(ACT46)。
【0074】
IoT機器の真正性の確認に失敗すると(ACT45、NO)、MCU11は、当該IoT機器に対応する機器情報の「真正性」に「NG」を格納する(ACT47)。
【0075】
IoT機器が取り外されたと判定すると(ACT42、NO)、MCU11は、当該IoT機器の機器情報をリセットする(ACT48)。たとえば、MCU11は、当該機器情報を記憶領域19bから削除してもよい。
【0076】
機器情報の「真正性」に「OK」を格納した場合(ACT46)、機器情報の「真正性」に「NG」を格納した場合(ACT47)、又は、機器情報をリセットした場合(ACT48)、MCU11は、ACT34に戻る。
【0077】
起動に失敗した場合(ACT32、NO)、又は、電源をOFFにする操作を受け付けたと判定した場合(ACT39、YES)、MCU11は、動作を終了する。
【0078】
なお、MCU11は、IoT機器の真正性を確認した後に確認結果に基づいて機器情報を生成してもよい。
また、MCU11は、接続するIoT機器の真正性を定期的に確認することで機器情報の「真正性」を更新してもよい。
また、ストレージ19は、暗号化されないデータを格納してもよい。
【0079】
以上のように構成された制御装置は、真正性の確認に成功したIoT機器を外部のネットワークに接続することができる。また、制御装置は、真正性の確認に失敗したIoT機器を外部のネットワークに接続させない。その結果、制御装置は、IoT機器が不正な改ざんなどによって不適切なデータを送信しようとすることを防止することができる。
【0080】
また、制御装置は、セキュリティ用のサーバなどを新たに立てることなく、IoT機器に関するセキュリティを確保することができる。
【0081】
また、制御装置は、真正性の確認に失敗したIoT機器を内部ネットワーク(たとえば、LAN)に接続する。その結果、制御装置は、証明書を送信する機能を持たないIoT機器が内部ネットワークの機器へデータを送信することを阻害しない。そのため、制御装置は、内部ネットワーク内での通信を維持しつつ、外部ネットワークへの通信のセキュリティを確保することができる。
(第2の実施形態)
次に、第2の実施形態について説明する。
第2の実施形態に係る制御装置は、IoT機器の通信を監視して当該IoT機器の接続を許可する装置を設定する点で第1の実施形態に係るそれと異なる。従って、その他の点については、同一の符号を付して詳細な説明を省略する。
【0082】
図1は、実施形態に係る制御システム1’の構成例を示すブロック図である。
図1が示すように、制御システム1’は、制御装置10の代わりに制御装置10’を備える。
【0083】
図7は、制御装置10’の構成例を示すブロック図である。
図7が示すように、制御装置10’は、ストレージ19の代わりにストレージ19’(記憶部)を備える。
【0084】
ストレージ19’は、接続機器検査プログラムを格納する記憶領域19c及びポリシー情報を格納する記憶領域19dなどを備える。
【0085】
ポリシー情報は、IoT機器が外部ネットワークに接続する際のセキュリティに関する情報である。ポリシー情報は、IoT機器の接続を許可する装置(サーバなど)又はポートなどを示す。
【0086】
たとえば、ポリシー情報は、証明書を送信する機能を有しないIoT機器(不真正なIoT機器)の接続を許可する装置又はポートなどを示す。
【0087】
図8は、ポリシー情報の構成例を示す。
図8が示すように、ポリシー情報は、「真正性」、「接続先制限」、「接続先許可リスト」、「接続先不許可リスト」、「ポート制限」、「許可ポートリスト」、「設置日時制限」、「制限日時(開始)」及び「制限日時(終了)」などから構成される。
【0088】
「真正性」は、IoT機器のネットワーク40への接続を許可するために当該IoT機器の真正性を必須とするかを示す。ここでは、「真正性」は、真正性を必須としないものとする。
【0089】
「接続先制限」は、不真正なIoT機器の接続先を制限するかを示す。ここでは、「接続先制限」は、接続先を制限することを示すものとする。
【0090】
「接続先許可リスト」は、不真正なIoT機器の接続を許可する接続先を示す。ここでは、「接続先許可リスト」は、接続を許可するサーバのURLなどを示す。
【0091】
「接続先不許可リスト」は、不真正なIoT機器の接続を許可しない接続先を示す。ここでは、「接続先不許可リスト」は、接続を許可しないサーバのURLなどを示す。
【0092】
「ポート制限」は、不真正なIoT機器が接続するポートを制限するかを示す。ここでは、「ポート制限」は、ポートを制限することを示すものとする。
【0093】
「許可ポートリスト」は、不真正なIoT機器の接続を許可するポートを示す。ここでは、「許可ポートリスト」は、接続を許可するポート番号などを示す。
【0094】
「設置日時制限」は、IoT機器の設置期間を制限するかを示す。「設置日時制限」が設置期間を制限することを示す場合、制御装置10は、所定の設置期間においてIoT機器からのデータを内部ネットワーク又はネットワーク40に送信する。制御装置10は、設置期間以外では内部ネットワーク又はネットワーク40への接続を許可しない。
【0095】
「制限日時(開始)」は、所定の設置期間の始期を示す。たとえば、「制限日時(開始)」は、日付及び時刻から構成される。
【0096】
「制限日時(終了)」は、所定の設置期間の終期を示す。たとえば、「制限日時(終了)」は、日付及び時刻から構成される。
【0097】
なお、ポリシー情報は、図8が示すような構成の他に必要に応じた構成を具備したり、特定の構成を除外したりしてもよい。
【0098】
次に、制御装置10’が実現する機能について説明する。以下の機能は、制御装置10’のMCU11がストレージ19’などに格納されるプログラムを実行することで実現される。制御装置10’は、第1の実施形態に係る制御装置10の機能に加えて以下の機能を実現する。
【0099】
制御装置10’のMCU11は、接続機器検査プログラムに従って不真正なIoT機器の機器情報の「接続先」及び「使用ポート番号」を生成する。
【0100】
まず、MCU11は、所定の期間、不真正なIoT機器の通信を監視する機能を有する。
MCU11は、IoT機器が接続され不真正であると判定してから、所定の期間、当該IoT機器の通信を監視する。たとえば、MCU11は、IoT機器がセットアップされる期間において、当該IoT機器の通信を監視する。
【0101】
MCU11は、当該IoT機器がネットワーク40を介してデータを送信する宛先及びポートを特定する。即ち、MCU11は、当該IoT機器がネットワーク40を介して接続する装置及びポートを特定する。
【0102】
なお、MCU11は、所定の期間においては、IoT機器からのデータをネットワーク40介して宛先の装置に送信する。
【0103】
MCU11は、所定の期間において、当該IoT機器が接続した装置及びポートに基づいて機器情報を更新する機能を有する。
MCU11は、特定した装置及びポートを、IoT機器の接続を許可する装置及びポートとして機器情報に格納する。たとえば、MCU11は、当該IoT機器に対応する機器情報の「接続先」に特定した装置(たとえば、装置のURL)を格納する。また、MCU11は、当該IoT機器に対応する機器情報の「使用ポート番号」に特定したポート(たとえば、ポート番号)を格納する。
【0104】
なお、MCU11は、特定した装置がポリシー情報の「接続先不許可リスト」に含まれる場合には、当該装置を「接続先」に格納しなくともよい。
【0105】
また、MCU11は、ポリシー情報に基づいて、機器情報を更新する機能を有する。
MCU11は、ポリシー情報の「接続先許可リスト」の装置を機器情報の「接続先」に追加する。また、MCU11は、ポリシー情報の「許可ポートリスト」のポートを機器情報の「使用ポート番号」に追加する。
【0106】
図9は、第2の実施形態に係る機器情報の例を示す。ここでは、機器Cに対応する機器情報について説明する。
【0107】
機器情報の「接続先」は、「www.mainte.co.jp;www.service.co.jp;www.support.co.jp;」を格納する。ここでは、MCU11は、所定の期間において装置として「www.mainte.co.jp」を特定したものとする。また、MCU11は、ポリシー情報の「接続先許可リスト」から「www.service.co.jp;www.support.co.jp;」を取得して機器情報の「接続先」に追加したものとする。
【0108】
また、機器情報の「使用ポート番号」は、「80;442;37;」を格納する。ここでは、MCU11は、所定の期間においてポートとして「37」を特定したものとする。また、MCU11は、ポリシー情報の「接続先許可リスト」から「80;442」を取得して機器情報の「使用ポート番号」に追加したものとする。
【0109】
また、MCU11は、不真正なIoT機器がネットワーク40に送信するデータの宛先及びポート(宛先ポート)を特定する機能を有する。
たとえば、MCU11は、ヘッダに基づいて宛先及び宛先ポートを特定する。MCU11は、ヘッダから送信先のサーバなどを示す情報を抽出することで、宛先及びポートを特定する。
【0110】
また、MCU11は、当該IoT機器が接続を許可される接続先及びポート(許可ポート)を特定する機能を有する。
MCU11は、当該IoT機器に対応する機器情報を参照して、IoT機器が接続を許可される接続先及び許可ポートを特定する。即ち、MCU11は、機器情報から「接続先」及び「使用ポート番号」を取得する。
【0111】
また、MCU11は、データの宛先及び宛先ポートが特定した接続先及び許可ポートに含まれるか判定する機能を有する。
たとえば、MCU11は、データの宛先と一致する接続先及び宛先ポートと一致する許可ポートがあるか判定する。
【0112】
また、MCU11は、データの宛先及び宛先ポートが特定した接続先及び許可ポートに含まれると判定した場合、データを宛先の宛先ポートに送信する機能を有する。
MCU11は、IoT機器からのデータを当該データの宛先及び宛先ポートに従って転送する。
【0113】
また、MCU11は、データの宛先及び宛先ポートが特定した接続先及び許可ポートに含まれないと判定した場合、IoT機器からの通信を遮断する機能を有する。
MCU11は、IoT機器からのデータを当該宛先へ送信しない。なお、MCU11は、IoT機器からの通信を遮断した後に、当該IoT機器から接続を許可される接続先及び許可ポートを宛先及び宛先ポートとするデータを受信した場合には、当該データを当該宛先の宛先ポートに送信してもよい。また、MCU11は、IoT機器からの通信を遮断した場合には、係員からの操作などを受け付けるまで、通信の遮断を継続してもよい。
【0114】
また、MCU11は、IoT機器からの通信を遮断した場合に、当該IoT機器からの通信を遮断したことを通知してもよい。たとえば、MCU11は、表示部などに所定の警告メッセージを表示してもよい。また、MCU11は、スピーカなどを通じて警告音を発してもよい。また、MCU11は、外部装置へ所定の信号を送信してもよい。
【0115】
次に、制御システム1’の動作例について説明する。
図10は、制御システム1’の動作例について説明するためのシーケンス図である。
【0116】
ここでは、機器Aが制御装置10’の通信部15に接続するものとする。その後、装備Cが制御装置10の通信部17に接続するものとする。
【0117】
ACT11乃至18、22及び23は、第1の実施形態のそれらと同様であるため説明を省略する。
【0118】
MCU11は、所定の期間経過しても証明書を受信しないと、機器Cからの通信を所定の期間監視して機器Cからのデータの宛先及び宛先ポートを特定する(ACT51)。宛先及び宛先ポートを特定すると、MCU11は、ポリシー情報の「接続先許可リスト」及び「許可ポートリスト」を取得する(ACT52)。
【0119】
ポリシー情報の「接続先許可リスト」及び「許可ポートリスト」を取得すると、MCU11は、特定した宛先及び宛先ポートと、「接続先許可リスト」及び「許可ポートリスト」とを機器Cに対応する機器情報に格納する(ACT53)。
【0120】
MCU11は、機器Cからネットワーク40へのデータを受信すると、データの宛先及び宛先ポートが機器情報の「接続先」及び「使用ポート番号」に含まれるか判定する(ACT34)。データの宛先及び宛先ポートが「接続先」及び「使用ポート番号」に含まれると判定すると(ACT54、YES)、MCU11は、WAN通信部13を通じて当該データをWAN接続装置20へ送信する(ACT55)。
【0121】
WAN接続装置20は、当該データを受信する。WAN接続装置20は、ネットワーク40を介して当該データを宛先(たとえば、サーバ30)へ送信する(ACT56)。
【0122】
データの宛先及び宛先ポートが「接続先」及び「使用ポート番号」に含まれないと判定すると(ACT54、NO)、MCU11は、機器Cとの通信を遮断する(ACT57)。
【0123】
次に、制御装置10’の動作例について説明する。
図11及び12は、制御装置10’の動作例について説明するためのフローチャートである。
【0124】
ACT31乃至48は、第1の実施形態のそれらと同様であるため説明を省略する。
【0125】
不真正な機器情報に対応するIoT機器と内部ネットワークとの接続を有効にすると(ACT36)、MCU11は、当該IoT機器の機器情報に基づいて、当該IoT機器の「接続先」及び「使用ポート番号」への接続を有効にする(ACT61)。
【0126】
当該機器の「接続先」及び「使用ポート番号」への接続を有効にすると、MCU11は、割り込み処理を許可する設定を行う(ACT37)。
【0127】
また、機器情報の「真正性」に「NG」を格納すると(ACT47)、MCU11は、当該機器の通信を所定の期間監視して、当該機器が送信するデータの宛先及び宛先ポートを特定する(ACT62)。宛先及び宛先ポートを特定すると、MCU11は、ポリシー情報の「接続先許可リスト」及び「許可ポートリスト」を取得する(ACT63)。
【0128】
ポリシー情報の「接続先許可リスト」及び「許可ポートリスト」を取得すると、MCU11は、特定した宛先及び宛先ポートと、「接続先許可リスト」及び「許可ポートリスト」とを機器Cに対応する機器情報に格納する(ACT65)。
【0129】
特定した宛先及び宛先ポートと、「接続先許可リスト」及び「許可ポートリスト」とを機器Cに対応する機器情報に格納すると、MCU11は、ACT34に戻る。
【0130】
なお、ストレージ19’は、ポリシー情報を格納しなくともよい。MCU11は、IoT機器の通信を監視して機器情報の「接続先」及び「使用ポート番号」を設定してもよい。
【0131】
以上のように構成された制御装置は、不真正なIoT機器の通信を監視して当該IoT機器の接続を許可する接続先などを設定する。そのため、制御装置は、IoT機器に不正な改ざんが行われ不正な装置に接続しようとした場合、当該IoT機器の通信を遮断することができる。
【0132】
また、制御装置は、ポリシー情報にない接続先に接続するIoT機器に対して、接続を許可する接続先などを適切に設定することができる。
【0133】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ローカルエリアネットワーク内の第1の装置と通信する第1の通信部と、
前記ローカルエリアネットワーク外の第2の装置と通信する第2の通信部と、
前記第1の通信部を通じて前記第1の装置の真正性を確認し、
前記第1の通信部を通じて前記第1の装置が送信するデータを受信し、
前記第1の装置の真正性の確認に成功し前記データの宛先が前記第2の装置である場合、前記第2の通信部を通じて前記データを前記宛先に送信し、
前記第1の装置の真正性の確認に失敗し前記データの宛先が前記第2の装置である場合、前記第1の装置の通信を遮断する、
プロセッサと、
を備える制御装置。
[C2]
前記第1の通信部は、前記ローカルエリアネットワーク内にある複数の装置と通信し、 前記プロセッサは、
前記第1の装置が送信するデータの宛先が前記ローカルエリアネットワーク内の装置である場合、前記第1の通信部を通じて前記データを前記宛先に送信する、
前記C1に記載の制御装置。
[C3]
真正性の確認に失敗した第1の装置が所定の期間において送信するデータの、前記第2の装置の1つである宛先を格納する記憶部を備え、
前記プロセッサは、
真正性の確認に失敗した前記第1の装置が送信するデータを受信し、
前記データの宛先が、前記記憶部が格納する宛先と一致する場合、前記第2の通信部を通じて前記宛先に前記データを送信する、
前記C1又は2に記載の制御装置。
[C4]
前記記憶部は、真正性の確認に失敗した第1の装置が所定の期間においてデータを送信する宛先ポートをさらに格納し、
前記プロセッサは、
前記データの宛先及び宛先ポートが、前記記憶部が格納する宛先及び宛先ポートと一致する場合、前記第2の通信部を通じて前記宛先の前記宛先ポートに前記データを送信する、
前記C3に記載の制御装置。
[C5]
前記記憶部は、前記第2の装置の1つである接続先を示すポリシー情報を格納し、
前記プロセッサは、
前記データの宛先が、前記ポリシー情報が格納する接続先と一致する場合、前記第2の通信部を通じて前記宛先に前記データを送信する、
前記C3又は4の何れか1項に記載の制御装置。
【符号の説明】
【0134】
1及び1’…制御システム、10及び10’…制御装置、11…MCU、12、101A及び101B…TPM、13…WAN通信部、15乃至18…通信部、19…ストレージ、19a乃至19d…記憶領域、20…WAN接続装置、30…サーバ、40…ネットワーク、A乃至D…機器。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12