Dá sa zdieľať verejný kľúč VPN? Skontrolujte tri veci
Zverejnenie verejnej polovice je spôsob, akým protokol funguje; zverejnenie súkromnej polovice znamená odovzdať identitu. Tri kontroly určujú, ktorú hodnotu držíte.
Svoj verejný kľúč VPN môžete odovzdať partnerovi, poskytovateľovi alebo fóru a tunel ďalej funguje. Súkromný kľúč však odovzdať nemôžete, ani podpornému personálu, bez odovzdania identity, ktorú ten kľúč preukazuje. Rozhodnutie málokedy zostane také čisté, pretože ľudia si mýlia, na ktorú polovicu páru sa pozerajú, a pretože niektoré nasadenia berú verejnú hodnotu ako názov. Tri kontroly to vyriešia: ktorú polovicu máte, na čo ju nasadenie viaže a koľko stojí výmena.
Prvá kontrola: ktorá polovica páru je v schránke
Asymetrické kľúče prichádzajú v pároch, a smer odvodzovania je celá podstata. Vo WireGuarde je súkromný kľúč 32 náhodných bajtov a verejný kľúč sa z neho vypočíta; opačným smerom to nejde. wg genkey zapisuje súkromnú hodnotu, wg pubkey odvodzuje verejnú, a len druhá patrí do správy pre partnera.
wg genkey | tee private.key | wg pubkey > public.key
chmod 600 private.key
openssl x509 -noout -pubkey -in server.crt
Svet certifikátov používa rovnaké rozdelenie s viacerými pohyblivými časťami. Certifikát servera nesie verejný kľúč a názvy a je podpísaný súkromným kľúčom CA, ktorý nikdy neopustí CA. Klient, ktorý tento server overuje, potrebuje certifikát CA, ktorý je verejný, a súkromný podpisový kľúč CA mu je úplne nanič.
Ak si nie ste istí, ktorú hodnotu držíte, hľadajte značku, nie názov súboru. Blok PEM, ktorý začína na -----BEGIN PRIVATE KEY-----, alebo staršia forma BEGIN RSA PRIVATE KEY, je tajná polovica. Hodnota, ktorú môžete vložiť bez tejto značky, je kandidát na zdieľanie, s výhradou dvoch nasledujúcich kontrol.
Druhá kontrola: na čo nasadenie viaže tú verejnú hodnotu
Kryptografická bezpečnosť a anonymita sú rozdielne vlastnosti. Verejný kľúč partnera WireGuard je stabilný identifikátor v rámci nasadenia: konfigurácia servera ho uvádza, handshake ho pomenúva a administrátor čítajúci logy vidí ten istý reťazec zakaždým, keď sa ten partner pripojí. Ak kľúč zverejníte vedľa otázky o svojom nastavení, prepojili ste ten reťazec so všetkým ostatným v príspevku.
Certifikáty prezrádzajú identitu už svojím dizajnom. Subject a subject alternative name sú čitateľné a pri verejne dôveryhodných TLS certifikátoch sa samotný certifikát zverejňuje v logoch Certificate Transparency, ktoré sú prehľadávateľné. Nič z toho neodhalí súkromný kľúč a všetko z toho odhalí vzťah.
Tu sa nasadenia líšia a to rozhoduje odpoveď. Jednorazový testovací partner na laboratórnom serveri je iný objekt ako kľúč identifikujúci medzilokálny koncový bod firmy, hoci bajty vyzerajú rovnako.
Tretia kontrola: čo môžete odvolať a ako rýchlo
Tretia kontrola úplne oddeľuje obe polovice. Zverejnený verejný kľúč možno vymeniť podľa svojho harmonogramu. Zverejnený súkromný kľúč nemožno vziať späť: vymazanie vlastnej kópie sa nedotkne už prevzatých kópií a každý partner, ktorý mu dôveroval, teraz dôveruje niečomu, čo má cudzí človek.
Odvolanie je konfiguračná akcia, nie kryptografická. WireGuard neposkytuje žiadny zoznam odvolaní, preto partnera odstránite:
wg set wg0 peer <peer-public-key> remove
# then delete the [Peer] block from the config so it does not return on restart
OpenVPN nasadenia postavené na certifikátoch odvolajú certifikát a zverejnia CRL, ktorý server skutočne kontroluje cez crl-verify. Bez tejto direktívy je zoznam odvolaní iba dekorácia. V oboch prípadoch je postup rovnaký: vydajte náhradu, rozšírte ju podporovaným kanálom a potom stiahnite starú identitu.
Chyby, ktoré vznikajú zlepením troch kontrol
Väčšina skutočných únikov nie je rozhodnutie človeka zverejniť súkromný kľúč. Je to celý profil vložený na fórum: .conf WireGuard s riadkom PrivateKey, balík .ovpn s vloženým blokom kľúča, alebo snímka okna klienta, na ktorej je náhodou pole kľúča. Verejná hodnota bola pravdepodobne v poriadku; cestovala spolu s časťou, ktorá nebola.
Pracovné postupy podpory sú druhým zdrojom. Žiadny legitímny krok overenia nepotrebuje váš súkromný kľúč, pretože druhá strana si potrebné odvodí z verejnej polovice. Keď formulár alebo osoba žiada súkromnú hodnotu, správna odpoveď je verejná hodnota plus miestny príkaz, ktorý ju vytvorí.
Logy a snímky obrazovky patria do rovnakej kategórie. Diagnostický výstup môže niesť materiál kľúča, identifikátory relácií a interné adresy, a zverejnenie všetkého toho za odpoveď na jednu otázku vymieňa malé pohodlie za väčšie vystavenie.
Po úniku súkromnej hodnoty stiahnite identitu
Ak súkromná hodnota skutočne vyšla, berte tú identitu ako stiahnutú. Vygenerujte nový pár, nainštalujte verejnú polovicu tam, kde ju partneri očakávajú, odstráňte starého partnera alebo odvolajte starý certifikát a skontrolujte miesta, kde ste ju zverejnili. Kópie, ktoré nekontrolujete, vymazať nemôžete, takže odstránenie sa týka budúcnosti, nie minulosti.
Potom zapíšte distribúciu: ktorý kľúč patrí ktorému zariadeniu, kto drží kópiu, ako sa doručí náhrada a kto odstráni stiahnutého partnera. To sú časti, na ktoré ľudia zabúdajú, a rozhodujú o tom, ako dlho zostane únik užitočný.