Semnătură digitală

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

O semnătură digitală este o schemă matematică folosită pentru a demonstra autenticitatea mesajelor sau documentelor digitale. O semnătură digitală validă oferă destinatarului o bază solidă pentru a crede că mesajul a fost creat de către un expeditor cunoscut (autentificare), să fie sigur că expeditorul nu poate nega că a trimis mesajul (non-repudiere⁠(d)), și că mesajul nu a fost modificat pe parcurs (integritate⁠(d)).

Semnăturile digitale sunt un element standard al celor mai multe suite de protocoale criptografice⁠(d), și sunt frecvent utilizate pentru distribuirea de software, tranzacții financiare, software de gestiunea contractelor⁠(d), precum și în alte cazuri în care este important să se detecteze falsificarea sau manipularea datelor.

Explicație[modificare | modificare sursă]

Semnăturile digitale sunt adesea utilizate pentru punerea în aplicare a semnăturilor electronice⁠(d), un termen mai larg care se referă la orice date electronice care poartă intenția de semnătură,[1] dar nu toate semnăturile electronice sunt semnături digitale.[2][3] În unele țări, inclusiv în Statele Unite ale Americii, Turcia, India, Brazilia, Indonezia, Mexic,[4] Arabia Saudită,[5] Elveția și țările din Uniunea Europeană,[6][7] semnăturile electronice au semnificație juridică.

Semnăturile digitale folosesc criptografia asimetrică. În multe cazuri, acestea oferă un strat de validare și de securitate pentru mesajele trimise printr-un canal nesecurizat: implementată corespunzător, o semnătură digitală oferă receptorului motiv să creadă că mesajul a fost trimis de către expeditorul declarat în mesaj. Sigiliile și semnăturile digitale sunt echivalente din punct de vedere legal cu semnătura olografă și cu sigiliile ștampilate.[8] Semnăturile digitale sunt echivalente cu semnăturile olografe tradiționale în multe privințe, dar puse în aplicare în mod corespunzător semnăturile digitale sunt mult mai dificil de falsificat decat cele olografe. Sistemele de semnătură digitală, în sensul folosit aici, sunt criptografice, și trebuie să fie implementate corespunzător pentru a fi eficiente. Semnăturile digitale pot oferi și non-repudiere⁠(d), în sensul că semnatarul nu mai poate susține că nu a semnat un mesaj și în același timp că ține secretă cheia privată; mai mult, unele sisteme de non-repudiere oferă o marcă temporală pentru semnătura digitală, astfel încât, chiar dacă cheia privată este expusă, semnătura rămâne validă. Mesajele semnate digital poate fi orice se poate reprezenta sub formă de șir de biți⁠(d): de exemplu, mesaje de e-mail, contracte, sau un mesaj transmis prin intermediul unui alt protocol criptografic⁠(d).

Definiția semnăturii digitale[modificare | modificare sursă]

O schemă de semnătură digitală este formată de obicei din 3 algoritmi:

  • Un algoritm de generare a cheilor⁠(d) care alege o cheie privată uniform aleatoare⁠(d) dintr-un set de chei private posibile. Algoritmul produce la ieșire cheia privată împreună cu o cheie publică corespunzătoare.
  • Un algoritm de semnare care, când i se prezintă un mesaj și o cheie privată, produce o semnătură.
  • Un algoritm de verificare a semăturii care, primind mesajul, cheia publică și semnătura, poate accepta sau respinge mesajul în raport cu autenticitatea sa.

Este nevoie de două două proprietăți principale. În primul rând, autenticitatea semnăturii generate dintr-un mesaj fix și cu o cheie privată fixă să poată fi verificată utilizând cheia publică corespunzătoare. În al doilea rând, să fie imposibil din punct de vedere computațional ca cineva să genereze o semnătură validă fără să știe cheia privată. O semnătură digitală este un mecanism de autentificare, care permite creatorului de mesaj să atașeze un cod care acționează ca o semnătură. Digital Signature Algorithm (DSA), dezvoltat de către National Institute of Standards and Technology, este unul din multe exemple algoritmi de semnare.

În următoarea discuție, 1n se referă la un număr unar⁠(d).

Formal, o schemă de semnătură digitală este o tripletă de algoritmi probabilistici în timp polinomial, (G, S, V), care satisfac condițiile:

  • G (generatorul de chei) generează o cheie publică, pk, și o cheie privată corespunzătoare, sk, la intrarea 1n, unde n este parametrul de securitate.
  • S (semnarea) returnează o etichetă, t, pe intrările: cheia privată, sk, și un șir de caractere, x.
  • V (verificarea) produce la ieșire acceptat sau respins cu intrările: cheia publică, pk, un șir de caractere, x, și o etichetă, t.

Pentru corectitudine, S și V trebuie să îndeplinească

Pr [ (pk, sk) ← G(1n), V( pk, x, S(sk, x) ) = acceptat ] = 1.[9]

Un sistem de semnătură digitală este sigur dacă pentru orice adversar A neuniform, probabilistic, în timp polinomial

Pr [ (pk, sk) ← G(1n), (x, t) ← OS(sk, · )(pk, 1n), xQ, V(pk, x, t) = acceptat] < negl⁠(d)(n),

unde cu AS(sk, · ) se notează că A are acces la oracol⁠(d), cu S(sk, · ) și Q se notează un set de întrebări despre S pus de A, care știe cheia publică pk, și parametrul de securitate, n. Este obligatoriu ca adversarul să nu poate interoga direct șirul x, pe S.[10]

Istoria semnăturii digitale[modificare | modificare sursă]

În 1976, Whitfield Diffie și Martin Hellman au descris pentru prima dată noțiunea de schemă de semnătură digitală, cu toate ca ei presupuneau că există astfel de sisteme bazate pe funcții care sunt permutări-trapă, în sens unic.[11][12] Curând după aceea, Ronald Rivest, Adi Shamir, și Len Adleman au inventat algoritmul RSA, care poate fi utilizat pentru a produce semnături digitale primitive[13] (deși numai ca demonstrație –semnăturile RSA „simple” nu sunt sigure[a]). Primul pachet de software comercializat pe scară largă care a oferit semnătură digitală a fost IBM Lotus Notes⁠(d) 1.0, lansat în 1989, care folosea algoritmul RSA.[14]

Alte scheme de semnătură digitală au fost elaborate curând după RSA, cele mai vechi fiind semnăturile Lamport⁠(d),ref>"Constructing digital signatures from a one-way function.", Leslie Lamport, Technical Report CSL-98, SRI International, Oct. 1979.</ref> semnăturile Merkle⁠(d) (denumite și „arbori Merkle” sau mai simplu „arbori hash”),[15] și semnătura Rabin⁠(d).[16]

În 1984, Shafrira Goldwasser⁠(d), Silvio Micali⁠(d), și Ronald Rivest au devenit primii care au definit riguros cerințele de securitate pentru schemele de semnături digitale.[17] Ei au descris o ierarhie de modele de atacuri asupra schemelor de semnătură, și au prezentat și schema de semnătură GMR, prima despre care se putea demonstra că previne chiar și un fals existențial împotriva unui mesaj de atac ales, care este în prezent definiția acceptată a securității schemelor de semnătură. Primul astfel de sistem, care nu este construit pe baza funcțiilor-trapă, ci mai degrabă pe o familie de funcții cu o cerință mult mai relaxată a acestor permutări cu sens unic, a fost prezentat de către Moni Naor⁠(d) și Moti Yung⁠(d).[18]

Cum funcționează[modificare | modificare sursă]

Pentru a crea chei de semnătură RSA, se generează o pereche de chei RSA cu un modul, N, care este produsul a două numere prime mari, împreună cu numerele întregi e și d, astfel încât e d ≡ 1 (mod φ(N)), unde φ este funcția phi a lui Euler. Cheia publică a semnatarului este formată din N și e, iar cheia secretă a semnatarului conține d.

Pentru a semna un mesaj m, semnatarul calculează o semnătură σ, astfel încât σ ≡ md (mod N). Pentru a verifica, receptorul verifică dacă σem (mod N).

