Kan du dele ein offentleg VPN-nøkkel? Sjekk tre ting
Å publisere den offentlege halvdelen er korleis protokollen fungerer; å publisere den private halvdelen overleverer ein identitet. Tre kontrollar avgjer kva verdi du held.
Du kan gje den offentlege VPN-nøkkelen din til ein peer, ein leverandør eller eit forum, og tunnelen held fram med å verke. Den private nøkkelen kan du ikkje gje vidare, sjølv ikkje til støttepersonale, utan å overlevere identiteten som den nøkkelen beviser. Avgjerda blir sjeldan så rein, fordi folk blandar saman kva halvdel av paret dei ser på, og fordi nokre utrullingar behandlar den offentlege verdien som eit namn. Tre kontrollar avgjer saka: kva halvdel du har, kva utrullinga bind han til, og kva erstatninga kostar.
Kontroll éin: kva halvdel av paret som ligg i utklippstavla
Asymmetriske nøklar kjem i par, og retninga på utleiinga er heile poenget. I WireGuard er den private nøkkelen 32 tilfeldige byte, og den offentlege nøkkelen blir rekna ut frå han; motsett veg går det ikkje. wg genkey skriv den private verdien, wg pubkey leier ut den offentlege, og berre den andre høyrer heime i ei melding til ein peer.
wg genkey | tee private.key | wg pubkey > public.key
chmod 600 private.key
openssl x509 -noout -pubkey -in server.crt
Sertifikatverda brukar same todelinga med fleire rørlege delar. Eit serversertifikat ber ein offentleg nøkkel pluss namn, og det blir signert av ein privat CA-nøkkel som aldri forlèt CA-en. Ein klient som stadfester den serveren, treng CA-sertifikatet, som er offentleg, og har ingen nytte av den private signeringsnøkkelen til CA-en.
Viss du er usikker på kva verdi du held, sjå etter markøren og ikkje filnamnet. Ein PEM-blokk som byrjar med -----BEGIN PRIVATE KEY-----, eller den eldre BEGIN RSA PRIVATE KEY-forma, er den hemmelege halvdelen. Ein verdi du kan lime inn utan den markøren, er ein kandidat for deling, med atterhald om dei to neste kontrollane.
Kontroll to: kva utrullinga bind til den offentlege verdien
Kryptografisk tryggleik og anonymitet er ulike eigenskapar. Den offentlege nøkkelen til ein WireGuard-peer er ein stabil identifikator i utrullinga: serverkonfigurasjonen listar han opp, handtrykket namngir han, og ein administrator som les loggar ser den same strengen kvar gong den peeren koplar til. Publiserer du nøkkelen ved sida av eit spørsmål om oppsettet ditt, har du knytt den strengen til alt anna i innlegget.
Sertifikat lek identitet ved design. Subject og subject alternative name er lesbare, og for offentleg betrudde TLS-sertifikat blir sjølve sertifikatet publisert i Certificate Transparency-loggjar, som er søkbare. Ingenting av dette avdekkjer ein privat nøkkel, og alt av det avdekkjer ein relasjon.
Her skil utrullingane seg, og det avgjer svaret. Ein eingongs testpeer på ein labserver er eit anna objekt enn nøkkelen som identifiserer eit site-til-site-endepunkt for eit selskap, sjølv om byta ser identiske ut.
Kontroll tre: kva du kan trekkje tilbake, og kor raskt
Den tredje kontrollen skil dei to halvdelane heilt. Ein offentleg nøkkel som er publisert, kan bli erstatta etter din tidsplan. Ein privat nøkkel som er publisert, kan ikkje bli trekt tilbake: å slette din kopi rører ikkje kopiar som alt er tekne, og kvar peer som stolte på han, stolar no på noko ein utanforståande har.
Tilbaketrekking er ei konfigurasjonshandling, ikkje ei kryptografisk. WireGuard leverer inga tilbaketrekkingsliste, så du fjernar peeren:
wg set wg0 peer <peer-public-key> remove
# then delete the [Peer] block from the config so it does not return on restart
OpenVPN utrullingar bygde på sertifikat trekkjer tilbake sertifikatet og publiserer ein CRL som serveren faktisk sjekkar gjennom crl-verify. Utan den direktivet er tilbaketrekkingslista berre dekorasjon. Uansett er rekkjefølgja den same: utferd ein erstatning, distribuer han via den støtta kanalen, og pensjoner den gamle identiteten.
Feila som kjem av å slå dei tre kontrollane saman
Dei fleste reelle lekkasjane er ikkje ein person som bestemmer seg for å publisere ein privat nøkkel. Dei er ein heil profil limt inn i eit forum: ein WireGuard .conf med ei PrivateKey-linje, ein .ovpn-pakke med ein innebygd nøkkelblokk, eller eit skjermbilete av eit klientvindauge som tilfeldigvis tek med nøkkelfeltet. Den offentlege verdien var truleg grei; han reiste saman med delen som ikkje var det.
Støttearbeidsflytar er den andre kjelda. Ingen legitim stadfesting treng den private nøkkelen din, fordi den andre sida leier ut det ho treng frå den offentlege halvdelen. Når eit skjema eller ein person ber om den private verdien, er det rette svaret den offentlege verdien pluss den lokale kommandoen som lagar han.
Loggar og skjermbilete høyrer i same kategori. Diagnostisk utdata kan bere nøkkelmateriale, sesjonsidentifikatorar og interne adresser, og å publisere alt dette for å få svar på eitt spørsmål byter ei lita lettvintheit mot ei større eksponering.
Etter at ein privat verdi har lekt, pensjoner identiteten
Viss ein privat verdi faktisk kom ut, handsam den identiteten som pensjonert. Generer eit nytt par, installer den offentlege halvdelen der peerane ventar han, fjern den gamle peeren eller trekk tilbake det gamle sertifikatet, og sjekk stadene du publiserte det. Du kan ikkje slette kopiar du ikkje kontrollerer, så fjerning handlar om framtida, ikkje fortida.
Skriv så ned distribusjonen: kva nøkkel som høyrer til kva eining, kven som held ein kopi, korleis ei erstatning blir levert, og kven som fjernar ein pensjonert peer. Det er delane folk gløymer, og dei avgjer kor lenge ein lekkasje blir nyttig.