Ką iš anksto bendrinamas raktas veikia IPsec, OpenVPN ir WireGuard
Bendrinama paslaptis gali autentifikuoti partnerį arba pridėti apsaugos sluoksnį, o jos vaidmuo kinta priklausomai nuo protokolo. Nepainiokite jos su naudotojo slaptažodžiu.
Žodžiai iš anksto bendrinamas raktas sutinkami IPsec, OpenVPN ir WireGuard dokumentacijoje, bet žymi tris skirtingus objektus. Vienas yra autentifikavimo paslaptis, kitas saugo valdymo kanalą, trečias prideda medžiagos rankos paspaudimui, kuris jau turi tapatybes. Jei laikysite juos keičiamais, gausite ryšį, kuris žlunga etape, kurio niekas nesitikėjo. Perskaitykite, ką šis laukas daro tame protokole, prieš kopijuodami į jį reikšmę.
Trys protokolai, trys reikšmės
Kiekvienas protokolas apibrėžia rakto užduotį savo specifikacijoje, ir šios užduotys nesikerta. Autentifikavimo paslaptis įrodo, kad du partneriai žino tą pačią reikšmę. Valdymo kanalo raktas saugo tolesnes derybas. Rankos paspaudimo priedas keičia raktų grafiką, bet nekeičia to, kas yra partneriai.
Nė vienas iš šių vaidmenų neautentifikuoja žmogaus, ir būtent ši painiava kainuoja daugiausia laiko. Iš anksto bendrinamas raktas įdiegiamas įrenginiuose ar šliuzuose prieš mainus, todėl kiekvienas turėtojas kitai pusei atrodo vienodai. Ši savybė yra pranašumas jungčiai tarp dviejų maršrutizatorių ir rizika nuotolinės prieigos paslaugai su įvardytais darbuotojais. Laikykite paskyros prisijungimo duomenis ir kriptografinę paslaptį atskiruose dokumento, aprašančio diegimą, stulpeliuose.
IPsec ir OpenVPN vartoja šį žodį skirtingai
IKEv2 gali autentifikuoti partnerį iš anksto bendrinama paslaptimi vietoj sertifikatų, o reikšmė turi sutapti abiejose pusėse. Kadangi ta pati paslaptis paprastai nustatoma partnerių grupei, bet kuris turėtojas gali apsimesti kitais, o mainai negauna jokio tiesioginio slaptumo iš tapatybės raktų, kurių niekada neturėjo.
OpenVPN parinktys tls-auth ir tls-crypt pritvirtina statinį raktą prie valdymo kanalo, pridėdamos HMAC parašą arba šifruodamos pačias derybas. Šis raktas nėra naudotojo slaptažodis ir nepakeičia kliento sertifikato. Skirtumas svarbus atnaujinant, kai slaptažodžio keitimas palieka valdymo kanalo raktą nepaliestą.
WireGuard PSK prideda, bet neidentifikuoja
WireGuard partneriai jau turi viešuosius ir privačiuosius Curve25519 raktus, o rankos paspaudimas autentifikuoja šias tapatybes. Pasirenkamas iš anksto bendrinamas raktas įmaišomas į grandinės raktą ir prideda simetrinės medžiagos virš viešųjų raktų mainų.
Jis pats savaime nesuteikia nei tapatybės, nei naudotojo paskyros, todėl operatorius negali atskirti dviejų turėtojų pagal jų PSK. Abi pusės turi turėti tą pačią reikšmę, kitaip rankos paspaudimas žlunga be naudingos klaidos žinutės. Todėl rotaciją reikia planuoti abiem pusėms iš karto, o ne kaip vieno failo redagavimą.
Patikrinkite platinimą, rotaciją ir pašalinimą
Platinimas yra silpnoji vieta kiekvieno projekto, kuris naudoja vieną paslaptį daugelyje vietų. Reikšmė, įklijuota į pokalbio langą, saugoma saugykloje ar pakartotinai naudojama tarp aplinkų, sukaupia kopijas, kurių niekas negali išvardyti, ir kiekviena kopija tyliai didina žalos apimtį.
Base64 tekstas nėra šifravimas. Paslaptis, laikoma šalia viešo sertifikato tame pačiame kataloge, vis dar yra atvira paslaptis.
openssl rand -base64 32
sudo wg show wg0 preshared-keys
sudo grep -R -n 'psk' /etc/ipsec.d/ 2>/dev/null
Rotuokite pagal grafiką ir po kiekvieno įtariamo atskleidimo, atnaujindami kiekvieną numatytą partnerį prieš panaikindami seną reikšmę. Tada išbandykite ryšį iš abiejų galų, nes nesutampantis raktas žlunga rankos paspaudime ir atrodo lygiai kaip ugniasienės problema.
Užrašykite, kuri paslaptis saugo kurį etapą, kad slaptažodžio atstatymas niekada nebūtų supainiotas su kriptografinio rakto atnaujinimu. Ta viena eilutė sutaupo valandą kiekvieną kartą, kai kas nors audituoja diegimą.