GNSS 干渉は、次の 2 つのカテゴリに分類できます。
- ジャミング
- なりすまし
ジャミング攻撃では、GNSS と同じ周波数帯で強い無線信号を送信し、GNSS 衛星から送信される比較的弱い信号を妨害します。これにより、スマートフォンなどの GNSS レシーバが位置情報を計算できなくなる可能性があります。
スプーフィングは、より高度な攻撃です。この攻撃では、実際の GNSS 信号を装った偽の信号がブロードキャストされます。これらの偽の信号により、GNSS 受信機は実際とは大きく異なる位置や時間を計算してしまいます。これにより、地図アプリやナビゲーション アプリがユーザーに誤った情報を与えてしまう可能性があります。
GNSS のスプーフィングまたはジャミングについて
信号の信号強度または搬送波対雑音比(C/N0)と、スマートフォンの GNSS 無線の自動利得制御(AGC)は、干渉の優れた指標となります。
スプーフィングやジャミングが検出されると、AGC は低下する傾向があります。ラジオは強い電波を受信すると、受信信号の電力を調整するためにアンプのゲイン(AGC)を下げます。

ただし、C/N0 の動作は、ジャミング イベントとスプーフィング イベントで異なります。ジャミング イベントの場合、無線で観測されるノイズは通常よりもはるかに大きくなります。そのため、搬送波対ノイズ比の分母が増加し、C/N0 値が低下します。スプーフィングの場合、逆のことが起こります。衛星からの実際の信号をかき消すほど強い偽の信号がブロードキャストされるため、全体的な信号強度が強くなり、C/N0 が増加します。
GNSS のスプーフィングやジャミングがないか確認する
GnssLogger アプリの [Spoof/Jam] タブを使用すると、環境が C/N0 と AGC に与える影響をリアルタイムで確認できます。
リアルタイム AGC と C/N0 プロット
[Spoof/Jam] タブには、各 GNSS コンステレーションと帯域(例: 「GPS L1」または「G:L1:」、「Galileo E5a」または「E:E5A:」)。

スプーフィングとジャミングのリアルタイム チェック
AGC と C/N0 のリアルタイム プロットの下に、GNSS 干渉に関連する条件を特定する一連の自動データチェックが表示されます。

[Jamming checks] セクションでは、アプリは、最新の 10 エポックの C/N0 と AGC の平均値が、前の 50 エポックと比較して変化しているかどうかを確認します。C/N0 と AGC が同時に減少する場合は、GNSS ジャミングの可能性があります。この状況が検出されると、カードに「FAIL」というメッセージと詳細情報が表示されます。

[スプーフィング チェック] セクションの最初のカードでも C/N0 と AGC がチェックされますが、C/N0 の同時増加と AGC の低下が検出されます。
2 つ目のスプーフィング関連のチェックでは、デバイスで計算された GNSS 時間と、インターネット経由でネットワーク タイム プロトコル(NTP)サーバーから取得された時間(ネットワーク時間 - GNSS 時間)の 1 秒を超える差を探します。差が大きい場合は、計算された GNSS 時間が無効であることを示している可能性があります。
ヒント、コツ、注意点
GnssLogger の [Spoof/Jam] 機能を使用する際は、次の点に注意してください。
- これは試験運用中の機能です。さまざまな Android デバイスの AGC の特性について詳しく把握するにつれて、スプーフィングとジャミングの変更に使用されるアルゴリズムが更新される可能性があります。
- この機能では、すべてのスプーフィングとジャミングを検出できるわけではありません。リアルタイムのグラフとデータチェックにより、データのプロパティをリアルタイムで簡単に検出できますが、スプーフィングやジャミングのすべての例を検出できるほど堅牢ではありません。
- この機能は C/N0 と AGC の変化を検出するように設計されています。スプーフィングやジャミングが存在する状態でアプリを開き、C/N0 と AGC が一定のままである場合、スプーフィングやジャミングは検出されません。
- NTP サーバーは必ずしも安全ではありません。ネットワーク タイムもスプーフィングされる可能性があります。
公開バグトラッカーを使用して、スプーフィング/ジャミング機能に関するフィードバックをお送りください。