Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2020 Feb 11;20(4):954. doi: 10.3390/s20040954

Performance Analysis of Direct GPS Spoofing Detection Method with AHRS/Accelerometer

Keum-Cheol Kwon 1, Duk-Sun Shim 1,*
PMCID: PMC7070754  PMID: 32053899

Abstract

The global positioning system (GPS) is an essential technology that provides positioning capabilities and is used in various applications such as navigation, surveying, mapping, robot simultaneous localization and mapping (SLAM), location-based service (LBS), etc. However, the GPS is known to be vulnerable to intentional attacks such as spoofing because of its simple signal structure. In this study, a direct method is proposed for GPS spoofing detection, using Attitude and Heading Reference System (AHRS) accelerometer and analyzing the detection performance with corresponding probability density functions (PDFs). The difference in the acceleration between the GPS receiver and the accelerometer is used to detect spoofing. The magnitude of the acceleration error may be used as a decision variable. Additionally, using the magnitude of the north (or east) component of the acceleration error as another decision variable is proposed, which shows better performance in some conditions. The performance of the two decision variables is compared by calculating the probability of spoofing detection and the detectable minimum spoofing acceleration (DMSA), given a pre-defined false alarm probability and a pre-defined detection probability. It turns out that both decision variables need to be used together to obtain the best spoofing detection performance.

Keywords: GPS, spoofing detection, AHRS, accelerometer, Shim probability density function

1. Introduction

The global navigation satellite system (GNSS) is an essential technology for positioning and timing, and its application covers various areas such as navigation, surveying, mapping, robot simultaneous localization and mapping (SLAM), location-based service (LBS), etc. The global positioning system (GPS) is the original GNSS and its full operational capability (FOC) was declared in 1995 in the United States of America. The legacy L1 C/A code signal of GPS is very weak at the Earth’s surface and has a simple structure to implement [1,2]. Thus, the GPS signal is vulnerable to intentional interferences such as jamming and spoofing. While jamming attacks make the GPS receivers malfunction, spoofing attacks make the target receiver unaware of it being attacked by the spoofer. Spoofing threats have garnered attention since the initial finding of the 2001 Volpe Report [3]. GPS spoofers may cause significant damage to the target receiver by transmitting counterfeit navigation data which can result in erroneous navigation. Thus, spoofing attacks are a significant problem to users and many studies on spoofing attacks and anti-spoofing methods have been carried out since 2001.

Experiments have been conducted to understand the vulnerability of the GPS to spoofing [4,5], which proved that the GPS is not secure from spoofing. Some experiments tried to implement the spoofer itself [5,6,7]. A variety of approaches have been studied about spoofing detection of the GNSS [7,8,9,10,11,12,13,14,15,16,17,18] such as using received signal strength [9], signal quality monitoring at code and carrier levels [7], phase-only analysis of variance (PANOVA) method with generalized likelihood ratio test (GLRT) by employing dual antenna system [10], and using maximum likelihood estimator (MLE) [11]. Prior studies [7,12] summarize various spoofing detection techniques, among which low complexity spoofing detection techniques include C/N0 monitoring, absolute power monitoring, power variation versus receiver movement, code and phase rate consistency check, and GPS clock consistency check, while high complexity spoofing detection techniques include Direction Of Arrival (DOA) comparison [14] and consistency check with other solutions [15,16,17,18].

Among the effective high complexity spoofing detection techniques mentioned in the prior study [12], the DOA comparison approach uses the DOA measurements to assess the direction of the spoofing source and mitigates the interference by placing the spatial null in the antenna reception pattern [14]. The consistency check approach uses the inertial measurement unit (IMU) [15,16,17,18]. The relative platform trajectory estimated by the GNSS receiver is compared to the relative trajectory developed from the IMU measurement, specifically gyro output, to detect spoofing [15]. In References [16,17], a tightly coupled GPS / inertial navigation system (INS) is used to detect spoofing by incorporating fault detection concepts and Kalman filter, respectively, based on receiver autonomous integrity monitoring (RAIM). In [18], an accelerometer is used to detect spoofing by comparison of acceleration between the GPS receiver and the IMU. However, no prior research has been done on using the IMU and the acceleration error which is expressed with exact probability density function.

In this study, a direct GPS spoofing detection method is proposed which uses attitude and heading reference system (AHRS) and accelerometers via direct comparison of the acceleration estimated from the GPS receiver and the acceleration measured from IMU, which provides the acceleration error. The acceleration from the GPS receiver is estimated from the Kalman filter by including the acceleration as a state variable of the GPS dynamic system in this study, while the acceleration from the GPS receiver in Reference [18] is obtained from the difference of velocities which are estimated from the GPS Kalman filter. Two decision variables for spoofing detection are defined: the acceleration error from the acceleration of the GPS receiver and the acceleration from the AHRS/Accelerometer, expressed in the navigation frame. One decision variable is defined as the magnitude of the acceleration error, where only horizontal component is used, and the probability density function (PDF) of the decision variable is derived. It is called Shim PDF. The other decision variable is the magnitude of the north (or east) component of the acceleration error. The PDF of this decision variable is the folded Gaussian PDF. It was found that in the special condition that both moving acceleration and spoofing acceleration head around north (or east) together, the second decision variable of the magnitude of the north (or east) component provides better detection performance than the first decision variable of the magnitude of the horizontal component. Thus the magnitude of the horizontal acceleration error, the magnitude of the north component of the acceleration error, and the magnitude of the east component of the acceleration error are proposed to be used together to check whether one of these is greater than or equal to the corresponding threshold to detect the GPS spoofing.

Two performance measures are considered for spoofing detection. One is the probability of spoofing detection. The exact PDF for both decision variables is known and thus, for a given probability of false alarm, the detection threshold and the detection probability can be calculated. The other is the detectable minimum spoofing acceleration (DMSA), which is the magnitude of the minimum spoofing acceleration to obtain a pre-defined detection probability, given a pre-defined false alarm probability. The performances of the two decision variables for the two performance measures are compared and analyzed.

