Seguridad

Funciones de seguridad accesibles

Para hacer uso del DNI en los términos expuestos anteriormente, éste provee las siguientes funciones de seguridad:

  1. Autenticación

    La tarjeta DNI dispone de distintos métodos de autenticación, mediante los que una entidad externa demuestra su identidad, o el conocimiento de algún dato secreto almacenado en la tarjeta. La correcta realización de cada uno de estos métodos, permite obtener unas condiciones de seguridad, que podrán ser requeridas para el acceso a los distintos recursos de la tarjeta.

    • Autenticación de usuario (PIN)

      La tarjeta DNI soporta verificación de usuario (CHV- Card Holder verification). Esta operación es realizada comprobando el código facilitado por la entidad externa a través del correspondiente comando.

      Cada código CHV tiene su propio contador de intentos. Tras una presentación válida de PIN, el contador de reintentos correspondiente es automáticamente puesto a su valor inicial (típicamente = 3). El contador de intentos es decrementado cada vez que se realiza una presentación errónea, pudiendo llegar a bloquearlo si el contador llega a cero. Es posible desbloquear un código tras una correcta presentación de la huella dactilar del usuario, que en este caso actúa de código de desbloqueo. A su vez estas presentaciones de huellas tienen su propio contador de intentos. Si el número de intentos de presentación de huella dactilar se agota, no será posible realizar la operación de desbloqueo. Es posible cambiar el código de CHV a un nuevo valor presentando el valor actual o presentando la huella dactilar.

      El código PIN es personal e intransferible, por tanto, únicamente debe ser conocido por el titular de la tarjeta en cuestión.

    • Autenticación de usuarios mediante datos biométricos

      La tarjeta DNI permite realizar una identificación biométrica del titular de ésta, si bien ésta función sólo estará disponible en puntos de acceso controlados.

      La aplicación que accede al DNI, una vez conocida la información sobre las huellas contenidas en la tarjeta, decide sobre que huella va a proceder a verificar, solicitando al portador que coloque el dedo adecuado. Tras obtener los datos biométricos desde en el dispositivo lector de huellas, presenta la información biométrica a la tarjeta a través del correspondiente comando. Tras las comprobaciones iniciales de condiciones de uso y seguridad, la tarjeta procede, mediante su algoritmo Match on Card, a evaluar la correspondencia entre la huella presentada y la referencia.

      Si la evaluación supera el umbral, la verificación es correcta. En caso contrario, la tarjeta anota una presentación errónea sobre esa huella devolviendo el número de intentos restantes.

    • Autenticación de aplicación

      El propósito de este método de autenticación es que la entidad externa demuestre tener conocimiento del nombre y valor de un código secreto. Para realizar esta autenticación de aplicación, se utiliza un protocolo de desafío-respuesta, con los siguientes pasos:
      • La aplicación pide un desafío a la tarjeta
      • La aplicación debe aplicar un algoritmo a este desafío junto con el correspondiente código secreto y nombre de la clave
      • La tarjeta realiza la misma operación y compara el resultado con los datos transmitidos por la aplicación. En caso de coincidir, considera correcta la presentación para posteriores operaciones

    • Autenticación mutua

      Este procedimiento permite que cada una de las partes (tarjeta y aplicación externa) confíe en la otra, mediante la presentación mutua de certificados, y su verificación.

      En el proceso, también se incluye el intercambio seguro de unas claves de sesión, que deberán ser utilizadas para securizar (cifrar) todos los mensajes intercambiados posteriormente. Este servicio permite el uso de diferentes alternativas, que podrán seleccionarse implícitamente en función de la secuencia de comandos, o explícitamente, indicando su identificador de algoritmo en un comando de gestión de entorno de seguridad anterior (MSE).

      Las dos opciones disponibles están basadas en la especificación "CWA 14890-1 Application Interface for smart cards used as Secured Signature Creation Devices - Part 1", y son las siguientes:
      • Autenticación con intercambio de claves (descrita en el capítulo 8.4 de CWA 14890-1).
      • Autenticación de dispositivos con protección de la privacidad, (descrita en el capítulo 8.5 de CWA 14890-1).


  2. Securización de mensajes

    La tarjeta DNI permite la posibilidad de establecer un canal seguro entre el terminal y la tarjeta que securice los mensajes transmitidos. Para el establecimiento es necesaria la autenticación previa del terminal y la tarjeta, mediante el uso de certificados. Durante la presencia del canal seguro los mensajes se cifran y autentican, de tal forma que se asegura una comunicación "una a uno" entre los dos puntos originarios del canal.

    El canal seguro puede ser requerido por la aplicación o puede ser una restricción de acceso impuesta a algún recurso de la tarjeta.

    Para el establecimiento del canal seguro, en primer lugar, se realiza un intercambio de las claves públicas de la tarjeta y el terminal mediante certificados que serán verificados por ambas partes. A continuación se realiza un protocolo de autenticación mutua, con intercambio de semillas para la derivación de una semilla común que dé lugar a las claves de sesión de cifrado y autenticado.

    Una vez concluido el protocolo para el establecimiento de la semilla común, todos los mensajes deben transmitirse securizados.

  3. Desbloqueo y cambio de PIN

    Se permite el cambio de PIN, mediante la presentación del valor antiguo. Es posible también el cambio de PIN bajo determinadas condiciones tras la realización de una verificación biométrica.

    Debido a la criticidad de esta operación, el cambio de PIN se ha de realizar siempre en condiciones de máxima confidencialidad y en terminales específicamente habilitados a tal efecto o con las debidas condiciones de seguridad, exigiéndose por tanto, el establecimiento de un canal seguro.

    El cambio de PIN, haciendo uso de la huella dactilar (desbloqueo), únicamente está permitido en dispositivos autorizados por la Dirección General de la Policía (DGP) y no se puede realizar, bajo ningún concepto, en otros terminales.


  4. Funcionalidad criptográfica

    • Claves RSA

      La tarjeta DNI es capaz de generar y gestionar claves RSA. La generación de la pareja de claves RSA sigue el estándar PKCS#1 v1.5. Se usa el algoritmo Miller-Rabin como test de primalidad.

    • Hash

      La tarjeta DNI es capaz de realizar hash de datos con el algoritmo SHA1. Es posible realizar todo el proceso en la tarjeta o finalizar un hash calculado externamente. Después de finalizar cualquier operación de hash, el código resultante es almacenado en la memoria de la tarjeta para ser usado posteriormente por un comando. El hash sólo permanece en memoria hasta la siguiente operación.

    • Firmas electrónicas

      La tarjeta DNI tiene capacidad para la realización de firmas electrónicas de dos modos diferentes:
      • Modo raw
      • Modo relleno PKCS#1


  5. Intercambio de claves

    La operación de intercambio de claves es usada para compartir claves simétricas o de sesión entre dos entidades. Es posible cifrar una clave Ks con la clave pública de un destinatario, la cual puede ser cargada en la memoria de la tarjeta protegida mediante una clave RSA. El destinatario puede descifrar la clave Ks usando la clave privada RSA correspondiente.


  6. Cifrado

    La tarjeta puede realizar operaciones 3 DES CBC con claves de 16 bytes (k1, k2, k1). Para realizar operaciones 3DES en la tarjeta, la clave de 16 bytes de longitud debe ser cargada en memoria. El proceso de carga está protegido por algoritmo RSA. La clave permanece en memoria hasta que se finaliza la sesión con la tarjeta o se carga una nueva.


Aplicaciones de firma

Uno de los principales usos del DNI es la realización de firma electrónica. Para utilizar esta funcionalidad de firma, numerosas aplicaciones pueden ser empleadas, ya que éstas acceden a las capas o módulos intermedios de CSP y PKCS#11, que proporcionan un interfaz estándar de acceso a la tarjeta.

Es recomendable seguir los consejos y buenas prácticas que se describen en la dirección Firma Electrónica

Requisitos de seguridad del entorno

Para el correcto y seguro funcionamiento de la tarjeta DNI se han de utilizar los módulos criptográficos CSP y PKCS#11 que se encuentran en la dirección www.dnielectronico.es/descargas/

Estos módulos contienen lo necesario para establecer un entorno seguro en la operación con el DNI y satisfacer los requisitos de seguridad aplicables al entorno de las tecnologías de la información descritos en el perfil de protección CWA 14169.

MINISTERIO DEL INTERIOR. Dirección General de la Policía.
Cuerpo Nacional de Policía.