– “sinula” mi ideja, pa reko da podijelim –
Digitalni pečat je ideja da se može sa potpunom sigurnošću provjeriti da neki dokument nije modificiran nakon što je pečatiran. (digitalno)
Dokumenti koji su fizički pečatirani i skenirani nakon toga, svakako su podležni razno raznim malverzacijama. Te ne postoji način automatske provjere validnosti tih pečata, niti da li je dokument modificiran nakon što je pečatiran.
Koncept ideje je zapravo skroz jednostavan i istu metodu koristim kada želim programski zaštititi da korisnik ne može ručno mijenjati parametre u urlu.
Što napravim?
-
Uzmem sve parametre iz urla, povežem ih i kodiram ih u relativno kratki hash. Što ispadne ništa drugo nego neki random niz simbola, npr: hash=“sdf967khiuHUK98kfs”.
-
Zatim taj hash zalijepim na kraj url-a, kao zadnji get parametar …i takav url prosljeđujem dalje na korištenje.
-
Kad se aplikacija učita sa takvim url-om, ponovi istu metodu hashiranja parametara iz url-a i dobiveni hash uspoređuje sa onim iz url-a. Ako se hashovi ne poklapaju, znači da je korisnik nešto mijenjao na takvom url-u.
Ajmo taj proces nazvati “fiksiranje url-a”. Pošto hash fiksira stanje url-a koji kasnije ne smije više biti izmjenjen, da bi prošao validaciju.
Ista logika bi se koristila za fiksiranje dokumenata. Sadržaj dokument, koliko god da je dugačak, cijeli bi se provukao kroz koder i opet bi se dobio kratki hash od svega 20-ak karaktera. Taj hash bi se poput pečata lijepio negdje na dokument i bio bi osnova da se provjeri jel sadržaj dokumenta odgovara hashu, ili ti ga “digitalnom pečatu”.
But, Houston…we have a problem!
Problem je u tome što koder koji bi iz sadržaja dokumenta pravio hash, njegova logika mora biti tajna. Ako nebi bila tajna, svatko bi mogao na izmjenjeni dokument lupiti novi pečat…i time sve pada u vodu.
Stoga, kome dati koder u ruke da lupa pečate i da ih provjerava?
Pa u tu svrhu bi se trebao napraviti nezavisni web-servis, koji ima dva zadatka:
- da primi dokument, pečatira ga i zatim da ga vrati.
- da primi pečatirani dokument i javi povratno jel dokument i pečat validan
Na taj način tajna kodiranja ostaje u pozadini toga servisa i problem je skoro rješen. Ali nije još…
Nije još, jer ako je servis otvoren da ga svatko može koristiti, onda prevarant nakon što dobije pečatirani dokument, može ukloniti pečat, izmjeniti dokument…te ga opet pomoću tog servisa pečatirati.
Druga strana će tako provjerom dokumenta ustvrditi ispravnost pečata, iako je malverzacija bila tu.
Stoga, idemo još jedan korak dalje.
Isto kao kada se izrađuje fizički pečat, moraju se predati dokumenti firme koja izrađuje pečat …tako i ovdje da bi netko mogao biti ovlašten da izda digitalni pečat, mora se registrirati u sustav.
Može se registrirati i kao firma i kao fizička osoba …to nije bitno, jer onaj tko koristi sustav da provjeri pečatirani dokument, dobit će povratnu informaciju tko je i kada pečatirao dokument. Pa ako se provjerava dokument neke firme, za očekivati je da je ista i pečatirala dokument. A u gornjem primjeru malverzacije, posrednik ako zamjeni pečat, bit će vidljivo da pečat ne pripada odgovarajućem subjektu.
I to je osnova sustava…a na toj osnovi bi se moglo zaista svašta razviti od trećih strana. (Koje bi putem API-a komunicirale sa servisom )
Recimo:
- mobilna aplikacija da se dokument može samo uslikati i da se tako provjeri validnost pečata i dokumenta
- fizički uređaji koji su skenirka/printer…mogli bi dobiti ulogu i da mogu ostaviti “digitalni” pečat na fizičkim dokumentima
- fizički uređaji koji bi automatski provjeravali validnost “digitalnog” pečata na fizičkim dokumentima. (S trenutnim fizičkim pečatima takav level automatizacije nije moguć, dok sa ovim tipom digitalnog pečata bi se takvi procesi mogli automatizirati i za fizičke dokumente, a da ne govorimo za digitalne dokumente, gdje to postaje “dječja igra”)
- programi poput Microsoft worda i sličnih bi mogli dobiti ekstenzije da se dokument automatski pečatira prilikom spremanja…ili prilikom attachirnja na email, što bi cijeli proces dovelo na razinu da ga ljudi ne moraju biti niti svjesni da postoji, a ako se bilo gdje u razmjeni pojavi dokument koji je lažiran, da sigurnosni alert vrisne i upozori korisnika da je primio “lažiran” dokument.
Takva razina mogućnosti automatizacije i kontrole vjerodostojnosti dokumenata…spram današnje gdje niti ne postoji odgovrajuća validacija vjerodostojnosti digitalnog dokumenata… mislim da čini ovu ideju naprosto genijalnom.
Da ne spominjem da bi se taj centralni servis mogao izvesti i decentralizirano na blockchain tehnologiji, pa bi cijeli sustav bio još sigurniji, tj. nebi bio podložan malverzaciji koja je ovako moguća od te strane koja bi imala servis u vlasništvu.