NTLM

Em uma rede Windows, NTLM (NT LAN Manager) é um conjunto de protocolos de segurança da Microsoft que fornece autenticação, integridade e confidencialidade aos usuários.[1][2][3] NTLM é o sucessor do protocolo de autenticação no Lan Manager (LANMAN), um produto mais antigo da Microsoft, e tenta oferecer compatibilidade com o LANMAN. A versão dois do NTLM (NTLMv2), que foi introduzida pelo Windows NT 4.0 SP4 (e nativamente suportada no Windows 2000), aumentou a segurança NTLM através do amadurecimento do protocolo contra muitos ataques de spoofing e adicionando a capacidade de um servidor autenticar o cliente.

A Microsoft não recomenda mais utilizar NTLM em aplicações:

Os implementadores devem ficar cientes de que o NTLM não oferece suporte a todos os métodos recentes de criptografia, como AES e SHA-256. Ele usa verificação cíclica de redundância (CRC) ou algoritmos de digestão de mensagens (RFC1321) para integridade, e usa RC4 para criptografia. Derivando uma chave de uma senha, conforme especificado no RFC1320 e FIPS46-2. Portanto, geralmente aconselha-se que as aplicações geralmente não utilizem o NTLM.[4]

Uma vez que o Kerberos substituiu o NTLM como o protocolo de autenticação padrão em um Active Directory com base no esquema single sing-on, o NTLM ainda é amplamente utilizado em situações em que um controlador de domínio não está disponível ou está inacessível. Por exemplo, NTLM será usado se o cliente não é compatível com o Kerberos, o servidor não está associado a um domínio ou o usuário está se autenticando remotamente através da web.

O Protocolo NTLM

O NTLM é um protocolo de autenticação desafio-resposta que utiliza três mensagens para autenticar um cliente em um ambiente orientado a conexão (connectionless é semelhante) e uma quarta mensagem adicional se integridade for desejada. Primeiro, o cliente estabelece um caminho de rede para o servidor e envia uma NEGOTIATE_MESSAGE informando suas capacidades. Em seguida, o servidor responde com uma CHALLENGE_MESSAGE que é usada para determinar a identidade do cliente. Finalmente, o cliente responde ao desafio com uma AUTHENTICATE_MESSAGE.

O protocolo NTLM usa um ou os dois valores de hash de senha, os quais também são armazenadas no servidor (ou controlador de domínio), e que são equivalentes a senha, o que significa que se você pegar o valor de hash do servidor, você pode se autenticar sem saber a senha real. Os dois são o hash LM (uma função baseada em DES aplicada aos primeiros 14 caracteres da senha convertidos para a codificação tradicional de 8 bits do PC para a linguagem), e o hash NT (MD4 da senha Unicode do pequeno endian UTF-16). Ambos os valores de hash são de 16 bytes (128 bits) cada.

O protocolo NTLM também usa uma das duas funções de uma forma, dependendo da versão do NTLM. O NT LanMan e a versão um do NTLM usam função de uma forma LanMan (LMOWF) baseada no DES, enquanto a versão dois do NTLM usa a função de uma forma NT baseada no MD5.

Referências

  1. Introdução, acessado em 15 de agosto de 2010
  2. Detalhes de segurança, acessado em 15 de agosto de 2010
  3. «Refletindo na Reflexão NTLM». Consultado em 11 de janeiro de 2011. Arquivado do original em 31 de dezembro de 2009 
  4. Considerações de segurança para os implementadores]
Ícone de esboço Este artigo sobre computação é um esboço. Você pode ajudar a Wikipédia expandindo-o.
  • v
  • d
  • e