viernes, 2 de febrero de 2007

El DNI electronico vs otras Smartcards

Quisiera compartir nuestra experiencia con el uso del nuevo DNI electrónico (en adelante DNIe) en un entorno de una gran empresa u organismo público. Quizás no todo el mundo lo sepa, pero el comportamiento del DNIe no es igual al de otras smartcards en el mercado.

Como resumen de sus diferencias principales destaca:
  • Para ser utilizado en un equipo es necesario instalar previamente un módulo criptográfico (al igual que otras smartcards) que se responsabiliza de la comunicación con la tarjeta y la realización de ciertas operaciones criptográficas.
  • En Windows, existen 2 versiones de dicho módulo: Uno basado en un norma desarrollada por los RSA Labs, denominado PKCS#11 y que emplean casi todos los navegadores excepto Internet Explorer. El otro diseñado por Microsoft dentro de su CryptoAPI denominado CSP (Cryptografic Service Provider) y que utiliza Internet Explorer, y el resto de aplicaciones de Microsoft como Outlook, Outlook Express, Office, IIS, etc.
  • La tarjeta contiene almacenados varios elementos entre los que se incluye: 2 certificados uno de firma y otro de autenticación, la fotografía digitalizada del usuario, el patrón de las huellas capturadas, la firma manuscrita digitalizadas, los datos de la persona, etc..
  • No es posible almacenar ninguna información en la tarjeta por parte de una aplicación. El PIN del usuario no confiere derechos de escritura.
  • Con el PIN del usuario no es posible acceder a la foto, huellas, firma manuscrita ni a los datos de la persona. Esto esta restringido para la policía.
  • Al contrario que otras smartcard, la parte pública de los certificados no es accesible sin que el usuario introduzca su PIN, esto es así para asegurar que nadie accede a los certificados sin el consentimiento del usuario, pero tambien tiene muchas implicaciones.
  • El CSP del DNIe presenta su propia ventana para solicitar el PIN con el logotipo del DNIe y no permite el paso de un PIN capturado en otra ventana o aplicación, por motivos de seguridad.
  • El uso de claves RSA de 2048 bits en los certificados de usuario (frente a las 1024 bits de otras smartcard) hace que las operaciones criptográficas lleven más tiempo. Dado que la progresión no es lineal sino más bien exponencial, algunos tiempos pueden multiplicarse hasta por 6 o 7.
  • El CSP del DNIe, es muy sensible a la conexión y desconexión de lectores USB en caliente y es posible que deje de responder ante estos eventos, obligando a reiniciar la maquina para normalizar la situación. Entiendo que esta es una situación transitoria que se corregirá en futuras versiones.

Seguro que me dejo algunas más pero creo que son suficientes para darnos cuenta que no es una smartcard más y que deben tenerse en cuenta estas diferencias a la hora de desarrollar aplicaciones que lo soporten.

El próximo día explicaré las implicaciones de estas diferencias en sus uso dentro de una empresa u organismo público.

No hay comentarios: