IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ オムロン株式会社の特許一覧

特許7400215制御装置、データ不能化プログラム、および制御システム
<>
  • 特許-制御装置、データ不能化プログラム、および制御システム 図1
  • 特許-制御装置、データ不能化プログラム、および制御システム 図2
  • 特許-制御装置、データ不能化プログラム、および制御システム 図3
  • 特許-制御装置、データ不能化プログラム、および制御システム 図4
  • 特許-制御装置、データ不能化プログラム、および制御システム 図5
  • 特許-制御装置、データ不能化プログラム、および制御システム 図6
  • 特許-制御装置、データ不能化プログラム、および制御システム 図7
  • 特許-制御装置、データ不能化プログラム、および制御システム 図8
  • 特許-制御装置、データ不能化プログラム、および制御システム 図9
  • 特許-制御装置、データ不能化プログラム、および制御システム 図10
  • 特許-制御装置、データ不能化プログラム、および制御システム 図11
  • 特許-制御装置、データ不能化プログラム、および制御システム 図12
  • 特許-制御装置、データ不能化プログラム、および制御システム 図13
  • 特許-制御装置、データ不能化プログラム、および制御システム 図14
  • 特許-制御装置、データ不能化プログラム、および制御システム 図15
  • 特許-制御装置、データ不能化プログラム、および制御システム 図16
  • 特許-制御装置、データ不能化プログラム、および制御システム 図17
  • 特許-制御装置、データ不能化プログラム、および制御システム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】制御装置、データ不能化プログラム、および制御システム
(51)【国際特許分類】
   G05B 19/05 20060101AFI20231212BHJP
   G06F 11/34 20060101ALI20231212BHJP
