説明

プログラマブルコントローラのプログラミング装置、及び、プログラマブルコントローラシステム

【課題】プログラマブルコントローラにより制御される装置や設備の連続稼動性を高め、プログラムの機密保持等のセキュリティを向上させる。
【解決手段】入力パスワードが、暗号化されていたと判定された場合、入力パスワードが復号化され、パスワード国コードとパスワード有効期間データとに分割される。パスワード国コードと、予めプログラマブルコントローラのプログラミング装置に設定された装置内パスワードコードとが一致し、且つ、パスワードが入力された日付・時刻が、パスワード有効期間の範囲内にある場合、入力パスワードは有効とされ、そうでなければ、入力パスワードは無効とされる。入力パスワードが、暗号化されていないと判定された場合、入力パスワードと、ユーザにより設定されたユーザ設定パスワードとが照合される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブルコントローラのプログラミング装置、及び、プログラマブルコントローラシステムに関する。より詳細には、本発明は、プログラマブルコントローラのプログラミング装置やプログラマブルコントローラのメーカが保有するパスワード生成装置により生成されたパスワードを用いることにより、パスワード認証されるプログラマブルコントローラのプログラミング装置、及び、プログラマブルコントローラシステムに関する。
【背景技術】
【0002】
従来のプログラマブルコントローラ(以下、PLCとも略記する)は、プログラムの機密保持や、PLCの操作を保護、又は、制限するため、すなわち、セキュリティの目的上、パスワード機能が設けられている。
【0003】
前述のパスワードを用いた機密保持等において、厳しい管理が要求される場合と柔軟な管理が要求される場合とがある。このような機密保持等の要求に対し、パスワードの入力により機密保持等を行うPLCにおいて、パスワードの入力ミスの許容条件をユーザにて設定可能とし、入力ミスの回数が許容条件を超えた場合には、パスワードの受付を禁止する発明が提案されている(例えば、特許文献1参照)。また、前述のパスワードの受付禁止状態を受付許容状態に戻すための復旧条件をユーザにて設定可能とし、その復旧条件が満たされた場合には、パスワードの受付禁止状態を解除して、受付許容状態に戻す発明が提案されている(同上)。これにより、ユーザが、使用用途に合わせて機密保持レベルを個別に設定でき、柔軟なパスワードの運用を図ることができる。
【0004】
【特許文献1】特開2002−229608号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の従来技術が実施されても、ユーザ用パスワードを忘れた場合には、ユーザは、PLCのプログラムをクリアすることによって、ユーザ用パスワードのクリアを行い、再度プログラムをPLCへ送信した後に、新たなユーザ用パスワードをPLCに設定する必要があった。この際には、PLC、すなわち、PLCにより制御される装置や設備の稼動を停止しなければならない。
【0006】
また、ユーザ用パスワードを忘れた場合に、PLCを停止させることなく、操作制限を解除するには、メーカ専用パスワードを用いることにより、一時的に操作制限を解除できるが、最終的には上述のようにユーザ用パスワードを再設定する必要があった。メーカ専用パスワードは、メーカによって固有管理され、ユーザに公開されないため、メーカ担当者がPLCの設置場所に直接赴いて、メーカ専用パスワードを入力する必要があったが、メーカ専用パスワードは、固定されているため、いったん漏洩してしまうと、プログラムの機密保持等が不可能となってしまう。
【0007】
そこで、本発明は、上述の点に鑑みて、PLCにより制御される装置や設備の連続稼動性を高める、パスワード機能が設けられたプログラマブルコントローラのプログラミング装置、及び、プログラマブルコントローラシステムを提供することを目的とする。
【0008】
また、本発明は、機密保持等のセキュリティを向上させる、パスワード機能が設けられたプログラマブルコントローラのプログラミング装置、及び、プログラマブルコントローラシステムを提供することを目的とする。
【課題を解決するための手段】
【0009】
このような目的を達成するために、請求項1に記載の発明は、パスワード機能が設けられたプログラマブルコントローラのプログラミング装置であって、パスワードを入力するパスワード入力手段と、前記パスワード入力手段により入力された前記パスワードが、暗号化されているか否かを判定するパスワード暗号化判定手段と、入力された前記パスワードが、前記パスワード暗号化判定手段により、暗号化されていたと判定された場合は、入力された前記パスワードを復号化して、暗号化パスワード要素コードと、パスワード有効期間データとに分割するパスワード復号化・分割手段と、前記暗号化パスワード要素コードと、前記暗号化パスワード要素コードに対応する、予め前記プログラマブルコントローラのプログラミング装置に設定された装置内パスワードコードとが一致し、且つ、前記パスワードが入力された日付・時刻が、前記パスワード有効期間データの範囲内にある場合、入力された前記パスワードは有効であるとし、そうでなければ、入力された前記パスワードは無効であるとする第1のパスワード認証手段と、入力された前記パスワードが、前記パスワード暗号化判定手段により、暗号化されていないと判定された場合は、入力された前記パスワードと、予め前記プログラマブルコントローラのプログラミング装置に設定されたメーカ専用パスワード、又は、ユーザによって前記プログラマブルコントローラのプログラミング装置に設定されたユーザ設定装置パスワードとが一致すれば、入力された前記パスワードは有効であるとし、そうでなければ、入力された前記パスワードは無効であるとする第2のパスワード認証手段とを備えたことを特徴とする。
【0010】
請求項2に記載の発明は、請求項1に記載のプログラマブルコントローラのプログラミング装置であって、前記暗号化パスワード要素コードは、パスワード国コードであり、且つ、前記装置内パスワードコードは、前記プログラマブルコントローラのプログラミング装置の言語設定を示す装置国コードである、ことを特徴とする。
【0011】
請求項3に記載の発明は、プログラマブルコントローラと、前記プログラマブルコントローラに接続されたプログラマブルコントローラのプログラミング装置とを含む、パスワード機能が設けられたプログラマブルコントローラシステムであって、前記プログラマブルコントローラのプログラミング装置は、パスワードを入力するパスワード入力手段と、前記パスワード入力手段により入力された前記パスワードが、暗号化されているか否かを判定するパスワード暗号化判定手段と、入力された前記パスワードが、前記パスワード暗号化判定手段により、暗号化されていたと判定された場合は、入力された前記パスワードを復号化して、暗号化パスワード要素コードと、パスワード有効期間データとに分割するパスワード復号化・分割手段と、前記暗号化パスワード要素コードと、前記暗号化パスワード要素コードに対応する、予め前記プログラマブルコントローラのプログラミング装置に設定された装置内パスワードコードとが一致し、且つ、前記パスワードが入力された日付・時刻が、前記パスワード有効期間データの範囲内にある場合、入力された前記パスワードは有効であると判定し、そうでなければ、入力された前記パスワードは無効であると判定するパスワード判定手段と、前記プログラマブルコントローラに対するコマンドの実行が許可されるか否かを認証するためのコマンド実行認証用パスワードを、前記プログラマブルコントローラに送信するコマンド実行認証用パスワード送信手段とを備え、入力された前記パスワードが、前記パスワード暗号化判定手段により、暗号化されていないと判定された場合は、前記コマンド実行認証用パスワードは、入力された前記パスワードとし、入力された前記パスワードが、前記パスワード判定手段により、有効であると判定された場合は、前記コマンド実行認証用パスワードは、予め前記プログラマブルコントローラのプログラミング装置に設定された第1のメーカ専用パスワードとし、前記プログラマブルコントローラは、前記プログラマブルコントローラのプログラミング装置から送信された前記コマンド実行認証用パスワードを受信するコマンド実行認証用パスワード受信手段と、前記コマンド実行認証用パスワードと、予め前記プログラマブルコントローラに設定された第2のメーカ専用パスワード、又は、ユーザによって前記プログラマブルコントローラに設定されたユーザ設定プログラマブルコントローラパスワードとが一致した場合は、前記コマンド実行認証用パスワードは有効であるとし、そうでなければ、前記コマンド実行認証用パスワードは無効であるとするパスワード認証手段とを備え、前記第1のメーカ専用パスワードと、前記第2のメーカ専用パスワードとは同一である、ことを特徴とする。
【0012】
請求項4に記載の発明は、請求項3に記載のプログラマブルコントローラシステムであって、前記暗号化パスワード要素コードは、パスワード国コードであり、且つ、前記装置内パスワードコードは、前記プログラマブルコントローラのプログラミング装置の言語設定を示す装置国コードである、ことを特徴とする。
【発明の効果】
【0013】
本発明によれば、ユーザが、ユーザによって設定されたパスワードを忘れた場合でも、メーカにパスワードを問い合わせることにより、すぐにパスワード認証され、PLC、すなわち、PLCにより制御される装置や設備を停止する必要がなく、それらの連続稼動性を高めることが可能となる。
【0014】
また、本発明によれば、発行したパスワードは、有効期間があるので、パスワードの漏洩に基づく不正アクセスを軽減させることが可能となる。
【発明を実施するための最良の形態】
【0015】
以下、図面を参照しながら、本発明を適用できる実施形態を詳細に説明する。尚、本明細書で参照される各図面において、同様の機能を有する箇所には同一の符号を付している。
【0016】
(装置構成)
図1は、本発明を適用できる実施形態のために使用されるパスワードを生成するための、パスワード生成装置10の構成を示すブロック図である。
パスワード生成装置10は、中央演算処理装置(CPU)11、システムメモリ12、システムプログラムメモリ13、入力装置14、表示器15、及び、時計16を備えている。これらは、システムバス17に接続されている。
【0017】
CPU11は、システムプログラムメモリ13に格納されているシステムプログラム(不図示)に基づき、パスワード生成に関わる処理を行う。
【0018】
システムメモリ12は、ユーザによって入力装置14へ入力された、パスワード国コード12a、パスワードの有効期間を示すパスワード有効期間データ12b、及び、生成された暗号化パスワードデータ12cを格納する。パスワード有効期間データ12bは、パスワードの有効期間の開始日時12bs、及び、終了日時12beからなる。暗号化パスワードデータ12cは、パスワード国コード12aとパスワード有効期間データ12bとから暗号化されて、生成される。本パスワード生成装置では、パスワード国コード12aには、国際電話の国コード(例えば、日本の場合、081)が用いられる。なお、本実施形態では、暗号化パスワードデータ12cを生成するための一要素(以下、暗号化パスワード要素コードと呼ぶ)として、パスワード国コード12aが用いられているが、プログラマブルコントローラのプログラミング装置製品の型番、品番、シリアル番号、及び、これらの組合せ等が用いられてもよい。特に、暗号化パスワード要素コードは、数字のみから構成されるのが適している。
【0019】
システムプログラムメモリ13は、CPU11が実行するシステムプログラム(不図示)を格納している。このシステムプログラムには、上述した、パスワード生成処理の内容を規定した図4のフローチャートによって示されるプログラムが含まれる。このパスワード生成処理には、パスワード国コード12aとパスワード有効期間データ12bとから暗号化パスワードデータ12cを生成するための、パスワード暗号化処理(図10参照)が含まれる。
【0020】
入力装置14には、ユーザにより国コードが入力される。本実施形態の入力装置14は、キーボードからなる。入力装置14は、タッチパネル式の入力装置等としてもよい。
表示器15は、ユーザによって入力された国コード、及び、生成された暗号化パスワードデータを表示する。
時計16は、現在の日付・時刻を保持しており、CPU11は、現在の日付・時刻を万国標準時(UTC)やグリニッジ標準時(GMT)で取得できる。
【0021】
図2は、本発明を適用できる実施形態による、プログラマブルコントローラのプログラミング装置20の構成を示すブロック図である。
プログラミング装置20は、信号線41aを介して、プログラマブルコントローラ(PLC)30に接続されている。
プログラミング装置20は、中央演算処理装置(CPU)21、システムメモリ22、システムプログラムメモリ23、入力装置24、表示器25、時計26、及び、入出力(I/O)インタフェース28を備えている。これらは、システムバス27に接続されている。
【0022】
CPU21は、システムプログラムメモリ23に格納されているシステムプログラム(不図示)に基づき、シーケンスプログラムの表示、作成、送信処理に関わる制御と共に、パスワード認証処理、及び、パスワード判定処理を行う。
【0023】
システムメモリ22は、入力パスワードデータ22cから復号化されたパスワード国コード22a、入力パスワードデータ22cから復号化された、パスワードの有効期間を示すパスワード有効期間データ22b、ユーザによって入力装置24へ入力された入力パスワードデータ22c、プログラミング装置20の言語設定を示す装置国コード22d、PLC30に対する通信を実行するための通信コマンド22e、ユーザによって入力装置24を介して設定されたPLC操作用ユーザ設定パスワード22f、及び、ユーザによって入力装置24を介して設定されたユーザ設定装置パスワードa 22ga〜 m 22gmを格納する。
【0024】
本実施形態では、パスワード国コード22aには、国際電話の国コード(例えば、日本の場合、081)が用いられる。パスワード有効期間データ22bは、パスワードの有効期間の開始日時22bs、及び、終了日時22beからなる。装置国コード22dは、プログラミング装置20のメーカによって固有管理されるものであり、本実施形態では、装置国コード22dには、国際電話の国コード(例えば、日本の場合、081)が用いられる。通信コマンド22eには、状況に応じて、予めプログラミング装置20のメーカによって設定されたメーカ専用パスワード23a、又は、ユーザによって入力された入力パスワードデータ22cが、コマンド実行認証用パスワード22eaとして格納される。コマンド実行認証用パスワード22eaは、プログラミング装置20からのPLC30に対するコマンドの実行が許可されるか否かを認証するためのものである。
【0025】
なお、本実施形態では、入力パスワードデータ22cから復号化された一要素として、パスワード国コード22aが用いられているが、パスワード生成装置10において用いられる暗号化パスワード要素コードと対応する、別のパスワードコード(プログラマブルコントローラのプログラミング装置製品の型番、品番、シリアル番号、及び、これらの組合せ等)が用いられてもよい。その場合は、装置国コード22dの代わりに、その別のパスワードコードに対応する、メーカにより固有管理される、別の装置内パスワードコード(例えば、プログラミング装置製品の型番、品番、シリアル番号、及び、これらの組合せ等)が用いられる。
【0026】
PLC操作用ユーザ設定パスワード22fは、PLC30の操作に制限を課すためのものであり、新たなシーケンスプログラムがプログラミング装置20からPLC30へ送信された後に、ユーザによって初期設定されたり、PLC30の起動・停止等のためのパスワードが、ユーザによって初期設定されたりして、それらのPLC30の各操作に対応付けられて、PLC30に送信される。また、PLC操作用ユーザ設定パスワード22fは、すでにPLC30に設定されている各操作用のパスワードを変更する際に、ユーザによって再設定され、PLC30の各操作に対応付けられて、PLC30に送信される。各操作用のパスワードを変更する際には、現在のパスワードを入力した上で、新たなPLC操作用のパスワードを設定する必要がある。なお、PLC操作用ユーザ設定パスワード22fは、PLC30の各操作に対応付けられて、各操作の数の分だけ存在してもよい。
【0027】
ユーザ設定装置パスワードi 22giは、プログラミング装置20の操作(例えば、シーケンスプログラムの作成やプログラミング装置20の起動・停止等)に制限を課すためにユーザによって設定され、それらの各操作に対応付けられる。なお、本実施形態では、各操作は、ユーザ設定装置パスワードi 22giに対応付けられているが、ユーザとユーザ設定装置パスワードi 22giとの組合せや、ユーザのグループとユーザ設定装置パスワードi 22giとの組合せに対応付けられてもよい。ユーザ設定装置パスワードi 22gi用のメモリは、ユーザによって入力装置24を介して、ユーザ設定装置パスワードi 22giが設定されるたびに、確保される。ユーザ設定装置パスワードi 22gi用のメモリは、予め定められた数のパスワード分だけ確保されていてもよい。ユーザ設定装置パスワードi 22giは、設定されない、すなわち、ブランクパスワードの場合もある。
【0028】
システムプログラムメモリ23は、CPU21が実行するシステムプログラム(不図示)と共に、メーカ専用パスワード23aを固定データとして格納している。このシステムプログラムには、上述した、パスワード認証処理、及び、パスワード判定処理の内容を規定した図5、及び、図6のフローチャートによって示されるプログラムが含まれる。これらの処理には、入力パスワードデータ22cが、暗号化されているか否かを判定するパスワード暗号化判定処理(図11参照)、及び、入力パスワードデータ22cが、暗号化されていた場合は、入力パスワードデータ22cを復号化して、パスワード国コード22aとパスワード有効期間データ22bとに分割するパスワード復号化・分割処理(図12参照)が含まれる。メーカ専用パスワード23aは、プログラミング装置20のメーカによって固有管理されるものであり、ユーザには公開されない。
【0029】
入力装置24には、ユーザによって、CPU21に対する動作指示や、シーケンスプログラムを構成するシーケンス命令の入力等が行われると共に、ユーザによって、プログラミング装置20、及び、プログラミング装置20を介してPLC30の操作に制限を課す(すなわち、パスワード設定をする)、あるいは、操作の制限を解除する(すなわち、パスワード認証をする)ためのパスワードが入力される。本実施形態の入力装置24は、キーボード、及び、マウスからなる。入力装置24は、タッチパネル式の入力装置等を含んでもよい。また、本実施形態の入力装置24に入力されるパスワードには、半角数字0〜9、半角アルファベット、及び、その他の半角記号が用いられる。
【0030】
表示器25は、シーケンスプログラム作成モードにおいて、シーケンスプログラムをラダー図等のプログラミング言語形態で表示すると共に、ユーザによって入力されたパスワードを表示する。
時計26は、現在の日付・時刻を保持しており、CPU21は、現在の日付・時刻を万国標準時(UTC)やグリニッジ標準時(GMT)で取得できる。
I/Oインタフェース28は、プログラミング装置20とPLC30とを、信号線41aを介して接続し、シーケンスプログラムやPLC30に対するコマンドをPLC30に送信する。
【0031】
図3は、本発明を適用できる実施形態による、プログラマブルコントローラ(PLC)30の構成を示すブロック図である。
PLC30は、信号線41a、及び、信号線41bを介して、それぞれ、プログラミング装置20、及び、制御対象機器40に接続されている。
PLC30は、中央演算処理装置(CPU)31、システムメモリ32、システムプログラムメモリ33、データメモリ34、プログラムメモリ35、及び、入出力(I/O)インタフェース38、39を備えている。これらは、システムバス37に接続されている。
【0032】
CPU31は、システムプログラムメモリ33に格納されているシステムプログラム(不図示)に基づき、プログラムメモリ35に格納されているシーケンスプログラム(不図示)の実行/停止等の制御、プログラミング装置20からのシーケンスプログラムの送信やモニタ等の通信コマンド制御、及び、プログラミング装置20から送信されるコマンドの処理実行に先立つパスワード認証処理を行う。
【0033】
システムメモリ32は、システムプログラムの作業用メモリとして、一時的な演算結果や、PLC30における処理の実行に必要な各種設定値を格納する。また、システムメモリ32は、シーケンスプログラムがプログラミング装置20からPLC30へ送信された後に、若しくは、すでにPLC30へ送信されているシーケンスプログラム用のパスワードが変更される時に、又は、PLC30の起動・停止等のためのパスワードの初期設定・変更時に、プログラミング装置20を介してユーザによって設定されたPLC操作用ユーザ設定パスワード22fを、ユーザ設定プログラマブルコントローラ(PLC)パスワードa 32fa〜 n 32fnに格納する。ユーザ設定PLCパスワードj 32fjは、シーケンスプログラムの実行やPLC30の起動・停止等の、各操作に対応付けられている。なお、本実施形態では、各操作は、ユーザ設定PLCパスワードj 32fjに対応付けられているが、ユーザとユーザ設定PLCパスワードj 32fjとの組合せや、ユーザのグループとユーザ設定PLCパスワードj 32fjとの組合せに対応付けられてもよい。ユーザ設定PLCパスワードj 32fj用のメモリは、各操作のためのPLC操作用ユーザ設定パスワード22fが送信されるたびに、確保される。ユーザ設定PLCパスワードj 32fj用のメモリは、予め定められた数のパスワード分だけ確保されていてもよい。ユーザ設定PLCパスワードj 32fjは、設定されない、すなわち、ブランクパスワードの場合もある。
【0034】
システムプログラムメモリ33は、CPU31が実行するシステムプログラム(不図示)と共に、予めPLC30のメーカによって設定されたメーカ専用パスワード33aを固定データとして格納している。本実施形態では、メーカ専用パスワード33aと、プログラミング装置20のシステムプログラムメモリ23に格納されたメーカ専用パスワード23aとは同一である。このシステムプログラムには、上述した、プログラミング装置20から送信されるコマンドの処理(前述の各操作)の実行に先立つ、パスワード認証処理の内容を規定した図7のフローチャートによって示されるプログラムが含まれる。メーカ専用パスワード33aは、PLC30のメーカによって固有管理されるものであり、ユーザには公開されない。
【0035】
データメモリ34は、プログラムメモリ35に格納されているシーケンスプログラムの演算結果や制御対象機器40の各種設定値を格納する。
I/Oインタフェース38は、プログラミング装置20とPLC30とを、信号線41aを介して接続する。
I/Oインタフェース39は、制御対象機器40とPLC30とを、信号線41bを介して接続する。
【0036】
(動作説明)
次に、図1に示したパスワード生成装置10における、パスワード生成処理手順を説明する。
図4は、本発明を適用できる実施形態のために使用されるパスワードを生成するための、パスワード生成装置10における、パスワード生成処理のフローチャートを示している。
【0037】
まず、CPU11は、ユーザによって、入力装置14へ国コードが入力されたか否かを判定する(S401)。国コードが入力されていない場合、ユーザによって国コードが入力されるのを待つ。国コードが入力された場合、CPU11は、入力された国コードを、パスワード国コード12aとして、システムメモリ12に格納する(S402)。
【0038】
次いで、CPU11は、現在の日付・時刻を時計16より取得し、パスワード有効期間データ12bの開始日時12bsとして、システムメモリ12に格納する(S403)。そして、CPU11は、パスワード有効期間データ12bの開始日時12bsに、有効期間を足した値を、パスワード有効期間データ12bの終了日時12beとして、システムメモリ12に格納する(S404)。有効期間は、ユーザによって、入力装置14を介して設定、及び、変更可能である。有効期間は、予め定められたものであってもよい。有効期間を短くすることにより、より一層、セキュリティを向上させることができる。
【0039】
次いで、CPU11は、パスワード国コード12a、及び、パスワード有効期間データ12b(すなわち、開始日時12bsと終了日時12be)を暗号化し、暗号化パスワードデータ12cとして、システムメモリ12に格納する(S405)。S405における、暗号化パスワードデータ12cを生成するパスワード暗号化処理については、以下で詳細に説明する。最後に、暗号化パスワードデータが、表示器15に出力される(S406)。
【0040】
次に、図8〜図10を参照しながら、上述のパスワード暗号化処理手順について、詳細に説明する。
図8は、図1に示したシステムメモリ12に格納されるパスワード国コード12aと、パスワード有効期間データ12bとの詳細を示している。
図9は、図10に示すパスワード暗号化処理の過程を模式的に示している。
図10は、図4に示したパスワード生成処理における、パスワード暗号化処理(S405)のフローチャートを示している。
【0041】
図8を参照すると、本実施形態では、パスワード国コード12aは、上位2桁と、下位2桁とが、1バイトずつ順に並べられる。例えば、日本の場合、パスコード国コードは、081であり、00H(00)、51H(81)の順に並べられる。パスワード有効期間データ12bの開始日時12bsは、年(西暦)の上位2桁と、年(西暦)の下位2桁と、月と、日と、時と、分とが、1バイトずつ順に並べられる。例えば、開始日時12bsが2006年8月10日12時00分の場合、14H(20)、06H(06)、08H(08)、0AH(10)、0CH(12)、00H(00)の順に並べられる。パスワード有効期間データ12bの終了日時12beについては開始日時12bsと同様であるため、省略する。
【0042】
次に、図9、及び、図10を参照しながら、パスワード暗号化処理手順を説明する。
【0043】
まず、CPU11は、並び順を反転した終了日時12beデータ群と、開始日時12bsデータ群とを交互に並べる(S1001)。すなわち、図9の左側に示すように、オフセットアドレス00、02、04、06、08、10には、パスワード有効期間データ12bの終了日時12beの分、時、日、月、年下位、年上位が格納され、オフセットアドレス01、03、05、07、09、11には、パスワード有効期間データ12bの開始日時12bsの年上位、年下位、月、日、時、分が格納される。
【0044】
次いで、CPU11は、S1001にて並べられたデータ群の後に、パスワード国コード12aデータ群を並べる(S1002)。すなわち、図9の左側に示すように、オフセットアドレス12、13には、パスワード国コード上位、パスワード国コード下位が格納される。
【0045】
次いで、CPU11は、終了日時(分)(オフセットアドレス00)からパスワード国コード下位(オフセットアドレス13)までを2進加算したバイトデータをチェックサムとして計算し、S1002にて並べられたデータ群の後に、そのチェックサムを付加する(S1003)。すなわち、オフセットアドレス14には、チェックサムが格納される。
【0046】
次いで、CPU11は、チェックサム以外の各データ(オフセットアドレス00〜13)と、チェックサムとの排他的論理和(XOR)を取り、反転(NOT)して、暗号化し(S1004)、図9の暗号化パスワードデータ12cとして、オフセットアドレス00〜13に、終了日時(分)〜パスワード国コード下位に対応する暗号化データを格納し、暗号化後のオフセットアドレス14に、S1003にて計算されたチェックサムを格納する(S1005)。
【0047】
最後に、CPU11は、S1004にて暗号化されたデータ群と、チェックサムとを、16進数表記により、オフセットアドレス00〜14まで順に並べたデータを暗号化パスワードデータとして、表示器15に表示する(S406)。
【0048】
本実施形態では、S1001→S1002の順番で処理が行われているが、S1002→S1001の順番で処理が行われてもよい。また、本実施形態では、オフセットアドレス00〜13に格納されるデータ群は、第三者による復号化の予測が困難となるように並べられているが、同様の効果が得られるよう、別の並びにしてもよい。さらに、本実施形態では、暗号化パスワードデータは、半角数字0〜9、及び、半角アルファベットA〜Fを組み合わせた30文字から構成されるが、暗号化パスワード要素コードとして別のパスワードコードを用いる場合には、その暗号化パスワード要素コードに応じた組合せの暗号化パスワードデータが生成される。また、暗号化方法、及び、チェックサムの計算方法は一例として示しているに過ぎず、他の方法を用いることもできる。
【0049】
以下に示すとおり、本手順にしたがって生成された暗号化パスワードデータを用いることにより、プログラミング装置20、及び、プログラミング装置20を介したPLC30の操作制限を解除することが可能となる。
【0050】
次に、図2に示したプログラミング装置20により、プログラミング装置20、及び、プログラミング装置20を介したPLC30の操作制限を解除するための、パスワード認証処理、及び、パスワード判定処理手順を説明する。
【0051】
図5は、本発明を適用できる実施形態による、プログラミング装置20における、プログラミング装置20の操作制限を解除するためのパスワード認証処理のフローチャートを示している。
【0052】
まず、CPU21は、ユーザによって、入力装置24へパスワードが入力されたか否かを判定する(S501)。パスワードが入力されていない場合、ユーザによってパスワードが入力されるのを待つ。パスワードが入力された場合、CPU21は、入力されたパスワードを、入力パスワードデータ22cとして、システムメモリ22に格納する(S502)。
【0053】
次いで、CPU21は、入力パスワードデータ22cが、暗号化されているか否かを判定する(S503)。S503における、入力パスワードデータ22cのパスワード暗号化判定処理については、後に詳細に説明する。
【0054】
S503において、入力パスワードデータ22cが、暗号化されていないと判定された場合、CPU21は、ユーザが要求したプログラミング装置20の操作に対応したユーザ設定装置パスワードi 22giが設定されているか否かを判定する(S510)。
【0055】
S510において、ユーザ設定装置パスワードi 22giが設定されていなかった場合、CPU21は、ユーザによるプログラミング装置20の操作を可能として(S508)、処理を終了する。S510において、ユーザ設定装置パスワードi 22giが設定されていた場合、CPU21は、入力パスワードデータ22cとメーカ専用パスワード23aとが一致するか否かを判定する(S511)。
【0056】
S511において、入力パスワードデータ22cとメーカ専用パスワード23aとが一致した場合、CPU21は、入力されたパスワードが有効であるとして(すなわち、パスワード認証を許可)、プログラミング装置20の操作制限を解除し(S507)、ユーザによるプログラミング装置20の操作を可能として(S508)、処理を終了する。S511において、入力パスワードデータ22cとメーカ専用パスワード23aとが一致しなかった場合、CPU21は、入力パスワードデータ22cとユーザ設定装置パスワードi 22giとが一致するか否かを判定する(S512)。
【0057】
S512において、入力パスワードデータ22cとユーザ設定装置パスワードi 22giとが一致した場合、CPU21は、入力されたパスワードが有効であるとして(すなわち、パスワード認証を許可)、プログラミング装置20の操作制限を解除し(S507)、ユーザによるプログラミング装置20の操作を可能として(S508)、処理を終了する。S512において、入力パスワードデータ22cとユーザ設定装置パスワードi 22giとが一致しなかった場合、CPU21は、入力されたパスワードが無効であるとして(すなわち、パスワード認証を不許可)、ユーザによるプログラミング装置20の操作を不可とし(S509)、処理を終了する。
【0058】
S503において、入力パスワードデータ22cが、暗号化されていたと判定された場合、CPU21は、入力パスワードデータ22cを復号化し、復号化した入力パスワードデータ22cを、パスワード国コード22a、及び、パスワード有効期間データ22b(すなわち、開始日時22bsと終了日時22be)として、システムメモリ22に格納する(S504)。S504における、入力パスワードデータ22cのパスワード復号化・分割処理については、後に詳細に説明する。
【0059】
次いで、CPU21は、パスワード国コード22aと装置国コード22dとが一致するか否かを判定する(S505)。S505において、パスワード国コード22aと装置国コード22dとが一致しなかった場合、CPU21は、入力されたパスワードが無効であるとして(すなわち、パスワード認証を不許可)、ユーザによるプログラミング装置20の操作を不可とし(S509)、処理を終了する。S505において、パスワード国コード22aと装置国コード22dとが一致した場合、CPU21は、現在の日付・時刻を時計26より取得し、現在の日付・時刻がパスワード有効期間データ22bの範囲内にあるか否か(すなわち、開始日時22bsと終了日時22beとの間にあるか否か)を判定する(S506)。
【0060】
S506において、現在の日付・時刻がパスワード有効期間データ22bの範囲内にない場合、CPU21は、入力されたパスワードが無効であるとして(すなわち、パスワード認証を不許可)、ユーザによるプログラミング装置20の操作を不可とし(S509)、処理を終了する。S506において、現在の日付・時刻がパスワード有効期間データ22bの範囲内にある場合、CPU21は、入力されたパスワードが有効であるとして(すなわち、パスワード認証を許可)、プログラミング装置20の操作制限を解除し(S507)、ユーザによるプログラミング装置20の操作を可能として(S508)、処理を終了する。
【0061】
以上のように、有効期間が定められた暗号化パスワードデータを使用することで、パスワードの漏洩に基づく不正アクセスを軽減させることが可能となる。さらに、パスワードを使用できる国が限定されるので、より一層、セキュリティを向上させることが可能となる。さらに、メーカ専用パスワードは、入力される必要がなく、PLCのプログラミング装置の内部処理において使用されるだけであるので、メーカ専用パスワードが漏洩する可能性を軽減させることが可能となる。さらに、メーカ担当者が、PLCのプログラミング装置の操作制限を解除するために、PLCのプログラミング装置の設置場所に直接赴く必要がなくなり、担当者の負担を軽減させることが可能となる。
【0062】
なお、本実施形態では、S505→S506の順番で処理が行われているが、S506→S505の順番で処理が行われてもよい。また、本実施形態では、S511→S512の順番で処理が行われているが、S512→S511の順番で処理が行われてもよい。
【0063】
図6は、本発明を適用できる実施形態による、プログラミング装置20における、プログラミング装置20を介したPLC30の操作制限を解除するためのパスワード判定処理のフローチャートを示している。
【0064】
まず、CPU21は、ユーザによって、入力装置24へパスワードが入力されたか否かを判定する(S501)。パスワードが入力されていない場合、ユーザによってパスワードが入力されるのを待つ。パスワードが入力された場合、CPU21は、入力されたパスワードを、入力パスワードデータ22cとして、システムメモリ22に格納する(S502)。
【0065】
次いで、CPU21は、入力パスワードデータ22cが、暗号化されているか否かを判定する(S503)。S503における、入力パスワードデータ22cのパスワード暗号化判定処理については、後に詳細に説明する。
【0066】
S503において、入力パスワードデータ22cが、暗号化されていないと判定された場合、CPU21は、通信コマンド22e内のコマンド実行認証用パスワード22eaとして、入力パスワードデータ22cを格納し、通信コマンド22eをPLC30に送信して、処理を終了する(S615)。S503において、入力パスワードデータ22cが、暗号化されていたと判定された場合、CPU21は、入力パスワードデータ22cを復号化し、復号化した入力パスワードデータ22cを、パスワード国コード22a、及び、パスワード有効期間データ22b(すなわち、開始日時22bsと終了日時22be)として、システムメモリ22に格納する(S504)。S504における、入力パスワードデータ22cのパスワード復号化・分割処理については、後に詳細に説明する。
【0067】
次いで、CPU21は、パスワード国コード22aと装置国コード22dとが一致するか否かを判定する(S505)。S505において、パスワード国コード22aと装置国コード22dとが一致しなかった場合、CPU21は、入力されたパスワードが無効であると判定して、ユーザによるPLC30の操作を不可とし(S614)、処理を終了する。S505において、パスワード国コード22aと装置国コード22dとが一致した場合、CPU21は、現在の日付・時刻を時計26より取得し、現在の日付・時刻がパスワード有効期間データ22bの範囲内にあるか否か(すなわち、開始日時22bsと終了日時22beとの間にあるか否か)を判定する(S506)。
【0068】
S506において、現在の日付・時刻がパスワード有効期間データ22bの範囲内にない場合、CPU21は、入力されたパスワードが無効であると判定して、ユーザによるPLC30の操作を不可とし(S614)、処理を終了する。S506において、現在の日付・時刻がパスワード有効期間データ22bの範囲内にある場合、CPU21は、入力されたパスワードが有効であると判定して、通信コマンド22e内のコマンド実行認証用パスワード22eaとして、メーカ専用パスワード23aを格納し、通信コマンド22eをPLC30に送信して、処理を終了する(S613)。
【0069】
以上のように、有効期間が定められた暗号化パスワードデータを使用することで、パスワードの漏洩に基づく不正アクセスを軽減させることが可能となる。さらに、パスワードを使用できる国が限定されるので、より一層、セキュリティを向上させることが可能となる。さらに、メーカ専用パスワードは、入力される必要がなく、PLCのプログラミング装置と、PLCとの間の処理において使用されるだけであるため、メーカ専用パスワードが漏洩する可能性を軽減させることが可能となる。さらに、メーカ担当者が、PLCのプログラミング装置を介したPLCの操作制限を解除するために、PLCの設置場所に直接赴く必要がなくなり、担当者の負担を軽減させることが可能となる。
【0070】
なお、本実施形態では、S505→S506の順番で処理が行われているが、S506→S505の順番で処理が行われてもよい。
【0071】
次に、図9、及び、図11を参照しながら、上述のパスワード暗号化判定処理手順について、詳細に説明する。
図9は、図11に示すパスワード暗号化判定処理の過程を模式的に示している。
図11は、図5、及び、図6に示したパスワード認証、及び、パスワード判定処理における、パスワード暗号化判定処理(S503)のフローチャートを示している。
【0072】
まず、CPU21は、入力パスワードデータ22cの中に、半角数字0〜9及び半角アルファベットA〜F以外の文字が含まれるか否かを判定する(S1101)。
【0073】
S1101において、半角数字0〜9及び半角アルファベットA〜F以外の文字が含まれると判定された場合、CPU21は、入力パスワードデータ22cが暗号化されていないと判定し(S1111)、S510又はS615に進む。なお、これに代えて、半角数字0〜9及び半角アルファベットA〜F以外の文字が含まれると判定された場合、半角数字0〜9及び半角アルファベットA〜F以外の文字を、所定の文字(例えば、半角数字「0」)に置き換えて、S1102に進んでもよい(不図示)。
【0074】
S1101において、半角数字0〜9及び半角アルファベットA〜F以外の文字が含まれないと判定された場合、CPU21は、入力パスワードデータ22cの文字数が30文字であるか否かを判定する(S1102)。
【0075】
S1102において、入力パスワードデータ22cの文字数が30文字でないと判定された場合、CPU21は、入力パスワードデータ22cが30文字より多いか少ないかを判定する(S1103)。S1103において、入力パスワードデータ22cが30文字より多い場合、CPU21は、次の処理(S1106)のために、入力パスワードデータ22cの下位30文字を用いる。S1103において、入力パスワードデータ22cが30文字より少ない場合、CPU21は、次の処理(S1106)のために、入力パスワードデータ22cの上位に所定の文字(例えば、半角数字「0」)をパディングして、30文字となるようにする。なお、S1102において、入力パスワードデータ22cの文字数が30文字でないと判定された場合、CPU21は、入力パスワードデータ22cが暗号化されていないと判定して(S1111)、S510又はS615に進んでもよい(不図示)。
【0076】
S1102において、入力パスワードデータ22cの文字数が30文字であると判定された場合、又は、S1104、若しくは、S1105に次いで、CPU21は、入力パスワードデータ22cの下位から上位に向かって2文字ずつ区切られた文字を、16進数表記されているとして、順に1バイトずつ、オフセットアドレス14〜00に格納する(S1106)。例えば、図9の右側に示されるように、入力されたパスワードデータが「CCE3E0F1FCFFFFFDF1FBE3F7F7A608」の場合、オフセットアドレス14には、08H(08)、オフセットアドレス13には、A6H(166)、オフセットアドレス12には、F7(247)等、順に格納され、最後にオフセットアドレス00には、CCH(204)が格納される。
【0077】
次いで、CPU21は、オフセットアドレス14に格納されたデータを第1のチェックサムとし、第1のチェックサム以外の各データ(オフセットアドレス00〜13)を反転(NOT)して、第1のチェックサムとの排他的論理和(XOR)を取る(S1107)。
【0078】
次いで、CPU21は、S1107にて処理された、オフセットアドレス00〜13までのデータ群を2進加算したバイトデータを、第2のチェックサムとして計算する(S1108)。
【0079】
次いで、CPU21は、第1のチェックサムと、S1108にて計算された第2のチェックサムとが一致するか否かを判定する(S1109)。S1109において、第1のチェックサムと、S1108にて計算された第2のチェックサムとが一致した場合、CPU21は、入力パスワードデータ22cが暗号化されていると判定し(S1110)、S504に進む。S1104において、第1のチェックサムと、S1102にて計算された第2のチェックサムとが一致しなかった場合、CPU21は、入力パスワードデータ22cが暗号化されていないと判定し(S1111)、S510又はS615に進む。
【0080】
次に、図8、図9、及び、図12を参照しながら、上述のパスワード復号化・分割処理手順について、詳細に説明する。
図8は、図2に示したシステムメモリ22に格納されるパスワード国コード22aと、パスワード有効期間データ22bとの詳細を示している。
図9は、図12に示すパスワード復号化・分割処理の過程を模式的に示している。
図12は、図5、及び、図6に示したパスワード認証、及び、パスワード判定処理における、パスワード復号化・分割処理(S504)のフローチャートを示している。
【0081】
まず、CPU21は、図11のS1107にて処理された各データを、図9の左側に示すとおり、オフセットアドレス00〜13に、終了日時(分)〜パスワード国コード下位に対応する復号化データとして格納する(S1201)。
【0082】
そして、CPU21は、パスワード国コード上位データ(オフセットアドレス12)と、パスワード国コード下位データ(オフセットアドレス13)とを抽出し、これらをパスワード国コード22aとして、格納する(S1202)。
【0083】
次いで、CPU21は、オフセットアドレス00〜11のうちの、奇数オフセットアドレスから開始日時データ群を抽出し、これらをパスワード有効期間22bの開始日時22bsとして格納する(S1203)。
【0084】
次いで、CPU21は、オフセットアドレス00〜11のうちの、偶数オフセットアドレスの並び順を反転させ、終了日時データ群を抽出して、これらをパスワード有効期間22bの終了日時22beとして格納し(S1204)、S505に進む。
【0085】
例えば、入力されたパスワードデータが「CCE3E0F1FCFFFFFDF1FBE3F7F7A608」の場合、図8に示したパスコード国コード22aは、00H(00)、51H(81)の順に並べられる。また、図8に示したパスワード有効期間データ22bの開始日時22bsは、14H(20)、06H(06)、08H(08)、0AH(10)、0CH(12)、00H(00)の順に並べられる。パスワード有効期間データ22bの終了日時22beについては開始日時22bsと同様であるため、省略する。
【0086】
なお、本実施形態では、S1202→S1203→S1204の順番で処理が行われているが、S1202、S1203及びS1204の順番は、どのような順番で処理が行われてもよい。また、オフセットアドレス00〜13に格納されるデータ群の並びは、パスワード生成装置10にて生成される暗号化パスワードデータ12cと対応するならば、別の並びにしてもよい。また、チェックサムの計算方法、及び、復号化方法は一例として示しているに過ぎず、暗号化方法に対応するものであれば、他の方法を用いることもできる。
【0087】
次に、図3に示したPLC30において、プログラミング装置20から各種通信コマンドを受信した際の、パスワード認証処理手順を説明する。
図7は、本発明を適用できる実施形態による、PLC30における、パスワード認証処理のフローチャートを示している。
【0088】
まず、CPU31は、プログラミング装置20から、通信コマンド22eが受信されたか否かを判定する(S701)。通信コマンド22eが受信されていない場合、プログラミング装置20から、通信コマンド22eが受信されるのを待つ。通信コマンド22eが受信された場合、CPU31は、通信コマンド22eの処理に対応したユーザ設定PLCパスワードj 32fjが設定されているか否かを判定する(S702)。
【0089】
S702において、ユーザ設定PLCパスワードj 32fjが設定されていなかった場合、CPU31は、コマンド処理を実行し(S705)、コマンド処理の実行が成功した場合には、コマンド正常応答をプログラミング装置20に送信して(S706→S707)、処理を終了する。コマンド処理の実行が失敗した場合には、CPU31は、コマンド異常応答をプログラミング装置20に送信して(S706→S708)、処理を終了する。S702において、ユーザ設定PLCパスワードj 32fjが設定されていた場合、CPU31は、通信コマンド22e内のコマンド実行認証用パスワード22eaとメーカ専用パスワード33aとが一致するか否かを判定する(S703)。
【0090】
S703において、通信コマンド22e内のコマンド実行認証用パスワード22eaとメーカ専用パスワード33aとが一致した場合、CPU31は、パスワードが有効であるとして(すなわち、パスワード認証を許可)、コマンド処理を実行し(S705)、コマンド処理の実行が成功したならば、コマンド正常応答をプログラミング装置20に送信して(S706→S707)、処理を終了する。コマンド処理の実行が失敗したならば、CPU31は、コマンド異常応答をプログラミング装置20に送信して(S706→S708)、処理を終了する。S703において、通信コマンド22e内のコマンド実行認証用パスワード22eaとメーカ専用パスワード33aとが一致しなかった場合、CPU31は、通信コマンド22e内のコマンド実行認証用パスワード22eaとユーザ設定PLCパスワードj 32fjとが一致するか否かを判定する(S704)。
【0091】
S704において、通信コマンド22e内のコマンド実行認証用パスワード22eaとユーザ設定PLCパスワードj 32fjとが一致した場合、CPU31は、パスワードが有効であるとして(すなわち、パスワード認証を許可)、コマンド処理を実行し(S705)、コマンド処理の実行が成功したならば、コマンド正常応答をプログラミング装置20に送信して(S706→S707)、処理を終了する。コマンド処理の実行が失敗したならば、CPU31は、コマンド異常応答をプログラミング装置20に送信して(S706→S708)、処理を終了する。S704において、通信コマンド22e内のコマンド実行認証用パスワード22eaとユーザ設定PLCパスワードj 32fjとが一致しなかった場合、CPU31は、パスワードが無効であるとして(すなわち、パスワード認証を不許可)、コマンド異常応答(パスワード照合エラー)をプログラミング装置20に送信し(S709)、処理を終了する。
【0092】
以上のように、ユーザによって設定されたパスワードを忘れた場合でも、メーカにパスワードを問い合わせて、パスワード生成装置により生成されたパスワードを使用することで、すぐにパスワード認証され、PLC、すなわち、PLCにより制御される装置や設備を停止する必要がなく、それらの連続稼動性を高めることが可能となる。さらに、有効期間が定められた暗号化パスワードデータを使用することで、パスワードの漏洩に基づく不正アクセスを軽減させることが可能となる。さらに、パスワードを使用できる国が限定されるので、より一層、セキュリティを向上させることが可能となる。さらに、メーカ専用パスワードは、入力される必要がなく、PLCのプログラミング装置、及び、PLCの各装置内、並びに、各装置間の処理において使用されるだけであるため、メーカ専用パスワードが漏洩する可能性を軽減させることが可能となる。さらに、メーカ担当者が、PLCのプログラミング装置、及び、PLCのプログラミング装置を介したPLCの操作制限を解除するために、PLCの設置場所に直接赴く必要がなくなり、担当者の負担を軽減させることが可能となる。
【0093】
なお、本実施形態では、S703→S704の順番で処理が行われているが、S704→S703の順番で処理が行われてもよい。
【0094】
(他の実施形態)
上述の実施形態では、プログラミング装置20を用いて操作されるプログラマブルコントローラ30について述べたが、本発明は、プログラマブルコントローラ30の代わりに、プログラミング装置20を用いて操作されるプログラマブル表示器にも適用可能である。
【0095】
(実施形態の効果)
(1)本実施形態によれば、ユーザが、ユーザによって設定されたパスワードを忘れた場合でも、メーカにパスワードを問い合わせることにより、すぐにパスワード認証され、PLC、すなわち、PLCにより制御される装置や設備を停止する必要がなく、それらの連続稼動性を高めることが可能となる。
【0096】
(2)本実施形態によれば、発行したパスワードは、暗号化され、有効期間があるので、パスワードの漏洩に基づく不正アクセスを軽減させることが可能となる。さらに、パスワードを使用できる国が限定されるので、より一層、セキュリティを向上させることが可能となる。
【0097】
(3)本実施形態によれば、メーカ専用パスワードは、入力される必要がなく、各々の装置内、及び、装置間の処理において使用されるものであるため、メーカ専用パスワードが漏洩する可能性を軽減させることが可能となる。
【0098】
(4)本実施形態によれば、メーカ担当者が、PLCのプログラミング装置、及び、PLCのプログラミング装置を介したPLCの操作制限を解除するために、PLCの設置場所に直接赴く必要がなくなり、担当者の負担を軽減させることが可能となる。
【図面の簡単な説明】
【0099】
【図1】本発明を適用できる実施形態のために使用されるパスワードを生成するための、パスワード生成装置の構成を示すブロック図である。
【図2】本発明を適用できる実施形態による、プログラマブルコントローラのプログラミング装置の構成を示すブロック図である。
【図3】本発明を適用できる実施形態による、プログラマブルコントローラの構成を示すブロック図である。
【図4】本発明を適用できる実施形態のために使用されるパスワードを生成するための、パスワード生成装置における、パスワード生成処理のフローチャートである。
【図5】本発明を適用できる実施形態による、プログラマブルコントローラのプログラミング装置における、プログラマブルコントローラのプログラミング装置の操作制限を解除するためのパスワード認証処理のフローチャートである。
【図6】本発明を適用できる実施形態による、プログラマブルコントローラのプログラミング装置における、プログラマブルコントローラのプログラミング装置を介したプログラマブルコントローラの操作制限を解除するためのパスワード判定処理のフローチャートである。
【図7】本発明を適用できる実施形態による、プログラマブルコントローラにおける、パスワード認証処理のフローチャートである。
【図8】図1、及び、図2に示すシステムメモリに格納されるパスワード国コードと、パスワード有効期間データとの詳細を示す図である。
【図9】図10、及び、図11と図12とに示すパスワード暗号化処理、及び、パスワード復号化・分割処理の過程を示す模式図である。
【図10】図1に示すパスワード生成処理における、パスワード暗号化処理のフローチャートである。
【図11】図5、及び、図6に示すパスワード認証処理、及び、パスワード判定処理における、パスワード暗号化判定処理のフローチャートである。
【図12】図5、及び、図6に示すパスワード認証処理、及び、パスワード判定処理における、パスワード復号化・分割処理のフローチャートである。
【符号の説明】
【0100】
10 パスワード生成装置
11、21、31 CPU
12、22、32 システムメモリ
12a、22a パスワード国コード
12b、22b パスワード有効期間データ
12bs、22bs パスワード有効期間データの開始日時
12be、22be パスワード有効期間データの終了日時
12c 暗号化パスワードデータ
13、23、33 システムプログラムメモリ
14、24 入力装置
15、25 表示器
16、26 時計
20 プログラマブルコントローラのプログラミング装置
22c 入力パスワードデータ
22d 装置国コード
22ga〜22gm ユーザ設定装置パスワード
22e 通信コマンド
22ea コマンド実行認証用パスワード
23a、33a メーカ専用パスワード
30 プログラマブルコントローラ
32fa〜32fn ユーザ設定プログラマブルコントローラパスワード

