Dois administradores comparam o segredo no ecrã, concordam que coincide, e o túnel continua a falhar a autenticação. A cadeia que compararam não é o valor que qualquer dos extremos introduz na derivação de chaves. Entre os caracteres que vê e os bytes que o protocolo aplica ao hash há um tipo de campo, uma codificação de texto, um editor e uma área de transferência, e qualquer dos quatro pode alterar a entrada sem alterar o aspeto. Compare os bytes e a divergência costuma aparecer em segundos.

O que o gateway faz com a cadeia

Uma chave pré-partilhada não é enviada pela rede e comparada. Cada extremo introduz a sua cópia local na derivação de chaves para a troca IKE, e as cargas úteis de autenticação resultantes são verificadas ou não. Esse desenho implica que as duas cópias têm de ser idênticas byte a byte em vez de visualmente semelhantes, e também implica que a falha é comunicada na fase de autenticação em vez de como uma mensagem de palavra-passe errada.

Portanto, a pergunta útil nunca é «estas parecem iguais», mas «que sequência exata de bytes aplica ao hash cada implementação».

De onde vêm os bytes adicionais

Uma nova linha final é o culpado clássico, e esconde-se à vista porque a maioria dos editores acrescenta uma de forma invisível ao guardar um ficheiro. Um espaço inicial ou final colado de uma janela de conversa faz o mesmo, e também o faz uma aspa tipográfica substituída por uma reta por um processador de texto. Nada disso altera a comparação visual que uma pessoa faz.

Compare com uma ferramenta que mostre bytes em vez de glifos. printf '%s' "$PSK" | xxd | tail -2 imprime a cauda do valor em hexadecimal, onde um 0a ou um 20 perdido é evidente. Faça-o nos dois extremos e compare as duas descargas lado a lado. Faça-o com material de teste gerado, não com um segredo de produção que depois deixa no histórico da shell.

Codificado não é cifrado

As exportações de configuração transportam frequentemente o segredo numa codificação base, por vezes com quebras de linha a cada sessenta ou setenta e seis caracteres e por vezes com preenchimento. Se um extremo espera os bytes descodificados e você cola o texto codificado, não enviou uma palavra-passe diferente, enviou uma muito mais longa feita de caracteres imprimíveis. O Base64 não oferece qualquer confidencialidade, e é também por isso que um segredo codificado nunca deve ser colado num fórum para pedir uma segunda opinião.

O dicionário IPSec da Apple é um bom exemplo de que o tipo importa: documenta SharedSecret como dado para o método de autenticação com segredo partilhado nas cargas úteis L2TP e Cisco IPsec. É uma propriedade concreta numa carga útil concreta, não um campo de texto geral que possa reutilizar para outro protocolo que, por acaso, peça um segredo.

Um limite alegado pertence a uma combinação

Os relatos antigos de um teto de trinta e dois caracteres num cliente Apple são relatos reais sobre uma versão de cliente, um protocolo e uma forma de perfil. Não são um limite universal para cada plataforma Apple, cada fornecedor e cada protocolo. Verifique a versão, o tipo de carga útil e o requisito do gateway em conjunto, e depois teste numa configuração aprovada em vez de inferir de um fio. Escreva a combinação testada no registo de alterações, porque, de contrário, a pessoa seguinte citará o mesmo fio com mais confiança do que ele merece.

Se um limite se aplica realmente, a resposta é um desenho de credenciais suportado que caiba nele, não uma versão encurtada de um segredo forte. Truncar uma chave de produção para satisfazer um limite suposto reduz a sua força de forma permanente e produz um sistema cuja documentação já não corresponde à sua segurança.

Corrija a representação, não a força

Quando a autenticação falha depois de confirmada a representação, leia a política efetiva na fase de autenticação: que método está a ser negociado, que identidade de par se espera e se o gateway corresponde à ligação que pensa. As suposições cada vez mais fracas não são diagnóstico, são uma degradação lenta com um ticket de suporte anexado.

Se a credencial exigida não conseguir cumprir a norma da organização, mude o desenho para um que consiga. Um segredo partilhado com entropia suficiente, gerado uma vez, guardado num campo gerido e nunca publicado, é uma resposta perfeitamente boa; uma versão mais curta não é.

Artigos relacionados