Datateknik C, Examensarbete, 15 högskolepoäng Implementation av binary messages i AIS och användargränssnitt för egendefinierade meddelanden Jimmy Makkonen och Matthias Segelström Dataingenjörsprogrammet, 180 högskolepoäng Örebro vårterminen 2016 Examinator: Dag Stranneby Örebro universitet Orebro University Institutionen för School of Science and Technology naturvetenskap och teknik SE701 82 Orebro, Sweden 701 82 Örebro Innehållsförteckning Sammanfattning 2 Förord 3 Inledning 4 Bakgrund 4 Projekt 6 Del 1 6 Del 2 6 Del 3 7 Del Extra 7 Syfte 7 Krav 7 Arbetsfördelning 7 Metoder och verktyg 10 Metoder 10 Del 1 10 Del 2 10 Del 3 10 Del Extra 10 Verktyg 10 Förberedelser 11 Första steget 11 Förstå problemet 11 Idéer för programmet 12 Inläsning på NMEA och AIS protokollen 13 Genomförande 19 Resultat 31 Del 1 31 Del 2 31 Del extra 34 Diskussion 35 Uppfyllande av projektets krav 35 Speciella resultat och slutsatser 36 Projektets utvecklingspotential 38 Reflektion kring eget lärande 38 Kunskap och förståelse 38 Färdighet och förmåga 41 Värderingsförmåga och förhållningssätt 42 Referenser 43 Informationssökning 43 Bilagor och figurer 45 1 Sammanfattning I Nyköping utövar försvaret telekrigsövning för målflyg vilket Saab i Arboga är en del av. Telekrig är ett “digitalt krig” där syftet är att störa ut elektrisk utrustning, exempelvis störa ut radarfunktionen så att en eventuell fiende inte ska dyka upp på densamma. Syftet med uppgiften var att tillförse målflygen med ett kommunikationssätt som underlättade kommunikationen vid en övning. Detta kommunikationssätt måste vara hemligt då man aldrig kan veta vem som lyssnar på informationen som skickas. Komradion behövde en ersättare som både var snabb, säker och enkel att använda. Kommunikationen skulle komma att ske via transpondrar som är installerade i samtliga övningsflygplan Nyköping tillhandahåller. Dessa transpondrar skickar och tar emot den vanliga AISinformationen vilket bland annat beskriver riktning och bäring för planet. Del ett av uppgiften gick ut på att undersöka dessa transpondrar för att se om det fanns möjlighet att skicka egendefinierade meddelanden. Denna uppgift löstes genom att koppla upp två datorer till transpondrarna och pratade med dem via IP. I del två av uppgiften ingick det att ta fram funktioner, ramverk och stödprogram för meddelandekommunikation. Genom att ta fram en programvara som grundades på lösningen i del ett så kan vi ta emot och sända ut meddelanden på radionätet vilket effektiviserar kommunikationen vid telekrigsövningar där flertalet enheter deltagar. Vi tog fram ett programvara som agerade hjälpprocess till programvaran i del ett. Programvaran genererar hemliga kodord till varje textkommando så att endast ett kodord behöver transmitteras över nätet, där kodordet matchas mot en textstäng på mottagande sida. I sista delen av uppgiften, som vi skulle göra om tid fanns, skulle vi göra en applikation som gjorde detsamma som programvaran i del två gjorde fast på en surfplatta. Detta löste vi genom att innan vi började på del två använda ett tillägg som tillät oss att köra programvaran på både dator och surfplatta. 2 Förord Denna rapport är resultatet av tio veckors arbete på Saab i Arboga som ett avslutande moment på Dataingenjörsprogrammet vid Örebro universitet. Målet med arbetet är att självständigt utvärdera och i vårt fall lösa ett reellt problem och analysera densamma samt komma fram till rimliga slutsatser. Vi vill tacka vår handledare Andrey Kiselev samt vår kontaktperson på Saab, Jörgen Ekstedt som båda stöttat oss i processen. Ett särskilt tack riktas också till Peter Bergljung på Transpondertech som blev en nyckelperson vad gäller vår arbetsframgång. Örebro universitet, 2016 Jimmy Makkonen och Matthias Segelström 3 Inledning Bakgrund Saab tillgodoser den globala marknaden med världsledande produkter, servicerelaterade tjänster och militärdefensiva lösningar. Saab är verksamma över hela världen, de anpassar och utvecklar ny teknologi för att möta allmänhetens varierande behov. De viktigaste marknaderna är Europa, Sydafrika, Australien och USA. De har 14000 anställda med en årlig försäljning för omkring 24 miljarder kronor, av vilka forskning och utveckling utgör cirka 20% [1]. Saab grundades som flygplanstillverkare den andra april år 1937 som ett samarbete mellan NOHAB i Trollhättan och ASJA i Linköping. Redan året därpå färdigställde de deras första fabrik i Trollhättan och i samband med det vann de en licens för att bygga flygplansmodellen Junkers Ju86K, designerad B3. Året efter, 1939, konkurrerade Saab och ASJA med varandra om vilka som skulle få förtroendet att bygga ett nytt spaningsflygplan, uppdraget gick till ASJA’s favör, dock så övertogs ASJA’s verksamhet av Saab senare samma år [2]. I slutet av femtiotalet gick Saab in datormarknaden genom att gå med i något som kallas Datasaab (som senare blev ett eget företag) vilket var en division vars syfte var att integrera små datorer i flygplan som skulle fungera som ett navigeringsverktyg. Datorn kom att kallas CK37 och användes bland annat i flygplanet Viggen så sent som år 1971 [3]. Saab i Arboga inriktar sig mot reparationer och underhåll av flygplan tillhörande flygvapnet. Här sker samarbete med flygvapen över hela världen. I Nyköping utför försvaret träning av telekrig vilket Saab i Arboga är en del av. Telekrig är ett “digitalt krig” vars huvudsyfte är att exploatera känslig eller hemlig information från sin motpart/fiende. Träningen innefattar simulering av diverse elektronikstörningar i kritiska situationer. Övningens syfte är att träna/förbereda soldater att utföra uppgifter med utslagen eller manipulerad utrustning. Eftersom att liknande risker föreligger är det viktigt att piloterna har ett flertal sätt att kommunicera. Enheten för målflyg använder idag en särskild maskinvara, och tillsammans med utvecklad radioteknik och en programvara som kallas GPSMAP kan de se var alla olika enheter (flygplan) befinner sig i luften under olika typer av övningar. Utgående data från maskinvaran (transpondern) är information som definieras i AISprotokollet (Automatic Identification System). Fordon som väger mer än 300 ton måste vara ha utrustning installerad avsedd för att skicka ut AISinformation [11]. Utskicket av AISinformation har som huvudsyfte att informera medtrafikanter om ett fordons aktuella position (se Fig. 1). När AISutrustningen är rättkonfiguerad så är det ett helautomatiserat system, det krävs ingenting av användaren. Vi kallar det “AISinformation” eftersom att denna information skickas över protokollet “Automatic Identification System”, förkortat AIS. Protokollet i fråga har stöd för många olika meddelandetyper som kan användas vid olika situationer. 4 I AISinformationen återfinns data som beskriver fordonets bäring och avstånd. Denna data skickas via en maskinvara som kallas transponder. En transponder som är kapabel till att både skicka och ta emot data finns i två olika klasser, A och B. Skillnaden mellan en Klass A och en klass Btransponder är dels att klass Atranspondern är dyrare och att den dels har lite extra funktioner. Klass Atranspondern skickar ut AISinformationen periodvis beroende på planets tillstånd. Transpondern skickar data med tätare intervaller och funktioner finns för att skicka ut data som beror på fordonets bäring. Om fordonet som är installerat med en Klass Atransponder svänger kraftigt så kommer transpondern att under det ögonblicket skicka ut data med tätare intervaller jämfört med om den inte skulle befunnit sig i svängning. Transpondern är därför tillståndsberoende. Eftersom att fordonet genomfört en sväng så är fordonets nya riktning av intresse och en klass Atransponder kan därför skicka ut en annan meddelandetyp där riktningen står angiven. En klass Btransponder är inte tillståndsberoende och utskicket av data sker med konstant periodicitet. Btranspondern har också lägre prioritet till skillnad mot Atranspondern. Det vill säga, Btranspondern kommer kanske inte alltid att få sända ut sin data beroende på hur pass belastat nätet är, alltså hur många fordon som är i närheten [21]. Transpondern har anslutningar som måste vara inkopplade för att kunna skicka och ta emot AISinformation. En av anslutningarna är kopplad till en GPS som hela tiden skickar positionsdata till transpondern, som i sin tur vidarebefordrar data till en antenn som sänder ut positionsdata om fordonet på radionätet. Andra enheter som opererar på samma frekvens kommer att ta emot data via antennen. Transpondern har ytterligare en anslutning i form av en parallell sådan. Den parallella anslutningen kan med fördel kopplas till en dator så att data från transpondern kan skickas till en dator för exempelvis utritning av position, det är det programmet GPSMAP gör som Saab använder idag. Faktum är att en textdisplay (GPSMAP i det aktuella fallet) är ett minimikrav och måste alltså finnas ombord på fordonet [11]. Många flygplan har någon typ dator med tillhörande programvara som kan ta emot inkommande AISdata så att alla enheter som opererar på samma frekvens kan ritas ut på en karta, programvaran kallas chartplotter. Figur 1. Hur GPSdata kan utbytas mellan fordon. 5 Projekt Projektet går ut på att förbättra det system målflygen använder idag. Idag så finns inget stöd datoriserad kommunikation, allt sker över antingen mobilnätet eller över radionätet. När man utför olika typer av flyg eller telekrigsövningar vill man ha radiotystnad vilket innebär att inga kommandon eller annan känslig information får kommuniceras över radionätet. Faktum är att ingenting alls ska kommuniceras så att tredjepart kan stjäla eller dra nytta av den informationen. För det krävs att kommunikationen är hemlig och inte på något sätt kan dekrypteras vilket innebär att en krypteringsalgoritm inte är tillräcklig, alla krypteringar kan och kommer att knäckas, tids nog. Målet med projektet är att implementera funktioner för att skicka egendefinierade meddelanden via AIS (Automatic Identification System) och GPSMAP eller annan, egenutvecklad programvara. Denna lösning ska säkerställa ett fullständigt hemligt informationsutbyte. Del 1 Uppgiften är att läsa in sig på AISprotokollet samt GPSMAPutrustningen för att kunna ta fram programvara för att skicka och ta emot meddelanden via AIS samt programvara för integrering med GPSMAP. Vi vet inte riktigt vilka funktioner GPSMAP har i dagsläget. Vi vet att programmet ritar ut alla enheters position på en karta samt att det går att planera enklare rutter i kartsystemet. Vi vill i synnerhet kunna skicka egendefinierade och fördefinierade meddelanden och vi tror inte att det nuvarande system har stöd för det. Vi ska ta reda på vilka funktioner som finns i programmet men vad vi har hört från Saab så pekar det mot att vi kommer behöva skriva en egen kommunikationsprogramvara vilket också är önskvärt från vår sida dels på grund av att vi på så sätt kommer att lära oss hur AISprotokollet fungerar och samverkar med andra, överliggande protokoll, och dels för att det är roligare att komma upp med något eget, nytt och fräscht. Arbetet redovisas på Saab genom en demonstration där information kan utbytas mellan två enheter. Del 2 Om den första delen lyckas ska den andra genomföras. I denna del är målet att ta fram funktioner, ramverk och stödprogram för att hantera egendefinierade meddelanden som ska skickas via protokollet. I det här skedet så är det viktigt att ställa sig frågan om vi måste eller bör skriva egen programvara för systemet. Som tidigare nämnts är det från alla perspektiv bättre att skriva egen programvara men eventuellt så kanske det inte är genomförbart vad gäller certifieringar. Vi vet att hård och programvara som används inom flygvapnet måste ha olika typer av certifieringar beroende på vad det är och hur det ska användas. Är det ett lokalt system och inte kommersiellt så kanske det inte behövs några vidare kontroller eller godkännanden. Det är en frågeställning vi får ha i baktanken, huruvida det måste godkännas av högre instanser eller om det är tillräckligt och utefter det utvärdera våra alternativ. Vid egenskriven programvara så kommer vi i den här delen fram programvara för definition av meddelanden och innehåll. Vi kommer att skapa ett användargränssnitt för meddelandeutbyte samt 6 framtagning av arbetssätt för hantering av meddelanden i en övning. Som tidigare nämnt måste meddelanden hanteras på ett särskilt sätt, det räcker inte med att kryptera dem. Arbetet sammanställs i rapportform samt en muntlig redovisning på Örebro universitet. Del 3 Om den andra delen lyckas så ska den tredje och sista delen genomföras. Del 3 går ut på att implementera del 2 på en läsplatta. Det vill säga att porta programmet till en läsplatta varifrån man kan skicka fördefinierade och egendefinierade meddelanden. Del Extra Del extra går ut på att skapa ett “hemligt program” som endast ska finnas på en ickeuppkopplad dator. En representant från varje flygplan använder godtycklig lagringsmedia inkopplad i den hemliga datorn och laddar över den data som krävs (textkommando:kommando) som ska användas till övningen. När sedan huvudprogrammet tar emot ett kommando ska kommandot kontrolleras mot den “hemliga filen” och skriva ut textmeddelandet till motsvarande kommando. Syfte Syftet med uppgiften är att tillförse målflygen med ett kommunikationssätt som underlättar kommunikationen vid en övning. Detta kommunikationssätt, eller snarare den information som utbyts, måste vara hemligt då man aldrig kan veta vem som lyssnar på informationen som skickas. Komradion är idag en väldigt utdaterad kommunikationsmetod som ej lämpar sig för information som är hemligstämplad. Därför behöver komradion en ersättare. Krav De krav som ska vara uppfyllda vid projektets slut: ● Ha övergripande förståelse för AISprotokollet samt GPSMAPutrustningen. ● Definiera funktioner för mottagning samt sändning av meddelanden via AIS. ● Skapa ett användargränssnitt för chattfunktion mellan enheter. ● Sätta oss in i Saabs verksamhet. Arbetsfördelning Del 1: Matthias: ● Informationssökning om ○ Meddelandetyper ○ Textomvandlingar ○ Vdo och vdm meddelanden ○ Transponderns egenskaper ○ GPSMAP 7 ○ psmapNedbrytning av det existerande avläsningsprogrammet till transpondern ● Implementation av ○ textomvandlingar från text till hexadecimalt ○ textomvandlingar från tect till 6bit ascii ○ logiken för checksumma ● Kontaktperson till telekrigsavdelningen i Nyköping Jimmy: ● Informationssökning om ○ inkapslade meddelanden ○ kryptering ○ indikator till meddelanden ○ positionsrapporter och sändningshastighet ○ checksummor ● Implementation av ○ strukturen på testprogrammet ○ textomvandlingar från text till binärt ○ textomvandlingar från text till decimalt ○ logisken vid läsning från transponder Del 2: Matthias: ● Informationssöking om ○ plattformar för applikationsskapande ○ designförslag ■ tema ○ designkrav ■ storlek på objekt ○ kodstruktur i en applikation ■ eventhandlers ■ delegat ○ windows forms ■ exporteringsmöjligheter till platta ● Implementation av funktioner som ○ meddelandeutskick ○ transparenta knappar ○ enhetshanteraren ● Implementation av design ○ Färger ○ Enhetlistan ■ online eller offline ■ Storlek och placering på enhet ■ meddelandeindikator för läst eller oläst meddelande ○ statusmeddelanden 8 ○ chattområdet med scrollfunktion ● Kontaktperson till transpondertech i Linköping Jimmy: ● Informationssöking om ○ designförslag ■ färg ■ storlek på objekt ○ designkrav ■ inuitiv design ○ kodstruktur i en applikation ■ trådar ○ windows forms ■ möjligheter och begränsningar designmässigt ■ möjligheter och begränsningar funktionsmässigt ○ applikationer i flygplan ● Implementation av funktioner som ○ chattområde och dess funktioner ○ enhetslistan ○ kommandolistan ○ meddelandemottagning ● Implementation av design ○ placering av knappar och paneler ○ kommandolistan ■ stationmode ■ flightmode med tillhörande logik bakom placering och storlek ○ enhetshanteraren Del extra: Matthias: ● Programtestare i sökning efter programfel. Jimmy: ● Implementation av grundstommen av gränssnittet. ● Logik bakom de automatiskt genererade koderna. 9
Description: