Cuprins
- Introducere 8
- 1.1. Problematica semnării digitale 8
- 1.2. Problematica descrierii unitare a datelor 9
- 2. Prezentare generală XML 10
- 2.1. Cerinţele de proiectare 10
- 2.2. Sintaxa unui document XML 11
- 2.3. Structuri 12
- 2.4. Validarea documentelor XML 13
- 2.5. XML Schema şi DTD 14
- 2.6. Date şi structuri 15
- 2.7. DOM 16
- 3. Legislaţia privind semnăturile electronice 17
- 3.1. Legislaţia europeană 17
- 3.2. Legislaţia românească 22
- 4. Prezentare generală a semnăturilor digitale în XML 26
- 4.1. Semnătură digitală 26
- 4.2. Infrastructura PKI 29
- 4.3. Caracteristici XMLDSIG 30
- 5. Sintaxa şi procesare XMLDSIG 32
- 5.1. Generalităţi 32
- 5.2. Recomandarea W3C privind sintaxa şi procesarea semnăturilor digitale în XML 33
- 5.3. Exemplu 48
- 6. Standardul pentru semnături digitale XML avansate (ETSI TS 101 903 – XML Advanced Electronic Signatures XAdES) 49
- 6.1. Introducere şi scop 49
- 6.2. Semnătură electronică şi date de validare 51
- 6.3. Structuri de date ale semnăturii electronice XML avansate (XAdES) 51
- 6.4. Date de validare a formularelor extinse 56
- 6.5. Date de validare arhivelor 57
- 7. Prezentare generală stucturi şi clase 59
- 7.1. Motivarea alegerii limbajului Java™ 59
- 7.2. Pachetele distribuite şi clasele mai importante 60
- 7.3. Dataflow general 87
- 8. Aplicaţie 92
- 8.1. Scopul aplicaţiei 92
- 8.2. Prezentare aplicaţiei de semnare 93
- 9. Concluzii 100
- 10. Bibliografie 101
Extras din proiect
Introducere
Problematica semnării digitale
Înainte de a putea discuta despre semnătura digitală trebuie să explicăm noţiunea de semnătură şi rolul pe care aceasta îl are în cadrul relaţiilor inter-umane. De obicei, semnătura este o versiune stilizată a numelui unei persoane, scrisă pe documente şi acţionând ca o dovadă a identităţii persoanei respective, un fel de sigiliu personal, obţinut prin scrierea de mână. O semnătură are rolul de a fi o probă privind provenienţa unui anumit document şi privind intenţiile persoanei care a semnat realativ la respectivul document.
Însă o semnătură nu este suficientă, dacă cel care semneză nu poate să facă asocierea între caligrafia semnăturii şi identitatea persoanei care a semnat. Această asociere poate fi făcută direct (dacă cele doi se cunosc şi îşi pot recunoaşte scrisul unul altuia) sau indirect, prin utilizarea unei a treia persoane, de încredere (de obiecei un notar public), care prin semnătura sa confirmă legătura dintre o persoană şi semnătura acelei persoane.
Odată cu dezvoltarea industriei calculatoarelor a început să se pună probleme găsirii unei metode de a putea asocia şi un document creat cu ajutorul unui editor de texte cu autorul său, fără a mai folosi suportul de hârtie.
Mai mult, după apariţia Internetului şi a posibilităţii de a stabili relaţii de afaceri la mare distanţă, de cele mai multe ori fără a-l întâlni fizic pe cel cu care se realizează repectiva afacere, a condus şi mai mult la dorinţa de eliminare a suportului de hârtie la încheierea contractelor. A rămas însă aceeaşi necesitate de a putea stabili o relaţie între identitatea unei persoane şi intenţia sa privind un anume document în format electronic. Deci, problema a rămas aceeaşi, doar contextul în care ea se manifestă s-a schimbat.
Cu alte cuvinte, semnătura digitală reprezintă mutarea unei vechi probleme, cea a ‚aplicării sigiliului’ în noua lume a calculatoarelor, a documentelor electronice şi a Internet-ului. Modalitatea de rezolvare este şi ea tot o traducere în format electronic a soluţiilor aplicate cu succes de-a lungul timpului.
Problematica descrierii unitare a datelor
Una din marile probleme ale transmiterii datelor între două sisteme informatice constă în modalitatea de prezentare a datelor respective. Deoarece lumea calculatoarelor este una eterogenă, trebuie ales formatul de prezentare care să conducă la aceeaşi interpretare a datelor indiferent de sistemul care face acea interpretare.
Mai mult chiar, un anumit şir de biţi, deci o informaţie, poate avea o semnificaţie diferită chiar pe acelaşi calculator; să nu uităm că un număr întreg poate fi scris pe 1, 2, 4 sau 8 octecţi.
Aproape singurul mod de reprezentare a informaţiei care este interpretat în acelaşi fel de toate sistemele informatice este modul text. Un caracter este văzut la fel de toate calculatoarele, indiferent de arhitectura pe care se bazează sau de sistemul de operare care există pe acel calculator.
Însă în lumea calculatorelor un şir de caractere nu are o înţeles decât dacă se ştie semnificaţia care trebuie acordată acelui text. Cu alte cuvinte, atunci când se doreşte mai mult decât simpla afişare a unui text, datelor reprezentate de un şir de caractere trebuie să li se dea o anumită semnificaţie, calculatorului trebuie să i se explice cum anume trebuie să transforme şirul de caractere în informaţii pe care să le poată prelucra.
Următorul pas logic este acela de a sugera existenţa unui şir de caractere care să explice semnificaţia, ajungându-se în final la date care se auto-descriu. Astfel după citirea unui document text, un calculator şi-ar putea extrage informaţiile pe care trebuie să le proceseze şi ar şti şi ce modalităţi de procesare pot fi aplicate.
Deci, şirul de caractere nu are decât rolul de purtător al informaţiilor, calculatoarele lucrând cu tipuri interne de date. Este treaba calculatorului sursă să genereze şirul de caractere astfel încât sarcina decodării informaţiei să nu fie prea complicată sau să poată conduce la interpretări diferite.
Prezentare generală XML
EXtensible Markup Language, abreviat XML, este un limbaj de tip markup, folosit pentru descrierea datelor. El descrie o clasă de obiecte, numite documente XML, şi modul în care un calculator ar trebui să proceseze informaţiile din aceste documente XML.
XML poate fi descris ca un subset al SGML – Standard Generalized Markup Language. Spre deosebire de SGML, XML este mai simplu de implementat (un procesor de XML este mult mai simplu de construit si implementat decât un procesor de SGML) şi din acest motiv poate fi folosit pentru transmiterea datelor în mediul web (implementarea unui procesor de SGML într-un browser web ar fi făcut procesarea informaţilor greoaie datorită complexităţii acestuia).
XML este tot un limbaj de tip markup ca şi HTML. Însă spre deosebire de acesta din urmă, nu îşi propune să ofere o modalitate de prezentare a datelor ci îşi propune să ofere chiar datele. Tag-urile HTML sunt folosite numai pentru a oferi instrucţiuni despre cum trebuie prezentate informaţiile dintr-o pagină web. Tag-urile din XML pot descrie datele. Dacă în HTML există un număr fix de tag-uri care pot fi folosite, in XML autorul documentului îşi crează propriile tag-uri, după cum consideră necesar pentru a face descrierea datelor pe care le conţine documentul XML.
Preview document
Conținut arhivă zip
- Aspecte Generale Privind Semnaturile Digitale.docx
- Bibliografie.docx
- Cuprins.docx