Niewidzialny w eterze: urządzenie podpisujące, którego nie wykryje żaden skaner
Radio, które ogłasza „tu jest portfel”, zniweczyłoby połowę sensu urządzenia podpisującego (signer) offline. Dlatego telefon z AirNox Vault się nie ogłasza.

Spis treści
Problem z radiem
Bluetooth sprawia, że praca przy biurku jest wygodna. Sprawia też, że telefon zaczyna mówić. Urządzenie, które rozgłasza nazwę w rodzaju „Wallet” ze stałym adresem, to urządzenie, które można znaleźć, rozpoznać, śledzić dzień po dniu i wytypować jako warte ataku. Do skanowania urządzeń Bluetooth wystarczy telefon i darmowa aplikacja. Malware na komputerze też to potrafi.
Chcieliśmy wygody bez radiolatarni. Projekt składa się z trzech części: kiedy telefon w ogóle nadaje, co mówi, gdy nadaje, i kto potrafi to zrozumieć.
Nic w eterze, dopóki nie otworzysz aplikacji
Telefon rozgłasza się tylko wtedy, gdy AirNox Vault jest otwarty, odblokowany i na pierwszym planie. Zablokuj telefon – milknie. Przełącz się na inną aplikację – milknie. Połóż go ekranem w dół w szufladzie – nic nie jest nadawane. Nie ma usługi w tle, która podtrzymywałaby kanał w gotowości.

Gdy już się rozgłasza, robi to z małą mocą nadawania. Jego zasięg to biurko. To świadoma decyzja o tym, kto może go usłyszeć, a nie zamiennik szyfrowania.
Co mówi, gdy nadaje
Trzy rzeczy sprawiają, że obcemu jego pakiet rozgłoszeniowy na nic się nie przyda.
Nie zawiera nazwy urządzenia. Nic w eterze nie mówi „AirNox”, „portfel” ani nic innego.
Używa losowego adresu Bluetooth, który system za każdym razem generuje na nowo. Nie ma stałego adresu, który można by zapisać, żeby jutro znowu go szukać.
A identyfikator usługi, który ogłasza, jest obliczany, a nie stały. Wynika z parowania (pairing), które telefon dzieli z twoim komputerem, i z bieżącego okna czasowego, więc zmienia się co kilka minut, a jego aktualną wartość potrafi wyliczyć tylko komputer, który ma to parowanie. Dla wszystkich innych to liczba, która wygląda na losową i za chwilę będzie inną liczbą, która też wygląda na losową.

Co widzi skaner
Skaner w sąsiednim pokoju widzi bezimienny losowy adres z identyfikatorem, który wygląda na losowy. Kilka minut później widzi inny adres z innym identyfikatorem. Nic ich ze sobą nie łączy. Nic nie wskazuje, że to portfel, a nie któreś z wielu innych bezimiennych urządzeń korzystających z Bluetooth. Nie ma niczego, co warto zapamiętać na następny raz.
Co widzi malware na komputerze
Komputer, który z założenia uważamy za zainfekowany, wcale nie widzi więcej. Złośliwe oprogramowanie na nim nie ma nazwy do wyszukania, stałego adresu do zapamiętania ani niczego do znalezienia, dopóki nie przeniesiesz aplikacji na pierwszy plan. Portfel wie, jak rozpoznać telefon, bo był obecny przy parowaniu. Złośliwe oprogramowanie, które ukradnie jego konfigurację, i tak musi poczekać, aż otworzysz aplikację w zasięgu, a potem staje przed sesją, którą omawia następny artykuł.
Dlaczego znalezienie telefonu i tak nic nie daje
Załóżmy, że atakujący jednak zauważy telefon, gdy go używasz. Samo znalezienie nic mu nie daje. Każde żądanie nadal trafia na ekran telefonu, zdekodowane z bajtów do podpisania, a tam je czytasz i naciskasz Accept (Akceptuj) albo nie. Radio przenosi zaszyfrowany ruch w sesji, która została uwierzytelniona przy parowaniu. Być wystarczająco blisko, żeby go słyszeć, to nie to samo, co móc do niego dołączyć.
Niewidzialność to pierwsza warstwa. Jej zadaniem jest sprawić, żeby przez większość czasu nie było czego atakować, a kiedy już jest, żeby wyglądało jak nic szczególnego.
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