1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-16 05:00:35 +00:00
Commit Graph

6559 Commits

Author SHA1 Message Date
Carles Fernandez
23bb5c85c5
Fix building against OpenSSL 1.0 2024-06-25 11:45:09 +02:00
Carles Fernandez
9a1def7aa4
Fix building with old compilers 2024-06-25 10:50:00 +02:00
cesaaargm
c1c58eab06
Merge pull request #4 from carlesfernandez/osnma-cesare-fix3
Really fix signature verification with GnuTLS
2024-06-24 15:33:20 +02:00
cesaaargm
2cf96bda87 [TAS-226] [FEAT] Remove tags skipped ≥ 10 times
Take into account TOW to decide whether to skip a tag or not.
Still, I dont like the logic of iterating over and over the tags. Once a tag is verified once, it should be not checked unless next TOW subframe came (new Data or new Key available)

Adittionally: solved a small specification bug for ADKD=12, improved reporting (status of Tag is a string now)
2024-06-24 14:43:43 +02:00
Carles Fernandez
584b95e62e
Fix CMAC-AES implementation in OpenSSL>3.0.0. Add unit test 2024-06-24 14:01:34 +02:00
Carles Fernandez
8ea75116ac
Fix intantiation of Gnss_Crypto() with GnuTLS 2024-06-23 13:48:31 +02:00
Carles Fernandez
a704c10044
Add SHA_256 unit test 2024-06-23 13:34:57 +02:00
Carles Fernandez
378820e76b
Add unit test for SHA3-256 hash algorithm 2024-06-23 13:10:38 +02:00
Carles Fernandez
d4cc036cbd
Fix HMAC-SHA256 computation with OpenSSL > 3.0 2024-06-23 12:03:12 +02:00
Carles Fernandez
1bc6d466c5
Fix conflict 2024-06-23 11:26:36 +02:00
Carles Fernandez
8dfd341d2c
Fix tests building 2024-06-23 11:10:40 +02:00
Carles Fernandez
bac36b2df5
Read .crt files instead of .pem files
Define the following global configuration parameters:
GNSS-SDR.osnma_public_key (string, by default pointing to ../data/OSNMA_PublicKey_20240115100000_newPKID_1.crt)
GNSS-SDR.osnma_merkletree (string, by default pointing to  ../data/OSNMA_MerkleTree_20240115100000_newPKID_1.xml)

Add logging of OSNMA events
Clean public API of Gnss_Crypto class
2024-06-23 09:49:14 +02:00
cesaaargm
849a900adf [TAS-228] [FEAT] adapt osnma test vector to new navData passing
All tags either verified SUCCESSFULLY or Skipped.
Skipping issue still present.
2024-06-22 14:54:08 +02:00
cesaaargm
f1e616c4e5 [TAS-226] [FEAT] Remove tags skipped ≥ 10 times 2024-06-22 14:04:08 +02:00
cesaaargm
c8c7d4c352 [TAS-224] Update telemetry decoder to directly process Navigation Data bits
This update refactors the telemetry decoder to directly retrieve and compute Navigation Data bits. WIP as the tag verification still fails
2024-06-22 14:03:15 +02:00
Carles Fernandez
d41efd2653
Really fix signature verification with GnuTLS 2024-06-21 10:29:20 +02:00
cesaaargm
11e84e751b
Merge branch 'carlesfernandez:next' into osnma-cesare 2024-06-17 17:28:19 +02:00
Carles Fernandez
d1b97cfa09
Clean log 2024-06-14 20:45:55 +02:00
cesaaargm
1a32ccaa19 [TAS-208 WIP ] [Feature] Retrieve directly NavData bits from Telemetry Decoder (ADKD4 and 0/12)
- appear to retrieve data as expected.
- However, tag verification fails still (new dat file)
2024-06-13 01:13:17 +02:00
cesaaargm
b39087f609
Merge pull request #2 from carlesfernandez/osnma-cesare_fix1
Build fixes
2024-06-12 20:47:54 +02:00
cesaaargm
ed32e84402 [TAS-221] [BUG] FLX tag verification fails for recorded signals but succeeds for configuration_2 (otv)
Implemented changes to ensure accurate computation of the d_GST_Sf in message receiver. Checked test is not affected by this. Logging improvements have been made.
2024-06-11 18:33:58 +02:00
Carles Fernandez
0e168a8ff0
Build fixes 2024-06-11 14:16:36 +02:00
cesaaargm
8de00f92bf [TAS-198] tag verification: debug MACSEQ (flex)
- reset the d_GST_Sf computation being d_GST_SIS - 30 seconds. All FLX tags successfuly verified.
2024-06-10 19:47:41 +02:00
cesaaargm
4f7a22f35c [TAS-219] Configuration_2, num_of_hashes needed huge
- Confused PK date with recording date, lead to Kroot time to be in the future (impossible)
2024-06-10 19:01:17 +02:00
cesaaargm
5dfd479cb3 [TAS-216] configuration_2 debug verify_dsm_pkr() and make it work
- several bugs fixed for DSM-PKR verification.
- improved verification, taking into account leaf position (odd/even), which determines concatenation order.
- now: configuration_2 leads to successful DSM-PKR verification.
2024-06-10 18:59:40 +02:00
Carles Fernandez
8ed2893fa3
Update block of GPS satellite 2024-06-10 12:55:45 +02:00
Carles Fernandez
dc18110e5d
Update list of Galileo satellites 2024-06-10 10:49:47 +02:00
cesaaargm
6671d9bf7b [TAS-213] implement configuration_2 osnma test vectors
TODO - parametrize test, since now the hardcoded configuration files are to be selected.
2024-06-09 22:22:39 +02:00
cesaaargm
6508e985a1 [TAS-206] [Feature] NavData for ADKD=4 for osnma_test_vector. 2024-06-04 17:35:00 +02:00
cesaaargm
434fff9cbf [TAS-203] bug osnma_test_vector_config_1 II
bug in build_message (PRN_d instead of PRNa)
tags_awaiting_verification increase buffer size
Reporting: modify tag reporting
2024-06-03 19:59:32 +02:00
cesaaargm
35bb2afaba
Merge branch 'carlesfernandez:next' into osnma-cesare 2024-06-03 05:19:16 +02:00
Carles Fernandez
d320ea70ff
Fix typo in comment 2024-05-26 22:01:46 +02:00
cesaaargm
b0eb958be0 [TAS-203] bug osnma_test_vector_config_1
adkd dependence on key selection
2024-05-22 21:01:24 +02:00
cesaaargm
163c915c72 [TAS-161] debug tag_verification :: extract build_message, unit test for BuildTagMessageM0 and fix unit test for TagVerification 2024-05-22 16:58:30 +02:00
cesaaargm
d52603aba5 [TAS-161] debug tag_verification :: extract build_message, unit test for BuildTagMessageM0 and fix unit test for TagVerification 2024-05-21 18:08:25 +02:00
cesaaargm
a53b92b861 [TAS-200] gnss_crypto_test :: extend unit test for m0 and adkd4 2024-05-20 15:36:50 +02:00
cesaaargm
585cae0d70 [TAS-201] Update gnss_crypto_test and osnma_msg_receiver_test sections in CMakeLists for abseil 2024-05-20 11:24:31 +02:00
cesaaargm
5cee46aa06 [TAS-199] Add TagVerification test. Bugfix for verify_tag and osnma_helper. 2024-05-19 18:16:52 +02:00
cesaaargm
059e5e98d8 Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into osnma-cesare 2024-05-12 12:54:34 +02:00
cesaaargm
a3a5f28e7f [TAS-174] retrieve NavData (W1→W5) directly from osnma test vector file. Add Osnma_Helper class. remove tag.build_message. Ignore W33. Reporting changes. 2024-05-12 11:34:48 +02:00
Vladislav P
3b10a3663f
Allow connection of more than 1 signal conditioner to a signal source
Signed-off-by: Vladislav P <vladisslav2011@gmail.com>
2024-05-07 11:01:58 +03:00
Carles Fernandez
0a80c09a19
Remove blank line in logs 2024-05-06 19:01:38 +02:00
Carles Fernandez
079ef0f07d
Improve error handling of UDP connections 2024-05-06 18:58:09 +02:00
cesaaargm
c9259d87db Refactored and improved OsnmaMsgReceiverTest
Changes in the osnma receiver initialisation for time synchronisation with the configuration 1.
OsnmaMsgReceiverTest::initializeGoogleLog() implemented recycling code, in the same way as the gnss-sdr receiver upon start.
2024-05-06 17:58:56 +02:00
cesaaargm
38829adaaf GnssCryptoTest :: introduce raw r and s values signature.
This was done after bugfix for verify_signature.
2024-05-06 17:55:11 +02:00
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
fbc216c1a3
Add flag validation when using Abseil 2024-05-02 00:14:53 +02:00
Carles Fernandez
5004fc386d
Fix target name 2024-05-01 13:02:35 +02:00
Carles Fernandez
c8c6325535
Add flags for logging configuration 2024-05-01 12:14:06 +02:00
Carles Fernandez
33a38f4ec6
Fix ENABLE_LOG=OFF option 2024-05-01 09:52:48 +02:00
Carles Fernandez
3e2c0f2e6a
Fixes for the embedded Abseil 2024-05-01 09:00:46 +02:00
Carles Fernandez
4515e67b3f
Fixes for the embedded Abseil 2024-05-01 08:39:22 +02:00
Carles Fernandez
606454f7d3
Fix for Xcode 2024-04-30 10:35:37 +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
1ad631128f
cpu_features: Update AArch64 features to Linux 6.6 2024-04-22 13:03:31 +02:00
Carles Fernandez
78295866e6
Find dependencies in the loongarch64 architecture 2024-04-22 12:41:11 +02:00
Carles Fernandez
c91c31bd35
Fix wrong order of arguments in calloc 2024-04-22 09:48:28 +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
Carles Fernandez
f1fb4abec0
Bump CMake max policy to 3.29 2024-04-13 09:17:18 +02:00
Carles Fernandez
fd5174e7ec
Remove duplicate libraries warning emitted by Xcode 15 2024-04-13 09:03:46 +02:00
Carles Fernandez
fc695cb6f6
CI: make cmakelint happy 2024-04-12 19:51:37 +02:00
Carles Fernandez
6fc04b34f2
Fix duplicate warning from Xcode 2024-04-12 18:15:33 +02:00
cesaaargm
881bb5c58a
Merge branch 'carlesfernandez:next' into osnma-cesare 2024-04-12 15:24:51 +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
Carles Fernandez
7e79945529
Update Flexiband_Signal_Source to admit modern GNU Radio versions 2024-04-05 13:37:45 +02:00
Marc Majoral
3f014b4a64
Fixed a deadlock issue in the FPGA-based tracking loops 2024-04-04 19:13:55 +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
a57d285e91
Merge branch 'carlesfernandez:next' into osnma-cesare 2024-04-02 07:34:04 +02:00
cesaaargm
9120f5e59a Refactor tag verification logic WIP 2024-04-02 07:31:42 +02:00
Carles Fernandez
f03608ac82
Update links 2024-03-29 14:39:32 +01: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
35cfbd7f05 gitignore 2024-02-27 19:18:39 +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
88a6d8e968
Merge branch 'carlesfernandez:next' into osnma-cesare 2024-02-20 15:58:26 +01:00
cesaaargm
11b3a4a817 Fix unknown command line flag 'gtest_color'
Command line parameters are now parsed after initializing gtest.
2024-02-20 15:52:30 +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
Carles Fernandez
f446bf3238
Add missing include
Fix compilation against glog-0.7.0
2024-02-19 17:54:18 +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
b32d512972
Merge branch 'carlesfernandez:next' into osnma-cesare 2024-02-06 20:51:37 +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
Carles Fernandez
ec180d8525
Fix clang-format job 2024-01-26 10:28:10 +01:00
cesaaargm
1263af9ec1
Merge branch 'carlesfernandez:next' into osnma-cesare 2024-01-25 16:19:15 +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
Carles Fernandez
9880fdd57c
Bump version to 0.0.19 2024-01-23 14:49:19 +01:00
Carles Fernandez
fe5523c565
Fix spelling errors detected by lintian 2024-01-23 14:42:46 +01:00
Carles Fernandez
95e6111a46
Better tuning of position KF for moving receivers 2024-01-23 11:07:31 +01:00