OSQZSS

オープンソース準天頂衛星(QZSS)受信機

firefly binary format

2017-03-31 16:18:44 | 小型衛星
宇宙機搭載用GPS/GLONASS受信機のfireflyは,測位結果をNMEAで提供します.

誰でも気軽に使えるよう,汎用的なフォーマットを選んだのですが,
そもそもNMEAが宇宙機での運送を想定したものでないため,
いろいろと不便もあります.

一番の問題は速度ベクトルが得られないことです.位置ベクトルは,緯度,
経度,高度から変換できるのですが,NMEAで提供される速度は対地速度と
方位角のため,地表に対する水平方向の情報しかありません.

高速で飛翔する衛星やロケットの運用では,速度情報も重要になるため,
ECEF座標系での位置・速度ベクトルを出力して欲しいという要望が多く
ありました.

予算や時間の関係で実装をあきらめていたバイナリフォーマットですが,
ユーザからのリクエストに答えるべく,開発に着手しました.

fireflyの開発では,動作検証のためにGPS信号シミュレータを確保するのに
一苦労でしたが,今回は自作シミュレータのbladeGPSがあります.
衛星軌道でのシミュレーションも,これで簡易的に実施できます.

現行のfireflyでは,バイナリ出力の検証をしておらず,動作が保証できません.
測位精度を確認すると,30mほどのオフセットが見られます.
これは主に,測位結果の時間タグの精度によるものです.

fireflyのバイナリ出力に含まれる時間タグの単位は,1/100秒となっています.
これは車など,地上の移動体であれば十分な精度なのですが,
秒速7kmで飛翔する衛星では70mもの位置誤差となってしまいます.

その他,いろいろと細かなアップデートを行った新しいファームウェアでの
測位精度を,bladeRFによる衛星シナリオで評価してみました.

 (クリックで拡大)

 (クリックで拡大)

位置精度はNMEAと同様に数m,速度精度は1m/s程度と,衛星軌道での高速な
受信環境であっても,通常の測位で期待できる精度が得られています.

とりあえず動作に問題はなさそうですが,残念ながらbladeRFではGPS信号しか
シミュレーションできません.

どこかでGPS/GLONASSのシミュレータを借りられないかな.求む,スポンサー!
コメント (3)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Galileo Open Service Authentication

2017-03-29 10:56:15 | 雑記
暗号化されている軍用信号とは異なり,オープンサービスのGNSS信号は
誰でも自由に無償で使うことができます.その反面,信号の仕様が
公開されていることから,偽物の信号によるspoofingの危険性が
懸念されています.

Gigazine: モスクワ市内で不可解なGPSミステリーが発生

オープンサービスのspoofing対策には,いくつもの技術が提案されています.
そのひとつに,航法メッセージに電子署名を付加して信号を認証するNMA
(Navigation Message Authentication)があります.

これまでは研究者による提案レベルだったのですが,GalileoのE1-B信号に
NMAが実装されることが決定したようです.

GPS World: Galileo signals will become more difficult to falsify

この電子署名のプロトコルとして,TESLA(Timed Efficient Stream
Loss-Tolerant Authentication)という共通鍵暗号が採用されています.
専門外で初めて聞く技術でしたので,どのようなものか調べてみました.

 (クリックで拡大)

TESLAの特徴は,one-way key chainと呼ばれる暗号化の鍵の生成と
その公開にあります.この鍵は,まず将来に公開される鍵(Kn)から
ある鍵生成関数(F)を使い生成されます.鍵生成関数は一方向性の
関数であり,生成された鍵から元の鍵を推測することは困難です.

TESLAでは,生成された順番とは逆に鍵を公開します.ここでは,
K0がすでに公開済みとします.

次に,K0の前の鍵であるK1を使い,航法メッセージ(NAV)から
電子署名(MAC: Message Authentication Code)を生成します.
Galileo衛星からは,航法メッセージと一緒に,この電子署名が
受信機に送信されます.

この時点で攻撃者が偽物のspoofing信号を生成しようとしても,
すでに公開済みのK0からK1を推測することが困難であるため,
電子署名を生成することができません.

その後,電子署名を生成した鍵であるK1がGalileoから送信され,
ユーザに公開されます.受信機では,まずこの鍵が本物であるか
どうかを,すでに公開されているK0から鍵生成関数を用いて確認
します.次に,K1を用いて保持している航法メッセージから
電子署名を生成し,それを受信した電子署名と比較することで,
受信信号(正確には受信した航法メッセージ)を認証します.

TESLAの特徴として,広く利用されているRSAやECDSAといった
技術より,同レベルのセキュリティを確保するための電子署名の
ビット数が少なくてすむそうです.しかし,電子署名を受信した
後に共通鍵の公開を待たなければならないため,認証に遅れが
生じてしまう欠点もあります.
コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

バイオロギング

2017-03-28 14:24:37 | 雑記
海鳥のバイオロギングでfenrirさんのNinjascan Slimが紹介されている.

qzss.go.jp: 位置情報を活用したバイオロギングの研究を聞く

海鳥の生態を研究するのではなく,海上風の観測に使うという視点が面白い.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

GPS simulation with LimeSDR

2017-03-25 10:09:20 | GPS Signal Simulator
MyriadのWikiにgps-sdr-simを使ったLimeSDRでの
GPS信号シミュレーションが紹介されている.

wiki.myriadrf.org: GPS Simulation

GNURadioを使うのは重そうな気がして避けていたけれど,
かなり快適らしい.
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする