1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2026-04-19 13:21:25 +00:00
Commit Graph

1889 Commits

Author SHA1 Message Date
cesaaargm
dd2f153023 Bugfix for OSNMA_DSM_Reader::get_alpha
This commit fixes a bug in the parsing of the DSM-Kroot alpha parameter.
2024-05-06 17:53:13 +02:00
cesaaargm
b687d4cafe Bugfix for Gnss_Crypto::verify_signature
The commit introduces conversion from raw signature (r, s values) into DER format for the ossl3 region, after realising that that was making the verification fail.
2024-05-06 17:52:07 +02:00
cesaaargm
359631b534 Improve logging in OSNMA receiver
* substitute std::cout with google log outputs, blend out some couts
* add check that the final time matches the Kroot time during tesla key verification
* introduce variable 'd_validated_key'
2024-05-06 17:46:33 +02:00
Carles Fernandez
95596b8f91 Soft transition from Gflags and Glog to Abseil. Some CI fixes 2024-04-29 08:27:33 +02:00
Carles Fernandez
4c8cde1ec7 Add work on reading Galileo Integrity Support Message 2024-04-23 00:55:11 +02:00
cesaaargm
e13fc39214 [TAS-177] implement OsnmaTestVectorsSimulation
This commit introduces two new unit tests for the osnma_msg_receiver class: 'TeslaKeyVerification' and 'OsnmaTestVectorsSimulation'. The first test verifies the Tesla key handling within the class. The second test uses real-world test vectors to simulate osnma message receiving and verifies correct parsing and processing of messages.
2024-04-19 17:50:57 +02:00
cesaaargm
ff5118db54 [TAS-156] debug verify_tesla_key various bugfixes plus refactor recursive hash computation 2024-04-10 17:51:43 +02:00
cesaaargm
a17b04cb22 [TAS-159 ] d_tesla_key_verified => do not hash until Kroot(every time) - improve efficiency of verify_tesla_key by computing only the needed hashes until chronologically closest key, instead of going back to Kroot. Aditional chanches are:
* rename unused variable d_old_GST_SISto d_last_verified_key_GST and use it for tesla key verification
* fix bug on verify_tesla_key during the comparison of computed and received key
* deleted d_old_OSNMA_buffer
* fill PRNa and TOW for MACK message when parsing it
* fix parameter bug for verify_macseq()
* immplement tag_has_key_available
* delete old verify_tag implementation
2024-04-07 14:27:14 +02:00
cesaaargm
8fa1a86f24 Refactor tag verification logic - solve build errors 2024-04-02 18:04:19 +02:00
Cesare G. Martínez
a4d9b720dc Merge remote-tracking branch 'origin/osnma-cesare' into osnma-cesare
# Conflicts:
#	src/core/libs/osnma_msg_receiver.cc
#	src/core/libs/osnma_msg_receiver.h
#	src/core/system_parameters/osnma_data.cc
#	src/core/system_parameters/osnma_data.h
2024-04-02 07:37:36 +02:00
cesaaargm
9120f5e59a Refactor tag verification logic WIP 2024-04-02 07:31:42 +02:00
cesaaargm
37b343391c Refactor tag verification logic WIP 2024-03-22 05:03:05 +01:00
cesaaargm
b5765048de [TAS-160] bugfix readMack for tag size 20. Subframe filter if TOW repeated. Unit test for HMAC 256. Update OSNMA tables. 2024-03-16 18:40:02 +01:00
cesaaargm
950c7310f9 [TAS-154] signature verification with ossl 3
Several changes were made on gnss_crypto to ensure that the unit test passes. Public key copying and hex printing features were added. The OpenSSL header includes were updated.
2024-03-11 20:08:28 +01:00
cesaaargm
816c20b77b Force use of OpenSSL library 2024-03-11 17:03:20 +01:00
cesaaargm
4a13e446b6 [TAS-153] Re-design time check requirement
[TAS-140] Tag verification: accumulation tags of PRNd and ADKD for T_COP

