al presionar una opción de autocompletado. Esto lo hace mucho más rápido. No tenemos que buscar nuestros dispositivos. Simplemente se hace. Aún requiere el otro dispositivo, aún requiere una aplicación de autenticación o mensaje de texto y tal vez una señal telefónica para ese tipo de cosas. Pero ahora es una mejor experiencia ahora que hemos agregado este autocompletado. En cuanto al security lado de las cosas, no hemos cambiado eso, supera el problema de las contraseñas, es menos vulnerable al phishing, especialmente si utilizamos la API Web OTP que está dirigida específicamente al dominio en el que deberías iniciar sesión. Sin embargo, no soluciona el sistema de SMS. Luego pasamos a las claves de security. Probablemente tengas una clave de security, especialmente si tienes una de trabajo, especialmente si estás lidiando con tus cosas de trabajo, las claves de security son maravillosas, y podemos usarlas en el navegador utilizando la API de Autenticación Web. Por supuesto, la Autenticación Web es realmente solo una API de gestión de credenciales, son las credenciales del navegador, es lo mismo, como dije, me encanta.
En este caso particular, la API de Autenticación Web nos permite utilizar el navegador para crear y almacenar un par de claves pública y privada, luego compartimos la clave pública con el sitio al que estás intentando iniciar sesión o registrarte, y ese sitio puede usar la clave pública para verificar cosas firmadas utilizando la clave privada. Así es como lo creamos, usamos la función create de las credenciales del navegador, y en este caso, el servidor envía un desafío, un conjunto de bytes aleatorios que creamos, que enviamos a la creación, también tenemos que decir en qué dominio estamos, esto vincula el par de claves pública y privada a ese dominio específicamente, por lo que no es posible pescar una clave de security utilizando una authentication real. Luego agregamos algunos detalles del usuario y algunos algoritmos que podemos usar, y esto va a configurar todo un conjunto de cosas de criptografía, va a firmar ese desafío y nos devolverá tanto un desafío firmado como la clave pública, que podemos compartir de vuelta al servidor, el servidor puede luego usar la clave pública para verificar el desafío y asignar esta clave a este usuario. Luego, cuando volvemos a iniciar sesión, como nuestro segundo factor en este caso, podemos usar navigator potentials, obtener con la clave pública, enviar otro desafío, y luego en este caso solo va a devolver el desafío firmado, no necesitamos devolver la clave nuevamente, solo devuelve un desafío que puedes enviar de vuelta al servidor, descifrar y verificar utilizando la clave pública, y listo. Esto es realmente genial, porque ahora tenemos esta clave de autenticador que actúa como nuestra autenticación de dos factores, está conectada a nuestra máquina y podemos, y normalmente solo es un toque para interactuar con ella, así que volvemos a dos pasos, pero no necesitamos una clave de autenticador. Esto no es genial para cosas de consumo, porque no podemos esperar que cada consumidor tenga una clave de security. Y está vinculada a la clave en sí, por lo que si inicias sesión en otro dispositivo, debes mover la clave a ese dispositivo o registrar múltiples claves. Así que hay un problema inicial allí, pero en cuanto al security lado de las cosas, ahora estamos en el mundo de la criptografía de clave pública y privada. Si esa clave pública se revela en algún tipo de violación del servicio, no hay problema, es una clave pública. Todo lo que se puede hacer es verificar algo con la clave privada, por lo que no podemos filtrar esto y tampoco se puede pescar. Como dijimos, hemos vinculado la clave al dominio. Esto no es genial. Esto es genial. Maravilloso. Tenemos esto. La única dificultad aquí es necesitar las claves en sí. Entonces, aquí es donde estamos llegando en este mundo donde estamos tratando de eliminar por completo las contraseñas. Y finalmente, hemos llegado a ese punto. Ha sido mucho trabajo.
Comments