Bezpečný boot a trust chain

Bezpečný boot a trust chain

Prečo bezpečná boot sekvencia rozhoduje o dôvere v autopilot

Autopilot je „mozgom“ UAV, ktorý riadi let, bezpečnostné funkcie a komunikáciu s okolím. Ak je kompromitovaný už pri štarte, všetky ďalšie vrstvy ochrany strácajú význam. Bezpečná boot sekvencia (secure boot) a reťazec dôvery (chain of trust) zabezpečujú, že od prvého inštrukčného cyklu procesora až po nahratie aplikačného kódu beží iba overený a nepozměnený softvér, podpísaný legitímnym vlastníkom zariadenia alebo výrobcom.

Model hrozieb pre autopilot: čo musí boot sekvencia odolávať

  • Trvalé kompromitácie: vloženie škodlivého bootloaderu, implanty v pamäti Flash, manipulácia s boot konfiguráciou.
  • Útoky cez OTA (over-the-air) aktualizácie: podvrhnuté firmware balíky, downgrade na zraniteľnú verziu.
  • Fyzické zásahy: priamy prístup k debug rozhraniam (JTAG/SWD), glitching (napäťové/časové), fault injection, side-channel analýzy.
  • Supply-chain riziká: kompromitované komponenty, klonované bezpečnostné čipy, nespoľahlivé kľúčové materiály.
  • Medzi-doménové útoky: preniknutie z payloadu (napr. kamery so systémom Linux) do riadiacej avioniky.

Princípy bezpečného štartu: koreň dôvery a kryptografické podpisy

Secure boot stojí na korení dôvery (Root of Trust, RoT), ktorý obsahuje alebo ochraňuje kryptografické kľúče na verifikáciu ďalšej fázy. Každá fáza overí integritu a pôvod nasledujúcej, čím vzniká reťazec dôvery až po aplikáciu:

  1. ROM Boot (immutable): malý kód v maskovanej ROM MCU/SoC. Obsahuje verejný kľúč výrobcu alebo hash „public key hash“ (PKH).
  2. Prvý-stupňový bootloader (FSBL): podpísaný výrobcom HW alebo platformy; inicializuje pamäte, hodiny, periférie, autentizuje druhý stupeň.
  3. Druhý-stupňový bootloader (SSBL): vlastník zariadenia/operátor; rieši výber particií, „A/B“ sloty a načítanie OS/RTOS jadra.
  4. Jadro/Hypervisor/RTOS: verifikované pred spustením; aktivuje izolácie (MPU/MMU), SELinux/AppArmor (ak Linux), prípadne unikernelové prostredia.
  5. Autopilot aplikácia a knižnice: posledné články reťazca; validované cez podpisy a politiky verzií.

Na úrovni kryptografie sa používa digitálne podpisovanie (ECDSA/EdDSA, prípadne RSA) s verifikáciou hashov (SHA-256/384). Kľúčové je správne riadenie kľúčov a ochrana pred downgrade.

Meraný štart (Measured Boot) a atestácia integrity

Measured boot rozširuje secure boot o telemetriu dôvery: každá fáza nielen verifikuje ďalšiu, ale aj meria (hashuje) spúšťané binárky a ukladá odtlačky do bezpečného úložiska (TPM/TEE/SE). Následne je možné vykonať:

  • Lokálnu politiku: spustenie autopilota iba ak namerané hodnoty zodpovedajú povoleným profilom („allowlist“).
  • Vzdialenú atestáciu: GCS či flotilový manažér si vyžiada podpísaný report – autopilot preukáže, čo skutočne beží, ešte pred povolením arm/disarm.

Komponenty koreňa dôvery: TEE, TPM a Secure Element

  • Secure Element (SE): samostatný čip s ochrannými vrstvami; chráni privátne kľúče, vykonáva podpisy a drží monotónne čítače.
  • TPM 2.0/firmware TPM: poskytuje PCR registre pre meranie bootu, kľúčový manažment a atestáciu. V embedded sfére často ako integrovaná periféria.
  • TEE/TrustZone: rozdelenie na „secure world“ a „normal world“. Secure world vykonáva kryptografiu a boot logiku; normal world nemá prístup k tajomstvám.

Politika kľúčov: hierarchia, rotácia a delegácia

Bez kľúčovej politiky secure boot rýchlo zastará. Odporúčaná hierarchia:

  • Root Signing Key (RSK): najvyššia autorita; uložená offline (HSM), používa sa iba na podpisovanie „intermediate“ kľúčov.
  • Platform/Boot Signing Key (BSK): podpisuje FSBL/SSBL. Rotovateľný cez „key-roll“ mechanizmus s prechodným obdobím, kedy zariadenie dôveruje starému aj novému kľúču.
  • Application Signing Keys (ASK): pre autopilot a moduly (nav, komunikačné stacky). Môže existovať viac domén (výrobca platformy vs. integrátor).
  • Anti-downgrade mechanizmus: verzované manifesty a monotónne čítače v SE/TPM, ktoré bránia nahratiu staršieho, zraniteľného FW.

Manifesty a metadáta obrazu: čo sa podpisuje

Namiesto podpisovania samotných binárok sa bežne podpisuje manifest, ktorý obsahuje:

  • Hash obrazu (FW/BL/OS), verziu (semver + build číslo), cieľovú platformu a parameter „security level“.
  • Politiky spúšťania (požadované periférie, RAM limity, bezpečnostný kontext, požadované PCR odtlačky nižších vrstiev).
  • Informácie pre „A/B“ aktualizačné sloty a časové platnosti (valid-from/valid-until pre plánované end-of-life).

Architektúry secure boot v praxi: RTOS vs. Linux

  • MCU + RTOS (Cortex-M, RISC-V): ROM Boot s PKH → FSBL (XIP z QSPI) → verifikácia obrazu RTOS + autopilot modulu. Dôležitá je ochrana QSPI proti zápisu (HW write-protect) a deaktivácia SWD/JTAG po výrobných testoch.
  • SoC + Linux: ROM Boot → FSBL (DDR init) → U-Boot/TF-A (SSBL) s verifikáciou FIT/DM → signed kernel + initramfs + signed rootfs (dm-verity). Vhodná je kombinácia „measured boot“ s TPM a vzdialená atestácia pred arm/disarm.

Oddelenie domén: avionika vs. payload a komunikačné subsystémy

Silné oddelenie minimalizuje laterálny pohyb útočníka:

  • Fyzikálne oddelené MCU/SoC: autopilot v izolovanom MCU, payload na Linuxe. Komunikácia cez vybrané rozhrania (UART/CAN) s protokolmi s autentizáciou rámcov.
  • Virtuálna separácia: hypervisor/micro-VM, kde autopilot beží v chránenej doméne, payload v inej; IOMMU blokuje DMA útoky.
  • Štriktné ACL: iba whitelisted správy s typmi „nav, status, arm/disarm“. Žiadny priamy file transfer do avioniky.

Obnova a „A/B“ slotovanie: bezpečné aktualizácie bez prerušení

Aktualizácie musia byť atómové a reverzibilné:

  • A/B sloty: nahrá sa nový obraz do neaktívneho slotu, po reštarte sa spustí skúšobná fáza. Ak telemetria nepotvrdí úspech, bootloader sa vráti do slotu A.
  • Bezpečný recovery mód: iba s lokálnou prítomnosťou (fyzický kľúč, proximity token) alebo s kryptografickým schválením „break-glass“ kľúčom; recovery obraz je rovnako podpísaný.
  • Delta OTA: menšie balíky, ale podpisuje sa vždy výsledný obraz; delta sa aplikuje v sandboxe a verifikuje pred aktiváciou.

Ochrana proti downgrade a replay

  • Verzovanie v manifeste + monotónny čítač v SE/TPM, ktorý sa inkrementuje pri každom úspešnom update.
  • Časové pečiatky: ak je k dispozícii spoľahlivý čas (GNSS PPS + secure-time), kontrola „valid-from“.
  • Nonce pri atestácii: zabraňuje opätovnému použitiu starých, platných reportov integrity.

Hardening boot fázy: anti-tamper a anti-glitch opatrenia

  • Deaktivácia debug rozhraní: fuse/option bytes na trvalé uzamknutie SWD/JTAG, oddelenie testovacích pinov.
  • Glitch detekcia: dohľad nad napätím a hodinami (brown-out, clock monitor), randomizácia časovania kryptografických operácií.
  • Anti-rollback poistky: jednosmerné fuses s verziou bootloadera; fyzická pečať krytu s tamper switchom a logovaním udalostí.

Výber kryptografie a výkonové kompromisy

Pre embedded autopiloty býva kritická veľkosť kódu a latencia verifikácie:

  • Podpisy: ECDSA P-256 alebo Ed25519 (rýchlejšie na verifikáciu, menšie kľúče). RSA iba ak je požadovaná kompatibilita.
  • Hash: SHA-256 je štandard; pri dlhom reťazci alebo väčších obrazoch možné uvažovať SHA-384.
  • PQC (post-quantum): v experimentálnych režimoch „hybridné podpisy“ (napr. Ed25519 + PQC) s ohľadom na veľkosť manifestu; do produkcie až po stabilizácii štandardov a HW podpory.

Bezpečná konfigurácia periférií pri štarte

Boot fáza musí nastaviť bezpečné defaulty:

  • Vypnutie nepotrebných rozhraní (USB gadget, telnet/ssh v payload doméne).
  • MPU/MMU pravidlá pred načítaním aplikácií: kód iba na čítanie a spúšťanie, dáta bez spúšťania (W^X), zásobníky s guard stránkami.
  • Secure boot pre spolubežiace MCU (napr. komunikačné moduly) – žiadna „bočná“ cesta do avioniky.

