説明

情報機器

【課題】ユーザ認証情報の妥当性を確保する。
【解決手段】PLC200は、保護資産機器300の保護資産へのアクセス要求に対する認証処理を行うためのユーザ認証情報を保持する。保護資産機器300は正規ユーザが示される正規ユーザ認証情報のハッシュ値である妥当性確認情報を保持する。PLC200のユーザ認証情報は不正に書き換えられる可能性がある。このため、保護資産機器300は、PLC200が電源ONにより起動する度に乱数をPLC200に送信し、PLC200のユーザ認証情報のハッシュ値である妥当性確認情報に乱数を適用して妥当性確認情報のハッシュ値を生成させ、また、保護資産機器300が保持している妥当性確認情報に乱数を適用して妥当性確認情報のハッシュ値を生成し、PLC200の妥当性確認情報のハッシュ値と比較して、PLC200のユーザ認証情報が正規ユーザ認証情報に一致しているかの判定を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ認証のためのユーザ認証情報の妥当性を検証する技術に関し、特に、FA(Factory Automation)システムにおけるユーザ認証情報の妥当性を確認する技術に関する。
【背景技術】
【0002】
一般に情報システムでは、クライアントシステムがコンテンツ提供サーバからコンテンツの提供を受ける場合に、クライアントシステムのユーザは正規ユーザであることを証明するために認証サーバに対してユーザ名とパスワード等により自分が正規のユーザであることの認証を受けて認証サーバより証明書を受け取り、受け取った証明書をコンテンツへのアクセス要求に付加してコンテンツ提供サーバに送信し、コンテンツ提供サーバは受け取った証明書を認証サーバに問い合わせて正規ユーザからのアクセス要求であることを確認する。
また、コンテンツ提供サーバは、認証サーバの正当性を確認するために認証サーバを特定するための情報(例えばドメイン名や製造番号など)を用いて機器認証を行って認証サーバが正しい機器(接続して良い機器)であるかどうかを確認している。
【0003】
本発明に関連する技術としては、特許文献1に記載の技術がある。
【0004】
また、情報システムにおいてユーザ認証情報を格納し認証処理を行う認証サーバは、鍵付きの部屋に収めて認証サーバにアクセスできるユーザを制限するのが一般的である。
例えば、[通商産業省 告示 第362号]のコンピュータ不正アクセス対策基準では、設備管理において「重要な情報が格納されているか又は重要な処理を行う機器は、許可を与えられた者以外立ち入れない場所に設置し、厳重に管理すること」との記載がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−119769号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
このように認証サーバの正当性を保護資産を持つコンテンツ提供サーバ側が確認する場合に、予めコンテンツ提供サーバに登録しておいた認証サーバを特定するための情報(ドメイン名や製造番号など)を用いて接続先のサーバが接続しても良いサーバかどうかを確認するための機器認証を実施しているが、認証サーバ内に格納されているユーザ認証情報の妥当性までは確認していない。
FAシステムでは、通常、認証サーバ(PLC:Programmable Logic Controller)を情報システムの認証サーバとは異なり鍵付き部屋に格納して物理的にアクセスできるユーザに制限をかけることはしていないため、悪意を持ったユーザによって認証サーバ(PLC)内部のユーザ認証情報を格納しているメモリが取り外され、偽のユーザ認証情報を書込んだ別のメモリに交換されてしまって不正アクセス(情報漏えいなど)が行われる可能性があるという課題がある。
このため、FAシステムでは、ユーザ認証情報の妥当性確認を実施する必要がある。
【0007】
本発明は、上記の課題を鑑みてなされたものであって、認証処理に用いられるユーザ認証情報に改ざん等の不正がないことを確認してユーザ認証情報の妥当性を確保することを主な目的とする。
【課題を解決するための手段】
【0008】
本発明に係る情報機器は、
ユーザ認証情報を保持し、保持しているユーザ認証情報を用いて保護対象情報へのアクセス要求に対する認証処理を行う認証装置であって、保護対象情報へのアクセス権限がある正規ユーザのユーザ認証情報である正規ユーザ認証情報が初期設定のユーザ認証情報である認証装置に接続され、
前記保護対象情報を記憶する保護対象情報記憶部と、
正規ユーザ認証情報又は正規ユーザ認証情報の少なくとも一部から生成された情報を検証情報として記憶する検証情報記憶部と、
前記認証装置の起動の際に、前記認証装置が保持している保持ユーザ認証情報又は保持ユーザ認証情報の少なくとも一部から生成された情報を被検証情報として前記認証装置から受信する通信処理部と、
前記通信処理部により被検証情報が受信された場合に、検証情報と被検証情報との照合を行って、前記認証装置が保持している保持ユーザ認証情報が正規ユーザ認証情報に一致するか否かを判定するユーザ認証情報検証部とを有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、認証装置の起動の際に、認証装置が保持している保持ユーザ認証情報に基づく被検証情報と正規ユーザ認証情報に基づく検証情報とを照合して、保持ユーザ認証情報が改ざん等されずに正規ユーザ認証情報と一致していることを確認して保持ユーザ認証情報の妥当性を確保しているので、不正なユーザ認証情報に基づく認証処理により不正アクセスが発生する事態を回避することができる。
【図面の簡単な説明】
【0010】
【図1】実施の形態1に係るシステム構成例を示す図。
【図2】実施の形態1に係るエンジニアリング環境PCの構成例を示す図。
【図3】実施の形態1に係るPLCの構成例を示す図。
【図4】実施の形態1に係る保護資産機器の構成例を示す図。
【図5】実施の形態1に係る保護資産の書き込み処理を示すフローチャート図。
【図6】実施の形態1に係る妥当性確認処理を示すフローチャート図。
【図7】実施の形態2に係るPLCの構成例を示す図。
【図8】実施の形態2に係る保護資産機器の構成例を示す図。
【図9】実施の形態3に係るPLCの構成例を示す図。
【図10】実施の形態3に係る保護資産機器の構成例を示す図。
【発明を実施するための形態】
【0011】
実施の形態1.
本実施の形態では、FAシステムを構成する多様な機器とその機器に対する制御プログラムやパラメータ等の保護資産の設定を行うエンジニアリング環境との間でエンジニアリング環境から保護資産を持つ保護資産機器へアクセスした場合に正規ユーザからのアクセス要求かどうかを確認する際に用いるユーザ認証情報の妥当性を確認する仕組みを説明する。
つまり、本実施の形態の主たる目的は、FAシステムにおいてFA機器内に格納されている制御プログラムやパラメータといった保護資産に対して、エンジニアリング環境からのアクセス要求(書込み/読出し)を受けた際に正規ユーザからの要求であることを確認する認証情報の妥当性確認機能を実現することであり、そのオンラインユーザ認証に用いる認証サーバに格納されているユーザ認証情報(ユーザ名/パスワード)が不正に書き換えられた偽のユーザ認証情報でないことの妥当性確認をFA機器のイニシャル処理時に行って妥当性確認フラグを生成し、保護資産へのアクセス要求時は妥当性確認フラグのチェックでユーザ認証情報の妥当性を確認することで保護資産に対する不正アクセスを防止することができる認証情報の妥当性確認装置および確認方式を提供することにある。
【0012】
ここで、オンラインユーザ認証とは、エンジニアリング環境から制御プログラムやパラメータなどといった保護資産機器に対して保護資産の読出し/書込み(更新)を要求した場合に、認証サーバ(PLC)が正規ユーザからの読出し/書込み要求であるかどうかをユーザ名とパスワードに基づいて確認することである。
【0013】
図1は、本実施の形態に係るFAシステムのシステム構成例を示す。
図1において、エンジニアリング環境PC100は、FAシステムを構成する機器に対する制御プログラムやパラメータ等の保護資産の設定を行うためのPC(Personal Computer)である。
PLC200は、保護資産機器300が保持する保護資産へのアクセス要求があった場合に、保持しているユーザ認証情報を用いて認証処理を行う。PLC200は認証装置の例である。
保護資産機器300は、制御プログラムやパラメータ等の保護資産(保護対象情報)を保持し、PCL200からアクセス要求を受信した場合に、アクセス要求に従って保護資産の読み出し、書込みを行う。保護資産機器300は情報機器の例である。
【0014】
次に、図1を参照して、本実施の形態に係るエンジニアリング環境PC100、PLC200、保護資産機器300の動作の概要を説明する。
【0015】
エンジニアリング環境PC100は、保護資産機器300の保護資産へのアクセス権限を有する正規ユーザの認証情報である正規ユーザ認証情報を保持している。
また、PLC200は、保護資産機器300の保護資産へのアクセス要求に対する認証処理を行うためのユーザ認証情報を保持している。PLC200の初期設定のユーザ認証情報は正規ユーザ認証情報である。しかしながら、前述したように、PLC200のユーザ認証情報は不正に書き換えられる可能性がある。このため、保護資産機器300は、PLC200が電源ONにより起動する度に、PLC200が保持している保持ユーザ認証情報に基づく被検証情報と正規ユーザ認証情報に基づく検証情報とを照合して、PLC200の保持ユーザ認証情報が正規ユーザ認証情報に一致しているか否かの判定を行う。
保護資産機器300は、正規ユーザ認証情報に基づく検証情報を記憶している。
以下では、検証情報の例として、正規ユーザ認証情報のうちのAdministrator権限を持つユーザのパスワードに対してハッシュ演算を行って得られた妥当性確認情報を説明するが、検証情報は正規ユーザ認証情報そのものであってもよい。
妥当性確認情報(検証情報)は、エンジニアリング環境PC100を用いてもアクセスできない領域に記憶されており、ユーザは妥当性確認情報を見ることも任意の値を設定することもできない。
【0016】
PLC200が電源ONにより起動すると、PLC200の起動を検知した保護資産機器300が、乱数を生成し、生成した乱数をPLC200に送信する。
PLC200では、保持している保持ユーザ認証情報に基づいて妥当性確認情報(確認情報)を生成する。
この妥当性確認情報は、保持ユーザ認証情報のうちのAdministrator権限を持つユーザのパスワードに対してハッシュ演算を行って得られたハッシュ値である。
さらに、PLC200は、保護資産機器300から受信した乱数を用いて妥当性確認情報に対してハッシュ演算を行い、妥当性確認情報のハッシュ値(被検証情報)を生成し、妥当性確認情報のハッシュ値を保護資産機器300に送信する。
【0017】
保護資産機器300では、自身が記憶している妥当性確認情報に対してPLC200に送信した乱数を用いてハッシュ演算を行い、自身の妥当性確認情報のハッシュ値を生成する。
そして、PLC200から妥当性確認情報のハッシュ値を受信すると、PLC200からの妥当性確認情報のハッシュ値と、自身の妥当性確認情報のハッシュ値とを比較し、両者が一致するか否かを判断する。両者が一致する場合は、保護資産機器300は、PLC200が保持している保持ユーザ認証情報は正規ユーザ認証情報と一致すると判定し、PLC200に対して保持ユーザ認証情報での認証処理を許可する。他方、両者が一致しない場合は、PLC200が保持している保持ユーザ認証情報は正規ユーザ認証情報と一致せず、改ざんの可能性がある。このため、保護資産機器300は、PLC200で認証処理が行われてアクセス要求が送信されてきた場合でも、当該アクセス要求を拒絶する。
【0018】
なお、保護資産機器300において検証情報を正規ユーザ認証情報自体とする場合は、保護資産機器300は、PLC200の起動により乱数を生成し、生成した乱数をPLC200に送信するとともに、当該乱数を用いて正規ユーザ認証情報のハッシュ値を算出する。PLC200では、保持ユーザ認証情報に対して保護資産機器300からの乱数を適用して保持ユーザ認証情報のハッシュ値(被検証情報)を生成し、保持ユーザ認証情報のハッシュ値を保護資産機器300に送信する。
そして、保護資産機器300では、PLC200から受信した保持ユーザ認証情報のハッシュ値と正規ユーザ認証情報のハッシュ値とを比較して、PLC200の保持ユーザ認証情報が正規ユーザ認証情報に一致しているか否かを判定する。
【0019】
次に、図2、図3、図4を参照して、エンジニアリング環境PC100、PLC200、保護資産機器300の構成例を説明する。
先ず、図2を用いて、エンジニアリング環境PC100の構成例を説明する。
【0020】
図2において、入力部101は、ユーザにより指定されたFA機器に対する制御プログラムやパラメータ設定、およびオンラインユーザ認証時のユーザ名やパスワード等をキーボードやマウス等を通じて入力する。
保護資産記憶部102は、保護資産機器300に書き込むことになる保護資産を格納しておく。
保護資産アクセス処理部103は、保護資産機器300の保護資産へのアクセス処理を行う。より具体的には、入力部101がユーザから入力した保護資産を保護資産記憶部102に格納し、また、保護資産記憶部102に格納されている保護資産を読み出し、通信処理部104を通じて保護資産機器300に当該保護資産を書込む処理を行う。また、ユーザからの指示に基づき、通信処理部104を通じて保護資産機器300に格納されている保護資産を読み出す処理を行う。
通信処理部104は、PLC200との間でユーザ認証情報や保護資産などのデータをやり取りする。
ユーザ認証情報記憶部105は、保護資産アクセス処理部103が保護資産機器300の保護資産にアクセスする際に正規ユーザからのアクセス要求であることを確認するためのユーザ認証情報(ユーザ名とパスワード)を格納する。
オンラインユーザ認証処理部106は、保護資産アクセス処理部103が保護資産機器300の保護資産へアクセスする際に入力部101がユーザから入力したユーザ認証情報を通信処理部104を通じてPLC200に送信する。
【0021】
次に、図3を用いて、PLC200の構成例を説明する。
【0022】
図3において、通信処理部204は、エンジニアリング環境PC100と保護資産機器300との通信を行う。
ユーザ認証情報記憶部205は、エンジニアリング環境PC100からのアクセス要求に対する認証処理を行う際に用いるユーザ認証情報(ユーザ名とパスワード)を格納する。前述したように、ユーザ認証情報記憶部205に初期値として記憶されたユーザ認証情報は正規ユーザのユーザ名とパスワードが示される正規ユーザ認証情報であるが、ユーザ認証情報は不正行為により改ざんされる可能性がある。
オンラインユーザ認証処理部206は、エンジニアリング環境PC100からのアクセス要求に含まれるユーザ名とパスワードとユーザ認証情報記憶部205のユーザ認証情報を照合して、正規のユーザからのアクセス要求であるか否かの認証処理を行う。
イニシャル処理部207は、PLC200の電源ON時にPLC200自身の初期設定やネットワーク接続(バス接続)されている保護資産機器300へのパラメータ設定等を行う。
乱数生成処理部208は、セッションIDを生成するための乱数を生成する。
セッション管理部209は、オンラインユーザ認証処理部206でオンラインユーザ認証に成功した場合に次からのアクセス要求に対してその都度オンラインユーザ認証を実施しなくても正規ユーザであることを証明するためのセッションIDを生成/管理する。
妥当性確認情報生成部210は、ユーザ認証情報記憶部205に格納された全てのAdministrator権限を持つユーザのパスワード情報からユーザ認証情報の妥当性を確認するための妥当性確認情報を生成する。
妥当性確認用ハッシュ生成処理部211は、イニシャル処理部207による保護資産機器300へのパラメータ設定と連動して実行され、妥当性確認情報生成部210により生成された妥当性確認情報に対して保護資産機器300から供給された乱数を適用して妥当性確認情報のハッシュ値を生成する。
【0023】
次に、図4を用いて、保護資産機器300の構成例を説明する。
【0024】
図4において、保護資産記憶部302は、エンジニアリング環境PC100により生成された制御プログラムやパラメータ等の保護資産(保護対象情報)を記憶する。保護資産記憶部302は、保護対象情報記憶部の例である。
保護資産アクセス処理部303は、PLC200により認証処理が行われた後のアクセス要求に従って、保護資産記憶部302に記憶されている保護資産の読み出し、書込みを行う。
通信処理部304は、PLC200との通信を行う。
【0025】
また、乱数生成処理部308は、PLC200が電源ONにより起動した際に、PLC200のイニシャル処理部207による保護資産機器300へのパラメータ設定と連動して妥当性確認情報に対するハッシュ演算に用いる乱数を生成する。乱数生成処理部308はユーザ認証情報検証部の例である。
妥当性確認情報記憶部312は、正規ユーザ認証情報のハッシュ値である妥当性確認情報を記憶する。妥当性確認情報記憶部312は検証情報記憶部の例である。なお、妥当性確認情報記憶部312は、エンジニアリング環境PC100を用いてもアクセスできない領域に妥当性確認情報を書込むこととし、ユーザには妥当性確認情報を見ることも任意の値を設定することもできないこととする。
【0026】
妥当性確認用ハッシュ生成処理部311は、妥当性確認情報記憶部312に記憶されている妥当性確認情報に対して乱数生成処理部308で生成された乱数を適用して妥当性確認情報のハッシュ値を生成する。妥当性確認用ハッシュ生成処理部311はユーザ認証情報検証部の例である。
妥当性確認処理部313は、PLC200が電源ONにより起動した際に、PLC200のイニシャル処理部207による保護資産機器300へのパラメータ設定と連動してPLC200内に格納されているユーザ認証情報記憶部205のユーザ認証情報の妥当性を確認する。より具体的には、PLC200で生成された妥当性確認情報のハッシュ値と妥当性確認用ハッシュ生成処理部311により生成された妥当性確認情報のハッシュ値とを比較して、PLC200内のユーザ認証情報が正規ユーザ認証情報に一致するか否かを判定する。妥当性確認処理部313はユーザ認証情報検証部の例である。
【0027】
また、妥当性確認フラグ記憶部314は、妥当性確認処理部313での結果に基づいて妥当性確認に成功した場合はTrueを示し、失敗した場合はFalseを示す妥当性確認フラグを格納する。
妥当性確認フラグ処理部315は、妥当性確認処理部313での結果に基づいて妥当性確認フラグを妥当性確認フラグ記憶部314に設定し、また、エンジニアリング環境PC100からのアクセス要求をPLC200から受信した際に、妥当性確認フラグ記憶部314に格納されている妥当性確認フラグに応じてアクセス要求を許可(Trueの場合)/禁止(Falseの場合)する。妥当性確認フラグ処理部315は認証制御部の例である。
【0028】
なお、エンジニアリング環境PC100、PLC200、保護資産機器300は、それぞれの構成要素をハードウェアで構成していてもよいし、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、磁気ディスク装置等を備え、「〜部」と表記している機能を実現するプログラムをCPUがRAM、ROM、磁気ディスク等を用いて実行して、エンジニアリング環境PC100、PLC200、保護資産機器300の処理を行うようにしてもよい。
【0029】
次に、図5及び図6を用いて、本実施の形態に係る動作例を説明する。
なお、図5はエンジニアリング環境PC100から保護資産機器300に対して制御プログラムやパラメータ等の保護資産を書込む際の処理フローである。
また、図6は、機器の電源ON時に実行される妥当性確認の処理フローである。
なお、図5では、保護資産を書込む処理を説明しているが、保護資産機器300から保護資産を読み出す場合も図5のフローに従って処理が行われる。保護資産を読み出す場合は、S513及びS516の「書込み」を「読み出し」に読み替えればよい。
【0030】
先ず、エンジニアリング環境上で保護資産を作成する手順について説明する。
【0031】
ユーザはエンジニアリング環境PC100の入力部101を用いて保護資産機器300に対する制御プログラムやパラメータ等の保護資産を作成し、保護資産アクセス処理部103を用いて保護資産記憶部102に作成した保護資産を格納する。
また、ユーザが入力部101を用いて、その保護資産に対しては正規ユーザのアクセスのみを許可するためのユーザ認証情報(ユーザ名とパスワード)を入力し、ユーザ認証情報記憶部105に格納する。
【0032】
次に、図5を用いて、エンジニアリング環境PC100上で作成した保護資産を保護資産機器300へ書込む際の手順を説明する。
ユーザは、エンジニアリング環境PC100とPLC200をUSB(Universal Serial Bus)ケーブル等にてネットワーク接続する。
PLC200と保護資産機器300は、例えば、基本ベース(基板)に装着して使用し、基板内のバスにより接続される。
通信処理部104、204、304を用いてエンジニアリング環境PC100とPLC200間、およびPLC200と保護資産機器300間のデータ送受信を行う。
ユーザが入力部101を用いてエンジニアリング環境PC100内の保護資産記憶部102に格納している制御プログラムやパラメータの保護資産機器300への書込みを指示すると、通信処理部104は保護資産機器300に対する接続確認要求を送信する(S501)。
接続確認要求には、エンジニアリング環境PC100の型名等、保護資産機器300でエンジニアリング環境PC100の機器認証が可能な情報が含まれる。
【0033】
接続確認要求は、PLC200の通信処理部204を経由して、保護資産機器300の通信処理部304に到達する。
接続確認要求を受け取った通信処理部304は、接続確認情報に含まれる情報(例えば、エンジニアリング環境PC100の型名)を用いて機器認証を行い、接続確認要求の送信元が接続してもよい機器かどうかを判断する(S502)。
例えば、保護資産機器300は、接続してもよい機器の型名を所定の記憶領域に保持しており、通信処理部304は、接続確認要求に含まれる接続確認要求の送信元の機器の型名と保持している型名とを比較する。
接続してもよい機器でない場合(S502でNO)は、接続NGと判断し、通信処理部304は、通信処理部204を介して、エンジニアリング環境PC100の通信処理部104へエラーコードを返し、保護資産の書込みを許可しない。
一方、接続してもよい機器の場合(S502でYES)は、接続OKとの応答を通信処理部104に返す際に、妥当性確認情報記憶部312に既に妥当性確認情報が格納されているか否かを確認してその結果も一緒に返す。
【0034】
エンジニアリング環境PC100の通信処理部104は、接続確認要求に対する応答として接続NGのエラーコードを受け取った場合は保護資産の書込み処理を中止する(S516)。
また、接続OKの場合は、保護資産機器300の妥当性確認情報記憶部312に妥当性確認情報が格納されているか否かを確認し(S503)、妥当性確認情報が格納されていない場合(S504で未登録)は、保護資産の書込み処理を実行する前に、通信処理部104は、ユーザ認証情報記憶部105からユーザ認証情報を取得し、取得したユーザ認証情報をPLC200に送信し、PLC200においてユーザ認証情報をユーザ認証情報記憶部205に書込ませる(S505)。なお、このユーザ認証情報は正規ユーザ認証情報である。
ユーザ管理情報を書込む処理では、オンラインユーザ認証処理部206が、Administrator権限を持つユーザを最初にユーザ認証情報記憶部205に書込む。
これは、保護資産の書込み処理中に何らかの障害が発生して処理が中断してしまった場合でも、ユーザ認証情報を先に書込んでおくことで保護資産に対する不正アクセスを防止するためである。
【0035】
次に、PLC200の妥当性確認情報生成部210が、妥当性確認情報を生成する(S506)。
妥当性確認情報は、ユーザ認証情報記憶部205に書込まれたAdministrator権限を持つ全てのユーザのパスワードを用いて、妥当性確認情報生成部210にてハッシュ値を算出し、その値を妥当性確認情報とする。
妥当性確認情報は、通信処理部204から通信処理部304に送信され、妥当性確認処理部313が妥当性確認情報記憶部312に書込む(S507)。
【0036】
妥当性確認情報の妥当性確認情報記憶部312への書込みが完了したら、通信処理部104は保護資産アクセス処理部103に対して保護資産記憶部102から制御プログラムやパラメータ等の保護資産の読み出し要求を出す。
通信処理部104は、保護資産記憶部102から読み出した保護資産を受け取ると、読み出した保護資産を保護資産機器300の保護資産記憶部302に書込むための要求を通信処理部204に送信する。
通信処理部204は、保護資産の書込み要求を受け取るとその要求に付加されているセッションIDを抽出し、そのセッションIDが有効か無効かをセッション管理部209に判断を依頼する。
セッション管理部209は、送られてきたセッションIDがオンラインユーザ認証に成功したユーザ向けに発行したものであるかどうかを自身が管理している情報に基づいて判断し、その結果を通信処理部204に返す。
通信処理部204は、セッション管理部209からセッションIDが有効との判断結果を受け取ると(S509で有効)、保護資産の書込み要求を通信処理部304に転送する。
通信処理部304は、保護資産の書込み要求を受け取るとその書込み要求から保護資産のデータを抽出し、保護資産アクセス処理部303に保護資産の書込み指示を出す。
保護資産アクセス処理部303は、通信処理部304からの指示を受けて保護資産を保護資産記憶部302に書込む(S513)。
【0037】
一方、通信処理部204が、セッション管理部209からセッションIDが無効との判断結果を受け取った場合(S509で無効)は、オンラインユーザ認証処理部206に対してオンラインユーザ認証を実施するために乱数生成を要求し、オンラインユーザ認証処理部206は乱数生成処理部208に乱数生成を要求して乱数生成処理部208が乱数を生成してオンラインユーザ認証処理部206に乱数を返す。
オンラインユーザ認証処理部206は乱数を受け取るとその乱数を通信処理部204に返すと共に、その乱数を一時保存しておく。
【0038】
通信処理部204は、通信処理部104に対し受け取った乱数を付加してオンラインユーザ認証を要求する。
通信処理部104は、オンラインユーザ認証要求を受け取ると、オンラインユーザ認証処理部106にオンラインユーザ認証を指示し、受け取った乱数を渡す。
オンラインユーザ認証処理部106は、エンジニアリング環境PC100のユーザにログイン画面を表示し、ユーザは入力部101を用いてユーザ名とパスワードを入力する。
オンラインユーザ認証処理部106は、入力部101を用いて入力されたパスワードと通信処理部204から送付されてきた乱数を入力としてハッシュ関数にてハッシュ値を生成し、通信処理部104にユーザ名とハッシュ値を返す。
通信処理部104は、通信処理部204からのオンラインユーザ認証要求に対してユーザ名とハッシュ値を返す。
通信処理部204は、通信処理部104からユーザ名とハッシュ値を受け取り、受け取ったユーザ名とハッシュ値をオンラインユーザ認証処理部206に渡す。
オンラインユーザ認証処理部206は、受け取ったユーザ名を基にユーザ認証情報記憶部205からパスワードを抽出し、先に一時保存しておいた乱数とそのパスワードを入力としてハッシュ関数によりハッシュ値を生成する。
生成したハッシュ値と通信処理部204から受け取ったハッシュ値とを比較して一致するかどうかを確認する(S510)。
もし、ハッシュ値が一致しない場合(S511で失敗)は、オンラインユーザ認証処理部206は通信処理部204にオンラインユーザ認証失敗を返し、通信処理部204は通信処理部104にオンラインユーザ認証失敗を返す。
通信処理部104は、オンラインユーザ認証失敗を受け取るとユーザ名/パスワードの再入力を要求する、もしくは保護資産の書込み処理を中止するかどうかの判断をユーザに要求する。
保護資産の書込み処理中止をユーザが判断した場合は、書込み処理を中止する(S516)。
オンラインユーザ認証処理部206にてハッシュ値が一致した(オンラインユーザ認証処理に成功した)場合(S511で成功)は、セッション管理部209に対してセッションIDの生成を要求する。
セッション管理部209は、乱数生成処理部208に乱数生成を要求して乱数を受け取り、例えばオンラインユーザ認証時にユーザによって入力されたユーザ名と乱数とを合わせてハッシュ関数にてハッシュ値を生成し、そのハッシュ値をセッションIDとして利用する(S512)。
生成したハッシュ値はセッション管理部209内に格納しておく。
この値はセッションIDの確認処理の際に、オンラインユーザ認証処理に成功した正規ユーザに発行したものであるかどうかの確認に用いる。
オンラインユーザ認証処理部206は、オンラインユーザ認証に成功したこととセッションIDを通信処理部204に返す。
通信処理部204は、オンラインユーザ認証結果とセッションIDを通信処理部104に返す。
通信処理部104は、セッションIDを一時保存しておき、次に保護資産機器300に対してアクセス要求を出す際にそのセッションIDをアクセス要求に付加して、通信処理部204へ送信する。
【0039】
また、通信処理部104が接続確認要求に対して接続OKで且つ妥当性確認情報記憶部312に妥当性確認情報が既に格納済みであることを示す応答を受け取った場合(S504で登録済み)は、前記と同様に保護資産を保護資産記憶部102から読み出し、読み出した保護資産を保護資産記憶部302に書込むための要求を通信処理部204に送信する。
通信処理部204は、保護資産機器300へのアクセス要求であることを判断し、受け取った要求を保護資産機器300の通信処理部304へ転送する。
【0040】
通信処理部304は、保護資産の書込み要求であることを判断すると、妥当性確認フラグ処理部315に妥当性確認フラグ記憶部314に格納されている妥当性確認フラグのチェック指示を出す。
妥当性確認フラグ処理部315は、妥当性確認フラグ記憶部314から妥当性確認フラグを読み出して(S514、S515)、妥当性確認フラグがTrueの場合には保護資産記憶部302へのアクセスを許可する信号を、Falseの場合は保護資産記憶部302へのアクセスを禁止する信号を通信処理部304に返す。
通信処理部304は、妥当性確認フラグ処理部315から返ってきたアクセス許可/禁止を通信処理部204に返す。
通信処理部204が、アクセス禁止の信号を受け取ると、通信処理部104にアクセス禁止のエラーコードを返し、通信処理部104はアクセス禁止のエラーコードを受けて、保護資産の書込み処理を中止する(S516)。
通信処理部204は、アクセス許可の信号を受け取った場合は、前記のようにセッションIDの確認処理やオンラインユーザ認証処理および保護資産の書込み処理を実施する(S508〜S513)。
【0041】
次に、図6を用いて、PLC200の電源ON時に実行される妥当性確認の動作を説明する。
PLC200の電源をONにした際、イニシャル処理部207は自身のセットアップを行うと共に、同一の基本ベース上に装着された機器(保護資産機器300など)に対してパラメータ等の設定を行う(S601)。
保護資産機器300はこのパラメータ設定等の処理の後にPLC200との間でユーザ認証情報記憶部205に格納されているユーザ認証情報の妥当性を確認する。
【0042】
通信処理部304は、PLC200からのパラメータ設定処理完了後に妥当性確認処理部313に対して妥当性確認情報の有無の確認を依頼する。
妥当性確認処理部313は、妥当性確認情報の有無確認の依頼を受け、妥当性確認情報記憶部312に妥当性確認情報が登録されているかどうかを確認し(S602)、その結果(未登録/登録済み)を通信処理部304に返す。
妥当性確認情報が「登録済み」だった場合(S603で登録済み)、ユーザ認証情報の妥当性確認処理(S605)が行われる。
【0043】
ユーザ認証情報の妥当性確認処理(S605)は、例えば、以下の手順で行われる。
妥当性確認処理部313は、妥当性確認情報の有無確認の結果を通信処理部304に返す前に妥当性確認用ハッシュ生成処理部311に妥当性確認処理を実施するために必要な乱数と妥当性確認用のハッシュ値の生成を要求する。
妥当性確認用ハッシュ生成処理部311は、乱数生成の要求を受けると乱数生成処理部308に乱数の生成を要求し、乱数生成処理部308は乱数を生成して妥当性確認用ハッシュ生成処理部311に返す。
次に、妥当性確認用ハッシュ生成処理部311は、妥当性確認情報記憶部312に格納されている妥当性確認情報を抽出し、乱数生成処理部308から受け取った乱数を基に妥当性確認用のハッシュ値を生成する。
妥当性確認用ハッシュ生成処理部311は、乱数生成処理部308で生成された乱数と妥当性確認用のハッシュ値を妥当性確認処理部313に返す。
妥当性確認処理部313は、妥当性確認情報の有無確認の結果と妥当性確認用ハッシュ生成処理部311から受け取った乱数を通信処理部304に返し、妥当性確認用のハッシュ値については一時保存する。
通信処理部304は、妥当性確認情報の有無確認の結果が「登録済み」だった場合には妥当性確認処理部313から受け取った乱数を付加して、通信処理部204に対してユーザ認証情報の妥当性確認を要求する。
通信処理部204は、この妥当性確認要求を受けて妥当性確認用ハッシュ生成処理部211に妥当性確認用のハッシュ値の生成を指示する。
この時、通信処理部304から受け取った乱数も妥当性確認用ハッシュ生成処理部211に渡す。
妥当性確認用ハッシュ生成処理部211は、妥当性確認情報生成部210に対して妥当性確認情報の生成を指示する。
妥当性確認情報生成部210は、ユーザ認証情報記憶部205からAdministrator権限を持つ全てのユーザのパスワードを抽出し、抽出したパスワードを基に妥当性確認情報を生成して、妥当性確認用ハッシュ生成処理部211に生成した妥当性確認情報を返す。
妥当性確認用ハッシュ生成処理部211は、通信処理部204から受け取った乱数と妥当性確認情報生成部210から受け取った妥当性確認情報を基にハッシュ関数を用いてハッシュ値を生成し、通信処理部204に妥当性確認用に生成したハッシュ値を返す。
通信処理部204は、受け取ったハッシュ値を通信処理部304に返し、通信処理部304はそのハッシュ値を妥当性確認処理部313に渡す。
妥当性確認処理部313は、PLC200側で生成した妥当性確認用のハッシュ値と妥当性確認処理部313に一時保存していた妥当性確認用のハッシュ値とを比較して、その結果を通信処理部304に返す。
【0044】
通信処理部304は、妥当性確認用のハッシュ値の比較結果を受け、もし比較結果が「一致」だった場合(S606で一致)は、妥当性確認フラグ処理部315に対して妥当性確認フラグ記憶部314に「True」を設定するように指示する。
もし、比較結果が「不一致」だった場合(S606で不一致)は、妥当性確認フラグ処理部315に対して妥当性確認フラグ記憶部314に「False」を設定するように指示する。
【0045】
一方、通信処理部304は、妥当性確認処理部313からの確認結果を受けて、妥当性確認情報が「未登録」だった場合(S603で未登録)は、妥当性確認フラグ処理部315に対し、妥当性確認フラグに「True」を設定するように指示を出す。
妥当性確認フラグ処理部315は、妥当性確認フラグの設定指示を受け、妥当性確認フラグ記憶部314に「True」を設定する。
【0046】
このようにFA機器の電源ON時(イニシャル処理時)に連動してユーザ認証情報記憶部205に格納されているユーザ認証情報の妥当性をAdministrator権限を持つユーザのパスワードから生成した妥当性確認情報にて確認することで、悪意を持ったユーザにより偽のユーザ認証情報に書き換えられた場合の不正アクセス(情報漏洩や情報改ざん)を防止することができる。
つまり、ユーザ認証情報記憶部205のユーザ認証情報に改ざんがある場合は、S606の判定において「不一致」になるので、妥当性確認フラグの値はFalseになる(S607)。そして、その後に、保護資産へのアクセス要求があった場合でも、妥当性確認フラグ処理部315が妥当性確認フラグの値を確認し(S514、S515)、妥当性確認フラグの値がFalseなので、保護資産へのアクセスを拒絶することができる(S516)。
一方、ユーザ認証情報記憶部205のユーザ認証情報が改ざんされていなければ、S606の判定において「一致」になるので、妥当性確認フラグの値はTrueになる(S604)。そして、その後に、保護資産へのアクセス要求があった場合に、妥当性確認フラグ処理部315が妥当性確認フラグの値を確認し(S514、S515)、妥当性確認フラグの値がTrueなので、PLC200にユーザ認証情報記憶部205のユーザ認証情報を用いた認証処理が許可され(S508〜S512)、認証に成功した場合に保護資産へのアクセスが可能となる(S513)。
【0047】
このように、本実施の形態によれば、認証サーバ内に格納されているユーザ認証情報に対して、オンラインユーザ認証をその認証サーバに任せている保護資産機器側がユーザ認証情報の妥当性を電源ON時(イニシャル処理)に確認することで、例えば悪意を持ったユーザによって偽のユーザ認証情報に書き換えられたケースでも電源ON時にその不正を発見することができ、悪意を持ったユーザからの不正アクセス(情報漏えいや情報改ざん)を防止することができる。
【0048】
なお、本実施の形態では、ユーザ認証情報記憶部205からAdministrator権限を持つ全てのユーザのパスワードからハッシュ値を生成し、それを妥当性確認情報として利用する例を示しているが、例えば、Administrator権限を持つユーザを複数登録していた場合、そのユーザ毎に妥当性確認情報を生成して個別に妥当性確認情報記憶部312に格納し、ユーザ認証情報の妥当性を確認する際、妥当性確認情報記憶部312に格納されている複数の妥当性確認情報のうち1つでも一致するものがあれば、妥当性確認に成功したと判断するようにしても良い。
【0049】
以上、本実施の形態では、FA(Factory Automation)システムを構成する多様な機器とその機器に対する制御プログラムやパラメータ等の保護資産の設定を行うエンジニアリング環境との間で正規ユーザからのアクセス要求かどうかを確認するオンラインユーザ認証に用いるユーザ認証情報の妥当性確認装置を説明した。
より具体的には、PLC(Programmable Logic Controller)にオンラインユーザ認証機能を持たせて認証サーバとし、PLCと同じベース(基板)上に装着されている保護資産機器へエンジニアリング環境からアクセス要求があった場合にPLCがオンラインユーザ認証処理を実施する際にPLC内に格納されているユーザ認証情報(ユーザ名とパスワード)の妥当性を確認するための装置を説明した。
【0050】
また、本実施の形態では、
エンジニアリング環境もしくは機器が保持している保護資産に対するアクセス要求やその際に正規ユーザであることを示すためのユーザ認証情報などを入力するための入力部と、
機器もしくはエンジニアリング環境に制御プログラムやパラメータ等の保護資産を格納しておくための保護資産記憶部と、
前記入力部を用いたユーザからの指示を受けて前記保護資産記憶部に格納している保護資産の読出しや前記保護資産記憶部への保護資産の書込み処理を行う保護資産アクセス処理部と、
エンジニアリング環境とPLC間もしくはPLCと保護資産機器間でデータの送受信やエンジニアリング環境からのアクセス要求内容を判別するための通信処理部と、
エンジニアリング環境内もしくは保護資産機器内の前記保護資産記憶部に格納されている保護資産へアクセスする際にアクセスしてきたユーザが正規ユーザであること確認するために予めユーザによって登録されたユーザ認証情報を格納しておくためのユーザ認証情報記憶部と、
エンジニアリング環境から保護資産機器の保護資産にアクセスする際に正規ユーザであることを入力部にてユーザが入力したユーザ認証情報とPLC内のユーザ認証情報記憶部に格納されているユーザ認証情報とを比較して同一であることを確認するためのオンラインユーザ認証処理部と、
PLCの電源をONにした時にPLC自身に対するイニシャル処理や前記通信処理部を介して保護資産機器へのパラメータ設定を実施するイニシャル処理部と、
オンラインユーザ認証や妥当性確認の際に用いる乱数を生成する乱数生成処理部と、
エンジニアリング環境とPLC間のオンラインユーザ認証処理で認証に成功したユーザからのアクセス要求であるかどうかの判別やその判別の際に用いるセッションIDの生成や管理を行うセッション管理部と、
前記ユーザ認証情報記憶部に格納されたユーザ認証情報の中から抽出したAdministrator権限を持つユーザのパスワードに基づいて妥当性確認情報を生成する妥当性確認情報生成部と、
前記妥当性確認情報生成部にて生成された妥当性確認情報を前記通信処理部を通して保護資産機器に転送し機器内部に格納する妥当性確認情報記憶部と、
前記ユーザ認証情報記憶部に格納されているユーザ認証情報の妥当性を確認するために保護資産機器内の前記乱数生成処理部で生成した乱数と前記妥当性確認情報生成部で生成した妥当性確認情報もしくは前記妥当性確認情報記憶部に格納された妥当性確認情報に基づいてハッシュ値を生成する妥当性確認用ハッシュ生成処理部と、
PLCと保護資産機器の前記妥当性確認用ハッシュ生成処理部にて生成したハッシュ値を保護資産機器側で比較してPLCのユーザ認証情報記憶部に格納されているユーザ認証情報の妥当性を確認する妥当性確認処理部と、
前記妥当性確認処理部での比較結果に基づいた妥当性確認フラグ(True/False)を格納する妥当性確認フラグ記憶部と、
前記妥当性確認処理部での比較結果に基づいて妥当性確認フラグをTrue(妥当性確認成功時)やFalse(妥当性確認失敗時)を設定し前記妥当性確認フラグ記憶部に妥当性確認フラグを書込んだり、またPLCのイニシャル処理で実施されるパラメータ設定処理を受けて妥当性確認処理の実施をPLCと保護資産機器に対して指示を出したりする妥当性確認フラグ処理部を設けた認証情報の妥当性確認装置を説明した。
【0051】
また、本実施の形態では、
FAシステムを構成する多様な機器とその機器に対する制御プログラムやパラメータ等の保護資産の設定を行うエンジニアリング環境との間で正規ユーザからのアクセス要求かどうかを確認するオンラインユーザ認証に用いるユーザ認証情報の妥当性を確認する方式において、
エンジニアリング環境と認証サーバであるPLC間でオンラインユーザ認証を実施する前にPLC内に格納されているユーザ認証情報の妥当性を、保護資産機器側が確認するためにAdministrator権限を持つユーザのパスワード情報に基づいて生成した妥当性確認情報の比較をFA機器のイニシャル処理時に実施して妥当性確認フラグを生成し、保護資産へのアクセス要求時は妥当性確認フラグのチェックによりユーザ認証情報の妥当性確認を行う認証情報の妥当性確認方式を説明した。
【0052】
実施の形態2.
本実施の形態では、PLC200内のユーザ認証情報記憶部205に格納されているユーザ認証情報に対して変更が生じた場合に保護資産機器300内の妥当性確認情報記憶部312に格納されている妥当性確認情報の更新処理をユーザ認証情報の変更に合わせて実施する機能を説明する。
【0053】
図7は、本実施の形態に係るPLC200の構成例を示す。
図7では、図3に示す構成と比較して、ユーザ認証情報変更通知部216が追加されている。他の構成要素は図3に示したものと同様である。
ユーザ認証情報変更通知部216は、ユーザ認証情報記憶部205に格納されているAdministrator権限を持つユーザのユーザ認証情報に追加/変更/削除が行われた場合に妥当性確認情報記憶部312内の妥当性確認情報の更新が必要なことを保護資産機器300へ通知する。
【0054】
図8は、本実施の形態に係る保護資産機器300の構成例を示す。
図8では、図4に示す構成と比較して、保護資産削除指示部317及び妥当性確認情報更新処理部318が追加されている。他の構成要素は図4に示したものと同様である。
保護資産削除指示部317は、ユーザ認証情報記憶部205内のユーザ認証情報を全て削除する際にユーザ認証情報変更通知部216からのユーザ認証情報の削除通知を受けて保護資産アクセス処理部303に対して保護資産記憶部302内の保護資産を削除する指示を出す。保護資産削除指示部317は情報削除部の例である。
妥当性確認情報更新処理部318は、ユーザ認証情報変更通知部216からの変更通知や削除通知を受けて妥当性確認情報記憶部312内の妥当性確認情報の更新処理や妥当性確認処理の実行指示および保護資産削除指示部317に対して全ての保護資産を削除する指示を出す。妥当性確認情報更新処理部318は検証情報更新部及び情報削除部の例である。
【0055】
なお、エンジニアリング環境PC100の構成は図2に示したものと同様である。
【0056】
次にAdministrator権限を持つユーザのユーザ認証情報の追加、パスワード変更、削除が行われた場合の妥当性確認情報を更新する際の動作について説明する。
【0057】
ユーザがエンジニアリング環境PC100の入力部101を用いてエンジニアリング環境PC100上のユーザ認証情報記憶部105に格納されているユーザのパスワード変更やユーザ認証情報の削除およびAdministrator権限を持つユーザを追加して、その変更したユーザ認証情報をPLC200に書込む指示を出す。
通信処理部104は、ユーザ認証情報の書込み指示を受けるとPLC200の通信処理部204に対してユーザ認証情報の書込み要求を出す。
この後の記述では、オンラインユーザ認証やセッションID確認が済んだ状態であることを前提とする。
通信処理部204は、ユーザ認証情報の書込み要求を受けるとユーザ認証情報変更通知部216に書込み要求を出す。
ユーザ認証情報変更通知部216は、ユーザ認証情報の書込み要求を受けると更新対象のユーザ認証情報がAdministrator権限を持つユーザのものであるかどうかをチェックし、更新対象がAdministrator権限を持つユーザのものである場合はユーザ認証情報記憶部205からAdministrator権限を持つユーザのパスワードを全て抽出し、更新対象のユーザのパスワードを変更後のパスワードに入れ替えてから妥当性確認情報生成部210に更新後のパスワードで妥当性確認情報の生成を依頼する。
妥当性確認情報生成部210は、受け取った更新後のパスワードを入力としてハッシュ関数によりハッシュ値を生成し、生成したハッシュ値を妥当性確認情報としてユーザ認証情報変更通知部216に返す。
ユーザ認証情報変更通知部216は、新たに生成した妥当性確認情報を受け取ると通信処理部204を介して通信処理部304に対して妥当性確認情報の更新要求を送信する。
【0058】
通信処理部304は、妥当性確認情報の更新要求を受けると妥当性確認情報更新処理部318に妥当性確認情報の更新処理を指示する。
妥当性確認情報更新処理部318は、更新処理の指示により現在妥当性確認情報記憶部312に格納されている妥当性確認情報を新たに生成した妥当性確認情報との入れ替えを行う。
妥当性確認情報の更新処理が完了したら妥当性確認情報更新処理部318は、ユーザ認証情報変更通知部216に更新完了を返す。
このように、妥当性確認情報更新処理部318は、正規ユーザ認証情報の管理元であるエンジニアリング環境PC100において正規ユーザ認証情報の更新が行われた際に、正規ユーザ認証情報の更新に対応させて、妥当性確認情報記憶部312に記憶されている妥当性確認情報を更新する。
【0059】
ユーザ認証情報変更通知部216は、妥当性確認情報更新処理部318からの更新完了を受けつけるとユーザ認証情報記憶部205のユーザ認証情報を更新する。
妥当性確認情報更新処理部318は、更新完了をユーザ認証情報変更通知部216に返した後に妥当性確認処理部313に対して妥当性確認処理の実行を指示する。
妥当性確認処理部313は、実行指示を受けて妥当性確認情報の有無の確認し、ユーザ認証情報の妥当性を確認して妥当性確認フラグを更新する。
妥当性確認処理部313の妥当性確認処理は、実施の形態1において、図6のS605の動作として説明した処理である。
妥当性確認処理を行うことで、妥当性確認情報更新処理部318が更新した妥当性確認情報が、ユーザ認証情報記憶部205に格納された新たなユーザ認証情報に対応していることが確認できる。
【0060】
以上の手順により、ユーザ認証情報が変更された場合でも、それに合わせて妥当性確認情報も一緒に更新することができ、常に整合性を保つことができる。
【0061】
次に、ユーザ認証情報記憶部205に格納されているユーザ認証を全て削除する場合の動作について説明する。
ユーザ認証情報を全て削除する場合、全ての保護資産を先に削除してから実施する必要がある。
ユーザ認証情報を先に全て削除してしまうと保護資産に対してアクセス制限が掛けられなくなり、制御プログラムやパラメータが外部に漏れたり改ざんされたりする危険性が出るためである。
【0062】
ユーザがエンジニアリング環境PC100の入力部101を用いてユーザ認証情報記憶部205に格納されている全てのユーザ認証情報を削除する指示を出した場合、ユーザ認証情報変更通知部216はユーザ認証情報記憶部205のユーザ認証情報を削除する前に妥当性確認情報更新処理部318に対して保護資産の削除要求を送信する。
妥当性確認情報更新処理部318は、保護資産の削除要求を受けると保護資産削除指示部317に対して保護資産記憶部302に格納されている全ての保護資産の削除を要求する。
保護資産削除指示部317は、削除要求を受けると保護資産アクセス処理部303に対して全ての保護資産の削除を指示し、保護資産アクセス処理部303はそれを受けて保護資産記憶部302内に格納されている制御プログラムやパラメータといった保護資産を全て削除して削除完了を返す。
妥当性確認情報更新処理部318は、削除完了を受けたら次に妥当性確認情報記憶部312に格納されている妥当性確認情報も削除する。
また、妥当性確認フラグ記憶部314内の妥当性確認フラグに「True」を設定するための要求を妥当性確認フラグ処理部315に指示する。
以上の処理が完了したら、妥当性確認情報更新処理部318は、ユーザ認証情報変更通知部216に全ての保護資産の削除完了を返す。
ユーザ認証情報変更通知部216は、削除完了を受けた後にユーザ認証情報記憶部205内の全てのユーザ認証情報を削除する。
これにより、ユーザ認証情報が全て削除されたことによる保護資産に対する不正アクセスを防止することができる。
【0063】
このように、妥当性確認情報更新処理部318及び保護資産削除指示部317は、PLC200が保持しているユーザ認証情報の削除が必要になった場合に、保護資産記憶部302に記憶されている保護資産を削除し、保護資産の削除後に、妥当性確認情報記憶部312に記憶されている妥当性確認情報を削除し、妥当性確認情報の削除後に、PLC200に対してユーザ認証情報の削除を指示する。
【0064】
以上、本実施の形態では、
PLC内の前記ユーザ認証情報記憶部に格納されているAdministrator権限を持つユーザのパスワードが変更された場合や新たにAdministrator権限を持つユーザを追加された場合および前記ユーザ認証情報記憶部内に格納されているユーザ認証情報を全て削除する場合に妥当性確認情報記憶部内の妥当性確認情報の更新が必要なことを保護資産機器へ通知するためのユーザ認証情報変更通知部と、
前記ユーザ認証情報変更通知部からの変更通知を受けて前記妥当性確認情報記憶部内の妥当性確認情報の更新処理を行うと共に妥当性確認情報の更新後に再度PLCと保護資産機器との間における妥当性確認処理の実行を指示する妥当性確認情報更新処理部と、
前記ユーザ認証情報記憶部内のユーザ認証情報を全て削除する場合に保護資産機器の前記保護資産記憶部に格納されている保護資産も一緒に削除する保護資産削除指示部を設けた認証情報の妥当性確認装置を説明した。
【0065】
実施の形態3.
本実施の形態では、PLC200内のユーザ認証情報記憶部205に格納されているユーザ認証情報の妥当性確認にAdministrator権限を持つユーザのユーザ認証情報のアクセス要求を受け付ける度にカウントアップするカウンタの値を用いて妥当性確認を実施する機能を説明する。
【0066】
図9は、本実施の形態に係るPLC200の構成例を示す。
図9では、図7に示す構成と比較して、カウンタ処理部219及び初期値設定部220が追加されている一方で妥当性確認情報生成部210が除かれている。なお、他の構成要素は図7に示したものと同様である。
カウンタ処理部219は、認証サーバとなるPLC200と保護資産機器300との両者でしか知らない情報としてユーザ認証情報記憶部205に格納されているAdministrator権限を持つユーザのユーザ認証情報へのアクセス要求(追加/変更/削除)を受ける度にカウンタの値をカウントアップする。
つまり、カウンタ処理部219は、正規ユーザ認証情報の管理元であるエンジニアリング環境PC100において正規ユーザ認証情報の更新(追加/変更/削除)が行われる度にエンジニアリング環境PC100における正規ユーザ認証情報の更新回数をカウントする。
なお、カウンタ処理部219は、エンジニアリング環境PC100を用いてもアクセスできない領域にカウント値を書込むこととし、ユーザはカウント値を見ることも任意の値を設定することもできないこととする。
また、カウンタ処理部219は、エンジニアリング環境PC100における正規ユーザ認証情報の更新と非同期にユーザ認証情報記憶部205のユーザ認証情報が更新された場合に、カウント値をクリアする。
また、初期値設定部220は、初めてユーザ認証情報記憶部205にユーザ認証情報を書込まれた際に初期値を生成しカウンタ処理部219に対して初期値を設定する。
なお、初期値設定部220が設定する初期値はランダム値である。
【0067】
図10は、本実施の形態に係る保護資産機器300の構成例を示す。
図10では、図3に示す構成と比較して、カウンタ処理部319及び初期値設定部320が追加されている一方で妥当性確認情報記憶部312が除かれている。なお、他の構成要素は図3に示したものと同様である。
カウンタ処理部319は、カウンタ処理部219と同様に、正規ユーザ認証情報の管理元であるエンジニアリング環境PC100において正規ユーザ認証情報の更新が行われる度にエンジニアリング環境PC100における正規ユーザ認証情報の更新回数をカウントする。
なお、カウンタ処理部319は、エンジニアリング環境PC100を用いてもアクセスできない領域にカウント値を書込むこととし、ユーザはカウント値を見ることも任意の値を設定することもできないこととする。
また、初期値設定部320は、PLC200の初期値設定部220が設定する初期値と同値のランダム値を、カウンタ処理部319によるカウントの初期値として設定する。
【0068】
なお、エンジニアリング環境PC100の構成は図2に示したものと同様である。
【0069】
次に、カウンタ処理部219、319に対して初期値を設定する動作について説明する。
ユーザがエンジニアリング環境PC100の入力部101を用いて保護資産機器300の保護資産記憶部302に保護資産の書込みを実施する際、PLC200のユーザ認証情報記憶部205にユーザ認証情報が未登録であった場合には、保護資産の書込みを実施する前にユーザ認証情報の書込み処理を先に行う。
ユーザ認証情報の書込み処理の完了後に、通信処理部204は、ユーザ認証情報記憶部205に書込んだユーザ認証情報のうちAdministrator権限を持つユーザの数を抽出し、初期値設定部220にカウンタの初期値設定を指示する。
この際、Administrator権限を持つユーザの登録数とユーザ認証情報を書込んだときのタイムスタンプを渡す。
初期値設定部220は、初期値設定の指示を受け、指示と一緒に受け取ったAdministrator権限を持つユーザの登録数とタイムスタンプを元にしてランダム性のある数値(乱数やハッシュ値)を生成し、生成した値をカウンタの初期値としてカウンタ処理部219にその初期値の設定を指示する。
カウンタ処理部219は、初期値設定の指示を受けてカウンタの初期値を設定する。
初期値設定部220は、カウンタの初期値設定が完了したら通信処理部204に設定完了を返す。
通信処理部204は、設定完了を受けると通信処理部304に対してカウンタの初期値設定要求を送信する。送信する際、要求と一緒にAdministrator権限を持つユーザの登録数とタイムスタンプも渡す。
【0070】
通信処理部304は、通信処理部204からカウンタの初期値設定要求を受けると、PLC200側での処理と同様に初期値設定部320にカウンタの初期値設定を指示し、その指示を受けた初期値設定部320はAdministrator権限を持つユーザの登録数とタイムスタンプを元にしてランダム性のある数値を生成し、生成した値をカウンタの初期値としてカウンタ処理部319にその初期値の設定を指示する。
カウンタ処理部319は、初期値設定の指示を受けてカウンタの初期値を設定する。
これにより、カウンタ処理部219とカウンタ処理部319の初期値が同値となる。
【0071】
次に、カウンタ処理部219、319のカウンタの値をカウントアップする動作について説明する。
ユーザ認証情報変更通知部216は、エンジニアリング環境PC100においてAdministrator権限を持つユーザの追加登録やAdministrator権限を持つユーザのパスワードの変更やユーザ認証情報の削除が生じた際に、エンジニアリング環境PC100からAdministrator権限を持つユーザの追加登録要求やユーザ認証情報記憶部205に格納されているAdministrator権限を持つユーザのパスワード変更要求およびユーザ認証情報の削除要求を受け、カウンタ処理部219に対してカウンタの値を1つカウントアップする指示を出すと共に保護資産機器300側のカウンタ処理部319にも同様の指示を出す。
指示を受けたカウンタ処理部219、319はカウンタの値を1つカウントアップする。
なお、このカウンタの値は、ユーザ認証情報記憶部205に格納されている全てのユーザ認証情報を削除した場合にクリアされる(0(ゼロ)を設定する)。
また、カウンタ処理部219のカウンタの値は、エンジニアリング環境PC100における正規ユーザ認証情報の更新と非同期にユーザ認証情報記憶部205のユーザ認証情報が更新された場合、つまり、エンジニアリング環境PC100からの追加登録要求、パスワード変更要求、削除要求を受信していないにも関わらずユーザ認証情報が更新された場合はクリアされる(0(ゼロ)を設定する)。
【0072】
本実施の形態では、このカウンタの値を妥当性確認情報として利用し、妥当性確認処理を実行する。
つまり、通信処理部304は、PLC200の起動の度に、PLC200でカウントされたカウント値をPLC200から受信し、妥当性確認処理部313は、通信処理部304によりカウント値が受信された場合に、受信されたカウント値とカウンタ処理部319によりカウントされたカウント値との照合を行って、PLC200が現在保持しているユーザ認証情報が正規ユーザ認証情報に一致するか否かを判定する。
エンジニアリング環境PC100における正規ユーザ認証情報の更新に同期してPLC200のユーザ認証情報が更新されている限りは、カウンタ処理部219のカウント値とカウンタ処理部319のカウント値は一致する。一方で、エンジニアリング環境PC100での更新に同期せずにPLC200のユーザ認証情報が更新された場合は、カウンタ処理部219のカウント値がクリアされるので、カウンタ処理部219のカウント値とカウンタ処理部319のカウント値は一致しない。
このため、妥当性確認処理部313は、PLC200の起動の度にカウント値を比較し、カウント値が一致すれば、PLC200のユーザ認証情報は正規ユーザ認証情報と一致すると判定し、一方、カウント値が一致しない場合は、PLC200のユーザ認証情報は正規ユーザ認証情報と一致しないと判定する。
妥当性確認処理部313の判定結果は実施の形態1と同様に、妥当性確認フラグに設定される。
また、妥当性確認フラグ処理部315は、実施の形態1と同様に、妥当性確認フラグの値(True/False)に基づいて、アクセス要求に対する許否判断を行う。
【0073】
これにより、ランダム性のある値を初期値としてカウンタに設定し、特定のアクセス要求を受けた場合にのみカウンタの値をカウントアップすることで、PLC200と保護資産機器300の両者のみが知りうる値による妥当性確認を行うことによって、悪意を持ったユーザによるユーザ認証情報の書替えに対する不正アクセスを防止することができる。
【0074】
なお、以上では、エンジニアリング環境PC100からのユーザ認証情報への更新要求に対応させてカウンタ処理部219及びカウンタ処理部319がカウントアップする例を説明したが、これに加えて、保護資産機器300の保護資産記憶部302に格納されている保護資産へのアクセス要求(書込み/読出し)があった場合にもカウンタ処理部219及びカウンタ処理部319がカウントアップするようにしてもよい。
【0075】
以上、本実施の形態では、
妥当性確認情報記憶部に格納した妥当性確認情報の代わりにPLCと保護資産機器のみが共通して保持している情報を用いてユーザ認証情報の妥当性を確認する装置であって、
PLCのユーザ認証情報記憶部に格納されているAdministrator権限を持つユーザのユーザ認証情報に対するアクセス要求(追加/変更/削除)や保護資産機器の保護資産記憶部に格納されている保護資産のアクセス要求(書込み/読出し)を受け付ける度にカウンタの値をカウントアップするカウンタ処理部と、
前記カウンタ処理部に対する初期値をユーザ認証情報記憶部に格納したAdministrator権限を持つユーザの登録数やタイムスタンプに基づいて生成し設定を行う初期値設定部を設けた認証情報の妥当性確認装置を説明した。
【符号の説明】
【0076】
100 エンジニアリング環境PC、101 入力部、102 保護資産記憶部、103 保護資産アクセス処理部、104 通信処理部、105 ユーザ認証情報記憶部、106 オンラインユーザ認証処理部、200 PLC、204 通信処理部、205 ユーザ認証情報記憶部、206 オンラインユーザ認証処理部、207 イニシャル処理部、208 乱数生成処理部、209 セッション管理部、210 妥当性確認情報生成部、211 妥当性確認用ハッシュ生成処理部、216 ユーザ認証情報変更通知部、219 カウンタ処理部、220 初期値設定部、300 保護資産機器、302 保護資産記憶部、303 保護資産アクセス処理部、304 通信処理部、308 乱数生成処理部、311 妥当性確認用ハッシュ生成処理部、312 妥当性確認情報記憶部、313 妥当性確認処理部、314 妥当性確認フラグ記憶部、315 妥当性確認フラグ処理部、317 保護資産削除指示部、318 妥当性確認情報更新処理部、319 カウンタ処理部、320 初期値設定部。

【特許請求の範囲】
【請求項1】
ユーザ認証情報を保持し、保持しているユーザ認証情報を用いて保護対象情報へのアクセス要求に対する認証処理を行う認証装置であって、保護対象情報へのアクセス権限がある正規ユーザのユーザ認証情報である正規ユーザ認証情報が初期設定のユーザ認証情報である認証装置に接続され、
前記保護対象情報を記憶する保護対象情報記憶部と、
正規ユーザ認証情報又は正規ユーザ認証情報の少なくとも一部から生成された情報を検証情報として記憶する検証情報記憶部と、
前記認証装置の起動の際に、前記認証装置が保持している保持ユーザ認証情報又は保持ユーザ認証情報の少なくとも一部から生成された情報を被検証情報として前記認証装置から受信する通信処理部と、
前記通信処理部により被検証情報が受信された場合に、検証情報と被検証情報との照合を行って、前記認証装置が保持している保持ユーザ認証情報が正規ユーザ認証情報に一致するか否かを判定するユーザ認証情報検証部とを有することを特徴とする情報機器。
【請求項2】
前記情報機器は、更に、
前記ユーザ認証情報検証部により保持ユーザ認証情報が正規ユーザ認証情報に一致すると判定された場合に、前記認証装置に対して保持ユーザ認証情報を用いた認証処理を許可し、前記ユーザ認証情報検証部により保持ユーザ認証情報が正規ユーザ認証情報に一致しないと判定された場合に、前記認証装置を経由したアクセス要求を拒絶する認証制御部を有することを特徴とする請求項1に記載の情報機器。
【請求項3】
前記通信処理部は、
前記認証装置が起動する度に、前記認証装置から被検証情報を受信し、
前記ユーザ認証情報検証部は、
前記通信処理部により被検証情報が受信される度に、検証情報と被検証情報との照合を行って、前記認証装置が保持している保持ユーザ認証情報が正規ユーザ認証情報に一致するか否かを判定することを特徴とする請求項1又は2に記載の情報機器。
【請求項4】
前記情報機器は、
保持ユーザ認証情報の少なくとも一部に対して一方向演算を行って生成された情報を確認情報として保持している認証装置に接続され、
前記検証情報記憶部は、
正規ユーザ認証情報の少なくとも一部に対して一方向演算を行って生成された情報を検証情報として記憶し、
前記ユーザ認証情報検証部は、
前記認証装置が起動する度に、乱数を生成するとともに、生成した乱数を用いて検証情報に対して一方向演算を行い、
前記通信処理部は、
前記ユーザ認証情報検証部により生成された乱数を前記認証装置に送信し、前記認証装置において当該乱数を用いて確認情報に対して一方向演算を行って生成された情報を被検証情報として前記認証装置から受信し、
前記ユーザ認証情報検証部は、
前記通信処理部により被検証情報が受信される度に、検証情報に対して一方向演算を行って生成された情報と被検証情報とを比較して、前記認証装置が保持している保持ユーザ認証情報が正規ユーザ認証情報に一致するか否かを判定することを特徴とする請求項1〜3のいずれかに記載の情報機器。
【請求項5】
前記情報機器は、更に、
正規ユーザ認証情報の管理元において正規ユーザ認証情報の更新が行われた際に、正規ユーザ認証情報の更新に対応させて、前記検証情報記憶部に記憶されている検証情報を更新する検証情報更新部を有することを特徴とする請求項1〜4のいずれかに記載の情報機器。
【請求項6】
前記情報機器は、更に、
前記認証装置が保持している保持ユーザ認証情報の削除が必要になった場合に、前記保護対象情報記憶部に記憶されている保護対象情報を削除し、保護対象情報の削除後に、前記検証情報記憶部に記憶されている検証情報を削除し、検証情報の削除後に、前記認証装置に対して保持ユーザ認証情報の削除を指示する情報削除部を有することを特徴とする請求項1〜5のいずれかに記載の情報機器。
【請求項7】
ユーザ認証情報を保持し、保持しているユーザ認証情報を用いて保護対象情報へのアクセス要求に対する認証処理を行う認証装置であって、保護対象情報へのアクセス権限がある正規ユーザのユーザ認証情報である正規ユーザ認証情報が初期設定のユーザ認証情報であり、正規ユーザ認証情報の管理元において正規ユーザ認証情報の更新が行われる度に正規ユーザ認証情報の管理元における正規ユーザ認証情報の更新に対応させて保持している保持ユーザ認証情報を更新するとともに正規ユーザ認証情報の管理元における正規ユーザ認証情報の更新回数をカウントする認証装置に接続され、
前記保護対象情報を記憶する保護対象情報記憶部と、
正規ユーザ認証情報の管理元において正規ユーザ認証情報の更新が行われる度に正規ユーザ認証情報の管理元における正規ユーザ認証情報の更新回数をカウントするカウンタ処理部と、
前記認証装置の起動の際に、前記認証装置でカウントされたカウント値を前記認証装置から受信する通信処理部と、
前記通信処理部によりカウント値が受信された場合に、受信されたカウント値と前記カウンタ処理部によりカウントされたカウント値との照合を行って、前記認証装置が現在保持している保持ユーザ認証情報が正規ユーザ認証情報に一致するか否かを判定するユーザ認証情報検証部とを有することを特徴とする情報機器。
【請求項8】
前記情報機器は、
正規ユーザ認証情報の管理元における正規ユーザ認証情報の更新と非同期に保持ユーザ認証情報が更新された場合に、カウント値がクリアされる認証装置に接続されていることを特徴とする請求項7に記載の情報機器。
【請求項9】
前記情報機器は、更に、
前記認証装置におけるカウントの初期値と同値のランダム値を、前記カウンタ処理部によるカウントの初期値として設定する初期値設定部を有することを特徴とする請求項7又は8に記載の情報機器。
【請求項10】
前記情報機器は、更に、
前記ユーザ認証情報検証部により保持ユーザ認証情報が正規ユーザ認証情報に一致すると判定された場合に、前記認証装置に対して保持ユーザ認証情報を用いた認証処理を許可し、前記ユーザ認証情報検証部により保持ユーザ認証情報が正規ユーザ認証情報に一致しないと判定された場合に、前記認証装置を経由したアクセス要求を拒絶する認証制御部を有することを特徴とする請求項7〜9のいずれかに記載の情報機器。
【請求項11】
前記情報機器は、
PLC(Programmable Logic Controller)に接続されているFA(Factory Automation)機器であることを特徴とする請求項1〜10のいずれかに記載の情報機器。

【図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


【公開番号】特開2010−250405(P2010−250405A)
【公開日】平成22年11月4日(2010.11.4)
【国際特許分類】
【出願番号】特願2009−96734(P2009−96734)
【出願日】平成21年4月13日(2009.4.13)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】