【FI】
G05B19/05 Z
G06F11/34 176
【請求項の数】 6
(21)【出願番号】P 2019096961
(22)【出願日】2019-05-23
(65)【公開番号】P2020191004
(43)【公開日】2020-11-26
【審査請求日】2022-03-07
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】若林 大輔
(72)【発明者】
【氏名】永田 雄大
【審査官】影山 直洋
(56)【参考文献】
【文献】特開2017-079008(JP,A)
【文献】特開2017-037497(JP,A)
【文献】特開2015-232856(JP,A)
【文献】特開2012-178074(JP,A)
【文献】特開平08-249015(JP,A)
【文献】特開2015-076070(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
G06F 11/34
(57)【特許請求の範囲】
【請求項1】
制御対象を制御する制御装置であって、
前記制御対象を制御するための処理を実行する制御部と、
前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する第1記憶部の記憶領域と、
前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化するための不能化処理を実行する不能化部とを備え、
前記不能化部は、
前記不能化処理の実行者を認証したことを条件に、前記不能化処理を実行し、
前記不能化処理において、第2記憶部の退避領域に前記システムデータのコピーを記憶させた後に前記記憶領域に記憶された前記システムデータおよび前記ユーザデータを不能化させ、その後、前記退避領域に記憶された前記システムデータを前記記憶領域に記憶させ
前記不能化処理によって前記ユーザデータが不能化されたことを示すログは、前記退避領域に記憶されるとともに、前記制御装置を支援するサポート装置に出力され、
前記ログは、前記不能化処理の対象となった前記ユーザデータと、前記不能化処理の結果と、前記不能化処理の開始時間および終了時間とを含む、制御装置。
【請求項2】
前記不能化部は、前記記憶領域に記憶された前記ユーザデータに含まれるデータのうち、ユーザによって選択されたデータを不能化する、請求項1に記載の制御装置。
【請求項3】
前記不能化部による前記ユーザデータの不能化の進捗状況を報知するための処理を実行する、請求項1または請求項に記載の制御装置。
【請求項4】
前記ログが改ざんされることを防止するための処理を実行する、請求項1~請求項3のいずれか1項に記載の制御装置。
【請求項5】
制御対象を制御する制御装置によって実行されるデータを不能化するためのデータ不能化プログラムであって、
前記制御装置は、前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する第1記憶部の記憶領域を備え、
前記データ不能化プログラムは、コンピュータに、
前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化するための不能化処理を実行させるステップとを実行させ、
前記不能化処理を実行させるステップは、
前記不能化処理の実行者を認証したことを条件に、前記不能化処理を実行させるステップと、
前記不能化処理において、第2記憶部の退避領域に前記システムデータのコピーを記憶させた後に前記記憶領域に記憶された前記システムデータおよび前記ユーザデータを不能化させ、その後、前記退避領域に記憶された前記システムデータを前記記憶領域に記憶させるステップとを含み、
前記不能化処理によって前記ユーザデータが不能化されたことを示すログは、前記退避領域に記憶されるとともに、前記制御装置を支援するサポート装置に出力され、
前記ログは、前記不能化処理の対象となった前記ユーザデータと、前記不能化処理の結果と、前記不能化処理の開始時間および終了時間とを含む、データ不能化プログラム。
【請求項6】
制御対象を制御する制御装置と当該制御装置を支援するサポート装置とを備える制御システムであって、
前記制御対象を制御するための処理を実行する制御部と、
前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する第1記憶部の記憶領域と、
前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化するための不能化処理を実行する不能化部とを備え、
前記不能化部は、
前記不能化処理の実行者を認証したことを条件に、前記不能化処理を実行し、
前記不能化処理において、第2記憶部の退避領域に前記システムデータのコピーを記憶させた後に前記記憶領域に記憶された前記システムデータおよび前記ユーザデータを不能化させ、その後、前記退避領域に記憶された前記システムデータを前記記憶領域に記憶させ
前記不能化処理によって前記ユーザデータが不能化されたことを示すログは、前記退避領域に記憶されるとともに、前記制御装置を支援するサポート装置に出力され、
前記ログは、前記不能化処理の対象となった前記ユーザデータと、前記不能化処理の結果と、前記不能化処理の開始時間および終了時間とを含む、制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、データ不能化プログラム、および制御システムに関し、より特定的には、制御対象を制御する制御装置、制御装置によって実行されるデータを不能化するためのデータ不能化プログラム、および制御装置と当該制御装置を支援するサポート装置とを備える制御システムに関する。
【背景技術】
【0002】
多くの生産現場で使用される機械や設備などの制御対象は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す)などの制御装置によって制御される。一般的に、このような制御装置は、制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置固有のシステムデータを記憶する。
【0003】
たとえば、特開2018-151917号公報(特許文献1)には、ユーザによって作成されたユーザプログラム、および基本的な機能を実現するためのシステムプログラムを記憶するPLCが開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-151917号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示されたPLCは、システムプログラムを実行することで各種プログラムの実行環境を提供するとともに、ユーザプログラムを実行することで制御対象を制御することができる。一般的に、このユーザプログラムは、制御対象を制御するための情報としてユーザのノウハウが詰まっているが、PLCなどの制御装置が不要になった場合に、このようなユーザの情報資産を外部に流出させないように保護することについては何ら鑑みられていなかった。
【0006】
本発明は、上述したような課題を解決することを一つの目的とし、ユーザの情報資産を保護する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の一例に従えば、制御対象を制御する制御装置が提供される。制御装置は、制御対象を制御するための処理を実行する制御部と、制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置固有のシステムデータを記憶する記憶領域と、記憶領域に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化する不能化部とを備える。
【0008】
この開示によれば、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置固有のシステムデータは維持されるため、たとえば、制御装置がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【0009】
上述の開示において、不能化部は、退避領域にシステムデータのコピーを記憶させた後に記憶領域に記憶されたシステムデータおよびユーザデータを不能化し、その後、退避領域に記憶されたシステムデータを記憶領域に記憶させる。
【0010】
この開示によれば、一旦、システムデータおよびユーザデータを不能化することで確実にユーザデータを不能化し、その後、退避しておいたシステムデータを元の記憶領域に記憶させることで、システムデータを維持することができる。
【0011】
上述の開示において、不能化部は、記憶領域に記憶されたユーザデータに含まれるデータのうち、選択されたデータを不能化する。
【0012】
この開示によれば、ユーザデータに含まれるデータのうち、所望のデータのみを不能化することができるため、ユーザデータの不能化時における利便性が向上する。
【0013】
上述の開示において、不能化部は、所定の実行条件が成立したときに、記憶領域に記憶されたユーザデータを不能化する。
【0014】
この開示によれば、所定の実行条件が成立しない限りは記憶領域に記憶されたユーザデータが不能化されることがないため、第三者による故意、または実行者が意図せずにユーザデータを不能化させてしまうような事態を防止することができる。
【0015】
上述の開示において、制御装置は、不能化部によるユーザデータの不能化の進捗状況を報知するための処理を実行する。
【0016】
この開示によれば、ユーザデータの不能化の進捗状況を実行者が把握することができるため、たとえば、データ不能化の実行中に実行者によって電源が遮断されてしまうような事態を防止することができる。
【0017】
上述の開示において、制御装置は、不能化部によってユーザデータが不能化されたことを示すログを取得するための処理を実行する。
【0018】
この開示によれば、ユーザデータが不能化されたことを示す不能化ログが記録として残るため、ユーザデータが確実に不能化されたという証拠を残すことができる。
【0019】
上述の開示において、制御装置は、ログが改ざんされることを防止するための処理を実行する。
【0020】
この開示によれば、ユーザデータが確実に不能化されたという証拠が改ざんされてしまうような事態を防止することができる。
【0021】
本開示の別の一例に従えば、制御対象を制御する制御装置によって実行されるデータを不能化するためのデータ不能化プログラムが提供される。制御装置は、制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置固有のシステムデータを記憶する記憶領域を備える。データ不能化プログラムは、コンピュータに、所定の実行条件が成立したか否かを判定させるステップと、所定の実行条件が成立した場合に、記憶領域に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化させるステップとを含む。
【0022】
この開示によれば、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置固有のシステムデータは維持されるため、たとえば、制御装置がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【0023】
本開示の別の一例に従えば、制御対象を制御する制御装置と当該制御装置を支援するサポート装置とを備える制御システムが提供される。制御システムは、制御対象を制御するための処理を実行する制御部と、制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置固有のシステムデータを記憶する記憶領域と、記憶領域に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化する不能化部とを備える。
【0024】
この開示によれば、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置固有のシステムデータは維持されるため、たとえば、制御装置がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【図面の簡単な説明】
【0025】
図1】本実施の形態に係る制御装置の適用例を示す模式図である。
図2】本実施の形態に係る制御装置のリユースの一例を示す模式図である。
図3】本実施の形態に係る制御装置が記憶する管理情報の消去の一例を示す模式図である。
図4】本実施の形態に係る制御装置のハードウェア構成例を示す模式図である。
図5】本実施の形態に係るサポート装置のハードウェア構成例を示す模式図である。
図6】本実施の形態に係る制御装置によるデータ不能化の一例を示す模式図である。
図7】本実施の形態に係る制御装置によるデータ不能化の一例を示す模式図である。
図8】本実施の形態に係る制御装置によるデータ不能化の一例を示す模式図である。
図9】本実施の形態に係る制御装置による不能化するユーザデータの選択の一例を示す模式図である。
図10】本実施の形態に係る制御装置によるデータ不能化の実行条件の一例を示す模式図である。
図11】本実施の形態に係る制御装置によるデータ不能化の実行条件の一例を示す模式図である。
図12】本実施の形態に係る制御装置によるデータ不能化の進捗状況の報知の一例を示す模式図である。
図13】本実施の形態に係る制御装置による不能化ログの取得の一例を示す模式図である。
図14】本実施の形態に係る制御装置による不能化ログの記憶の一例を示す模式図である。
図15】本実施の形態に係る制御装置による不能化ログの改ざん防止の一例を示す模式図である。
図16】本実施の形態に係る制御装置による不能化ログの改ざん防止の一例を示す模式図である。
図17】本実施の形態に係る制御装置による不能化ログの改ざん防止の一例を示す模式図である。
図18】本実施の形態に係る制御装置が実行するデータ不能化処理のフローチャートである。
【発明を実施するための形態】
【0026】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0027】
<A.適用例>
本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る制御装置100の適用例を示す模式図である。
【0028】
図1に示すように、本実施の形態に係る制御システム1は、複数のデバイスが互いに通信可能に構成されたデバイス群を含む。典型的には、デバイスは、制御用のプログラムを実行する処理主体である制御装置100と、制御装置100に接続される周辺装置とを含み得る。
【0029】
制御装置100は、各種の設備や装置などの制御対象を制御する産業用コントローラに相当する。制御装置100は、制御演算を実行する一種のコンピュータであり、典型的には、PLC(プログラマブルコントローラ)として具現化されている。制御装置100には、フィールドネットワーク2を介してフィールドデバイス500に接続されている。制御装置100は、フィールドネットワーク2を介して、1または複数のフィールドデバイス500との間でデータを遣り取りする。
【0030】
制御装置100において実行される制御演算は、フィールドデバイス500において収集または生成されたデータを収集する処理、フィールドデバイス500に対する指令値などのデータを生成する処理、生成した出力データを対象のフィールドデバイス500へ送信する処理などを含む。
【0031】
フィールドネットワーク2は、定周期通信を行うバスまたはネットワークを採用することが好ましい。このような定周期通信を行うバスまたはネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。データの到達時間が保証される点において、EtherCAT(登録商標)が好ましい。
【0032】
フィールドネットワーク2には、任意のフィールドデバイス500を接続することができる。フィールドデバイス500は、フィールド側にあるロボットやコンベアなどに対して何らかの物理的な作用を与えるアクチュエータ、および、フィールドとの間で情報を遣り取りする入出力装置などを含む。
【0033】
図1に示す構成例においては、フィールドデバイス500は、複数のサーボドライバ520_1および520_2と、複数のサーボドライバ520_1および520_2の各々に接続された複数のサーボモータ522_1および522_2とを含む。フィールドデバイス500は、「制御対象」の一例である。
【0034】
サーボドライバ520_1および520_2は、制御装置100からの指令値(たとえば、位置指令値や速度指令値など)に従って、サーボモータ522_1および522_2のうちの対応するサーボモータを駆動する。このようにして、制御装置100は、フィールドデバイス500を制御することができる。
【0035】
制御装置100は、上位ネットワーク6を介して、他の装置にも接続されている。上位ネットワーク6には、一般的なネットワークプロトコルであるイーサネット(登録商標)やEtherNet/IP(登録商標)が採用されてもよい。より具体的には、上位ネットワーク6には、1または複数のサーバ装置300および1または複数の表示装置400が接続されてもよい。
【0036】
サーバ装置300としては、データベースシステム、製造実行システム(MES:Manufacturing Execution System)などが想定される。製造実行システムは、制御対象の製造装置や設備からの情報を取得して、生産全体を監視および管理するものであり、オーダ情報、品質情報、出荷情報などを扱うこともできる。これに限らず、情報系サービスを提供する装置を上位ネットワーク6に接続するようにしてもよい。情報系サービスとしては、制御対象の製造装置や設備からの情報を取得して、マクロ的またはミクロ的な分析などを行う処理が想定される。たとえば、制御対象の製造装置や設備からの情報に含まれる何らかの特徴的な傾向を抽出するデータマイニングや、制御対象の設備や機械からの情報に基づく機械学習を行うための機械学習ツールなどが想定される。
【0037】
表示装置400は、ユーザからの操作を受けて、制御装置100に対してユーザ操作に応じたコマンドなどを出力するとともに、制御装置100での演算結果などをグラフィカルに表示する。
【0038】
制御装置100には、サポート装置200が接続可能になっている。サポート装置200は、制御装置100が制御対象を制御するために必要な準備を支援する装置である。具体的には、サポート装置200は、制御装置100で実行されるプログラムの開発環境(プログラム作成編集ツール、パーサ、コンパイラなど)、制御装置100および制御装置100に接続される各種デバイスの構成情報(コンフィギュレーション)を設定するための設定環境、生成したプログラムを制御装置100へ出力する機能、制御装置100上で実行されるプログラムなどをオンラインで修正・変更する機能などを提供する。
【0039】
図1に示される制御システム1においては、制御装置100、サポート装置200、および表示装置400がそれぞれ別体として構成されているが、これらの機能の全部または一部を単一の装置に集約するような構成を採用してもよい。
【0040】
制御装置100は、制御対象を制御するためのデータとして、制御対象に応じてユーザによって作成されたユーザデータと、制御装置100固有のシステムデータとを記憶する。
【0041】
ユーザデータは、制御対象の製造装置や設備に応じてユーザによって作成され、制御対象を制御するための命令が規定されたユーザプログラムを少なくとも含む。その他、ユーザデータは、製品のレシピデータ、各種処理に係る保持変数、トレーサビリティデータ、スプールに係るデータ(SQLキューイング)、システムや装置の稼働に係るログ、エラー情報、システムにおける構成情報、ユニットの設定情報、セキュリティ情報(秘密鍵、アカウント情報、証明書、アクセス制御、パスワード)などを含む。ユーザは、サポート装置200などの設定ツールを用いることで、自身の知識や経験、取り決めなどに基づいて、所望のユーザデータを作成することができる。すなわち、ユーザデータは、ユーザのノウハウが詰まった情報資産である。
【0042】
システムデータは、基本的な機能を実現するためのプログラムであり、ユーザプログラムなどの各種プログラムを実行するための環境を提供するOSやファームウェアに関するデータを含む。
【0043】
上述したような構成を有する制御装置100は、一の生産現場のみで使用される場合に限らず、他の生産現場においても使用される。また、一の生産現場内においても複数の異なるラインで使用される場合もある。
【0044】
たとえば、図2に示すように、制御装置100のメーカによって、一の制御装置100が複数のユーザにリースされるようなビジネスが行われることがある。図2は、本実施の形態に係る制御装置のリユースの一例を示す模式図である。
【0045】
図2に示すように、制御装置100のメーカは、システムデータを構築するなどして制御装置100を設計した後、その制御装置100をエンドユーザAにリースする。エンドユーザAは、自身の知識や経験、取り決めなどに基づいて、所望のユーザプログラムを作成することで、制御対象に応じて制御装置100を設計する。エンドユーザAによって作成されたユーザプログラムは、たとえば、制御装置100が備えるSSD(Solid State Drive)などの不揮発性のストレージ(以下、SSD(Solid State Drive)など)やEEPROMなどの不揮発性のメモリに記憶される。そして、エンドユーザAは、制御装置100を生産現場で運用する。
【0046】
制御装置100が不要になると、エンドユーザAは、制御装置100をメーカに返却するが、メーカは、返却された制御装置100を他のエンドユーザBに再びリースする。このようにして、制御装置100が複数のユーザ間でリユースされることがあるが、エンドユーザAによって作成されたユーザプログラムや設定情報などのユーザデータが制御装置100に保持された状態で、制御装置100がエンドユーザBにリースされてしまうと、エンドユーザAの情報資産がエンドユーザBに漏洩する可能性がある。
【0047】
ここで、エンドユーザAは、サポート装置200などの設定ツールを用いることで、ストレージにおいてファイルシステム上で各種データを管理するための管理情報を消去することができる。
【0048】
たとえば、図3は、本実施の形態に係る制御装置100が記憶する管理情報の消去の一例を示す模式図である。図3(A)に示すように、ストレージは、ファイルシステムによってデータを管理しており、ファイルA、ファイルB、ファイルC、およびファイルDといった複数の管理情報を記憶する。各ファイルの管理情報には、1または複数のデータが対応付けられており、各データはストレージ内のデータエリアに格納されている。
【0049】
サポート装置200などの設定ツールによってストレージ内のメモリを消去する処理が行われた場合、ファイルシステムの管理情報は消去されるが、ストレージ内のデータエリアには、ユーザデータなどの実体が依然として保持されたままである。このような状態で制御装置100が他のユーザにリースされてしまうと、元の保有者であるユーザの資産情報であるユーザデータがリース先のユーザによって復元されてしまう虞がある。
【0050】
そこで、制御装置100を破棄またはリユースする際に、ユーザの情報資産(ユーザデータ)を外部に流出させないように保護するために、ユーザデータの実体を不能化させる仕組みが求められている。ここで、本実施の形態において、ユーザデータの「不能化」は、ユーザデータを消去すること、あるいは、ユーザデータを0や1、任意の文字などで上書きすることを含む。
【0051】
図1に戻り、制御装置100は、特徴的な機能部として、制御対象を制御するための処理を実行する制御部1101と、ユーザデータおよびシステムデータを記憶する記憶領域1102と、データ不能化プログラム101に基づきユーザデータを不能化する不能化部1103とを備える。
【0052】
制御部1101は、通常モードで制御装置100が起動されると、記憶領域1102に記憶されたシステムデータ、およびユーザデータに含まれるユーザプログラムに基づいて、制御対象を制御する。不能化部1103は、制御装置100を破棄したりリユースしたりするために不能化モードで制御装置100が起動されると、記憶領域1102に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化する。
【0053】
これにより、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置100が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置100固有のシステムデータは維持されるため、たとえば、制御装置100がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【0054】
<B.制御装置100のハードウェア構成例>
次に、本実施の形態に係る制御装置100のハードウェア構成例について説明する。図4は、本実施の形態に係る制御装置100のハードウェア構成例を示す模式図である。
【0055】
図4に示すように、制御装置100は、CPUユニットと称される演算処理部であり、プロセッサ102と、チップセット104と、揮発性メモリ106と、不揮発性メモリ108と、ストレージ150と、上位ネットワークコントローラ110と、サポート装置インターフェース112と、メモリカードインターフェース114と、内部バスコントローラ120と、フィールドネットワークコントローラ130とを含む。
【0056】
プロセッサ102は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などで構成される。プロセッサ102としては、複数のコアを有する構成を採用してもよいし、プロセッサ102を複数配置してもよい。チップセット104は、プロセッサ102および周辺エレメントを制御することで、制御装置100における全体としての処理を実現する。
【0057】
揮発性メモリ106は、たとえば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)など、各種の揮発性記憶装置によって構成される。
【0058】
不揮発性メモリ108は、たとえば、バッテリを保持するSRAM(Static Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、FRAM(Ferroelectric Random Access Memory)(登録商標)、EEPROM(Electrically Erasable Programmable Read Only Memory)、NOR型フラッシュメモリ、およびNAND型フラッシュメモリなど、各種の不揮発性記憶装置によって構成される。
【0059】
ストレージ150は、たとえば、SSDなどの大容量の不揮発性記憶装置によって構成され、チップセット内のI/F(interface)142との間で通信するためのI/F152と、データを記憶する記憶領域156と、記憶領域156内のデータの読み出しや書き込みなどの処理を実行するコントローラ154とを含む。
【0060】
不揮発性メモリ108またはストレージ150は、図1における記憶領域1102の機能を有する。システムデータやユーザデータのデータ量が比較的小さい小型の制御装置100であれば、不揮発性メモリ108内の記憶領域にシステムデータやユーザデータが記憶される。この場合、制御装置100は、ストレージ150を備えていなくてもよい。一方、システムデータやユーザデータのデータ量が比較的大きい中型または大型の制御装置100であれば、チップセット104にストレージ150が接続されるとともに、ストレージ150内の記憶領域156にシステムデータやユーザデータが記憶される。
【0061】
プロセッサ102は、不揮発性メモリ108やストレージ150に格納された各種プログラムを読み出して、揮発性メモリ106に展開して実行することで、制御対象に応じた制御、および、各種処理を実現する。
【0062】
上位ネットワークコントローラ110は、上位ネットワーク6を介して、サーバ装置300や表示装置400(図1参照)などとの間のデータの遣り取りを制御する。サポート装置インターフェース112は、たとえば、USB(Universal Serial Bus)接続を介して、またはEtherNet通信によって、サポート装置200との間のデータの遣り取りを制御する。
【0063】
メモリカードインターフェース114は、メモリカード116が着脱可能に構成されており、メモリカード116に対して各種データを書き込み、メモリカード116から各種データ(ユーザプログラムなど)を読み出すことが可能になっている。
【0064】
内部バスコントローラ120は、制御装置100に装着されるI/Oユニット122との間のデータの遣り取りを制御する。フィールドネットワークコントローラ130は、フィールドネットワーク2を介したフィールドデバイス500との間のデータの遣り取りを制御する。
【0065】
図4には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
【0066】
<C.サポート装置200のハードウェア構成例>
次に、本実施の形態に係るサポート装置200のハードウェア構成例について説明する。図5は、本実施の形態に係るサポート装置200のハードウェア構成例を示す模式図である。サポート装置200は、一例として、汎用的なアーキテクチャに従うコンピュータがプログラムを実行することで実現される。
【0067】
図5に示すように、サポート装置200は、プロセッサ202と、揮発性メモリ204と、不揮発性メモリ206と、HDD(Hard Disk Drive)208と、ディスプレイ250と、キーボード210と、マウス212と、メモリカードインターフェース214と、制御装置インターフェース218とを備える。これらのコンポーネントは、プロセッサバス220を介して相互に通信可能に接続されている。
【0068】
プロセッサ202は、CPUやGPUなどで構成され、不揮発性メモリ206やHDD208に格納されたプログラム(一例として、サポートプログラム230)を読み出して、揮発性メモリ204に展開して実行することで、各種処理を実現する。
【0069】
図5の例では、プロセッサ202が所定のプログラムを実行することで、サポート装置200として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
【0070】
揮発性メモリ204は、DRAMやSRAMなど、各種の揮発性記憶装置によって構成される。不揮発性メモリ206は、SSDなど、各種の不揮発性記憶装置によって構成される。
【0071】
不揮発性メモリ206やHDD208には、基本的な機能を実現するためのOSに加えて、サポート装置200としての機能を提供するためのサポートプログラム230が格納されている。なお、図5の例では、HDD208にサポートプログラム230が格納されている。サポートプログラム230には、コンピュータをサポート装置200として機能させるための命令が規定されている。
【0072】
ディスプレイ250は、プロセッサ202からの処理結果などを出力する。キーボード210やマウス212は、ユーザプログラムなどの各種のプログラムを作成したり、制御対象に応じた設定値などをユーザが入力したりするときに、ユーザ操作を受け付ける。
【0073】
メモリカードインターフェース214は、メモリカード116が着脱可能に構成されており、メモリカード116に対して各種データ(ユーザプログラムなど)を書き込み、メモリカード116から各種データを読み出すことが可能になっている。
【0074】
制御装置インターフェース218は、ネットワークを介して、制御装置100などの任意の外部装置などとの間でデータを遣り取りする。
【0075】
なお、図示は省略するが、サポート装置200は、光学ドライブを備えていてもよく、コンピュータが読み取り可能なプログラムを非一過的に格納するDVD(Digital Versatile Disc)などの光学記録媒体から、その中に格納されたプログラム(サポートプログラムなど)が読み取られて不揮発性メモリ206やHDD208などにインストールされる。
【0076】
サポート装置200で実行されるサポートプログラム230などは、コンピュータ読取可能なDVDを介してインストールされてもよいが、ネットワーク上のサーバ装置300などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
【0077】
<D.データ不能化の一例>
図6図8を参照しながら、データ(特にユーザデータ)の不能化について説明する。図6図8は、本実施の形態に係る制御装置100によるデータ不能化の一例を示す模式図である。なお、以下で説明するデータ不能化の処理は、制御装置100のプロセッサ102がデータ不能化プログラム101を実行することで実現される。
【0078】
先ず、図6および図7を参照しながら、図1における記憶領域1102としてストレージ150が適用された場合におけるデータの不能化について説明する。
【0079】
図6(A)に示すように、メモリカード116は、データを不能化するためのデータ不能化プログラムとともに、データを実行するための環境を提供するBootイメージおよびOSイメージを記憶する。これらのプログラムやデータは、サポート装置200によって作成され、メモリカード116に格納される。さらに、メモリカード116は、データを一時的に格納するための退避領域を有する。
【0080】
図6(B)に示すように、メモリカード116が制御装置100に装着されると、Bootイメージによってデータ不能化の処理が開始され、OSおよびデータ不能化プログラムが揮発性メモリ106に展開されて実行される。なお、データ不能化プログラムなどのデータ不能化に係るデータは、メモリカード116に格納されるものに限らず、USBメモリに格納されてもよいし、制御装置100に内蔵された記憶デバイスに格納されてもよい。
【0081】
図6(C)に示すように、ストレージ150に格納されたデータのうち、システムデータが退避領域に格納される。これにより、ストレージ150およびメモリカード116の両方にシステムデータが記憶されることになる。
【0082】
図7(D)に示すように、揮発性メモリ106に展開されたデータ不能化プログラムが実行されることで、ストレージ150に格納されていたシステムデータおよびユーザデータを含む全てのデータが完全に消去される。具体的には、ストレージ150の一例であるSSDの記憶システム上、プロセッサ102は、ストレージ150に格納されたデータのうち、ユーザデータが書かれたセルを特定することができない。このため、たとえば、プロセッサ102は、SATA(Serial AT Attachment)規格で定められたデータを消去するためのコマンドを使用することで、ストレージ150に格納されたデータを完全に消去する(たとえば、データをクリアする)。これにより、ストレージ150であるSSDのSecure Erase機能やEnhanced Secure Erase機能によって、システムデータおよびユーザデータが消去されて不能化される。
【0083】
図7(E)に示すように、メモリカード116内の退避領域に退避していたシステムデータが、ストレージ150に戻され、再びストレージ150によって記憶される。これにより、ストレージ150に記憶されたデータのうち、システムデータが維持される一方で、ユーザデータが不能化されることになる。なお、揮発性メモリ106に展開されたOSおよびデータ不能化プログラムは、揮発性メモリ106に対する電力供給が遮断されることで、消去される。
【0084】
次に、図8を参照しながら、図1における記憶領域1102として不揮発性メモリ108が適用された場合におけるデータの不能化について説明する。
【0085】
図8(A)に示すように、メモリカード116は、データ不能化プログラムとともに、BootイメージおよびOSイメージを記憶する。
【0086】
図8(B)に示すように、メモリカード116が制御装置100に装着されると、Bootイメージによってデータ不能化の処理が開始され、OSおよびデータ不能化プログラムが揮発性メモリ106に展開されて実行される。
【0087】
図8(C)に示すように、揮発性メモリ106に展開されたデータ不能化プログラムが実行されることで、不揮発性メモリ108に格納されていたデータのうち、ユーザデータが選択されて不能化される。具体的には、不揮発性メモリ108の一例であるEEPROMの記憶システム上、プロセッサ102は、不揮発性メモリ108に格納されたデータのうち、所望のデータを特定して、読み出しや書き込みなどの処理を実行することができる。このため、たとえば、プロセッサ102は、不揮発性メモリ108に格納されていたデータのうち、ユーザデータを直接的に選択して不能化することができる。たとえば、プロセッサ102は、米国国防省が規定するデータを消去するための規格(Unclassified Computer Hard Drive Disposition)に従って、0や1、あるいは他の任意の文字を用いて、ユーザデータを3回上書きする。これにより、不揮発性メモリ108に記憶されたデータのうち、システムデータが維持される一方で、ユーザデータが不能化されることになる。
【0088】
上述したようにして、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置100が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置100固有のシステムデータは維持されるため、たとえば、制御装置100がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【0089】
<E.不能化するユーザデータの選択の一例>
図9を参照しながら、不能化するユーザデータの選択について説明する。図9は、本実施の形態に係る制御装置100による不能化するユーザデータの選択の一例を示す模式図である。
【0090】
図9に示すように、サポート装置200は、不能化プログラムを作成するための画面において、不能化の対象となるユーザデータの内容を選択するためのユーザインターフェースを提供する。
【0091】
具体的には、サポート装置200のディスプレイ250には、不能化するユーザデータの範囲を指定するための選択欄251と、ユーザプログラムを不能化することを指定するための選択欄252と、システムにおける構成情報を不能化することを指定するための選択欄253と、各種処理に係る保持変数を不能化することを指定するための選択欄254と、イベントログを不能化することを指定するための選択欄255と、不能化プログラムを作成することを指定するための確定欄256とが表示される。
【0092】
たとえば、選択欄251においては、「All」または「Select Erase Part」を選択することができ、「All」が選択されると、ユーザデータに含まれる全てのデータを不能化するための命令が不能化プログラムに規定される。
【0093】
一方、「Select Erase Part」が選択されると、選択欄252~選択欄255などによって選択されたデータのみを不能化する命令が不能化プログラムに規定される。たとえば、選択欄252でチェックが付けられると、ユーザプログラムを不能化するための命令が不能化プログラムに規定される。選択欄253でチェックが付けられると、構成情報を不能化するための命令が不能化プログラムに規定される。選択欄254でチェックが付けられると、保持変数を不能化するための命令が不能化プログラムに規定される。選択欄255でチェックが付けられると、イベントログを不能化するための命令が不能化プログラムに規定される。なお、エラー情報やユニットの設定情報、セキュリティ情報など、その他のデータについても、サポート装置200を用いて不能化の対象とすることができる。
【0094】
確定欄256にポインタを合わせてマウス212がクリックされると、設定された不能化に係る内容を規定する不能化プログラムが作成され、メモリカード116に書き出される。なお、作成された不能化プログラムは、USBメモリに書き出されてもよいし、制御装置100に内蔵された記憶デバイスに書き出されてもよい。
【0095】
これにより、ユーザデータに含まれるデータのうち、所望のデータのみを不能化することができるため、ユーザデータの不能化時における利便性が向上する。
【0096】
<F.データ不能化の実行条件の一例>
図10および図11を参照しながら、データ不能化の実行条件の一例について説明する。図10および図11は、本実施の形態に係る制御装置100によるデータ不能化の実行条件の一例を示す模式図である。
【0097】
図10(A)に示すように、制御装置100に設けられたDIP(Dual In-line Package)スイッチを含む操作盤160によって、通常モードおよび不能化モードのうち、いずれかを起動させることができる。たとえば、No.1~No.4の全てのDIPスイッチがONに設定された場合、制御装置100が通常モードで起動する。この場合、制御装置100は、システムデータおよびユーザデータに基づいて、制御対象を制御する処理を実行可能となる。一方、No.1およびNо.3がONに設定されるとともにNo.2およびNо.4がOFFに設定された場合、制御装置100が不能化モードで起動する。この場合、制御装置100は、システムデータを維持する一方でユーザデータを不能化する処理を実行可能となる。
【0098】
上述したように、制御装置100は、ユーザデータを不能化させることができるが、第三者による故意、またはユーザが意図せずにユーザデータを不能化させてしまうような事態を防止するための仕組みが必要である。つまり、本実施の形態に係る制御装置100は、予め定められた実行者のみがユーザデータを不能化させることができるような仕組みを有する。
【0099】
具体的には、図10(B)に示すように、制御装置100は、通常モードや不能化モードにおける起動用のDIPスイッチの他に、パスワード認証用のDIPスイッチを含む操作盤165を備えていてもよい。たとえば、上述したように、No.1~No.4のDIPスイッチのON/OFFを切り替えることで、通常モードまたは不能化モードで制御装置100が起動させることができる一方で、NO.5~NO.8のDIPスイッチのON/OFFを切り替えることで、予め設定したパスワードを入力することができる。このように、NO.5~NO.8のDIPスイッチによって入力されたパスワードが予め設定したパスワードと一致することを条件に、制御装置100が起動するようにしてもよい。
【0100】
また、図10(c)に示すように、制御装置100にパスワード認証用の物理的に押圧可能なスイッチが設けられたり、表示装置400に設けられたディスプレイにパスワード認証用の画面410が表示されたりしてもよい。このようにすれば、実行者は、物理的に押圧可能なスイッチや画面410に表示された押下可能なスイッチアイコンを操作することで、認証用のパスワードを入力することができる。
【0101】
その他、データの不能化について許可された実行者が有する識別情報(たとえば、ID)を予め設定しておき、実行者が有する識別情報を認証するためのセキュリティカード(たとえば、RFID(radio frequency identifier)機能を有するIDカード)を制御装置100の認証部にかざすことで、実行者の識別情報が認証されてもよい。そして、制御装置100は、識別情報の認証が取れたことを条件に、データ不能化に係る処理を実行してもよい。
【0102】
また、制御装置100は、生体認証機能を有していてもよく、制御装置100は、データ不能化が許可された実行者の生体情報の認証が取れたことを条件に、データ不能化に係る処理を実行してもよい。生体認証としては、指紋認証、顔認証、および音声認証など、一般的に用いられている認証技術を用いることができる。
【0103】
また、図11に示すように、不能化プログラムに係るデータから生成されるハッシュ値を利用して、データの不能化について許可された実行者を認証してもよい。具体的には、サポート装置200によって不能化プログラムが作成される際に、不能化プログラムからハッシュ値が生成される。不能化プログラムおよびハッシュ値は、メモリカード116に書き出される一方で、制御装置100にも転送される。メモリカード116が制御装置100に装着されることで不能化プログラムが実行される際には、メモリカード116に格納されたハッシュ値と、制御装置100に格納されたハッシュ値とが比較され、両者が一致することを条件に、制御装置100は、データ不能化に係る処理を実行してもよい。
【0104】
このように、所定の実行条件が成立しない限りは制御装置100に記憶されたユーザデータが不能化されることがないため、第三者による故意、または実行者が意図せずにユーザデータを不能化させてしまうような事態を防止することができる。
【0105】
<G.データ不能化の進捗状況の報知の一例>
図12を参照しながら、データ不能化の進捗状況の報知の一例について説明する。図12は、本実施の形態に係る制御装置100によるデータ不能化の進捗状況の報知の一例を示す模式図である。なお、図12では、ストレージ150がシステムデータおよびユーザデータを記憶する例について説明するが、不揮発性メモリ108がシステムデータおよびユーザデータを記憶する場合についても、データ不能化の進捗状況の報知の技術を適用することができる。
【0106】
図12(A)に示すように、データ不能化の進捗状況が何らかの報知部によって報知されてもよい。具体的には、メモリカード116には、Webブラウザなどに対して画像の表示を提供するためのWebサーバ、およびWebサーバ上でデータ不能化に係る処理の結果を表示するためのCGI(Common Gateway Interface)が格納されている。WebサーバおよびCGIは、データ不能化プログラムとともに揮発性メモリ106に展開される。サポート装置200や表示装置400、Webブラウザには、Webサーバを介してデータ不能化の進捗状況を特定するためのデータが送信される。そして、サポート装置200や表示装置400、Webブラウザにおいては、データ不能化の進捗状況を特定するための情報が画面上に表示される。
【0107】
また、図12(B)に示すように、制御装置100に設けられたLED(Light Emitting Diode)などの点灯部170によって、データ不能化の進捗状況が報知されてもよい。たとえば、点灯部170は、7セグメントディスプレイによって構成され、パーセンテージによってデータ不能化の進捗状況を表示するとともに、完了時には「OK」と表示し、エラー時には「NG」と表示してもよい。
【0108】
このように、ユーザデータの不能化の進捗状況を実行者が把握することができるため、たとえば、データ不能化の実行中に実行者によって電源が遮断されてしまうような事態を防止することができる。
【0109】
<H.不能化ログの取得の一例>
図13を参照しながら、データ不能化が完了したことを示す不能化ログの取得の一例について説明する。図13は、本実施の形態に係る制御装置100による不能化ログの取得の一例を示す模式図である。
【0110】
図13に示すように、先ず、揮発性メモリ106に展開されたデータ不能化プログラムが実行されることで、不能化コマンド(たとえば、SATAコマンド)がコントローラ154に送信される(ステップa)。コントローラ154は、不能化コマンドに従って、ユーザデータを不能化する(ステップb)。さらに、コントローラ154は、ユーザデータを不能化したことを示す終了フラグをセットする(ステップc)。
【0111】
次に、揮発性メモリ106は、コントローラ154においてセットされた終了フラグを読み出し、記憶する(ステップd)。一方、揮発性メモリ106に展開されたデータ不能化プログラムが実行されることで、他のデバイス190に記憶された他のデータも不能化される(ステップe)。他のデバイス190には、たとえば、不揮発性メモリ108が適用される。つまり、プロセッサ102は、データ不能化プログラムを実行することで、ストレージ150に格納されたユーザデータとともに、他のデバイス190に格納された他のデータも不能化する。
【0112】
そして、プロセッサ102は、ストレージ150から取得した終了フラグと、他のデバイスにおけるデータ不能化の実行結果の情報とに基づき、不能化ログを生成する(ステップf)。なお、プロセッサ102は、終了フラグおよび他のデバイスにおけるデータ不能化の実行結果の情報の他に、データ不能化プログラムの開始時間や終了時間などに基づいて、不能化ログを生成してもよい。生成された不能化ログは、メモリカード116に転送され(ステップg)、メモリカード116に記憶される(ステップh)。
【0113】
これにより、ユーザデータが不能化されたことを示す不能化ログが記録として残るため、ユーザデータが確実に不能化されたという証拠を残すことができる。
【0114】
<I.不能化ログの記憶の一例>
図14を参照しながら、不能化ログの記憶の一例について説明する。図14は、本実施の形態に係る制御装置100による不能化ログの記憶の一例を示す模式図である。
【0115】
図13で示したようにしてメモリカード116に記憶された不能化ログは、不能化の対象となったユーザデータ、不能化の方法、不能化の結果、エラーの有無、不能化の開示時間や終了時間など、不能化に関する情報を含む。
【0116】
このような不能化ログは、メモリカード116に記憶されるものに限らず、揮発性メモリ106に展開されたWebサーバを介してサポート装置200に送信され、サポート装置200によって記憶されてもよい。このようにすれば、メモリカード116に限らず、サポート装置200によってもユーザデータが確実に不能化されたという証拠を残すことができる。
【0117】
<J.不能化ログの改ざん防止の一例>
図15図17を参照しながら、不能化ログの改ざん防止について説明する。図15図17は、本実施の形態に係る制御装置100による不能化ログの改ざん防止の一例を示す模式図である。
【0118】
図15に示すように、制御装置100は、デジタル署名を利用して不能化ログの改ざんを防止してもよい。
【0119】
具体的には、制御装置100は、TPM(Trusted Platform Module)などのセキュリティデバイス180を備えていてもよい。セキュリティデバイス180は、揮発性メモリ106に記憶された不能化ログに基づいて、秘密鍵を用いてデジタル署名を生成する(ステップa)。生成されたデジタル署名は、不能化ログとともにサポート装置200に転送される(ステップb)。サポート装置200においては、秘密鍵に対応付けられた公開鍵を用いてデジタル署名を検証することで、転送された不能化ログが改ざんされていないことを確認する(ステップc)。
【0120】
たとえば、制御装置100は、不能化ログからハッシュ値を生成し、秘密鍵を用いて暗号化することでデジタル署名を生成する。サポート装置200は、公開鍵を用いて制御装置100から転送されたデジタル署名を復号化することでハッシュ値を生成し、制御装置100から転送された不能化ログに基づき自身で生成したハッシュ値と一致するか否かを判定する。制御装置100は、両者が一致すれば、不能化ログが改ざんされていないと判断することができる。
【0121】
また、図16に示すように、制御装置100は、パスワードによる認証を利用して不能化ログの改ざんを防止してもよい。
【0122】
具体的には、データの不能化について許可された実行者は、サポート装置200を用いて予めパスワードを設定する。制御装置100は、不能化ログの使用や閲覧を許可する際にパスワード認証を行い、実行者によって予め決められたパスワードが入力された場合に、不能化ログの使用や閲覧を許可してもよい。
【0123】
また、図17に示すように、制御装置100は、データ不能化が完了したことを証明するエビデンスを残すことで、不能化ログの改ざんを防止してもよい。
【0124】
具体的には、制御装置100は、セキュリティデバイス180によって、揮発性メモリ106に記憶された不能化ログに基づいて、秘密鍵を用いてデジタル署名を生成する(ステップa)。さらに、制御装置100は、不能化ログと、シリアル番号やロット番号などの個体情報とに基づきハッシュ値を生成する(ステップb)。
【0125】
ユーザは、不能化ログ、および生成されたハッシュ値を制御装置100から取得し(ステップc)、時刻認証局(TSA:Time Stamping Authority)にハッシュ値を転送する(ステップd)。TSAにおいては、ハッシュ値に時刻情報を付加したものをタイムスタンプトークンとして発行し(ステップe)、タイムスタンプトークンをユーザ(たとえば、データの不能化について許可された実行者)に転送する(ステップf)。
【0126】
ユーザは、不能化ログとともにタイムスタンプトークンをサーバ装置300に転送する(ステップg)。一方、制御装置100は、デジタル署名をサーバ装置300に転送する(ステップh)。サーバ装置300は、ユーザから取得した不能化ログおよびタイムスタンプトークンと、制御装置100から取得したデジタル署名とを、データ不能化が完了したことを証明する不能化エビデンスとして記憶する(ステップi)。
【0127】
このように、制御装置100は、不能化ログに基づき生成したデジタル署名を不能化エビデンスとしてサーバ装置300に残してもよい。また、制御装置100は、不能化ログと個体情報とに基づき生成したハッシュ値にタイムスタンプを付加し、そのタイムスタンプトークンを対応付けた不能化ログを不能化エビデンスとしてサーバ装置300に残してもよい。なお、制御装置100は、不能化ログと個体情報とに基づきデジタル署名を生成し、そのデジタル署名を不能化エビデンスとしてサーバ装置300に残してもよい。
【0128】
このように、図15図17に示した方法によって、ユーザデータが確実に不能化されたという証拠である不能化ログが改ざんされてしまうような事態を防止することができる。
【0129】
<K.データ不能化処理の一例>
図18を参照しながら、制御装置100がデータ不能化プログラムに基づいて実行するデータ不能化処理について説明する。図18は、本実施の形態に係る制御装置100が実行するデータ不能化処理のフローチャートである。なお、図18では、ストレージ150にシステムデータおよびユーザデータが記憶された場合におけるデータ不能化処理の一例が示されている。また、図18に示すデータ不能化処理は、主に制御装置100のプロセッサ102によって実行される。
【0130】
図18に示すように、制御装置100は、データ不能化を実行するための実行条件が成立したか否かを判定する(S1)。具体的には、制御装置100は、図10および図11を用いて説明した所定の実行条件が成立したか否かを判定する。
【0131】
制御装置100は、実行条件が成立していない場合(S1でNO)、本処理を終了する。一方、制御装置100は、実行条件が成立した場合(S1でYES)、ストレージ150に記憶されたシステムデータをメモリカード116の退避領域に記憶させる(S2)。
【0132】
次に、制御装置100は、ストレージ150に記憶されたシステムデータおよびユーザデータをSATAコマンドなどに基づいて不能化する(S3)。その後、制御装置100は、メモリカード116の退避領域に退避させていたシステムデータをストレージ150に戻して記憶し(S4)、本処理を終了する。
【0133】
このように、データ不能化プログラムに基づくデータ不能化処理によって、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置100が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置100固有のシステムデータは維持されるため、たとえば、制御装置100がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【0134】
なお、本実施の形態においては、図1に示すように、制御装置100が不能化部1103を有していたが、これに限らない。たとえば、サポート装置200が不能化部1103と同様の機能を有する不能化部を備えていてもよく、この場合、サポート装置200によるデータ不能化処理によって、制御装置100に記憶されたユーザデータが不能化されてもよい。
【0135】
<L.付記>
以上のように、本実施の形態では以下のような開示を含む。
【0136】
(構成1)
制御対象(500)を制御する制御装置(100)であって、
前記制御対象を制御するための処理を実行する制御部(1101)と、
前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域(1102)と、
前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化する不能化部(1103)とを備える、制御装置(100)。
【0137】
(構成2)
前記不能化部は、退避領域に前記システムデータのコピーを記憶させた後に前記記憶領域に記憶された前記システムデータおよび前記ユーザデータを不能化し、その後、前記退避領域に記憶された前記システムデータを前記記憶領域に記憶させる、構成1の制御装置(100)。
【0138】
(構成3)
前記不能化部は、前記記憶領域に記憶された前記ユーザデータに含まれるデータのうち、ユーザによって選択されたデータを不能化する、構成1または構成2の制御装置(100)。
【0139】
(構成4)
前記不能化部は、所定の実行条件が成立したときに、前記記憶領域に記憶された前記ユーザデータを不能化する、構成1~構成3のいずれかの制御装置(100)。
【0140】
(構成5)
前記不能化部による前記ユーザデータの不能化の進捗状況を報知するための処理を実行する、構成1~構成4のいずれかの制御装置(100)。
【0141】
(構成6)
前記不能化部によって前記ユーザデータが不能化されたことを示すログを取得するための処理を実行する、構成1~構成5の制御装置(100)。
【0142】
(構成7)
前記ログが改ざんされることを防止するための処理を実行する、構成6の制御装置(100)。
【0143】
(構成8)
制御対象(500)を制御する制御装置(100)によって実行されるデータを不能化するためのデータ不能化プログラム(101)であって、
前記制御装置は、前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域(1102)を備え、
前記データ不能化プログラムは、コンピュータ(102)に、
所定の実行条件が成立したか否かを判定させるステップ(S1)と、
前記所定の実行条件が成立した場合に、前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化させるステップ(S2,S3,S4)とを含む、データ不能化プログラム。
【0144】
(構成9)
制御対象(500)を制御する制御装置(100)と当該制御装置を支援するサポート装置(200)とを備える制御システム(1)であって、
前記制御対象を制御するための処理を実行する制御部(1101)と、
前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域(1102)と、
前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化する不能化部(1103)とを備える、制御システム(1)。
【0145】
<M.利点>
本実施の形態に係る制御システム1によれば、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置100が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置100固有のシステムデータは維持されるため、たとえば、制御装置100がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
【0146】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0147】
1 制御システム、2 フィールドネットワーク、6 上位ネットワーク、100 制御装置、101 データ不能化プログラム、102,202 プロセッサ、104 チップセット、106,204 揮発性メモリ、108,206 不揮発性メモリ、110 上位ネットワークコントローラ、112 サポート装置インターフェース、114,214 メモリカードインターフェース、116 メモリカード、120 内部バスコントローラ、122 I/Oユニット、130 フィールドネットワークコントローラ、150 ストレージ、154 コントローラ、156,1102 記憶領域、160,165 操作盤、170 点灯部、180 セキュリティデバイス、190 他のデバイス、200 サポート装置、210 キーボード、212 マウス、218 制御装置インターフェース、220 プロセッサバス、230 サポートプログラム、250 ディスプレイ、251,252,253,254,255 選択欄、256 確定欄、300 サーバ装置、400 表示装置、410 画面、500 フィールドデバイス、520 サーボドライバ、522 サーボモータ、1101 制御部、1103 不能化部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18