După cum s-a menționat mai devreme, această schemă de bază nu este foarte sigură. Pentru a preveni atacurile, se poate aplica mai întâi o funcție hash criptografică⁠(d) asupra mesajului m, și apoi se aplică algoritmul RSA descris mai sus asupra rezultatului. Această abordare este sigură presupunând că funcția hash este un oracol aleator⁠(d).

Primele scheme de semnătură erau de un tip similar: acestea implică utilizarea unei permutări-trapă⁠(d), cum ar fi funcția RSA, sau, în cazul schemei de semnătură Rabin, calculul unui pătrat modulo compozit, n. O familie de permutări-trapă este o familie de permutări, specificată printr-un parametru, care este ușor de calculat în direcția înainte, dar dificil de a calculat în sens invers, fără a ști deja cheia privată („trapa”). Permutările-trapă pot fi folosite pentru sisteme de semnătură digitală, unde calculul direcției inverse cu cheia secretă este necesar pentru semnare, iar calculul pe direcția înainte este folosit pentru a verifica semnăturile.

Folosit în mod direct, acest tip de sistem de semnătură este vulnerabil la un atac cu fals existențial doar cu cheie. Pentru a crea un fals, atacatorul alege o semnătură aleatorie σ și utilizează procedura de a verifica mesajul m, corespunzător semnăturii.[19] În practică însă, acest tip de semnătură nu este folosit direct, ci, mai degrabă, mesajul în clar este mai întâi trecut printr-un hash pentru a produce un rezumat scurt, care este apoi semnat. Acest atac produce, atunci, doar hash-ul care corespunde lui σ, și nu un mesaj care duce la acea valoare, ceea ce nu duce la un adevărat atac. În modelul cu oracol aleator, această formă de semnătură hash-apoi-semnare este nefalsificabilă existențial, chiar și în fața unui atac cu text clar ales.[necesită clarificare]

Există mai multe motive de a semna un astfel de hash (sau rezumat) în locul întregului document.

Pentru eficiență
Semnătura va fi mult mai scurtă și, astfel, se economisește timp, întrucât hashingul, în general, mult mai rapid în practică decât semnarea.
Pentru compatibilitate
Mesajele sunt de obicei șiruri de biți, dar unele sisteme de semnătură funcționează pe alte domenii (cum ar fi, în cazul RSA, numerele modulo un număr compus N). O funcție hash poate fi folosită pentru a converti o intrare arbitrară în formatul corespunzător.
Pentru integritate
Fără funcția hash, textul „de semnat” ar poatea să trebuiască să fie divizate (separat) în blocuri suficient de mici pentru ca sistemul de semnătură să acționeze asupra lor în mod direct. Cu toate acestea, receptorul blocurilor semnate nu poate recunoaște dacă sunt prezente toate blocurile și sunt și în ordinea corespunzătoare.

Noțiuni de securitate[modificare | modificare sursă]

În articolul lor fundamental, Goldwasser, Micali, și Rivest stabileau o ierarhie de modele de atac împotriva semnături digitale:

  1. Într-un atac doar asupra cheii, atacatorul are acces doar la cheia publică de verificare.
  2. Într-un atac cu mesaj cunoscut, atacatorul are la dispoziție semnături valabile pentru o varietate de mesaje cunoscute de către atacator, dar nu alese de către atacator.
  3. Într-un atac adaptiv cu mesaj ales, atacatorul află mai întâi semnături asupra unor mesaje arbitrare alese de atacator.

Ei descriu și o ierarhie de rezultate ale atacurilor:

  1. O spargere totală care are ca rezultat recuperarea cheii de semnare.
  2. Un atac cu fals universal care are ca rezultat capacitatea de a falsifica semnături pentru orice mesaj.
  3. Un atac cu fals selectiv rezultă într-o semnătură falsă aplicată pe un mesaj ales de adversar.
  4. Un fals existențial rezultă doar într-o pereche mesaj valid/semnătură care nu sunt deja cunoscute de către adversar.

Cel mai puternică noțiune de securitate este, prin urmare, securitatea împotriva falsului existențial în fața unui atac adaptiv cu mesaj ales.

