Saltar al contenido
ecdsa.com

Firma XML (XML-DSig)

El estándar del W3C para firmar XML (XML Signature Syntax and Processing 1.1, 2013), en el que un elemento ds:Signature hace referencia a los datos firmados mediante un URI, los canonicaliza y firma un bloque SignedInfo de resúmenes.
También se escribeXML SignatureXML-DSigXMLDSigds:SignatureExclusive XML Canonicalization

Una firma contiene SignedInfo (método de canonicalización, método de firma y un Reference por cada elemento firmado, cada uno con sus transformaciones y un resumen), SignatureValue y normalmente KeyInfo con un certificado X.509. Las firmas envueltas (enveloped) están dentro del elemento que firman (aserciones SAML); las separadas (detached) apuntan a otro lugar. La canonicalización XML exclusiva (http://www.w3.org/2001/10/xml-exc-c14n#) normaliza los espacios de nombres y los espacios en blanco para que un XML semánticamente igual produzca el mismo hash.

El peligro está en la flexibilidad: las referencias mediante atributos ID, las transformaciones XPath y las reglas de canonicalización permiten que verificadores y aplicaciones discrepen sobre qué se firmó. La envoltura de firmas, los errores en el tratamiento de comentarios y los ataques de entidades externas XML han roto una y otra vez implementaciones de SAML y SOAP. XAdES (ETSI EN 319 132) construye firmas electrónicas de largo plazo sobre XML-DSig.

Estándares y referencias

Todos los términos