以下に、本発明を適用する実施形態を説明する。
本実施形態は移動体である列車を制御するシステム(無線制御セキュリティシステムを含む通信システム)であり、列車が移動する線路上の一定の列車制御区域を対象とし、この区域内に複数のアクセスポイント(AP)と接続された1つのアクセスポイント制御装置(APM)と、複数のAPMと接続された1つの地上制御装置を一構成とする地上制御システムを設置する。
地上制御システムを複数設置し、各地上制御システムの地上制御装置を接続することで、システムの大規模化に対応できる。
各地上制御装置は、それぞれが管理するAPを介して、管理下にある列車に対して制御データを送付することで、列車を制御する。列車がある地上制御装置の管理下から隣接する地上制御装置の管理下に移動すれば、二つの地上制御装置が連携することで、列車制御が継続される。
図1は本実施形態のシステム構成を表した図である。本実施形態は、地上制御装置(101)(102)、APM(103)(104)(105)、AP(106)(107)(108)、列車(112)に装置される車両制御装置(111)、地上子(113)(114)からなるシステムである。列車(112)には複数の車両制御装置(111)を搭載することも可能であるが、ここでは1台が動作するものとする。複数のAP(106)(107)がAPM(103)に接続されており、複数のAPM(103)(104)が地上制御装置(101)に接続されている。また、地上制御装置(101)と地上制御装置(102)は接続されている。車両制御装置(111)は地上子(113)の上を通過する際に、地上子(113)から位置情報を取得する。すなわち、地上子(113)から取得した位置情報が列車(112)の現在の位置となる。
図2は本実施形態の地上制御装置(101)(102)、APM(103)(104)(105)、AP(106)(107)(108)、列車(112)に装置される車両制御装置(111)の実施例を示す機器構成図である。端末(201)は、CPU(202)と、メモリ(203)と、記憶装置(204)と、通信IF(205)、周辺機器接続IF(206)を有している。通信IF(205)を介し、さらにネットワーク(210)を介して他の端末(201)に接続し、周辺機器接続IF(206)を介して表示装置(207)と接続する。CPU(202)は、端末(201)の動作を制御する装置である。記憶装置(204)、メモリ(203)では、端末(201)の動作を制御するのに必要な各種処理プログラムやデータの格納やロードが行われる。記憶装置(204)、メモリ(203)に格納された各種処理プログラムをCPU(202)が実行することで、後述する各種処理が実行される。なお、これに限らず、各種処理プログラムが記憶/通信媒体経由で端末(201)にインストールされる構成とすることも可能である。
図3、図4は、地上制御装置(101)(102)の記憶装置(204)に格納されるデータを示す。
図3(a)は、地上制御装置(101)(102)の記憶装置(204)に地上制御装置の識別子R−ID(340)、セキュリティ情報(300)(350)、ネットワーク構成情報(310)(320)、制御処理部(330)が格納されることを示している。R−ID(340)には装置毎に異なる識別子が格納される。
図3(b)は車両制御装置に関するセキュリティ情報(300)であり、車両制御装置ID(301)、暗号鍵(303)、APM−MAC鍵(304)、AP−MAC鍵(309)、ステータス(305)、カウンタ(306)、乱数(307)、メカニズム指定コード(308)、一時暗号鍵(361)、一時APM−MAC鍵(362)、一時AP−MAC鍵(363)、管理外車両用認証鍵(364)、管理外車両フラグ(365)から構成される。
車両制御装置ID(301)は車両を識別する車両固有の識別子であり、予め設定されている。ただし、例えば、新規に列車が追加された場合や他社路線との乗り入れの場合など、管理外の列車の車両制御装置IDは設定されていない。
暗号鍵(303)、APM−MAC鍵(304)、AP−MAC鍵(309)、カウンタ(306)は、車両と地上制御システムの通信に先立って行われる認証処理で設定され、認証処理後の制御メッセージの保護通信に使用される。
ステータス(305)は、車両制御装置との認証処理がどの段階まで完了しているかを示す。乱数(307)は認証処理で設定され、認証データの生成に使用する。
メカニズム指定コード(308)は認証時に車両制御装置から送られてくる情報である。一時暗号鍵(361)、一時APM−MAC鍵(362)、一時AP−MAC鍵(363)、管理外車両用認証鍵(364)は、該車両制御装置を管理していない地上制御装置へ移動する場合、または該地上制御装置が管理していない車両制御装置が移動してくる場合に設定される。車両制御装置の追加や他社路線乗り入れなどにより管理外の車両制御装置との認証が発生する場合は、管理外車両用認証鍵(364)を使用する。車両制御装置は管理下の地上制御装置から管理外の地上制御装置へ移動する間、一時暗号鍵(361)、一時APM−MAC鍵(362)、一時AP−MAC鍵(363)を使って制御メッセージの保護通信を行う。
管理外車両フラグ(365)は、該地上制御装置が管理外の車両制御装置の場合にオンとなる。
図3(c)は、管理主体が異なる地上制御装置に関するセキュリティ情報(350)であり、他社地上制御装置ID(351)、暗号鍵(352)、MAC鍵(353)で構成される。セキュリティ情報(350)の値は予め設定されており、一時暗号鍵(361)、一時APM−MAC鍵(362)、一時AP−MAC鍵(363)を通知する際に使用する。
図4(a)は、ネットワーク構成情報(310)の構成図であり、路線の識別子である路線ID(311)、各地上制御システムの地上制御装置ID(312)で構成される。つまり、路線IDの地上システムの構成は、地上制御装置R−ID1〜R−IDnからなるそれぞれの地上制御システムによって構成されていることを示す。地上制御装置R−ID1〜R−IDnは管理主体が異なる地上制御装置が含まれる可能性もある。
図4(b)は、ネットワーク構成情報(320)の構成図であり、地上制御装置に接続しているAPMのAPM ID(321)、各APMに接続しているAPの関連付けられたAPのリスト(322)から成る。
図4(c)は、制御処理部(330)の構成図である。制御メッセージ生成・処理部(331)、乱数生成部(332)、セキュリティ情報配布部(333)、セキュリティ情報地上制御装置間共有部(334)からなる。
図5、図6は、APM(103)(104)(105)の記憶装置(204)に格納されるデータを示す。
図5(a)は、該当するAPMの識別子であるAPM−ID(550)、APM(103)(104)(105)の記憶装置(204)にはセキュリティ情報(530)(540)、ネットワーク構成情報(310)(510)、制御処理部(520)が格納されることを示している。ネットワーク構成情報(310)は、地上制御装置と同一であることを示す。
図5(b)は、車両制御装置に関するセキュリティ情報(530)の構成図であり、車両制御装置ID(531)、車両固有鍵(532)、暗号鍵(533)、APM−MAC鍵(534)、ステータス(535)、カウンタ(536)、乱数(537)、メカニズム指定コード(538)、一時暗号鍵(561)、一時APM−MAC鍵(562)、管理外車両用認証鍵(563)、管理外車両フラグ(564)から成る。車両制御装置ID(531)は車両を識別する車両固有の識別子であり、車両固有鍵(532)は車両毎の固有鍵である。車両制御装置ID(531)と車両固有鍵(532)は予め設定されている。ただし、管理外の車両制御装置の車両制御装置IDと車両固有鍵は設定されていない。
暗号鍵(533)、APM−MAC鍵(534)、カウンタ(536)は、車両と地上制御システムの通信に先立って行われる認証処理で設定される。
ステータス(535)は、車両制御装置との認証処理がどの段階まで完了しているかを示す。
乱数(537)は認証処理で設定され、認証データの生成に使用する。メカニズム指定コード(538)は認証時に車両制御装置から送られてくる情報である。
一時暗号鍵(561)、一時APM−MAC鍵(562)、管理外車両用認証鍵(563)は管理外の車両制御装置の情報であり、管理外の車両制御装置が移動してくる場合に設定される。管理外の車両制御装置との認証には、管理外車両用認証鍵(563)を使用する。管理外の車両制御装置が移動してくる際の制御メッセージの保護通信には、一時暗号鍵(561)、一時APM−MAC鍵(562)を使用する。
管理外車両フラグ(564)は、管理外の車両制御装置の情報の場合にオンとなる。
図5(c)は、該当APMに接続されているAPに関するセキュリティ情報(540)であり、APを識別するAP ID(541)とAP固有暗号鍵(542)、AP固有MAC鍵(543)から成る。セキュリティ情報(540)は地上制御装置(101)から配布されてもよいが、ここでは事前に設定されているものとする。
図6(a)は、ネットワーク構成情報(510)であり、該当するAPM(103)(104)(105)が接続する地上制御装置ID(511)が記憶されている。
図6(b)は、APM(103)(104)(105)の制御処理部(520)の構成図である。制御処理部(520)には、制御メッセージ保護部(521)、セキュリティ情報処理部(522)が格納されている。
図7は、車両制御装置(111)の記憶装置(204)に格納されるデータを示す。
図7(a)は、車両制御装置(111)の記憶装置(204)には該当する車両制御装置を示す識別子T−ID(730)、セキュリティ情報(700)、制御処理部(720)が格納されることを示している。
図7(b)は、セキュリティ情報(700)の構成図であり、車両固有鍵(702)、暗号鍵(703)、APM−MAC鍵(704)、AP−MAC鍵(712)、地上制御装置ID(705)、ステータス(706)、カウンタ(707)、乱数(708)、位置(710)、時刻(709)、メカニズム指定コード(711)、管理外車両用認証鍵(713)から成る。
車両固有鍵(702)は予め設定されている。
暗号鍵(703)、APM−MAC鍵(704)、AP−MAC鍵(712)、カウンタ(707)は、車両とAPMが通信に先立って実施する認証処理で設定され、制御メッセージの保護通信に使用される。
地上制御装置ID(705)は、車両への制御を行っている地上制御装置の識別子を示す。すなわち該当の車両制御装置は地上制御装置ID(705)の配下に位置することを意味する。
ステータス(706)は、APMとの認証処理がどの段階まで完了しているかを示す。
乱数(708)は認証処理時に生成・設定され、APMへ送信される。
位置(710)と時刻(709)は、地上子(113)(114)の上を列車が通過する際に取得した情報であり、車両制御装置(111)から地上制御装置(101)(102)に送信される制御情報の一つである。
メカニズム指定コード(711)は認証時に使用する暗号アルゴリズムを指定する値である。
管理外車両用認証鍵(713)は、管理外の地上システムと認証を行う際に使用する。
図7(c)は、制御処理部(720)の構成図である。制御メッセージ生成・処理部(721)、乱数生成部(722)、セキュリティ情報処理部(723)、制御メッセージ保護部(724)から成る。
図8は、AP(106)(107)の記憶装置(204)に格納されるデータを示す。
図8(a)は、AP(106)(107)の記憶装置(204)には該当するAPを示す識別子AP ID(830)、セキュリティ情報(800)(810)、制御処理部(820)が格納されることを示している。
図8(b)は、車両制御装置に関するセキュリティ情報(800)の構成図であり、車両制御装置ID(801)、AP−MAC鍵(802)、一時AP―MAC鍵(804)、メカニズム指定コード(803)から成る。車両制御装置ID(801)、AP−MAC鍵(802)、メカニズム指定コード(803)は、認証処理時に設定される。一時AP−MAC鍵(804)は、車両制御装置(111)が管理外の地上制御システムへ移動する場合、または管理外の車両制御装置(111)が移動してくる場合に設定される。
図8(c)は、該当するAPに関するセキュリティ情報(810)の構成図であり、該当するAP固有の鍵であるAP固有暗号鍵(811)、AP固有MAC鍵(812)から成る。セキュリティ情報(810)は事前に設定されているものとする。
図8(d)は、制御処理部(820)の構成図であり、セキュリティ情報処理部(821)、制御メッセージ保護部(822)で構成される。
図9は列車(112)が起動する際の処理を示す。車両制御装置(111)はAP(106)を介して、APM(103)、地上制御装置(101)と通信相手が正しい相手であることを確認する認証、および認証以降に車両制御装置(111)と地上システムとの間で通信するデータの秘匿と改ざんを検知するための鍵を共有する。
起動時の処理は、車両制御装置(111)のセキュリティ情報処理部(723)および乱数生成部(722)、APM(103)のセキュリティ情報処理部(522)、地上制御装置(101)の乱数生成部(332)、セキュリティ情報配布部(333)によって行われる。乱数生成部(722)(332)は、これに限定されるものではないが、例えば一例として、FIPS(Federal Information Processing Standards)186−2に記載の擬似乱数生成系を用いる。
車両制御装置(111)では、ステップ(901)において、車両制御装置(111)の電源を投入し、乱数生成部(722)を初期化する。乱数生成部(722)の初期化では、電源投入時に計測できる、物理的な電磁気的な揺らぎ情報を取得し、それをもとに乱数生成部(722)に設定することで、乱数を生成する。この場合には、例えば一例として、毎回異なる値となる物理的な電磁気的な揺らぎ情報を取得し、それをもとに毎回異なる乱数を生成することが考えられる。ステップ(902)において、認証や暗号化を行うアルゴリズムなどのメカニズムC1を指定し、初期化済みの乱数生成部が乱数R1を生成し、メカニズムC1と乱数R1を認証要求メッセージとしてAPM(103)に送信する。
ここで、送信メッセージのフォーマットについて記載する。図16、図17は、本実施例の通信データフォーマットを示す。
図16(a)は、本実施例の通信データフォーマットの基本構成を示し、ヘッダ(1601)、カウンタ(1602)、データ長(1603)、データ(1604)から構成される。
図16(b)は、ヘッダ(1601)の構成を示しており、メッセージ種別(1611)、送信元ID(1612)、送信先ID(1613)、セキュリティバージョン(1614)から構成される。
ステップ(902)で送出される認証要求メッセージの場合、ヘッダ(1601)のメッセージ種別(1611)に認証要求を示す値を、送信元ID(1612)に車両制御装置ID(730)を、送信先ID(1613)にはブロードキャストを示す値を、セキュリティバージョン(1614)に本システムのセキュリティバージョンを示す値を設定する。データ(1604)は、図17(a)に従って設定される。具体的には、乱数1(1701)に乱数を、メカニズム指定コード(1703)に以下の認証などで用いる暗号アルゴリズムなどを設定する。また、メカニズム指定コード(1703)の値は、メカニズム指定コード(711)にも設定される。
APM(103)が認証要求メッセージを受信すると、ステップ(911)の認証受付の判定とメカニズムの設定を行う。
認証受付の判定では、送信元ID(1612)がセキュリティ情報(300)の車両制御装置ID(301)に登録されているかどうかを確認する。登録されている場合、メカニズム指定コード(1703)をメカニズム指定コード(711)に設定し、乱数要求とメカニズム指定コード(1703)と車両制御装置ID(1702)を地上制御装置(101)に送付する。登録されていない場合、認証要求メッセージを破棄する。
地上制御装置(101)が乱数要求とメカニズム指定コード(1703)を受信すると、ステップ(921)のメカニズム設定と乱数生成を行う。
メカニズム設定では、メカニズム指定コード(308)にメカニズム指定コード(1703)を設定する。乱数生成部(332)で乱数を生成し、APM(103)に送付する。
APM(103)が地上制御装置(101)から乱数を受信すると、ステップ(912)の地上認証データの生成を行い、地上認証データメッセージを生成する。
地上認証データメッセージは、図16(a)のフォーマットに従って生成される。ヘッダ(1601)は、図16(b)のフォーマットに従って生成される。ヘッダ(1601)のメッセージ種別(1611)には地上認証データメッセージを示す値を、送信元ID(1612)にはAPM−ID(550)を、送信先ID(1613)には該当する車両制御装置ID(531)を、セキュリティバージョン(1614)には本システムのバージョンを示す値を設定する。カウンタ(1602)は設定しなくてよい。データ長(1603)には地上認証データメッセージ全体の長さを示す値を、データ(1604)にはステップ(912)で生成した地上認証データを設定する。
地上認証データは、図17(b)のフォーマットに従い、乱数1(1711)に車両制御装置が生成した乱数を、乱数2(1712)に地上制御装置が生成した乱数を設定し、該当する車両制御装置ID(531)のメカニズム指定コード(538)に従って暗号化して生成する。該当する車両制御装置ID(531)が、管理下の車両制御装置の場合は車両固有鍵(532)を、管理外の車両制御装置の場合は管理外車両用認証鍵(563)を用いて暗号化する。
車両制御装置(111)が地上認証データメッセージを受信すると、ステップ(903)の地上認証データの検証、車両認証データの生成を行う。
地上認証データの検証では、受信した地上認証データメッセージのデータ(1604)を復号する。車両制御装置(111)が送信元IDの管理下の場合は車両固有鍵(702)を、異なる場合は管理外車両用認証鍵(713)を復号に使用する。復号した結果がステップ(902)で送付した乱数と一致しなかった場合は、検証失敗として地上認証データメッセージを破棄する。
車両認証データの生成では、図16(a)のフォーマットに従って車両認証データメッセージを生成する。ヘッダ(1601)は、図16(b)のフォーマットに従って生成される。ヘッダ(1601)のメッセージ種別(1611)には車両認証データメッセージを示す値を、送信元ID(1612)には車両制御装置ID(730)を、送信先ID(1613)にはブロードキャストを示す値を、セキュリティバージョン(1614)には本システムのバージョンを示す値を設定する。カウンタ(1602)は設定しなくてよい。データ長(1603)には車両認証データメッセージ全体の長さを示す値を、データ(1604)には車両認証データを設定する。車両認証データは、図17(b)のフォーマットに従い、乱数1(1711)に地上制御装置が生成した乱数を、乱数2(1712)に車両制御装置が生成した乱数を設定し、メカニズム指定コード(711)に従って暗号化され、生成される。暗号化に使用する鍵は地上認証データの検証に使用した鍵を使用する。
APM(103)が車両認証データメッセージを受信すると、ステップ(913)の車両認証データの検証を行う。車両認証データの検証は、ステップ(903)の地上認証データの検証と同様の手順で行われる。検証に失敗した場合は、車両認証データメッセージを破棄する。検証に成功した場合は、地上制御装置(101)に鍵情報を要求する。
地上制御装置(101)が鍵要求を受信すると、ステップ(922)のカウンタの生成・設定、鍵の生成・設定を行う。
カウンタ、鍵はステップ(921)と同様に4つの乱数を生成し、暗号鍵(303)、APM−MAC鍵(304)、AP−MAC鍵(309)、カウンタ(306)に設定するとともに、APM(103)に送付する。
APM(103)が地上制御装置(101)からカウンタ・鍵を受信すると、ステップ(914)のカウンタ・鍵の設定、鍵の暗号化を行い、鍵メッセージを生成する。
カウンタ・鍵の設定では、地上制御装置(101)から受信したカウンタ・鍵をセキュリティ情報(530)のカウンタ(536)、暗号鍵(533)、APM−MAC鍵(534)に格納する。
鍵メッセージは、図16(a)のフォーマットに従って生成される。ヘッダ(1601)は、図16(b)のフォーマットに従って生成される。ヘッダ(1601)のメッセージ種別(1611)には鍵メッセージを示す値を、送信元ID(1612)にはAPM−ID(550)を、送信先ID(1613)には該当する車両制御装置ID(531)を、セキュリティバージョン(1614)には本システムのバージョンを示す値を設定する。カウンタ(1602)にはカウンタ(536)を、データ長(1603)には鍵メッセージ全体の長さを示す値を設定する。データ(1604)には暗号化された鍵データを設定する。
暗号化された鍵データは図17(c)に従って生成される。暗号鍵(1731)には暗号鍵(533)を、APM−MAC鍵(1732)にはAPM−MAC鍵(534)を、AP−MAC鍵(1733)にはAP−MAC鍵(535)を、地上制御装置ID(1734)には地上制御装置ID(511)を設定し、メカニズム指定コード(538)に従って暗号化する。該当する車両制御装置ID(531)が、管理下の車両制御装置の場合は車両固有鍵(532)を、管理外の車両制御装置の場合は管理外車両用認証鍵(563)を用いて暗号化する。
車両制御装置(111)が鍵メッセージを受信すると、ステップ(904)の鍵の復号、鍵設定、カウンタ設定を行い、認証完了メッセージをAPM(103)に送付する。
鍵の復号では、車両制御装置(111)が送信元IDの管理下の場合は車両固有鍵(702)を、管理外の場合は管理外車両用認証鍵(713)を使用してデータ(1604)を復号する。
鍵設定では、復号した暗号鍵(1731)を暗号鍵(703)に、復号したAPM−MAC鍵(1732)をAPM−MAC鍵(704)に、復号したAP−MAC鍵(1733)をAP−MAC鍵(712)に、復号した地上制御装置ID(1734)を地上制御装置ID(705)に設定する。
カウンタ設定では、カウンタ(1602)をカウンタ(707)に設定する。
APM(103)は認証完了メッセージを受信すると、ステップ(915)の認証完了を行う。認証完了では、該当する車両制御装置IDのステータス(535)を認証済にし、結果を地上制御装置(101)に送信する。地上制御装置(101)でも同様に処理する。
ここで、上記認証処理は、共通鍵暗号を用いた方法で記載してあるが、ISO/IEC 9798やCHAP(Challenge Handshake Authentication Protocol)などが知られており、これらを用いることが可能である。
車両制御装置(111)とAP(106)間の通信は無線のため、電波状況などによりメッセージが届かない場合が考えられるが、APM(106)は定期的に認証処理が完了していない車両制御装置に対して、認証ステータスに応じたメッセージを送信する。また、車両制御装置(111)も定期的に認証ステータスに応じたメッセージを送信することでメッセージがロスした場合にも対応する。
車両制御装置(111)との相互認証に成功した地上制御装置(101)は、該当する車両制御装置(111)と管理下に存在する全てのAPMおよびAPとの間で制御メッセージの保護通信が可能となるために、地上制御装置(101)に接続するAPM(103)(104)、AP(106)(107)に制御メッセージの保護通信に必要なセキュリティ情報を通知する必要がある。このセキュリティ情報共有処理の手順を図11に示す。
まず地上制御装置(101)は、ステップ(1101)の鍵出力を行う。鍵出力では、図16(a)のフォーマットに従ってAPM用鍵通知メッセージを作成し、定期的にAPMに送信する。ヘッダ(1601)は図16(b)のフォーマットに従って生成される。メッセージ種別(1611)にはAPM用鍵通知メッセージを示す値を、送信元ID(1612)には地上制御装置ID(340)を、送信先ID(1613)にはブロードキャストを示す値を、セキュリティバージョン(1614)には本システムのセキュリティバージョンを設定する。カウンタ(1602)は設定する必要はない。データ長(1603)にはAPM用鍵通知メッセージ全体の長さを示す値を、データ(1604)には図18(a)のフォーマットに従って、制御メッセージの保護通信に必要なセキュリティ情報を設定する。車両制御装置ID(1811)には車両制御装置(111)の車両制御装置ID(301)、暗号鍵(1812)には暗号鍵(303)、APM−MAC鍵(1813)にはAPM−MAC鍵(304)、AP−MAC鍵(1814)にはAP−MAC鍵(309)、メカニズム指定コード(1815)にはメカニズム指定コード(308)を設定する。
APM(103)(104)がAPM用鍵通知メッセージを受信すると、ステップ(1104)のステータス設定、鍵設定、AP−MAC鍵出力を行う。
ステータス設定は、該当する車両制御装置のステータス(535)を認証済にする。鍵設定は、受信した暗号鍵(1812)、APM−MAC鍵(1813)、メカニズム指定コード(1815)をそれぞれセキュリティ情報(530)の暗号鍵(533)、APM−MAC鍵(534)、メカニズム指定コード(538)に設定する。
AP−MAC鍵出力は、図16(c)のフォーマットに従ってAP用鍵通知メッセージを作成する。ヘッダ(1601)は図16(b)のフォーマットに従って生成される。メッセージ種別(1611)にはAP用鍵通知メッセージを示す値を、送信元ID(1612)にはAPM―ID(550)を、送信先ID(1613)には各APのID(541)を、セキュリティバージョン(1614)には本システムのセキュリティバージョンを設定する。カウンタ(1602)は設定する必要はない。データ長(1603)にはAP用鍵通知メッセージ全体の長さを示す値を、データ(1604)には暗号化されたAP−MAC鍵を設定する。暗号化されたAP−MAC鍵は、図18(b)のフォーマットに従って、車両制御装置ID(1821)には車両制御装置(111)の車両制御装置ID(531)を、AP−MAC鍵(1822)にはAPM用鍵通知メッセージのAP−MAC鍵(1813)を、メカニズム指定コード(1823)にはメカニズム指定コード(1815)を設定し、各AP固有暗号鍵(542)で暗号化して生成される。改ざん検知コード(1625)には、ヘッダ(1601)、カウンタ(1602)、データ長(1603)、データ(1604)を入力とし、各AP固有MAC鍵(543)を用いて生成した改ざん検知コード(MACとも記す)を設定する。
AP(106)(107)がAP用鍵通知メッセージを受信すると、ステップ(1109)のAP−MAC鍵設定を行う。
AP−MAC鍵設定では、改ざん検知コードの検証と復号を行う。
改ざん検知コードの検証では、受信したAP用鍵通知メッセージのヘッダ(1601)、カウンタ(1602)、データ長(1603)、データ(1604)を入力とし、AP固有MAC鍵(812)で生成した改ざん検知コードが改ざん検知コード(1625)と一致するか確認する。一致しない場合は、改ざん検知コード検証失敗として、AP用鍵通知メッセージを破棄する。
復号では、データ(1604)をAP固有暗号鍵(542)で復号して得られた車両制御装置ID(1821)、AP−MAC鍵(1822)、メカニズム指定コード(1823)を、セキュリティ情報(800)の車両制御装置ID(801)、AP−MAC鍵(802)、メカニズム指定コード(803)にそれぞれ設定する。
ここでは、APが盗難された場合、該当するAPの固有暗号鍵と固有MAC鍵を無効にすることでAP−MAC鍵の漏洩を防止する。ただし、システムの要件に応じて全てのAPが同じ暗号鍵とMAC鍵を使用することも可能である。
図10は地上制御装置(101)と車両制御装置(111)が、APM(103)(104)、AP(106)(107)を介して行う制御メッセージの送受信処理を示す。
制御メッセージの送受信は、地上制御装置(101)の制御メッセージ生成・処理部(331)、APM(103)(104)の制御メッセージ保護部(521)、AP(106)(107)の制御メッセージ保護部(822)、車両制御装置(111)の制御メッセージ生成・処理部(721)および制御メッセージ保護部(724)によって処理される。
地上制御装置(101)はステップ(1001)において該当する車両制御装置(111)に対する制御メッセージを図16(a)(b)のフォーマットに従って生成する。
ヘッダ(1601)のメッセージ種別(1611)には制御メッセージを示す値を、送信元ID(1612)には該当する地上制御装置(101)の地上制御装置ID(340)を、送信先ID(1613)には該当する車両制御装置ID(301)を、セキュリティバージョン(1614)には、暗号化の有無、MAC付与の有無を示す値を設定する。カウンタ(1602)には該当する車両制御装置のカウンタ(306)を、データ長(1603)には制御メッセージ全体の長さを示す値を、データ(1604)には制御情報を設定する。
生成した制御メッセージはAPM(103)(104)に送信される。
APM(103)(104)は、地上制御装置(101)から制御メッセージを受信すると、ステップ(1002)でカウンタの格納と制御メッセージの保護(暗号化、MAC付与)を行う。
カウンタの格納は、該当する車両制御装置のカウンタ(536)に受信した制御メッセージのカウンタ(1602)を設定する。
制御メッセージの保護は、制御メッセージのセキュリティバージョン(1614)の値で判断する。制御メッセージのセキュリティバージョン(1614)がメッセージ保護有を示す場合、図16(c)に従って、保護制御メッセージを生成する。
ヘッダ(1601)、カウンタ(1602)には受信した制御メッセージのヘッダ(1601)、カウンタ(1602)の値を、データ長(1603)には受信した制御メッセージのデータ長に改ざん検知コードの長さを加えた値を設定する。データ(1624)には、受信した制御メッセージのデータ(1604)を該当する車両制御装置の暗号鍵(533)で暗号化した値を設定する。MAC(改ざん検知コード1625)には、ヘッダ(1601)、カウンタ(1602)、データ長(1603)、データ(1624)を入力として、該当する車両制御装置のAPM−MAC鍵(534)で生成した改ざん検知コードを設定する。
車両制御装置(111)は、受信した保護制御メッセージに対して、ステップ(1003)でカウンタ検証・格納、改ざん検知コード検証、制御メッセージの復号化を行う。
カウンタ(1602)の検証は、セキュリティ情報(530)のカウンタ(536)と保護制御メッセージのカウンタ(1602)の差がある閾値以内であることを確認する。閾値以内でない場合は、保護制御メッセージを破棄する。閾値以内の場合はカウンタ(1602)をセキュリティ情報(700)のカウンタ(707)に設定する。
MAC(1625)の検証は、受信した保護制御メッセージのヘッダ(1601)、カウンタ(1602)、データ長(1603)、データ(1624)を入力として、セキュリティ情報(700)のAPM−MAC鍵(704)で改ざん検知コードを生成し、受信した保護制御メッセージのMAC(1625)と同じ値であることを確認する。値が異なる場合、改ざん検知コードの検証失敗として保護制御メッセージを破棄する。値が同じ場合、セキュリティ情報(700)の暗号鍵(703)を使ってデータ(1624)の復号を行い、復号されたデータに従って車両の各種機器に対して制御を実施する。
次に車両制御装置(111)は、ステップ(1007)の応答メッセージの生成、応答メッセージの暗号化とMAC付与を行う。
応答メッセージ生成では、図16(a)(b)のフォーマットに従って応答メッセージが生成される。ヘッダ(1601)のメッセージ種別(1611)には応答メッセージを示す値を、ヘッダ(1601)の送信元ID(1612)には車両制御装置ID(730)を、ヘッダ(1601)の送信先ID(1613)にはセキュリティ情報(700)の地上制御装置ID(705)を、カウンタ(1602)にはセキュリティ情報(700)のカウンタ(707)を、データ長(1603)には応答メッセージの長さを設定する。データ(1604)には応答情報を設定する。
応答メッセージの暗号化とMAC付与では、図16(c)のフォーマットに従って保護応答メッセージが作成される。ヘッダ(1601)、カウンタ(1602)には応答メッセージのヘッダ、カウンタを、データ長(1603)には応答メッセージのデータ長さにAPM用改ざん検知コードとAP用改ざん検知コードの長さを加えた値を設定する。データ(1624)には応答メッセージのデータ(1604)を暗号鍵(703)で暗号化した値を設定する。MAC(1625)には、ヘッダ(1601)、カウンタ(1602)、データ長(1603)、データ(1624)を入力として、APM−MAC鍵(704)とAP−MAC鍵(712)で生成した改ざん検知コードをそれぞれ設定する。
AP(106)は、車両制御装置(111)から保護応答メッセージを受信すると、ステップ(1004)の改ざん検知コード検証処理を行う。改ざん検知コードの検証は、該当する車両制御装置のAP−MAC鍵(802)を使ってステップ(1003)の改ざん検知コードの検証と同様に行う。検証に失敗した場合は、ここで保護応答メッセージを破棄し、成功した場合はAPM(103)に送信する。
APM(103)は、ステップ(1005)において、カウンタ(1602)の検証、MAC(1625)の検証、データ(1624)の復号化、応答メッセージの生成を行う。
カウンタ(1602)の検証は、セキュリティ情報(530)のカウンタ(536)を使い、ステップ(1003)のカウンタ検証と同様に行う。カウンタ検証に失敗した場合は、保護応答メッセージを破棄する。
MAC(1625)の検証は、セキュリティ情報(530)のAPM−MAC鍵(534)を使い、ステップ(1003)のMAC検証と同様の手順で行う。MAC検証に失敗した場合は、保護応答メッセージを破棄する。
データ(1624)の復号化は、セキュリティ情報(530)の暗号鍵(533)を使ってステップ(1003)のデータの復号化と同様の手順で行う。
応答メッセージは、図16(a)のフォーマットに従って生成される。ヘッダ(1601)には受信した保護応答メッセージのヘッダを、カウンタ(1602)には受信した保護応答メッセージのカウンタを、データ長(1603)には受信した保護応答メッセージのデータ長からAP用改ざん検知コードの長さとAPM用改ざん検知コードの長さを引いた値を、データ(1604)には復号したデータを設定する。
生成した応答メッセージは、地上制御装置(101)に送信する。
地上制御装置(101)が応答メッセージを受信すると、ステップ(1006)にて応答メッセージのカウンタ(1602)の値を1カウントアップし、セキュリティ情報(300)のカウンタ(306)に設定する。
本処理は定期的に繰り返される。
次に、地上制御装置(101)が車両の移動に伴い、地上制御装置(101)配下から移動するタイミングが近付いたことを検知した場合の処理について図11で説明する。図11はセキュリティ情報共有処理を示す。
地上制御装置(101)が車両制御装置(111)の移動を検知すると、ステップ(1102)の移動先判定を行う。管理主体が同じ地上制御装置へ移動する場合はステップ(1110)のカウンタ出力、鍵出力を行う。
カウンタ出力では、図16(a)(b)のフォーマットに従って生成される。ヘッダ(1601)のメッセージ種別(1611)にはカウンタ通知メッセージを示す値を、送信元ID(1612)には地上制御装置ID(340)を、送信先ID(1613)には移動先の地上制御装置IDを設定する。カウンタ(1602)に設定する必要はない。データ長(1603)にはカウンタ通知メッセージ全体の長さを設定する。データ(1604)は図18(d)のフォーマットに従って生成される。車両制御装置ID(1841)には車両制御装置(101)の車両制御装置ID(301)、カウンタ(1842)にはカウンタ(306)を設定する。鍵出力は、ステップ(1101)と同様の手順で鍵通知メッセージを作成する。作成したカウンタ通知メッセージと鍵通知メッセージを地上制御装置(102)に送信する。
地上制御装置(102)がカウンタ通知メッセージと鍵通知メッセージを受信すると、ステップ(1106)のステータス変更、カウンタ設定、鍵設定を行う。ステータス変更は、鍵通知メッセージの車両制御装置ID(1811)と同じ車両制御装置ID(301)のステータス(305)を認証済にする。
カウンタ設定では、カウンタ通知メッセージの車両制御装置ID(1841)と同じ車両制御装置ID(301)のカウンタ(306)にカウンタ(1842)を設定する。
鍵設定では、鍵通知メッセージの車両制御装置ID(1811)と同じ車両制御装置ID(301)の暗号鍵(303)、APM−MAC鍵(304)、AP−MAC鍵(309)に暗号鍵(1812)、APM−MAC鍵(1813)、AP−MAC鍵(1814)をそれぞれ設定する。
そして、ステップ(1107)の鍵出力の後、ステップ(1101)と同様に配下にいるAPMへ鍵通知メッセージを送信する。APMもステップ(1104)と同様に鍵設定とAP鍵通知メッセージの送信を行う。APもステップ(1109)と同様に鍵設定を行う。
地上制御装置(102)が車両制御装置(111)から応答メッセージを受信すると、地上制御装置(102)はステップ(1108)で移動確認後、地上制御装置(101)へ移動通知メッセージを送信して移動が完了したことを通知する。
地上制御装置(101)が移動通知メッセージを受信すると、ステップ(1103)でステータス更新で未認証にし、鍵通知メッセージ送信、カウンタ通知メッセージの送信、車両制御装置(101)への制御メッセージ送信を終了する。
なお、移動通知メッセージが届かなかったとしても、APM(103)(104)から一定時間応答メッセージが届かなくなったことを認識した場合、ステップ(1103)を実施する。
次に、ステップ(1102)で管理外の地上制御装置へ移動すると判定した場合の処理について図12で説明する。図12はセキュリティ情報共有処理を示す。
ステップ(1102)で管理外の地上制御装置へ移動すると判定した場合、ステップ(1201)のカウンタ出力、一時鍵生成、一時鍵出力を行う。一時鍵は移動先の地上制御装置(102)と車両制御装置(111)が認証を完了するまでの間の制御メッセージの保護通信に使用される。
カウンタ出力では、ステップ(1110)と同様にカウンタ通知メッセージを作成する。
一時鍵生成では、地上制御装置(101)の乱数生成部(332)で乱数を生成し、生成した乱数を一時暗号鍵、一時APM−MAC鍵、一時AP−MAC鍵、管理外車両用認証鍵とする。生成した一時暗号鍵、一時APM−MAC鍵、一時AP−MAC鍵、管理外車両用認証鍵は、セキュリティ情報(300)の一時暗号鍵(361)、一時APM−MAC鍵(362)、一時AP−MAC鍵(363)、管理外車両用認証鍵(364)にそれぞれ設定する。
一時鍵出力では、図16(c)に従った一時鍵通知メッセージを生成する。ヘッダ(1601)は図16(b)のフォーマットに従い、メッセージ種別(1611)には一時鍵通知メッセージを示す値を、送信元ID(1612)には地上制御装置ID(340)を、送信先ID(1613)には送信先の地上制御装置ID(351)を、セキュリティバージョン(1614)には該当するセキュリティバージョンを設定する。カウンタ(1602)には何も指定しない。データ長(1603)には一時鍵通知メッセージ全体の長さを示す値を設定する。データ(1624)には、図18(c)のフォーマットに従い、車両制御装置ID(1831)に車両制御装置ID(301)を、暗号鍵(1832)に一時暗号鍵(361)を、APM−MAC鍵(1833)に一時APM−MAC鍵(362)を、AP−MAC鍵(1834)に生成した一時AP−MAC鍵(363)を、認証鍵(1835)に生成した管理外車両用認証鍵(364)を、メカニズム指定コード(1836)にメカニズム指定コード(308)を設定し、送信先の地上制御装置IDの暗号鍵(352)で暗号化する。改ざん検知コード(1625)には、ヘッダ(1601)、カウンタ(1602)、データ長(1603)、データ(1624)を入力として、MAC鍵(353)で生成した改ざん検知コードを設定する。
地上制御装置(102)が一時鍵通知メッセージを受信すると、ステップ(1202)の改ざん検知コードの検証、一時鍵通知メッセージの復号化、一時鍵設定、ステータス設定、カウンタ設定、一時鍵出力を行う。
改ざん検知コードの検証は、受信した鍵通知メッセージのヘッダ(1601)、カウンタ(1602)、データ長(1603)、データ(1624)を入力として、送信元IDと同じ他社地上制御装置ID(351)のMAC鍵(353)で改ざん検知コードを生成し、改ざん検知コード(1625)と同じ値であるか確認する。値が異なる場合は、改ざん検知コード検証失敗として鍵通知メッセージを破棄する。
管理外地上制御装置用鍵通知メッセージの復号は、送信元IDと同じ地上制御装置ID(351)の暗号鍵(352)でデータ(1624)を復号する。
鍵設定は、復号したデータ(1624)の車両制御装置ID(1831)、暗号鍵(1832)、APM−MAC鍵(1833)、AP−MAC鍵(1834)、認証鍵(1835)をセキュリティ情報(300)の車両制御装置ID(301)、一時暗号鍵(361)、一時APM−MAC鍵(362)、一時AP−MAC鍵(363)、管理外車両用認証鍵(364)にそれぞれ設定する。また、管理外車両フラグ(365)をオンにする。
ステータス設定では、ステップ(1104)のステータス設定と同様に一時鍵通知メッセージの車両制御装置ID(1831)のステータス(305)に認証済を設定する。
カウンタ設定は、ステップ(1106)と同様に行う。
一時鍵出力では、図16(a)のフォーマットに従ってAPM用一時鍵通知メッセージを生成する。ヘッダ(1601)は図16(b)のフォーマットに従い、メッセージ種別(1611)にAPM用一時鍵通知メッセージを示す値を、送信元ID(1612)に地上制御装置ID(340)を、送信先ID(1613)にブロードキャストを示すIDを、セキュリティバージョン(1614)には本システムのセキュリティバージョンを示す値を設定する。カウンタ(1602)には何も設定しない。データ長(1603)にはAPM用一時鍵通知メッセージの長さを設定する。データ(1604)は図18(c)に従い、車両制御装置ID(1831)、暗号鍵(1832)、APM−MAC鍵(1833)、AP−MAC鍵(1834)、認証鍵(1835)にセキュリティ情報(300)の車両制御装置ID(301)、一時暗号鍵(361)、一時APM−MAC鍵(362)、一時AP−MAC鍵(363)、管理外車両用認証鍵(364)をそれぞれ設定する。ただし、APM用鍵通知メッセージではデータ(1604)の暗号化は行わない。
APM(105)がAPM用一時鍵通知メッセージを受信すると、ステップ(1203)の一時鍵設定と一時鍵出力を行う。一時鍵設定では、データ(1604)の車両制御装置ID(1831)、暗号鍵(1832)、APM−MAC鍵(1833)、認証鍵(1835)をセキュリティ情報(530)の車両制御装置ID(531)、一時暗号鍵(561)、一時APM−MAC鍵(562)、管理外車両用認証鍵(563)にそれぞれ設定する。また、管理外車両フラグ(564)をオンにする。
一時鍵出力では、図16(c)のフォーマットに従い、AP用鍵通知メッセージを作成する。ヘッダ(1601)は図16(b)のフォーマットに従い、メッセージ種別(1611)にAP用一時鍵通知メッセージを示す値を、送信元ID(1612)にAPM ID(550)を、送信先ID(1613)にブロードキャストを示すIDを、セキュリティバージョン(1614)には本システムのセキュリティバージョンを示す値を設定する。カウンタ(1602)には何も設定しない。データ長(1603)にはAP用一時鍵通知メッセージの長さを設定する。データ(1624)は図18(b)に従い、車両制御装置ID(1821)に該当する車両制御装置ID(531)を、AP−MAC鍵(1822)には受信したAPM用鍵通知メッセージのAP−MAC鍵(1834)を、メカニズム指定コード(1823)にメカニズム指定コード(1836)を設定し、各APの固有暗号鍵(542)で暗号化した値を設定する。改ざん検知コード(1625)には、ヘッダ(1601)、カウンタ(1602)、データ長(1603)、データ(1624)を入力として、各AP固有MAC鍵(543)で生成した改ざん検知コードを設定する。
APがAP用一時鍵通知メッセージを受信すると、ステップ(1204)でステップ(1109)と同様の手順で改ざん検知コードと復号化を行う。復号したデータ(1624)の車両制御装置ID(1821)、AP−MAC鍵(1822)、メカニズム指定コード(1823)を、セキュリティ情報(800)も車両制御装置ID(801)、一時AP−MAC鍵(804)、メカニズム指定コード(803)にそれぞれ設定する。
また、ステップ(1102)で管理外の地上制御装置へ移動すると判定した場合の処理について図13で説明する。図13はセキュリティ情報共有処理を示す。
ステップ(1102)で管理外の地上制御装置へ移動すると判定した場合、地上制御装置(101)は配下にいるAPM(103)(104)、AP(106)(107)および該当する車両制御装置(111)に一時鍵を通知するために、ステップ(1301)のAPM用一時鍵通知メッセージ、鍵通知メッセージを生成し、制御メッセージと一緒にAPM(103)(104)に送信する。
APM用鍵通知メッセージの生成はステップ(1202)のAPM用一時鍵通知メッセージの作成、鍵通知メッセージの生成はステップ(1101)、制御メッセージの生成はステップ(1001)と同じ手順である。
APM(103)(104)がAPM用一時鍵通知メッセージ、鍵通知メッセージ、制御メッセージを受信すると、ステップ(1302)でステップ(1204)(1104)(1002)と同じ手順で処理を行い、AP用一時鍵通知メッセージおよび保護制御メッセージを作成する。また、車両制御装置用一時鍵通知メッセージを作成する。
AP(106)(107)がAP用一時鍵通知メッセージを受信すると、ステップ(1304)でステップ(1204)と同じ手順で一時鍵を設定する。
車両制御装置(111)が車両制御装置用一時鍵通知メッセージおよび保護制御メッセージを受信すると、ステップ(1303)で、保護制御メッセージはステップ(1003)と同じ手順で処理される。車両制御装置用一時鍵通知メッセージは、車両制御装置(111)のAPM−MAC鍵(704)を使って改ざん検知コード(1625)の検証を行う。改ざん検知コードの検証に失敗した場合は、車両制御装置用一時鍵メッセージを破棄する。
検証に成功した場合は、暗号鍵(703)を使ってデータ(1624)を復号する。復号したデータの暗号鍵(1731)、APM−MAC鍵(1732)、AP−MAC鍵(1733)、管理外車両用認証鍵(1734)を暗号鍵(703)、APM−MAC鍵(704)、AP−MAC鍵(712)、管理外車両用認証鍵(713)に設定する。
そして、管理主体が異なる地上制御装置と車両制御装置間の認証処理を行う。この処理について図14で説明する。図14はこの認証処理を示す。
車両制御装置(101)は、ステップ(1401)で、ステップ(1004)と同様の手順による保護応答メッセージの生成、ステップ(902)と同様の手順による認証要求メッセージを生成する。ただし、保護応答メッセージのメッセージ種別(1611)には認証メッセージ付き応答メッセージを示す値を設定する。生成した保護応答メッセージおよび認証要求メッセージはAPM(103)(104)に送信する。
APM(103)(104)が保護応答メッセージと認証要求メッセージを受信すると、ステップ(1402)で、ステップ(1005)と同様の手順による保護応答メッセージの検証とステップ(911)と同様の手順による認証要求の受付を行う。ただし、保護応答メッセージの検証に使用する鍵は一時暗号鍵(561)、一時APM−MAC鍵(562)を使用する。応答メッセージと乱数要求を地上制御装置(101)に送信する。
地上制御装置(101)が応答メッセージと乱数要求を受信すると、ステップ(1403)で、ステップ(1001)と同様の手順による制御メッセージの作成、ステップ(921)と同様の手順によるメカニズムの設定と乱数の生成・設定を行い、APM(103)(104)に通知する。
APM(103)(104)が制御メッセージと乱数を受信すると、ステップ(1404)で地上認証データの生成と制御メッセージの保護を行う。地上認証データの生成は、該当車両制御装置(101)の管理外車両用認証鍵(563)を用いてステップ(912)と同様の手順で実施される。制御メッセージの保護は、一時暗号鍵(561)、一時APM−MAC鍵(562)を用いてステップ(1001)から(1006)と同様の手順で実施される。
また、再認証処理は図15の手順で行われる。図15はこの再認証処理を示す。図15に示すように、ステップ(1511)で地上制御装置が再認証要求を車両制御装置(101)に送ると、ステップ(1401)から(1406)と同様に通常の制御メッセージの保護通信を行いながら、ステップ(1501)から(1509)で再認証処理を行う。
ここでは、認証に関係するメッセージと制御に関係するメッセージをそれぞれ作成し、合わせて送信したが、1つのメッセージとして処理してもよいし、送信可能なメッセージ長が制限されている場合は、その長さに合わせて認証メッセージを分割してもよい。
また、ここでは、地上制御システムの通信路、すなわち地上制御装置間、地上制御装置とAPM間の通信路は安全と仮定して、該当通信路に対してはセキュリティ対策を施していないが、それぞれにおいても、認証や鍵共有技術で同等に保護するこが可能である。また、メカニズム指定コードなどは、システムとして同一のメカニズム(暗号アルゴリズムなど)を用いるとする場合には、省略可能である。
このように、本実施形態によれば、列車などの移動体を捕捉し、制御する無線制御セキュリティシステムにおいて、地上システムをAP、APM、地上制御装置の3段構成とすることでセキュリティ処理に伴う負荷を軽減し、大規模なシステムへの拡張を可能とし、後方の装置である地上制御装置がセキュリティ状態を生成することで多重系の端末立ち上げ処理が容易な無線制御セキュリティシステムを提供できる。もちろん、これらの特徴を一つだけ採用することも可能である。
本システムは、列車などの制御だけでなく、車や歩行者などの移動体に関するサービスシステムなどに応用することができる。
101、102:地上制御装置、103、104、105:APM、106、107、108:AP、111:車両制御装置、112:列車、113、114:地上子、201:端末、202:CPU、203:メモリ、204:記憶装置、205:通信IF、206:周辺機器接続IF、207:表示装置、210:ネットワーク。