I was just reading this article on how phone GPS work and the improvements that Apple had done to reduce the amount of time those calculations take on a regular iPhone.

That makes me wonder: what measures have been taken so that none of us are around transmitting fake GPS data that would make people get lost more often than usual?

  • Do you mean, fake timing data or fake almanac data? – curiousguy Aug 12 '12 at 4:15
  • You can do sky measurements, particularly the pole star via webcam, or alternatively you could use gyro to track movements. To prevent what you talking about, would require a backup system. Ps. Iphone GPS dies on 10 degrees of Celsius, it's really designed for california, I would not rely on this at all for long trip. – Andrew Smith Aug 12 '12 at 11:08
  • 1
    "Dude, I'm gonna poison this guy's GPS reception so he gets lost in the woods!" – Thomas Aug 12 '12 at 22:36

I'm going to start off my assuming that you're referring to the Civilian segment of the NAVSTAR (US/NIST) based system and not the encrypted military version.

Short answer is that there is no cryptographically secure encryption in place over the transmitted NAVSTAR Ephemeris data. It's not impossible to spoof this signal, just technically very difficult and requires precise synchronization of many different systems. (It's not at all like "Tomorrow Never Dies")

Understanding how the GPS Space Segment works will illuminate why this is inconsequential to the performance of the system. There are currently 24 active space vehicles (SVs) and 4 spares in orbit around the earth right now. Each SV is identified by a C/A (Course or Acquisition) code that is uniquely identifiable. The NAVSTAR base signal is transmitted at 1575.42 MHz and every SV transmits on the same frequency. How do they avoid stomping all over each other you ask? They use Code-Division Multiple Access (CDMA - yes, like Verizon and your cell phone) to allow the receiver to filter out the signal (arranged by C/A code).

Each SV transmits what's called the Ephemeris data, these are 6 parameters (and a few extra for corrections) that allow the receiver to exactly calculate the positions of all 28 SVs in orbit for a precise time (that time delivered by those SVs). You can then use the calculated position of the satellites to determine the pseudorange from the SV to you, and therefore your position. Huzzah!

Now, to break it.

You would have to have

  1. The ability to generate and encode a properly formatted NAVSTAR Ephemeris message
  2. The ability to directionally target this message (and signal) towards your intended victim
  3. The ability to completely drown out the standard NAVSTAR broadcasts on L1, L2 and L5 (unlikely, as the signal level itself is down at around -159 dBw broadcast and looks like static.)

If even you were to put these systems in place, your signal would appear as a very directional skew, and only to the select few people in its path which make spoofing it a very expensive and cumbersome task. (What's likely is that your receiver will think you are somewhere in the middle of the Earth.) It's much easier to just jam the signal altogether and remove the user's ability to navigate through space and time.

High level GPS/NAVSTAR Overview - Slides

High level GPS/NAVSTAR Overview - Text

More detailed signals specification

EDIT : I found a fantastic TED Talk describing a series of possible exploits for GPS as well.

| improve this answer | |
  • 1
    Hasn't such an attack as you described already been used, to hijack a U.S. military spy drone? Or, was that a different GPS hack? – Iszi Aug 14 '12 at 20:37
  • @Iszi, I heard some rumblings about that exact thing happening. Don't know details though. – Sean Madden Aug 14 '12 at 21:58
  • Here is an interesting article about GPS hijacking non military drones through spoofing wired.com/dangerroom/2012/07/drone-gps-spoof/all – goodguys_activate Dec 8 '13 at 2:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.