Obtén más información sobre cómo Yahoo! Japan construyó un sistema de identidad sin contraseñas.
Anuncio de JAPAN es una de las empresas de medios de comunicación más grandes de Japón y ofrece servicios como búsqueda, noticias, comercio electrónico y correo electrónico. Más de 50 millones de usuarios acceden a Yahoo! JAPAN todos los meses.
A lo largo de los años, hubo muchos ataques a las cuentas de usuario y problemas que provocaron la pérdida de acceso a las cuentas. La mayoría de estos problemas estaban relacionados con el uso de contraseñas para la autenticación.
Con los recientes avances en tecnología de autenticación, Yahoo! JAPAN decidió pasar de la autenticación basada en contraseñas a la autenticación sin contraseña.
¿Por qué no utiliza contraseñas?
Como Yahoo! JAPAN ofrece servicios de comercio electrónico y otros servicios relacionados con dinero, por lo que existe el riesgo de sufrir daños significativos para los usuarios en caso de acceso no autorizado o pérdida de la cuenta.
Los ataques más comunes relacionados con las contraseñas fueron los ataques con listas de contraseñas y las estafas de suplantación de identidad (phishing). Una de las razones por las que los ataques a las listas de contraseñas son comunes y eficaces es el hábito de muchas personas de usar la misma contraseña para varias aplicaciones y sitios web.
Las siguientes cifras corresponden a los resultados de una encuesta realizada por Yahoo! Japón.
El 50%
usar el mismo ID y la misma contraseña en seis o más sitios
El 60%
Usa la misma contraseña en varios sitios
El 70%
usar una contraseña como la forma principal de acceder
Los usuarios suelen olvidar sus contraseñas, lo que representa la mayoría de las consultas relacionadas con ellas. También hubo consultas de usuarios que olvidaron sus IDs de acceso además de sus contraseñas. En su pico máximo, estas consultas representaron más de un tercio de todas las consultas relacionadas con la cuenta.
Al utilizar la tecnología sin contraseña, Yahoo! JAPAN buscaba mejorar no solo la seguridad, sino también la usabilidad, sin carga adicional.
Desde una perspectiva de seguridad, eliminar las contraseñas del proceso de autenticación de usuarios reduce el daño de los ataques basados en listas y, desde una perspectiva de usabilidad, proporcionar un método de autenticación que no dependa de la memoria de contraseñas evita situaciones en las que un usuario no puede acceder porque olvidó su contraseña.
Anuncio de las iniciativas sin contraseñas de JAPAN
Anuncio de JAPAN está tomando varias medidas para promover la autenticación sin contraseñas, que se puede dividir en tres categorías:
- Proporcionar un método alternativo de autenticación a las contraseñas
- Desactivación de contraseña.
- Registro de cuentas sin contraseña.
Las primeras dos iniciativas se dirigieron a los usuarios existentes, mientras que el registro sin contraseñas se dirige a los usuarios nuevos.
1. Proporcionar un medio alternativo de autenticación a las contraseñas
Anuncio de JAPAN ofrece las siguientes alternativas a las contraseñas.
Además, también ofrecemos métodos de autenticación, como la autenticación por correo electrónico, la contraseña combinada con las OTP por SMS (contraseña de un solo uso) y la contraseña combinada con la OTP del correo electrónico.
Autenticación de SMS
La autenticación de SMS es un sistema que permite que un usuario registrado reciba un código de autenticación de seis dígitos a través de SMS. Una vez que el usuario recibe el SMS, puede ingresar el código de autenticación en la app o el sitio web.
![](https://web.developers.google.cn/static/case-studies/yahoo-japan-identity/image/h08m9uzVJg9uNzM3LE5k.jpg?authuser=5&hl=es)
Desde hace tiempo, Apple permite que iOS lea los mensajes SMS y sugiera códigos de autenticación
del cuerpo del texto. Recientemente, es posible usar sugerencias especificando "código de un solo uso" en el atributo autocomplete
del elemento de entrada. Chrome en Android, Windows y Mac puede proporcionar la misma experiencia mediante la API de WebOTP.
Por ejemplo:
<form>
<input type="text" id="code" autocomplete="one-time-code"/>
<button type="submit">sign in</button>
</form>
if ('OTPCredential' in window) {
const input = document.getElementById('code');
if (!input) return;
const ac = new AbortController();
const form = input.closest('form');
if (form) {
form.addEventListener('submit', e => {
ac.abort();
});
}
navigator.credentials.get({
otp: { transport:['sms'] },
signal: ac.signal
}).then(otp => {
input.value = otp.code;
}).catch(err => {
console.log(err);
});
}
Ambos enfoques están diseñados para evitar la suplantación de identidad (phishing), ya que incluyen el dominio en el cuerpo del SMS y proporcionan sugerencias solo para el dominio especificado.
Para obtener más información sobre la API de WebOTP y autocomplete="one-time-code"
, consulta las prácticas recomendadas del formulario de OTP por SMS.
![](https://web.developers.google.cn/static/case-studies/yahoo-japan-identity/image/Szaf3C0hfjLNkTWAVf9B.png?authuser=5&hl=es)
FIDO con WebAuthn
FIDO con WebAuthn usa un autenticador de hardware para generar un par de cifrado de clave pública y demostrar la posesión. Cuando se usa un smartphone como autenticador, se puede combinar con autenticación biométrica (como sensores de huellas digitales o reconocimiento facial) para realizar una autenticación de dos factores en un paso. En este caso, solo la firma y la indicación de éxito de la autenticación biométrica se envían al servidor, por lo que no hay riesgo de robo de datos biométricos.
En el siguiente diagrama, se muestra la configuración servidor-cliente para FIDO. El autenticador de cliente autentica al usuario con datos biométricos y firma el resultado con criptografía de clave pública. La clave privada que se usa para crear la firma se almacena de forma segura en un TEE (entorno de ejecución confiable) o en una ubicación similar. Un proveedor de servicios que usa FIDO se denomina RP (parte de confianza).
![](https://web.developers.google.cn/static/case-studies/yahoo-japan-identity/image/PkFYWnOZABjPu7Zc7rXN.png?authuser=5&hl=es)
Una vez que el usuario realiza la autenticación (generalmente con un escaneo biométrico o con un PIN), el autenticador usa una clave privada para enviar una señal de verificación firmada al navegador. Luego, el navegador comparte ese indicador con el sitio web del RP.
Luego, el sitio web del RP envía la señal de verificación firmada al servidor del RP, que verifica la firma con la clave pública para completar la autenticación.
Para obtener más información, lee los lineamientos de autenticación de FIDO Alliance.
Anuncio de JAPAN es compatible con FIDO en Android (Web y apps para dispositivos móviles), iOS (Web y apps para dispositivos móviles), Windows (Edge, Chrome y Firefox) y macOS (Safari y Chrome). Como servicio de consumidor, FIDO se puede usar en casi cualquier dispositivo, lo que lo convierte en una buena opción para promover la autenticación sin contraseñas.
![](https://web.developers.google.cn/static/case-studies/yahoo-japan-identity/image/iq0dODcbp3WcPUGTwHkl.png?authuser=5&hl=es)
Anuncio de JAPAN recomienda que los usuarios se registren en FIDO con WebAuthn si aún no se han autenticado a través de otros medios. Cuando un usuario necesita acceder con el mismo dispositivo, puede autenticarse rápidamente con un sensor biométrico.
Los usuarios deben configurar la autenticación FIDO con todos los dispositivos que usan para acceder a Yahoo! Japón.
Para promover la autenticación sin contraseñas y ser considerado con los usuarios que están por dejar de usar contraseñas, proporcionamos varios medios de autenticación. Esto significa que los distintos usuarios pueden tener una configuración de método de autenticación distinta, y los métodos de autenticación que pueden utilizar pueden variar de un navegador a otro. Creemos que es una mejor experiencia si los usuarios acceden siempre con el mismo método de autenticación.
Para cumplir con estos requisitos, es necesario hacer un seguimiento de los métodos de autenticación anteriores y vincular esta información al cliente almacenándola en forma de cookies, etc. Luego, podemos analizar cómo se usan los diferentes navegadores y aplicaciones para la autenticación. Se le solicita al usuario que proporcione la autenticación adecuada en función de su configuración, los métodos de autenticación anteriores usados y el nivel mínimo de autenticación requerido.
2. Desactivación de contraseñas
Anuncio de JAPAN les pide a los usuarios que configuren un método de autenticación alternativo y, luego, que inhabiliten su contraseña para que no se pueda usar. Además de configurar la autenticación alternativa, inhabilitar la autenticación con contraseña (lo que imposibilita el acceso con solo una contraseña) ayuda a proteger a los usuarios de los ataques basados en listas.
Se implementaron los siguientes pasos para alentar a los usuarios a inhabilitar sus contraseñas.
- Promoción de métodos alternativos de autenticación cuando los usuarios restablecen sus contraseñas
- Alentar a los usuarios a configurar métodos de autenticación fáciles de usar (como FIDO) y a inhabilitar las contraseñas para situaciones que requieren autenticación frecuente
- Incitar a los usuarios a que inhabiliten sus contraseñas antes de usar servicios de alto riesgo, como los pagos de comercio electrónico
Si un usuario olvida su contraseña, puede ejecutar una recuperación de la cuenta. Antes, era necesario restablecer la contraseña. Ahora, los usuarios pueden optar por configurar un método de autenticación diferente, y les recomendamos que lo hagan.
3. Registro de cuentas sin contraseña
Los usuarios nuevos pueden crear cuentas sin contraseña de Yahoo! JAPAN. Los usuarios primero deben registrarse con una autenticación de SMS. Una vez que accede, recomendamos al usuario que configure la autenticación FIDO.
Como FIDO es una configuración individual del dispositivo, puede ser difícil recuperar una cuenta si el dispositivo deja de funcionar. Por lo tanto, exigimos que los usuarios mantengan su número de teléfono registrado, incluso después de configurar la autenticación adicional.
Desafíos clave para la autenticación sin contraseña
Las contraseñas dependen de la memoria humana y son independientes del dispositivo. Por otro lado, los métodos de autenticación que presentamos hasta ahora en nuestra iniciativa sin contraseña dependen del dispositivo. Esto plantea varios desafíos.
Cuando se usan varios dispositivos, hay algunos problemas relacionados con la usabilidad:
- Cuando se usa la autenticación de SMS para acceder desde una PC, los usuarios deben verificar si hay mensajes SMS entrantes en sus teléfonos celulares. Esto puede ser un inconveniente, ya que requiere que el teléfono del usuario esté disponible y se pueda acceder a él fácilmente en cualquier momento.
- Con FIDO, en especial con los autenticadores de plataforma, un usuario con varios dispositivos no podrá autenticarse en dispositivos no registrados. Se debe completar el registro de cada dispositivo que deseen usar.
La autenticación FIDO está vinculada a dispositivos específicos, lo que requiere que permanezcan activas y en posesión del usuario.
- Si se cancela el contrato de servicio, ya no se podrán enviar mensajes SMS al número de teléfono registrado.
- FIDO almacena claves privadas en un dispositivo específico. Si el dispositivo se pierde, esas llaves ya no se pueden usar.
Anuncio de Japón está tomando diversas medidas para abordar estos problemas.
La solución más importante es alentar a los usuarios a configurar varios métodos de autenticación. Esto proporciona acceso alternativo a las cuentas cuando se pierden los dispositivos. Dado que las claves FIDO dependen del dispositivo, también se recomienda registrar las claves privadas FIDO en varios dispositivos.
Como alternativa, los usuarios pueden usar la API de WebOTP para pasar códigos de verificación por SMS de un teléfono Android a Chrome en una PC.
Creemos que abordar estos problemas será aún más importante a medida que se extienda la autenticación sin contraseña.
Promover la autenticación sin contraseña
Anuncio de JAPAN ha estado trabajando en estas iniciativas sin contraseñas desde 2015. Esto comenzó con la adquisición de la certificación de servidores FIDO en mayo de 2015, seguida de la introducción de la autenticación de SMS, una función de desactivación de contraseñas y la compatibilidad con FIDO para cada dispositivo.
Hoy en día, más de 30 millones de usuarios activos por mes ya inhabilitaron sus contraseñas y usan métodos de autenticación sin contraseña. Anuncio de La compatibilidad de Japón con FIDO comenzó con Chrome en Android y ahora más de 10 millones de usuarios configuraron la autenticación FIDO.
Como resultado de las acciones de configuración Japón, el porcentaje de consultas que involucran el olvido de contraseñas o IDs de acceso se redujo en un 25% en comparación con el período en el que la cantidad de consultas estaba al máximo. Además, pudimos confirmar que el acceso no autorizado disminuyó como resultado del aumento en la cantidad de cuentas sin contraseña.
Como FIDO es muy fácil de configurar, tiene un porcentaje de conversiones particularmente alto. De hecho, Yahoo! JAPAN descubrió que FIDO tiene un CVR más alto que la autenticación por SMS.
25 %
Disminución de las solicitudes de credenciales olvidadas
El 74%
Los usuarios tienen éxito con la autenticación FIDO
El 65%
Completar correctamente la verificación por SMS
FIDO tiene una tasa de éxito más alta que la autenticación por SMS y tiempos de autenticación promedio y medianos más rápidos. En cuanto a las contraseñas, algunos grupos tienen tiempos de autenticación cortos, y sospechamos que esto se debe al autocomplete="current-password"
del navegador.
![Comparación gráfica del tiempo de autenticación de contraseñas, SMS y FIDO.](https://web.developers.google.cn/static/case-studies/yahoo-japan-identity/image/graph-comparison-authent-4d76bf7a092f7.png?authuser=5&hl=es)
La mayor dificultad para ofrecer cuentas sin contraseña no es agregar métodos de autenticación, sino popularizar el uso de autenticadores. Si la experiencia de usar un servicio sin contraseñas no es fácil de usar, la transición no será sencilla.
Creemos que, para lograr una mayor seguridad, primero debemos mejorar la usabilidad, lo que requerirá innovaciones únicas para cada servicio.
Conclusión
La autenticación con contraseña es riesgosa en términos de seguridad y también plantea desafíos en términos de usabilidad. Ahora que hay más tecnologías compatibles con la autenticación sin contraseña, como la API de WebOTP y FIDO, es hora de comenzar a trabajar en la autenticación sin contraseña.
En Yahoo! Japón, adoptar este enfoque tuvo un efecto claro en la usabilidad y la seguridad. Sin embargo, muchos usuarios aún usan contraseñas, por lo que seguiremos incentivando a más usuarios a cambiar a métodos de autenticación sin contraseñas. También seguiremos mejorando nuestros productos para optimizar la experiencia del usuario en los métodos de autenticación sin contraseñas.
Foto de olieman.eth en Unsplash