Aplicații ale semnăturilor digitale[modificare | modificare sursă]

Pe măsură ce organizațiile s-au îndepărtat de documentele pe hârtie cu semnături olografe sau cu ștampile de autenticitate, semnăturile digitale oferă un plus de asigurare a dovezii provenienței, identității și stării unui document electronic, precum și recunoașterea consimțământului informat și aprobarea sa de către semnatar. Government Printing Office (GPO) din Statele Unite publică versiunile electronice ale bugetului, ale legilor publice și private, precum și procesele legislative din Congres cu semnături digitale. Universități, între care Penn State, Universitatea din Chicago, și Stanford publică matricolele studenților cu semnătură digitală.

Mai jos sunt câteva motive comune pentru care se recurge la semnătura digitală pentru comunicații:

Autentificare[modificare | modificare sursă]

Deși mesajele pot adesea să includă informații despre entitatea care trimite un mesaj, informațiile pot să nu fie corecte. Semnăturile digitale pot fi utilizate pentru a autentifica sursa mesajelor. Atunci când proprietatea asupra cheii secrete a semnăturii digitale este legată de un anumit utilizator, o semnătură validă arată că mesajul a fost trimis de către acel utilizator. Importanța încrederii mari în autenticitatea expeditorului este evidentă mai ales într-un context financiar. De exemplu, presupunem că filiala unei bănci trimite instrucțiuni către biroul central pentru a solicita o schimbare a balanței unui cont. Dacă oficiul central nu este convins că un astfel de mesaj este cu adevărat trimis de la surse autorizate, a răspunde favorabil unei asemenea cereri ar putea fi o greșeală gravă.

Integritatea[modificare | modificare sursă]

În multe scenarii, expeditorul și destinatarul unui mesaj ar putea avea nevoie de încredere că mesajul nu a fost modificat în timpul transmisiei. Deși criptarea ascunde conținutul unui mesaj, un atacator ar putea schimba un mesaj criptat fără a-l și înțelege. (Unii algoritmi de criptare, cunoscuți sub numele de algoritmi nonmaleabili⁠(d), împiedică acest lucru, dar alții nu.) Cu toate acestea, dacă un mesaj este semnat digital, orice schimbare asupra mesajului îi anulează semnătura. În plus, nu există nicio modalitate eficientă de a modifica un mesaj și semnătura lui astfel încât să rezulte un mesaj nou cu o semnătură validă, pentru că acest lucru este considerat a fi de imposibil din punct de vedere computațional din cauza nivelului de securitate al celor mai multe funcții hash criptografice (a se vedea rezistența la coliziune⁠(d)).

Non-repudierea⁠(d)[modificare | modificare sursă]

Non-repudierea, sau, mai precis, non-repudierea originii, este un aspect important al semnăturii digitale. Prin această proprietate, o entitate care a semnat unele informații nu mai poate, la un moment ulterior, să nege faptul că a semnat-o. Similar, accesul doar la cheia publică nu permite falsificarea unei semnături valide de către un terț.

Aceste proprietăți de autentificare, non-repudiere etc. sunt valabile în condițiile în care cheia secretă de nu a fost revocată înainte de utilizarea ei. Revocarea publică a unei perechi de chei este o abilitate necesară, altfel scurgerile de chei secrete pe alte canale vor duce la implicarea perpetuă a pretinsului proprietar al perechii de chei. Verificarea stării de revocare impune o verificare „on-line”; de exemplu, verificarea unei liste de certificate revocate⁠(d) sau prin intermediul Online Certificate Status Protocol⁠(d). Foarte aproximativ, acest lucru este analog cu un furnizor care primește carduri de credit, care verifică în primul rând on-line la emitentul cardului pentru a afla dacă un anumit card a fost declarat pierdut sau furat. Desigur, cu perechile de chei furate, furtul este adesea descoperit numai după ce cheia secretă este utilizată, de exemplu, pentru a semna un certificat fals în scopuri de spionaj.

Măsuri suplimentare de securitate[modificare | modificare sursă]

Plasarea cheii private pe un card inteligent[modificare | modificare sursă]

