Załóż, że komputer jest przejęty
Większość kradzieży kryptowalut nie wymaga łamania kryptografii. Zaczyna się na zwykłym komputerze. AirNox Wallet jest zaprojektowany właśnie dla takiego komputera i działa przy założeniu, że ten komputer jest już stracony.

Spis treści
Zagrożeniem jest maszyna, nie matematyka
Pomyśl, jak w praktyce środki wychodzą z portfela. Pakiet w narzędziach programisty przemyca coś ekstra. Rozszerzenie przeglądarki (browser extension) dostaje aktualizację, której nikt nie przeczytał. Dokument wcale nie jest dokumentem. Strona internetowa pokazuje jedną transakcję, a prosi o podpisanie innej. Narzędzie do obsługi schowka (clipboard) podmienia adres chwilę przed tym, jak go wkleisz.
Żaden z tych ataków nie dotyka kryptografii. Każdy potrzebuje tego samego: klucza prywatnego (private key) albo twojej zgody na maszynie podłączonej do internetu. Celem jest komputer, bo to na nim leży klucz.
Dlatego pierwsza decyzja projektowa w AirNox Wallet jest prosta: klucza ma tam nie być.
Klucze poza komputerem
AirNox Wallet działa na komputerze. Sam w sobie to kompletny, natywny portfel z frazą seed zapieczętowaną w sejfie i to solidna konfiguracja do codziennych operacji. W trybie AirGap idzie o krok dalej: nigdy nie przechowuje klucza, który może ruszyć twoje środki. Ma tylko te adresy, które mu udostępnisz. Z nimi robi wszystko, co portfel robi online: komunikuje się z siecią, odczytuje salda i historię, buduje niepodpisane transakcje, sprawdza je i wysyła do sieci wszystko, co wróci podpisane.
Podpisywanie odbywa się w AirNox Vault – aplikacji na telefonie z Androidem, który nigdy nie łączy się z internetem. To ona przechowuje frazy seed. Dekoduje każde żądanie z bajtów, które za chwilę podpisze, pokazuje operację, kwotę, strony i sieć, a podpisuje dopiero wtedy, gdy naciśniesz Accept (Akceptuj).
Między nimi jest air gap, czyli fizyczna izolacja od sieci. Telefon nie ma żadnej drogi do internetu, a jedyne, co kiedykolwiek przez niego przechodzi, to żądanie w jedną stronę i podpis z powrotem.

Co dzieje się na każdym etapie
Żądanie może wyjść ze strony internetowej, z samego portfela albo od agenta AI podłączonego do portfela. Skądkolwiek wychodzi, pokonuje tę samą drogę.
Rozszerzenie przeglądarki obsługuje standardowe interfejsy portfeli, których oczekują strony. Nie ma kluczy i niczego nie podpisuje. Przekazuje żądanie lokalnym kanałem do portfela na komputerze.
Komputer dekoduje żądanie i je sprawdza. Rozpoznaje standardowe operacje, oznacza wszystko, co tylko je przypomina, kontroluje zgody na wydatkowanie (allowances) oraz adresy, którym je przyznano (spender), po czym buduje niepodpisaną transakcję. Następnie przekazuje ją telefonowi przez kody QR, Bluetooth LE lub NFC.
Telefon dekoduje żądanie jeszcze raz, z dokładnie tych bajtów, które podpisze, i pokazuje ci je prostymi słowami. Opis żądania od komputera to deklaracja. Widok na telefonie to prawda. Czytasz i naciskasz Accept albo nie. Z powrotem wraca tylko podpis.
To, gdzie jest klucz, decyduje o tym, co może malware
AirNox daje dwa poziomy ochrony. Najlepiej widać je na tle najsłabszej popularnej konfiguracji: klasycznego portfela działającego jako rozszerzenie przeglądarki.

Klasyczny portfel w rozszerzeniu działa wewnątrz najbardziej narażonego programu na komputerze. Jego sekrety chroni szyfrowanie, które nowoczesne karty graficzne łamią masowo metodą brute force. Może do niego dotrzeć kod wstrzyknięty do strony, a widzi go wszystko, co przechwytuje obraz ekranu. Do tego ma trackery i reklamy, nie chroni przed podmienionym adresem i przez cały dzień zjada zasoby.
AirNox Wallet na komputerze to program innego rodzaju i potrafi się bronić. To natywny C++: nie ma silnika skryptów, do którego można coś wstrzyknąć, ani strony, którą można zatruć. Fraza seed leży w pamięci tylko tak długo, jak jest potrzebna, i zaraz potem jest wymazywana. Portfel pilnuje procesów wokół siebie i bibliotek, które są do niego ładowane, więc obcy kod nie działa w nim niezauważony. Każde żądanie jest dekodowane i sprawdzane, więc zatwierdzasz (approve) dokładnie to, co widzisz. Schowek jest obserwowany pod kątem podmienionego adresu, a okna portfela nie pokazują się na zrzutach ekranu. Zapisane sekrety zabezpiecza pamięciochłonnym (memory-hard) algorytmem Argon2id i wiąże z układem TPM 2.0 w komputerze, a na to karty graficzne nie znają skrótu. Trackerów nie ma wcale. Do codziennych operacji to solidny wybór sam w sobie, a każda funkcja bezpieczeństwa opisana w tej serii działa w nim niezależnie od tego, czy w grę wchodzi telefon.
AirGap to najwyższa warstwa ochrony, położona na wierzchu. Wszystko, co opisane powyżej, nadal obowiązuje, a fraza seed przenosi się na telefon offline. Nawet atakujący, który kontroluje cały system operacyjny, nie znajdzie na komputerze nic do skopiowania ani sposobu, żeby zmienić ekran, na którym zapada ostateczna decyzja. Podmiana odbiorcy to jedyny ruch, który wszędzie pozostaje częściowo otwarty, bo zatruwanie adresów (address poisoning) celuje w twoje oczy, a nie w oprogramowanie. Od wyłapywania tego są obrazki adresów na obu urządzeniach.
Czego to nie naprawia
Urządzenie podpisujące (signer) offline pokazuje ci prawdę o tym, co podpisujesz. Nie powstrzyma cię przed zgodą. Kopia zapasowa frazy seed nadal jest twoją odpowiedzialnością – na papierze lub stali, a nie w menedżerze haseł. I żaden portfel nie ochroni cię przed kimś, kto zmusi cię do jego odblokowania. Wolimy sami powiedzieć ci o tych ograniczeniach, niż zostawić je tobie do odkrycia.
Dalsza część serii omawia elementy po kolei: dlaczego urządzeniem podpisującym jest telefon, który już masz, trzy drogi przez air gap, jak telefon pozostaje niewidzialny w eterze, dlaczego transport nigdy nie jest zaufany, co pokazuje ci telefon i jaki zapis prowadzi.
Cała seria
- Załóż, że komputer jest przejęty
- Mass Adoption Security: urządzeniem podpisującym jest telefon, który już masz
- Trzy drogi przez air gap: kody QR, Bluetooth LE i NFC
- Niewidzialny w eterze: urządzenie podpisujące, którego nie wykryje żaden skaner
- Transport nigdy nie jest zaufany
- Co pokazuje ci telefon: analiza transakcji na urządzeniu podpisującym
- Telefon prowadzi własny zapis
- Sejf na twoim komputerze: Argon2id i profil odporny na zgadywanie
- dAppy bez portfela w przeglądarce
- Serwer MCP z zasadami: agenci AI w granicach limitów
- Jeden chroniony portfel do wszystkiego
- Mały i natywny: C++, bez środowiska JavaScript, od stacji roboczej po Raspberry Pi