Зіставлення compliance
Покупці та виробники приймачів відповідають перед публічними рамками стійкості. Ця тека зіставляє те, що Kshana обчислює і записує, з цими рамками рядок за рядком, а kshana compliance-report заповнює зіставлення за прогонами, які у вас справді є.
Формулювання. Виходи Kshana підтримують докази для вимоги. Вони не є оцінкою чи схваленням жодного виробу, і жоден із цих файлів не є заявою органу оцінювання; Kshana таким органом не є. Текст вимог переказано, а не відтворено.
| Рамка | Файл |
|---|---|
| Рамка відповідності стійкого PNT (US DHS Resilient PNT Conformance Framework), v2.0 | dhs-rpcf.md |
| Настанови IMO щодо завад GNSS для суден | imo-ships.md |
| Настанови EASA щодо завад GNSS для авіації | easa-aviation.md |
| Директива ЄС NIS2, стаття 21 | nis2-art21.md |
| EN 16803 (платний стандарт; лише за частинами та номерами пунктів, видимими в каталозі) | en-16803.md |
| NIST IR 8323r1, Базовий профіль PNT (січень 2023) | nist-ir-8323r1.md |
Пакети стандартів (0,38) перетворюють рамку на сценарії з оцінюванням: кожен пакет має сценарії, пороги, визначені до прогону, і рядки, для яких він підтримує докази. kshana standards-pack list їх показує.
| Пакет | Файл |
|---|---|
| DHS Resilient PNT Conformance Framework, профілі випробувань для рівнів 1–4 | dhs-rpcf-test-profiles.md |
| IMO MSC.1/Circ.1575, обробка даних PNT на судні: рівні точності та цілісність | imo-circ-1575.md |
| ICAO Doc 9849, додаток F, моніторинг, оцінювання та пом'якшення завад GNSS | icao-doc9849-appf.md |
Кожен файл перелічує свої першоджерела з версією, URL, датою прочитання та тим, що було і чого не було перевірено. Джерела прочитано 2026-10-09 (профіль NIST — 2026-10-18; бюлетень EASA та сторінки каталогу EN 16803 перевірено повторно 2026-10-10). Якщо джерело вдалося прочитати лише через дзеркало або сторінку каталогу, файл про це зазначає.
Звіт#
kshana compliance-report spoof-detect.result.json integrity-raim.result.json session.result.json
записує compliance-report.compliance.md і compliance-report.compliance.json (--out <base> змінює назву). Вхідними даними є файли результатів попередніх прогонів: прогін сценарію записує <name>.result.json поруч із <name>.toml, а kshana receiver-trust записує власний. Вид кожного прогону зчитується зі сценарного файлу поруч із результатом, зі вмісту результату receiver-trust або з верхньорівневого kind і має бути видом, відомим рушію. Результат зазначається як невикористаний, з причиною, і нічого не зараховується, якщо його вид не вдається знайти, він не є відомим видом або сусідній сценарій і власне kind результату розходяться. (scenario_hash результату та хеш файлу сценарію не порівнюються: перше рушій обчислює за розібраним сценарієм, а хеш файлу — за текстом, тож це різні величини.)
Сама позначка виду не є доказом. Прогін зараховується для можливості лише тоді, коли його результат містить і поля, які пише цей вид (наприклад, результат jamming потребує своїх показників якості та рядків за епохами; результат integrity потребує кількостей вибірок). Поля перелічено в src/compliance/mapping.rs (KIND_FIELDS), і результат, у якому одного бракує, не зараховується. Хеш, що не є шістнадцятковим, не подається як хеш. Результат receiver-trust, кількості в якому не є цілими числами або кількість виявлених чи узгоджених перевищує кількість придатних до оцінювання, виключається і зазначається як невикористаний.
Для кожного рядка звіт дає одне з такого:
| Статус | Значення |
|---|---|
evidenced |
кожна можливість, названа в рядку, має в наборі щонайменше один прогін |
partly-evidenced |
деякі мають |
not-evidenced |
жодна не має |
out-of-scope |
жоден вихід Kshana не стосується цього рядка |
Стовпець розриву друкується для кожного рядка, зокрема й тих, що мають докази: прогін, який підтримує докази для можливості, усе одно залишає більшу частину вимоги іншим доказам. Звіт повторює правило формулювань на початку. --mapping друкує статичні таблиці, а --sources — перелік джерел.
Прогони receiver-trust також додають кількості, які самі зазначають (виявлені події з оцінюваних, узгоджені прогнози з оцінюваних). Вони описують цей журнал, оцінений за подіями та допусками, визначеними до прогону, і подаються так, як їх зазначає прогін.
Можливості#
| Можливість | Вихід | Види прогонів |
|---|---|---|
| Оцінка довіри за журналом приймача | стан довіри за епохами з власного журналу реального приймача, часи тривог і узгодженість із подіями, визначеними до прогону | receiver-trust |
| Вплив глушіння на бюджет лінії | відношення несівної до густини шуму та стан захоплення для кожного супутника за визначеної геометрії глушника | jamming, lunar-jamming, conflict-resilience |
| Виявлення спуфінгу та міконінгу (meaconing) | рішення детектора та здатність детектора розрізняти за визначеної атаки спуфінгу | spoof, spoof-detect, impairment-eval |
| Моніторинг цілісності та рівні захисту | рівні захисту, доступність відносно меж тривоги та результати виявлення збоїв | integrity, araim-reference-check, lunar-integrity |
| Holdover та інерційне проходження | зростання похибки позиції або часу, поки GNSS недоступна, відносно визначеного порогу | clock, inertial, gnss-ins, ins-trn-coast, hybrid, hybrid-ukf, fusion, timetransfer, quantum-gnss-free-nav, quantum-time-transfer |
| Альтернативні та різноманітні джерела PNT | навігаційні або часові характеристики від джерел, незалежних від основного діапазону GNSS | combined-altpnt, terrain-nav, terrain-slam, gravity-map, leo-pass, leo-pvt, leo-pnt-chain, hybrid-optical-rf, ntn-positioning, hybrid, fusion |
| Оцінювання стійкості на ансамблях загроз | коефіцієнти виживання та стійкості для кожного вектора загрози на визначеному ансамблі, із зазначеними припущеннями | conflict-resilience, campaign |
| Походження відтворюваного прогону | хеш сценарію, версія рушія та зерно (seed) у кожному результаті, щоб прогін можна було повторити | будь-який прогін, результат якого містить scenario_hash |