Maskinoversettelse, ikke gjennomgått av en morsmålsbruker. Engelsk er referansen.

Mottakertillit og maritimtRediger på GitHubKilde: docs/JAMMERTEST.md

Jammertest-poengsetting: den publiserte planen som planlagt referanse

kshana jammertest import leser testkatalogen og sendeplanen fra Jammertest og gjør ett testområdes tidsluker om til [[events]] for mottakertillit. kshana jammertest score kjører en mottakerlogg gjennom tillitsmonitorene og poengsetter den mot den tidsplanen, test for test. Hvert resultat er MODELLED: tidsplanen sier når en test var planlagt, ikke når en sender var på.

Veiledende programvare, ikke typegodkjent navigasjonsutstyr (IEC 61108, IEC 61162): operatøren er fortsatt ansvarlig for fartøyets navigasjon. Ingenting her er støttet av Statens vegvesen (Norwegian Public Roads Administration), Nkom eller arrangørene av hendelsen; ingen avtale med dem hevdes.

Poengsetting av én syntetisk mottakerlogg mot en tidsplan med tre tester, fra en ekte kjøring av motoren v0.40.0 (`kshana jammertest score`). Loggen er funnet på: 1800 s med NMEA med et fall på 20 dB C/N0 over to intervaller. Tidsplanen har tre tidsluker; den midterste tidsluken har ingen jammer i loggen. Poengsettingen markerer 2 av 3 tester som oppdaget (median ventetid 0 s) og 1 som bommet, med 0 kjøringer med falsk alarm over 0,25 time ren tid. Ingenting her sier noe om en ekte mottaker. Veiledende programvare, ikke typegodkjent navigasjonsutstyr (IEC 61108, IEC 61162): operatøren er fortsatt ansvarlig for fartøyets navigasjon.Poengsetting av én syntetisk mottakerlogg mot en tidsplan med tre tester, fra en ekte kjøring av motoren v0.40.0 (`kshana jammertest score`). Loggen er funnet på: 1800 s med NMEA med et fall på 20 dB C/N0 over to intervaller. Tidsplanen har tre tidsluker; den midterste tidsluken har ingen jammer i loggen. Poengsettingen markerer 2 av 3 tester som oppdaget (median ventetid 0 s) og 1 som bommet, med 0 kjøringer med falsk alarm over 0,25 time ren tid. Ingenting her sier noe om en ekte mottaker. Veiledende programvare, ikke typegodkjent navigasjonsutstyr (IEC 61108, IEC 61162): operatøren er fortsatt ansvarlig for fartøyets navigasjon.

Planen og katalogen#

Kilde: repositoriet NPRA/jammertest-plan fra Statens vegvesen (Norwegian Public Roads Administration) (https://github.com/NPRA/jammertest-plan), MIT-lisens (opphavsrett 2024 Norwegian Public Roads Administration; lisensteksten er kontrollert i xval/jammertest-plan/MANIFEST.tsv). Filene hentes, medleveres aldri:

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

Den laster ned katalogene og planfilene for 2025 ved den festede commit-en 75c0b2ceea10e470c3799d14a8ef18842d8375a7 og avviser enhver fil der SHA-256 avviker fra xval/jammertest-plan/MANIFEST.tsv.

En katalogtest har en id med punktum, type.group.test (for eksempel 1.2.5: type 1 jamming, gruppe 2, test 5). Planen lister, per testområde og tidsluke, hvilken id som er planlagt. Typene 1 (jamming), 2 (spoofing) og 3 (meaconing) sender; type 0 (orienteringer, karensperiode, booking og ad hoc-tidsluker) sender ikke og hoppes over. Plantidene er lokal veggklokketid; --local-offset-h (standard 2, CEST) sier hvor langt de er fra UTC. Planfilene har et felt for testkontakt med en persons navn: det leses aldri, og ingenting avledet av det skrives.

Import#

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> erstatter --log/--format når loggen ikke oppgir starten sin. Utdataene er TOML-[[events]] som skal føyes til et scenario for mottakertillit; hver etikett begynner med scheduled truth: og har utgaveåret, katalog-id-en og området, og hodet registrerer SHA-256 for hver kildefil. --attack-log <scenario.json> leser i stedet hendelsesreferansen for én mappe i datasettet JammerTest 2024 (dets attack_log, tidsstempler forskjøvet med --time-shift-h, standard -2: de sier Z men er lokal tid).

Poengsetting#

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

session.toml er et scenario for mottakertillit ([log] format/path, valgfri [monitors], [compare]). Dets egne [[events]] erstattes av den importerte tidsplanen. Per planlagt test:

felt betydning
outcome detected (en alarm innenfor compare.detect_tol_s, standard 10 s, fra planlagt start), late (senere, innenfor tidsluken), missed (ingen), not-evaluable
latency_s første alarm minus planlagt start
time_to_recover_s fra slutten av tidsluken til starten av den første strekningen på minst --recover-hold-s (10 s) uten alarm, før neste test

En test kan bare poengsettes hvis den starter minst calibration_s + guard_s etter at loggen begynte; en logg med en tidligere test flagges baseline_contaminated (grunnlinjen kan være dannet under interferens). Falske alarmer er alarmerende epoker etter kalibreringen utenfor hver tidsluke utvidet med --guard-s (60 s) før og etter (eller etter gjenopprettingspunktet), talt som epoker og som kjøringer, med kjøringer per time ren tid. Med --key og --out skrives kjøringen som en signert bevispakke (docs/EVIDENCE-PACKS.md): resultatkortet og den importerte tidsplanen ligger inne i config.json, altså innenfor hashkjeden og signaturen. En pakke er en teknisk oppføring, ikke en juridisk vurdering.

Hva et resultat ikke sier#

  • En planlagt tidsluke er ikke en registrering av sendingen. En sender kan ha startet sent, stoppet tidlig eller aldri vært på; en «missed» test kan være en test som ikke sendte, og en ventetid regnes fra planlagt start.
  • En «ren» epoke er «utenfor de planlagte tidslukene», ikke «bevist fri for interferens».
  • Deteksjon med monitorer i måledomenet sier ingenting om å oppdage en koherent spoofer med lav effekt.
  • Ingen ekstern uavhengig referanse oppgir de sanne sendetidene, så ingenting her er VALIDATED.

Kjøringen på datasettet for 2024 (forhåndsregistrert)#

xval/jammertest-score/PREREGISTRATION.md fastsatte populasjonen, definisjonene og tersklene før den første poengsatte kjøringen; xval/jammertest-score/RESULTS.md registrerer den kjøringen. Resultat: den registrerte regelen om minstedata sviktet (4 poengsettbare jamming-vinduer fra 4 av de 12 .ubx-mappene: 5 mapper ble droppet av grunnlinjeregelen og 3 UBX-logger oppgir starten bare som GPS-ukestid), så ingen terskel kan vurderes. Ingenting ble løsnet på eller kjørt på nytt. v2 (PREREGISTRATION-v2.md, innsjekket alene før sin kjøring; bare databehandling, de samme tersklene og regelen om minstedata) plasserte loggene med bare GPS-tid fra mappedatoen, poengsatte de 12 mappene med bare CSV og brukte en økt for bevegelig plattform for de bevegelige roverne. Resultat (RESULTS-v2.md): 14 av 24 mapper beholdt, men bare 7 poengsettbare jamming-vinduer, så regelen om minstedata sviktet igjen og ingen terskel kan vurderes. Resultatet fra v1 er uendret. Bare beskrivende: 3 av 7 jamming-vinduer ga alarm innenfor 10 s, 4 senere, ingen bommet; median ventetid 18 s; alarmrate i ren tid 0,089. Den bindende begrensningen er nå grunnlinjeregelen, som fjerner 10 mapper; en ny registrering ville trenge en annen regel for tidlige vinduer. Datasettet (JammerTest 2024, Zenodo 15911589, GPL-3.0-or-later) hentes av xval/oracles/setup.sh og medleveres aldri; testen tests/jammertest_score_2024.rs fester den registrerte kjøringen når KSHANA_JAMMERTEST_DIR peker på det utpakkede datasettet.

NMEA-datasettet fra SimulaMet for 2025#

NMEA-avledet datasett for SimulaMet Jammertest 2025 (IEEE DataPort, DOI 10.21227/a7v4-xw11) er ikke tilpasset i 0,38. Siden oppgir ingen lisens og sier «This dataset requires an IEEE DataPort Subscription to access»: vilkårene tillater ikke tydelig videredistribusjon eller automatisk henting, så ingen adapter eller hentescript er skrevet. Bruk krever eierens beslutning og helst forfatternes skriftlige samtykke.

Flater#

CLI, Rust (kshana::jammertest), Python (jammertest_import, jammertest_score), WebAssembly (de samme navnene), MCP-verktøy med de samme navnene, og kommandoen /kshana-jammertest og ferdigheten jammertest. Den signerte pakken finnes bare på kommandolinjen (den trenger en signeringsnøkkel). Se docs/SURFACES.md.