(57)【要約】      （修正有）【課題】送受信毎に更新した鍵データを用いて通信データを暗号化及び復号するデータ処理システムを提供する。【解決手段】データ処理システムは、ネットワークを介して接続されるデータ送信元装置１０とデータ送信先装置２０からなる。データ送信元装置は、計測データを収集し、時系列で計測データを蓄積するとともに、制御データを出力する制御装置である。データ送信元装置は、計測データの最新データを蓄積する毎に、最新の計測データに基づいて暗号化に用いる暗号化鍵を作成し、作成した暗号化鍵を用いて、制御データを暗号化して暗号化済み制御データを作成し、作成した暗号化済制御データをデータ送信先装置に送信する。【選択図】図１
2020065191.tif 000002
【特許請求の範囲】
【請求項１】
計測データを有するデータ送信先装置と接続され、制御データを暗号化した暗号化済み制御データを前記データ送信先装置に送信するデータ送信元装置であって、
計測データを時系列で蓄積する時系列データ記憶部と、
暗号化する前記制御データに対する前記時系列データ記憶部に蓄積した前記計測データに基づいて暗号化に用いる暗号化鍵を作成する暗号化鍵生成部と、
前記暗号化鍵生成部により作成された前記暗号化鍵を用いて、前記制御データを暗号化して前記暗号化済み制御データを作成する暗号化部と、
計測データの最新データを前記時系列データ記憶部に記憶させる毎に前記暗号化済み制御データを前記デ−タ送信先装置に送信する送信部と、
を有するデータ送信元装置。
【請求項２】
前記暗号化部は、
更に、暗号化後の完全性を検証するための認証タグを作成し、
前記送信部は、
更に、前記認証タグを前記データ送信先装置に送信する、請求項１に記載のデータ送信元装置。
【請求項３】
前記暗号化鍵生成部は、
暗号化する前記制御データに対する前記時系列データ記憶部に蓄積した計測データの内、第１のランダム算出部を用いて所定の数だけ計測データを取得し、該計測データに基づいて暗号化に用いる暗号化鍵を作成する、請求項１又は２に記載のデータ送信元装置。
【請求項４】
前記暗号化鍵作成部は、
暗号化する前記制御データに対する前記時系列データ記憶部に蓄積した計測データの内、前記制御データが格納された系列から所定の数だけ過去にさかのぼり前記所定の数だけ計測データを取得し、該計測データに基づいて暗号化に用いる暗号化鍵を作成する、請求項１または２に記載のデータ送信元装置。
【請求項５】
前記暗号化鍵作成部は、
前記所定の数だけ計測データが取得できなかった場合、取得できた計測データに基づいて暗号化に用いる暗号化鍵を作成する、請求項３または４に記載のデータ送信元装置。
【請求項６】
前記暗号化鍵生成部は、
識別コードが異なる複数の制御データを暗号化してまとめて１回で送信する場合、前記複数の制御データの内、第２のランダム算出部を用いて制御データを１つだけ選定し、選定した該制御データに対する前記計測データに基づいてまとめて１回で送信する複数の制御データの暗号化に共通で用いる暗号鍵を１つだけ作成する、
請求項１乃至５の何れか一項に記載のデータ送信元装置。
【請求項７】
前記暗号化鍵生成部は、
識別コードが異なる複数の制御データを暗号化してまとめて１回で送信する場合、前記複数の制御データのそれぞれに対する前記計測データに基づいて暗号化に用いる暗号化鍵をそれぞれ作成する、
請求項１乃至５の何れか一項に記載のデータ送信元装置。
【請求項８】
計測データを有するデータ送信先装置であって、計測データと制御データを有するデータ送信元装置と接続されるデータ送信先装置において、
前記制御データが暗号化された暗号化済み制御データを前記データ送信元装置から受信する受信部と、
データを時系列で蓄積する時系列データ記憶部と、
暗号化された制御データに対する前記時系列データ記憶部に蓄積した前記計測データに基づいて、復号に用いる復号鍵を作成する復号鍵生成部と、
前記復号鍵生成部により作成された前記復号鍵を用いて、前記暗号化済み制御データを復号して制御データを作成する復号部と、
前記復号部により作成された前記制御データを実行する実行部と、
を有するデータ送信先装置。
【請求項９】
前記受信部は、
更に、前記暗号化済み制御データの完全性を検証するための第１の認証タグを前記データ送信元装置から受信し、
前記復号部は、
前記暗号化済み制御データから第２の認証タグを作成し、作成した該第２の認証タグと、前記復号鍵と、前記第１の認証タグとを用いて、認証付き暗号方式により前記暗号化済み制御データを復号する、請求項８に記載のデータ送信先装置。
【請求項１０】
前記復号鍵生成部は、
前記データ送信元装置から送信されたパケットのヘッダ情報を基に装置IDマッピング情報からデータ送信元装置を特定し、前記ヘッダ情報を基に前記時系列データ記憶部から暗号化済み制御データに対する計測データを取得し、取得した該計測データに基づいて復号に用いる復号鍵を作成する、
請求項８又は９に記載のデータ送信先装置。
【請求項１１】
前記復号部は、
前記受信部が前記暗号化済み制御データを受信した後に、前記復号鍵を作成し、
前記復号鍵生成部は、
前記実行部が前記制御データを実行した場合、前記復号鍵を削除する、
請求項８乃至１０の何れか一項に記載のデータ送信先装置。
【請求項１２】
制御データと計測データを有するデータ送信元装置と計測データを有するデータ送信先装置が接続されたデータ処理システムであって、
データ送信元装置は、
計測データと制御データを時系列で蓄積する時系列データ記憶部と、
暗号化する制御データに対する前記計測データに基づいて暗号化に用いる暗号化鍵を作成する暗号化鍵生成部と、
前記暗号化鍵生成部により作成された前記暗号化鍵を用いて、前記制御データを暗号化して暗号化済み制御データを作成する暗号化部と、
前記暗号化済み制御データを前記デ−タ送信先装置に送信する送信部と、
を有し、
前記データ送信先装置に送信する暗号化済み制御データを前記送信する毎に前記暗号化生成部が、毎回暗号化鍵を作成し、
データ送信先装置は、
前記暗号化済み制御データを前記データ送信元装置から受信する受信部と、
計測データを時系列で蓄積する時系列データ記憶部と、
暗号化された制御データに対する前記計測データに基づいて、復号に用いる復号鍵を作成する復号鍵生成部と、
前記復号鍵生成部により作成された前記復号鍵を用いて、前記暗号化済み制御データを復号して制御データを作成する復号部と、
前記復号部により作成された前記制御データを実行する実行部と、
を有するデータ処理システム。
【請求項１３】
計測データを有するデータ送信先装置と接続され、制御データを暗号化した暗号化済み制御データを前記データ送信先装置に送信するデータ送信元装置に用いられるデータ処理方法であって、
計測データと制御データを時系列で蓄積する時系列データ記憶部と、
暗号化する制御データに対する計測データを前記時系列データ記憶部より取得し、取得した前記計測データに基づいて、認証付き暗号方式に用いる暗号化鍵を作成する暗号化鍵生成手順と、
前記暗号化鍵生成手順により作成された前記暗号化鍵を用いて、前記制御データを前記認証付き暗号方式により暗号化して、該暗号化済み制御データと、該暗号化後の暗号化済み制御データの完全性を検証するための認証タグとを作成する暗号化手順と、
前記暗号化手順により作成された前記暗号済み制御データと、前記認証タグとを前記デ−タ送信先装置に送信する送信手順と、
を有するデータ処理方法。
【請求項１４】
計測データを有するデータ送信先装置であって、計測データと制御データを有するデータ送信元装置と接続されるデータ送信先装置に用いられるデータ処理方法であって、
前記制御データが認証付き暗号方式により暗号化された暗号化済み制御データと、該暗号化済み制御データの完全性を検証するための認証タグとを前記データ送信元装置から受信する受信手順と、
計測データを時系列で蓄積する時系列データ記憶部と、
前記暗号化済み制御データに対する計測データを前記時系列データ記憶部より取得し、取得した前記計測データに基づいて暗号化に用いる暗号化鍵を作成する暗号化鍵生成手順と、
暗号化された制御データに対する前記計測データに基づいて、認証付き暗号に用いる復号鍵を作成する復号鍵作成手順と、
前記復号鍵作成手順により作成された前記復号鍵と、前記受信手順により受信された前記認証タグとを用いて、前記暗号化済み制御データを前記認証付き暗号方式により復号して、制御データを作成する復号手順と、
前記復号手順により作成された前記制御データを実行する実行手順と、
を有するデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送信元装置、データ送信先装置、データ処理システム及びデータ処理方法に関する。特に、組込機器と他の組込機器またはクラウド上のサーバ間における、制御データの受け渡しにおいて適用される。
【背景技術】
【０００２】
近年、あらゆるものがネットワークに繋がるようになり、各種制御装置・計測装置、情報家電、携帯電話などの組込機器についてもセキュリティ対策が急務となっている。セキュリティ対策として例えば、不正な手段で第三者が通信データを見られないようにするためにデータを暗号化して通信する技術として暗号化に公開鍵を使い復号に秘密鍵を使う公開鍵暗号方式と、暗号化と復号に共通の共通鍵を使う共通鍵暗号方式が一般的に知られている。また、第三者が通信データの内容を書き換える（改ざんする）場合は公開鍵暗号方式に基づくデジタル署名によって検知することが可能となっている。しかしながら、制御システムの分野で使用される組込機器はある目的に特化した専用機である場合が多く、汎用PCと比べてCPU（Central Processing Unit）処理能力が低く、メモリ資源も少ないため、公開鍵暗号方式のように高度な演算処理が使えない場合が多い。また、公開鍵暗号方式が使えた場合でも公開鍵および秘密鍵の生産管理ならびにデータ送信元およびデータ送信先の組込機器間での鍵の共有や交換をどうするかなどの課題がある。同様に共通鍵暗号方式においても共通鍵の共有や交換においての課題がある。
【０００３】
一方、制御システムは、大まかに、論理制御(逐次制御)とフィードバック制御(線型制御)に分類され、フィードバック制御システムには、センサと制御アルゴリズムとアクチュエータから成る制御ループがある。ＰＬＣ(プログラムロジックコントローラ)などの制御装置は、センサから計測データを受信し、演算処理を施した後、何らかの変数が標準値となるよう制御データをアクチュエータに送信(制御)する。  制御システムを狙ったサイバー攻撃としては、不正な制御データを送信してプラント設備を暴走させて破壊させようとしたり、悪意のある不正プログラムを書き込もうとしたりする事例が多数報告されている。従って、センサからの計測データの真正性保証だけでなく、モータの回転数を変えたり、制御装置のＣＰＵをリセットしたりするためのコマンド(制御指令)や設定値等の真正性を保証することが重要な課題となる。
【０００４】
組込機器（計測装置）間でデータ送受信するシステムについて電気量をサンプリングし、高調波電流データを算出し、この高調波電流データから鍵データを作成し、送受信毎に鍵データを変更して認証タグデータを作成する技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１９７７５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１は、高調波電流データを算出するために電気量を計測するために行う通常のサンプリングよりも高速でサンプリングすることが必要となり鍵データを作成するために組込機器にたいして高度な演算処理及び負荷がかかってしまう。
【０００７】
本発明の一実施形態は、上記の点に鑑みてなされたものであり、装置本来の役割を実現するために記憶している計測データを基に鍵データを作成し、送受信毎に更新した鍵データを用いて通信する制御データを暗号化及び復号することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一実施形態は、計測データを有するデータ送信先装置と接続され、制御データを暗号化した暗号化済み制御データを前記データ送信先装置に送信するデータ送信元装置であって、計測データを時系列で蓄積する時系列データ記憶部と、暗号化する前記制御データに対する前記時系列データ記憶部に蓄積した前記計測データに基づいて暗号化に用いる暗号化鍵を作成する暗号化鍵生成部と、前記暗号化鍵生成部により作成された前記暗号化鍵を用いて、前記制御データを暗号化して前記暗号化済み制御データを作成する暗号化部と、計測データの最新データを前記時系列データ記憶部に記憶させる毎に前記暗号化済み制御データを前記デ−タ送信先装置に送信する送信部と、を有する。
【発明の効果】
【０００９】
本発明の一実施形態によれば、装置間で鍵の受け渡し及び管理を不要とし、装置間で送受信するデータは、毎回、異なる鍵を用いて暗号化したデータであるため、セキュリティ強度の低下を防ぐことが期待できる。
【図面の簡単な説明】
【００１０】
【図１】第一の実施形態に係るデータ処理システムのシステム構成の一例を示す図である。
【図２】第一の実施形態に係るデータ送信元装置のハードウェア構成の一例を示す図である。
【図３】第一の実施形態に係るデータ送信先装置のハードウェア構成の一例を示す図である。
【図４】第一の実施形態に係るデータ処理システムの機能構成の一例を示す図である。
【図５】第一の実施形態に係るデータ送信元装置における計測データ取得から送信までの処理の一例を示すフローチャートである。
【図６】第一の実施形態に係るデータ送信先装置における制御データを実行する処理の一例を示すフローチャートである。
【図７】第一の実施形態に係るデータ送信元装置における暗号化鍵を作成する処理の一例を示すフローチャートである。
【図８】第一の実施形態に係るデータ送信先装置における復号鍵を作成する処理の一例を示すフローチャートである。
【図９】第一の実施形態に係るデータ処理システムの機能構成の一例を示す図である。
【図１０】第一の実施形態に係るデータ処理システムの機能構成の一例を示す図である。
【図１１】第一の実施形態に係るデータ送信先装置における装置ＩＤテーブルの一例を示す図である。
【図１２】第一の実施形態に係るデータ送信元装置における通信パケットの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
【００１２】
［第一の実施形態］
＜システム構成＞
まず、本実施形態に係るデータ処理システム１のシステム構成について、図１を参照しながら説明する。図１は、本実施形態に係るデータ処理システム１のシステム構成の一例を示す図である。
【００１３】
図１に示すように、本実施形態に係るデータ処理システム１は、データを送信するデータ送信元装置１０と、データを受信するデータ送信先装置２０とを有し、例えば制御用LAN及びインターネットや電話回線網等のネットワークＮを介して通信可能に接続されている。なお、データ送信先装置１０とデータ送信元装置２０とは、例えばＢｌｕｅｔｏｏｔｈ（登録商標）等の近距離無線通信及び専用の通信線や共通バスを介して通信可能に接続されていても良い。
【００１４】
データ送信元装置１０は、センサ等または計測装置から各種計測データを定期的または必要時に収集し、時系列で計測データを蓄積するとともに、各種演算処理を行い、制御データを出力する組込機器に分類される制御装置である。また、データ送信元装置１０は、制御データ提供処理部１００と、時系列データ記憶部１１０とを有する。
【００１５】
時系列データ記憶部１１０は、各種計測データを時系列に記憶する。以降、時系列に蓄積した計測データ１１１の内、最新の計測データを最新データ（＝最新値）１１３、最新データを収集したタイミングの１つ前に収集した計測データを前回データ（＝前回値）前回データと表す。
【００１６】
また、制御制御データ提供処理部１００は、制御制御データ１１２を認証付き暗号（ＡＥ：Authenticated Encryption又はＡＥＡＤ：Authenticated Encryption with Associated Data）の手法により暗号化する。そして、制御データ提供処理部１００は、当該暗号化後の制御データ（後述する暗号化済み制御データ及び認証タグ）をデータ送信先装置２０に提供する。このとき、制御データ提供処理部１００は、計測データ１１１に基づき暗号化鍵を作成した上で、当該暗号鍵を用いて制御データ１１２を暗号化する。なお、認証タグは、メッセージ認証符号（ＭＡＣ：Message Authentication Code）とも称され、暗号化後の制御データの完全性（すなわち、当該暗号化後の制御データが改ざん等されていないこと）を検証するための情報である。
【００１７】
データ送信先装置２０は、例えば計測装置、制御装置等の組込機器またはクラウド上にあるサーバである。データ送信先装置２０は、制御データ実行部２００と、時系列データ記憶部２１０とを有する。
【００１８】
制御データ実行部２００は、データ送信元装置１０から提供された暗号化済み制御データ及び認証タグを、認証付き暗号の手法により復号し、制御データ４７０を作成する。このとき、制御データ実行部２００は、データ送信元装置２０が有する計測データ１１１に基づき復号鍵を作成した上で、当該復号鍵を用いて暗号化済み制御データを復号する。また、暗号化鍵および復号鍵の作成に使われる計測データは、対象となる制御データに対する計測データから抽出される。データ送信元装置とデータ送信先装置で同じ計測データが使われる（つまり値が同じ）。
【００１９】
このように、本実施形態に係るデータ処理システム１では、データ送信元装置１０が、認証付き暗号の手法を用いて、制御データ１１２をデータ送信先装置２０に提供する。これにより、本実施形態に係る機器処理システム１では、例えば、悪意のある第三者がネッワーク上で暗号化済み制御データを傍受しても解読を難しくし、さらに、不正な制御データをデータ送信先装置２０に送られてしまったとしても、不正な制御データを実行してしまうような事態（すなわち、他の制御装置および設備等に対して不正な制御データを実行してしまうような事態）を防止することができる。
【００２０】
また、このとき、本実施形態に係るデータ処理システム１では、データ送信元装置１０が有する計測データ１１１に基づいて暗号化鍵を作成すると共に、データ送信先装置２０が有する計測データ１１１に基づいて復号鍵を作成する。これにより、本実施形態に係るデータ処理システム１では、データ送信先装置１０及びデータ送信元装置２０は、それぞれ暗号化鍵及び復号鍵を管理しておく必要がない。更に、本実施形態に係るデータ処理システム１では、制御データを取得する度に、暗号化鍵及び復号鍵を更新することができる。
【００２１】
なお、本実施形態は、データ送信先装置２０が計測データを実行する場合について説明する。
【００２２】
＜ハードウェア構成＞
次に、本実施形態に係るデータ送信元装置１０のハードウェア構成について、図２を参照しながら説明する。図２は、本実施形態に係るデータ送信元装置１０のハードウェア構成の一例を示す図である。
【００２３】
図２に示すように、本実施形態に係る機器処理装置１０は、ＣＰＵ６０１と、ＲＡＭ（Random Access Memory）６０２と、フラッシュＲＯＭ（Read Only Memory）６０３と、外部Ｉ／Ｆ６０４と、通信Ｉ／Ｆ６０５とを有する。これら各ハードウェアは、バス６０７により相互に通信可能に接続されている。  外部Ｉ／Ｆ６０４は、外部装置とのインタフェースである。外部装置には、記録媒体６０４ａ等がある。機器処理装置１０は、外部Ｉ／Ｆ６０４を介して、記録媒体６０４ａの読み取りや書き込みを行うことができる。
【００２４】
記録媒体６０４ａには、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００２５】
ＣＰＵ６０１は、フラッシュＲＯＭ６０３からプログラムやデータをＲＡＭ６０２上に読み出し、処理を実行することで、データ送信元機器１０全体の制御や機能を実現する演算装置である。
【００２６】
フラッシュＲＯＭ６０３は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。フラッシュＲＯＭ６０３には、例えば、時系列データ記憶部１１０、制御データ提供処理部１００を実現するプログラム等が格納されている。
ＲＡＭ６０２は、プログラムやデータを一時保持する揮発性の半導体メモリである。
【００２７】
通信Ｉ／Ｆ６０５は、データ送信元装置１０をネットワークＮに接続するためのインタフェースである。データ送信元装置１０は、通信Ｉ／Ｆ６０５を介して、制御データを認証付き暗号の手法により暗号化した制御データ（すなわち、暗号化済み制御データ及び認証タグ）をデータ送信元装置２０に送信することができる。
【００２８】
また、センサ等及び他の計測装置から各種計測データを定期的または必要時に収集するための通信インタフェース及び収集した計測データを時系列データ記憶部１１０に格納するプログラムを有する（図示せず）。また、プログラムやデータを格納している不揮発性のメモリとして、例えば、ＨＤＤ（Hard Disk Drive）等を備えても良い。プログラムやデータには、制御データ提供処理部１００を実現するプログラム、時系列で計測データを蓄積する時系列データ記憶部等がある。
【００２９】
本実施形態に係るデータ送信元装置１０は、図２に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
【００３０】
次に、本実施形態に係るデータ送信先装置２０のハードウェア構成について、図３を参照しながら説明する。図３は、本実施形態に係るデータ送信先装置２０のハードウェア構成の一例を示す図である。
【００３１】
図３に示すように、本実施形態に係るデータ送信先装置２０は、外部Ｉ／Ｆ７０１と、ＲＡＭ７０２と、ＣＰＵ７０３と、フラッシュＲＯＭ７０４と、通信Ｉ／Ｆ７０５とを有する。これら各ハードウェアは、バス７０６により相互に通信可能に接続されている。
【００３２】
外部Ｉ／Ｆ７０１は、外部装置とのインタフェースである。外部装置には、記録媒体７０１ａ等がある。機器２０は、外部Ｉ／Ｆ７０１を介して、記録媒体７０１ａの読み取りや書き込みを行うことができる。記録媒体７０１ａには、例えば、ＳＤメモリカードやＵＳＢメモリカード等がある。
【００３３】
ＲＡＭ７０２は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＣＰＵ７０３は、フラッシュＲＯＭ７０４からプログラムやデータをＲＡＭ７０２上に読み出し、処理を実行することで、データ送信元装置２０全体の制御や機能を実現する演算装置である。
【００３４】
フラッシュＲＯＭ７０４は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。フラッシュＲＯＭ７０４には、例えば、時系列データ記憶部２１０、制御データ実行部２００を実現するプログラム等が格納されている。
【００３５】
通信Ｉ／Ｆ７０５は、データ送信先装置２０をネットワークＮに接続するためのインタフェースである。データ送信先装置２０は、通信Ｉ／Ｆ７０５を介して、暗号化済み制御データ及び認証タグをデータ送信元装置１０から受信することができる。また、センサ等及び計測装置から各種計測データを収集するための通信インタフェース及び収集した計測データを時系列データ記憶部１１０に格納するプログラムを有する（図示せず）。他の通信装置から各種計測データを収集する場合、通信Ｉ／Ｆ７０５を介して計測データを受信しても良い。この場合、受信する計測データは、暗号化されていることが望ましい。また、プログラムやデータを格納している不揮発性のメモリとして、例えば、ＨＤＤ（Hard Disk Drive）等を備えても良い。プログラムやデータには、制御データ実行部２００を実現するプログラム、時系列で計測データを蓄積する時系列データ記憶部等がある。
【００３６】
本実施形態に係るデータ送信先装置２０は、図３に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
【００３７】
＜機能構成＞
次に、本実施形態に係る機器処理システム１の機能構成について、図４を参照しながら説明する。図４は、本実施形態に係るデータ処理システム１の機能構成の一例を示す図である。
【００３８】
図４に示すように、本実施形態に係るデータ送信元装置１０の制御データ提供部１００は、鍵生成部１０２と、暗号化部１０４と、通信部１０５とを有する。なお、制御データ提供部１００は、データ送信元装置１０にインストールされた１以上のプログラムが、ＣＰＵ６０６に実行させる処理により実現される。
【００３９】
鍵生成部１０２は、時系列データ記憶部１１０に記憶されている暗号化する制御データに対する計測データの内、最新データ１１３と前回データ１１４を抽出し、所定のアルゴリズムを用いて、最新データ１１３と前回データ１１４から暗号化鍵４２０を作成する。  
【００４０】
暗号化部１０４は、鍵生成部１０２により作成された暗号化鍵４２０を用いた認証付き暗号の手法により、制御データ１１２を暗号化して、暗号化済み制御データ４４０と認証タグ４５０とを作成する。
【００４１】
認証付き暗号の手法には、例えば、ＥｔＭ（Encrypt-then-MAC）やＥ＆Ｍ（Encrypt-and-MAC）等が挙げられる。
【００４２】
ＥｔＭでは、暗号化部１０４は、暗号化鍵４２０を用いて制御データ１１２を暗号化して、暗号化済み制御データ４４０を作成する。そして、暗号化部１０４は、所定のハッシュ関数と暗号化鍵４２０とを用いて、暗号化済み制御データ４４０のハッシュ値を算出して、算出したハッシュ値を認証タグ４５０とする。
【００４３】
Ｅ＆Ｍでは、暗号化部１０４は、暗号化鍵４２０を用いて制御データ１１２を暗号化して、暗号化済み制御データ４４０を作成する。そして、暗号化部１０４は、所定のハッシュ関数と暗号化鍵４２０とを用いて、制御データ１１２のハッシュ値を算出して、算出したハッシュ値を認証タグ４５０とする。
【００４４】
なお、暗号化部１０４は、認証付き暗号の手法として、ＭｔＥ（MAC-then-Encrypt）を用いても良い。ただし、この場合、暗号化部１０４は、制御データ１１２と、当該制御データ１１２から作成した認証タグとを連結した上で暗号化して、暗号化済み制御データ４４０を作成する。
【００４５】
通信部１０５は、暗号化部１０４により作成された暗号化済み制御データ４４０と認証タグ４５０とをデータ送信先装置２０に送信する。
【００４６】
図４に示すように、本実施形態に係るデータ送信先装置２０の制御データ実行部２００は、通信部２０１と、鍵生成部２０２と、復号部２０３と、通知部２０４と、判定部２０５と、実行部２０７とを有する。なお、制御データ実行部２００は、データ送信先装置２０にインストールされた１以上のプログラムが、ＣＰＵ７０３に実行させる処理により実現される。
【００４７】
通信部２０１は、暗号化済み制御データ４４０と認証タグ４５０とをデータ送信先装置１０から受信する。
【００４８】
鍵生成部２０２は、時系列データ記憶部２１０に記憶されている、暗号化した制御データに対する計測データの内、最新データ１１３と前回データ１１４を抽出し、データ送信元装置１０の鍵生成部１０２と同一のアルゴリズムを用いて、データ送信先装置２０が有する最新データ１１３と前回データ１１４（すなわち、データ送信先装置２０のフラッシュＲＯＭ７０４に格納されている最新データ１１４と前回データ１１３）から復号鍵４６０を作成する。
【００４９】
復号部２０３は、鍵生成部２０２により作成された復号鍵４６０を用いた認証付き暗号の手法により、通信部２０１により受信された暗号化済み制御データ４４０を復号して、制御データ４７０を作成する。
【００５０】
判定部２０５は、通信部２０１により受信された認証タグ４５０を検証する。すなわち、判定部２０５は、例えば、復号部２０３が復号した制御データ４７０から認証タグを作成した上で、作成した認証タグと、認証タグ４５０とが一致するか否かにより、認証タグ４５０の検証結果が正当又は不当のいずれであるかを判定する。
【００５１】
なお、復号部２０３及び判定部２０５は、データ送信元装置１０の暗号化部１０４と同一の認証付き暗号の手法を用いて、暗号化済み制御データ４４０の復号と認証タグ４５０の検証とを行う。また、復号部２０３は、判定部２０５の処理を含むものであっても良い。  
【００５２】
通知部２０４は、判定部２０５による認証タグ４５０の検証結果が不当（すなわち、判定部２０５が作成した認証タグと、通信部２０１が受信した認証タグ４５０とが一致しない）場合、制御データを実行できなかったこと（実行失敗）を通知する。
【００５３】
実行部２０７は、判定部２０５による認証タグ４５０の検証結果が正当（すなわち、判定部２０５が作成した認証タグと、通信部２０１が受信した認証タグ４５０とが一致する）場合、制御データ４７０を実行する。
【００５４】
＜処理の詳細＞
次に、本実施形態に係る機器処理システム１の処理の詳細について説明する。
【００５５】
＜＜データ処理装置１０における制御データ取得から送信までの処理＞＞
以降では、デ―タ送信元装置１０における計測データ取得からデータ送信先装置２０への送信までの処理について、図５を参照しながら説明する。図５は、本実施形態に係るデータ送信先装置１０における計測データ（最新データ１１３、前回データ１１４）の取得から送信までの処理の一例を示すフローチャートである。なお、図５に示す処理は、一例としてデータ送信元装置がセンサ等及び計測装置から最新の計測データを収集し、時系列データ記憶部１１０に最新データ１１３が記憶されるとともに演算処理をおこない、演算結果として制御データを算出したタイミングで実行される。
【００５６】
まず、鍵生成部１０２は、制御データ１１２に対する計測データ（最新データ１１３、前回データ１１４）を時系列データ記憶部１１０から取得する（ステップＳ５０１）。時系列データ記憶部に格納されたデータは、センサ等から収集した計測データである。計測データごとに識別コードが付いており、センサ等からの計測データ収集タイミングで時系列に格納されているため、該当する制御データに対する計測データ（最新データ１１３、前回データ１１４）を取得することは容易である。
【００５７】
次に、鍵生成部１０２は、所定のアルゴリズムを用いて、計測データ（最新データ１１３、前回データ１１４）から暗号化鍵４２０を作成する（ステップＳ５０２）。例えば、鍵生成部１０２は、計測データ（最新データ１１３、前回データ１１４）を連結して１つのバイナリデータを当該アルゴリズムに入力することで、当該アルゴリズムの出力として暗号化鍵４２０を作成する。なお、所定のアルゴリズムには、例えば、所定のハッシュ関数等を用いることができる。また、鍵生成部１０２は、当該連結したバイナリデータ自体を暗号化鍵４２０としても良い。
【００５８】
次に、暗号化部１０４は、上記のステップＳ５０２で作成された暗号化鍵４２０を用いた認証付き暗号の手法により、制御データ１１２を暗号化して、暗号化済み制御データ４４０と認証タグ４５０とを作成する（ステップＳ５０３）。
【００５９】
次に、通信部１０５は、上記のステップＳ５０３で作成された暗号化済み制御データ４４０と認証タグ４５０とをデータ送信先装置２０に送信する（ステップＳ５０４）。
【００６０】
以上により、本実施形態に係るデータ処理システム１では、データ送信元装置１０で作成された暗号化済み制御データ４４０及び認証タグ４５０がデータ送信先装置２０に送信される。
【００６１】
＜＜＜データ送信元装置が暗号化鍵を作成する処理[その１]＞＞
上述した図５のＳ５０２では、鍵生成部１０２が、所定のアルゴリズムを用いて、計測データ（最新データ１１３、前回データ前回データ前回データ１１４）から暗号化鍵４２０を作成することを説明した。
【００６２】
以降では、暗号化鍵を作成する処理について、図７及び図４、９、１０を参照しながらさらに詳細を説明する。図７は、本実施形態に係るデータ送信元装置１０が暗号鍵を作成する処理の一例を示すフローチャートである。
【００６３】
まず、鍵生成部１０２は、時系列データ記憶部１１０の中に最新データ１１３または前回データ１１４が存在するか検索する（ステップ７０１）。Ｓ７０１でどちらかの計測データが存在する場合、次に、最新データ１１３と前回データ１１４が存在するか検索する（ステップ７０２）。Ｓ７０２で最新データ１１３、前回データとも存在する場合（ステップ７０２  ＹＥＳ）、計測データ（最新データ１１３、前回データ１１４）から暗号化鍵４２０を作成する（ステップ７０３）。図４は、最新データ１１３、前回データ１１４ともに存在する場合における本実施形態に係るデータ処理システム１の機能構成の一例を示す図である。
【００６４】
Ｓ７０２に戻り、前回データ１１４が無い場合（ステップ７０２  ＮＯ）、計測データ（最新データ）を基に暗号化鍵を作成する（ステップ７０４）。図９は、前回データが無い場合における本実施形態に係るデータ処理システム１の機能構成の一例を示す図である。
【００６５】
さらに、Ｓ７０１に戻り、最新データ１１３と前回データとも存在しない場合（ステップ７０１  ＮＯ）、データ送信元装置１０がメモリ内に保持する自装置の機器ＩＤを基に暗号化鍵を作成する（ステップ７０５）。図１０は、最新データ１１３、前回データ１１４ともに存在しない場合における本実施形態に係るデータ処理システム１の機能構成の一例を示す図である。
【００６６】
＜＜＜データ送信元装置が暗号化鍵を作成する処理  [その２]＞＞
上述の＜＜＜データ送信元装置が暗号化鍵を作成する処理  [その１]＞＞では、暗号化鍵を作成する処理について、図７のフローチャートに沿って説明した。ここでは、その他、第２の暗号化鍵を作成する処理について説明する。[その１]との対比で主な特徴部分は、図５のＳ５０１に相当する。
【００６７】
まず、鍵生成部１０２は、暗号化する制御データに対する時系列データ記憶部１１０に蓄積した計測データの内、第１のランダム算出部を用いて所定の数だけ計測データを取得する。取得した計測データに基づいて暗号化に用いる暗号化鍵を作成する。第１のランダム算出部は、所定の数だけランダム関数を用いて計測データの格納場所を特定し、該当する計測データを取得する。時系列データ記憶部１１０には、計測データが時系列に順番に蓄積されているので計測データを特定することは容易である。また、鍵生成部２０２についても同様に行われるものとする。また、計測データが無い、または一部無い場合は、[その１]と同様の処理とすれば良い。
【００６８】
＜＜＜データ送信元装置が暗号化鍵を作成する処理  [その３]＞＞
ここでは、その他、第３の暗号化鍵を作成する処理について説明する。[その１]との対比で主な特徴部分は、図５のＳ５０１に相当する。
【００６９】
まず、鍵生成部１０２は、暗号化する制御データに対する時系列データ記憶部１１０に蓄積した計測データの内、制御データが格納された系列から所定の数だけ過去にさかのぼり所定の数だけ計測データを取得し、取得した計測データに基づいて暗号化に用いる暗号化鍵を作成する。時系列データ記憶部１１０には、計測データが時系列に順番に蓄積されているので計測データを特定することは容易である。また、鍵生成部２０２についても同様に行われるものとする。また、計測データが無い、または一部無い場合は、[その１]と同様の処理とすれば良い。
【００７０】
＜＜＜データ送信元装置が暗号化鍵を作成する処理  [その４]＞＞
ここでは、その他、第４の暗号化鍵を作成する処理について説明する。
【００７１】
まず、鍵生成部１０２は、識別コードが異なる複数の制御データを暗号化してまとめて１回で送信する場合、複数の制御データの内、第２のランダム算出部を用いて制御データを１つだけ選定し、選定した該制御データに対する前記計測データに基づいてまとめて１回で送信する複数の制御データの暗号化に共通で用いる暗号鍵を１つだけ作成する。また、選定した制御データに対する計測データの取得方法は、上述した[その１]〜[その３]のいずれか、またはその組み合わせであっても良い。
【００７２】
＜＜＜データ送信元装置が暗号化鍵を作成する処理  [その５]＞＞
ここでは、その他、第５の暗号化鍵を作成する処理について説明する。
【００７３】
まず、鍵生成部１０２は、識別コードが異なる複数の制御データを暗号化してまとめて１回で送信する場合、前記複数の制御データのそれぞれに対する前記計測データに基づいて暗号化に用いる暗号化鍵をそれぞれ作成する。また、制御データのそれぞれに対する計測データの取得方法は、上述した[その１]〜[その３]のいずれか、またはその組み合わせであっても良い。
【００７４】
＜＜データ送信先装置２０が制御データを時系列データ記憶部に格納する処理＞＞
以降では、データ送信先装置２０が制御データ４７０を時系列データ記憶部２１０に格納する処理について、図６を参照しながら説明する。図６は、本実施形態に係るデータ送信先装置２０が制御データ１１２を時系列データ記憶部２１０に格納する処理の一例を示すフローチャートである。
【００７５】
まず、通信部２０１は、暗号化済み制御データ４４０と認証タグ４５０とをデータ送信元装置１０から受信する（ステップＳ６０１）。
【００７６】
次に、鍵生成部２０２は、データ送信元装置１０の鍵生成部１０２と同一のアルゴリズムを用いて、データ送信先装置２０が有する計測データ（最新データ１１３、前回データ１１４）から復号鍵４６０を作成する（ステップＳ６０２）。
【００７７】
次に、復号部２０３は、上記のステップＳ６０２で作成された復号鍵４６０を用いた認証付き暗号の手法により、上記のステップＳ６０１で受信された暗号化済み制御データ４４０を復号して、制御データ４７０を作成する（ステップＳ６０３）。
【００７８】
次に、判定部２０５は、上記のステップＳ６０１で受信された認証タグ４５０を検証する（ステップＳ６０４）。すなわち、判定部２０５は、例えば、上記のステップＳ６０３で作成された制御データ４７０から認証タグを作成した上で、作成した認証タグと、認証タグ４５０とが一致するか否かにより、認証タグ４５０の検証結果が正当又は不当のいずれであるかを判定する。
【００７９】
ステップＳ６０４において、検証結果が正当であると判定された場合、実行部２０７は、上記のステップＳ６０３で作成された制御データ４７０を実行する（ステップＳ６０５）。
【００８０】
このように制御データ４７０が格納された時系列データ記憶部２１０は、データ送信元装置１０の時系列データ記憶部１１０に記憶されているデータと同一のデータとなる。
【００８１】
一方、ステップＳ６０４において、検証結果が不当である（正当でない）と判定された場合、通知部２０４は、制御データを時系列データ記憶部に格納できなかったこと（格納失敗）を通知する（ステップＳ６０６）。通知部２０４は、例えば、ＬＥＤ（Light Emitting Diode）ランプを点灯させる、ブザー音を発する等により、制御データ４７０の格納失敗を通知すれば良い。また、通知部２０４は、所定のメールアドレス宛に格納失敗を示すメールを送信することにより、制御データの格納失敗を通知しても良い。
＜＜＜データ送信先装置が復号鍵を作成する処理＞＞
上述した図６のＳ６０２では、鍵生成部２０２が、所定のアルゴリズムを用いて、計測データ（最新データ１１３、前回データ１１４）から復号鍵４６０を作成することを説明した。
【００８２】
以降では、復号鍵を作成する処理について、図８及び図４、１０を参照しながらさらに詳細を説明する。図８は、本実施形態に係るデータ送信先装置２０が復号鍵を作成する処理の一例を示すフローチャートである。
【００８３】
まず、鍵生成部２０２は、時系列データ記憶部２１０の中に最新データ１１３または前回データ１１４が存在するか検索する（ステップ８０１）。Ｓ８０１でどちらかの計測データが存在する場合、次に、最新データ１１３と前回データ１１４が存在するか検索する（ステップ８０２）。Ｓ８０２で最新データ１１３、前回データとも存在する場合（ステップ８０２  ＹＥＳ）、計測データ（最新データ１１３、前回データ１１４）から復号鍵４６０を作成する（ステップ８０３）。図４は、最新データ１１３、前回データ１１４ともに存在する場合における本実施形態に係るデータ処理システム１の機能構成の一例を示す図である。
【００８４】
Ｓ８０２に戻り、前回データ１１４が無い場合（ステップ８０２  ＮＯ）、計測データ（最新データ）を基に復号鍵を作成する（ステップ８０４）。
【００８５】
さらに、Ｓ８０１に戻り、最新データ１１３と前回データ前回データ前回データ１１４とも存在しない場合（ステップ８０１  ＮＯ）、データ送信元装置１０が保持する自装置の装置ＩＤを基に暗号化鍵を作成する（ステップ７０５）。図１０は、最新データ１１３、前回データ１１４ともに存在しない場合における本実施形態に係るデータ処理システム１の機能構成の一例を示す図である。さらに図１１は、本実施形態に係るデータ送信先装置における装置IDテーブルの構成の一例を示す図である。図１１が示す機器ＩＤテーブル３００は、データ送信元装置の情報が予め設定されメモリ領域に記憶されている。装置ＩＤテーブル３００には、データ送信元装置１０の装置固有ＩＤである装置ＩＤの情報と、装置ＩＤに対応するパケット情報としてデータ送信元装置の装置名称とＩＰアドレスで構成されている。データ送信先装置２０は、データ送信元装置１０から送信された通信パケットのヘッダ情報を参照し、ヘッダ情報に入っている送信元装置の装置名称またはＩＰアドレスを取得し、装置テーブル３００のパケットのヘッダ情報１１６と照合し、送信元の装置ＩＤを装置テーブルから取得することができる。
【００８６】
このようにすることで、第三者がネットワーク上に流れる通信パケットの情報を入手できたとしても暗号化鍵及び復号鍵の元となる情報（装置ＩＤ）は入手できないために通信パケット上のデータを解読することはできない。従って、最新データ１１３と前回データ１１４とも存在しない場合（ステップ８０１  ＮＯ）、データ送信元装置１０が保持する自装置の装置ＩＤを基に暗号化鍵を作成しても安全が保たれる。
＜補足説明  通信パケットの構成＞
次に、本実施形態に係るデータ送信元装置における通信パケットの機能構成について、図１２を参照しながら説明する。図１２は、本実施形態に係るデータ送信元装置における通信パケットの機能構成の一例を示す図である。
【００８７】
図１２に示すように、本実施形態に係るデータ送信元装置１０が送信に用いる通信パケットは、ヘッダ部とデータ部に分類され、ヘッダ部には、送信先アドレスまたは送信先装置名称、送信元アドレスまたは送信元装置名称、メッセージ種別、メッセージＩＤ、データサイズ等が割り付けられ、データ部には、データが割り付けられる。データ送信元装置が暗号化済み制御データ４４０と認証タグ４５０をデータ送信先装置に送信する場合、通信部１０５は、ヘッダ部にデータ送信先装置の送信先アドレスまたは送信先装置名称、データ送信元装置の送信元アドレスまたは送信元装置名称、制御データを通知するメッセージ種別、制御データに対応する識別コード等のメッセージＩＤ、データサイズ等を入力し、データ部に送信する暗号化済み制御データ４４０と認証タグ４５０をセットで入力し、通信パケットを作成して送信する。
【００８８】
また、複数の制御データを送る場合、メッセージＩＤに複数の識別コードをセットし、暗号化済み制御データと認証タグがセットになった複数のデータをデータ部に入力すれば良い。また、複数のデータに対して暗号化鍵を１つ作成する場合、複数の認証済み制御データに１つの認証タグをセットにしたデータをデータ部に入力すれば良い。
＜補足説明  制御システムの例＞
例えば、制御システムで実施する一例について説明する。制御対象としてタンク内の水の温度を設定温度にしたい場合、制御装置（データ送信先装置１０）の計測データ収集部は、タンク内に設けた温度センサ部（図示せず）から最新の計測データとして計測温度を受信し、時系列データ記憶部に記憶する。制御装置の制御部（図示せず）は、設定した目標温度と計測温度から演算処理を行い、電気ヒータのＯＮ−ＯＦＦについての制御データ（制御指令：ＯＮまたはＯＦＦコード）を算出する。算出した制御データは、暗号化済み制御データとして電気ヒータの制御データを実行する制御装置（データ送信元装置２０）に送信され、制御装置（データ送信元装置２０）の実行部２０７は、電気ヒータの電磁開閉器に対してＯＮまたはＯＦＦコードを出力する。このように電気ヒータのＯＮ−ＯＦＦ制御を行うことでタンク内の温度を設定温度に制御することができる。
この制御システムの例では、制御データが電気ヒータの電磁開閉器のＯＮ−ＯＦＦであり、この制御データに対する時系列データ記憶部に蓄積した計測データがセンサからの計測温度となる。また、計測データと制御データが多対１となり、計測データを１つ特定することが難しい場合は複数の異なる識別コードの計測データを連結したうえでハッシュ関数でハッシュ値を求め、求めたハッシュ値を基に暗号化鍵を作成しても良い。
【００８９】
また、データ送信元装置１０及びデータ送信先装置２０のハードウェアとしてセキュアなフラッシュＲＯＭ６０３を備えている場合は、収集する計測データの識別コードと、計測データを入力データとして演算処理を行い演算結果として算出した制御データの識別コードを対応テーブルとしてフラッシュＲＯＭ６０３内に記憶していても良い。この対応テーブルは、複数の計測データの識別コードが１つの制御コードに対応（多対１対応）していても良いし、1対１に対応していても良い。
＜まとめ＞
以上により、本実施形態に係るデータ処理システム１では、データ送信先装置２０は、データ送信元装置１０から受信した暗号化済み制御データ４４０及び認証タグ４５０に基づいて、制御データを安全に実行することができる。これにより、本実施形態に係るデータ処理システム１では、例えば、悪意のある第三者がネッワーク上で暗号化済み制御データを傍受しても解読を難しくし、さらに、不正な制御データをデータ送信先装置２０に送られてしまったとしても、不正な制御データを実行してしまうような事態（すなわち、他の制御装置および設備等に対して不正な制御データを実行してしまうような事態）を防止することができる。
【００９０】
また、本実施形態に係るデータ処理システム１では、データ送信元装置１０が有する計測データ１１１に基づいて暗号化鍵４２０が作成されると共に、データ送信先装置２０が有する計測データ１１１に基づいて復号鍵４６０が作成される。このため、本実施形態に係るデータ処理システム１では、データ送信元装置１０及びデータ送信先装置２０は、それぞれ暗号化鍵４２０及び復号鍵４６０を管理しておく必要がない（すなわち、フラッシュＲＯＭ６０３、７０４にそれぞれ暗号化鍵４２０や復号鍵４６０を記憶させておく必要がない。）。したがって、本実施形態に係るデータ処理システム１では、暗号化鍵４２０や復号鍵４６０の漏洩も防止することができる。
【００９１】
更に、本実施形態に係るデータ処理システム１では、計測データ１１１に基づいて暗号化鍵４２０及び復号鍵４６０が作成されるため、計測データを時系列データ記憶部１１０，２１０に格納する度に、暗号化鍵４２０及び復号鍵４６０も更新することができる。したがって、本実施形態に係るデータ処理システム１では、万が一、暗号化鍵４２０や復号鍵４６０が漏洩した場合であっても、計測データの更新により、鍵が更新され、その後、不正な制御データがデータ送信先装置２０に書き込まれてしまうような事態を防止することができる。なお、制御データ４７０が格納された後は、暗号化鍵４２０及び復号鍵４６０の情報を直ちに削除し、データ処理システム１に記憶させておかないようにすることが望ましい。
【００９２】
更に、データ送信元装置１０及びデータ送信先装置２０が作成する暗号化鍵及び復号鍵は、それぞれの装置が、本来の目的である制御・計測のために必要となる計測データを基にして作成されるため、暗号化及び復号の処理のために特別に新たなデータを作り自らの装置内記憶領域にデータを確保しておく必要がない。
【００９３】
なお、本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００９４】
１        データ処理システム
１０      データ送信元装置
２０      データ送信先装置
１００    制御データ提供処理部
１０２    鍵生成部
１０４    暗号化部
１０５    通信部
１１１    計測データ
１１２    制御データ
１１３    最新データ
１１４    前回データ
１１５    装置ＩＤ
１１６    装置ＩＤテーブルのパケットのヘッダ情報
２００    制御データ実行部
２０１    通信部
２０２    鍵生成部
２０３    復号部
２０４    通知部
２０５    判定部
２０７    実行部
３００    装置ＩＤテーブル
４２０    暗号化鍵
４４０    暗号化済み制御データ
４５０    認証タグ
４６０    復号鍵
４７０    制御データ
【図１】
2020065191.tif 000003
【図２】
2020065191.tif 000004
【図３】
2020065191.tif 000005
【図４】
2020065191.tif 000006
【図５】
2020065191.tif 000007
【図６】
2020065191.tif 000008
【図７】
2020065191.tif 000009
【図８】
2020065191.tif 000010
【図９】
2020065191.tif 000011
【図１０】
2020065191.tif 000012
【図１１】
2020065191.tif 000013
【図１２】
2020065191.tif 000014