(57)【特許請求の範囲】
【請求項１】
機器から繰り返し送信される機器データを収集する収集処理部と、
前記収集処理部と、前記機器データに施される処理フローを構成する複数の部分処理のいずれかを実行する一の処理手段と、の間におけるデータの授受を仲介し、前記一の処理手段と他の処理手段と、の間におけるデータの授受を仲介することで、前記処理フローに対応する順で前記処理手段に前記部分処理を実行させる実行制御部と、を備え、
前記実行制御部は、
予め設定された第１時間区間毎に異なる第１共通鍵を生成する共通鍵生成手段と、
前記処理手段に送出すべきデータを、前記第１共通鍵で暗号化する暗号化手段と、
前記暗号化手段又はデータの送出元である前記処理手段によって暗号化されたデータを記憶する記憶手段と、
前記記憶手段に記憶されるデータを提供する提供手段と、
予め定められた第２時間区間毎に異なる第２共通鍵で前記処理手段によって暗号化されたデータを前記提供手段から受信し復号する受信手段と、
を備え、
前記暗号化手段は、前記処理手段の公開鍵で前記第１共通鍵を暗号化し、
前記記憶手段は、前記暗号化手段によって暗号化された前記第１共通鍵と、前記処理手段によって前記受信手段の公開鍵で暗号化された前記第２共通鍵と、を記憶し、
前記受信手段は、前記記憶手段に記憶される前記第２共通鍵を取得して、前記受信手段の秘密鍵で復号する、データ管理装置。
【請求項２】
機器から繰り返し送信される機器データを収集する収集処理部と、
前記収集処理部と、前記機器データに施される処理フローを構成する複数の部分処理のいずれかを実行する一の処理手段と、の間におけるデータの授受を仲介し、前記一の処理手段と他の処理手段と、の間におけるデータの授受を仲介することで、前記処理フローに対応する順で前記処理手段に前記部分処理を実行させる実行制御部と、を備え、
前記実行制御部は、
前記処理手段に送出すべきデータを、予め設定された第１時間区間毎に異なる第１共通鍵で暗号化する暗号化手段と、
前記暗号化手段又はデータの送出元である前記処理手段によって暗号化されたデータを記憶する記憶手段と、
前記記憶手段に記憶されるデータを提供する提供手段と、
予め定められた第２時間区間毎に異なる第２共通鍵で前記処理手段によって暗号化されたデータを前記提供手段から受信し復号する受信手段と、
を備え、
前記暗号化手段は、前記処理手段の公開鍵で前記第１共通鍵を暗号化し、
前記記憶手段は、前記暗号化手段によって暗号化された前記第１共通鍵と、該第１共通鍵による暗号化が実行される前記第１時間区間を示す第１区間情報と、を関連付けて記憶し、前記処理手段によって前記受信手段の公開鍵で暗号化された前記第２共通鍵と、該第２共通鍵による暗号化が実行される前記第２時間区間を示す第２区間情報と、を関連付けて記憶し、
前記受信手段は、
前記記憶手段に記憶される前記第２共通鍵を取得して、前記受信手段の秘密鍵で復号し、
前記記憶手段に記憶される前記第２区間情報により示される前記第２時間区間において、該第２区間情報に関連付けられた前記第２共通鍵でデータを復号する、データ管理装置。
【請求項３】
前記第１時間区間は、前記第１共通鍵で暗号化されるデータの値に応じて区分されることが予め設定される区間である、
請求項１又は２に記載のデータ管理装置。
【請求項４】
前記記憶手段は、前記第１共通鍵と、該第１共通鍵による暗号化が実行される前記第１時間区間を示す第１区間情報と、を関連付けて記憶し、前記第２共通鍵と、該第２共通鍵による暗号化が実行される前記第２時間区間を示す第２区間情報と、を関連付けて記憶し、
前記受信手段は、前記記憶手段に記憶される前記第２区間情報により示される前記第２時間区間において、該第２区間情報に関連付けられた前記第２共通鍵でデータを復号する、
請求項１に記載のデータ管理装置。
【請求項５】
前記第１区間情報は、前記第１時間区間の開始と終了との少なくとも一方に関する情報である、
請求項２又は４に記載のデータ管理装置。
【請求項６】
前記第１時間区間の設定を受け付ける受付手段、をさらに備え、
前記暗号化手段は、前記受付手段によって受け付けられた設定に従う前記第１時間区間毎に異なる前記第１共通鍵でデータを暗号化する、
請求項１から５のいずれか一項に記載のデータ管理装置。
【請求項７】
前記暗号化手段は、複数の前記処理手段それぞれに送出すべきデータを、異なる前記第１共通鍵で暗号化する、
請求項１から６のいずれか一項に記載のデータ管理装置。
【請求項８】
前記暗号化手段は、前記第１時間区間に対応する暗号化方式に従う前記第１共通鍵でデータを暗号化する、
請求項１から７のいずれか一項に記載のデータ管理装置。
【請求項９】
機器から繰り返し送信される機器データを収集する収集処理部と、
前記収集処理部と、前記機器データに施される処理フローを構成する複数の部分処理のいずれかを実行する一の処理手段と、の間におけるデータの授受を仲介し、前記一の処理手段と他の処理手段と、の間におけるデータの授受を仲介することで、前記処理フローに対応する順で前記処理手段に前記部分処理を実行させる実行制御部と、
を備えるデータ管理装置によって実行されるデータ管理方法であって、
前記実行制御部の共通鍵生成手段が、予め設定された第１時間区間毎に異なる第１共通鍵を生成するステップと、
前記実行制御部の暗号化手段が、前記処理手段の公開鍵で前記第１共通鍵を暗号化するステップと、
前記暗号化手段が、暗号化した前記第１共通鍵を記憶手段に格納するステップと、
前記実行制御部の受信手段が、前記受信手段の公開鍵で暗号化されて前記記憶手段に記憶される第２共通鍵を取得して、前記受信手段の秘密鍵で復号するステップと、
前記暗号化手段が、前記処理手段に送出すべきデータを、前記第１共通鍵で暗号化するステップと、
前記暗号化手段が、暗号化されたデータを前記記憶手段に格納するステップと、
前記実行制御部の提供手段が、前記暗号化手段によって暗号化されて前記記憶手段に記憶されるデータを前記処理手段に提供するステップと、
前記提供手段が、予め定められた第２時間区間毎に異なる前記第２共通鍵で、データの送出元である前記処理手段によって暗号化されて前記記憶手段に記憶されるデータを前記受信手段に提供するステップと、
前記受信手段が、前記処理手段によって暗号化されたデータを受信して復号するステップと、
を含むデータ管理方法。
【請求項１０】
機器から繰り返し送信される機器データを収集する収集処理部と、
前記収集処理部と、前記機器データに施される処理フローを構成する複数の部分処理のいずれかを実行する一の処理手段と、の間におけるデータの授受を仲介し、前記一の処理手段と他の処理手段と、の間におけるデータの授受を仲介することで、前記処理フローに対応する順で前記処理手段に前記部分処理を実行させる実行制御部と、
を備えるデータ管理装置によって実行されるデータ管理方法であって、
前記実行制御部の暗号化手段が、予め設定された第１時間区間毎に異なる第１共通鍵を、前記処理手段の公開鍵で暗号化するステップと、
前記暗号化手段が、暗号化した前記第１共通鍵と、該第１共通鍵による暗号化が実行される前記第１時間区間を示す第１区間情報と、を記憶手段に格納するステップと、
前記実行制御部の受信手段が、前記受信手段の公開鍵で暗号化されて前記記憶手段に記憶される第２共通鍵を取得して、前記受信手段の秘密鍵で復号するステップと、
前記暗号化手段が、前記処理手段に送出すべきデータを、前記第１共通鍵で暗号化するステップと、
前記暗号化手段が、暗号化されたデータを前記記憶手段に格納するステップと、
前記実行制御部の提供手段が、前記暗号化手段によって暗号化されて前記記憶手段に記憶されるデータを前記処理手段に提供するステップと、
前記提供手段が、予め定められた第２時間区間毎に異なる前記第２共通鍵で、データの送出元である前記処理手段によって暗号化されて前記記憶手段に記憶されるデータを前記受信手段に提供するステップと、
前記受信手段が、前記記憶手段に記憶される第２区間情報により示される前記第２時間区間において、該第２区間情報に関連付けられた前記第２共通鍵で、前記処理手段によって暗号化されたデータを受信して復号するステップと、
を含むデータ管理方法。
【請求項１１】
機器に接続されるコンピュータを、
前記機器から繰り返し送信される機器データを収集する収集処理部、
前記収集処理部と、前記機器データに施される処理フローを構成する複数の部分処理のいずれかを実行する一の処理手段と、の間におけるデータの授受を仲介し、前記一の処理手段と他の処理手段と、の間におけるデータの授受を仲介することで、前記処理フローに対応する順で前記処理手段に前記部分処理を実行させる実行制御部、として機能させ、
前記実行制御部は、
予め設定された第１時間区間毎に異なる第１共通鍵を生成する共通鍵生成手段、
前記処理手段に送出すべきデータを、前記第１共通鍵で暗号化する暗号化手段、
前記暗号化手段又はデータの送出元である前記処理手段によって暗号化されたデータを記憶する記憶手段、
前記記憶手段に記憶されるデータを提供する提供手段、
予め定められた第２時間区間毎に異なる第２共通鍵で前記処理手段によって暗号化されたデータを前記提供手段から受信し復号する受信手段、
を備え、
前記暗号化手段は、前記処理手段の公開鍵で前記第１共通鍵を暗号化し、
前記記憶手段は、前記暗号化手段によって暗号化された前記第１共通鍵と、前記処理手段によって前記受信手段の公開鍵で暗号化された前記第２共通鍵と、を記憶し、
前記受信手段は、前記記憶手段に記憶される前記第２共通鍵を取得して、前記受信手段の秘密鍵で復号する、プログラム。
【請求項１２】
機器に接続されるコンピュータを、
前記機器から繰り返し送信される機器データを収集する収集処理部、
前記収集処理部と、前記機器データに施される処理フローを構成する複数の部分処理のいずれかを実行する一の処理手段と、の間におけるデータの授受を仲介し、前記一の処理手段と他の処理手段と、の間におけるデータの授受を仲介することで、前記処理フローに対応する順で前記処理手段に前記部分処理を実行させる実行制御部、として機能させ、
前記実行制御部は、
前記処理手段に送出すべきデータを、予め設定された第１時間区間毎に異なる第１共通鍵で暗号化する暗号化手段、
前記暗号化手段又はデータの送出元である前記処理手段によって暗号化されたデータを記憶する記憶手段、
前記記憶手段に記憶されるデータを提供する提供手段、
予め定められた第２時間区間毎に異なる第２共通鍵で前記処理手段によって暗号化されたデータを前記提供手段から受信し復号する受信手段、
を備え、
前記暗号化手段は、前記処理手段の公開鍵で前記第１共通鍵を暗号化し、
前記記憶手段は、前記暗号化手段によって暗号化された前記第１共通鍵と、該第１共通鍵による暗号化が実行される前記第１時間区間を示す第１区間情報と、を関連付けて記憶し、前記処理手段によって前記受信手段の公開鍵で暗号化された前記第２共通鍵と、該第２共通鍵による暗号化が実行される前記第２時間区間を示す第２区間情報と、を関連付けて記憶し、
前記受信手段は、
前記記憶手段に記憶される前記第２共通鍵を取得して、前記受信手段の秘密鍵で復号し、
前記記憶手段に記憶される前記第２区間情報により示される前記第２時間区間において、該第２区間情報に関連付けられた前記第２共通鍵でデータを復号する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理装置、データ管理方法及びプログラムに関する。
【背景技術】
【０００２】
工場に代表される施設では、生産工程、検査工程、その他の種々の工程を実現するために、施設内からリアルタイムに収集したデータを処理することが広く行われている。このようなデータの処理に際して、データの不正な利用を含む不測の事態に備えて、データを暗号化することが好ましい。そこで、データを暗号化する技術を利用することが考えられる（例えば、特許文献１を参照）。【０００３】
特許文献１には、利用者の権限に応じてディジタルコンテンツを複数の領域に分割し、分割された領域毎に異なる鍵で暗号化する技術について記載されている。そして、利用者は、暗号化されたディジタルコンテンツのうち、自身の権限に対応する領域を復号して閲覧する。この技術によれば、利用者に応じて選択的に情報の開示を制御することができる。【０００４】
特許文献１の技術をＦＡ（Factory Automation）の現場に適用することで、例えば、施設において収集される種々のデータを種別毎に分割して、それぞれ異なる鍵で暗号化してサーバに格納しておき、作業者は、自身に付与された権限に対応するデータを復号して閲覧可能となるようにデータを管理することが考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２５１９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＦＡの現場では、継続的に出力されるストリーミングデータが収集対象となる場合がある。データの種別毎に異なる暗号化鍵を用いると、例えば、その暗号化鍵の一つが漏洩したときに、漏洩した暗号化鍵で復号される種別のデータは、延々と漏洩してしまうおそれがある。このため、特許文献１の技術では、工場に代表される施設におけるデータが漏洩したときのリスクが大きくなるおそれがある。【０００７】
本発明は、上記の事情に鑑みてなされたものであり、工場に代表される施設におけるデータが漏洩したときのリスクを低減することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明のデータ管理装置は、機器に接続されるデータ管理装置であって、機器から繰り返し送信される機器データを収集する収集処理部と、収集処理部と、機器データに施される処理フローを構成する複数の部分処理のいずれかを実行する一の処理手段と、の間におけるデータの授受を仲介し、一の処理手段と他の処理手段と、の間におけるデータの授受を仲介することで、処理フローに対応する順で処理手段に部分処理を実行させる実行制御部と、を備え、実行制御部は、予め設定された第１時間区間毎に異なる第１共通鍵を生成する共通鍵生成手段と、処理手段に送出すべきデータを、第１共通鍵で暗号化する暗号化手段と、暗号化手段又はデータの送出元である処理手段によって暗号化されたデータを記憶する記憶手段と、記憶手段に記憶されるデータを提供する提供手段と、予め定められた第２時間区間毎に異なる第２共通鍵で処理手段によって暗号化されたデータを提供手段から受信し復号する受信手段と、を備え、暗号化手段は、処理手段の公開鍵で第１共通鍵を暗号化し、記憶手段は、暗号化手段によって暗号化された第１共通鍵と、処理手段によって受信手段の公開鍵で暗号化された第２共通鍵と、を記憶し、受信手段は、記憶手段に記憶される第２共通鍵を取得して、受信手段の秘密鍵で復号する。
【発明の効果】
【０００９】
本発明によれば、暗号化手段は、予め設定された第１時間区間毎に異なる第１共通鍵でデータを暗号化する。このため、暗号化鍵が漏洩した場合に機器データの流出が継続することを防ぐことができる。したがって、工場に代表される施設におけるデータが漏洩したときのリスクを低減することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に係るデータ管理システムの構成を示すブロック図
【図２】実施の形態に係るデータ管理装置のハードウェア構成を示す図
【図３】実施の形態に係る処理フローの設定の一例を示す図
【図４】実施の形態に係るデータ管理装置の機能的な構成を示す図
【図５】実施の形態に係る共通鍵の交換方式について説明するための図
【図６】実施の形態に係るデータの送受信方式について説明するための図
【図７】実施の形態に係る送信処理を示すフローチャート
【図８】実施の形態に係るＤＢに格納されるデータの一例を示す図
【図９】実施の形態に係る受信処理を示すフローチャート
【図１０】実施の形態に係る送信クライアントと受信クライアントにおける情報の授受を示す図
【図１１】変形例に係るデータ管理装置の構成を示す図
【図１２】変形例に係る処理フローを示す図
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態に係るデータ管理装置１０について、図面を参照しつつ詳細に説明する。
【００１２】
実施の形態．
本実施の形態に係るデータ管理装置１０は、例えば、工場に配置されるＩＰＣ（Industrial Personal Computer）である。データ管理装置１０は、図１に示されるように、工場の製造ラインに配置された機器２１，２２と産業用のネットワーク２０を介して接続され、データの処理の設定を入力するための入力装置１０１と専用線を介して接続される。データ管理装置１０は、入力装置１０１及び機器２１，２２とともにＦＡ（Factory Automation）システムとしてのデータ管理システム１００を構成する。そして、データ管理装置１０は、ネットワーク２０を介して機器２１から収集したデータを処理して、処理結果に応じた制御命令を機器２２に出力する。機器２１は、センサであって、機器２２は、アクチュエータ又はロボットである。
【００１３】
データ管理装置１０は、そのハードウェア構成として、図２に示されるように、プロセッサ１１と、主記憶部１２と、補助記憶部１３と、入力部１４と、出力部１５と、通信部１６と、を有する。主記憶部１２、補助記憶部１３、入力部１４、出力部１５及び通信部１６はいずれも、内部バス１７を介してプロセッサ１１に接続される。
【００１４】
プロセッサ１１は、ＣＰＵ（Central Processing Unit）を含む。プロセッサ１１は、補助記憶部１３に記憶されるプログラムＰ１を実行することにより、データ管理装置１０の種々の機能を実現して、後述の処理を実行する。
【００１５】
主記憶部１２は、ＲＡＭ（Random Access Memory）を含む。主記憶部１２には、補助記憶部１３からプログラムＰ１がロードされる。そして、主記憶部１２は、プロセッサ１１の作業領域として用いられる。
【００１６】
補助記憶部１３は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）及びＨＤＤ（Hard Disk Drive）に代表される不揮発性メモリを含む。補助記憶部１３は、プログラムＰ１の他に、プロセッサ１１の処理に用いられる種々のデータを記憶する。補助記憶部１３は、プロセッサ１１の指示に従って、プロセッサ１１によって利用されるデータをプロセッサ１１に供給し、プロセッサ１１から供給されたデータを記憶する。なお、図２では、１つのプログラムＰ１が代表的に示されているが、補助記憶部１３は、複数のプログラムを記憶してもよいし、主記憶部１２には、複数のプログラムがロードされてもよい。
【００１７】
入力部１４は、入力キー及びポインティングデバイスに代表される入力デバイスを含む。入力部１４は、データ管理装置１０のユーザによって入力された情報を取得して、取得した情報をプロセッサ１１に通知する。
【００１８】
出力部１５は、ＬＣＤ（Liquid Crystal Display）及びスピーカに代表される出力デバイスを含む。出力部１５は、プロセッサ１１の指示に従って、種々の情報をユーザに提示する。
【００１９】
通信部１６は、外部の装置と通信するためのネットワークインタフェース回路を含む。通信部１６は、外部から信号を受信して、この信号により示されるデータをプロセッサ１１へ出力する。また、通信部１６は、プロセッサ１１から出力されたデータを示す信号を外部の装置へ送信する。
【００２０】
図２に示されるハードウェア構成が協働することにより、データ管理装置１０は、データの処理を含む種々の機能を発揮する。データ管理装置１０によるデータの処理は、図３に例示されるように、順次実行される一連の部分処理３０，３１，３２，３３，３４を含む処理フロー３００として、ユーザによって任意に規定される。
【００２１】
処理フロー３００は、機器２１から出力された機器データに対し順次施される部分処理を含む。詳細には、処理フロー３００は、処理フロー３００が施される処理データを収集する部分処理３０と、部分処理３１〜３３と、処理フロー３００の結果を示すデータを出力する部分処理３４と、をこの順で実行することにより達成される。ここで、処理データは、処理フロー３００の対象である機器データを意味する。図３中の矢印は、各部分処理の対象である機器データの伝送を示す。以下では、機器２１から出力された未加工の機器データ、及び、機器２１から出力されてから加工された機器データを総称して機器データと表記する。例えば、部分処理３０の実行によりデータ管理装置１０の外部から取得された機器データが部分処理３１に入力され、この機器データに対して部分処理３１が施される。また、部分処理３１の処理結果を示す機器データが部分処理３１から出力されてから部分処理３２に入力され、この機器データに対して部分処理３２が施される。そして、部分処理３３の処理結果を示す機器データが、部分処理３３から出力され、部分処理３４の処理対象となってデータ管理装置１０の外部へ出力される。
【００２２】
部分処理３０は、図１に示されるネットワーク２０を介して機器２１から信号を受信することで機器データとしての処理データを収集する処理に相当する。機器２１はセンシング結果を示す処理データを周期的に送信するため、部分処理３０は、周期的に実行される。この周期は、例えば１０ｍｓ、１００ｍｓ又は１ｓｅｃである。また、センシング結果を示す処理データは、例えば８ビット又は１６ビットのデジタル値である。繰り返し入力される一連の処理データは、時系列データを構成し、処理データそれぞれに処理フロー３００が施される。
【００２３】
部分処理３１〜３３はそれぞれ、部分処理３０の実行に応じて繰り返し実行される処理である。部分処理３１〜３３はそれぞれ、例えば、移動平均の算出処理、処理対象の値が予め規定された閾値を超えるか否かを判定する判定処理、及び、図１中の機器２２に対する制御命令の内容を決定する処理である。これらの部分処理３１〜３３によれば、センシング結果から移動平均によりノイズを除去して得る値が閾値を超えたときに限って特定の制御命令を出力することができる。
【００２４】
ただし、部分処理３１〜３３は、上述の処理に限定されない。例えば、部分処理３１〜３３は、値を予め定められた範囲内に収める端数処理若しくは正規化処理、入力値に予め規定された定数を乗じるスケーリング処理、予め規定されたオフセット値を加算するシフト処理、移動平均の算出処理とは異なるフィルタ処理若しくは統計処理、又は、ＦＦＴ（Fast Fourier Transform）に代表される変換処理であってもよいし、他の加工処理又は診断処理であってもよいし、その他の処理であってもよい。
【００２５】
部分処理３４は、図１に示されるネットワーク２０を介して部分処理３３の処理結果を機器２２に送信する処理に相当する。なお、部分処理３４は、機器２２へのデータの送信に限られず、予め指定されたプログラムの実行指令の出力、処理フローを実行した結果の画面への表示、他の装置への情報の送信、又はその他の出力処理であってもよい。以下では、処理フロー３００の実行により得たデータを機器２２へ制御命令として出力する例を中心に説明する。
【００２６】
部分処理３０〜３４はそれぞれ、繰り返し入力される処理データに対応して、逐次実行される。例えば、一の処理データに対して部分処理３０〜３４が順に実行され、次の処理データに対して部分処理３０〜３４が順に実行される。なお、一の処理データに対する処理フローと、次の処理データに対する処理フローとは、並列に実行されてもよい。すなわち、一の処理フローが終了する前に次の処理フローが開始してもよい。また、図３では、処理フロー３００を構成する５つの部分処理３０〜３４が代表的に示されているが、部分処理の数は、４つ以下であってもよいし、６つ以上であってもよい。
【００２７】
データ管理装置１０は、図３に示される処理フロー３００を実行するために、図４に示されるような機能的な構成を有する。詳細には、データ管理装置１０は、処理フローの設定を受け付ける受付部１２０と、部分処理を実行する処理部１３１，１３２，１３３と、処理フローの実行を制御する実行制御部１４０と、データの収集及び制御命令の出力を実行する収集処理部１６０と、を有する。
【００２８】
受付部１２０は、主としてプロセッサ１１によって実現される。受付部１２０は、データに対し順次施される部分処理を規定する処理フローの設定を受け付ける。そして、受付部１２０は、処理フローの設定を実行制御部１４０に通知する。また、受付部１２０は、後述の暗号化に関する設定を受け付ける。暗号化に関する設定は、例えば、暗号化鍵を変更して利用するための時間区間に関する設定を含む。受付部１２０は、データ管理システム１００において時間区間の設定を受け付ける受付手段の一例である。
【００２９】
処理部１３１〜１３３はそれぞれ、主としてプロセッサ１１及び主記憶部１２の協働により実現され、部分処理３１〜３３を実行する。詳細には、処理部１３１〜１３３はそれぞれ、補助記憶部１３に記憶されたソフトウェアモジュールをプロセッサ１１が実行することにより実現される。このソフトウェアモジュールは、ユーザによって補助記憶部１３に格納されたプラグインソフトウェアであってもよい。さらに、このプラグインソフトウェアは、ユーザによって設計されたものであってもよいし、ユーザが購入したソフトウェア或いはオープンソースのソフトウェアとして入手したものであってもよい。以下では、処理部１３１〜１３３を総称して処理部１３０と表記する。処理部１３０は、データ管理システム１００において、順次実行される部分処理を含む処理フローのうちの異なる部分処理を実行する複数の処理手段の一例に相当する。
【００３０】
なお、処理部１３０は、図３に示される処理フロー３００を構成する部分処理と一対一に対応するとは限らない。例えば、同一の部分処理を機器データに対して２回連続して施す場合には、処理フロー３００内では、２つの部分処理が連結することになるが、これらの部分処理はいずれも単一の処理部１３０によって実行されてもよい。
【００３１】
実行制御部１４０は、主としてプロセッサ１１及び主記憶部１２の協働により実現される。実行制御部１４０は、処理部１３０と他の処理部１３０との間における機器データの授受を仲介し、処理部１３０と収集処理部１６０との間におけるデータの授受を仲介することで、設定された処理フローに対応する順で処理部１３０及び収集処理部１６０に部分処理を実行させる。実行制御部１４０は、処理フローの設定に基づいて機器データに施すべき部分処理を決定してデータフローを制御するフロー制御部１４１と、処理部１３０及び収集処理部１６０とフロー制御部１４１との間でデータの伝送を中継する伝送部１４２と、を有する。
【００３２】
フロー制御部１４１は、処理部１３０及び収集処理部１６０のいずれかから伝送部１４２を介して取得したデータを、処理部１３０及び収集処理部１６０のいずれかへ伝送部１４２を介して送出する。例えば、フロー制御部１４１は、図４中の矢印Ａ１に示されるように、収集処理部１６０によって収集された処理データを、伝送部１４２を介して取得する。そして、フロー制御部１４１は、矢印Ａ３に示されるように、機器データを伝送部１４２に送出することにより、伝送部１４２から機器データが伝送される処理部１３１に部分処理を実行させる。また、フロー制御部１４１は、矢印Ａ４に示されるように、処理部１３０から伝送部１４２を介して部分処理の結果を示す機器データを取得すると、矢印Ａ３に示されるように、この機器データを伝送部１４２に送出することにより、伝送部１４２から機器データが伝送される処理部１３０に次の部分処理を実行させる。
【００３３】
ただし、フロー制御部１４１は、矢印Ａ４に示されるように、処理部１３３から伝送部１４２を介して最後の部分処理の結果を示す機器データを取得すると、矢印Ａ２に示されるように、この機器データを機器２２に送信すべき制御命令として収集処理部１６０に送出する。なお、機器２２への制御命令の送信とは異なる出力処理が処理フローの出力として規定されている場合に、フロー制御部１４１は、規定された出力処理を実現するための処理を実行する。例えば、処理フローの結果を画面表示することが規定されている場合に、フロー制御部１４１は、ＬＣＤを含む出力部１５に結果を表示させるためのデータを送出してもよい。
【００３４】
伝送部１４２は、サーバとして実装される機能であって、矢印Ａ１，Ａ４に示されるように、処理部１３０及び収集処理部１６０から送出されるデータをフロー制御部１４１に伝送し、矢印Ａ２，Ａ３に示されるように、フロー制御部１４１から送出されるデータを、処理部１３０及び収集処理部１６０のいずれかに伝送する。
【００３５】
収集処理部１６０は、主として通信部１６によって実現され、部分処理３０，３４を実行する。詳細には、収集処理部１６０は、処理部１３０と同様に、補助記憶部１３に記憶されたソフトウェアモジュールをプロセッサ１１が実行することにより実現される。また、収集処理部１６０は、機器２１から繰り返し送信される情報を実行制御部１４０に送出し、実行制御部１４０から出力される制御命令を機器２２へ送信する。収集処理部１６０は、データ管理装置１０が接続される産業用ネットワークの種別に応じて複数設けられる。図４では、複数の収集処理部１６０が示されているが、機器２１，２２双方が単一の産業用ネットワークに接続される場合には、１つの収集処理部１６０が機器２１，２２双方に接続されてもよい。
【００３６】
処理部１３０及び収集処理部１６０とフロー制御部１４１との間では、矢印Ａ１〜Ａ４に示される伝送路に沿って、データが暗号化されて伝送される。以下では、伝送部１４２を介して伝送されるデータを暗号化するための構成について、図５，６を用いて詳細に説明する。
【００３７】
図５，６には、矢印Ａ１〜Ａ４に沿って機器データを送信する送信クライアント４０及び機器データを受信する受信クライアント６０が示されている。送信クライアント４０及び受信クライアント６０はそれぞれ、処理部１３０、フロー制御部１４１、及び収集処理部１６０のいずれかに相当する。例えば、矢印Ａ１に沿って機器データを伝送する場合には、収集処理部１６０が送信クライアント４０に相当し、フロー制御部１４１が受信クライアント６０に相当する。また、矢印Ａ２に沿って機器データを伝送する場合には、フロー制御部１４１が送信クライアント４０に相当し、収集処理部１６０が受信クライアント６０に相当する。矢印Ａ３に沿って機器データを伝送する場合には、フロー制御部１４１が送信クライアント４０に相当し、処理部１３０が受信クライアント６０に相当する。矢印Ａ４に沿って機器データを伝送する場合には、処理部１３０が送信クライアント４０に相当し、フロー制御部１４１が受信クライアント６０に相当する。
【００３８】
機器データの暗号化は、２つのフェーズにより達成される。詳細には、機器データを暗号化するための共通鍵を、公開鍵暗号方式で暗号化した上で送信クライアント４０と受信クライアント６０との間で交換する第１フェーズと、交換した共通鍵により機器データを暗号化して伝送する第２フェーズである。
【００３９】
図５には、第１フェーズで伝送される情報の経路が実線の矢印で示されている。図５に示されるように、送信クライアント４０は、機器データを処理するデータ処理部４１と、受信クライアント６０の公開鍵で共通鍵を暗号化する暗号化部４２と、共通鍵を生成する共通鍵生成部４３と、受信クライアント６０の公開鍵を予め取得して記憶する公開鍵記憶部４４と、を有する。
【００４０】
暗号化部４２は、共通鍵生成部４３によって生成された共通鍵を、公開鍵記憶部４４から読み出した公開鍵で暗号化して、伝送部１４２に送出する。以下では、暗号化された共通鍵を、暗号化共通鍵と適宜表記する。暗号化部４２は、データ管理システム１００においてデータを暗号化する暗号化手段の一例に相当する。
【００４１】
伝送部１４２は、送信クライアント４０及び受信クライアント６０に対してサーバとして機能するＤＢ（Database）サーバ５１と、種々の情報を蓄積するＤＢ５２と、を有する。
【００４２】
ＤＢサーバ５１は、伝送部１４２の外部と情報を授受する入出力部５１１を有する。入出力部５１１は、送信クライアント４０の暗号化部４２から送出された暗号化共通鍵をＤＢ５２の鍵データ蓄積部５２１に格納する。また、入出力部５１１は、受信クライアント６０からの要求に応じて、鍵データ蓄積部５２１から暗号化共通鍵を読み出して、受信クライアント６０に送出する。ＤＢサーバ５１は、データ管理システム１００において、ＤＢ５２に記憶されるデータを提供する提供手段の一例に相当する。
【００４３】
ＤＢ５２は、暗号化共通鍵を蓄積する鍵データ蓄積部５２１と、暗号化された機器データを蓄積する機器データ蓄積部５２２と、を有する。ＤＢ５２は、データ管理システム１００において、暗号化されたデータを記憶する記憶手段の一例に相当する。機器データ蓄積部５２２は、第１フェーズにおいては、その機能を発揮することがない。
【００４４】
受信クライアント６０は、データ管理システム１００においてＤＢサーバ５１から提供されるデータを受信し復号する受信手段の一例に相当する。受信クライアント６０は、暗号化共通鍵を復号する復号部６１と、機器データを処理するデータ処理部６２と、受信クライアント６０自体の秘密鍵を記憶する秘密鍵記憶部６３と、復号部６１によって復号された共通鍵を記憶する共通鍵記憶部６４と、を有する。
【００４５】
復号部６１は、受信クライアント６０を宛先とする暗号化共通鍵の送信を、ＤＢサーバ５１に対して要求することにより、暗号化共通鍵を取得する。なお、復号部６１は、ＤＢサーバ５１に要求することなく、ＤＢ５２から直接読み出すことで暗号化共通鍵を取得してもよい。そして、復号部６１は、取得した暗号化共通鍵を、秘密鍵記憶部６３から読み出した秘密鍵で復号し、復号により得た共通鍵を、共通鍵記憶部６４に書き込む。なお、データ処理部６２は、受信クライアント６０の秘密鍵及び公開鍵のペアを生成して、生成した秘密鍵を秘密鍵記憶部６３に書き込んで、生成した公開鍵を、伝送部１４２を介して送信クライアント４０に送信してもよい。
【００４６】
以上の送信クライアント４０、伝送部１４２及び受信クライアント６０の機能により、共通鍵が送信クライアント４０及び受信クライアント６０の間で共有される。なお、送信クライアント４０が受信クライアント６０の公開鍵を取得する手法は、任意である。例えば、送信クライアント４０は、暗号化共通鍵を伝送部１４２へ送信する処理の前処理として、公開鍵を受信クライアント６０から直接取得してもよいし、伝送部１４２を介して取得してもよい。伝送部１４２のＤＢ５２は、鍵データ蓄積部５２１において、暗号化共通鍵に加えて受信クライアント６０の公開鍵を蓄積し、必要に応じて送信クライアント４０に提供してもよい。
【００４７】
図６には、第２フェーズで伝送される情報の経路が実線の矢印で示されている。図６に示されるように、送信クライアント４０のデータ処理部４１が、機器データを暗号化部４２に送出する。なお、データ処理部４１は、送信クライアント４０が処理部１３０又は収集処理部１６０に相当する場合に、部分処理を実行する。また、送信クライアント４０が収集処理部１６０に相当する場合において、データ処理部４１は、データ管理システム１００において、機器２１から繰り返し送信される機器データを収集する収集手段の一例に相当する。送信クライアント４０がフロー制御部１４１に相当する場合においては、データ処理部４１を省略して送信クライアント４０が構成されてもよい。
【００４８】
暗号化部４２は、データ処理部４１から送出された機器データを、共通鍵生成部４３から提供された共通鍵で暗号化して伝送部１４２に送出する。ここで、共通鍵生成部４３から提供される共通鍵は、図５に示された第１フェーズで交換した共通鍵に等しい。以下では、暗号化された機器データを、暗号化機器データと適宜表記する。
【００４９】
伝送部１４２の入出力部５１１は、送信クライアント４０の暗号化部４２から送出された暗号化機器データをＤＢ５２の機器データ蓄積部５２２に格納する。また、入出力部５１１は、受信クライアント６０からの要求に応じて、機器データ蓄積部５２２から暗号化機器データを読み出して、受信クライアント６０に送出する。
【００５０】
受信クライアント６０の復号部６１は、受信クライアント６０を宛先とする暗号化機器データの送信を、ＤＢサーバ５１に対して要求することにより、暗号化機器データを取得する。なお、復号部６１は、ＤＢサーバ５１に要求することなく、ＤＢ５２から直接読み出すことで暗号化機器データを取得してもよい。そして、復号部６１は、取得した暗号化機器データを、共通鍵記憶部６４から読み出した共通鍵で復号し、復号により得た機器データをデータ処理部６２に送出する。なお、データ処理部６２は、受信クライアント６０が処理部１３０又は収集処理部１６０に相当する場合に、部分処理を実行する。また、受信クライアント６０がフロー制御部１４１に相当する場合においては、データ処理部６２を省略して受信クライアント６０が構成されてもよい。
【００５１】
続いて、データ管理装置１０によって実行される処理について、図７〜９を用いて説明する。具体的には、図５，６に示される送信クライアント４０によって実行される送信処理と、受信クライアント６０によって実行される受信処理と、について順に説明する。特に、図５，６を参照して機器データを暗号化するための構成について説明したが、データ管理装置１０は、この暗号化のための共通鍵を、予め設定された時間区間毎に変更して機器データを暗号化する。このように時間区間毎に異なる共通鍵を用いる例について、詳細に説明する。
【００５２】
図７に示されるように、送信処理では、送信クライアント４０の共通鍵生成部４３が、送信すべき機器データを暗号化するための共通鍵を生成する（ステップＳ１１）。この共通鍵は、いわゆる共通鍵暗号方式に従う暗号化鍵であって、例えば、トリプルＤＥＳ（Data Encryption Standard）、ＡＥＳ（Advanced Encryption Standard）、その他の暗号方式に従う共通鍵である。
【００５３】
次に、暗号化部４２が、ステップＳ１１で生成された共通鍵を、この共通鍵の送信先である受信クライアント６０から予め取得された公開鍵で暗号化する（ステップＳ１２）。この公開鍵は、いわゆる公開鍵暗号方式に従って生成された秘密鍵と公開鍵のペアのうち、公開された公開鍵に相当する。公開鍵暗号方式は、例えば、ＲＳＡ（Rivest?Shamir?Adleman）、楕円ＤＳＡ（Digital Signature Algorithm）である。
【００５４】
次に、暗号化部４２が、ステップＳ１２で生成した暗号化共通鍵を伝送部１４２に送信して、この暗号化共通鍵をＤＢ５２の鍵データ蓄積部５２１に蓄積させる（ステップＳ１３）。これにより、例えば、図５に示されるＤＢ５２のデータのうち、送信クライアント４０がフロー制御部１４１に相当し、受信クライアント６０が処理部１３１に相当する場合には、図８に示されるように「ＡＢＣ．．．」という暗号化共通鍵が鍵データ蓄積部５２１に格納される。さらに、暗号化部４２は、複数の受信クライアント６０にデータを送信するための暗号化共通鍵「ＤＥＦ．．．」「Ａ３Ｆ．．．」を生成して、鍵データ蓄積部５２１に記憶させる。そして、鍵データ蓄積部５２１は、複数の送信元である送信クライアント４０によって提供された暗号化共通鍵を蓄積する。
【００５５】
図７に戻り、ステップＳ１３に続いて、暗号化部４２は、区間開始情報を伝送部１４２に送出して鍵データ蓄積部５２１に書き込ませる（ステップＳ１４）。区間開始情報は、同一の共通鍵を用いるための時間区間を開始することを示す情報である。区間開始情報は、図８に例示されるように、区間の開始位置に相当するレコードを特定する情報であってもよい。また、暗号化部４２は、区間開始情報とともに、当該区間において採用される暗号方式を、鍵データ蓄積部５２１に書き込ませる。これにより、図８に例示されるように、暗号化共通鍵が「三重ＤＥＳ」すなわちトリプルＤＥＳに従う共通鍵であることを示す情報が格納される。
【００５６】
次に、暗号化部４２は、データ処理部４１から出力された機器データを、ステップＳ１１で生成した共通鍵で暗号化する（ステップＳ１５）。そして、暗号化部４２は、ステップＳ１５で生成された暗号化機器データを伝送部１４２に送信することで、この暗号化機器データをＤＢ５２の機器データ蓄積部５２２に蓄積させる（ステップＳ１６）。これにより、図８に例示されるように、「レコードＲ１」が書き込まれる。
【００５７】
次に、暗号化部４２は、区間内の全データの送信が終了したか否かを判定する（ステップＳ１７）。具体的には、暗号化部４２は、ステップＳ１６にて送信した暗号化機器データと同一の時間区間において送信すべき機器データすべての送信が完了したか否かを判定する。
【００５８】
ここで、時間区間は、受付部１２０によって予め受け付けられた設定に従う区間である。時間区間は、一定の周期により規定される区間であってもよい。一定の周期は、例えば、１ミリ秒、又は１秒である。また、時間区間は、機器データ蓄積部５２２に格納される機器データによって示される値と閾値との比較に応じて区分されてもよい。例えば、機器データの値が閾値を超えたときから新たな時間区間が始まるものとしてもよい。また、処理フロー３００の対象である処理データの値に応じて時間区間が設定されてもよい。例えば、処理データに、機器２１の運転モードを示す値が含まれるときには、この運転モードに対応して時間区間が設定されてもよい。
【００５９】
ステップＳ１７において、区間内の全データの送信が終了していないと判定した場合（ステップＳ１７；Ｎｏ）、暗号化部４２は、ステップＳ１５以降の処理を繰り返す。これにより、図８に例示されるように、「Ｂ００１」という名称の時間区間に対応する「レコードＲ１」以降の「レコードＲ２」までの機器データがＤＢ５２に格納される。
【００６０】
一方、区間内の全データの送信が終了したと判定した場合（ステップＳ１７；Ｙｅｓ）、暗号化部４２は、区間終了情報を伝送部１４２に送信して、ＤＢ５２の鍵データ蓄積部５２１に書き込ませる（ステップＳ１８）。区間終了情報は、図８に例示されるように、区間の終了位置に相当するレコードを特定する情報である。
【００６１】
図７に戻り、ステップＳ１８に続いて、暗号化部４２は、全区間の処理が完了したか否かを判定する（ステップＳ１９）。具体的には、暗号化部４２は、処理フロー３００の実行を中断する指示が入力されたか否かを判定する。全区間の処理が完了していないと判定した場合（ステップＳ１９；Ｎｏ）、暗号化部４２は、ステップＳ１１以降の処理を繰り返す。これにより、暗号化部４２が予め設定された時間区間毎に異なる暗号化鍵で機器データを暗号化して、図８に例示されるように、「Ｂ００２」という新たな区間に対応する暗号化共通鍵及び機器データがＤＢ５２に格納される。一方、全区間の処理が完了したと判定した場合（ステップＳ１９；Ｙｅｓ）、送信処理が終了する。
【００６２】
続いて、受信クライアント６０によって実行される受信処理について、図９を用いて説明する。図９に示されるように、受信処理では、受信クライアント６０の復号部６１が、暗号化共通鍵を鍵データ蓄積部５２１から取得する（ステップＳ２１）。具体的には、復号部６１が、受信クライアント６０を宛先とする暗号化共通鍵の提供を伝送部１４２に対して要求することにより提供される暗号化共通鍵を取得する。
【００６３】
次に、復号部６１は、ステップＳ２１で取得した暗号化共通鍵を秘密鍵で復号する（ステップＳ２２）。そして、復号部６１は、区間開始情報及び区間終了情報を、暗号化共通鍵と同様に取得する（ステップＳ２３）。これにより、復号部６１は、ステップＳ２１で取得した暗号化共通鍵に対応する時間区間が新たに開始したか、継続しているか又は終了したかを判断することができる。また、復号部６１は、区間開始情報及び区間終了情報とともに、暗号方式を示す情報を取得する。
【００６４】
次に、復号部６１は、暗号化機器データを機器データ蓄積部５２２から取得する（ステップＳ２４）。具体的には、復号部６１は、暗号化機器データの提供を伝送部１４２に対して要求することにより提供される暗号化機器データを受信する。これにより、例えば、図８に示される暗号化共通鍵「ＡＢＣ．．．」に対応する暗号化機器データである「レコードＲ１」が取得される。
【００６５】
次に、復号部６１は、ステップＳ２４で取得した暗号化機器データを、ステップＳ２２で得た共通鍵で復号する（ステップＳ２５）。そして、復号部６１は、区間内の全データの受信が終了したか否かを判定する（ステップＳ２６）。具体的には、復号部６１は、ステップＳ２４で取得した機器データと同一の時間区間に属する機器データをすべて取得したか否かを判定する。換言すると、復号部６１は、時間区間が終了したか否かを判定する。
【００６６】
この判定は、ステップＳ２３で取得した区間終了情報に基づいて判定される。なお、機器データ又は処理データの値に応じて時間区間が動的に決定される場合には、区間が開始しても、当該区間が終了するか否かを判断することができないため、復号部６１は、区間終了情報を鍵データ蓄積部５２１から取得して監視することにより、時間区間が終了するか否かを判定してもよい。
【００６７】
なお、復号部６１は、区間終了情報に基づいて時間区間の終了を判断しなくともよい。例えば、復号部６１は、共通鍵を利用した暗号化機器データの復号が失敗したときに、当該暗号化機器データが新たな時間区間に属するものと判断し、時間区間が切り替わったと判断してもよい。
【００６８】
区間内の全データの受信が終了していないと判定した場合（ステップＳ２６；Ｎｏ）、復号部６１は、ステップＳ２４以降の処理を繰り返す。これにより、例えば図８に示される暗号化共通鍵「ＡＢＣ．．．」に対応する暗号化機器データである「レコードＲ２」までの機器データがすべて取得される。
【００６９】
一方、区間内の全データの受信が終了したと判定した場合（ステップＳ２６；Ｙｅｓ）、復号部６１は、全区間の処理が終了したか否かを判定する（ステップＳ２７）。具体的には、復号部６１は、処理フロー３００の実行を中断する指示が入力されたか否かを判定する。全区間の処理が完了していないと判定した場合（ステップＳ２７；Ｎｏ）、復号部６１は、ステップＳ２１以降の処理を繰り返す。これにより、新たな時間区間に対応する暗号化共通鍵及び暗号化機器データそれぞれの取得及び復号が実行される。一方、全区間の処理が完了したと判定した場合（ステップＳ２７；Ｙｅｓ）、受信処理が終了する。
【００７０】
図１０には、送信クライアント４０、伝送部１４２及び受信クライアント６０の間における情報の授受が模式的に示されている。図１０に示されるように、送信クライアント４０は、共通鍵を生成して（ステップＳ４１）、この共通鍵を暗号化する（ステップＳ４２）。そして、送信クライアント４０は、暗号化共通鍵を伝送部１４２に送信してＤＢ５２に格納させ（ステップＳ４３）、区間開始情報を書き込む（ステップＳ４４）。その後、送信クライアント４０は、機器データを暗号化して（ステップＳ４５）、暗号化機器データを伝送部１４２に送信してＤＢ５２に書き込ませる（ステップＳ４６）。そして、送信クライアント４０は、区間が終了したか否かを判定し（ステップＳ４７）、区間が終了していないと判定した場合（ステップＳ４７；Ｎｏ）、ステップＳ４５以降の処理を繰り返す。一方、区間が終了したと判定した場合（ステップＳ４７；Ｙｅｓ）、送信クライアント４０は、区間終了情報をＤＢ５２に書き込んで（ステップＳ４８）、ステップＳ４１以降の処理を繰り返す。これにより、新たな時間区間において暗号化共通鍵及び暗号化機器データの送信が実行される。
【００７１】
受信クライアント６０は、伝送部１４２に対して暗号化共通鍵を要求することにより（ステップＳ６１）、暗号化共通鍵を取得して（ステップＳ６２）、共通鍵を復号する（ステップＳ６３）。また、受信クライアント６０は、伝送部１４２に対して区間開始情報及び区間終了情報を要求することにより（ステップＳ６４）、これらの情報を取得する（ステップＳ６５）。そして、受信クライアント６０は、伝送部１４２に対して暗号化機器データを要求することにより（ステップＳ６６）、暗号化機器データを取得して（ステップＳ６７）、機器データを復号する（ステップＳ６８）。その後、受信クライアント６０は、区間が終了したか否かを判定して（ステップＳ６９）、区間が終了していないと判定した場合（ステップＳ６９；Ｎｏ）、ステップＳ６６以降の処理を繰り返す。一方、区間が終了したと判定した場合（ステップＳ６９；Ｙｅｓ）、受信クライアント６０は、ステップＳ６１以降の処理を繰り返す。これにより、新たな時間区間において共通鍵の取得と、取得した共通鍵による機器データの復号が実行される。
【００７２】
なお、図１０における処理の順序を任意に変更してもよい。例えば、ステップＳ６４，Ｓ６５においては区間開始情報のみを伝送して、ステップＳ６８とステップＳ６９との間で区間終了情報を伝送することにより、受信クライアント６０が時間区間の終了をリアルタイムに判断してもよい。また、受信クライアント６０がＤＢサーバ５１に要求することなくＤＢ５２のデータを直接読み出す場合には、ステップＳ６１，Ｓ６４，Ｓ６６が省略されてもよい。
【００７３】
以上、説明したように、暗号化部４２は、予め設定された時間区間毎に異なる暗号化鍵で機器データを暗号化する。このため、暗号化鍵が漏洩した場合に機器データの流出が継続することを防ぐことができる。したがって、工場に代表される施設におけるデータが漏洩したときのリスクを低減することができる。具体的には、フロー制御部１４１と処理部１３０及び収集処理部１６０との間の伝送路における機器データの流出を防ぐとともに、暗号化鍵が漏洩した場合に機器データの流出が継続することを防ぐことができる。さらに、機器データと暗号化鍵との対応関係を柔軟に変更することができ、暗号化鍵の伝送による通信量の増加を抑えることができる。
【００７４】
また、処理部１３０及び収集処理部１６０は、データ管理装置１０を提供するメーカとは異なるベンダーによって開発されたプログラムにより実現される場合がある。上述のデータ管理装置１０によれば、機器データを暗号化するための暗号化鍵は、共通鍵であって、受信クライアント６０である処理部１３０及び収集処理部１６０の公開鍵によって暗号化された上で伝送部１４２によって伝送される。このため、処理部１３０及び収集処理部１６０は、自身が処理すべき機器データを扱い、他のデータについては暗号化されているため情報を読み取ることができない。したがって、第三者によって提供される処理部１３０及び収集処理部１６０によるデータの不正利用に代表される不測の事態に備えることができる。
【００７５】
また、ＤＢ５２が送信クライアント４０から提供された暗号化共通鍵及び暗号化機器データを含む情報を蓄積して、受信クライアント６０がＤＢ５２から必要に応じて暗号化共通鍵と暗号化機器データとを取得して復号した。これにより、受信クライアント６０は、自身の処理能力に応じて必要な情報を取得して処理することができる。また、蓄積された暗号化共通鍵及び暗号化機器データが流出した場合においても、暗号化されているため、共通鍵及び機器データの流出を防ぐことができる。
【００７６】
また、時間区間に関する区間情報として、区間開始情報及び区間終了情報が、送信クライアント４０から受信クライアント６０へ伝送された。具体的には、ＤＢ５２が、共通鍵と、共通鍵による暗号化が実行される時間区間を示す区間情報と、を関連付けて記憶し、受信クライアント６０は、ＤＢ５２に記憶される区間情報により示される時間区間において、この区間情報に関連付けられた共通鍵で機器データを復号した。これにより、受信クライアント６０は、時間区間の開始及び終了を確実に判断しつつ暗号化機器データを復号して機器データを得ることができる。
【００７７】
また、時間区間は、受付部１２０によって受け付けられた設定に従う。このため、データ管理装置１０のユーザが時間区間を任意に設定することができる。例えば、ユーザが情報の流出を防ぎ安全性を高めたい場合には、時間区間を短く設定し、ユーザが暗号化及び復号の処理負荷を下げたい場合には、時間区間を長く設定すればよい。
【００７８】
また、暗号化鍵は、複数の処理部１３０及び収集処理部１６０それぞれに対して異なるものが設定された。具体的には、図８に示されるように、機器データの宛先である複数の処理部１３０及び収集処理部１６０それぞれに対応して異なる共通鍵が生成されて使用された。このため、処理部１３０及び収集処理部１６０同士で機器データが覗き見られることを防止することができる。
【００７９】
また、暗号化部４２は、時間区間に対応する暗号化方式に従う暗号化鍵で機器データを暗号化した。すなわち、送信クライアント４０は、時間区間が変更される際に、１つ前の時間区間における暗号化方式とは異なる暗号化方式に従って機器データを暗号化した。これにより、１つの暗号化方式に脆弱性が発見された場合に備えて、逐次送出される機器データの流出が継続することを、種々の暗号化方式を採用することにより未然に防ぐことができる。
【００８０】
また、時間区間毎に異なる暗号化共通鍵が送信クライアント４０から受信クライアント６０に伝送された。例えばコンテンツを分割した部分毎に異なる鍵を適用するような場合には、ディジタルコンテンツを復号するための鍵が、公開鍵暗号方式で暗号化された上で、暗号化されたコンテンツに埋め込まれる。このため、ディジタルコンテンツと一対一に対応する鍵が、ディジタルコンテンツとともに伝送される。ディジタルコンテンツに対して鍵のデータ量が小さければ、鍵を伝送することによる通信量の増加は、相対的に小さいといえる。しかしながら、工場に代表される施設では、比較的小さいサイズのデータが伝送される場合もあり、鍵の伝送により増加する通信量の影響は大きい。これに対して本実施の形態に係るデータ管理システム１００によれば、時間区間毎に異なる暗号化共通鍵が伝送されるため、暗号化鍵に関する情報の伝送による通信量を低減させることができる。
【００８１】
以上、本発明の実施の形態について説明したが、本発明は上記実施の形態によって限定されるものではない。
【００８２】
例えば、図１１に示されるように、データ管理装置１０は、ユーザが情報を入力するための入力部１１０を有してもよい。また、データ管理装置１０の伝送部１４２は、暗号化共通鍵及び暗号化機器データを格納するＤＢ５２を内蔵することなく、データ管理装置１０の外部のＤＢ５２に暗号化共通鍵及び暗号化機器データを格納してもよい。データ管理装置１０の外部のサーバが暗号化機器データを提供する伝送部１４２と同等の機能を発揮し、データ管理装置１０における伝送部１４２を省略してデータ管理システム１００を構成してもよい。さらに、データ管理装置１０の外部の処理部１３３を有するデータ管理システム１００を構成してもよい。
【００８３】
また、暗号化鍵は、共通鍵でなくてもよい。送信クライアント４０は、受信クライアント６０の公開鍵で機器データを暗号化してもよい。
【００８４】
また、送信クライアント４０は、時間区間毎に異なる暗号化鍵で機器データを暗号化した。ここで、送信クライアント４０は、時間区間毎に、１つ前の時間区間とは異なる暗号化鍵で機器データを暗号化すればよい。換言すると、１度使用された暗号化鍵を、将来において再利用してもよい。
【００８５】
また、上記実施の形態では、図３に示されるような比較的簡素な処理フローを例に説明したが、これには限定されず、処理フローは複雑であってもよい。例えば、図１２に示されるように、処理フローは、部分処理３０から部分処理３１，３１ａへのフローの分岐、及び、部分処理３１，３１ａから部分処理３２ａへのフローの集約を含んでもよい。
【００８６】
また、上記実施の形態では、区間開始情報及び区間終了情報を利用する例について説明したが、これには限定されない。一の区間の終了位置が、次の区間開始情報により示される位置の直前である場合には、区間終了情報を省略してもよい。また、一の区間の開始位置が、前の区間終了情報により示される位置の直後であれば、区間開始情報を省略してもよい。
【００８７】
また、データ管理装置１０の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【００８８】
例えば、プロセッサ１１によって実行されるプログラムＰ１を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムＰ１をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read−Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto−Optical Disc）が考えられる。
【００８９】
また、プログラムＰ１をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
【００９０】
また、通信ネットワークを介してプログラムＰ１を転送しながら起動実行することによっても、上述の処理を達成することができる。
【００９１】
さらに、プログラムＰ１の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
【００９２】
なお、上述の機能を、ＯＳ（Operating System）が分担して実現する場合又はＯＳとアプリケーションとの協働により実現する場合には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
【００９３】
また、データ管理装置１０の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
【００９４】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【産業上の利用可能性】
【００９５】
本発明は、データの処理に適している。
【符号の説明】
【００９６】
１０  データ管理装置、  １１  プロセッサ、  １２  主記憶部、  １３  補助記憶部、  １４  入力部、  １５  出力部、  １６  通信部、  １７  内部バス、  ２０  ネットワーク、  ２１，２２  機器、  ３００  処理フロー、  ３０〜３４，３１ａ，３２ａ  部分処理、  ４０  送信クライアント、  ４１  データ処理部、  ４２  暗号化部、  ４３  共通鍵生成部、  ４４  公開鍵記憶部、  ５１  ＤＢサーバ、  ６０  受信クライアント、  ６１  復号部、  ６２  データ処理部、  ６３  秘密鍵記憶部、  ６４  共通鍵記憶部、  １００  データ管理システム、  １０１  入力装置、  １１０  入力部、  １２０  受付部、  １３０〜１３３  処理部、  １４０  実行制御部、  １４１  フロー制御部、  １４２  伝送部、  １６０  収集処理部、  ５１１  入出力部、  ５２１  鍵データ蓄積部、  ５２２  機器データ蓄積部、  Ｐ１  プログラム。
【要約】
データ管理システムは、機器から繰り返し送信される機器データを収集するデータ処理部（４１）と、収集された機器データを、予め設定された時間区間毎に異なる暗号化鍵で暗号化する暗号化部（４２）と、暗号化された機器データを記憶するＤＢ（５２）と、ＤＢ（５２）に記憶される機器データを提供するＤＢサーバ（５１）と、ＤＢサーバ（５１）から機器データを受信し復号する受信クライアント（６０）と、を備える。【図１】
0006793880.tif 000002
【図２】
0006793880.tif 000003
【図３】
0006793880.tif 000004
【図４】
0006793880.tif 000005
【図５】
0006793880.tif 000006
【図６】
0006793880.tif 000007
【図７】
0006793880.tif 000008
【図８】
0006793880.tif 000009
【図９】
0006793880.tif 000010
【図１０】
0006793880.tif 000011
【図１１】
0006793880.tif 000012
【図１２】
0006793880.tif 000013