Dos administradors comparen el secret a la pantalla, accepten que coincideix, i el túnel segueix fallant l’autenticació. La cadena que han comparat no és el valor que cap dels dos extrems introdueix en la derivació de claus. Entre els caràcters que veieu i els bytes que el protocol aplica al hash hi ha un tipus de camp, una codificació de text, un editor i un porta-retalls, i qualsevol dels quatre pot canviar l’entrada sense canviar-ne l’aspecte. Compareu els bytes i el desacord sol aparèixer en segons.

Què fa la passarel·la amb la cadena

Una clau prèviament compartida no s’envia per la xarxa i es compara. Cada extrem introdueix la seva còpia local en la derivació de claus per a l’intercanvi IKE, i les càrregues útils d’autenticació resultants o es verifiquen o no. Aquest disseny significa que les dues còpies han de ser idèntiques byte a byte en lloc de visualment semblants, i també significa que el fracàs es notifica a l’etapa d’autenticació en lloc de com un missatge de contrasenya incorrecta.

Així, la pregunta útil no és mai «semblen iguals», sinó «quina seqüència exacta de bytes aplica al hash cada implementació».

D’on venen els bytes addicionals

Un salt de línia final és el culpable clàssic, i s’amaga a la vista perquè la majoria d’editors n’afegeixen un invisiblement en desar un fitxer. Un espai inicial o final enganxat des d’una finestra de xat fa el mateix, i també ho fa una cometa tipogràfica substituïda per una de recta per un processador de textos. Cap d’aquests canvis altera la comparació visual que fa una persona.

Compareu amb una eina que mostri bytes en lloc de glifs. printf '%s' "$PSK" | xxd | tail -2 imprimeix la cua del valor en hexadecimal, on un 0a o un 20 esgarriat és evident. Feu-ho als dos extrems i compareu els dos bolcats costat a costat. Feu-ho amb material de prova generat, no amb un secret de producció que després deixeu a l’historial de l’intèrpret d’ordres.

Codificat no vol dir xifrat

Les exportacions de configuració sovint porten el secret en una codificació base, de vegades amb salts de línia cada seixanta o setanta-sis caràcters i de vegades amb farciment. Si un extrem espera els bytes descodificats i enganxeu el text codificat, no heu enviat una contrasenya diferent, heu enviat una de molt més llarga feta de caràcters imprimibles. Base64 no ofereix cap confidencialitat, i per això un secret codificat no s’ha d’enganxar mai en un fòrum per demanar una segona opinió.

El diccionari IPSec d’Apple és un bon exemple que el tipus importa: documenta SharedSecret com a dada per al mètode d’autenticació amb secret compartit a les càrregues útils L2TP i Cisco IPsec. Això és una propietat concreta en una càrrega útil concreta, no un camp de text general que pugueu reutilitzar per a un altre protocol que casualment demani un secret.

Un límit suposat pertany a una combinació

Els informes antics d’un sostre de trenta-dos caràcters en un client d’Apple són informes reals sobre una versió de client, un protocol i una forma de perfil. No són un límit universal per a cada plataforma d’Apple, cada proveïdor i cada protocol. Verifiqueu la versió, el tipus de càrrega útil i el requisit de la passarel·la alhora, i després proveu en un acord aprovat en lloc d’inferir-ho d’un fil. Escriviu la combinació provada al registre de canvis, perquè altrament la persona següent citarà el mateix fil amb més confiança de la que mereix.

Si un límit s’aplica de debò, la resposta és un disseny de credencials compatible que hi encaixi, no una versió escurçada d’un secret fort. Truncar una clau de producció per satisfer un límit suposat redueix la seva força permanentment i produeix un sistema la documentació del qual ja no coincideix amb la seva seguretat.

Corregiu la representació, no la força

Quan l’autenticació falla després de confirmar la representació, llegiu la política efectiva a l’etapa d’autenticació: quin mètode es negocia, quina identitat de parell s’espera i si la passarel·la coincideix amb la connexió que penseu. Les conjectures cada cop més febles no són diagnòstic, són una degradació lenta amb un tiquet de suport adjunt.

Si la credencial requerida no pot complir l’estàndard de l’organització, canvieu el disseny per un que sí que pugui. Un secret compartit amb prou entropia, generat una vegada, desat en un camp gestionat i mai publicat, és una resposta perfectament bona; una versió més curta no ho és.

Articles relacionats