Toate criptosistemele cu chei publice și chei private depind în întregime pe păstrarea secretului cheii private. O cheie privată poate fi stocată pe calculatorul unui utilizator, și protejată de o parolă locală, dar acest lucru are două dezavantaje:

  • utilizatorul poate doar să semneze documente pe acel calculator
  • securitatea cheii private depinde în întregime de securitatea calculatorului

O alternativă mai sigură este stocarea cheii private pe un smart-card⁠(d). Multe carduri inteligente sunt concepute pentru a fi rezistente la atacuri (deși unele designuri au fost sparte, cel mai cunoscut fiind atacul lui Ross Anderson⁠(d) și al studenților săi). Într-o implementare tipică de semnătură digitală, hash-ul calculat din document este trimis cardului inteligent, a cărui CPU semnează hash-ul folosind cheia privată stocată a utilizatorului, și apoi întoarce hash-ul semnat. De obicei, un utilizator trebuie să-și activeze smart-cardul prin introducerea unui număr personal de identificare sau cod PIN (oferind astfel o autentificare cu doi factori⁠(d)). Se poate aranja așa încât cheia privată să nu părăsească niciodată acel smart card, deși nu se întâmplă întotdeauna așa. Dacă smart-cardul este furat, hoțul va mai avea nevoie și de codul PIN pentru a genera o semnătură digitală. Acest lucru reduce securitatea schemei la cea a sistemului de PIN, dar încă necesită ca atacatorul să posede cardul fizic. Un factor de atenuare este acela că cheile private, dacă sunt generate și stocate pe smart-carduri, sunt de obicei considerate a fi dificil de copiat, și se presupune că există exact o singură copie a lor. Astfel, pierderea unui smart-card poate fi detectată de către proprietar și certificatul corespunzător poate fi revocat imediat. Cheile private protejate doar prin software pot fi mai ușor de copiat, și astfel compromiterea lor este mult mai dificil de detectat.

Utilizarea de cititoare de smart-carduri cu tastatură separată[modificare | modificare sursă]

Introducerea unui cod PIN pentru activarea smart-cardului necesită frecvent o tastatură numerică⁠(d). Unele cititoare de carduri au propriile lor tastaturi numerice. Acest lucru este mai sigur decât folosind unui cititor de carduri integrat într-un PC, cu introducerea PINului folosind tastatura calculatorului. Cititoarele cu tastatură numerică sunt menite să eludeze amenințarea pe care o reprezintă key-loggerele⁠(d), care au potențialul de a compromite codul PIN. Cititoarele specializate de carduri sunt mai puțin vulnerabile și la manipulare, software-ul și hardware-ul lor fiind de multe ori certificate EAL3⁠(d).

Alte modele de smart-carduri[modificare | modificare sursă]

Designul de smart-carduri este un domeniu activ, și există scheme de smart-carduri destinate pentru a evita unele probleme particulare, deși până acum securitatea lor a fost rareori dovedită.

Utilizarea de semnături digitale doar în aplicații de încredere[modificare | modificare sursă]

Una dintre principalele diferențe între o semnătură digitală și o semnătură olografă este aceea că utilizatorul nu „vede” ce semnează. Utilizatorul aplicației prezintă un cod hash pentru semnare de către algoritmul de semnătură digitală folosind cheia privată. Un atacator care câștigă controlul asupra PC-ului utilizatorului poate înlocui aplicația utilizatorului cu una străină, înlocuind efectiv comunicațiile proprii ale utilizatorul cu cele ale atacatorului. Acest lucru ar putea permite unei aplicații malware să păcălească un utilizator spre a semna orice document prin afișarea pe ecran a originalului, dar prezentând propriile documente ale atacatorului aplicației care semnează.

Pentru a proteja împotriva acestui scenariu, se poate pune la punct un sistem de autentificare între aplicația utilizatorului (procesor de text, client de e-mail, etc.) și aplicația care semnează. Ideea generală este de a oferi un mijloc prin care aplicațiile utilizator și aplicația de semnare să-și poată verifica reciproc integritatea. De exemplu, aplicația de semnare poate impune ca toate cererile să vină de la binare semnate digital.

