Grupne sheme potpisa s distribuiranom sljedivošću (ili kako pošteno otvoriti potpis)

Slika Anne-Laure Delva

U ovom postu želim razgovarati o shemama grupnog potpisa, a posebno grupnim potpisima s distribuiranom sljedivošću i pokazati zašto je ovo zanimljiv kriptografski alat za distribuirane sustave, koristeći Helix protokol konsenzusa kao primjer kako se ovi potpisi mogu koristiti.

Grupni potpisi, koje su uveli Chaum i Van Heyst, omogućuju članu grupe da se anonimno potpiše u ime grupe, istovremeno nudeći mogućnost praćenja identiteta potpisnika u posebnim slučajevima. To jest, sudionici grupe mogu pomoću ključeva za provjeru provjeriti je li potpis zaista stvorio netko iz grupe, ali ne mogu znati tko. U slučaju spora ili lošeg ponašanja, tijelo za traganje koristi svoj ključ za praćenje kako bi pronašao potpisnika.

Za neke slučajeve upotrebe koji imaju jedno nadležno tijelo djeluje. Međutim, u mnogim drugim slučajevima ne postoji niti jedan autoritet kojem svi vjeruju da će opozvati anonimnost pa ima smisla podijeliti odgovornost između više vlasti. Taj uvid vode Benjumea i sur. osmisliti "Pravilan više-grupni potpis". Otvaranje potpisa u njihovoj shemi moguće je ako surađuju više tijela za pravičnost. Nadležna tijela također mogu surađivati ​​kako bi otkrili ključ korisnika koji je pod sumnjom. Pomoću ovog ključa možete provjeriti je li poruku potpisao određeni korisnik bez opozivanja anonimnosti ostalih korisnika.

Do danas, postoji nekoliko shema potpisa s raspodijeljenom sljedivošću, koje se malo razlikuju s obzirom na funkcionalnost koju nude, poput "Potpisi demokratske grupe s pragom praga" Zheng i dr., I "Potpisi kratkih skupina s distribuiranom sljedivošću", Blomer et al., o čemu ću dalje razraditi.

Grupiranje potpisa s distribuiranom sljedivosti u Helixu

U Orbsu razvijamo Helix, naš originalni konsenzusni protokol koji je posebno dizajniran za osiguravanje naručivanja transakcija na fer način. Ključni koncept Helixa je da mrežni čvorovi ne mogu manipulirati koje su transakcije uključene u novi blok ili njihovo naručivanje. Konkretno, oni ne mogu cenzurirati specifične čvorove ili korisnike i ne mogu u značajnoj mjeri favorizirati vlastite transakcije. Više o Helixu možete pročitati u ovom postu na blogu.

Glavni doprinos poštenosti u Helixu je da korisnici kriptiraju svoje transakcije, a zatim dešifriraju izvorne transakcije tek nakon što su dodani u blockchain. Šifriranje transakcija dolazi po cijeni, posebno stvara potrebu kažnjavanja korisnika i čvorova koji šalju neželjenu mrežu umjesto valjanih transakcija. Iz tog razloga potreban nam je mehanizam za otkrivanje mrežnih čvorova koji su odgovorni za problematične transakcije kako bi se umanjio njihov ugled.

To možemo učiniti koristeći grupne potpise s distribuiranom sljedivosti tako da svaki mrežni čvor služi kao autoritet za pravednost i zahtijeva prijelazni broj nadležnih tijela za otvaranje i praćenje potpisa.

Sada se okrećem opisivanju toka koji transakcija čini u Helixu i kako se mogu koristiti grupni potpisi s distribuiranom sljedivosti. Ako vas manje zanima ovaj konkretni tijek, možete preskočiti unaprijed i pročitati o shemi potpisa kandidata. Tok počinje kada korisnik kreira transakciju, kriptira je i pošalje mrežnom čvoru s kojim je povezan. Zatim mrežni čvor potpisuje transakciju pomoću poštene sheme potpisa grupe koja se može pratiti i relegira transakciju na mrežu. Prije uključivanja transakcije u blok, tvorac bloka provjerava da transakcija ima valjani potpis skupine. Nakon što je blok dodan u blockchain, započinjemo postupak (za koji je potreban pragovni broj čvorova) za dešifriranje transakcija u bloku. Ako je potrebno (na primjer, dešifrirana transakcija pokaže se nevažećom) prag broja čvorova surađuje i otvorite potpis kako biste otkrili koji čvor je potpisao ovu transakciju.

Druga moguća opcija toka je otvaranje potpisa prema zadanim postavkama paralelno s postupkom dešifriranja. Prednost otvaranja potpisa prema zadanom je u tome što na taj način ne trebamo pokrenuti poseban protokol za neispravne transakcije i umjesto toga taj postupak izvršiti kao dio normalnog protoka. Druga je mogućnost uključivanje postupka otkrivanja praćenog ključa (koristi se za pronalaženje određenog čvora koji se loše ponaša). Također primjećujemo da neke sheme grupnog potpisa imaju i zahtjev za prijavu, u kojem potpisnici mogu tvrditi da im pripada kao potpis, što nismo koristili u gornjem toku.

