Skica postavi zasebni ključ WireGuarda v polje znakov in predor deluje, zato se vprašanje vedno znova pojavi. Odločitev, ki jo res morate sprejeti, ni «je to varno», ampak «kateri od treh pogojev velja za to uvedbo». To so: kdo lahko fizično drži napravo, kaj dá branje flash na vašem delu in ali flota deli en ključ ali vsaka enota nosi svojega. Odgovorite na to in zasnova sledi, ker vsak pogoj spremeni strošek uhajalega ključa, ne pa dejstva, da lahko uhaja.

Kaj ključ dovoljuje

WireGuard overi sopotnike z javnim ključem. Strežnik vsakemu javnemu ključu sopotnika pripiše naslov in AllowedIPs seznam, zato prav zasebni ključ omogoča odjemalcu pošiljanje prometa s tega naslova.

Isti vnos odloča, katere cilje naprava lahko doseže, zato uhajali ključ razkrije omrežje za predorom in tudi naslov predora.

Prvi pogoj: kdo lahko drži napravo

Če enota stoji v zaklenjeni omari in se je nihče zunaj vaše ekipe ne dotakne, je izpostavljenost predvsem vprašanje distribucije strojne programske opreme. Če se pošilja strankam, stoji v vozilu ali se vrne v garanciji, je fizično posedovanje poverilnica, tajnost binarne datoteke pa drugotna. Kdor drži napravo v roki, mu ni treba brati ključa, ker mu bo delujoča programska oprema odprla predor. Zato mora odgovor na strani strežnika vključevati preklic in omejeno življenjsko dobo, ne le zaščitene slike.

Ta pogoj odločite pred drugima dvema, ker določa proračun za oba.

Drugi pogoj: kaj dá branje flash

Kdor lahko prebere sliko flash, pridobi nazaj ključ, shranjen kot literal, bodisi prek odklopne povezave, datoteke za posodobitev, varnostne kopije ali vrnjene enote. Šifriranje flash podraži neposreden izvoz, in dokumentacija ESP-IDF opisuje, kaj funkcija pokriva za določen del in konfiguracijo. Ključa ne naredi neizluščljivega pri vsakem modelu napada in ne naredi ničesar za primer, ko je naprava v roki. Obravnavajte ga kot eno plast, ki spreminja strošek, ne kot odgovor.

Preberite dokumentacijo platforme za svoj natančni čip in konfiguracijo, preden v pregledu zasnove trdite lastnost.

Tretji pogoj: ponovna uporaba v celotni floti

En ključ za proizvodno serijo pomeni, da vsaka enota deli eno identiteto. Strežnik jih v dnevnikih ne more razlikovati, ne more preklicati enega, ne da bi preklical vse, in ne more razlikovati klona od izvirnika. Ključi za vsako napravo rešijo vse tri, za ceno koraka registracije in preslikave serijske številke v javni ključ. Ta preslikava je sredstvo, ki preklic spremeni v spremembo ene vrstice namesto ponovnega flashanja celotne flote.

Če je flota pet enot na mizi, je deljenje ključa lahko razumna zamenjava. Če jih je petsto na terenu, to ni nobena zamenjava.

Vzorec registracije, ki naredi ključe za napravo praktične

Ustvarite par ključev v napravi ob prvem zagonu, zasebno polovico hranite v zaščitenem nehlapnem pomnilniku in pošljite le javni ključ v registracijsko storitev, ki dodeli naslov in zapiše vnos sopotnika. Overite odgovor registracije, sicer lahko napadalec v lokalnem omrežju registrira svoj ključ na vašem računu. Nikoli ne natisnite zasebnega ključa na serijsko konzolo med pripravo. Zapišite serijsko številko naprave ob javni ključ, da izgubljena enota ustreza natanko enemu vnosu sopotnika.

To je majhna storitev in je razlika med floto, ki jo lahko pregledate, in floto, ki jo lahko le ponovno flashate.

Čas, končne točke in odločitev

Primer sinhronizira čas pred zagonom predora, in to šteje onkraj TLS: rokovanja WireGuarda nosijo časovni žig za zaščito pred ponovitvijo, zato lahko naprava, ki se zažene z napačno uro, dobi zavrnjena rokovanja. Končna točka je ime gostitelja, kar postavi DNS na pot zaupanja, čeprav javni ključ strežnika še vedno overi sopotnika. Napačen naslov zapravlja poskuse in razkrije, kdaj je naprava na spletu. Rešite oboje, preden se prepirate o ključu.

Nato se odločite: deljen ključ le dokler je posedovanje nadzorovano in flota majhna, ključi za vsako napravo takoj ko eno od tega preneha veljati.

Sorodni članki