← Volver al blog

Claves de acceso / Contraseñas / Autenticación

Contraseñas vs claves de acceso: cómo funciona realmente el inicio de sesión moderno

PetexSpace

Una contraseña y una clave de acceso pueden aparecer en la misma pantalla de inicio de sesión, pero dependen de modelos de seguridad diferentes. Una contraseña es un secreto reutilizable que conoces y envías a un servicio. Una clave de acceso utiliza criptografía de clave pública: una clave privada permanece con tu proveedor de claves de acceso, mientras que el servicio almacena la clave pública correspondiente. El inicio de sesión demuestra el control de la clave privada sin revelarla.

Esa diferencia elimina varios problemas comunes de las contraseñas, pero no hace que el resto de la cuenta sea invulnerable. La seguridad del dispositivo, la recuperación del proveedor de claves de acceso, la implementación de la aplicación y la recuperación de la cuenta siguen siendo importantes. Por lo tanto, la comparación útil no es contraseñas malas, claves de acceso perfectas. Es qué ataques previene cada diseño y qué responsabilidades permanecen.

Cómo funciona el inicio de sesión con contraseña

Cuando creas una contraseña, un servicio bien diseñado no necesita almacenar la contraseña en texto plano. Almacena un resultado producido por un proceso de hash de contraseña con una sal única. Durante el inicio de sesión, el servicio procesa la contraseña que ingresas y compara el resultado. Sin embargo, si un atacante te engaña para que ingreses la contraseña en un sitio falso, el atacante recibe el secreto reutilizable y puede probarlo en el servicio real.

La reutilización hace que el daño se propague. Si la misma contraseña protege varias cuentas, una credencial expuesta puede probarse en otros lugares mediante el relleno de credenciales. Las contraseñas únicas generadas y guardadas por un administrador de contraseñas limitan esa propagación. La autenticación multifactor añade otra barrera, aunque los códigos que un usuario puede escribir en una página de phishing también pueden ser retransmitidos por un atacante.

Qué contiene una clave de acceso

Una clave de acceso es una credencial FIDO asociada con una cuenta en un sitio web o aplicación en particular. Durante la creación, el autenticador genera un par de claves criptográficas. La clave pública se registra con el servicio. La clave privada está protegida por un proveedor de claves de acceso en un dispositivo, llave de seguridad, administrador de credenciales del sistema operativo o administrador de terceros compatible.

Desbloquear el dispositivo con un PIN, huella dactilar, verificación facial o patrón autoriza el uso de la clave privada. La verificación biométrica normalmente ocurre localmente; el servicio recibe una prueba criptográfica, no los datos de la huella o la cara. La descripción general de claves de acceso de FIDO Alliance describe las claves de acceso como credenciales FIDO multiplataforma utilizadas mediante la misma acción que desbloquea un dispositivo.

Dispositivo creando un par de claves mientras mantiene una clave dentro y envía la clave pública a un servicio
Cuando se crea una clave de acceso, el servicio almacena una clave pública. La clave privada correspondiente permanece con el proveedor de claves de acceso.

Cómo funciona el inicio de sesión con clave de acceso

  1. El servicio envía un desafío criptográfico nuevo al navegador o la aplicación.
  2. El autenticador confirma que la solicitud pertenece al servicio registrado y solicita el consentimiento del usuario o la verificación del dispositivo cuando sea necesario.
  3. La clave privada firma el desafío localmente.
  4. El servicio verifica la firma con la clave pública que ya almacena.
  5. El desafío nuevo evita que una respuesta antigua se reutilice para un nuevo inicio de sesión.

El mecanismo web está estandarizado a través de WebAuthn. La especificación de autenticación web de W3C define credenciales limitadas a una parte confiable y mediadas por el navegador y el autenticador. Esta vinculación de origen es central para la resistencia al phishing: una credencial registrada para un servicio no se ofrece a un dominio de imitación.

Origen legítimo completando un desafío firmado mientras un origen de imitación es rechazado
Una clave de acceso está limitada al origen del servicio legítimo, por lo que un sitio de phishing falso no puede solicitar la misma credencial.

Qué mejoran las claves de acceso

  • No se envía ninguna contraseña reutilizable durante el inicio de sesión.
  • Cada servicio recibe una credencial diferente, eliminando la reutilización de contraseñas entre sitios.
  • Una página de phishing en otro origen no puede solicitar la credencial registrada en el servicio legítimo.
  • Una violación del servidor expone claves públicas en lugar de una base de datos de contraseñas que pueda descifrarse y reutilizarse.
  • El desbloqueo del dispositivo puede reemplazar la memorización y escritura de un secreto complejo.

Qué no resuelven las claves de acceso por sí solas

  • Un dispositivo comprometido o desbloqueado aún puede exponer una sesión activa o permitir el uso de credenciales.
  • Las extensiones de navegador maliciosas, los fallos de la aplicación y el robo de sesiones existen fuera del protocolo de claves de acceso.
  • Una recuperación de cuenta débil puede eludir un método de inicio de sesión sólido.
  • Perder el acceso a todos los dispositivos y métodos de recuperación aún puede bloquear al usuario.
  • Un usuario aún puede ser engañado para autorizar una acción dañina después de un inicio de sesión legítimo.

La guía de FIDO enfatiza que la resistencia completa al phishing incluye el registro y la recuperación, no solo el paso normal de inicio de sesión. Un servicio que permite a un atacante restablecer la cuenta a través de un respaldo débil ha movido el punto débil en lugar de eliminarlo.

Un plan de migración práctico

  1. Crea claves de acceso para servicios importantes que las admitan, luego confirma dónde se almacenan y cómo se sincronizan o permanecen vinculadas al dispositivo.
  2. Añade más de una vía de recuperación cuando el servicio lo permita, como un segundo dispositivo de confianza o una llave de seguridad de hardware.
  3. Mantén contraseñas únicas en un administrador de contraseñas para servicios que aún las requieran.
  4. Habilita el segundo factor más fuerte disponible para las cuentas de contraseña restantes, prefiriendo métodos resistentes al phishing cuando sea posible.
  5. Guarda los códigos de recuperación sin conexión en un lugar al que puedas acceder si tu dispositivo principal no está disponible.
  6. Revisa los dispositivos antiguos y las sesiones activas después de reemplazar o perder un dispositivo.

Las claves de acceso son una mejora significativa porque cambian el protocolo, no solo la forma del secreto. La adopción seguirá siendo mixta durante algún tiempo, por lo que la mayoría de las personas necesitan ambos sistemas: claves de acceso donde se admitan, y contraseñas únicas sólidas con protección multifactor adecuada en todos los demás lugares.

Referencias principales

FIDO Alliance: Claves de acceso. W3C: Especificación de autenticación web.