Можете дати свој јавни VPN кључ партнеру, провајдеру или форуму, и тунел наставља да ради. Приватни кључ не можете предати, чак ни особљу за подршку, а да не предате идентитет који тај кључ доказује. Одлука ретко остаје тако чиста, јер људи мешају коју половину пара гледају, и јер нека постављања третирају јавну вредност као име. Три провере то решавају: коју половину имате, за шта је постављање везује, и колико кошта замена.

Прва провера: која половина пара је у вашем клипборду

Асиметрични кључеви долазе у паровима, а смер извођења је цела поента. У WireGuard-у приватни кључ је 32 случајна бајта, а јавни се израчунава из њега; у супротном смеру није могуће. wg genkey записује приватну вредност, wg pubkey изводи јавну, и само друга иде у поруку партнеру.

wg genkey | tee private.key | wg pubkey > public.key
chmod 600 private.key
openssl x509 -noout -pubkey -in server.crt

Свет сертификата користи исту поделу са више покретних делова. Серверски сертификат носи јавни кључ и имена, и потписан је приватним кључем CA који никада не напушта CA. Клијенту који проверава тај сервер треба сертификат CA, који је јаван, и нема никакве користи од приватног кључа за потпис CA.

Ако нисте сигурни коју вредност држите, тражите ознаку, а не име датотеке. PEM блок који почиње са -----BEGIN PRIVATE KEY-----, или старији облик BEGIN RSA PRIVATE KEY, јесте тајна половина. Вредност коју можете налепити без те ознаке кандидат је за дељење, уз услов следеће две провере.

Друга провера: за шта постављање везује ту јавну вредност

Криптографска безбедност и анонимност су различита својства. Јавни кључ WireGuard партнера је стабилан идентификатор унутар постављања: серверска конфигурација га наводи, руковање га именује, и администратор који чита дневнике види исти низ сваки пут када се тај партнер повеже. Ако кључ објавите поред питања о свом подешавању, тај низ сте повезали са свим осталим у објави.

Сертификати одају идентитет по дизајну. Subject и subject alternative name су читљиви, а за јавно поуздане TLS сертификате сам сертификат се објављује у дневницима Certificate Transparency, који су претраживи. Ништа од тога не открива приватни кључ, а све од тога открива однос.

Ту се постављања разликују, и то одлучује одговор. Једнократни пробни партнер на лабораторијском серверу је други објекат од кључа који идентификује међулокацијску крајњу тачку компаније, иако бајтови изгледају идентично.

Трећа провера: шта можете опозвати, и колико брзо

Трећа провера потпуно раздваја две половине. Објављени јавни кључ може се заменити по вашем распореду. Објављени приватни кључ не може се повући: брисање ваше копије не дира копије које су већ узете, и сваки партнер који му је веровао сада верује нечему што држи странац.

Опозив је конфигурациона радња, не криптографска. WireGuard не испоручује листу опозива, па партнера уклањате:

wg set wg0 peer <peer-public-key> remove
# then delete the [Peer] block from the config so it does not return on restart

OpenVPN постављања заснована на сертификатима опозивају сертификат и објављују CRL који сервер заиста проверава кроз crl-verify. Без те директиве листа опозива је само украс. У оба случаја редослед је исти: издајте замену, расподелите је подржаним каналом, па повуците стари идентитет.

Грешке које настају када се три провере споје у једну

Већина стварних цурења није одлука човека да објави приватни кључ. То је цео профил налепљен на форум: .conf WireGuard са PrivateKey линијом, .ovpn пакет са уграђеним блоком кључа, или снимак екрана клијентског прозора у који је случајно ушло поље кључа. Јавна вредност је вероватно била у реду; путовала је заједно са делом који није био.

Токови подршке су други извор. Ниједан легитиман корак провере не тражи ваш приватни кључ, јер друга страна изводи потребно из јавне половине. Када формулар или особа тражи приватну вредност, тачан одговор је јавна вредност плус локална команда која је ствара.

Дневници и снимци екрана припадају истој категорији. Дијагностички излаз може носити материјал кључа, идентификаторе сесија и интерне адресе, а објављивање свега тога да би се добио одговор на једно питање мења малу удобност за већу изложеност.

После цурења приватне вредности повуците идентитет

Ако је приватна вредност ипак изашла, третирајте тај идентитет као повучен. Генеришите нови пар, инсталирајте јавну половину тамо где је партнери очекују, уклоните старог партнера или опозовите стари сертификат, и проверите места на којима сте га објавили. Не можете избрисати копије које не контролишете, па уклањање говори о будућности, не о прошлости.

Затим запишите дистрибуцију: који кључ припада ком уређају, ко држи копију, како се доставља замена и ко уклања повученог партнера. То су делови које људи заборављају, и они одлучују колико дуго цурење остаје корисно.

Повезани чланци