A autenticação de usuário NTLM no Windows

Traduções deste artigo Traduções deste artigo
ID do artigo: 102716 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo aborda os seguintes aspectos da autenticação de usuário NTLM no Windows:
  • Armazenamento de senhas no banco de dados de conta
  • Autenticação do usuário usando o pacote de autenticação Msv1_0
  • Autenticação de passagem

Mais Informações

Armazenamento de senhas no banco de dados de conta

Registros de usuário são armazenados no banco de dados do (SAM) do Gerenciador de contas de segurança ou no banco de dados do Active Directory. Cada conta de usuário está associada com duas senhas: a senha compatível com o LAN Manager e a senha do Windows. Cada senha é criptografada e armazenada no banco de dados SAM ou no banco de dados do Active Directory.

A senha compatível com o LAN Manager é compatível com a senha que é usada pelo Gerenciador de LAN. Essa senha se baseia o conjunto de caracteres fabricante original do equipamento (OEM). Essa senha não diferencia maiúsculas de minúsculas e pode ser até 14 caracteres. Versão dessa senha OWF é também conhecido como a versão OWF do LAN Manager ou ESTD. Essa senha é calculada usando a criptografia DES para criptografar uma constante com a senha de texto não criptografado. A senha OWF do LAN Manager é 16 bytes. Os primeiros bytes 7 da senha de texto não criptografado são usados para calcular os primeiros 8 bytes da senha OWF do LAN Manager. Os segundo bytes 7 da senha de texto não criptografado são usados para o computador os segundo 8 bytes de senha OWF do LAN Manager.

A senha do Windows se baseia o conjunto de caracteres Unicode. Essa senha é diferencia maiúsculas de minúsculas e pode ser até 128 caracteres. Versão dessa senha OWF é também conhecido como a senha OWF do Windows. Essa senha é calculada usando o algoritmo de criptografia RSA MD-4. Esse algoritmo calcula uma síntese de 16 bytes de uma seqüência de caracteres de comprimento variável de bytes de senha de texto não criptografado.

Talvez não têm qualquer conta de usuário ou a senha do LAN Manager ou a senha do Windows. No entanto, cada tentativa é feita para manter as duas versões da senha. Por exemplo, se a conta de usuário é transportada de um banco de dados do LAN Manager UAS usando PortUas, ou se a senha é alterada a partir de um cliente LAN Manager ou um cliente Windows para Workgroups, existirá somente a versão do LAN Manager da senha. Se a senha é definida ou alterada em um cliente Windows e a senha tem representação não LAN Manager, existirá somente versão do Windows a senha. (A senha não pode ter nenhuma representação do LAN Manager, porque a senha está mais de 14 caracteres ou os caracteres não podem ser representados no conjunto de caracteres OEM.) Limites de interface do usuário no Windows não permitir que senhas do Windows ultrapassar 14 caracteres. As implicações dessa limitação serão discutidas posteriormente neste artigo.

No Windows 2000 Service Pack 2 e em versões posteriores do Windows, uma configuração está disponível que permite impedir que o Windows armazene um hash do LAN Manager da sua senha. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
299656Como impedir a Windows armazene um hash do LAN Manager da sua senha no Active Directory e bancos de dados SAM locais
Observação A Microsoft não suporta manualmente ou programaticamente alterar o banco de dados SAM.

Autenticação do usuário usando o pacote de autenticação Msv1_0

O Windows usa a API LsaLogonUser para todos os tipos de autenticações do usuário. A API LsaLogonUser autentica usuários chamando um pacote de autenticação. Por padrão, LsaLogonUser chama o pacote de autenticação Msv1_0 (MSV). Esse pacote está incluído no Windows NT. Registros MSV autenticação pacote armazenamentos usuário no banco de dados SAM. Esse pacote suporta autenticação de passagem de usuários em outros domínios usando o serviço Netlogon.

Internamente, o pacote de autenticação MSV é dividido em duas partes. A primeira parte do pacote de autenticação MSV executado no computador que está sendo conectado à. A segunda parte é executado no computador que contém a conta de usuário. Quando ambas as partes executado no mesmo computador, a primeira parte do pacote de autenticação MSV chama a segunda parte sem envolver o serviço Netlogon. A primeira parte do pacote de autenticação MSV reconhece que a autenticação passagem é necessária pois o nome de domínio que é passado não é seu próprio nome de domínio. Quando a autenticação de passagem é necessária, MSV passa a solicitação para o serviço Netlogon. O serviço Netlogon, em seguida, roteia a solicitação para o serviço Netlogon no computador de destino. Por sua vez, o serviço Netlogon passa a solicitação para a outra parte do pacote de autenticação MSV no computador.

LsaLogonUser oferece suporte a logons interativos, logons de serviço e os logons na rede. No pacote de autenticação MSV, todos os formulários de logon passe o nome da conta de usuário, o nome do domínio que contém a conta de usuário e alguma função de senha do usuário. Os diferentes tipos de logon representam a senha diferente quando eles passam a LsaLogonUser.

