Konekäännös, jota äidinkielinen puhuja ei ole tarkistanut. Viitteenä on englanninkielinen versio.

Vastaanottimen luottamus ja meriliikenneMuokkaa GitHubissaLähde: docs/JAMMERTEST.md

Jammertest-pisteytys: julkaistu suunnitelma aikataulutettuna totuutena

kshana jammertest import lukee Jammertestin testiluettelon ja lähetyssuunnitelman ja muuttaa yhden testialueen aikavälit vastaanottimen luottamuksen kohteiksi [[events]]. kshana jammertest score ajaa vastaanottimen lokin luottamusmonitorien läpi ja pisteyttää sen tätä aikataulua vastaan testi kerrallaan. Jokainen tulos on MODELLED: aikataulu kertoo, milloin testi oli suunniteltu, ei sitä, milloin lähetin oli päällä.

Ohjeellinen ohjelmisto, ei tyyppihyväksytty navigointilaite (IEC 61108, IEC 61162): käyttäjä vastaa edelleen aluksen navigoinnista. Norjan tielaitos (Norwegian Public Roads Administration), Nkom tai tapahtuman järjestäjät eivät hyväksy mitään tässä esitettyä; mitään sopimusta niiden kanssa ei väitetä.

Yhden synteettisen vastaanottimen lokin pisteytys kolmen testin aikataulua vastaan, moottorin v0.40.0 todellisesta ajosta (`kshana jammertest score`). Loki on keksitty: 1800 s NMEA:a, jossa on 20 dB:n C/N0-lasku kahden jakson ajan. Aikataulussa on kolme aikaväliä; keskimmäisellä aikavälillä lokissa ei ole häirintälähetintä. Pisteytys merkitsee havaituiksi 2 testiä kaikkiaan 3 testistä (mediaaniviive 0 s) ja 1 jäi havaitsematta, ja väärän hälytyksen ajoja on 0 0,25 h:n puhtaan ajan aikana. Mikään tässä ei kerro mitään todellisesta vastaanottimesta. Ohjeellinen ohjelmisto, ei tyyppihyväksytty navigointilaite (IEC 61108, IEC 61162): käyttäjä vastaa edelleen aluksen navigoinnista.Yhden synteettisen vastaanottimen lokin pisteytys kolmen testin aikataulua vastaan, moottorin v0.40.0 todellisesta ajosta (`kshana jammertest score`). Loki on keksitty: 1800 s NMEA:a, jossa on 20 dB:n C/N0-lasku kahden jakson ajan. Aikataulussa on kolme aikaväliä; keskimmäisellä aikavälillä lokissa ei ole häirintälähetintä. Pisteytys merkitsee havaituiksi 2 testiä kaikkiaan 3 testistä (mediaaniviive 0 s) ja 1 jäi havaitsematta, ja väärän hälytyksen ajoja on 0 0,25 h:n puhtaan ajan aikana. Mikään tässä ei kerro mitään todellisesta vastaanottimesta. Ohjeellinen ohjelmisto, ei tyyppihyväksytty navigointilaite (IEC 61108, IEC 61162): käyttäjä vastaa edelleen aluksen navigoinnista.

Suunnitelma ja luettelo#

