Podcast Z

Informações:

Sinopsis

'Feed' del Podcast Z.

Episodios

  • Podcast Z #10: Persona

    14/10/2013 Duración: 01h19min

    Autenticación web global y abierta. Descentralizada y privada https://podcast.jcea.es/podcastz/10 Notas: 00:40: Persona es la alternativa Mozilla a "Single Sign On" propietarios. 01:40: Manejar la complejidad de mantener claves diferentes en varios sitios. 02:50: ¿Qué es Persona?: Privacidad, descentralizado, no depender de un proveedor. 07:10: El problema del huevo y la gallina. Ahora mismo Persona es muy centralizado, riesgo de hacking y dependencia de Mozilla. 08:50: ¿Cómo funciona? Se certifica la propiedad del un correo electrónico. 10:30: ¿Qué pinta el correo en todo esto? 13:00: Cuando tu proveedor de correo no es un proveedor de identidad de Persona, entonces la certificación se centraliza en Mozilla. 14:30: Persona es un protocolo descentralizado que ahora mismo depende de Mozilla. A medida que el protocolo tenga éxito, se irá haciendo más y más descentralizado. 16:10: ¿Cómo gestiona tu identidad tu proveedor de identidad? 19:00: ¿Cómo funciona a nivel técnico?. El workflow. 23:50: Priva

  • Podcast Z #9: Contraseñas

    28/05/2012 Duración: 27min

    Contraseñas... ¿Podemos vivir sin ellas? https://podcast.jcea.es/podcastz/9 Notas: 00:00: Las claves están por todas partes. 01:20: Definición y políticas. 02:15: Una clave memorizable, es una clave insegura. ¡¡Escríbelas!!. ¿O no? 07:00: ¿Qué problema tiene utilizar claves? 10:00: Estudios sobre la calidad de las claves. Real-World Passwords The science of password selection 15:00: Mecanismos de generación segura de claves. 18:20: Gestores de claves. 19:20: Biometría. 20:20: DNI Electrónico. 21:20: Doble autentificación. 25:30: Conclusiones.

  • Podcast Z #8: Proyecto X - Batiburrillo Final

    11/05/2012 Duración: 01h13min

    Últimos flecos del proyecto https://podcast.jcea.es/podcastz/8 Notas: 01:00: No enseño código porque es código propietario y porque por audio es difícil enseñar código. Estoy dispuesto a atender peticiones por correo electrónico para escribir entradas en la página web. 02:00: Usar "sys.excepthook" en vez de rodear todo tu código con un "try...except". 03:00: Uso "sys.excepthook" para que si el programa falla de forma catastrófica, envíe un informe al servidor, con todos los detalles posibles. 04:30: Ventajas de usar "sys.excepthook" en vez de rodear todo con "try...except". 07:50: Usamos multithreading para ofrecer al disco duro varias peticiones simultaneas, de forma que pueda planificar el movimiento del cabezal de forma óptima. Paralelizar la lectura de disco. 12:10: Lanzar varias peticiones concurrentes tiene consecuencias para el usuario. La actividad de disco propia del usuario compite con el programa. 14:30: El programa incluye un microservidor web. La interfaz de usuario es el propio navegado

  • Podcast Z #7: Proyecto X - Filtros BLOOM

    26/01/2012 Duración: 48min

    Estructura para comprobar pertenencia a un conjunto, de forma probabilística. https://podcast.jcea.es/podcastz/7 Notas: 01:00: Filtros Bloom. Tecnología interesante y desconocida. 01:30: El número de huellas ha ido creciendo, y la estructura de datos que usamos, "set()", tiene un coste en memoria proporcional al número de elementos. Estábamos usando 1.5GB en 32 bits, y 3GB en 64 bits. 04:30: Las huellas eran 40 millones de números (y creciendo) de 32 bits. Son 150MB en disco, pero 1.5/3 gigabytes al cargarlos en un "set()". 05:40: Idea simple para reducir los 1.5/3GB a 512MB: como trabajamos con números de 32bits, podemos tener una matriz de 232 bits y ponerlos a cero o a uno según ese valor esté en la lista o no. Esto son 512MB. 07:15: Como tenemos una matriz de 232 bits, pero solo un 1% estará a UNO, los 512MB resultantes se pueden comprimir muy bien, típicamente al 11% (unos 55MB), aptos para ser transmitidos por Internet. 08:40: La matriz así generada no tiene falsos positivos ni falsos negativos,

  • Podcast Z #6: Proyecto X - DNS como base de datos distribuida mundial

    22/01/2012 Duración: 29min

    Usar el DNS como un sistema de cacheo mundial. https://podcast.jcea.es/podcastz/6 Notas: 00:30: El proyecto es confidencial, pero quiero exponer algunas técnicas que pueden ser útiles para otros programadores. 02:50: El programa requiere actualizarse constantemente de forma automática. 04:30: El usuario solo instala manualmente un "descargador". 05:50: Descripción del proceso de actualización. 06:30: Firma digital, imprescindible cuando hay actualizaciones constantes a través de redes no confiables. 08:00: En la primera versión del proyecto, el programa se descargaba en cada ejecución (20KBytes). 09:00: Pero esto no escala cuando el número de usuarios crece, o el tamaño del fichero crece. 13:30: Usar el DNS para comprobar las versiones, utilizándolo de caché. A nivel mundial y de forma simple. 15:20: Cuando un ordenador pide a su ISP que haga una petición de DNS, dicho ISP cachea el resultado y está disponible para otros clientes. Y el tiempo de cacheo es configurable en el servidor origen. 17:30:

  • Podcast Z #5: Nadie está a salvo

    19/08/2011 Duración: 38min

    Intrusión en RSA. https://podcast.jcea.es/podcastz/5 Notas: 00:33: RSA admite que ha habido una intrusión en sus sistemas. 01:31: En el comunicado no se indica qué información ha sido obtenida. 02:05: En qué consiste el sistema SecurID de RSA. 03:31: El token. 04:07: Los detalles del ataque. 07:19: Una vez dentro es cuestión de buscar el camino al objetivo. 09:07: Como Indiana Jones, una vez tienes el "ídolo de oro" hay que escapar adecuadamente. 11:35: Pero, ¿qué se han llevado?. Especulaciones varias. 18:41: El PIN, un elemento de seguridad opcional extra del sistema SecurID. 22:12: Más especulaciones. 23:35: Conclusiones. 33:21: Para un futuro podcast: Cómo debiera funcionar un sistema desde el punto de vista de la seguridad. 35:55: Un par de detalles finales. Enlaces relevantes: RSA explains how attackers breached its systems Anatomy of an Attack" RSA/EMC: Anatomy of a compromise The RSA Hack: How They Did It" RSA: SecurID Attack Was Phishing Via an Excel Spreadsheet RSA Says SecurID Ha

  • Podcast Z #4: Espera lo mejor, prepárate para lo peor

    26/06/2011 Duración: 29min

    Mejor probar las cosas ANTES de que las necesites de verdad. https://podcast.jcea.es/podcastz/4 Notas: 00:30: Aunque tengamos un backup, si el ordenador no arranca no tendremos acceso a él. 00:50: Hacer un buen backup no es algo fácil, pero será tema de un futuro podcast. 01:30: En este podcast trataremos sobre qué ocurre si, un día, el ordenador no arranca. Hay que estar preparados para esa eventualidad. 04:00: Necesitas que el sistema y el procedimiento de recuperación esté bien probado y sea autocontenido, ya que no puedes contar con el ordenador si no puedes ni arrancarlo. En caso de necesidad, tener un smartphone que nos permita utilizar Internet puede ser de gran utilidad. 04:30: Hablando de entornos Unix o similares (Linux, *bsd), todos ellos tienen sistemas de recuperación de emergencia. 07:20: Pero hay que asegurarse de que el sistema de recuperación funciona correctamente y sabemos utilizarlo, especialmente si nuestro sistema está muy personalizado. 09:30: Hay que probar las cosas con calma

  • Podcast Z #3: Shit Happens

    04/05/2011 Duración: 24min

    Encender el ordenador y que no funcione es frustrante... https://podcast.jcea.es/podcastz/3 Notas: 00:37: El ordenador no arranca. El GRUB falla. 01:00: ¿Qué es el GRUB?. Un gestor de arranque para cargar y lanzar el sistema operativo. 03:13: Reinstalar es la última opción. O debería serlo. 03:43: Pablo: "Así que eres uno de esos raritos que se ponen a personalizar el ordenador hasta el último detalle?". Jesús: "Cuando te pasas 15 horas al día usando una herramienta, más te vale que la herramienta se adapte a ti, y no al revés". 04:30: Los problemas con el GRUB son rutinarios para mí. Doy un ejemplo concreto. 05:50: El error está claro. ¿Cómo solucionarlo?. Arrancar con un disco de recuperación y reinstalar el GRUB. 07:25: Pero... no funciona. ¡No se deja instalar!. 08:10: Explico cómo tengo configurado el disco duro. Uso LVM, y la partición de arranque no es una partición en sí, sino un volumen lógico. Las versiones recientes de GRUB te lo permiten. 10:00: El GRUB no se deja instalar. Descripción d

  • Podcast Z #2: Animalario con lenguajes dinámicos

    22/03/2011 Duración: 34min

    Monkey Patching, Duck Typing e Inyección de Dependencias. https://podcast.jcea.es/podcastz/2 Notas: 00:50: Se utiliza un caso real para explicar estas técnicas con más facilidad. 01:50: La librería estándar para el envío de correo electrónico en Python, la SMTPlib, se nos queda pequeña (para este proyecto en concreto). 02:01: ¡Sí!, ¡por supuesto que usamos Python!. 02:12: Pero estas técnicas son aplicables también a otros lenguajes dinámicos. 02:48: Los motivos por los que la SMTPlib se me quedaba pequeña: Quiero "timeouts" dinámicos, quiero limitar el número de conexiones simultaneas por servidor de correo, y quiero controlar la IP de origen de la conexión saliente. 05:52: ¿Por qué no modificamos el código directamente o utilizamos los mecanismos de herencia normales?. Por mantenimiento de código y porque lo que queremos modificar no es fácilmente accesible por herencia porque está muy "profundo" en la clase original. 09:04: Por fin entramos en materia. Empezamos con Monkey Patching. Modificación de

  • Podcast Z #1: HTTPS Everywhere

    06/03/2011 Duración: 39min

    Proponemos utilizar HTTPS en todas partes. No hay excusa para no hacerlo. https://podcast.jcea.es/podcastz/1 Notas: 00:25: Navegar por WIFIs abiertas compromete nuestra seguridad. 01:07: La solución es utilizar cifrado. ¿Qué es cifrar?. ¿Cómo funciona el cifrado?. 02:45: Entidades de certificación. 05:00: Las entidades de certificación no son nada especial ni mágico. 06:50: La verificación de identidad de la mayoría de las entidades de certificación no es confiable. 09:25: Certificados autofirmados. 13:25: Ataque "Man-in-the-Middle". 16:20: Es preferible cifrar a no cifrar. Al menos estamos protegidos ante ataques pasivos. 18:30: SNI: "Server Name Indication". 22:32: Problemas con SNI y Microsoft Windows XP, a menos que se use un navegador como Mozilla Firefox, que utiliza su propia librería criptográfica. También hay problemas menores con librerías en algunos lenguajes de programación. 25:15: ¿Problemas de rendimiento?. ¡NO!. Repasamos CPU, latencia, ancho de banda y caché de navegadores. 32:00