Iz našeg toka zaključujemo sigurnosne zahtjeve koje tražimo:

  • Anonimnost: Grupni potpis ne otkriva identitet člana koji ga je proizveo, osim ako više od praga broja nadležnih tijela za suradnju ne surađuje.
  • Sljedivost održava anonimnost: Ako čvor tvrdi da je on pokretač potpisa ili je njegov identitet otkriven kao dio algoritma praćenja, to ne uključuje privatnost preostalih potpisa prošlih ili budućih skupina koje izdaje.
  • Nepovezanost: Nemoguće je povezati dva ili više potpisa kako ih je potpisao isti potpisnik bez suradnje praga broja nadležnih tijela.
  • Neodređivanje: Čak i ako se grupa i tragajući menadžeri dogovaraju s ostatkom grupe, oni ne mogu uspostaviti poštenog člana grupe. Korisnik može biti uokviren na dva različita načina: vlasti i drugi korisnici mogu konstruirati potpis koji se otvara ili prati traga za nevinim korisnikom (ovaj se zahtjev također naziva snažnom oslobađanjem) ili mogu tražiti potpis koji je korisnik stvorio kao njihov.

Ostali važni zahtjevi su: podržavanje dinamičke promjene potpisnika i tragača i ne zahtijeva pouzdano podešavanje.

Shema potpisa kandidata

Jedan od najefikasnijih shema potpisa trenutno su Boneh, Boyen i Shacham (BBS), koji su predstavili u svom radu „Potpisi u kratkim grupama“. U njihovoj shemi potpisa nema nekoliko svojstava potrebnih za našu upotrebu. Prvo, njihova shema grupnog potpisivanja ne daje distribuiranu sljedivost, već zahtijeva centralizirano tijelo za praćenje. Pored toga, njihova shema ne zadovoljava svojstvo „sljedivost održava anonimnost“ (jer ne osigurava CCA-anonimnost, objašnjeno kasnije) što je ključno u našem okruženju. Nadalje, proces stvaranja ključeva zahtijeva pouzdanog prodavača. Srećom, postoje dokumenti za praćenje koji brinu o prva dva broja. Ideje se mogu kombinirati za postizanje CCA sheme anonimnih potpisa koja nudi distribuiranu sljedivost. Riješavanje od pouzdanog trgovca problem je koji treba riješiti ako odaberemo ovu shemu.

U radu Blomer et. al, „Kratki skupni potpisi s distribuiranom sljedivosti“, shema BBS-a proširena je i za podršku distribuirane sljedivosti. To se postiže na sljedeći način. U shemi BBS, dio potpisa je šifriranje (dijela) tajnog ključa, a otvaranje znači dešifriranje ovog šifričnog teksta. U Blomerovom radu oni mijenjaju enkripciju u enkripciju praga. Otvaranje potpisa sastoji se od dva procesa, prvi stvara otvorenu dionicu iz potpisa, a drugi kombinira prag broja dionica da bi se dešifrirao ključ potpisnika. Još jedna od njihovih izmjena je dodavanje dodatnog elementa tajnom ključu koji je poznat samo korisniku, a ne nadležnima. To jamči da tijela za poštenost ne mogu potpisati u ime drugih članova.

Shema koju pruža BBS osigurava CPA-anonimnost. Grubo, to znači da su potpisi anonimni pod uvjetom da protivnik ne dođe da traži protokol potpisa u tragovima. Međutim, ova pretpostavka nije opravdana u našem postavljanju, jer protivnik može proizvesti potpisane poruke i poslati ih u blockchain, a nakon toga će ih pratiti kao dio našeg normalnog toka. Stoga zahtijevamo da shema potpisa bude anonimna CCA, što znači da čak i protivnik koji ima pristup otvorenom protokolu ne može pratiti potpis bez suradnje s pragom broja tijela za poštenje. U svom radu, "Interaktivni dokazi o znanju s internetskim alatima za ekstraktivnu komunikaciju", Fischlin uvodi metodu za transformiranje BBS-ove sheme potpisa u CCA-siguran. To funkcionira dodavanjem komponente potpisu koja generira neinteraktivni dokaz o nuli znanja za slučajne vrijednosti koje se koriste kod šifriranja. Neformalno, to osigurava da protivnik ne dobije mnogo od interakcije s protokolom praćenja, jer je za potpisivanje valjane poruke morala znati nasumične vrijednosti koje se koriste za generiranje šifriranja.

Veličina potpisa

Duljina sheme potpisa BBS grupe pod parametrima koje predlažu autori iznosi 1.533 bita. To se može usporediti s veličinom potpisa RSA-e, koja je 1,024 ili 2,048 bita za potpise slične sigurnosti. Dodavanje distribuirane sljedivosti ne čini potpis dužiim, ali složenost je potrebna za izračunavanje polinomne interpolacije lagrangea kako bi se kombinirali udjeli.

Što se tiče nule dokaza o znanju, ovo je relativno velike veličine i skupo je izračunati. Za parametre predložene u radu, duljina je 3.520 bita, što iznosi duljinu potpisa od 5.053 bita.

Veličina potpisanih dionica je 340 bita po dionici.

Želio bih zahvaliti Stevenu Goldfederu na korisnoj raspravi o ovoj temi.

* Pročitajte članak o Orbsu: https://www.orbs.com/white-papers

Pridružite se zajednici Orbs:

  • Telegram: https://t.me/orbs_network
  • Twitter: https://twitter.com/orbs_network
  • Reddit: https://www.reddit.com/r/ORBS_Network/
  • GitHub: https://github.com/orbs-network