Lähde: Norjan tielaitoksen (Norwegian Public Roads Administration) arkisto NPRA/jammertest-plan (https://github.com/NPRA/jammertest-plan), MIT-lisenssi (tekijänoikeus 2024 Norwegian Public Roads Administration; lisenssiteksti tarkistetaan tiedostossa xval/jammertest-plan/MANIFEST.tsv). Tiedostot haetaan, ei koskaan sisällytetä mukaan:

xval/jammertest-plan/fetch.sh <dest-dir-outside-the-repo>

Se lataa luettelot ja 2025 suunnitelmatiedostot kiinnitetyllä commitilla 75c0b2ceea10e470c3799d14a8ef18842d8375a7 ja hylkää jokaisen tiedoston, jonka SHA-256 eroaa tiedostosta xval/jammertest-plan/MANIFEST.tsv.

Luettelotestillä on pisteillä erotettu tunniste, type.group.test (esimerkiksi 1.2.5: tyyppi 1 jamming, ryhmä 2, testi 5). Suunnitelma luettelee testialuetta ja aikaväliä kohden, mikä tunniste on aikataulutettu. Tyypit 1 (jamming), 2 (spoofing) ja 3 (meaconing) lähettävät; tyyppi 0 (tiedotustilaisuudet, lisäaika, varaukset ja ad hoc -aikavälit) ei lähetä, ja se ohitetaan. Suunnitelman ajat ovat paikallista seinäkelloaikaa; --local-offset-h (oletus 2, CEST) kertoo, kuinka kaukana ne ovat UTC:stä. Suunnitelmatiedostoissa on testiyhteyshenkilön kenttä, jossa on henkilön nimi: sitä ei koskaan lueta, eikä siitä johdettua kirjoiteta mihinkään.

Tuonti#

kshana jammertest import --catalog testcatalog2025.json \
    --plan plan-tuesday-2025-09-16.json --plan plan-wednesday-2025-09-17.json \
    --location 1 --log receiver.ubx --format ubx --out events.toml

--log-start <UTC time> korvaa asetukset --log/--format, kun loki ei ilmoita alkuaan. Tuloste on TOML [[events]], joka liitetään vastaanottimen luottamuksen skenaarioon; jokainen nimike alkaa scheduled truth: ja sisältää painosvuoden, luettelotunnisteen ja alueen, ja otsikko tallentaa jokaisen lähdetiedoston SHA-256:n. --attack-log <scenario.json> lukee sen sijaan yhden JammerTest 2024 -aineiston kansion tapahtumatotuuden (sen attack_log, aikaleimat siirretty asetuksella --time-shift-h, oletus -2: niissä lukee Z, mutta ne ovat paikallista aikaa).

Pisteytys#

kshana jammertest score session.toml --catalog testcatalog2025.json --plan plan-....json \
    --location 1 [--json] [--key signer.key --out pack/]

session.toml on vastaanottimen luottamuksen skenaario ([log] format/path, valinnaiset [monitors], [compare]). Sen omat [[events]] korvataan tuodulla aikataululla. Aikataulutettua testiä kohden:

kenttä merkitys
outcome detected (hälytys 10 s:n sisällä, oletus compare.detect_tol_s, suunnitellusta alusta), late (myöhemmin, aikavälin sisällä), missed (ei yhtään), not-evaluable
latency_s ensimmäinen hälytys miinus suunniteltu alku
time_to_recover_s aikavälin lopusta ensimmäisen vähintään --recover-hold-s (10 s) pituisen hälytyksettömän jakson alkuun ennen seuraavaa testiä

Testi on pisteytettävissä vain, jos se alkaa vähintään calibration_s + guard_s sen jälkeen, kun loki alkoi; loki, jossa on aikaisempi testi, merkitään baseline_contaminated (lähtötaso on voinut muodostua häiriön aikana). Väärät hälytykset ovat hälyttäviä kalibroinnin jälkeisiä ajanhetkiä kaikkien aikavälien ulkopuolella, kun aikavälejä on laajennettu asetuksella --guard-s (60 s) ennen ja jälkeen (tai palautumispisteen jälkeen), laskettuna ajanhetkinä ja ajoina, sekä ajoja tunnissa puhdasta aikaa kohden. Kun käytössä ovat --key ja --out, ajo kirjoitetaan allekirjoitettuna todistepakettina (docs/EVIDENCE-PACKS.md): tuloskortti ja tuotu aikataulu ovat tiedoston config.json sisällä, siis hajautusketjun ja allekirjoituksen sisällä. Paketti on tekninen tallenne, ei oikeudellinen lausunto.

Mitä tulos ei kerro#

  • Suunniteltu aikaväli ei ole lähetystallenne. Lähetin on voinut käynnistyä myöhään, pysähtyä aikaisin tai ei koskaan toimia; ”havaitsematta jäänyt” testi voi olla testi, jota ei lähetetty, ja viive lasketaan suunnitellusta alusta.
  • ”Puhdas” ajanhetki on ”suunniteltujen aikavälien ulkopuolella”, ei ”todistetusti häiriötön”.
  • Mittausalueen monitorien tekemä havaitseminen ei kerro mitään matalatehoisen koherentin harhauttimen havaitsemisesta.
  • Mikään ulkoinen oraakkeli ei ilmoita todellisia lähetysaikoja, joten mikään tässä ei ole VALIDATED.

Vuoden 2024 aineistoajo (ennakkorekisteröity)#

Tiedosto xval/jammertest-score/PREREGISTRATION.md kiinnitti populaation, määritelmät ja kynnykset ennen ensimmäistä pisteytettyä ajoa; tiedosto xval/jammertest-score/RESULTS.md tallentaa sen ajon. Tulos: rekisteröity datan vähimmäismääräsääntö ei täyttynyt (4 pisteytettävää jamming-ikkunaa 4 kansiosta, kun kansioita, joissa on .ubx, oli 12: 5 kansiota pudotettiin lähtötasosäännön vuoksi ja 3 UBX-lokissa alku ilmoitetaan vain GPS-viikon sekunteina), joten mitään kynnystä ei voida arvioida. Mitään ei löysätty eikä ajettu uudelleen. v2 (PREREGISTRATION-v2.md, commitoitu yksinään ennen sen ajoa; vain datan käsittelyä, samat kynnykset ja datan vähimmäismääräsääntö) sijoitti vain GPS-ajan sisältävät lokit kansion päivämäärästä, pisteytti 12 vain CSV:tä sisältävää kansiota ja käytti liikkuvan alustan istuntoa liikkuville roverille. Tulos (RESULTS-v2.md): 24 kansiosta säilytettiin 14, mutta vain 7 pisteytettävää jamming-ikkunaa, joten datan vähimmäismääräsääntö ei jälleen täyttynyt ja mitään kynnystä ei voida arvioida. V1:n tulos on muuttumaton. Vain kuvailevasti: 7 jamming-ikkunasta 3 hälytti 10 s:n sisällä ja 4 myöhemmin, yksikään ei jäänyt havaitsematta; mediaaniviive 18 s; puhdas hälytysosuus 0,089. Sitova rajoite on nyt lähtötasosääntö, joka poistaa 10 kansiota; uusi rekisteröinti vaatisi eri säännön varhaisille ikkunoille. Aineisto (JammerTest 2024, Zenodo 15911589, GPL-3.0-or-later) haetaan skriptillä xval/oracles/setup.sh, eikä sitä koskaan sisällytetä mukaan; testi tests/jammertest_score_2024.rs kiinnittää tallennetun ajon, kun KSHANA_JAMMERTEST_DIR osoittaa purettuun aineistoon.

SimulaMetin 2025 NMEA-aineisto#

SimulaMetin Jammertest 2025 NMEA-johdettua aineistoa (IEEE DataPort, DOI 10.21227/a7v4-xw11) ei ole sovitettu versiossa 0,38. Sen sivu ei ilmoita lisenssiä ja toteaa ”This dataset requires an IEEE DataPort Subscription to access”: ehdot eivät selvästi salli uudelleenjakelua tai automaattista hakua, joten sovitinta tai hakuskriptiä ei kirjoitettu. Sen käyttö vaatii omistajan päätöksen ja mieluiten tekijöiden kirjallisen suostumuksen.

Pinnat#

CLI, Rust (kshana::jammertest), Python (jammertest_import, jammertest_score), WebAssembly (samat nimet), samannimiset MCP-työkalut sekä komento /kshana-jammertest ja taito jammertest. Allekirjoitettu paketti on vain komentorivillä (se tarvitsee allekirjoitusavaimen). Katso docs/SURFACES.md.