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...
| Autor: | |
|---|---|
| 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 |