Team Awareness Kit (TAK) -ekosysteemi on yksi laajimmin käytetyistä taktisista ohjelmistoalustoista liittolaisten maavoimilla tänä päivänä. Avoimen protokollan ja liitännäislaajennettavan asiakasarkkitehtuurin varaan rakennettu järjestelmä mahdollistaa puolustusalan ohjelmistotiimien erityisominaisuuksien lisäämisen — sensorisyötteet, C2-taustajärjestelmäyhteydet, logistiikkadata, tulivoiman koordinointi — ilman ydinsovelluksen haarauttamista. Tässä artikkelissa käydään läpi ekosysteemin rakenne, liitännäis-API:n toiminta sekä se, mitä vaaditaan liitännäiseltä, joka integroituu luotettavasti olemassa olevaan johtamis- ja hallintajärjestelmään.

TAK-ekosysteemin arkkitehtuuri

TAK-ekosysteemi on tilannetietoisuusasiakkaiden ja palvelinohjelmistojen perhe. Asiakaskerroksessa ATAK (Android Team Awareness Kit) toimii kestävillä Android-laitteilla ja on hallitseva laitemuoto jalkautuneille joukoille. WinTAK on Windows-vastine, jota käytetään yleisesti komentopaikoilla ja ajoneuvoasennetuilla työasemilla, joissa näyttökoko ja suorituskyky eivät ole rajoittavia tekijöitä. iTAK toimii iOS:llä ja sitä käytetään joissakin tähystäjä- ja ilmailurooleissa. Kaikki kolme asiakasta jakavat saman tietomallin ja protokollan, joten ATAK-laitteen raportoima sijainti näkyy välittömästi samaan palvelimeen yhdistetyllä WinTAK-konsolilla.

TAK Server — saatavilla avoimen lähdekoodin FreeTAKServer-projektina ja useina kaupallisina jakeluina, kuten CloudTAK — sijaitsee arkkitehtuurin keskipisteessä. Sen tehtävänä on yhdistää Cursor on Target (CoT) -tapahtumavirrat: vastaanottaa CoT yhdistyneiltä asiakkailta TCP/TLS:n kautta, jakaa tapahtumat muille yhdistetyille asiakkaille, säilyttää operatiivinen tilannekuva sekä mahdollistaa WAN-yhdistettyjen asiakkaiden jakamaan yhteinen operatiivinen kuva (COP) paikallisten mesh-verkossa toimivien yksiköiden kanssa.

Federaatio laajentaa tätä edelleen. Kaksi TAK Server -instanssia voi muodostaa federaatiolinkin, jolloin yhden palvelimen asiakaspoolin tapahtumat tulevat näkyviin toisella — mekanismi, jolla liittolaisjoukot jakavat osittaisen COP:n yhdistämättä kokonaisia verkkojaan. Mukautetut C2-taustajärjestelmät liitetään tähän arkkitehtuuriin TAK Server -kerroksella, ei asiakaskerroksella, mikä tarkoittaa, että hyvin suunniteltu C2-integraatio ei vaadi muutoksia itse ATAK-sovellukseen.

Liitännäisarkkitehtuuri: miten ATAK-liitännäiset toimivat

ATAK-liitännäinen on Android-APK, joka asentuu ATAK-isäntäsovelluksen rinnalle. Asennuksen yhteydessä ATAK lukee liitännäisen manifestin, rekisteröi sen liitännäishallintaan ja tekee liitännäisen sisääntulokohdan saataville ATAK:n liitännäislaatikosta. Liitännäinen ei korvaa mitään ATAK:n osaa — se laajentaa sitä. ATAK toimii täysin normaalisti, vaikka liitännäinen poistetaan tai poistetaan käytöstä.

Elinkaarikoukut

