Skip to content

OSNMAlib Configuration Options

Aleix edited this page Dec 17, 2023 · 1 revision

Concept

OSNMAlib has several configuration parameters that can be defined previous to execution. The parameters are defined in a dictionary and sent to the receiver when creating the receiver object. Note that you can create a script to read the parameters from a JSON and send it to the receiver. The receiver will load default values for the configuration parameters not specified.

Parameters

  • exec_path [mandatory]: Path to the folder where OSNMAlib will search for the Merkle Tree root, Public Key and KROOT. OSNMAlib will also store the received cryptographic material and logs (if no log path is specified).
  • merkle_name [default='OSNMA_MerkleTree.xml']: Name of the Merkle Tree root file. Shall be in the GSA XML format.
  • pubkey_name [default='']: Name of the stored Public Key file. If nothing is specified, OSNMAlib will assume Cold Start. Shall be in the GSA XML format.
  • kroot_name [default='']: Name of the stored KROOT file. Shall have one line with the DSM KROOT complete message in hexadecimal and another line with the NMA Header in hexadecimal.
  • log_console [default=True]: Boolean value indicating if OSNMAlib should log to console.
  • console_log_level [default='debug']: Log level for the console logs. Possible values are: debug, info, warning, error, and critical.
  • log_file [default=True]: Boolean value indicating if OSNMAlib should log to a file.
  • file_log_level [default='info']: Log level for the file logs. Possible values are: debug, info, warning, error, and critical.
  • logs_path [default='']: Path to the folder where the logs will be saved. If nothing is specified, the same folder as exec_path is used.
  • tl [default=30]: Loose time synchronization requirement for a secure OSNMA protocol initialization. Default to 30 seconds (the maximum to authenticate all ADKD types). Set it to what your receiver can guarantee.
  • ns [default=36]: Number of satellites in the Galileo constellation. Exposed for future compatibility, shouldn't be modified.
  • tag_length [default=40]: Number of bits from verified tags to accumulate to consider the correspondent navigation data authenticated. The default of 40 bits is equivalent to 1 tag with the current OSNMA configuration.
  • active_adkd [default=[0, 4, 12]]: ADKD types that OSNMAlib should try to verify.

OSNMAlib Start Sequence

Based on the cryptographic material provided to OSNMAlib in the configuration dictionary, it will be set in one of the 3 start states defined in the ICD.

  • Cold Start: OSNMAlib has no Public Key saved, it needs to be retrieved from the OSNMA message.
  • Warm Start: OSNMAlib has a Public Key saved and verified, but it is missing the Tesla KROOT. It needs to be retrieved from the OSNMA message.
  • Hot Start: OSNMAlib has a Public Key and a Tesla KROOT saved and verified, but it needs to be sure the KROOT is still useful.

receiver_start_chart_updated

Clone this wiki locally