(57)【要約】【課題】多重系情報処理システムにおいて、フェールセーフ性を保障するためのハードウェアの設計、およびその実装には多大な時間と手間が必要であるという問題があった。【解決手段】本発明は、入力データに基づいて制御対象機器を制御するための制御データを生成する処理部を少なくとも２つ有する多重系情報処理システムにおいて、入力データに基づいて生成した１系の制御データを出力する１系の処理部と、入力データに基づいて生成した２系の制御データに対して、２系固有の符号化アルゴリズムで符号化した２系の符号データを出力する２系の処理部と、１系の制御データと２系の符号データとを受信し、１系の制御データと２系の符号データとの正当性の検証結果に基づいて、１系の制御データの制御対象機器への送信可否を決定する制御部とを有することを特徴とする。【選択図】  図１
2014006826.tif 000002
【特許請求の範囲】
【請求項１】
入力データに基づいて制御対象機器を制御するための制御データを生成する処理部を少なくとも２つ有する情報処理システムにおいて、
前記入力データに基づいて生成した１系の制御データを出力する１系の処理部と、
前記入力データに基づいて生成した２系の制御データに対して、２系固有の符号化アルゴリズムで符号化した２系の符号データを出力する２系の処理部と、
前記１系の制御データと前記２系の符号データとを受信し、前記１系の制御データと前記２系の符号データとの正当性の検証結果に基づいて、前記１系の制御データの前記制御対象機器への送信可否を決定する制御部とを有すること
を特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムにおいて、
前記１系の処理部は、前記１系の制御データに対して、１系固有の符号化アルゴリズムで符号化した１系の符号データを出力し、
前記制御部は、前記１系の符号データを受信し、
前記１系の制御データと前記２系の符号データとの正当性の検証結果と、
前記１系の制御データと前記１系の符号データとの正当性の検証結果とのうち、２つの前記検証結果に基づいて、前記１系の制御データの前記制御対象機器への送信可否を決定すること
を特徴とする情報処理システム。
【請求項３】
請求項２に記載の情報処理システムにおいて、
前記制御部は、前記１系の制御データと前記２系の符号データとの正当性の検証結果と、
前記１系の制御データと前記１系の符号データとの正当性の検証結果とのうち、
２つの前記検証結果が正当である場合に、前記１系の制御データは正当であると判断して前記制御対象機器への送信を行うこと
を特徴とする情報処理システム。
【請求項４】
請求項２に記載の情報処理システムにおいて、
前記制御部は、
前記２系の制御データを受信し、
前記１系の制御データと前記２系の符号データとの正当性の検証結果、
および前記２系の制御データと前記１系の符号データとの正当性の検証結果とに基づいて、
前記１系の制御データの前記制御対象機器への送信可否、および前記２系の制御データの前記制御対象機器への送信可否を決定し、
前記１系の制御データ、および前記２系の制御データの送信可否のうち、
いずれか一方の制御データが送信可能である場合、該送信可能な制御データを送信し、
前記２つの制御データのいずれもが送信可能である場合、送信する制御データを選択可能とすること
を特徴とする情報処理システム。
【請求項５】
請求項２に記載の情報処理システムにおいて、
前記制御部は、前記１系の制御データの送信を許可しない場合、
前記２系の制御データを受信し、
前記２系の制御データと前記１系の符号データとの正当性の検証結果とに基づいて、
前記２系の制御データの前記制御対象機器への送信可否を決定すること
を特徴とする情報処理システム。
【請求項６】
請求項１ないし請求項５のいずれかに記載の情報処理システムにおいて、
前記１系固有の符号化アルゴリズム、
もしくは前記２系固有の符号化アルゴリズム、
もしくはその両方を、少なくとも制御周期ごとに変更可能であること
を特徴とする情報処理システム。
【請求項７】
請求項１ないし請求項６のいずれかに記載の情報処理システムにおいて、
前記１系固有の符号化アルゴリズム、または前記２系固有の符号化アルゴリズムは、
パリティ符号、チェックサム、巡回冗長検査、ハッシュ関数、巡回ハミング符号、リード・ソロモン符号のいずれかであること
を特徴とする情報処理システム。
【請求項８】
請求項１ないし請求項７のいずれかに記載の情報処理システムにおいて、
前記１系の処理部、もしくは前記２系の処理部、もしくはその両方は、
誤ったデータを含む制御データを出力し、
前記制御部が前記誤ったデータを含む制御データの不正を検知しない場合は、情報処理システムに異常が発生していると判断し、警報を出力すること
を特徴とする情報処理システム。
【請求項９】
請求項１ないし請求項８のいずれかに記載の情報処理システムにおいて、
前記制御データの生成と、前記符号データの生成と、前記制御部による検証のうち、
少なくとも１つの処理状況を表示するモニタ、
もしくは音声にて前記処理状況を知らせる手段、
もしくは前記モニタと前記手段との両方とを備えること
を特徴とする情報処理システム。
【請求項１０】
請求項１ないし請求項９のいずれかに記載の情報処理システムにおいて、
前記制御対象機器とは、信号機器であること
を特徴とする情報処理システム。
【請求項１１】
入力データに基づいて制御対象機器を制御するための制御データを生成する処理部を少なくとも２つ有するデータ生成装置から前記制御データを受信し、前記制御対象機器を制御する出力制御装置において、
前記入力データに基づいて生成した１系の制御データと、
前記入力データに基づいて生成した２系の制御データに対して、２系固有の符号化アルゴリズムによって符号化される２系の符号データとを受信し、
前記１系の制御データと前記２系の制御データとの正当性の検証結果に基づいて、前記１系の制御データの前記制御対象機器への送信可否を決定する制御部を有すること
を特徴とする出力制御装置。
【請求項１２】
請求項１１に記載の出力制御装置において、
前記制御対象機器とは、信号機器であること
を特徴とする出力制御装置。
【請求項１３】
入力データに基づいて制御対象機器を制御するための制御データを生成する処理部を少なくとも２つ有し、前記制御データを前記制御対象機器を制御する出力制御装置へ送信するデータ生成装置において、
前記入力データに基づいて生成した１系の制御データを出力する１系の制御部と、
前記入力データに基づいて生成した２系の制御データに対して、２系固有の符号化アルゴリズムで符号化した２系の符号データを出力する２系の処理部とを有し、
前記１系の制御データと前記２系の符号データとの正当性の検証結果に基づいて、
前記１系の制御データの前記制御装置への送信可否を決定すること
を特徴とするデータ生成装置。
【請求項１４】
請求項１３に記載のデータ生成装置において、
前記２系の符号データの検証はできるが、符号データの生成はできないこと、
あるいは前記２系の符号データの検証を、少なくともＲＳＡ署名、ＤＳＡ署名、楕円ＥｌＧａｍａｌ署名のいずれかを用いて行うこと
を特徴とするデータ生成装置。
【請求項１５】
入力データに基づいて制御対象機器を制御するための制御データを生成する処理部を少なくとも２つ有し、前記制御データを前記制御対象機器を制御する制御装置へ送信するデータ生成装置において、
前記入力データに基づいて生成した１系の制御データに対して、１系の分散情報を備えたアルゴリズムによって符号化した１系の分散符号データを出力する１系の処理部と、
前記入力データに基づいて生成した２系の制御データに対して、２系の分散情報を備えたアルゴリズムによって符号化した２系の分散符号データを出力する２系の処理部とを有し、
前記１系の分散符号データと前記２系の分散符号データとのいずれもが正当である場合に、前記１系の分散符号データと前記２系の分散符号データとを用いて、前記１系の制御データの正当性を検証可能な符号データを生成し、該符号データと前記１系の制御データとを前記制御装置へ送信すること
を特徴とするデータ生成装置。
【請求項１６】
請求項１５に記載のデータ生成装置において、
前記分散情報を備えたアルゴリズムを、少なくとも制御周期ごとに変更可能とすること
を特徴とするデータ生成装置。
【請求項１７】
請求項１３ないし請求項１６のいずれかに記載のデータ生成装置において、
前記制御対象機器とは、信号機器であること
を特徴とするデータ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、出力制御装置、およびデータ生成装置に関し、特に入力データに対して多重系処理を行ってフェールセーフ性を有するシステムに関する。
【背景技術】
【０００２】
安全性を保障することが強く望まれるシステムにおいて、フェールセーフ性を担保することが重要となる。例えば、鉄道の信号保安装置は、列車運行の安全性を確保するため、信号保安装置を構成する機器になんらかの故障が発生した場合でも、列車を安全に制御する性質が求められている。このような性質をフェールセーフ性と呼び、フェールセーフ性を持った信号機の場合、信号機の故障時は停止現示もしくは減灯するように構成されている。
【０００３】
このフェールセーフ性という考えは、自動車をはじめ、様々な分野で用いられてきた。例えば、鉄道分野では、信号用リレーを制御信号伝達のスイッチとして利用し、また制御論理を構成する基本素子として用いた継電連動装置によって信号保安装置のフェールセーフ性を保障してきた。近年では、装置を多重化した多重系システムによってフェールセーフ性を実現している。
【０００４】
多重系システムを鉄道信号システムに用いる技術として、特開２０１１−３９６３０号公報（特許文献１）がある。この公報には、「データ量削減のため、生データの代わりにＣＰＵ−Ｂが生データから計算したハッシュ値（１２８ｂｉｔ）を送信する。図８の（２）において、ＣＰＵ−Ａは、ＣＰＵ−Ａが作成したデータとＣＰＵ−Ｂから受信したデータ両方を汎用インタフェースを用い比較器へ送信する。本例では、データ量削減のため、生データの代わりにＣＰＵ−Ａ、Ｂのデータのハッシュ値を比較器へ送信する。図８の（３）において、比較器はＣＰＵ−Ａ、ＣＰＵ−Ｂ両方からのデータ（ハッシュ値）を比較し一致している場合、ＣＰＵ−Ａへ送信許可を送信する。」（特開２０１１−３９６３０号公報、段落〔００１９〕）と記載されている。
【０００５】
また、多重系システムを持つ連動装置側のフェールセーフ性を保障するためのハードウェアを省略する技術として、特開２００４−３０２７０８号公報（特許文献２）がある。この公報には、「２Ａ、２Ｂ、２Ｃの計算機は独立に動作しているが、それぞれの動作が正当であるか否かを確認するため定期的にデータ交換用通信路３を用いて自系計算機の計算結果である制御データを他系計算機に送信し、また他系計算機の制御データを受信する。各系は自系の計算結果の制御データと他系の計算結果の制御データを比較し、外部に出力するデータが正当か否かを判定する。」（特開２００４−３０２７０８号公報、段落〔００２１〕）と記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−３９６３０号公報
【特許文献２】特開２００４−３０２７０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
多重系によってフェールセーフ性を保障するシステムの課題は、複数の系からデータを生成し、データの照合を行うデータ生成装置側において、フェールセーフ性を保障するための比較器などのハードウェアを省略することである。多重系システムの伝送では、出力側、ネットワーク上、そして入力側の少なくともいずれかにおいて、各系が物理的に近づいて混線する危険性がある。もし混線が発生してしまった場合は、各系のデータが上書き・改ざんされてしまう可能性があり、フェールセーフ性は保たれない。従来は、混線の危険性を排除するために、多大な時間と手間を費やして、混線の生じないフェールセーフなハードウェア構成を設計・実装してきた。従って、多大な時間と手間のコストが生じるハードウェア構成を省略することが、多重系システムの簡素化、低コスト化に大きく寄与する。
【０００８】
前記特許文献１には、多重系において、生データの代わりにハッシュ値を送信し、ハッシュ値自体を比較する技術が記載されている。特許文献１の伝送装置では、フェールセーフ性を保障するためにハードウェアである比較器を用いている。
【０００９】
また、前記特許文献２には、連動装置内において各計算部の処理結果を照合し、その結果を信号制御装置へ出力する技術が記載されている。前記特許文献２においても、各計算部は照合機能を備えており、各計算部が算出した制御データを計算部間で相互に通信する処理・構成が必要となる。さらに、特許文献２での照合情報は、各系における照合結果のみを表す情報であるため、通信路上で制御データに対して通信誤りが発生していないことを検証するためには、「制御データについては、通信内容を高水準で保証するためには制御データそのものを多重化して送信する」（特開２００４−３０２７０８号公報、段落〔００３７〕）とある通り、別途多重化構成をとる必要がある。例えば、１系が誤った制御データを作成し、正当として出力し、かつ１系が２系から受信した制御データに対して１系の制御データとみせかけて２系の制御データを送り返したときに、１系の誤った制御データが制御に使われる危険性があり、それを防ぐための処理・構成が別途付加されると想定される。
【００１０】
そこで本発明は、フェールセーフ性を保障した上で、多重系の各系で生成されたデータの照合を行うデータ生成装置側でのフェールセーフなハードウェア構成を省略し、システムを簡素化・低コスト化するシステム構成を提供する。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
【００１２】
本願は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、入力データに基づいて制御対象機器を制御するための制御データを生成する処理部を少なくとも２つ有する情報処理システムにおいて、入力データに基づいて生成した１系の制御データを出力する１系の処理部と、入力データに基づいて生成した２系の制御データに対して、２系固有の符号化アルゴリズムで符号化した２系の符号データを出力する２系の処理部と、１系の制御データと２系の符号データとを受信し、１系の制御データと２系の符号データとの正当性の検証結果に基づいて、１系の制御データの制御対象機器への送信可否を決定する制御部とを有することを特徴とする。
【００１３】
また、他の一例を挙げるならば、入力データに基づいて制御対象機器を制御するための制御データを生成する処理部を少なくとも２つ有するデータ生成装置から制御データを受信し、制御対象機器を制御する出力制御装置において、入力データに基づいて生成した１系の制御データと、入力データに基づいて生成した２系の制御データに対して、２系固有の符号化アルゴリズムによって符号化される２系の符号データとを受信し、１系の制御データと２系の制御データとの正当性の検証結果に基づいて、１系の制御データの制御対象機器への送信可否を決定する制御部を有することを特徴とする。
【００１４】
また、他の一例を挙げるならば、入力データに基づいて制御対象機器を制御するための制御データを生成する処理部を少なくとも２つ有し、制御データを制御対象機器を制御する出力制御装置へ送信するデータ生成装置において、入力データに基づいて生成した１系の制御データを出力する１系の制御部と、入力データに基づいて生成した２系の制御データに対して、２系固有の符号化アルゴリズムで符号化した２系の符号データを出力する２系の処理部とを有し、１系の制御データと２系の符号データとの正当性の検証結果に基づいて、１系の制御データの制御装置への送信可否を決定することを特徴とする。
【００１５】
また、他の一例を挙げるならば、入力データに基づいて制御対象機器を制御するための制御データを生成する処理部を少なくとも２つ有し、制御データを制御対象機器を制御する制御装置へ送信するデータ生成装置において、入力データに基づいて生成した１系の制御データに対して、１系の分散情報を備えたアルゴリズムによって符号化した１系の分散符号データを出力する１系の処理部と、入力データに基づいて生成した２系の制御データに対して、２系の分散情報を備えたアルゴリズムによって符号化した２系の分散符号データを出力する２系の処理部とを有し、１系の分散符号データと２系の分散符号データとのいずれもが正当である場合に、１系の分散符号データと２系の分散符号データとを用いて、１系の制御データの正当性を検証可能な符号データを生成し、符号データと１系の制御データとを制御装置へ送信することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、多重系の各系で生成されたデータの照合を行うデータ生成装置側におけるフェールセーフな機構を削減し、フェールセーフ性は保った上で、システムの簡素化・低コスト化が実現可能な多重系システムを提供することができる。
【００１７】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施例１による連動装置、および信号制御装置の構成の一例を示す図である。
【図２】本発明の実施例１による連動装置、および信号制御装置の構成の一変形例を示す図である。
【図３】本発明の実施例１による連動装置、および信号制御装置の構成の一変形例を示す図である。
【図４】本発明の実施例１による連動装置、および信号制御装置の構成の一変形例を示す図である。
【図５】本発明の実施例２による連動装置、および信号制御装置の構成の一例を示す図である。
【図６】本発明の実施例３による連動装置、および信号制御装置の構成の一例を示す図である。
【図７】本発明の実施例４による連動装置、および信号制御装置の構成の一例を示す図である。
【図８】本発明の実施例１での連動装置における制御フローを示す図である。
【図９】本発明の実施例１での信号制御装置における制御フローを示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について、図面を参照して説明する。ただし、図面は模式的なものであることに留意すべきである。
【実施例１】
【００２０】
本実施例では、多重系情報処理システムとして、３つの計算部を備えた連動装置１を想定する。また、連動装置１は信号制御装置２とネットワーク４を介して接続されており、信号制御装置２は信号機器３と接続されていると想定する。なお、本発明は、１系と２系による２重系、もしくは３系以上の多重系で構成することも可能である。また、本発明を適用する多重系情報処理システムは、鉄道における信号機器に限定されるものではなく、信号制御装置２、および信号機器３を、それぞれ出力制御装置、および制御対象機器と読み替えて、様々な機器に適用してもよい。同様に、連動装置１は、入力データから制御対象機器を制御するための制御データを生成するデータ生成装置と読み替えることができる。さらに、出力制御装置とデータ生成装置とは分けて存在させる必要はなく、出力制御装置での符号の検証、およびデータの出力制御を行う部分を制御部として、多重系情報処理システム上のいずれかに設置すればよい。
【００２１】
図１に本実施例の構成を示す。本実施例では、連動装置１は３つの情報処理系（以下、それぞれ１系、２系、３系と呼ぶ）を備え、各系は信号制御装置２に対する制御データを算出する計算部（１１、２１および３１）、計算部が出力した制御データを入力として誤り検知符号を出力する符号生成部（１２、２２および２３）により構成される。また、連動装置１内で算出された送信電文５をネットワーク４へ送信する送信部４０１を備え、各系の符号生成部（１２、２２および２３）、および１系の計算部１１は送信部４０１と接続されている。信号制御装置２は、ネットワーク４を介して連動装置１が送信した送信電文５を受信する受信部５０１、送信電文５に含まれる制御データ１０１および各系が算出した誤り検知符号である符号データ（１０２、２０２および３０２）の整合性を検証する符号検証部５０２、制御データ１０１に基づき信号機器３を制御する信号制御部５０３により構成される。各系の処理を行う部分が処理部であり、本実施例では、処理部は計算部と符号生成部とを含むものである。但し、系の処理において符号生成が必要でない場合は、処理部は符号生成部を含まなくてもよい。
【００２２】
図８は本実施例の連動装置１による制御フロー、図９は本実施例による信号制御装置２による制御フローを示す。以下、連動装置１と信号制御装置２における信号制御の流れを示す。
【００２３】
まず、連動装置１の各系の計算部は、連動論理に基づき、列車の在線状態に応じて各列車の進路を決定し、駅構内に設置されている信号機器３を制御するための制御データを算出（９００１）し、自系の符号生成部へ制御データを送信（９００２）する。また、１系の計算部１１は制御データ１０１を送信部４０１へ送信（９００３）する。
【００２４】
次に、各系の符号生成部は、計算部より受信した制御データに対して誤り検知符号を算出（９００４）し、符号データとして送信部４０１へ送信（９００５）する。
【００２５】
上記で述べる誤り検知符号とは、送信したデータに対し、通信路上でビット化け等の通信誤りが発生した場合に、その誤りを検出するための情報である。符号生成部は誤り検知符号を生成するためのアルゴリズムを備え、たとえばパリティ符号、チェックサム、巡回冗長検査（ＣＲＣ）、ハッシュ関数が用いられる。なお、本実施例では誤り検知符号を利用する場合について述べるが、誤りを検出し、訂正することが可能な誤り訂正符号として、たとえば巡回ハミング符号、リード・ソロモン符号などを利用することも可能である。
【００２６】
また、誤り検知符号は各系固有のものとし、計算部が異常動作した場合でも、他系の誤り検知符号は算出できない性質を持つものとする。この性質は、たとえば符号生成アルゴリズムとして、各系が別々の多項式を使ったＣＲＣを利用したり、制御データに各系独自の情報を付加したデータをハッシュ関数の入力としたりすることで実現される。もしくは、制御データに対して各系独自の情報（識別情報、秘密情報など）を付加し、それに対して符号を算出する方式でも本性質は実現される。また、各系で別のアルゴリズム／別の符号化方式を利用しても良い（たとえば１系でＣＲＣ、２系でハッシュ関数、３系でパリティ符号を利用）。本実施例での「別のアルゴリズム／別の符号化方式／固有のアルゴリズム／固有の符号化方式」とは、「同じ入力に対して出力が異なる」ものという意味である。よって、アルゴリズムや符号化方式自体の種類が同じであっても、係数などの設定で入力に対して固有の出力結果が得られるものも「別のアルゴリズム／別の符号化方式／固有のアルゴリズム／固有の符号化方式」を意味する。
【００２７】
送信部４０１は、各系の符号生成部から受信した符号データ（１０２、２０２および３０２）、および１系の計算部１１から受信した制御データ１０１を送信電文５として信号制御装置２へ送信する（９００６）。本実施例では、これらのデータは１つの電文にまとめている場合について述べるが、制御に影響がない場合は信号制御装置２へ各データを個別に送信しても良い。
【００２８】
符号データの固定故障を回避するため、同じ制御内容であったとしても、符号データの値は毎制御周期ごとに変更可能とする性質を持たせてもよい。これは、たとえば制御周期ごとの通番を符号計算に含めることによって実現される。これにより、たとえば送信部４０１が故障し、過去の制御データ１０１、符号データ（１０２、２０２および３０２）を信号制御装置２へ送信した場合でも、通番チェックにより符号データが過去の値であることが検知され、不正な制御データ１０１として破棄される。
【００２９】
もちろん、各系での上書きに対する危険性を考えなければ、各系で同じ符号生成アルゴリズムを用いてもよいし、符号データの固定故障への対応の度合いによって、符号データの値を一定期間、或いは制御周期の定数倍の時間、同じ符号化方式を使い続けてもよい。
【００３０】
信号制御装置２の受信部５０１は、連動装置１の送信部４０１より送信電文５を受信（９０１１）したら、制御データ１０１および符号データを符号検証部５０２へ送信（９０１２）する。
【００３１】
符号検証部５０２は、受信部５０１より受信した３つの系の符号データ（１０２、２０２および３０２）を用い、１系の計算部１１が算出した制御データ１０１に誤りがないか検証（９０１３）する。１系の制御データ１０１に対し、少なくとも２つ以上の系の符号データの検証において誤りが検知されない場合、その制御データ１０１に誤りがないと判断し、信号制御部５０３へ制御データ１０１を送信する（９０１４）。また、２つ以上の系の符号データの検証において誤りが検出された場合、その制御データ１０１に誤りがあると判断し、信号制御部５０３への制御データ１０１の送信を許可せず、信号制御部５０３へ異常状態を通知（９０１５）する。
【００３２】
符号データを用いた制御データの検証について説明する。符号検証部５０２は、符号生成部（１２、２２および３２）でのそれぞれの符号化方式を知っており、受信した制御データ１０１から、各系固有の符号化方式によって、それぞれの符号データと照合するための、符号照合用データ（１５０２、２５０２および３５０２）を生成する。符号照合用データの各々と、対応する系の符号データ（１０２、２０２および３０２）とを照合することで、制御データと各符号データとの検証を行う。符号生成部が用いる符号化方式は、予め符号検証部５０２に登録しておいてもよいし、送信部４０１と受信部５０１との間で通信を行って共有しても良いし、別の無線伝送方式を用いても良い。対応する系の見つけ方としては、ヘッダ情報に各符号データの位置を記述しておいても良いし、各符号照合用データと各符号データとの各々の一致・不一致を総当りで判定しても良い。
【００３３】
本実施例では、３つの系が算出した３つの符号データを用いて、計３回の誤り検知処理を行う。すなわち、１系の制御データ１０１に対して１系の符号データ１０２を用いた誤り検知処理、１系の制御データ１０１に対して２系の符号データ２０２を用いた誤り検知処理、１系の制御データ１０１に対して３系の符号データ３０２を用いた誤り検知処理を行う。各系独自の符号を用いるため、符号検証部５０２は各系に応じた符号検証アルゴリズムを適用する。なお、１系の符号データを用いた誤り検知処理で誤りが検知された場合でも、他２つの系で誤り検知されなければ、１系の制御データ１０１は誤りがないと判断する。１つの系の符号が不正であると判断された場合、その系の計算部もしくは符号生成部の誤算出、もしくは通信路上で通信誤りが発生したと判断する。この情報は、保守のためにエラーログとして連動装置１もしくは信号制御装置２内で記録、もしくは保守員や保守設備へ通知することが望ましい。
【００３４】
信号制御部５０３は、符号検証部５０２より制御データ１０１を受信した場合、その制御データ１０１に従って信号機器３を制御する（９０１６）。符号検証部５０２より異常通知された場合、信号機器３を安全側（停止現示もしくは減灯など）へ制御（９０１７）する。
【００３５】
以下、連動装置１が実施する各処理手順において、異常処理が発生した場合を想定した場合でも、信号機器３の安全性が確保されることを示す。なお、信号制御装置２は、連動装置１から有効な電文を一定期間受信しない場合、信号機器３を安全側に制御するものとする。
【００３６】
まず、１系の計算部１１が異常動作した場合について示す。１系の計算部１１の異常動作として、「誤った制御データ１０１を送信部４０１、もしくは符号生成部１２へ送信」「制御データ１０１を送信部４０１、もしくは符号生成部１２へ送信しない」という状況が想定される。１系が誤った制御データ１０１を送信した場合、その制御データ１０１に基づいて符号データ１０２が算出され、誤った制御データ１０１および符号データ１０２が信号制御装置２の符号検証部５０２に送信される。信号制御装置２は、１系の誤った制御データ１０１および符号データ１０２、および他の系（２系、３系）から受信した符号データ（２０２および３０２）を検証する。この場合、１系の制御データ１０１と１系の符号データ１０２の検証は正当とみなされる可能性があるが、正当な２系および３系の計算部は１系の制御データ１０１と異なる制御データを算出し、それに対して符号データ（２０２および３０２）が算出されるため、１系の制御データ１０１を用いた２系および３系の符号データ（２０２および３０２）の検証は不正とみなされる。よって、制御データ１０１の異常とみなされ、信号制御部５０３へ異常が通知されて安全側へ制御する。また、１系が制御データ１０１を送信しない場合は、信号制御装置２は有効な電文を一定期間受信しないことを確認後、信号機器３を安全側に制御する。
【００３７】
２系の計算部２１が異常動作した場合について示す。２系の計算部２１の異常動作として、「誤った制御データを符号生成部２２へ送信」という状況が想定される。２系が誤った制御データを符号生成部２２へ送信した場合、その制御データに基づいて符号データ２０２が算出され、信号制御装置２の符号検証部５０２に送信される。信号制御装置２は、１系の制御データ１０１、および２系の誤った符号データ２０２、および他の系（１系、３系）から受信した符号データ（１０２および３０２）を検証する。この場合、１系の制御データ１０１と１系および３系の符号データ（１０２および３０２）の検証は正当とみなされるが、１系の制御データ１０１と２系の符号データ２０２の検証は不正とみなされる。よって、２系の符号データ２０２の異常とみなし、制御データ１０１に基づき信号機器３を制御できる。３系の計算部３１の異常動作は２系の場合と同様のため、省略する。
【００３８】
次に、１系、２系もしくは３系の符号生成部が異常動作した場合について示す。符号生成部（１２、２２および３２）の異常動作として、「誤った符号データを送信部４０１へ送信」「符号データを送信部４０１へ送信しない」という状況が想定される。１つの系が誤った符号データ（１０２、２０２もしくは３０２）を算出した場合、その誤った符号データが信号制御装置２の符号検証部５０２に送信される。信号制御装置２は、１系の制御データ１０１、および１つの系の誤った符号データ、および他の２つの系から受信した正当な符号データを検証する。この場合、１系の制御データ１０１と正当な２つの系の符号データの検証は正当とみなされるが、１系の制御データ１０１と１つの誤った符号データの検証は不正とみなされる。よって、誤った１つの系の符号データの異常とみなし、１系の制御データ１０１に基づき信号機器３を制御する。１つの系の符号生成部が符号データを送信しない場合、信号制御装置２が制御データ１０１および他の２つの系の符号データを受信していれば、制御データ１０１に基づき信号機器３を制御できる。
【００３９】
最後に、送信部４０１が異常動作した場合について示す。送信部４０１の異常動作として、「制御データ１０１、もしくは各系の符号データを変更して送信する」「送信電文５を信号制御装置２へ送信しない」という状況が想定される。制御データ１０１を書き換えた場合、１系の異常動作の１つである誤った制御データ１０１を算出する場合と同様、信号制御装置２が符号検証する際に検知される。各系の符号データを書き換えた場合として、たとえば２系の符号データを１系の符号データで上書きした状況を想定した場合、符号検証部５０２は各系の符号データに対して異なる符号検証アルゴリズムを使用するため、上書きした場合は符号検証部５０２により不正な符号であるとみなされる。
【００４０】
本構成において、連動装置１内の１つの系が異常時に他系の符号を生成できる場合、信号機器３を危険側に制御する可能性がある。たとえば１系が異常動作して誤った制御データ１０１を算出し、さらに自系および他系の符号データを算出して信号制御装置２へ送信することによって、信号制御装置２の符号検証部５０２が制御データ１０１の誤りを見逃し、誤った制御データ１０１に基づいて信号機器３を制御する可能性がある。よって、本構成においては、１つの系が異常動作したとしても、他系の符号データを算出（偽造）できない性質が重要となる。この性質を持つことにより、たとえば各系から送信部４０１への通信ラインが混触して他系のデータを上書きした場合でも、符号データを検証することで異常検知が可能となる。
【００４１】
また、連動装置１や信号制御装置２の故障が潜在化することを防止するため、定期的な誤制御データ、もしくは誤符号データ入力による故障診断を行っても良い。たとえば連動装置１の１系の計算部１１が診断のために定期的に誤制御データ１０１を算出し、それを信号制御装置２の符号検証部５０２が正しく不正を検知して通知するか確認してもよい。算出しているのが誤制御データである情報を符号検証部５０２に持たせることで、１系、２系のいずれか、もしくはその両方が誤制御データを出力してもよい。また、図示しない警報装置を備えることで、不正を検知した場合に警報を出力しても良い。
【００４２】
好ましくは、連動装置１、信号制御装置２、信号機器３、ネットワーク４のいずれかにモニタ、もしくは音声にて処理状況を知らせる手段、もしくはその両方を設けることで、連動装置１、または信号制御装置２内での処理状況を確認することが容易となる。
【００４３】
本実施例は、連動装置１内の複数の系が同時に同一故障する確率が低い、という仮定に基づいて安全性を確保している。そのため、電源電圧異常やＥＭＣ、温度変化などに起因する複数の系の同時同一故障の確率を低減する方策が求められる。そのため、たとえば各系は別々のハードウェアへ実装されることが望ましい。また、連動装置１内の各処理系は、制御に影響がない限り、必ずしも１か所にまとめられている必要はなく、たとえば物理的に異なる場所に配置されていても良い。
【００４４】
上述の通り、２つ以上の系が異常動作しない限り、符号検証部５０２によって異常が検知される。よって、連動装置１内のいずれか１つの系と送信部４０１が同時故障したとしても、安全性には影響しないため、いずれかの系の中に送信部４０１を含めることで、システム構成を簡素化しても良い。本構成を図２に示す。
【００４５】
また、本実施例で重要なのは、符号データ（１０２、２０２および３０２）は、それぞれ計算部１１、２１および３１のそれぞれの制御データから作られるのに対し、符号検証部５０２で生成する符号照合用データは、計算部１１からの制御データ１０１に基づいて生成される点である。符号生成部と符号検証部では対応する系に対して同じ符号化アルゴリズムを用いるが、例えば符号データ２０２と、符号照合用データ２５０２とでは、符号化する前の制御データの系が異なっているため（符号データ２０２は２系由来、符号照合用データ２５０２は１系由来）、例えば制御データ１０１自体が不正であった場合、符号検証部５０２では、符号データ２０２（２系由来）と符号照合用データ２５０２（１系由来）、および符号データ３０２（３系由来）と符号照合用データ３５０２（１系由来）とでは照合が成立せず、システムの不具合を見つけることができる。よって、フェールセーフ性を保障する上では、同じ系由来である符号データ１０２（１系由来）と符号照合用データ１５０２（１系由来）との照合は、必ずしも行わなくても良い。本構成を図３に示す。図３では、符号生成部を減らすことができ、システムがより簡略化できる。符号検証部５０２では、制御データ１０１と符号データ２０２、および３０２との照合を行い、少なくとも１つが正当であれば、制御データ１０１を正当と判断してもよい。ただし、図１のように符号データ１０２と符号照合用データ１５０２との照合を行う場合は、制御データ１０１が、連動装置内で不具合を生じたか、或いはネットワーク４から信号制御装置２の間で不具合を生じたかについても判断することができる。
【００４６】
信号機器３を制御するためのデータの候補となる制御データと、その制御データとは異なる制御データから算出された符号データとの検証を行うことができれば、符号検証はシステム上、送信側、ネットワーク上、受信側のどこにあってもよい。例えば、送信側で符号検証を行えば、送信側装置にて信頼性のある符号データを出力することができる。
【００４７】
利用する符号生成アルゴリズムは、通信環境に応じて使い分けることが有効となる。たとえば鉄道専用有線ネットワークであるネットワーク４など、通信路誤りが少なく第三者によるアクセス困難な通信環境では、実装がシンプルでかつ高速なアルゴリズムを利用できる。一方、汎用無線ネットワークなど、第三者によるアクセスが容易な通信環境では、秘密鍵を用いたハッシュ関数など暗号的に強度が高いアルゴリズムが求められる。
【００４８】
上述の構成では、１系の計算部１１が制御データ１０１を送信部４０１へ送信しているが、通信誤りに対する信頼性を向上するため、制御データは複数の系から送信しても良い。
【００４９】
また、図４に示したように、制御情報選択部６１を付加することで、制御データの選び方を制御してもよい。例えば、制御情報選択部６１は、毎制御周期ごと、もしくは一定期間ごとに送信部４０１へ出力する制御データを各系の制御データの中から選択可能とする。選択方法は、ランダムでも良いし、各系を順に選んでもよい。制御情報選択部６１によって、各系の計算部（１１、２１および３１）の潜在故障が発見し易くなる。もちろん、送信部４０１と各系とが相互に送受信する機能を持たせれば、送信部４０１が制御情報の選択を行うことも可能である。
【００５０】
本実施例では、連動装置側のフェールセーフな機構を省略するためとした。もちろん、連動装置側で多重系からのデータを集めず、そのままパラレルで送信する構成をとった場合は、ネットワーク上、或いは受信装置側で本実施例の構成をとってもよい。つまり、信号制御装置２や車上論理部が本構成を採用しても良い。
【実施例２】
【００５１】
本実施例では、連動装置１内の送信部４１１は、各系の符号生成部（１３、２３および３３）が算出したデータを元に１つの誤り検知符号データ４０２を生成し、制御データ１０１および構成した誤り検知符号データ４０２を信号制御装置２へ送信する例を説明する。図５は実施例２における構成である。連動装置１、信号制御装置２、信号機器３、ネットワーク４、送信電文５は、実施例１と対応しており、断りがない限りは同じ構成である。
【００５２】
複数の系から受信した符号データから検証可能な１つの符号データを構成する方式として、たとえば秘密関数分散が適用できる。秘密関数分散とは、秘密関数を複数の系（ｉ）へ分散符号化する手法であり、その関数（Ｆ）への入力（Ｘ）に対する出力（Ｖi）を算出するためには、各系は自系が保持する各々の分散情報（Ｗi）を使ってその入力に対する計算Ｖi＝Ｆ（Ｗi，Ｘ）を行い、ある一定数以上の系から計算結果を得ることで出力が算出される方式である。また、各系が計算を行うための関数自身が分散情報を持っている場合は、上記の計算はＶi＝Ｆi（Ｘ）としても良い。これらの出力（Ｖi）を一定数以上集めることで、正しい出力（Ｖ）を復号できる。
【００５３】
本実施例では、たとえば誤り検知符号生成アルゴリズムを秘密関数とし、その関数を分散化して各系の符号生成部（１３、２３および３３）が保存する。符号生成部は、制御データを入力とし、各々の分散情報を備えたアルゴリズムによって符号化した分散符号データを送信部４１１へ出力する。送信部４１１は、受信した複数の系の分散符号データを元に制御データ１０１に対する１つの誤り検知符号データ４０２を生成して、信号制御装置２へ送信する。
【００５４】
この誤り検知符号データ４０２は、各系からの計算結果である分散符号データが一定数以上正しくないと、正しく出力されない性質を持つ。本実施例では３系の場合を示しているので、送信部４１１は、３系全てが正しい分散符号データを出力できた場合に誤り検知符号データ４０２を算出できるように設定してもよいし、少なくとも２系が正しい分散符号データを出力できた場合に誤り検知符号データ４０２を算出できるように設定してもよい。
【００５５】
信号制御装置２内の符号検証部５１２は、その誤り検知符号を検証するアルゴリズムを備え、符号の正当性を判断する。この構成では、送信部４１１が故障して異常動作したとしても、各系から分散符号データを得ない限り有効な誤り検知符号データ４０２は算出できない。よって、送信部４１１が故障時にも誤った制御データ１０１とそれに対応する有効な誤り検知符号データ４０２を算出することはできず、信号制御装置２に対する安全性が保たれる。また、各系からの分散符号データが一定数以上正しくなければ、誤り検知符号データ４０２も誤りを含むものになるため、符号検証部５２で異常を検出することができる。これにより、複数の符号データを信号制御装置２へ送信する必要がなくなるため、信号制御装置２内の符号検証部５１２は、複数の符号検証アルゴリズムを備える必要はなく、誤り検知符号データ４０２の符号化アルゴリズムを備えていればよい。
【００５６】
また、実施例２においても、図４に示した連動装置１の構成、もしくは送信部４１１と各系とが相互に送受信する機能を持たせることで、制御データの選び方を毎制御周期変更してもよい。これによって、各系の計算部の固定故障を発見しやすくなる。さらに、より信頼性を上げるために、誤り検知符号を検証するアルゴリズム、または誤り検知符号を検証するアルゴリズムを分散化する際の分散情報を、少なくとも毎制御周期変更してもよい。
【実施例３】
【００５７】
本実施例では、連動装置１内に符号事前検証部４２を備える例を示す。本構成を図６に示す。連動装置１、信号制御装置２、信号機器３、ネットワーク４、送信電文５は、実施例１と対応しており、断りがない限りは同じ構成である。
【００５８】
制御データ１０１を信号制御装置２へ送付する前に符号事前検証部４２にて符号の検証を行うことで、誤った制御データ１０１が連動装置１の外部へ流出することを防止できる。これにより、実施例１と比較し、より早期に制御データ１０１の異常を検知し、原因特定、排除、および保守が可能となる。また、連動装置１にて制御データの検証ができるので、本実施例の構成をとれば、送信器によって、連動装置内のフェールセーフな機構を削減し、フェールセーフ性は保った上で、システムの簡素化・低コスト化という効果を達成できる。送信部４２１は、符号事前検証部４２での検証で、制御データ１０１が正当だと判断した場合に、制御データ１０１と符号データ１０２を信号制御装置２へ出力する。符号事前検証部４２での制御データと符号データとの正当性の検証は、実施例１での符号検証部５２２と同様の手法で行えばよい。
【００５９】
連動装置１内の符号事前検証部４２が利用する符号検証アルゴリズムは、符号検証はできるが符号生成はできない性質を持つことが望ましい。この性質は、たとえばＲＳＡ署名、ＤＳＡ署名、楕円ＥｌＧａｍａｌ署名などの電子署名で用いられる検証アルゴリズムを利用することで実現される。この性質を備えた検証アルゴリズムを利用することで、連動装置１内の符号事前検証部４２が異常動作した場合でも、符号事前検証部４２は各系の符号を正しく算出することができないため、符号事前検証部４２が誤った制御データ１０１を送信したとしても、信号制御装置２の符号検証部５２２はその誤りを検知できる。また、符号検証には、少なくとも１つの制御データを用いればよく、本実施例では制御データ１０１を用いる。
【００６０】
符号事前検証部４２が利用する符号検証アルゴリズムが上記性質を持たない場合（すなわち、符号検証と符号生成とが可能な検証アルゴリズムを利用する場合）、符号事前検証部４２が故障時に、誤った制御データ１０１および符号事前検証部４２はフェールセーフ性を持つことが求められる。たとえば符号事前検証部４２を多重化した構成とし、互いの処理を照合し、不一致の場合は動作を停止する方式としても良い。
【００６１】
実施例１では１系の制御データ１０１、および各系の符号データを送信電文５として送信していたが、本構成において連動装置１の符号事前検証部４２がフェールセーフ性を持つ場合、たとえば１系の制御データ１０１と、１系の符号データ１０２とを送信電文５として送信しても良い。これにより、連動装置１および信号制御装置２間の通信負荷の軽減、および符号検証部５２２が複数の符号検証アルゴリズムを備える必要がなくなる。
【実施例４】
【００６２】
本実施例では、制御データが誤っていた場合に、正しい制御データに差し替えられる例を示す。図７は実施例４における構成を示す。連動装置１、信号制御装置２、信号機器３、ネットワーク４、送信電文５は、実施例１と対応しており、断りがない限りは同じ構成である。
【００６３】
実施例１と異なり、各系は制御データ（１０１、２０１、および３０１）と、符号データ（１０２、２０２および３０２）を送信部４０１に送り、送信部４０１は各系の制御データと符号データから送信電文５を生成する。
【００６４】
符号検証部５０２は、制御データ１０１に対して、各系の符号データ（１０２、２０２および３０２）との正当性を検証し、制御データ１０１の正当性を判断する。正当性の判断は、実施例１と同様にすればよく、符号データ１０２は用いなくても良い。ここで、もし制御データ１０１を不正であると判断した場合、制御データ２０１に対して、各符号データとの正当性の検証を行う。制御データ２０１を正当であると判断した場合は、制御データ１０１の代わりに制御データ２０１を出力し、制御データ２０１を不正であると判断した場合は、制御データ３０１の正当性の検証を行い、同様に制御データ３０１の正当性の検証に基づいて制御データ３０１の出力の可否を決定する。もちろん、制御データ１０１の正当性の判断にかかわらず、制御データ２０１、制御データ３０１の正当性を判断しても良い。複数の制御データの正当性を検証し、正当と判断した制御データが複数存在する場合は、信号制御部５０３に送信する制御データは正当と判断した制御データの少なくともいずれか１つを選択すればよい。送信すべき制御データがない場合は、システム上で通信誤りが発生したと判断する。
【符号の説明】
【００６５】
１  連動装置
２  信号制御装置
３  信号機器
４  ネットワーク
５  送信電文
１１、２１、３１  計算部
１２、１３、２２、２３、３２、３３  符号生成部
４２  符号事前検証部
６１  制御情報選択部
１０１、２０１、３０１  制御データ
１０２、２０２、３０２、４０２  符号データ
４０１、４１１、４２１  送信部
５０１  受信部
５０２、５１２、５２２  符号検証部
５０３  信号制御部
【図１】
2014006826.tif 000003
【図２】
2014006826.tif 000004
【図３】
2014006826.tif 000005
【図４】
2014006826.tif 000006
【図５】
2014006826.tif 000007
【図６】
2014006826.tif 000008
【図７】
2014006826.tif 000009
【図８】
2014006826.tif 000010
【図９】
2014006826.tif 000011