COMPUTER IMPLEMENTED METHOD FOR DETECTING GLOBAL NAVIGATION SATELLITE SYSTEM SIGNAL SPOOFING, A DATA PROCESSING APPARATUS, A COMPUTER PROGRAM PRODUCT, AND A COMPUTER-READABLE STORAGE MEDIUM
20230305167 · 2023-09-28
Inventors
- David Gomez Casco (Leiden, NL)
- Gonzalo Seco Granados (Barcelona, ES)
- Jose Antonio Lopez Salcedo (Barcelona, ES)
- Ignacio Fernanez Hernandez (Brussels, BE)
Cpc classification
International classification
G01S19/21
PHYSICS
G01S19/24
PHYSICS
Abstract
A computer-implemented method is for detecting Global Navigation Satellite System (GNSS) signal spoofing. The method includes storing sample sequences of the predictable part and of the unpredictable part of a GNSS signal at a GNSS receiver. The predictable part includes predictable bits and the unpredictable part includes unpredictable bits. The value of the unpredictable bits from which the unpredictable sample sequences are extracted is verified. A first and a second partial correlation between the unpredictable, respectively predictable, sample sequences and a locally stored GNSS signal replica are computed. A predefined metric from the complex valued partial correlations is calculated. The predefined metric is compared with a predefined threshold value. In a zero-delay replay attack, the spoofer estimates the unpredictable bits introduced by a GNSS authentication protocol and introduces distortion into the signal. Detecting this distortion indicates whether the signal under analysis is being spoofed or is authentic.
Claims
1. A computer-implemented method for detecting Global Navigation Satellite System(GNSS) signal spoofing, the method comprising: a) digitizing, acquiring and tracking, at a receiver, a GNSS signal from at least one GNSS satellite, the GNSS signal comprising a predictable part and an unpredictable part, wherein the predictable part comprises predictable bits and the unpredictable part comprises unpredictable bits; b) storing, by the receiver, a sample sequence
2. The method according to claim 1, wherein step b) comprises: storing, as an unpredictable sample sequence
3. The method according to claim 1, wherein W.sub.u,d is the a duration of a single one of the stored unpredictable sample sequences and W.sub.p,d is the a duration of a single one of the stored predictable sample sequences.
4. The method according to claim 3, wherein W.sub.u,d and/or W.sub.p,d are greater than 0.05 ms, and smaller than 1 ms.
5. The method according to claim 1 wherein step b) comprises storing sample sequences representing at least a part of at least 50 bits for the unpredictable sample and/or for the predictable sample.
6. The method according to claim 1, wherein the predefined threshold is based on a cumulative density function of the metric R under the hypothesis that the GNSS signal is authentic.
7. The method according to claim 6, wherein the predefined threshold is set to a value leading to a false alarm probability of 0.02.
8. The method according to claim 1, wherein step f) comprises authenticating the GNSS signal when no signal spoofing is detected by: authenticating the GNSS signal when its predefined metric is below the predefined threshold; and detecting GNSS signal spoofing when its predefined metric is above the predefined threshold.
9. The method according to claim 1, wherein step a) comprises receiving GNSS signals from at least four different GNSS satellites, the GNSS signals comprising spreading codes and satellite data, the satellite data including the unpredictable part; and wherein the method further comprises: g) calculating, by the receiver, the GNSS signals’ time of arrival from the spreading codes; and h) calculating, by the receiver, a position, velocity and time by demodulating the satellite data.
10. The method according to claim 9, wherein step f comprises authenticating the GNSS signal when no signal spoofing is detected by: authenticating the GNSS signal when the predefined metric is below the predefined threshold; and detecting GNSS signal spoofing when its the predefined metric is above the predefined threshold, and wherein steps g) and h) are performed only when at least four GNSS signals from at least four different GNSS satellites have been authenticated.
11. The method according to claim 1, wherein step b) comprises storing the sample sequence
12. A data processing apparatus, comprising means for carrying out the method of claim 1.
13. A non-transitive computer program product comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method of claim 1.
14. A non-transitive computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the method of claim 1.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The invention will be further explained by means of the following description and the appended figures.
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
DESCRIPTION OF THE INVENTION
[0037] The present invention will be described with respect to particular embodiments and with reference to certain drawings but the invention is not limited thereto but only by the claims. The drawings described are only schematic and are non-limiting. In the drawings, the size of some of the elements may be exaggerated and not drawn on scale for illustrative purposes. The dimensions and the relative dimensions do not necessarily correspond to actual reductions to practice of the invention.
[0038] Furthermore, the terms first, second, third and the like in the description and in the claims, are used for distinguishing between similar elements and not necessarily for describing a sequential or chronological order. The terms are interchangeable under appropriate circumstances and the embodiments of the invention can operate in other sequences than described or illustrated herein.
[0039] Moreover, the terms top, bottom, over, under and the like in the description and the claims are used for descriptive purposes. The terms so used are interchangeable under appropriate circumstances and the embodiments of the invention described herein can operate in other orientations than described or illustrated herein.
[0040] Furthermore, the various embodiments, although referred to as “preferred” are to be construed as exemplary manners in which the invention may be implemented rather than as limiting the scope of the invention.
[0041]
TABLE-US-00001 Parameter definition for spoofing zero-delay attack on GNSS signals including unpredictable symbols Variables Definition
[0042] In general, spoofing detection is a binary hypothesis testing problem, which can be modelled under two hypotheses, namely the spoofer is present (H.sub.1) or absent (H.sub.0), as:
where y(n) is the received signal, N.sub.sat is the number of satellites, A.sub.p is the signal amplitude, β.sub.l is the amplitude of the spoofing signal, b(n, - τ.sub.p) is the unpredictable bit, c(n - τ.sub.p) is the pseudorandom noise code, f.sub.d,p is the Doppler frequency, φ.sub.p is the phase, N.sub.spof is the number of satellites used to perform the spoofing attack, b̃(n - τ.sub.l) is the unpredictable bit transmitted by the spoofer and ω(n) is additive white Gaussian noise.
[0043] As the present invention is mainly focused on zero-delay Security Code Estimation and Replay (SCER) attacks, we assume that the spoofer uses a f.sub.d,l = ƒ.sub.d,p and τ.sub.l = τ.sub.p but A.sub.p and φ.sub.p can be different from β.sub.l and φ.sub.l. We assume that our spoofer can control the spoofed signal amplitude β.sub.l and make it equal to A.sub.p in some cases, but it cannot align the carrier phase measurement to the real one, as aligning carrier phase measurements requires a very high level of accuracy. There are two further model assumptions. Firstly, we assume that the receiver is tracking authentic signals at the start of the attack, i.e. the receiver starts up and performs acquisition in a controlled environment. Although spoofing at acquisition is a relevant case, most of the time GNSS receivers are in the tracking stage. Secondly, we assume that, in the zero-delay SCER attack, the spoofer does not force signal reacquisition. A spoofer forcing reacquisition to take control of the loops would need the signal to be lost for more than one minute to properly estimate the unpredictable bits from the onset. Moreover, in these conditions, taking control of the loops would lead to cycle slips, which may be detected by the GNSS receiver.
[0044] As described above, the inventors realized that the weakness of zero-delay attacks is that the signal transmitted by the spoofer includes some errors in the first part of the unpredictable bits. In order not to be detected easily by the target receiver, the spoofer can mainly perform three kinds of attacks, namely an estimated value attack, a random value attack, and a zero value attack as illustrated in
[0045] An estimated value attack is illustrated in
[0046] A random value attack is illustrated in
[0047] A zero value attack is illustrated in
[0048] Notice that in
[0049]
[0050] In step 120, the receiver stores a sample sequence
of the predictable part and a sample sequence
of the unpredictable part of the one or more tracked GNSS signals. In the embodiment described below, the stored sequences are part of the same unpredictable bit. In other words, the initial part of the unpredictable bit is stored as an unpredictable sample sequence
and the end part of the unpredictable bit is stored as a predictable sample sequence
As described above, although the predictable sample sequence is obtained from an unpredictable bit, the non-initial part (i.e. not the beginning part) of the unpredictable bit is typically correctly estimated by the spoofer and it is therefore considered predictable.
[0051] In step 125, the receiver verifies the value (i.e. the bit values) of the unpredictable part of the signal, i.e. the value of the unpredictable bits from which the unpredictable sample sequences are extracted. More specifically, although usually all unpredictable bit values will be verified, it will be readily appreciated that the method according to the invention only requires that at least the unpredictable bit values of which a sample sequence is stored are verified. This may save computing resources in the receiver. This unpredictable part verification can be performed by a GNSS authentication protocol such as the OSNMA functionality in Galileo.
[0052] In step 130, the receiver computes a first partial correlation between the unpredictable sample sequences and a locally stored GNSS signal replica and a second partial correlation between the predictable sample sequences and the locally stored GNSS signal replica. Preferably, step 130 only occurs after the unpredictable bits have been verified in step 125.
[0053] The computation of the partial correlations is done in step 132 using the following equations:
where
and
are the unpredictable and the predictable samples during W.sub.u,d and W.sub.p,d respectively, of the received signal in one code period, x.sub.unpred(n) and x.sub.pred(n) are the corresponding local replicas, and samples_u and samples_p indicate the total number of unpredictable, respectively predictable, stored samples. Please note that samples_u and samples_p need not be the same. In this way, the partial correlations represent the initial part and the last part of the unpredictable bit.
[0054] In subsequent step 134, B.sub.unpred(k) and B.sub.pred(k) are defined which correspond to the partial cross-correlation after removing the sign of the unpredictable bit by
where b(k) is the value of the unpredictable bit (1, -1).
[0055] In step 140, the receiver computes one or more from a number of predefined metrics R using the partial correlations after sign removal. Several metrics are described below.
[0056] An intuitive way of detecting spoofing would be to compare the satellite code gain based on several unpredictable bits to that obtained from various predictable bits as suggested in Fernández-Hernández, Ignacio, and Gonzalo Seco-Granados. “Galileo NMA signal unpredictability and anti-replay protection” 2016 International Conference on Localization and GNSS (ICL-GNSS), IEEE, 28 Jun. 2016. One manner to perform this comparison (i.e. the gain comparison) is computing the ratio of N.sub.b sums of partial correlations. Then, the absolute value of the ratio between the two metrics is computed:
[0057] If the spoofer is present, R.sub.1 should be close to 0; but if the spoofer is absent, it should be close to 1. However, one drawback of the metric R.sub.1 is that it can provide any value in H.sub.1 if the received signal includes the spoofed signal and the authentic one with different values of phase, which different phase value behavior is best represented in the complex part of the complex valued partial correlations.
[0058] In order to solve this problem, the present invention relies on four other metrics R.sub.2-R.sub.5 that are based on comparing the complex valued partial correlations rather than the real valued gain. A first metric R.sub.2 is:
[0059] The idea behind R.sub.2 is that, if the spoofer is absent, R.sub.2 is close to 0, but if the spoofer is present, R.sub.2 is larger. This facilitates the definition of the detection threshold.
[0060] An additional metric is R.sub.3, which consists in computing the mean of the difference between the initial and final partial correlations:
[0061] If R.sub.3 is a large value, the spoofer is present. However, if R.sub.3 is a small value, the spoofer is absent.
[0062] Another interesting metric R.sub.4 deals with the comparison of the carrier-to-noise (C/N.sub.0) estimate of the initial part of an unpredictable bit to the estimate of other parts of the signal that are considered predictable. To estimate the C/N.sub.0, the well-known Narrow-band Wide-band Power Ratio (NWPR) estimator may be used. Basically, it requires evaluating the ratio between the signal wideband power WBP to its narrowband power NBP:
where
with B.sub.x(k) being the partial correlation of any part of the bit, e.g. the initial part and the end part of the unpredictable bit. Finally, the carrier-to-noise (C/N.sub.0) estimate can be estimated as:
where T.sub.coh is the coherent integration time to compute the partial correlations. The predefined metric R.sub.4 is based on the difference of C/N.sub.0 estimates of the predictable and unpredictable parts of a bit:
[0063] The spoofing attack can be detected using this metric since, if the spoofing attack is absent, the metric above must be a value close to 0 while, if the spoofer attack is present, the magnitude of this metric must provide larger values.
[0064] A final metric R.sub.5 only uses the phases of the initial and final partial correlations:
[0065] If the presence of the spoofed signal modifies the phase of the received signal, the spoofer can be detected using this metric.
[0066] In step 150, the receiver compares the predefined metric R with a predefined threshold value to detect GNSS signal spoofing. In practice, the threshold is set in such a way that a predefined false alarm probability is obtained, e.g. a false alarm probability of 0.02 or any other desired value. It will be readily appreciated that the threshold values (and the corresponding false alarm probabilities) may be different for each of the above described metrics R. For example, for metric R.sub.3, the threshold may be set to a value leading to a false alarm probability of 0.02 and the signal may be authenticated in step 152 when metric R.sub.3 is below the threshold and may be considered as a spoofed signal in step 154 when metric R.sub.3 is above the threshold.
[0067] In general, the predefined threshold value is linked to the false alarm probability P.sub.ƒa = 0.02 and may be determined for each metric R by deriving cumulative density function of the metric R under the null hypothesis (i.e. the spoofer is absent). A more detailed example is described below.
[0068] The method illustrated in
[0069] It will be readily appreciated that, in other embodiments, the predictable sample sequence may be obtained from other parts of the signal, for example from (parts of) predictable bits and/or from other parts (i.e. not the initial or end part) of unpredictable bits.
[0070] A spoofer knowing beforehand which unpredictable bits, and which parts of them, are to be correlated, could exploit this advantage. First, because it could implement a random value attack with a variable power, depending on the success or failure of the previous guess; and second, because it could alter the predictable correlations to spoof the detector. Both advantages can be mitigated by the randomization of the correlations. In other words, in some embodiments, not all stored sample sequences need to be used in the calculation of the metrics R. For example, a randomized number of unpredictable bits are not used. This improves the robustness of the detection capability of the GNSS signal spoofing method, especially in case the spoofer is expecting this kind of defence.
[0071] It will be appreciated that the above description focussed on a single spoofing signal for only one satellite. However, the method may readily be used for detecting multiple spoofing signals at the same time. In fact, since, as illustrated below, the method according to the present invention is able to detect a single spoofing signal, it will operate even better for detecting spoofing in case the spoofer wants to consistently spoof a full PVT solution as this would require successfully spoofing multiple satellite signals at the same time.
[0072] In what follows, a performance analysis is presented on the different metrics under the presence of zero-delay attacks where the R.sub.1 metric is used to as a baseline comparison representative of the prior art and where the R.sub.2-R.sub.5 represent the invention. What follows are the results of the simulation of the spoofing detection capabilities of the proposed R.sub.1-R.sub.5 metrics under the most relevant attack situations. The results presented constitute the most difficult-to-detect spoofing scenarios, in terms of spoofing power advantage and type of attack. The spoofing simulation parameters are presented in table 2 below. Regarding the attack types, out of the three attacks previously described, we focus on the estimated value attack to carry out the simulations presented, as it provides an upper bound for the required number of unpredictable bits compared to the other two attacks. This attack consists in estimating the unpredictable bit sample by sample and introducing this estimation in the spoofed signal. The estimation of the unpredictable bit carried out by the spoofer can be easily performed at the tracking stage by using the following expression as
[0073] By doing so, the spoofer obtains an estimation of the bit for each m.
[0074] A variant of this attack consists in estimating the bit sample by sample, and after that, transmitting the estimation of the bit by using a scalar factor, depending on the level of confidence of the attacker. This sub-case has also been analyzed and it does not significantly differ from the standard estimated value attack.
[0075] We also assess the cases in which the spoofer has a C/N.sub.0 advantage of up to 5 dB with respect to the receiver. Concerning the relative power between the spoofed and real signal, we assess the cases of same power, and +3 dB power for the spoofed signal. The results are tested for AWGN channels, with a realistic number of visible GPS and Galileo satellites. In the simulation, we use a threshold value leading to a false alarm probability equal to 0.02 because it provides a good benchmark for comparing the various metrics.
TABLE-US-00002 Parameterization of spoofing simulations Zero-delay Attack type Estimated value attack
[0076] In all cases, the spoofing detection probability P.sub.d is measured for different number of bits N.sub.b under different combinations of these parameters.
[0077]
[0078] The previous simulation considers that the user receives the signal from the spoofer and the satellite with the same power. Nevertheless, for the plot of the top of
[0079] In
[0080] The conclusion from the simulation analysis is that the R.sub.2-R.sub.5 metrics (which are based on the complex valued partial correlations) perform markedly better than the R.sub.1 metric which is based on the gain (i.e. a real value obtained from the complex valued partial correlations). Furthermore, out of the proposed metrics, R.sub.3 is one that performs best, and that it is robust enough against all situations, provided that it accumulates enough energy from sufficient bits. With a sufficient number of bits, on the order of 200, the detector can detect a spoofing attack with a probability higher than 90%, even when the spoofer has a power advantage over the user receiver.
[0081] One remaining aspect of the implementation of the method is defining the unpredictable parts, symbols, or bits, of the GNSS signal. The current Galileo OSNMA protocol aims at authenticating the satellite navigation data. We have considered a baseline use case of OSNMA of 2 MACK (Message Authentication Code and Key) blocks, 20-bit MACs, 96-bit keys, and 4 MACs per block. This configuration allows the receiver to have 80 unpredictable bits per 15-second MACK block, without taking into account the KEYs bits, and around 160 in a similar time, if the first 80 bits of the key are considered unpredictable. We can conclude that, even in the case that the key is predictable, the detector can be based on 30 or 45 seconds (i.e. 2 or 3 MACK blocks), in order to obtain 160 or 240 unpredictable bits. In light of the results of the simulation, we can see that, even in advantageous cases for the spoofer, (some of) the metrics can work. A receiver could decide to wait for two Galileo I/NAV subframes, for 60 seconds in total, providing 320 unpredictable bits, in order to increase confidence in the metric.
[0082] Since the R.sub.3 metric seems the most promising metric to detect GNSS spoofing, in what follows an example is given on the computation of its detection threshold y. The spoofer detection boils down to the comparison between the metric R.sub.3 and a detection threshold to distinguish whether the user’s receiver is being spoofed or not. The detection threshold is affected by the individual probability of false alarm:
where cdƒ.sub.R3(y|H.sub.0) is the cumulative density function of the metric of R.sub.3.
[0083] The probability of false alarm requires the knowledge of the cumulative density function of R.sub.3 under the null hypothesis H.sub.0 (i.e. the spoofer is not present). When the spoofer is not present, the R.sub.3 metric is very similar to Rayleigh distribution. This occurs because the value of the partial correlations at the beginning and the end of bit (or another predictable part of the signal) have practically the same constant value to which Gaussian noise is added. As such, the term inside the absolute value can be considered as a zero-mean complex Gaussian noise and the metric R.sub.3 has a Rayleigh distribution. Exploiting the relation between the Rayleigh distribution and the underlying Gaussian variable, the mean of the Rayleigh distribution can be obtained from the standard deviation of the partial correlations in the predictable part B.sub.end(k). That is, the mean of the Rayleigh distribution is equal to
where σ.sub.B is the variance of B.sub.end(k).The detection threshold γ can thus be defined as
[0084]
[0085] It will be readily appreciated that the above example of how to compute the threshold value for metric R.sub.3 in order to have the desired probability of false alarm may also be applied to other metrics. Moreover, other threshold values may be used which are not linked to a false alarm probability and/or which are not based on cumulative density function of the metric.
[0086] Although the method according to the present invention has been described by reference to the Galileo OSNMA protocol, the invention should not be considered as limited thereto and the proposed method can also be applied to other protocols.
[0087] Although aspects of the present disclosure have been described with respect to specific embodiments, it will be readily appreciated that these aspects may be implemented in other forms within the scope of the invention as defined by the claims.