【実施例】
【0034】
〔位置情報認証システムの構成〕
本発明の第一の課題である、位置情報認証の信頼性を担保する構成を地上設備で一括して実現する実施形態について、
図1を用いて詳述する。
【0035】
GPS衛星1から測位情報の加味されたコード信号であるナビゲーションメッセージ11をQZSSの第1の地上設備であるモニターステーション2で受信する。ナビゲーションメッセージ11はL1C/A信号21のメッセージレベルのコードである。
【0036】
ここでL1C/A信号は、QZSSで用いられるCoarse/Acquisition Codeからなる衛星測位信号の一つである。
【0037】
認証センター(AC)3は、本発明で新たに提案された準天頂衛星システム(QZSS)の地上設備である。認証センター3は、信号生成部31と、処理部32と、信号情報格納部33と、信号情報送受信部34から構成される。
【0038】
信号生成部31はRAND生成部311と、ユニークな整数のSEED値を生成するSEED値生成部312の2つのブロックから構成される。RANDメッセージとは、後述するように本発明で提案する新しい信号体系であって、レファランス認証ナビゲーションデータ(RAND: Reference Authentication Navigation Data)の略である。
【0039】
処理部32はH-マトリクス計算部321とLDPC計算部322と信号加工部323の3つのブロックから構成される。H-マトリクス計算部321へ信号生成部31のSEED値生成部312から該当SEED値が入力されて、RAND+パリティビットからなる信号が加工される。H-マトリクス計算部321ではSEED値を使って暗号コードであるLDPC(Low Density Parity Check)計算に用いるH-マトリクスを生成する。
【0040】
一方、LDPC計算部322へ信号生成部31のRAND生成部311から該当RANDメッセージが入力されて、H-マトリクス計算部321のH-マトリクス計算結果と併せてLDPCが演算される。LDPC(Low Density Parity Check)は、誤り訂正ブロックコードに属し疎グラフコードに分類される低密度パリティ検査コードであって、デジタルテレビの衛星通信等に用いられている信頼性の高い誤り訂正コードである。
【0041】
計算されたLDPCの結果は信号加工部323でRANDメッセージとパリティビットに分割されるが、その詳細は
図3で詳述する。
【0042】
信号加工部323の結果はQZSSの第二の地上設備であるマスタコントロールステーション(MCS)4へ出力信号41として出力される。この時、出力信号41の情報を認証センター3の信号情報格納部33のデータベースACDB331に格納保管する。格納内容についてはデータベースのデータ構造とあわせて
図8で詳述する。
【0043】
信号情報送受信部34はACDB331のデータをGPS/QZSS認証機能を持つ受信機6とハンドシェイクする時に用いられる。出カデータ41はマスタコントロールステーション4からQZS衛星5へQZSSのナビゲーションメッセージ51としてアップリンクされる。
【0044】
本実施例の認証センター3は、位置情報認証の信頼性を担保する地上設備であり、位置情報認証を一括して制御可能である。通常、衛星信号はモニターステーション2とマスタコントロールステーション4の間で種々の信号と分離合体される。認証センター3は認証機能だけを実行する設備であって、モニターステーションやマスタコントロールステーション等の地上設備のいずれかに設置されれば良く、その物理的な位置や形態は問わない。
〔レファランス認証ナビゲーションデータ:RANDメッセージ〕
つぎに、第二の課題である、既存のGPS信号構造を変えることなく補完衛星であるQZS衛星の信号構造に最小限の修正を加えて新たな信号を生成し、信頼性の高い測位衛星システムを効率よく構成する実施形態について、
図2〜
図5を用いて詳述する。
(信号生成部)
図2で認証センター3において、RAND生成部311とSEED値生成部312からなる信号生成部31について詳述する。
【0045】
RAND生成部311は、GPS L1C/A信号のSub-Frame1のWord2,8と9からなる信号3111と、GPSの該当するPRN(Pseudo Range Noise)ID及びAS flagからなる信号3112から、80ビットのRAND メッセージ3113を生成する。
【0046】
一方、信号生成部31のSEED値生成部312でGPS信号において秘匿された暗号キーに使用されるSEED値が生成される。SEED値生成部312は、PCクロック3121と乱数発生部3112によって36ビットのSEED値3123を生成する。
(RANDメッセージ)
次に
図3によって、本発明の特徴であるRANDメッセージの生成方法について詳述する。GPS衛星1から送信されるナビゲーションメッセージ11はSub-Frame1からSub-Frame5 のPage25までのビット列で構成されている。さらに、符号12で示すSub-Frame1はWord1〜Word10で構成されている。
【0047】
認証センター3の信号生成部31のRAND生成部311で、GPS衛星1から送信されたL1C/A信号21のビット列の中から、信号の発生時刻を特定するTime of Weekのビット列データとエフェメリスデータ(天体位置座標)であるTOC、Af0、Af1を抽出し、アンチスプーフフラッグであるAS flag(Anti-Spoof flag)及び衛星特定番号であるPRN(Pseudo Range Noise)IDを追加して、レファランス認証ナビゲーションデータ(RAND: Reference Authentication Navigation Data) メッセージ13を生成する。
【0048】
RANDメッセージ13において、Time of Weekの17ビットは6秒ごとに変化する時間変化成分である。TOC(16ビット)、af0(16ビット)、af1(22ビット)は4時間にわたって一定値を取り、またはエフェメリスデータがアップロードされるまで一定値を取る。AS flagは常に“1"である。PRN IDは衛星毎に割り当てられた一定値でありどの衛星から受信しているかを特定する。
(信号加工部)
次に、
図4によって認証センター3において、処理部32の信号加工部323について詳述する。信号加工部323では、GPS L1C/A信号324の有する3種類の信号に基づいて、新たにQZSS(準天頂衛星システム)で用いる認証信号を加工生成する。
【0049】
GPS L1C/A信号324の一番目の信号は、GPS L1C/A信号324のSub-Frame1とLDPCパリティビットからなる信号3241である。信号3241は、QZSS L1C/A信号325のSub-Frame1のWord4,5,6と7からなる信号3251に変換される。
【0050】
第二番目の信号は、GPS L1C/A信号324のSub-Frame1とRANDメッセージとLDPCパリティビットからなる信号3242である。信号3242は、QZSS L1C/A信号325の Sub-Frame4の Word3,4,5と6+Word7,8,9と10からなる信号3252に変換される。
【0051】
第三番目の信号は、Sub-Frame1とRANDメッセージとLDPCパリティビットとSEED値等の他のデータからなる信号3243である。信号3243は、QZSS L1SAIF信号326のメッセージタイプNの信号3263に変換される。NはQZSSのナビゲーションメッセージの予備ビット(リザーブビット)である。L1SAIF信号もまた、QZSSで用いられる衛星測位信号の一つである。
【0052】
つまり、信号加工部323においては、GPSのL1C/A信号の構造自体に手を加えることなく、QZSSのL1C/A信号またはL1SAIF信号にそれぞれ最小限の変更を加えることによって新たにQZSSで用いる認証信号の加工生成を可能としている。
(信号加工処理)
さらに、
図5によつて、
図4の変換処理のフローを詳述する。入力はGPS L1C/A信号324である。
【0053】
始めの分岐点S12で、入力信号にLDPCパリティビットがあるかないかを判断する。LDPCパリティビットがあればYとして 経路S13を選択し、QZSS L1C/A信号のSub-Frame1の Word4,5,6 and 7に LDPCパリティビットを挿入して加工処理を終了する。無ければNとして分岐点S14に進む。
【0054】
次に、分岐点S14では、入力信号にRANDメッセージとLDPCパリティビットがあるかないかを判断する。RANDメッセージとLDPCパリティビットがあればYとして経路S15を選択し、QZSS L1C/A信号の Sub-FramelのWord3,4,5and6にRANDメッセージを挿入し、Word7,8,9and10にLDPCパリティビットを挿入する。なければNとして分岐点S16に進む。
【0055】
次に、分岐点S16では、入力信号にRANDメッセージとLDPCパリティビットとその他の値があるかないかを判断する。RANDメッセージとLDPCパリティビットとその他の値があればYとして経路S17を選択し、QZSS L1SAIF信号のメッセージタイプNにRANDメッセージとLDPCパリティビットとその他の値を挿入する。Nの場合は、始めの分岐点S12に戻り、再度この経路と判定を繰り返す。
【0056】
以上のフローから明らかなように、入力信号であるGPS L1C/A信号324は、2種類のQZSS L1C/A信号のSub-Frame1メッセージ、Sub-Frame4メッセージ及び1種類のQZSS L1SAIF信号のメッセージタイプNのメッセージのいずれかに変換される。
【0057】
上述したGPS L1C/Aの3種類の信号及び、QZSSの二つのL1C/A信号とL1SAIF信号は、上記実施例の様にいずれか一つを選択的に用いても良く、或いはこれらの内の任意の2つ、または3つを組み合わせて同時に用いてもよい。
〔認証センター情報による認証判定〕
最後に、第三の課題である現行のGPS受信機に大きな変更を加えることなく、現行のGPSシステムと親和性のあるGPSシステムを構成する実施形態について、
図6を用いて詳述する。
【0058】
図6において、GPS/QZSS認証機能を有する受信機6は、QZS衛星5からQZSSのナビゲーションメッセージ51を受信する。ナビゲーションメッセージ51はマスタコントロールステーション4からアップリンクされ、QZS衛星5で折り返されたナビゲーションメッセージ51と同一である。ナビゲーションメッセージ51は受信機6の信号受信部61で受信し、RANDメッセージ/LDPCパリティビット抽出部62でRANDメッセージとLDPCパリティビットを抽出する。
【0059】
一方、RANDメッセージ/LDPCパリティビット抽出部62で抽出されたRANDメッセージの中のTime of WeekとPRN IDを検索キーとして、認証センター3の信号情報格納部33のACDB331に格納されたデータから、認証センター3の信号情報送受信部34と受信機6の信号情報送受信部63を経由して、RANDメッセージとこれを生成したときのH-マトリクスを入手して、受信機6のRANDメッセージ/H-マトリクス格納部64に格納する。
【0060】
次いで、入手したH-マトリクスを用いてLDPC演算部65でLDPC演算を実行し、LDPCパリティビットを計算する。
【0061】
さらに、抽出部62で抽出されたLDPCパリティビットとLDPC演算部65で計算されたLDPCパリティビットをLDPCパリティビット比較部66で比較する。両者が等しい値であれば、認証判定部67において正しいGPSデータとして認証が成立したと判定される。
(認証判定処理)
ここで
図7のフロー図を使って認証判定の信号処理について詳述する。GPS/QZSS認証機能部を有する受信機6と認証センター3の間のアクセスを中心にフローを解説する。
【0062】
始めにステップS21で、受信機6がQZS衛星5からのナビゲーションメッセージ51を受信する。
【0063】
ステップS22で、ナビゲーションメッセージ51からRANDメッセージとLDPCパリティビットを抽出する。この時、ナビゲーションメッセージ51が
図4に示すQZSS L1C/A信号のSub-Frame1からなる信号3251、Sub-Frame4からなる信号3252、またはQZSS L1SAIF信号のメッセージタイプNである信号3263であることが重要である。
【0064】
信号3251、3252と信号3263からRANDメッセージとLDPCパリティビットが抽出される。
【0065】
次にステップS23でRANDメッセージの衛星番号PRN IDと衛星時刻Time of Weekを検索キーとして、認証センター3の信号情報格納部33の中のデータベースであるACDB331にアクセスする。
【0066】
このときステップS25の暗号化通信においてプロトコルは携帯電話網でもWiFiでもインターネットでも構わないが、通信の秘匿性から、RSAキーなどの秘密鍵、公開鍵を利用して必要な情報を送受信することが推奨される。
【0067】
ステップS24で、PRN IDとTime of Weekをインデックスにして、RANDメッセージとLDPCパリティビットとSEED値とH-マトリクスデータとRSA値を受信機6へ送信する。この時のデータ量はH-マトリクスが80×160の行列値であり、データが最大となる。従って実設計では、通信伝送容量によつてどのデータを優先するかの検討が必要である。
【0068】
ここでは、認証センター3と受信機6とのハンドシェイクのプロトコルの観点から説明した。ステップS26では得られたRANDメッセージとH-マトリクスデータからLDPC演算を行い、LDPCパリティビットを計算する。
【0069】
ステップS27で、S24で受信機6内のLDPC演算部65の計算により得られたLDPCパリティビットとステップS22のQZS衛星5のナビゲーションメッセージ51から抽出したLDPCパリティビットを比較して、ステップS28で両者が一致すれば、認証成功ステップS29に進み認証が完了する。両者が一致しなければ、再度ステップS22に戻り上記を繰り返す。
【0070】
最後に
図8に、認証センター3のデータベースACDB331に格納されたデータ構成例を示す。各データはTime of WeekとPRN IDをインデックスにして80ビットのRANDメッセージ(RAND MSG)と、同じく80ビットのLDPCパリティビット(PARITY DATA)と、36ビットのSEED VALUEと、90×180のH-マトリクスデータ(H-Matrix Data)と、RSA値(RSA KEYS)から構成される。認証センター3の信号生成部31におけるSEED値生成部312で生成されたSEED値に対し、―意的にH-マトリクスデータが決定される。
【0071】
同時に信号生成部31のRAND生成部311で生成されたRANDメッセージとH-マトリクスデータでLDPC計算されたLDPCパリティビットも一意的に決定される。つまり、Time of Week→PRN ID→SEED値→H-マトリクスデータ→RANDメッセージ→LDPCパリティビットの順に値が決定される。これらの値は認証センター3でRANDメッセージを生成する時点で予めデータベースACDB31に格納される。
【0072】
受信機6は、QZS衛星5からのナビゲーションメッセージ51の受信時にRANDメッセージ/LDPCパリティビット抽出部62でRANDメッセージとLDPCパリティビットを抽出する。ACDBのTime of Weekは6秒毎に変化し、同一のPRN IDを持つ特定の衛星に対してユニークな値(固有値)となるから、ナビゲーションメッセージ51から抽出したLDPCパリティビットとACDB331から入手したLDPCパリテイビットの比較でGSP信号の認証可否を判断することができる。