Maskinoversættelse, ikke gennemgået af en modersmålstalende. Engelsk er referencen.

TidssynkroniseringRedigér på GitHubKilde: docs/HARDWARE-SAFETY.md

Hardwaresikkerhed: hvad Kshana gør med hardware, og hvad den aldrig gør

Status: ejerens juridiske gennemgang afventer. De juridiske noter nedenfor er vedligeholdernes læsning af offentlige kilder, skrevet, så en bruger ved, hvor grænserne går. De er ikke juridisk rådgivning, de er ikke gennemgået af en jurist, og lovgivningen er forskellig fra land til land. Læs dem som en grund til at spørge en jurist, ikke som en tilladelse.

Kshana er vejledende software til forskning, simulering og test. Den er ikke typegodkendt udstyr og vurderer eller godkender hverken en modtager, et ur eller et laboratorium. Se den vejledende erklæring i README.

Reglen#

Modtagelse er produktet. Udsendelse er aldrig en del af den åbne motor.

  • Kshana indeholder ingen kode, der styrer en sender. Der er ingen SDR-sendesti (intet sendekald til UHD, HackRF, bladeRF eller Soapy), og ingen jamming- eller spoofingsignalform skrives til en fil, der er beregnet til afspilning.
  • Filer, som Kshana skriver (IQ-scener, SigMF- og ION .sdrx-optagelser, NMEA- og bench-eksporter), beskriver simulerede, legitime signaler eller bevægelser, og de metadata, Kshana skriver for en scene, siger, at den er skrevet af kshana iq scene (ION .sdrx-kommentaren siger, at det er en simuleret scene, ikke en optagelse).
  • Hvor et eksperiment har brug for RF på en forsøgsbænk, frembringer operatørens eget udstyr det, i operatørens egen afskærmning og under operatørens egen tilladelse. Kshana registrerer, hvad operatøren siger er gjort, og udleder det aldrig.

Trin#

Hvert trin angiver, hvad Kshana gør, hvilken hardware der er involveret, hvem der udsender RF (hvis nogen), og den betingelse, der skal være opfyldt, før Kshana vil behandle resultatet som evidens.

Trin Kshanas rolle Hardware RF-emission Betingelse Status i 0,38
0 Filer: afspilningslogfiler, IQ, bench-eksporter, live NMEA eller UBX over stdin, TCP eller UDP ingen ingen ingen leveret
1 Passiv modtagelse: modtagere kun med læseadgang; tidslogfiler (linuxptp, chrony, TICC); IMU-CSV; iq monitor --follow på en voksende SigMF-fil brugerens modtagere, grandmaster, SDR i modtagetilstand ingen enhver konfigurationsskrivning til en modtager kræver en eksplicit --configure; standarden er kun læsning delvist leveret: formater for tidslogfiler, holdover-test, iq monitor --follow; seriel modtagerinput er planlagt
2 Laboratorieorkestrering uden RF fra Kshana: en specifikation af testbetingelser, operatørtrin (antennefrakobling, simulatorstart) med prompt og tidsstempel, scoring og evidens i en rundtur simulatorer ejet af laboratoriet, afskærmede bokse kun fra laboratoriets simulator, ledningsbåret en signeret lab-attestation (nedenfor) registreret i bevispakken; Kshana nægter at score en laboratoriekørsel uden den registreringen er implementeret i bevispakker; nægtelsen af at score uden den er det endnu ikke (der findes ingen kommando til laboratoriekørsler)
3 Ledningsbåret afspilning af legitime GNSS IQ-scener: Kshana skriver scenefilen, og brugeren afspiller den med sit eget værktøj ind i et kabel med dæmpere og et testobjekt i en RF-afskærmning brugerens SDR, dæmpere, afskærmning kun ledningsbåret, brugerens ansvar ingen sendekode i den åbne motor; signalformer til interferens og spoofing forbliver uden for omfanget; eksportkontrolgennemgang; jurist ikke i den åbne motor; et punkt for den kommercielle udgave, der skal gennemføres sammen med en jurist
4 Lukket RF-hardware-in-the-loop i realtid partnerudstyr partner integrer i stedet gennem specifikationen for trin 2 ikke planlagt

"Leveret" betyder, at koden er i denne udgivelse. Intet i denne tabel siger, at noget trin er brugt sammen med nogen partner, noget laboratorium eller nogen myndighed; det er ingen af dem.

Principper#

  1. Modtagelse er produktet, og udsendelse er aldrig i den åbne kode.
  2. Hver hardwaresession giver en bevispakke med hashværdier af inputtet, betingelserne og de tærskler, der er brugt.
  3. En attestering af ledningsbåret eller afskærmet opsætning registreres, aldrig udledes.
  4. Tal, der kommer fra hardware, forbliver MODELLED, indtil en uafhængig ekstern reference er enig (for eksempel en referencebane fra et laboratorium eller et referenceur). En tærskel, der er fastsat på forhånd, løsnes ikke efter en kørsel.
  5. Antenner med kontrollerede mønstre, inertienheder og atomure i chipstørrelse behandles som datakilder (mønstre, logfiler, offentliggjorte stabilitetskurver), ikke som enheder, Kshana styrer.
  6. Formulering: et resultat er "målt mod masken" eller "leverer belæg for" et krav. Kshana siger ikke, at et udstyr lever op til en standard, og ingen har vurderet eller godkendt det.

At modtage GNSS-signaler er lovligt næsten overalt. At udsende i GNSS-bånd er det ikke.

  • USA. Forsætlig forstyrrelse af radiokommunikation er forbudt efter 47 U.S.C. §333, og FCC håndhæver mod jammere (https://www.fcc.gov/general/jammer-enforcement). En udsendelse fra en forsøgsbænk kan række ud over bænken.
  • Andre steder. Vedligeholderne har ikke gennemgået andre landes lovgivning. Fællesskabet omkring gps-sdr-sim oplyser, at det er forbudt ved lov i de fleste lande at udsende dets output; betragt det som arbejdsantagelsen overalt, hvor en jurist ikke har sagt andet.
  • En afskærmet eller ledningsbåret opsætning er en sikring, ikke en tilladelse. Attesteringen nedenfor registrerer den sikring, operatøren siger var på plads. Den gør ikke en emission lovlig.
  • Optagelse. Optagelse af radiosignaler kan rejse spørgsmål om privatliv og lovlighed visse steder. iq monitor --follow og enhver optagelsesopskrift er kun til modtagelse, og operatøren er ansvarlig for, hvor og hvad der optages.
  • Eksportkontrol. Hardware-in-the-loop-software, der styrer signalgeneratorer, kan være omfattet af eksportkontrolregler. Derfor er trin 3 uden for den åbne motor.
  • Intet her er en tilslutning eller en aftale. Ingen myndighed, intet testområde, intet laboratorium og ingen leverandør er blevet hørt om dette dokument eller har accepteret noget i det.

Feltet lab-attestation#

For trin 2 og derover bærer en kørsel, der involverede laboratorieudstyr, et lab-attestation-objekt, registreret i bevispakken ved siden af hashværdierne af inputtet. Det er en erklæring fra en navngiven operatør, ikke en måling, og Kshana verificerer den ikke.

[lab-attestation]                                     # or the same keys at the top level of the file
operator = "name or role of the person responsible"   # required
organisation = "laboratory or company"                # required
date = "2026-11-02"                                   # required, the day of the session
setup = "conducted"                                   # required: "conducted" or "shielded"
attenuation_db = 60.0                                 # required for "conducted": total, emitter to device
enclosure = "RF-shielded box, model and ID"           # required for "shielded"
emitter = "laboratory-owned simulator, model"         # required: what produced any RF
statement = "No emission outside the enclosure or cable path."   # required, free text
signature = "ed25519:..."                             # optional: the operator's own detached signature, recorded as given

Hvad der er implementeret i 0,38:

  • kshana receiver-trust evidence ... --lab-attestation <file.toml> validerer filen og registrerer attesteringen i pakkens manifest.json. Manifestet er dækket af pakkens Ed25519-signatur, så registreringen ikke kan redigeres uden at bryde verifikationen. Det samme er tilgængeligt som argumentet lab_attestation til Python-funktionen evidence_create og argumentet lab_attestation_toml til MCP-værktøjet create_evidence_pack (browserudgaven opretter ikke pakker).
  • En pakke lavet uden en attestering er byte for byte, hvad den var før.
  • kshana evidence verify rapporterer attesteringen og siger, at den er "attested by the named operator; not verified by Kshana".
  • En attestering, der er ufuldstændig, eller hvis setup hverken er conducted eller shielded (en opsætning over luften accepteres ikke som en laboratoriekørsel), afvises, og der oprettes ingen pakke.

Hvad der ikke er implementeret endnu: reglen for trin 2 om, at Kshana nægter at score en laboratoriekørsel uden attestering. Ingen kommando tager et flag for laboratoriekørsel i 0,38, så der er intet at nægte; reglen kommer med kommandoerne til laboratorieorkestrering. En attestering registrerer operatørens erklæring om en sikring. Den gør ingen emission lovlig, og den ændrer ikke et resultats mærkning: en scoret laboratoriekørsel er MODELLED, medmindre en ekstern reference er enig.

Hvad det betyder for en bidragyder#

  • Tilføj ikke en sendesti, en sendeafhængighed eller et sendeeksempel til den åbne motor.
  • Tilføj ikke en signalgenerator, hvis output er et jamming- eller spoofingsignal beregnet til afspilning.
  • Nye hardwareinput er som standard kun til læsning; en skrivning kræver et eksplicit flag og en linje i denne fil.
  • En ny kommando, der berører hardware, kommer på alle flader eller markeres N/A med en begrundelse i SURFACES.md og angiver sit trin her.