Szkic umieszcza prywatny klucz WireGuarda w tablicy znaków, a tunel działa, dlatego to pytanie wraca. Decyzja, którą naprawdę trzeba podjąć, to nie «czy to jest bezpieczne», ale «który z trzech warunków dotyczy tego wdrożenia». Są to: kto może fizycznie trzymać urządzenie, co daje odczyt flash na twoim elemencie i czy flota dzieli jeden klucz, czy każde urządzenie nosi własny. Odpowiedz na to, a projekt wyniknie, bo każdy warunek zmienia koszt ujawnionego klucza, a nie fakt, że może on wyciec.

Do czego upoważnia klucz

WireGuard uwierzytelnia peerów kluczem publicznym. Serwer przypisuje klucz publiczny każdego peera do adresu i AllowedIPs listy, więc to klucz prywatny pozwala klientowi wysyłać ruch z tego adresu.

Ten sam wpis decyduje, do jakich celów urządzenie może dotrzeć, więc ujawniony klucz odsłania sieć za tunelem oraz adres tunelu.

Warunek pierwszy: kto może trzymać urządzenie

Jeśli jednostka stoi w zamkniętej szafie i nikt spoza twojego zespołu jej nie dotyka, ekspozycja jest głównie kwestią dystrybucji firmware. Jeśli jest wysyłana do klientów, stoi w pojeździe lub wraca w ramach gwarancji, fizyczne posiadanie jest poświadczeniem, a tajność pliku binarnego jest drugorzędna. Kto trzyma urządzenie w ręku, nie musi czytać klucza, bo działający firmware otworzy mu tunel. Dlatego odpowiedź po stronie serwera musi obejmować unieważnienie i ograniczony czas życia, a nie tylko chroniony obraz.

Rozstrzygnij ten warunek przed pozostałymi dwoma, bo ustala budżet dla obu.

Warunek drugi: co daje odczyt flash

Każdy, kto potrafi odczytać obraz flash, odzyskuje klucz zapisany jako literał, czy to przez połączenie debugowania, plik aktualizacji, kopię zapasową, czy zwróconą jednostkę. Szyfrowanie flash podnosi koszt bezpośredniego zrzutu, a dokumentacja ESP-IDF opisuje, co funkcja obejmuje dla danego elementu i konfiguracji. Nie czyni klucza nieekstrahowalnym w każdym modelu ataku i nic nie daje w przypadku urządzenia w ręku. Traktuj to jako jedną warstwę zmieniającą koszt, a nie jako odpowiedź.

Przeczytaj dokumentację platformy dla swojego dokładnego układu i konfiguracji, zanim zadeklarujesz właściwość w przeglądzie projektu.

Warunek trzeci: ponowne użycie w całej flocie

Jeden klucz na serię produkcyjną oznacza, że każda jednostka dzieli jedną tożsamość. Serwer nie odróżni ich w logach, nie może unieważnić jednego bez unieważnienia wszystkich, i nie odróżni klona od oryginału. Klucze dla każdego urządzenia rozwiązują wszystkie trzy, kosztem kroku rejestracji i mapowania numeru seryjnego na klucz publiczny. To mapowanie jest aktywem, które zamienia unieważnienie w zmianę jednej linii zamiast ponownego flashowania całej floty.

Jeśli flota to pięć jednostek na stole, współdzielenie klucza może być rozsądną wymianą. Jeśli to pięćset w terenie, to nie jest żadna wymiana.

Wzorzec rejestracji, który czyni klucze dla urządzeń praktycznymi

Wygeneruj parę kluczy na urządzeniu przy pierwszym uruchomieniu, trzymaj prywatną połowę w chronionej pamięci nieulotnej i wysyłaj tylko klucz publiczny do usługi rejestracji, która przydziela adres i zapisuje wpis peera. Uwierzytelniaj odpowiedź rejestracji, inaczej atakujący w sieci lokalnej zarejestruje własny klucz na twoim koncie. Nigdy nie drukuj klucza prywatnego na konsoli szeregowej podczas przygotowania. Zapisz numer seryjny urządzenia obok klucza publicznego, aby zgubiona jednostka odpowiadała dokładnie jednemu wpisowi peera.

To mała usługa i to ona jest różnicą między flotą, którą możesz audytować, a flotą, którą możesz tylko przeflashować.

Czas, punkty końcowe i decyzja

Przykład synchronizuje czas przed uruchomieniem tunelu, i to ma znaczenie poza TLS: uściski dłoni WireGuarda niosą znacznik czasu chroniący przed powtórzeniem, więc urządzenie startujące z błędnym zegarem może dostać odrzucone uściski. Punkt końcowy to nazwa hosta, co wprowadza DNS do ścieżki zaufania, choć klucz publiczny serwera nadal uwierzytelnia peera. Błędny adres marnuje próby i zdradza, kiedy urządzenie jest online. Rozwiąż oba, zanim zaczniesz spierać się o klucz.

Potem zdecyduj: wspólny klucz tylko dopóki posiadanie jest kontrolowane i flota jest mała, klucze dla urządzeń, gdy tylko jedno z tych przestanie być prawdą.

Powiązane artykuły