Mitä ennalta jaettu avain tekee IPsecissä, OpenVPN:ssä ja WireGuardissa
Jaettu salaisuus voi todentaa vastapuolen tai lisätä suojakerroksen, ja sen rooli vaihtuu protokollan mukaan. Älä sekoita sitä käyttäjän salasanaan.
Sanat ennalta jaettu avain esiintyvät IPsecin, OpenVPN:n ja WireGuardin dokumentaatiossa, mutta ne kuvaavat kolmea eri objektia. Yksi on todennuksen salaisuus, toinen suojaa ohjauskanavaa ja kolmas lisää materiaalia kättelyyn, jolla on jo identiteetit. Jos niitä pitää vaihtokelpoisina, syntyy yhteys, joka epäonnistuu vaiheessa, jota kukaan ei odottanut. Lue, mitä kenttä tekee kyseisessä protokollassa, ennen kuin kopioit arvon siihen.
Kolme protokollaa, kolme merkitystä
Jokainen protokolla määrittää avaimen tehtävän omassa määrittelyssään, eivätkä tehtävät mene päällekkäin. Todennuksen salaisuus osoittaa, että kaksi osapuolta tuntevat saman arvon. Ohjauskanavan avain suojaa sitä seuraavan neuvottelun. Kättelyn lisäosa muuttaa avainten aikataulua muuttamatta sitä, keitä osapuolet ovat.
Mikään näistä rooleista ei todanna ihmistä, ja juuri tämä sekaannus vie eniten aikaa. Ennalta jaettu avain asennetaan laitteisiin tai yhdyskäytäviin ennen vaihtoa, joten jokainen haltija näyttää toiselle osapuolelle samalta. Tämä ominaisuus on etu kahden reitittimen välisessä yhteydessä ja riski etäkäyttöpalvelussa, jossa työntekijät on nimetty. Pidä tilin tunnistetiedot ja salausavaimen salaisuus eri sarakkeissa siinä asiakirjassa, joka kuvaa käyttöönoton.
IPsec ja OpenVPN käyttävät sanaa eri tavalla
IKEv2 voi todentaa osapuolen ennalta jaetulla salaisuudella sertifikaattien sijaan, ja arvon on täsmättävä molemmissa päissä. Koska sama salaisuus yleensä määritetään osapuolten ryhmälle, kuka tahansa haltija voi esiintyä muina, eikä vaihto saa lainkaan eteenpäin suuntautuvaa salaisuutta identiteettiavaimista, joita sillä ei koskaan ollut.
OpenVPN:n tls-auth- ja tls-crypt-asetukset liittävät staattisen avaimen ohjauskanavaan lisäämällä HMAC-allekirjoituksen tai salaamalla itse neuvottelun. Tämä avain ei ole käyttäjän salasana eikä korvaa asiakassertifikaattia. Näiden erottaminen on tärkeää uusinnassa, jolloin salasanan vaihto jättää ohjauskanavan avaimen koskemattomaksi.
WireGuardin PSK lisää, ei tunnista
WireGuardin osapuolilla on jo Curve25519-julkiset ja -yksityiset avaimet, ja kättely todentaa nämä identiteetit. Valinnainen ennalta jaettu avain sekoitetaan ketjuavaimeen ja tuo symmetristä materiaalia julkisten avainten vaihdon päälle.
Se ei anna omaa identiteettiä eikä käyttäjätiliä, joten ylläpitäjä ei voi erottaa kahta haltijaa heidän PSK:nsa perusteella. Molemmissa päissä on oltava sama arvo, muuten kättely epäonnistuu ilman hyödyllistä virheilmoitusta. Siksi kierrätys on suunniteltava molemmille puolille yhtä aikaa, ei yhden tiedoston muokkauksena.
Tarkista jakelu, kierrätys ja poisto
Jakelu on heikko kohta jokaisessa suunnitelmassa, joka käyttää yhtä salaisuutta monessa paikassa. Keskusteluikkunaan liitetty, tietovarastoon tallennettu tai ympäristöjen välillä uudelleen käytetty arvo kerää kopioita, joita kukaan ei voi luetella, ja jokainen kopio laajentaa hiljaa vahingon alaa.
Base64-teksti ei ole salausta. Julkisen sertifikaatin vieressä samassa hakemistossa säilytetty salaisuus on edelleen salaisuus selvänä.
openssl rand -base64 32
sudo wg show wg0 preshared-keys
sudo grep -R -n 'psk' /etc/ipsec.d/ 2>/dev/null
Kierrätä aikataulun mukaan ja jokaisen epäillyn paljastumisen jälkeen päivittäen jokainen aiottu osapuoli ennen vanhan arvon peruuttamista. Testaa sitten yhteys molemmista päistä, koska täsmäämätön avain epäonnistuu kättelyssä ja näyttää täsmälleen palomuuriongelmalta.
Kirjaa, mikä salaisuus suojaa mitä vaihetta, jotta salasanan palautus ei koskaan mene sekaisin salausavaimen uusimisen kanssa. Se yksi rivi säästää tunnin joka kerta, kun joku auditoi käyttöönoton.