26 mayo 2010

El triste estado de los drivers del DNI-electrónico El triste estado de

Si vamos a la página del DNIe podemos ver que hay cosas bastante mejorables.

Para empezar, no hay versión cifrada bajo HTTPS. Si intentamos acceder obtendremos un timeout. De este modo, no podemos tener garantías de que el contenido al que queremos acceder es realmente al que estamos accediendo. Esto es especialmente grave siendo la página de donde debes descargar los drivers.

En el caso de que alguien con aviesas intenciones hiciera un ataque man-in-the-middle podría manipular el archivo que nos vamos a descargar de forma que bajasemos una versión troyanizada del mismo que firmase cosas que nosotros no queramos firmar. Un ataque man-in-the-middle puede parecer atípico, pero no es imposible. Además, puesto que las firmas realizadas con DNI electrónico tienen validez legal, toda precaución me parece poca...

"Afortunadamente" en la web hay archivos .sign que permiten realizar la comprobación de que los ficheros son los correctos. Y pongo afortunadamente entre comillas, porque no es un proceso al alcance del usuario de a pie. En el caso de Linux, podríamos admitir este sistema (aunque el certificado raiz no esta incluido por defecto, así que habría que buscarse la vida para verificar la cadena de certificación) puesto que los usuarios suelen ser avanzados. Pero en el caso de Windows (el sistema usado por casi todo el mundo) esto no es realista. La solución ideal sería usar el propio sistema firmado de código que trae Windows pero, al menos hasta hace unas semanas, este no es el caso y lo que podemos ver es un mensaje en que se nos pregunta si queremos ejecutar el software de un publicador desconocido.

Por otro lado, la versión para Unix del driver sólo está disponible compilada. Los desarrolladores de OpenSC, para desincentivar la creación de módulos cerrados, obligan a que los módulos sean compilados para cada versión de OpenSC. Esto provoca que, o bien haya que usar versiones antiguas de OpenSC, o bien haya que recurrir a inventos.

Aparte de eso también podemos ver que las versiones para las distribuciones que tienen soporte no son precisamente modernas: para Ubuntu la última versión es para Karmic cuando Lucid salió hace casi un mes. Esperemos que no siga el camino del de Fedora, cuya última versión es para Fedora 10, mientras que Fedora 11 salió en Junio de 2009 y Fedora 13 sale en un par de días. Eso por hablar de las distribuciones que están soportadas.

En MacOS X, por lo que veo, también hay problemas ya que pide una versión obsoleta de OpenSC.

Lo primero que hice fue mandar un mail a las direcciones de correo de la web. Hace bastante de eso, y por ahora no he recibido respuesta, así que sirva este texto para ejercitar mi derecho al pataleo.

Por cierto, el certificado raíz del DNIe sigue sin estar incluido en Mozilla, al igual que el de la FNMT.

Para acabar, una curiosidad, en al menos uno de los drivers se han dejado los archivos internos de subversion.

No hay comentarios: