Digitalni pečat

– “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?

  1. 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”.

  2. Zatim taj hash zalijepim na kraj url-a, kao zadnji get parametar …i takav url prosljeđujem dalje na korištenje.

  3. 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:

  1. da primi dokument, pečatira ga i zatim da ga vrati.
  2. 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. :wink:

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.

1 Like

Tako ti radi digitalno potpisivanje sa cerfitikatom koji izdaje neka institucija u nekoj državi.

Sve ti to već postoji. Kod nas fina izdaje certifikat za firme s kojim se digitalno postpisuju dokumenti.

Inače digitalni dokumenti se potpisuju na način da se računa hash + certifikat itd…

Uglavnom zeznuto područje i opširno i ove probleme koje imaš , sve je već izmišljeno što mora biti izmišljeno.

4 Likeova

Hajme, opet ti guraš najgluplju izjavu povjesti čovjčanstva što je ikad rečena i što će ikad biti rečena. Nikada neće sve biti izmišljeno, nikada.
I nikada ne reci nikada. xd xd

Ovo što si napisao da takav proces fina provodi…samo ide u prilog ovoj ideji. (Niti sam mislio da sam se prvi ovoga sjetio, jer ideje nisu naše…nego su u vlasništvu prostora i vremena. Mi smo samo kanali kroz koje prodiru na vidjelo.)
No kako se sve razvija bez svog konačnog kraja…tako i ova ideja nema ograničenja.
Kao što rekoh, ova ideja ima u svom potencijalu da svaki attachment bude digitalno potpisan…tako ako recimo email attachment nastaje unutar banke, svaki dokument koji izađe emailom iz banke više ne može biti modificiran…

Sumnjam da smo baš blizu toga…ali po tebi, sve je već izmišljeno xd

Ovo se odnosilo na digitalnop potpisivanje.

Opet ti kažem da se dokumenti potpisuju sa certifikatom i ostaju sigurni i kao potpisani idu dalje.
To je već izmišljeno.

Zahebi te “budaletine” …koji ne vide dalje od svoga dvorišta i tehnologiju prilagođavaju uskom spektru iskoristivosti, prema osobnim potrebama.

Ovo o čem ja govorim, to treba zasjeti neki igrač poput pay-pala, koji gleda i razmišlja globalno…i takav sustav napraviti lakim za korištenje i da ga može bilo tko koristiti. Kakve institucije…kakva država… :wink:

Jeste, samo imaš problem, gdje će biti algoritam koji će računati hash i provjeravati.

I opet…to je kao da vidiš prvi auto (još onaj na parni pogon) i zaključiš: “Ok, auto je već izmišljeno, tu se više nema ništa za dodati.” :wink: :wink:

Odgovorit ću kontra pitanjem:
Zašto imaš povjerenje u pay-pal da ima ispravan algoritam koji obračunava iznos tvog novca?

Znači, netko jednostavno ima priliku steći takav autoritet. Ne kažem da je to jednostavno, to je najteži dio da bi se gore opisana ideja realizirala. Treba ipak biti faca da bi se pokrenulo tako nešto globalno. (Nebi ni ja share-ao ideju da je mogu sutra realizirati xd xd)

Ali ja čak niti to ne lajkam, koliko god da netko bio faca… nego smatram da se to može izvesti i bez da se ukazuje povjerenje trećoj strani koja će šifrirati hasheve. A to bi se vjerovatno dalo izvesti na blockchainu.

No i bez blockchaina, trenutno nam cijeli sustav zavisi o raznim centraliziranim sistemima, tako da ne vidim ni ovdje problem da postoji centar koji preuzima odgovornost za validaciju dokumenata/hasheva na globalnoj razini.

Imaš ih u svakoj normalnoj državi.
Ja u xy državi potpišem sa svojim certifikatom izdanim u xy državi.
Ti u xz državi potpišeš sa svojim certifikatom izdanim u xz državi.
Jedna institucija sa drugom nemaju veze.
Razmijenimo dokumente i obadvojici prođe validacija za digitalni potpis. :grinning::grinning::grinning:

Super da postoje, to olakšava posao da se napravi jedan globalni sustav.

Baš me je i mučilo tko će verificirati dokumente nekom subjektu za prijavu u globalni sustav. Jer bilo bi smješno da se gradi globalni sustav koji ima 100% verifikaciju dokumenta, a prijaviti se mogao unutra netko sa lažnim dokumentima, hehe.

Sada vidim da postoje leveli na razini države, koji bi omogućili povjerljivo registriranje subjekata u globalni sustav.

Tako da to što postoje, to je još jedan fini plus ideji. :slight_smile:

To ti je ko razvoj programskog code-a …uvijek koristiš nekakve “polu-funkcije”, da bi napravio kompletniju funkciju. :wink: Itd…itd. to je endless process!

Za sve postojii globalni sustav/organizacija. Firme koje izdaju certifikate su uglavnom članice i zato ti validacija od druge firme prolazi koja je članica. Ona firma koja nije članica , dokument će biti validan , ali kod digitalnog potpisa će biti crveno.

Tako imaš i za apartmane (booking - svi uglavom razmjenjuju informacije s njime preko api-a), avio prijevoz(mislim da su tri firme s kojima svi aerodromi razmjenjuju podatke, a oni međusobno) i sve ostalo.

Dobra ideja. Ja mislim da bi za takav sistem zaštite najbolje bilo napraviti i novi format datoteke. Da se kompletan postupak završava u tom krugu, radi što bolje zaštite i provjere pojedinog dokumenta.

Na taj način bi mogao čak imati više tipova dokumenta, recimo neki txt za email konverzaciju, neki digitalni file za potvrdu neke narudžbe online, dig dokument za valjanost neke aplikacije . Čak možda da se ubaci i dio koda prije kompajliranja, da se nekoj aplikaciji dodatno zaštiti licenca i poveže sa korisnikom ili firmom… Ima ideja mnoge mogućnosti…

1 Like

Nisam te najbolje shvatio zašto različiti formati? Meni se baš čini da je prednost što bi dokument mogao dobiti pečat u formatu u kojem je. Jer svaki format je u svojoj pozadini skup bitova, a svaki skup bitova se može prezentirati nekakvim stringom…isto kao što se svaki skup bitova može hashirati.

Prema tome, mogao bi čak i sliku pečatirati.
Pogotovo dokumenti koji imaju metatagove, mogli bi dobiti pečat koji ne mora nužno biti ni vidljiv oku (koji ne postoji na površini, nego samo u nekom od meta tagova)