GPSの基本的なお話し|セキュリティごった煮ブログ

ネットエージェント
セキュリティごった煮ブログ

 コース:あっさり

GPSの基本的なお話

bubobubo

どーも bubobubo です。

ブログの締め切りが近いため、日ごろからストックしているネタを小出しにしてお茶を濁したいと思います。

かつては一部のアウトドア愛好家やガジェットマニアが使っていたGPSですが、今や誰もが「GPS受信機があれば現在位置がわかる」ことを知っているはずです。

しかし、測位衛星はどのような信号をGPS受信機に送っているのか、どのようなメカニズムで現在地を算出しているのかまで正確に知っている人は少ないと思います。

■GPSは簡単に説明できない

我々がGPS(Global Positioning System)と呼んでいるものは、正しくは「アメリカが管理運用している」衛星測位システムであります。他にはロシアのGLONASS、欧州連合のGalileo、中国のBeiDou、インドのIRNSS、日本の準天頂衛星システムQZSS(みちびき)が挙げられます。

今日では、携帯電話の通信網を通じて補助データを送る補助GPS(A-GPS)や、Wi-Fiのアクセスポイントを利用することで、さらなる精度向上が図られています。これらをまとめて説明しようとすると、いつまでたっても本題に入れないため、本稿ではGPSのみ解説します。

■GPSを説明してみる

まず、GPS衛星が行う測位信号の伝達は「放送」であって、無数に存在するスマホなどのGPS受信機とは個別に「対話」していません。1つのGPS衛星は、同一時刻であればどのGPS受信機に対しても同じ情報を一方的に送っています。

地上にある主制御局は、GPS衛星に対して更新軌道情報をアップデートし続けているため、打ち上げた後は放置している訳ではありません(衛星側ではデータを作成していない)。

たまに「測位衛星を通じて全ての自動車にウイルスを送り込むことが可能」といった風説が流布されることがありますが、仮に測位衛星のジャックに成功したとして、任意の信号を放送できるようになったとして、さらに測位信号をプログラムと誤認するようなザル設計なGPS受信機だったと仮定しても、その伝送速度は50bpsしかありません。

また、GPS衛星は約2万キロメートルの高度にありますが、信号の送信電力は一般的な電球と同じ100W程度です。日本からブラジルまでの距離は約1.7万キロメートルであることを考えると、電波としてはとても微弱です。トンネルの内では受信できないのは当然でしょう。

■GPS衛星から送られる信号

GPS衛星から一方向に送られる信号の内容は、民生用のものは公開されており、暗号化もされていません。どういう信号が送られるかは公知であるため、タイミングを合わせると測位信号を受信できます。

GPS受信機の電源を投入してから現在地が表示されるまで、ある程度待たされることがあります。伝送速度は50bpsなので、GPS信号の捕捉と航法メッセージの受信に時間を要するからです。その待ち時間を緩和するために補助GPSなどが使われていますが、ここでは割愛します。

GPS衛星が放送している航法メッセージには、測位に利用できる全GPS衛星の軌道情報が記されている一覧情報である「アルマナック(Almanac)」と、自身の衛星が持つ詳細な軌道情報が記されている「エフェメリス(Ephemeris)」が含まれています。とても格調高そうな名前がついていますが、なんだかポケ○ンみたいですね(本当の意味はそれぞれ生活暦、天体暦)。

この航法メッセージ単体でわかるのは、対象となるGPS衛星1基の正確な座標と、衛星に搭載されている原子時計が指す正確な時刻であって、利用者が最も知りたい「GPS受信機の現在位置」はまだわかりません。

ここからは、受け取った航法メッセージをGPS受信機側で処理する必要があります。GPS衛星と受信機との電波距離の時間差を測定すると、電波の速度は光の速度と同じ(299,792,458m/s)なので、衛星との正確な距離がわかります。

この航法メッセージを4基以上(地表前提なら3基以上)の衛星から受信すると、3次元測位により現在位置(経緯度と標高)を割り出すことができます。もっと知りたい方はたくさんある解説サイトや文献をあたってください。

次回は、GPSハッキングの話を書くかもしれません。

メルマガ読者募集 採用情報 2020年卒向けインターンシップ

月別