The structure of the first-half of the proposed direct GPS spoofing detection method is given in Section 2, which provides the acceleration error with GPS Kalman filter and AHRS. Section 3 defines the acceleration error, and two decision variables with their probability density functions, and shows the second-half of the proposed direct GPS spoofing detection method. The performance analysis of the proposed direct GPS spoofing detection method is given for two decision variables in Section 4 and Section 5 using the two performance measures, the probability of detection and the DMSA. The conclusion is presented in Section 6.

2. The Structure of the First-half of the Proposed Direct GPS Spoofing Detection Method

2.1. Block Diagram to Obtain the Acceleration Error from GPS Receiver and Accelerometer

In this study, GPS spoofing detection is done by using the comparison of accelerations obtained from the GPS receiver and accelerometers. The block diagram of Figure 1 shows the procedure to obtain the difference of the two acceleration measurements. The accelerometers measure the specific force f^accb and then, it is changed into f^accn through the transformation matrix Cbn. In f^accb and f^accn, the superscript b denotes the body frame and n denotes the navigation frame. The navigation frame uses the north(x)-east(y)-down(z) (NED) frame in this study. AHRS produces the transformation matrix Cbn by using the sensor outputs and Kalman filter. Cbn denotes the direction cosine matrix from the body frame to the navigation frame. The hat (^) denotes measured or calculated values containing errors and Ψ denotes the skew symmetric matrix of the attitude error.

Figure 1.

Figure 1

Block diagram to obtain the acceleration error from the Global Positioning System (GPS) receiver and accelerometer.

It is assumed that IMU calibration and initial alignment is performed in advance depending on the characteristics of various inertial sensors since there are many kinds of gyroscopes, such as ring laser gyro, fiber optic gyro, hemispherical resonator gyro, and low cost micro-electro-mechanical system (MEMS) gyro, and so on, and different gyroscope has different error sources, and accelerometer has also many types, such as pendulous type, vibrating type, silicon type, and MEMS type. Figure 1 shows the IMU calibration and initial alignment with the dotted block, which will not be considered in this paper. Thus misalignment, bias, scale factor, and others are assumed to be compensated in advance. The IMU calibration and initial alignment is an essential process in the inertial navigation system and thus there are much research results which have been already performed [19,20]. Only GPS spoofing detection will be considered in this paper.

Matrices use capital letters, and vectors, small letters. Matrices and vectors will use bold letters and scalars use plain letters.

2.2. GPS Kalman Filter

The GPS receiver usually provides position and velocity information. To obtain acceleration from the GPS receiver, the Kalman filter is used by including acceleration as a state variable. The dynamics of the GPS receiver can be described by the state-space model as in Equation (1), which has 11 state variables such as 3-dimensional position, velocity, acceleration, GPS receiver’s clock bias cb, and drift cd.

x˙gps=Fgpsxgps+wgps. (1)

where xgps=[x,x˙, x¨, y,y˙, y¨, z,z˙, z¨, cb, cd] and the state variable xgps denotes the error state,

Fgps=[FXO3×3O3×3O3×3FYO3×3O3×3O3×3FZ O3×3O3×3O3×3O2×2O2×2O2×2    FW  ],   wgps=[wXwYwZwW], FX=FY=FZ=[010001000], FW=[0100],   wX=[00 wx], wY=[00wy],wZ=[00wz], wW=[wbwd],

and wx, wy,wz, wb,wd are independent white noises.

Pseudo range is the distance between the GPS satellite and the receiver. The difference between the measured pseudo range ρi and the estimated pseudo range ρi^ is used as the measurement in the Kalman filter for i-th GPS satellite

zi=ρi^ρi=Hixgps+vi

where Hi=[axi 0 0 ayi 0 0 azi 0 0 1 0], axi=xix^ur^i, ayi=yiy^ur^i, azi=ziz^ur^i, r^i=(xix^u)2+(yiy^u)2+(ziz^u)2, (xi,yi,zi) is the position of i-th GPS satellite, (x^u,y^u,zu) is the estimated user position, and vi is the white noise. The whole measurement equation is given as follows:

zgps=Hgpsxgps+vgps (2)

where zgps=[z1 z2  zm], Hgps=[H1 H2  Hm],vgps=[v1 v2  vm].

From the dynamic Equation (1) and the measurement (2), the accelerations x¨, y¨, and z¨ can be estimated using the Kalman filter [21].

2.3. AHRS

AHRS provides the attitude and heading and thus, the direction cosine matrix Cbn can be calculated uniquely if the rotation sequence of roll, pitch, and heading is pre-defined. Many approaches have been proposed for AHRS [22,23,24,25] using accelerometer, gyroscope, and magnetometer. Accelerometers provide roll and pitch, and magnetometers provide heading. Hence the roll, pitch, and heading obtained from accelerometers and magnetometers can be compared with those from the gyroscope, and thus the Kalman filter can be used to estimate attitude and heading.

In many cases, quaternion is used to avoid deadlock and to save time. Quaternion q is defined as one scalar and a three- or four-dimensional vector as follows:

q=q0+q1i+q2j+q3k=[q0 q1 q2 q3]

The direction cosine matrix Cbn is related with the quaternion q as in (3).

Cbn=[q02+q12q22q322(q1q2+q0q3)2(q1q3q0q2)2(q1q2q0q3)q02q12+q22q322(q2q3+q0q1)2(q1q3+q0q2)2(q2q3q0q1)q02q12q22+q32] (3)

The quaternion q is updated as the following differential equation

q˙=12Wq

where W=[0ωxωyωzωx0ωzωyωyωz0ωxωzωyωx0].

The direction cosine matrix Cbn, which is the output of AHRS, can be described as

C^bn=(I+Ψ)Cbn

where Cbn is the true direction cosine matrix, and Ψ denotes the orientation error of AHRS and is a skew symmetric matrix as follows:

Ψ=[0δψδθδψ0δϕδθδϕ0],  [δϕδθδψ]=[δϕ~N(0,σϕ2)δθ~N(0,σθ2)δψ~N(0,σψ2)] (4)

where ϕ is roll, θ is pitch, and ψ is heading. As discussed in Section 2.1, it is assumed that IMU calibration and initial alignment is performed in advance before AHRS block as in Figure 1. Thus deterministic and some random errors are compensated in the IMU calibration and initial alignment block. Then the remaining orientation error δϕ, δθ, and δψ can be assumed to have Gaussian distribution as in (4).

3. Definition of the Decision Variables and the Structure of the Second-half of the Proposed Direct GPS Spoofing Detection

This section describes the acceleration error equation for the direct GPS spoofing detection and defines two decision variables to decide whether a spoofing signal exists or not. One decision variable is the magnitude of the horizontal acceleration error and the other is the magnitude of the north (or east) direction acceleration error. The probability density functions and the thresholds for spoofing detection are given for the two decision variables.

3.1. Acceleration Error Equation

The acceleration estimated from the GPS receiver is described as follows,

f^gpsn=fgpsn+ϵgpsn (5)

where fgpsn is the true moving acceleration (plus spoofing acceleration if any) in the navigation frame and ϵgpsn is the white noise.

The specific force measured from the accelerometers f^accb in the body frame is transformed into the navigation frame f^accn by using the direction cosine matrix C^bn obtained from the AHRS as follows,

f^accn=C^bnf^accb=(Cbn+ΨCbn)(faccb+ϵaccb)faccn+Ψfaccn+ϵaccn (6)

where faccn is the true specific force, Ψ is defined in (4), and ϵaccn is the white noise of accelerometers. The Coriolis effect is assumed to be negligible with the assumption of low moving velocity for brevity. Notice that the z-component of faccn contains the gravity.

The acceleration error equation is described from the difference of f^gpsn and f^accn as follows:

z=f^gpsnf^accn (7)

3.2. Decision Variable zmag as the Magnitude of the Horizontal Acceleration Error

Suppose that the hypothesis H0 denotes the case of the absence of the spoofing signal, and H1 denotes the case of the presence of the spoofing signal. For hypothesis H0, the acceleration error is denoted as z0, and for hypothesis H1, the acceleration error is denoted as z1. Then, z0 and z1 can be described from Equations (5) and (6) as follows:

z0=f^gpsnf^accn=ϵgpsnΨfaccnϵaccn=[z0nz0ez0d] (8)
z1=f^gps,spoofednf^accn=fsn+ϵgpsnΨfaccnϵaccn=[fs,nn+ϵgps,nnδψfacc,en+δθfacc,dnϵacc,nnfs,en+ϵgps,en+δψfacc,nnδϕfacc,dnϵacc,enfs,dn+ϵgps,dnδθfacc,nn+δϕfacc,enϵacc,dn]=[z1nz1ez1d] (9)

where fs,nn, fs,en, fs,dn are north, east, down components of spoofing acceleration.

Only the x, y components of the acceleration error equation (8), (9) are used in this study. The acceleration errors z0 and z1 are expressed in the navigation frame and the superscript n will be omitted henceforth, for brevity.

In Equation (9), the random variables z1n and z1e, which are north and east components of z1, have Gaussian distribution and the probability density function (PDF) is as follows,

z1n: fZ1n(z)=12πσne(zfs,n)22σn2  where σn2=ϵgps,n2+σψ2facc,e2+σθ2facc,d2+ϵacc,n2 (10)
z1e: fZ1e(z)=12πσee(zfs,e)22σe2  where σe2=ϵgps,e2+σψ2facc,n2+σϕ2facc,d2+ϵacc,e2 (11)

3.2.1. Probability Density Function of the Magnitude of the Horizontal Acceleration Error zmag

z1mag is defined as the magnitude of the horizontal component of z1 as follows:

z1mag=z1n2+z1e2, where z1n~N(fs,n,σn2) and z1e~N(fs,e,σe2) with σn2 and σe2 being defined in (10) and (11).

The variances σn2 and σe2 have different values and depend on the AHRS attitude accuracy times moving acceleration. Thus σn2 and σe2 are time-varying if the moving acceleration varies with time.

The PDF of the z1mag could not be found in the literature and thus it was derived in this paper and called as Shim PDF. Lemma 1 shows the PDF of z1mag.

Lemma 1.

(Shim PDF) Consider the independent Gaussian random variablesXandYwithX~N(m1,σ12) and Y~N(m2,σ22). Then, the magnitudeZ=X2+Y2has the following PDF:

fZ(z)=zσ1σ2exp[14(1σ12+1σ22)(z2+α2)]I1(z), z0 (12)

whereI1(z)=12π02πexp[14(1σ221σ12)z2cos(2θ)+(m1σ12)2+(m2σ22)2·zcos(θϕ)]dθ, andα2=2(σ22m12+σ12m22)σ12+σ22=2(m12σ12+m22σ22)1σ12+1σ22, ϕ=tan1(m2σ12m1σ22)=tan1(m2σ22m1σ12).

Proof. 

The variable change for the independent Gaussian random variables X and Y is as

U=Xs, V=Ys where UN(m1s,σ12s2), VN(m2s,σ22s2), and s=σ12+σ22 

Defining μ1=m1s and μ2=m2s, b=σ12σ22σ12+σ22, it can be understood that UN(μ1,1+b2), VN(μ2,1b2) and1b1.

The idea of using s and b above comes from Hoyt’s paper [26]. Consider the joint PDF fUV(u,v).

fUV(u,v)=fU(u)fV(v)=1π(1+b)exp[(uμ1)21+b]·1π(1b)exp[(vμ2)21b]=1π1b2exp[(uμ1)21+b(uμ2)21b]

Defining R=U2+V2, the PDF fR(r) can be obtained as follows:

fR(r)=02πfUV(u,v)rdθ=02πfUV(rcosθ,rsinθ)rdθ=02π1π1b2exp[(rcosθμ1)21+b(rsinθμ2)21b]rdθ

