Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
DNI-E
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje DNI-E 
 
Por si os sirve. Funciona bien en Gambas2. En Gambas3 no funciona el gestor de eventos de lectura disparado vía SHELL (Process_Read()) -no he investigado el porqué-.

Citar:

El DNI electrónico carece de prestaciones para el cifrado de mensajes, salvo las necesarias para
realizar los procesos internos de firma electrónica. La razón hay que buscarla en las etapas de
decisión del alcance del proyecto; los diseñadores concluyeron que dicha prestación quedaba fuera
del ámbito deseable para un documento de identidad, más aún teniendo en cuenta la complejidad
que supondría la gestión de las claves de decenas de millones de ciudadanos. Esa gestión incluye la
necesidad de mantener accesible para el titular su clave privada aun en caso de destrucción o
pérdida del soporte; dicha pérdida supone la imposibilidad de recuperar el contenido cifrado lo cual
obligaría a mantener una infraestructura de recuperación de claves. La relación de esta actividad
con el ente encargado de la gestión del DNIe, el Cuerpo Nacional de Policía, sería considerada sin
duda antinatural.
La finalidad del ejercicio que se propone en este documento no es otra que simular un escenario en
el que un ciudadano pueda transmitir la confianza de la Autoridad de Certificación del DNIe a una
pareja de claves propia. En otras palabras, se trata de convertir cada DNIe en una AC subordinada
“en miniatura”, vector de transmisión de la confianza en AC-RAIZ-DNIE.
Es necesario establecer una serie de asunciones para delimitar el ámbito de aplicación de los
conceptos y del resultado que se proponen. En primer lugar, la Ley 59/2003 en su artículo 3,
siguiendo pautas establecidas en la Directiva 1999/93/CE, define la firma electrónica reconocida
como una firma electrónica avanzada basada en un certificado reconocido y generada mediante un
dispositivo seguro de creación de firma. Puesto que no cabe duda de lo que en la Ley se define
como certificado reconocido “de firma” y de las características que debe tener (con especial
referencia a la descrita en el artículo 11.2.h), para evitar efectos indeseados proponemos hacer uso
en este ejercicio del certificado “de identidad” en lugar del certificado “de firma”; esta medida
implica que el resultado de la firma obtenida no expresa conformidad con el contenido, habida
cuenta de que el certificado de identidad sólo tiene habilitado el bit 0 del atributo KeyUsage,
conocido como digitalSignature, a diferencia del certificado de firma que presenta activo el bit 1
etiquetado como non-Repudiation. Para más información sobre este aspecto técnico sugerimos un
estudio detallado de los documentos RFC-5280 y RFC-3739 (4. Security Considerations). Se ha
considerado que, puesto que la finalidad del ejercicio es dotar de identidad a una clave pública,
parece más adecuado el uso del certificado de identidad.
Dentro del marco del ciclo de talleres organizado conjuntamente por INTECO y Red.es, se decidió
incluir este ejercicio con la única finalidad de servir de argumento a la necesidad de certificar las
aplicaciones de firma que hagan uso del DNIe; el esquema descrito sugiere una transmisión de
confianza entre un proveedor de servicios de certificación, la DGPGC, y una entidad aceptante, en
este caso el ciudadano, mediante la firma de una clave pública. A pesar de que el esquema pueda
parecer robusto y confiable y de que efectivamente se transforma cada DNIe en una mini-AC, es
necesario resaltar que el eslabón débil es precisamente la aplicación que invoca la funcionalidad de
firma. Se pone así de manifiesto el hecho cierto de que una certificación, por ejemplo EAL4+, tiene
unos límites físicos y lógicos; dichos límites se establecen precisamente en la definición del TOE de
dicha certificación. Sólo la aplicación de unos perfiles de protección y la superación del
correspondiente proceso de certificación dotan a los productos del halo de seguridad necesario.
Insistimos en que se trata de un mero ejercicio conceptual, sin utilidad práctica más allá del simple
experimento de laboratorio. Cualquier utilización que se quiera hacer de los principios e ideas que
se exponen a continuación deberá llevarse a cabo asumiendo las responsabilidades y obligaciones
inherentes al uso del DNIe y de la información que contiene, en especial las relacionadas con la
reglamentación vigente en materia de protección de datos.
El programa que se facilita junto a este documento incorpora el conjunto de comandos necesarios
para simplificar este proceso; está profusamente comentado para garantizar la comprensión de un
lector con unos mínimos conocimientos de programación; a veces se ha recurrido a estructuras
redundantes para garantizar la compresión del proceso, incluso por personas sin conocimiento de la
programación orientada a eventos. Se publica en forma de código fuente por lo que para poder
ejecutarlo será necesario que el usuario disponga del entorno de desarrollo gambas y las
dependencias que concurran en su sistema. Las operaciones criptográficas han sido delegadas en el
producto OpenSSL y los accesos al DNIe se hacen mediante invocación de herramientas
incorporadas a opensc: pkcs11-tool, pkcs15-tool y pkcs15-crypt.
El desarrollo se realizó en un equipo con el siguiente software:
Ubuntu 9.10 (Karmic Koala).
GNOME 2.28.1
gambas 2.13
opensc 0.11.8
opensc-dnie 1.4.7-1
openssl 0.9.8
pcscd 1.5.3
El contenido del programa puede ser utilizado, modificado y trasmitido por cualquiera sin ninguna
limitación y sin necesidad de informar de su origen. Se ofrece con la esperanza de que sea útil pero
sin ninguna garantía de que lo sea. La DGPGC no asume ninguna responsabilidad por el uso que se
pueda hacer de la información contenida en este documento o del programa al que se hace
referencia.
Oficina Técnica del DNIe.



