Me sé de al menos uno al que le va a gustar la entrada…
La seguridad informática es difícil. Muy difícil, de hecho. Y tiene el pequeño problema de que la cadena es tan débil como el más débil de los eslabones. De nada sirve implementar la criptografía más dura del mundo si tu usuario le regala su clave a cualquiera a cambio de un café… ni si tu generador de números aleatorios (esto es, generador de números pseudoaleatorios, de hecho) no es suficientemente aleatorio. Y eso es lo que pasó hace tiempo en la biblioteca OpenSSL, usada por Apache, entre otros (no, no todos los agujeros de seguridad vienen firmados por Microsoft. Ya sé que resulta sorprendente). El resultado: que muchos ataques de «fuerza bruta» requieren ahora mucha menos potencia de cálculo de la que en principio haría falta (hasta extremos que rozan lo ridículo, en algunos casos). La historia (verdaderamente como para no dormir, va a costar mucho tapar el agujero), en Technology Review.
PS 20080521 Para los interesados en ver la diferencia entre un buen generador de números aleatorios y no normalito, pasen y vean.
PS’ 2005021 Un postmortem del asunto interesante tanto para los que quieran saber más sobre entropía como para los que quieran saber más sobre el origen del fallo y las metodologías de desarrollo que se siguen en un proyecto de software libre. (Imperdibles, además, las dos tiras cómicas enlazadas en la entrada.)
Nota: Ayer alguien me comentaba que el agujero ponía en duda el funcionamiento del software libre. En mi opinión, no, para nada: pone de manifiesto que la seguridad es difícil, cometer un error y romperla relativamente fácil, a pesar de que se toman medidas para evitarlo, y que a veces esos errores son extremadamente difíciles de localizar. También significa que, aún cuando esos errores pueden tener consecuencias funestas (y el reducido catálogo de claves con que se mueven ahora mismo mucha gente y muchas aplicaciones debería provocar, cuando menos, pánico), cuando se cometen y se detectan es mucho mejor invertir esfuerzos en poner remedio a la situación y poner medidas para que no se repita que en señalar con el dedo al culpable (que siempre es una cadena considerable de culpables) y la organización para la que trabaja. Trabaje esta con código abierto o no.