Liitännäisen sisääntulopiste laajentaa AbstractPlugin-luokkaa ja toteuttaa kaksi ensisijaista elinkaarimenetelmää. onCreate kutsutaan, kun ATAK lataa liitännäisen — tässä liitännäinen rekisteröi työkalunsa, peitekerrokset ja tapahtumaluuntelijansa sekä käynnistää tarvitsemansa taustajärjestelmäpalvelut. onDestroy kutsutaan, kun ATAK purkaa liitännäisen — kaikki resurssit on vapautettava siististi tässä, mukaan lukien taustasäikeet, verkkoyhteydet ja karttakerrokset. Muistivuodot onDestroy-metodissa ovat yleisin kolmansien osapuolten liitännäisten aiheuttaman ATAK-epävakauden lähde.

Käyttöliittymän laajennuspisteet

ATAK tarjoaa kolme ensisijaista laajennuspistettä liitännäiskäyttöliittymälle. Radiaalivalikko — karttakohdetta pitkään painettaessa ilmestyvä pyöreä kontekstivalikko — voi saada liitännäistoimintoja injektoiduksi siihen, joten sijaintiraporttia napsauttamalla voidaan käynnistää liitännäiskohtainen työnkulku, kuten tulitehtävän luominen kohdepaikasta. Liitännäistyökalurivi mahdollistaa napin lisäämisen ATAK:n päätyökaluriviin, joka avaa mukautetun pudotuspaneelin. Koko näytön fragmentteja voidaan työntää ATAK:n navigaatiopinoon monimutkaisempiin työnkulkuihin, kuten tietojen syöttölomakkeisiin.

Kaiken liitännäiskäyttöliittymän on oltava suunniteltu yksikätiseen hansikkaiden kanssa yhteensopivaan käyttöön. Alle 56 dp:n kosketusalueet eivät ole hyväksyttäviä. Jokainen tietojen syöttötyönkulku, joka vaatii enemmän kuin kolme vuorovaikutusta suorittamiseen, tulisi harkita uudelleen — taistelussa olevilla operaattoreilla ei ole aikaa monimutkaisiin lomakkeisiin.

Datan käyttömallit

Liitännäiset käyttävät karttadataa MapView-luokan kautta, joka tarjoaa menetelmiä karttakohteiden lisäämiseen, päivittämiseen ja poistamiseen. Pistekohteet (sijaintimerkit, sensorikontaktit) ovat PointMapItem-instansseja. Alue- ja viiva-kohteet ovat Shape-aliluokkia. Jokaisella karttakohteella on UID, jonka on pysyttävä muuttumattomana päivitysten välillä — UID:n muuttaminen luo kaksoiskappalekohdetta olemassa olevan päivittämisen sijaan, mikä on yksi yleisimmistä liitännäisvirheistä tuotantojärjestelmissä.

CoT syvällisesti: protokolla, joka yhdistää kaiken

Cursor on Target on XML-pohjainen tapahtumaprotokolla, joka on kaiken TAK-ekosysteemin datanvaihdon perusta. Jokainen ATAK-kartan objekti esitetään CoT-tapahtumana. CoT:n perusteellinen ymmärtäminen on edellytys kaikelle C2-integraatiotyölle.

Tapahtuman rakenne

CoT-tapahtumalla on kolme pakollista ylimmän tason elementtiä. event-juurielementti sisältää tapahtumatyypin (pisteellä erotetun taksonomian, joka alkaa a- atomeille, b- biteille tai t- tehtäville), UID:n, aika/alku/vanheneminen-aikaleimit, how-kentän (miten tapahtuma generoitiin — kone vai ihminen) sekä access- ja qos-attribuutit luokittelua ja palvelun laatua varten. point-elementti sisältää leveysasteen, pituusasteen, ympyrävirheen (ce), lineaarisen virheen (le) ja ellipsoidin yläpuolella olevan korkeuden (hae). detail-elementti on laajennettava säilö kaikkea muuta varten.

