GPS TECHNOLOGIE Teco Boot, Netwerk Architect C2SC
DEEL 2: GPS SIGNALEN EN SAASM GPS ONTVANGERS De werking van GPS is volledig openbaar; in dit artikel zal ik uitleggen hoe de GPS satellieten en GPS ontvangers werken. Dit deel is met name interessant voor de technisch geïnteresseerden onder ons. Voor de gewone GPS gebruikers is het belangrijk om te weten dat deze informatie openbaar is en dat daardoor het vrij gemakkelijk is de civiele GPS signalen te beïnvloeden met een valse GPS zender. De risico’s van gebruik van civiele GPS ontvangers in een operatiegebied zijn dan ook niet aanvaardbaar. Het NAVSTAR GPS JPO heeft hierover een ‘niet zo leuk’ filmpje uitgebracht. Helaas kan ik geen video opnemen in de papieren versie. Het is te zien op Internet: http://www.jcs.mil/j6/GPSwarfighter.wmv In dit artikel wordt het belang van militaire GPS ontvangers duidelijk. De nieuwe generatie SAASM GPS ontvangers is in staat om prima te blijven functioneren onder jamming en spoofing omstandigheden. Een reden voor invoering bij de Nederlandse krijgsmacht.
OPWEKKEN VAN HET GPS SIGNAAL In het eerste deel is kennis gemaakt met de Direct Sequence Spread Spectrum (DSSS) technologie. Ik zal nu wat dieper ingaan op deze radiotechnologie, zodat duidelijk wordt hoe het signaal wordt opgewekt en het kan worden opgepakt door de GPS ontvanger, zelfs onder jamming omstandigheden. Het basisontwerp van de GPS zender is in figuur 1 aangegeven. De atoomklok is het belangrijkste onderdeel, alle signalen benodigd voor het uitgestuurde GPS signaal worden hiermee opgewekt. De gebruikte frequenties zijn precies een veelvoud van elkaar, zoals aangegeven in tabel 1. Er vallen
Figuur 1: Blokschema van een GPS zender voor band L1
INTERCOM 2007-2
Tabel 1: Gebruikte signalen voor het genereren van een GPS signaal
onmiddellijk een aantal nieuwe termen, ik zal deze uitleggen aan de hand van een uiteenzetting hoe het GPS signaal wordt gegenereerd.
De oscillator in figuur 1 genereert een sinusvormig signaal met een frequentie van 1575,42 MHz. Dit signaal wordt bewerkt met een binair signaal, met waardes ‘0’ en ‘1’. Bij ‘1’ (of ‘+1’) gebeurt er niets en bij ‘0’ (of ‘-1’) wordt de polariteit van het signaal net omgedraaid, een plus wordt min en net andersom. Deze schakeling wordt BPSK genoemd, een dure afkorting voor Bi-Phase-Shift-Keying. Dit is de enige analoge schakeling, alle andere zijn digitaal. Figuur 2 geeft het effect van een BPSK schakeling aan. Ik heb maar een klein aantal sinusgolven getekend, er gaan precies 1540 sinusvormen in een C/A BPSK bit. Zo een bit wordt een ‘chip’ genoemd; een chip is een enkele bit uit een DSSS code. Het BPSK data signaal wordt gemaakt met een exclusive OR (XOR) schakeling, met als input de 50 bits per seconde data en de C/A Pseudo Random Noise (PRN) code. C/A staat voor ‘Coarse/Acquisition’ code, het wordt ook wel de Clear of Civil code genoemd. Overigens is het opwekken van het militaire signaal gelijk aan die voor het civiele signaal, echter er wordt vercijferde ‘P(Y) code’ gebruikt. De ‘P’ staat voor ‘precise’, de ‘Y’ betekent dat het versleuteld is. ‘P’ wordt ook wel in verband gebracht met
21
Figuur 2: GPS signaal gegenereerd met BPSK schakeling
‘protected’, dit klopt niet helemaal omdat vroeger de P-code nog niet versleuteld werd. Pas sinds de invoering van de Y-code is er sprake van protectie. In figuur 3 heb ik ingezoomd op een bitovergang. Ik heb de laatste 9 chips van de laatste PNR code van bit ‘0’ getekend, en de eerste 27 chips van de volgende PRN code met bit ‘1’. Om de ‘1’ bit te versturen volgen er nog 996 chips van de eerste PRN code, daarna nog 19 volledige codes van elk 1023 chips. Het is duidelijk dat er enorm veel chips gebruikt worden per databit, in totaal 20 * 1023, dit is 20.460. Deze vorm van redundantie helpt de ontvanger de bits te decoderen, zelfs bij extreem lage ontvangstsignalen of storingsbronnen. Door de XOR schakeling met de user data wordt de C/A code bij een ‘1’ databit omgedraaid, een ‘0’ wordt een ‘1’ en een ‘1’ wordt een ‘0’. Bij een ‘0’ databit blijft de C/A code ongewijzigd. Het civiele GPS signaal gebruikt een relatief korte PRN code, dit dient voor een snelle tijdssynchronisatie van de GPS ontvangers. De C/A PRN code wordt 1000 maal per seconde herhaald, een GPS ontvanger gebruikt deze eigenschap om het signaal ‘terug te vinden’ in de ruis. Dit wordt later uitgelegd als we de GPS ontvanger bespreken. Als we de C/A code vergelijken met de P(Y) code, dan blijkt hoe kort de C/A code eigenlijk is. De P(Y) chiprate is tien maal sneller, en toch duurt het ongeveer 38 weken (!!!) voordat deze code herhaald wordt. Bovendien wordt elke week een andere code gebruikt, zodat er in de praktijk geen enkele herhaling plaats vindt. Om verspilling tegen te gaan wordt de volledige code gebruikt, deze wordt opgeknipt en elke satelliet krijgt een apart deel. Zo is er ruimte voor 37 satellieten met elk een volstrekt unieke code van 6048000000 chips! Doordat er geen enkele herhaling in het militaire signaal
is te herkennen, kan een gewone ontvanger er geen touw aan vast knopen. Zelfs de eerste generatie militaire ontvangers met een klokafwijking van enkele milliseconde kunnen er evenmin iets mee beginnen. Door de hogere chiprate ontstaat een betere spreiding van het signaal, zoals te zien is in figuur 4. Een betere spreiding maakt het signaal minder gevoelig voor jamming en helpt ook de precisie van positiebepaling te verbeteren, dit laatste zal ik het volgende deel bespreken. De technologie voor het genereren van GPS signalen is openbaar, met slechts één uit-
Het is niet zo eenvoudig de karakteristiek van het GPS signaal te meten. Het is onmogelijk met een oscilloscoop het GPS antennesignaal zoals in figuur 2 weergegeven te presenteren. Ook is het lastig met een spectrum-analyser de frequentiekarakteristiek uit figuur 4 te controleren. De signalen zijn veel te zwak, ze liggen zelfs ver onder het ruisniveau. Ook zenden alle satellieten
Figuur 4: Spreiding van het GPS signaal: vermogen t.o.v. frequentie
zondering, het opwekken van de P(Y) code. Gegevens over alle andere signalen, inclusief de PRN codes voor het opwekken van de C/A codes, zijn vrij beschikbaar. Dit heeft een groot voordeel voor civiel gebruik, het staat iedereen vrij een GPS ontvanger te ontwerpen, produceren en te verkopen. Er is echter ook een groot nadeel, het is zeer eenvoudig een GPS zender te bouwen, met
Figuur 3: Genereren BPSK data uit User data en de PRN C/A code
22
identieke C/A signalen als echte GPS satellieten. Niet leuk als het autoverkeer in het honderd loopt door misbruik, om niet te spreken over mogelijke rampen met vliegverkeer als het onbeveiligde GPS signaal zou worden gebruikt voor vliegtuignavigatie en er valse GPS zenders actief zijn. Om deze reden is het noodzakelijk een verbetering door te voeren. Galileo en het toekomstige GPS-III moderniseringsprogramma zullen over enkele jaren voorzieningen bieden voor een veilig civiel gebruik. Voor Defensie en andere geautoriseerde gebruikers is er al jaren het P(Y) signaal beschikbaar, deze biedt een grote mate van bescherming tegen jamming en spoofing.
uit op dezelfde frequentie, dit geldt voor GPS en ook voor het Europese Galileo systeem. Bovendien worden signalen voor de Differential GPS systemen WAAS en EGNOS ook op deze frequenties uitgezonden. Differential GPS wordt in het volgende deel besproken. Met een flinke schotelantenne, strak gericht op een voorbijvliegende GPS satelliet, zou een spectrumplaatje gemaakt kunnen worden. Dit zou dan een beeld opleveren van de optelling van het civiele en militaire signaal. Een ander optie is meetapparatuur meenemen in een ruimtevoertuig en de meting vlak bij een satelliet uitvoeren. Natuurlijk niet praktisch bruikbaar voor een verdwaalde wandelaar. Er is nog een andere methode de zwakke GPS signalen toch te kunnen ontvangen, door gebruik te maken van de DSSS eigenschappen.
INTERCOM 2007-2
HET ONTVANGEN VAN HET GPS SIGNAAL De GPS ontvanger gebruikt een slimme methode de zwakke signalen te ontvangen. De ontvangst is indirect, er wordt een GPS signaal opgewekt en deze wordt vergeleken met het GPS antennesignaal. De vergelijking geeft aan of in het GPS antennesignaal een component aanwezig is, gelijk aan het zelf opgewekte signaal. Dit gebeurt voor een aantal satellieten tegelijk, bijvoorbeeld een 12-kanaals ontvanger heeft 12 identieke schakelingen, elk voor één satelliet. De gebruikte PRN code bepaalt welk satellietsignaal wordt ontvangen. In het voorbeeld gaan we uit van het ontvangen van het civiele signaal, met de C/A code. De eerste generatie militaire ontvangers gebruiken de C/A nog steeds voor een koude start, om de positie van de satellieten (de almanak) en een nauwkeurige tijd binnen te krijgen. Pas als deze bekend zijn kan het P(Y) signaal worden opgewekt voor het genereren van het militaire GPS signaal, welke ook weer vergeleken wordt met het GPS antennesignaal. Hierin zit een groot probleem: zonder ontvangst van een C/A signaal kan een oude militaire GPS geen koude start maken. Dit maakt bijvoorbeeld de huidig in gebruik zijnde PLGR ontvangers gevoelig, bij storingsaanval moet de GPS ontvanger aan blijven staan en een GPS ontvangst hebben. Na een langere onderbreking is de nauwkeurige tijd verloren gegaan en kan de ontvanger tijdens jamming of spoofing niet meer opstarten. Ter verduidelijking, onder jamming verstaan we het met veel vermogen het totale spectrum wegdrukken, met spoofing bedoelen we het nabootsen van een signaal en hierdoor de controle over een systeem overnemen. In figuur 5 is een ontvanger van een GPS signaal weergeven. Het opwekken van het C/A signaal is gelijk aan de GPS zender, er is echter geen menging met een data signaal, deze is immers niet bekend. De correlator vergelijkt de opgewekte C/A code met het GPS antennesignaal. Zijn beide signalen in fase, dan kunnen de databits uitgelezen wor-
Figuur 5: Blokschema GPS ontvanger
INTERCOM 2007-2
Figuur 6: Werking van de correlator
den. Zijn de signalen niet in fase, dan werkt de ontvanger niet. Het is dus zaak het opgewekte C/A signaal eerst in de pas te laten lopen met het antennesignaal. Omdat de C/A code slechts 1023 chips lang is, wordt de synchronisatie in moderne GPS ontvangers zeer snel bewerkstelligd. Het is een kwestie van vaak genoeg proberen, net zolang totdat er iets gedetecteerd wordt. De werking van de correlator is in figuur 6 weergegeven. Eerst heb ik een pseudo-code aangemaakt. Ik heb een crypto bewerking uitgevoerd op een bepaalde string en hieruit de laatste 40 bits gebruikt. De bits zien er random uit, maar zijn dit beslist niet. Iedereen kan op basis van hetzelfde algoritme en dezelfde input exact dezelfde code genereren. De zender en de ontvanger in de figuur hebben dezelfde pseudo-code gegenereerd. In de ontvanger wordt het zelf opgewekte signaal vergeleken met het ontvangen GPS signaal. In de eerste twee situaties is de ontvanger precies in de pas met het ontvangen signaal en er wordt een hoog
(40 matches) of juist een laag resultaat (0 matches) bereikt. Een hoge score betekent een ‘0’ databit en een lage score betekent een ‘1’ databit, immers bij de zender wordt bij een ‘1’ databit de C/A code geïnverteerd. Is de ontvanger uit de pas, dan is de score ongeveer 50%, ik heb berekend dat de correlator bij alle 39 mogelijke faseafwijkingen in het voorbeeld een score heeft van 16 tot 26 matches, dit is ruwweg de helft. Alleen als de ontvanger precies in de pas loopt, is de score zeer hoog (‘0’-bit) of zeer laag (‘1’bit). Een fors aantal bitfouten leidt niet tot het verlies van een databit, dit door de enorme redundantie in het signaal. Een langere code leidt tot een grotere ontvangstgevoeligheid, immers de correlator kan meer chips betrekken in de berekening. Hierdoor wordt een resistentie tegen jamming bereikt. Het ontvangen van het GPS signaal op basis van de PRN codes is nog niet voldoende, er zijn meer gegevens nodig om de positie te bepalen. Omdat het C/A code 1000 maal per seconde herhaald wordt kan niet bepaald worden wat de exacte tijd is, alleen de millisecondenovergang is bekend. De databits bieden de benodigde extra informatie. De verzonden data zorgt voor informatie over de exacte seconde-overgang, de secondeteller zelf en de exacte positie en status van de GPS satellieten. Als deze gegevens bekend zijn kan de exacte tijdsbepaling en positiebepaling uitgevoerd worden, zoals in deel 1 van deze serie is uitgelegd. Ik wil nog één eigenschap van het ontvangen van het GPS satellietsignaal bespreken, iets wat te maken heeft met de nauwkeurigheid. In het voorbeeld, wat ik gebruikt heb bij de correlator, heb ik laten zien dat er gesynchroniseerd kan worden tot op één chip.
23
nodig. De SAASM GPS ontvanger kan met behulp van relatief statische opstartgegevens direct een ‘lock’ krijgen op P(Y), hiervoor is een zeer krachtige rekenchip toegevoegd. De opstartgegevens zijn de almanak, plaats op de aarde en een ruwe tijd. De ruwe tijd moet wel nauwkeurig zijn, denk aan een afwijking van ongeveer 1 seconde, dit kan met een kristal van een hoge kwaliteit. Het opstarten kan echter nog steeds lang duren, bij grotere afwijkingen duurt het mogelijk enkele uren. Maar na een ‘lock’ kan de GPS een uurtje uitgezet worden, de ‘hold-over’ tijd is nauwkeurig genoeg voor een snelle ‘warme start’. Ontbreekt een nauwkeurige tijd, dan kan deze met een andere GPS overgebracht worden. Dit is overigens ook mogelijk bij de oudere militaire GPS ontvangers. Figuur 7: Fijnafstemming van de correlator
De chiprate heeft een relatie met de looptijd, dit heb ik in tabel 1 aangegeven. Voor de C/A code is de loopafstand van één bit ongeveer 300 m. De eerste generatie GPS ontvangers hadden inderdaad dit soort nauwkeurigheid. Voor militair gebruik was er de P-code (inmiddels de P(Y)-code), deze is 10 maal nauwkeuriger, de loopafstand van een chip is slechts ongeveer 30 m. Militaire ontvangers welke vroeger de P of nu P(Y) code gebruiken worden PPS ontvangers genoemd, PPS staat voor Precise Positioning Service. Civiele ontvangers worden aangeduid met SPS, wat staat voor Standard Positioning Service. Dit verschil in precisie is inmiddels vrijwel achterhaald, civiele ontvangers halen met gemak een afwijking kleiner dan 10 meter en met Differential GPS wordt zelfs een afwijking binnen meters of binnen centimeters behaald, dit bespreek ik in het volgende deel. De verbeterde nauwkeurigheid komt omdat de C/A signalen nu met een prima kwaliteit worden uitgezonden, zonder een met opzet aangebrachte afwijking. Deze afwijking wordt Selective Availability genoemd; de afwijking was vroeger ongeveer 150 m. Het is niet te verwachten dat deze ooit weer gebruikt wordt. Een tweede verbetering is een verbetering in de GPS ontvangers zelf. Deze kunnen het GPS signaal ‘locken’ tot minder dan 1% van een chip (chip is een bit van een DSSS code). Het in fase zijn gaat namelijk in kleinere stappen van een enkele chip. Beter in de pas betekent een hogere score. Dit heb ik in figuur 7 aangegeven. Is de ontvanger precies in fase, dan is de score optimaal.
bied van sleutelmanagement en het gebruik zonder afhankelijkheid van de C/A code. Een probleem met de oude GPS ontvangers lag in het feit dat een GPS, geladen met een sleutel, behandeld moet worden als een Crypto Item. Een ontvreemde GPS ontvanger blijft het gewoon doen, dit is natuurlijk niet de bedoeling. Als tegenmaatregel kan een sleutelwisseling doorgevoerd worden, echter dit vergt een nieuwe sleutel in alle GPS ontvangers, een enorm karwei. Sleutelwisseling vindt dan ook maar sporadisch plaats. Met SAASM is er een nieuw mechanisme actief, waarbij selectief en op afstand GPS ontvangers uitgeschakeld kunnen worden. Sleutelwisselingen gaan ook automatisch, de ontvanger dient wel aan te staan en alle benodigde informatie lift mee met het militaire datasignaal. Sleutelmanagement is belangrijk, maar het voegt niet echt iets toe voor de gebruiker. Wat ook van groot belang is, is de verbeterde bescherming tegen jamming en spoofing. In de eerste generatie militaire ontvangers werd het C/A signaal gebruikt voor het in de pas lopen met de P(Y) code. Met een nieuwe functie, Direct-P(Y), is dit niet meer
SAASM SAASM staat voor Selective Availability / Anti-Spoofing Module, het is een onderdeel in nieuwe militaire GPS ontvangers. Er zijn twee belangrijke verbeteringen ten opzichte van de oudere GPS ontvangers, op het ge-
24
Figuur 8: Draagbare militaire en civiele GPS ontvangers, tijdens jamming
Figuur 9: Inbouw SAASM GPS ontvanger, de GB-GRAM
Het lijkt misschien maar een kleine verbetering, maar een betrouwbare werking onder dreiging is natuurlijk van levensbelang. De oude militaire GPS ontvanger zal onder jamming of spoofing na een tijdelijke uitval van het GPS signaal niet meer functioneren. Dit is te verhelpen met een overdracht van tijd middels een andere GPS. Een SAASM GPS heeft bijna direct zijn ‘fix’ terug. Bovendien is de vraag wie er gaat jammen / spoofen, wijzelf of de opponent. Waarom zouden we de opponent het gebruik van goedkope en zeer nauwkeurige GPS ontvangers toestaan? Als we dit de opponent ontnemen, dan hebben we zelf het tactische voordeel van de beschikking over GPS, terwijl de opponent een extra probleempje heeft! In figuur 8 is links een SAASM GPS ontvanger afgebeeld, deze functioneert nog prima. Rechts geeft een civiele GPS ontvanger aan dat er geen signalen meer worden ontvangen. Het spoofen vormt een groot risico, het zorgt er voor dat een onbeveiligde GPS ontvanger GPS foutieve coördinaten aangeeft. Dat dit een enorm risico oplevert is aangegeven in figuur 10, bij een doelaanwijzing kan een desastreuze fout worden gemaakt. Het gebruik van civiele GPS ontvangers voor militair gebruik is alleen al om deze reden niet toelaatbaar. Het Amerikaanse NAVSTAR GPS JPO heeft een instructievideo gemaakt over jamming en spoofing risico’s.
INTERCOM 2007-2
AFRONDING In dit artikel heb ik het opwekken en ontvangen van GPS signalen besproken. Het valt op dat bijna alle informatie vrijelijk bekend gesteld is. Dit is tevens een groot risico, het GPS signaal is kwetsbaar voor verstoring. Militair gebruik van de civiele C/A-code is niet meer nodig door de SAASM technologie. Ook stelt SAASM ons in staat GPS gebruik in operatiegebieden exclusief beschikbaar te stellen binnen de coalitie, wat tot een tactisch voordeel leidt. In deel 3 ga ik verder in de nauwkeurigheid van GPS, waarbij ik uit zal leggen hoe tot op de millimeter (jawel!!) een positie bepaald kan worden.
Figuur 10: Risico van spoofing
Deze is te zien op Internet (www.jcs.mil/j6/GPSwarfighter.wmv). Er wordt een demonstratie getoond van militaire en civiele GPS ontvangers onder jamming omstandigheden. Het is natuurlijk niet de bedoeling bij een lokaal conflict het civiele GPS gebruik wereldwijd uit te schakelen, de impact op de maatschappij en economie zou enorm zijn. Het civiel GPS gebruik kan daartoe in een inzetgebied onderdrukt worden. Het is niet
de bedoeling dat de opponent uitwijkt naar alternatieve systemen zoals het Europese systeem Galileo of het Russische systeem GLONASS. De Amerikaanse overheid heeft een overeenkomst met de landen van de Europese Unie over rechtmatig gebruik van GPS en andere navigatiemiddelen. Het maken van afspraken met Rusland is onder handen. Met deze afspraken en bijbehorende voorzieningen is GPS een prima militair hulpmiddel die ons een tactisch voordeel biedt.
Teco Boot is lead architect Networks & Middleware binnen het Network Battle Space team van het C2SC. Reacties kunnen gestuurd worden naar C2SC/Proj/Boot (intern) of
[email protected] (extern).
HERHAALDE OPROEP Het Muziek- en Tamboerkorps van de Verbindingsdienst wil ter gelegenheid van haar 10-jarig bestaan op 30 september 2008 kunnen beschikken over een gala tenue. Dit is in 1962 getekend door de vaste defensie uniformontwerper wijlen Frans Smits sr, maar nooit uitgevoerd. Als basis dient het oude GT officieren Verbindingsdienst. Hiervan moeten we er een 50- tot 60-tal hebben; de voorraad is momenteel 26, ondanks meerdere oproepen in Intercom. Het vermaken en aanpassen van bestaande GT’n kost tenminste € 100,-. Het laten maken van een nieuw uniform kost € 525,-. Dat laatste is financieel niet haalbaar, zodat we nogmaals een beroep op u doen om uw oude GT, voor zover nog in bezit, aan het MTKV af te willen staan. Inmiddels schrijdt de tijd voort. Een goed alternatief voor de komende jaren zou de opvolger van deze GT, ingevoerd in de begin jaren tachtig kunnen zijn. Hiervan zijn er nog enkele honderden in bezit van de officieren van de verbindingsdienst.
INTERCOM 2007-2
Wanneer u dat in grote getale en op korte termijn kunt en wilt afstaan, dan kan het MTKV zich op tijd in een GT presenteren. Helpt u mee?
Reacties: maj b.d. W. Vastenhoud 0318693120; mobiel 06-29574088. Hartelijk dank!
25