Fixed-site GNSS integrity monitoring
यं वै सूर्यं स्वर्भानुस्तमसाविध्यदासुरः ।
अत्रयस्तमन्वविन्दन्नह्यन्ये अशक्नुवन् ॥
The sun, whom the Asura Svarbhānu had enveloped with darkness, the Atris recovered; no others were able.
Rig Veda 5.40.9
A GPS receiver cannot audit itself. This monitor cross-checks it against references that do not come from the sky — network time, cryptographically signed time, radio time, the drift of the local clock — and watches for the moment they stop agreeing.
A healthy site, and the three shapes an attack takes.
A healthy site. The consensus band is a hairline and GPS sits inside it — every reference telling the same story.
A slow spoof. GPS drifts away from the band while the independent references hold flat. Too gradual for a threshold alone; CUSUM catches the accumulation.
A crude spoof. The reported position jumps away from the surveyed antenna, and the step detector fires at once.
An outage. The channels go silent, and the shaded gaps are the absence itself — jamming looks exactly like this.
| Term | Stands for | What it means here |
|---|---|---|
| GNSS | Global Navigation Satellite System | The family of constellations — GPS, GLONASS, Galileo, BeiDou. This monitor watches whichever ones the receiver reports. |
| PNT | Positioning, Navigation and Timing | What a GNSS receiver provides, and what this system checks for integrity. Most infrastructure depends on the T more than the PN. |
| NMEA 0183 | National Marine Electronics Association standard 0183 | The sentence format a receiver speaks. Each line is one record with a checksum, capped at 82 characters. |
| RMC / GGA / GSV | Recommended Minimum / Global positioning fix / Satellites in View | The three sentence types read here: fix and time, fix quality, and per-satellite signal strength. |
| C/N₀ | Carrier-to-Noise density ratio | Per-satellite signal strength in dB-Hz. Its spread across satellites is a spoofing tell. |
| CUSUM | Cumulative Sum control chart | A detector that accumulates small deviations, so a drift too gradual to trip a threshold still gets caught. |
| SNTP / NTP | (Simple) Network Time Protocol | Time over the network, RFC 4330. Independent of the sky, but not of the network. |
| Roughtime | — | Cryptographically signed time: an Ed25519 signature over a response that includes a Merkle proof for the nonce we sent. |
| WWVB | NIST radio station WWVB, 60 kHz | A terrestrial time broadcast. Needs no network, so it survives outages that remove every other reference. |
| Holdover | — | The local oscillator's own drift model, used to predict what the clock should be doing without any external reference. |
| Marzullo | Marzullo's algorithm | Interval intersection: the region the largest number of sources agree on. Retained in code as a public export, but no longer decides the consensus offset — a lying server could shape which honest servers were heard by choosing its own interval. The offset is now the median of every source past a width bound, corroborated by a quorum. |