Detail-lohko on paikka, jossa integraatiokohtainen data sijaitsee. Standardialirakenteet sisältävät contact-elementin (kutsutunnus ja päätepisteosoite), __group-elementin (ryhmän nimi ja rooli), status-elementin (akku, valmiustila) ja remarks-elementin (vapaamuotoinen teksti). Mukautettu data kulkee nimiavaruuteen perustuvissa alielementeissä: tulitukiliitännäinen saattaa lisätä <fireMission>-elementin, joka sisältää kohdenumeron, käyttömenetelmän ja vaarallisen lähellä -säteen. Standardi ATAK renderöi nämä mukautetut elementit tuntemattomana detail-tietona ja ohittaa ne; liitännäinen, joka tuntee skeeman, näyttää ne oikein.

Keskeiset tapahtumatyypit C2-integraatiossa

Tapahtumatyypin taksonomia kattaa tuhansia erityistyyppejä. C2-integraation kannalta merkityksellisimmät ovat: a-f-G-U-C (ystävällinen maavoimayksikkö, taistelukykyinen — standardi sinisen joukon jälki), a-h-G (vihollisjälki maalla), a-u-G (tuntematon maalla), b-m-p-w (reittipiste), b-r-f-h-c (tulitukipyyntö) ja t-x-m-c (chat-viesti). Tyyppihierarkian ymmärtäminen — etuliitekirjaimet koodaavat liittolaisuuden, taistelumitan ja toiminnon — mahdollistaa liitännäiselle oikein renderöityjen ikonien generoinnin ilman liitännäiskohtaisia ikoniresursseja.

Vanhenemisen hallinta

Jokaisessa CoT-tapahtumassa on vanhenemisaikaleima. ATAK poistaa tapahtumat kartalta niiden vanhentuessa, mikä on mekanismi sinisen joukon jälkien automaattiselle ikääntymiselle. Sijaintiraportteja generoivan liitännäisen on päivitettävä ne ennen vanhenemista — tyypilliset sijaintipäivitykset lähetetään 30–60 sekunnin välein 5 minuutin vanhenemisikkunalla. Liitännäinen, joka generoi tapahtuman kerran eikä päivitä sitä, näkee kohteidensa katoavan kartalta — yleinen virhe ensimmäisen version C2-integraatioissa.

C2-integraatiomallit

C2-järjestelmän integroimiseen TAK-ekosysteemiin on kaksi ensisijaista mallia. Yhdyskäytävämalli toimii TAK Server -kerroksella ilman laiteliitännäistä. Liitännäismalli toimii ATAK-laitteella ja sopii tilanteisiin, joissa integraation on reagoitava laitteen operaattorin toimiin.

Yhdyskäytävämalli: TAK Server C2-taustajärjestelmään

Yhdyskäytävä on erillinen palvelu, joka yhdistää TAK Serverin CoT-virtaan (federaatio-API:n kautta tai TAK Server -liitännäisenä) ja C2-järjestelmän API:in. Kun TAK Serveriltä saapuu uusi sijaintiraportti, yhdyskäytävä kääntää sen CoT-XML:stä C2-järjestelmän jälkimuotoon ja lähettää sen C2-API:lle. Kun C2-järjestelmä generoi uuden kontaktin tai tehtävän, yhdyskäytävä generoi CoT-tapahtuman ja julkaisee sen TAK Serverille, josta se leviää kaikille yhdistetyille ATAK-asiakkaille.

Tämä lähestymistapa ei vaadi laiteliitännäistä eikä muutoksia ATAK-sovellukseen. Se on oikea valinta, kun integraatio on pääosin palvelinten välinen ja C2-järjestelmä on auktoriteetti. Ensisijainen haaste on viive: sijaintipäivityssykli, joka kulkee ATAK-laite → TAK Server → yhdyskäytävä → C2-API → yhdyskäytävä → TAK Server → ATAK-laite, voi lisätä viiveitä jopa muutamiin sekunteihin pollausväleistä ja verkkoolosuhteista riippuen. Lähes reaaliaikaisessa jälkienjaossa TAK Server -tilausmalli WebSocket-yhteyksillä on suositeltavampi kuin REST-pollaus.

Liitännäismalli: laitteella toimiva C2-integraatio

Liitännäismalli ajaa C2-integraation suoraan ATAK-laitteella. Liitännäinen ylläpitää yhteyttä C2-API:iin (REST tai WebSocket) ja injektoi CoT-tapahtumat suoraan ATAK:n sisäiseen tapahtumaväylään, ohittaen TAK Serverin kokonaan saapuvan datan osalta. Tämä eliminoi yhden verkkohyppäyksen ja mahdollistaa liitännäisen lisätä laitekohtaisen kontekstin — operaattorin nykyinen sijainti, valitut karttakohteet, aktiiviset tehtävät — lähteviin C2-raportteihin.

Käänteinen tietovirta — ATAK:sta C2-järjestelmään — toimii tilaamalla ATAK:n CoT-tapahtumaväylä CotEventListener-kuuntelijan kautta. Kuuntelija vastaanottaa kaikki ATAK:lle näkyvät CoT-tapahtumat, mukaan lukien muiden laitteiden tapahtumat. Liitännäisen on suodatettava huolellisesti: sen tulisi välittää vain tapahtumat, jotka nykyinen laite on luonut (tarkista UID-etuliite), eikä se saa välittää uudelleen yhdyskäytävän kautta saapuneita C2-järjestelmän tapahtumia, tai se luo takaisilmoitussilmukan, joka täyttää C2-järjestelmän kaksoiskappaleilla.

Insinöörihuomio: C2-yhdyskäytävien generoimien CoT-tapahtumien UID:iden tulisi sisältää tunnistettava nimiavaruusetuliite — esimerkiksi C2-GW-{uuid}. Tämä mahdollistaa liitännäisen suodattaa ne pois käänteisvirran tilauksesta ylläpitämättä erillistä estoluetteloa. Sovi UID-käytännöstä ennen integraatiokoodin kirjoittamista.

Turvallisuus: allekirjoittaminen, varmenteet ja luokittelun käsittely

ATAK-liitännäisten turvallisuus toteutetaan kahdella tasolla: liitännäisten allekirjoitusvaatimus ja CoT-liikenteen salausvaatimus. Molemmat on käsiteltävä missä tahansa operatiiviseen käyttöön tarkoitetussa liitännäisessä.

Liitännäisen allekirjoittaminen

ATAK hallituskonfiguraatioissa vaatii liitännäisiä allekirjoitettavaksi luotetun varmenneviranomaisen toimesta. Tämä on erillinen Google Play -allekirjoittamisesta — luottamusankkuri on TAK Serverin CA, ei Google. Liitännäisen APK on allekirjoitettava kyseisen CA:n myöntämällä varmenteella ennen kuin ATAK lataa sen. Työnkulku on: generoi avainpari, lähetä varmenteen allekirjoituspyyntö TAK Server -järjestelmänvalvojalle, upota allekirjoitettu varmenne liitännäisen avainsäilöön ja allekirjoita APK kyseisellä avainsäilöllä. Allekirjoittamattomat liitännäiset tai epäluotetun CA:n allekirjoittamat liitännäiset hylätään hiljaisesti.

Kehitysympäristöissä on yleistä käyttää itse allekirjoitettua CA:ta ja jakaa CA-varmenne testilaitteihin manuaalisesti. Tuotannossa CA on tyypillisesti sama PKI-infrastruktuuri, jota käytetään asiakastodennukseen TAK Serverin TLS-yhteyksissä.

Salattu CoT-liikenne

CoT-liikenne tuotantoympäristöissä kulkee TLS:n yli keskinäisellä todennuksella — sekä asiakas että palvelin esittävät varmennetta. Tämä tarkoittaa, että jokaisella ATAK-laitteella on oltava TAK Server CA:n myöntämä asiakasvarmenteen, ja TAK Serverillä on oltava palvelinvarmenne, jonka asiakkaat luottavat. Varmenteen rekisteröinti hoidetaan TAK Serverin rekisteröintipisteen kautta, joka myöntää asiakasvarmenteet ennakkoon jaetun rekisteröintisalasanan tai -tunnuksen perusteella.

Liitännäinen, joka avaa omia verkkoyhteyksistä C2-taustajärjestelmään, on myös käytettävä TLS:ää varmenteen kiinnityksellä. Liitännäisen salliminen pudota selkokieliseen tiedonsiirtoon — vaikka väliaikaisesti kehityksen aikana — luo tavan, joka säilyy tuotannossa. Rakenna TLS-tuki ensimmäisestä päivästä lähtien.

Luokittelumerkinnät CoT:ssa

Luokiteltua dataa sisältävät CoT-tapahtumat käyttävät detail/classification-alielementtiä merkitsemään tapahtuman luokittelutasolla. ATAK:n standardi renderöinti ei visuaalisesti erota luokiteltuja luokittelemattomista tapahtumista — liitännäisen ja järjestelmänvalvojan vastuulla on varmistaa, että luokiteltuja tapahtumia lähetetään vain luokiteltujen verkkojen kautta ja tallennetaan vain hyväksytyille laitteille. Luokiteltuja ympäristöjä varten suunnitellun liitännäisen tulisi tarkistaa vastaanottamiensa tapahtumien luokittelu ennen niiden näyttämistä tai välittämistä, ja kieltäytyä välittämästä luokiteltuja tapahtumia järjestelmille, joilla ei ole lupaa vastaanottaa niitä.

Yleiset liitännäiskäyttötapaukset

Operatiivisesti arvokkaimmat ATAK-liitännäiset noudattavat toistuvaa mallia: ne yhdistävät erityisen datalähteen yhteiseen operatiiviseen kuvaan, vähentäen operaattorin seurattavien erillisten näyttöjen määrää.

UAV-videopeite. Liitännäinen vastaanottaa videovirran UAV GCS:ltä (maaohjausasemalta) RTSP:n tai HLS:n kautta ja näyttää sen ATAK-paneelissa. Samaan aikaan se vastaanottaa telemetriaa GCS:ltä — UAV:n sijainti, gimbaalin atsimuutti ja pystykulma, sensorin näkökenttä — ja renderöi jalanjälkimonikulmion ATAK-kartalle näyttämään tarkasti, mitä UAV-kamera tällä hetkellä katsoo. Operaattorit voivat napauttaa jalanjälkien sisällä olevaa pistettä saadakseen tarkat koordinaatit, mahdollistaen nopean kohteen siirtämisen ilman erillistä GCS-työasemaa.

SIGINT-kontaktien näyttö. Suuntimavastaanotin raportoi suuntalinjoja — suunnan tunnetusta keräyspisteestä kiinnostuksen kohteena olevaan lähettimeen. Liitännäinen muuntaa nämä CoT-suuntalinjatapahtumiksi ja näyttää ne ATAK-kartalla säteilylinjoina epävarmuuskartioilla. Kun kaksi tai useampaa suuntalinjaa leikkaa, liitännäinen voi laskea ja näyttää arvioidun lähettimen sijainnin. Tämä ominaisuus integroituu suoraan taktiseen kuvaan ilman erillistä SIGINT-työasemaa. Lisätietoja RF-datalähteiden integroinnista löytyy artikkelistamme taktisen radiosohjelmiston integroinnista.

Logistiikka- ja täydennysten seuranta. Logistiikkaliitännäinen yhdistää yksikön toimitusketjujärjestelmään ja näyttää täydennysajoneuvojen nykyisen sijainnin, niiden arvioidun saapumisajan etulinjaan ja kunkin ajoneuvon sisällön. Liitännäisen kautta lähetetyt täydennyspyynnöt generoivat jäsenneltyjä CoT-tehtäväntapahtumia, jotka kulkevat takaisin logistiikkajärjestelmään C2-yhdyskäytävän kautta, sulkien pyyntö-toimitus-silmukan ilman radiolla tapahtuvia puheluja.

Haavoittuneiden seuranta. Lääkinnällinen tilanneliitännäinen mahdollistaa lääkintämiehille haavoittumistapausten kirjaamisen — kategoria (kiireellinen, prioriteetti, tavanomainen), vamman mekanismi, annettu hoito, evakuointistatus — suoraan ATAK-kartalle loukkaantumispaikalle. Tapahtuma on CoT-piste lääkinnällisellä detail-lohkolla. Se kulkee pataljoonan lääkintäupseerin WinTAK-näytölle reaaliajassa ja medevac-koordinointijärjestelmään C2-yhdyskäytävän kautta, eliminoiden 9-rivisen radioilmoituksen ainoana tapana lähettää haavoittuneiden dataa taistelussa.

Tulitukipyynnöt. Digitaalinen tulivoima-liitännäinen automatisoi tulitukipyyntöjen valmistelun ja lähettämisen. Operaattori valitsee kohteen ATAK-kartalta, täyttää jäsennellyn pyyntölomakkeen (kohteen kuvaus, hyökkäystapa, vaarallisen lähellä -merkintä), ja liitännäinen generoi standardoidun CoT-tulivoimatapahtuman. Tapahtuma kulkee samanaikaisesti tulivoima-upseerin näytölle ja tulivoima-C2-järjestelmään ilman uudelleenkirjoittamista. Liitännäinen voi vastaanottaa tuli-pyyntöjen kuittaukset ja laukaisu-viestit tulivoima-C2:lta ja näyttää ne operaattorin laitteella.

Yksityiskohtainen käsittely siitä, miten CloudTAK toimii palvelinrunkona näille integraatioille verkottuneissa ympäristöissä, löytyy oppaastamme CloudTAK-API-integraatiosta.

Testaus ja käyttöönotto

ATAK-C2-integraatioliitännäisen testaaminen vaatii edustavan testiympäristön: TAK Server -instanssin, vähintään kaksi ATAK-laitetta (yksi tapahtumia generoiva, yksi niitä tarkkaileva) ja C2-järjestelmän testiinstanssin tai simulaattorin. Yleisimmät integraatiovirheet — vanhentuneet tapahtumat, jotka eivät päivity, UID-kaksoiskappaleet, käänteisvirran takaisilmoitussilmukat — ilmenevät vain kuormituksen alaisena useiden samanaikaisesti aktiivisten laitteiden kanssa.

Käyttöönotto hoidetaan TAK Server -datapakettien kautta. Datapaketti on ZIP-arkisto, joka sisältää liitännäis-APK:n, liitännäisen konfiguraatiotiedoston (esitäytettynä palvelinosoitteilla ja tunnistetiedoilla) ja TLS:ää varten tarvittavan CA-varmenteen. Operaattori asentaa datapaketin ATAK:n tuontihallinnan kautta, ja kaikki komponentit provisioidaan yhdessä vaiheessa. Tämä on huomattavasti luotettavampaa kuin manuaalinen APK-asennus ja varmenteen rekisteröinti kenttäolosuhteissa.

Akun kulutuksen testaus ansaitsee erityistä huomiota. Liitännäinen, joka ylläpitää pysyvää WebSocket-yhteyttä C2-API:iin, voi lisätä 15–25 % ylimääräistä akun kulutusta tyypillisellä kestävällä laitteella. Käytä Androidin battery historian -työkalua liitännäisen herätyslukkojen ja verkkoaktiivisuusmallin mittaamiseen ja optimointiin ennen käyttöönottoa. Operaattorit huomaavat — ja poistavat käytöstä — liitännäisen, joka tyhjentää laitteen akkua merkittävästi nopeammin kuin ATAK perustilanteessa.

TAKpilot on Corvus Intelligencen TAK-to-C2-integrointikerros — tuotantovalmis yhdyskäytävä, joka yhdistää ATAK- ja WinTAK-käyttöönotot C2-taustajärjestelmiin halliten CoT-kääntämistä, varmenteen hallintaa ja kaksisuuntaista jälkisynkronointia ilman mukautettua liitännäiskehitystä kullakin laitteella.

Tutustu TAKpilotiin →