Tag: spoofing

  • Tamper Resistance

    By Oscar Pozzobon, Chris Wullems, and Marco Detratti

    Modern GNSS will provide access control to the signal through spreading-code encryption and/or authentication at the navigation data level. This will require support within the receiver for secure cryptographic keys and the implementation of security functions. This article reviews vulnerabilities of these security functions, and reviews design considerations to mitigate attacks.

    The threat of spoofing attack on GNSS has led to the design of signals and receiver technologies addressing this problem at signal, data, and receiver levels. Transportation, governmental, financial, and access-control applications demand trusted position velocity and time. Security functions in the receiver require implementation of cryptographic functions and key storage in the receiver. We can distinguish three uses of cryptographic keys and functions:

    • signal access control;
    • navigation data authentication and access control; and
    • position, velocity, time, and signal authentication state privacy and integrity.

    The need to protect the cryptographic functions and keys, software, hardware, and data communication of next-generation secure GNSS receivers against attacks is imperative, to prevent signal spoofing and signal and position access to an hostile party. Here we provide guidelines that can support the design of tamper-resistant GNSS receivers.

    Signal access control is achieved through spreading-code encryption. The spreading sequence is encrypted with a stream cipher, and the receiver needs the key in order to locally reproduce the signal and perform operations of acquisition and tracking. If the stream cipher frequency is considerably lower than the original code chipping rate frequency, such as the GPS W-code with respect to the P-code, other codeless and semi-codeless techniques can be used for signal tracking. However, these techniques lie outside the objective of this study that will focus on the need for keys to decode the signal, and the requirements to protect them.

    Direct sequence spread-spectrum (DSSS) access-control schemes can be implemented with a binary-stream cipher that acts as pseudorandom spreading sequence, or the spreading sequence can be modulo 2 summed to a stream cipher at the same or different frequency. The encryption module in the transmitter needs the key and initialization vector (IV) to perform the encryption operation. It is assumed that the transmitted signal (neglecting signal amplitute) will be:

    Eq-1(1)

    where Oak and Obk are the publicly known spreading codes such as the C/A and P-code of GPS for every K satellite, SCk is the is the stream cipher (W code for GPS) and Dk is the transmitted data. After the AD conversion the signal will be:

    Eq-2(2)

    where e(n) is the thermal noise introduced in the sampling process.

    After the carrier removal by multiplication with sin (2π fIFn) to obtain the quadrature arm containing the encrypted signal, and after the application of a low-pass filter to cut the 2π (2 fIF) frequency, the remaining signal for every satellite is:

    Eq-3(3)

    The encryption module in the receiver needs the key and IV to recreate the local signal and perform code acquisition and tracking. Cryptographic keys in GNSS are assumed to be secured in the ground and space segment, and the ground control center performs operations of key loading to the satellites. However, key loading to the GNSS receiver is a sensitive operation. An adversary might obtain the keys and use them to access the encrypted signal in other receivers.

    A malicious key recovery could be used to generate false encrypted signals, leading to a risk of signal spoofing. Key loading to the receiver can be achieved with a public key encryption and public key infrastructure, where the stream cipher key and IV are encrypted with the receiver public key, and only the receiver private key can decrypt the cipher key and IV.

    The receiver private key and stream cipher key must be protected by a tamper-resistant module to prevent attacks. Figure 1 shows a high-level block diagram of a GNSS receiver with functions to access encrypted codes. There are two areas to be protected, depending on the security objectives:

    Limit access of the signal to a restricted group: prevent signal spoofing. The red blocks shows the critical components to protect these objectives, including the storage of the secret keys, the stream cipher generation, and the final local secret code (LSC) replica (4) which is a noise-less signal from which the stream cipher can be easily obtained by modulo 2 sum of the local not-secret Obk code (5).

    Eq-4(4)

    Eq-5(5)

    The red blocks should be protected in order to avoid key recovery or cipher stream analysis by an attacker.

    P-1
    Figure 1. Signal access control sensitive blocks.

    Control access to Position, Velocity and Time (PVT). The yellow blocks show the critical components that should also be further protected in order to limit the PVT access. The tracking functions provide information such timing and pseudorange measurement that can be used for positioning, and the communication line should be protected. The navigation processing block performs the position and time solution, and the access to the data shall be protected.

    Data Authentication, Access Control. A system might provide access control and authentication to the navigation data only. In such a design, the spreading sequence is publicly known, while the data is encrypted or contains authentication messages. The security objectives can be distinguished as:

    Access control to data of the acquisition and tracking functions. If fundamental parameters for the position solutions are encrypted (such as transmission time and satellite position) and therefore unavailable, a GNSS receiver could attempt the PVT solution with standard approaches. Therefore the Navigation Message Encryption (NME) restricts the access of PVT only to the user group that has the cryptographic keys for the navigation message decryption.

    Navigation Data Integrity. Navigation data can be authenticated (with cryptographic authentication schemes such as Message Authentication Schemes [MAC] or digital signatures). The objective of Navigation Message Authentication (NMA) is to provide an enhancement to the integrity of the messages towards intentional attacks. Such design can be an option in order to reduce the signal spoofing risk, as an attacker needs to rely on the messages (with a receiver-spoofer architecture for example).

    Figure 2 provides an high-level architecture of a GNSS receiver block diagram that supports NMA and/or NME. The red blocks shows the sensitive parts that must be protected. In case of NMA the key that verifies the integrity (for example, a public key certificate) must be stored securely to avoid an attacker substituting the key and spoofing the navigation data with alternative keys (for example, the root CA could be stored in ROM). A trusted clock component is included in the diagram, as it can be an interesting option to consider in order to avoid NMA spoofing attacks.

    P-2
    Figure 2. Schematic of assistance solution.

    PVT and Signal Authentication State Integrity and Privacy. Many applications require a PVT integrity to be cryptographically verifiable. Applications that require secure tracking systems (anti-theft, hazmat tracking, road toll, navigation statistics for insurance companies) and information security applications based on GNSS (location-based access control and geo-encryption) require PVT integrity. It is trivial to tamper with the data communication between a GNSS receiver and a final application (for example, interfering with the serial output of the chipset) and generate false PVT, in a data-spoofing attack. In Figure 2 the cryptographic keys used to add integrity to the PVT messages are typically different from the keys used for NMA or NME, and are application-specific. Such an architecture could be also the choice for differential corrections authentication, where the navigation processing block could verify the integrity of the correction data before aiding the position solution algorithm.

    Attacks on Security Functions

    This section identifies attacks that can compromise the functions of the previous section. Attacks to the signal are not pertinent to this work. We distinguish the attacks in two main categories: physical attacks and side-channel attacks. Among physical attacks, we distinguish:

    Microprobing. This refers to techniques that attempt to access the physical components of GNSS receiver such as the baseband processor and RAM/ROM memory chip surface to observe and manipulate sensitive data. A microprobing attack can be targeted to recover the cryptographic keys.

    Focused Ion Beam. FIB is a technique for deposition and ablation of materials in semiconductors, where chip material can be removed with micrometer resolution. It consists of a vacuum chamber with a particle gun. FIBs are used by attackers for manually probing the signal of interest. A micrometer hole is created to reach the signal of interest and filled with platinum, terminating with a pad. The signal can then be connected to an external probe.

    Software Attacks. These happen through vulnerabilities of the communication interface or security protocols, or through malicious firmware upgrades in the baseband processor.

    Eavesdropping Techniques. These monitor sensitive communication lines (such as baseband to HW correlator where the spreading code could be observed).

    The most common side-channel attacks are timing, power, and fault analysis, in which an attacker seeks to exploit side-channel information in order to recover a cryptographic key. The most effective mitigation strategy against such attacks is to design and implement the cryptosystems with the assumption that information (time and power) will leak. Different types of side-channel attacks and their respective countermeasures are:

    Fault-Generation Techniques. These are used to investigate ciphers and extract keys by generating faults in the system, either by intentionally causing faults or by natural faults that occur. Faults can be most often caused by changing the voltage, tampering with the clock, changing temperatures, and applying radiation of various types.

    Timing Analysis. This class of attack allows cryptanalysts to extract keys by analyzing the time taken to execute cryptographic algorithms. Every logical operation in a computer takes time to execute, and the time can differ based on the input; with precise measurements of the time for each operation, an attacker can work backwards to the input.

    Simple and Differential Power Analysis. SPA or DPA is a class of attack that allows cryptanalysts to extract secret keys and compromise the security of smart cards and other cryptographic devices by analyzing their power consumption. Differential power analysis attacks use statistical analysis and error-correction statistical methods to obtain information about the keys.

    Electromagnetic Radiation Analysis. This is concerned with the monitoring/recording of radiation for the purpose of obtaining information about the operation of associated hardware, which could be used ultimately to determine cryptographic keys. Fluctuations in current generate radio waves, making whatever is producing the currents, in principle, subject to a van Eck (TEMPEST) attack. If the currents concerned are patterned in distinguishable ways, which is typically the case, the radiation can be recorded and analyzed in order to infer information on the operation of such hardware.

    Acoustic Analysis is concerned with the observation of the acoustic emissions from a chip in order to obtain information about the code being executed. Information about the operation of cryptosystems and algorithms can be obtained in this way. Flowing currents heat the materials through which they flow. Those materials also continually lose heat to the environment due to other equally fundamental facts of thermodynamic existence, so there is a continually changing thermally induced mechanical stress as a result of these heating and cooling effects. That stress appears to be the most significant contributor to low-level acoustic (that is, noise) emissions from operating CPUs. If the surface of the CPU chip, or in some cases the CPU package, can be observed, infrared images can also provide information about the code being executed on the CPU, known as a thermal imaging attack.

    Mitigation Strategies

    We derived several design considerations to mitigate attacks from our experience during the development of the Trusted Innovative GNSS rEceiveR (TIGER) project. The TIGER is a tamper-resistant GNSS receiver which provides PVT integrity, signal spoofing and jamming detection, and signal state attestation with an open GNSS signal.

    Cryptographic subsystem. This is designed for resistance against timing-based attacks. Timing-based attacks targeted to the cryptographic module can be prevented by careful implementation of the cryptographic functions. A non-exhaustive list of countermeasures that can be considered for mitigation of timing-based attacks includes:

    • Ensure that the time a cryptographic operation takes is independent of the input data or key bits. These operations should take the same number of clock cycles.
    • Ensure that the software implementation of critical code does not contain conditional branches (i.e., IF statements). Functions should use operations such as AND, OR, or XOR instead .
    • Ensure time taken for multiplication and exponentiation is the same, such that an attacker cannot learn how many multiplications and how many exponentiations have been performed. A simple method is to always perform both multiplication and exponentiation.
    • Addition of delays such that all operations take the same amount of time, although this can have a detrimental effect on performance. The addition of random delays can increase attack difficulty.

    Protection from Electronic Level Interception/Monitoring. One approach for mitigation of microprobing attacks is the use of a tamper-detection mesh. A tamper mesh acts as a continuously powered sensor in which all the paths are continuously monitored for interruptions and short-circuit. For single-chip solutions the mesh is integrated as a top-level metallization layer. For multichip solutions the mesh can be developed in order to cover all the sensitive components. In both cases the tamper-detection mesh is connected to a supervisory circuit that performs an action if tamper is detected such as zeroization of the cryptographic keys and the memory content.

    The designer of the mesh must be careful in the pattern design in order to avoid entry points or escape routes that can easily provide access for an attacker. Such vulnerability was found for example in the ST16SF48A tamper mesh. One approach considered in the TIGER security mesh design is the combination of a tamper mesh glued with epoxy to a metal shield (Figure 3). The mesh is wired internally to a security supervisor and linked via connectors. Any attempts to lift the metal shields or tamper the mesh will trigger the security supervisor (SUP) that immediately erases the keys and memory. Furthermore the metal shield limits the electromagnetic emissions, reducing the risk of TEMPEST attacks.

    P-3
    Figure 3. TIGER tamper mesh concept.

    Designing the PCB in order to run sensitive signals (such as data communication lines) in the inner layers is another security enhancement that has been integrated in TIGER. TIGER has been designed also to support the GORE Secure Encapsulated Module, which is an envelope that completely covers the module and is connected to the internal security supervisor. This tamper mesh is targeted at FIPS 140-2, Level 4, DoD, NSA Type 1 security and CESG Enhanced Grade security.

    Security Supervisor Circuit. A security supervisor can be an option to monitor the tamper mesh status and other physical attacks. The concept of a security supervisor is to store the cryptographic keys in a secure memory, and erase them if a security event is triggered. Security supervisors support the security level requirements of FIPS 140-2 and Common criteria with functions as real-time clock, tamper comparator, tamper logic inputs (for case switch, for example), temperature sensor (required for FIPS 140-2 level 4), and nonimprinting key memory.

    A security supervisor has been integrated in TIGER (Figure 4) to support these security functions and facilitate the certification process. The cryptographic keys are loaded to the security supervisor in a non-inprinting key memory via a security processing microcontroller, which performs encryption functions and GNSS security processing such as secure timing synchronization, spoofing, and jamming detection. The non-inprinting key memory addresses the security risk created by the tendency of the memory cells to exhibit charge accumulation or depletion in the oxide layers of the devices composing the memory cells.

    P-4
    Figure 4. TIGER hardware security components.

    Standard Memory cells suffer from charge accumulation or depletion in the oxide layers when the data is stored over a long period of time, leaving an imprint of the data that was stored. This data can be recovered also after a memory clear operation.

    The non-inprinting key memory addresses this security risk as the technology has been designed and developed to eliminate the problem of oxide stress with a continuous complementing of the device’s SRAM powered by the back-up battery. In case of tamper event the entire memory is cleared leaving no traces in specific sectors.

    Tamper-resistant coatings (TRC). This is referred as the use of a protective layer of resin or thermal spray ceramic that limits the direct access to PCB traces and components. Although it can make the attacker’s job harder, with the possibility to break the outer layer traces or components at the first attempt, it does not stop subsequent microprobing attacks once the hardware design has been discovered.

    Conclusion

    Future secure GNSS receivers should be designed with the considerations presented here in order to protect sensitive signals and the position and time data integrity.

    Acknowledgment

    The TIGER project received funding from the Galileo Supervisory Authority, via the European Community’s framework programme ([FP7/2007-2013][FP7/2007-2011]) under grant agreement n° 228443.

    The material in this article was first presented at the ESA/IEEE NAVITEC 2010 conference, in Noordwijk, the Netherlands, as “Security Considerations in the design of tamper resistant GNSS receivers.”


    Oscar Pozzobon is the technical director and co-founder of Qascom S.r.l. Italy. He received a diploma in computer science engineering and a degree in information technology engineering from the University of Padova, Italy, and a master’s degree in telecommunication engineering from the University of Queensland, Australia.

    Chris Wullems is a co-founder of Qascom S.r.l. Italy. He has been engaged in projects that range from secure tracking for hazardous and safety-critical applications to development of GNSS receiver security technologies.. He received his Ph.D. from Queensland University of Technology in Australia.

    Marco Detratti received a M. Sc. in electronic engineering from the University of Perugia, Italy, and a diploma of advanced studies from the University of Cantabria, Spain. At present he is with the European GNSS Agency (GSA) acting as market innovation officer. His research interests include evolution of GNSSs, implementation and prototyping issues of GNSS receivers, and emerging applications of GNSS technologies.

  • Spoofing Detection and Mitigation with a Moving Handheld Receiver

    By John Nielsen, Ali Broumandan, and Gérard Lachapelle

    Ubiquitous adoption of and reliance upon GPS makes national and commercial infrastructures increasingly vulnerable to attack by criminals, terrorists, or hackers. Some GNSS signals such as GPS P(Y) and M-code, GLONASS P-code, and Galileo’s Public Regulated Service have been encrypted to deny unauthorized access; however, the security threat of corruption of civilian GNSS signals increases constantly and remains an unsolved problem. We present here an efficient approach for the detection and mitigation of spoofed GNSS signals, as a proposed countermeasure to add to the existing system.

    Current methods to protect GPS civilian receivers from spoofing signals are based on the cross-check with available internal/external information such as predictable characteristics of the navigation data bits or correlation with ancillary inertial-based sensors; alternately, a joint process of signals received at two separate locations based on processing the P(Y)-code.

    The authentic GNSS signal sourced from a satellite space vehicle (SV) is very weak at the receiver’s location and is therefore vulnerable to hostile jamming based on narrowband noise radiation at a modest power level. As the GNSS frequency band is known to the jammer, the effectiveness of the latter is easily optimized by confining radiation to within the GNSS signal band. The jammed GNSS receiver is denied position or time estimates which can be critical to the mission. While noise jamming of the GNSS receiver is a threat, the user is easily aware of its existence and characteristics. The worst case is that GNSS-based navigation is denied.

    A more significant jamming threat currently emerging is that of the spoofing jammer where bogus signals are transmitted from the jammer that emulate authentic GNSS signals. This is done with multiple SV signals in a coordinated fashion to synthesize a plausible navigation solution to the GNSS receiver. There are several means of detecting such spoofing jammers, such as amplitude discrimination, time-of-arrival discrimination, consistency of navigation inertial measurement unit (IMU) cross-check, polarization discrimination, angle-of-arrival (AOA) discrimination, and cryptographic authentication.

    Among these authentication approaches, the AOA discriminator and spatial processing have been addressed and utilized widely to recognize and mitigate hostile attacks. We focus here on the antenna-array processing problem in the context of spoofing detection, with considerations to the pros and cons of the AOA discriminator for handheld GNSS receivers.

    An exploitable weakness of the spoofing jammer is that for practical deployment reasons, the spoofing signals generally come from a common transmitter source. Hence, a single jamming antenna sources the spoofing signals simultaneously. This results in a means of possible discrimination between the real and bogus GNSS signals, as the authentic GNSS signals will emanate from known bearings distributed across the hemisphere.

    Furthermore, the bearing of the jammer as seen from the GNSS receiver will be different than the bearing to any of the tracked GNSS satellites or space vehicles (SV). This immediately sets up some opportunities for the receiver to reject the spoofing jamming signals. Processing can be built into the receiver that estimates the bearing of each SV signal. Note that the relative bearings of the GNSS signals are sufficient in this case, as the bogus signals will all have a common bearing while the authentic GNSS signals will always be at different bearings.

    If the receiver comprises multiple antennas that have an unobstructed line of sight (LOS) to the SVs, then there are possibilities of spoofing detection based on the common bearing of the received GNSS signals and eliminating all the jammer signals simultaneously by appropriate combining of the receiver antennas to form a pattern null coincident with the jammer bearing.

    Unfortunately, the AOA discrimination will not be an option if the jammer signal or authentic signals are subjected to spatial multipath fading. In this case, the jammer and individual SV signals will come in from several random bearings simultaneously. Furthermore, if the GNSS receiver is constrained by the form factor of a small handset device, an antenna array will not be an option. As the carrier wavelength of GNSS signals is on the order of 20 to 25 centimeters, at most two antennas can be considered for the handset receiver, which can be viewed as an interferometer with some ability of relative signal-bearing estimation as well as nulling at specific bearings.

    However, such an antenna pair is not well represented by independent isotropic field sampling nodes, but will be significantly coupled and strongly influenced by the arbitrary orientation that the user imposes. Hence, the handset antenna is poorly suited for discrimination of the spoofing signal based on bearing. Furthermore, handheld receivers are typically used in areas of multipath or foliage attenuation, and therefore the SV signal bearing is random with significant variations.

    As we discuss here, effective spoofing detection is still possible for a single antenna GNSS receiver based on the differing spatial correlation of the spoofing and authentic signals in the proximity of the receiver antenna. The basic assumption is that the antenna will be spatially moved while collecting GNSS signal snapshots. Hence, the moving antenna generates a signal snapshot output similar to that of a synthetic array (SA), which, under some additional constraints, can provide an effective means of detecting the source of the GNSS signals from a spoofing jammer or from an authentic set of SVs.

    We assume here an arbitrary antenna trajectory with the spoofing and authentic signals subjected to random spatial multipath fading. The processing will be based on exploiting the difference in the spatial correlation of the spoofing and the authentic signals.

    Spoofing Detection Principle

    Consider a GNSS handset receiver (Figure 1) consisting of a single antenna that is spatially translated in time along an arbitrary trajectory as the signal is processed by the GNSS receiver. There are L authentic GNSS SV signals visible to the receiver, along with a jammer source that transmits spoofing replicas of the same Lauthentic signals.

    Microsoft Word - Spoofing Article_Nielsen et al_26Apr10
    FIGURE 1. GNSS receiver with a single antenna and 2L parallel despreading channels simultaneously providing channel gain estimates of L authentic and L spoofing signals as the antenna is moved along an arbitrary spatial trajectory.

    It is assumed that the number of spoofed signals range from 1 to L, which are coordinated such that they correspond to a realistic navigation solution at the output of the receiver processing. The code delay and Doppler associated with the spoofing signals will typically be different than those of the authentic signal. The basic technique of coordinated spoofing jamming is to present the receiver with a set of L signals that appear to be sufficiently authentic such that the spoofing and authentic signal sets are indistinguishable. Then the spoofing signals separate slowly in terms of code delay and Doppler such that the navigation solution corresponding to the L spoofing signals will pull away from the authentic navigation solution.

    The focus herein is on methods where the authenticity of the L tracked GNSS signals can be tested directly by the standalone receiver and then selected for the navigation processing. This is in contrast with other methods where the received signals are transmitted back to a communication command center for verification of authenticity. The consideration here is on the binary detection problem of assessing if each of the 2L potential signals is authenti
    c or generated by a spoofing source. This decision is based on observations of the potential 2L GNSS signals as the antenna is spatially moved through the trajectory.

    The complex baseband signal at the output of the antenna, denoted by r(t), can be expressed as

    e1

    where i is the GNSS signal index, the superscripts A and J indicate authentic and jamming signals respectively, p(t) shows the physical position vector of the moving antenna phase center relative to a stationary spatial coordinate system, ΛAi(p(t),t) and ΛJi(p(t),t) give the channel gain for the authentic and the spoofing signals of the ith SV at time t and position p, ci(t) is the PN coding modulation of ith GNSS signal, πAi and πJi are the code delay of ith PN sequence corresponding to the authentic and the spoofing sources respectively, fDiA and fDiJ are the Doppler frequency of the ith authentic and the spoofing signals and w(t) represents the complex baseband of additive noise of receiver antenna. For convenience, it is assumed that the signal index iε[1, 2,…,L] is the same for the spoofing and authentic GNSS signals. The spoofer being aware of which signals are potentially visible to the receiver will transmit up to L different spoofing signals out of this set.

    Another simplification that is implied by Equation 1 is that the message coding has been ignored, which is justifiable as the GNSS signals are being tracked such that the message symbol modulation can be assumed to be removable by the receiver by some ancillary process that is not of interest in the present context. The objective of the receiver despreading operation is to isolate the channel gains ΛA(p(t),t) ΛJ(p(t),t), which are raw observables used in the subsequent detection algorithm.

    It is assumed that the GNSS receiver is in a signal tracking state. Hence, it is assumed that the data coding, code phase of the spreading signal and Doppler are known inputs in the despreading operation. The two outcomes of the ith despreading channel for authentic and jamming signals are denoted as riA(t) and rkJ(t) respectively, as shown in Figure 1. This notation is used for convenience and not to imply that the receiver has knowledge of which of the pair of GNSS signals corresponds to the authentic or spoofer cases. The receiver processing will test each signal for authenticity to select the set of L signals that are passed to the navigation estimator.

    The despread signals riA(t) and rkJ(t) are collected over a snapshot interval of tε[0,T]. As the notation is simplified if discrete samples are considered, this interval is divided into M subintervals each of duration ΔT such that the mth subinterval extends over the interval of [(m−1)ΔT,mΔT]for mε[1,,2,…,M]. The collection of signal over the first and mth subintervals is illustrated in Figure 2. ΔT is considered to be sufficiently small such that ΛAi(p(t),t) or ΛJk(p(t),t) is approximately constant over this interval leading a set of M discrete samples for each despreading output. From this the vectors form of channel gain sample and outputs of despreaders can be defined by

    e2

    where ΛAi(p(mΔT),mΔT) and ΛJi(p(mΔT),mΔT) are the mth time sample of the ith despreader channel for the authentic and jamming GNSS signals.

    Figure 2. Spatial sampling of the antenna trajectory into M subinterval segments.
    Figure 2. Spatial sampling of the antenna trajectory into M subinterval segments.

    Pairwise Correlation

    The central tenet of the spoofing detection is that the array gain vector denoted here as the array manifold vector for the jammer signals ΛJ will be the same for all of the L spoofing signals while the array manifold vector for the authentic signals ΛA will be different for each of the L authentic signals. If the random antenna trajectory is of sufficient length, then the authentic signal array manifold vectors will be uncorrelated. On the other hand, as the jammer signals emerge from the same source they will all have the same array manifold vector regardless of the random antenna trajectory and also regardless of the spatial fading condition. This would indicate that a method of detecting that a spoofer is present to form the Mx2L matrix of all of the despreader output vectors denoted as r and given as

    e3

    where it is assumed that M≥2L.

    Basically what can be assumed is that, if there is a spoofer from a common source that transmits more than one GNSS signal simultaneously, there will be some residual spatial correlation of the observables of ΛJi with other despreader outputs of the receiver. Therefore, if operations of pairwise correlations of all of the 2L despreader outputs result in high correlation, there is a likelihood of the existence of spoofing signals. These pairwise correlations can also be used to distinguish spoofing from authentic signals. Note that even during the time when the spoofing and authentic signals have the same Doppler and code offset, the superposition manifold vector of ΛAi and ΛJi will be correlated with other spoofing manifold vectors. The pairwise correlation of the various spoofing signals can be quantified based on the standard numerical estimate of the correlation coefficient given as

    e4

    where ri is the ith column vector of r defined in Equation 3, and the superscript H denotes the complex conjugate operator.

    Toward Spoofing Detection

    Figure 3 shows the spoofing attack detection and mitigation methodology:

    • The receiver starts with the acquisition process of a given GNSS code. If, for each PN sequence, there is more than one strong peak above the acquisition threshold, the system goes to an alert state and declares a potential spoofing attack. Then the receiver starts parallel tracking on each individual signal.
    • The outputs of the tracking pass to the discriminator to measure the correlation coefficient ρ among different PN sequences. As shown in Figure 3, if ρ is greater than a predefined threshold ϒ, the receiver goes to defensive mode. As the spoofer attempts to pull the tracking point off the authentic signals, the spoofer and authentic signals for a period of time will have approximately the same code offset and Doppler frequency. Hence, it may not be possib
      le to detect more than one peak in the acquisition mode. However, after a while the spoofer tries to pull tracking mode off.
    • The outputs of the parallel tracking can be divided into two groups: the J group is the data set that is highly correlated, and the A group is the set that is uncorrelated. It is necessary that the receiver antenna trajectory be of sufficient length (a few tens of the carrier wavelengths) such that M is moderately large to provide a reasonable estimate of the pairwise correlation.
    • The A group will be constrained in size based on the number of observable satellites. Usually this is known, and L can be set. The receiver has control over this by setting the bank of despreaders. If an SV signal is known to be unobtainable due to its position in the sky, it is eliminated by the receiver. Hence the A group can be assumed to be constrained in size to L. There is the possibility that a spoofer will generate a signal that is clear, while the SV signal is obscured by shadowing obstacles. Hence a spoofing signal can inadvertently be placed in the A group. However, as this signal will be correlated with other signals in the J group, it can be transferred from the A to the J group.
    • When the spoofing navigation solution pulls sufficiently away from the authentic solution, then the navigation solution can create two solutions, one corresponding to the authentic signals and the other corresponding to the spoofing signals. At this stage, the despreading code delay and Doppler will change such that the authentic and spoofing signals (corresponding to the same GNSS signal) will appear to be orthogonal to each other.
    • Proper placement of the members in the J and A groups can be reassessed as the set of members in the A group should provide the minimum navigation solution variance. Hence, in general there will be a spoofing and authentic signal that corresponds to the GNSS signal of index i. If the spoofing signal in group J appears to have marginal correlation with its peer in group A and, when interchanged with its corresponding signal in group A, the latter generates a lower solution variance, then the exchange is confirmed.
     Figure 3. Spoofing detection and mitigation methodology.
    Figure 3. Spoofing detection and mitigation methodology.

    Experimental Measurements

    We used two data collection scenarios in experiments of spoofing detection, based on utilizing a single antenna that is spatially translated, to demonstrate the practicality of spoofing-signal detection based on spatial signal correlation discrimination. In the first scenario, the spoofing measurements were conducted inside a modern three-story commercial building. The spoofing signals were generated by a hardware simulator (HWS) and radiated for a few minutes indoors, using a directional antenna pointing downward to affect only a small area of the building. The intention was to generate NLOS propagation conditions with significant multipath.

    The second data collection scenario was based on measuring authentic GPS L1 C/A signals under open-sky conditions, in which case the authentic GPS signals are temporally highly correlated. At the particular instance of the spoofing and the authentic GPS signal measurement scenarios, the SVs were distributed as shown in Figure 4. The GPS receiver in both scenarios consisted of an active patch right-hand circular polarized (RHCP) antenna and a down-conversion channelizer receiver that sampled the raw complex baseband signal. The total data record was subsequently processed and consisted in acquiring the correlation peaks based on 20-millisecond coherent integration of the spoofing signals and in extracting the channel gains L as a function of time.

        Figure 4. Skyplots of available satellites: a) spoofing signals from Spirent generator, b) authentic signals from rooftop antenna.
    Figure 4. Skyplots of available satellites: a) spoofing signals from Spirent generator, b) authentic signals from rooftop antenna.

    Figure 5 shows a plot of the samples of the magnitude of despreader outputs for the various SV signals generated by the spoofing jammer and authentic signals. The signal magnitudes in the spoofing case are obviously highly correlated as expected, since the jammer signals are all emanating from a common antenna. Also, the SNRs are moderately high such that the decorrelation due to the channel noise is not significant.

    The pairwise correlation coefficient using Equation 4 are calculated for the measurement results represented in Figure 5 and tabulated in Table 1 and Table 2 for the spoofing and the authentic cases respectively. As evident, and expected, the correlations for the spoofing case are all very high. This is anticipated, as the spoofing signals all occupy the same frequency band with exception of small incidental shifts due to SV Doppler.

        Figure 5. Normalized amplitude value of the signal amplitude for different PRNs: a) generated from the same antenna, b) Authentic GPS signals.
    Figure 5. Normalized amplitude value of the signal amplitude for different PRNs: a) generated from the same antenna, b) Authentic GPS signals.
    TABLE 1 Correlation coefficient deter- mined for the set of spoofing signals.
    TABLE 1. Correlation coefficient deter- mined for the set of spoofing signals.
    TABLE 2 Correlation coefficient deter- mined for the set of authentic signals.
    TABLE 2. Correlation coefficient deter- mined for the set of authentic signals.

    Conclusions

    Spoofing signals generated from a common source can be effectively detected using a synthetic array antenna. The key differentiating attribute exploited is that the spoofing signals emanating from a single source are spatially correlated while the authentic signals are not. The method works regardless of the severity of multipath that the spoofing or authentic signals may be subjected to. The receiver antenna trajectory can be random and does not have to be jointly estimated as part of the overall spoofing detection.

    A patent is pending on this work.

    Manufacturers

    The experimental set-up used a Spirent GSS7700 simulator, National Instruments receiver (NI PXI-5600 down converter, and NI PXI-5142 digitizer modules), TECOM directional helical antennas as the transmitter antenna, and NovAtel GPS-701-GG as the receiver antenna.


    JOHN NIELSEN is an associate professor at the University of Calgary.

    ALI BROUMANDAN is a senior research associate in the Position Location And Navigation (PLAN) group at the University of Calgary. He obtained a Ph.D. in Geomatics Engineering from the University of Calgary in 2009.

    GERARD LACHAPELLE holds an iCORE/CRC Chair in Wireless Location and heads the PLAN Group in the Department of Geomatics Engineering at the University of Calgary.

  • Assessing the Spoofing Threat

    A portable spoofer implemented on a digital signal processor mounts a spoofing attack, characterizes spoofing effects, and suggests possible defense tactics. GNSS users and receiver manufacturers should explore and implement authentication methods against sophisticated spoofing attacks.

    By Todd E. Humphreys, University of Texas, Brent A. Ledvina, Virginia Tech, Mark L. Psiaki, Brady W. O’Hanlon, and Paul M. Kitner, Jr., Cornell University

    Seven years after the Volpe Report warned that “[a]s GPS further penetrates into the civil infrastructure, it becomes a tempting target that could be exploited by individuals, groups, or countries hostile to the U.S.,” civil GPS receivers remain as vulnerable as ever to this threat. Among other types of interference, the Volpe report considers civil GPS spoofing, a pernicious type of intentional interference whereby a GPS receiver is fooled into tracking counterfeit GPS signals. More sinister than intentional jamming, spoofing deceives the targeted receiver, which cannot detect a spoofing attack and so cannot warn users that its navigation solution is untrustworthy. The Volpe report noted the absence of any off-the-shelf defense against civilian spoofing and lamented that “[t]here also is no open information on . . . the expected capabilities of spoofing systems made from commercial components.” It recommended studies to characterize the spoofing threat: “Information on the capabilities, limitations, and operational procedures [of spoofers] would help identify vulnerable areas and detection strategies.”

    We recently canvassed four manufacturers of high-quality GPS receivers. They revealed that they were aware of the spoofing vulnerability but had not taken steps to equip their receivers with even rudimentary spoofing countermeasures. The manufacturers expressed skepticism about the seriousness of the threat and noted that countermeasures, if required, had better not be too expensive. Such attitudes propel further examination of the threat and practical countermeasures.

    Important research into spoofing countermeasures during the last decade begins with an internal memorandum from the MITRE Corporation recommending these techniques to counter spoofing:

    1. Amplitude discrimination
    2. Time-of-arrival discrimination
    3. Consistency of navigation inertial measurement unit (IMU) cross-check
    4. Polarization discrimination
    5. Angle-of-arrival discrimination
    6. Cryptographic authentication

    The first two techniques could be implemented in software on GPS receivers, but would be effective against only the most simplistic attacks. The next three tactics would be effective against some — but not all — more sophisticated attacks. In particular, angle-of-arrival discrimination, which exploits differential carrier-phase measurements taken between multiple antennas, could only be spoofed by a sophisticated coordinated spoofing attack (discussed later). However, they require additional hardware: multiple antennas or a high-grade IMU, whose cost militates against widespread adoption.

    Cryptographic authentication, the last technique on the list, has received detailed study since 2001. Logan Scott offered several levels of authentication in a 2003 ION GPS/GNSS paper and urged their prompt adoption in a GPS World op-ed column in July 2007. His methods are backward-compatible with non-compliant GPS receivers. Spreading-code authentication, the basis for his Level 2 and 3 authentication, entails embedding messages in the GPS ranging codes and periodically authenticating these messages. Because this method effectively binds a digital signature to the ranging codes, it would render a compliant receiver practically impervious to a spoofing attack except during the short interval between reception and authentication of the embedded messages.

    These cryptographic techniques all require modification of the civil GPS signal structure. Such changes appear extremely unlikely in the short term because, as one experienced observer noted, “signal definition inertia is enormous.” A less effective but more practical approach over the United States would be to authenticate only the WAAS signal managed by the U.S. Department of Transportation and the Federal Aviation Administration. Since the WAAS signal is constructed on the ground and transmitted via bent-pipe communication spacecraft, it is more amenable to immediate modification. Even so, efforts to persuade WAAS officials to adopt spreading code authentication have so far proven fruitless.

    The Homeland Security Institute, a research arm of the U.S. Department of Homeland Security, has also considered the threat of civil GPS spoofing. On its website it has posted a report listing seven spoofing countermeasures. The proposed countermeasures include the first three techniques from the list here. Some of the remaining four countermeasures would be trivial to spoof. None of the seven would adequately defend against a sophisticated attack. Nonetheless, the posting claims that its proposed techniques “should allow suspicious GPS signal activity to be detected.” We worry that such optimistic language in such a prominent posting will mislead many readers into believing that the spoofing threat has been adequately addressed.

    Our goals here are to assess the spoofing threat and develop and test practical and effective countermeasures. To advance these goals we found it necessary to go through the exercise of building a civil GPS spoofer. The process of developing a complete portable spoofer allows one to explore the range of practical spoofing techniques. Thus one discovers which aspects of spoofing are hard and which are easy to implement in practice. With this information, we can more accurately assess the difficulty of mounting an attack, and receiver developers can prioritize their defenses by choosing countermeasures that are effective against easily implementable spoofing techniques.

    Software-defined GPS receivers furnish a natural platform for the study of civil spoofing and its effects. In a software receiver, real-time correlators, tracking loops, and navigation solver are all implemented in software on a programmable processor.

    Initial Threat Assesment

    Consider the spoofing threat continuum in FIGURE 1, roughly divided into simplistic, intermediate, and sophisticated spoofing attacks for threat analysis.

    FIGURE 1. The spoofing threat continuum: simplistic, intermediate, and sophisticated spoofing attacks.
    FIGURE 1. The spoofing threat continuum: simplistic, intermediate, and sophisticated spoofing attacks.

    Simplistic Attack via Simulator. As far as we know, all stand-alone commercial civilian GPS receivers available today are trivial to spoof. One simply attaches a power amplifier and an antenna to a GPS signal simulator and radiates the RF signal toward the target receiver. A successful attack along these lines was demonstrated by researchers at Argonne National Laboratories in 2002.

    Despite the ease of such an attack, it has some drawbacks. One is cost: the price of modern simulators can reach $400,000. Simulators can be rented for less than $1,000 per week, making them accessible for short-term mischief, but long-term use remains costly. Size is another drawback. Most GPS signal simulators are heavy and cumbersome. If used in the simplest attack mode, situated close to a target receiver’s antenna, a signal simulator would be challenging to plant and visually conspicuous. Of course, if the custodian of the target receiver is complicit in the spoofing attack — as is the case, for example, with the fishing vessel skipper who spoofs the onboard monitoring unit to fish undetected in forbidden waters — the conspicuousness of the signal spoofer is irrelevant.

    The menace posed by such an attack is diminished by the fact that it is likely easy to detect, because of the difficulty of synchronizing a simulator’s output with the GPS signals in its vicinity. An unsynchronized attack effectively acts like signal jamming, and may cause the victim receiver to lose lock and have to undergo a partial or complete reacquisition. Such a forced re-acquisition would raise suspicion of a spoofing attack. If the unsynchronized attack somehow avoids causing loss-of-lock, it will nonetheless cause an abrupt change in the victim receiver’s GPS time estimate. The victim receiver could flag jumps of more than 100 nanoseconds as evidence of possible spoofing. The spoofer can attempt to counter this defense by intentionally jamming first and then spoofing, but an extended jamming is itself telltale evidence of interference.

    Of course, the fact that a simulator-type attack is easy to defend does not increase security. A gaping vulnerability will remain until civil GPS receivers at least are equipped with the rudimentary spoofing countermeasures required to detect a simulator-type attack.

    Intermediate Attack. One of the challenges that must be overcome to carry out a successful spoofing attack is to gain accurate knowledge of the target receiver antenna’s position and velocity. This knowledge is required to precisely position the counterfeit signals relative to the genuine signals at the target antenna. Without such precise positioning, a spoofing attack is easily detected.

    An attack via portable receiver-spoofer, portrayed in FIGURE 2, overcomes this difficulty by construction. The receiver-spoofer can be made small enough for inconspicuous placement near the target receiver’s antenna. The receiver component draws in genuine GPS signals to estimate its own position, velocity, and time. Due to proximity, these apply approximately to the target antenna. Based on these estimates, the receiver-spoofer then generates counterfeit signals and generally orchestrates the spoofing attack. The portable receiver-spoofer could even be placed somewhat distant from the target receiver if the target were static and its position relative to the receiver-spoofer had been pre-surveyed.

    FIGURE 2. Illustration of a spoofing attack via portable receiver-spoofer.
    FIGURE 2. Illustration of a spoofing attack via portable receiver-spoofer.

    Each channel of the target receiver is brought under control of the receiver-spoofer as illustrated in the inset at the upper right of Figure 2. The counterfeit correlation peak is aligned with the peak corresponding to the genuine signal. The power of the counterfeit signal is then gradually increased. Eventually, the counterfeit signal gains control of the delay-lock loop tracking points that flank the correlation peak.

    As one might imagine, there are no commercially available portable receiver-spoofer devices. This of course decreases the present likelihood of the receiver-spoofer attack mode. Nonetheless, the emergence of software-defined GPS receivers significantly erodes this barrier. As we demonstrate here, the hardware for a receiver-spoofer can be assembled from inexpensive off-the-shelf components. The software remains fairly sophisticated, but it would be unwise to assume it was beyond the capabilities of clever malefactors. The civil GPS signal structure is, after all, completely detailed in a publicly available interface control document, and entire books have been written on software-defined GPS receivers. In perhaps the most worrisome scenario, anticipated in Scott’s 2003 paper, the software definition of a receiver-spoofer may someday be available for download from the Internet. The expertise required to download and exercise the code would surely be within the reach of many potential malefactors.

    An attack via portable receiver-spoofer could be difficult to detect. The receiver-spoofer can synchronize its signals to GPS time and, by virtue of its proximity to the target antenna, align the counterfeit and genuine signals. A receiver equipped with a stable reference oscillator and a low-drift inertial measurement unit (IMU, for receivers on dynamic platforms) could withstand an attack via receiver-spoofer for several hours. Eventually, however, a patient receiver-spoofer would gain undetected control by keeping its perturbations to time and position within the envelope allowed by the drift rates of the target receiver’s oscillator and IMU.

    The only known user-equipment-based countermeasure that would be completely effective against an attack launched from a portable receiver-spoofer with a single transmitting antenna is angle-of-arrival discrimination. With a single transmitting antenna, it would be impossible to continuously replicate the relative carrier phase between two or more antennas of an appropriately equipped target receiver.

    While an intermediate attack is not presently likely because the requisite device is not readily available, the emergence of software-defined GPS receivers increases its future likelihood. Furthermore, this mode of attack could defeat most known user-equipment-based spoofing countermeasures.

    Sophisticated Attack. The angle-of-arrival defense against a portable receiver-spoofer can be thwarted by a coordinated attack with as many receiver-spoofers as antennas on the target receiver. Imagine a receiver-spoofer the size of a pack of cards, small enough to mount directly atop a target antenna. The receiver-spoofer’s receiving and transmitting antennas are situated respectively on the upper and lower faces of the device and are shielded to avoid self-spoofing. Now imagine several such devices sharing a common reference oscillator and communication link, with each device mounted to one of the target receiver’s antennas. The angle-of-arrival defense fails under this attack scenario.

    Naturally, this attack inherits all of the challenges of mounting a single receiver-spoofer attack, with the additional expense of multiple receiver-spoofers and the additional complexity that the perturbations to the incoming signals must be phase-coordinated.

    The only known defense against such an attack is cryptographic authentication.

    Thus, an attack via multiple phase-locked portable receiver-spoofers is somewhat less likely than an attack via single portable receiver-spoofer, but may be impossible to detect with user-equipment-based spoofing defenses.

    Target Spoofer Type. The foregoing discussion of the spoofing threat continuum suggests that a spoofing attack via GPS signal simulator poses the greatest near-term threat. However, there are known effective defenses against such an attack, and these can be implemented in software on commercial GPS receivers. In contrast, an attack launched from one or more portable receiver-spoofer(s) poses the greatest long-term threat. Known user-equipment-based defenses against such attacks are few and of limited effectiveness. Accordingly, we focus here on the portable receiver-spoofer attack mode. To better understand this mode, we built a software-defined portable receiver-spoofer as a research platform.

    Architecture

    We developed a software-defined receiver-spoofer as an extension of the Cornell GRID receiver, adding a spoofer software module and transmission hardware; see FIGURE 3.

    FIGURE 3. Block diagram of the reciever-spoofer architecture.
    FIGURE 3. Block diagram of the reciever-spoofer architecture.

    Receiver Module. The hardware consists of an RF front end, a complex programable logic device (CPLD) for signal multiplexing (not shown), and a digital signal processor (DSP). The receiver software includes a full navigation solution engine. Software is entirely written in natural-language C++ to facilitate code development and maintenance.

    The software correlation engine, based on a bit-wise parallel correlation technique, is crucial to meeting real-time deadlines in the receiver-spoofer under the simultaneous burdens of receiver processing and spoofing. Here is an overview.

    FIGURE 4 depicts the standard correlation operation that occurs within any GPS receiver. The incoming signal x(t) is mixed by complex multiplication with a complex local signal replica, x l (t). The product is integrated over a short interval (typically 1–20 milliseconds) and sampled to produce the quadrature baseband components I k and Q k , also known as baseband accumulations.

     FIGURE 4. Standard correlation operation. The local signal replica xl(t) is complex and ⊗* denotes complex multiplication.
    FIGURE 4. Standard correlation operation. The local signal replica xl(t) is complex and ⊗* denotes complex multiplication.

    FIGURE 5 depicts a byte-wise software implementation of the standard correlation operation. In this implementation, the individual signal samples are stored in 8-bit bytes.

     FIGURE 5. Byte-wise implementation of the correlation operation. Boxes in the signal trains represent bytes, each of which stores an 8-bit signed representation of the signal x or of the complex local replica xl. Grayed boxes represent the operands of one complex multiplication operation.
    FIGURE 5. Byte-wise implementation of the correlation operation. Boxes in the signal trains represent bytes, each of which stores an 8-bit signed representation of the signal x or of the complex local replica xl. Grayed boxes represent the operands of one complex multiplication operation.

    Because many DSPs and general-purpose CPUs are capable of performing several multiply-and-accumulate operations in parallel (for example, eight in high-performance fixed-point DSPs), the byte-wise implementation can be quite computationally efficient. However, storing the local carrier and code replica samples as bytes makes the tables in which they are packed for efficient table look-up prohibitively large for storage in on-chip (fast) memory. Furthermore, despite its computational efficiency, the byte-wise implementation is still only one-quarter to one-half as fast as the bit-wise parallel implementation when implemented on a high-performance fixed-point DSP.

    FIGURE 6 depicts the bit-wise parallel correlation implementation. The operation assumes the incoming signal and the local signal replicas are quantized to two bits — one sign and one magnitude bit. The sign and magnitude bits are packed into 32-bit words. Explicit complex multiplication is replaced by a combination of the bit-wise logical operations AND, NOR, and XOR. In effect, the bitwise parallel method performs 32 multiply-and-accumulate operations in parallel. Importantly, storage of the local carrier replicas as bit-packed sign and magnitude words is also memory-efficient, which makes on-chip storage of the local signal replica look-up tables possible.

    FIGURE 6. Bit-wise parallel implementation of the correlation operation. Boxes in the signal trains represent 8-bit bytes. Grayed boxes represent operands of one complex multiplication operation, implemented by bit-wise AND, NOR, and XOR operations. (Click to enlarge).
    FIGURE 6. Bit-wise parallel implementation of the correlation operation. Boxes in the signal trains represent 8-bit bytes. Grayed boxes represent operands of one complex multiplication operation, implemented by bit-wise AND, NOR, and XOR operations. (Click to enlarge).

    Spoofer Module. Beyond the hardware required for the GPS receiver, the receiver-spoofer requires only signal transmission hardware: a digital/analog converter, a frequency synthesizer and mixer for mixing to near the GPS L1 frequency, in-line attenuators, and a transmission antenna. For this article, we conducted no over-the-air tests to avoid possible FCC violations; hence, we do not further discuss the transmission hardware.

    The heart of the spoofer is the spoofer software module, shown in FIGURE 7.

    FIGURE 7. Block diagram of the spoofer module.
    FIGURE 7. Block diagram of the spoofer module.

    Control Module: The spoofer’s control module coordinates a spoofing attack by directing the frequency, code-phase offset, and signal amplitude applied in each of n spoofing channels. Some components of the control module described here remain under development.

    The control module accepts the following inputs from the receiver module:

    • estimates {t (circumflex) k } 1 n of the start times of the kth C/A code period on receiver channels 1–n;
    • the estimates {θ (circumflex) k } 1 n of the beat carrier phase on receiver channels 1–n at times {t (circumflex) k } 1 n ;
    • the estimates {f (circumflex) D,k } 1 n of the Doppler frequency shift on receiver channels 1–n at times {t (circumflex) k } 1 n ;
    • the estimates {A (circumflex) k } 1 n of the signal amplitudes on receiver channels 1–n at times {t (circumflex) k } 1 n ;
    • the receiver-spoofer’s current 3-dimensional position P and velocity V.

    The control module orchestrates a spoofing attack in the following way. It begins by commanding n spoofer channels to generate signals with Doppler frequency offsets equal to {f (circumflex) D,k } 1 n and code phases whose relative alignment is equivalent to that dictated by {t (circumflex) k } 1 n . It then applies a common-mode code phase advance to compensate for buffering delays within the receiver-spoofer. If this advance is chosen correctly, then each spoofing signal will be code-phase-aligned with its genuine-signal counterpart at the target receiver’s antenna. The control module then commands an increase in the signal amplitude of one or more spoofer channels to effect lift-off of the target receiver’s tracking points. This continues until all target receiver channels are presumed to be under control of the spoofer.

    At this point the control module gradually leads the target receiver off its true position and time to an alternate position or time. Let Δx D (t k ) = [Δv x (t k ), Δv y (t k ), Δv z (t k ), Δb (t k )] T be the perturbation that the control module applies to the target receiver’s observed velocity and clock rate bias at receiver-spoofer time t k . The time rate of change of the perturbation Δb (t k ) must be less than the expected drift rate of the target receiver’s reference oscillator. Likewise, the time rate of change of the velocity perturbations Δv x (t k ), Δv y (t k ), and Δv z (t k ) must be less than the accelerations that the target receiver expects, or, if the target receiver is equipped with an IMU, less than the expected uncertainty in the accelerometer bias.

    To enforce Δx D (t k ), the control module linearizes the standard Doppler frequency measurement model about the current receiver time, position, and velocity estimates and computes offsets to the quantities {f (circumflex) D,k } 1 n that are commensurate with the perturbation Δx D (t k ).

    Similarly, let Δx(t k ) = [Δx(t k ), Δy(t k ), Δz(t k ), Δt(t k )] T be the perturbation that the control module applies to the target receiver’s observed position and time at receiverspoofer time t k . Δx(t k ) is calculated by integrating the time history of Δx D (t k ) values from some initial condition, typically Δx D (t k ) = 0 so that the target receiver’s observed velocity and clock rate bias is initially approximately equal to its true velocity and clock rate bias. To enforce Δx(t k ), the control module linearizes the standard pseudorange measurement model about the current receiver time and position estimates and computes offsets to the quantities {t (circumflex) k } 1 n that are commensurate with the perturbation Δx(t k ).

    Following this strategy, the control module can, as gradually as necessary, misdirect the target receiver’s observed position and time.

    The spoofer control module currently makes no attempt to align the beat carrier phases of its output signals with those of the received GPS signals, and so the phase values {θ (circumflex) k } 1 n are currently discarded. More sophisticated future versions of the receiver-spoofer will likely make use of these phase values.

    • Spoofer Channels: Each of the n spoofer channels is configured to correspond to one of the n authentic GPS signals that the receiver module tracks. The signal generated by the nth spoofer channel can be modeled as

    Untitled(1)

    Humphrey_Eq_2 (2)

    where x n i ) is the ith sample of the signal, τ i is the time of the ith sample, A n (τ i ) is the control-module-commanded amplitude at τ i , d n (τ i ) is the data bit value that applies at τ i , C n (τ it n,k ) is the C/A code chip value that applies at τ i , t n,k is the control-module-commanded start time of the kth C/A code period, Q{•} is a 2-bit quantization function, f IF is the intermediate frequency, θ n (τ i ) is the beat carrier phase at τ i , and f D,n,k is the control-module-commanded Doppler frequency shift at time t n,k . The C/A code function C n (τ) can be further represented as

    Humphrey_Eq_3(3)

    and the data bit function d n (τ) as

    Humphrey_Eq_4(4)

    where {c n,1 , c n,2 , …, c n,1023 } and {d n,j , d n,j+1 , …} are the unique C/A code chip sequence and navigation data bit sequence corresponding to the GPS satellite whose signal is being emulated on the nth spoofer channel, T c and T d are the duration of one C/A code chip and one navigation data bit, and T (τ) is the usual rectangular support function equal to unity over 0 ≤ τ< T and zero otherwise.

    To generate the C/A code samples {C n (τ i )}, i = 1,2, …, the spoofer channels make use of the same bit-packed C/A code replicas that are employed for signal correlation in the receiver module, which are stored in large look-up tables. However, to generate the samples of the quantized carrier replica

    Humphrey_Eq_5 (5)

    the spoofer channels cannot exploit the same bit-packed carrier replicas that are used for signal correlation in the receiver. This is because, to minimize on-chip memory requirements, the receiver’s carrier replicas all begin at the same phase value and have only a coarse 175-Hz frequency resolution. The receiver compensates for these factors by performing a rotational “fix-up” on the in-phase and quadrature accumulation values. Unfortunately, such a scheme is unworkable for generating the sampled carrier replicas in the spoofer channels because anything less than precise phase and frequency control over the carrier replicas would potentially alert a target receiver to a spoofing attack. Consequently, it was necessary to develop a carrier-replica generator more capable than that used in the receiver module.

    • Carrier-Replica Generator: Two requirements drove the carrier-replica generator design: precision and efficiency. Regarding precision, to evade detection the generator must be able to set the initial phase of a carrier replica segment to within approximately one degree and the Doppler frequency offset over the segment to within approximately 1 Hz. Regarding efficiency, to meet real-time deadlines the generator would have to be capable of generating a replica segment T S seconds long in less than T S /30 seconds. We developed a generator meeting these requirements.

    A quantized sampled carrier replica can be represented in bit-wise parallel format as a block of 32-bit words. In the simplest case, the carrier replicas are one-bit quantized with 0 and 1 respectively representing the values –1 and 1. The carrier replica generator can be configured to generate 1- to 4-bit-quantized samples. Two-bit quantization was chosen for implementation within the spoofer, with one bit representing the sign and the other representing the magnitude of the signal. The choice of 2-bit quantization balanced a tradeoff between efficiency and the amount of quantization noise introduced into the final linear combination of the spoofer channel outputs.

    The carrier replicas are sampled at a rate f S > 2f IF Hz as shown for the minimum and maximum Doppler frequency shifts in FIGURE 8. The key observation that makes real-time generation of the carrier replicas possible is the following: There is little diversity in the 32-bit words that result from packing 32 samples of quantized carrier replicas over a ±10-kHz range of Doppler frequency offsets and 2π radians of carrier phase. This is another way of saying that the information content of the quantized sampled carrier replicas is low, which is to be expected.

     FIGURE 8. Two-bit quantization of the local carrier replica at the maximum and minimum Doppler frequency shifts.
    FIGURE 8. Two-bit quantization of the local carrier replica at the maximum and minimum Doppler frequency shifts.

    Figure 8 illustrates this concept by showing a case with a sampling frequency f S = 5.714 MHz, an intermediate frequency f IF = 1.405 MHz, and a Doppler frequency range of ±10kHz. This Doppler frequency range covers the expected range of Doppler shifts seen by a terrestrial GPS receiver, with ~ 5 kHz of margin for receiver clock rate error. The sampling and intermediate frequencies are typical for civil GPS applications. Over the interval shown in Figure 8, the total number of cycles for the two signals, whose initial phases are aligned, differs by less than 1/8 of a cycle. When sampled and 2-bit quantized into the sign (s) and magnitude (m) bits that run along the bottom of each frame, the resultant carrier replicas have the same sign-bit history and only 10 different magnitude bits. This indicates that the sampled carrier replicas covering a reasonable Doppler shift frequency range are primarily a function of the initial phase offset for each 32-bit word. This observation remains true whenever f IF < f S and f D,mabs << f IF , where f D,mabs is the maximum absolute value of the Doppler frequency shift.
    The low information content of the sampled carrier replicas makes them amenable to tabular storage and efficient retrieval. Two tables are required, one each for the sign and magnitude bits. Let i f ∈ {0,1, …, N f – 1} and i θ ∈ {0,1, …, N θ – 1} represent the respective indices into the frequency and phase dimensions of the tables. For each carrier replica segment (typically 1-ms long), a single frequency index is calculated as

    Humphrey_Eq_6 (6)

    where f D is the exact desired frequency and f D,min and f D,max are the minimum and maximum Doppler frequency shifts. The phase index i θ is different for each of the 32-bit words that are strung together to compose the carrier replica segment. Let τ k be the time offset of the midpoint of the kth word in the segment relative to the time of the first sample in the segment. The phase at the midpoint of the kth word is calculated as

    Humphrey_Eq_7(7)
    where θ 0 is the phase of the first sample in the segment, and the modulo operation is modulo 2π. Finally, the phase index of the kth word is calculated as

    Humphrey_Eq_8(8)

    To meet precision requirements, the number of indices into the frequency and phase dimensions of the tables were set respectively to N f = 32 and N θ = 256. With this table size, the table-generated carrier replicas are not significantly different from carrier replicas generated by applying the exact phase and frequency values using double-precision computations. The sign and magnitude tables occupy a total of 64 kB in on-chip memory.

    • Data Bit Predictor: The GPS L1 navigation data bit sequence {d n,j , d n,j+1 , …} required by the nth spoofer channel is most easily generated in one of two ways. The simplest approach is to pass data bits to the spoofer channels as soon as they can be reliably read off the incoming GPS signals. Naturally, this approach produces a delay in the arrival time of the spoofing data bit as compared to that of the true data bit at the target receiver’s antenna. The delay is most conveniently made an integer number of 1-ms C/A code intervals. Clearly, such a delay is undesirable in a spoofer because a target receiver could be designed to watch for such a delay and thereby detect a spoofing attack.

    The second approach is to predict the data bits based on knowledge of the bit structure and a recent bit observation interval. This is the function of the receiver-spoofer’s data bit predictor. This method relies on the fact that the GPS navigation message has a 12.5-minute period and remains nearly perfectly predictable for a period of two hours. In fact, the almanac component of the 12.5-minute data block is refreshed by the GPS Control Segment only once per day, and the remaining data — the individual satellite ephemeris data — can be observed in less than one minute. There are data bit segments within the TLM word of the navigation message that are unpredictable on a regular basis. However, these segments are also unpredictable for the target receiver (in the absence of external data bit aiding). Therefore, the spoofer can simply fill the unpredictable data bit segments with arbitrary data bits and adapt the parity bits and HOW word polarity accordingly.

    Discrepancies have been observed between the almanac data of Block IIA and later satellites. For example, the least significant bits of particular ephemeris parameters can differ. This is believed to be a rounding error in early satellites. These discrepancies cause problems with data-bit prediction for Block IIA satellites. The GPS control segment has been alerted to this and is taking corrective measures. Meanwhile, the spoofer module’s data-bit predictor keeps two copies of almanac data: one for Block IIA and one for later satellites.

    During a spoofing attack, rising GPS satellites pose a challenge for the data-bit predictor; indeed, for the entire receiver-spoofer. The receiver-spoofer must prevent the target receiver from acquiring bit lock on the new signal until the data-bit predictor has a chance to observe the new satellite’s ephemeris data. This could be done by transmitting a spoofing signal with arbitrary data bits whose boundaries change sporadically by an integer number of C/A code periods.

    • Sample-Wise Combiner: Summation of the bit-packed signals generated in each of the spoofer channels is performed sample by sample. The ith sample from the nth spoofer channel is weighted by A n (τ i ) and summed with the corresponding samples from the other spoofer channels, each weighted appropriately. While computationally expensive, sample-wise operations are necessary to generate a combined signal that represents a quantized superposition of the individual spoofing signals with correct relative amplitudes. The composite signal is then re-quantized to 1 or 2 bits before being loaded into the output circular buffer. Re-quantization of the composite signal introduces additional signal distortion, which decreases the carrier-to-noise ratio of each component signal. For 1-bit re-quantization, which is the current configuration, the signal distortion is tolerable until more than eight spoofing signals are combined. More precisely, 1-bit requantization can sustain no more than eight equal-amplitude component signals at a carrier-to-noise ratio of C/N 0 = 48 or higher.

    Implementation

    The software-defined receiver-spoofer has been implemented on the Cornell GRID receiver platform (FIGURE 9). Receiver and spoofer software modules run on the same processor.

     FIGURE 9. The Cornell GRID receiver, hardware platform for the receiver-spoofer.
    FIGURE 9. The Cornell GRID receiver, hardware platform for the receiver-spoofer.

    When tuned for efficiency, the receiver-spoofer meets real-time deadlines with computational resources to spare. At full capability, the receiver-spoofer tracks 12 GPS L1 C/A signals and simultaneously generates 12 spoofing signals, in addition to performing a 1-Hz navigation solution and continuous background acquisition. The 1-bit re-quantization of the composite spoofing signal limits the spoofer module practically to eight component signals. Future versions of the receiver-spoofer may trade computational resources for 2-bit re-quantization, permitting more than eight component spoofing signals.

    The marginal computational demands of each tracking and spoofing channel are respectively 1.2 percent and 4 percent of the DSP, the latter value reflecting the high computational cost of carrier replica generation and sample-wise signal combination within the spoofer module.

    The core Cornell GRID receiver software is the product of hundreds of developer-hours of work. Developing the spoofer module and extending the core GRID receiver software to include it required a team of three experienced developers working approximately 40 hours apiece, or approximately three developer-weeks. The hardware components of the receiver-spoofer platform shown in Figure 9 are all off-the-shelf components whose total cost is approximately $1,500.

    Demonstration Attack

    We devised a method for demonstrating a spoofing attack without actually transmitting RF signals at the GPS L1 frequency over the air, which would have violated FCC restrictions on transmitting in a protected band. An interval of digitized authentic GPS L1 C/A code data sampled at 5.7 MHz was stored to disk. The data were input to the receiver-spoofer, which tracked the six GPS signals present, generated corresponding spoofing signals, and combined these into a 1-bit quantized output bitstream. The output bitstream was then combined with the original data by interleaving, and the resulting bitstream was input to a Cornell GRID receiver acting as target receiver, as shown in FIGURE 10.

    FIGURE 10. The "bit combination" framework for demonstrating a spoofing attack.
    FIGURE 10. The “bit combination” framework for demonstrating a spoofing attack.

    The receiver-spoofer accurately reproduced the code phase, frequency, data-bit values, and relative amplitude of all six GPS L1 signals present. The spoofing signals’ carrier phases, while not designed to match those of the genuine signals, were continuous across accumulation intervals as intended.

    To enable observation of the spoofing attack, the target receiver was augmented with correlator taps at 81 different 0.2-chip offsets about the prompt tap, which is nominally aligned with the incoming signal. The amplitude time history from each correlator tap can be combined to produce “footage” of the spoofing attack from the perspective of the individual channels.

    FIGURE 11 shows a sequence of frames depicting the attack on one of the channels. The attack lasts approximately 30 seconds. Each successive panel represents a snapshot of the 81 taps’ amplitudes at roughly 6-second intervals. The three red dots represent the delay-lock loop’s tracking points, which continuously attempt to align themselves so that the center point is maximized and the flanking points are equalized. The top frame shows the tracking points nicely aligned on the genuine signal’s correlation peak, while the counterfeit signal’s peak approaches furtively from the right. Of course, in a typical spoofing attack, the counterfeit peak would simply be initially aligned with the genuine peak and initially smaller than the counterfeit peak in the top panel; its approach from the right and large size in the present case is merely for clarity of presentation.

     FIGURE 11. A sequence of frames (from top to bottom) showing a successful single-channel spoofing attack.
    FIGURE 11. A sequence of frames (from top to bottom) showing a successful single-channel spoofing attack.

    After the spoofed peak aligns with the genuine one, its signal power is gradually increased until it begins to control the tracking points. Eventually, the counterfeit peak drags the tracking points off to the left of the true peak. In the lower two panels of Figure 11, the true peak appears to drift off towards the right because the counterfeit peak has hijacked the 81 taps of the figure’s image zone, which are tied to the victim receiver’s tracking points, and it drags them all leftward relative to the true peak. A sophisticated spoofing attack will attempt right-to-left, or late-to-early, tracking lift-off wherever possible so as to disguise the attack as multipath.

    FIGURE 12 illustrates the attack from the perspective of the baseband phasors in the complex plane. In the present version of the receiver-spoofer, no attempt is made to phase-align the authentic and spoofing signals. Consequently, a sign change in the data bit stream is possible as the spoofing phasor’s amplitude gradually increases and the target receiver’s phase-lock loop eventually transitions from tracking the authentic phasor to tracking the spoofing phasor. However, the rotational rates of the two phasors, ωa and ωs in Figure 12, should be nearly equivalent. From Figure 12 it should be apparent that if a receiver-spoofer were capable of phase-aligning with a genuine signal, it could, by transmitting the exact difference between a desired spoofing signal and the true signal at the target antenna, simultaneously produce a spoofing phasor and suppress the authentic phasor. When combined with data-bit prediction, such an attack could be impossible to detect relying solely on user-equipment-based defenses.

     FIGURE 12. The authentic and spoofing baseband phasors with respective rotational rates of a and s on the complex I-Q plane.
    FIGURE 12. The authentic and spoofing baseband phasors with respective rotational rates of a and s on the complex I-Q plane.

    Countermeasures

    Three spoofing countermeasures have been suggested by work to date. Two of these, both software-defined user-equipment-based defenses, are presented here. These can be thought of as additions to the five user-equipment-based countermeasures presented earlier. The third method, a promising low-impact cryptographic technique, will be disclosed in a separate publication. Neither of the user-equipment-based defenses discussed below is spoofproof; however, each is straightforward to implement and increases the difficulty of mounting a successful spoofing attack.

    Data-Bit Latency Defense. The data bit-latency defense is premised on the difficulty of re-transmitting the GPS data bits in real time. The alternative, data-bit prediction, is itself somewhat challenging and is vulnerable to detection at the 2-hour ephemeris update boundaries and when a GPS satellite rises above the horizon.

    FIGURE 13 illustrates the latency between the spoofing and authentic data bit streams that would arise in the absence of data-bit prediction. To detect this condition, the target receiver has only to continuously monitor bit lock. In other words, the receiver looks for a data-bit sign change between consecutive accumulations at the C/A code-length interval. If a sign change is detected at other than an expected data-bit boundary, then the target receiver raises a flag. Except in unusual circumstances, such as low signal power or ionospheric scintillation, a raised flag betrays a spoofing attack. We have implemented and validated the data-bit latency defense on a modified Cornell GRID receiver.

    FIGURE 13. Illustration of the likely latency of the spoofing data bit stream compared to the authentic data bit stream.
    FIGURE 13. Illustration of the likely latency of the spoofing data bit stream compared to the authentic data bit stream.

    Besides by data-bit prediction, a spoofer can attempt to counter the data-bit latency defense by jamming until the target receiver loses bit lock and then spoofing during reacquisition. However, as with the time-discrepancy defense, an extended jamming period may be required to sufficiently widen the target receiver’s window of acceptance, and extended jamming is itself telltale evidence of interference.

    Vestigial Signal Defense. This defense is premised on the difficulty of suppressing the authentic signal after successful lift-off of the delay-lock loop tracking points. To suppress the authentic signal, a spoofer must transmit the difference between a desired spoofing signal and the true signal at the target antenna. Construction of an effective suppressor signal requires knowledge to within roughly 1/8 of a cycle of each authentic signal’s carrier phase at the phase center of the target antenna. Such precise knowledge of carrier phase implies centimeter-level knowledge of the 3-dimensional vector between the target antenna and the transmitter phase centers. This would be challenging except in circumstances where the receiver-spoofer could be placed in the immediate proximity of the target antenna phase center.

    Absent an effective suppressor signal, a vestige of the authentic GPS signal will remain in the input to the target receiver. Soon after lift-off of the delay-lock loop tracking points, the vestige may be well disguised as multipath, but its persistence and distance from the spoofed correlator peak will eventually distinguish the two effects.

    To detect the vestigial authentic signal, the target receiver employs the following software-defined technique. First, the receiver copies the incoming digitized front-end data into a buffer used only for vestigial detection. Next, the receiver selects one of the GPS signals being tracked and removes this signal from the data in the buffer. This is the same technique used to remove strong signals in combating the near/far problem in spread-spectrum multiple-access systems, including GPS. Once the tracked signal has been removed, the receiver performs acquisition for the same signal (same PRN identifier) on the buffered data.

    These steps are repeated for the same GPS signal and the results are summed non-coherently until a probability of detection threshold is met for some assumed C/N0 value and some desired probability of false alarm. If a significant vestigial signal is present in the data, this technique will reveal it.

    Conclusions

    The deepening dependence of the civil infrastructure on GPS and the potential for financial gain or high-profile mischief makes civil GPS spoofing a gathering threat. The software-defined receiver-spoofer described here demonstrates that it is straightforward to mount a spoofing attack that would defeat most known user-equipment-based spoofing countermeasures. Moreover, it appears that nothing short of cryptographic authentication can guard against a sophisticated spoofing attack.

    With the addition of each modernized GNSS signal, the cost of mounting a spoofing attack rises markedly, and would quickly exceed the capabilities of the GPS L1 civil spoofer demonstrated here. Nonetheless, faster DSPs or FPGAs would make multi-signal attacks possible. Moreover, there will remain many single-frequency L1 C/A code receivers in critical applications for years to come.

    It is imperative that more research and funds be devoted to developing and testing practical and effective user-equipment-based civil GPS spoofing countermeasures such as the data-bit latency defense and the vestigial signal defense introduced here. Further research into cryptographic authentication methods should also be pursued. Officials in the U.S. Department of Transportation, the Federal Aviation Administration, and the Department of Homeland Security should consider the perils of civil GPS spoofing and oversee development and adoption of effective countermeasures. Commercial manufacturers of GPS user equipment should adopt at least rudimentary spoofing countermeasures.

    In conclusion, consider two security maxims advanced by the Vulnerability Assessment Team at Argonne National Laboratory. The first certainly applies to civil GPS spoofing. One can only hope that the second does not.

    Yippee Maxim: There are effective, simple, and low-cost countermeasures (at least partial countermeasures) to many vulnerabilities.

    Show Me Maxim: No serious security vulnerability, including blatantly obvious ones, will be dealt with until there is overwhelming evidence and widespread recognition that adversaries have already catastrophically exploited it. In other words, “significant psychological (or literal) damage is required before any significant security changes will be made.”

    Acknowledgments

    The Cornell GRID receiver development has been funded under ONR grant N00014-04-1-0105. A Reference/Further Reading section will be appended to the version of this article appearing online at env-gpsworld-integration.kinsta.cloud. An earlier version of this article was published in the Proceedings of the September 2008 Institute of Navigation GNSS Conference in Savanna, Georgia.

    Manufacturers

    The receiver-spoofer consists of a Zarlink/Plessey GP2015 RF front end, a CPLD for signal multiplexing, and a Texas Instruments TMS320C6455 DSP.


    TODD E. HUMPHREYS is a research assistant professor in the department of Aerospace Engineering and Engineering Mechanics at the University of Texas at Austin. He received a Ph.D. in aerospace engineering from Cornell University; [email protected].

    BRENT M. LEDVINA is an assistant professor in the Electrical and Computer Engineering Department at Virginia Tech. He received a Ph.D. in electrical and computer engineering from Cornell University.

    MARK L. PSIAKI is a professor in the Sibley School of Mechanical and Aerospace Engineering at Cornell. He received a Ph.D. degree in mechanical and aerospace engineering from Princeton University.

    BRADY W. O’HANLON received a B.S. in electrical and computer engineering from Cornell University,where he pursues a M.S./Ph.D degree.

    PAUL M. KINTNER, JR. is a professor of electrical and computer engineering at Cornell. He received a Ph.D. in physics from the University of Minnesota.


    References

    “Vulnerability assessment of the transportation infrastructure relying on the Global Positioning System,” Tech. rep., John A. Volpe National Transportation Systems Center, 2001.

    Key, E. L., Techniques to Counter GPS Spoofing,” Internal memorandum, MITRE Corporation, Feb. 1995.

    Scott, L., “Anti-spoofing and authenticated signal architectures for civil navigation systems,” Proc. ION GPS/GNSS 2003,Institute of Navigation, Portland, Oregon, 2003, pp. 1542-1552.

    Hein, G., Kneissi, F., Avila-Rodriguez, J.-A., and Wallner, S., “Authenticating GNSS: Proofs against spoofs, Part 1,” Inside GNSS, July/August 2007, pp. 58-63.

    Hein, G., Kneissi, F., Avila-Rodriguez, J.-A., and Wallner, S., “Authenticating GNSS: Proofs against spoofs, Part 2,”Inside GNSS, September/October 2007, pp. 71-78.

    Scott, L., “Location Assurance,”GPS World,Vol. 18, No. 7, 2007, pp. 14-18.

    Stansell, T., “Location Assurance Commentary,”GPS World,Vol. 18, No. 7, 2007, pp. 19.

    Warner, J. S. and Johnston, R. G., “GPS spoofing countermeasures,” Dec. 2003, http://www.homelandsecurity.org/bulletin/DualBenefi/warner gps spoofing.html.

    Ledvina, B. M., Cerruti, A. P., Psiaki, M. L., Powell, S. P., and Kintner, Jr., P. M., “Performance Tests of a 12-Channel Real-Time GPS L1 Software Receiver,” Proceedings of ION GPS 2003, Institute of Navigation, Portland, OR, 2003.

    Ledvina, B. M., Psiaki, M. L., Powell, S. P., and Kintner, Jr., P. M., “Real-Time Software Receiver Tracking of GPS L2 Civilian Signals using a Hardware Simulator,”Proceedings of ION GNSS 2005, Institute of Navigation, Long Beach, CA, Sept. 2005.

    Ledvina, B. M., Psiaki, M. L., Powell, S. P., and Kintner, Jr., P. M., “Bit-Wise Parallel Algorithms for E±cient Software Correlation Applied to a GPS Software Receiver,”IEEE Transactions on Wireless Communications, Vol. 3, No. 5, Sept. 2004.

    Humphreys, T. E., Ledvina, B. M., Psiaki, M. L., and Kintner, Jr., P. M., “GNSS Receiver Implementation on a DSP: Status, Challenges, and Prospects,”Proceedings of ION GNSS 2006, Institute of Navigation, Fort Worth, TX, 2006.

    Warner, J. S. and Johnston, R. G., “A simple demonstration that the Global Positioning System (GPS) Is Vulnerable to Spoofing,”Journal of Security Administration, 2003.

    Anon., “ICD-GPS-200C: Navstar GPS Space Segment/Navigation User Interfaces,” Tech. rep., ARINC Research Corporation, 2003, http://www.losangeles.af.mil/library /factsheets/factsheet.asp?id=9364

    Borre, K., Akos, D., Bertelsen, N., Rinder, P., and Jensen, S.,A Software-defined GPS and Galileo Receiver: A Single-frequency Approach, Birkhauser, 2007.

    Ledvina, B. M.,”Real-Time Generation of Bit-Packed OverSampled Carrier Replicas,” 2008, in preparation.

    Johannesson, R. J.,Cross-correlation mitigation in GPS signal acquisition for a real-time software receiver, Master’s thesis, Cornell University, 2007.

    Johnston, R. G., “Physical security maxims,” http://www.schneier.com/blog/archives/2008/09 /security maxims.html .