(57)【要約】【課題】  本発明は、制御装置に格納される制御プログラムを構成する、特定制御プログラムの改ざんやモニタを制限する制御プログラムの保護方法、制御プログラムの保護機能を備えた制御装置を提供することを目的とする。【解決手段】  制御プログラムを記憶する制御プログラム記憶手段１５と、制御データ記憶手段１６と、制御プログラム実行制御手段１０とを備え、前記制御プログラム実行制御手段１０には、特定制御プログラムに応答を制限する第１のアクセス権指定情報を設定し、前記制御プログラムメモリの特定制御プログラムには、第２のアクセス権指定情報を設定し、モニタ装置から前記特定制御プログラムにアクセス要求があった場合、前記第１及び前記第２のアクセス権指定情報の少なくともいずれか１つを比較・判定し、前記モニタ装置からのアクセス応答を制限するようにしたことを特徴とする。【選択図】  図１
2005135165.tif 000002
【特許請求の範囲】
【請求項１】
モニタ装置から通信手段を介して制御装置に格納される制御プログラムへのアクセスに対して、前記制御装置からの応答を制限して前記制御プログラムを保護する制御プログラムの保護方法において、
前記モニタ装置を識別するアクセス権指定情報を、前記制御プログラムの少なくとも１つの特定制御プログラムの先頭アドレスに設定する工程と、
前記特定制御プログラムの先頭アドレスと前記アクセス権指定情報とを対応付けた、制御プログラム先頭アドレステーブルを設定する工程と、
前記モニタ装置から前記特定制御プログラムに対してアクセスがあったとき、前記制御プログラム先頭アドレステーブルを参照し、前記特定制御プログラムの前記先頭アドレスから前記アクセス権指定情報を読出し、前記モニタ装置からのアクセス権指定情報とを比較・判定し、相違があれば、前記モニタ装置からのアクセスに対する応答を制限する工程とを
有することを特徴とする制御プログラムの保護方法。
【請求項２】
モニタ装置から通信手段を介して制御装置に格納される制御プログラムへのアクセスに対して、前記制御装置からの応答を制限して前記制御プログラムを保護する制御プログラムの保護方法において、
前記制御プログラムにアクセス権指定命令を、前記制御プログラムを構成する少なくとも１つの特定制御プログラムに設定する工程と、
前記モニタ装置から実行中の前記特定制御プログラムに対してアクセスがあったとき、前記特定制御プログラムに設定された前記アクセス権指定命令のアクセス権指定情報を読出し、前記モニタ装置からのアクセス権指定情報とを比較・判定し、相違があれば、前記モニタ装置からのアクセスに対する応答を制限する工程とを
有することを特徴とする制御プログラムの保護方法。
【請求項３】
前記アクセス権指定命令は、前記特定制御プログラムに１ヶ所以上、任意の箇所に挿入し、前記特定制御プログラムにおいて少なくとも１回以上前記アクセス権情報を更新し、更新された前記アクセス権指定情報と、前記モニタ装置からのアクセス権指定情報とを比較・判定し、相違があれば前記モニタ装置からのアクセスに対する応答を制限するようにしたことを特徴とする請求項2に記載の制御プログラムの保護方法。
【請求項４】
モニタ装置から通信手段を介して制御装置に格納される制御プログラムへのアクセスに対して、前記制御装置からの応答を制限して前記制御プログラムを保護する制御プログラムの保護方法において、
前記制御プログラムにアクセス権指定命令を、前記制御プログラムを構成する少なくとも１つの特定制御プログラムに設定する工程と、
前記特定制御プログラムのアクセス権を管理する制御プログラムアクセス権管理テーブルを作成する工程と、
前記モニタ装置から実行中の前記特定制御プログラムに対してアクセスがあったとき、このアクセス要求が、前記特定制御プログラムに設定された前記アクセス権指定命令のアクセス権指定情報及び前記制御プログラムアクセス権管理テーブルのアクセス権指定情報で指定される情報の少なくともいずれか一方とを比較・判定し、相違があれば、前記第１の制御プログラムへのアクセスに対する応答を制限する工程とを
有することを特徴とする制御プログラムの保護方法。
【請求項５】
前記アクセス権指定命令は、前記特定制御プログラムに１箇所以上、任意の箇所に設定し、前記特定制御プログラムにおいて少なくとも１回以上前記アクセス権指定情報を比較・更新し、前記モニタ装置から実行中の前記特定制御プログラムに対してアクセスがあったとき、前記モニタ装置からのアクセス権指定情報と前記更新された前記アクセス権指定情報とを比較判定し、相違があれば、前記モニタ装置からのアクセスに対する応答を制限するようにしたことを特徴とする請求項４に記載の制御プログラムの保護方法。
【請求項６】
制御プログラムを記憶する制御プログラム記憶手段と、
前記制御プログラムの変数値を記憶する制御データ記憶手段と、
前記制御プログラム記憶手段に記憶された制御プログラムを実行する制御プログラム実行制御手段とを
備え、
前記制御プログラム実行制御手段には、モニタ装置から前記制御プログラムへのアクセスに対して、前記制御プログラムを構成する少なくとも１つの特定制御プログラムに応答を制限する第１のアクセス権指定情報を設定し、
前記制御プログラムメモリの前記特定制御プログラムには、第２のアクセス権指定情報を設定し、
前記モニタ装置から実行中の前記特定制御プログラムにアクセスがあったとき、前記モニタ装置からのアクセス権指定情報と、前記第1のアクセス権指定情報及び前記第２のアクセス権情報で指定される情報の少なくともいずれか一方とを比較・判定し、相違があれば、前記モニタ装置からのアクセスに対する応答を制限するようにしたことを特徴とする制御プログラムの保護機能を備えた制御装置。
【請求項７】
前記第１のアクセス権指定情報は、前記特定制御プログラムの先頭アドレスを記載した制御プログラム先頭アドレステーブルを備え、
前記第２のアクセス権指定情報は、前記特定制御プログラムの先頭アドレスに設定されたアクセス権指定領域データを備え、
前記制御プログラム実行制御手段は、前記モニタ装置から前記特定制御プログラムに対してアクセスがされたとき、前記モニタ装置からのアクセス権指定情報と、前記制御プログラム先頭アドレステーブルのアドレスから参照される前記アクセス権指定領域データとを比較・判定し、相違があれば、前記モニタ装置に対する応答を制限するようにしたことを特徴とする請求項６に記載の制御プログラムの保護機能を備えた制御装置。
【請求項８】
前記第１のアクセス権指定情報としては、前記特定制御プログラムについて、前記モニタ装置からのアクセスの可否を前記モニタ装置毎に設定するモニタ装置アクセス許可テーブルを備え、
前記制御プログラム実行制御手段は、前記モニタ装置から前記特定制御プログラムに対してアクセスがされたとき、前記モニタ装置アクセス許可テーブルを参照し、前記モニタ装置からのアクセスの可否を判定し、前記記モニタ装置に対する応答を制限するようにしたことを特徴とする請求項６に記載の制御プログラムの保護機能を備えた制御装置。
【請求項９】
前記モニタ装置許可テーブルは、予め前記制御プログラムをダウンロードしたモニタ装置のアドレスを前記特定制御プログラムに記憶・設定するようにしたことを特徴とする請求項８に記載の制御プログラムの保護機能を備えた制御装置。
【請求項１０】
前記第２のアクセス権指定情報は、実行中の前記特定制御プログラム及びその制御データのトレースをモニタする、アクセス権指定命令を前記特定制御プログラムの先頭アドレスに挿入し、
前記制御プログラム実行制御手段は、前記モニタ装置から前記特定制御プログラムの先頭アドレスがアクセスされた時、前記モニタ装置からのアクセス権指定情報と前記先頭アドレスに対応する前記アクセス権指定命令に挿入された実行モニタ情報とを比較・判定し、応答の可否を制限するようにしたことを特徴とする請求項６に記載の制御プログラムの保護機能を備えた制御装置。
【請求項１１】
前記第２のアクセス権指定情報は、前記特定制御プログラムへのアクセスの可否を指定するアクセス権指定命令を１つ以上、任意の箇所に配置し、
前記制御プログラム実行制御手段は、前記モニタ装置から前記特定制御プログラムの前記アクセス指定命令がアクセスされたとき、このアクセス要求と前記アクセス指定命令に挿入されたアクセス権指定情報とを少なくとも１回以上比較・判定し、相違があれば、前記モニタ装置からのアクセスの応答を制限するようにしたことを特徴とする請求項６に記載の制御プログラムの保護機能を備えた制御装置。
【請求項１２】
前記第１のアクセス権指定情報は、前記特定制御プログラムへのアクセスを管理する制御プログラムアクセス権管理テーブルを備え、
前記第２のアクセス権指定情報は、前記特定制御プログラムにアクセス権指定命令を挿入し、
前記制御プログラム実行制御手段は、前記制御プログラムを実行中に、前記モニタ装置から前記特定制御プログラムに対してアクセス要求があったとき、前記モニタ装置からのアクセス権指定情報と、前記制御プログラムアクセス権管理テーブルのアクセス権情報及び実行されている前記アクセス権指定命令のアクセス権指定情報で指定される情報の少なくともいずれか一方とを比較・判定し、相違がある場合には、前記モニタ装置からのアクセスの応答を制限するようにしたことを特徴とする請求項６に記載の制御プログラムの保護機能を備えた制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鉄鋼プラント、製紙プラント、化学プラント等の産業設備の監視制御システムにおける制御装置の制御プログラムの保護方、及び制御プログラムの保護機能を備えた制御装置に関する。
【背景技術】
【０００２】
監視制御システムにおいては、プロセスを制御する制御アルゴリズム等の各種のノウハウをプログラムとして標準化し、流用率の高い制御機能を有する制御プログラムとし、制御システムの信頼性を高めている。
【０００３】
このような制御プログラムを搭載するＰＬＣ（Programmable Logic Controller）等の制御装置においては、通常、ＩＥＣ６１１３１−３規格（国際電気標準会議）で規定された共通のプログラミング言語を採用して製作され、メーカ間での互換性を有するオブジェクトライブラリーとすることが可能になっている。
【０００４】
このような従来の制御装置の構成について、図１５を参照して説明する。制御装置２１はネットワーク２４を介してモニタ装置２２と接続されている。そして、このモニタ装置２２から制御装置２１の制御プログラムのプログラミングやモニタを行うようにしている。
【０００５】
このような構成においては、モニタ装置２２から制御プログラムを読み出し・書き込み、制御プログラムの改ざんをすることが可能であるため、ノウハウを有する制御プログラムが流出したり、改ざんされたりして使用される恐れがある。
【０００６】
従来のプログラムの保護方法としては、時間によって変化する暗号キーで、データバスを流れる情報を暗号化する方法が知られている（例えば、特許文献１参照。）
【０００７】
しかしながら、制御装置２１のモニタ装置２２では、運転や保守に必要な制御プログラムはオープン化することが必須で、制御プログラムに含まれる特定の保護すべき特定制御プログラムのみを保護したい場合の保護方法は知られていない。また、暗号化する方法では、暗号化することによって制御プログラム事態の制御性が変化する恐れもある。
【０００８】
さらに、このような暗号化には特別のハードウエアーが必要となり装置は複雑で高価になる問題がある。
【特許文献１】特開平１０−５５２７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述したような、従来のプログラムの保護方法には、ネットワークに接続された複数のモニタ装置を備えた制御装置において、制御装置に格納される制御プログラムを構成する、保護すべき特定制御プログラムや保護すべきファンクションプログラムのみを保護する方法は知られていない。また、保護することによって応答時間など、制御性が変化する問題については考慮されていない。
【００１０】
本発明は上記問題点を解決するためになされたもので、制御プログラムを構成する保護すべき特定制御プログラムの改ざんやモニタを、制御性を損なうことなく、モニタ装置からのアクセスに対する応答を制限する制御プログラムの保護方法、制御プログラムの保護機能を備えた制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、請求項１に係る制御プログラムの保護方法は、
モニタ装置から通信手段を介して制御装置に格納される制御プログラムへのアクセスに対して、前記制御装置からの応答を制限して前記制御プログラムを保護する制御プログラムの保護方法において、前記モニタ装置を識別するアクセス権指定情報を、前記制御プログラムの少なくとも１つの特定制御プログラムの先頭アドレスに設定する工程と、前記特定制御プログラムの先頭アドレスと前記アクセス権指定情報とを対応付けた、制御プログラム先頭アドレステーブルを設定する工程と、前記モニタ装置から前記特定制御プログラムに対してアクセスがあったとき、前記制御プログラム先頭アドレステーブルを参照し、前記特定制御プログラムの前記先頭アドレスから前記アクセス権指定情報を読出し、前記モニタ装置からのアクセス権指定情報とを比較・判定し、相違があれば、前記モニタ装置からのアクセスに対する応答を制限する工程とを有することを特徴とする。
【００１２】
上記目的を達成するために、請求項２に係る制御プログラムの保護方法は、
モニタ装置から通信手段を介して制御装置に格納される制御プログラムへのアクセスに対して、前記制御装置からの応答を制限して前記制御プログラムを保護する制御プログラムの保護方法において、前記制御プログラムにアクセス権指定命令を、前記制御プログラムを構成する少なくとも１つの特定制御プログラムに設定する工程と、前記モニタ装置から実行中の前記特定制御プログラムに対してアクセスがあったとき、前記特定制御プログラムに設定された前記アクセス権指定命令のアクセス権指定情報を読出し、前記モニタ装置からのアクセス権指定情報とを比較・判定し、相違があれば、前記モニタ装置からのアクセスに対する応答を制限する工程とを有することを特徴とする。
【００１３】
上記目的を達成するために、請求項４に係る制御プログラムの保護方法は、
モニタ装置から通信手段を介して制御装置に格納される制御プログラムへのアクセスに対して、前記制御装置からの応答を制限して前記制御プログラムを保護する制御プログラムの保護方法において、前記制御プログラムにアクセス権指定命令を、前記制御プログラムを構成する少なくとも１つの特定制御プログラムに設定する工程と、前記特定制御プログラムのアクセス権を管理する制御プログラムアクセス権管理テーブルを作成する工程と、前記モニタ装置から実行中の前記特定制御プログラムに対してアクセスがあったとき、このアクセス要求が、前記特定制御プログラムに設定された前記アクセス権指定命令のアクセス権指定情報及び前記制御プログラムアクセス権管理テーブルのアクセス権指定情報で指定される情報の少なくともいずれか一方とを比較・判定し、相違があれば、前記第１の制御プログラムへのアクセスに対する応答を制限する工程とを有することを特徴とする。
【００１４】
上記目的を達成するために、請求項６に係る制御装置は、
制御プログラムを記憶する制御プログラム記憶手段と、前記制御プログラムの変数値を記憶する制御データ記憶手段と、前記制御プログラム記憶手段に記憶された制御プログラムを実行する制御プログラム実行制御手段とを備え、前記制御プログラム実行制御手段には、モニタ装置から前記制御プログラムへのアクセスに対して、前記制御プログラムを構成する少なくとも１つの特定制御プログラムに応答を制限する第１のアクセス権指定情報を設定し、前記制御プログラムメモリの前記特定制御プログラムには、第２のアクセス権指定情報を設定し、前記モニタ装置から実行中の前記特定制御プログラムにアクセスがあったとき、前記モニタ装置からのアクセス権指定情報と、前記第1のアクセス権指定情報及び前記第２のアクセス権情報で指定される情報の少なくともいずれか一方とを比較・判定し、相違があれば、前記モニタ装置からのアクセスに対する応答を制限するようにしたことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、制御装置の制御プログラムを構成する保護すべき特定制御プログラム毎に、制御プログラム実行中に、制御プログラム、制御データのモニタやアクセスを制限することが可能なアクセス権の制限手段を備えたので、制御プログラムの制御性能を変えることなく、保護すべき特定制御プログラムに対してのみ、保護機能の設定が可能で、改ざんや、不正なアクセスに対して強い保護機能を備えた制御装置を提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して、本発明の実施例を説明する。
【実施例１】
【００１７】
以下、本発明による実施例１について図１乃至図５を参照して説明する。図１は、実施例１の制御システムの構成を示すブロック図である。図１において、制御装置１は、被制御対象３を制御する制御プログラム実行制御部１０、被制御対象３を制御する制御プログラムを格納する制御プログラムメモリ１５及びこの制御プログラムの変数である制御データを格納する制御データメモリ１６とから構成される。
【００１８】
また、制御プログラム実行制御部１０と、制御プログラムメモリ１５及び制御データメモリ１６とは、制御プログラム実行制御部１０のシステムバス１９で接続されている。
【００１９】
そして、制御装置１は、制御プログラム実行制御部１０の入出力インタフェース１７を介して被制御対象３と接続し、被制御対象３を制御している。また、制御装置１のモニタは、制御プログラム実行制御部１０の通信インタフェース１８を介してネットワーク４と接続し、このネットワーク４に接続されるモニタ装置２によって行う構成としている。
【００２０】
ここでモニタ装置２とは、この制御装置１の運転や制御プログラムの保守のために必要な機能を備えたもので、図示しない制御装置１の制御プログラムの開発や制御プログラムの設定に使用するモニタ・プログラミング装置とは異なる装置である。また、このモニタ装置２は、複数台でも構成される。
【００２１】
次に、この制御プログラム実行制御部１０の詳細構成を説明する。制御プログラム実行制御部１０は、ＣＰＵ１１、ＣＰＵ１４、このＣＰＵ１１とＣＰＵ１４の２ＣＰＵシステムの基本ソフトを搭載するプログラムメモリ１２、モニタ装置２からのアクセスを指定する第１のアクセス権指定情報を格納するデータメモリ１３、入出力インタフェース１７及び通信インタフェース１８とから構成され、これら各部がシステムバス１９で接続された構成となっている。
【００２２】
また、制御装置１の仕事は、ＣＰＵ１１とＣＰＵ１４とで予め分担するように設定され、ＣＰＵ１１は通信インタフェース１８を介してネットワーク４に接続されるモニタ装置２との応答を制御し、ＣＰＵ１４は、被制御対象３を制御する制御プログラムの実行を制御するようにしておく。
【００２３】
ＣＰＵ１４は、制御プログラムメモリ１５に格納され、モニタ装置２からのアクセスを制限する第２のアクセス権指定情報を挿入した制御プログラム、及び制御データメモリ１６に格納された制御プログラムで使用される制御データを、システムバス１９を介してそれらの信号を授受して制御プログラムを実行し、システムバス１９に接続される入出力インタフェース１７を介して被制御対象３を制御している。
【００２４】
次にこのように構成された制御装置１の制御プログラムの構成を図２に示す。制御プログラムの構成は、例えば、ネットワーク４に接続されるモニタ装置２において開示可能な制御プログラムａ（プログラム名称：ＭＳ０００１）、ｃ（プログラム名称：ＭＳ０００２）と、保護すべき特定制御プログラムｂ（プログラム名称：ＨＳ０００１）、ｄ（プログラム名称：ＨＳ０００３）とから構成される。
【００２５】
開示可能な制御プログラムａ、ｃとは、制御装置１を使用する場合に必要な制御プログラムとして開放されたアプリケーションプログラムで、保護すべき特定制御プログラムｂ、ｄとは、例えば、固有のノウハウを有する制御アルゴリズムなどを言う。
【００２６】
保護すべき特定制御プログラムの夫々の先頭アドレスにはアクセス権指定領域を設け、図３に示す様に制御プログラム先頭アドレステーブルとして、予めデータメモリ１３に格納しておく。
【００２７】
例えば、プログラム名称ＭＳ０００１の先頭アドレスはＯＯＯＸＸＸＸＨとして格納される。
【００２８】
この制御プログラム先頭アドレステーブルは、制御プログラムを構成する全てのプログラムについて作成しても良いが、少なくとも保護すべき対象の制御プログラムについて作成してあれば良い。
【００２９】
また、保護すべき特定制御プログラムの先頭アドレスに記載されるアクセス権指定領域のデータの例を図４に示す。図４において、ＰＯＵ識別情報とは、（１）乃至（５）の情報から構成され、当該制御プログラムのアクセス権の許可／禁止を指定する情報を記載したものである。
【００３０】
例えば、（１）は、制御プログラムの読出しの許可／禁止、（２）は、制御プログラムの書き込み許可／禁止、（３）は制御プログラムの実行モニタの許可／禁止、（４）は制御データの読出し許可／禁止、（５）制御データの書き込み許可／禁止等をアクセス権の指定情報とする。
【００３１】
次に、モニタ装置２から、制御装置１に制御プログラムに対するアクセス応答要求が、ネットワーク４を介して実行された時の制御装置１の動作について、図５を参照して説明する。
【００３２】
モニタ装置２からネットワーク４を介して、制御プログラムに対するアクセスがある（Ｓ５１）と、この応答はＣＰＵ１１が処理する。ＣＰＵ１１は、モニタ装置２から要求された制御プログラムのプログラム名称のアドレス、例えば、MS0001の場合の先頭アドレスOOOXXXXHを、データメモリ１３に格納された制御プログラム先頭アドレステーブルを参照して求め、その制御プログラムの先頭アドレスOOOXXXXHを検索する（Ｓ５２）。
【００３３】
そして、ＣＰＵ１１は、求めた先頭アドレスOOOXXXXHのデータを、システムバス１９を介してＣＰＵ１４に通知する。ＣＰＵ１４は、このアドレスの制御プログラムデータであるアクセス権指定領域のデータを、システムバス１９を介して送信し、ＣＰＵ１１はこのアクセス権指定領域のデータを受信する（Ｓ５３）。
【００３４】
ＣＰＵ１１は、モニタ装置２から要求された制御プログラムのアクセス権指定領域の（１）乃至（５）に示す許可／禁止のデータによって、この要求が許可されているか、禁止されているものかを判定する（Ｓ５４）。
【００３５】
そして、この要求が許可されたものであれば、再びＣＰＵ１４に対して要求された制御プログラムを要求し、ＣＰＵ１４はシステムバス１９を介して、制御プログラムメモリ１５から当該制御プログラムを読出し、ＣＰＵ１１がこの読み出された当該制御プログラムMS0001をモニタ装置２に送信する（Ｓ５５）。
【００３６】
要求が許可されたものでなければ、モニタ装置２に対して要求された制御プログラムへのアクセスが不可であることを送信する。
【００３７】
ここでは、ステップＳ５３，ステップＳ５５では、ＣＰＵ１１がアクセス権指定領域のデータを、ＣＰＵ１４を介して受信するようにしたが、ＣＰＵ１１がシステムバス１９を介して直接アクセスするようにしても良い。
【００３８】
以上述べたように、実施例１によれば、ネットワーク４に接続されたモニタ装置２からのアクセス要求を、制御プログラム毎に送信可能な制御プログラムであるかを、当該制御プログラム先頭アドレスに記載されたアクセス権指定領域のデータを参照して判定するようにしているので、モニタ装置２から許可しないアクセス応答あった場合でも、その要求を制限することが可能となる。
【実施例２】
【００３９】
実施例２の構成は、実施例１で説明した、図１に示す構成と同じで、同一部分は同じ記号を付しその説明を省略する。
【００４０】
実施例２が、実施例１と異なる点は、実施例１ではデータメモリ１３の第１のアクセス権指定情報としては、制御プログラム先頭アドレステーブルを、また制御プログラムメモリ１５の第２のアクセス権指定情報としては、保護すべき特定制御プログラム毎の先頭アドレスにアクセス権指定領域のデータを挿入し、モニタ装置２からのアクセス応答を当該制御プログラム毎に判定して制限したが、本実施例２においては、更に、第２のアクセス権指定情報としてデータメモリ１３にモニタアクセス許可テーブルのみを格納してモニタ装置２からのアクセスの応答を予め制限するように構成していることにある。
【００４１】
このように構成した本実施例２について、図１、図６乃至図８を参照して説明する。図６はネットワーク４に接続されたモニタ装置２のＩＰアドレスとＭＡＣ（Media Access Control）アドレスを、予め制御プログラム対するアクセス許可／禁止情報をテーブルとしてデータメモリ１３に備えておく。
【００４２】
例えば、モニタ装置番号１については、ＩＰアドレス133.113.91.238、ＭＡＣアドレス00-00-39-02-33-99として、予め対応づけて格納しておく。
【００４３】
または、図７に示す様に、制御プログラムをダウンロードするときに、データメモリ１３に保護すべき特定制御プログラム毎に、制御プログラムのダウンロードを許可したＩＰアドレスとＭＡＣアドレスとを、制御プログラム格納ＩＰアドレステーブルとして格納しておく。
【００４４】
例えば、プログラム名称MS0001については、ＩＰアドレス133.113.91.238、ＭＡＣアドレス00-00-39-02-33-99として、予め対応づけて格納しておく。
【００４５】
次に、このように作成されたテーブル使用して、ネットワーク４に接続されたモニタ装置２からのアクセス応答要求に対する実施例２の動作について、図８を参照して説明する。
【００４６】
ＣＰＵ１１は、モニタ装置２からのアクセス応答の有無を判定（Ｓ６１）、要求されたモニタ装置２の番号または、要求された制御プログラムの名称に該当するＩＰアドレス、ＭＡＣアドレスに一致したものが存在するか、データメモリ１３に格納されたモニタ装置アクセス許可テーブルまたは制御プログラム格納ＩＰアドレステーブルを参照して判定する（Ｓ６２）。
【００４７】
以下この後の処理動作については、図５に示したものと同じであるのでその説明を省略する。
【００４８】
以上説明したように実施例２によれば、モニタ装置２から制御プログラムのアクセス要求を予め許可したモニタ装置２のＩＰアドレスと、ＭＡＣアドレスをテーブルとして格納しておき、このテーブルを参照してモニタ装置２からのアクセスを予め制限するようにしたので、制御プログラムの保護が、更に強くできる。
【実施例３】
【００４９】
実施例３の構成は、実施例１、２で説明した図１に示す構成と同じで、同一部分は、同じ記号を付しその説明を省略する。
【００５０】
実施例３が、実施例１及び実施例２と異なる点は、実施例１及び実施例２ではＣＰＵ１１が、モニタ装置２からのアクセス要求に対して、データメモリ１３に格納される第１のアクセス権指定情報である制御プログラム先頭アドレステーブルや、モニタアクセ許可テーブルを参照し、更に、第２のアクセス権指定情報が格納される制御プログラムメモリ１５の保護すべき特定制御プログラム毎の先頭アドレス挿入されたアクセス権指定領域のデータを参照して、モニタ装置２からのアクセス応答を当該制御プログラム毎に判定して制限したが、本実施例３においては、更に、実行中の制御プログラムに対して、そのプログラム及びデータをトレースするモニタ要求(以後実行モニタと言う)に対して、制御プログラムを実行するＣＰＵ１４が、第２のアクセス権指定情報として、アクセス権を指定する命令を保護すべき特定制御プログラム毎の先頭アドレスに挿入し、モニタ装置２からの保護すべき特定制御プログラムの実行モニタの要求に対する応答を、制御プログラムの実行中に制限しようとするように構成していることにある。
【００５１】
即ち、実行中の制御プログラムに対する応答の制限は、ＣＰＵ１４が実行する。
【００５２】
このように構成された実施例３について、図１と、図９及び図１０を参照して説明する。図９は、制御プログラムメモリ１５に格納される制御プログラムの保護すべき特定制御プログラム毎の先頭アドレスに挿入するアクセス権指定命令の例を示し、例えば、その命令の構造は、命令コードＰＯＵ、オペランド部には即値でアクセス権情報として、制御プログラム実行モニタの許可／禁止（３）が記述されている。
【００５３】
また、制御プログラムを実行するＣＰＵ１４の構成を、図１０を参照して説明する。図１０において、ＣＰＵ１４は、制御回路１４１と命令カウンタ１４２、制御プログラムメモリ１５に格納されている制御プログラムを、アドレスバッファ１４３及びシステムバス１９を介して読出し、読み出された制御プログラムを、データバッファ１４４を介して格納する命令レジスタ１４５、格納された命令レジスタの命令をデコードする命令デコーダ１４６、デコードされた命令にしたがって演算を行う演算回路１４９及びそのワークレジスタ１４９ａ、演算結果や読み込んだデータを一次格納するデータレジスタ１４７及びデコードされた情報を記憶するアクセスフラグ制御回路１４８とから構成される。
【００５４】
次に、ＣＰＵ１４の動作について同じく図１０を参照して説明する。図１０において、制御回路１４１が、命令カウンタ１４２に設定されている、制御プログラムメモリ１５の読出し命令のアドレスがアドレスバッファ１４３を介してシステムバス１９に出力される。
【００５５】
すると、制御プログラムメモリ１５の制御プログラムから読み出された命令が、データバッファ１４４を介して命令レジスタ１４５に格納される。命令レジスタ１４５に格納された制御プログラムの命令コードが命令デコーダ１４６でデコードされ、アクセスフラグ制御回路１４８及び演算回路１４９に出力される。
【００５６】
読み出された命令が、図９に示したアクセス権指定命令であった場合、アクセス制御回路１４８にはそのオペランドに示された制御プログラム実行モニタ許可／禁止（３）情報が格納される。
【００５７】
以後、アクセスフラグ制御回路１４８に制御プログラム実行モニタ許可／禁止（３）情報が格納された状態で、モニタ装置２からシステムバス１９を介して保護すべき特定制御プログラムに対してモニタ要求がアクセスされた場合、読み出された保護すべき特定制御プログラムの先頭アドレスに挿入されたアクセス権指定命令で指示されるオペランド部の情報をアクセス権制御フラグ回路１４８から読みだし、制御プログラム実行モニタの許可／禁止データ（３）にしたがって、その結果を、データレジスタ１４７を介してデータバッファ１４４からシステムバス１９に出力し、モニタ装置２に応答を返す。
【００５８】
即ち、保護すべき特定制御プログラムの先頭アドレスに挿入されたアクセス権指定命令にしたがって、モニタ装置２への返信を制限し、実行中の制御プログラムに対するモニタ要求に対して保護すべき特定制御プログラム毎に保護機能を設定することができる。
【実施例４】
【００５９】
実施例４の構成は、実施例１乃至実施例３説明した図１に示す構成と同じで、同一部分は、同じ記号を付しその説明を省略する。
【００６０】
実施例４が、実施例３と異なる点は、実施例３においては、ＣＰＵ１４が第２のアクセス権指定情報として、保護すべき特定制御プログラム毎の先頭アドレス位置に固定して命令を挿入し、モニタ装置２からの実行モニタの要求に対する応答を制限したが、本実施例４が実施例３と異なる点は、第２のアクセス権指定情報として保護すべき特定制御プログラム毎に複数、任意の位置にアクセス権指定命令を分散させて挿入し、制御プログラムや制御データの実行モニタによる読み出し要求に対し、改ざんされた要求でないことを回数を増して検証し、確実に制限できる応答とするようにしたことにある。
【００６１】
本実施例４について、図１１を参照して説明する。  図１１は、アクセス権指定命令の例で、この命令コードはＡＣＣＮＴＬ、オペランド部には制御プログラムの実行モニタ許可／禁止（３）が記述されている。
【００６２】
ＣＰＵ１４が本命例を実行すると、この制御プログラムアクセス権管理テーブルとアクセス権指定命令(ＡＣＣＮＴＬ)のオペランドに記述される制御プログラム実行モニタの許可／禁止（３）情報が、アクセス制御フラグ回路１４８に格納される。
【００６３】
この命令を、保護すべき特定制御プログラムの任意のアドレスに、複数個を挿入しておくことによって、同一のプログラム内で挿入個数分、アクセス制御回路１４８のアクセス権情報がランダムに更新される。
【００６４】
即ち、制御プログラムアクセス権管理テーブルや、複数箇所のアクセス権指定命令(ＡＣＣＮＴＬ)のオペランド情報の改ざんがされても、いずれか１箇所でも制御プログラム実行モニタの禁止（３）情禁があれば、モニタ装置２から制御プログラムに対するモニタ要求に対して、アクセスを制限することが可能となり、改ざんに対する保護機能を高くすることができる。
【００６５】
また、アクセス権指定命令（ＡＣＣＮＴＬ）は、ＮＯＰとし、制御応答に影響しないようにすることも容易に実現できる。
【実施例５】
【００６６】
実施例５の構成は、実施例１乃至実施例３説明した図１に示す構成と同じで、同一部分は、同じ記号を付しその説明を省略する。
【００６７】
実施例５が、実施例４と異なる点は、実施例３においては、第２のアクセス権指定情報として保護すべき特定制御プログラム毎に複数、任意の位置にアクセス権指定命令を分散させて挿入し、制御プログラムや制御データの実行モニタによる読み出し要求に対し、改ざんされた要求でないことを回数を増して実証し、確実に制限できる応答とするようにしたが、本実施例５が実施例４と異なる点は、第２のアクセス権指定情報として保護すべき特定制御プログラム毎に複数、任意の位置にアクセス権指定命令を分散させて挿入するとともに、第１のアクセス権指定情報として、制御プログラムアクセス権管理テーブルを設定し、各々のアクセス権情報を比較、判定して、改ざんされた要求でないことを、更に、確実に実証し、制御プログラムや制御データの実行モニタによる読み出し要求に対する応答を制限をするようにしたことにある。
【００６８】
本実施例５について、図１２乃至図１４を参照して説明する。図１２は、アクセス権指定命令の例で、この命令コードはＡＣＣＶＥＲＦＹ、オペランド部には制御プログラムの実行モニタ許可／禁止（３）が記述されている。
【００６９】
また、図１２は、制御プログラムアクセス権指定管理テーブルの例を示し、例えば、プログラム名称MS0002  については、アクセス権指定情報として制御プログラムの実行モニタ許可／禁止（３）を予め設定しておく。
【００７０】
このアクセス権指定命令(ＡＣＣＶＥＲＦＹ)をＣＰＵ１４が実行すると、この制御プログラムアクセス権管理テーブルのアクセス権情報とアクセス権指定命令(ＡＣＣＶＥＲＦＹ)のオペランドに記述される制御プログラム実行モニタの許可／禁止（３）情報が、アクセスフラグ制御回路１４８に格納され、前回のこの命令時に格納されたアクセスフラグ制御回路１４８と演算回路１４９で比較される。
【００７１】
そして、この命令を、保護すべき特定制御プログラムの任意のアドレスに挿入しておくことによって、同一のプログラム内に挿入された命令の数に応じてアクセスフラグ制御回路１４８のアクセス権情報が複数回更新され、更に、演算回路１４９で制御プログラムアクセス権管理テーブルとアクセス権指定命令(ＡＣＣＶＲＦＹ)のアクセス権情報を夫々の前回データとの比較、または、少なくとも一方の比較が行われ、相違の有無が判定される。
【００７２】
そして、一カ所でもアクセス指定権情報に相違があれば、モニタ装置２への応答が禁止され、制限される。
【００７３】
即ち、制御プログラムアクセス権管理テーブル、または複数箇所に挿入したアクセス権指定命令(ＡＣＣＶＥＲＦＹ)のオペランド情報の改ざんがされても、いずれか１箇所でもアクセスの禁止が判定出力されれば、改ざんの異常が発見されるとともに、応答が制限（禁止）され、制御プログラム及びそのデータが保護される。
【００７４】
以下、図１４を参照して実施例４のこれらの命令を使用したときの処理フローを説明する。図１４において、保護対象とする制御プログラム毎に図１３に示すアクセス権指定命令（ＡＣＣＶＥＲＦＹ）を、任意のアドレスに複数箇所挿入する（Ｓ１４１）。
【００７５】
また、保護対象とする第１のアクセス権指定情報として、図１２に示したアクセス権管理テーブルを、予めデータメモリ１３に格納しておく（Ｓ１４２）。
【００７６】
次に、モニタ装置２から実行中の制御プログラムに対して実行プログラムのモニタ要求がされたとする（Ｓ１４３）。
【００７７】
するとＣＰＵ１４は、データメモリ１３を参照して、要求された制御プログラム、例えば、MS0002を実行する（Ｓ１４４）。
【００７８】
要求された制御プログラムが実行され、その中に保護対象とする制御プログラムであれば、当該制御プログラムに書き込まれたアクセス権指定命令（ＡＣＣＮＴＬ）を実行し、書き込まれたオペランド部の制御プログラム実行モニタ許可／禁止(３)情報及びデータメモリに格納される制御プログラム管理テーブルのアクセス権情報とを、アクセスフラグ制御回路１４８に読み込み、夫々のアクセス権指定データが一致しているか否かを判定する（Ｓ１４５）。
【００７９】
そして、例えば、モニタ装置２から要求された制御プログラムMS0002のアクセス権指定データに相違があり、且つ禁止されている制御プログラム及びそのデータの要求であれば、改ざん有りと判定するとともに、要求されたプログラムの送信及び制御データの送信が不可であることを送信する（Ｓ１４７）。そうでない許可されている制御プログラム及びそのデータの要求で、不一致がなければ、要求された制御プログラム及びデータを送信する（Ｓ１４７）。
【００８０】
アクセス権指定命令（ＡＣＣＶＥＲＦＹ）が複数箇所に挿入されている場合は、上記の動作を複数回実行する。
【００８１】
本実施例５によれば、保護対象とする制御プログラム毎に、アクセス権指定命令を任意の箇所に複数箇所挿入し、また、予め設定されるモニタ装置アクセス許可テーブルを設定したことによって、一カ所でもアクセス権指定情報の相違が検出されるので、改ざんされる確率が極めて低い、制御プログラム毎の保護が容易に実現される。
【００８２】
また、このアクセス権指定命令（ＡＣＣＶＲＦＹ）も、ＮＯＰとし、制御応答に影響しないようにすることが、容易に実現される。
【００８３】
また、以上の説明では、ＣＰＵはＣＰＵ１１とＣＰＵ１４で構成される２ＣＰＵシステムとして説明したが、１ＣＰＵシステムとして構成することも可能である。また、データメモリ１３と制御データメモリ１６とを合わせたメモリとし、このメモリ上に制御データと第1のアクセス権情報を格納するように構成することも可能である。
【００８４】
本発明は、上述した実施例に何ら限定されるものではなく、モニタ装置２からのアクセスを制限する第１のアクセス権制御情報と、実行命令としての第２のアクセス権指定情報との組み合わせを替えて実行することも可能で、本発明の主旨を逸脱しない範囲で種々変形して実施することができる。
【図面の簡単な説明】
【００８５】
【図１】本発明に係る制御装置の構成図。
【図２】制御プログラムの、制御データメモリの構成図。
【図３】制御プログラム先頭アドレステーブルの例。
【図４】アクセス権指定領域のデータの例。
【図５】実施例１の処理フロー図。
【図６】制御プログラム格納ＩＰアドレステーブル。
【図７】モニタ装置アクセス許可テーブル。
【図８】実施例２の処理フロー図。
【図９】モニタ権指定命令の例。
【図１０】制御プログラム実行制御回路。
【図１１】アクセス権指定命令（ＡＣＣＮＴＬ）の例。
【図１２】制御プログラムアクセス権情報管理テーブル。
【図１３】アクセス権指定命令（ＡＣＣＶＲＦＹ）の例。
【図１４】アクセス権指定命令による処理フロー図。
【図１５】従来の制御装置のモニタ構成の例
【符号の説明】
【００８６】
１、２１  制御装置
２、２２  モニタ装置
３  被制御対象
４、２４  ネットワーク
１０  制御プログラム実行制御部
１１  ＣＰＵ
１２  プログラムメモリ
１３  データメモリ
１４  ＣＰＵ
１５  制御プログラムメモリ
１６  制御データメモリ
１７  入出力インタフェース
１８  通信インタフェース
１９  システムバス
１４１  バス制御回路
１４２  命令カウンタ
１４３  アドレスバッファ
１４４  データバッファ
１４５  命令レジスタ
１４６  命令デコーダ
１４７  データレジスタ
１４８  アクセスフラグ制御回路
１４９  演算回路
１４９ａ  ワークレジスタ
【図１】
2005135165.tif 000003
【図２】
2005135165.tif 000004
【図３】
2005135165.tif 000005
【図４】
2005135165.tif 000006
【図５】
2005135165.tif 000007
【図６】
2005135165.tif 000008
【図７】
2005135165.tif 000009
【図８】
2005135165.tif 000010
【図９】
2005135165.tif 000011
【図１０】
2005135165.tif 000012
【図１１】
2005135165.tif 000013
【図１２】
2005135165.tif 000014
【図１３】
2005135165.tif 000015
【図１４】
2005135165.tif 000016
【図１５】
2005135165.tif 000017