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.