Машинний переклад, не перевірений носієм мови. Еталоном є англійська версія.

Синхронізація часуРедагувати на GitHubДжерело: docs/HARDWARE-SAFETY.md

Безпека обладнання: що Kshana робить з обладнанням і чого не робить ніколи

Стан: юридичний огляд власником очікується. Наведені нижче юридичні примітки — це тлумачення супровідниками публічних джерел, написане для того, щоб користувач знав, де проходять межі. Вони не є юридичною порадою, їх не переглядали юристи, а закони різняться за країнами. Сприймайте їх як привід звернутися до юриста, а не як дозвіл.

Kshana — це консультативне програмне забезпечення для досліджень, симуляції та тестування. Воно не є обладнанням із затвердженням типу і не оцінює та не схвалює приймач, годинник чи лабораторію. Див. консультативну заяву в README.

Правило#

Прийом — це продукт. Передавання ніколи не входить до відкритого рушія.

  • Kshana не містить коду, що керує передавачем. Немає шляху передавання для SDR (жодного виклику передавання UHD, HackRF, bladeRF чи Soapy), і жодна форма хвилі глушіння чи спуфінгу не записується у файл, призначений для відтворення.
  • Файли, які записує Kshana (сцени IQ, записи SigMF та ION .sdrx, експорт NMEA і bench), описують симульовані, законні сигнали чи рух, а метадані, які Kshana записує для сцени, вказують, що її записала kshana iq scene (коментар ION .sdrx вказує, що це симульована сцена, а не запис).
  • Якщо експерименту на стенді потрібне радіочастотне випромінювання, його створює власне обладнання оператора, у власному корпусі оператора, за власним дозволом оператора. Kshana фіксує те, що, за словами оператора, було зроблено, і ніколи цього не виводить.

Етапи#

Кожен етап називає, що робить Kshana, яке обладнання задіяне, хто випромінює радіочастотний сигнал (якщо взагалі хтось), і умову, яка має виконуватися, перш ніж Kshana вважатиме результат доказом.

Етап Роль Kshana Обладнання Радіочастотне випромінювання Умова Стан у 0,38
0 Файли: журнали відтворення, IQ, експорт bench, живі NMEA або UBX через stdin, TCP чи UDP немає немає немає постачається
1 Пасивний прийом: приймачі лише для читання; журнали синхронізації часу (linuxptp, chrony, TICC); CSV інерціального вимірювального блока; iq monitor --follow на файлі SigMF, що зростає приймачі, grandmaster і SDR користувача в режимі прийому немає будь-який запис конфігурації в приймач потребує явного --configure; типово доступ лише для читання частково постачається: формати журналів синхронізації часу, holdover-test, iq monitor --follow; послідовне введення з приймача заплановано
2 Лабораторна оркестрація без радіочастотного сигналу від Kshana: специфікація умов тесту, кроки оператора (відключення антени, запуск симулятора) із запитом і позначкою часу, оцінювання за круговим проходом і докази лабораторні симулятори, екрановані боксі лише симулятором лабораторії, кондуктивно підписаний lab-attestation (нижче), записаний у пакет доказів; Kshana відмовляється оцінювати лабораторний прогін без нього запис реалізовано в пакетах доказів; відмова оцінювати без нього — ще ні (команди лабораторного прогону не існує)
3 Кондуктивне відтворення законних сцен IQ ГНСС (GNSS): Kshana записує файл сцени, а користувач відтворює його власним інструментом у кабель з атенюаторами та пристроєм, що тестується, у радіочастотному корпусі SDR, атенюатори та корпус користувача лише кондуктивно, відповідальність користувача немає коду передавання у відкритому рушії; форми хвиль завад і спуфінгу залишаються поза обсягом; перегляд щодо експортного контролю; юрист не у відкритому рушії; елемент комерційного видання, що виконується з юристом
4 Радіочастотне апаратне моделювання в замкненому контурі в реальному часі обладнання партнера партнер інтегруйте натомість через специфікацію етапу 2 не планується

«Постачається» означає, що код є в цьому випуску. Ніщо в цій таблиці не стверджує, що будь-який етап використовували з будь-яким партнером, лабораторією чи органом; жодного не використовували.

