Bezpieczeństwo i szyfrowanie

MeshCore szczegóły szyfrowania

Wszystko o szyfrowaniu AES-256, zarządzaniu kluczami PSK, modelu bezpieczeństwa i szyfrowaniu per-channel w sieciach kratowych MeshCore

Jak MeshCore chroni Twoje dane

MeshCore używa szyfrowania AES-256 do zabezpieczania wiadomości. Jest to to samo szyfrowanie na poziomie wojskowym, którego używają banki i rządy. Każdy kanał może mieć swój własny PSK (klucz współdzielony) do komunikacji prywatnej.

Model bezpieczeństwa MeshCore opiera się na szyfrowaniu symetrycznym: każdy posiadający PSK może szyfrować i deszyfrować wiadomości. Jest to proste, ale skuteczne w przypadku sieci kratowych, w których masz zamkniętą grupę.

W tym przewodniku technicznym wyjaśniamy, jak działa szyfrowanie, jak zarządzać kluczami, jakie istnieją środki bezpieczeństwa i jakie są ograniczenia. Przed skonfigurowaniem szyfrowanej sieci zapoznaj się z kompromisami w zakresie bezpieczeństwa.

Warstwy zabezpieczeń w MeshCore

🔐

Szyfrowanie kanału (AES-256)

Każdy kanał można zaszyfrować za pomocą PSK. Wiadomości są szyfrowane, zanim trafią do radia. Tylko węzły z poprawnym PSK mogą czytać.

🔑

Klucze na poziomie urządzenia

Każde urządzenie ma unikalny klucz urządzenia do funkcji administracyjnych. Zapobiega to ponownej konfiguracji Twojego węzła przez przypadkowe osoby, nawet na kanale publicznym.

🛡️

Bezpieczeństwo kanału administratora

Kanały administracyjne zawsze mają oddzielny PSK. Zdalna konfiguracja jest możliwa tylko dla autoryzowanych węzłów posiadających klucz administratora.

Szyfrowanie AES-256-CTR

MeshCore używa AES-256 w trybie CTR (tryb licznika). Jest to szyfr strumieniowy, który działa wydajnie na urządzeniach wbudowanych o niskim poborze mocy. Każdy pakiet otrzymuje unikalną wartość licznika jako wektor inicjujący (IV).

Proces szyfrowania:
1. PSK (256-bitowy) + Licznik pakietów (IV) → AES-CTR
2. Ładunek zwykłego tekstu, zaszyfrowany strumień XOR → Tekst zaszyfrowany
3. Tekst zaszyfrowany + licznik wysyłany drogą radiową
4. Odbiorca: deszyfrowanie AES-CTR z tym samym PSK + licznikiem → Zwykły tekst

Zaletą trybu CTR jest to, że szyfrowanie i deszyfrowanie to ta sama operacja (XOR). Jest to szybkie na chipach ESP32, które mają sprzętową akcelerację AES. 256-bitowy klucz jest niezwykle trudny do wykorzystania metodą brute-force (zajęłoby to miliardy lat).

Zarządzanie kluczami PSK

Generacja klucza

PSK to 256-bitowe (32 bajty) losowe klucze. Zwykle reprezentowany jako ciąg base64 lub szesnastkowy. Generuj klucze za pomocą kryptograficznie bezpiecznego generatora losowego, a nie „hasła123”!

Dystrybucja klucza

PSK muszą być bezpiecznie udostępniane członkom grupy. Za pomocą kodu QR, konfiguracji USB lub bezpiecznego kanału. Nigdy nie wysyłaj kluczy za pośrednictwem niezaszyfrowanego radia lub publicznego Internetu.

Rotacja klucza

Ze względu na najlepszą praktykę w zakresie bezpieczeństwa okresowo zmieniaj PSK. Zwłaszcza, gdy członkowie grupy odchodzą. MeshCore obsługuje wiele kluczy jednocześnie, zapewniając płynne przejście.

Domyślne klucze

Kanał główny często nie posiada PSK (publicznego). Kanały dodatkowe zwykle korzystają z niestandardowych PSK. Istnieje standardowy klucz „AQ==”, ale jest on niebezpieczny, ponieważ wszyscy go znają!

Specyfikacje techniczne

Parametr Wartość Opis
Algorytm szyfrowania AES-256-CTR Zaawansowany standard szyfrowania, klucz 256-bitowy, tryb licznika
Długość klucza 256 bitów (32 bajty) Poziom bezpieczeństwa na poziomie wojskowym
IV (wektor inicjujący) Licznik pakietów Unikalna wartość na pakiet, zapobiega atakom typu „replay”.
Przyspieszenie sprzętowe Tak (ESP32) ESP32 ma sprzętowy AES do szybkiego szyfrowania/deszyfrowania
Wpływ na wydajność <1 ms na pakiet Znikomy narzut dzięki sprzętowemu AES
Przekaż tajemnicę NIE Klucz symetryczny, bez PFS jak w TLS

Korzyści z szyfrowania MeshCore

🔒

Bezpieczeństwo na poziomie wojskowym

AES-256 został zatwierdzony przez NSA dla dokumentów ściśle tajnych. Praktycznie nie do złamania w przypadku obecnych komputerów.

Wydajny na sprzęcie wbudowanym

Sprzętowy AES na ESP32 sprawia, że szyfrowanie jest superszybkie (<1 ms). Brak zauważalnego wpływu na żywotność baterii i opóźnienia.

🔀

Klucze na kanał

Każdy kanał ma swój własny PSK. Różne poziomy bezpieczeństwa: publiczne kanały główne, prywatne kanały dodatkowe. Elastyczny w zależności od przypadku użycia.

🛠️

Łatwy w konfiguracji

Konfiguracja PSK jest prosta: wpisz jeden 32-bajtowy klucz i gotowe. Brak skomplikowanego zarządzania certyfikatami, jak w przypadku protokołu TLS/HTTPS.

📡

Przejrzyste dla użytkownika

Szyfrowanie odbywa się automatycznie. Użytkownik nie zauważa niczego na temat procesu szyfrowania/deszyfrowania. Wiadomości można odczytać w aplikacji.

🔐

Ochrona kanału administratora

Funkcje administracyjne są zawsze szyfrowane. Uniemożliwia atakującym przejęcie lub zmianę konfiguracji węzła drogą radiową.

Często zadawane pytania

Czy wszystkie wiadomości są szyfrowane w MeshCore?

Nie, szyfrowane są tylko wiadomości na kanałach z PSK. Podstawowy kanał jest często publiczny (bez PSK) i służy do ogólnej komunikacji. Możesz ustawić kanały dodatkowe jako prywatne, korzystając z własnego PSK. Ty wybierasz dla każdego kanału, czy szyfrowanie jest włączone.

Czy ktoś może przechwycić i przeczytać moje wiadomości?

Na kanałach publicznych bez PSK: tak, każdy z węzłem MeshCore może czytać dalej. Na kanałach szyfrowanych: nie, tylko osoby posiadające PSK mogą odszyfrować. LoRa radio jest nadawane, więc szyfrowanie jest niezbędne dla zachowania prywatności.

Jak bezpieczne jest naprawdę szyfrowanie AES-256?

AES-256 jest bardzo bezpieczny. Przy obecnych komputerach złamanie klucza metodą brute-force zajęłoby miliardy lat. Służy do tajnych danych rządowych. Jeśli Twoje PSK pozostanie tajemnicą, Twoich wiadomości będzie praktycznie nie do złamania.

Co się stanie, jeśli ktoś dowie się o moim PSK?

Wtedy ta osoba będzie mogła czytać i wysyłaćwszystkie wiadomości na tym kanale. Jest to wada szyfrowania symetrycznego. Dlatego natychmiast przełącz PSK, jeśli podejrzewasz, że klucz wyciekł. Udostępniaj PSK wyłącznie bezpiecznymi kanałami (nie drogą radiową!).

Czy MeshCore obsługuje kompleksowe szyfrowanie między osobami?

MeshCore ma szyfrowanie na poziomie kanału, a nie kompleksowe dla każdego użytkownika. Wszystkie węzły na zaszyfrowanym kanale mogą czytać nawzajem wiadomości. W przypadku prawdziwego E2E musiałbyś zbudować dodatkową warstwę szyfrowania na górze (prawdopodobnie za pomocą wtyczek).

Czy szyfrowanie wpływa na zasięg lub żywotność baterii?

Nie, znikomy wpływ. Sprzętowy AES na ESP32 jest superszybki (<1 ms na wiadomość). Nie zauważysz żadnej różnicy w zasięgu, prędkości lub żywotności baterii pomiędzy kanałami szyfrowanymi i niezaszyfrowanymi. Szyfrowanie jest bezpłatne pod względem wydajności.

Zabezpiecz swoją komunikację MeshCore

Gotowy do skonfigurowania szyfrowanej sieci mesh? Wybierz swoje urządzenie i skonfiguruj kanały prywatne z szyfrowaniem AES-256.

Powiązane artykuły