By algebraic manipulation of the above equation, fR(r)=rπ1b2 exp[r2+β21b2]02πexp[br2cos(2θ)+rAcos(θϕ)1b2]dθ where β2=(1b)μ12+(1+b)μ22,  A=2(1b)2μ12+(1+b)2μ22, ϕ=tan1((1+b)μ2(1b)μ1).

From the relation between random variables Z and R as Z=sR, the PDF of Z can be obtained from fZ(z)=1sfR(zs) as:

fZ(z)=1s·z/sπ1b2 exp[(zs)2+β21b2]02πexp[b(zs)2cos(2θ)+(zs)Acos(θϕ)1b2]dθ (13)

From algebraic manipulation of Equation (13), 1s·zsπ1b2 = zσ1σ2·12π and exp[(zs)2+β21b2]=exp[14(1σ12+1σ22)(z2+α2)] is obtained, and the integral term in Equation (13) becomes the integral term of I1(z), which results in Equation (12). □

Rayleigh PDF and Rice PDF are well-known PDFs as the relation to Gaussian, and those two PDFs are special cases of Equation (12), which becomes Rayleigh PDF with the condition of m1=m2=0 and σ1=σ2, and becomes Rice PDF with the condition of σ1=σ2.

Defining z0mag as the magnitude of the horizontal component of z0 as follows, z0mag=z0n2+z0e2, where z1n~N(0,σn2),  z1e~N(0,σe2). 

The PDF of z0mag can be obtained from Lemma 1 with m1=m2=0 and the result is shown in Corollary 2.

Corollary 2.

Consider the independent Gaussian random variables X and Y with X~N(0,σ12) and Y~N(0,σ22) . Then the magnitude Z=X2+Y2 has the following PDF:

fZ(z)=zσ1σ2exp[14(1σ12+1σ22)z2]I0(14(1σ221σ12)z2), z0 (14)

where I0(z)=1π0πezcosθdθ ,

Proof. 

Equation (14) can be obtained easily from the PDF in Equation (12) with m1=m2=0 and manipulation in the I0(z) part. □

Equation (14) can be found in Reference [27] without proof.

3.2.2. Threshold to Detect GPS Spoofing for the Decision Variable zmag

In this study, the probability of false alarm is used to obtain the threshold for the detection of spoofing. The threshold γmag to detect GPS spoofing is defined according to the pre-defined probability of false alarm Pfa as follows:

prob{z0magγmag}=prob{zmagγmag|H0}=Pfa (15)

where

zmag=zn2+ze2 (16)

and the probability is calculated from the integral of equation (14) from γmag to infinity.

Whether a spoofing signal exists or not is decided by the following decision rule:

zmagH1H0 γmag

The variable zmag above is said to be a decision variable since it is used to decide whether there is a spoofing signal or not.

3.3. Decision Variable zabsN (or zabsE) as the Magnitude of the North (or East) Direction Acceleration Error

3.3.1. Probability Density Function of the Magnitude of The North (or East) Acceleration Error zabsN (or zabsN)

Defining z1absN and z0absN as the magnitude of the north component of z1 and z0, respectively, z1absN=|z1n| and z0absN=|z0n| (similarly, z1absE=|z1e| and z0absE=|z0e|).

The PDF of z1absN (or z1absE) and z0absN (or z0absE) can be obtained as Equations (17) and (18), which are called folded Gaussian [28], since z1n and z0n have Gaussian density functions as z1n~N(fs,n,σn2) and z0n~N(0,σn2).

fZ1absN(z)=12πσne(zfs,n)22σn2+12πσne(z+fs,n)22σn2, z0 (17)
fZ0absN(z)=22πσnez22σn2, z0 (18)

3.3.2. Threshold to Detect GPS Spoofing for the Decision Variable zabsN

The threshold γabsN to detect GPS spoofing is defined according to the pre-defined probability of false alarm Pfa as follows:

prob{z0absNγabsN}=prob{zabsNγabsN|H0}=Pfa (19)

here

zabsN=|zn| (20)

and the probability is calculated from the integral of Equation (18) from γabsN to infinity. Whether a spoofing signal exists or not is decided by the following decision rule:

zabsNH1H0 γabsN

3.4. The Structure of the Second-Half of the Proposed Direct GPS Spoofing Detection

This subsection shows the structure of the proposed second-half of direct GPS spoofing detection method in Figure 2, which is drawn after the rightmost signal in Figure 1. The analysis of the proposed structure shown in Figure 2 will be given in Section 4 and Section 5 in detail.

Figure 2.

Figure 2

The Structure of the Second-half of the proposed direct GPS spoofing detection after Figure 1.

In Section 4, it will be observed that the decision variable zabsN (or zabsE) shows a higher detection probability than zmag in the condition that both moving acceleration and spoofing acceleration head within roughly 25° from the north (or east). Section 5 shows that when DMSA is used for performance measure, the decision variable zabsN (or zabsE) shows a smaller DMSA than zmag in the condition that both moving acceleration and spoofing acceleration head within roughly 25° from the north–south direction (or east–west direction). From these results, a direct GPS spoofing detection method is proposed as follows:

If any of the three decision variables zmag, zabsN, and zabsE are larger than or equal to the corresponding thresholds, then a spoofing signal is declared to exist.

Note that the threshold γmag(t), γabsN(t), and γabsE(t) in Figure 2 are time-varying, not constant. The threshold γmag(t) is obtained from Equation (15) given the probability of false alarm Pfa, where the PDF is Equation (14) with σ1=σn and σ2=σe. The north and east variances σn2 and σe2 given in Equations (10) and (11) contain the moving acceleration and thus σn2 and σe2 are time-varying, which is why γmag(t) is time-varying. The threshold γabsN(t) is obtained from Equation (18) and the PDF contains σn, which is time-varying. Thus γabsN(t) depends on the moving acceleration and becomes time-varying. Similarly γabsE(t) is time-varying. The red line and arrow in Figure 2 means that the threshold γmag(t), γabsN(t), and γabsE(t) depend on the moving acceleration f^accn.

4. Performance Analysis of the Decision Variables using the Probability of Detection

This section shows the performance of the proposed direct GPS spoofing detection method for the two decision variables zmag and zabsN (or zabsE) which are defined in Section 3.

4.1. Detection Threshold According to Moving Acceleration

Suppose that the probability of false alarm Pfa is pre-defined. Then, spoofing detection thresholds γmag and γabsN(or γabsE) are determined according to Pfa as in Equations (15) and (19). Taking the PDF Equations (14) and (18) into account, Equations (21) and (22) are obtained from Equations (15) and (19) to further obtain γmag and γabsN.

prob{zmagγmag|H0}=γmagzσnσeexp[14(1σn2+1σe2)z2]I0(14(1σe21σn2)z2)dz =Pfa (21)
prob{zansNγabsN|H0}=γabsN22πσnez22σn2 dz =Pfa (22)

where σn2=ϵgps,n2+σψ2facc,e2+σθ2facc,d2+ϵacc,n2 and σe2=ϵgps,e2+σψ2facc,n2+σϕ2facc,d2+ϵacc,e2.

To see the detection performance result clearly, the vertical moving acceleration is supposed to be zero and the gravity is compensated before the acceleration error is obtained. Thus the following variances in Equation (23) are used in the simulation from now on.

σn2=ϵgps,n2+σψ2facc,e2+ϵacc,n2 and  σe2=ϵgps,e2+σψ2facc,n2+ϵacc,e2 (23)

The detection thresholds γmag and γabsN depend on the variances σn2 and σe2 which are functions of moving acceleration facc as in (23). Thus, the detection threshold γmag and γabsN are not constant but vary according to the magnitude and direction of the moving acceleration facc. Figure 3 shows detection thresholds γmag and γabsN according to the direction of facc with two cases of magnitude, (a) |facc|=0.2 m/s2 and (b) |facc|=0.4 m/s2. The threshold is the distance from the origin for the corresponding direction of facc. It is observed that for the same magnitude of moving acceleration, γmag has maximum values in the north and east directions and γabsN has the minimum value in the north direction. Similarly, γabsN has the minimum value in the east direction.

Figure 3.

Figure 3

Spoofing detection thresholds γmag and γabsN according to the moving acceleration. The distance from the origin is the threshold for the corresponding direction of moving acceleration; (a) |facc|=0.2 m/s2, (b) |facc|=0.4 m/s2.

4.2. Effects of Moving Acceleration on the Performance of Spoofing Detection

This subsection analyzes the effects of moving acceleration on the performance of spoofing detection. The effects of moving acceleration, magnitude and direction are separately examined, for both decision variables zmag and zabsN which are defined in Section 3.

The probability of detection Pd is used for the performance of spoofing detection with the pre-defined probability of false alarm Pfa. When the detection threshold γmag and γabsN are obtained from Pfa, the corresponding detection probabilities Pd,mag and Pd,absN are defined as follows:

Pd,mag=prob{zmagγmag|H1} and Pd,absN=prob{zabsNγabsN|H1} (24)

where the probability density functions (12) and (17) are integrated from the detection threshold to infinity.

4.2.1. Performance of Spoofing Detection According to the Magnitude of Moving Acceleration

The probability of detection Pd depends on both moving acceleration facc and spoofing acceleration fs. The effect of the magnitude of moving acceleration is focused on in this subsection.

Suppose that the probability of the false alarm is pre-defined as Pfa=0.001, the AHRS attitude accuracies of roll, pitch, and heading are 2°, 2°, and 4°, respectively, and moving acceleration is heading north. Figure 4 plots Pd according to the magnitude of fs and shows that Pd increases as |fs| increases. The big arrow in cyan color in the upper left corner of Figure 4 denotes the moving acceleration facc and the narrow arrow in red color denotes the spoofing acceleration fs. Figure 4a shows the case of both facc and fs heading north, and plots four curves, two pink in color and two black in color, where the two pink curves show Pd,mag and the two black curves show Pd,absN. The two black curves are same as one, implying that two cases of |facc|=0.1 m/s2 and |facc|=0.2 m/s2 do not cause any effect on Pd,absN, while the two pink curves show different results. As |facc| changes from 0.1 m/s2 to 0.2 m/s2, the performance of using zmag, which is Pd,mag, deteriorates. Figure 4a shows that the performance of using zabsN is always better than that of using zmag when both facc and fs head north. Figure 4b shows similar results as Figure 4a when fs heads 20° east from north.

Figure 4.

Figure 4

Probabilities of spoofing detection, Pd,mag and Pd,absN when (a) Both facc  and fs are heading north, (b) facc  is heading north and fs heading northeast  20° (arrow in cyan: moving acceleration facc, narrow arrow in red: spoofing acceleration fs ).

The reason the two black curves are the same in Figure 4 despite two different |facc|s is because the variance σn2 in (10) does not contain facc,n, but facc,e. When facc heads north, facc,e=0 and thus for a different north speed, the threshold γabsN is same, which provides the same Pd,absN.

4.2.2. Performance of Spoofing Detection According to the Direction of Moving Acceleration

In this subsection, the effect of the direction of moving acceleration on the spoofing detection performance is presented. When the direction of facc changes from north to northeast of 30°, Figure 4a changes into Figure 5, where two black curves are distinct. Since the direction of facc changes from north to northeast of 30°, the east component facc,e exists and thus σn2 is different for different speeds, which results in a different threshold γabsN and thus different Pd,absN. For both zmag and zabsN the performance Pd deteriorates as |facc| increases from 0.1 m/s2 to 0.2 m/s2. Looking into the black curve of |facc|=0.1 m/s2 carefully in Figure 4a and Figure 5, it is observed that Pd,absN with facc heading north is bigger than Pd,absN with facc heading northeast of 30°. For both Figure 4 and Figure 5, the performance of Pd,absN is better than that of Pd,mag.

Figure 5.

Figure 5

Probability of spoofing detection, Pd,mag and Pd,absN when facc heads northeast.

