Ar galima dalytis viešuoju VPN raktu? Patikrinkite tris dalykus
Viešosios pusės paskelbimas yra pats protokolo veikimo būdas; privačios pusės paskelbimas reiškia tapatybės perdavimą. Trys patikros nulemia, kurią reikšmę laikote rankose.
Galite duoti savo viešąjį VPN raktą kolegai, tiekėjui ar forumui, ir tunelis veiks toliau. Privataus rakto perduoti negalite, net pagalbos tarnybai, neperdavę tapatybės, kurią tas raktas įrodo. Sprendimas retai išlieka toks paprastas, nes žmonės painioja, kurią poros pusę jie žiūri, ir nes kai kurie diegimai viešąją reikšmę traktuoja kaip vardą. Tris patikros tai išsprendžia: kurią pusę turite, prie ko diegimas ją pririša ir kiek kainuoja pakeitimas.
Pirmoji patikra: kuri poros pusė yra jūsų iškarpinėje
Asimetriniai raktai būna poromis, ir išvedimo kryptis yra visa esmė. WireGuard privatusis raktas yra 32 atsitiktiniai baitai, o viešasis apskaičiuojamas iš jo; priešinga kryptimi neįmanoma. wg genkey įrašo privačią reikšmę, wg pubkey išveda viešąją, ir tik antroji patenka į žinutę kolegai.
wg genkey | tee private.key | wg pubkey > public.key
chmod 600 private.key
openssl x509 -noout -pubkey -in server.crt
Sertifikatų pasaulis naudoja tą patį skirstymą su daugiau judančių dalių. Serverio sertifikatas neša viešąjį raktą ir vardus, ir jį pasirašo privatusis CA raktas, kuris niekada nepalieka CA. Klientui, kuris tikrina tą serverį, reikia CA sertifikato, kuris yra viešas, ir jis visiškai nenaudoja CA privataus pasirašymo rakto.
Jei nesate tikri, kurią reikšmę laikote, ieškokite žymės, o ne failo vardo. PEM blokas, prasidedantis -----BEGIN PRIVATE KEY-----, arba senesnė BEGIN RSA PRIVATE KEY forma, yra slaptoji pusė. Reikšmė, kurią galite įklijuoti be tos žymės, yra bendrinimo kandidatė, atsižvelgiant į kitas dvi patikras.
Antroji patikra: prie ko diegimas pririša tą viešąją reikšmę
Kriptografinis saugumas ir anonimiškumas yra skirtingos savybės. WireGuard kolegos viešasis raktas yra stabilus identifikatorius diegimo viduje: serverio konfigūracija jį išvardija, rankos paspaudimas jį įvardija, o žurnalus skaitantis administratorius kiekvieną kartą, kai tas kolega prisijungia, mato tą pačią eilutę. Paskelbę raktą šalia klausimo apie savo sąranką, tą eilutę susiejote su viskuo kitu įraše.
Sertifikatai atskleidžia tapatybę pagal projektą. Subject ir subject alternative name yra perskaitomi, o viešai patikimiems TLS sertifikatams pats sertifikatas skelbiamas Certificate Transparency žurnaluose, kurie yra ieškomi. Niekas iš to neatskleidžia privataus rakto, ir viskas iš to atskleidžia santykį.
Čia diegimai skiriasi, ir tai nulemia atsakymą. Vienkartinis bandomasis kolega laboratorijos serveryje yra kitas objektas nei raktas, identifikuojantis įmonės tarpmiestinį galinį tašką, nors baitai atrodo identiškai.
Trečioji patikra: ką galite atšaukti ir kaip greitai
Trečioji patikra visiškai atskiria abi puses. Paskelbtą viešąjį raktą galima pakeisti savo grafiku. Paskelbto privataus rakto atšaukti negalima: savo kopijos ištrynimas nepaliečia jau paimtų kopijų, ir kiekvienas kolega, kuris juo pasitikėjo, dabar pasitiki tuo, ką turi pašalinis.
Atšaukimas yra konfigūracijos veiksmas, o ne kriptografinis. WireGuard nepateikia atšaukimo sąrašo, todėl kolegą pašalinate:
wg set wg0 peer <peer-public-key> remove
# then delete the [Peer] block from the config so it does not return on restart
OpenVPN sertifikatais pagrįsti diegimai atšaukia sertifikatą ir paskelbia CRL, kurį serveris tikrai tikrina per crl-verify. Be tos direktyvos atšaukimo sąrašas yra tik puošmena. Abiem atvejais seka ta pati: išduokite pakaitalą, paskirstykite jį palaikomu kanalu, tada atsisakykite senosios tapatybės.
Klaidos, kylančios suplakus tris patikras
Dauguma tikrų nutekėjimų nėra žmogaus sprendimas paskelbti privatų raktą. Tai visas profilis, įklijuotas į forumą: WireGuard .conf su PrivateKey eilute, .ovpn paketas su įterptu raktų bloku, arba kliento lango ekrano kopija, kurioje atsitiktinai matomas rakto laukas. Viešoji reikšmė greičiausiai buvo tvarkinga; ji keliavo kartu su dalimi, kuri nebuvo.
Pagalbos darbo eigos yra antrasis šaltinis. Nė vienas teisėtas tikrinimo veiksmas nereikalauja jūsų privataus rakto, nes kita pusė reikiamą informaciją išveda iš viešosios pusės. Kai forma ar žmogus prašo privačios reikšmės, teisingas atsakymas yra viešoji reikšmė ir vietinė komanda, kuri ją sukuria.
Žurnalai ir ekrano kopijos priklauso tai pačiai kategorijai. Diagnostikos išvestis gali nešti raktų medžiagą, sesijų identifikatorius ir vidinius adresus, o viso to paskelbimas norint gauti atsakymą į vieną klausimą iškeičia mažą patogumą į didesnį atskleidimą.
Po privataus rakto nutekėjimo atsisakykite tapatybės
Jei privati reikšmė vis dėlto išėjo, laikykite tą tapatybę atsisakytą. Sugeneruokite naują porą, įdiekite viešąją pusę ten, kur kolegos jos laukia, pašalinkite seną kolegą arba atšaukite seną sertifikatą ir patikrinkite vietas, kur ją paskelbėte. Negalite ištrinti kopijų, kurių nekontroliuojate, todėl pašalinimas yra apie ateitį, o ne apie praeitį.
Tada užrašykite paskirstymą: kuris raktas priklauso kuriam įrenginiui, kas turi kopiją, kaip pristatomas pakaitalas ir kas pašalina atsisakytą kolegą. Tai dalys, kurias žmonės pamiršta, ir jos nulemia, kiek ilgai nutekėjimas lieka naudingas.