(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について図面を用いて説明する。
【0014】
(実施形態1)
図1に示すように、実施形態1における簡易認証システム1は、モニタステーション110、認証センタ120、マスタコントロールステーション130及び車載機200を含む。車載機200を用いる車両を車両Aとする。車載機200が請求項の航法メッセージ受信装置に相当する。
【0015】
<簡易認証システム1の概略構成>
モニタステーション110は、衛星測位システムの一つであるGPSが備えるGPS衛星2a〜2cが発信するGPS電波を受信する。GPS衛星2a〜2cが請求項の人工衛星に相当する。以降では、GPS衛星2a〜2cの個々を区別しない場合にはGPS衛星2と表現する。周知のように、GPS電波には航法メッセージが含まれている。モニタステーション110は、受信したGPS電波を復調して航法メッセージを抽出し、認証センタ120へ送る。複数のGPS衛星2からGPS電波を受信した場合には、それぞれのGPS電波から航法メッセージを抽出して、認証センタ120へ送る。
【0016】
認証センタ120は、航法メッセージと暗号キーであるHマトリクスとからパリティデータを作成する。そして、このパリティデータを含む信号をマスタコントロールステーション130に送る。また、車載機200との間で通信も行う。この認証センタ120の詳細な説明は
図2を用いて後に行う。
【0017】
マスタコントロールステーション130は、認証センタ120から受信したパリティデータを準天頂衛星(以下、QZS衛星)3に送信する。QZS衛星3は、パリティデータを含んだ航法メッセージを地上に向けて放送する。
【0018】
車載機200は、航法メッセージ認証型(NMA:Navigation Message Authentication)車載機である。車載機200は、認証センタ120と通信を行い、GPS衛星2から受信した航法メッセージが正規の航法メッセージであることの認証を行う。認証の詳細な説明については、
図4を用いて後に行う。
【0019】
また、車載機200は、複数のGPS衛星2から受信した航法メッセージを用いて自機器の現在位置を測位する。現在位置の測位には、最低でも3つのGPS衛星2から受信した航法メッセージを用いる。
【0020】
さらに、車載機200は、自機器で認証が成立した航法メッセージを用いて、その航法メッセージとほぼ同じタイミングで受信していた他のGPS衛星2の航法メッセージが正規のものであるかを、認証センタ120へのアクセスなしに判断する簡易判断処理を行う。車載機200の詳細な説明は、
図3を用いて後に行う。
【0021】
<認証センタ120の詳細構成>
図2に示すように、認証センタ120は、制御部122、データ記憶部124、通信部126を備える。
【0022】
制御部122は、CPU、ROM、RAM等を備えたコンピュータであり、データ記憶部124、通信部126を制御する。また、CPUが、RAMの一時記憶機能を利用しつつROMに記憶されているプログラムを実行することで、RANDメッセージ生成部1221、SEED値生成部1222、Hマトリクス計算部1223、パリティ計算部1224、信号加工部1225として機能する。なお、これら、各部1221〜1225の機能は、特許文献1に開示されている機能と同じでよい。
【0023】
RANDメッセージ生成部1221は、モニタステーション110から取得する航法メッセージから、RANDメッセージを作成する。RANDメッセージは、航法メッセージのビット列の中から、TOW(time of week)のビット列のデータとエフェメリスデータのうちのクロック補正パラメータであるTOC、AF0、AF1とが順番に並んでいる。TOW、TOC、AF0、AF1が信号の発信時刻を特定するデータであって、請求項の発信時刻に相当する。さらに、その後に、アンチスプーフフラグであるAS Flag、衛星番号であるPRN(Pseudo Random Noise)IDが追加されている。
【0024】
TOWとPRN IDを含んでいるRANDは、どのGPS衛星がいつ発信したかを示すデータであると言える。また、TOWが6秒ごとに変化し、また、PRN IDを含んでいるので、モニタステーション110が受信したGPS衛星2ごと、かつ、6秒ごとにRANDを生成することになる。
【0025】
SEED値生成部1222は、PCクロックを入力として乱数を発生させることで、SEED値を生成する。
【0026】
Hマトリクス計算部1223は、SEED値生成部1222が生成したSEED値を使い、このSEED値に一対一に対応するHマトリクスを計算する。Hマトリクスとしては、周知のハッシュ関数を用いればよく、例えばLDPC(Low Density Parity Check)符号化を行うためのパリティ検査行列を用いればよい。さらに、パリティ検査行列から決定される生成行列を用いてもよい。
【0027】
パリティ計算部1224は、RANDメッセージ生成部1221が生成したRANDメッセージと、Hマトリクス計算部1223が計算したHマトリクスに基づいて、パリティデータを計算する。
【0028】
信号加工部1225は、パリティ計算部1224が計算したパリティデータ、及びその計算に使用したRANDメッセージを、QZS衛星3から発信させる航法メッセージに挿入する。そして、挿入済みの航法メッセージをマスタコントロールステーション130に送る。
【0029】
さらに、信号加工部1225は、信号の挿入に合せて、パリティ計算部1224が計算したパリティデータ、パリティデータの計算に用いたRANDメッセージ、Hマトリクス、Hマトリクスの計算に用いたSEED値を対応付けて、データ記憶部124に記憶する。
【0030】
この信号加工部1225は、RANDメッセージ生成部1221がRANDメッセージを生成するごとに、RANDメッセージとパリティデータをQZS衛星3に送信させる航法メッセージに挿入する。よって、RANDメッセージ生成部1221、SEED値生成部1222、Hマトリクス計算部1223、パリティ計算部1224も、RANDメッセージ生成部1221がRANDメッセージを生成するごとに、処理を実行する。
【0031】
Hマトリクス選択部1226は、車載機200から送信されてきたPRN ID、TOW、公開キーを通信部126で受信した場合に、データ記憶部124に記憶されているHマトリクスから、受信したPRN ID、TOWに対応するHマトリクスを選択する。そして、選択したHマトリクスを公開鍵で暗号化し、暗号化したHマトリクスを車載機200へ返信する。
【0032】
<車載機200の詳細構成>
QZS衛星3が放送した航法メッセージは、車載機200の通信部210が備える受信部211に受信される。
図3に示すように、この車載機200は、通信部210、制御部220、衛星受信機230を備える。
【0033】
通信部210は、受信部211と送信部212とを備える。通信部210は、広域通信機能を備えている。広域通信機能は、例えば、通信距離が数キロメートルであり、公衆通信回線網の基地局と通信を行うことにより、公衆通信回線網の通信圏内にある他の通信機器と通信することができる。広域通信機能により、認証センタ120の通信部126との間で通信を行う。
【0034】
衛星受信機230は、GPS衛星2、QZS衛星3が発信する電波を一定周期で受信する。衛星受信機230は、一定の周期ごとに、1周期内にGPS衛星2から受信した航法メッセージを車載機200の制御部220に出力する。よって、1周期内に複数のGPS衛星2から航法メッセージを受信していた場合には、これらのGPS衛星2についての航法メッセージを制御部320に出力することになる。1周期内に受信した複数の航法メッセージは、ほぼ同じタイミングで受信した航法メッセージと言える。
【0035】
制御部220は、CPU、ROM、RAM等を備えたコンピュータであり、通信部210、衛星受信機230を制御する。また、CPUが、RAMの一時記憶機能を利用しつつROMに記憶されているプログラムを実行することで、
図4に示す認証関連処理や
図5に示す簡易判断処理を実行する。
【0036】
<認証関連処理>
続いて、車載機200の制御部220での、衛星受信機230で受信した信号がGPS衛星2から受信した正規の航法メッセージであることの認証に関連する処理(以下、認証関連処理)について、
図4に示すフローチャートを用いて説明を行う。
図4のフローチャートは、例えば衛星受信機230が前述の1周期内に受信した3つ以上のGPS衛星2からGPS電波を受信するごとに実行する構成とすればよい。
【0037】
ここで、衛星受信機230は、GPS衛星2からの信号を複製するリピータや、GPS衛星2からの信号を擬似的に生成可能なシミュレータからの信号を、GPS電波に含まれる航法メッセージと誤って受信している場合もあるものとする。
【0038】
まず、ステップS1では、3つ以上の複数のGPS衛星2から受信したGPS電波に含まれる航法メッセージに基づいて自装置の現在位置を測位する。
【0039】
ステップS2では、QZS衛星3から受信した航法メッセージを、受信部211から取得する。ステップS3では、S1で取得した航法メッセージから、PRN ID、TOWを抽出する。
【0040】
ステップS4では、S3で抽出したPRN IDとTOWを公開鍵とともに、送信部212から認証センタ120へ送信する。前述したように、認証センタ120は、このPRN IDとTOWとにより定まるHマトリクスを、公開鍵により暗号化して車載機200へ送信する。車載機200から認証センタ120に送信したPRN IDとTOWとにより定まるHマトリクスが、請求項の認証用情報に相当する。
【0041】
ステップS5では、認証センタ120から送信されたHマトリクスを受信部211から取得する。つまり、GPS衛星2から受信した航法メッセージに応じたHマトリクスを認証センタ120から受信する。このS5が請求項の認証用情報受信部に相当する。ステップS6では、S5で取得した、暗号化されたHマトリクスを秘密鍵で復号する。
【0042】
ステップS7では、GPS衛星2から受信したGPS電波に含まれる航法メッセージのうち、S4で送信したPRN IDと同じPRN IDを含んでいる航法メッセージから、RANDメッセージを作成する。
【0043】
ステップS8では、S7で作成したRANDメッセージと、S6で復号したHマトリクスとに基づいて、比較パリティデータを作成する。ステップS9では、S8で作成した比較パリティデータと、S3で抽出したパリティデータとが一致するか否かを判断する。
【0044】
S6で復号したHマトリクスは、認証センタ120がパリティデータの作成に使用したHマトリクスと同じである。そして、認証センタ120のパリティ計算部1224は、このHマトリクスとRANDメッセージとに基づいてパリティデータを計算している。
【0045】
よって、S8で作成した比較パリティデータが、S3で抽出したパリティデータと一致する場合、S7で作成したRANDメッセージが、認証センタ120が作成したRANDメッセージと同じであると考えることができる。
【0046】
そこで、S8で作成した比較パリティデータと、S3で抽出したパリティデータとが一致する場合(S9でYES)には、ステップS10に進み、認証成立とする。認証成立した場合、
図4の処理を終了する。一方、2つのパリティデータが一致しない場合(S9でNO)には、ステップS11に進み、認証不成立とする。認証不成立であった場合には、S2に戻り、S1での測位に用いた全ての航法メッセージのうちの、1つでも認証成立となるまで処理を繰り返す。このように、認証関連処理では、GPS衛星2から受信した航法メッセージに応じて認証センタ120から受信したHマトリクス(つまり、認証用情報)を用いて認証を行う。このS9〜S11が請求項のセンタ使用認証部に相当する。
【0047】
<簡易判断処理>
ここで、実施形態1における車載機200の制御部320での簡易判断処理について、
図5に示すフローチャートを用いて説明を行う。
図5のフローチャートは、測位に用いた複数の航法メッセージのうち、少なくとも1つの航法メッセージについて認証関連処理で認証が成立したときに開始する構成とすればよい。
図5のフローチャートは、測位に用いた複数の航法メッセージのうち、認証関連処理で認証を未だに行っていない航法メッセージについてそれぞれ処理を行う構成とすればよい。
【0048】
まず、ステップS21では、測位に用いた航法メッセージのうち、認証関連処理で認証が成立した航法メッセージ(つまり、認証済航法メッセージ)以外の航法メッセージ(以下、未認証航法メッセージ)を取得する。
【0049】
ステップS22では、S21で取得した未認証航法メッセージに含まれる発信時刻と、認証済航法メッセージに含まれる発信時刻とが一致しているか否かを判定する。ここで言うところの一致とは、完全に一致する場合だけでなく、誤差程度の範囲内で略一致する場合も含むものとする。認証済航法メッセージに含まれる発信時刻が請求項の整合情報に相当し、S22が請求項の整合性判定部に相当する。
【0050】
ここで、S22の処理の一例について、
図6を用いて説明を行う。
図6の例では、測位に用いられたGPS衛星のうち、GPS衛星2aから発信された航法メッセージについては、車載機200で認証センタ120を用いた認証が成立しており、GPS衛星2bから発信された航法メッセージについては認証が未だ行われていないものとする。
【0051】
また、GPS衛星2aから発信された航法メッセージ(つまり、認証済航法メッセージ)の発信時刻をTi1とし、GPS衛星2bから発信された航法メッセージ(つまり、未認証航法メッセージ)の発信時刻をTi2とする。S22の処理では、認証済航法メッセージの発信時刻(Ti1)と未認証航法メッセージの発信時刻(Ti2)とが一致しているか否かを判定する。
【0052】
衛星受信機230において1周期内に受信する複数の航法メッセージは、GPS衛星2からの信号を複製するリピータやGPS衛星2からの信号を擬似的に生成可能なシミュレータが用いられていなければ、発信時刻が一致する関係にある。
【0053】
ステップS23では、発信時刻が一致していると判定した場合(S23でYES)には、認証済航法メッセージに含まれていた発信時刻と整合性が取れる発信時刻が未認証航法メッセージに含まれると判定し、S24に進む。S24では、S21で取得した未認証航法メッセージを、正規の航法メッセージであると判断し、処理を終了する。一方、発信時刻が一致していないと判定した場合(S23でNO)には、S21で取得した未認証航法メッセージを、正規の航法メッセージであると判断せず、処理を終了する。このS23〜S24が請求項の簡易判断部に相当する。
【0054】
なお、S23でNOであった場合には、S21で取得した未認証航法メッセージを、正規の航法メッセージでないと判断する構成としてもよい。
【0055】
<実施形態1のまとめ>
実施形態1によれば、測位に用いた複数の航法メッセージのうち、1つの航法メッセージについて、認証センタ120を用いて車載機200で認証が成立すると、測位に用いたその他の航法メッセージについては、発信時刻をもとに、正規のものであるかを判断することが可能になる。従って、測位に用いたその他の航法メッセージについて、車載機200が認証センタ120からHマトリクスを受信しなくてもよくなる分だけ、認証センタ120の通信処理負荷を軽減できる。
【0056】
リピータやシミュレータが用いられなければ、測位に用いた複数の航法メッセージに含まれる発信時刻は一致する。実施形態1では、この発信時刻が、認証が成立した航法メッセージと一致するか否かによって、正規の航法メッセージかを判断するので、リピータやシミュレータが用いられた場合に、航法メッセージを正規の航法メッセージと判断しないようにすることができる。よって、正規の航法メッセージと判断する精度を高めることができる。
<変形例1>
実施形態1では、測位に用いた複数の航法メッセージのうちの、認証済航法メッセージに含まれる発信時刻と未認証航法メッセージに含まれる発信時刻とが一致するか否かによって、未認証航法メッセージが正規のものかを判断する構成を説明したが、必ずしもこれに限らない。
【0057】
例えば、同一のGPS衛星2について、認証済航法メッセージに含まれるGPS衛星2の軌道情報及びその認証済航法メッセージに含まれる発信時刻とから定まる衛星位置と、未認証航法メッセージに含まれるGPS衛星2の軌道情報及びその未認証航法メッセージに含まれる発信時刻とから定まる衛星位置とが一致するか否かによって、未認証航法メッセージが正規のものかを判断する構成(以下、変形例1)としてもよい。変形例1は、車載機200の制御部220での処理が一部異なる点を除けば、実施形態1と同様である。詳しくは、変形例1では、制御部220での簡易判断処理の一部が、実施形態1と異なっている。
【0058】
航法メッセージには、周知のようにエフェメリスデータやアルマナックデータが含まれる。アルマナックデータには、航法メッセージの発信元のGPS衛星2に限らない、軌道上の全てのGPS衛星2についての軌道情報が含まれ、この軌道情報と航法メッセージの発信時刻とから、全てのGPS衛星2の衛星位置が算出できる。また、エフェメリスデータには、航法メッセージの発信元のGPS衛星2についての軌道情報が含まれ、この軌道情報と航法メッセージの発信時刻とから、この航法メッセージの発信元のGPS衛星2のより精度の高い衛星位置が算出できる。
【0059】
変形例1では、このアルマナックデータに含まれる軌道情報と、エフェメリスデータに含まれる軌道情報のうち、アルマナックデータに含まれる軌道情報を用いる。以降では、アルマナックデータに含まれる軌道情報を単に軌道情報と呼ぶ。
【0060】
<変形例1における簡易判断処理>
ここで、変形例1における車載機200の制御部220での簡易判断処理について、
図7に示すフローチャートを用いて説明を行う。
図7のフローチャートも、測位に用いた複数の航法メッセージのうち、少なくとも1つの航法メッセージについて認証関連処理で認証が成立したときに開始する構成とすればよい。
図7のフローチャートも、測位に用いた複数の航法メッセージのうち、認証関連処理で認証を未だに行っていない航法メッセージについてそれぞれ処理を行う構成とすればよい。
【0061】
図7の例では、認証済航法メッセージの発信元のGPS衛星2がGPS衛星2aである場合を例に挙げて説明を行う。
【0062】
まず、ステップS31では、前述のS21と同様にして、測位に用いた航法メッセージのうち、認証済航法メッセージ以外の未認証航法メッセージを取得する。
【0063】
ステップS32では、測位に用いた認証済航法メッセージに含まれる発信時刻と、認証済航法メッセージに含まれるGPS衛星2aの軌道情報から、GPS衛星2aの位置を算出する。よって、発信時刻及び軌道情報が請求項の衛星位置算出用情報に相当する。
【0064】
ステップS33では、測位に用いた未認証航法メッセージに含まれる発信時刻と、未認証航法メッセージに含まれるGPS衛星2aの軌道情報から、GPS衛星2aの位置を算出する。認証済航法メッセージの発信元のGPS衛星2a以外のGPS衛星2から受信した未認証航法メッセージに含まれる軌道情報からGPS衛星2aの衛星位置が算出できる理由は以下の通りである。認証済航法メッセージの発信元のGPS衛星2a以外のGPS衛星2が請求項の未認証衛星に相当する。
【0065】
アルマナックデータに含まれる軌道情報には、未認証航法メッセージの発信元のGPS衛星2以外のGPS衛星2aについての軌道情報も含まれている。また、衛星受信機230において1周期内に受信する複数の航法メッセージは、前述のリピータやシミュレータが用いられていなければ、発信時刻が一致する関係にある。よって、未認証航法メッセージに含まれる発信時刻と軌道情報とからでも、GPS衛星2aの衛星位置が算出できる。
【0066】
ステップS34では、S32で算出したGPS衛星2aの衛星位置と、S33で算出したGPS衛星2aの衛星位置とが一致しているか否かを判定する。ここで言うところの一致とは、完全に一致する場合だけでなく、誤差程度の範囲内で略一致する場合も含むものとする。このS34が請求項の整合性判定部に相当する。
【0067】
前述のリピータやシミュレータが用いられていなければ、測位に用いられた未認証航法メッセージと認証済航法メッセージとは発信時刻が一致する筈である。従って、リピータやシミュレータが用いられていなければ、未認証航法メッセージに含まれる発信時刻と軌道情報とから、認証済航法メッセージに含まれる発信時刻と軌道情報とから算出されるGPS衛星2aの衛星位置と同じ衛星位置が算出できる。従って、リピータやシミュレータが用いられていなければ、S32で算出したGPS衛星2aの衛星位置と、S33で算出したGPS衛星2aの衛星位置とが一致することになる。
【0068】
ステップS35では、衛星位置が一致していると判定した場合(S35でYES)には、認証済航法メッセージに含まれていた軌道情報及び発信時刻と整合性が取れる軌道情報及び発信時刻が未認証航法メッセージに含まれると判定し、S36に進む。S36では、S31で取得した未認証航法メッセージを、正規の航法メッセージであると判断し、処理を終了する。一方、衛星位置が一致していないと判定した場合(S35でNO)には、S31で取得した未認証航法メッセージを、正規の航法メッセージであると判断せず、処理を終了する。このS35〜S36も請求項の簡易判断部に相当する。
【0069】
なお、S35でNOであった場合には、S31で取得した未認証航法メッセージを、正規の航法メッセージでないと判断する構成としてもよい。
【0070】
<変形例1のまとめ>
変形例1によっても、実施形態1と同様に、測位に用いた複数の航法メッセージのうち、1つの航法メッセージについて、認証センタ120を用いて車載機200で認証が成立すると、測位に用いたその他の航法メッセージについては、軌道情報及び発信時刻から算出される衛星位置から、正規のものであるかを判断することが可能になる。従って、測位に用いたその他の航法メッセージについて、車載機200が認証センタ120からHマトリクスを受信しなくてもよくなる分だけ、認証センタ120の通信処理負荷を軽減できる。
【0071】
リピータやシミュレータが用いられると、測位に用いた複数の航法メッセージに含まれる発信時刻が一致しないようになり、発信時刻と軌道情報とから算出される同一のGPS衛星2の衛星位置についても一致しないようになる。実施形態1では、この衛星位置が、認証が成立した航法メッセージと一致するか否かによって、正規の航法メッセージかを判断するので、リピータやシミュレータが用いられた場合に、航法メッセージを正規の航法メッセージと判断しないようにすることができる。よって、正規の航法メッセージと判断する精度を高めることができる。
【0072】
なお、変形例1では、一致を判定する衛星位置として、認証済航法メッセージの発信元のGPS衛星2aの衛星位置を用いる場合を例に挙げて説明を行ったが、測位に用いた航法メッセージの発信元のGPS衛星2であれば、GPS衛星2a以外の衛星位置を用いる構成としてもよい。
【0073】
<変形例2>
なお、前述の実施形態では、GPS衛星2から受信した航法メッセージのみを測位に用いた場合の例を挙げて説明を行ったが、QZS衛星3から受信した航法メッセージを測位に用いる構成としてもよい。この場合、QZS衛星3から受信した航法メッセージの認証についても、GPS衛星2の場合と同様にして行う構成とすればよい。
【0074】
変形例2の一例としては、QZS衛星3からモニタステーション110で受信した航法メッセージからRANDメッセージを生成し、このRANDメッセージをもとに認証センタ120でパリティデータを作成する。そして、作成したパリティデータをマスタコントロールステーション130に送り、そのパリティデータをマスタコントロールステーション130からQZS衛星3に送信する。QZS衛星3は、そのパリティデータを含んだ航法メッセージを地上に向けて放送する。
【0075】
車載機200は、QZS衛星3から受信した航法メッセージからRANDメッセージを作成し、このRANDメッセージと認証センタ120から取得するHマトリクスとから比較パリティデータを作成する。そして、作成した比較パリティデータと、QZS衛星3から受信したパリティデータとを比較することで認証を行う構成とすればよい。
【0076】
<変形例3>
前述の実施形態で説明した航法メッセージ認証型の認証方法はあくまで一例であり、認証機関へのアクセスが必要な認証方法であれば、他の認証方法を用いる構成(以下、変形例3)としてもよい。
【0077】
<変形例4>
前述の実施形態では、車両で用いられる車載機200を例に挙げて説明を行ったが、必ずしもこれに限らない。例えば、車載機200と同様の航法メッセージ受信装置を、ユーザに携帯される携帯端末等に適用する構成としてもよい。
【0078】
なお、本発明は、上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。