4.3. Effects of Spoofing Acceleration on the Performance of Spoofing Detection

This subsection analyzes the effects of spoofing acceleration on the performance of spoofing detection. The effects of the direction of the spoofing acceleration are examined for both decision variables zmag and zabsN.

Figure 6 shows the spoofing detection probability when spoofing direction changes from 0° to 40° from north in the case of facc heading north as (a) and heading 30° east from north as (b). The horizontal axis is the magnitude of spoofing acceleration. It shows that Pd,mag does not depend on the direction of spoofing acceleration while Pd,absN decreases as the spoofing direction changes from 0° to 40° from north. This is because the north component of spoofing acceleration decreases as the spoofing direction gets far away from the north. It is observed that Pd,absN is greater than Pd,mag when the direction of fs is less than 20° for both Figure 6a,b.

Figure 6.

Figure 6

Probability of spoofing detection, Pd,mag and Pd,absN according to ∠fs with |facc|=0.6 m/s2, where fs is red color and facc is cyan color; (a) facc  is heading north, (b) facc  is heading 30° east from north.

4.4. Effects of Sensor Accuracy on the Performance of Spoofing Detection

This subsection analyzes the effects of sensor accuracy on the performance of spoofing detection. Figure 7a considers AHRS accuracies of 2°, 2°, and 4° for the roll, pitch, and heading errors while Figure 7b considers AHRS accuracies of 1°, 1°, and 2°. It is observed that Pd,mag(pink color) decreases as the magnitude of facc increases or AHRS accuracy deteriorates. When both facc and fs head north, Pd,absN is greater than Pd,mag in Figure 7. Better the AHRS accuracy, the better is the spoofing detection performance and this can be explained in Figure 8 which shows that with better AHRS accuracy, the threshold is smaller, which results in higher detection performance.

Figure 7.

Figure 7

Probability of spoofing detection, Pd,mag and Pd,absN according to Attitude and Heading Reference System (AHRS) accuracy.

Figure 8.

Figure 8

Comparison of spoofing detection threshold according to AHRS accuracy - the angles denote the direction of facc, i.e., ∠facc.

5. Performance Analysis of the Decision Variables Using the Detectable Minimum Spoofing Acceleration (DMSA)

This section compares the performance of the proposed direct GPS spoofing detection method for the two decision variables zmag and zabsN (or zabsE) using the minimum threshold of spoofing detection with pre-defined false alarm probability and detection probability.

5.1. Spoofing Detection Threshold According to Moving Acceleration

The detection threshold γmag and γabsN according to the direction of facc for the two cases of |facc|=0.2 m/s2 and |facc|=0.4 m/s2 are shown in Figure 3, where two decision variables zmag and zabsN are used. Figure 9 shows Figure 3a,b together again upon adding the case of |facc|=0.6 m/s2 under the condition of Pfa= 0.001 and the AHRS attitude accuracy of 2/2/4°. Figure 9 shows the exact threshold γmag and γabsN and is obtained using Equations (21) and (22) given the pre-defined pfa.

Figure 9.

Figure 9

The threshold of spoofing detection γmag and γabsN according to facc, the angle denotes the direction of facc, i.e., ∠facc.

5.2. Definition of DMSA

This section defines the detectable minimum spoofing acceleration (DMSA) and compares the DMSA for the decision variables zmag and zabsN.

DMSA is the magnitude of the minimum spoofing acceleration to obtain a pre-defined detection probability Pd given a pre-defined false alarm probability Pfa. Pfa=0.001, Pd=0.99, and AHRS attitude accuracy of 2/2/4° are used for DMSA in the simulations. Figure 10 shows an example of the computation results of DMSA, where the big arrow in cyan color is the moving acceleration facc and the angles of 0 through 360° denote the angle of spoofing acceleration fs. The contour of red ‘+’ is the set of DMSA for all directions of fs. For example, the ‘x’ point means that when fs comes from 330° direction, the DMSA is the distance from the origin to ‘x’ point, which guarantees Pd=0.99.

Figure 10.

Figure 10

Detectable minimum spoofing acceleration (DMSA), the angle denotes the direction of fs, i.e., ∠fs.

5.2.1. Contour of DMSA Using The Decision Variable zmag Depending on The Moving Acceleration

For a given DMSA in Figure 10, the values of Pfa, Pd, and AHRS attitude accuracy are fixed in advance, and thus the moving acceleration is the only remaining parameter that can affect the DMSA. Figure 11a–c show the contour of DMSA according to ∠facc of 0°, 30°, and 45°. Greater the |facc|, the bigger the DMSA. The contour of DMSA in Figure 11c appears like a circle since the north and east component of facc are same and thus σn=σe. To check the effect of the AHRS accuracy, the DMSA is calculated for two sets of AHRS attitude accuracy of 1/1/2° and 2/2/4° in Figure 11d which shows that the better the accuracy, the smaller the contour of DMSA.

Figure 11.

Figure 11

Contour of DMSA using the decision variable zmag, the angle denotes the direction of fs, i.e., ∠fs; (a) ∠facc = 0°, (b) ∠facc = 30°, (c) ∠ facc = 45°, and (d) AHRS accuracy.

5.2.2. Contour of DMSA Using The Decision Variable ZabsN Depending on the Moving Acceleration

This subsection shows the contour of DMSA for the decision variable ZabsN=|zn|. Figure 12 shows the contour of DMSA for ∠facc=0°. When facc heads north, the variance σn does not depend on |facc| as shown in Figure 9, so the threshold and DMSA are the same for different magnitudes of facc as in Figure 12a,b. The contour of DMSA is a line passing through the minimum point of the north direction. Figure 13 shows the contour of DMSA for ∠facc=30°. In this case, the east component of facc has an effect on the σn, which results in a different threshold and DMSA according to different |facc| as in Figure 13. The bigger the acceleration, the bigger is the DMSA.

Figure 12.

Figure 12

Contour of DMSA using the decision variable zabsN (∠facc=0° ), the angle denotes the direction of fs, i.e., ∠fs ; (a) |facc|=0.2 m/s2 (b) |facc|=0.4 m/s2.

Figure 13.

Figure 13

Contour of DMSA using the decision variable ZabsN (∠facc=30° ), the angle denotes the direction of fs, i.e., ∠fs.

5.3. Optimal Combined Contour of DMSA Using Both zmag and zabsN (or zabsE)

When both decision variables zmag and zabsN (or zabsN) are used, the optimal combined contour can be obtained by combining Figure 11 and Figure 12. Here, the optimal combined contour, colored in pink, is the inner most combined contour from the two contours of DMSA using zmag and zabsN. Figure 14a shows the optimal combined contour in the case of |facc|=0.2 m/s2 and ∠facc=0°. When the magnitude is increased to |facc|=0.4 m/s2 while maintaining the direction, Figure 14b shows that the threshold γmag is increased, but the threshold γabsN does not change. In Figure 14a,b, it is observed that when facc heads north, as |facc| increases, the difference γmag-γabsN becomes larger and the range of angles where DMSAabsN<DMSAmag holds, becomes larger. Figure 14c,d show the case of facc=30° and facc=90°, respectively. When facc heads east, i.e., facc=90° as in Figure 14d, zabsE and γabsN should be used instead of zabsN and γabsN.

Figure 14.

Figure 14

Optimal combined contour (pink color) of DMSA using both zmag and zabsN, the angle denotes the direction of fs, i.e., ∠fs; (a) facc=0 °, |facc|=0.2 m/s2, (b) facc=0°, |facc|=0.4 m/s2, (c) facc=30°, |facc|=0.4 m/s2, and (d) facc=90°, |facc|=0.4 m/s2.

Figure 15 shows the combined contour of DMSA using both zmag and zabsN according to the AHRS attitude accuracy. It shows that as the attitude accuracy enhances, the combined contour of DMSA shrinks.

Figure 15.

Figure 15

Combined Contour of DMSA with respect to the AHRS attitude accuracy.

Figure 16a,b show the case of facc=30° and facc=120°, respectively, with |facc|=0.2, 0.4,0.6 m/s2. The decision variable zabsN is used for facc=30° and zabsE is used for facc=120°. It is observed that as |facc| increases, the range of angles using zabsN (or zabsE) becomes larger.

Figure 16.

Figure 16

Combined contour of DMSA with respect to the magnitude of facc.

Figure 17 shows the case of facc=45° and the decision variables zmag, zabsN and zabsE are all necessary to obtain the optimal combined contour.

Figure 17.

Figure 17

Combined contour of DMSA with respect to the magnitude of facc=45°.

6. Conclusions

In this study, a direct GPS spoofing detection method is proposed, with AHRS and accelerometers via the difference of the acceleration estimated from GPS receiver and the acceleration measured from IMU. From the acceleration error expressed in the navigation frame, two decision variables are defined for spoofing detection. One decision variable zmag, which may be commonly used, is defined as the magnitude of the horizontal acceleration error. The other decision variable zabsN (or zabsE) is defined as the magnitude of the north (or east) component of the acceleration error.

The spoofing detection performance can be evaluated using the detection probability, which can be calculated from the probability density function of both decision variables. The decision variable zabsN shows higher detection probability than zmag in the condition that both moving acceleration and spoofing acceleration are heading within roughly 25° from the north or south. Similarly, the decision variable zabsE shows higher detection probability than zmag in the condition that both moving acceleration and spoofing acceleration are heading within roughly 25° from the east or west.

When detectable minimum spoofing acceleration (DMSA) is used, the decision variable zabsN (or zabsE) shows smaller DMSA than zmag in the condition that both moving acceleration and spoofing acceleration head are within roughly 25° from the north–south direction (or east–west direction).

The spoofing acceleration can happen to be any direction. Thus, given a pre-defined false alarm probability, the best algorithm to detect GPS spoofing is that the three decision variables zmag, zabsN, and zabsE are calculated and compared with the corresponding threshold, and declare the existence of the GPS spoofing if any of the three decision variables exceed the corresponding threshold.

The proposed GPS spoofing detection method in this paper depends on the acceleration error. If a ground vehicle runs across road irregularities such as potholes, bumps, and rubble, etc., then accelerometers may show large changes and deteriorate the GPS spoofing detection performance. Therefore, the flying or driving environment may have an effect on the GPS detection performance.

Author Contributions

Conceptualization, D.-S.S.; Formal analysis, D.-S.S.; Software, K.-C.K.; Supervision, D.-S.S.; Writing— original draft, K.-C.K.; Writing—review & editing, D.-S.S.; Derivation of Shim probability density function, D.-S.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

