Se encuentra usted aquí

Noticias

Utilizando dispositivos 2FA con la API WebAuthn

Mozilla Hispano - Dom, 05/13/2018 - 20:34

Esta es una traducción del artículo original publicado en el blog de Mozilla Hacks. Traducción por Emmanuel Sanchez.

Para proveer una seguridad mayor al momento de iniciar sesiones, los sitios web utilizan la autenticación de dos pasos (2FA, two-factor authentication), comúnmente utilizando una aplicación de smartphone o mensajes de texto. Estos mecanismos hacen que los usuarios sean menos susceptibles a los ataques de phishing, pero no son perfectos (los usuarios pueden ser engañados para que entreguen sus códigos y los mensajes de texto pueden ser interceptados de varias maneras).

Firefox 60 llegará con la API WebAuthn activada por defecto, proporcionando autenticación de dos factores basada en criptografía pública inmune al phishing como lo conocemos el día de hoy. A continuación daremos una introducción para aprender la forma de proteger a millones de usuarios que ya poseen dispositivos USB U2F FIDO.

Creando una nueva credencial

Empecemos con un ejemplo simple: vamos a requerir credenciales compatibles con el estándar de dispositivos USB FIDO U2F; existen muchos dispositivos compatibles con nombre como Yubikey, U2F Zero, y otros:

const cose_alg_ECDSA_w_SHA256 = -7; /* El reto debe de iniciarse en el servidor */ let challenge = new Uint8Array([21,31,105 /* 29 bytes más de números aleatorios generados por el servidor */]); let pubKeyCredParams = [{ type: "public-key", alg: cose_alg_ECDSA_w_SHA256 }]; let rp = { name: "Test Website" }; let user = { name: "Firefox User <firefox @example.com>", displayName: "Firefox User", id: new TextEncoder("utf-8").encode("firefox@example.com") }; let publicKey = {challenge, pubKeyCredParams, rp, user}; navigator.credentials.create({publicKey}) .then(decodeCredential);

En el caso de dispositivos U2F USB, esto hace que todos los dispositivos conectados esperen a algún tipo de interacción por parte del usuario. Tan pronto como el usuario toca el dispositivo este genera una nueva credencial y la promesa (Promise) se resuelve.

El función decodeCredential() descifrará la respuesta para recibir una referencia a una llave, ya sea  una referencia un par de llaves ECDSA almacenadas en el dispositivo, o las mismas llaves ECDSA cifradas con una llave del dispositivo secreta. La llave pública se envía sin cifrar.

La referencia de la llave, la llave pública, y la firma deben de ser verificadas por el servidor utilizando un reto generado al azar. Debido a que la información está relacionada criptográficamente con el servidor, la verificación fallará si el servidor origen no coincide. Esto evita que se utilicen credenciales de otros sitios web.

La referencia de la llave y la llave pública ahora estarán asociadas al usuario actual. La api WebAuthn no exige algún tipo de interfaz en el navegador, por lo que es responsabilidad del sitio web indicarle al usuario el momento en el que debe de conectar y registrar su dispositivo.

Obtener evidencia de una credencial ya existente

La siguiente ocasión que un usuario trate de autenticarse en un sitio web, este le solicitará que pruebe que aún posee el “segundo factor” que se creó en la sección anterior. El backend obtendrá la referencia de la llave y le enviará un nuevo desafío al usuario. Debido a que allowCredentials es un array, permite el envío de más de un token, en caso de un usuario tenga varios tokens (dispositivos) registrados en la misma cuenta.

/* El reto debe de realizarse en el servidor */ let challenge = new Uint8Array([42,42,33 /* 29 bytes más de números aleatorios generados por el servidor */]); let key = new Uint8Array(/* … obtener referencia de llave … */); let allowCredentials = [{ type: "public-key", id: key, transports: ["usb"] }]; let publicKey = {challenge, allowCredentials}; navigator.credentials.get({publicKey}) .then(decodeAssertion);

