(57)【要約】  実施の形態のプログラマブルロジックコントローラ１００は、マスタユニット１１０と１つ以上のスレーブユニット１２０、１３０、１４０、１５０、１６０とを備える。前記マスタユニット１１０は、前記スレーブユニット１２０、１３０、１４０、１５０、１６０に割り付けられたＩＯ番号を管理する編成情報テーブル１１１ａを有し、前記マスタユニット１１０に設定されたパスワードを分割したパスワード分割データから前記スレーブユニット１２０、１３０、１４０、１５０、１６０に割り付けられたＩＯ番号を用いてパスワード分散情報１２１ａ、１３１ａ、１４１ａ、１５１ａ、１６１ａを生成し、前記スレーブユニット１２０、１３０、１４０、１５０、１６０は、前記マスタユニット１１０から送付された前記パスワード分散情報１２１ａ、１３１ａ、１４１ａ、１５１ａ、１６１ａを保存する。
2012111117.tif 000002
【特許請求の範囲】
【請求項１】
マスタユニットと１つ以上のスレーブユニットとを備えたプログラマブルロジックコントローラであって、
前記マスタユニットは、前記スレーブユニットに割り付けられたＩＯ番号を管理する編成情報テーブルを有し、前記マスタユニットに設定されたパスワードを分割したパスワード分割データから前記スレーブユニットに割り付けられたＩＯ番号を用いてパスワード分散情報を生成し、
前記スレーブユニットは、前記マスタユニットから送付された前記パスワード分散情報を保存する
ことを特徴とするプログラマブルロジックコントローラ。
【請求項２】
前記マスタユニットは、前記マスタユニットに設定されたパスワードを分割したパスワード分割データから前記マスタユニットに割り付けられたＩＯ番号を用いて自己パスワード分散情報を生成して保存する
ことを特徴とする請求項１に記載のプログラマブルロジックコントローラ。
【請求項３】
前記スレーブユニットが新たなスレーブユニットと交換された場合は、
前記マスタユニットが保持している第１交換用パスワードと前記新たなスレーブユニットが保持している第２交換用パスワードが一致する場合にのみ、前記マスタユニットは交換された前記スレーブユニットが保存していた前記パスワード分散情報を前記新たなスレーブユニットに送付する
ことを特徴とする請求項１または２に記載のプログラマブルロジックコントローラ。
【請求項４】
前記スレーブユニットが前記新たなスレーブユニットと交換された場合は、
前記マスタユニットは、交換されなかった前記スレーブユニットが保存していた前記パスワード分散情報を収集し、それに基づいて前記新たなスレーブユニットに送付する前記パスワード分散情報を生成する
ことを特徴とする請求項３に記載のプログラマブルロジックコントローラ。
【請求項５】
前記マスタユニットが保持している前記第１交換用パスワードと前記新たなスレーブユニットが保持している前記第２交換用パスワードが一致する場合は、前記新たなスレーブユニットから前記第２交換用パスワードを削除する
ことを特徴とする請求項３または４に記載のプログラマブルロジックコントローラ。
【請求項６】
前記マスタユニットに設定されたパスワードを、(ｋ，ｎ)閾値秘密分散法により分割してパスワード分割データを生成する
ことを特徴とする請求項１〜５のいずれか１項に記載のプログラマブルロジックコントローラ。
【請求項７】
マスタユニットと１つ以上のスレーブユニットとを備えたプログラマブルロジックコントローラのパスワード保存方法であって、
前記マスタユニットは、前記マスタユニットに設定されたパスワードを分割してパスワード分割データを生成し、
前記マスタユニットは、自己が管理している前記スレーブユニットに割り付けられたＩＯ番号を用いて、前記パスワード分割データからパスワード分散情報を生成し、
前記マスタユニットは、前記パスワード分散情報を前記スレーブユニットに送付し、
前記スレーブユニットは、前記マスタユニットから送付された前記パスワード分散情報を保存する
ことを特徴とするプログラマブルロジックコントローラのパスワード保存方法。
【請求項８】
前記マスタユニットは、前記マスタユニットに割り付けられたＩＯ番号を用いて、前記パスワード分割データから自己パスワード分散情報を生成して保存する
ことを特徴とする請求項７に記載のプログラマブルロジックコントローラのパスワード保存方法。
【請求項９】
前記スレーブユニットが新たなスレーブユニットと交換された場合は、
前記マスタユニットが保持している第１交換用パスワードと前記新たなスレーブユニットが保持している第２交換用パスワードが一致するか否か判定し、
一致する場合にのみ、前記マスタユニットは交換された前記スレーブユニットが保存していた前記パスワード分散情報を前記新たなスレーブユニットに送付する
ことを特徴とする請求項７または８に記載のプログラマブルロジックコントローラのパスワード保存方法。
【請求項１０】
前記スレーブユニットが前記新たなスレーブユニットと交換された場合は、
前記マスタユニットは、交換されなかった前記スレーブユニットが保存していた前記パスワード分散情報を収集し、それに基づいて前記新たなスレーブユニットに送付する前記パスワード分散情報を生成する
ことを特徴とする請求項９に記載のプログラマブルロジックコントローラのパスワード保存方法。
【請求項１１】
前記マスタユニットが保持している前記第１交換用パスワードと前記新たなスレーブユニットが保持している前記第２交換用パスワードが一致する場合は、前記新たなスレーブユニットから前記第２交換用パスワードを削除する
ことを特徴とする請求項９または１０に記載のプログラマブルロジックコントローラのパスワード保存方法。
【請求項１２】
前記マスタユニットに設定されたパスワードを、(ｋ，ｎ)閾値秘密分散法により分割してパスワード分割データを生成する
ことを特徴とする請求項７〜１１のいずれか１項に記載のプログラマブルロジックコントローラのパスワード保存方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックコントローラを用いた制御システムのパスワード流出を防止する技術に関するものである。
【背景技術】
【０００２】
従来から、マイクロプロセッサを内蔵して、操作スイッチや各種センサなどの入力信号の状態と、プログラムメモリに格納されているシーケンスプログラムとに応動して、各種アクチュエータや表示機器などの電気負荷の駆動制御を行うプログラマブルロジックコントローラ(Programmable Logic Controller:ＰＬＣ)はよく知られている。【０００３】
ＰＬＣの各ユニット(ＰＬＣユニット)において、入力インタフェース回路を内蔵した入力ユニットと、出力インタフェース回路を内蔵した出力ユニットと、シーケンスプログラムに基づき入力ユニットや出力ユニット等を制御する基本ユニットと、からなる複数のユニットは、相互にバス接続された複数のコネクタを有するマザーボード台板上(ベースユニット)の各コネクタに接続されるか、または、互いのバスコネクタを連結し相互にバス接続されるなど、各ユニットが簡単に装着あるいは取り外しをして様々な組合せで接続できる構造形態のものが広く実用化されている。【０００４】
また、上記のような各種形態のＰＬＣユニットにおいては、システム管理者以外のものがＰＬＣユニットのシーケンスプログラムや設定情報等の内部データを変更または盗用できないよう、様々な内部データの保護手段が提案されている。【０００５】
内部データの保護手段として、従来、システム管理者がＰＬＣユニットから内部データを変更もしくは読み出す際、ＰＬＣユニットは自身に設定されたパスワード情報と、システム管理者がパソコンツール等から入力したパスワード情報との照合を行い、要求元がシステム管理者であるか否かを判別する方法がある。【０００６】
この時にＰＬＣに設定されたパスワード情報の保存先としてＰＬＣユニット自身単体に保存する方法や、ＰＬＣユニットのパスワード情報を断片化して他のＰＬＣユニットに保存する方法等がある。認証情報をＰＬＣユニット自身単体で保存する方法はデータの保存という観点からはごく自然な手法である。一方、認証情報を断片化して分散保存する方法は(ｋ，ｎ)閾値秘密分散法などが知られており(非特許文献１参照)、この方法をＰＬＣへ適用することは容易である。【０００７】
一方でＰＬＣユニットは故障や、断線や、ユニット抜けに備えて、システム上における他のＰＬＣユニットの脱着を検知する仕組みを一般的に備えている。【０００８】
このような仕組みに加え、近年ではさらに、システムの稼働中にＰＬＣユニットが故障しても、システムを停止させずにそのＰＬＣユニットと同じ種類のＰＬＣユニットに交換することにより、故障前と変化のない動作が可能となることが求められている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８-９７３６９号公報
【非特許文献】
【００１０】
【非特許文献１】Ａ．Ｓｈａｍｉｒ，“Ｈｏｗ  ｔｏ  Ｓｈａｒｅ  ａ  Ｓｅｃｒｅｔ，”Ｃｏｍｍｕｎ．ＡＣＭ，  ｖｏｌ．２２  ｎｏ．１１  ｐｐ．６１２−６１３，  １９７９．）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述したように、従来の技術によればＰＬＣユニットが他のユニットのユニット抜けやユニットの装着を検出することが可能である。しかし、いままで制御システム上の交換対象ではないＰＬＣユニット(交換対象外ユニット)は、交換対象であるスロット番号に装着されていたＰＬＣユニット(交換前のユニット)から交換後のＰＬＣユニット(交換後のユニット)に置き換えられた際、交換後のユニットが制御システム管理者の意図した装着であるか否かを判別していなかった。つまり、システム管理者が制御システム上で稼働させたいＰＬＣユニット(正規のユニット)であるか、システム管理者がシステム上で稼働を意図していないＰＬＣユニット(非正規のユニット)であるかを判別していないため、制御システムにユニットの交換によって非正規のユニットが混入するという問題があった。【００１２】
また、ＰＬＣユニットが自身のパスワード情報をｎ個(ｎは０を含めない自然数)に分割したデータ(パスワード分割データ)の内、ｋ個以上のパスワード分割データ(ｋはｎ以下の０を除いた自然数)が揃うことで、そのＰＬＣユニットのパスワード情報を復元できる場合がある。【００１３】
例えば、そのような復元方法としては上述した(ｋ，ｎ)閾値秘密分散法をなどがある。この方法を用いた場合、(ｋ，ｎ)閾値秘密分散法によって生成したパスワード分割データを他のＰＬＣユニットに保存することになるが、交換前のユニットにもパスワード分割データが保存されていているので、ユニットの交換を行う度にパスワード分割データが少なくなり、ユニットの交換を繰り返した際にパスワード分割データの減少を防ぐことが必要となる。【００１４】
システム管理者は、ユニットの交換を行うごとに、制御システム上に残存するパスワード分割データから(ｋ，ｎ)閾値秘密分散法によってパスワード情報を復元し、再度(ｋ，ｎ)閾値秘密分散法によってパスワード分割データを作り、交換後のユニットを含む制御システム上のＰＬＣユニットに分散して保存したいと考える。この時、交換前のユニットに保存していたパスワード分割データと交換後のユニットに保存するパスワード分割データとが同じではない場合にあって、悪意のある作業者が任意のスロット番号を選び、そのスロット番号に対して、パスワード情報を盗むためにプログラムされたＰＬＣユニット(悪意のあるユニット)の脱着を繰り返したとき、悪意のあるユニットに送付されるパスワード分割データのデータ量が増える一方となる。【００１５】
その結果、悪意のあるユニットは取得したパスワード分割データに(ｋ，ｎ)閾値秘密分散法を用いて最終的にはパスワード情報を復元できるようになることが問題となる。係る状況においては、制御システム上のＰＬＣユニットは自身のパスワード情報を制御システム上の他のＰＬＣユニットに分散して保存するにあたって、悪意のあるＰＬＣユニットにパスワードを収集されることのないようにしなければならない。【００１６】
例えば、自身のパスワード分割データを制御システム上の複数の他のＰＬＣユニットに分散して保存するＰＬＣユニット(パスワードを分散して保存するＰＬＣユニット)は、パスワード分割データを実際に保管する他のＰＬＣユニットに送ることが必要とある。この際、パスワード分割データが例えばパスワード情報を単純に分割したデータである場合、パスワード分割データを保管するＰＬＣユニットがパスワード分割データを悪意のある作業者に抜き取られたり、パスワードを分散して保存するＰＬＣユニットが誤って制御システムに混入した悪意のあるユニットにパスワード分割データを送ってしまった場合、たとえパスワード情報の一部であってもそれが外部に流出してしまうことになる。【００１７】
このような事態を防ぐためには、パスワード情報を分割してシステム上の他のＰＬＣユニットに分散して保存するＰＬＣユニットは、パスワード情報を分割する前にパスワード情報を他のＰＬＣユニットが解読できない情報に変換する必要がある。あるいはパスワード情報を分割した後にパスワードの断片情報を他のＰＬＣユニットが解読できない情報に変換する必要がある。いずれの場合でも変換に用いる鍵となるデータはパスワード情報を他のＰＬＣユニットに分割保存するＰＬＣユニットがシステム上で唯一知る情報でなければ意味がない。【００１８】
従って、パスワードを分散して保存するＰＬＣユニットにとって、自身のパスワード分割データを保管するＰＬＣユニットのユニット交換、ユニット交換の方法を悪用され悪意のあるユニットに置き換えられること、或いはユニットの盗難などによるユニット交換により交換後のユニットがシステム管理者の意図したユニットでないときに、誤ってパスワード分割データを送付してしまうことに対する対策が必要である。さらには、悪意のあるユニットが様々な種類のパスワード分割データを収集し((ｋ，ｎ)閾値秘密分散法の場合、ｋ個のパスワード分割データに相当するデータを収集された場合)パスワード情報を復元してしまうことや、ユニットの盗難によって当該ユニット内部のパスワード分割データが簡単に流出してしまう問題に対して対策を講じなければならないという課題があった。【００１９】
本発明は、上記に鑑みてなされたものであって、分散保存したパスワードの流出防止に有効なプログラマブルロジックコントローラ、およびプログラマブルロジックコントローラのパスワード保存方法を得ることを目的とする。
【課題を解決するための手段】
【００２０】
上述した課題を解決し、目的を達成するために、本発明は、マスタユニットと１つ以上のスレーブユニットとを備えたプログラマブルロジックコントローラであって、前記マスタユニットは、前記スレーブユニットに割り付けられたＩＯ番号を管理する編成情報テーブルを有し、前記マスタユニットに設定されたパスワードを分割したパスワード分割データから前記スレーブユニットに割り付けられたＩＯ番号を用いてパスワード分散情報を生成し、前記スレーブユニットは、前記マスタユニットから送付された前記パスワード分散情報を保存することを特徴とする。
【発明の効果】
【００２１】
この発明によれば、パスワード情報の流出を防ぐことによりシステム管理者のパスワード管理のコストを低減するという効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】図１は、この発明の実施の形態にかかるプログラマブルロジックコントローラの全体構成を示すブロック図である。
【図２】図２は、この発明の実施の形態によるユニット交換時のフローチャートである。
【発明を実施するための形態】
【００２３】
以下に、本発明にかかるプログラマブルロジックコントローラ、およびプログラマブルロジックコントローラのパスワード保存方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００２４】
実施の形態
以下、図面を参照しながら、この発明の実施の形態について詳細に説明する。図１はこの発明の実施形態にかかるプログラマブルロジックコントローラ１００の全体構成を示すブロック図である。
【００２５】
<ユニット交換前の状態>
図１において、プログラマブルロジックコントローラ１００は、基本ユニット１１０（マスタユニット）、複数の入力ユニット１２０、１４０、１６０、および複数の出力ユニット１３０、１５０を備えている。ここでは、入力ユニット１２０、１４０、１６０と、出力ユニット１３０、１５０とを総称して、入出力ユニットまたはスレーブユニットという。
【００２６】
基本ユニット１１０はベースユニット１８０のスロット１８１ａの脱着コネクタに装着されており、ベースユニット１８０の他のスロット１８１ｂ、１８１ｃ、１８１ｄ、１８１ｅ、１８１ｆの脱着コネクタに接続されている入出力ユニット（スレーブユニット）１２０、１３０、１４０、１５０、１６０の制御や入出力ユニット１２０、１３０、１４０、１５０、１６０の脱着の検知をベースユニット１８０と協同して行うようになっている。
【００２７】
基本ユニット１１０の内部には、ＭＰＵ１１４と、補助記憶装置となるメモリ(ＲＯＭ)１１１と、主記憶装置(ＲＡＭ)１１２と、ユニット間の通信のためのデータバスインターフェース１１３とが設けられている。
【００２８】
入力ユニット１２０、１４０、１６０は、ベースユニット１８０のスロット１８１ｂ、１８１ｄ、１８１ｆにそれぞれ装着され（入力ユニット１２０はスロット１８１ｂに、入力ユニット１４０はスロット１８１ｄに、入力ユニット１６０はスロット１８１ｆにそれぞれ装着）、ベースユニット１８０を介して基本ユニット１１０に接続されている。
【００２９】
入力ユニット１２０には、入力端子台（図示せず）を介して、外部の開閉信号/アナログ信号等１９１が入力され入力Ｉ/Ｆ(ＭＰＵも含む)１２２に接続されている。入力ユニット１４０には、入力端子台（図示せず）を介して、外部の開閉信号/アナログ信号等１９３が入力され入力Ｉ/Ｆ(ＭＰＵも含む)１４２に接続されている。入力ユニット１６０には、入力端子台（図示せず）を介して、外部の開閉信号/アナログ信号等１９４が入力され入力Ｉ/Ｆ(ＭＰＵも含む)１６２に接続されている。
【００３０】
入力ユニット１２０は、入力Ｉ/Ｆ(ＭＰＵも含む)１２２と、補助記憶装置であるメモリ(ＲＯＭ)１２１と主記憶装置(ＲＡＭ)１２３とデータバスＩ／Ｆ１２４が設けられている。入力ユニット１４０、１６０も図１に示すようにそれぞれ同様な構成となっている。
【００３１】
出力ユニット１３０は、出力Ｉ／Ｆ(ＭＰＵも含む)１３２と補助記憶装置であるメモリ(ＲＯＭ)１３１と主記憶装置(ＲＡＭ)１３３とデータバスＩ／Ｆ１３４が設けられている。出力ユニット１５０、および後に出力ユニット１５０と交換する出力ユニット１７０も図１に示すようにそれぞれ同様な構成となっている。出力ユニット１３０には、出力端子台（図示せず）を介して、外部負荷/アナログ負荷等１９２が出力Ｉ/Ｆ(ＭＰＵも含む)１３２に接続されている。
【００３２】
基本ユニット１１０のメモリ(ＲＯＭ)１１１に保持されている編成情報１１１ａは、スロット１８１ｂのスロット番号及びスロット１８１ｂに割り当てられた先頭ＩＯ番号と、スロット１８１ｃのスロット番号及びスロット１８１ｃに割り当てられた先頭ＩＯ番号と、スロット１８１ｄ及びスロット１８１ｄに割り当てられた先頭ＩＯ番号と、スロット１８１ｅのスロット番号及びスロット１８１ｅに割り当てられた先頭ＩＯ番号と、スロット１８１ｆのスロット番号及びスロット１８１ｆに割り当てられた先頭ＩＯ番号と、を格納するデータ群（編成情報テーブル）である。
【００３３】
パスワード分散情報１１１ｃはシステムへの認証（例えばエンジニアリングツールからＰＬＣユニット内のデータを読み出すための認証等）に使用する基本ユニット１１０自身に設定されたパスワード情報を、例えば(ｋ，ｎ)秘密分散法によって分割したパスワード分割データに基本ユニット１１０の先頭ＩＯ番号を用いて生成された可逆データ(パスワード分散保存用データ)である。パスワード分散情報１１１ｃは基本ユニット１１０に割り付けられた先頭ＩＯ番号によって元のパスワード分割データに戻すことができる。
【００３４】
交換用パスワード１１１ｂは交換に際し、基本ユニット１１０が交換後のユニットに対して、ユニットの交換がシステム管理者によって意図された交換であるか否かを判別するためのデータである。
【００３５】
パスワード分散情報１２１ａは、パスワード分散情報１１１ｃと同様にシステムへの認証に使用する基本ユニット１１０に設定されたパスワード情報を(ｋ，ｎ)秘密分散法によって分割したパスワード分割データに入力ユニット１２０の先頭ＩＯ番号を用いて基本ユニット１１０内で生成され、入力ユニット１２０へ送信された可逆データ(パスワード分散保存用データ)である。
【００３６】
パスワード分散情報１３１ａ、１４１ａ、１５１ａ、１６１ａも同様に、システムへの認証に使用する基本ユニット１１０に設定されたパスワード情報を(ｋ，ｎ)秘密分散法によって分割したパスワード分割データにそれぞれの入出力ユニット１３０、１４０、１５０、１６０の先頭ＩＯ番号を用いて基本ユニット１１０内で生成され、それぞれの入出力ユニット１３０、１４０、１５０、１６０にそれぞれに送付された可逆データ(パスワード分散保存用データ)である。
【００３７】
出力ユニット１５０は稼働中のシステムにおいて交換されるユニットで、上述した交換前のユニットに相当する。
【００３８】
出力ユニット１７０は出力ユニット１５０に代わって交換後にシステムに追加されるユニットで、上述した交換後のユニットに相当する。
【００３９】
交換用パスワード１７１ｂは、ユニットの交換の際に、出力ユニット１７０がシステム管理者によって意図して交換されたユニットであるか否かを基本ユニット１１０が判別するためのパスワード情報である。
【００４０】
<ユニット交換のフロー>
次に、図２のフローチャートを参照しながら図１に示したプログラマブルロジックコントローラ１００における実施形態によるユニット交換時の動作について詳細な説明をする。図２のフローチャートは基本ユニット１１０内での動作に関する。図１に示した出力ユニット１７０が図２のフローチャートにおける「交換後のユニット」に相当し、出力ユニット１５０が図２の「交換前のユニット」に相当し、スロット１８１ｅが図２の「交換対象スロット」に相当する。
【００４１】
まず、ステップＳ２００において、基本ユニット１１０がベースユニット１８０から、「交換対象スロット」のスロット番号においてＰＬＣユニット（出力ユニット１５０）が取り外されたこと、および新たにＰＬＣユニット（出力ユニット１７０）が装着されたことを検知する。
【００４２】
その後、ステップＳ２１０において、交換後のユニット（出力ユニット１７０）内の交換用パスワード１７１ｂを基本ユニット１１０が読み込む。
【００４３】
次に、ステップＳ２２０において、ステップＳ２１０で交換後の出力ユニット１７０よりリードした交換用パスワード１７１ｂと基本ユニット１１０内に保存されている交換用パスワード１１１ｂとが一致するか否かを基本ユニット１１０が判定する。一致する場合（ステップＳ２２０：Ｙｅｓ）はステップＳ２３０に進む。一致しない場合（ステップＳ２２０：Ｎｏ）はステップＳ２９０に進む。なお、ステップＳ２１０において交換後のユニット（出力ユニット１７０）から交換用パスワードを読み取ることができなかった場合についても、パスワードが一致しなかった（ステップＳ２２０：Ｎｏ）と判定を下し、ステップＳ２９０へ進む。
【００４４】
ステップＳ２３０では、装着した交換後の出力ユニット１７０がシステム管理者の意図した装着によるユニットであるとステップＳ２２０にて判断しているので、交換用パスワードの流出を防ぐために交換後のユニット内に保存されている交換用パスワード１７１ｂを削除する。
【００４５】
次に、ステップＳ２４０では、交換対象スロット１８１ｅ以外のスロットである交換対象外スロット番号のスロットに装着されたユニット内に保存されているパスワード分散情報を基本ユニット１１０が収集する。図１の場合、交換対象外スロット番号のスロットとはスロット１８１ｂ、１８１ｃ、１８１ｄ、１８１ｆであり、それらに装着されたユニットとは、入出力ユニット１２０、１３０、１４０、１６０である。従って、基本ユニット１１０は、パスワード分散情報１２１ａ、１３１ａ、１４１ａ、１６１ａを収集する。
【００４６】
次に、基本ユニット１１０はステップＳ２５０において、交換対象外スロット番号のスロットに装着されたユニットから収集した各パスワード分散情報１２１ａ、１３１ａ、１４１ａ、１６１ａを編成情報１１１ａ内にある先頭ＩＯ番号を利用しパスワード分割データに復元し、さらに(ｋ，ｎ)閾値秘密分散法を利用し、パスワード情報の復元を試みる。
【００４７】
ステップＳ２４０で収集できたパスワード分散情報の個数がｋ個に満たない場合、(ｋ，ｎ)閾値秘密分散法ではパスワード情報を復元する事ができない（ステップＳ２５０：Ｎｏ）。この場合はステップＳ２９０へ進む。パスワード情報の復元ができた場合は（ステップＳ２５０：Ｙｅｓ）、ステップＳ２６０に進む。
【００４８】
ステップＳ２６０では、基本ユニット１１０にて、編成情報１１１ａより交換対象スロット１８１ｅのスロット番号に割り付けている先頭ＩＯ番号を読み出す。
【００４９】
次に、ステップＳ２７０にて、(ｋ，ｎ)閾値秘密分散法を用いてステップＳ２５０で復元したパスワード情報をパスワード分割データとして分割し、ステップＳ２６０で読み出した交換対象スロット番号に割り付けている先頭ＩＯ番号を用いて、交換前のユニット（出力ユニット１５０）に送付したパスワード分散情報を生成する。
【００５０】
そして、ステップＳ２８０にて、ステップＳ２７０で生成したパスワード分散情報を交換後のユニット（出力ユニット１７０）へ送信して、ステップＳ２９０へ進む。
【００５１】
ステップＳ２９０は、認証判定終了を示す。
【００５２】
なお、上記実施の形態においては、パスワードを分割する手法として(ｋ，ｎ)閾値秘密分散法を用いてパスワード分割データを生成する例について説明したが、パスワードを分散して保存するＰＬＣにおいて使用するパスワードの分割方法としては、(ｋ，ｎ)閾値秘密分散法に限定されない。あるＰＬＣユニットのパスワード情報がｎ個(ｎは０を含めない自然数)のデータに分割された場合に、ｎ個のデータ(パスワード分割データ)の内、ｋ個のパスワード分割データ(ｋはｎ以下の０を含めない自然数)が揃うことで、当該ＰＬＣユニットのパスワード情報を復元できる方法であれば，(ｋ，ｎ)閾値秘密分散法以外の手法でも上記実施の形態と同様に実施可能である。
【００５３】
以上説明したように、この発明の実施の形態にかかるプログラマブルロジックコントローラのパスワード保存方法は、基本ユニットと基本ユニットに対して着脱自在に接続される複数の入出力ユニットとを備えたプログラマブルロジックコントローラにおいて、シーケンサプログラムや設定情報を保護するため基本ユニットに設定されたパスワードをシステム内の他のユニットに、例えば閾値秘密分散法などの手法を用いて生成したパスワード分割データを分散保存する。
【００５４】
実施の形態にかかるプログラマブルロジックコントローラのパスワード保存方法は、システム内でユニット交換が発生した場合において、パスワードの流出を低減するための技術であり、パスワードの流出を低減できるということはシステム管理者のパスワード管理コストを低減できることを意味し、ひいてはそのパスワードで保護しているデータの流出の危険を低減することが可能である。
【００５５】
実施の形態にかかるプログラマブルロジックコントローラのＰＬＣユニットは基本ユニットにおいて自身に設定されているパスワードを他のＰＬＣユニットに分散保存する機能を有し、ＰＬＣユニットの脱着を検知できる機能を有し、自身が管理するＰＬＣユニットがＩＯ割付機能によってＩＯ割付されており、例えば、自身が管理するＰＬＣユニットがシステム上で接続された順にスロット番号を有している。実施の形態にかかるプログラマブルロジックコントローラのＰＬＣユニットは、入出力において、他のＰＬＣユニットにより依頼されたデータを自身に保持する機能を有し、交換対象スロット番号を制御する基本ユニットを「交換対象スロット番号のマスタユニット」（図１の基本ユニット１１０）とする。
【００５６】
「交換対象スロット番号のマスタユニット」は、パスワード分割データを分散保存したいスロット番号に装着しているＰＬＣユニットの先頭ＩＯ番号を用いて加工することにより、パスワード分割データへ可逆なデータである「パスワード分散保存用データ」を生成する。「交換対象スロット番号のマスタユニット」に管理される交換対象スロット番号以外のスロットに装着しているユニットのスロット番号を「交換対象外スロット番号」とし、交換前ユニットを交換後ユニットに換装する際、「交換対象スロット番号のマスタユニット」が交換対象外スロット番号に装着されているユニットに保存していたパスワード分散保存用データを(ｋ，ｎ)閾値分散法によってパスワード情報に復元する。
【００５７】
交換後のユニットに予めユニット交換用パスワードが設定されていて、かつ「交換対象スロット番号のマスタユニット」が保持するユニット交換用パスワードと一致する場合に「交換対象スロット番号のマスタユニット」が交換後のユニットを正規のユニットと判定する。正規のユニットと判定すると、「交換対象スロット番号のマスタユニット」は交換後のユニットに予め設定されていたユニット交換用パスワードを削除する。
【００５８】
さらに「交換対象スロット番号のマスタユニット」は、復元されたパスワード情報と、交換対象スロット番号に割り付けられているＩＯ割付情報を用いてパスワード分散保存用データ（交換前のユニットに分散保存していたパスワード分散保存用データ）を作成し、正規のユニットと判定した交換後のユニットに保存する。
【００５９】
「交換対象スロット番号のマスタユニット」は、交換後のユニットに予め設定されている交換用パスワードと「交換対象スロット番号のマスタユニット」が保持している交換用パスワードが一致しなければ、交換後のユニットにパスワード情報、パスワード分割データ、パスワード分散保存用データなどを送信しない。
【００６０】
この発明の実施の形態によれば、マスタとなるＰＬＣユニットが、例えば、(ｋ，ｎ)閾値秘密分散法によって、ユニット内部に保存されているプログラムや設定等のデータを保護するパスワードをシステム上の複数のＰＬＣユニットに分散保存する場合において、悪意のある作業者が制御システム上の正規のユニットを取り外し、悪意のあるユニットに差し替えたとしても、悪意のあるユニットに交換用のパスワードが入っていなければ、悪意のあるユニットにパスワード情報、パスワード分割データ、パスワード分散保存用データが送られることはないためパスワード情報の流出を防ぐことができる。これによりシステム管理者のパスワード管理のコストを低減することができる。
【００６１】
またこの発明の実施の形態によれば、例えば、(ｋ，ｎ)閾値秘密分散法によって、ユニット内部に保存されているプログラムや設定等のデータを保護するパスワードをシステム上の複数のＰＬＣユニットに分散保存するマスタとなるＰＬＣユニットは、例え交換用パスワードが悪意のある作業者に知られるなどして、悪意のあるユニットによりパスワード分散保存用データを知られたとしても、パスワード分散保存用データはＩＯ割付情報によって加工されているので、パスワード分割データに復元することは困難であり、例え復元できたとしてもパスワード分割データは(ｋ，ｎ)閾値秘密分散法によって生成されているので、ｋ個のパスワード分散保存用データをパスワード分割データに復元しなければ、パスワード情報の流出を防ぐことができる。このことによりシステム管理者のパスワード管理のコストを低減することができる。
【００６２】
更に、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。
【００６３】
例えば、上記実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、上記実施の形態における構成要件を適宜組み合わせてもよい。
【産業上の利用可能性】
【００６４】
以上のように、本発明にかかるプログラマブルロジックコントローラ、およびプログラマブルロジックコントローラのパスワード保存方法は、パスワードの流出防止に有用であり、特に、パスワードを複数のＰＬＣユニットに分散保存する場合に適している。
【符号の説明】
【００６５】
１００  プログラマブルロジックコントローラ
１１０  基本ユニット
１２０、１４０、１６０  入力ユニット
１３０  出力ユニット
１５０  ユニット交換における交換前の出力ユニット
１７０  ユニット交換における交換後の出力ユニット
１１１、１２１、１３１、１４１、１５１、１６１、１７１  メモリ(ＲＯＭ)
１１２、１２３、１３３、１４３、１５３、１６３、１７３  主記憶装置(ＲＡＭ)
１１３、１２４、１３４、１４４、１５４、１６４、１７４  データバスＩ／Ｆ
１１４  ＭＰＵ
１２２、１４２、１６２  入力Ｉ／Ｆ
１３２、１５２、１７２  出力Ｉ／Ｆ
１１１ａ  編成情報
１１１ｂ、１７１ｂ  交換用パスワード
１１１ｃ、１２１ａ、１３１ａ、１４１ａ、１５１ａ、１６１ａ  パスワード分散情報
１８０  ベースユニット
１８１ａ、１８１ｂ、１８１ｃ、１８１ｄ、１８１ｅ、１８１ｆ  スロット
１９１、１９３、１９４  開閉信号/アナログ信号等
１９２  外部負荷/アナログ負荷等
Ｓ２００〜Ｓ２９０  ステップ
【図１】
2012111117.tif 000003
【図２】
2012111117.tif 000004
【国際調査報告】
2012111117.tif 000005
2012111117.tif 000006