Elektroniskais paraksts

Vikipēdijas raksts
Pārlēkt uz: navigācija, meklēt

Elektroniskais paraksts jeb e-paraksts ir elektroniski dati, kas viennozīmīgi apliecina elektroniskā dokumenta (parakstāmā dokumenta) autentiskumu, apstiprina parakstītāja identitāti.

Drošs elektroniskais paraksts (no angļu: qualified electronic signature) - juridisks termins, kas noteikts Latvijas Elektronisko dokumentu likumā ("EDL")[1] un apzīmē tādu Elektronisko parakstu, ko ir izdevis "Uzticams sertifikācijas pakalpojumu sniedzējs" (USPS), kam šāds statuss tiek piešķirts, izpildot likumā noteiktās drošības prasības pret infrastruktūru, tehnoloģijām un ieviestajiem drošības pārvaldības procesiem. Latvijā vienīgā šāda akreditētā organizācija ir VAS "Latvijas Valsts radio un televīzijas centrs".

Latvijas republikas normatīvos aktos ir noteikts, ka gribas apliecinājums elektroniskā formā ir "Drošs elektronisks paraksts" ar laika zīmogu, tas ir pielīdzināms pašrocīgam parakstam uz papīra dokumenta un ir saistošs trešajām pusēm. USPS izsniegtais laika zīmogs viennozīmīgi apliecina parakstīšanās laiku, tādejādi nodrošinot tiesisko noteiktību.

Vēsture[labot šo sadaļu | labot pirmkodu]

Elektroniskias paraksts vēsturiski tika izveidots 20. gadsimta beigās, bet plašāku attīstību un pielietojumu rada 21.gs. pirmajā desmitgadē. Vēsturiskā attīstībā var izdalīt šādus būtiskus Elektroniskā paraksta attīstības posmus:

  • 1976. gada jūnijā tika publicēts amerikāņu kriptogrāfu Vitfīlda Difija (Whitfield Diffie) un Martina Helmana (Martin Hellman) darbs "Vairāklietotāju kriptogrāfijas paņēmieni" (Multi-user cryptographic techniques). Autori radīja jēdzienu «elektronisks ciparu paraksts», viņi savā rakstā "Jauni kriptogrāfijas virzieni" paredzēja ka tehnoloģiski varēs realizēt šādus risinājumus, kā arī rakstā formulēja Elektroniskā paraksta algoritmam svarīgākos principus. [2]
  • 1977. gadā trīs zinātnieki Ronalds Rivests (Ronald Linn Rivest), Adi Šamirs (Adi Shamir) un Leonards Adlemans(Leonard Max Adleman) radīja asimetriskās atslēgas metodi, ko, saīsinot viņu uzvārdu pirmos burtus, nodēvēja par RSA kriptogrāfisko algoritmu, ko bez papildus pilnveidošanas var izmantot kā vienkāršotu risinājumu elektroniskiem parakstiem.[3] Pēc RSA algoritma izstrādes tika izstrādāti arī citi algoritmi, piemēram, Rabina elektroniskais paraksts.
  • 1984. gadā pirmo reizi tikka strikti noteiktas drošības prasības elektroniko parakstu algoritmiem, identificējot uzbrukumu veidus elektronisko parakstu algoritmiem. Tika piedāvāta ''GMR'' shēma, kas atbilda šīm prasībām.[4] (Shafi Goldwasser, Silvio MicaliRonald Linn Rivest)
  • 1999.gada 13.decembrī pieņemta Eiropas Savienības elektronisko parakstu direktīva 1999/93/EC, kas nosaka galvenos principus elektroniskā paraksta izmantošanā un konceptuāli runā par elektroniskā paraksta izmantošanas uzsākšanu visās Eiropas Savienības valstīs.
  • 2000.gada 30.jūnijā ASV pieņēma likumu par elektroniskajiem parakstiem globālajā un nacionālajā komercijā. Likums ietver sevī vadlīnijas elektroniskā paraksta izmantošanai (nenosaka un neierobežo tehnoloģijas). Galvenā šī likuma būtība - līgums vai paraksts nevar tikt uzskatīts par nederīgu tikai tāpēc, ka tas eksistē tikai elektroniskā formā.
  • 2006.gada 4.oktobrī Latvijā tika oficiāli palaists darbībā www.e-me.lv un izsniegta pirmā darboties spējīgā elektroniskā paraksta viedkarte.
  • 2012. gada 1. aprīlī Latvijā tikka ieviestas personu elektroniskās identifikācijas kartes(E-ID), kurās iekļauts elektroniskais paraksts.