Utilizarea unui modul hardware de securitate⁠(d) atașat la rețea[modificare | modificare sursă]

Una dintre principalele diferențe între un serviciu de semnătură în cloud și serviciile furnizate la nivel local este una de risc. Multe companii care evită riscurile, inclusiv guvernele, instituțiile financiare și medicale, și procesatorii de plăți necesită standarde mai sigure, cum ar fi certificările FIPS 140-2 nivelul 3 și FIPS 201, pentru a se asigura că semnătura este validă și sigură.[20]

WYSIWYS[modificare | modificare sursă]

Tehnic vorbind, o semnătură digitală se aplică unui șir de biți, în timp ce oamenii și aplicațiile „cred” că semnează interpretarea semantică a acestor biți. În scopul de a fi interpretat semantic, șirul de biți trebuie să fie transformat într-o formă care este semnificativă pentru om și aplicație, și acest lucru se face prin procese bazate pe o combinație de hardware și software de pe un sistem informatic. Problema este că interpretarea semantică a biților se poate schimba în funcție de procesele utilizate pentru transformarea biților în conținut semantic. Este relativ ușor să se schimbe interpretarea unui document digital implementând modificări pe sistemul de calcul unde se procesează documentul. Dintr-o perspectivă semantică, acest lucru creează incertitudine cu privire la ce anume a fost semnat. WYSIWYS⁠(d) (What You See Is What You Sign) [21] înseamnă că interpretarea semantică a unui mesaj semnat nu poate fi schimbată. În special, acest lucru înseamnă și că un mesaj poate conține informații ascunse, de care semnatarul nu este conștient, și care pot fi dezvăluite după ce s-a aplicat semnătura. WYSIWYS este o cerință necesară pentru validitatea semnăturilor digitale, dar această cerință este dificil de garantat din cauza creșterii complexității sistemelor informatice moderne. Termenul WYSIWYS a fost inventat de către Peter Landrock⁠(d) și Torben Pedersen⁠(d) pentru a descrie unele dintre principiile de furnizare de semnături digitale sigure și recunoscute legal pentru proiecte pan-europene.

Semnăturile digitale comparativ cu semnătura olografă[modificare | modificare sursă]

O semnătură olografă poate fi replicată de pe un document pe altul prin copierea manuală sau digitală a imaginii, dar pentru a fi copii credibile de semnătură care pot rezista controlului este necesară o semnificativă abilitate manuală sau tehnică, iar producerea de semnături olografe false care rezistă controlului profesional este foarte dificil.

Semnăturile digitale criptografice leagă o identitate electronică de un document electronic și semnătura digitală nu poate fi copiată pe un alt document. Mai mult, verificarea cu certitudine a veridicității semnăturii digitale este la îndemâna oricui, nu doar specialiștilor.

Contractele de hârtie au uneori blocul de semnături olografe pe ultima pagină, iar paginile anterioare pot fi înlocuite după aplicarea semnăturii. Semnăturile digitale pot fi aplicate pe un document întreg, astfel că semnătura digitală de pe ultima pagină va indica alterarea dacă orice date de pe oricare dintre pagini au fost modificate.

Utilizarea actuală, aspecte practice și legale[modificare | modificare sursă]

Toate sistemele de semnătură digitală au în comun următoarele premise de bază, indiferent de teoria criptografică sau de prevederile legale:

  1. Algoritmi de calitate
    Se știe că unii algoritmi cu chei publice sunt nesiguri, întrucât s-au descoperit atacuri practice împotriva lor.
    Implementări de calitate
    O implementare cu greșeli a unui algoritm (sau protocol⁠(d)) bun nu va funcționa.
    Utilizatorii (și software-ul lor) trebuie să efectueze corespunzător protocolul de semnare.
    Cheia privată trebuie să rămână privată
    Dacă cheia privată devine cunoscută oricărei alte părți, acea parte poate produce semnături digitale perfecte de orice fel.
    Proprietarul cheii publice trebuie să fie verificabil
    O cheie publică asociată cu Bob chiar provine de la Bob. Acest lucru se face de obicei folosind o infrastructură de chei publice⁠(d) (PKI) și asocierea cheie publică↔utilizator este atestată de către operatorul PKI (numit autoritate de certificare⁠(d)). Pentru PKI-urile deschise în care oricine poate solicita un astfel de atestat (întruchipat universal într-un certificat de identitate⁠(d) protejat criptografic), posibilitatea atestării eronate este netrivială. Operatorii de PKI comerciale au suferit mai multe probleme cunoscute publicului. Astfel de greșeli ar putea duce la documente fals semnate, și, astfel, fals atribuite. Sistemele PKI „închise” sunt mai costisitoare, dar mai greu de subminat în acest fel.

