Proveedores de credenciales en Windows

Los proveedores de credenciales son el mecanismo principal para la autenticación de usuario. Actualmente son el único método para que los usuarios demuestren su identidad, que es necesaria para el inicio de sesión y otros escenarios de autenticación del sistema. Desde Windows 10 y la introducción de Microsoft Passport, los proveedores de credenciales son más importantes que nunca. Se usan para la autenticación en aplicaciones, sitios web y mucho más.

Microsoft proporciona una variedad de proveedores de credenciales como parte de Windows, como contraseña, PIN, tarjeta inteligente y Windows Hello (reconocimiento de huella digital, rostro e iris). En este artículo se denominan "proveedores de credenciales del sistema". Los OEM, las empresas y otras entidades pueden escribir sus propios proveedores de credenciales e integrarlos fácilmente en Windows. En este artículo se denominan "proveedores de credenciales de terceros". Tenga en cuenta que los proveedores de credenciales V1 y V2 son compatibles con Windows. Es importante que los creadores y administradores de proveedores de credenciales de terceros comprendan estas recomendaciones.

Proveedores de credenciales del sistema

Se recomienda encarecidamente que siempre haya al menos un proveedor de credenciales del sistema disponible para cada usuario del dispositivo, además de cualquier proveedor de credenciales de terceros. Además, durante la configuración del proveedor de credenciales de terceros, se debe solicitar a cada usuario del dispositivo que configure al menos un proveedor de credenciales del sistema (si no hay otras opciones de recuperación disponibles; consulte el escenario A, a continuación).

Escenario A

Un usuario de cuenta local ha configurado un proveedor de credenciales de terceros y lo usa periódicamente para iniciar sesión en el dispositivo. Un día, el usuario instala alguna actualización en el dispositivo que interrumpe el proveedor de credenciales de terceros, y el usuario no es consciente de este cambio antes de reiniciar la máquina.

En el siguiente reinicio, el usuario está en la pantalla de inicio de sesión y no puede usar el proveedor de credenciales de terceros previsto. Si el usuario ha configurado un proveedor de credenciales del sistema, podrá iniciar sesión en la máquina con él. Si no es así, el usuario no tiene forma de recuperar la cuenta en la máquina.

Escenario B

Un usuario de cuenta de Microsoft (MSA), Active Directory (AD) o Microsoft Entra ID ha configurado un proveedor de credenciales de terceros y lo usa periódicamente para iniciar sesión en el dispositivo. Un día, el usuario instala alguna actualización en el dispositivo que interrumpe el proveedor de credenciales de terceros, y el usuario no es consciente de este cambio antes de reiniciar la máquina.

En el siguiente reinicio, el usuario está en la pantalla de inicio de sesión y no puede usar el proveedor de credenciales de terceros previsto. Si el usuario ha configurado un proveedor de credenciales del sistema, podrá iniciar sesión en la máquina con él. Como alternativa, si el proveedor de credenciales de contraseña del sistema está disponible, el usuario puede solicitar o restablecer la contraseña de forma remota y usarla para iniciar sesión en la máquina. Si ninguna opción está disponible, el usuario no tiene forma de recuperar la cuenta en la máquina.

Conclusión

En resumen, se debe desaconsejar la deshabilitación de todos los proveedores de credenciales del sistema en un dispositivo. Aunque los proveedores de credenciales de terceros pueden cumplir requisitos de autenticación adicionales para determinados grupos de usuarios, es muy importante asegurarse de que el usuario siempre pueda recuperar el acceso a su máquina cuando se produzca un cambio importante. Los proveedores de credenciales del sistema proporcionan esta garantía.

Proveedores de credenciales personalizados

El marco del proveedor de credenciales de Windows permite a los desarrolladores crear proveedores de credenciales personalizados. Cuando Winlogon quiere recopilar credenciales, la interfaz de usuario de inicio de sesión consulta a cada proveedor de credenciales el número de credenciales que desea enumerar. Una vez que todos los proveedores han enumerado sus iconos, la interfaz de usuario de inicio de sesión los muestra al usuario. A continuación, el usuario interactúa con un icono para proporcionar las credenciales necesarias. La interfaz de usuario de inicio de sesión envía estas credenciales para la autenticación. La interfaz de usuario de credenciales también puede usar los proveedores de credenciales cuando estas sean necesarias. Consulte CREDENTIAL_PROVIDER_USAGE_SCENARIO para obtener una lista de escenarios en los que se puede admitir un proveedor de credenciales.

Gracias a este sistema, es mucho más fácil crear un proveedor de credenciales que anteriormente. Gran parte del trabajo se controla mediante la combinación de Winlogon, la interfaz de usuario de inicio de sesión y la interfaz de usuario de credenciales. Para ello, deberá crear su propia implementación de ICredentialProvider e ICredentialProviderCredentialCredential. Si va a implementar un proveedor de credenciales V2, lo cual es recomendable, también deberá implementar ICredentialProviderCredential2.

Es importante tener en cuenta que los proveedores de credenciales no son mecanismos de cumplimiento. Se usan para recopilar y serializar credenciales, enviándolas para su autorización. La autoridad local y los paquetes de autenticación se encargarán de la aplicación de las medidas de seguridad necesarias.

Al combinar proveedores de credenciales con hardware compatible, puede ampliar Windows para admitir el registro con información biométrica, contraseñas, PIN, certificados de tarjeta inteligente o cualquier paquete de autenticación personalizado que decida crear. También puede personalizar la experiencia de inicio de sesión para el usuario de varias maneras. Por ejemplo, cuando la interfaz de usuario de inicio de sesión consulta el proveedor de credenciales para obtener los iconos de credenciales, puede especificar un icono predeterminado para proporcionar una experiencia personalizada a un usuario. Los proveedores de credenciales incluso se pueden diseñar para admitir el inicio de sesión único (SSO), autenticando a los usuarios en un punto de acceso seguro, así como el inicio de sesión de la máquina.

Los proveedores de credenciales se registran en una máquina Windows y son responsables de lo siguiente.

  • Describir la información de credenciales necesaria para la autenticación.
  • Controlar la comunicación y la lógica con cualquier autoridad de autenticación externa.
  • Empaquetar las credenciales para el inicio de sesión interactivo y de red.

Sugerencia

Recuerde que se pueden instalar varios proveedores de credenciales en una misma máquina.

Encapsulado de proveedores de credenciales

El encapsulado de un proveedor de credenciales del sistema se puede realizar para agregar funcionalidad a ese proveedor de credenciales que no se admite de forma nativa. Esto no se recomienda porque puede dar problemas. Se pueden realizar cambios en el proveedor de credenciales que pueden entrar en conflicto con el encapsulado, lo que causa una experiencia de usuario deficiente o incluso impide que el usuario acceda a su dispositivo. Esto es especialmente cierto con la frecuencia de actualización de Windows.

Si se necesita una funcionalidad en un proveedor de credenciales que no se incluye de forma nativa, lo recomendado es crear un proveedor de credenciales personalizado. Se trata de un enfoque más estable que no depende de los proveedores del sistema.

Consulte también