(57)【要約】【課題】ユーザの情報資産を保護する技術を提供する。【解決手段】制御装置１００は、制御対象５００を制御するための処理を実行する制御部１１０１と、制御対象５００に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置１００固有のシステムデータを記憶する記憶領域１１０２と、記憶領域１１０２に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化する不能化部１１０３とを備える。【選択図】図１
2020191004.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御する制御装置であって、
前記制御対象を制御するための処理を実行する制御部と、
前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域と、
前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化する不能化部とを備える、制御装置。
【請求項２】
前記不能化部は、退避領域に前記システムデータのコピーを記憶させた後に前記記憶領域に記憶された前記システムデータおよび前記ユーザデータを不能化し、その後、前記退避領域に記憶された前記システムデータを前記記憶領域に記憶させる、請求項１に記載の制御装置。
【請求項３】
前記不能化部は、前記記憶領域に記憶された前記ユーザデータに含まれるデータのうち、ユーザによって選択されたデータを不能化する、請求項１または請求項２に記載の制御装置。
【請求項４】
前記不能化部は、所定の実行条件が成立したときに、前記記憶領域に記憶された前記ユーザデータを不能化する、請求項１〜請求項３のいずれか１項に記載の制御装置。
【請求項５】
前記不能化部による前記ユーザデータの不能化の進捗状況を報知するための処理を実行する、請求項１〜請求項４のいずれか１項に記載の制御装置。
【請求項６】
前記不能化部によって前記ユーザデータが不能化されたことを示すログを取得するための処理を実行する、請求項１〜請求項５のいずれか１項に記載の制御装置。
【請求項７】
前記ログが改ざんされることを防止するための処理を実行する、請求項６に記載の制御装置。
【請求項８】
制御対象を制御する制御装置によって実行されるデータを不能化するためのデータ不能化プログラムであって、
前記制御装置は、前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域を備え、
前記データ不能化プログラムは、コンピュータに、
所定の実行条件が成立したか否かを判定させるステップと、
前記所定の実行条件が成立した場合に、前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化させるステップとを含む、データ不能化プログラム。
【請求項９】
制御対象を制御する制御装置と当該制御装置を支援するサポート装置とを備える制御システムであって、
前記制御対象を制御するための処理を実行する制御部と、
前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域と、
前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化する不能化部とを備える、制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、データ不能化プログラム、および制御システムに関し、より特定的には、制御対象を制御する制御装置、制御装置によって実行されるデータを不能化するためのデータ不能化プログラム、および制御装置と当該制御装置を支援するサポート装置とを備える制御システムに関する。
【背景技術】
【０００２】
多くの生産現場で使用される機械や設備などの制御対象は、典型的には、プログラマブルコントローラ（Programmable Logic Controller；以下「ＰＬＣ」とも称す）などの制御装置によって制御される。一般的に、このような制御装置は、制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置固有のシステムデータを記憶する。
【０００３】
たとえば、特開２０１８−１５１９１７号公報（特許文献１）には、ユーザによって作成されたユーザプログラム、および基本的な機能を実現するためのシステムプログラムを記憶するＰＬＣが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１５１９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されたＰＬＣは、システムプログラムを実行することで各種プログラムの実行環境を提供するとともに、ユーザプログラムを実行することで制御対象を制御することができる。一般的に、このユーザプログラムは、制御対象を制御するための情報としてユーザのノウハウが詰まっているが、ＰＬＣなどの制御装置が不要になった場合に、このようなユーザの情報資産を外部に流出させないように保護することについては何ら鑑みられていなかった。
【０００６】
本発明は、上述したような課題を解決することを一つの目的とし、ユーザの情報資産を保護する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一例に従えば、制御対象を制御する制御装置が提供される。制御装置は、制御対象を制御するための処理を実行する制御部と、制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置固有のシステムデータを記憶する記憶領域と、記憶領域に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化する不能化部とを備える。
【０００８】
この開示によれば、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置固有のシステムデータは維持されるため、たとえば、制御装置がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【０００９】
上述の開示において、不能化部は、退避領域にシステムデータのコピーを記憶させた後に記憶領域に記憶されたシステムデータおよびユーザデータを不能化し、その後、退避領域に記憶されたシステムデータを記憶領域に記憶させる。
【００１０】
この開示によれば、一旦、システムデータおよびユーザデータを不能化することで確実にユーザデータを不能化し、その後、退避しておいたシステムデータを元の記憶領域に記憶させることで、システムデータを維持することができる。
【００１１】
上述の開示において、不能化部は、記憶領域に記憶されたユーザデータに含まれるデータのうち、選択されたデータを不能化する。
【００１２】
この開示によれば、ユーザデータに含まれるデータのうち、所望のデータのみを不能化することができるため、ユーザデータの不能化時における利便性が向上する。
【００１３】
上述の開示において、不能化部は、所定の実行条件が成立したときに、記憶領域に記憶されたユーザデータを不能化する。
【００１４】
この開示によれば、所定の実行条件が成立しない限りは記憶領域に記憶されたユーザデータが不能化されることがないため、第三者による故意、または実行者が意図せずにユーザデータを不能化させてしまうような事態を防止することができる。
【００１５】
上述の開示において、制御装置は、不能化部によるユーザデータの不能化の進捗状況を報知するための処理を実行する。
【００１６】
この開示によれば、ユーザデータの不能化の進捗状況を実行者が把握することができるため、たとえば、データ不能化の実行中に実行者によって電源が遮断されてしまうような事態を防止することができる。
【００１７】
上述の開示において、制御装置は、不能化部によってユーザデータが不能化されたことを示すログを取得するための処理を実行する。
【００１８】
この開示によれば、ユーザデータが不能化されたことを示す不能化ログが記録として残るため、ユーザデータが確実に不能化されたという証拠を残すことができる。
【００１９】
上述の開示において、制御装置は、ログが改ざんされることを防止するための処理を実行する。
【００２０】
この開示によれば、ユーザデータが確実に不能化されたという証拠が改ざんされてしまうような事態を防止することができる。
【００２１】
本開示の別の一例に従えば、制御対象を制御する制御装置によって実行されるデータを不能化するためのデータ不能化プログラムが提供される。制御装置は、制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置固有のシステムデータを記憶する記憶領域を備える。データ不能化プログラムは、コンピュータに、所定の実行条件が成立したか否かを判定させるステップと、所定の実行条件が成立した場合に、記憶領域に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化させるステップとを含む。
【００２２】
この開示によれば、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置固有のシステムデータは維持されるため、たとえば、制御装置がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【００２３】
本開示の別の一例に従えば、制御対象を制御する制御装置と当該制御装置を支援するサポート装置とを備える制御システムが提供される。制御システムは、制御対象を制御するための処理を実行する制御部と、制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置固有のシステムデータを記憶する記憶領域と、記憶領域に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化する不能化部とを備える。
【００２４】
この開示によれば、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置固有のシステムデータは維持されるため、たとえば、制御装置がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【図面の簡単な説明】
【００２５】
【図１】本実施の形態に係る制御装置の適用例を示す模式図である。
【図２】本実施の形態に係る制御装置のリユースの一例を示す模式図である。
【図３】本実施の形態に係る制御装置が記憶する管理情報の消去の一例を示す模式図である。
【図４】本実施の形態に係る制御装置のハードウェア構成例を示す模式図である。
【図５】本実施の形態に係るサポート装置のハードウェア構成例を示す模式図である。
【図６】本実施の形態に係る制御装置によるデータ不能化の一例を示す模式図である。
【図７】本実施の形態に係る制御装置によるデータ不能化の一例を示す模式図である。
【図８】本実施の形態に係る制御装置によるデータ不能化の一例を示す模式図である。
【図９】本実施の形態に係る制御装置による不能化するユーザデータの選択の一例を示す模式図である。
【図１０】本実施の形態に係る制御装置によるデータ不能化の実行条件の一例を示す模式図である。
【図１１】本実施の形態に係る制御装置によるデータ不能化の実行条件の一例を示す模式図である。
【図１２】本実施の形態に係る制御装置によるデータ不能化の進捗状況の報知の一例を示す模式図である。
【図１３】本実施の形態に係る制御装置による不能化ログの取得の一例を示す模式図である。
【図１４】本実施の形態に係る制御装置による不能化ログの記憶の一例を示す模式図である。
【図１５】本実施の形態に係る制御装置による不能化ログの改ざん防止の一例を示す模式図である。
【図１６】本実施の形態に係る制御装置による不能化ログの改ざん防止の一例を示す模式図である。
【図１７】本実施の形態に係る制御装置による不能化ログの改ざん防止の一例を示す模式図である。
【図１８】本実施の形態に係る制御装置が実行するデータ不能化処理のフローチャートである。
【発明を実施するための形態】
【００２６】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２７】
＜Ａ．適用例＞
本発明が適用される場面の一例について説明する。図１は、本実施の形態に係る制御装置１００の適用例を示す模式図である。
【００２８】
図１に示すように、本実施の形態に係る制御システム１は、複数のデバイスが互いに通信可能に構成されたデバイス群を含む。典型的には、デバイスは、制御用のプログラムを実行する処理主体である制御装置１００と、制御装置１００に接続される周辺装置とを含み得る。
【００２９】
制御装置１００は、各種の設備や装置などの制御対象を制御する産業用コントローラに相当する。制御装置１００は、制御演算を実行する一種のコンピュータであり、典型的には、ＰＬＣ（プログラマブルコントローラ）として具現化されている。制御装置１００には、フィールドネットワーク２を介してフィールドデバイス５００に接続されている。制御装置１００は、フィールドネットワーク２を介して、１または複数のフィールドデバイス５００との間でデータを遣り取りする。
【００３０】
制御装置１００において実行される制御演算は、フィールドデバイス５００において収集または生成されたデータを収集する処理、フィールドデバイス５００に対する指令値などのデータを生成する処理、生成した出力データを対象のフィールドデバイス５００へ送信する処理などを含む。
【００３１】
フィールドネットワーク２は、定周期通信を行うバスまたはネットワークを採用することが好ましい。このような定周期通信を行うバスまたはネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などが知られている。データの到達時間が保証される点において、ＥｔｈｅｒＣＡＴ（登録商標）が好ましい。
【００３２】
フィールドネットワーク２には、任意のフィールドデバイス５００を接続することができる。フィールドデバイス５００は、フィールド側にあるロボットやコンベアなどに対して何らかの物理的な作用を与えるアクチュエータ、および、フィールドとの間で情報を遣り取りする入出力装置などを含む。
【００３３】
図１に示す構成例においては、フィールドデバイス５００は、複数のサーボドライバ５２０＿１および５２０＿２と、複数のサーボドライバ５２０＿１および５２０＿２の各々に接続された複数のサーボモータ５２２＿１および５２２＿２とを含む。フィールドデバイス５００は、「制御対象」の一例である。
【００３４】
サーボドライバ５２０＿１および５２０＿２は、制御装置１００からの指令値（たとえば、位置指令値や速度指令値など）に従って、サーボモータ５２２＿１および５２２＿２のうちの対応するサーボモータを駆動する。このようにして、制御装置１００は、フィールドデバイス５００を制御することができる。
【００３５】
制御装置１００は、上位ネットワーク６を介して、他の装置にも接続されている。上位ネットワーク６には、一般的なネットワークプロトコルであるイーサネット（登録商標）やＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）が採用されてもよい。より具体的には、上位ネットワーク６には、１または複数のサーバ装置３００および１または複数の表示装置４００が接続されてもよい。
【００３６】
サーバ装置３００としては、データベースシステム、製造実行システム（ＭＥＳ：Manufacturing Execution System）などが想定される。製造実行システムは、制御対象の製造装置や設備からの情報を取得して、生産全体を監視および管理するものであり、オーダ情報、品質情報、出荷情報などを扱うこともできる。これに限らず、情報系サービスを提供する装置を上位ネットワーク６に接続するようにしてもよい。情報系サービスとしては、制御対象の製造装置や設備からの情報を取得して、マクロ的またはミクロ的な分析などを行う処理が想定される。たとえば、制御対象の製造装置や設備からの情報に含まれる何らかの特徴的な傾向を抽出するデータマイニングや、制御対象の設備や機械からの情報に基づく機械学習を行うための機械学習ツールなどが想定される。
【００３７】
表示装置４００は、ユーザからの操作を受けて、制御装置１００に対してユーザ操作に応じたコマンドなどを出力するとともに、制御装置１００での演算結果などをグラフィカルに表示する。
【００３８】
制御装置１００には、サポート装置２００が接続可能になっている。サポート装置２００は、制御装置１００が制御対象を制御するために必要な準備を支援する装置である。具体的には、サポート装置２００は、制御装置１００で実行されるプログラムの開発環境（プログラム作成編集ツール、パーサ、コンパイラなど）、制御装置１００および制御装置１００に接続される各種デバイスの構成情報（コンフィギュレーション）を設定するための設定環境、生成したプログラムを制御装置１００へ出力する機能、制御装置１００上で実行されるプログラムなどをオンラインで修正・変更する機能などを提供する。
【００３９】
図１に示される制御システム１においては、制御装置１００、サポート装置２００、および表示装置４００がそれぞれ別体として構成されているが、これらの機能の全部または一部を単一の装置に集約するような構成を採用してもよい。
【００４０】
制御装置１００は、制御対象を制御するためのデータとして、制御対象に応じてユーザによって作成されたユーザデータと、制御装置１００固有のシステムデータとを記憶する。
【００４１】
ユーザデータは、制御対象の製造装置や設備に応じてユーザによって作成され、制御対象を制御するための命令が規定されたユーザプログラムを少なくとも含む。その他、ユーザデータは、製品のレシピデータ、各種処理に係る保持変数、トレーサビリティデータ、スプールに係るデータ（ＳＱＬキューイング）、システムや装置の稼働に係るログ、エラー情報、システムにおける構成情報、ユニットの設定情報、セキュリティ情報（秘密鍵、アカウント情報、証明書、アクセス制御、パスワード）などを含む。ユーザは、サポート装置２００などの設定ツールを用いることで、自身の知識や経験、取り決めなどに基づいて、所望のユーザデータを作成することができる。すなわち、ユーザデータは、ユーザのノウハウが詰まった情報資産である。
【００４２】
システムデータは、基本的な機能を実現するためのプログラムであり、ユーザプログラムなどの各種プログラムを実行するための環境を提供するＯＳやファームウェアに関するデータを含む。
【００４３】
上述したような構成を有する制御装置１００は、一の生産現場のみで使用される場合に限らず、他の生産現場においても使用される。また、一の生産現場内においても複数の異なるラインで使用される場合もある。
【００４４】
たとえば、図２に示すように、制御装置１００のメーカによって、一の制御装置１００が複数のユーザにリースされるようなビジネスが行われることがある。図２は、本実施の形態に係る制御装置のリユースの一例を示す模式図である。
【００４５】
図２に示すように、制御装置１００のメーカは、システムデータを構築するなどして制御装置１００を設計した後、その制御装置１００をエンドユーザＡにリースする。エンドユーザＡは、自身の知識や経験、取り決めなどに基づいて、所望のユーザプログラムを作成することで、制御対象に応じて制御装置１００を設計する。エンドユーザＡによって作成されたユーザプログラムは、たとえば、制御装置１００が備えるＳＳＤ（Solid State Drive）などの不揮発性のストレージ（以下、ＳＳＤ（Solid State Drive）など）やＥＥＰＲＯＭなどの不揮発性のメモリに記憶される。そして、エンドユーザＡは、制御装置１００を生産現場で運用する。
【００４６】
制御装置１００が不要になると、エンドユーザＡは、制御装置１００をメーカに返却するが、メーカは、返却された制御装置１００を他のエンドユーザＢに再びリースする。このようにして、制御装置１００が複数のユーザ間でリユースされることがあるが、エンドユーザＡによって作成されたユーザプログラムや設定情報などのユーザデータが制御装置１００に保持された状態で、制御装置１００がエンドユーザＢにリースされてしまうと、エンドユーザＡの情報資産がエンドユーザＢに漏洩する可能性がある。
【００４７】
ここで、エンドユーザＡは、サポート装置２００などの設定ツールを用いることで、ストレージにおいてファイルシステム上で各種データを管理するための管理情報を消去することができる。
【００４８】
たとえば、図３は、本実施の形態に係る制御装置１００が記憶する管理情報の消去の一例を示す模式図である。図３（Ａ）に示すように、ストレージは、ファイルシステムによってデータを管理しており、ファイルＡ、ファイルＢ、ファイルＣ、およびファイルＤといった複数の管理情報を記憶する。各ファイルの管理情報には、１または複数のデータが対応付けられており、各データはストレージ内のデータエリアに格納されている。
【００４９】
サポート装置２００などの設定ツールによってストレージ内のメモリを消去する処理が行われた場合、ファイルシステムの管理情報は消去されるが、ストレージ内のデータエリアには、ユーザデータなどの実体が依然として保持されたままである。このような状態で制御装置１００が他のユーザにリースされてしまうと、元の保有者であるユーザの資産情報であるユーザデータがリース先のユーザによって復元されてしまう虞がある。
【００５０】
そこで、制御装置１００を破棄またはリユースする際に、ユーザの情報資産（ユーザデータ）を外部に流出させないように保護するために、ユーザデータの実体を不能化させる仕組みが求められている。ここで、本実施の形態において、ユーザデータの「不能化」は、ユーザデータを消去すること、あるいは、ユーザデータを０や１、任意の文字などで上書きすることを含む。
【００５１】
図１に戻り、制御装置１００は、特徴的な機能部として、制御対象を制御するための処理を実行する制御部１１０１と、ユーザデータおよびシステムデータを記憶する記憶領域１１０２と、データ不能化プログラム１０１に基づきユーザデータを不能化する不能化部１１０３とを備える。
【００５２】
制御部１１０１は、通常モードで制御装置１００が起動されると、記憶領域１１０２に記憶されたシステムデータ、およびユーザデータに含まれるユーザプログラムに基づいて、制御対象を制御する。不能化部１１０３は、制御装置１００を破棄したりリユースしたりするために不能化モードで制御装置１００が起動されると、記憶領域１１０２に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化する。
【００５３】
これにより、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置１００が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置１００固有のシステムデータは維持されるため、たとえば、制御装置１００がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【００５４】
＜Ｂ．制御装置１００のハードウェア構成例＞
次に、本実施の形態に係る制御装置１００のハードウェア構成例について説明する。図４は、本実施の形態に係る制御装置１００のハードウェア構成例を示す模式図である。
【００５５】
図４に示すように、制御装置１００は、ＣＰＵユニットと称される演算処理部であり、プロセッサ１０２と、チップセット１０４と、揮発性メモリ１０６と、不揮発性メモリ１０８と、ストレージ１５０と、上位ネットワークコントローラ１１０と、サポート装置インターフェース１１２と、メモリカードインターフェース１１４と、内部バスコントローラ１２０と、フィールドネットワークコントローラ１３０とを含む。
【００５６】
プロセッサ１０２は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＧＰＵ（Graphics Processing Unit）などで構成される。プロセッサ１０２としては、複数のコアを有する構成を採用してもよいし、プロセッサ１０２を複数配置してもよい。チップセット１０４は、プロセッサ１０２および周辺エレメントを制御することで、制御装置１００における全体としての処理を実現する。
【００５７】
揮発性メモリ１０６は、たとえば、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）など、各種の揮発性記憶装置によって構成される。
【００５８】
不揮発性メモリ１０８は、たとえば、バッテリを保持するＳＲＡＭ（Static Random Access Memory）、ＭＲＡＭ（Magnetoresistive Random Access Memory）、ＦＲＡＭ（Ferroelectric Random Access Memory）（登録商標）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）、ＮＯＲ型フラッシュメモリ、およびＮＡＮＤ型フラッシュメモリなど、各種の不揮発性記憶装置によって構成される。
【００５９】
ストレージ１５０は、たとえば、ＳＳＤなどの大容量の不揮発性記憶装置によって構成され、チップセット内のＩ／Ｆ（interface）１４２との間で通信するためのＩ／Ｆ１５２と、データを記憶する記憶領域１５６と、記憶領域１５６内のデータの読み出しや書き込みなどの処理を実行するコントローラ１５４とを含む。
【００６０】
不揮発性メモリ１０８またはストレージ１５０は、図１における記憶領域１１０２の機能を有する。システムデータやユーザデータのデータ量が比較的小さい小型の制御装置１００であれば、不揮発性メモリ１０８内の記憶領域にシステムデータやユーザデータが記憶される。この場合、制御装置１００は、ストレージ１５０を備えていなくてもよい。一方、システムデータやユーザデータのデータ量が比較的大きい中型または大型の制御装置１００であれば、チップセット１０４にストレージ１５０が接続されるとともに、ストレージ１５０内の記憶領域１５６にシステムデータやユーザデータが記憶される。
【００６１】
プロセッサ１０２は、不揮発性メモリ１０８やストレージ１５０に格納された各種プログラムを読み出して、揮発性メモリ１０６に展開して実行することで、制御対象に応じた制御、および、各種処理を実現する。
【００６２】
上位ネットワークコントローラ１１０は、上位ネットワーク６を介して、サーバ装置３００や表示装置４００（図１参照）などとの間のデータの遣り取りを制御する。サポート装置インターフェース１１２は、たとえば、ＵＳＢ（Universal Serial Bus）接続を介して、またはＥｔｈｅｒＮｅｔ通信によって、サポート装置２００との間のデータの遣り取りを制御する。
【００６３】
メモリカードインターフェース１１４は、メモリカード１１６が着脱可能に構成されており、メモリカード１１６に対して各種データを書き込み、メモリカード１１６から各種データ（ユーザプログラムなど）を読み出すことが可能になっている。
【００６４】
内部バスコントローラ１２０は、制御装置１００に装着されるＩ／Ｏユニット１２２との間のデータの遣り取りを制御する。フィールドネットワークコントローラ１３０は、フィールドネットワーク２を介したフィールドデバイス５００との間のデータの遣り取りを制御する。
【００６５】
図４には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（たとえば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。あるいは、制御装置１００の主要部を、汎用的なアーキテクチャに従うハードウェア（たとえば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００６６】
＜Ｃ．サポート装置２００のハードウェア構成例＞
次に、本実施の形態に係るサポート装置２００のハードウェア構成例について説明する。図５は、本実施の形態に係るサポート装置２００のハードウェア構成例を示す模式図である。サポート装置２００は、一例として、汎用的なアーキテクチャに従うコンピュータがプログラムを実行することで実現される。
【００６７】
図５に示すように、サポート装置２００は、プロセッサ２０２と、揮発性メモリ２０４と、不揮発性メモリ２０６と、ＨＤＤ（Hard Disk Drive）２０８と、ディスプレイ２５０と、キーボード２１０と、マウス２１２と、メモリカードインターフェース２１４と、制御装置インターフェース２１８とを備える。これらのコンポーネントは、プロセッサバス２２０を介して相互に通信可能に接続されている。
【００６８】
プロセッサ２０２は、ＣＰＵやＧＰＵなどで構成され、不揮発性メモリ２０６やＨＤＤ２０８に格納されたプログラム（一例として、サポートプログラム２３０）を読み出して、揮発性メモリ２０４に展開して実行することで、各種処理を実現する。
【００６９】
図５の例では、プロセッサ２０２が所定のプログラムを実行することで、サポート装置２００として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（たとえば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。
【００７０】
揮発性メモリ２０４は、ＤＲＡＭやＳＲＡＭなど、各種の揮発性記憶装置によって構成される。不揮発性メモリ２０６は、ＳＳＤなど、各種の不揮発性記憶装置によって構成される。
【００７１】
不揮発性メモリ２０６やＨＤＤ２０８には、基本的な機能を実現するためのＯＳに加えて、サポート装置２００としての機能を提供するためのサポートプログラム２３０が格納されている。なお、図５の例では、ＨＤＤ２０８にサポートプログラム２３０が格納されている。サポートプログラム２３０には、コンピュータをサポート装置２００として機能させるための命令が規定されている。
【００７２】
ディスプレイ２５０は、プロセッサ２０２からの処理結果などを出力する。キーボード２１０やマウス２１２は、ユーザプログラムなどの各種のプログラムを作成したり、制御対象に応じた設定値などをユーザが入力したりするときに、ユーザ操作を受け付ける。
【００７３】
メモリカードインターフェース２１４は、メモリカード１１６が着脱可能に構成されており、メモリカード１１６に対して各種データ（ユーザプログラムなど）を書き込み、メモリカード１１６から各種データを読み出すことが可能になっている。
【００７４】
制御装置インターフェース２１８は、ネットワークを介して、制御装置１００などの任意の外部装置などとの間でデータを遣り取りする。
【００７５】
なお、図示は省略するが、サポート装置２００は、光学ドライブを備えていてもよく、コンピュータが読み取り可能なプログラムを非一過的に格納するＤＶＤ（Digital Versatile Disc）などの光学記録媒体から、その中に格納されたプログラム（サポートプログラムなど）が読み取られて不揮発性メモリ２０６やＨＤＤ２０８などにインストールされる。
【００７６】
サポート装置２００で実行されるサポートプログラム２３０などは、コンピュータ読取可能なＤＶＤを介してインストールされてもよいが、ネットワーク上のサーバ装置３００などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置２００が提供する機能は、ＯＳが提供するモジュールの一部を利用する形で実現される場合もある。
【００７７】
＜Ｄ．データ不能化の一例＞
図６〜図８を参照しながら、データ（特にユーザデータ）の不能化について説明する。図６〜図８は、本実施の形態に係る制御装置１００によるデータ不能化の一例を示す模式図である。なお、以下で説明するデータ不能化の処理は、制御装置１００のプロセッサ１０２がデータ不能化プログラム１０１を実行することで実現される。
【００７８】
先ず、図６および図７を参照しながら、図１における記憶領域１１０２としてストレージ１５０が適用された場合におけるデータの不能化について説明する。
【００７９】
図６（Ａ）に示すように、メモリカード１１６は、データを不能化するためのデータ不能化プログラムとともに、データを実行するための環境を提供するＢｏｏｔイメージおよびＯＳイメージを記憶する。これらのプログラムやデータは、サポート装置２００によって作成され、メモリカード１１６に格納される。さらに、メモリカード１１６は、データを一時的に格納するための退避領域を有する。
【００８０】
図６（Ｂ）に示すように、メモリカード１１６が制御装置１００に装着されると、Ｂｏｏｔイメージによってデータ不能化の処理が開始され、ＯＳおよびデータ不能化プログラムが揮発性メモリ１０６に展開されて実行される。なお、データ不能化プログラムなどのデータ不能化に係るデータは、メモリカード１１６に格納されるものに限らず、ＵＳＢメモリに格納されてもよいし、制御装置１００に内蔵された記憶デバイスに格納されてもよい。
【００８１】
図６（Ｃ）に示すように、ストレージ１５０に格納されたデータのうち、システムデータが退避領域に格納される。これにより、ストレージ１５０およびメモリカード１１６の両方にシステムデータが記憶されることになる。
【００８２】
図７（Ｄ）に示すように、揮発性メモリ１０６に展開されたデータ不能化プログラムが実行されることで、ストレージ１５０に格納されていたシステムデータおよびユーザデータを含む全てのデータが完全に消去される。具体的には、ストレージ１５０の一例であるＳＳＤの記憶システム上、プロセッサ１０２は、ストレージ１５０に格納されたデータのうち、ユーザデータが書かれたセルを特定することができない。このため、たとえば、プロセッサ１０２は、ＳＡＴＡ（Serial AT Attachment）規格で定められたデータを消去するためのコマンドを使用することで、ストレージ１５０に格納されたデータを完全に消去する（たとえば、データをクリアする）。これにより、ストレージ１５０であるＳＳＤのSecure Erase機能やEnhanced Secure Erase機能によって、システムデータおよびユーザデータが消去されて不能化される。
【００８３】
図７（Ｅ）に示すように、メモリカード１１６内の退避領域に退避していたシステムデータが、ストレージ１５０に戻され、再びストレージ１５０によって記憶される。これにより、ストレージ１５０に記憶されたデータのうち、システムデータが維持される一方で、ユーザデータが不能化されることになる。なお、揮発性メモリ１０６に展開されたＯＳおよびデータ不能化プログラムは、揮発性メモリ１０６に対する電力供給が遮断されることで、消去される。
【００８４】
次に、図８を参照しながら、図１における記憶領域１１０２として不揮発性メモリ１０８が適用された場合におけるデータの不能化について説明する。
【００８５】
図８（Ａ）に示すように、メモリカード１１６は、データ不能化プログラムとともに、ＢｏｏｔイメージおよびＯＳイメージを記憶する。
【００８６】
図８（Ｂ）に示すように、メモリカード１１６が制御装置１００に装着されると、Ｂｏｏｔイメージによってデータ不能化の処理が開始され、ＯＳおよびデータ不能化プログラムが揮発性メモリ１０６に展開されて実行される。
【００８７】
図８（Ｃ）に示すように、揮発性メモリ１０６に展開されたデータ不能化プログラムが実行されることで、不揮発性メモリ１０８に格納されていたデータのうち、ユーザデータが選択されて不能化される。具体的には、不揮発性メモリ１０８の一例であるＥＥＰＲＯＭの記憶システム上、プロセッサ１０２は、不揮発性メモリ１０８に格納されたデータのうち、所望のデータを特定して、読み出しや書き込みなどの処理を実行することができる。このため、たとえば、プロセッサ１０２は、不揮発性メモリ１０８に格納されていたデータのうち、ユーザデータを直接的に選択して不能化することができる。たとえば、プロセッサ１０２は、米国国防省が規定するデータを消去するための規格（Unclassified Computer Hard Drive Disposition）に従って、０や１、あるいは他の任意の文字を用いて、ユーザデータを３回上書きする。これにより、不揮発性メモリ１０８に記憶されたデータのうち、システムデータが維持される一方で、ユーザデータが不能化されることになる。
【００８８】
上述したようにして、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置１００が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置１００固有のシステムデータは維持されるため、たとえば、制御装置１００がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【００８９】
＜Ｅ．不能化するユーザデータの選択の一例＞
図９を参照しながら、不能化するユーザデータの選択について説明する。図９は、本実施の形態に係る制御装置１００による不能化するユーザデータの選択の一例を示す模式図である。
【００９０】
図９に示すように、サポート装置２００は、不能化プログラムを作成するための画面において、不能化の対象となるユーザデータの内容を選択するためのユーザインターフェースを提供する。
【００９１】
具体的には、サポート装置２００のディスプレイ２５０には、不能化するユーザデータの範囲を指定するための選択欄２５１と、ユーザプログラムを不能化することを指定するための選択欄２５２と、システムにおける構成情報を不能化することを指定するための選択欄２５３と、各種処理に係る保持変数を不能化することを指定するための選択欄２５４と、イベントログを不能化することを指定するための選択欄２５５と、不能化プログラムを作成することを指定するための確定欄２５６とが表示される。
【００９２】
たとえば、選択欄２５１においては、「All」または「Select Erase Part」を選択することができ、「All」が選択されると、ユーザデータに含まれる全てのデータを不能化するための命令が不能化プログラムに規定される。
【００９３】
一方、「Select Erase Part」が選択されると、選択欄２５２〜選択欄２５５などによって選択されたデータのみを不能化する命令が不能化プログラムに規定される。たとえば、選択欄２５２でチェックが付けられると、ユーザプログラムを不能化するための命令が不能化プログラムに規定される。選択欄２５３でチェックが付けられると、構成情報を不能化するための命令が不能化プログラムに規定される。選択欄２５４でチェックが付けられると、保持変数を不能化するための命令が不能化プログラムに規定される。選択欄２５５でチェックが付けられると、イベントログを不能化するための命令が不能化プログラムに規定される。なお、エラー情報やユニットの設定情報、セキュリティ情報など、その他のデータについても、サポート装置２００を用いて不能化の対象とすることができる。
【００９４】
確定欄２５６にポインタを合わせてマウス２１２がクリックされると、設定された不能化に係る内容を規定する不能化プログラムが作成され、メモリカード１１６に書き出される。なお、作成された不能化プログラムは、ＵＳＢメモリに書き出されてもよいし、制御装置１００に内蔵された記憶デバイスに書き出されてもよい。
【００９５】
これにより、ユーザデータに含まれるデータのうち、所望のデータのみを不能化することができるため、ユーザデータの不能化時における利便性が向上する。
【００９６】
＜Ｆ．データ不能化の実行条件の一例＞
図１０および図１１を参照しながら、データ不能化の実行条件の一例について説明する。図１０および図１１は、本実施の形態に係る制御装置１００によるデータ不能化の実行条件の一例を示す模式図である。
【００９７】
図１０（Ａ）に示すように、制御装置１００に設けられたＤＩＰ（Dual In-line Package）スイッチを含む操作盤１６０によって、通常モードおよび不能化モードのうち、いずれかを起動させることができる。たとえば、Ｎｏ．１〜Ｎｏ．４の全てのＤＩＰスイッチがＯＮに設定された場合、制御装置１００が通常モードで起動する。この場合、制御装置１００は、システムデータおよびユーザデータに基づいて、制御対象を制御する処理を実行可能となる。一方、Ｎｏ．１およびＮо．３がＯＮに設定されるとともにＮｏ．２およびＮо．４がＯＦＦに設定された場合、制御装置１００が不能化モードで起動する。この場合、制御装置１００は、システムデータを維持する一方でユーザデータを不能化する処理を実行可能となる。
【００９８】
上述したように、制御装置１００は、ユーザデータを不能化させることができるが、第三者による故意、またはユーザが意図せずにユーザデータを不能化させてしまうような事態を防止するための仕組みが必要である。つまり、本実施の形態に係る制御装置１００は、予め定められた実行者のみがユーザデータを不能化させることができるような仕組みを有する。
【００９９】
具体的には、図１０（Ｂ）に示すように、制御装置１００は、通常モードや不能化モードにおける起動用のＤＩＰスイッチの他に、パスワード認証用のＤＩＰスイッチを含む操作盤１６５を備えていてもよい。たとえば、上述したように、Ｎｏ．１〜Ｎｏ．４のＤＩＰスイッチのＯＮ／ＯＦＦを切り替えることで、通常モードまたは不能化モードで制御装置１００が起動させることができる一方で、ＮＯ．５〜ＮＯ．８のＤＩＰスイッチのＯＮ／ＯＦＦを切り替えることで、予め設定したパスワードを入力することができる。このように、ＮＯ．５〜ＮＯ．８のＤＩＰスイッチによって入力されたパスワードが予め設定したパスワードと一致することを条件に、制御装置１００が起動するようにしてもよい。
【０１００】
また、図１０（ｃ）に示すように、制御装置１００にパスワード認証用の物理的に押圧可能なスイッチが設けられたり、表示装置４００に設けられたディスプレイにパスワード認証用の画面４１０が表示されたりしてもよい。このようにすれば、実行者は、物理的に押圧可能なスイッチや画面４１０に表示された押下可能なスイッチアイコンを操作することで、認証用のパスワードを入力することができる。
【０１０１】
その他、データの不能化について許可された実行者が有する識別情報（たとえば、ＩＤ）を予め設定しておき、実行者が有する識別情報を認証するためのセキュリティカード（たとえば、ＲＦＩＤ（radio frequency identifier）機能を有するＩＤカード）を制御装置１００の認証部にかざすことで、実行者の識別情報が認証されてもよい。そして、制御装置１００は、識別情報の認証が取れたことを条件に、データ不能化に係る処理を実行してもよい。
【０１０２】
また、制御装置１００は、生体認証機能を有していてもよく、制御装置１００は、データ不能化が許可された実行者の生体情報の認証が取れたことを条件に、データ不能化に係る処理を実行してもよい。生体認証としては、指紋認証、顔認証、および音声認証など、一般的に用いられている認証技術を用いることができる。
【０１０３】
また、図１１に示すように、不能化プログラムに係るデータから生成されるハッシュ値を利用して、データの不能化について許可された実行者を認証してもよい。具体的には、サポート装置２００によって不能化プログラムが作成される際に、不能化プログラムからハッシュ値が生成される。不能化プログラムおよびハッシュ値は、メモリカード１１６に書き出される一方で、制御装置１００にも転送される。メモリカード１１６が制御装置１００に装着されることで不能化プログラムが実行される際には、メモリカード１１６に格納されたハッシュ値と、制御装置１００に格納されたハッシュ値とが比較され、両者が一致することを条件に、制御装置１００は、データ不能化に係る処理を実行してもよい。
【０１０４】
このように、所定の実行条件が成立しない限りは制御装置１００に記憶されたユーザデータが不能化されることがないため、第三者による故意、または実行者が意図せずにユーザデータを不能化させてしまうような事態を防止することができる。
【０１０５】
＜Ｇ．データ不能化の進捗状況の報知の一例＞
図１２を参照しながら、データ不能化の進捗状況の報知の一例について説明する。図１２は、本実施の形態に係る制御装置１００によるデータ不能化の進捗状況の報知の一例を示す模式図である。なお、図１２では、ストレージ１５０がシステムデータおよびユーザデータを記憶する例について説明するが、不揮発性メモリ１０８がシステムデータおよびユーザデータを記憶する場合についても、データ不能化の進捗状況の報知の技術を適用することができる。
【０１０６】
図１２（Ａ）に示すように、データ不能化の進捗状況が何らかの報知部によって報知されてもよい。具体的には、メモリカード１１６には、Ｗｅｂブラウザなどに対して画像の表示を提供するためのＷｅｂサーバ、およびＷｅｂサーバ上でデータ不能化に係る処理の結果を表示するためのＣＧＩ（Common Gateway Interface）が格納されている。ＷｅｂサーバおよびＣＧＩは、データ不能化プログラムとともに揮発性メモリ１０６に展開される。サポート装置２００や表示装置４００、Ｗｅｂブラウザには、Ｗｅｂサーバを介してデータ不能化の進捗状況を特定するためのデータが送信される。そして、サポート装置２００や表示装置４００、Ｗｅｂブラウザにおいては、データ不能化の進捗状況を特定するための情報が画面上に表示される。
【０１０７】
また、図１２（Ｂ）に示すように、制御装置１００に設けられたＬＥＤ（Light Emitting Diode）などの点灯部１７０によって、データ不能化の進捗状況が報知されてもよい。たとえば、点灯部１７０は、７セグメントディスプレイによって構成され、パーセンテージによってデータ不能化の進捗状況を表示するとともに、完了時には「ＯＫ」と表示し、エラー時には「ＮＧ」と表示してもよい。
【０１０８】
このように、ユーザデータの不能化の進捗状況を実行者が把握することができるため、たとえば、データ不能化の実行中に実行者によって電源が遮断されてしまうような事態を防止することができる。
【０１０９】
＜Ｈ．不能化ログの取得の一例＞
図１３を参照しながら、データ不能化が完了したことを示す不能化ログの取得の一例について説明する。図１３は、本実施の形態に係る制御装置１００による不能化ログの取得の一例を示す模式図である。
【０１１０】
図１３に示すように、先ず、揮発性メモリ１０６に展開されたデータ不能化プログラムが実行されることで、不能化コマンド（たとえば、ＳＡＴＡコマンド）がコントローラ１５４に送信される（ステップａ）。コントローラ１５４は、不能化コマンドに従って、ユーザデータを不能化する（ステップｂ）。さらに、コントローラ１５４は、ユーザデータを不能化したことを示す終了フラグをセットする（ステップｃ）。
【０１１１】
次に、揮発性メモリ１０６は、コントローラ１５４においてセットされた終了フラグを読み出し、記憶する（ステップｄ）。一方、揮発性メモリ１０６に展開されたデータ不能化プログラムが実行されることで、他のデバイス１９０に記憶された他のデータも不能化される（ステップｅ）。他のデバイス１９０には、たとえば、不揮発性メモリ１０８が適用される。つまり、プロセッサ１０２は、データ不能化プログラムを実行することで、ストレージ１５０に格納されたユーザデータとともに、他のデバイス１９０に格納された他のデータも不能化する。
【０１１２】
そして、プロセッサ１０２は、ストレージ１５０から取得した終了フラグと、他のデバイスにおけるデータ不能化の実行結果の情報とに基づき、不能化ログを生成する（ステップｆ）。なお、プロセッサ１０２は、終了フラグおよび他のデバイスにおけるデータ不能化の実行結果の情報の他に、データ不能化プログラムの開始時間や終了時間などに基づいて、不能化ログを生成してもよい。生成された不能化ログは、メモリカード１１６に転送され（ステップｇ）、メモリカード１１６に記憶される（ステップｈ）。
【０１１３】
これにより、ユーザデータが不能化されたことを示す不能化ログが記録として残るため、ユーザデータが確実に不能化されたという証拠を残すことができる。
【０１１４】
＜Ｉ．不能化ログの記憶の一例＞
図１４を参照しながら、不能化ログの記憶の一例について説明する。図１４は、本実施の形態に係る制御装置１００による不能化ログの記憶の一例を示す模式図である。
【０１１５】
図１３で示したようにしてメモリカード１１６に記憶された不能化ログは、不能化の対象となったユーザデータ、不能化の方法、不能化の結果、エラーの有無、不能化の開示時間や終了時間など、不能化に関する情報を含む。
【０１１６】
このような不能化ログは、メモリカード１１６に記憶されるものに限らず、揮発性メモリ１０６に展開されたＷｅｂサーバを介してサポート装置２００に送信され、サポート装置２００によって記憶されてもよい。このようにすれば、メモリカード１１６に限らず、サポート装置２００によってもユーザデータが確実に不能化されたという証拠を残すことができる。
【０１１７】
＜Ｊ．不能化ログの改ざん防止の一例＞
図１５〜図１７を参照しながら、不能化ログの改ざん防止について説明する。図１５〜図１７は、本実施の形態に係る制御装置１００による不能化ログの改ざん防止の一例を示す模式図である。
【０１１８】
図１５に示すように、制御装置１００は、デジタル署名を利用して不能化ログの改ざんを防止してもよい。
【０１１９】
具体的には、制御装置１００は、ＴＰＭ（Trusted Platform Module）などのセキュリティデバイス１８０を備えていてもよい。セキュリティデバイス１８０は、揮発性メモリ１０６に記憶された不能化ログに基づいて、秘密鍵を用いてデジタル署名を生成する（ステップａ）。生成されたデジタル署名は、不能化ログとともにサポート装置２００に転送される（ステップｂ）。サポート装置２００においては、秘密鍵に対応付けられた公開鍵を用いてデジタル署名を検証することで、転送された不能化ログが改ざんされていないことを確認する（ステップｃ）。
【０１２０】
たとえば、制御装置１００は、不能化ログからハッシュ値を生成し、秘密鍵を用いて暗号化することでデジタル署名を生成する。サポート装置２００は、公開鍵を用いて制御装置１００から転送されたデジタル署名を復号化することでハッシュ値を生成し、制御装置１００から転送された不能化ログに基づき自身で生成したハッシュ値と一致するか否かを判定する。制御装置１００は、両者が一致すれば、不能化ログが改ざんされていないと判断することができる。
【０１２１】
また、図１６に示すように、制御装置１００は、パスワードによる認証を利用して不能化ログの改ざんを防止してもよい。
【０１２２】
具体的には、データの不能化について許可された実行者は、サポート装置２００を用いて予めパスワードを設定する。制御装置１００は、不能化ログの使用や閲覧を許可する際にパスワード認証を行い、実行者によって予め決められたパスワードが入力された場合に、不能化ログの使用や閲覧を許可してもよい。
【０１２３】
また、図１７に示すように、制御装置１００は、データ不能化が完了したことを証明するエビデンスを残すことで、不能化ログの改ざんを防止してもよい。
【０１２４】
具体的には、制御装置１００は、セキュリティデバイス１８０によって、揮発性メモリ１０６に記憶された不能化ログに基づいて、秘密鍵を用いてデジタル署名を生成する（ステップａ）。さらに、制御装置１００は、不能化ログと、シリアル番号やロット番号などの個体情報とに基づきハッシュ値を生成する（ステップｂ）。
【０１２５】
ユーザは、不能化ログ、および生成されたハッシュ値を制御装置１００から取得し（ステップｃ）、時刻認証局（ＴＳＡ：Time Stamping Authority）にハッシュ値を転送する（ステップｄ）。ＴＳＡにおいては、ハッシュ値に時刻情報を付加したものをタイムスタンプトークンとして発行し（ステップｅ）、タイムスタンプトークンをユーザ（たとえば、データの不能化について許可された実行者）に転送する（ステップｆ）。
【０１２６】
ユーザは、不能化ログとともにタイムスタンプトークンをサーバ装置３００に転送する（ステップｇ）。一方、制御装置１００は、デジタル署名をサーバ装置３００に転送する（ステップｈ）。サーバ装置３００は、ユーザから取得した不能化ログおよびタイムスタンプトークンと、制御装置１００から取得したデジタル署名とを、データ不能化が完了したことを証明する不能化エビデンスとして記憶する（ステップｉ）。
【０１２７】
このように、制御装置１００は、不能化ログに基づき生成したデジタル署名を不能化エビデンスとしてサーバ装置３００に残してもよい。また、制御装置１００は、不能化ログと個体情報とに基づき生成したハッシュ値にタイムスタンプを付加し、そのタイムスタンプトークンを対応付けた不能化ログを不能化エビデンスとしてサーバ装置３００に残してもよい。なお、制御装置１００は、不能化ログと個体情報とに基づきデジタル署名を生成し、そのデジタル署名を不能化エビデンスとしてサーバ装置３００に残してもよい。
【０１２８】
このように、図１５〜図１７に示した方法によって、ユーザデータが確実に不能化されたという証拠である不能化ログが改ざんされてしまうような事態を防止することができる。
【０１２９】
＜Ｋ．データ不能化処理の一例＞
図１８を参照しながら、制御装置１００がデータ不能化プログラムに基づいて実行するデータ不能化処理について説明する。図１８は、本実施の形態に係る制御装置１００が実行するデータ不能化処理のフローチャートである。なお、図１８では、ストレージ１５０にシステムデータおよびユーザデータが記憶された場合におけるデータ不能化処理の一例が示されている。また、図１８に示すデータ不能化処理は、主に制御装置１００のプロセッサ１０２によって実行される。
【０１３０】
図１８に示すように、制御装置１００は、データ不能化を実行するための実行条件が成立したか否かを判定する（Ｓ１）。具体的には、制御装置１００は、図１０および図１１を用いて説明した所定の実行条件が成立したか否かを判定する。
【０１３１】
制御装置１００は、実行条件が成立していない場合（Ｓ１でＮＯ）、本処理を終了する。一方、制御装置１００は、実行条件が成立した場合（Ｓ１でＹＥＳ）、ストレージ１５０に記憶されたシステムデータをメモリカード１１６の退避領域に記憶させる（Ｓ２）。
【０１３２】
次に、制御装置１００は、ストレージ１５０に記憶されたシステムデータおよびユーザデータをＳＡＴＡコマンドなどに基づいて不能化する（Ｓ３）。その後、制御装置１００は、メモリカード１１６の退避領域に退避させていたシステムデータをストレージ１５０に戻して記憶し（Ｓ４）、本処理を終了する。
【０１３３】
このように、データ不能化プログラムに基づくデータ不能化処理によって、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置１００が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置１００固有のシステムデータは維持されるため、たとえば、制御装置１００がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【０１３４】
なお、本実施の形態においては、図１に示すように、制御装置１００が不能化部１１０３を有していたが、これに限らない。たとえば、サポート装置２００が不能化部１１０３と同様の機能を有する不能化部を備えていてもよく、この場合、サポート装置２００によるデータ不能化処理によって、制御装置１００に記憶されたユーザデータが不能化されてもよい。
【０１３５】
＜Ｌ．付記＞
以上のように、本実施の形態では以下のような開示を含む。
【０１３６】
（構成１）
制御対象（５００）を制御する制御装置（１００）であって、
前記制御対象を制御するための処理を実行する制御部（１１０１）と、
前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域（１１０２）と、
前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化する不能化部（１１０３）とを備える、制御装置（１００）。
【０１３７】
（構成２）
前記不能化部は、退避領域に前記システムデータのコピーを記憶させた後に前記記憶領域に記憶された前記システムデータおよび前記ユーザデータを不能化し、その後、前記退避領域に記憶された前記システムデータを前記記憶領域に記憶させる、構成１の制御装置（１００）。
【０１３８】
（構成３）
前記不能化部は、前記記憶領域に記憶された前記ユーザデータに含まれるデータのうち、ユーザによって選択されたデータを不能化する、構成１または構成２の制御装置（１００）。
【０１３９】
（構成４）
前記不能化部は、所定の実行条件が成立したときに、前記記憶領域に記憶された前記ユーザデータを不能化する、構成１〜構成３のいずれかの制御装置（１００）。
【０１４０】
（構成５）
前記不能化部による前記ユーザデータの不能化の進捗状況を報知するための処理を実行する、構成１〜構成４のいずれかの制御装置（１００）。
【０１４１】
（構成６）
前記不能化部によって前記ユーザデータが不能化されたことを示すログを取得するための処理を実行する、構成１〜構成５の制御装置（１００）。
【０１４２】
（構成７）
前記ログが改ざんされることを防止するための処理を実行する、構成６の制御装置（１００）。
【０１４３】
（構成８）
制御対象（５００）を制御する制御装置（１００）によって実行されるデータを不能化するためのデータ不能化プログラム（１０１）であって、
前記制御装置は、前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域（１１０２）を備え、
前記データ不能化プログラムは、コンピュータ（１０２）に、
所定の実行条件が成立したか否かを判定させるステップ（Ｓ１）と、
前記所定の実行条件が成立した場合に、前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化させるステップ（Ｓ２，Ｓ３，Ｓ４）とを含む、データ不能化プログラム。
【０１４４】
（構成９）
制御対象（５００）を制御する制御装置（１００）と当該制御装置を支援するサポート装置（２００）とを備える制御システム（１）であって、
前記制御対象を制御するための処理を実行する制御部（１１０１）と、
前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域（１１０２）と、
前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化する不能化部（１１０３）とを備える、制御システム（１）。
【０１４５】
＜Ｍ．利点＞
本実施の形態に係る制御システム１によれば、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置１００が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置１００固有のシステムデータは維持されるため、たとえば、制御装置１００がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【０１４６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４７】
１  制御システム、２  フィールドネットワーク、６  上位ネットワーク、１００  制御装置、１０１  データ不能化プログラム、１０２，２０２  プロセッサ、１０４  チップセット、１０６，２０４  揮発性メモリ、１０８，２０６  不揮発性メモリ、１１０  上位ネットワークコントローラ、１１２  サポート装置インターフェース、１１４，２１４  メモリカードインターフェース、１１６  メモリカード、１２０  内部バスコントローラ、１２２  Ｉ／Ｏユニット、１３０  フィールドネットワークコントローラ、１５０  ストレージ、１５４  コントローラ、１５６，１１０２  記憶領域、１６０，１６５  操作盤、１７０  点灯部、１８０  セキュリティデバイス、１９０  他のデバイス、２００  サポート装置、２１０  キーボード、２１２  マウス、２１８  制御装置インターフェース、２２０  プロセッサバス、２３０  サポートプログラム、２５０  ディスプレイ、２５１，２５２，２５３，２５４，２５５  選択欄、２５６  確定欄、３００  サーバ装置、４００  表示装置、４１０  画面、５００  フィールドデバイス、５２０  サーボドライバ、５２２  サーボモータ、１１０１  制御部、１１０３  不能化部。
【図１】
2020191004.tif 000003
【図２】
2020191004.tif 000004
【図３】
2020191004.tif 000005
【図４】
2020191004.tif 000006
【図５】
2020191004.tif 000007
【図６】
2020191004.tif 000008
【図７】
2020191004.tif 000009
【図８】
2020191004.tif 000010
【図９】
2020191004.tif 000011
【図１０】
2020191004.tif 000012
【図１１】
2020191004.tif 000013
【図１２】
2020191004.tif 000014
【図１３】
2020191004.tif 000015
【図１４】
2020191004.tif 000016
【図１５】
2020191004.tif 000017
【図１６】
2020191004.tif 000018
【図１７】
2020191004.tif 000019
【図１８】
2020191004.tif 000020