This update introduces updated time verification functions and DSM block processes. TAS-140 introduces work (in progress) for taking into account the COP when validating tags. This accounts for significant structural changes in process_mack_message(). The update also resolves several TODO comments and includes minor adjustments to unit tests and system parameters.
2024-03-10 16:38:24 +01:00
cesaaargm
aca6c21944 Revert "[TAS-111] time synch check: first draft"
This reverts commit 50fbc3e9
2024-02-27 21:13:23 +01:00
cesaaargm
9488008b89 [TAS-153] Re-design time check requirement and how time is computed
The OSNMA message receiver has been refactored to correct errors. It introduces new functions to process local time verification as well as DSM blocks. Flow of information between these functions is also changed, to improve readabilty and responsibility. Several TODO comments have been addressed as part of the changes. This commit also includes minor changes to the unit tests and system parameters classes.
2024-02-27 19:06:36 +01:00
cesaaargm
80e6d8df18 Add unit tests for GNSS_crypto
Introduced unit tests in `gnss_crypto_test.cc` to verify the functionality set_public_key and verify_signature. The added tests check the correctness of signature verification and public key import processes. Further minor changes
2024-02-20 15:52:19 +01:00
cesaaargm
ce6036e431 Increase time difference limit and refactor key length retrieval
The time difference limit between local time and OSNMA subframe time has been increased from 15 to 120. Additionally, key length retrieval condensed. Minor adjustments in tesla key, padding of bits, and success messaging during data verification.
2024-02-16 14:51:59 +01:00
cesaaargm
aa45386cdf [TAS-135] Tag verification: L_T should exist when out of scope
* Aditionally documentation was written for some important methods and compilation warnings were eliminated.
2024-02-06 20:47:50 +01:00
cesaaargm
a688ad984d [TAS-111] time synch check: GST-UTC conversion before comparison
Refactored the code to use Galileo_Utc_Model's GST_to_UTC_time function.
Last two reverts are because I wrongly made the class static plus other brilliant ideas  that turned out to be garbage.
2024-02-01 06:41:52 +01:00
cesaaargm
a32bdae396 Revert "[TAS-111] time synch check"
This reverts commit ba2e392a5d.
2024-02-01 06:12:26 +01:00
cesaaargm
dafa7403dc Revert "[TAS-111] Refactor Galileo_Utc_Model and time synchronization in osnma_msg_receiver"
This reverts commit 51b4209535.
2024-02-01 06:12:25 +01:00
Cesare G. Martínez
51b4209535 [TAS-111] Refactor Galileo_Utc_Model and time synchronization in osnma_msg_receiver
In osnma_msg_receiver, the time synchronization between OSNMA subframes and local time has been updated. To facilitate this, the Galileo_Utc_Model has been refactored to be used statically, instead of being passed through the osnma_msg_receiver constructor. Additional changes include: adjusting variable declarations, adding an initialization method, altering the function GST_to_UTC_time to be static, and removing an unused instantiation of the model in osnma_msg_receiver.
2024-01-31 13:05:55 +01:00
Cesare G. Martínez
ba2e392a5d [TAS-111] time synch check 2024-01-29 17:07:39 +01:00
Cesare G. Martínez
620249f9f2 [TAS-126] [TAS-125] NavData storage of last 10 SFs / NavData retrieval: store needed NavData within osnma_data::NavData for the last 10 subframes
* In osnma_msg_receiver: d_old_navdata_buffer to store last 10 NavData.
		* In osnma_msg_receiver::process_mack_message: pass needed data to the newly created structure osnma_data::NavData, generate needed vectors for tag verification.
		* In osnma_data.h/cc: Create NavData structure, Create osnma_data.cc source file, add to CMakeLists source file.
2024-01-25 17:11:28 +01:00
Cesare G. Martínez
08bd1992af [TAS-125] NavData retrieval.
* set osnma flags to true when new data
		* send them to osnma block if filled.
2024-01-22 17:58:39 +01:00
cesaaargm
27a7274e1a Merge branch 'carlesfernandez:next' into osnma-cesare 2024-01-20 22:05:02 +01:00
Cesare G. Martínez
50fbc3e9e5 [TAS-111] time synch check: first draft 2024-01-20 10:21:22 +01:00
Cesare G. Martínez
13cc59c5fa [TAS-117] implement first test 2024-01-20 10:18:18 +01:00
Carles Fernandez
3697bc1dce Improve value reading in navigation message decoding
More concise code, less branching, fix some Wshorten-64-to-32 warnings
2024-01-13 12:07:06 +01:00
Cesare G. Martínez
f7d7f5a784 [TAS-116] tag verification for ADKD=0 2024-01-08 19:11:13 +01:00
Cesare G. Martínez
fdbd99ce6b [TAS-109] ADKD-MCLT check - changed GST mask, implement FLX tags 2024-01-06 20:59:53 +01:00
cesaaargm
451bae4a3b Merge branch 'carlesfernandez:next' into osnma-cesare 2024-01-06 16:42:09 +01:00
Carles Fernandez
4916c6c8e8 Fix member initializations, potential data race conditions, and minor performance issues detected by Coverity Scan
Never throw from main
2023-12-21 13:57:41 +01:00
Marc Majoral
8b512d997b Remove the EZDMA driver, fix time reporting when using the FPGA, and include minor fixes for the dynamic bit selection, the AD9361 FPGA signal source, and the FPGA acquisition sampling factor parameter 2023-12-20 18:56:04 +01:00
Cesare G. Martínez
656684e396 DSM-PKR getter setter structure 2023-12-17 21:01:01 +01:00
cesaaargm
7f3202be8e WIP 2023-12-17 14:16:47 +01:00
cesaaargm
33f6bacd9b [TAS-110] tesla key verification first implementation
* read_mack_block =>  computation of d_GST_Sf and  d_GST_0
	* read_mack_header => verify_tesla_key logic
2023-12-12 22:07:30 +01:00
cesaaargm
1356a3e87b [TAS-110] verify_tesla_key-> implement retrieval tesla key 2023-12-07 05:39:09 +01:00
cesaaargm
55e624e9f8 Merge branch 'carlesfernandez:next' into osnma-cesare 2023-12-07 04:05:52 +01:00
cesaaargm
51061f18eb [TAS-106] process_mack_message: tags ADKD-MCLT check (first draft) 2023-12-05 20:16:03 +01:00
cesaaargm
d01ea978c6 [TAS-108] first implementation of verify_dsm_pkr()
* osnma_msg_receiver : leafs computation without loop and root comparison
	* gnss_crypto : getMerkleRoot() to return d_x_4_0
2023-12-03 17:45:15 +01:00
cesaaargm
ba357ebd9c Comments and questions | verify_dsm_pkr() structure 2023-12-03 15:50:16 +01:00
Carles Fernandez
a152226f50 Fix potenctial data race condition 2023-12-02 12:54:28 +01:00
Carles Fernandez
4a8c58f6ba Fix performance inefficiencies detected by Coverity Scan 2023-11-29 21:34:59 +01:00
Carles Fernandez
1818c88983 Fix data race conditions and performance inefficiencies, update CHANGELOG 2023-11-28 18:06:41 +01:00
Carles Fernandez
346cd8f9ac Fix data race condition 2023-11-28 12:26:13 +01:00
Carles Fernandez
ab81fdaca9 Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into osnma 2023-11-20 16:59:22 +01:00