Saludos

DNIe-C.zip
Descripción:  
Descargar
Nombre del archivo: DNIe-C.zip
Tamaño: 19.94 KB
Descargado: 30 veces
DNIe-C.zip
Descripción:  
Descargar
Nombre del archivo: DNIe-C.zip
Tamaño: 19.94 KB
Descargado: 30 veces
DNIe-C.zip
Descripción:  
Descargar
Nombre del archivo: DNIe-C.zip
Tamaño: 19.94 KB
Descargado: 30 veces

 



 
ljma - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: DNI-E 
 
Algo más de información:


Muestra la información de la llave publica y privada y del certificado (nos pedirá el PIN)
pkcs11-tool -O -l


El resultado (retocado claro)

Citar:
Please enter User PIN:
Private Key Object; RSA
  label:      KprivAutenticacion
  ID:         4130364
  Usage:      sign
Public Key Object; RSA 2048 bits
  label:      KpuAutenticacion
  ID:         4130364
  Usage:      verify
Certificate Object, type = X.509 cert
  label:      CertAutenticacion
  ID:         4130364
Private Key Object; RSA
  label:      KprivFirmaDigital
  ID:         4630364
  Usage:      sign
Public Key Object; RSA 2048 bits
  label:      KpuFirmaDigital
  ID:         4630364
  Usage:      verify
Certificate Object, type = X.509 cert
  label:      CertFirmaDigital
  ID:         4630364
Data object 7
  label:          'ADMIN_DatosFiliacion'
  application:    '0000'
  app_id:         -1
  flags:           modifiable private
Data object 8
  label:          'ADMIN_ImagenFacial'
  application:    '0000'
  app_id:         -1
  flags:           modifiable private
Data object 9
  label:          'ADMIN_ImagenFirma'
  application:    '0000'
  app_id:         -1
  flags:           modifiable private
Certificate Object, type = X.509 cert
  label:      CertCAIntermediaDGP
  ID:         5330364
Public Key Object; RSA 2048 bits
  label:      CertCAIntermediaDGP
  ID:         5330364
  Usage:      encrypt, verify



Lista los algoritmos de cifrado disponibles
pkcs11-tool -M

El resultado
Citar:
Supported mechanisms:
  SHA-1, digest
  SHA256, digest
  SHA384, digest
  SHA512, digest
  MD5, digest
  RIPEMD160, digest
  RSA-X-509, sign, verify, unwrap, decrypt
  RSA-PKCS, sign, verify, unwrap, decrypt
  SHA1-RSA-PKCS, sign, verify
  MD5-RSA-PKCS, sign, verify
  RIPEMD160-RSA-PKCS, sign, verify
  RSA-PKCS-KEY-PAIR-GEN, keypairgen


Muestra los campus usados por la entidad certificadora
pkcs11-tool -L  

Citar:
Available slots:
Slot 0           Cherry XX44 00 00
  token label:   DNI electrónico (PIN1)
  token manuf:   DGP-FNMT
  token model:   PKCS#15
  token flags:   rng, login required, PIN initialized, token initialized
  serial num  :  06EB61227A5683
Slot 1           (empty)
Slot 2           (empty)
Slot 3           (empty)
Slot 4           (empty)
Slot 5           (empty)
Slot 6           (empty)
Slot 7           (empty)
Slot 8           (empty)
Slot 9           (empty)
Slot 10          (empty)
Slot 11          (empty)
Slot 12          (empty)
Slot 13          (empty)
Slot 14          (empty)
Slot 15          (empty)



muestra los certificados que hay en la tarjeta
pkcs15-tool --list-certificates

El resultado (retocado claro)

Citar:

X.509 Certificate [CertAutenticacion]
    Flags    : 3
    Authority: no
    Path     : 3f0017004
    ID       : 4130364933

X.509 Certificate [CertFirmaDigital]
    Flags    : 3
    Authority: no
    Path     : 3f00
    ID       : 463054236

X.509 Certificate [CertCAIntermediaDGP]
    Flags    : 2
    Authority: no
    Path     : 3f006
    ID       : 533054236



 Muestra toda la información
pkcs15-tool --dump



Saludos
 



 
ljma - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron