BlockchainSecurity
SR EN RU
Odgovor na incidente
Blockchain Osnove

Kako blockchain čuva integritet podataka iz IoT senzora: šta je dokazano i kako se proverava

Kako blockchain čuva integritet podataka iz IoT senzora: šta je dokazano i kako se proverava

Ključno ukratko:

  • U praktičnom projektu podatak ostaje u cloudu, a na blockchain se upisuje njegov SHA-256 otisak.
  • Otisak mogu upisati samo ovlašćene adrese; ovlašćenje dodaje vlasnik.
  • Demo pokazuje da provera pada kada se promeni temperatura u senzorskom zapisu.
  • Poređenje troška grupnog i pojedinačnih upisa odnosi se na lokalni demo.
  • Sam lookup ne otkriva vraćanje starog podatka čiji otisak već postoji u registru.

Kada podatak sa senzora ode u cloud, vlasnik gubi kontrolu nad njim: provajder ga može izmeniti ili obrisati bez znanja korisnika. Blockchain ne mora da čuva sam podatak da bi to otkrio. Za integritet podataka dovoljno je da na lancu stoji SHA-256 otisak zapisa: kada se sadržaj izmeni, njegov novi otisak ne postoji u registru i provera vraća false.

Ovaj tekst prati seminarski rad iz predmeta Blockchain tehnologije i praktični projekat autora ovog sajta. Pokazaćemo šta je u projektu stvarno dokazano, kako proveru možete ponoviti i gde su granice, jer demo pokriva neovlašćenu izmenu, a ne vraćanje stare verzije podatka.

Problem: ko kontroliše podatak u cloudu

Prema seminarskom radu, korisnik nakon smeštanja podataka u cloud gubi kontrolu nad njima. Provajder ima potpunu kontrolu nad informacijama u cloud data centrima i može ih menjati, brisati ili kopirati bez znanja korisnika.

Rad ne ograničava mogućeg napadača na nekoga izvan sistema. Među mogućim napadačima navodi vlasnika, zlonamernog korisnika, nepouzdano treće lice i samog provajdera cloud usluga.

Rollback napad vraća sistem na starije verzije softvera, uz povećan rizik od gubitka podataka i destabilizacije sistema. Byzantine napadi uzrokuju nepravilnu obradu zahteva i mogu dovesti do prekida rada.

Kod replay napada presretnuti podaci ponovo se šalju; rad ga navodi među napadima na autentifikaciju.

Napadi na pravovremenost ometaju izvršavanje zadataka u predviđenom vremenu.

Kada procenjujete rešenje, zato odvojeno postavite pitanja o izmeni sadržaja, starosti zapisa i pravovremenom izvršavanju zadatka. Nemojte sve te provere svesti na pitanje da li otisak postoji.

Otisak i mehanizmi provere integriteta

Otisak (hash) je vrednost izračunata iz podataka pre skladištenja radi kasnije provere da li su podaci izmenjeni.

Praktični projekat za senzorske podatke koristi SHA-256 i čuva samo njihov otisak na lancu.

U seminarskom radu PDP koristi challenge-response protokol za proveru integriteta podataka na cloud serveru. Posle slanja korisnik zadržava metapodatke i briše lokalnu kopiju fajla.

U opisu POR mehanizma korisnik čuva autentifikacioni ključ i njime proverava integritet bez preuzimanja podataka sa servera. Nije potrebno ni da ima lokalnu kopiju podataka.

Kod opisane šeme sa Merkle Hash Tree strukturom svako ažuriranje podataka prati ažuriranje oznake bloka i njenog brojača.

Rad zasebno navodi vremensku oznaku kao mehanizam za sprečavanje napada na pravovremenost.

Za HAIL navodi kodiranje sa ispravljanjem grešaka, odnosno erasure coding, radi redundancije i dostupnosti podataka.

Sledeću tabelu čitajte kao pregled različitih provera. Posebno obratite pažnju na ono što pojedinačan rezultat dozvoljava da zaključite.

Mehanizam Šta proverava Ograničenje
Hash Da li su podaci izmenjeni. Otisak treba izračunati pre skladištenja.
PDP Integritet podataka na cloud serveru kroz challenge-response protokol. Korisnik zadržava metapodatke nakon slanja fajla.
POR Integritet bez preuzimanja podataka i bez lokalne kopije. Korisnik čuva autentifikacioni ključ za proveru.
Lookup u registru projekta Da li otisak postoji, uz podatke o uređaju, pošiljaocu i vremenu upisa. Stari otisak ostaje u registru, pa sam lookup ne rešava rollback.

Sidrenje otiska: šta je pokazao praktični projekat

Seminarski rad opisuje blockchain kao distribuiranu i decentralizovanu javnu knjigu transakcija koje se dele među učesnicima peer-to-peer mreže. Konsenzus proverava transakcije i značajno smanjuje mogućnost neovlašćenih izmena.

Za uvod u pojmove pročitajte šta je blockchain, a zatim i objašnjenje pametnih ugovora.