De nuevo, todos los dispositivos USB U2F van a esperar alguna interacción por parte del usuario. Cuanto el usuario toca un token este va a tratar de encontrar la llave que se encuentra en el dispositivo a través de su referencia, o tratará de desencriptarla en base a su llave secreta. En caso exitoso, entregará una firma. Sino, la autenticación fallará y se deberá de iniciar de nuevo el proceso para ingresar al sitio.

Después de decodificar, la firma y la llave son enviados al servidor. Si la clave almacenada con el manejador de llaves es capaz de resolver el desafío, se considera que fue exitoso y se le permite al usuario ingresar.

Autenticación de primer factor

La especificación Web Authentication también contiene mecanismos para poder autenticar a usuarios sin utilizar un usuario o una contraseña, solo un dispositivo seguro, como un entorno de ejecución seguro dentro de tu smartphone. En este modo, tu dispositivo no solo verifica que tienes posesión de él, sino que además lo desbloqueaste cib una contraseña (algo que tú conoces) y/o seguridad biométrica (algo que tú eres).

Esto le permitirá a los sitios web verificar tu identidad a su web desde tu computadora respondiendo a un mensaje que te aparecería en tu smartphone.

Los dispositivos FIDO U2F aún no son tan avanzados para permitir que esto ocurra, pero la siguiente generación sí lo será y los desarrolladores web podrán interactuar con esos dispositivos FIDO 2.0 usando Web Authentication.

WebAuthn, disponible en tu Firefox más cercano

Ésta fue una introducción muy pequeña al mundo de la autenticación Web e intencionalmente ignora muchos detalles como lo son la codificación CBOR y los formatos COSE_KEY, así como los parámetros que pueden ser utilizados para las funciones .create() y .get().

Nos gustaría fomentar que los desarrolladores empiecen a experimentar con WebAuthn, y permitirle a sus usuarios proteger sus sesiones con autenticaciones de dos factores tan pronto como estén disponibles. Al momento de escribir esto no conocemos bibliotecas para la utilización de WebAuthn-U2F, pero esperamos que estén disponilbes pronto. Si tú llegas a ver algo prometedor no dudes en avisarnos por los comentarios.

Es muy emocionate traer la estandarización de la autenticación de dos factores a la web; la criptografía de llave pública también protege nuestra información cuando viaja a través de internet a través del protocolo TLS, y ahora permite que los ataques phishing sean más difíciles de realizar. Prueba WebAuthn en Firefox (firefox.com).

Una nota final sobre pruebas

La autenticación Web es una poderosa característica. eso implica que solo puede ser utilizada en entornos seguros del navegador, y solo puede ser utilizado cuando el documento original tenga el mismo origen. Esto significa que puedes encontrar errores de seguridad cuando experimentes utilizando sitios web de pruebas (como jsfiddle.net).

Categorías: Noticias

FLISoL Bogotá 2018: innovación social, cultura libre y software libre

Mozilla Hispano - Mié, 05/09/2018 - 16:47

 

El pasado 28 de abril celebramos de la mejor manera el Festival Latinoamericano de instalación de Software libre en Bogotá.

 

Flisol Bogotá. Imagen en En TIC confío@EnTICconfio Apr 28 de 2018. “Hoy estamos en @flisol_bogota, festival de instalación de software libre más grande del mundo con más de 70 actividades durante todo el día. ¡No te lo pierdas! Inscripciones GRATIS en https://flisolbogota.org“.

 

 

En esta ocasión el festival permitió observar que la cultura libre, más allá de ser un espacio para la instalación de distribuciones de software, sistemas operativos o programas que promueven la apertura de Internet y el empoderamiento de las personas respecto a la tecnología, es una forma de contribuir y construir sociedades.

Flisol Bogotá. pb‏ @dicepb Apr 28 Retweeted #FlisolBogota (@flisol_bogota): #FlisolBogota y todas las salas llenas!

 

Asistieron más de 1600 personas las que participaron en más de 90 actividades en las que se incluían charlas, talleres, paneles, espacios para niños -FLISoL Kids-, un cinema de cultura libre, música, origami y mucho más.

 

