Hardwareveiligheid: wat Kshana met hardware doet en wat het nooit doet
Status: juridische beoordeling door de eigenaar nog in behandeling. De juridische opmerkingen hieronder zijn de lezing van de beheerders van openbare bronnen, geschreven zodat een gebruiker weet waar de grenzen liggen. Het is geen juridisch advies, ze zijn niet beoordeeld door een jurist en de wet verschilt per land. Lees ze als reden om een jurist te raadplegen, niet als toestemming.
Adviserende software voor onderzoek, simulatie en test. Het is geen typegoedgekeurde apparatuur en beoordeelt of keurt geen ontvanger, klok of laboratorium goed. Zie de adviserende verklaring in de README.
De regel#
Ontvangen is het product. Zenden zit nooit in de open engine.
- Kshana bevat geen code die een zender aanstuurt. Er is geen zendpad voor SDR (geen zendaanroep van UHD, HackRF, bladeRF of Soapy), en er wordt geen jamming- of spoofinggolfvorm geschreven naar een bestand dat bedoeld is om te worden afgespeeld.
- Bestanden die Kshana schrijft (IQ-scènes, SigMF- en ION-
.sdrx-opnamen, NMEA- en bench-exports) beschrijven gesimuleerde, legitieme signalen of bewegingen, en de metadata die Kshana voor een scène schrijft vermeldt dat zij doorkshana iq sceneis geschreven (de ION-.sdrx-opmerking zegt dat het een gesimuleerde scène is en geen opname). - Waar een experiment RF op een bench nodig heeft, wordt die geproduceerd door de eigen apparatuur van de exploitant, in de eigen behuizing van de exploitant, onder de eigen machtiging van de exploitant. Kshana legt vast wat de exploitant zegt te hebben gedaan en leidt dat nooit zelf af.
Fasen#
Elke fase noemt wat Kshana doet, welke hardware erbij betrokken is, wie RF uitzendt (als iemand dat doet) en de voorwaarde die moet gelden voordat Kshana het resultaat als bewijs behandelt.
| Fase | Rol van Kshana | Hardware | RF-uitzending | Voorwaarde | Status in 0,38 |
|---|---|---|---|---|---|
| 0 | Bestanden: replaylogboeken, IQ, bench-exports, live NMEA of UBX via stdin, TCP of UDP | geen | geen | geen | geleverd |
| 1 | Passief ontvangen: ontvangers uitsluitend lezend; tijdsynchronisatielogboeken (linuxptp, chrony, TICC); IMU-CSV; iq monitor --follow op een groeiend SigMF-bestand |
de ontvangers van de gebruiker, grandmaster, SDR in ontvangst | geen | elke configuratieschrijfactie naar een ontvanger vereist een expliciete --configure; standaard is alleen lezen |
gedeeltelijk geleverd: formaten van tijdsynchronisatielogboeken, holdover-test, iq monitor --follow; seriële ontvangeringang is gepland |
| 2 | Laborganisatie zonder RF van Kshana: een specificatie van de testomstandigheden, stappen van de exploitant (antenne loskoppelen, simulator starten) die worden gevraagd en van een tijdstempel voorzien, scoren van de rondgang en bewijs | simulators van het lab zelf, afgeschermde dozen | uitsluitend door de simulator van het lab, geleid | een ondertekende lab-attestation (hieronder) die in het bewijspakket is vastgelegd; Kshana weigert een labrun te scoren zonder die |
de vastlegging is geïmplementeerd in bewijspakketten; de weigering om zonder te scoren is dat nog niet (er bestaat geen opdracht voor labruns) |
| 3 | Geleide replay van legitieme GNSS-IQ-scènes: Kshana schrijft het scènebestand en de gebruiker speelt het met een eigen hulpmiddel af in een kabel met verzwakkers en een te testen apparaat in een RF-behuizing | de SDR, verzwakkers en behuizing van de gebruiker | uitsluitend geleid, de verantwoordelijkheid van de gebruiker | geen zendcode in de open engine; golfvormen voor interferentie en spoofing blijven buiten de reikwijdte; beoordeling van exportcontrole; jurist | niet in de open engine; een onderdeel van de commerciële uitgave dat samen met een jurist moet worden uitgevoerd |
| 4 | Realtime closed-loop RF-hardware-in-the-loop | apparatuur van de partner | partner | integreer in plaats daarvan via de specificatie van fase 2 | niet gepland |
"Geleverd" betekent dat de code in deze release zit. Niets in deze tabel zegt dat een fase met een partner, laboratorium of autoriteit is gebruikt; dat is niet gebeurd.
Principes#
- Ontvangen is het product en zenden zit nooit in de open code.
- Elke hardwaresessie levert een bewijspakket op met hashes van de invoer, de omstandigheden en de gebruikte drempels.
- Een attestatie van geleide of afgeschermde opstelling wordt vastgelegd en nooit afgeleid.
- Getallen die van hardware komen blijven MODELLED totdat een onafhankelijke externe referentie ermee instemt (bijvoorbeeld een referentietraject van een laboratorium of een referentieklok). Een vooraf vastgelegde drempel wordt na een run niet versoepeld.
- Antennes met gestuurde patronen, inertiële eenheden en atoomklokken op chipschaal worden behandeld als gegevensbronnen (patronen, logboeken, gepubliceerde stabiliteitscurves) en niet als apparaten die Kshana aanstuurt.
- Formulering: een resultaat is "gemeten tegen het masker" of "levert bewijs voor" een eis. Kshana zegt niet dat een apparaat aan een norm voldoet, en niemand heeft het beoordeeld of goedgekeurd.
Juridische opmerkingen (juridische beoordeling door de eigenaar nog in behandeling)#
GNSS-signalen ontvangen is bijna overal legaal. Zenden in GNSS-banden is dat niet.
- Verenigde Staten. Opzettelijke interferentie met radiocommunicatie is verboden krachtens 47 U.S.C. §333, en de FCC treedt op tegen jammers (https://www.fcc.gov/general/jammer-enforcement). Een uitzending vanaf een bench kan verder reiken dan de bench.
- Elders. De beheerders hebben de wetgeving van andere landen niet beoordeeld. De gemeenschap rond gps-sdr-sim stelt dat het uitzenden van de uitvoer ervan in de meeste landen bij wet verboden is; beschouw dat als de werkhypothese overal waar een jurist niets anders heeft gezegd.
- Een afgeschermde of geleide opstelling is een waarborg, geen vergunning. De attestatie hieronder legt de waarborg vast die volgens de exploitant aanwezig was. Ze maakt een uitzending niet rechtmatig.
- Opnemen. Het opnemen van radiosignalen kan op sommige plaatsen vragen over privacy en wettigheid oproepen.
iq monitor --followen elk opnamerecept zijn uitsluitend ontvangend, en de exploitant is verantwoordelijk voor waar en wat hij opneemt. - Exportcontrole. Hardware-in-the-loop-software die signaalgeneratoren aanstuurt, kan onder exportcontroleregels vallen. Daarom valt fase 3 buiten de open engine.
- Niets hier is een onderschrijving of een overeenkomst. Geen toezichthouder, testterrein, laboratorium of leverancier is over dit document geraadpleegd of is het eens met iets daarin.
Het veld lab-attestation#
Voor fase 2 en hoger bevat een run waarbij laboratoriumapparatuur is gebruikt een object lab-attestation, vastgelegd in het bewijspakket naast de hashes van de invoer. Het is een verklaring van een genoemde exploitant, geen meting, en Kshana verifieert haar niet.
[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
Wat in 0,38 is geïmplementeerd:
kshana receiver-trust evidence ... --lab-attestation <file.toml>valideert het bestand en legt de attestatie vast in demanifest.jsonvan het pakket. Het manifest valt onder de Ed25519-handtekening van het pakket, zodat de vastlegging niet kan worden gewijzigd zonder de verificatie te breken. Hetzelfde is beschikbaar als het argumentlab_attestationvan de Python-functieevidence_createen het argumentlab_attestation_tomlvan het MCP-hulpmiddelcreate_evidence_pack(de browserbuild maakt geen pakketten).- Een pakket zonder attestatie is byte voor byte gelijk aan wat het eerder was.
kshana evidence verifymeldt de attestatie en zegt dat ze "bevestigd is door de genoemde exploitant; niet geverifieerd door Kshana".- Een attestatie die onvolledig is, of waarvan
setupnochconductednochshieldedis (een opstelling via de lucht wordt niet als labrun geaccepteerd), wordt geweigerd en er wordt geen pakket gemaakt.
Wat nog niet is geïmplementeerd: de regel van fase 2 dat Kshana weigert een labrun zonder attestatie te scoren. Geen enkele opdracht kent in 0,38 een vlag voor labruns, dus er valt niets te weigeren; de regel komt met de opdrachten voor laborganisatie. Een attestatie legt de verklaring van de exploitant over een waarborg vast. Ze maakt geen enkele uitzending rechtmatig en wijzigt het label van een resultaat niet: een gescoorde labrun is MODELLED, tenzij een externe referentie ermee instemt.
Wat dit betekent voor een bijdrager#
- Voeg geen zendpad, geen zendafhankelijkheid en geen zendvoorbeeld toe aan de open engine.
- Voeg geen golfvormgenerator toe waarvan de uitvoer een jamming- of spoofingsignaal is dat bedoeld is om te worden afgespeeld.
- Nieuwe hardware-ingangen zijn standaard alleen lezend; schrijven vereist een expliciete vlag en een regel in dit bestand.
- Een nieuwe opdracht die hardware aanraakt, komt op elk oppervlak of wordt met een reden als N/A gemarkeerd in
SURFACES.md, en vermeldt hier haar fase.