Python implementation of an anti-replay method for Galileo OSNMA using sample-level partial-correlation metrics

Galileo’s Open Service Navigation Message Authentication (OSNMA) strengthens civil GNSS against spoofing by authenticating the E1-B I/NAV navigation message [1]. Nevertheless, OSNMA is a data-level mechanism and does not inherently guarantee the freshness of range observables. A sophisticated advers...

ver descrição completa

Detalhes bibliográficos
Autor: García Suárez, Pedro
Formato: tesis de maestría
Fecha de publicación:2026
País:España
Recursos:Departament de Salut de la Generalitat de Catalunya (DS)
Repositorio:O2, repositorio institucional de la UOC
OAI Identifier:oai:openaccess.uoc.edu:10609/154002
Acesso em linha:https://hdl.handle.net/10609/154002
Access Level:acceso abierto
Palavra-chave:GNSS authentication
Galileo OSNMA
spoofing
anti-replay
SCER
partialcorrelation detector
unpredictable symbols
sample-level detection
Open source software -- TFM
Programari lliure -- TFM
id ES_b07dd2c3e4728d493e351bd6a30cc9fa
oai_identifier_str oai:openaccess.uoc.edu:10609/154002
network_acronym_str ES
network_name_str España
repository_id_str
spelling Python implementation of an anti-replay method for Galileo OSNMA using sample-level partial-correlation metricsGarcía Suárez, PedroGNSS authenticationGalileo OSNMAspoofinganti-replaySCERpartialcorrelation detectorunpredictable symbolssample-level detectionOpen source software -- TFMProgramari lliure -- TFMGalileo’s Open Service Navigation Message Authentication (OSNMA) strengthens civil GNSS against spoofing by authenticating the E1-B I/NAV navigation message [1]. Nevertheless, OSNMA is a data-level mechanism and does not inherently guarantee the freshness of range observables. A sophisticated adversary may therefore attempt near-zero-delay Security Code Estimation and Replay (SCER) attacks by estimating unpredictable symbol content on the fly and re-radiating a forged signal with minimal delay [2]. This real-time estimation constraint inevitably introduces transient chip-level inconsistencies at the beginning of each symbol [2, 3], which can be exploited for detection. This thesis proposes a sample-level, software-only anti-replay detector based on within-symbol partial correlations for Galileo E1-B. The detector compares an early window—where SCER artifacts are expected—against a reference window later in the same symbol. To operate under OSNMA’s unpredictability, the receiver applies a realistic wipe-off strategy using an internal sign estimate derived from full-symbol correlation, enabling coherent aggregation over multiple symbols. Evidence is accumulated into global decision statistics, focusing on the R2 and R3 metrics proposed in [3]. The approach is implemented in a modular Python chip-level simulator including signal generation, an SCER spoofer model with running sign estimation, an AWGN channel, and the partial-correlation detector. Performance is assessed through Monte Carlo simulation with quantile-based threshold calibration under nominal reception and split-based validation to avoid optimistic bias, and is reported in terms of achieved false-alarm probability, detection probability under SCER, and ROC/AUC behavior. The results show that both R2 and R3 can be calibrated in a stable and interpretable manner, and that detection performance improves sharply with evidence accumulation, highlighting a clear latency–performance trade-off for practical OSNMA-enabled anti-replay monitoring.Universitat Oberta de Catalunya (UOC)Terris Gallego, Rafael202620262026info:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/10609/154002reponame:O2, repositorio institucional de la UOCinstname:Departament de Salut de la Generalitat de Catalunya (DS)InglésCC BY-NC-NDhttps://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessoai:openaccess.uoc.edu:10609/1540022026-05-28T12:42:01Z
dc.title.none.fl_str_mv Python implementation of an anti-replay method for Galileo OSNMA using sample-level partial-correlation metrics
title Python implementation of an anti-replay method for Galileo OSNMA using sample-level partial-correlation metrics
spellingShingle Python implementation of an anti-replay method for Galileo OSNMA using sample-level partial-correlation metrics
García Suárez, Pedro
GNSS authentication
Galileo OSNMA
spoofing
anti-replay
SCER
partialcorrelation detector
unpredictable symbols
sample-level detection
Open source software -- TFM
Programari lliure -- TFM
title_short Python implementation of an anti-replay method for Galileo OSNMA using sample-level partial-correlation metrics
title_full Python implementation of an anti-replay method for Galileo OSNMA using sample-level partial-correlation metrics
title_fullStr Python implementation of an anti-replay method for Galileo OSNMA using sample-level partial-correlation metrics
title_full_unstemmed Python implementation of an anti-replay method for Galileo OSNMA using sample-level partial-correlation metrics
title_sort Python implementation of an anti-replay method for Galileo OSNMA using sample-level partial-correlation metrics
dc.creator.none.fl_str_mv García Suárez, Pedro
author García Suárez, Pedro
author_facet García Suárez, Pedro
author_role author
dc.contributor.none.fl_str_mv Terris Gallego, Rafael
dc.subject.none.fl_str_mv GNSS authentication
Galileo OSNMA
spoofing
anti-replay
SCER
partialcorrelation detector
unpredictable symbols
sample-level detection
Open source software -- TFM
Programari lliure -- TFM
topic GNSS authentication
Galileo OSNMA
spoofing
anti-replay
SCER
partialcorrelation detector
unpredictable symbols
sample-level detection
Open source software -- TFM
Programari lliure -- TFM
description Galileo’s Open Service Navigation Message Authentication (OSNMA) strengthens civil GNSS against spoofing by authenticating the E1-B I/NAV navigation message [1]. Nevertheless, OSNMA is a data-level mechanism and does not inherently guarantee the freshness of range observables. A sophisticated adversary may therefore attempt near-zero-delay Security Code Estimation and Replay (SCER) attacks by estimating unpredictable symbol content on the fly and re-radiating a forged signal with minimal delay [2]. This real-time estimation constraint inevitably introduces transient chip-level inconsistencies at the beginning of each symbol [2, 3], which can be exploited for detection. This thesis proposes a sample-level, software-only anti-replay detector based on within-symbol partial correlations for Galileo E1-B. The detector compares an early window—where SCER artifacts are expected—against a reference window later in the same symbol. To operate under OSNMA’s unpredictability, the receiver applies a realistic wipe-off strategy using an internal sign estimate derived from full-symbol correlation, enabling coherent aggregation over multiple symbols. Evidence is accumulated into global decision statistics, focusing on the R2 and R3 metrics proposed in [3]. The approach is implemented in a modular Python chip-level simulator including signal generation, an SCER spoofer model with running sign estimation, an AWGN channel, and the partial-correlation detector. Performance is assessed through Monte Carlo simulation with quantile-based threshold calibration under nominal reception and split-based validation to avoid optimistic bias, and is reported in terms of achieved false-alarm probability, detection probability under SCER, and ROC/AUC behavior. The results show that both R2 and R3 can be calibrated in a stable and interpretable manner, and that detection performance improves sharply with evidence accumulation, highlighting a clear latency–performance trade-off for practical OSNMA-enabled anti-replay monitoring.
publishDate 2026
dc.date.none.fl_str_mv 2026
2026
2026
dc.type.none.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
dc.identifier.none.fl_str_mv https://hdl.handle.net/10609/154002
url https://hdl.handle.net/10609/154002
dc.language.none.fl_str_mv Inglés
language_invalid_str_mv Inglés
dc.rights.none.fl_str_mv CC BY-NC-ND
https://creativecommons.org/licenses/by-nc-nd/4.0/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv CC BY-NC-ND
https://creativecommons.org/licenses/by-nc-nd/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universitat Oberta de Catalunya (UOC)
publisher.none.fl_str_mv Universitat Oberta de Catalunya (UOC)
dc.source.none.fl_str_mv reponame:O2, repositorio institucional de la UOC
instname:Departament de Salut de la Generalitat de Catalunya (DS)
instname_str Departament de Salut de la Generalitat de Catalunya (DS)
reponame_str O2, repositorio institucional de la UOC
collection O2, repositorio institucional de la UOC
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869416812392742912
score 15.812429