(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-27
(45)【発行日】2024-01-11
(54)【発明の名称】PLCの管理システム及び管理方法、及びPLC
(51)【国際特許分類】
G05B 19/05 20060101AFI20231228BHJP
【FI】
G05B19/05 A
(21)【出願番号】P 2020209094
(22)【出願日】2020-12-17
【審査請求日】2022-10-03
(73)【特許権者】
【識別番号】502129933
【氏名又は名称】株式会社日立産機システム
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】須貝 基亜
【審査官】西井 香織
(56)【参考文献】
【文献】特開2008-152317(JP,A)
【文献】特開2007-128172(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
(57)【特許請求の範囲】
【請求項1】
メモリと、マイクロプロセッサユニットと、インタフェースを備えるPLCと、
前記インタフェースを介して前記PLCに接続され、該PLCに提供されるプログラムを作成するプログラミング装置と、を有し、
前記プログラミング装置は、作成した前記プログラムを、前記インタフェースを介して前記PLCへ提供するに際して、前記PLCの前記メモリに予め設定された初期パスワードを変更して運転するか又は前記初期パスワードのままで運転するかの判断を行
い、
前記プログラミング装置は、前記PLCの前記メモリに予め記憶された初期パスワードを用いた認証を行って、認証が成功した場合、前記初期パスワードを新パスワードに変更して運転するかの判断を行い、
前記プログラミング装置は、該PLCに提供されるラダープログラムを作成する処理部と、作成された該ラダープログラムを記憶する記憶部と、入力部と、表示部を有し、
前記認証が成功したとき、前記処理部の制御により、前記初期パスワードの変更を促す画面を前記表示部に表示し、前記入力部の操作によりパスワードの変更の選択が行われた場合、前記新パスワードに基づく運転を可能とし、
前記処理部は、前記表示部に、該PLCに提供される前記ラダープログラムを構成する複数の行を示す画面を表示し、
前記入力部の操作により前記複数の行のうち1の行が選択された場合、前記処理部は、選択された該行に対応して、記号の組み合わせから成るパスワードを生成して前記新パスワードとする
PLCの管理システム。
【請求項2】
前記PLCの前記メモリまたは前記記憶部は、前記複数の各行と、記号の組み合わせから成る固有のパスワードの対応を保持する管理テーブルを有し、
前記処理部は、前記管理テーブルを参照して、選択された前記1の行に対応する前記パスワードを生成する
請求項
1のPLCの管理システム。
【請求項3】
前記メモリは、
前記プログラミング装置から提供される、前記PLCを制御する
前記ラダープログラムを格納するシーケンスプログラムメモリと、
前記初期パスワードを記憶する不揮発性メモリと、
前記
ラダープログラムの演算処理過程で演算に用いられる値を一時的に格納するデータメモリと、を含み、
前記マイクロプロセッサユニットは、前記シーケンスプログラムメモリに格納された前記ラダープログラムに基づいて演算処理を行う、
請求項1のPLCの管理システム。
【請求項4】
前記不揮発性メモリは、前記初期パスワード及び前記新パスワードを記憶する請求項3のPLCの管理システム。
【請求項5】
請求項1乃至4の何れかの項に記載のPLCの管理システムにおいて使用されるPLC。
【請求項6】
メモリと、マイクロプロセッサユニットと、インタフェースを備えるPLCと、
前記インタフェースを介して前記PLCに接続され、該PLCに提供されるプログラムを作成するプログラミング装置と、を有するシステムにおけるPLCの管理方法であって、
前記プログラミング装置は、作成した前記プログラムを、前記インタフェースを介して前記PLCへ提供するに際して、前記PLCの前記メモリに予め設定された初期パスワードを変更して運転するか又は前記初期パスワードのままで運転するかの判断を行
い、
前記プログラミング装置は、該PLCに提供されるラダープログラムを作成する処理部と、作成された該ラダープログラムを記憶する記憶部と、入力部と、表示部を有し、
前記初期パスワードを用いた認証が成功したとき、前記処理部の制御により、前記初期パスワードの変更を促す画面を前記表示部に表示し、前記入力部の操作によりパスワードの変更の選択が行われた場合、新パスワードに基づく運転を可能とし、
前記処理部は、前記表示部に、該PLCに提供される前記ラダープログラムを構成する複数の行を示す画面を表示し、
前記入力部の操作により前記複数の行のうち1の行が選択された場合、前記処理部は、選択された該行に対応して、記号の組み合わせから成るパスワードを生成して前記新パスワードとする
ことを特徴とするPLCの管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、PLC(プログラマブルロジックコントローラ)の管理システム及び管理方法、及びPLCに係り、特に、PLCのセキュリティの管理に関する。
【背景技術】
【0002】
PLCは、PLC単体で設備を監視・制御するだけでなく、上位にHMI、ホストPC等を設けて使用されることが多い。システムによっては上位ホストとの1対1の通信だけでなく複数ホストと接続する場合がある。制御システムのオープン化が進み、遠隔から複数ホストによってリモート操作を行うことができる。一方、システムの大規模化に伴って通信経路も増大するため、不正アクセスによるプログラム漏洩や誤動作などのリスクが増える。
PLCのプログラムの漏洩を防止するために、例えば、特許文献1には、ハード的なパスワードを使用することで、PLCのプログラムを強固に保護する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来、PLCを含む制御システムは工場等の閉鎖された施設内で取扱うため外部ネットワークとは遮断されており、セキュリティが未対策状態でも比較的安全に運用させることができた。しかし、システムのオープン化に伴い、様々なリスクに晒されることがあり、また汎用PLCでは初期パスワードが共通であることも多く、パスワードが特定されやすく脆弱性が問題となる。その結果、PLCを含む制御システムが、意図しないプログラムで動作して、システム全体に多大な影響を与える恐れがある。
本発明の目的は、初期パスワードの変更を促すことで、PLCのセキュリティを強化することにある。
【課題を解決するための手段】
【0005】
本発明に係るPLCの管理システムの好ましい一例は、
メモリと、マイクロプロセッサユニットと、インタフェースを備えるPLCと、
前記インタフェースを介して前記PLCに接続され、該PLCに提供されるプログラムを作成するプログラミング装置と、を有し、
前記プログラミング装置は、作成した前記プログラムを、前記インタフェースを介して前記PLCへ提供するに際して、前記PLCの前記メモリに予め設定された初期パスワードを変更して運転するか又は前記初期パスワードのままで運転するかの判断を行うことを特徴とするPLCの管理システム、である。
【0006】
本発明はまた、上記PLCの管理システムにおけるPLCとして把握できる。
本発明はまた、上記PLCの管理システムにおけるPLCの管理方法として把握できる。
【発明の効果】
【0007】
本発明によれば、初期パスワードの変更を促すことで、PLCのセキュリティを強化することができる。
【図面の簡単な説明】
【0008】
【
図1】本実施例によるPLCの管理システムの構成例を示す図である。
【
図2】PLCのパスワードの変更管理動作を示すフローチャートである。
【
図3】初期パスワードの変更管理に関する画面を示す図である。
【
図4】初期パスワードの変更管理に関する画面を示す図である。
【
図5】初期パスワードの変更管理に関する画面を示す図である。
【
図6】パスワード管理テーブルの構成例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の一実施例を、図面を参照して説明する。
【実施例1】
【0010】
図1は、PLCの管理システムの構成例を示す。
PLCの管理システムは、プログラミング装置1がインタフェース(I/F)を介してPLC1に接続されて構成される。
【0011】
プログラミング装置1は、例えば、パーソナルコンピュータ(PC)のような情報処理装置であり、入力部11、表示部12、プログラムを実行する処理部13、及びデータやプログラムを記憶する記憶部14を有し、プログラムの実行により種々のデータ処理を行う。とりわけ、処理部13は、PLC2へ提供するプログラム(シーケンスラダープログラム)を作成し、その作成されたプログラム(以後単にラダープログラムということがある)は記憶部14に保管される。また、処理部13は、PLC2のシーケンスプログラムメモリ8の内容の変更や動作確認を行う。とりわけ本実施例において、処理部13はパスワードの変更のための処理(
図2)を行う。表示部12は種々の情報を表示するが、本実施例においてパスワード管理のための画面(GUI画面)を表示する。入力部11は種々の情報を入力するが、本実施例においてはパスワード管理のための情報や指示を入力する。
【0012】
PLC2は、プログラミング装置1との間で通信を行う入出力I/F3と、MPU5が制御処理を行う内容を記録するシステムプログラムメモリ4と、論理演算や算術計算を行うMPU(マイクロプセッサユニット)5と、ラダープログラムの演算処理結果等を一時的に記憶するデータメモリ6と、不揮発性メモリ7と、PLC2を制御するラダープログラムを格納するシーケンスプログラムメモリ8と、を有する。PLC2は、プログラミング装置1で作成されたプログラムを、入出力I/F3を介して受信して、シーケンスプログラムメモリ8に保管する。本実施例において、不揮発性メモリ7は、初期パスワードおよび変更後のパスワードをその都度、追加的に保管する。
【0013】
図2は、PLCのパスワードの変更管理動作を示すフローチャートである。
PLCのパスワード変更は、PLCの初回起動時に、プログラミング装置1とPLC2の間で実行される。PLC2は、初期の状態ではPLC2を動作させるためのラダープログラムが書き込まれていないため動作しない。そのため、プログラミング装置1が作成したプログラムをPLC2に書き込む必要がある。
【0014】
まず、プログラミング装置1の処理部13は、
図2に示す処理を実行するプログラム(パスワードの変更管理プログラム)を実行する。そして、プログラミング装置1を、入出力I/F3を介してPLC2にオンライン接続する(S20)。
ここで、プログラミング装置1では、PLC1へ提供すべきプログラムが既に記憶部14に保持されている。また、PLC2の不揮発性メモリ7にはPLC2の出荷時に初期パスワードが記憶されている。また、初期パスワードはユーザに通知されているものとする。
【0015】
記憶部14に記憶されたプログラム(ラダープログラム)を、入出力I/F3を介してPLC1へ転送して、シーケンスプログラムメモリ8に書き込む前に、初回パスワードの認証を行う(S21)。すなわち、プログラミング装置1の表示部12には、初期パスワードを入力させる案内画面30が表示されて、ユーザは入力部11から、予め通知された初期パスワードを、入力欄301に入力する。すると、プログラミング装置1の処理部13は、PLC2の不揮発性メモリ7に記憶された初期パスワードと、入力部11から入力された初期パスワードを比較することで、初期パスワードの認証を行う。
【0016】
認証の結果、両者が不一致のときは(S21:NO)、認証失敗であり(S22)、表示部12に
図3(a)の画面を表示して、再度、入力欄301に初期パスワードの入力を促す。認証失敗が所定回数続いた場合には、PLC2へのプログラムの書き込み動作を中止する。ユーザの初期パスワードの記憶違い或いは不正の可能性があるので、初期パスワードを確認させるのがよい。
【0017】
一方、認証の結果(S21:YES)、両者が一致(認証成功)の場合は、記憶部14に保管されているプログラムを、PLC1へ転送して、シーケンスプログラムメモリ8に書き込むことが可能となる(S23)。
【0018】
そして、シーケンスプログラムメモリ8にプログラム(ラダープログラム)の書込み12が完了すると、初回パスワードの認証(S21)で使用した初期パスワードを変更するか否かの判断が行われる(S24)。この時に、表示部12に、
図3(b)の画面を表示して、新しく設定するパスワード(新パスワード)をラダープログラム内から選択するか否かを、ユーザに判断させる。ユーザが「Yes」ボタン302を押すと、新パスワードの設定に移る(S26)。なお、新パスワードの設定を、ラダープログラムの行の選択に関連付けて行う意義については後述する。
【0019】
初期パスワードの変更の判断において、ユーザが「No」ボタン303を押すと、新パスワードの設定は止めて、初期パスワードによる運転の判断に移る(S25)。
ここで、PLC2を用いた装置を新パスワードで運転するか又は初期パスワードで運転するかの選択は、PLC2の利用環境におけるセキュリティリスクの高いか低いかの、ユーザの判断に因る。
【0020】
ユーザが、セキュリュティリスクが高いと判断した場合、初期パスワードを変更するのがよい。この変更動作は、シーケンスプログラムメモリ8にプログラムの書込みを行ったラダープログラム内から1行選択することで行われる。すなわち、表示部12には、ラダープログラムを構成する複数行から成るラダーが表示される(
図4)。ユーザが、入力部1を操作して、表示部12に表示されている複数のラダーから任意の1行を選択する(S26)。選択された行(ラダー)に対応する新パスワード305が設定され、その設定完了306が表示される。新パスワードの設定が完了すると(S28)、PLC2の運転が可能となる(S29)。
【0021】
ここで、ラダープログラムを用いて新パスワードを生成する意義について述べておく。ラダープログラムをPLC2のシーケンスプログラムメモリ8に記憶させるとき、ラダープログラムが何れの行から構成されるかを表示してユーザに認識させることができる。この表示を兼ねて、そのラダープログラムを形成する複数の行を利用してパスワードを生成しようとするものである。また、複数の各行とパスワードの対応関係は、
図6に示すように、管理テーブルに登録される。この管理テーブルは例えば、システムプログラムメモリ4または記憶部14に保管される。パスワードは、例えば英数字や特殊文字等の記号の組み合わせから形成される。新パスワードは、
図4の画面に表示してユーザに知らせてもよいが、別途のメール送信によりユーザに通知してもよい。
【0022】
説明を元に戻す。ユーザが、利用環境におけるセキュリティリスクが低いと判断して、ユーザが画面(
図3(b))のNo(303)を選択すると、処理部13は初期パスワードの変更が不要と判断して(S24:NO)、初期パスワードでの運転の要否を確認する(S25)。その判断の結果、ユーザが画面(
図5)のOK(307)を選択して、初期パスワードでの運転を許可すると、PLC2に用意された初期パスワードの状態で運転可能となる(S27、S29)。なお、
図5の画面のキャンセル308が選択されると、ステップS24に戻って、再度、上記の動作が行われる。すなわち、初期パスワードの変更又は初期パスワードで運転の何れかを選択しないと、これらの作業を繰り返されるので、運転開始が不可となる。
【0023】
パスワードの管理について言えば、新パスワード(変更パスワード)は不揮発性メモリ7に予め格納されている初期パスワードに上書きせずに、追加記憶する。初期パスワード以降に設定されるパスワード(二次以降の変更パスワード)については前の変更パスワード(一次変更パスワード)に上書きして記憶する。すなわち、不揮発メモリ7には、初期パスワード(上書き不可)と変更パスワード(上書き可)が存在する。その後、作成された別のラダープログラムがPLC2に提供される場合または先に提供したラダープログラムの行の修正等が行われる場合、不揮発性メモリ7に格納された上記新パスワードを用いて、認証が行われることになる。
【0024】
以上、本発明の一実施例について説明したが、本発明は上記実施例に限定されずに、種々変形して実施し得る。
【0025】
一変形例は、上記実施例における管理テーブルを用いない方法である。例えば、システムプログラムメモリ4に変換プログラムを用意しておき、パスワードを不揮発性メモリ7に格納するときに、当該ラダープログラムまたはラダープログラムの選択された行を、変換プログラムを用いて、可能な形式の文字の羅列や機械語等に変換する。この場合、ラダープログラムまたは行の変換された形式から成るパスワードが不揮発性メモリ7に格納される。
また他の例として、初期パスワードで運転する場合は、初期パスワード運転許可(S27)のステータスを不揮発性メモリ7に格納してもよい。
【0026】
以上説明したように、本実施例によれば、初期パスワードの変更を促すことにより、ユーザはセキュリティリスクに応じて、初期パスワードのまま運用か又は新パスワードで運用するかを選択することができ、結果的にセキュリティリスクを低減することが可能となる。また、パスワードの変更を行わない場合は運転不可となるので、半ば強制的にパスワードの変更を促すことができる。また、パスワードはユーザが書き込んだラダープログラムから一部選択することでPLCの管理者には分かりやすく、他人には複雑なパスワードとなる。
【符号の説明】
【0027】
1:プログラミング装置
11:入力部 12:表示部 13:処理部 14:記憶部
2:PLC 3:入出力I/F 4:システムプログラムメモリ
5:MPU 6:データメモリ 7:不揮発性メモリ
8:シーケンスプログラムメモリ