Můžete sdílet veřejný klíč VPN? Zkontrolujte tyto tři věci
Zveřejnění veřejné poloviny je způsob, jakým protokol funguje; zveřejnění soukromé poloviny vydává identitu. Tři kontroly rozhodnou, kterou hodnotu držíte.
Veřejný klíč VPN můžete předat protějšku, poskytovateli nebo fóru a tunel stále drží. Soukromý klíč ale předat nemůžete, ani podpoře, aniž byste vydali identitu, kterou tento klíč prokazuje. Rozhodnutí málokdy zůstane tak čisté, protože si lidé pletou, na kterou polovinu páru se dívají, a protože některá nasazení považují veřejnou hodnotu za jméno. Tři kontroly to vyřeší: kterou polovinu máte, k čemu ji nasazení váže a co stojí výměna.
Kontrola první: která polovina páru je ve vaší schránce
Asymetrické klíče existují v párech, a směr odvození je celý smysl. Ve WireGuardu je soukromý klíč 32 náhodných bajtů a veřejný klíč se z něj vypočítá; opačným směrem to nejde. wg genkey zapisuje soukromou hodnotu, wg pubkey odvozuje veřejnou a do zprávy protějšku patří jen ta druhá.
wg genkey | tee private.key | wg pubkey > public.key
chmod 600 private.key
openssl x509 -noout -pubkey -in server.crt
Svět certifikátů používá stejné rozdělení s více pohyblivými díly. Serverový certifikát nese veřejný klíč a jména a podepisuje ho soukromý klíč certifikační autority, který autoritu nikdy neopustí. Klient, který takový server ověřuje, potřebuje certifikát autority, jenž je veřejný, a soukromý podpisový klíč autority k ničemu nepotřebuje.
Nejste-li si jistí, kterou hodnotu držíte, hledejte značku, ne název souboru. Blok PEM začínající -----BEGIN PRIVATE KEY----- nebo starší tvar BEGIN RSA PRIVATE KEY je tajná polovina. Hodnota, kterou lze vložit bez této značky, je kandidátem na sdílení, s výhradou následujících dvou kontrol.
Kontrola druhá: k čemu nasazení tuto veřejnou hodnotu váže
Kryptografická bezpečnost a anonymita jsou různé vlastnosti. Veřejný klíč protějšku WireGuard je stabilní identifikátor uvnitř nasazení: konfigurace serveru ho uvádí, handshake ho jmenuje a správce čtoucí logy vidí stejný řetězec pokaždé, když se tento protějšek připojí. Zveřejněte klíč vedle dotazu na své nastavení a tento řetězec jste propojili se vším ostatním v příspěvku.
Certifikáty identitu prozrazují už z principu. Pole Subject a subject alternative name jsou čitelná a u veřejně důvěryhodných certifikátů TLS se samotný certifikát zveřejňuje v logech Certificate Transparency, které jsou prohledávatelné. Nic z toho neodhaluje soukromý klíč a všechno to odhaluje vztah.
Tady se nasazení liší a to rozhoduje o odpovědi. Provizorní testovací protějšek na laboratorním serveru je jiný objekt než klíč identifikující podnikový koncový bod mezi lokalitami, i když bajty vypadají stejně.
Kontrola třetí: co můžete odvolat a jak rychle
Třetí kontrola obě poloviny zcela odděluje. Veřejný klíč, který byl zveřejněn, lze vyměnit podle vašeho harmonogramu. Soukromý klíč, který byl zveřejněn, stáhnout nelze: smazání vaší kopie se nedotkne kopií už pořízených a každý protějšek, který mu věřil, teď věří něčemu, co drží někdo zvenčí.
Odvolání je konfigurační úkon, ne kryptografický. WireGuard neobsahuje seznam odvolání, takže protějšek odstraníte:
wg set wg0 peer <peer-public-key> remove
# then delete the [Peer] block from the config so it does not return on restart
OpenVPN nasazení postavená na certifikátech odvolávají certifikát a zveřejňují CRL, který server skutečně kontroluje pomocí crl-verify. Bez této direktivy je seznam odvolání jen dekorace. V obou případech je sled stejný: vydejte náhradu, rozdělte ji podporovaným kanálem a pak starou identitu vyřaďte.
Chyby, které vznikají sloučením tří kontrol
Většina skutečných úniků není člověk, který se rozhodne zveřejnit soukromý klíč. Je to celý profil vložený na fórum: WireGuard .conf s řádkem PrivateKey, nebo balík .ovpn s vloženým blokem klíče, případně snímek okna klienta, do kterého se omylem dostalo pole s klíčem. Veřejná hodnota byla nejspíš v pořádku; cestovala s částí, která v pořádku nebyla.
Pracovní postupy podpory jsou druhým zdrojem. Žádný legitimní krok ověření nepotřebuje váš soukromý klíč, protože druhá strana si potřebné odvodí z veřejné poloviny. Když formulář nebo člověk žádá soukromou hodnotu, správná odpověď je ta veřejná a k tomu místní příkaz, který ji vytvoří.
Logy a snímky obrazovky patří do stejné kategorie. Diagnostický výstup může nést klíčový materiál, identifikátory relací a interní adresy a zveřejnění všeho toho kvůli jedné odpovědi vymění malé pohodlí za větší expozici.
Když soukromá hodnota unikne, identitu vyřaďte
Pokud soukromá hodnota skutečně unikla, považujte tuto identitu za vyřazenou. Vygenerujte nový pár, nainstalujte veřejnou polovinu tam, kde ji protějšky očekávají, odstraňte starý protějšek nebo odvolejte starý certifikát a zkontrolujte místa, kde jste jej zveřejnili. Kopie, které nekontrolujete, smazat nemůžete, takže odstranění se týká budoucnosti, ne minulosti.
Pak zapište distribuci: který klíč patří kterému zařízení, kdo drží kopii, jak se náhrada doručuje a kdo odstraňuje vyřazený protějšek. To jsou části, na které lidé zapomínají, a rozhodují o tom, jak dlouho únik zůstane užitečný.