Les paraules clau precompartida apareixen a la documentació d’IPsec, d’OpenVPN i de WireGuard, però descriuen tres objectes diferents. Un és un secret d’autenticació, un altre protegeix un canal de control i el tercer afegeix material a una encaixada de mans que ja té identitats. Tractar-los com a intercanviables produeix una connexió que falla en una etapa que ningú no esperava. Llegiu què fa el camp en aquest protocol abans de copiar-hi un valor.

Tres protocols, tres significats

Cada protocol defineix la tasca de la clau en la seva pròpia especificació, i les tasques no se solapen. Un secret d’autenticació demostra que dos parells coneixen el mateix valor. Una clau de canal de control protegeix la negociació que segueix. Un complement de l’encaixada de mans canvia el calendari de claus sense canviar qui són els parells.

Cap d’aquests papers no autentica un humà, i aquesta confusió és la que costa més temps. Una clau precompartida es provisiona en dispositius o passarel·les abans de l’intercanvi, així que cada portador sembla idèntic a l’altre extrem. Aquesta propietat és un avantatge per a un enllaç de lloc a lloc entre dos routers i un risc per a un servei d’accés remot amb empleats anomenats. Mantingueu la credencial del compte i el secret criptogràfic en columnes separades del document que descriu el desplegament.

IPsec i OpenVPN fan servir la paraula de manera diferent

IKEv2 pot autenticar un parell amb un secret precompartit en lloc de certificats, i el valor ha de coincidir als dos extrems. Com que el mateix secret se sol configurar per a un grup de parells, qualsevol portador pot suplantar els altres, i l’intercanvi no guanya cap confidencialitat endavant d’unes claus d’identitat que mai no ha tingut.

Les opcions tls-auth i tls-crypt d’OpenVPN uneixen una clau estàtica al canal de control, afegint una signatura HMAC o xifrant la mateixa negociació. Aquesta clau no és una contrasenya d’usuari i no substitueix el certificat del client. Distingir les dues coses importa en la renovació, quan un canvi de contrasenya deixa intacta la clau del canal de control.

La PSK de WireGuard afegeix, no identifica

Els parells de WireGuard ja tenen claus públiques i privades Curve25519, i l’encaixada de mans autentica aquestes identitats. Una clau precompartida opcional es barreja amb la clau d’encadenament i aporta material simètric per sobre de l’intercanvi de claus públiques.

No aporta identitat pròpia ni compte d’usuari, així que un operador no pot distingir dos portadors per la seva PSK. Els dos extrems han de portar el mateix valor, si no l’encaixada de mans falla sense cap error útil. Per això la rotació s’ha de planificar als dos costats alhora i no com l’edició d’un sol fitxer.

Reviseu la distribució, la rotació i la retirada

La distribució és el punt feble de tot disseny que fa servir un secret en molts llocs. Un valor enganxat en una finestra de xat, desat en un repositori o reutilitzat entre entorns acumula còpies que ningú no pot enumerar, i cada còpia amplia en silenci el radi de mal.

El text Base64 no és xifrat. Un secret desat al costat d’un certificat públic al mateix directori continua sent un secret en clar.

openssl rand -base64 32
sudo wg show wg0 preshared-keys
sudo grep -R -n 'psk' /etc/ipsec.d/ 2>/dev/null

Roteu segons un calendari i després de qualsevol exposició sospitada, actualitzant cada parell previst abans de revocar el valor antic. Després proveu l’enllaç des dels dos extrems, perquè una clau que no coincideix falla a l’encaixada de mans i sembla exactament un problema de tallafoc.

Documenteu quin secret protegeix quina etapa, perquè un restabliment de contrasenya no es confongui mai amb la renovació d’una clau criptogràfica. Aquesta línia estalvia una hora cada vegada que algú audita el desplegament.

Articles relacionats