Conceptos de autenticación de Windows
En este tema de información general de referencia, se describen los conceptos en los que se basa la autenticación de Windows.
La autenticación es un proceso para comprobar la identidad de un objeto o una persona. Cuando se autentica un objeto, el objetivo es comprobar que el objeto sea auténtico. Cuando se autentica una persona, el objetivo es comprobar que no se trate de un impostor.
En un contexto de redes, la autenticación es el acto de probar la identidad a una aplicación o recurso de red. Por lo general, la identidad se demuestra mediante una operación criptográfica que utiliza una clave que solo el usuario conoce (como en la criptografía de clave pública) o una clave compartida. La parte del servidor del intercambio de autenticación compara los datos firmados con una clave criptográfica conocida para validar el intento de autenticación.
Almacenar las claves criptográficas en una ubicación central segura hace que el proceso de autenticación sea escalable y fácil de mantener. Active Directory es la tecnología predeterminada y recomendada para almacenar la información de identidades, lo que incluye las claves criptográficas que son las credenciales del usuario. Se requiere Active Directory para implementaciones de NTLM y Kerberos predeterminadas.
Las técnicas de autenticación van desde un inicio de sesión simple en un sistema operativo o un inicio de sesión en un servicio o una aplicación que identifica a los usuarios basándose en algo que solo el usuario conoce, como una contraseña, hasta mecanismos de seguridad más eficaces que usan algo que el usuario tiene, como tokens, certificados de clave pública, imágenes o atributos biológicos. En un entorno empresarial, los usuario podrían acceder a varias aplicaciones en diversos tipos de servidores dentro de una sola ubicación o entre distintas ubicaciones. Por dichos motivos, la autenticación debe admitir entornos para otras plataformas y para otros sistemas operativos de Windows.
Autenticación y autorización: analogía con un viaje
Una analogía con un viaje puede ayudar a explicar cómo funciona la autenticación. Normalmente, es necesario realizar algunas tareas preparatorias para comenzar el viaje. El viajero debe demostrar su verdadera identidad a las autoridades anfitrionas. Esta prueba puede ser en forma de prueba de ciudadanía, lugar de nacimiento, un vale personal, fotografías o lo que requiera la ley del país anfitrión. La identidad del viajero se valida mediante la emisión de un pasaporte, que es análogo a una cuenta del sistema emitida y administrada por una organización, la entidad de seguridad. El pasaporte y el destino previsto se basan en un conjunto de normas y reglamentos emitidos por la autoridad gubernamental.
El viaje
Cuando el viajero llega a la frontera internacional, un guardia de fronteras le solicita las credenciales y el viajero presenta su pasaporte. El proceso es doble:
El guardia autentica el pasaporte comprobando que fue emitido por una autoridad de seguridad en la que el gobierno local confía (confía, al menos, para emitir pasaportes) y comprobando que el pasaporte no se haya modificado.
El guardia autentica al viajero comprobando que la cara coincida con la cara de la fotografía del pasaporte y que otras credenciales requeridas estén en buen orden.
Si el pasaporte demuestra ser válido y el viajero demuestra ser su propietario, la autenticación es correcta y se puede permitir al viajero cruzar la frontera.
La confianza transitiva entre las autoridades de seguridad es la base de la autenticación; el tipo de autenticación que tiene lugar en una frontera internacional se basa en la confianza. El gobierno local no conoce al viajero, pero confía en que el gobierno anfitrión sí. Cuando el gobierno anfitrión emitió el pasaporte, tampoco conocía al viajero. Confiaba en la agencia que emitió el certificado de nacimiento u otra documentación. La agencia que emitió el certificado de nacimiento, a su vez, confiaba en el médico que firmó el certificado. El médico fue testigo del nacimiento del viajero y selló en el certificado la prueba directa de la identidad, en este caso, la huella del recién nacido. La confianza que se transfiere de esta manera, mediante intermediarios de confianza, es transitiva.
La confianza transitiva es la base de la seguridad de red en la arquitectura cliente/servidor de Windows. Una relación de confianza fluye a lo largo de un conjunto de dominios, como un árbol de dominios, y forma una relación entre un dominio y todos los dominios que confían en ese dominio. Por ejemplo, si el dominio A tiene una confianza transitiva con el dominio B y si el dominio B confía en el dominio C, el dominio A confía en el dominio C.
Hay una diferencia entre la autenticación y la autorización. Con la autenticación, el sistema demuestra que es quien dice ser. Con la autorización, el sistema comprueba que tiene derechos para hacer lo que desea hacer. Para llevar la analogía con la frontera al siguiente paso, autenticar simplemente que el viajero es el propietario adecuado de un pasaporte válido no autoriza necesariamente al viajero a entrar en un país. Los residentes de un país en particular pueden entrar en otro país simplemente presentando un pasaporte solo en situaciones en las que el país al que se entra concede permiso ilimitado para que todos los ciudadanos de ese país en particular entren.
Del mismo modo, puede conceder permisos para acceder a un recurso a todos los usuarios de un dominio determinado. Cualquier usuario que pertenezca a ese dominio tiene acceso al recurso, al igual que Canadá permite a los ciudadanos estadounidenses entrar en Canadá. Sin embargo, los ciudadanos estadounidenses que intentan entrar en Brasil o la India descubren que no pueden entrar en esos países simplemente presentando un pasaporte, ya que ambos países requieren que los ciudadanos estadounidenses tengan un visado válido. Por lo tanto, la autenticación no garantiza el acceso a los recursos ni la autorización para usar los recursos.
Credenciales
Precaución
Cuando un usuario realiza un inicio de sesión local, sus credenciales se verifican localmente con una copia en caché antes de autenticarse con un proveedor de identidad a través de la red. Si la verificación de la caché se realiza correctamente, el usuario obtiene acceso al escritorio aunque el dispositivo esté desconectado. Sin embargo, si el usuario cambia su contraseña en la nube, el verificador almacenado en caché no se actualiza, lo que significa que puede seguir accediendo a su equipo local utilizando su antigua contraseña.
Un pasaporte y posiblemente los visados asociados son las credenciales aceptadas para un viajero. Sin embargo, es posible que esas credenciales no permitan que un viajero entre o acceda a todos los recursos de un país. Por ejemplo, se requieren credenciales adicionales para asistir a una conferencia. En Windows, las credenciales se pueden administrar para permitir que los titulares de la cuenta accedan a los recursos mediante la red sin tener que proporcionar las credenciales repetidamente. Este tipo de acceso permite a los usuarios autenticarse una vez en el sistema para acceder a todas las aplicaciones y orígenes de datos que estén autorizados a usar sin escribir otro identificador de cuenta y contraseña. La plataforma Windows aprovecha la capacidad de usar una identidad de usuario única (mantenida por Active Directory) en toda la red almacenando en caché localmente las credenciales de usuario en la Autoridad de seguridad local (LSA) del sistema operativo. Cuando un usuario inicia sesión en el dominio, los paquetes de autenticación de Windows usan de forma transparente las credenciales para proporcionar el inicio de sesión único al autenticar las credenciales en los recursos de red. Para obtener más información sobre las credenciales, consulte Procesos de las credenciales en la autenticación de Windows.
Una forma de autenticación multifactor para el viajero podría ser el requisito de llevar y presentar varios documentos para autenticar su identidad, como el pasaporte y la información del registro en la conferencia. Windows implementa esta forma de autenticación mediante tarjetas inteligentes, tarjetas inteligentes virtuales y tecnologías biométricas.
Entidades de seguridad y cuentas
En Windows, cualquier usuario, servicio, grupo o equipo que pueda iniciar la acción es una entidad de seguridad. Las entidades de seguridad tienen cuentas, que pueden ser locales para un equipo o estar basadas en el dominio. Por ejemplo, los equipos cliente Windows unidos a un dominio pueden participar en un dominio de red comunicándose con un controlador de dominio, incluso aunque ningún usuario humano haya iniciado sesión. Para iniciar comunicaciones, el equipo debe tener una cuenta activa en el dominio. Antes de aceptar las comunicaciones del equipo, la autoridad de seguridad local del controlador de dominio autentica la identidad del equipo y, a continuación, define el contexto de seguridad del equipo tal como lo haría para una entidad de seguridad humana. Este contexto de seguridad define la identidad y las funcionalidades de un usuario o servicio en un equipo determinado, o de un usuario, servicio, grupo o equipo en una red. Por ejemplo, define los recursos (como un recurso compartido de archivos o una impresora) a los que se puede acceder y las acciones (como Leer, Escribir o Modificar) que puede realizar un usuario, servicio o equipo en ese recurso. Para obtener más información, consulte Entidades de seguridad.
Una cuenta es un medio para identificar a un demandante (el usuario humano o el servicio) que solicita acceso o recursos. El viajero que posee el pasaporte auténtico posee una cuenta con el país anfitrión. Los usuarios, grupos de usuarios, objetos y servicios pueden tener cuentas individuales o compartir cuentas. Las cuentas pueden ser miembros de grupos y se pueden asignar derechos y permisos específicos. Las cuentas se pueden restringir al equipo local, al grupo de trabajo, a la red o asignarse a un dominio.
Las cuentas integradas y los grupos de seguridad, de los que son miembros, se definen en cada versión de Windows. Mediante el uso de grupos de seguridad, puede asignar los mismos permisos de seguridad a muchos usuarios que se hayan autenticado correctamente, lo que simplifica la administración del acceso. Las reglas para emitir pasaportes pueden requerir que el viajero esté asignado a determinados grupos, como negocios, turismo o gubernamentales. Este proceso garantiza permisos de seguridad coherentes en todos los miembros de un grupo. El uso de grupos de seguridad para asignar permisos significa que el control de acceso de los recursos sigue siendo constante y fácil de administrar y auditar. Al agregar y quitar usuarios que requieren acceso de los grupos de seguridad adecuados según sea necesario, puede minimizar la frecuencia de cambios en las listas de control de acceso (ACL).
Las cuentas de servicio administradas independientes y las cuentas virtuales se presentaron en Windows Server 2008 R2 y Windows 7 para proporcionar a las aplicaciones necesarias, como Microsoft Exchange Server e Internet Information Services (IIS), el aislamiento de sus propias cuentas de dominio, eliminando al mismo tiempo la necesidad de que un administrador administre manualmente el nombre de entidad de servicio (SPN) y las credenciales de estas cuentas. Las cuentas de servicio administradas de grupo se presentaron en Windows Server 2012 y proporcionan la misma funcionalidad dentro del dominio, pero también amplían esa funcionalidad sobre varios servidores. Al establecer una conexión con un servicio hospedado en una granja de servidores (como el equilibrio de carga de red), los protocolos de autenticación que admiten la autenticación mutua necesitan que todas las instancias de los servicios usen la misma entidad de seguridad.
Para obtener más información acerca de las cuentas, consulte:
Autenticación delegada
Para utilizar la analogía con un viaje, los países podrían emitir el mismo acceso a todos los miembros de una delegación gubernamental oficial, siempre y cuando los delegados sean conocidos. Esta delegación permite a un miembro actuar bajo la autoridad de otro. En Windows, la autenticación delegada se produce cuando un servicio de red acepta una solicitud de autenticación de un usuario y asume la identidad de ese usuario para iniciar una nueva conexión a un segundo servicio de red. Para admitir la autenticación delegada, debe establecer servidores de front-end o de primer nivel, como los servidores web, que son responsables de controlar las solicitudes de autenticación de cliente y servidores de back-end o de n niveles, como bases de datos de gran tamaño, que son responsables de almacenar la información. Puede delegar el derecho a configurar la autenticación delegada a los usuarios de la organización para reducir la carga administrativa de los administradores.
Al establecer un servicio o equipo como de confianza para la delegación, permite que ese servicio o equipo complete la autenticación delegada, reciba un vale para el usuario que realiza la solicitud y, a continuación, acceda a la información para ese usuario. Este modelo restringe el acceso a los datos en los servidores back-end solo a los usuarios o servicios que presenten credenciales con los tokens de control de acceso correctos. Además, permite la auditoría del acceso a esos recursos de back-end. Al exigir que se acceda a todos los datos mediante credenciales delegadas al servidor para su uso en nombre del cliente, se asegura de que el servidor no se pueda poner en peligro y de que pueda obtener acceso a información confidencial almacenada en otros servidores. La autenticación delegada es útil para aplicaciones de varios niveles diseñadas para usar funcionalidades de inicio de sesión único en varios equipos.
Autenticación en relaciones de confianza entre dominios
La mayoría de las organizaciones que tienen más de un dominio tienen la necesidad legítima de que los usuarios accedan a recursos compartidos que se encuentran en otro dominio, al igual que el viajero puede viajar a diferentes regiones del país. Controlar este acceso requiere que los usuarios de un dominio también se puedan autenticar y autorizar para usar recursos de otro dominio. Para proporcionar funcionalidades de autenticación y autorización entre clientes y servidores de dominios diferentes, debe haber confianza entre los dos dominios. Las confianzas son la tecnología subyacente por la que se producen las comunicaciones protegidas de Active Directory y son un componente de seguridad integral de la arquitectura de red de Windows Server.
Cuando existe confianza entre dos dominios, los mecanismos de autenticación de cada dominio confían en las autenticaciones procedentes del otro dominio. La confianza ayuda a proporcionar acceso controlado a los recursos compartidos de un dominio de recursos (el dominio que confía) comprobando que las solicitudes de autenticación entrantes proceden de una entidad de confianza (el dominio de confianza). De este modo, las confianzas actúan como puentes que permiten que solo las solicitudes de autenticación validadas viajen entre dominios.
La forma en la que una confianza específica pasa las solicitudes de autenticación depende de cómo esté configurada. Las relaciones de confianza pueden ser unidireccionales, proporcionando acceso desde el dominio de confianza a los recursos del dominio que confía, o bidireccionalmente, proporcionando acceso de cada dominio a los recursos del otro dominio. Las confianzas también son no transitivas, en cuyo caso existe una confianza solo entre los dos dominios de asociados de confianza, o transitiva, en cuyo caso una confianza se extiende automáticamente a cualquier otro dominio en el que confíe cualquiera de los asociados.
Para obtener información sobre cómo funciona la confianza, consulte Cómo funcionan las confianzas de dominio y de bosque.
Transición de protocolo
La transición de protocolo ayuda a los diseñadores de aplicaciones al permitir que las aplicaciones admitan distintos mecanismos de autenticación en el nivel de autenticación de usuario y cambien al protocolo Kerberos para las características de seguridad, como la autenticación mutua y la delegación restringida, en los niveles de aplicación posteriores.
Para obtener más información acerca de la transición de protocolo, consulte Transición de protocolo de Kerberos y delegación restringida.
Delegación restringida
La delegación restringida proporciona a los administradores de servicios la capacidad de especificar y exigir la aplicación límites de confianza limitando el ámbito en el que los servicios de aplicación pueden actuar en nombre de un usuario. Puede especificar determinados servicios desde los que un equipo de confianza para la delegación puede solicitar recursos. La flexibilidad para restringir los derechos de autorización de los servicios ayuda a mejorar el diseño de seguridad de las aplicaciones al reducir las oportunidades de peligro de los servicios que no son de confianza.
Para obtener más información sobre la delegación restringida, consulte Introducción a la delegación restringida de Kerberos.
Referencias adicionales
Información técnica sobre inicio de sesión y autenticación en Windows