(57)【要約】      （修正有）【課題】特別なパスワードや暗号化を必要とせずに、そのシーケンスプログラムの内容を知りえる者だけが、シーケンスプログラムを閲覧できたり、パソコンへシーケンスプログラムを保存できたりするための認証方式を提供する。【解決手段】プログラマブルコントローラに格納されているシーケンスプログラムを読み出す際に、プログラミング装置を操作する者が、そのシーケンスプログラムを知りえる者かどうかを認証する。具体的には、操作者から提供されたシーケンスプログラムの一部またはバックアップデータが、格納しているシーケンスプログラムと一致しているかの照合を行う。これにより、パスワードや暗号化などの機能を用いることなく、プログラマブルコントローラに格納されたシーケンスプログラムを保護できる。【選択図】図１
2015049788.tif 000002
【特許請求の範囲】
【請求項１】
制御対象である機器の制御手順を示すシーケンスプログラムを格納する書き換え可能なシーケンスプログラムメモリと、
該シーケンスプログラムメモリに格納されたシーケンスプログラムに従って機器を制御するマイクロプロセッサユニットと、
前記シーケンスプログラムメモリに格納されるシーケンスプログラムへのアクセスを行うためにプログラミング装置と接続されるプログラミング装置インタフェースとを備えるプログラマブルコントローラであって、
前記マイクロプロセッサユニットは、前記プログラミング装置からの前記シーケンスプログラムの読み出し要求に対して、前記プログラミング装置の操作者が前記シーケンスプログラムの内容を知りえる者かの確認を行う処理を行い、確認が取れた場合に、前記シーケンスプログラムを前記プログラミング装置へ送信することを特徴とするプログラマブルコントローラ。
【請求項２】
請求項１記載のプログラマブルコントローラであって、
前記シーケンスプログラムの内容を知りえる者かの確認を行う処理は、
前記マイクロプロセッサユニットが、前記プログラミング装置に対して前記シーケンスプログラムのバックアップデータの有無を要求し、前記プログラミング装置から指定されたバックアップデータと前記格納しているシーケンスプログラムとの照合を行う処理であって、該照合の結果一致した場合に、前記シーケンスプログラムを前記プログラミング装置へ送信することを特徴とするプログラマブルコントローラ。
【請求項３】
請求項１記載のプログラマブルコントローラであって、
前記シーケンスプログラムの内容を知りえる者かの確認を行う処理は、
前記マイクロプロセッサユニットが、前記プログラミング装置に対して前記シーケンスプログラムの一部分の範囲の入力を要求し、前記プログラミング装置から入力された一部分のシーケンスプログラムと前記格納しているシーケンスプログラムとの照合を行う処理であって、該照合の結果一致した場合に、前記シーケンスプログラムを前記プログラミング装置へ送信することを特徴とするプログラマブルコントローラ。
【請求項４】
請求項３記載のプログラマブルコントローラであって、
前記プログラミング装置に対して前記シーケンスプログラムの一部分の範囲の入力を要求する際に、その要求範囲の位置または数を要求毎にランダムに変更することを特徴とするプログラマブルコントローラ。
【請求項５】
シーケンスプログラムに従って機器を制御するプログラマブルコントローラに対して、  前記シーケンスプログラムへのアクセスを行うために接続されるプログラミング装置であって、
前記プログラマブルコントローラへの前記シーケンスプログラムの読み出し要求に対して、前記プログラマブルコントローラから前記シーケンスプログラムのバックアップデータの要求または前記シーケンスプログラムの内容の一部の入力要求があった際に、前記要求されたバックアップデータの指定またはシーケンスプログラムの内容の一部の送信を行い、
該指定されたバックアップデータまたは送信された一部分のシーケンスプログラムと前記格納しているシーケンスプログラムとの照合結果が一致した場合に前記シーケンスプログラム受信し、不一致の場合に認証失敗のメッセージを表示する
ことを特徴とするプログラミング装置。
【請求項６】
シーケンスプログラムに従って機器を制御するプログラマブルコントローラと、該シーケンスプログラムのアクセスを行うために接続されるプログラミング装置とからなるプログラマブルコントローラシステムであって、
前記プログラミング装置からの前記プログラマブルコントローラへの前記シーケンスプログラムの読み出し要求に対して、
前記プログラマブルコントローラは、前記シーケンスプログラムのバックアップデータの要求または前記シーケンスプログラムの内容の一部の入力要求を行い、
前記プログラミング装置は、前記プログラマブルコントローラに対して、前記要求されたバックアップデータの指定またはシーケンスプログラムの内容の一部の送信を行い、
前記プログラマブルコントローラは、該指定されたバックアップデータまたは送信された一部のシーケンスプログラムと前記シーケンスプログラムとの照合を行い、前記プログラミング装置へ、照合結果が一致した場合には前記シーケンスプログラムを送信し、不一致の場合には照合失敗の結果を送信することを特徴とするプログラマブルコントローラシステム。
【請求項７】
シーケンスプログラムに従って機器を制御するプログラマブルコントローラと、該プログラマブルコントローラに接続され前記シーケンスプログラムへのアクセスを行うプログラミング装置とからなるシステムにおけるシーケンスプログラムへのアクセス保護を行うユーザ認証方法であって、
前記シーケンスプログラムへのアクセス要求に対して、
前記シーケンスプログラムのバックアップデータの要求または前記シーケンスプログラムの内容の一部の入力要求を行い、
指定されたバックアップデータまたは受信したシーケンスプログラムの内容の一部と前記シーケンスプログラムとの照合を行い、
照合結果が一致した場合に前記シーケンスプログラムへのアクセスを許可することを特徴とするユーザ認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンスプログラムに従って機器を制御するプログラマブルコントローラに関し、特にプログラマブルコントローラのシーケンスプログラム保護に関する。
【背景技術】
【０００２】
一般的なプログラマブルコントローラは、制御対象となる機器の制御手順を示すシーケンスプログラムを格納するシーケンスプログラムメモリと、シーケンスプログラムを実行して機器の制御を行うＭＰＵと、シーケンスプログラムメモリの内容変更を主目的としたプログラミング装置インタフェースを備えている。
【０００３】
プログラマブルコントローラにて演算処理されるシーケンスプログラムには、制御対象となる設備の制御に関するノウハウおよび、プログラミングテクニックなどの貴重な情報が凝縮されている。一般に、シーケンスプログラムは、プログラマブルコントローラメーカ各社が提供するプログラミング装置にて入力される。
【０００４】
このプログラミング装置は、パソコン用のアプリケーションソフトウェアという形態で提供されるのが一般的であり、このソフトウェアの入手は極めて容易である。
【０００５】
プログラミング装置とシーケンスプログラムが格納されたプログラマブルコントローラ間を専用、あるいは汎用の通信用ケーブルで接続し、プログラミング装置から所定の操作をすることで誰もが簡単にプログラマブルコントローラに格納されたシーケンスプログラムを閲覧できたり、閲覧したシーケンスプログラムをデータとしてパソコンへ保存したりすることが可能である。
【０００６】
前記のようにプログラミング装置の入手が容易であるために、機材さえ揃えれば比較的容易にプログラマブルコントローラに格納されたシーケンスプログラムを閲覧、入手することが可能である。そのため、悪意を持った作業者が、不当にシーケンスプログラムを入手することが可能であり、その結果、制御対象の設備や機器を容易に複製されてしまう事象が発生している。このため、制御設備や制御機器を開発しているメーカでは、シーケンスプログラムの流出を防ぐ対策が必要になる。
【０００７】
このようなシーケンスプログラムの保護に関する背景技術として、特開２００３−１６７６０６号公報（特許文献１）がある。特許文献１には、ユーザＩＤ、パスワード、アクセスレベルを含むユーザ情報を記憶したユーザ認証テーブルを格納するメモリカードをプログラマブルコントローラに装着した後、メモリカードのユーザ認証テーブルのユーザＩＤ、パスワードとログイン要求コマンドのユーザＩＤ、パスワードが一致した場合にプログラマブルコントローラへのアクセスを許可することが記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−１６７６０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前記特許文献１は、プログラマブルコントローラに格納されたシーケンスプログラムへのアクセスに際して、ユーザＩＤやパスワードが必要であり、その管理が煩雑になるという課題がある。また、ユーザＩＤやパスワードが漏洩してしまった場合には、簡単にシーケンスプログラムへのアクセスが可能になってしまうという課題がある。
【００１０】
本発明は上記事由に鑑みて為されたものであり、その目的は、プログラマブルコントローラに格納されているシーケンスプログラムの内容を読み出す場合、特別なパスワードや暗号化を必要とせずに、そのシーケンスプログラムの内容を知りえる者だけが、シーケンスプログラムを閲覧できたり、パソコンへシーケンスプログラムを保存できたりするための認証方式を提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明では、プログラマブルコントローラに格納されているシーケンスプログラムを読み出す際に、プログラミング装置を操作する者が、そのシーケンスプログラムを知りえる者かどうかを認証する。具体的には、操作者から提供されたシーケンスプログラムの一部またはバックアップデータが、格納しているシーケンスプログラムと一致しているかの照合を行う。
【発明の効果】
【００１２】
本発明によれば、パスワードや暗号化などの機能を用いることなく、プログラマブルコントローラに格納されたシーケンスプログラムを保護できる。
【図面の簡単な説明】
【００１３】
【図１】実施例１のプログラミング装置とプログラマブルコントローラ間のバックアップデータによる認証方式の処理フローチャートである。
【図２】プログラマブルコントローラの構成を示す説明図である。
【図３】プログラミング装置に表示されるラダーシンボルの説明図である。
【図４】実施例２のプログラミング装置とプログラマブルコントローラ間のプログラム部分指定入力による認証方式の処理フローチャートである。
【発明を実施するための形態】
【００１４】
まず、一般的なプログラマブルコントローラとプログラミング装置について図２と図３を用いて説明する。
【００１５】
図２にプログラマブルコントローラとプログラミング装置の構成を示す。プログラマブルコントローラ１は、論理演算や算術演算を行うＭＰＵ２、ＭＰＵ２が制御する内容や手順を記憶したシステムプログラムメモリ３、制御対象となる機器の制御手順を示すシーケンスプログラムを格納するシーケンスプログラムメモリ４、シーケンスプログラムの演算結果などを一時的に記憶するデータメモリ５、シーケンスプログラムメモリの内容変更を主目的としたプログラミング装置インタフェース６とを備えている。
【００１６】
プログラミング装置７は、プログラマブルコントローラ１にて演算処理されるシーケンスプログラムをプログラミングする目的のほか、プログラマブルコントローラ１へのシーケンスプログラムの書込み、プログラマブルコントローラ１からのシーケンスプログラムの読出し、シーケンスプログラムの動作確認などのアクセスを行うために使用される。
【００１７】
以降、プログラマブルコントローラとプログラミング装置をまとめてプログラマブルコントローラシステムと称する。
【００１８】
図３に、プログラミング装置７で表示されるシーケンスプログラムの一般的な表示形態である、ラダーシンボル形式８の例を示す。図３において、ラダーシンボルは、Ｘ０、Ｘ１、Ｘ２、Ｘ３という４つの入力接点のＯＮ／ＯＦＦ状態によって出力コイルＹ１００のＯＮ／ＯＦＦを制御するものを示している。それぞれの入力接点が直列に接続されている場合はＡＮＤ条件、並列に接続されている場合はＯＲ条件を表している。すなわち、図３においては、Ｘ０とＸ１とＸ３がＯＮ状態のときと、Ｘ０とＸ２とＸ３がＯＮ状態のときに、Ｙ１００がＯＮ状態になり、Ｘ０、Ｘ１、Ｘ２、Ｘ３が前記の状態以外のときはＹ１００がＯＦＦ状態になる。
【００１９】
プログラミング装置７によりラダーシンボル形式８でプログラミングされたシーケンスプログラムは、プログラミング装置インタフェース６とＭＰＵ２を介してシーケンスプログラムメモリ４に格納される。この一連の動作をシーケンスプログラムの書込みと表現する。一方、シーケンスプログラムメモリ４に格納されたシーケンスプログラムを、ＭＰＵ２とプログラミング装置インタフェース６を介してプログラミング装置７に取り込む動作を、シーケンスプログラムの読出しと表現する。プログラミング装置７に読み出されたシーケンスプログラムは、プログラミング装置７にてラダーシンボル形式８で表示される。
【００２０】
プログラミング装置７に読み出されたシーケンスプログラムは、一般的にバックアップデータとして保管されるので、プログラミング装置７にはシーケンスプログラムを保存する機能も併せ持っている。
実施例を、以下図面を用いて説明する。
【実施例１】
【００２１】
本実施例は、バックアップデータによる認証方式である。具体的には、プログラマブルコントローラに格納されているシーケンスプログラムと全く同じバックアップデータを持っている場合には、そのバックアップデータとプログラマブルコントローラに格納されているシーケンスプログラムを照合比較し、すべての内容が一致したときのみ、シーケンスプログラムデータのアクセスを許可し、例えば、プログラミング装置側へ転送して、プログラミング装置側のモニタにシーケンスプログラムを表示する。一部でも不一致箇所が検出された場合には、プログラマブルコントローラに格納されているシーケンスプログラムをプログラミング装置には転送しない。
【００２２】
図１に、本実施例の、バックアップデータによる認証方式の処理フローチャートを示す。図１は、シーケンスプログラムの読み出し要求の例である。図１において、プログラミング装置７は、プログラマブルコントローラに格納されたシーケンスプログラム（以下プログラムとする）を閲覧したり、そのプログラムをファイルとして保存したりする場合、ステップ１１（以降ステップをＳと省略する）でプログラムの読み出し要求を実行する。
【００２３】
プログラマブルコントローラ側では、Ｓ１２でプログラムの読み出し要求を受信すると、プログラミング装置７の操作者に対して、Ｓ１３によりプログラムのバックアップデータの有無の確認要求を行う。
【００２４】
プログラミング装置７側では、Ｓ１４にて、プログラムのバックアップデータを持っている場合、そのバックアップデータを指定したのち、バックアップデータとプログラマブルコントローラに格納されたプログラムの照合をプログラマブルコントローラへ要求する。
【００２５】
プログラマブルコントローラ側では、Ｓ１５において、プログラミング装置から指定されたプログラムのバックアップデータと、プログラマブルコントローラに格納されているプログラムを照合処理する。
【００２６】
Ｓ１６の一致判定にてプログラムが一致していると判定された場合、Ｓ１７で、プログラマブルコントローラ側からプログラミング装置７へ、プログラマブルコントローラに格納されているプログラムが確認のため送信され、プログラミング装置７側では、Ｓ１８で、シーケンスプログラムが画面に表示されるので、シーケンスプログラムを閲覧したりバックアップを保存したりできる。これが、認証に成功した場合のフローである。
【００２７】
一方、Ｓ１６の一致判定においてプログラムが不一致と判定された場合、Ｓ１９にてプログラマブルコントローラ１からプログラミング装置７へ照合結果不一致、すなわち認証に失敗した結果を送信する。プログラミング装置７では、Ｓ１８において、認証失敗というメッセージが表示され、かつ、シーケンスプログラムは画面に表示されないため、プログラミング装置７の操作者はシーケンスプログラムを閲覧したりバックアップを保存したりできない。
【００２８】
以上のように、本実施例では、プログラマブルコントローラが、シーケンスプログラムのバックアップデータの有無を要求し、前記プログラミング装置から指定されたバックアップデータと前記格納しているシーケンスプログラムとの照合を行う処理を行い、該照合の結果一致した場合に、前記シーケンスプログラムを前記プログラミング装置へ送信する。
【００２９】
よって、シーケンスプログラムのバックアップデータを管理するだけで、プログラマブルコントローラに格納されたシーケンスプログラムを保護できる。
【００３０】
すなわち、プログラミング装置からのシーケンスプログラムの読み出し要求に対して、プログラミング装置の操作者がシーケンスプログラムの内容を知りえる者かの確認を行う処理を行い、確認が取れた場合に、シーケンスプログラムをプログラミング装置へ送信するようにしている。つまり、シーケンスプログラムの内容を正確に知りえる者だけが、シーケンスプログラムを閲覧したりバックアップを保存したりできる。
【００３１】
本実施例によれば、プログラマブルコントローラに格納されているシーケンスプログラムの内容を知りえる者かどうかを識別するために、パスワードや暗号化などの機能を用いることなくその資格の有無を識別することが可能である。このため、悪意を持った操作者によるシーケンスプログラム情報の流出を防げることはもちろんのこと、パスワードを別途管理する必要もない。
【実施例２】
【００３２】
本実施例は、プログラム部分指定入力による認証方式である。具体的には、プログラマブルコントローラに格納されているシーケンスプログラムのバックアップデータを持っていないものの、プログラマブルコントローラに格納されているシーケンスプログラムのすべて、もしくは一部の内容を知りえるものかどうかを判別する目的で、アクセス対象のシーケンスプログラム内容の一部分の範囲をプログラミング装置から入力させる画面を表示させる。プログラミング装置の操作者は、指定された部分のシーケンスプログラムをプログラミング装置から入力して、入力が完了したら照合を要求する。プログラマブルコントローラ側では、認証用に指定した範囲のシーケンスプログラムとプログラミング装置操作者が入力したシーケンスプログラムを照合し、すべての内容が一致したときのみ、シーケンスプログラムデータのアクセスを許可し、例えば、シーケンスプログラムデータをプログラミング装置側へ転送して、プログラミング装置側のモニタにシーケンスプログラムを表示する。一部でも不一致箇所が検出された場合には、プログラマブルコントローラに格納されているシーケンスプログラムをプログラミング装置には転送しない。
【００３３】
図４に、本実施例の、プログラム部分指定入力による認証方式の処理フローチャートを示す。図４は、図１と同様にシーケンスプログラムの読み出し要求の例であって、プログラミング装置７の操作者は、プログラマブルコントローラに格納されたプログラムを閲覧したり、そのシーケンスプログラムをファイルとして保存したりする場合、Ｓ４１にて、プログラムの読み出し要求を実行する。
【００３４】
プログラマブルコントローラ側では、Ｓ４２で、プログラムの読み出し要求を受信すると、Ｓ４３で、実施例１と同様の、バックアップデータの有無の確認要求を行う。ここで、プログラミング装置７からバックアップデータがあることが通知されれば、実施例１と同様の処理を行うが、その部分は省略する。バックアップデータが無い場合を想定して以下説明する。
【００３５】
Ｓ４４でプログラミング装置７からバックアップデータがないことを通知されると、プログラマブルコントローラは、Ｓ４５で、プログラミング装置７の操作者に対して、プログラマブルコントローラに格納されている一部分のプログラムを入力するように要求する。
【００３６】
なお、この場合指定される一部分のプログラムは、プログラマブルコントローラ側で要求毎にランダムに指定される。本実施例では、２０から３０ステップ部分範囲とした。なお、範囲ではなく、ステップ数をランダムにしても良い。これにより、より認証の確度が高まる効果がある。
【００３７】
また、シーケンスプログラムの開発者等のシーケンスプログラムの内容を知り得る者は、そのシーケンスプログラムを書面で残しておくことが一般的であるので、指定された一部分のプログラムを入力することは可能である。
【００３８】
プログラミング装置７側では、Ｓ４６で、プログラマブルコントローラから指定された部分のプログラム入力を促す画面が表示される。
【００３９】
そして、Ｓ４７で、プログラミング装置７の操作者は、指定された部分のプログラムを入力したのち、その入力したプログラムをプログラマブルコントローラ１へ送信する。
【００４０】
プログラマブルコントローラ側では、Ｓ４８で、プログラミング装置７から送信されたプログラム情報と、プログラマブルコントローラに格納されているプログラムを照合処理する。
【００４１】
以降は、実施例１と同様に、一致判定Ｓ４９にてプログラムが一致していると判定された場合は、Ｓ５０でプログラムが送信され、Ｓ５１でプログラミング装置７側でプログラムが画面に表示される。一方、一致判定Ｓ４９においてプログラムが不一致と判定された場合、Ｓ５２で認証に失敗した結果を送信する。プログラミング装置７では、Ｓ５１で認証失敗というメッセージが表示される。よって、プログラミング装置７の操作者はシーケンスプログラムを閲覧したりバックアップを保存したりできない。
【００４２】
以上のように、本実施例では、プログラマブルコントローラが、シーケンスプログラムの内容の一部の入力要求を行い、入力されたシーケンスプログラムの内容の一部と格納しているシーケンスプログラムとの照合を行う処理を行い、該照合の結果一致した場合に、前記シーケンスプログラムを前記プログラミング装置へ送信する。
【００４３】
よって、シーケンスプログラムを書面等で残しておくだけで、プログラマブルコントローラに格納されたシーケンスプログラムを保護できる。
【００４４】
また、そのシーケンスプログラムの内容を正確に知りえる者だけが、シーケンスプログラムを閲覧したりバックアップを保存したりできる。
また、シーケンスプログラムへのアクセス保護を行うユーザ認証方法として言い換えると、シーケンスプログラムに従って機器を制御するプログラマブルコントローラと、該プログラマブルコントローラに接続され前記シーケンスプログラムへのアクセスを行うプログラミング装置とからなるシステムにおけるシーケンスプログラムへのアクセス保護を行うユーザ認証方法であって、前記シーケンスプログラムへのアクセス要求に対して、前記シーケンスプログラムのバックアップデータの要求または前記シーケンスプログラムの内容の一部の入力要求を行い、指定されたバックアップデータまたは受信したシーケンスプログラムの内容の一部と前記シーケンスプログラムとの照合を行い、照合結果が一致した場合に前記シーケンスプログラムへのアクセスを許可することを特徴とするユーザ認証方法を提供できる。
【００４５】
なお、本実施例では、実施例１のバックアッププログラムによる認証方式も併用する場合を説明したが、プログラム部分指定入力による認証方式のみを前提としても良く、その際には、Ｓ４３は不要となる。
【００４６】
また、シーケンスプログラムの内容を正確に知りえる者として、プログラム制作者があるが、制作者が知りえる情報として制作時の日時情報があるので、それらの時間情報を認証の１手段としても良い。
【００４７】
以上、実施例について説明したが、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものである。また、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
【符号の説明】
【００４８】
１  プログラマブルコントローラ
２  ＭＰＵ
３  システムプログラムメモリ
４  シーケンスプログラムメモリ
５  データメモリ
６  プログラミング装置インタフェース
７  プログラミング装置
８  ラダーシンボル形式のシーケンスプログラム
【図１】
2015049788.tif 000003
【図２】
2015049788.tif 000004
【図３】
2015049788.tif 000005
【図４】
2015049788.tif 000006