The ephemeris information can be used to calculate the position and velocity of the GPS satellite from which it was received (Fu Zhu, 2016). The ephemeris consists of orbital parameters that completely define the orbit according to celestial physics orbital equations (Kai Borre, 2007). The figure below describes the fundamental orbital parameters that are crucial to calculate the position of a celestial body orbiting a center according to (Kai Borre, 2007).
Figure 12 The Keplerian orbit elements (Kai Borre, 2007)
The Keplerian orbit parameters of the earth centered at πΆ, where π represents the semi-major axis, π signifies the measure of eccentricity, π is the measure of inclination of the orbit πΊ is the right ascension of the ascending node πΎ, π€ represents the argument of perigee and π is the true anomaly. The satellite broadcast ephemeris contains time- dependent and accurate orbital parameters which could be processed through the following equations to yield the required variables necessary for calculating the satellite position (Tsui, 2000)
β’ Time elapsed since reference time π‘ππ π‘π= π‘ β π‘ππ
β’ With the semi major axis π΄ and the mean angle velocity correction π₯π
known from the ephemeris, the mean angle velocity can be calculated by
π = βπΊπ π΄3 + π₯π
πΊπ is the universal earths gravitational constant:
πΊπ = 3.986005 Γ 1014 π3/π 2
β’ The mean anomaly Β΅π at time π‘π can be calculated by
Β΅π= Β΅π+ ππ‘π
Where Β΅π is the mean anomaly at the satellite reference time π‘ππ
β’ The eccentricity anomaly πΈπ can now be deduced by solving the non-linear
equation iteratively
πΈπ= Β΅π+ π π πππΈπ
Where π is the eccentricity of the satellite orbit present in the ephemeris. β’ The true anomaly π of the GPS satellite can be calculated using the
equation
π = tanβ1
β1 β π2sin πΈ π
cos πΈπβ π
2. Calculate orbital parameters with corrections at ππ
β’ The XY plane is to be rotated by the longitude of the ascending node πΊ, which represents the angular position of the satellite moving along its orbit. πΊπ at time π‘π is derived by
πΊπ= πΊ0+ (πΊΜ β πΊΜπ)π‘πβ πΊΜππ‘ππ
Where πΊ0 and πΊΜ are longitude of the ascending node at the ephemeris
reference time and the rate of πΊ0 respectively. πΊΜπ is the standard rate of
earth rotation according to WGS-84 (πΊΜπ= 7.29211514 Γ 10β5 πππ/π )
β’ The argument of perigee π€π at π‘π is
π€π= π€ + ππ+ πΆπ€πcos 2(π€ + ππ) + πΆπ€π sin 2(π€ + ππ)
where π€ is the argument of perigee provided at π‘ππ and πΆπ€π and πΆπ€π
represents the magnitude of the cosine and sine harmonic correction term for the argument of latitude.
β’ The inclination of the orbit ππ is defined as
ππ = π0+ πΜπ‘π+ πΆππcos 2(π€ + ππ) + πΆππ sin 2(π€ + ππ)
where π0 is the inclination at π‘ππ and πΜ is the rate of change of inclination,
πΆππ and πΆππ are the sine and cosine harmonic corrections terms for the angle
of inclination respectively.
β’ The radial distance of the satellite ππ is calculated by
ππ= π΄(1 β π cos πΈπ) + πΆππcos 2(π€ + ππ) + πΆππ sin 2(π€ + ππ)
Where πΆππ and πΆππ are the cosine and sine harmonic correction terms for
the orbit radius. 3. Satellite coordinates in ECEF
[ ππ
ππ
ππ
] = [
ππ(cos π€πcos πΊπβ sin π€πcos ππsin πΊπ)
ππ(cos π€πsin πΊπβ sin π€πcos ππcos πΊπ
ππsin π€πsin ππ
Assuming all required information is available, the corresponding Doppler effect present in the GPS signal can be calculated. Having access to the Doppler frequency measurements from the Ublox receiver, and the expected Doppler predicted by using the ephemeris, we can make a comparison to detect spoofing attacks from Spoofers that are not able to incorporate the expected Doppler frequencies into the Spoofed signals.
We utilized 4 different GPS receivers simultaneously and recorded the measured Doppler frequency provided by them. It was observed that an offset existed between the predicted and the measured Doppler frequencies. However, the correlation was clear, and the offset was almost constant across all the satellites for each individual receiver. Another interesting deduction was the difference in the acquired Doppler measurements from the different receivers, although they received signals from the same GPS satellites, the measured Dopplers across the different receivers were different. An almost constant offset existed across all the different satellites and the offset was different for different receivers. However, these errors were almost constant in their measurements across all the satellites since the hardware and atmosphere used for the various satellites. Therefore, to eliminate these errors, we took the mean of the offset across all satellites for the individual receivers and deducted the error from the measured Dopplers. This gave us a more accurate overlap between the predicted and measured Doppler frequencies. The figures below showDoppler correlation after removing the offset in a static scenario.
Figure 13. Doppler correlation for Satellite with PRN 6
The Doppler measurements and predictions are off by a few hertz at most. We can associate an acceptable tolerance around these errors to detect inconsistencies in Doppler frequency that exceed the tolerance. If the Spoofer does not adjust his spoofing frequency to the expected smoothly changing Doppler, we can use our Doppler frequency prediction algorithm with an appropriate threshold bound to detect such an attack. However, as mentioned earlier, the Doppler effect can be predicted by the Spoofer as well and incorporated into the Spoofed signal generator. Therefore, such a protection will be easily circumventable.
To strengthen the protection, we explored the effect of the user velocity on the Doppler frequency. Since the Doppler is a function of the relative velocity between the receiver and the satellite, we incorporate uncertain motion on the receiver, which will be more difficult to predict by the Spoofer.