Strojový překlad, nekontrolovaný rodilým mluvčím. Referenční je anglická verze.

ČasováníUpravit na GitHubuZdroj: docs/HARDWARE-SAFETY.md

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říkazem kshana iq scene (komentář ION .sdrx uvá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#

  1. Příjem je produkt a vysílání není nikdy v otevřeném kódu.
  2. Každá hardwarová relace vytvoří balíček důkazů s hashi vstupů, podmínek a použitých prahů.
  3. Vedené nebo stíněné potvrzení se zaznamenává, nikdy nedovozuje.
  4. Čí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.
  5. 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á.
  6. 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.

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 --follow i 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í do manifest.json balíčku. Manifest je kryt podpisem Ed25519 balíčku, takže záznam nelze upravit bez porušení ověření. Totéž je k dispozici jako argument lab_attestation v Pythonu evidence_create a argument lab_attestation_toml nástroje MCP create_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 verify uvede potvrzení a konstatuje, že je „potvrzeno jmenovaným operátorem; neověřeno systémem Kshana“.
  • Potvrzení, které je neúplné nebo jehož setup není ani conducted, ani shielded (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.md označen N/A s důvodem, a uvede zde svou fázi.