Politiky spúšťania a autorizácie letových režimov

Aj po úspešnom boot-e má mať autopilot gate na kritické akcie:

  • Arming podmienky: platná atestácia, overený čas, schválený geofencing, batériové limity a autentizovaná GCS.
  • Privilege separation: modul pre navigáciu nemá právo meniť RF parametre; komunikačný stack nemá prístup k senzorickým kalibráciám.
  • Policy-as-code: jednoduchý, formálne verifikovateľný DSL pre rozhodovanie (napr. „ak PCR≠X → DISARM“).

Telemetria dôvery a audit

  • Boot logy: podpisované a timestampované; obsahujú verzie, PCR odtlačky, výsledky verifikácií a prípadné odchýlky.
  • Bezpečnostné KPI: % štartov s úspešnou atestáciou, počet odmietnutých OTA balíkov, čas verifikácie, výskyt tamper udalostí.
  • Forenzné záznamy: pri fail-boot-e uložiť minimalizovaný dump diagnostiky do bezpečného kruhového bufferu.

Integrácia so systémami riadenia flotily a C2

Flotilový manažment musí byť trust-aware:

  • Pred autorizáciou misie vyžiadať atestáciu; bez nej misia nie je nasaditeľná.
  • Distribúcia kľúčov a OTA cez „zero-trust“ kanály (mTLS, krátkožijúce tokeny, device identity via SE/TPM attestation).
  • Politiky odstavenia: ak dôjde k narušeniu integrity, zariadenie sa prepne do „safe-mode“ s limitmi (bez vrtúľ, iba diagnostika a geolokácia).

Testovanie a verifikácia bezpečného štartu

  • Jednotkové a integračné testy: verifikácia podpisov, zlyhania I/O, fallback cesty A/B, časové limity štartu.
  • Chaos/Tamper testy: korupcia manifestu, neplatný podpis, starší firmware, glitchovanie napájania počas verifikácie.
  • Penetračné testy: zameranie na debug porty, fault-injection, analýzu SWD/JTAG poistiek, side-channel merania pri podpisovaní.
  • Formálne overovanie: kritické časti boot state machine a policy DSL môžu byť verifikované model-checkingom.

Supply-chain zabezpečenie: od výroby po nasadenie

  • Secure provisioning: v továrni generovať device identity (DI) v SE/TPM, nikdy neexportovať privátne kľúče.
  • HSM pipeline: všetky podpisy FW a manifestov musia prechádzať cez HSM s audit trailom.
  • Serializácia a traceability: väzba DI ↔ sériové číslo ↔ produktová šarža ↔ certifikáty; jednoduché stiahnutie konkrétnych šarží v prípade incidentu.

Bezpečný boot v kontexte proti-dronových systémov

Proti-dronové opatrenia často cielia na soft-kill (rušenie/klamanie). Secure boot znižuje riziko „preprogramovania vo vzduchu“ alebo aktivácie skrytých režimov. Pri „hard-kill“ scénaroch poskytuje telemetria dôvery forenznú hodnotu a umožňuje preukázať, že platforma bežala v autorizovanej konfigurácii.

Check-list implementácie (referenčné kroky)

  1. Vyberte RoT (SE/TPM/TEE) a definujte hierarchiu kľúčov (RSK → BSK → ASK).
  2. Implementujte ROM Boot s verifikáciou FSBL (PKH v ROM, audit fuse nastavení).
  3. Zaveďte manifesty s verziou, hashmi a anti-rollback parametrami.
  4. Aktivujte measured boot (PCR/merania) a pripravte vzdialenú atestáciu.
  5. Navrhnite A/B aktualizácie, recovery cestu a politiku „break-glass“.
  6. Uzamknite debug rozhrania, nastavte MPU/MMU a W^X politiky ešte pred spustením aplikácií.
  7. Oddelte domény avioniky a payloadu; zaveste autentizáciu správ.
  8. Integrujte trust signály do C2 a flotilového manažmentu (deployment gates).
  9. Vykonajte tamper/glitch/pen-testy a nastavte pravidelnú rotáciu kľúčov.
  10. Dokumentujte a auditujte: boot logy, podpisové operácie, incident response proces.

Bezpečná boot sekvencia a robustný reťazec dôvery sú základnými stavebnými kameňmi kybernetickej bezpečnosti autopilotov. Kombinácia nemenného koreňa dôvery, prísnych podpisových politík, meraného štartu s atestáciou, bezpečných aktualizácií a tvrdých izolačných mechanizmov zaručuje, že autopilot vykonáva iba to, čo mu prevádzkovateľ explicitne povolil. V prostredí zvyšujúcich sa hrozieb a regulácií je takáto architektúra nevyhnutná nielen pre bezpečnosť letu, ale aj pre dôveru zákazníkov, regulátorov a verejnosti.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *