Semnătura XML

Semnătura XML (cunoscută și sub numele de XMLDsig, XML-DSig, XML-Sig) este o recomandare W3C menită să permită utilizarea semnăturilor digitale în documentele XML.

La fel ca și tehnicile generale de criptografie cu cheie publică pe care le implementează, face posibilă asigurarea autentificării , integrității și, în consecință, refuzarea datelor semnate, dar profitând de flexibilitatea oferită de limbajul XML.

O caracteristică importantă oferită de XML este abilitatea de a semna doar porțiuni specifice din același document. Acest lucru este deosebit de util atunci când anumite părți trebuie să fie semnate de diferite persoane și / sau când lăsați deschisă modificarea restului documentului, de exemplu atunci când transmiteți un formular semnat, unui utilizator care îl va completa. În acest caz, dacă semnătura acoperea întregul document, cea mai mică modificare sau adăugire făcută de utilizator ar face ca semnătura să fie invalidă.

În funcție de poziția semnăturii în document, există în general trei cazuri:

Formă canonică

Un alt avantaj major al semnăturii XML constă într-o transformare prealabilă în formă canonică , făcând semnătura independentă de setul de caractere sau de sintaxa utilizată.

Într-adevăr, un anumit document XML poate avea mai multe reprezentări conforme cu standardul, diferite, dar echivalente. De exemplu, unele spații dintr-un document XML nu sunt semnificative din punct de vedere sintactic, de exemplu eticheta <elem >este egală <elem>.

Cu toate acestea, algoritmii de amprentă criptografică pe care se bazează semnăturile digitale sunt proiectați în așa fel încât cea mai mică divergență să ducă la un rezultat radical diferit.

Pentru a evita această problemă și pentru a garanta că vor fi produse semnături identice pe documente XML echivalente din punct de vedere logic, se va efectua o transformare canonică (c14n).

Link extern

Traducere franceză a specificației W3C