Cinema Libre. Foto de: Viviana‏ @lviviana13 Apr 28. @GrupoLinuxUD presente con #CineLibre #FlisolBogotá

 

Flisol Bogotá. Foto de: RuБén AvilaH‏ @rubenavilah Apr 28

Así luce hoy #Flisol2018 Bogotá todos en la gran apertura de este evento. @flisol_bogota @FabaBogota

Mozilla Colombia dirigió de dos actividades: el testeo de Nightly y la creación de extensiones para Firefox. Las dos actividades estaban orientadas a personas con conocimientos avanzados en las herramientas y tecnologías de Mozilla, sin embargo, dada la diversidad de público, al final los talleres permitieron incluir a personas que no conocían Firefox, usuarios de Firefox y también desarrolladores y personas con conocimientos avanzados.

 

Taller Nightly. Foto de Gutemonik

 

Durante nuestro taller de testeo de Nightly instalamos la versión con fines de prueba preliminar a Firefox. Vimos las diferencias entre Nightly y Firefox, hicimos pruebas y también presentamos fallas. En esta actividad no solo hicimos revisiones desde la versión de escritorio, sino que tuvimos muchas instalaciones y ejercicios de testeo desde los celulares. Para las personas que tenían conocimientos avanzados, revisamos el Bug Tracker de Mozilla, el Blog de Firefox Nightly y también la documentación en Mozilla Developer Network. Este taller estuvo a cargo de los Mozillians Camilo Baquero y Kevín Díaz.

 

Participantes del taller Nightly. Foto de Gutemonik

 

De igual forma tuvimos el taller para crear extensiones Web para Firefox -y que también pueden ser compatibles con otros navegadores-. Hablamos y exploramos Firefox y el directorio de extensiones, de igual forma exploramos las API de WebExtensions. En seguida a través de un ejercicio práctica creamos nuestra primer extensión para Firefox. Para el público avanzado realizamos una exploración más profunda introduciéndonos en la anatomía y publicación de extensiones, además de revisar algo de RUST y dar una introducción para empezar a contribuir e involucrarse con la comunidad Mozilla. En este taller participó Alejandro Cortazar, representante del Grupo GLUD y Mónica Bonilla, Rep de Mozilla en Colombia.

 

Imagen tomada del perfil de Twitter de una participante del taller (@ingdalvarez)

 

Al final, tuvimos un grupo de personas que están interesadas en contribuir con los proyectos de Mozilla y con las que haremos versiones más avanzadas de las actividades desarrolladas durante el FLISoL. Entre estas personas están las chicas de Geek Girls Latam con quienes próximamente tendremos actividades y talleres bajo el marco de WoMoz.

 

Foto tomada del perfil de una Geek Girl Colombia (@Cangreja533)

 

¡Gracias a los organizadores, patrocinadores y todas las personas que estuvieron detrás de la organización del FLISoL Bogotá, 2018! Definitivamente es el evento de difusión de Software Libre más grande del mundo. ¿Quieres participar con una actividad, charla o taller para mostrar los proyectos y desarrollos de Mozilla el próximo año? ¡Ponte en contacto con algunos de los Mozillians en Colombia!

Categorías: Noticias

En China, el 2020 pasará a ser 1984

Barrapunto - Mié, 05/02/2018 - 21:10
RedBoole nos cuenta: «Según la cadena radiofónica SER, el gobierno chino está preparando una gigantesca base de datos con la máxima información posible de sus ciudadanos, tales como actividad en las redes sociales o pertenencia a asociaciones. El propósito es, a través de sistemas de reconocimiento facial e Inteligencia Artificial, otorgar puntos a sus ciudadanos de manera que tengan derecho o no a realizar actividades tales como viajar en tren y/o avión u obtener un crédito para comprar en AliBaba. El proyecto se denomina 'Crédito Social' y hoy se empieza a implantar en la capital, Pekín (Beijing) con la idea de hacerlo obligatorio en 2020 a todo el país. ¿Y tú, ya te has arreglado para salir bien elegante en las grabaciones?»
Categorías: Noticias
Suscribirse a Indalitux agregador - Noticias