Department of Electronic Enginnering, Tsinghua University, Beijing 100084, China
Xi’an Modern Control Technology Research Institute, Xi’an 710065, China
Show Author Information
Hide Author Information
Abstract
Anti-spoofing is becoming a crucial technique for applications with high navigation accuracy and reliability requirements. Anti-spoofing technique based on Receiver Autonomous Integrity Monitoring (RAIM) is a good choice for most Global Navigation Satellite System (GNSS) receivers because it does not require any change to the hardware of the receiver. However, the conventional RAIM method can only detect and mitigate a single spoofing signal. Some improved RAIM methods can deal with more spoofing signals, but the computational complexity increases dramatically when the number of satellites in view increase or need additional information. This paper proposes a new RAIM method, called the SRV-RAIM method, which has a very low computation complexity regardless of the number of satellites in view and can deal with any number of spoofing signals. The key to the new method is the spatial distribution characteristic of the Satellites’ Residual Vectors (SRV). In replay or generative spoofing scenarios, the pseudorange measurements of spoofing signals are consistent, the residual vectors of real satellites and those of spoofing satellites have good separation characteristics in spatial distribution. Based on this characteristic, the SRV-RAIM method is proposed, and the simulation results show that the method can separate the real signals and the spoofing signals with an average probability of 86.55% in the case of 12 visible satellites, regardless of the number of spoofing signals. Compared to the conventional traversal-RAIM method, the performance is only reduced by 3.59%, but the computational cost is reduced by 98.3%, so most of the GNSS receivers can run the SRV-RAIM algorithm in time.
A.Broumandan, A.Jafarnia-Jahromi, S.Daneshmand, and G.Lachapelle, Effect of tracking parameters on GNSS receivers vulnerability to spoofing attack, in Proc. 29th Int. Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS + 2016), Portland, OR, USA, 2016, pp. 3033–3043.
S.Chao, J. W.Cheong, A. G.Dempster, H.Zhao, L.Demicheli, and W.Feng, A new signal quality monitoring method for anti-spoofing, in Proc. China Satellite Navigation Conf., Singapore, 2018. pp. 221–231.
B. M.Ledvina, W. J.Bencze, B.Galusha, and I.Miller, An in-line anti-spoofing device for legacy civil GPS receivers, in Proc. 2010 Int. Technical Meeting of the Institute of Navigation, San Diego, CA, USA, 2010, pp. 698–712.
X.Shang, F.Sun, L.Zhang, J.Cui and Y.Zhang, Detection and mitigation of GNSS spoofing via the pseudorange difference between epochs in a multicorrelator receiver, GPS Solut., vol. 26, no. 2, p. 37, 2022.
L.He, H.Li, and M.Lu, Dual-antenna GNSS spoofing detection method based on Doppler frequency difference of arrival, GPS Solut., vol. 23, no. 3, p. 78, 2019.
W.Bai, H.Li, Y.Yang, and M.Lu, Motion state monitoring based GNSS spoofing detection method for repeater spoofing attack, in Proc. 2016 Int. Technical Meeting of the Institute of Navigation, Monterey, CA, USA, 2016, pp. 732–738.
M.Majidi, A.Erfanian, and H.Khaloozadeh, A new approach to estimate true position of unmanned aerial vehicles in an INS/GPS integration system in GPS spoofing attack conditions, Int. J. Automat. Comput., vol. 15, no. 6, pp. 747–760, 2018.
Y.Wei, H.Li, C.Peng, and M.Lu, Time domain differential RAIM method for spoofing detection applications, in Proc. China Satellite Navigation Conf., Singapore, 2019, pp. 606–614.
A.Brown and M.Sturza, The effect of geometry on integrity monitoring performance, in Proc. 46th Annual Meeting of the Institute of Navigation, Atlantic City, NJ, USA, 1990, pp. 121–129.
P. Y.Hwang and R. G.Brown, NIORAIM integrity monitoring performance in simultaneous two-fault satellite scenarios, in Proc. 18th Int. Technical Meeting of the Satellite Division of the Institute of Navigation, Long Beach, CA, USA, 2005, pp. 1760–1771.
B. S.Pervan, S. P.Pullen, and J. R.Christie, A multiple hypothesis approach to satellite navigation integrity, Navigation, vol. 45, no. 1, pp. 61–71, 1998.
H.Tao, H.Li, W.Zhang, and M.Lu, A recursive receiver autonomous integrity monitoring (recursive-RAIM) technique for GNSS anti-spoofing, in Proc. 2015 Int. Technical Meeting of the Institute of Navigation, Dana Point, CA, USA, 2015, pp. 738–744.
J.Li, H.Li, C.Peng, J.Wen, and M.Lu, Research on the random traversal RAIM method for anti-spoofing applications, in Proc. China Satellite Navigation Conf., Singapore, 2019, pp. 593–605.
M. A.Sturza and A. K.Brown, Comparison of fixed and variable threshold RAIM algorithms, in Proc. 3rd Int. Technical Meeting of the Satellite Division of the Institute of Navigation, Colorado Spring, CO, USA, 1990, pp. 437–443.
R. G.Brown, G. Y.Chin, and J. H.Kraemer, Update on GPS integrity requirements of the RTCA MOPS, in Proc. 4th Int. Technical Meeting of the Satellite Division of the Institute of Navigation, Albuquerque, NM, USA, 1991, pp. 761–772.
Wu Q, Cui X, Lu M, et al. A GNSS Anti-Spoofing Technique Based on the Spatial Distribution Characteristic of the Residual Vectors. Tsinghua Science and Technology, 2024, 29(2): 457-468. https://doi.org/10.26599/TST.2023.9010017
The articles published in this open access journal are distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/).
10.26599/TST.2023.9010017.F001
Distribution of in different spoofing satellite constellations when there are two spoofing satellites.
10.26599/TST.2023.9010017.F002
Distribution of versus the relative position between spoofing and real in a certain spoofing constellation.
SRV-RAIM Method
In this section, the main idea of the SRV-RAIM method is introduced and a basic algorithm based on this idea is proposed. Simulations are also done to evaluate the performance of the SRV-RAIM algorithm and compared with the performance of the conventional traversal-RAIM.
According to the previous section, the and the are spatially separated in most of the spoofing conditions. However, in order to make full use of this characteristic to achieve the purpose of separating the real and spoofing signals, two problems remain to be solved: the one is that the best projection vector is unable to be solved mathematically because there is no prior knowledge about and , only is known; the other is that even though the is given, it is also difficult to directly separate real satellites from spoofing satellites because the number of spoofing satellites is unknown.
and are discretely distributed in the space, which means that the set of vectors that satisfies Eq. (
17
) is the union of continues subspaces and is the vector in this set. Therefore, the basic strategy to solve the first problem is searching the value of in a subspace with a finite number of vectors, instead of the whole space, to find . This strategy may reduce the probability to find , but it is a necessary sacrifice to reduce the amount of computation. If is a uniform distributed random vector in space, then a good strategy for choosing a subspace is as follows: the vectors in the subspace should be as uniformly distributed in space as possible.
To solve the second problem, instead of finding all real satellites at once, finding 5 real satellites or 5 spoofing satellites is easier. If is given and , the biggest five projections correspond to five real satellites () or the smallest five projections correspond to five spoofing satellites (). After the five real (or spoofing) satellites are found, the rest of real (or spoofing) satellites can be found easily, because the pseudorange measurements of real (or spoofing) satellites are consistent, but the pseudorange measurements of real satellites are not consistent with those of spoofing satellites. Therefore, if a vector on which the biggest five projections , or the smallest five projections correspond to five satellites, whose pseudorange measurements are consistent, can be found, the real satellites and the spoofing satellites can be separated. Based on this idea, it is not necessary the find the best vector , which is impossible. That also means that even if the and the are not spatially separated (), it may also be possible to separate the from the . That gives another chance to reduce the number of vectors in the subspace .
Based on the above analysis, the problem of separating the and the can be simplified as a hypothesis test problem as follows:
(1) ;
(2) .
is the set of projections of real satellites, and is the set of projections of spoofing satellites.
In this paper, four projection vector subspaces () are considered, and of each subspace is given by simulations. The simulation conditions are shown in
Table 1
, and simulation results are shown in
Table 4
.
10.26599/TST.2023.9010017.T004
Simulation results of about the four subspaces. , , , and . (%)
Number of spoofing satellites
1
100.00
100.00
100.00
100.00
2
100.00
99.27
99.95
100.00
3
99.89
97.60
99.28
99.83
4
99.66
94.83
97.67
99.10
5
98.57
89.01
93.55
96.49
6
97.42
85.58
90.69
94.15
7
98.27
89.25
93.62
96.53
8
99.55
94.63
97.52
99.06
9
99.81
97.26
99.26
99.70
10
100.00
99.00
99.91
100.00
11
100.00
100.00
100.00
100.00
Average
98.72
90.98
94.74
97.08
Assume that is evenly distributed in the 4-dimentional space, in this case, the vectors in is suggested to be also evenly distributed in the 4-dimentional space, but it is not easy to construct such a perfect subspace . An easier way to construct a subspace is that the coordinates of the vectors in the subspaces are lattice points (the value of coordinate axis is , 0, or 1) near the origin, and the lattice points are as far away as possible. Except for , this paper gives three subspaces, defined as follows:
where is a 41 vector, whose -th element is 1 and other elements are 0; ; is the column of the matrix ; is the column of the matrix ,
Table 4
shows that the average is 98.72%, much larger than 80.37% (the average in
Table 2
). That is because even if , could also be possibly true. contains 4094 vectors, so it will take a large amount of computation to find the right . only contains 12 vectors, but the average is reduced to 90.98%, comparing to . By expanding to , the average can arise to 94.74% (), but the number of vectors in subspace only increases 12. By expanding to , the average arises to 97.08% (), and the number of vectors increases to 40.
Table 4
shows that by expanding the set , the probability of will increase, but the computational cost will also increase. is very close to , so the performance gained from expanding the is no longer significant, but the computational cost will continue to increase. Therefore, in this paper, is considered a good balance between performance and computational complexity, and is chosen for further simulations.
According to the simulation results, the two problems mentioned at the beginning are almost solved. However, in the previous discussion, a question is ignored: How to test , , , or . In this paper, we assume that the pseudorange measurements of real (or spoofing) satellites are consistent, but the pseudorange measurements of real satellites are not consistent with those of spoofing satellites. Based on this assumption, the question is translated to test if the pseudorange measurements of five satellites, whose projections are or , are consistent. A common method to test the consistency of pseudorange measurements is to use SSE as the test statistic, which is defined as
where is the least squares residuals, is the number of pseudorange measurements.
Based on the above discussion, an SRV-RAIM algorithm is proposed, as shown in Algorithm 1.
Note that the method only divides the pseudorange measurements into two groups. Extra information is needed to identify which group is real, and in this paper, the identification is ignored. Step 3 in Algorithm 1 is a detailed supplement of the SRV-RAIM algorithm, but not the core idea of it. Therefore, in this paper, only steps before Step 3 of the method are evaluated by simulations. The simulation conditions are basically the same as in
Table 1
, except that the measurement error is considered as a Gauss noise with mean being 0 and standard deviation being 4 m. According to Ref. [
12
], the test threshold TH in the SSE method is calculated in the alarm rate of 95%. The simulation result is shown in
Table 5
.
10.26599/TST.2023.9010017.T005
Successful rate, false rate, and failed rate of the SRV-RAIM algorithm. (%)
Number of spoofing satellites
Success rate
False rate
Fail rate
1
93.08
6.92
0
2
93.83
5.86
0.30
3
93.61
5.35
1.04
4
92.01
1.34
6.65
5
84.55
1.93
13.52
6
82.22
2.61
15.17
7
83.24
2.84
13.92
8
90.21
3.41
6.38
9
91.85
6.92
1.24
10
91.91
7.95
0.14
11
92.75
7.25
0
Average
86.55
3.01
10.44
The method is considered “success” if real signals and spoofing signals are successfully separated. The method is considered “false” if the Flag is 1, but there is a group that contains both real signals and spoofing signals. The method is considered “fail” if Flag is 0.
Table 5
shows that the SRV-RAIM algorithm has an average of 86.55% success rate, 3.01% of false rate, and 10.44% of failure. Comparing to the ideal performance 97.08%, shown in
Table 4
, the practical performance is decreased by 10.53%. The main reason for the obvious performance reduction is the high miss detection and false alarm rate of the SSE method. When a miss detection of the SSE method happens, the SSE test statistic may still be smaller than the threshold even if there exist both spoofing signals and real signals. When the SSE method arises a false alarm, the SRV-RAIM algorithm may loss the right projection vector or fail in dividing the real signals and spoofing signals (Steps 9–33 in Algorithm 1). From Algorithm 1, it is obvious that the SSE method takes a very important part, so the performance of SSE will greatly affect the performance of the algorithm. Both the miss detection and the false alarm of the SSE method can cause a false separation or a failure of the SRV-RAIM algorithm. The performance of the SSE method decreases significantly in the following two scenarios:
(1) The real pseudorange is close to the spoofing one;
(2) The quality of satellite geometry is inferior[
18
,
19
].
The first case can be avoided because, in normal spoofing situations, the spoofing pseudorange will not always be close to the real one over time. Therefore, Step 3 in Algorithm 1 can correct the false separation. The second case happens because, in the SRV-RAIM method, the first step is testing the consistency of only five pseudorange measurements. The quality of satellite geometry may be inferior when the number of satellites is small. In this case, the false separation and failure probability can be reduced only when the difference between the spoofing pseudorange and the real pseudorange is large enough. Therefore, Step 3 in Algorithm 1 is very important for the reliability of the SRV-RAIM method, but in this paper, it will not be discussed further.
The computational effort of the method is mainly focused on the search for the correct vector , and frequent positioning calculations to separate the pseudorange measurements into two groups. In this paper, the amount of computation is measured by the number of positioning calculations () needed to separate real signals from spoofing signals, because it is the most computationally expensive part of Algorithm 1. The amount of computation of the SRV-RAIM is shown in
Table 6
. The result shows that the computational cost of Algorithm 1 is very low, regardless of the number of spoofing satellites. The computational cost only arises a little when the spoofing number grows to 6. This is because the separation conditions of SRV worsens when the spoofing number increases, as shown in
Table 2
, leading to the need to search more vectors to find the first five signals that have consistent pseudorange measurements.
10.26599/TST.2023.9010017.T006
Amount of computation of the SRV-RAIM method.
Number of spoofing satellites
Mean ()
1
11.6
2
15.0
3
18.8
4
22.0
5
24.2
6
26.9
7
24.1
8
22.3
9
18.7
10
15.2
11
11.5
Average
23.2
In order to further analyze the advantages and disadvantages of the SRV-RAIM algorithm, the performance of the conventional traversal-RAIM is also proposed. The main idea of the conventional traversal-RAIM method to solve multi-spoofing situations is to go through all the possible fault-free cases, and use SSE method to test if there exist fault signals until find the right one that pass the SSE test. Simulations are done to evaluate the conventional traversal-RAIM method, and the results are shown in
Table 7
and
Table 8
.
10.26599/TST.2023.9010017.T007
Successful rate, false rate, and failed rate of the conventional traversal-RAIM. (%)
Number of spoofing satellites
Success rate
False rate
Fail rate
1
94.92
5.08
0
2
95.15
4.85
0
3
94.80
5.13
0.08
4
95.10
0.33
4.58
5
90.24
0.38
9.38
6
86.29
4.00
9.71
7
87.32
3.14
9.54
8
91.99
3.29
4.72
9
93.05
6.84
0.12
10
93.70
6.30
0
11
94.50
5.50
0
Average
90.14
2.87
6.99
10.26599/TST.2023.9010017.T008
Amount of computation of the conventional traversal-RAIM method.
Number of spoofing satellites
Mean ()
1
8.4
2
52.1
3
205.0
4
549.5
5
1590.0
6
2784.0
7
1549.4
8
537.2
9
200.6
10
52.2
11
8.2
Average
1361.1
Table 7
shows that the conventional traversal-RAIM has an average success probability of 90.14%, an average false separation probability of 2.87%, and an average failure probability of 6.99%. The reasons that cause the false separation and failure of the traversal-RAIM are almost the same as SRV-RAIM method.
Table 8
shows the amount of computation of the conventional traversal-RAIM method. It shows that the amount of computation increases rapidly when the number of spoofing satellites grews to 6, because of the increase number of possible combinations of fault satellites. The average computational cost of the traversal-RAIM method is 1361.1.
According to
Table 6
and
Table 8
, the amount of computation of the conventional traversal-RAIM is smaller than that of the SRV-RAIM method when the spoofing satellite number is 1 or 11. In this case, the SRV-RAIM method firstly tries to find 5 real (or spoofing) satellites, which requires several times of positioning calculations. After finding 5 real (or spoofing) satellites, the SRV-RAIM method needs 6 more times of positioning calculations (Step 12–19 in Algorithm 1) to find other 5 real (or spoofing) satellites. Comparing to the SRV-RAIM method, the conventional traversal-RAIM only needs to traverse 12 fault conditions. If lucky enough, the conventional traversal-RAIM only needs 1 time of positioning calculation, but the SRV-RAIM method needs 7 times of positioning calculation. When the number of spoofing satellites increases, the amount of computation of the SRV-RAIM method only increases a little, but the amount of computation of the conventional traversal-RAIM increases rapidly. The average computational cost of the SRV-RAIM method is only 1.7% of the conventional traversal-RAIM.
By comparing the simulation results of the conventional traversal-RAIM method and the SRV-RAIM method, it can be found that the effective probability of the SRV-RAIM method is 3.59% lower than that of the conventional traversal-RAIM, but the computational cost is reduced by 98.3%. This low computational complexity allows the algorithm to be run in-time on most of the GNSS receivers, and it greatly improves the availability of the GNSS receiver in spoofing environment.