Bezpečnost hardwaru: co Kshana s hardwarem dělá a co nikdy nedělá
Stav: čeká se na právní posouzení vlastníkem. Níže uvedené právní poznámky jsou výklad veřejných zdrojů ze strany správců, napsaný tak, aby uživatel věděl, kde jsou meze. Nejsou právní radou, neposoudil je právník a právo se v jednotlivých zemích liší. Berte je jako důvod zeptat se právníka, nikoli jako svolení.
Kshana je software pouze poradního charakteru pro výzkum, simulaci a testování. Není to typově schválené zařízení a nehodnotí ani neschvaluje přijímač, hodiny ani laboratoř. Viz poradní prohlášení v README.
Pravidlo#
Příjem je produkt. Vysílání není nikdy v otevřeném enginu.
- Kshana neobsahuje žádný kód, který by ovládal vysílač. Neexistuje žádná vysílací cesta SDR (žádné vysílací volání UHD, HackRF, bladeRF ani Soapy) a žádný průběh rušení (jamming) ani spoofingu se nezapisuje do souboru určeného k přehrání.
- Soubory, které Kshana zapisuje (scény IQ, záznamy SigMF a ION
.sdrx, exporty NMEA a bench), popisují simulované, legitimní signály nebo pohyb a metadata, která Kshana ke scéně zapisuje, uvádějí, že byla zapsána příkazemkshana iq scene(komentář ION.sdrxuvádí, že jde o simulovanou scénu, nikoli záznam). - Kde experiment potřebuje RF na pracovním stole, vytvoří je vlastní zařízení operátora ve vlastním stínění operátora a s vlastním oprávněním operátora. Kshana zaznamenává, co operátor uvádí, že bylo provedeno, a nikdy to nedovozuje.
Fáze#
Každá fáze uvádí, co Kshana dělá, jaký hardware je zapojen, kdo vysílá RF (pokud vůbec někdo), a podmínku, která musí platit, než Kshana bude výsledek považovat za důkaz.
| Fáze | Úloha Kshana | Hardware | Vysílání RF | Podmínka | Stav ve verzi 0,38 |
|---|---|---|---|---|---|
| 0 | Soubory: záznamy přehrávání, IQ, exporty bench, živé NMEA nebo UBX přes stdin, TCP nebo UDP | žádné | žádné | žádné | dodáno |
| 1 | Pasivní příjem: přijímače pouze pro čtení; časové záznamy (linuxptp, chrony, TICC); CSV z IMU; iq monitor --follow na rostoucím souboru SigMF |
přijímače uživatele, grandmaster, SDR v příjmu | žádné | jakýkoli zápis konfigurace do přijímače vyžaduje výslovné --configure; výchozí stav je pouze čtení |
částečně dodáno: formáty časových záznamů, holdover-test, iq monitor --follow; vstup ze sériového přijímače je plánován |
| 2 | Laboratorní orchestrace bez RF z Kshana: specifikace zkušebních podmínek, kroky operátora (odpojení antény, spuštění simulátoru) vyzvané a opatřené časovou značkou, oboustranné skórování a důkazy | simulátory ve vlastnictví laboratoře, stíněné boxy | pouze simulátorem laboratoře, vedeno kabelem | podepsané lab-attestation (níže) zaznamenané v balíčku důkazů; Kshana odmítne skórovat laboratorní běh bez něj |
záznam je implementován v balíčcích důkazů; odmítnutí skórovat bez něj ještě ne (neexistuje příkaz pro laboratorní běh) |
| 3 | Vedené přehrání legitimních scén IQ GNSS: Kshana zapíše soubor scény a uživatel jej přehraje vlastním nástrojem do kabelu s atenuátory a testovaným zařízením v RF stínění | SDR uživatele, atenuátory, stínění | pouze vedeně, odpovědnost uživatele | žádný vysílací kód v otevřeném enginu; průběhy rušení a spoofingu zůstávají mimo rozsah; posouzení exportní kontroly; právník | není v otevřeném enginu; položka komerční edice, která se má řešit s právníkem |
| 4 | Uzavřená smyčka RF hardware-in-the-loop v reálném čase | zařízení partnera | partner | integrujte místo toho přes specifikaci fáze 2 | neplánováno |
„Dodáno“ znamená, že kód je v tomto vydání. Nic v této tabulce netvrdí, že by kterákoli fáze byla použita s jakýmkoli partnerem, laboratoří či úřadem; nebyla.
Zásady#
- Příjem je produkt a vysílání není nikdy v otevřeném kódu.
- Každá hardwarová relace vytvoří balíček důkazů s hashi vstupů, podmínek a použitých prahů.
- Vedené nebo stíněné potvrzení se zaznamenává, nikdy nedovozuje.
- Čísla pocházející z hardwaru zůstávají MODELLED, dokud se nezávislé vnější orákulum neshodne (například laboratorní referenční trajektorie nebo referenční hodiny). Předem zaregistrovaný práh se po běhu nezmírňuje.
- Antény s řízenými diagramy, inerciální jednotky a čipové atomové hodiny se berou jako zdroje dat (diagramy, záznamy, publikované křivky stability), nikoli jako zařízení, která Kshana ovládá.
- Formulace: výsledek je „měřen proti masce“ nebo „podporuje důkazy pro (supports evidence for)“ požadavek. Kshana netvrdí, že zařízení splňuje normu, a nikdo je neohodnotil ani neschválil.
Právní poznámky (čeká se na právní posouzení vlastníkem)#
Příjem signálů GNSS je legální téměř všude. Vysílání v pásmech GNSS není.
- Spojené státy. Úmyslné rušení rádiové komunikace zakazuje 47 U.S.C. §333 a FCC proti rušičkám zasahuje (https://www.fcc.gov/general/jammer-enforcement). Vysílání z pracovního stolu může dosáhnout i mimo něj.
- Jinde. Správci právo jiných zemí neposuzovali. Komunita kolem gps-sdr-sim uvádí, že vysílání jeho výstupu je ve většině zemí zakázáno zákonem; berte to jako pracovní předpoklad všude tam, kde právník neřekl jinak.
- Stíněné nebo vedené uspořádání je pojistka, nikoli oprávnění. Níže uvedené potvrzení zaznamenává pojistku, o které operátor uvádí, že byla na místě. Vysílání tím nepřestává být protiprávní.
- Nahrávání. Nahrávání rádiových signálů může na některých místech vyvolat otázky soukromí a zákonnosti.
iq monitor --followi jakýkoli postup záznamu jsou pouze pro příjem a operátor odpovídá za to, kde a co nahrává. - Exportní kontrola. Software hardware-in-the-loop, který ovládá generátory signálu, může podléhat pravidlům exportní kontroly. Proto je fáze 3 mimo otevřený engine.
- Nic z toho není doporučení ani dohoda. O tomto dokumentu nebyl konzultován žádný regulátor, zkušební polygon, laboratoř ani dodavatel a nikdo z nich s ničím v něm nesouhlasil.
Pole lab-attestation#
Pro fázi 2 a výše nese běh, na kterém se podílelo laboratorní vybavení, objekt lab-attestation, zaznamenaný v balíčku důkazů vedle hashů vstupů. Je to prohlášení jmenovaného operátora, nikoli měření, a Kshana je neověřuje.
[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
Co je implementováno ve verzi 0,38:
kshana receiver-trust evidence ... --lab-attestation <file.toml>ověří soubor a zaznamená potvrzení domanifest.jsonbalíčku. Manifest je kryt podpisem Ed25519 balíčku, takže záznam nelze upravit bez porušení ověření. Totéž je k dispozici jako argumentlab_attestationv Pythonuevidence_createa argumentlab_attestation_tomlnástroje MCPcreate_evidence_pack(build pro prohlížeč balíčky nevytváří).- Balíček vytvořený bez potvrzení je bajt po bajtu stejný jako dříve.
kshana evidence verifyuvede potvrzení a konstatuje, že je „potvrzeno jmenovaným operátorem; neověřeno systémem Kshana“.- Potvrzení, které je neúplné nebo jehož
setupnení aniconducted, anishielded(uspořádání vysílané vzduchem se jako laboratorní běh nepřijímá), se odmítne a žádný balíček se nevytvoří.
Co zatím není implementováno: pravidlo fáze 2, že Kshana odmítne skórovat laboratorní běh bez potvrzení. Ve verzi 0,38 nepřijímá žádný příkaz příznak laboratorního běhu, takže není co odmítat; pravidlo přijde spolu s příkazy laboratorní orchestrace. Potvrzení zaznamenává prohlášení operátora o pojistce. Nečiní žádné vysílání legálním a nemění označení výsledku: skórovaný laboratorní běh je MODELLED, dokud se nezávislé vnější orákulum neshodne.
Co to znamená pro přispěvatele#
- Nepřidávejte do otevřeného enginu vysílací cestu, vysílací závislost ani vysílací příklad.
- Nepřidávejte generátor průběhů, jehož výstupem je signál rušení (jamming) nebo spoofingu určený k přehrání.
- Nové hardwarové vstupy jsou ve výchozím stavu pouze pro čtení; zápis vyžaduje výslovný příznak a řádek v tomto souboru.
- Nový příkaz, který se dotýká hardwaru, jde na každý povrch nebo je v
SURFACES.mdoznačen N/A s důvodem, a uvede zde svou fázi.