POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
Seminario firmas electrónicas estándares XML
1. Seminario: Firmas
electrónicas y estándares
basados en XML
Antonio Araujo Brett
06 de Abril de 2011
Grupo de Investigación y Desarrollo en Seguridad de
la Información - GIDSI
www.cenditel.gob.ve
3. Firmas electrónicas
• Criptografía de Clave Pública
– Certificados electrónicos X509v3
• Ley sobre Mensajes de Datos y Firmas
Electrónicas de Venezuela (2001).
• Infraestructura Nacional de Certificación
Electrónica.
• Cédula Electrónica con certificados electrónicos
para ciudadanos.
www.cenditel.gob.ve
7. Estándares en firma electrónica
• 1999: Directiva de Firma Electrónica de la Unión
Europea (1999/93/EC) define firmas electrónicas
avanzadas:
– Unívocamente enlazadas con el firmante.
– Capaces de identificar al firmante.
– Creadas a través de medios que el firmante puede
mantener bajo su control.
– Enlazadas a los datos de manera que cambios
posteriores sean detectables.
www.cenditel.gob.ve
8. Estándares en firma electrónica
• European Telecommunications Standards
Institute (ETSI) inició el desarrollo de estándares
para firma electrónica alineados con la Directiva
Europea.
– 2000: ETSI TS 101 733 Electronic Signature and
Infrastructure (ESI) – CMS Advanced Electronic
Signature (CAdES).
– 2001: ETSI TS 101 903 XML Advanced Signatures
(XAdES).
– 2009: ETSI TS 102 778 PDF Advanced Electronic
Signatures (PAdES).
www.cenditel.gob.ve
9. Estándares en firma electrónica:
CAdES
• CMS: Cryptographic Message Syntax
– Estándar para mensajes protegidos
criptográficamente.
– Sintaxis de encapsulamiento para protección de datos.
– Basado en PKCS#7 (firma y cifrado de mensajes bajo
una PKI).
– RFC 5652.
• CMS Advanced Electronic Signature
– Especifica perfiles de datos firmados con CMS que
permanecen válidos por largos periodos de tiempo.
www.cenditel.gob.ve
11. Estándares en firma electrónica:
PAdES
• PDF y el estándar ISO 32000-1 establecen un
framework para firmar electrónicamente
documentos.
• PAdES introduce adaptaciones y extensiones
para satisfacer la Directiva 1999/93/EC.
• Firma electrónica sobre documentos legibles
para el humano.
www.cenditel.gob.ve
12. Estándares en firma electrónica:
PAdES
• Perfiles PAdES:
– PAdES (basic)
– PAdES Enhanced
– PAdES Long Term
– PAdES for XML Content
www.cenditel.gob.ve
13. Estándares en firma electrónica
• Ley sobre Mensajes de Datos y Firmas
Electrónicas de Venezuela (2001)
– Tecnológicamente neutra.
– Garantizar que los datos utilizados para la generación
de la firma sólo pueden producirse una vez.
– Ofrecer seguridad suficiente de que no pueda ser
falsificada con la tecnología existente en cada
momento.
– No alterar la integridad del mensaje de datos.
www.cenditel.gob.ve
14. Estándares en firma electrónica
• Ley sobre Mensajes de Datos y Firmas
Electrónicas de Venezuela (2001)
– Tecnológicamente neutra.
– Garantizar que los datos utilizados para la generación
de la firma sólo pueden producirse una vez.
– Ofrecer seguridad suficiente de que no pueda ser
falsificada con la tecnología existente en cada
momento.
– No alterar la integridad del mensaje de datos.
No se especifica un formato de documentos
firmados electrónicamente.
www.cenditel.gob.ve
15. XML
• Lenguaje de etiquetas ampliamente utilizado y
desarrollado por el W3C.
<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE Edit_Mensaje SYSTEM "Edit_Mensaje.dtd">
<Edit_Mensaje>
<Mensaje>
<Remitente>
<Nombre>Nombre del remitente</Nombre>
<Mail> Correo del remitente </Mail>
</Remitente>
<Destinatario>
<Nombre>Nombre del destinatario</Nombre>
<Mail>Correo del destinatario</Mail>
</Destinatario>
<Texto>
<Asunto>
Este es mi documento con una estructura muy sencilla
no contiene atributos ni entidades...
</Asunto>
<Parrafo>
Este es mi documento con una estructura muy sencilla
no contiene atributos ni entidades...
</Parrafo>
</Texto>
</Mensaje>
</Edit_Mensaje>
www.cenditel.gob.ve
16. XMLDSIG
• XML-Signature Syntax and Processing (2002)
• Integridad, autenticación de mensaje y servicios
de autenticación de firmantes para datos de
cualquier tipo incluidos en el XML o no.
http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/
www.cenditel.gob.ve
18. XAdES
• Recomendación de W3C: XML Advanced
Electronic Signatures
• ETSI TS 101 903: especificación técnica de
firmas electrónicas avanzadas en XML (XAdES)
• ETSI TS 102 904: Perfiles de XAdES basados
en ETSI TS 101 903.
Define un perfil base para firmas electrónicas y perfiles
para gobierno electrónico y factura electrónica
http://www.w3.org/TR/XAdES/
www.cenditel.gob.ve
19. XAdES
• Extiende XMLDSIG
• Define formatos XML para firmas electrónicas
válidas por largos periodos de tiempo.
• Firma de documentos de distintos formatos.
www.cenditel.gob.ve
20. XAdES: versiones e
interoperabilidad
• 1.1.1: Febrero 2002
• 1.2.2: Abril 2004
• 1.3.2: Marzo 2006
• 1.4.1: Junio 2009
• 1.4.2: Diciembre 2010
XAdES Plugtests: eventos de interoperabilidad de
Implementaciones (último registrado: 25/10/10)
www.cenditel.gob.ve
22. XAdES
• ETSI TS 101 903 -V1.4.2 especifica cuatro
formas de firmas electrónicas avanzadas en
XML:
– Basic Electronic Signature (XAdES-BES):
• XMLDSIG + QualifyingProperties
– Explicit Policy based Electronic Signature (XAdES-
EPES):
• XMLDSIG ó XAdES-BES + SignaturePolicyIdentifier
– Electronic Signature with Validation Data (XAdES-T y
XAdES-C)
• Certificados de clave pública, información de estado de
revocación, estampillas de tiempo, detalles de política de
firma, entre otros.
www.cenditel.gob.ve
33. XAdES
• Existen diversas implementaciones de XAdES
en software privativo; muy pocas en software
libre.
• España utiliza formas de XAdES para su
Facturae.
• Existen registros de algunas aplicaciones del
eGobierno Catalán que utilizan XAdES.
• Algunos países de Europa del Este utilizan
perfiles adecuados de XAdES.
• ICP-Brasil tiene definidos atributos utilizados en
la generación de firmas basadas en XAdES.
www.cenditel.gob.ve
38. Sistema DigiDoc
• Formato de archivo DIGIDOC-XML: XML como
formato base, está basado en XMLDSIG y ETSI
TS 101 903 (XAdES).
• Desarrollado por el Gobierno de Estonia.
• Provee un framework e implementación para
firma electrónica.
• Utiliza archivos con extensión .ddoc.
• Cumple el XAdES-X-L.
• Soporta sólo confirmaciones OCSP (obligatoria).
http://www.id.ee/28660
www.cenditel.gob.ve
39. Sistema DigiDoc
• Verificación fuera de línea sin información
adicional.
• Firma aplicada a varios documentos a la vez.
• Protección contra ataques de formato: el tipo de
documento firmado también está firmado.
• El documento a firmar puede o no estar
contenido.
• El documento a firmar puede ser XML u otro
archivo binario.
• Un contenedor puede tener 0, 1 o más firmas.
• Se tiene una confirmación de validez por firma.
www.cenditel.gob.ve
41. Sistema DigiDoc
Estructura del formato de archivo DIGIDOC-XML:
<?xml version="1.0" encoding="UTF8" ?>
<SignedDoc format="DIGIDOCXML" version="1.4"
xmlns="http://www.sk.ee/DigiDoc/v1.4.0#">
<! original data files >
<DataFile />
<! client signatures with validity
confirmations >
<Signature />
</SignedDoc>
www.cenditel.gob.ve
42. Sistema DigiDoc: Libdigidoc
• Implementación del formato DIGIDOC-XML en
una biblioteca en C.
• Soporte para firma con soporte de hardware
(tarjetas inteligentes) a través de PKCS#11.
• Biblioteca utilizada por el proyecto SAFET para
aplicar firma electrónica y verificar firmas.
• Sólo aplica firma con algoritmo RSA-SHA1.
• Archivo firmado en XML (texto claro)
http://code.google.com/p/esteid/wiki/libDigiDoc
www.cenditel.gob.ve
43. XAdES e implementaciones
ETSI TS 101 903 a pesar de ser un estándar se
encuentran implementaciones no compatibles:
• No se soportan los bloques o elementos no
obligatorios en el XML.
• Algunos bloques o elementos no obligatorios
dependen de necesidades y requerimientos
particulares de una ICP.
• Se especifica un formato de firma que permite
que los datos a firmar se encuentren en
cualquier lugar referenciado por una URI.
www.cenditel.gob.ve
44. Baltic WPKI Forum
• 2007: surgió el grupo de trabajo Baltic WPKI
Forum (Lithuania, Latvia y Estonia).
– Organizaciones públicas y privadas.
– http://wpki.eu
• 2008: se generó un perfil del estándar XAdES
denominado: BDOC.
www.cenditel.gob.ve
45. BDOC
• Especificación que intenta resolver problemas de
incompatibilidad entre implementaciones de
XAdES:
– Define un subconjunto de elementos y parámetros
(perfil BDOC basado en XAdES).
– Define perfiles de requerimientos para PKI,
estampillado de tiempo y validación de certificados con
sus bloques XAdES.
– Define un formato de contenedor para incluir datos y
firmas.
www.cenditel.gob.ve
46. BDOC
• Formato de firma basado en XAdES (v.1.3.2).
• Formato de contenedor basado en el estándar
OpenDocument (convenciones de
empaquetado).
• La extensión de archivo del formato de archivo
BDOC es .bdoc y el tipo MIME es
application/xbdoc.
• Exige que los archivos a firmar se encuentre
dentro del contenedor.
• Recomienda utilizar algoritmo SHA256 o
superior.
www.cenditel.gob.ve
47. BDOC: estructura de un archivo
document.odt
mimetype
METAINF/manifest.xml
METAINF/signature0.xml
www.cenditel.gob.ve
48. Perfiles BDOC
• BDOC-BES: Basic Electronic Signature
• BDOC-TM: Time marking
• BDOC-TS: Time stamping
XAdES-X-L
• BDOC-TM-A: Time marking archival
• BDOC-TS-A: Time stamping archival
www.cenditel.gob.ve
51. LibDigiDocpp
• Biblioteca en C++ para leer, validar y crear
contenedores BDOC y DDOC.
• Implementa los perfiles:
– BDOC-BES
– BDOC-TM
• Código fuente disponible.
• Licencia GPL v2.
• Soporte para firma con dispositivos
criptográficos (tarjetas inteligentes) a través de
PKCS#11.
http://code.google.com/p/esteid/source/browse/libdigidocpp/trunk/README
www.cenditel.gob.ve
52. LibDigiDocpp
De acuerdo a la comunidad de desarrollo y
soporte del proyecto EsteID*, BDOC fue parte
del último plugtests de interoperabilidad de
XAdES (http://xades-portal.etsi.org/pub/ )
realizado por ETSI en Octubre de 2010. No se
conocen los resultados.
* #esteid en irc.freenode.net
Se han realizado pruebas de concepto exitosas
para aplicar firma electrónica con la cédula
electrónica de nuestro país con esta biblioteca.
www.cenditel.gob.ve
53. ¿Hacia dónde vamos nosotros?
• ¿Utilizar un estándar propietario?
• ¿Proponer un consorcio público-privado para
definir un estándar propio?
• ¿Utilizar un estandar existente?
• ¿Proponer un estándar nuevo?
www.cenditel.gob.ve
54. ¿Hacia dónde vamos nosotros?
• ¿Utilizar un estándar propietario?
• ¿Proponer un consorcio público-privado para
definir un estándar propio?
• ¿Utilizar un estandar existente?
• ¿Proponer un estándar nuevo?
• BDOC – LibDigiDocpp es una alternativa.
www.cenditel.gob.ve
55. Referencias
• Blog Todo es electrónico:
http://inza.wordpress.com
• Proyecto esteid Estonia:
http://code.google.com/p/esteid/
• Portal de soporte para ID-Card de Estonia:
http://www.id.ee/28660?lang=en
• XML Advanced Electronic Signatures (XadES) de W3C:
http://www.w3.org/TR/XAdES/
• XML Signature Syntax and Processing (Second Edition) de W3C:
http://www.w3.org/TR/xmldsig-core/
• Baltic WPKI Forum:
http://wpki.eu/
www.cenditel.gob.ve
56. Referencias
• ICP Brasil
http://www.iti.gov.br/twiki/bin/view/Certificacao/W
ebHome
• RFC 5652 CMS:
http://tools.ietf.org/html/rfc5652
• ETSI TS 101 903:
http://www.etsi.org/deliver/etsi_ts/101900_101999/1
01903/01.04.02_60/
• Factura electrónica de España (Facturae)
http://www.facturae.es/esES/Paginas/principal.aspx
• Canal IRC del proyecto esteid:
#esteid en irc.freenode.net
www.cenditel.gob.ve
57. Referencias
• W3C Workshop on Next Steps for XML Signature and XML
Encryption. The importance of incorporating XAdES extensions into
ongoing XML-Sig work. Juan Carlos Cruellas, Giles Hogben, Nick
Pope. Mountain View 25, 26 Sept 2007.
http://www.w3.org/2007/xmlsec/ws/slides/03
cruellasetal/Overview.pdf
• Ciberseguridad y Certificación Electrónica. SUSCERTE. 2011. 2do
Encuentro Internacional de Especialistas en Registro Civil. Caracas.
2011.
http://www.cne.gob.ve/web/sala_prensa/noticia_detal
lada.php?id=1941
www.cenditel.gob.ve