Para os logons interativos, logons em lotes e logons de serviço, o cliente de logon está no computador que está executando a primeira parte do pacote de autenticação MSV. Nesse caso, a senha de texto criptografado é passada para LsaLogonUser e para a primeira parte do pacote de autenticação MSV. Para os logons em lotes e logons de serviço, o Gerenciador de controle de serviços e o Agendador de tarefas fornecem uma maneira mais segura de armazenar as credenciais da conta.

A primeira parte do pacote de autenticação MSV converte a senha de-texto não criptografado para uma senha OWF do LAN Manager e uma senha OWF do Windows NT. Em seguida, a primeira parte do pacote passa a senha com texto não criptografado para o serviço NetLogon ou para a segunda parte do pacote. A segunda parte, em seguida, consulta o banco de dados SAM para senhas OWF e certifica-se que eles são idênticos.

Para logons de rede, o cliente que se conecta ao computador anteriormente foi fornecido um desafio de 16 bits, ou "nonce." Se o cliente é um cliente LAN Manager, o cliente calculado uma resposta de desafio de 24 bytes criptografando o desafio de 16 bits com a senha do LAN Manager OWF 16 bytes. O cliente LAN Manager, em seguida, passa a isso "Resposta do LAN Manager Challenge" para o servidor. Se o cliente for um cliente do Windows, um "desafio resposta do Windows NT" é calculada usando o mesmo algoritmo. No entanto, o cliente Windows usa os dados de OWF Windows de 16 bits em vez dos dados OWF do LAN Manager. O cliente do Windows, em seguida, passa o LAN Manager Challenge Response e o Windows NT Challenge Response para o servidor. Em ambos os casos, o servidor autentica o usuário passando todos os itens a seguir para a API LsaLogonUser:
  • O nome de domínio
  • O nome de usuário
  • O desafio original
  • A resposta de desafio do LAN Manager
  • O desafio / resposta opcional do Windows NT
A primeira parte do pacote de autenticação MSV passa essas informações inalteradas para a segunda parte. Primeiro, a segunda consulta as senhas OWF partir de banco de dados SAM ou o banco de dados do Active Directory. Em seguida, a segunda parte calcula a resposta de desafio usando a senha OWF do banco de dados e o desafio que foi passado. A segunda parte, em seguida, compara a resposta de desafio calculada para desafio passado na resposta.

Observação Somente também permite que o cliente envia um desafio juntamente com o uso de chaves de sessão que ajudam a reduzir o risco de ataques comuns.

Como mencionado anteriormente, qualquer versão da senha poderão estar ausente do banco de dados SAM ou de banco de dados do Active Directory. Além disso, tanto a versão da senha poderão estar ausente da chamada para LsaLogonUser. Se a versão do Windows da senha do banco de dados SAM e versão do Windows da senha do LsaLogonUser estiverem disponíveis, ambos serão usados. Caso contrário, a versão do LAN Manager da senha é usada para comparação. Essa regra ajuda a impor a diferenciação entre maiúsculas e minúsculas quando ocorrem os logons na rede do Windows para o Windows. Essa regra permite também que para compatibilidade com versões anteriores.

Autenticação de passagem

O serviço NetLogon implementa autenticação de passagem. Ele executa as seguintes funções:
  • Seleciona o domínio para a solicitação de autenticação para passar.
  • Seleciona o servidor no domínio.
  • Passa a solicitação de autenticação por meio de para o servidor selecionado.
Selecionar o domínio é simples. O nome de domínio é passado para LsaLogonUser. O nome de domínio é processado da seguinte maneira:
  • Se o nome de domínio corresponder ao nome do banco de dados SAM, a autenticação é processada no computador. Em uma estação de trabalho Windows que seja membro de um domínio, o nome do SAM banco de dados é considerado como o nome do computador. Em um controlador de domínio do Active Directory, o nome do banco de dados de conta é o nome do domínio. Em um computador que não seja um membro de um domínio, todos os logons processar solicitações localmente.
  • Se o nome de domínio especificado é confiável por este domínio, a solicitação de autenticação é passada para o domínio confiável. Em controladores de domínio do Active Directory, a lista de domínios confiáveis é facilmente disponível. Em um membro de um domínio do Windows, a solicitação é sempre passada para o domínio primário da estação de trabalho, permitindo que o domínio primário determinar se o domínio especificado é confiável.
  • Se o nome de domínio especificado não é confiável para o domínio, a solicitação de autenticação será processada no computador que está sendo conectado à como se o nome de domínio especificado foram esse nome de domínio. NetLogon não diferencia entre um domínio não existente, um domínio não confiável e um nome de domínio digitado incorretamente.
NetLogon seleciona um servidor no domínio por um processo chamado descoberta. Uma estação de trabalho do Windows descobre o nome de um dos controladores de domínio do Active Directory do Windows em seu domínio primário. Um controlador de domínio do Active Directory descobre o nome de um controlador de domínio do Active Directory em cada domínio confiável. O componente que faz a descoberta é o localizador de DC que é executado o serviço Netlogon. O localizador de DC usa resolução de nome NETBIOS ou DNS para localizar os servidores necessários, dependendo do tipo de domínio e confiança que está configurada.

Propriedades

ID do artigo: 102716 - Última revisão: quarta-feira, 1 de novembro de 2006 - Revisão: 2.2
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows XP Professional
Palavras-chave: 
kbmt kbinfo kbhowto KB102716 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 102716

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com