【特許請求の範囲】
【請求項1】
パスワード機能が設けられたプログラマブルコントローラのプログラミング装置であって、
パスワードを入力するパスワード入力手段と、
前記パスワード入力手段により入力された前記パスワードが、暗号化されているか否かを判定するパスワード暗号化判定手段と、
入力された前記パスワードが、前記パスワード暗号化判定手段により、暗号化されていたと判定された場合は、入力された前記パスワードを復号化して、暗号化パスワード要素コードと、パスワード有効期間データとに分割するパスワード復号化・分割手段と、
前記暗号化パスワード要素コードと、前記暗号化パスワード要素コードに対応する、予め前記プログラマブルコントローラのプログラミング装置に設定された装置内パスワードコードとが一致し、且つ、前記パスワードが入力された日付・時刻が、前記パスワード有効期間データの範囲内にある場合、入力された前記パスワードは有効であるとし、そうでなければ、入力された前記パスワードは無効であるとする第1のパスワード認証手段と、
入力された前記パスワードが、前記パスワード暗号化判定手段により、暗号化されていないと判定された場合は、入力された前記パスワードと、予め前記プログラマブルコントローラのプログラミング装置に設定されたメーカ専用パスワード、又は、ユーザによって前記プログラマブルコントローラのプログラミング装置に設定されたユーザ設定装置パスワードとが一致すれば、入力された前記パスワードは有効であるとし、そうでなければ、入力された前記パスワードは無効であるとする第2のパスワード認証手段と
を備えたことを特徴とするプログラマブルコントローラのプログラミング装置。
【請求項2】
前記暗号化パスワード要素コードは、パスワード国コードであり、且つ、前記装置内パスワードコードは、前記プログラマブルコントローラのプログラミング装置の言語設定を示す装置国コードである、ことを特徴とする請求項1に記載のプログラマブルコントローラのプログラミング装置。
【請求項3】
プログラマブルコントローラと、前記プログラマブルコントローラに接続されたプログラマブルコントローラのプログラミング装置とを含む、パスワード機能が設けられたプログラマブルコントローラシステムであって、
前記プログラマブルコントローラのプログラミング装置は、
パスワードを入力するパスワード入力手段と、
前記パスワード入力手段により入力された前記パスワードが、暗号化されているか否かを判定するパスワード暗号化判定手段と、
入力された前記パスワードが、前記パスワード暗号化判定手段により、暗号化されていたと判定された場合は、入力された前記パスワードを復号化して、暗号化パスワード要素コードと、パスワード有効期間データとに分割するパスワード復号化・分割手段と、
前記暗号化パスワード要素コードと、前記暗号化パスワード要素コードに対応する、予め前記プログラマブルコントローラのプログラミング装置に設定された装置内パスワードコードとが一致し、且つ、前記パスワードが入力された日付・時刻が、前記パスワード有効期間データの範囲内にある場合、入力された前記パスワードは有効であると判定し、そうでなければ、入力された前記パスワードは無効であると判定するパスワード判定手段と、
前記プログラマブルコントローラに対するコマンドの実行が許可されるか否かを認証するためのコマンド実行認証用パスワードを、前記プログラマブルコントローラに送信するコマンド実行認証用パスワード送信手段とを備え、
入力された前記パスワードが、前記パスワード暗号化判定手段により、暗号化されていないと判定された場合は、前記コマンド実行認証用パスワードは、入力された前記パスワードとし、入力された前記パスワードが、前記パスワード判定手段により、有効であると判定された場合は、前記コマンド実行認証用パスワードは、予め前記プログラマブルコントローラのプログラミング装置に設定された第1のメーカ専用パスワードとし、
前記プログラマブルコントローラは、
前記プログラマブルコントローラのプログラミング装置から送信された前記コマンド実行認証用パスワードを受信するコマンド実行認証用パスワード受信手段と、
前記コマンド実行認証用パスワードと、予め前記プログラマブルコントローラに設定された第2のメーカ専用パスワード、又は、ユーザによって前記プログラマブルコントローラに設定されたユーザ設定プログラマブルコントローラパスワードとが一致した場合は、前記コマンド実行認証用パスワードは有効であるとし、そうでなければ、前記コマンド実行認証用パスワードは無効であるとするパスワード認証手段とを備え、
前記第1のメーカ専用パスワードと、前記第2のメーカ専用パスワードとは同一である、ことを特徴とするプログラマブルコントローラシステム。
【請求項4】
前記暗号化パスワード要素コードは、パスワード国コードであり、且つ、前記装置内パスワードコードは、前記プログラマブルコントローラのプログラミング装置の言語設定を示す装置国コードである、ことを特徴とする請求項3に記載のプログラマブルコントローラシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2008−83833(P2008−83833A)
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願番号】特願2006−261134(P2006−261134)
【出願日】平成18年9月26日(2006.9.26)
【出願人】(503361927)富士電機機器制御株式会社 (402)
【Fターム(参考)】