WireGuard-ŝlosiloj sur ESP32: po-aparata aŭ unu enkonstruita?
Ŝlosilo kompilita en la ESP32-firmware estas identeco de kunulo, ne pasvorto. Decidu per tri kondiĉoj: posedo, protekto de la fulmomemoro kaj reuzo tra la tuta aro.
La skizo metas la privatan ŝlosilon de WireGuard en signotabelon, kaj la tunelo funkcias, tial la demando ree aperas. La decido, kiun vi vere devas fari, ne estas «ĉu tio sekuras», sed «kiu el tri kondiĉoj validas por ĉi tiu enkonduko». Ili estas: kiu povas fizike teni la aparaton, kion donas legado de la fulmomemoro ĉe via parto, kaj ĉu la aro dividas unu ŝlosilon aŭ portas unu ĉiu. Respondu tion kaj la dezajno sekvas, ĉar ĉiu kondiĉo ŝanĝas la koston de elfluinta ŝlosilo, ne la fakton, ke ĝi povas elflui.
Kion la ŝlosilo rajtigas
WireGuard aŭtentikigas kunulojn per publika ŝlosilo. La servilo mapas la publikan ŝlosilon de ĉiu kunulo al adreso kaj AllowedIPs listo, do la privata ŝlosilo estas tio, kio ebligas al kliento sendi trafikon el tiu adreso.
La sama rikordo decidas, kiujn celojn la aparato povas atingi, do elfluinta ŝlosilo malkaŝas la reton malantaŭ la tunelo kaj ankaŭ la tunelan adreson.
Kondiĉo unua: kiu povas teni la aparaton
Se la unuo loĝas en ŝlosita ŝranko kaj neniu ekster via teamo tuŝas ĝin, la elmeto estas ĉefe demando pri disdonado de firmware. Se ĝi estas sendata al klientoj, staras en veturilo aŭ revenas sub garantio, la fizika posedo estas la legitimilo kaj la sekreteco de la binara dosiero estas duaranga. Kiu tenas la aparaton ne bezonas legi la ŝlosilon, ĉar la kuranta firmware malfermos la tunelon por li. Tial la respondo ĉe la servila flanko devas inkluzivi revokon kaj limigitan vivdaŭron, ne nur protektitan bildon.
Decidu ĉi tiun kondiĉon antaŭ la aliaj du, ĉar ĝi fiksas la buĝeton por ambaŭ.
Kondiĉo dua: kion donas legado de la fulmomemoro
Kiu ajn povas legi la bildon de la fulmomemoro, tiu rekuperas ŝlosilon konservitan kiel literalon, ĉu per sencimiga konekto, ĉu per ĝisdatiga dosiero, ĉu per sekurkopio, ĉu per redonita unuo. Ĉifrado de la fulmomemoro plialtigas la koston de rekta elŝuto, kaj la dokumentaro de ESP-IDF priskribas, kion la funkcio kovras por donita parto kaj agordo. Ĝi ne faras la ŝlosilon neeltirebla sub ĉiu atakmodelo, kaj ĝi faras nenion por la kazo de aparato en la mano. Traktu ĝin kiel unu tavolon, kiu ŝanĝas koston, ne kiel la respondon.
Legu la platforman dokumentaron por via preciza ĉipo kaj agordo antaŭ ol aserti econ en dezajna revizio.
Kondiĉo tria: reuzo tra la tuta aro
Unu ŝlosilo por produkta serio signifas, ke ĉiu unuo dividas unu identecon. La servilo ne povas distingi ilin en la protokoloj, ne povas revoki unu sen revoki ĉiujn, kaj ne povas distingi klonon de originalo. Ŝlosiloj po aparato solvas ĉiujn tri, kontraŭ la kosto de aliĝa paŝo kaj mapado de seria numero al publika ŝlosilo. Tiu mapado estas la valoraĵo, kiu transformas revokon en unulinian ŝanĝon anstataŭ reflugigon de la tuta aro.
Se la aro estas kvin unuoj sur benko, dividi ŝlosilon povas esti racia interŝanĝo. Se ĝi estas kvincent en la kampo, ĝi tute ne estas interŝanĝo.
La aliĝa ŝablono, kiu faras ŝlosilojn po aparato praktikaj
Generu la ŝlosilan paron en la aparato ĉe la unua lanĉo, tenu la privatan duonon en protektita nevolatila konservado, kaj sendu nur la publikan ŝlosilon al aliĝa servo, kiu atribuas adreson kaj skribas la kunulan rikordon. Aŭtentikigu la aliĝan respondon, alie atakanto en la loka reto povas registri sian propran ŝlosilon kontraŭ via konto. Neniam presu la privatan ŝlosilon al la seria konzolo dum provizado. Notu la serian numeron de la aparato apud la publika ŝlosilo, por ke perdita unuo mapiĝu al ekzakte unu kunula rikordo.
Tio estas malgranda servo, kaj ĝi estas la diferenco inter aro, kiun vi povas revizii, kaj aro, kiun vi povas nur reflugigi.
Tempo, finpunktoj kaj la decido
La ekzemplo sinkronigas la tempon antaŭ ol starti la tunelon, kaj tio gravas preter TLS: la manpremoj de WireGuard portas tempomarkon por protekto kontraŭ ripeto, do aparato lanĉiĝanta kun malĝusta horloĝo povas ricevi rifuzitajn manpremojn. La finpunkto estas gastigantnomo, kio metas DNS en la fidan vojon eĉ se la publika ŝlosilo de la servilo ankoraŭ aŭtentikigas la kunulon. Malĝusta adreso malŝparas provojn kaj malkaŝas, kiam la aparato estas enrete. Traktu ambaŭ antaŭ ol disputi pri la ŝlosilo.
Poste decidu: komuna ŝlosilo nur dum la posedo estas kontrolata kaj la aro malgranda, ŝlosiloj po aparato tuj kiam unu el la du ĉesas esti vera.