Принципи#

  1. Прийом — це продукт, а передавання ніколи не входить до відкритого коду.
  2. Кожен апаратний сеанс дає пакет доказів із хешами вхідних даних, умов і використаних порогів.
  3. Кондуктивне або екрановане підтвердження записують, але ніколи не виводять.
  4. Числа, отримані з обладнання, залишаються MODELLED, доки незалежний зовнішній оракул не погодиться (наприклад, лабораторна еталонна траєкторія або еталонний годинник). Попередньо зареєстрований поріг не послаблюють після прогону.
  5. Антени з керованими діаграмами, інерціальні блоки та чипові атомні годинники розглядають як джерела даних (діаграми, журнали, опубліковані криві стабільності), а не як пристрої, якими керує Kshana.
  6. Формулювання: результат «виміряно відносно маски» або він «підтримує докази для» вимоги (supports evidence for). Kshana не стверджує, що пристрій відповідає стандарту, і ніхто його не оцінював і не схвалював.

Приймати сигнали ГНСС (GNSS) законно майже скрізь. Передавати в діапазонах ГНСС — ні.

  • Сполучені Штати. Умисні завади радіозв'язку заборонено згідно з 47 U.S.C. §333, і FCC вживає заходів проти глушників (https://www.fcc.gov/general/jammer-enforcement). Передавання зі стенда може сягнути за межі стенда.
  • Інші країни. Супровідники не переглядали законодавства інших країн. Спільнота навколо gps-sdr-sim заявляє, що передавання його виводу заборонене законом у більшості країн; вважайте це робочим припущенням скрізь, де юрист не сказав іншого.
  • Екранована чи кондуктивна установка — це запобіжний захід, а не ліцензія. Підтвердження нижче фіксує запобіжний захід, який, за словами оператора, був застосований. Воно не робить випромінювання законним.
  • Запис. Запис радіосигналів у деяких місцях може порушувати питання приватності та законності. iq monitor --follow і будь-який рецепт захоплення призначені лише для прийому, а оператор відповідає за те, де і що він записує.
  • Експортний контроль. Програмне забезпечення апаратного моделювання в замкненому контурі, що керує генераторами сигналів, може підпадати під правила експортного контролю. Саме тому етап 3 перебуває поза відкритим рушієм.
  • Ніщо тут не є схваленням чи угодою. Жоден регулятор, полігон, лабораторія чи постачальник не були залучені щодо цього документа і ні на що в ньому не погоджувалися.

Поле lab-attestation#

Для етапу 2 і вище прогін, що залучав лабораторне обладнання, містить об'єкт lab-attestation, записаний у пакет доказів поряд із хешами вхідних даних. Це твердження названого оператора, а не вимірювання, і Kshana його не перевіряє.

[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

Що реалізовано в 0,38:

  • kshana receiver-trust evidence ... --lab-attestation <file.toml> перевіряє файл і записує підтвердження в manifest.json пакета. Маніфест охоплено підписом Ed25519 пакета, тому запис не можна змінити, не порушивши перевірки. Те саме доступне як аргумент lab_attestation у Python evidence_create та аргумент lab_attestation_toml в інструменті MCP create_evidence_pack (збірка для браузера пакетів не створює).
  • Пакет, створений без підтвердження, побайтово збігається з тим, яким був раніше.
  • kshana evidence verify повідомляє про підтвердження і зазначає, що воно «підтверджено названим оператором; не перевірено Kshana».
  • Підтвердження, що є неповним або чий setup не є ні conducted, ні shielded (налаштування з передаванням в ефір не приймається як лабораторний прогін), відхиляють, і пакет не створюють.

Що ще не реалізовано: правило етапу 2, за яким Kshana відмовляється оцінювати лабораторний прогін без підтвердження. У 0,38 жодна команда не приймає прапорця лабораторного прогону, тож відмовляти нічого; правило з'явиться разом із командами лабораторної оркестрації. Підтвердження фіксує твердження оператора про запобіжний захід. Воно не робить жодного випромінювання законним і не змінює позначки результату: оцінений лабораторний прогін є MODELLED, доки зовнішній оракул не погодиться.

Що це означає для учасника#

  • Не додавайте до відкритого рушія шлях передавання, залежність для передавання чи приклад передавання.
  • Не додавайте генератор форм хвиль, вихід якого є сигналом глушіння чи спуфінгу, призначеним для відтворення.
  • Нові апаратні входи типово лише для читання; запис потребує явного прапорця і рядка в цьому файлі.
  • Нова команда, що торкається обладнання, з'являється на кожній поверхні або позначається N/A із причиною в SURFACES.md і вказує тут свій етап.