ONP Services

The OSNMAplus Services (ONP-SVC) is a set of assistance services to increase the security of navigation. The OSNMAplus is hosted in a cloud computing service providing software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS), load balancing and auto scaling in order to guarantee high availability.

The ONP-SVC allows to improve the OSNMA performance obtaining part of the OSNMA material from a cloud service. Transmission includes trusted time reference, crypto material, service status and list of connected satellites to increase navigation robustness and performances. This service allows to achieve an “OSNMA Hot Start” in all environmental conditions!

The ONP-SVC includes the following subservices: GST Time Information, DSM-KR, DSM-PKR, Merkle Tree Root, Satellites List and Bitwise.

GST Time information

Provides a trusted source for GST time. This service data simplifies the implementation of the OSNMA loose time synchronization requirement. The OSNMAplus service distributes time information using a lightweight time transfer protocol and with the required accuracy to achieve a nominal OSNMA processing.

syntax = "proto3";
package Shared.Dto.Assisted;

message GstTimeDto {
   uint32 ServiceStatus = 1;
   uint32 GstSeconds = 2;
   uint32 GstMilliseconds = 2;
}

DSM-KR

The ONP-SVC provides the last applicable DSM-KROOT messages, containing the KROOT that it’s required to validate the OSNMA chain keys. The DSM-KR is provided in exact same format of the OSNMA ICD to easy the decoding at the terminal side (as the DSM-KR are expected to be already present). By receiving the DSM-KR, the OSNMA start-up would be super quick, in particular in harsh environments.

syntax = "proto3";
package Shared.Dto.Assisted;

message DsmKrDto {
   uint32 ServiceStatus = 1;
   uint32 SubBlocksNumber = 2;
   repeated TeslaKeysSubBlocks SubBlocks = 3;
}
message DsmKrSubBlocks {
   uint32 Length = 1;
   bytes NMAHeader = 2;
   bytes DSMKRoot = 3;
}

DSM-PKR

The ONP-SVC provides the last applicable DSM-PKR messages.

syntax = "proto3";
package Shared.Dto.Assisted;

message DsmPkrDto {
   uint32 ServiceStatus = 1;
   uint32 SubBlocksNumber = 2;
   repeated PublicKeysSubBlocks SubBlocks = 3;
}
message DsmPkrSubBlocks {
   uint32 Length = 1;
   bytes NMAHeader = 2;
   bytes PublicKeys = 3;
}

Merkle Tree

The service provides the most recent Merkle tree root available.

syntax = "proto3";
package Shared.Dto.Assisted;

message MerkleTreeDto {
   uint32 ServiceStatus = 1;
   uint32 MTHeader = 2;
   bytes MTRoot = 3;
}

Connected satellites list

The ONP-SVC provides information on the connectivity status (OSNMA data transmitted or not) of the Galileo satellites.

syntax = "proto3";
package Shared.Dto.Assisted;

message ConnectedSatellitesDto {
   uint32 ServiceStatus = 1;
   bytes NMAHeader = 2;
   uint32 GstSeconds = 3;
   bytes SatelliteStatus = 4;
}

Bitwise

Enables a simple but effective spoofing detection mechanism (without implementing the full OSNMA) with the support of a cloud service. This service provides timestamped OSNMA data broadcasted by the Galileo satellite that enables a client-side cross-check of the data received from space.

syntax = "proto3";
package Shared.Dto.OSNMAFieldsDto;

message OSNMAFieldsDto{
   uint32 ServiceStatus = 1;
   uint32 GstSeconds = 2;
   bytes NMAHeader = 3;
   bytes DataAvailability = 4;
   bytes OSNMAFields = 5;
}