References

  • 1.Kaplan E.D. Understanding GPS, Principles and Applications. 2nd ed. Artech House; Norwood, MA, USA: 2006. pp. 123–132. [Google Scholar]
  • 2.Tsui J.B.-Y. Fundamentals of Global Positioning System Receivers: A Software Approach. 2nd ed. Wiley; Hoboken, NJ, USA: 2005. pp. 73–78. [Google Scholar]
  • 3.Volpe J.A. Vulnerability Assessment of the Transportation Infrastructure Relying On the Global Positioning System. J. Naviga. 2003;56:185–193. [Google Scholar]
  • 4.Warner J., Johnston R. A Simple Demonstration That the Global Positioning System (GPS) is Vulnerable to Spoofing. J. Secur. Admin. 2002;25:19–28. [Google Scholar]
  • 5.Humphreys T.E., Ledvina B.M., Psiaki M.L., O Hanlon B.W., Kintner P.M., Jr. Assessing the Spoofng Threat—Development of a Portable GPS Civilian Spoofer; Proceedings of the 2008 ION GNSS Conference; Savanna, GA, USA. 16–19 September 2008; pp. 1–12. [Google Scholar]
  • 6.Tippenhauer N.O., Pöpper C., Rasmussen K.B., Cˇapkun S. On the Requirements for Successful GPS Spoofing Attacks; Proceedings of the 18th ACM Conference on Computer and Communications Security, CCS 2011; Chicago, IL, USA. 17–21 October 2011; pp. 1–11. [Google Scholar]
  • 7.Cavaleri A.B., Motella M.P., Fantino M. Detection of Spoofed GPS Signals at Code and Carrier Tracking Level; Proceedings of the 5th ESA Workshop on Satellite Navigation Technologies and European Workshop on GNSS Signals and Signal Processing (NAVITEC); Noordwijk, The Netherlands. 8–10 December 2010; pp. 1–6. [Google Scholar]
  • 8.Wen H., Huang P.Y.-R., Dyer J., Archinal A., Fagan J. Countermeasures for GPS Signal Spoofing; Proceedings of the 18th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2005); Long Beach, CA, USA. 13–16 September 2005. [Google Scholar]
  • 9.Dehghanian V., Nielsen J. GNSS Spoofing Detection Based on a Sequence of RSS Measurements. ION GPS GNSS. 2013;26:2931–2935. [Google Scholar]
  • 10.Borio D. PANOVA Tests and their Application to GNSS Spoofing Detection. IEEE Trans. Aerosp. Electron. Syst. 2013;49:381–394. doi: 10.1109/TAES.2013.6404110. [DOI] [Google Scholar]
  • 11.Wang F., Li H., Lu M. GNSS Spoofing Detection and Mitigation Based on Maximum Likelihood Estimation. Sensors. 2017;17:1532. doi: 10.3390/s17071532. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 12.Jafarnia-Jahromi A., Broumandan A., Nielsen J., Lachapelle G. GPS Vulnerability to Spoofing Threats and a Review of Anti-spoofing Techniques. Int. J. Navig. Obs. 2012;2012:127072. [Google Scholar]
  • 13.Wesson K.D., Shepard D.P., Humphreys T.E. Straight talk on anti-spoofing. GPS World. 2012;23:32–39. [Google Scholar]
  • 14.Konovaltsev A., Cuntz M., Haettich C., Meurer M. Autonomous Spoofing Detection and Mitigation in a GNSS Receiver with an Adaptive Antenna Array. ION GPS GNSS. 2013;26:2937–2948. [Google Scholar]
  • 15.Swaszek P.F., Pratz S.A., Arocho B.N., Seals K.C., Hartnett R.J. GNSS Spoof Detection Using Shipboard IMU Measurements; Proceedings of the 27th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2014); Tampa, FL, USA. 8–12 September 2014; pp. 745–758. [Google Scholar]
  • 16.Khanafseh S., Roshan N., Langel S., Chan F.-C., Joerger M., Pervan B. GPS Spoofing Detection using RAIM with INS Coupling; Proceedings of the PLANS 2014, 2014 IEEE/ION; Monterey, CA, USA. 5–8 May 2014; pp. 1232–1239. [Google Scholar]
  • 17.Tanil C., Khanafseh S., Joerger M., Pervan B. An INS monitor to detect GNSS spoofers capable of tracking vehicle position. IEEE Trans. Aerosp. Electron. Syst. 2017;54:131–143. doi: 10.1109/TAES.2017.2739924. [DOI] [Google Scholar]
  • 18.Lee J.-H., Kwon K.-C., An D.-S., Shim D.-S. GPS Spoofing Detection using Accelerometers and Performance Analysis with Probability of Detection. Int. J. Control Autom. Syst. 2015;13:951–959. doi: 10.1007/s12555-014-0347-2. [DOI] [Google Scholar]
  • 19.Bekkeng J.K. Calibration of a Novel MEMS Inertial Reference Unit. IEEE Trans. Instrum. Meas. 2009;58:1967–1974. doi: 10.1109/TIM.2008.2006126. [DOI] [Google Scholar]
  • 20.Gao W., Zhang Y., Wang J. Research on Initial Alignment and Self-Calibration of Rotary Strapdown Inertial Navigation Systems. Sensors. 2015;15:3154–3171. doi: 10.3390/s150203154. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 21.Grewal M.S., Andrews A.P. Kalman Filtering Theory and Practice. Prentice Hall; Englewood Cliffs, NJ, USA: 1993. pp. 108–118. [Google Scholar]
  • 22.Han S., Wang J. A novel method to integrate IMU and magnetometers in attitude and heading reference systems. J. Navig. 2011;64:727–738. doi: 10.1017/S0373463311000233. [DOI] [Google Scholar]
  • 23.Khedr M., El-Sheimy N. A Smartphone Step Counter Using IMU and Magnetometer for Navigation and Health Monitoring Applications. Sensors. 2017;17:2573. doi: 10.3390/s17112573. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 24.Hellmers H., Kasmi Z., Norrdine A., Eichhorn A. Accurate 3D Positioning for a Mobile Platform in Non-Line-of-Sight Scenarios Based on IMU/Magnetometer Sensor Fusion. Sensors. 2018;18:126. doi: 10.3390/s18010126. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 25.Patonis P., Patias P., Tziavos I.N., Rossikopoulos D., Margaritis K.G. A Fusion Method for Combining Low-Cost IMU/Magnetometer Outputs for Use in Applications on Mobile Devices. Sensors. 2018;18:2616. doi: 10.3390/s18082616. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 26.Hoyt R.S. Probability functions for the modulus and angle of the normal complex variate. Bell Syst. Tech. J. 1947;26:318–359. doi: 10.1002/j.1538-7305.1947.tb01318.x. [DOI] [Google Scholar]
  • 27.Youssef N., Wang C.-X., P¨atzold M. A Study On The Second Order Statistics Of Nakagami Hoyt Mobile Fading Channelsv. IEEE Trans. Veh. Technol. 2005;54:1259–1265. doi: 10.1109/TVT.2005.851353. [DOI] [Google Scholar]
  • 28.Tsagris M., Beneki C., Hassani H. On the Folded Normal Distribution. Mathematics. 2014;2:12–28. doi: 10.3390/math2010012. [DOI] [Google Scholar]

Articles from Sensors (Basel, Switzerland) are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES