16th R&D Institute Electronic Test Team, Agency for Defense Development, Daejeon 34186, Korea
2Department of Radio Science and Information Communication Engineering, Chungnam National University, Daejeon 34134, Korea
†Corresponding Author: Jae Min Ahn, E-mail: jmahn@cnu.ac.kr
Citation: Kim, Y. H. & Ahn, J. M. 2026, A Study on C/N0 Based GNSS Spoofing Detection Considering the GNSS-Environmental Characteristics of the Korean Peninsula, Journal of Positioning, Navigation, and Timing, 15, 25-32.
Journal of Positioning, Navigation, and Timing (J Position Navig Timing) 2026 March, Volume 15, Issue 1, pages 25-32. https://doi.org/10.11003/JPNT.2026.15.1.25
Received on Dec 11, 2025, Revised on Jan 08, 2026, Accepted on Jan 26, 2026, Published on Mar 15, 2026.
Copyright © The Institute of Positioning, Navigation, and Timing
License: Creative Commons Attribution Non-Commercial License (https://creativecommons.org/licenses/by-nc/4.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Global Navigation Satellite System (GNSS) spoofing attacks usually rely on elevated signal power. As a result, the Carrier-to-Noise Density Ratio (C/N0) is a useful indicator for detection. In stationary GNSS receivers such as reference stations, receiver-velocity information cannot be used to verify signal authenticity, and detection thus relies primarily on signal quality indicators such as the received C/N0. Conventional C/N0 detection methods using a C/N0 value have limitations because C/N0 can vary due to environmental factors even under nominal conditions. Furthermore, spoofing-induced variations may not be clearly distinguishable or may be masked by interference such as jamming, leading to false alarms. To address these limitations, this study proposes a C/N0-based spoofing detection method that considers the ionospheric scintillation characteristics of the Korean Peninsula. Scintillation-induced C/N0 attenuation is modeled for the nominal (H0) state using a formulation of Tracking Error Variance at Output of Phase-Locked Loop (PLL) for L1 Global Positioning System (GPS), while spoofing conditions (H1) are represented using power advantages of {+3, +6, +9 dB} and a 0.25-chip code delay. A time-series detection statistic is constructed by estimating C/N0 every 1 ms and applying a sliding-window χ² metric with an adaptive threshold to mitigate C/N0 fluctuations caused by ionospheric scintillation. Simulation results show that the proposed method achieves an Area Under the ROC Curve (AUC) greater than 0.9 for all Pseudo-Random Noise (PRN) codes, thus confirming clear separability between H0 and H1. These findings demonstrate that the proposed approach provides an effective means of detecting C/N0-based spoofing for stationary GNSS reference stations in mid-latitude ionospheric scintillation environments such as the Korean Peninsula.
GNSS, C/N0, spoofing detection, ionospheric scintillation
Global Navigation Satellite System (GNSS) 스푸핑 공격은 점점 더 정교화되고 있으며, 특히 고급형(sophisticated) 스푸퍼는 기본적으로 정상 신호보다 일정 수준 이상의 높은 전력으로 신호를 송출해야 하며, 그 결과 수신기에서 관측되는 Carrier-to-Noise density ratio (C/N0)가 상승하는 것이 필연적이다 (Humphreys et al. 2008). 고정된 위치에서 GNSS 신호를 장기간 수신하는 기준국 또는 모니터링 수신기에서는 위치나 속도 정보 변화를 이용한 검증이 제한되므로, 신호 자체의 품질 지표만으로 이상 여부를 판별하는 방식이 요구된다. 이러한 방식의 판별에서 활용되는 대표적인 품질 지표로는 C/N0를 들 수 있다.
C/N0 기반 전력 모니터링 탐지 방식 중에서는 단순한 Auto Gain Control (AGC) 값 변화나 C/N0 변화량만으로는 스푸핑 여부를 안정적으로 판별하기 어렵다는 점을 지적하고 이를 해결하기 위하여 AGC 변화량과 C/N0 변화량을 함께 관측하여, 이들의 변화가 경험적 데이터로부터 설정한 2차원 임계선을 벗어날 경우 스푸핑 또는 재밍으로 분류하는 “수신 전력 모니터링 (RPM)” 기법이 존재한다 (Lo et al. 2021). 또 다른 최근 연구에서는, 스푸핑이 C/N0 변화를 유발할 수 있으나, 그 변화가 뚜렷이 나타나지 않으며, 재밍 등의 간섭이 있을 경우 오탐(false alarm)의 가능성이 있다”고 주장하였다 (Liu et al. 2024).
이러한 한계를 극복하기 위해 이 연구에서는 환경적 특성으로 한반도 지역의 전리층 신틸레이션 환경을 고려하여, Global Positioning System (GPS) 반송파에 대해 Phase-Locked Loop (PLL) 출력에서의 추적 오차 분산식 (Conker et al. 2000)을 이용하여 신틸레이션에 의한 C/N0 감쇄 특성을 도출하여 이를 정상상황(H0) 모델에 반영하고, 해당 모델은 12개의 Pseudo-Random Noise (PRN)을 대상으로 정상신호만 들어오는 상황이라고 가정하였다. 또한 스푸핑 상황(H1)에서는 정상 상황의 고유 특성이라 할 수 있는 신틸레이션을 제외하고 수신기가 추적 중인 4개의 PRN을 모사하여 이 PRN과 H0 상황에서의 신호가 함께 들어오는 상황을 H1 상태라고 가정하고 신호를 모델링하였다. 이 두 상황을 활용하여 수신 Intermediate Frequency (IF) 신호 모델에서 C/N0 추정에 직접적 영향을 미치는 디지털 프론트엔드를 거치고 상관기 이후 C/N0 추정값을 도출하여 탐지에 활용하였다.
이때 C/N0 추정값의 H0 대비 H1 비중심 특성을 Cumulative Distribution Function (CDF)로 분석하고, 이를 이용하여 C/N0의 시간적 축적 특성과 통계적 분산 구조를 함께 고려한 새로운 시계열 기반 탐지 방법을 제안한다. 제안된 탐지기는 각 추적 중인 PRN 별로 일정 구간 동안의 C/N0 샘플을 sliding window로 집계하여 정상 상태의 평균과 분산을 추정하고, 이를 기반으로 한 가변 임계치를 구성한다. 이때 가변 임계치, 평균, 분산의 갱신 조건값은 전리층 신틸레이션 영향을 완화하기 위해 자동으로 상향·동결·하향 조정된다. 탐지 시뮬레이션은 0~349초까지는 H0 상황, 350초에서 600초까지는 H1 상황임을 가정하였고, H1 상황에서는 스푸핑 공격이 발생하면 공격자가 정상 신호보다 전력 우위를 확보하기 때문에, 수신된 C/N0가 정상 상태 대비 통계적으로 유의미하게 상승한다는 점을 감안하여 (Wesson et al. 2018), 스푸핑 신호의 전력이득이 +3, +6, +9 dB인 상황을 가정하였다.
정상 수신 상태에서의 C/N0 거동은 비교적 안정적이다. 추적 중인 PRN이 Line-Of-Sight (LOS) 상태이면 C/N0를 35 [dB-Hz] 부근으로 가정할 수 있으므로 (Wieser 2006), 이 연구에서는 평균 35 dB-Hz 부근을 중심으로 작은 섭동을 가진다고 가정하였고, 이를 H0에 반영하였다.
시뮬레이션 결과 모든 PRN에서 Area Under the ROC Curve (AUC) 값이 0.9 이상을 보여 H0 상황과 H1 간의 통계량 분포가 완전히 분리되어, 원활한 탐지를 할 수 있음을 확인하였다.
이 논문의 2장에서는 한반도 전리층 신틸레이션 특성이 어떻게 C/N0에 영향을 미치는 지 분석하고 이 한반도 전리층 신틸레이션을 고려한 수신 IF 신호모델링을 제시하였다. 모델링 된 신호는 C/N0 추정에 직접적인 영향을 미치는 수신기 디지털 프론트엔드 모델을 거치게 된다. 3장에서는 상관기 이후 신호 대 잡음비 (SNR)의 도출 과정을 제시하고 이 SNR 값을 C/N0 값으로 변환하는 과정을 제시한다. 이렇게 도출된 C/N0 값을 이용하여 C/N0 기반 탐지기를 구성한다. 4장에서는 이 연구에서 제안한 탐지기의 시뮬레이션 결과 및 성능분석을 제시하고 추가적으로 RPM 기반 비교기법을 구성하여 제안한 탐지기와 성능을 비교하였다. 5장에서는 이 연구를 종합적으로 분석하며 향후 연구방향에 대해서 제시한다.
한반도는 중위도에 해당하여, 평시에는 저/고위도보다 신틸레이션 발생 빈도 및 강도가 낮다 (ITU-R 2025). 다만 태양활동 극대기나 강한 지자기폭풍 시에는 단기간 동안 강한 진폭 및 위상 요동이 나타날 수 있다 (Lee et al. 2024). 신틸레이션은 3 GHz 이하의 GNSS 신호의 진폭, 의사코드 등에 강한 영향을 미치나 (ITU-R 2025), 이 연구는 C/N0 기반 탐지를 다루므로 신틸레이션 발생 시 GNSS 신호 진폭의 영향만을 연구하였다. 진폭 신틸레이션은 $S_4$ 지표로 정량화되며 $S_4$ 기준으로 약함 <0.3, 보통 0.3-0.6, 강함 >0.6으로 분류된다 (ITU-R 2025). 전리층 신틸레이션이 GPS 및 Satellite-Based Augmentation System (SBAS) 가용성에 미치는 영향의 모델링 연구를 따르면 GPS 반송파에 대해 PLL 출력에서의 추적 오차 분산식이 제시되는데 해당 수식을 이용하면 신틸레이션 시 C/N0가 $S_4$ 지표 기준으로 얼마나 하락하는지에 대한 관계식을 Eqs. (1, 2)와 같이 유도할 수 있다 (Conker et al. 2000). 먼저 신틸레이션 존재 시 분산 식은 Eq. (1)과 같다. 또한 신틸레이션이 없을 시 분산 식은 Eq. (2)와 같다.
$$\sigma_{\emptyset_T}^2=\frac{B_{n}\left[1+\frac{1}{2\eta(C/N0)_{L1-C/A}(1-2S_{4}^{2}(L1))}\right]}{(C/N0)_{L1-C/A}(1-S_{4}^{2}(L1))}$$
$$\sigma_{\emptyset_T}^2=\frac{B_{n}}{(C/N0)_{L1-C/A}}\left[1+\frac{1}{2\eta(C/N0)_{L1-C/A}}\right]$$
여기서 $B_n$은 3차 PLL의 단측 대역폭으로 해당식에서는 10 Hz이다. $(C⁄N0)_{L1-C⁄A}$는 캐리어 대 잡음 밀도비의 선형 형태로 $10^{0.1 C⁄N0}$와 같이 표현된다. $\eta$는 전치적분 시간으로 상관 이후 PLL 입력 전에 이루어지며 여기선 GPS 신호 기준 20 ms로 설정되었다.
또한 $S_4 (L1)$는 0.707 이하로 설정되어 있는데, 이는 태양활동 극대기나 강한 지자기폭풍 시 발생하는 강한 신틸레이션 상황에서는 유효하지 않다는 것을 알 수 있다.
여기서 신틸레이션이 없을 시 분산이 신틸레이션 존재 시 분산과 서로 같도록 하는 $(C⁄N0)_{L1-C⁄A}$ 값을 $\gamma_{eff}=(C⁄N0)_{L1-C⁄A}$로 두고 신틸레이션 시 $(C⁄N0)_{L1-C⁄A}$를 $\gamma$로 둔다면 Eqs. (1, 2)는 Eq. (3)과 같은 관계로 나타낼 수 있다.
$$B_{n}\left[\frac{1+\frac{1}{2\eta \gamma(1-S_{4}^{2})}}{\gamma(1-S_{4}^{2})}\right]=B_{n}\left[\frac{1+\frac{1}{2\eta \gamma_{eff}}}{\gamma_{eff}}\right]$$
여기서 $B_n$는 상쇄되어 없어지고 추적 중인 PRN이 LOS 상태이면 35 [dB-Hz] 이상으로 가정할 수 있으므로 (Wieser 2006), $2\eta \gamma \gg 1$이고 $2\eta \gamma_{eff} \gg 1$이므로 Eq. (3)은 Eq. (4)와 같이 근사 가능하다.
$$\frac{1}{\gamma(1-S_{4}^{2})} \approx \frac{1}{\gamma_{eff}}$$
여기서 $\dfrac{\gamma_{eff}}{\gamma} \approx 1-S_4^2$의 관계로 나타낼 수 있으며 이는 신틸레이션 존재 시 신틸레이션이 없을 시 대비 $(C⁄N0)_{L1-C⁄A}$ 값이 얼마나 하락하는지에 대한 지표이며 Eq. (5)와 같이 표현 가능하다.
$$\Delta C/N0 = 10 \log_{10}(1-S_{4}^{2})$$
여기서 $\Delta C/N0$는 신틸레이션 존재 시와 신틸레이션이 없을 시 $C/N0$ 값의 차이이며 이의 관계는 $10\log_{10}(1-S_4^2)$와 같이 log scale로 나타낼 수 있다. 이 연구에서는 이 $\Delta C/N0$를 진폭 영역으로 변환하여 수신 IF 신호 모델에 반영하였고 이에 대한 항을 $m(t) = (1-S_4^2)$로 두었다. 신틸레이션은 보통 국지 전리권 일몰 직후에 시작해 0.1~1 Hz 주기로 섭동 한다 (ITU-R 2025). 이 연구에서는 위와 같은 사항을 전체적으로 고려하여 이 연구에서는 $S_4$ 지표가 0.4의 평균으로 σ=0.05의 표준편차로 0.1~1 Hz 주기로 섭동 한다는 것을 가정하여 모델링하였다.
스푸핑 없이 12개의 PRN을 대상으로 정상신호만 들어오는 정상 상황을 H0로 가정하고 수신기가 추적 중인 4개의 PRN을 모사하여 스푸퍼가 모사한 4개의 스푸핑 신호와 12개의 정상신호가 들어오는 스푸핑 상황을 H1 상태라고 가정하고 H0 및 H1 상황에서 각기 다른 수신 IF 신호를 모델링하였다. H0에서의 수신 신호는 Eq. (6)과 같이 모델링하였다. $r_{H0}(t)$는 연속 시간($t$) 동안 추적 중인 4개의 PRN 성분과 8개의 비추적 PRN 성분을 가정한 것이며 $A_i$는 $i$번째 GPS L1 C/A 위성의 진폭성분, $C(t-\tau_i )$는 $i$번째 GPS 위성에서 $\tau_i$의 chip 지연을 가지는 GPS L1 C/A의 PRN 성분이며 $e^{j2\pi \Delta f_i t}$에서 $\Delta f_i$ 성분은 $i$번째 GPS L1 C/A 신호의 잔여 반송파 오차 성분이며 $D_i (t)$는 $i$번째 GPS L1 C/A 위성의 20 ms 간격 네비게이션 데이터 비트 성분이다. $n(t)$는 평균이 0인 백색 가우시안 잡음이다 (Radoš et al. 2024). 여기서 $m(t)$는 2.1절에서 언급한 신틸레이션에 의한 $m(t) = (1-S_4^2)$ 성분이다.
$$r_{H0}(t)=\sum_{i=1}^{12}(A_{i} \cdot m(t) \cdot D_{i}(t) \cdot C(t-t_{i}) \cdot e^{j2\pi\Delta f_{i}t})+n(t)$$
H1 상태에서는 추적되는 4개의 PRN에 대하여 가산형 스푸핑 신호를 삽입하였다 이때 스푸핑 시에는 H0도 수신되는 상황을 가정하기 위하여 Eq. (7)과 같이 모델링하였다 (Radoš et al. 2024).
$$r_{H1}(t)=\sum_{u=1}^{4}(a \cdot A_{u}^{(sp)} \cdot D_{u}^{(sp)} \cdot C_{u}^{(sp)}(t-\tau_{u}-\Delta\tau_{u}) \cdot e^{j2\pi\Delta f_{u}t(sp)}) + r_{H0}(t) + n(t)$$
여기서 $\alpha$는 H0 신호 대비 {+3, +6, +9} dB로 설정하였다. 많은 스푸핑 탐지 연구에서 스푸핑 시 통상적으로 스푸퍼가 몇 dB 정도 전력 우위를 가지는 시험 시나리오를 많이 채택하고 있으므로 이 연구에서는 위와 같은 값으로 스푸퍼가 가지는 고유의 전력 배율을 설정하였다 (Álvarez-Molina et al. 2025). $Au^{(sp)}$는 스푸퍼가 모사한 $u$번째 GPS L1 C/A 위성의 스푸핑 신호의 진폭성분, $Cu^{(sp)} (t-\tau_u-\Delta \tau_u)$는 스푸퍼가 모사한 $u$번째 GPS L1 C/A 위성의 $\Delta \tau_u$ 만큼의 스푸퍼 고유 chip 지연을 가지는 PRN 성분이며, 이때 작은 chip 지연을 가지는 스푸핑 신호의 탐지 기법 선행 연구에서 스푸퍼의 코드 지연을 1 chip 이하로 둔 것을 참조하여 (Li et al. 2020), 이 연구에서는 H0 대비 0.25 chip 정도의 작은 지연이 있다고 가정하였다. $e^{j2 \pi \Delta f_u t(sp)}$에서 $\Delta f_u$ 성분은 $u$번째 GPS L1 C/A 신호의 잔여 반송파 오차 성분이며 $n(t)$는 평균이 0인 백색 가우시안 잡음이다 (Radoš et al. 2024). Eq. (7)에서 알 수 있듯이 스푸퍼가 수신기가 추적 중인 4개의 PRN을 알고 해당 PRN을 스푸핑 한다고 가정한다. 이렇게 합성된 신호는 디지털 프론트엔드와 상관기를 통과한다.
이 연구에서는 실제 수신 상황에서의 C/N0의 통계적 거동의 현실성 반영을 위하여 C/N0 추정에 직접적 영향을 미치는 디지털 프론트엔드 기능만을 통계적으로 등가하게 모델링하였다. 이는 프론트엔드의 상세 구현 자체를 연구 범위에 포함시키기 위한 것이 아니라, 상관기 입력의 대역폭·전력·양자화 조건 등을 안정화하여 C/N0 추정이 의미 있게 이루어지도록 하기 위한 최소한의 처리만을 수행한 것이다.
GNSS 신호 처리 과정에서 상관기 입력 통계에 실질적으로 영향을 주는 디지털 단계는 대역 제한 필터링, 신호 전력 안정화를 위한 AGC, 저비트 양자화, 상관기 샘플링 정렬 등이 있다 (Kaplan & Hegarty 2006). 이를 기반으로 이 연구에서는 이를 기반으로 인과 Finite Impluse Response (FIR) 저역통과필터(Causal FIR LPF), 군지연 보상(group-delay compensation), 디지털 AGC, 2-bit 양자화, Downsampling 순서로 모델링 하였다.
첫번째로, 인과 FIR 저역통과필터는 차수 N=101, 대역폭 2.8 MHz로 설계하여 영상 주파수 및 대역 외 잡음을 억제하였으며 (Tsui 2005), 선형위상 FIR 필터의 군지연 보상을 (N−1)/2 = 50 샘플의 지연 보정을 수행하여 시간축 정렬 문제를 해결하였다.
두번째로, 디지털 AGC는 수신 신호의 전력이 전리층 신틸레이션 수신기 노이즈 등으로 시간에 따라 변할 때, AGC는 이러한 변동을 억제하여 상관기 입력 Root mean Square (RMS)를 안정적으로 유지한다 (Tsui 2005). 이 연구에서도 이러한 기능을 구현하기 위하여 target RMS = 0.7, adaptive step = 0.01로 설정하여 1 ms 블록 단위로 RMS를 측정하였다. 이를 기반으로 0.1 ~ 0.3 s 이내에 목표 RMS로 수렴하는 완만한 제어 루프를 가진다. 이는 수신 신호 전력 안정화 효과 측면에서 실제 하드웨어 루프와 동일한 특성을 갖는다 (Tsui 2005).
세번째로, 2-bit 양자화는 IF 신호를 저비트(1-3 bit)로 양자화하여 디지털 신호로 변환한다. 이와 같은 처리 과정은 상용 GNSS 프론트엔드 칩 (Analog Devices Inc. 2016)에서도 동일하게 구현되어 있으며 해당 프론트엔드 칩에서도 저비트(1-3 bit) 양자화 방식을 사용하고 있다.
마지막으로, Downsampling은 GPS L1 C/A의 칩율 1.023 MHz (Anthony et al. 2022)을 기준으로 각 칩당 4샘플 구조(≈4.092 MHz)를 갖도록 상관기 입력 샘플링률을 재구성하는 과정이다. 이러한 상관기 샘플링 구조는 디지털 프론트엔드에서 일반적으로 사용되는 방식이며 (Kaplan & Hegarty 2006), 이 연구에서는 상관기 샘플링률을 4.092 MHz로 설정하였다.
2.3절과 같은 수신기 프론트엔드를 거친 기저대역 신호는 복소수 형태이므로 상관기에 입력되는 신호 역시 Eq. (8)과 같은 복소수 신호로 모델링된다. 복소 상관기는 수신기 내부에서 추적 중인 4개의 PRN u를 대상으로 $k$번째 1 ms 적분 구간에서 상관값 $z_u (k, \Delta \tau)$를 출력하며, 여기서 $\Delta \tau$는 $\Delta \tau=\{0, \pm 2.0, \pm 2.5\}$로 정의되며 여기서 $\Delta \tau=\{0\}$ 일 때 $z_{P,u} (k)=z_u (k,0)$로 정의하며 이때 $z_{P,u} (k)$는 Prompt tap 정의한다. Prompt tap에서의 전력은 $P_{on,u} (k)=|z_{P,u} (k)|^2$로 산출할 수 있다 (Tsui 2005, Kaplan & Hegarty 2006). $\Delta \tau=\{\pm 2.0,\pm 2.5\}$일 때 추적 중인 PRN과 상관성이 거의 0이 되는 Off-Prompt tap으로 정의하고 $z_{off,u} (k)=z_u (k, \Delta \tau)$로 정의하며 이때 $z_u (k, \Delta \tau) \approx n_{off,u} (k, \Delta \tau)$로 정의할 수 있다. 여기서 Off-Prompt tap에서의 전력 즉 잡음 전력은 $P_{off,u} (k) = \frac{1}{4} \sum_{c=1}^4|z_{off,u} (k,c)|^2$로 정의할 수 있다 (Tsui 2005, Kaplan & Hegarty 2006). 여기서 $c=\{1,2,3,4\}$ 일 때 $z_{off,u} (k,c)$는 $c$의 순서대로 $z_{off,u} (k,-2.5), z_{off,u} (k,-2.0), z_{off,u} (k,+2.0), z_{off,u} (k,+2.5)$이다. 여기서 $T_{int}$는 1 ms이고 $KT_{int}~(K+1)T_{int}$은 $K$번째 PRN 코드 구간이다.
$r(t)$는 H0 또는 H1 상황에서 수신기 프론트엔드를 거치고 상관기에 입력되는 복소 GNSS 수신신호이다. $D_u (t)$는 20 ms 간격의 네비게이션 데이터 비트로, 복소 상관기 입력단에서는 이를 부호 보상을 위해 곱해줌으로써 비트 반전에 따른 상관 출력의 부호 반전 효과를 제거한다. $Cu(t-\hat{\tau}_u-\Delta \tau)$는 자체 지연 $\hat{\tau}_u$을 가지는 수신기 내부 코드 생성기에서 생성되는 레플리카 PRN 코드이며, 상관기는 이를 이용해 상관 연산을 수행한다. $e^{-j2\pi \hat{f}_u t}$는 $r(t)$의 잔여 반송파 오차 성분을 제거하기 위해 수신기에서 국부적으로 생성되는 반송파 레플리카 성분이다.
$$z_{u}(k,\Delta\tau)=\frac{1}{T_{int}}\int_{KT_{int}}^{(K+1)T_{int}}r(t)D_{u}(t)C_{u}(t-\hat{\tau}_{u}-\Delta\tau)e^{-j2\pi\hat{f}_{u}t}dt$$
H0 및 H1 상황에서는 수신신호의 전력 성분을 $P_{s,u} (k)$라 정의하면 Prompt tap에서의 전력을 $P_{on,u} (k) = P_{s,u} (k)+ P_{off,u} (k)$으로 정의할 수 있다. 이것을 이용하여 상관기 이후 SNR을 추정할 수 있는데, 이때 SNR은 Eq. (9)와 같이 나타낼 수 있다 (Tsui 2005, Kaplan & Hegarty 2006).
$$SNR_{post,u}(k)=\frac{P_{on,u}(k)}{P_{off,u}(k)}-1$$
즉, $P_{off,u} (k) = \dfrac{1}{4} \sum_{c=1}^4|z_{off,u} (k,c)|^2$ 이고, 여기서 $z_{off,u} (k,c)\approx n_{off,u} (k,\Delta \tau)$인 평균이 0인 백색 가우시안 잡음 성분이다. 여기서 -1항은 각 PRN에서 SNR 추정 시, 수신기의 열잡음 등에 기인하는 평균이 0인 백색 가우시안 잡음을 제거하고 SNR을 추정한다.
상관기 이후 SNR 값과 적분구간인 $T_{int}=1 ms$을 이용하면 추적 중인 PRN u의 C/N0의 추정치는 Eq. (10)과 같다 (Tsui 2005, Kaplan & Hegarty 2006).
$$(\widehat{C/N0})_{u}(k)[dB-Hz]=10 \log_{10}\left(\frac{1}{T_{int}}\left(\frac{P_{on,u}(k)}{P_{off,u}(k)}-1\right)\right)$$
이렇게 구해진 $(\widehat{C/N0})_{u}(k)$ [dB-Hz]는 $C/N0$ 기반 탐지기 구성 및 탐지 알고리즘에 적용되어 스푸핑 탐지에 활용한다. Figs. 1-4는 상관기 이후 추정된 추적 대상 PRN1,2,3,4의 $(\widehat{C/N0})_{u}(k)$ [dB-Hz]의 CDF이다. 해당 분포에서 알 수 있듯 H0/H1 간 분포 이동이 확인되며 특히 $\alpha = \{+9\}$ dB에서는 모든 PRN이 H0 대비 오른쪽으로 이동되어 H0 대비 비중심 특성이 두드러져 명확한 분리 가능성을 확인하였다. H0 및 H1의 Duration은 모두 600초으로 생성되었고 $(\widehat{C/N0})_{u}(k)$ [dB-Hz]는 각 PRN별로 35 [dB-Hz] 부근에서 섭동하게 모델링하였다.
Fig. 1. PRN 1 H0 / H1 CDF.
Fig. 2. PRN 2 H0 / H1 CDF.
Fig. 3. PRN 3 H0 / H1 CDF.
Fig. 4. PRN 4 H0 / H1 CDF.
2.4절에서 알 수 있는 H0 및 H1 특성을 반영하여 추척중인 PRN 별 C/N0 추정치를 기반으로 $\chi^2$ 통계량을 정의하고, 이를 이용한 탐지 알고리즘을 제시한다. H0에서 PRN별 C/N0 추정치는 시간 평균을 통해 안정화되며, 이 분포를 근사적으로 정규분포를 따른다고 가정하고 이에 따라 정규화된 잔차는 Eq. (11)과 같다.
$$r_{(k,u)}=\frac{\widehat{(C/N0)}_{u}(k)-\mu_{u}(T)}{\sigma_{u}(T)}$$
여기서 $k$는 각 PRN의 $(\widehat{C/N0})_{u}(k)$ [dB-Hz] 추정 주기인 1 ms 단위이며 $T$는 각 PRN의 임계치 $\theta_u(T)$, 평균 $\mu_u (T)$, 분산 $\sigma_u (T)$의 갱신 주기인 1 s 단위이다. 또한 $u=1,2,3,4$는 PRN 인덱스이다. 탐지기는 초기 10초간 평균 및 분산 추정을 위하여 10초 이상 구간에서 H0 구간임을 가정하였다. 탐지 sliding window 주기는 탐지기 조정 과정을 거쳐 $T_{ms}=20$ ms로 산정하였으며 이는 20개의 $(\widehat{C/N0})_{u}(k)$ [dB-Hz] 샘플을 의미한다. 각 PRN별 스푸핑 탐지를 위한 개별 PRN u의 $\chi^2$ 통계량을 구성하였고 이는 Eq. (12)와 같다.
$$T_{u}(k)=\sum_{k=k-T_{ms}+1}^{k}r_{(k,u)}^{2}$$
이러한 통계량을 구성하여 매 1 ms마다 sliding window ($T_{ms}=20$ ms)로 $T_u (k)$를 산출한다. 여기서 $T_u (k)$는 자유도 $ν \le T_{ms}$인 중앙 $\chi^2$ 분포($\chi_ν^2$)를 따른다. H1 상황에서는 비중심 $\chi^2$ 분포($\chi_ν^2 (\lambda)$)로 근사되며, 여기서 $\lambda$는 스푸핑 전력 이득 및 잡음 분산 변화에 의해 결정되는 비중심 모수이다. 오탐 확률은 Eq. (13)과 같이 구성되는데 (Tu et al. 2018), 여기서 임계치 $\theta_u(T)$는 각 PRN별 임계치이며 이 임계치는 목표 오탐 확률 $P_{fa}$에 대응하도록 설정되며 이때 평균 및 분산 초기 추정 구간과 동일 구간에서 초기 임계치를 설정한다.
$$P(T_{u}(k)>\theta_{u}(T)|H_{0})=P_{fa}$$
여기서 고정 임계치를 사용할 경우 신틸레이션이나 환경 특성으로 인해 오탐 확률이 증가할 수 있다. 따라서 이 연구에서는 sliding window 분위수 가변 임계치를 가변 임계치로 정의하였다. 가변 임계치 동작 순서는 최근 10초 구간을 1초 단위로 나눠서 그중 8초 이상이 탐지 빈도가 $\tau_u$ 이하일 경우, 추적 중인 PRN $u$는 Quiet 상태로 간주하고 이 Quiet 상태에서 수집한 $\{T_u (k)\}$ 표본 중 ($1-P_{fa}$) 분위수를 임계치로 설정하며 이는 Eq. (14)와 같다.
$$\theta_{u}(T)=Quantile_{1-P_{fa}}(\{T_{u}(k):k \in Q_{u}\})$$
여기서 $Q_u$는 PRN $u$의 Quiet 상태 집합이다. $\tau_u$는 과거 Quiet 상태의 탐지 빈도 상위 90% 분위수와 $3P_{fa}$ 중 큰 값을 후보로 두고 저역통과 필터링으로 $\tau_u$를 갱신한다. 해당 과정은 Eq. (15)와 같다.
$$\tau_u^{(0)}(T) = \max ( Quantile(r_u, 0.90), 3P_{fa} ) \rightarrow \tau_u(T) = (1 – \gamma_{\tau}) \tau_u(T – 1) + \gamma_{\tau} \tau_u^{(0)}(T)$$
여기서 $\gamma_{\tau}$는 필터링 계수이고 이 연구에서는 조정 과정을 거쳐 0.2로 두었다. $r_u$는 최근 300초 동안의 1초단위 탐지 빈도율이다. $r_u$는 매 1 s마다 sliding window (300 s)를 통해 $\gamma_{\tau}$를 갱신한다.
추적 중인 개별 PRN에 대하여 3.3절과 같은 C/N0 기반 탐지기를 구성하고, 2.2절에서 제시한 수신 IF H0/H1 신호모델과 수신기 디지털 프론트엔드를 통과하여 생성된 C/N0 시계열을 이용하여 탐지 성능을 평가하였다. 시뮬레이션은 총 600 sec 길이로 구성하였으며, 0~349 sec 구간은 3.2절에서 H0 상황에서 추정한 C/N0 값을 사용하여 만든 스푸핑 신호가 존재하지 않는 H0 상황, 350~600 sec 구간은 3.2절에서 H1 상황에서 추정한 C/N0 값을 사용하여 만든 스푸핑 신호가 존재하는 H1 상황으로 모사하였다. H1 구간에서는 Eq. (7)에서 정의한 스푸핑 신호의 전력 이득을 H0 대비 {+3, +6, +9} dB로 설정한 세 가지 시나리오를 구성하여, 동일한 H0 조건에서 스푸핑 전력 이득에 따른 탐지 성능 변화를 비교하였다. 이때 H0 신호의 C/N0는 2.2절에서 정의한 바와 같이 35 [dB-Hz] 부근에서 전리층 신틸레이션에 의해 섭동하는 환경을 유지하고, H1에서는 H0 상황에서 스푸핑 신호가 가산되는 형태로 시뮬레이션을 수행하였다.
탐지기는 3.2절에서 제시한 $(\widehat{C/N0})_{u}(k)$ [dB-Hz]를 1 ms 간격으로 계산하고, 20개의 샘플로 구성된 sliding window를 이용하여 매 1 ms마다 $\chi^2$ 통계량 $T_u (k)$를 산출하였다. 초기 10 s 구간은 H0로 가정하여 평균과 분산 및 초기 임계치를 추정하는 구간으로 사용하였으며, 이후 구간에서는 3.3절에서 제안한 분위수 기반 가변 임계치 갱신 규칙을 적용하여 실시간으로 임계치를 조정하였다. 실제 오탐 확률 $P_{fa}$는 H0 상황에서 $\chi^2$ 통계량이 임계치를 초과하여 H1으로 잘못 판정된 총 횟수를 H0에서 sliding window 기반 탐지를 수행한 총 횟수로 나누어 산출하였고, 탐지 확률 $P_d$는 H1 상황에서 $\chi^2$ 통계량이 임계치를 초과하여 스푸핑을 올바르게 탐지한 총 횟수를 H1에서 탐지를 수행한 총 횟수로 나누어 계산하였다. 탐지 시뮬레이션의 결과는 Fig. 5에 정리하였다.
Fig. 5. ROC curve and AUC per PRN.
탐지기의 성능은 H0 상황과 H1에서 얻은 $\chi^2$ 통계량 $T_u (k)$의 분포를 기반으로 각 PRN 별 Receiver Operating Characteristic (ROC) 곡선과 AUC를 통해 평가하였다. 먼저 ROC 곡선은 오탐 확률 $P_{fa}$과 탐지 확률 $P_d$ 간의 관계를 이용하여 다음과 같이 산출한다.
$\chi^2$ 통계량 $T_u (k)$의 임계치를 높게 설정하면 탐지기는 스푸핑 탐지가 정상적으로 되지 않으므로 $P_{fa}$와 $P_d$가 모두 0에 가깝다. 반대로 임계치를 낮게 설정하면 대부분의 경우 스푸핑으로 판단되어 $P_{fa}$와 $P_d$가 동시에 1에 수렴한다. 따라서 임계치를 큰 값에서 작은 값으로 변화시키면서 $P(T_u (k) > \theta_u (t)|H_0)= P_{fa}$ 및 $P(T_u (k)> \theta_u (t)|H_1)= P_d$을 계산한다. 이때 ($P_{fa}$, $P_d$) 쌍을 연결하면 (0,0)에서 (1,1)로 단조 증가하는 ROC 곡선이 형성된다. 즉, 탐지기가 임계치를 낮추면 $P_d$가 증가하지만 $P_{fa}$도 함께 증가하며, 이 두 성능지표의 트레이드오프가 ROC 곡선에 반영된다.
다음으로 AUC는 ROC 곡선 아래 면적이고 탐지기의 H0 및 H1 분류 성능을 정량적으로 표현한 값으로, $AUC=\int_{0}^{1} P_d (P_{fa}) dP_{fa}$와 같이 정의하였다. 이 연구에서는 실제 시뮬레이션 결과로부터 H0과 H1의 $T_u (k)$을 각각 정렬하여 정확한 AUC를 계산하였다. 여기서 AUC는 0.5이면 무작위 판별(random guess) 수준이며, 1.0에 가까울수록 두 분포가 분리도가 높다는 의미이다.
Fig. 5에서 볼 수 있듯이, 제안된 탐지기는 모든 PRN에서 AUC 값이 0.9 이상을 보여 H0 상황과 H1 간의 통계량 분포가 충분히 분리되어 있음을 확인 할 수 있었다. 또한 H0 대비 H1 상황에서 스푸퍼 신호의 이득 $\alpha$가 클수록 C/N0의 비중심 특성이 뚜렷하게 나타나며, 이는 기존에 연구된 C/N0 기반 탐지기 결과와 유사하게 $P_{fa}$와 $P_d$ 간의 관계를 형성하면서 ROC 곡선으로 나타나고 있음을 알 수 있다 (Tu et al. 2018).
$\alpha = +3$ dB 시나리오에서는 추적중인 PRN 4개의 AUC가 약 0.93 범위 내에 분포하며, $P_{fa}$가 0.1~0.2 구간에서는 $P_d$가 0.8~0.9 수준으로 수렴하는 것을 알 수 있다. 이는 3.3절에서 언급한 $\chi^2$ 통계량 $T_u (k)$이 H0에서는 중앙 $\chi^2$ 분포를 따르지만, $\alpha = +3$ dB와 같이 스푸핑 전력 이득이 상대적으로 작을 때에는 H1에서의 비중심 모수 $\lambda$가 아직 충분히 크지 않아 두 분포의 일부가 중첩되기 때문이다. 그 결과 임계치를 낮추면 $P_d$가 증가하는 동시에 $P_{fa}$도 함께 증가하는 trade-off가 비교적 뚜렷이 나타난다.
반면 $\alpha = +6$ dB 시나리오에서는 각 PRN별 AUC가 0.98 이상의 수준으로 증가하고, $\alpha = +9$ dB 시나리오에서는 AUC가 0.99 이상에 이르러 이상적인 ROC 곡선을 형성한다. 이는 스푸퍼 전력 이득이 커질수록 C/N0 분포의 평균이 H0 대비 크게 우측으로 이동하면서, $\chi^2$ 통계량의 비중심 모수 $\lambda$가 급격히 증가하여 H0와 H1의 중첩 구간이 매우 작아지기 때문이다. 실제로 $\alpha = +6, +9$ dB에서는 $P_{fa}$를 10⁻² 이하의 매우 낮은 값으로 설정하더라도 $P_d$가 거의 1에 수렴하여, 목표 오탐 확률을 엄격히 제한한 상태에서도 스푸핑을 거의 완벽에 가깝게 검출할 수 있음을 확인하였다.
추가적으로 서론에서 언급한 “RPM”과 제안한 C/N0 기반 탐지기의 성능을 정량 비교하기 위해, 이 연구의 시뮬레이션 조건 및 수신기 디지털 프론트엔드 동작을 반영하여 “RPM 기반 비교기법”을 구성하여 ROC와 연계한 AUC를 산출하였다. “RPM 기반 비교기법”은 C/N0 변화량과 AGC 변화량을 함께 관측하여 산출된 경험적 데이터로부터 설정한 2차원 임계선을 기준으로 스푸핑 여부를 판별하므로, 이 연구에서는 1 ms 간격으로 추정된 $(\widehat{C/N0})_{u}(k)$ [dB-Hz] 및 1 ms 간격으로 추정된 AGC 로그 $\widehat{AGC} (k)$로부터 $\Delta (\widehat{C/N0})_{u}(k)=(\widehat{C/N0})_{u}(k) – (\widehat{C/N0})^{H0,train}$와 $\Delta \widehat{AGC} (k)= \widehat{AGC} (k) – \widehat{AGC}^{H0,train}$의 잔차 수식을 구성하였다. 여기서 $(\widehat{C/N0})^{H0,train}$ 및 $\widehat{AGC}^{H0,train}$은 H0 구간 중 70% 학습 구간에서 산출한 평균값이다. 기존 기법에서 제시한 경험적 데이터 기반 2차원 임계선을 본 시뮬레이션에 그대로 적용하기 어려우므로, H0/H1 데이터셋을 시간축 기준으로 70%/30%로 분할하여 학습/평가 구간으로 분리한 뒤 선형 판별 분석 (LDA)을 적용하여 2차원 임계선을 추정하였고, $\alpha = \{+3, +6, +9\}$ dB에서 ROC와 연계한 AUC를 계산하였다. Table 1과 같이 제안한 C/N0 기반 탐지기는 “RPM 기반 비교기법” 대비 AUC가 모든 H1 조건에서 높게 나타났으며, 특히 $\alpha = +3$ dB 조건에서 “RPM 기반 비교기법”의 AUC는 0.8 수준인 반면 제안 기법은 0.9 이상으로 나타나 전력 우위가 상대적으로 작아 정상/스푸핑 구분이 어려운 조건에서도 탐지 성능이 향상됨을 확인하였다.
Table 1. PRN-wise AUC comparison between the proposed C/N0-based detector and the RPM-based reference method (LDA) under spoofing power advantages (α = +3, +6, +9 dB).
| PRN No. | C/N0 based method | RPM-based reference method (LDA) | C/N0 based method | RPM-based reference method (LDA) | C/N0 based method | RPM-based reference method (LDA) |
|---|---|---|---|---|---|---|
| $\alpha$ | $\alpha = +3$ dB | $\alpha = +3$ dB | $\alpha = +6$ dB | $\alpha = +6$ dB | $\alpha = +9$ dB | $\alpha = +9$ dB |
| PRN1 | 0.90902 | 0.84931 | 0.98093 | 0.92027 | 0.99706 | 0.96714 |
| PRN2 | 0.94821 | 0.88057 | 0.99135 | 0.94157 | 0.99917 | 0.9773 |
| PRN3 | 0.95282 | 0.87935 | 0.99258 | 0.9399 | 0.9993 | 0.97641 |
| PRN4 | 0.93908 | 0.86134 | 0.9907 | 0.9278 | 0.99892 | 0.97059 |
이 연구에서는 한반도 GNSS 환경 특성을 고려한 새로운 C/N0 기반 스푸핑 탐지 기법을 제안하였다. 먼저 중위도 지역인 한반도에서 관측되는 전리층 신틸레이션 특성을 분석하고 그로 인한 C/N0 감쇄 특성을 GPS 반송파에 대해 PLL 출력에서의 추적 오차 분산식 (Conker et al. 2000)을 통해 정량적으로 유도하였으며, 이를 정상상황(H0)에 반영하여 보다 현실적인 C/N0 분포를 구성하고, 그 통계적 특성을 CDF를 이용하여 분석하였다.
반면 H1 상황에서는 정상 환경에서 나타나는 전리층 신틸레이션으로 인한 C/N0 감쇄 특성을 배제하고, 4개의 PRN에 대해 스푸퍼의 전력 우위 {+3, +6, +9} dB와 0.25 chip의 미세 코드 지연을 포함한 가산형 스푸핑 신호 모델을 구성하였다. 이러한 H0/H1 모델링은 기존 연구에서 간과되었던 정상 상태의 환경적 변동성을 충실히 반영함으로써, 보다 정확한 스푸핑 탐지 기반을 구축하였다.
또한 이 연구에서는 수신기 디지털 프론트엔드 및 상관기 이후 C/N0 추정 과정을 모두 통합한 시뮬레이션을 구성하였다. 인과 FIR 필터링, AGC, 2-bit 양자화, Prompt/Off-Prompt tap 상관기 구조 등 실제 GNSS 수신기에서 C/N0 추정에 직접적으로 영향을 주는 요소들을 통계적으로 등가하게 구현하였고, 이 시스템을 통과하여 추정된 C/N0를 기반으로 C/N0 기반 탐지기를 제안하였다.
제안된 탐지기는 sliding window 기반 평균·분산 추정과 분위수 기반 가변 임계치 갱신 구조를 포함하여, 전리층 신틸레이션과 같은 자연 변동 환경에서도 안정적으로 동작하도록 설계되었다. 시뮬레이션 결과 모든 PRN에서 AUC가 0.9 이상을 기록하여, 제안 기법이 H0 상황과 H1 상황을 효과적으로 분류할 수 있음을 확인하였다.
이 연구의 결과는 한반도와 같이 전리층 신틸레이션의 발생 빈도가 낮은 지역에서 독립적인 스푸핑 탐지기로 활용될 수 있다는 의의를 가진다. 특히 기존의 단일 시점 C/N0 기반 탐지 방식이 갖는 제한점을 개선하고, 전리층 신틸레이션과 같은 환경 특성이 반영된 H0 모델을 통해 오탐을 줄이면서도 높은 분류 성능을 확보하였다는 점에서 실용성이 크다. 향후 연구에서는 이번 연구에서 제시한 탐지기에 도플러 기반 탐지 기법을 결합하여 복합 스푸핑 탐지기로 확장하고, 다양한 위성군·다중대역 상황에서도 이 탐지기법의 효과를 검증함으로써 보다 강건한 스푸핑 탐지기로 발전시킬 계획이다.
Conceptualization, Y. Kim and J. Ahn; methodology, Y. Kim and J. Ahn; software, Y. Kim; validation, Y. Kim; formal analysis, Y. Kim; investigation, Y. Kim; writing—original draft preparation, Y. Kim; writing—review and editing, J. Ahn; supervision, J. Ahn.
The authors declare no conflict of interest.
Álvarez-Molina, X., Seco-Granados, G., Solé-Gaset, M., Locubiche-Serra, S., & López-Salcedo, J. A. 2025, Performance analysis of spoofing and interference detection techniques for Satellite-Based Augmentation System and Global Navigation Satellite System reference receivers, Engineering Proceedings, 88, Article 38. https://doi.org/10.3390/engproc2025088038
Analog Devices Inc, 2016, MAX2769C: Universal GNSS Receiver (Rev 1; 19-8634) [Data sheet]. https://www.analog.com/media/en/technical-documentation/data-sheets/max2769c.pdf
Anthony, T., Kerns, M., & Dunn, M. J. 2022, Navstar GPS space segment/navigation user segment interfaces (IS‑GPS‑200, Revision N), PNT Technical Director, Space Systems Command (SSC). (IS‑GPS‑200N)
Conker, R. S., El‑Arini, M. B., Hegarty, C. J., & Hsiao, T. 2000, Modeling the Effects of Ionospheric Scintillation on GPS/SBAS Availability, In Proceedings of the IAIN World Congress and the 56th Annual Meeting of ION, pp.563‑576. https://www.ion.org/publications/pdf.cfm?articleID=808
Humphreys, T. E., Ledvina, B. M., Psiaki, M. L., O’Hanlon, B. W., & Kintner, P. M., Jr. 2008, Assessing the spoofing threat: Development of a portable GPS civilian spoofer, In Proceedings of ION GNSS 2008, pp.2314-2325. https://www.ion.org/publications/abstract.cfm?articleID=8132
International Telecommunication Union (ITU-R) 2025, Recommendation ITU‑R P.531‑16: Ionospheric Propagation Data and Prediction Methods. https://www.itu.int/rec/R-REC-P.531-16-202509-I/en
Kaplan, E. D. & Hegarty, C. J. 2006, Understanding GPS: Principles and Applications, 2nd ed. (Artech House Inc.).
Lee, W. K., Kil, H., Choi, B. K., Hong, J., Jeong, S. H., et al. 2024, Ionospheric Responses to the May 2024 G5 Geomagnetic Storm Over Korea…, Journal of Space Technology and Applications, 4, 210-219. https://doi.org/10.52912/jsta.2024.4.3.210
Li, J., Zhu, X., Ouyang, M., Li, W., Chen, Z., et al. 2020, Research on multi‑peak detection of small delay spoofing signal, IEEE Access, 8, 151777–151787. https://doi.org/10.1109/ACCESS.2020.3016971
Liu, J., Xie, Y., Chen, F., Ni, S., & Sun, G. 2024, Research on spoofing detection based on C/N0 measurements for GNSS array receivers, China Satellite Navigation Conference (CSNC), pp.556-566. https://doi.org/10.1007/978-981-99-6932-6_46
Lo, S., Rothmaier, F., Miralles, D., Akos, D., & Walter, T. 2021, Developing a practical GNSS spoofing detection thresholds for receiver power monitoring, ION GNSS+ 2021, pp.803-815. https://doi.org/10.33012/2021.17931
Radoš, K., Brkić, M., & Begušić, D. 2024, Recent Advances on Jamming and Spoofing Detection in GNSS, Sensors, 24, Article 4210. https://doi.org/10.3390/s24134210
Tsui, J. B.-Y. 2005, Fundamentals of Global Positioning System Receivers: A Software Approach, 2nd ed. (John Wiley & Sons).
Tu, J., Zhan, X., Zhang, X., Zhang, Z., & Jing, S. 2018, Low‑Complexity GNSS Anti‑spoofing Technique Based on Doppler Frequency Difference Monitoring, IET Radar, Sonar & Navigation, 12, 1058-1065. https://doi.org/10.1049/iet-rsn.2018.5151
Wesson, K. D., Gross, J. N., Humphreys, T. E., & Evans, B. L. 2018, GNSS Signal Authentication via Power and Distortion Monitoring, IEEE TAES, 54, 739-754. https://doi.org/10.1109/TAES.2017.2765258
Wieser, A. 2006, High-sensitivity GNSS: The trade-off between availability and accuracy, 3rd IAG Symposium, pp. 1-12. https://www.fig.net/resources/proceedings/2006/baden_2006_comm6/PDF/GPS2/Wieser.pdf