Drošs elektroniskais paraksts un dinamiskais saturs

Digitālo parakstu viena no pamatfunkcijām ir garantēt parakstīto datu integritāti, kas tiek nodrošināts, parakstītos datus (to kontrolsummu) šifrējot ar kādu no asimetriskās kriptogrāfijas algoritmiem. Veicot izmaiņas parakstītajos datos, to kontrolsumma vairs nesakrīt ar parakstā iekļauto vērtību, līdz ar to paraksts identificējams kā nederīgs.

Tomēr reālajā dzīvē parakstāmie dati ir krietni vien sarežģītāki par parastām teksta virknēm. Digitāli parakstot dokumentu datnes, tiek garantēts, ka paraksta pārbaudītājs varēs konstatēt, vai dokumenta datnes saturs ir tieši tāds, kāds tas bijis parakstīšanas brīdī. Taču tas neko nepasaka par to, vai sakrīt arī dokumenta datnes satura reprezentācija (attēlojums) lietojumprogrammās, kas šos dokumentus attēlo.

Demonstrējam vairākus veidus, kā iespējams, izmantojot dažādas .docx un .odt teksta dokumentu formātos pieejamās funkcijas, radīt dokumentus, kuru datņu saturs ir nemainīgs un, līdz ar to, nerada šaubas par digitālā paraksta derīgumu, taču faktiskais lietotājam attēlotais saturs (tā reprezentācija) var atšķirties.

Vēlamies uzsvērt, ka šie piemēri neatspoguļo situāciju kādā konkrētā dokumentu parakstīšanas lietojumprogrammatūrā vai ar kādu konkrētu e-parakstīšanas rīku. Dinamiskais saturs var tikt iekļauts jebkādā biroja lietojumprogrammas radītājā dokumenta formātā un ir ticams, ka tā skar dokumentu parakstīšanas pakalpojumu sniedzējus ne tikai Latvijā, bet arī visā Eiropā un pasaulē.

Tālāk mēs aprakstām trīs atšķirīgus šī uzbrukuma vektorus. Jāpiebilst, ka uzbrukumu tehniskais izpildījums nav jaunatklātas ievainojamības; par šiem riskiem ir runāts jau laikmetā, kad elektroniski parakstītu dokumentu nozīme pasaules ekonomikā bija vērā neņemama. Mūsuprāt, ir svarīgi atkārtoti apskatīt šīs ievainojamības radītos riskus 2021. gadā, kad digitālam dokumentam ir pavisam cits svars.

Dinamiski OLE objekti

OLE (Object Linking & Embedding) objekti ir mehānisms, kas ļauj dokumentos iekļaut saites uz citiem dokumentiem vai arī dokumentus iegult citu citā (angļu valodā – embed), piemēram, Microsoft Word teksta dokumentā iekļaujot pilnvērtīgu Microsoft Excel izklājlapu, zīmējumu u.tml.

Šis mehānisms rada iespēju dokumentos iekļaut saturu, kura reprezentācija ir atkarīga no dažādiem kritērijiem, t.sk. arī tādu saturu, kurš katru reizi var izvērsties atšķirīgs (nedeterministisks), jo tas tiek radīts tieši dokumenta attēlošanas brīdī.

Līdz ar to var tikt izveidots digitāli parakstīts, verificējams dokuments, piemēram, līgums, kura priekšskatījums dokumentu parakstīšanas rīkā satur vienu tekstu, taču, atverot pašu dokumenta datni, ir redzams jau cits teksts, kas turklāt var mainīties dokumentu atverot, piemēram, citā datumā.

Statisku OLE objektu priekšskatījumi

Atšķirīgas dokumenta satura reprezentācijas ir iespējams panākt arī, izmantojot statisku OLE objektu saturu, izmantojot faktu, ka .docx formāts paredz iespēju iegultam OLE objektam, piemēram, teksta failam, iekļaut arī objekta reprezentāciju attēla veidā, ko var izmantot kā objekta priekšskatījumu.

Piemērā redzams, ka dokumenta teksts ir atšķirīgs, atverot parakstīto dokumenta datni eParakstītājs rīka priekšskatījumā un atverot to pašu dokumentu LibreOffice.

Citi satura iegulšanas veidi

Jāpiezīmē, ka konstatētā ievainojamību klase nav specifiska tieši šeit attēlotajām lietojumprogrammatūrām un rīkiem. Līdzīga veida satura manipulācijas iespējams veikt arī, piemēram, .odt formāta dokumentos ar iegultiem OpenPGP formāta digitālajiem parakstiem.

Atverot piemēra dokumentu LibreOffice Writer, redzams, ka tajā ir attēls ar skaitļiem, un tam ir derīgs paraksts.

Atverot to pašu dokumentu atkārtoti, tā paraksts joprojām tiek uzskatīts par derīgu, taču redzams, ka apakšējais skaitlis ir cits, turklāt augšējā attēla rindā ir redzama lietotāja ārējā IP adrese.

Kā rīkoties

Ja ir runa par tādu datņu parakstīšanu, kas nav dokuments, piemēram, programmatūras kods vai mākslas darba fotogrāfija, nav pamata satraukumam, jo tiks parakstīti tieši datnē atrodamie digitālie dati.

Ja jāparaksta dokumenti, tad svarīgākais ir parakstīt pareizo dokumenta saturu, neatkarīgi no tā, kādi binārie dati ir dokumenta datnē. Tādējādi, lai izvairītos tikt pakļautam krāpšanas riskam, visdrošākais veids, kā parūpēties par datu integritāti, ir dokumentu pārveidot par tā vizuālo reprezentāciju (attēliem) un šos attēlus ievietot PDF failā, tādā veidā simulējot dokumentu izdrukāšanu un ieskanēšanu. Tas garantēs, ka parakstām to, ko redzam, un, ka šis nākotnē nemainīsies. Tālāk šo PDF failu, kas sastāv no attēliem, var droši ievietot EDOC vai ASiC konteinerā un parakstīt. Šo procesu izstrādātāji var automatizēt, ieviešot atbilstošu funkcionalitāti dokumentu parakstīšanas produktos.

Ja šāds variants nav iespējams, iesakām atteikties no .docx, .odt u.tml. failu parakstīšanas EDOC konteineros. Tā vietā rekomendējam failus sagatavot ISO PDF/A-1 formātā un tad tos parakstīt EDOC konteineros. Norādām, ka arī PDF formātam ir zināmi riski, tāpēc ieteicams izmantot PDF standartu ar pēc iespējams mazāku atbalstītu funkcionalitāti.

Izstrādātāju rokās ir vēl viens trumpis. Lai dotu sirdsmieru otrajam un nākamajiem parakstītājiem, iesakām parakstīšanas programmatūrās ieviest algoritmus, kas brīdina lietotāju, ja tiek parakstīts dokuments, kas potenciāli varētu saturēt mainīgas daļas. Piemēram, var analizēt dokumenta tipu, meklēt OLE objektus un tamlīdzīgi. Katrai no šīm metodēm ir savs false positive (kļūdaini parādītie brīdinājumi) un false negative (kļūdaini neparādītie brīdinājumi) gadījumu biežums, tāpēc jāizvēlas katram lietojumam piemērotāko.

Elektroniski parakstīti dokumenti būtiski atvieglo mūsu ikdienu ne vien pandēmijas laikā, bet arī attīstoties ar vien jauniem digitāliem pakalpojumiem, tamdēļ ir svarīgi nodrošināt to parakstīšanas procesam pietiekamu aizsardzību, lai mazinātu krāpšanas riskus.

Atbildēt

Jūsu e-pasta adrese netiks publicēta.