LA autenticación de usuario NTLM en Windows

Seleccione idioma Seleccione idioma
Id. de artículo: 102716 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo trata los siguientes aspectos de autenticación de usuario NTLM en Windows:
  • Almacenamiento de contraseñas en la base de datos de cuentas
  • Autenticación de usuario mediante el paquete de autenticación MSV1_0
  • Autenticación de paso a través

Más información

Almacenamiento de contraseñas en la base de datos de cuentas

Los registros de usuario se almacenan en la base de datos de administrador (SAM) de las cuentas de seguridad o en la base de datos Active Directory. Cada cuenta de usuario está asociada con dos contraseñas: la contraseña de compatibles con LAN Manager y la contraseña de Windows. Cada contraseña está cifrada y almacenado en la base de datos SAM o en la base de datos Active Directory.

La contraseña de compatibles con LAN Manager es compatible con la contraseña que se utiliza por el Administrador de LAN. Esta contraseña se basa en el conjunto de caracteres de fabricante de equipos originales (OEM). Esta contraseña no distingue mayúsculas de minúsculas y puede tener hasta 14 caracteres. La versión OWF de esta contraseña es también conocida como la versión OWF de LAN Manager o ESTD. Esta contraseña se calcula mediante cifrado de DES para cifrar una constante con la contraseña de texto sin cifrar. La contraseña de LAN Manager OWF es 16 bytes. Los 7 primeros bytes de la contraseña como texto sin cifrar se utilizan para calcular los 8 primeros bytes de la contraseña de LAN Manager OWF. Los bytes segundo 7 de la contraseña como texto sin cifrar se utilizan para los segundo 8 bytes de la contraseña de LAN Manager OWF del equipo.

La contraseña de Windows se basa en el juego de caracteres Unicode. Esta contraseña distingue entre mayúsculas y minúsculas y puede tener hasta 128 caracteres. La versión OWF de esta contraseña es también conocida como la contraseña de Windows OWF. Esta contraseña se calcula utilizando el algoritmo de cifrado RSA MD-4. Este algoritmo calcula un resumen de 16 bytes de una cadena de longitud variable de bytes de contraseña de texto sin cifrar.

La contraseña de LAN Manager, o la contraseña de Windows carece de cualquier cuenta de usuario. Sin embargo, cada intento se realiza para mantener ambas versiones de la contraseña. Por ejemplo, si la cuenta de usuario se transfieren de una base de datos UAS de LAN Manager utilizando PortUas, o si se cambia la contraseña desde un cliente de LAN Manager o desde un cliente de Windows para trabajo en grupo, sólo la versión de LAN Manager de la contraseña se mantendrán. Si se establece la contraseña o se modifica en un cliente de Windows y la contraseña no tiene ninguna representación de LAN Manager, existirán solamente la versión de Windows de la contraseña. (La contraseña no puede tener ninguna representación de LAN Manager porque la contraseña es más de 14 caracteres o porque los caracteres no pueden representarse en el juego de caracteres OEM). Límites de la interfaz de usuario en Windows no permiten las contraseñas de Windows superar los 14 caracteres. Las implicaciones de esta limitación se tratan más adelante en este artículo.

En Windows 2000 Service Pack 2 y en versiones posteriores de Windows, hay disponible una configuración que permite impedir que Windows almacene un hash de LAN Manager de la contraseña. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
299656Cómo impedir que Windows almacene un hash de administrador de LAN de la contraseña en Active Directory y bases de datos SAM locales
Nota Microsoft no admite manualmente o mediante programación modificando la base de datos SAM.

Autenticación de usuario mediante el paquete de autenticación MSV1_0

Windows utiliza la API LsaLogonUser para todos los tipos de autenticaciones de usuario. La API LsaLogonUser autentica usuarios mediante una llamada a un paquete de autenticación. De manera predeterminada, LsaLogonUser llama al paquete de autenticación MSV1_0 (MSV). Este paquete se incluye con Windows NT. Los MSV autenticación paquete almacena registros de usuario en la base de datos SAM. Este paquete admite autenticación de paso a través de los usuarios de otros dominios mediante el servicio Netlogon.

Internamente, el paquete de autenticación MSV se divide en dos partes. La primera parte del paquete de autenticación MSV se ejecuta en el equipo conectado a. La segunda parte se ejecuta en el equipo que contiene la cuenta de usuario. Cuando ambas partes se ejecutan en el mismo equipo, la primera parte del paquete de autenticación MSV llama a la segunda parte sin involucrar dicho servicio. La primera parte del paquete de autenticación MSV reconoce que paso a través de la autenticación es necesaria porque el nombre de dominio que se pasó no es su propio nombre de dominio. Cuando se requiere autenticación transferida, MSV pasa la solicitud a dicho servicio. El servicio Netlogon, a continuación, enruta la solicitud al servicio Netlogon en el equipo de destino. A su vez, dicho servicio pasa la solicitud a la otra parte del paquete de autenticación MSV en ese equipo.

LsaLogonUser admite inicios de sesión interactivos, inicios de sesión de servicio y los inicios de sesión de red. En el paquete de autenticación MSV, todos los formularios de inicio de sesión pase el nombre de la cuenta de usuario, el nombre del dominio que contiene la cuenta de usuario y alguna función de contraseña del usuario. Los distintos tipos de inicio de sesión representan la contraseña diferente cuando pasa a LsaLogonUser.

Para los inicios de sesión interactivo, los inicios de sesión por lotes y inicios de sesión de servicio, el cliente de inicio de sesión está en el equipo que ejecuta la primera parte del paquete de autenticación MSV. En este caso, se pasa la contraseña sin cifrar a LsaLogonUser y a la primera parte de paquete de autenticación MSV. Para inicios de sesión de servicio y los inicios de sesión por lotes, el Administrador de control de servicios y el programador de tareas proporcionan una forma más segura de almacenar credenciales de la cuenta.

La primera parte del paquete de autenticación MSV convierte la contraseña sin cifrar tanto a una contraseña de LAN Manager OWF y una contraseña de Windows NT OWF. A continuación, la primera parte del paquete pasa la contraseña sin cifrar para el servicio NetLogon o para la segunda parte del paquete. La segunda parte, a continuación, consulta la base de datos de SAM para las contraseñas OWF y garantiza que son idénticos.

Para los inicios de sesión de red, el cliente que se conecta al equipo anteriormente se ha dado un desafío de 16 bytes o un "valor nonce." Si el cliente es un cliente de LAN Manager, el cliente calcula un desafío de 24 bytes de respuesta cifrando el desafío de 16 bytes con la contraseña de LAN Manager OWF de 16 bytes. El cliente de LAN Manager, a continuación, pasa esto "Respuesta de desafío de LAN Manager" en el servidor. Si el cliente es un cliente de Windows, "Respuesta de desafío de Windows" se calcula utilizando el mismo algoritmo. Sin embargo, el cliente de Windows utiliza los datos de OWF de Windows de 16 bytes en lugar de los datos OWF de LAN Manager. El cliente de Windows, a continuación, pasa la respuesta de desafío de LAN Manager y la respuesta de desafío de Windows NT en el servidor. En cualquier caso, el servidor autentica el usuario pasando todo lo siguiente a la API LsaLogonUser:
  • El nombre de dominio
  • El nombre de usuario
  • El desafío original
  • La respuesta de desafío de LAN Manager
  • La respuesta de desafío opcional de Windows NT
La primera parte del paquete de autenticación MSV pasa esta información sin cambiar la segunda parte. En primer lugar, la segunda parte consulta las contraseñas OWF desde la base de datos SAM o desde la base de datos Active Directory. A continuación, en la segunda parte se calcula la respuesta de desafío mediante la contraseña OWF de la base de datos y el desafío que se pasó. La segunda parte, a continuación, compara la respuesta de desafío calculada a pasado desafío-respuesta.

Nota NTLMv2 también permite que el cliente envía un desafío junto con el uso de claves de sesión que ayudan a reducir el riesgo de ataques comunes.

Como se mencionó anteriormente, cualquier versión de la contraseña puede no desde la base de datos SAM o desde la base de datos Active Directory. Además, cualquier versión de la contraseña puede que falte de la llamada a LsaLogonUser. Si la versión de Windows de la contraseña de la base de datos SAM y la versión de Windows de la contraseña de LsaLogonUser están disponibles, se utilizan. En caso contrario, se utiliza la versión de LAN Manager de la contraseña para comparación. Esta regla ayuda a exigir la distinción entre mayúsculas y minúsculas cuando se producen los inicios de sesión de red de Windows a Windows. Esta regla también permite compatibilidad con versiones anteriores.

Autenticación de paso a través

El servicio NetLogon implementa la autenticación de paso. Realiza las siguientes funciones:
  • Selecciona el dominio para pasar la solicitud de autenticación.
  • Selecciona el servidor dentro del dominio.
  • Pasa la solicitud de autenticación a través al servidor seleccionado.
Selecciona el dominio es sencillo. El nombre de dominio se pasa al LsaLogonUser. El nombre de dominio se procesa como sigue:
  • Si el nombre de dominio coincide con el nombre de la base de datos SAM, la autenticación se procesa en ese equipo. En una estación de trabajo Windows que es un miembro de un dominio, el nombre de la base de datos SAM base de datos se considera como el nombre del equipo. En un controlador de dominio de Active Directory, el nombre de la base de datos de cuenta es el nombre del dominio. En un equipo que no es un miembro de un dominio, todos los inicios de sesión procesar solicitudes localmente.
  • Si este dominio confía en el nombre de dominio especificado, la solicitud de autenticación se pasa al dominio de confianza. En controladores de dominio de Active Directory, la lista de dominios de confianza está fácilmente disponible. En un miembro de un dominio de Windows, siempre se pasa la solicitud a través de al dominio principal de la estación de trabajo, permitiendo que el dominio principal determinar si el dominio especificado es de confianza.
  • Si el nombre de dominio especificado no es de confianza por el dominio, se procesa la solicitud de autenticación en el equipo está conectado a, como si el nombre de dominio especificado fuera de ese nombre de dominio. NetLogon no distingue entre un dominio inexistente, un dominio que no son de confianza y un nombre de dominio escrito incorrectamente.
NetLogon selecciona un servidor en el dominio mediante un proceso denominado descubrimiento. Una estación de trabajo de Windows descubre el nombre de uno de los controladores de dominio Active Directory de Windows de su dominio principal. Un controlador de dominio de Active Directory descubre el nombre de un controlador de dominio de Active Directory en cada dominio de confianza. El componente que realiza el descubrimiento es el ubicador de DC se ejecuta en el servicio Netlogon. El ubicador de DC utiliza resolución de nombres NETBIOS o DNS para localizar los servidores necesarios, dependiendo del tipo de dominio y de confianza que está configurado.

Propiedades

Id. de artículo: 102716 - Última revisión: miércoles, 1 de noviembre de 2006 - Versión: 2.2
La información de este artículo se refiere 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
Palabras clave: 
kbmt kbinfo kbhowto KB102716 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 102716

Enviar comentarios

 

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