La interfaz del proveedor de soporte de seguridad ( SSPI ) es un componente de la API de Windows que realiza operaciones relacionadas con la seguridad, como la autenticación .
SSPI funciona como una interfaz común para varios proveedores de soporte de seguridad (SSP): [ 1 ] Un proveedor de soporte de seguridad es una biblioteca de vínculos dinámicos (DLL) que pone a disposición de las aplicaciones uno o más paquetes de seguridad.
Proveedores
Los siguientes SSP están incluidos en Windows:
- NTLMSSP (msv1_0.dll) – Introducido en Windows NT 3.51 . Proporciona autenticación de desafío/respuesta NTLM para dominios de Windows anteriores a Windows 2000 y para sistemas que no forman parte de un dominio. [ 2 ]
- Kerberos (kerberos.dll) – Introducido en Windows 2000 y actualizado en Windows Vista para admitir AES . [ 3 ] Realiza la autenticación para dominios de Windows en Windows 2000 y versiones posteriores. [ 4 ]
- NegotiateSSP (secur32.dll): Introducido en Windows 2000. Proporciona la capacidad de inicio de sesión único , a veces denominada Autenticación Integrada de Windows (especialmente en el contexto de IIS). [ 5 ] Antes de Windows 7 , intenta Kerberos antes de recurrir a NTLM. En Windows 7 y versiones posteriores, se introduce NEGOExts, que negocia el uso de SSP personalizados instalados que son compatibles con el cliente y el servidor para la autenticación.
- Canal seguro (schannel.dll): introducido en Windows 2000 y actualizado en Windows Vista para admitir un cifrado AES más robusto y ECC [ 6 ]. Este proveedor utiliza registros SSL/TLS para cifrar las cargas útiles de datos.
- TLS/SSL : protocolo de seguridad de clave pública (SSP) que proporciona cifrado y comunicación segura para autenticar clientes y servidores a través de Internet. [ 7 ] Actualizado en Windows 7 para admitir TLS 1.2.
- Digest SSP (wdigest.dll) – Introducido en Windows XP . Proporciona autenticación HTTP y SASL basada en desafío/respuesta entre sistemas Windows y sistemas que no son Windows donde Kerberos no está disponible. [ 8 ]
- CredSSP (credssp.dll) – Introducido en Windows Vista y disponible en Windows XP SP3. Proporciona inicio de sesión único y autenticación a nivel de red para los Servicios de Escritorio remoto . [ 9 ]
- Autenticación de contraseña distribuida (DPA, msapsspc.dll): introducida en Windows 2000. Proporciona autenticación de Internet mediante certificados digitales . [ 10 ]
- Criptografía de clave pública de usuario a usuario (PKU2U, pku2u.dll): introducida en Windows 7. Proporciona autenticación de igual a igual mediante certificados digitales entre sistemas que no forman parte de un dominio.
Comparación
SSPI es una variante propietaria de la Interfaz de Programación de Aplicaciones de Servicios de Seguridad Genéricos (GSSAPI), con extensiones y tipos de datos muy específicos de Windows. Se incluyó en Windows NT 3.51 y Windows 95 con el NTLMSSP . Para Windows 2000, se añadió una implementación de Kerberos 5, que utiliza formatos de token conformes al estándar de protocolo oficial RFC 1964 (el mecanismo GSSAPI de Kerberos 5) y proporciona interoperabilidad a nivel de red con implementaciones de Kerberos 5 de otros proveedores.
Los tokens generados y aceptados por el SSPI son en su mayoría compatibles con la API GSS, por lo que un cliente SSPI en Windows podría autenticarse con un servidor GSS-API en Unix, dependiendo de las circunstancias específicas.
Una deficiencia importante de SSPI es su falta de enlaces de canal , lo que imposibilita cierta interoperabilidad con GSSAPI.
Otra diferencia fundamental entre la GSSAPI definida por la IETF y la SSPI de Microsoft es el concepto de " suplantación ". En este modelo, un servidor puede operar con todos los privilegios del cliente autenticado, de modo que el sistema operativo realiza todas las comprobaciones de control de acceso , por ejemplo, al abrir nuevos archivos. Si estos son menos o más privilegios que los de la cuenta de servicio original depende completamente del cliente. En el modelo tradicional (GSSAPI), cuando un servidor se ejecuta bajo una cuenta de servicio, no puede elevar sus privilegios y tiene que realizar el control de acceso de una manera específica para el cliente y la aplicación. Las obvias implicaciones negativas de seguridad del concepto de suplantación se evitan en Windows Vista al restringir la suplantación a cuentas de servicio seleccionadas. [ 11 ] La suplantación se puede implementar en un modelo Unix/Linux utilizando las seteuidllamadas al sistema o relacionadas. Si bien esto significa que un proceso sin privilegios no puede elevar sus privilegios, también significa que para aprovechar la suplantación el proceso debe ejecutarse en el contexto de la cuenta de usuario root .
Referencias
- ↑ Paquetes SSP proporcionados por Microsoft
- ↑ Autenticación de usuario - Seguridad (Documentación del Kit de recursos de Windows 2000) : MSDN
- ↑ Mejoras de Kerberos en Windows Vista: MSDN
- ↑ Autenticación Kerberos de Windows 2000
- ↑ "Autenticación de Windows" . Documentación de Windows Server 2008 R2 y Windows Server 2008. Microsoft. 2 de julio de 2012. Consultado el 5 de agosto de 2020 a través de Microsoft Docs.
- ↑ Mejoras criptográficas TLS/SSL en Windows Vista
- ↑ Canal seguro: Paquetes SSP proporcionados por Microsoft
- ↑ Resumen de Microsoft SSP: Paquetes SSP proporcionados por Microsoft
- ↑ Proveedor de servicios de seguridad de credenciales y SSO para inicio de sesión en servicios de terminal
- ↑ Descripción técnica de DCOM: Seguridad en Internet
- ↑ "Refuerzo de servicios de Windows: blog de AskPerf" . Archivado del original el 2 de abril de 2010. Consultado el 22 de diciembre de 2009 .
Enlaces externos
- Referencia SSPI en MSDN
- Información sobre SSPI y ejemplos de Win32
- Ejemplo de uso de SSPI para autenticación HTTP
- Interfaces de programación de aplicaciones de Microsoft
- Tecnología de seguridad de Microsoft Windows
- Implementación de la seguridad de la capa de transporte