Numai dacă toate aceste condiții sunt îndeplinite, o semnătură digitală va fi de fapt o probă a identității cui a trimis mesajul, și, prin urmare, a acordului pentru conținutul lor. Prevederile legale nu pot schimba această realitate a posibilităților inginerești, deși unele încă nu reflectă această realitate.

Unele legislaturi au adoptat legi și/sau reglementări în multe jurisdicții prin care autorizează, aprobă, încurajează, sau permit semnăturile digitale și limitează sau reglementează efecte lor juridice. Primul pare să fi fost statul Utah, din Statele Unite, urmat la scurt timp de statele Massachusetts și California. Alte țări au adoptat și ele legi sau reglementări emise în acest domeniu, iar ONU are de mai mult timp un model activ de proiect de lege pe această temă. Aceste acte normative (sau propuneri legislative) variază de la loc la loc, și au răspuns în proporție variată așteptărilor (optimiste sau pesimiste) față de starea de fond a ingineriei criptografice⁠(d) actuale, uneori având efectul de a deruta potențialii utilizatori și clienți, dintre care aproape toți nu au cunoștințe de criptografie.

Standardele industriei[modificare | modificare sursă]

Unele industrii au stabilit standarde comune de interoperabilitate pentru utilizarea semnăturilor digitale între membrii industriei și autoritățile de reglementare. Între acestea se numără Automotive Network Exchange⁠(d) pentru industria de automobile și SAFE-BioPharma Association⁠(d) pentru industria asistenței medicale⁠(d).

Folosirea unor perechi de chei pentru semnare și criptare[modificare | modificare sursă]

În mai multe țări, semnătura digitală are un statut similar semnăturii olografe tradiționale, cum este de exemplu în legislația UE privind semnătura digitală. În general, aceste prevederi înseamnă că orice este semnat digital se leagă în mod legal de semnatarul documentului. Din acest motiv, se consideră adesea că cel mai bine este să se folosească perechi diferite de chei pentru criptare și semnare. Folosind perechea de chei de criptare, o persoană se poate angaja într-o conversație criptată (de exemplu, privind o tranzacție imobiliară), dar criptarea nu semnează din punct de vedere legal fiecare mesaj trimis. Doar atunci când ambele părți ajung la un acord, se semnează un contract cu cheile de semnare, și numai atunci există obligația legală de a respecta termenii unui anume document. După semnare, documentul poate fi trimis prin legătura criptată. Dacă o cheie de semnare se pierde sau se compromite, aceasta poate fi revocată pentru a anula toate tranzacțiile viitoare efectuate cu ea. Dacă o cheie de criptare se pierde, trebuie utilizată o copie de rezervă sau o cheie în custodie pentru a continua vizualizarea conținutului criptat. Cheile de semnare nu trebuie salvate sau puse în custodie decât dacă locul copiei de rezervă este și el criptat în mod sigur.

Note[modificare | modificare sursă]

Completări[modificare | modificare sursă]

  1. ^ De exemplu, orice întreg, r, „semnează” m=re și produsul, s1s2, a două semnături valide, s1, s2 ale lui m1, respectiv m2, reprezintă o semnătură validă a produsului m1m2.