Risinājumi[labot šo sadaļu | labot pirmkodu]

Var būt vairāki veidi kā to panākt. Parasti lieto kriptogrāfisku elektronisko parakstu, šis raksts ir par to. Elektroniskais paraksts ir datu bloks, kas sastāv no ar parakstītāja privāto atslēgu nošifrēta (parakstīta) parakstāmo datu hash. To datu bloku vai nu pievieno pie parakstītajiem datiem (parasti sākumā vai beigās), vai arī ieliek atsevišķā failā. Atsevišķos gadījumos (DSA), parakstīšanas algoritmam jau ir definēts nepieciešamais hash algoritms. Elektroniskajam parakstam lieto 2 algoritmus:

  • hash algoritmu (jaucējfunkciju), kas no mainīga (un potenciāli liela) garuma parakstāmajiem datiem izveido īsu, konstanta garuma bitu virkni, un
  • paraksta algoritmu, kas nošifrē iegūto īso bitu virkni ar parakstītāja privāto atslēgu.

Paraksta pārbaude notiek aprēķinot pārbaudāmā datu bloka hash, izmantojot to pašu algoritmu, kā parakstīšanas laikā, paralēli atšifrējot paraksta datu bloku ar parakstītāja publisko atslēgu un beigās salīdzinot vai aprēķinātais hash ir tāds pats kā atšifrētais. Ja hash ir vienādi, tad paraksts ir derīgs, ja nav, tad paraksts nav derīgs. Šāda pārbaude nosaka tikai to, vai paraksts ir izveidots ar doto publisko atslēgu. Vēl, ir nepieciešams noskaidrot pašas publiskās atslēgas autentiskumu. Tam lieto dažādas metodes.

Paraksta drošība raksturo tā noturību pret viltošanu. Labas kvalitātes hash algoritmiem ir grūti piemeklēt ieejas datus, kas dotu vienus un tos pašus izejas datus (tādi ieejas dati eksistē visiem hash algoritmiem, jo ieejas datiem var būt vairāk variāciju kā izejas datiem). Ja tādus datus atrod un tie nav bezsakars (mazāk varbūtīgi), tad paraksts, kas bija taisīts vieniem datiem, būs derīgs arī citiem datiem, kas ģenerē to pašu hash. Vēl, asimetriskās šifrēšanas (parakstīšanas) algoritmam ir jābūt pietiekoši drošam, t.i., lai no publiskās atslēgas nevarētu aprēķināt privāto atslēgu. Jebkurš, kam ir pieeja privātajai atslēgai, var izveidot derīgus elektroniskos parakstus. Šī iemesla dēļ privāto atslēgu ir ļoti jāsargā no nozagšanas. Parakstīšanai lietotajām privātajām atslēgām (atšķirībā no šifrēšanai lietotajām), nav nepieciešamas rezerves kopijas, ja atslēga tiek iznīcināta, turpmākajiem parakstiem uzģenerē jaunu. Lai atslēgu būtu grūtāk nozagt (nokopēt), to bieži glabā viedkartē. Viedkartes procesors veic parakstīšanas operāciju izmantojot privāto atslēgu, tādejādi datoram nav nepieciešama piekļuve pie privātās atslēgas. Atkarībā no viedkartes veida atslēgu vai nu ģenerē pašā viedkartē (un tā atslēga nekad neeksistē nekur citur), vai arī ģenerē ārpus viedkartes un pēc tam ielādē iekšā. No viedkartes parasti privāto atslēgu ārā dabūt nevar (Atsevišķos gadījumos ar lielām grūtībām var, tā ir viedkartes uzlaušana).

