(57)【要約】【課題】装置への処理の負担を軽減することのできる通信装置を提供する。【解決手段】通信システムは、通信装置の検出部が、電源の投入時に、ネットワーク上で通信可能な前記機器を検出し、検出した機器の識別情報を取得し、通信装置の第１セッション処理部は、検出部が検出した機器の識別情報が、識別情報記憶部に記憶されている場合に、識別情報によって特定できる機器との間でセッションを再確立し、機器の第２セッション処理部は、前記通信装置からの通知を受けて前記セッションを確立するとともに、前記データの送受信の完了の通知を受信するとセッションを終了する。【選択図】図２
2014150512.tif 000002
【特許請求の範囲】
【請求項１】
機器と、通信装置とを備えた通信システムであって、
前記通信装置は、
操作対象の機器との間でネットワークを介して通信を行う第１通信部と、
前記機器から前記機器の識別情報を取得する取得部と、
前記機器との間でデータを送受信するためのセッションを確立するとともに、前記データの送受信が完了するとセッションを終了する第１セッション処理部と、
取得した前記識別情報を前記データの送受信が完了するまで記憶する識別情報記憶部と、
電源の投入時に、前記ネットワーク上で通信可能な前記機器を検出する検出部と、
を備え、
前記取得部は、前記検出部が検出した前記機器の識別情報を取得し、
前記第１セッション処理部は、前記検出部が検出した前記機器の識別情報が、前記識別情報記憶部に記憶されている場合に、前記識別情報によって特定できる前記機器との間でセッションを再確立し、
前記機器は、
前記通信装置との間でネットワークを介して通信を行う第２通信部と、
前記通信装置に対して、前記機器に対して設定された識別情報を提供するＩＤ提供部と、
前記通信装置からの通知を受けて前記セッションを確立するとともに、前記データの送受信の完了の通知を受信するとセッションを終了する第２セッション処理部と、
を備える、
ことを特徴とする通信システム。
【請求項２】
前記機器は、
前記通信装置から送受信されるデータの種別ごとのセッション保持期間を記憶するセッション管理部を更に備え、
前記第２セッション処理部は、前記通信装置から送信された前記データの種別に対応する前記セッション管理部に記憶された前記セッション保持期間が、セッション確立後に経過すると、前記通信装置とのセッションを終了する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記セッション管理部に記憶された前記セッション保持期間は、前記データの種別が、通信が更に継続することが見込まれる種別である場合には長く設定され、通信が継続しないと見込まれる種別である場合には短く設定される
ことを特徴とする請求項２に記載の通信システム。
【請求項４】
前記通信装置は、
前記機器へと送信するデータを暗号化する第１暗号化処理部を備え、
前記機器は、
前記通信装置へと送信するデータを暗号化する第２暗号化処理部を備え、
前記第１暗号化処理部は、前記データのうち、前記機器に関する情報を取得する状態取得要求は暗号化せず、前記機器を制御する命令である制御要求は暗号化し、
前記第２暗号化処理部は、前記制御要求への応答は暗号化せず、前記状態取得要求への応答は暗号化する
ことを特徴とする請求項１に記載の通信システム。
【請求項５】
前記通信装置は、
前記第１暗号化処理部が暗号化した暗号化データを記憶する暗号化データ記憶部を
更に備え、
前記第１暗号化処理部は、送信対象のデータが、過去に暗号化済みの前記データと同じの場合は、前記データの暗号化処理を実施せずに、前記暗号化データ記憶部に記憶された前記暗号化データを使用する
ことを特徴とする請求項５に記載の通信システム。
【請求項６】
操作対象の機器との間でネットワークを介して通信を行う通信部と、
前記機器から前記機器の識別情報を取得する取得部と、
前記機器との間でデータの送受信のためのセッションを確立するとともに、前記データの送受信が完了するとセッションを終了するセッション処理部と、
取得した前記識別情報を前記データの送受信が完了するまで記憶する識別情報記憶部と、
電源の投入時に、前記ネットワーク上で通信可能な前記機器を検出する検出部と、
を備え、
前記取得部は、前記検出部が検出した前記機器の識別情報を取得し、
前記セッション処理部は、前記検出部が検出した前記機器の識別情報が、前記識別情報記憶部に記憶されている場合に、前記識別情報によって特定できる前記機器との間でセッションを再確立する
ことを特徴とする通信装置。
【請求項７】
コンピュータを、
操作対象の機器との間でネットワークを介して通信を行う第１通信部と、
前記機器から前記機器の識別情報を取得する取得部と、
前記機器との間でデータの送受信のためのセッションを確立するとともに、前記データの送受信が完了するとセッションを終了する第１セッション処理部と、
取得した前記識別情報を前記データの送受信が完了するまで記憶する識別情報記憶部と、
電源の投入時に、前記ネットワーク上で通信可能な前記機器を検出する検出部と、
して機能させるプログラムであって、
前記検出部は、検出した前記機器の識別情報を取得し、
前記第１セッション処理部は、検出した前記機器の識別情報が、前記識別情報記憶部に記憶されている場合に、前記識別情報によって特定できる前記機器との間でセッションを再確立する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置、通信システム、及びプログラムに関する。
【背景技術】
【０００２】
従来、通信装置には、通信の安全性確保を目的として、通信相手との間で鍵情報の交換や認証などを行ったうえでセッションを確立する処理を行う。そして、得られたセッション情報（暗号化用鍵など）に基づく通信データ暗号処理が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８―１７７８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
家電機器などに用いられる通信装置は、コストとの兼ね合いから、組込み機器として実現される場合が多い。一般的に、組込み機器はパソコンのような高い処理能力のプロセッサや十分な量のメモリを設けることは困難であり、コストに応じた低い処理能力や少ない量のメモリのみを備えることとなる。
【０００５】
一方、セッション確立処理や通信データ暗号処理には、ある程度の処理能力や、セッション情報保持のためのメモリ容量を必要とする。それらが不十分な場合、処理に時間を要する。例えば、検出した他の全ての通信装置とセッション確立処理を行う場合、検出台数に応じた長い処理時間がかかり、また、セッション情報を保持するための多くのメモリ容量が必要となってしまう。また、通信装置が他の通信装置と通信の内容に依らず常に通信データの暗号処理を行う場合、通信発生ごとに長い処理時間がかかってしまう。
【０００６】
本発明の実施形態は、上記に鑑みてなされたものであって、装置への処理の負担を軽減することのできる通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明の実施形態は、機器と、前記機器との間で通信する通信装置とを備えた通信システムであって、前記通信装置は、操作対象の機器との間でネットワークを介して通信を行う第１通信部と、前記機器から前記機器に対して設定された識別情報を取得する取得部と、前記機器との間でデータの送受信が必要となる際にセッションを確立するとともに、前記データの送受信が完了するとセッションを終了する第１セッション処理部と、取得した前記識別情報を前記データの送受信が完了するまで記憶する識別情報記憶部と、電源の投入時に、前記ネットワーク上で通信可能な前記機器を検出する検出部と、を備え、前記取得部は、前記検出部が検出した前記機器の識別情報を取得し、前記第１セッション処理部は、前記検出部が検出した前記機器の識別情報が、前記識別情報記憶部に記憶されている場合に、前記識別情報によって特定できる前記機器との間でセッションを再確立し、前記機器は、前記通信装置との間でネットワークを介して通信を行う第２通信部と、前記通信装置に対して、前記機器に対して設定された識別情報を提供するＩＤ提供部と、前記通信装置からの通知を受けて前記セッションを確立するとともに、前記データの送受信の完了の通知を受信するとセッションを終了する第２セッション処理部と、を備える、ことを特徴とする。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態の通信システムの概要を示す図である。
【図２】図２は、実施形態のコントローラの機能構成を示す図である。
【図３】図３は、実施形態の機器の機能構成を示す図である。
【図４】図４は、実施形態のデータ送受信にかかるシーケンス図である。
【図５】図５は、実施形態のセッション確立にかかる処理の流れを示すフロー図である。
【図６】図６は、実施形態の再起動時のセッション確立にかかる処理の流れを示すフロー図である。
【図７】図７は、実施形態の命令種別ごとのセッション保持期間を記憶するデータテーブルの一例を示す図である。
【図８】図８は、実施形態の機器側でのセッション処理の流れを示すフロー図である。
【図９】図９は、実施形態の変形例のコントローラの機能構成を示すブロック図である。
【図１０】図１０は、実施形態の変形例の機器の機能構成を示すブロック図である。
【図１１】図１１は、実施形態の変形例の命令種別ごとの暗号化処理の有無を決定するデータテーブルの一例を示す図である。
【図１２】図１２は、実施形態の変形例のデータ送受信にかかるシーケンス図である。
【発明を実施するための形態】
【０００９】
図１は、本発明の実施形態にかかる通信システム１のシステム概要を示すブロック図である。通信システム１は、複数のコントローラ１０（通信装置）と操作対象の複数の機器２０とが互いにネットワーク回線を通じて接続されて構成である。コントローラ１０は、ネットワーク接続された他の通信装置に対し、状態取得要求や制御要求などの通信データを発行する通信装置である。また、機器２０は、コントローラ１０からの要求を受け、必要に応じて何らかの応答を返す通信装置である。コントローラ１０、及び機器２０は、それぞれ１以上存在していればよい。
【００１０】
コントローラ１０は、例えば、家庭内ネットワークに接続されたホームゲートウェイ、宅内ＨＥＭＳ（HomeEnergyManagementSystem）サーバ、タブレット端末、携帯電話などである。機器２０は、例えば、エアコン、照明、冷蔵庫、洗濯機、蓄電池、太陽電池、燃料電池、分電盤、スマートメータ、センサなどである。コントローラと機器間の物理的な接続としては、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）などの任意の有線ネットワーク、または、８０２．１１ａ／ｂ／ｇなどの任意の無線ネットワークを用いることができる。通信のためのネットワークプロトコルとしては、例えば、ＥＣＨＯＮＥＴ（登録商標）やＥＣＨＯＮＥＴ  Ｌｉｔｅ（登録商標）を用いることができる。
【００１１】
通信システム１の具体的な使用例としては、例えば、ユーザがタブレット端末上に表示されたコントロール画面を操作し、エアコンのオン・オフのようなリモコン制御を行う、といったものがある。あるいは、ＨＥＭＳサーバがスマートメータ提供の家庭内消費電力情報を定期的に自動取得し、その値に応じエアコンの温度設定を自動変更する省エネ制御を行う、といったものがある。
【００１２】
このような通信システム１において、悪意ある第三者によるエアコンの不正制御、スマートメータが提供する消費電力情報の覗き見、といったことの防止のためには、コントローラ１０と機器２０間の通信のセキュリティ確保が求められる。通信の安全性確保のためには、セッション確立処理、および、「エアコンの運転オン」などの通信データの暗号処理が必要となる。なお、セッション確立処理とは、例えば、双方で利用可能な暗号化／圧縮アルゴリズムのやりとり、証明書や鍵情報のやりとりとそれを用いた通信相手の認証、鍵生成情報のやりとりとそれを用いた通信データ暗号化用鍵の生成、などである。
【００１３】
図２は、コントローラ１０の機能ブロック図である。コントローラ１０は、通信部１１、処理部１２、セッション記憶部１３、取得部１４、ＩＤ記憶部１５、検出部１６を備えている。通信部は、機器２０との間で通信を行う。処理部１２（セッション処理部）は、機器２０との間でセッションを確立するための処理を行う。セッション記憶部１３は、処理部１２で確立された際に得られたセッション情報を記憶する。セッション情報とは、セッションを特定する情報であり、確立先の機器１０の機器ＩＤや、セッションで用いる証明書や鍵情報を含む情報である。取得部１４は、システム内で機器を一意に識別可能な通信先の機器２０の機器ＩＤ（識別情報）を取得する。ＩＤ取得部１４は、取得された通信先の機器ＩＤを記憶する。検出部１６は、通信システム１内においてコントローラ１０が通信可能な機器２０を検出する。なお、ＩＤ記憶部１５は、不揮発性のメモリが用いられている。
【００１４】
図３は、機器２０の機能構成を示すブロック図である。機器２０は、通信部２１、処理部２２、セッション記憶部２３、セッション管理部２４、ＩＤ提供部２５を備えている。機器２０は、通信部２１、処理部２２、セッション記憶部２３はコントローラ１０と同様の構成である。ＩＤ提供部２５は、コントローラ１０からの要求に応じて機器ＩＤを提供する。セッション管理部２４は、セッション記憶部２３に格納されたセッション情報の保持期間を管理し、期間に応じてセッション情報の消去を行う。
【００１５】
次に、コントローラ１０における動作について説明する。図４は、コントローラ１０と機器２０との通信動作の処理の流れを示すシーケンス図である。図５は、コントローラ１０におけるセッション確立処理の流れを示すフロー図である。また図６は、コントローラ１０の再起動時におけるセッション確立処理の流れを示す図である。以下、セッション確立からデータ送信までの流れについて説明する。
【００１６】
コントローラ１０は、初期状態にあっては、機器２０との間にセッションを確立していない。処理部１２は、図４に示されるように、例えば、「コントローラ１０上のエアコン操作アプリケーションで、ユーザがエアコン運転オンボタンをクリックした」などを契機とし、「エアコンに対して運転オンの通信データを送信する」といった、機器２０への通信データ送信要求の発生を知る。処理部１２は、操作を契機にまず機器ＩＤの取得処理を行う（図４、図５：ステップＳＳ２２）。ＩＤ取得部１４は、通信部１１を介し、機器２０から機器ＩＤを取得し、ＩＤ記憶部１５に記憶する。機器ＩＤは、ＩＤ提供部２５が提供する。機器ＩＤとしては、例えば、イーサネット（登録商標）アドレスなどを用いることができる。次いで、処理部１２は、取得した機器ＩＤで特定される装置との間でセッション確立処理を開始する（図４：ステップＳ１０）。セッション確立処理に当たっては、処理部１２はまずコントローラ１０がデータ送信を要求した機器２０との間でセッションが確立済みか否かを、セッション記憶部１３の情報から判定する（図５：ステップＳ２０）。具体的には、取得した機器ＩＤを含むセッション情報がセッション記憶部１３に記憶されているか否かにより判定する。
【００１７】
確立していないと判定された場合（ステップＳ２０：Ｎｏ）、処理部１２は、通信部１１を介しセッション確立処理を行い、その結果得たセッション情報を、セッション記憶部１３に格納する（図５：ステップＳ２１）。コントローラ１０は、セッション確立後に、通信データの送受信を行う（図４、図５：ステップＳ２３）。なお、ここではエアコンオンの操作信号が通信データに該当する。そして、処理部１２は、全ての送受信対象の通信データのうち、未送信のものが残っているか否かを判定する（図５：ステップＳ２４）。残っていると判定された場合（ステップＳ２４：Ｙｅｓ）、全ての通信データの送受信が完了するまで処理を繰り返す。一方、残っていないと判定された場合（ステップＳ２４：Ｎｏ）、処理部１２は、セッション終了処理を行う（ステップＳ２５）。セッション終了処理が行われると、セッション記憶部１３、及びセッション記憶部２３に記憶された該当するセッション情報が削除される。また、同様にＩＤ記憶部１５に記憶された通信相手の機器２０のＩＤも削除される。
【００１８】
以上の処理では、通信データの送信が必要になった通信相手とのみセッションを確立するため、不必要なセッション確立処理時間、不必要なセッション情報の保持が発生しない。一方で、ユーザが操作を行なってから、実際に通信データの送信を行うまでに図４で示すＴ１の時間が必要となる。セッション確立状態を維持し続ける場合は、初めての通信以外の際はＴ１の時間はかからないが、コントローラ１０が再起動した場合、セッションは失われる。
【００１９】
次に、コントローラ再起動後の動作について説明する。なお、再起動とはコントローラ１０の電源が一度オフにされてから、再度電源がオンされることをさす。先の例で示した「エアコン操作アプリケーション」のように、再起動前にコントローラ１０と通信していた機器２０は、再起動後も再び通信する可能性が高い。このため、コントローラ１０は、再起動前に通信していた機器２０を記憶しておき、再起動後に、ユーザ操作の実施に先んじて、機器２０とのセッション確立を行う。
【００２０】
まず、検出部１６は、コントローラ１０が再起動した際に、通信システム１内に存在する機器２０が検出できたかどうかを判定する（図６：ステップＳ３１）。機器２０の検出は、例えば、ＥＣＨＯＮＥＴ  Ｌｉｔｅの一斉同報通信（マルチキャスト通信）を用いて実現することができる。機器２０が検出された場合（ステップＳ３１：Ｙｅｓ）、ＩＤ取得部１４は、検出された機器２０から機器ＩＤを取得する（図６：ステップＳ３２）。検出部１６は、予め定めた所定の数の機器２０を検出できた時点、または、機器２０の検出開始から一定時間が経過した時点で、取得した機器ＩＤと、ＩＤ記憶部１５に記憶されている機器ＩＤとで、一致するものがあるかを判定する（図６：ステップＳ３３）。一致するものがあると判定された場合（ステップＳ３３：Ｙｅｓ）、処理部１２は、一致した機器ＩＤを持つ機器２０に対し、セッションを確立する（図６：ステップＳ３４）。一方、一致するものがないと判定された場合（ステップＳ３３：Ｎｏ）、そのまま処理を終了する。なお、再起動後の機器の検出や機器ＩＤの取得のための通信は、平文で行なってよい。機器ＩＤが詐称されたとしても、その後のセッション確立において、不正な機器２０か否かをコントローラ１０は判別することができる。
【００２１】
なお、ＩＤ記憶部１５に記憶された機器ＩＤの個数が多く、全ての機器２０とセッション確立を行うと時間がかかる、または、セッション情報を保持するメモリ容量が足りない、といった場合には、セッション確立する機器２０に優先度を付け、優先度の高いものから幾つかの機器のみとセッション確立を行う、としてもよい。優先度の付け方は、コントローラ１０上のアプリケーションが明示的に指定する、通信頻度の高い機器２０を優先度高とする、通信時刻が直近の機器２０を優先度高とする、などが考えられる。
【００２２】
次に、機器２０側における動作について説明する。機器２０は、コントローラ１０との通信において、セッション確立後はそのセッション情報を保持する。セッション情報を失うと、コントローラ１０との通信のために再度セッション確立が必要となり時間がかかる。一方で、少ないメモリ容量のみを備える場合、不必要なセッション情報をいつまでも保持し続けるのは望ましくない。
【００２３】
このため、機器２０は、コントローラ１０からセッション終了要求を受けるまではセッション情報をセッション記憶部２３に保持し続ける。また、機器２０は、コントローラ１０がセッション終了要求を送信せずに電源停止した場合などのために、セッション終了要求をある時間受信しない場合、セッション情報を消去する。
【００２４】
図７は、通信データの命令種別と、セッション保持期間との対応を示すテーブルの例である。このテーブルは、機器２０のセッション管理部２４に予め記憶されている。ここでの通信データの種別とは、例えば取得要求である「エアコンの型名情報の取得要求」や制御要求である「エアコンの運転オンの制御要求」などである。
【００２５】
「エアコンの運転オンの制御要求」を機器が受信した場合、コントローラ１０においてユーザがエアコンの運転開始操作を行っている、といったことが予想できる。すなわち、更に続けて「エアコンの温度設定２８℃」といった通信データを受信する可能性が高いと言える。一方で、「エアコンの運転オフの制御要求」を受信した場合、コントローラ１０においてユーザはエアコンの運転停止を行いそれ以上は何もしない、といったことが予想できる。すなわち、更に続けて通信データを受信する可能性は低いと言える。
【００２６】
同様に、「エアコンの型名情報の取得要求」といった機器自身に関する情報の取得は、「操作可能な機器一覧の情報表示」といったケースで使われることが多いことから、更に続けて「エアコンの製造メーカ名の取得」といった通信データを受信する可能性が高いと言える。
【００２７】
図７で示されるタイムテーブルでは、更に続けて通信データを受信する可能性が高いものについてはセッション保持期間が長く設定されており、続けて通信データを受信する可能性は低いものについてはセッション保持期間が短く設定されている。
【００２８】
図８は、機器２０の動作を示すフローチャートである。図８に示されるように、処理部２２は、通信部２１を介してコントローラ１０からのセッション確立要求を受信すると、セッション確立処理を行う（ステップＳ４１）。セッション情報はセッション記憶部２３に記憶される。セッション確立後、処理部２２は、セッション終了要求を待ち受け、受信したか否かを判定する（ステップＳ４２）。セッション終了要求を受信した場合（ステップＳ４２：Ｙｅｓ）、セッション記憶部２３内のセッション情報を消去し、セッションを終了させる（ステップＳ４６）。
【００２９】
一方、セッション終了要求を受信していない場合（ステップＳ４２：Ｎｏ）、すなわちセッションが確立した状態の場合、処理部２２は、コントローラ１０から何らかの命令要求を含む通信データを受信したか否かを判定する（ステップＳ４３）。命令要求を受信していないと判定された場合（ステップＳ４３：Ｎｏ）、何もせずにステップＳ４５へと移行する。命令要求を受信したと判定された場合（ステップＳ４３：Ｙｅｓ）、セッション管理部２４は、図７で示したテーブル情報を用い、通信データの内容に応じたセッション保持期間を設定する（ステップＳ４４）。なお、セッション保持期間は通信データを新たに受信するごとに更新される。セッション管理部２４は、通信データを受信してから、設定されたセッション保持期間を経過した場合、セッション記憶部２３内のセッション情報を消去し、セッションを終了する（ステップＳ４６）。
【００３０】
なお、セッション記憶部２３に複数のセッション情報を記憶できるのであれば、セッション情報に優先度を付け、任意のタイミングで優先度の低いものから消去していくようにしてもよい。優先度の付け方は、機器２０が特定のコントローラ１０のセッション情報を優先したり、通信頻度の高いコントローラ１０のセッション情報を優先したりといったことが考えられる。
【００３１】
以上に示した通信システム１にあっては、コントローラ１０と機器２０との間で、常時セッションを確立するわけではなく、実際に通信を行う機器２０との間でデータ通信しようとした際に、セッションの確立処理を行い、データの送受信が完了後にはセッションを終了する。したがって、セッションの維持に必要なメモリの容量を抑制することができるようになる。また、コントローラ１０の場合は、データ通信のためのセッションを確立した場合に、電源をオフにするようなケースも考えられる。例えば、コントローラ１０としてスマートフォン等のようなタブレット端末に、コントローラとして機能するアプリケーションをインストールして使用する場合などである。この場合に、コントローラ１０の電源を再びオンにした際に、ネットワーク中に存在する機器２０の機器ＩＤが、ＩＤ記憶部１５に記憶されている場合は、全てのデータの送受信が完了していない状態で、セッションが切断されたことを把握することができる。したがって、その場合に自動的にコントローラ１０と機器２０との間で、セッションを再確立し、実際に通信を行う通信相手とのみセッション確立を事前に行うため、より少ない処理時間でのセッション確立処理が可能となる。
【００３２】
また、通信するデータの種別に応じて、セッション保持期間が予め設定されており、セッションを継続する必要性の低い通信については、セッション保持期間が短く設定されて、機器２０側で自動的にセッションが期間経過後に終了される。したがって、コントローラ１０からセッション終了の通知が来なかった場合などに、セッション維持に必要となるメモリの容量を抑制することができるようになる。
【００３３】
次に上記実施形態の変形例について説明する。変形例では、更に通信データを暗号化する処理が加えられている。暗号化処理もセッション確立処理と同様に、高い処理能力が必要となるため、処理能力の低い家電などの情報機器においては困難となる場合が多い。以下の構成は、この点を緩和するためのものである。
【００３４】
図９は、コントローラ１００の機能構成を示すブロック図である。コントローラ１００は、データ処理部３１、暗号化処理部３２、通信部３３、暗号化データ記憶部３４を備えている。なお、図２で示したセッション処理に係る構成も同様に備えているがここでは図示を省略している。また、セッション処理に係る構成を含まずに、暗号化処理に関する構成のみを備えるようにしてもよい。データ処理部３１は、コントローラ１００上のアプリケーション要求に基づいて通信データを生成し、通信データが暗号処理を行う対象か否かを判定する。暗号化処理部３２は、データ処理部３１で暗号化する通信データとして判定された通信データを暗号化する処理を行う。通信部３３は、機器２００との通信を行う。暗号化データ記憶部３４は、暗号化処理部３２にて暗号化された通信データを記憶する。
【００３５】
図１０は、機器２００の機能構成を示すブロック図である。機器２００は、通信部４１、暗号化処理部４２、データ処理部４３を備えている。通信部４１、及び暗号化処理部４２は、コントローラ１００と同様の構成である。データ処理部４３は、通信部４１を介して受信したコントローラ１００からの状態取得要求や制御要求を含む通信データに応じて応答用の通信データを生成し、その通信データが暗号処理を行う対象か否かを判定する。
【００３６】
図１１は、命令種別ごとに暗号化処理を行うか否かを決定するためのデータテーブルであり、コントローラ１００、および機器２００それぞれにおいて予め記憶されている。状態取得要求や制御要求には、データ自体が第三者に閲覧された場合に問題となる可能性が高いものと低いものとが存在する。例えば、「消費電力の取得要求」を含む通信データは、データ自体が悪意ある第三者に覗き見されても問題は少ない。一方、その応答である、「消費電力値を含む取得応答」は具体的な値を含むため、覗き見防止が必要である。このため、前者は平文、後者は暗号文で送信を行うとする。
【００３７】
同様に、「運転オンの制御要求」を含む通信データは、悪意ある第三者による改竄や不正制御の防止が必要である。なお、応答を要求しない制御要求も同様に暗号化処理が実施される。一方、その応答である、「制御が成功したことを示す制御応答」は覗き見されても問題は少ない。このため、前者は暗号文、後者は平文で送信を行うとする。
【００３８】
さらに、「固定情報である型名を含む取得応答」など、覗き見されても問題は少ないものについても、平文で送信を行うとする。
【００３９】
図１２は、コントローラ１００と機器２００との通信動作の流れである。変形例では、ＥＣＨＯＮＥＴ  Ｌｉｔｅのように、コントローラ１００から機器２００への要求の通信と、機器２００からコントローラ１００への応答の通信とが、独立して非同期に行われる通信形態を想定する。
【００４０】
なお、暗号化処理にあたっては、ＥＣＨＯＮＥＴ  Ｌｉｔｅにおける「応答なし制御要求」のように、通信データの中に変動値が含まれない（応答あり制御要求では、要求と応答とを紐付けるためのトランザクション情報を含み、これは通信データごとに異なる）場合、暗号化処理部４２は、暗号化済の通信データを暗号化データ記憶部３４に記憶しておく。そして、暗号化処理部４２は、通信データの内容が「応答なし制御要求」の場合、過去と同じ通信データかどうかを調べ、同じである場合、暗号化処理部４２での暗号化処理は行わず、記憶された暗号化済の通信データをそのまま送信する。この場合、暗号化処理に係る処理時間を削減することができる。
【００４１】
以上に示した変形例においては、状態取得要求、制御応答といった、暗号化を行わなくとも問題が少ない通信データについては暗号処理を行わないため、暗号化処理に係る処理時間を削減してコントローラ１００と機器２００間での通信が可能となる。
【００４２】
なお、コントローラ１０、１００は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、各機能部の少なくとも一部は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、通信装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、各部は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【００４３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００４４】
１  通信システム
１０  コントローラ
１１  通信部
１２  処理部
１３  セッション記憶部
１４  取得部
１５  記憶部
１６  検出部
２０  機器
２１  通信部
２２  処理部
２３  セッション記憶部
２４  セッション管理部
２５  提供部
３１  データ処理部
３２  暗号化処理部
３３  通信部
３４  暗号化データ記憶部
４１  通信部
４２  暗号化処理部
４３  データ処理部
１００  コントローラ
２００  機器
【図１】
2014150512.tif 000003
【図２】
2014150512.tif 000004
【図３】
2014150512.tif 000005
【図４】
2014150512.tif 000006
【図５】
2014150512.tif 000007
【図６】
2014150512.tif 000008
【図７】
2014150512.tif 000009
【図８】
2014150512.tif 000010
【図９】
2014150512.tif 000011
【図１０】
2014150512.tif 000012
【図１１】
2014150512.tif 000013
【図１２】
2014150512.tif 000014