Uso de paquetes de seguridad
La interfaz del proveedor de soporte técnico de seguridad (SSPI) se puede usar con los siguientes paquetes de seguridad:
Los protocolos Kerberos y NTLM se implementan como paquetes de seguridad del proveedor de soporte de seguridad (SSP) de Secur32.dll suministrado con el sistema operativo. De forma predeterminada, la entidad de seguridad local (LSA) carga la compatibilidad con la autenticación Kerberos y NTLM en un equipo cuando se inicia el sistema. En dominios de Windows Server o Windows, se puede usar cualquier paquete para autenticar inicios de sesión de red y conexiones cliente/servidor. El que se usa depende de las funciones del equipo en el otro lado de la conexión. Siempre se prefiere el protocolo Kerberos, si está disponible.
Una vez establecido un contexto de seguridad para un usuario interactivo, se puede cargar otra instancia del paquete Kerberos o NTLM mediante un proceso que se ejecuta en el contexto de seguridad del usuario para admitir el intercambio, firma, comprobación, cifrado y descifrado de mensajes. Sin embargo, ningún proceso distinto del LSA nunca permite el acceso a claves de sesión o vales en la memoria caché de credenciales.
Los servicios del sistema y las aplicaciones de nivel de transporte acceden a un SSP a través de SSPI, que proporciona funciones para enumerar los paquetes de seguridad disponibles en un sistema, seleccionar un paquete y usar ese paquete para obtener una conexión autenticada.
Los métodos de SSPI son rutinas genéricas que los desarrolladores pueden usar sin conocer los detalles de un protocolo de seguridad determinado. Por ejemplo, cuando se autentica una conexión de cliente o servidor:
- La aplicación del lado cliente de la conexión envía credenciales al servidor mediante la función SSPI InitializeSecurityContext (General).
- La aplicación del lado servidor de la conexión responde con la función AcceptSecurityContext (General) de SSPI.
- Una vez autenticada la conexión, el LSA del servidor usa información del cliente para crear un token de acceso.
- A continuación, el servidor puede llamar a la función SSPI ImpersonateSecurityContext para adjuntar el token de acceso a un subproceso de suplantación para el servicio.
Paquete de seguridad kerberos
El paquete de seguridad kerberos se basa en el protocolo de autenticación Kerberos.
Si el protocolo Kerberos se usa para autenticar una conexión de cliente o servidor, InitializeSecurityContext (Kerberos) genera un mensaje GSSAPI que incluye un mensaje de KRB_AP_REQ del cliente. AcceptSecurityContext (Kerberos) genera un mensaje GSSAPI que incluye un mensaje de KRB_AP_REP del servidor.
Para obtener información general sobre los pasos que tienen lugar en segundo plano en la implementación de un protocolo Kerberos, consulte Microsoft Kerberos.
Todos los servicios distribuidos usan SSPI para acceder al protocolo Kerberos. Una lista parcial de las formas en que se usa el protocolo Kerberos para la autenticación incluye:
- Servicios de administrador de trabajos de impresión
- Acceso remoto a archivos CIFS/SMB
- Consultas LDAP a Active Directory
- Administración y referencias del sistema de archivos distribuidos
- Autenticación de la entidad de seguridad de host a host de IPsec
- Solicitudes de reserva para la calidad de servicio de red
- Autenticación de intranet en Internet Information Services
- Administración remota de servidores o estaciones de trabajo mediante RPC autenticado
- Solicitudes de certificado a Servicios de certificados para usuarios y equipos de dominio
Paquete de seguridad NTLM
El paquete de seguridad NTLM se basa en el protocolo de autenticación NTLM.