Lai identificētu parakstītāju, publisko atslēgu parasti lieto kopā ar parakstītāju identificējošiem datiem. Tādu datu bloku saukā par kriptogrāfisko sertifikātu (certificate). Eksistē vairāki sertifikātu formāti, no kuriem populārākie ir PGP un X.509. Paraksta formāti parasti definē lietojamo sertifikāta formātu. Sertifikātā iekļauto informāciju (ieskaitot publisko atslēgu) paraksta ar elektronisko parakstu. X.509 sertifikātiem var būt tikai viens parakstītājs, kas ir vai nu pats sertifikāts (izmantojot iekļautās publiskās atslēgas privāto atslēgu) vai arī kāds cits tā paša formāta sertifikāts (izmantojot savu privāto atslēgu)(tas ir CA (certificate authority)). Pirmajā gadījumā ir pašparakstīts sertifikāts (self signed certificate), otrā gadījumā tas ir parasts sertifikāts. PGP sertifikātiem var būt daudzi parakstītāji. Tur arī plašāk lieto pašparakstītus sertifikātus.

Atvērtā pirmkoda programmas bieži paraksta ar PGP formāta elektronisko parakstu. Windows programmas var parakstīt ar signtool.exe, kas izmanto X.509 formāta sertifikātus. Valsts izsniegtie elektroniskā paraksta sertifikāti arī ir X.509 formāta (arī Latvijā). E-pasta parakstīšanai var lietot gan PGP formāta parakstus (tie ir 2 veidu: pgp/mime un pgp inline) vai X.509 bāzētos S/MIME parakstus.

Izplatītākie elektroniskā paraksta algoritmi ir:

  • RSA
  • DSA
    • ECDSA

RSA atslēgas var lietot gan šifrēšanai, gan parakstīšanai. Paraksta izmērs ir salīdzināms ar atslēgas lielumu. Tā kā relatīvi drošas atslēgas sākas no 2048 bit, paraksts sanāk relatīvi liels.

DSA atslēgas var lietot tikai parakstīšanai. Paraksts sanāk īsāks (320-640 biti ar 1024-2048 bitu publiskajām atslēgām). ECDSA paraksts sanāk apmēram tik pat liels kā DSA, bet ECDSA ir mazākas publiskās atslēgas. DSA definētais hash algoritms (vismaz 1024 bit atslēgām) ir SHA1. Ģenerējot DSA (un ECDSA) parakstus, ir nepieciešami slepeni, neatkārtojami random dati. Ja tie nav pietiekoši slepeni un neatkārtojami, no paraksta (un publiskās atslēgas) var aprēķināt privāto atslēgu.

Dažreiz, parakstot dokumentus, ir nepieciešams pierādīt ne tikai to ka to dokumentu ir parakstījis parakstītājs, bet arī to ka dokuments nav ticis parakstīts vēlāk par kādu noteiktu laiku. Tam lieto laika zīmogu. (angliski). Šajā gadījumā parakstāmā dokumenta hash vispirms aizsūta parakstīt TSA (timestamping authority) serverim, kas pieliek klāt saņemšanas laiku un paraksta ar savu atslēgu (un rezultātu atsūta atpakaļ). Pēc tam paraksta kā parasti.

Parasti ar jēdzienu "elektroniskais paraksts" saprot asimetrisko elektronisko parakstu, kas lieto asimetrisko kriptogrāfiju. Datus var autentificēt arī ar simetriskām metodēm, šajā gadījumā parakstītājam un pārbaudītājam ir viena, simetriska atslēga. Tāpat kā ar asimetrisko parastu, te parakstāmajiem datiem aprēķina hash un pēc tam, tajam hash galā pieliek simetrisko atslēgu (kas būtībā ir slepens gadījumskaitlis) un tam veidojumam aprēķina hash vēlreiz. Eksistē vairākas metodes, kā tieši to dara, populārākā ir HMAC. Tā kā simetriskā parakstīšana prasa mazāk resursu un paraksts ir mazāks, to var lietot plašāk. TLS to lieto katrai pārsūtāmajai paketei.

Atsauces[labot šo sadaļu | labot pirmkodu]

  1. Likums «Elektronisko dokumentu likums»
  2. New Directions in Cryptography, IEEE Transactions on Information Theory, IT-22(6):644-654, Nov. 1976.
  3. A Method For Obtaining Digital Signatures and Public-Key Cryptosystems, Communications of the ACM, 21(2): 120—126, Feb. 1978.
  4. «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.

Ārējās saites[labot šo sadaļu | labot pirmkodu]