Note bibliografice[modificare | modificare sursă]

  1. ^ US ESIGN Act of 2000
  2. ^ State of WI
  3. ^ National Archives of Australia Arhivat November 9, 2014, la Wayback Machine.
  4. ^ Ley de firma electrónica avanzada
  5. ^ The Information Technology Act, 2000. http://www.dot.gov.in/sites/default/files/itbill2000_0.pdf 
  6. ^ Turner, Dawn. „Major Standards and Compliance of Digital Signatures - A World-Wide Consideration”. Cryptomathic. http://www.cryptomathic.com/news-events/blog/major-standards-and-compliance-of-digital-signatures-a-world-wide-consideration. Accesat la 7 ianuarie 2016. 
  7. ^ JA, Ashiq. „Recommendations for Providing Digital Signature Services”. Cryptomathic. http://www.cryptomathic.com/news-events/blog/recommendations-for-providing-digital-signature-services. Accesat la 7 ianuarie 2016. 
  8. ^ Regulatory Compliance: Digital signatures and seals are legally enforceable ESIGN (Electronic Signatures in Global and National Commerce) Act
  9. ^ Pass, def 135.1
  10. ^ Goldreich's FoC, vol. 2, def 6.1.2.
  11. ^ "New Directions in Cryptography", IEEE Transactions on Information Theory, IT-22(6):644–654, Nov. 1976.
  12. ^ "Signature Schemes and Applications to Cryptographic Protocol Design", Anna Lysyanskaya, PhD thesis, MIT, 2002.
  13. ^ Rivest, R.; A. Shamir; L. Adleman (1978). „A Method for Obtaining Digital Signatures and Public-Key Cryptosystems”. Communications of the ACM 21 (2): 120–126. doi:10.1145/359340.359342. http://people.csail.mit.edu/rivest/Rsapaper.pdf. 
  14. ^ The History of Notes and Domino. http://www.ibm.com/developerworks/lotus/library/ls-NDHistory/. Accesat la 17 septembrie 2014. 
  15. ^ "A certified digital signature", Ralph Merkle, In Gilles Brassard, ed., Advances in Cryptology – CRYPTO⁠(d) '89, vol. 435 of Lecture Notes in Computer Science, pp. 218–238, Spring Verlag, 1990.
  16. ^ "Digitalized signatures as intractable as factorization." Michael O. Rabin, Technical Report MIT/LCS/TR-212, MIT Laboratory for Computer Science, Jan. 1979
  17. ^ "A digital signature scheme secure against adaptive chosen-message attacks.", Shafi Goldwasser, Silvio Micali, and Ronald Rivest. SIAM Journal on Computing, 17(2):281–308, Apr. 1988.
  18. ^ Moni Naor, Moti Yung: Universal One-Way Hash Functions and their Cryptographic Applications. STOC 1989: 33-43
  19. ^ "Modern Cryptography: Theory & Practice", Wenbo Mao, Prentice Hall Professional Technical Reference, New Jersey, 2004, pg. 308.
  20. ^ PrivateServer HSM Overview
  21. ^ Landrock, Peter; Pedersen, Torben (1998). „WYSIWYS? -- What you see is what you sign?”. Information Security Technical Report 3 (2): 55–61. 

Bibliografie[modificare | modificare sursă]

Lecturi suplimentare[modificare | modificare sursă]

  • J. Katz și Y. Lindell, "Introduction to Modern Cryptography" (Chapman & Hall/CRC Press, 2007)
  • Stephen Mason, Electronic Signatures in Law (4th edition, Institute of Advanced Legal Studies for the SAS Digital Humanities Library, School of Advanced Study, University of London, 2016). ISBN: 978-1-911507-00-0.
  • Lorna Brazell, Electronic Signatures and Identities Law and Regulation (2nd edn, London: Sweet & Maxwell, 2008);
  • Dennis Campbell, editor, E-Commerce and the Law of Digital Signatures (Oceana Publications, 2005).
  • M. H. M Schellenkens, Electronic Signatures Authentication Technology from a Legal Perspective, (TMC Asser Press, 2004).
  • Jeremiah S. Buckley, John P. Kromer, Margo H. K. Tank, and R. David Whitaker, The Law of Electronic Signatures (3rd Edition, West Publishing, 2010).
  • Digital Evidence and Electronic Signature Law Review Free open source