U ugovoru projekta upis otiska dozvoljen je samo ovlašćenim adresama. Ovlašćenje dodaje samo vlasnik, kroz funkciju dodajUredjaj i proveru samoVlasnik.

Isti otisak nije moguće upisati dva puta: ugovor odbija upis kada taj otisak već postoji u registru.

Funkcija proveriIntegritet vraća informaciju o postojanju otiska, uređaju, pošiljaocu i vremenu upisa.

U demo zapisu senzor-01 promenjena temperatura, 39.0, daje potpuno drugačiji otisak od originalnih zapisa. Provera tog izmenjenog zapisa pada.

Automatski testovi projekta završavaju se sa „11 passing”: pet testova nad ispitnim ugovorom i šest nad proširenom verzijom sa Merkle batch-om. Među njima je test u kojem izmenjen list ili tuđi koren dovodi do pada dokaza.

U lokalnoj test mreži jedna transakcija usidriKoren za pet očitavanja potrošila je 160.669 gas. Za pet pojedinačnih upisa estimateGas je dao procenu od 837.125 gas, oko 5,2 puta više.

To poređenje spaja izmerenu potrošnju grupnog upisa i procenu pojedinačnih upisa. Odnosi se na lokalni demo sa pet očitavanja, a ne na merenje na javnoj mreži, pa ga ne treba čitati kao obećanje za svaku primenu.

Kako da proverite zapis i gde ostaju granice

Za proveru sledite postupak zasnovan na opisanom registru. Posebno zabeležite koji podatak proveravate i koje vreme očitavanja očekujete.

  1. Pre skladištenja izračunajte otisak podataka, kako rad predviđa za kasnije otkrivanje izmene.
  2. Za registar iz projekta koristite SHA-256 otisak senzorskog zapisa; sam zapis ostavite u cloudu.
  3. Upišite otisak preko ovlašćene adrese, pošto ugovor upis dozvoljava samo takvim adresama.
  4. Pri proveri izračunajte otisak zapisa iz clouda i proverite ga funkcijom proveriIntegritet; za opisani izmenjeni podatak novi otisak nije u registru i rezultat je false.
  5. Uporedite vraćeno vreme upisa sa očekivanim vremenom očitavanja, jer prisustvo starog otiska samo po sebi ne otkriva rollback.

Objašnjenje uz projekat izričito navodi da je puna zaštita od rollback-a kroz verzioni brojač ili Merkle stablo van opsega ovog PoC-a. Demo prikazuje neovlašćenu izmenu, ne rollback.

Postoje i ograničenja na strani IoT uređaja. Rad navodi da laki čvorovi omogućavaju korišćenje blockchaina za sigurne transakcije, dok je upotreba potpunih čvorova u integraciji sa IoT uređajem veoma ograničena.

U jednom opisanom arhitektonskom rešenju IoT uređaji nisu uključeni u blockchain. Upravljačko čvorište u njihovo ime traži informacije o kontroli pristupa.

Rad takođe navodi da na javnoj mreži nije moguće kontrolisati status mreže, pa broj obavljenih transakcija nije bio isti u svakom testiranju.

Skalabilnost, interoperabilnost i resursna efikasnost ostaju tehnički izazovi navedeni u rezimeu rada.

Za sopstvenu procenu tražite odvojene odgovore: šta se proverava, koje ovlašćenje je potrebno, kako se proverava vreme i gde je trošak izmeren. Za dodatno čitanje pogledajte temu revizije pametnih ugovora.

Česta pitanja

Da li se sam podatak čuva na blockchainu?

Ne u ovom projektu. Senzorski podatak ostaje u cloudu, van lanca, a na blockchain se upisuje samo njegov SHA-256 otisak.

Šta je otisak (hash)?

Otisak je vrednost izračunata iz podataka pre skladištenja, koja služi kasnijoj proveri da li su podaci izmenjeni.

Može li provajder da izmeni podatak a da se to ne vidi?

U opisanom projektu izmenjeni podatak daje novi otisak koji ne postoji u registru, pa proveriIntegritet vraća false.

Da li IoT uređaj mora da bude pun čvor?

U arhitekturi opisanoj u radu IoT uređaji nisu uključeni u blockchain; upravljačko čvorište u njihovo ime traži informacije kontrole pristupa.

Da li ovo štiti od vraćanja stare verzije?

Sam lookup ne štiti: stari otisak je i dalje u registru. Verifikator poredi vreme upisa sa očekivanim vremenom očitavanja; puna zaštita kroz verzioni brojač ili Merkle stablo ostaje van opsega PoC-a.

Izvori

  • Seminarski rad autora ovog sajta: „Integracija blockchaina u cloud IoT sisteme za osiguranje integriteta podataka”, predmet Blockchain tehnologije.
  • Praktični projekat istog autora: „Registar integriteta podataka”, Solidity ugovor, testovi i demo.
← Nazad na BlockchainSecurity.rs
Повратак на врх