Příručka altimetru Nano V1
Tento návod podrobně popisuje všechny funkce a obsluhu našeho malého altimetru Nano V1 pro rakety.

Zabezpečení Nana

PDF

Letový záznam má hodnotu jen tehdy, když můžete věřit, že s ním nikdo nemanipuloval, což je o to důležitější u rekordů a soutěží. Nano je postaveno tak, aby data, která vytváří, šlo prokázat jako pravá, a aby jeho fungování nešlo potichu změnit.

Hlavní práci odvádějí dvě dobře zavedené kryptografické metody: šifrování AES-256 chrání firmware a digitální podpis Ed25519 chrání každý letový záznam.

Dobré vědět
Nic z toho nemusíte zapínat. Každý záznam se automaticky podepíše při zápisu a zkontroluje se za vás při nahrání na Altimeter Cloud. Upravený záznam ověřením nikdy neprojde, a to udržuje výsledkovou tabuli poctivou.

Podepsané letové záznamy (Ed25519)

Každý letový záznam, který Nano uloží, je zapečetěn digitálním podpisem Ed25519, moderním schématem, které se používá k zabezpečení webového provozu, přístupu přes secure shell (SSH) a komunikačních aplikací, jako je Signal.

V Nanu
1. Otisk
SHA-256 zredukuje celý záznam na jednu 256bitovou hodnotu
V Nanu
2. Podpis
Otisk se podepíše soukromým klíčem zapečetěným v šifrovaném firmwaru
Při nahrání
3. Kontrola
Altimeter Cloud otisk znovu vypočítá a zkontroluje ho veřejným klíčem
Výsledek
4. Ověřeno
Shoda znamená pravý a neupravený. Jakákoli změna a záznam je odmítnut

Otisk. SHA-256 přečte celý záznam a zredukuje ho na jedinou 256bitovou hodnotu. Změňte kdekoli v souboru byť jediný znak a otisk vyjde úplně jinak.

Podpis. Nano tento otisk podepíše soukromým klíčem uloženým v jeho šifrovaném firmwaru. Platný podpis lze vytvořit jen soukromým klíčem, ale kdokoli s odpovídajícím veřejným klíčem ho může zkontrolovat. Oba klíče jsou matematicky propojené, a přesto soukromý klíč nelze z veřejného odvodit.

V praxi to znamená:

  • Pokud je záznam po zápisu Nanem jakkoli upraven, otisk se změní, podpis přestane odpovídat a záznam je odmítnut.
  • Platný podpis může vytvořit jen pravé Nano, takže upravený nebo vymyšlený záznam nelze podepsat tak, aby vypadal jako skutečný.
  • Naše servery Altimeter Cloud mají jen veřejný klíč, nikdy soukromý. I kdyby naše servery byly někdy napadeny, nebylo by tam nic, co by šlo použít k padělání záznamu.
  • Protože ke kontrole záznamu stačí veřejný klíč, lze ho ověřit nezávisle: rozhodčí soutěže může potvrdit, že je pravý, aniž by se spoléhal na nás.

Co podpis pokrývá

Název zařízení a soutěžní čísla jsou také podepsány
Název zařízení a všechna tři soutěžní čísla se zapisují do hlavičky záznamu a jsou součástí podpisu. Změna kteréhokoli z nich v uloženém záznamu, byť o jediný znak, způsobí, že záznam ověřením neprojde. Chcete-li letět pod jiným jménem nebo číslem, změňte je v nastavení před letem.

Podpis pokrývá celý soubor, včetně hlavičky se sériovým číslem zařízení, nastavením, se kterým se letělo, názvem zařízení a všemi třemi soutěžními čísly. Nic z toho nelze po letu vyměnit ani změnit, aniž by záznam neprošel ověřením.

  • Záznamy ACLZ nesou dva podpisy: jeden nad celým záznamem před kompresí a jeden nad CSV, na které se rozbalí. Takže i CSV, které Altimeter Cloud sestaví ze záznamu ACLZ, lze stále ověřit.
  • Záznamy CSV jsou podepsány přes celý soubor.
  • Stránky s informacemi o letu jsou podepsány stejně jako záznam vedle nich.
  • Obnovené záznamy, sestavené po výpadku napájení, jsou podepsány jako jakékoli jiné, takže je lze stále prokázat jako pravé. Viz Obnova záznamů.

K porušení podpisu stačí otevřít CSV v tabulkovém procesoru a uložit ho, proto vždy nahrávejte původní soubor z Nana. Jak záznam zkontrolovat, najdete na stránce Ověření letových záznamů.

Šifrovaný firmware (AES-256)

Firmware Nana je v čipu uložen zašifrovaný standardem AES-256, stejným, jaký používají vlády a banky k ochraně citlivých informací. Nano spustí jen správně zašifrovaný firmware, takže do něj nelze nahrát upravený nebo neoficiální program a firmware nelze z čipu načíst zpět v žádné použitelné podobě.

To chrání naši práci před kopírováním, ale pro vás je důležitější, že to chrání soukromý podpisový klíč. Klíč je zapečetěn v šifrovaném firmwaru, nikdy se neobjeví na disku USB ani v záznamu a nelze ho ze zařízení získat k padělání záznamů. Nano nemá ani žádné bezdrátové připojení: WiFi je trvale vypnuto a firmware lze nainstalovat jen přes USB naším nástrojem pro aktualizaci.

AES-256 nelze prolomit hrubou silou. 256bitový klíč má zhruba 1,2 krát 10 na 77. možných hodnot. I kdyby všechny počítače na planetě společně zkoušely miliardy klíčů za sekundu, trvalo by nesrovnatelně déle, než je stáří vesmíru, projít jen nepatrný zlomek z nich, a žádná známá zkratka neexistuje.

Proč jsou společně důvěryhodné

Síla podpisu záznamu stojí na tom, že soukromý klíč zůstane v zařízení, a právě to zaručuje šifrování firmwaru. Protože Nano odmítá spustit nešifrovaný firmware, není možné nahrát upravený program, který by mohl klíč vyzradit nebo podepsat falešná data. Šifrování drží soukromý klíč mimo dosah a podpis ho používá k zaručení každého záznamu, zatímco veřejnou polovinu, což je vše, co kdokoli potřebuje k ověření záznamu, lze volně sdílet.

AES-256 i Ed25519 jsou otevřené, publikované standardy, které byly intenzivně zkoumány a důvěřuje se jim při zabezpečení internetového bankovnictví, webového provozu a přístupu přes secure shell. Ve spojení se soukromým klíčem, ke kterému se nelze dostat, je letový záznam z Nana něčím, za čím si můžete stát, ať už se snažíte o osobní rekord, nebo předkládáte oficiální soutěžní výsledek.

Záznamy z firmwaru starších než 1.52

Dřívější firmware podepisoval záznamy pomocí HMAC SHA-256 místo Ed25519, kdy se do stejného otisku celého souboru přimíchával tajný klíč sdílený mezi Nanem a našimi servery. Neoprávněné změny odhalí úplně stejně a Altimeter Cloud tyto záznamy stále automaticky ověřuje, takže nic, co jste již zaznamenali, není dotčeno.

Přechod na Ed25519 ve verzi 1.52 to zachoval a přidal dvě věci: podpisový klíč v zařízení se stal soukromým, přičemž naše servery mají jen veřejnou polovinu, a záznam může nezávisle ověřit kdokoli s veřejným klíčem.