Pular para o conteúdo
ecdsa.com

Assinatura XML (XML-DSig)

O padrão do W3C de assinatura de XML (XML Signature Syntax and Processing 1.1, 2013): um elemento ds:Signature referencia os dados assinados por URI, faz a canonicalização deles e assina um bloco SignedInfo de digests.
Também escrito comoXML SignatureXML-DSigXMLDSigds:SignatureExclusive XML Canonicalization

Uma assinatura contém SignedInfo (método de canonicalização, método de assinatura e uma Reference por item assinado, cada uma com transformações e um digest), SignatureValue e, em geral, KeyInfo com um certificado X.509. As assinaturas envelopadas (enveloped) ficam dentro do elemento que assinam (asserções SAML); as desanexadas apontam para outro lugar. A canonicalização XML exclusiva (Exclusive XML Canonicalization, http://www.w3.org/2001/10/xml-exc-c14n#) normaliza namespaces e espaços em branco para que XML semanticamente igual produza o mesmo hash.

O perigo está na flexibilidade: referências por atributos ID, transformações XPath e regras de canonicalização permitem que verificadores e aplicações discordem sobre o que foi assinado. O encapsulamento de assinatura (signature wrapping), bugs no tratamento de comentários e ataques de entidade externa XML quebraram repetidamente implementações de SAML e SOAP. O XAdES (ETSI EN 319 132) constrói assinaturas eletrônicas de longo prazo sobre o XML-DSig.

Padrões e referências

Todos os termos