La autenticación es el proceso de verificación de la identidad. Requiere el uso de contraseñas, tokens de hardware u otros métodos.
Después de leer este artículo podrás:
Contenido relacionado
Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar el enlace del artículo
En ciberseguridad, la autentificación es el proceso de verificar la identidad de alguien o algo. La autentificación suele tener lugar mediante la comprobación de una contraseña, un token de hardware o algún otro dato que demuestre la identidad. Como cuando un trabajador de una aerolínea comprueba un pasaporte o una tarjeta de identificación para verificar la identidad de una persona cuando sube a un avión, los sistemas informáticos tienen que estar seguros de que una persona es realmente quién dice ser. En un aeropuerto, este proceso de autentificación garantiza que suban al avión solo las personas que tengan billete; en los sistemas digitales esto garantiza que los datos solo los puedan ver y usar las personas adecuadas.
La autenticación no solo se aplica a la verificación de usuarios humanos. Los sistemas informáticos también necesitan comprobar servidores, software, API y otros ordenadores para estar seguros de que sean quienes "dicen" ser.
La autenticación es una parte importante de la gestión de identidad y acceso (IAM), que dicta quién puede ver los datos y qué puede hacer con ellos. Pero también se aplica a muchas otras áreas de seguridad, como:
Ya que un ordenador no puede "reconocer" a una persona u otro ordenador de la misma forma que lo haría un ser humano, el proceso de autentificación se basa en criterios objetivos que puede medir un ordenador. Un tipo de criterio objetivo implica la comprobación de alguna cualidad que se sabe que tiene la persona o el ordenador en cuestión. Otro implica el uso de una tecnología llamada criptografía de clave pública para demostrar la identidad.
Este tipo de autenticación consiste en comprobar una característica medible de la identidad con el registro digital correspondiente. Las características que un sistema de autenticación comprobará se denominan "factores". En la actualidad, está muy generalizado el uso de tres factores de autenticación comunes:
1. Algo que sabe la persona
Este factor de autenticación comprueba una información secreta que solo debe tener la persona real. Una combinación de nombre de usuario y contraseña es el ejemplo clásico de este factor. Las preguntas de seguridad y los códigos PIN también son ejemplos de ello.
2. Algo que tiene la persona
Este factor de autentificación comprueba si la persona posee un objeto físico que se le ha entregado o que se sabe que tiene. Muchas personas utilizan este factor de autentificación a diario: viven en una casa o un piso que pueden abrir con una llave. Por tanto, la posesión de esta llave demuestra que están autorizados a entrar en el recinto, y les permite acceder.
En los sistemas digitales, este factor de autenticación no depende de una clave y bloqueo anticuados. Sin embargo, utiliza un principio similar mediante la comprobación de un token físico. Hay dos tipos de token: token blando y token duro.
Tokens blandos: una ficha electrónica consiste en verificar la posesión de un dispositivo, como un teléfono inteligente, al enviar un código a ese dispositivo y pedirle al usuario que lo introduzca. El código puede enviarse como un mensaje de texto o a través de una aplicación que genera códigos aleatorios.
Tokens duros: un token duro es un pequeño elemento físico que se conecta a un ordenador o dispositivo móvil mediante Bluetooth, un puerto USB o cualquier otro puerto. Los usuarios deben conectar este token a su dispositivo para verificar su identidad.
Algunos expertos en seguridad consideran que los tokens duros son más seguros que los blandos. Un atacante podría interceptar a distancia un código que llegue al teléfono de un usuario y utilizarlo para hacerse pasar por él. Pero es mucho más difícil robar un token duro: el atacante tiene que acceder físicamente al token para hacerlo.
3. Algo que es la persona
Este factor de autentificación evalúa las cualidades inherentes a una persona. En la vida real, la gente hace esto todo el tiempo: dos amigos pueden reconocerse por su aspecto o su forma de hablar, por ejemplo. Un ordenador podría hacer lo mismo al escanear la cara o la retina de una persona, verificar las huellas dactilares, medir las frecuencias de su voz o comprobar los resultados de un análisis de sangre (aunque esto último es menos habitual).
Factores de autenticación adicionales
Además de los tres principales enumerados anteriormente, algunos miembros del sector de la seguridad han propuesto o utilizado factores de autenticación adicionales. Dos de estos factores adicionales son ubicación (dónde está el usuario) y hora (cuándo está accediendo al sistema).
Además de utilizar los factores de autenticación descritos anteriormente, las entidades conocidas y de confianza también pueden recibir certificados digitales. Un certificado digital es un pequeño archivo digital que contiene información para verificar la identidad, como pasa con un DNI, que contiene información que verifica la identidad de una persona en la vida real.
Los certificados digitales reciben una firma digital para demostrar su autenticidad por parte de la autoridad que los emite, como pasa con un pasaporte, un DNI o un billete de papel moneda, que pueden tener una marca de agua que demuestra que no son falsos.
Un certificado digital también contiene una cadena de valores aleatorios conocida como clave pública. La clave pública se corresponde con una clave privada que se almacena por separado. La entidad que tiene el certificado puede firmar digitalmente los datos con estas claves para demostrar que posee la clave privada y que, por tanto, es auténtica.
En la actualidad, los certificados digitales no suelen utilizarse para verificar la identidad de las personas. Pero la mayoría de las personas utilizan certificados digitales cada día sin darse cuenta.
Cada vez que alguien carga un sitio web que utiliza HTTPS, la versión segura de HTTP, el protocolo TLS utiliza el certificado digital del sitio web (conocido como certificado SSL o certificado TLS) para autenticar el sitio web. DKIM, que autentifica a los remitentes de correo electrónico, es otro ejemplo de tecnología que utiliza este método en lugar de comprobar los factores de autenticación. DKIM ayuda a los proveedores de correo electrónico a clasificar y bloquear los mensajes de spam.
La autenticación multifactor (MFA) es el proceso de verificación de la identidad de una persona mediante la comprobación de dos o más factores de autenticación, en lugar de solo uno. La MFA es un tipo de autenticación más potente que la autenticación de un solo factor, ya que es mucho más difícil tener que falsificar dos de estos factores que solo uno.
Un atacante podría robar el nombre de usuario y la contraseña de Bob (quizás mediante un ataque de phishing). Pero si Bob tiene que escanear también su cara, el atacante no podrá imitar la identidad de Bob, ya que su cara no se parece a la de Bob. O si Bob tiene que conectar un token duro en su ordenador además de introducir su contraseña, el atacante tendría que robar también este token. Aunque es posible, este tipo de robo es mucho más difícil, así que es menos probable que pueda hacerse con su cuenta.
Para que sea una MFA real, hay que comprobar los factores por separado. Evaluar múltiples instancias de un factor no es MFA. Por ejemplo, si una aplicación pide que un usuario introduzca una contraseña y responda a preguntas de seguridad para autenticarse, esto sigue siendo una autenticación de un solo factor. Tanto la introducción de la contraseña como las preguntas de seguridad evalúan el factor "algo que sabes".
Ya que ofrece un mayor nivel de seguridad, la AMF es un principio básico de la seguridad Zero Trust, un modelo de seguridad que requiere la verificación de la identidad de cada usuario y dispositivo que accede a una red privada.
La autenticación de dos factores (2FA) es como se conoce a la MFA cuando se utilizan exactamente dos factores. El tipo más habitual de autenticación de dos factores es "algo que sabes" + "algo que tienes." Por ejemplo, además de introducir sus contraseñas, muchas personas reciben códigos a sus teléfonos antes de poder acceder a sus cuentas bancarias (un ejemplo de la versión de "token blando" de este factor).
En la actualidad, muchas empresas emplean la 2FA para reducir el impacto de los ataques de phishing. Por ejemplo, Google pudo acabar con los ataques de toma de posesión de cuentas mediante el uso de 2FA con tokens duros para la autenticación.
Mientras que la autenticación se ocupa de verificar la identidad, la autorización se ocupa de los permisos, o de lo que alguien puede hacer una vez que consigue acceso a un sistema o recurso protegido.
Supongamos que Bob trabaja en el departamento de marketing de su empresa. Bob introduce su contraseña, escanea su cara e introduce su token duro para iniciar sesión en la red de su empresa. En este punto, la autenticación está completa.
Después de iniciar sesión, Bob no cuenta con acceso a todos los archivos de datos que posee la empresa. La autorización determina lo que Bob puede y no puede ver. Como especialista en marketing, está autorizado a ver algunos datos, como la lista de clientes potenciales a los que la empresa va a enviar mensajes de marketing, pero no otros datos, como la base de código principal de la empresa o las nóminas de los empleados.
Consulta nuestro artículo sobre autenticación vs. autorización para más información.
Los empleados de las empresas modernas tienen que realizar la autenticación en muchas aplicaciones diferentes basadas en la nube. Esto obliga a esos empleados a establecer muchos conjuntos de factores de autenticación, un conjunto para cada aplicación, y genera potenciales problemas de seguridad:
Inicio de sesión único (SSO) es un servicio que permite que los usuarios solo tengan que autenticarse una vez. Los usuarios se registran en el servicio SSO, que luego transmite esta autenticación a cada aplicación mediante el envío de un mensaje de autenticación digital a cada aplicación según sea necesario.
El SSO también ofrece a los equipos de TI un único punto en el que aplicar las políticas de seguridad. No todas las aplicaciones son compatibles con 2FA, pero si el servicio SSO es compatible con ellas, entonces se puede utilizar 2FA de todos modos. Los equipos de TI también pueden imponer requisitos de longitud y complejidad de las contraseñas mediante un servicio SSO, lo que supone una menor carga para los usuarios a la hora de recordar varias contraseñas.
Los mensajes de autenticación de SSO utilizan un protocolo llamado Lenguaje de marcado para confirmaciones de seguridad (SAML). SAML es un método estandarizado para indicar a las aplicaciones externas que un usuario es quién dice ser.
A message authenticating a user is called a SAML "assertion." Once an application receives a SAML assertion for a user, it does not need to authenticate the user on its own, because it knows the SSO service has already done this.
OpenID Connect (OIDC) es otro protocolo de autenticación que cada vez usan más los proveedores de SSO. OIDC funciona de forma similar a SAML, pero formatea los datos de forma diferente, entre otras diferencias; mientras que SAML formatea los datos mediante XML, OIDC utiliza JSON.
Cloudflare ofrece una plataforma Zero Trust que funciona con los principales proveedores de SSO. Una vez que los usuarios se autentican en su servicio SSO, Cloudflare aplica controles de acceso coherentes en las aplicaciones en la nube y en las instalaciones. Para más información sobre esta plataforma, que incluye aislamiento de navegador, una puerta de enlace web segura, filtrado de DNS y otras funciones Zero Trust, consulta la página del producto.