Compartir a través de


Credenciales de autenticación de cliente

Cada cliente autenticado debe proporcionar credenciales de autenticación al servidor. En RPC, el cliente almacena sus credenciales de autenticación en el enlace entre el cliente y el servidor. Para ello, el cliente llama a RpcBindingSetAuthInfo o RpcBindingSetAuthInfoEx.

Hay dos tipos de credenciales, implícitas y explícitas:

  • Existen credenciales explícitas cuando el cliente proporciona el nombre de usuario, la contraseña y el dominio.
  • Existen credenciales implícitas cuando el cliente usa credenciales del subproceso o token de proceso que llama a las funciones RpcBindingSetAuthInfo o RpcBindingSetAuthInfoEx .

Los clientes deben abstenerse de proporcionar credenciales explícitas porque almacenar, manipular y recuperar una contraseña de usuario puede introducir una vulnerabilidad de seguridad en un sistema distribuido si se usan credenciales explícitas.

Para usar credenciales implícitas, el cliente llama a RpcBindingSetAuthInfo(Ex). El sistema de seguridad y RPC obtienen credenciales del subproceso o token de proceso para su uso en la sesión de autenticación.

Si el cliente usa credenciales explícitas, el quinto parámetro de estas dos funciones es de tipo RPC_AUTH_IDENTITY_HANDLE. Se trata de un tipo flexible que es un puntero a una estructura de datos. El contenido de la estructura de datos puede diferir con cada servicio de autenticación. Actualmente, los SSP que admite RPC requieren que el conjunto de RPC_AUTH_IDENTITY_HANDLE de la aplicación apunte a una estructura de SEC_WINNT_AUTH_IDENTITY . La estructura SEC_WINNT_AUTH_IDENTITY contiene campos para un nombre de usuario, un dominio y una contraseña.