sustav anonimnog elektroni ýkog...

35
SVEUýILIâTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAýUNARSTVA SEMINARSKI RAD SUSTAV ANONIMNOG ELEKTRONIýKOG GLASOVANJA Denis Siladi Zagreb, lipanj 2005.

Upload: buidat

Post on 27-Jul-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

SVEU ILI TE U ZAGREBUFAKULTET ELEKTROTEHNIKE I RA UNARSTVA

SEMINARSKI RAD

SUSTAV ANONIMNOG ELEKTRONI KOGGLASOVANJA

Denis Siladi

Zagreb, lipanj 2005.

Page 2: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 1

SADR AJ

1. UVOD.............................................................................................................................................22. ZERO-KNOWLEDGE DOKAZI ....................................................................................................3

2.1. Osnovni Zero-Knowledge protokol...........................................................................................42.2. Izomorfizam grafova ................................................................................................................52.3. Paralelni Zero-Knowledge protokol ..........................................................................................62.4. Neinteraktivni Zero-Knowledge protokol .................................................................................7

3. SVE-ILI-NI TA OTKRIVANJE TAJNI .........................................................................................84. SLIJEPI POTPIS...........................................................................................................................11

4.1. Apsolutno slijepi potpis ..........................................................................................................114.2. Slijepi potpis ..........................................................................................................................11

4.2.1 Chaumov slijepi potpis .....................................................................................................124.2.2 Proxy slijepi potpis ...........................................................................................................134.2.3 Pravedni slijepi potpis.......................................................................................................15

5. ELEKTRONI KO GLASOVANJE..............................................................................................175.1 Jednostavan glasa ki protokol (1) ............................................................................................175.2 Jednostavan glasa ki protokol (2) ............................................................................................175.3 Glasovanje uporabom Slijepog Potpisa ....................................................................................185.4 Glasovanje pomo u dvije centralne ustanove...........................................................................185.5 Glasovanje s jednom centralnom ustanovom ...........................................................................195.6 Unaprije eno glasovanje s jednom centralnom ustanovom ......................................................195.7 Glasovanje bez Centralne ustanove za prebrojavanje glasova...................................................20

6. PRAKTI NI RAD ........................................................................................................................236.1 Razvojno okru enje .................................................................................................................236.2 Jezgra sustava..........................................................................................................................236.3 Grafi ko su elje i uporaba aplikacije .......................................................................................276.4 Instalacijska procedura ............................................................................................................31

7. ZAKLJU AK...............................................................................................................................338. POPIS LITERATURE ..................................................................................................................34

Page 3: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 2

1. UVOD

Internet, danas, kao globalna mre a prisutna u svim dijelovima svijeta igra sve ve u ulogu una im ivotima, stoga ne udi tendencija da se u njega uklju e brojni zadaci koje obavljamo svaki dani koji su nam postali rutina. Ve nam je sada omogu eno kupovanje knjiga preko Interneta,rezerviranje zrakoplovnih karata pa ak i naru ivanje namirnica koje nam se dostavljaju pred ku navrata, i to sve sjede i pred osobnim ra unalom.

Iako glasovanje mo da ne ulazi u opis svakodnevnog zadatka ono je itekako bitna zna ajkasvakoga demokratskog dru tva, te je na alost obi no broj gra ana koji glasuju znatno manji od brojagra ana koji imaju bira ko pravo. 2000. godine u dr avi Arizoni, SAD paralelno s konvencionalnim,organizirano je i elektroni ko glasovanje koje je bilo iznimno uspje no. Ho e li se ovakav trendnastaviti pokazat e vrijeme no vjerujem da je budu nost op e digitalizacije svijetla i da e unijetimalo reda u ovaj na u urbani, ponekad kaoti an svijet.

Elektroni ko glasovanje nije jednostavno ostvariti osobito kada se u obzir uzmu svojstva kaoto su anonimnost glasa a i integritet podataka. Upravo je to tema ovoga seminara i kroz naredna

poglavlja detaljno e biti opisani mehanizmi potrebni za ostvarivanje anonimnog elektroni kogglasa kog sustava kao i sama implementacija istog.

Page 4: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 3

2. ZERO-KNOWLEDGE DOKAZI

Zero-Knowledge dokaz (eng. Zero Knowledge proofs) je izuzetno interasantan i koristandodatak dana njem digitalnom svijetu. Njegova fascinantna priroda krije se iza naizgledkontradiktorne injenice; Zero-Knowledge dokaz pored toga to dokazuje neku injenicu on neotkriva apsolutno ni ta o njoj. Njihova primjena je izuzetno iroka u podru ju kriptografije, primarnose koriste da natjeraju neku malicioznu stranu da se pona a sukladno nekom protokolu.

Zero-knowledge dokaz mora zadovoljiti sljede a 3 svojstva:

1. Potpunost: ukoliko je tvrdnja istinita, osoba kojoj se dokazuje e biti uvjerena o poznavanjuinjenice koja se dokazuje.

2. Istinitost: ukoliko je tvrdnja neistinita osoba koja dokazuje ne mo e uvjeriti osobu kojojdokazuje o istinitosti neke tvrdnje, odnosno vjerojatnost da to u ini je iznimno mala.

3. Neotkrivenost (eng. Zero-knowledgeness): ukoliko je tvrdnja istinita, niti jednazlonamjerna osoba iz toga ne mo e saznati nikakvu tajnu informaciju. Ovo je klju no jer svakizlonamjerni subjekt mo e imati simulator koji samo na osnovu tvrdnje koju treba dokazati mo egenerirati isti izlaz kakav bi dala osoba koja tu tvrdnju dokazuje.

Najjednostavniji na in kako objasniti pojam zero-knowledge dokaza, odnosno protokoladokaza posjedovanja neke informacije ili dijela informacije bez njezinog otkrivanja je puteminteresantnog dijaloga izme u dvije osobe, nazovimo ih PEGGY i VICTOR (Napomena: U literaturise osoba koja dokazuje ne to obi no naziva Peggy, a ona koja to verificira Victor, kao to seprimjerice u kriptografiji koriste imena Alice, Bob i Eve, te se zbog toga ta imena koriste i ovdje )Pogledajmo sljede i dijalog:

PEGGY: "Ja znam lozinku glavnog ra unala XYZ Banke " VICTOR: "Ne zna " PEGGY: "Znam" VICTOR: "Ma nema anse" PEGGY: "Znam, znam" VICTOR: "Dobro doka i" PEGGY: "U redu, re i u ti" Ona apne lozinku VICTORU u uho VICTOR: "Zanimljivo, sad znam i ja i re i u to mom prijatelju hackeru" PEGGY: "Ups."

Na alost uobi ajeni na in da Peggy doka e Victoru da zna ne to je da mu to ka e, ali problemje u tome to tada i on zna isto to. VICTOR tada mo e to ispri ati bilo kome, a PEGGY ne mo epoduzeti ni ta da ga sprije i. Uporabom jednosmjernih funkcija Peggy mo e provesti zero-Knowledgeprotokol koji upravo dokazuje Victoru da Peggy uistinu posjeduje odre enu informaciju bez daomogu i Victoru da sazna o emu se radi.Ovakvo dokazivanje ima oblik interaktivnog protokola prema kojemu Victor postavlja Peggy nizpitanja. Ukoliko Peggy zna tajnu ona e ispravno odgovoriti na sva postavljena pitanja, a ukoliko nezna ima 50 postotnu ansu (bar to se ti e nadolaze ih primjera) dati to an odgovor. Nakon recimo 10pitanja Victor e se uvjeriti da Peggy zna neku informaciju bez da je ona otkrila i jedan dio teinformacije Victoru.

Zero-Knowledge protokoli se mogu podijeliti u etiri skupine:- Potpuni – postoji simulator koji daje transkript identi an realnom transkriptu protokola

(Izomorfizam grafova, Osnovni zero-knowledge protokol)

Page 5: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 4

- Statisti ki – postoji simulator koji daje transkript identi an realnom transkriptu protokolakoji se razlikuje u nekolicini konstantnih koeficijenata

- Izra unljivi - postoji simulator koji daje transkript vrlo sli an stvarnom transkriptu- Beskorisni – simulator ne postoji ali mo da mo emo dokazati da Victor ne e saznati

nikavu informaciju iz dokaza (Paralelni Zero-Knowledge protokol)

2.1. Osnovni Zero-Knowledge protokol

Jean-Jacques Quisquater i Louis Guillou obja njavaju Zero-Knowledge pomo u pri e o spilji.U spilja ilustriranoj na slici 2.1 je skrivena tajna. Netko tko zna magi ne rije i-lozinke mo e otvorititajna vrata izme u to ke C i D. Za bilo koga drugog spilja predstavlja slijepu ulicu.Peggy zna tajnu skrivenu u spilji ali ne eli otkriti Victoru magi ne rije i. Evo kako uvjerava Victorada zna tajnu:

(1) Victor se nalazi u to ki A(2) Peggy odlazi na kraj spilje do to ke C ili to ke D(3) Nakon to je Peggy "nestala" u pe ini Victor odlazi do to ke B(4) Victor dovikuje Peggy neka iza e iz

(a) lijevog tunelaILI(b) desnog tunela

(5) Peggy izlazi iz tra enog tunela te po potrebi koristi lozinke(6) Peggy i Victor ponavljaju korak od 1 do 5 n puta

Pretpostavimo da Victor ima kameru kojom snima sve to vidi. On snima kako Peggy "nestaje" uspilji (tj. ulazi u dio kojega Victor ne mo e vidjeti), kako joj potom dovikuje, te kako ona izlazi iztunela. Snima svih n rundi. Sada pretpostavimo kako je tu snimku pokazao Ani, pitanje koje sepostavlja je, bi li Ana povjerovala da Peggy zna magi ne rije i za otvaranje vrata? Ne, jer postojimogu nost da su se Peggy i Victor prije snimanja dogovorili kada e koji tunel Victor birati tako daPeggy ne mora znati magi ne rije i kako bi iza la iz tunela kojega bira Victor ili da je do lo domodificiranja video materijala. Bez obzira koji se na in varanja koristi Victor mo e prikazati videomaterijal koji pokazuje to no istu sekvencu doga aja kakva bi bila u slu aju da Peggy uistinu znamagi ne rije i.Ovo pokazuje dvije stvari. Prva, nemogu e je Victoru uvjeriti tre u stranu o valjanosti dokaza te druga,protokol ne otkriva nikakve informacije, radi se o zero-knowledge protokolu.

Slika 2.1: ilustracija spilje

Page 6: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 5

Tehnika koja se koristi u ovom protokolu naziva se podijeli i biraj, a ime je dobila zahvaljuju isli nosti s protokolom podjednakog dijeljenja:

(1) Alice dijeli ne to na dva dijela(2) Bob bira jednu polovicu za sebe(3) Alice uzima drugu polovicu

U Alicinom najboljem interesu je podijeliti stvar koju dijeli na jednak na in jer je Bob onajkoji bira. Michael Rabin je bio prva osoba koja je upotrijebila podijeli i biraj tehniku u kriptografiji,koncept interaktivnih protokola i zero knowledga su formirani kasnije. Podijeli i biraj protokol djeluje u zero-knowledge uporabi jer Peggy ne mo e stalno pogoditikoju e stranu birati Victor. Ukoliko Peggy ne zna tajnu, vjerojatnost da e iza i na strani koju biraVictor je 50 posto. Ista ta vjerojatnost za dvije runde je 25 posto odnosno vjerojatnost da Peggy zavaraVictora pri n rundi je 1:2n. Primjerice nakon 16 rundi Peggy ima ansu zavarati Victora 1 prema65536 odnosno 0,0000152587890625%. Sada Victor s velikom sigurno u mo e znati da Peggy znatajnu ukoliko je od 16 svih 16 odgovora, odnosno u spiljskoj analogiji, ulazaka i izlazaka ispravno.Dakako primjer sa spiljom nije najispravniji s obzirom da dokaz o tome kako Peggy uistinu zna tajnumo e biti proveden na na in jednostavnog ulaska na jednu te izlaska na drugu stranu no ovakvorazmatranje bilo je potrebno zbog istovjetnosti s matemati kim modelom zero-knowledga protokola. Pretpostavimo sada kako Peggy zna neku informaciju koja je ujedno i rje enje nekog te kogproblema. Osnovni se zero-knowledge protokol sastoji iz nekoliko koraka odnosno rundi:

1. Peggy posjeduje tajnu informaciju i generira slu ajan broj pomo u kojega etransformirati te ki problem u drugi te ki problem koji je izomorfan s prvobitnim te kimproblemom. Tada uzima informaciju koju zna i slu ajan broj s kojima rje ava novuinstancu te kog problema.

2. Peggy priprema i dostavlja rje enje nove instance koriste i takozvanu bit-commitmentshemu (vidjeti literaturu [1])

3. Peggy otkriva Victoru novu instancu koju on ne mo e koristiti za otkrivanje one instance izkojega je ova nastala niti mo e otkriti rje enje originala

4. Victor zahtjeva od Peggy:a) da mu doka e da su dvije instance izomorfne (odnosno da postoje dva razli ita

rje enja dvama povezanim problemima)ILIb) otvara rje enje koje je Peggy dostavila u koraku 2. i dokazuje kako je to stvarno

rje enje nove instance5. Peggy ispunjava zahtjev6. Peggy i Victor ponavljaju korake od 1 do 5 n puta

Matemati ki model koji opisuje navedeni protokol je izuzetno kompleksan i kompliciran sobzirom da se i problem i slu ajan broj moraju vrlo pa ljivo odabrati i to tako da Victor ni u komslu aju ne mo e izna i rje enje ili dio rje enja originalnog problema ak i nakon velikog brojaiteracija protokola.

2.2. Izomorfizam grafova

Dvije krivulje E1/K i E2/K zadane jednad bamaE1 : y2 + a1xy + a3y = x3 + a2x2 + a4x + a6E2 : y2 + a1’xy + a3’y = x3 + a2’x2 + a4’ x + a6’

su izomorfne nad K, ako postoje r, s, t, u ∈K, u 0 , takvi da zamjena varijabli(x, y) → (u2x + r, u3sx + t)

Page 7: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 6

transformira jednad bu E1 u jednad bu E2. Odre ivanje izomorfizma dvaju ekstremno velikih grafova(vi e dimenzija) predstavlja NP-te ak odnosno NP-potpun problem tj. za iznala enje rje enja jepotrebno enormno puno vremena ako je rje enje uop e i mogu e na i. Pretpostavimo da Peggy zna izomorfizam dvaju grafova G1 i G2. Slijede i protokol e uvjeritiVictora o tome to Peggy zna:

1. Peggy slu ajno permutira G1 i stvara novi graf H koji je izomorfan s G1. Kako Peggy znaizomorfizam izme u H i G1 ona zna i izomorfizam izme u H i G2. Izra unavanjeizomorfizma izme u H i G1 odnosno H i G2 te G2 i G1 predstavlja NP-te ak problem.

2. Peggy alje H Victoru3. Victor zahtjeva od Peggy dokaz da su

a) H i G1 izomorfniILIb) H i G2 izomorfni

4. Peggy ispunjava zahtjev, te ilia) dokazuje izomorfizam H i G1 bez dokaza o izomorfizmu H i G2ILIb) dokazuje izomorfizam H i G2 bez da dokaza o izomorfizmu H i G1

5. Peggy i Victor ponavljaju korake od 1 do 4 n puta

Ukoliko Peggy ne zna izomorfizam izme u G2 i G1 ne mo e stvoriti ni graf koji je izomorfan s obaova grafa. Jedino to Peggy u ovakvom slu aju mo e napraviti je generirati graf koji je izomorfan ili sG2 ili G1. Kako i u prethodnom primjeru vjerojatnost Victorovog pogotka ispravnog rje enja je 50%. Ovaj protokol ne daje Victoru nikakvu korisnu informaciju za otkrivanje izomorfizma izme uG2 i G1 jer se u svakoj novoj rundi generira novi H. U svakoj rundi Victor dobiva novu slu ajnupermutaciju grafa H zajedno s izomorfizmom izme u H i G1 ili H i G2. Victor je ovo jednostavnomogao generirati i sam, te s obzirom da Victor mo e stvoriti simulaciju odgovora lako je dokazati daje ovo Zero-knowledge protokol.

2.3. Paralelni Zero-Knowledge protokol

Osnovni Zero-Knowledge protokol uklju uje n razmjena poruka izme u Peggy i Victora.Osnovna ideja paralelnog zero-knowledge protokola je te poruke razmjeniti paralelno; pogledajmo:

1. Peggy koristi vlastitu informaciju i n slu ajnih brojeva pomo u kojih transformira te akproblem u n te kih izomorfnih problema. Zatim koristi informaciju koju zna i slu ajnebrojeve kako bi dobila rje enja n novih te kih problema

2. Peggy priprema i dostavlja rje enje novih n te kih problema koriste i bit-commitmentshemu

3. Peggy otkriva Victoru n novih problema, a on ih ne mo e koristiti u otkrivanju bilo ega oizvornom problemu niti o njegovim rje enjima

4. Victor zahtjeva od Peggy:a. da mu doka e da su stari i novi problem izomorfniILIb. otvara rje enja koje je Peggy dostavila u koraku 2. i dokazuje da je to stvarno

rje enje novog problema5. Peggy ispunjava zahtjev za svaki od n te kih problema

Ovako opisan protokol nije nimalo jednostavno provesti u praksi, jer pored matemati keslo enosti ne posjeduje ista zero-knowledge svojstva kao prethodno opisani protokoli. PrimjericeVictor u 4. koraku mo e birati rezultate pripremljene u koraku 2., kao skup podvrgnut jednosmjernojfunkciji hash. Ovo bi tada onemogu ilo sintezu simulatora. Mada ovo i dalje predstavlja zero-knowledge protokol, njegovu ispravnost jo nitko nije uspio dokazati, te je bitno napomenuti da je

Page 8: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 7

jedino na osnovu prakti nih primjera zaklju eno kako su zero-knowledge svojstva zadr ana tek priodre enim uvjetima.

2.4. Neinteraktivni Zero-Knowledge protokol

Zbog "interaktivnosti" protokola nemogu e je uvjeriti tre u stranu u ne to, sjetimo se Ane izprvog primjera. Kako bi uvjerili Anu ili bilo koga drugog o posjedovanju neke informacije potrebno jekoristiti neinteraktivni protokol.Neinteraktivni protokoli predstavljeni su prvi puta na CRYPTO konferenciji 1987. i svrha im jeuvjeriti tre u stranu o posjedovanju odre ene informacije. Oni ne zahtijevaju nikakvu interakciju sosobom kojom se dokazuje; Peggy mo e objaviti dokaz, a bilo tko potom mo e analizirati to jePeggy objavila.Osnovni protokol je vrlo sli an paralelnom zero-knowledge protokolu no mjesto Victora preuzimahash funkcija:

1. Peggy koristi vlastitu informaciju i n slu ajnih brojeva kako bi transformirala te akproblem u n razli itih te kih izomorfnih problema. Nakon toga koristi poznatu informacijui n slu ajnih brojeva pri ra unanju rje enja n te kih problema.

2. Peggy prire uje rje enja n te kih problema koriste i bit-commitment shemu3. Peggy koristi sva ova rje enja kao jedinstveni ulaz hash funkcije. Zatim sprema prvih n

bitova izlaza hash funkcije4. Peggy uzima n bitova generiranih u 3. koraku. Za svaki i-ti novi te ki problem uzima i-ti

bit iz n-bitnog niza generiranog u 3. koraku.a) ako je bit 0 dokazuje da su stari i novi problem izomorfniILIb) ako je bit 1 otvara pripremljeno rje enje iz 2. koraka i dokazuje da je to zaista

rje enje novog problema5. Peggy objavljuje prire ena rje enja iz 2. koraka kao i rezultate dobivene u 4.6. Victor, Ana ili bilo tko drugi verificiraju rezultate dobivene u koracima od 1 do 5

Ovakvim gotovo nevjerojatnim postupkom Peggy mo e objaviti podatke koje ne sadr enikakvu informaciju o podacima za koje se dokazuje da ih Peggy zna. U neinteraktivnom protokolumora se provesti puno vi e iteracija; Peggy bira te ke probleme koriste i slu ajne brojeve, a odatle idruga ija rje enja koja prire uje (korak 2.) sve dok joj izlaz hash funkcije ne bude odgovaraju i. Uinteraktivnom protokolu vjerojatnost varanja za protokol od 10 rundi je 1 prema 210 to je prihvatljivono ovaj broj definitivno nije prihvatljiv za neinteraktivne protokole. Prisjetimo se da uvijek mo emobirati ho emo li izvr iti stavku a) ili b) u koraku 4, te mo emo poga ati za koju stavku emo biti pitanida ju izvr imo. Ako pro emo kroz stavke od 1 do 3 vidjet emo jesmo li ispravno pogodili ako nismonastavljamo poga ati ponovno. Poga ati 210 = 1024 puta je vrlo jednostavno na ra unalima dana njesnage. Kako bi se sprije ili napadi ovakvog brute-force karaktera u neinteraktivnim protokolima sekoristi najmanje 64 runde.

Upravo je ovo razlog zbog kojega se koristi hash funkcija: Peggy ne mo e predvidjeti izlazhash funkcije jer ne mo e predvidjeti ni ulaz. Rje enja novih te kih problema koja se koriste kao ulazu hash funkciju su poznata tek nakon rje avanja tih novih problema.

Page 9: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 8

3. SVE-ILI-NI TA OTKRIVANJE TAJNI

Zamislimo Alice kao biv u agenticu biv eg Sovjetskog Saveza, trenutno nezaposlenu. Kako bizaradila Alice odlu uje prodavati tajne; svatko tko je spreman platiti mo e kupiti tajnu. Zamislimo ikako Alice ima i katalog u kome su prikazane sve tajne koje zna. Alice ne e odati dvije tajne za cijenu jedne niti djelomi nu informaciju o bilo kojoj tajni. Bob,potencijalni kupac ne eli platiti za neku slu ajnu tajnu, on tako er ne eli re i Alice koja ga tajnezanima jer Alice mo e proslijediti tu informacije nekome drugom. Rje enje je tzv. SVE-ILI-NI TA OTKRIVANJE TAJNI, naziv je deskriptivan jer u trenutkukada Bob sazna bilo to o nekoj tajni izgubio je mogu nost saznati ne to drugo o bilo kojoj drugojtajni.Pogledajmo sada detaljnije: kako je bilo re eno ovaj protokol omogu uje razli itim stranama(minimalno dvije je potrebno za funkcioniranje protokola) "kupovinu" tajne od jednog prodava a. Zapotrebe protokola definirajmo indeks jednakosti bitova (IJB): neka na raspolaganju imamo dva nizabitova x i y, indeks jednakosti bitova za x i y predstavlja vrijednosti indeksa i za kojega vrijedi da je i-ti bit niza x jednak i-tom bitu niza y.Primjer: x = 110101001011 y = 101010000110

IJB(x, y) = {1, 4, 5, 11}Napomena: indeksi se itaju s desna na lijevo gdje prvi desni bit ima indeks 0

Definirajmo jo i osobu Alice kao prodava a, a Boba i Carol kao kupce. Alice ima k n-bitnih tajni: S1,S2, . . . , Sk. Bob neka eli kupiti tajnu Sb, a Carol tajnu Sc. Slijedi protokol:

1. Alice generira javni/tajni par klju eva i dostavlja Bobu (ali ne i Carol) javni klju . Alicegenerira jo jedan par klju eva te javni klju dostavlja Carol (ali ne i Bobu)

2. Bob generira k n-bitnih slu ajnih brojeva B1, B2, . . . , Bk koje zatim pokazuje Carol. Carolgenerira k n-bitnih slu ajnih brojeva C1, C2, . . . , Ck koje pokazuje Bobu.

3. Bob kriptira Cb (prisjetimo se da Bob eli kupiti tajnu Sb) s javnim klju em kojega je dobiood Alice. Izra unava IJB od Cb i rezultata kojega je dobio kriptiranjem. Zatim aljedobiveni IJB Carol.Carol kriptira Bc s javnim klju em kojega je dobila od Alice, izra unava IJB od Bc irezultata enkripcije te ga alje Bobu

4. Bob uzima svaki od n-bitnih brojeva B1, B2, . . . , Bk i zamjenjuje svaki bit iji indeks nijeu IJB listi koju je dobio od Carol njegovim komplementom, zatim alje ovu novu listu n-bitnih brojeva B1', B2', . . . , Bk' AliceCarol uzima svaki od n-bitnih C1, C2, . . . , Ck i zamjenjuje svaki bit iji indeks nijesadr an u IJB listi koju je dobila od Boba njegovim komplementom, zatim alje ovu novulistu n-bitnih brojeva C1', C2', . . . , Ck' Alice

5. Alice dekriptira sve Ci' s Bobovim privatnim klju em te tako dobiva k n-bitnih brojeva:C1", C2", . . . , Ck" potom ra una Si ⊕ Ci" za i = 1 do k i alje rezultat BobuAlice dekriptira sve Bi' s privatnim klju em Carol te tako dobiva k n-bitnih brojeva: B1",B2", . . . , Bk" potom ra una Si ⊕ Bi" za i = 1 do k i alje rezultat Carol

6. Bob izra unava Sb primjenom operacije ekskluzivno ILI na Cb i b-ti broj koji je primio odAliceCarol izra unava Sc primjenom operacije ekskluzivno ILI na Bc i c-ti broj koji je primilaod Alice

Kako je ovaj protokol relativno kompliciran primjer e nam pomo i u lak em shva anju:Alice ima sljede ih 8 12-bitnih tajni koje prodaje: S1 = 1990, S2 = 471, S3 = 3860, S4 = 1487, S5 =2235, S6 = 3751, S7 = 2546 i S8 = 4043. Bob eli kupiti S7, a Carol S2.

Page 10: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 9

1. Alice koristi RSA algoritam. Par klju eva koji e biti kori ten u komunikaciji s Bobom je:n = 7387, e = 5145 i d = 777, a par klju eva koji e biti kori ten u komunikaciji s Carol je:n = 2747, e = 1421 i d = 2261. Bobu i Carol se zatim dostavlja dodijeljen javni klju .

2. Bob generira 8 12-bitnih slu ajnih brojeva: B1 = 743, B2 = 1988, B3 = 4001, B4 = 2942, B5= 3421, B6 = 2210, B7 = 2306 i B8 = 222 i poka e ih Carol.Carol generira 8 12-bitnih slu ajnih brojeva: C1 = 1708, C2 = 711, C3 = 1969, C4 = 3112,C5 = 4014, C6 = 2308, C7 = 2212 i C8 = 222 i poka e ih Bobu

3. Bob eli kupiti S7 te enkriptira C7 s javnim klju em koji je dobio od Alice22125145 mod 7387 = 5928

Pretvoreno u binarni oblik: 2212 = 0100010100100 5928 = 1011100101000 IJB (2212, 5928) = {0, 1, 4, 5, 6}

Ovo alje CarolCarol eli kupiti tajnu S2 te enkriptira B2 s javnim klju em koji je dobila od Alice i ra unaIJB od B2 i rezultata enkripcije. Bobu alje {0, 1, 2, 6, 9, 10}

4. Bob uzima B1, B2, . . . , B8 i zamjenjuje svaki bit iji indeks nije u skupu {0, 1, 2, 6, 9, 10}njegovim komplementom, na primjer:

B2 = 111111000100 = 1988B2' = 011001111100 = 1660

alje B1', B2', . . . , B8' Alice.Carol uzima C1, C2, . . . , C8 i zamjenjuje svaki bit iji indeks nije u skupu {0, 1, 4, 5, 6}njegovim komplementom, na primjer:

C7 = 0100010100100 = 2212C7' = 1011100101000 = 5928

alje C1', C2', . . . , C8' Alice.

5. Alice dekriptira sve Ci' s Bobovim privatnim klju em i radi operaciju ekskluzivno ILI s Si.Na primjer za i = 7:

5928777 mod 7387 = 22122546 ⊕ 2212 = 342

alje dobivene rezultate Bobu.Alice dekriptira sve Bi' s Carolinim privatnim klju em i radi operaciju ekskluzivno ILI s Si.Na primjer za i = 2:

16602261 mod 2747 = 1988471 ⊕ 1988 = 1555

alje dobivene rezultate Carol.6. Bob ra una S7 tako to vr i operaciju ekskluzivnog ILI na C7 i sedmim brojem primljenim

od Alice:2212 ⊕ 342 = 2546

Carol ra una S2 tako to vr i operaciju ekskluzivnog ILI na B2 i drugim brojem po reduprimljenim od Alice:

1988 ⊕ 1555 = 471

Ovaj protokol djeluje za bilo koji broj sudionika, primjerice ako osoba B, C, D ele kupititajne od osobe A tada osoba A svakom kupcu dodjeljuje dva javna klju a, po jedan za sve ostale.Svaki kupac dobiva skup brojeva od svakog drugog kupca, zatim izvr avaju protokol s osobom A zasvaki skup brojeva i vr e operaciju ekskluzivno ILI nad svim krajnjim rezultatima dobivenim odosobe A kako bi do li do svojih tajni.Na alost par zlonamjernih sudionika mo e varati, ako osoba A i C sura uju lako mogu otkriti kojutajnu dobiva osoba B: ako znaju IJB od Cb i enkripcijski algoritam osobe B mogu na i b takav da Cbima valjani IJB. U slu aju da osoba B i C sura uju lako mogu do i do svih tajni koje ima osoba A.Ako se stranke pridr avaju fer razmjene postoji znatno jednostavniji protokol:

Page 11: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 10

1. Alice enkriptira sve tajne s RSA algoritmom i alje ih BobuCi = Si

e mod n2. Bob izabire njegovu tajnu, generira slu ajan broj r i alje C' Alice

C' = Cbre mod n3. Alice alje Bobu P'

P' = C'd mod n4. Bob ra una Sb

Sb = P'r-1 mod n

Ako su stranke ipak mo da zlonamjerne Bob mo e zero-knowledge protokolom dokazati da zna neki rza koji vrijedi C' = Cbre mod n i dr ati b u tajnosti dok mu Alice ne da P' u 3. koraku.

Page 12: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 11

4. SLIJEPI POTPIS

Klju na zna ajka svakog digitalnog potpisa je da potpisnik zna to potpisuje. Pretpostavimosituaciju u kojoj elimo posti i suprotno odnosno elimo da osoba potpi e ne to bez da vidi to topotpisuje. Ovo se mo da na prvi pogled ini kao glupi zahtjev no slijepi potpis ima veliku ulogu uostvarivanju anonimnosti pri izvr avanju kriptografskih protokola. Osobitu primjenu na ao je u e-cashsustavima i sustavima anonimnog elektroni kog glasovanja.

4.1. Apsolutno slijepi potpis

Neka je Bob javni bilje nik i neka Alice eli da on potpi e neki dokument ali ne eli da Bobvidi to je to. Boba ne zanima to potpisuje on samo potvr uje ne to svojim potpisom i spreman jepristati na slijepo potpisivanje

1. Alice uzima dokument i mno i ga s slu ajnim brojem. Taj slu ajni broj se nazivaprikrivaju i faktor.

2. Alice alje prikriveni dokument Bobu3. Bob potpisuje prikriveni dokument4. Alice uklanja prikrivaju i faktor, te joj ostaje izvorni dokument s Bobovim potpisom

Protokol predstavljen na ovaj na in funkcionira samo ako su funkcija potpisa i mno enje komutativne.Ako nisu, postoje drugi na ini kako modificirati dokument osim mno enjem. Za po etno razmatranjepretpostavimo operaciju mno enje i neka su svi matemati ki uvjeti ispunjeni. Mo e li Bob varati? Mo e li prikupiti bilo kakvu informaciju o dokumentu koji potpisuje? Akoje prikrivaju i faktor uistinu slu ajan tada ne mo e. Dokument kojega Bob potpisuje u 2. korakupotpuno se razlikuje od izvornog dokumenta. Prikriveni dokument s Bobovim potpisom iz 3. korakatako er se potpuno razlikuje od neprikrivenog dokumenta s Bobovim potpisom iz 4. koraka.Ako Bob i do e do neprikrivenog dokumenta, s kraja protokola, kojega je potpisao mo e samoverificirati svoj potpis no ne mo e dokazati da ga je potpisao to no u toj instanci protokola. Primjericeako je potpisao milijun dokumenata koriste i gore navedeni protokol ne postoji na in da sazna u kojojje rundi koji dokument potpisao. Na osnovu ovoga kratkog razmatranja mo emo zaklju iti oosnovnim svojstvima apsolutno slijepog potpisa:

1. Bobov potpis na dokumentu je ispravan i on je dokaz da ga je Bob uistinu i potpisao. Usvakom trenutku potpisan dokument s Bobovim potpisom uvjerit e Boba da ga je onpotpisao, a pored toga ovakav dokument posjeduje i sva ostala svojstva koja ima digitalnipotpis

2. Bob ne mo e na i vezu izme u potpisanog dokumenta i samog potpisivanja, ak i kadasprema podatke o svakom slijepom potpisu kojega je na inio.

Ugroziti anonimnost ne mo e ni tre a osoba jer ona ima jo manje informacija nego sam Bob.

4.2. Slijepi potpis

Kod apsolutno slijepog potpisa Alice mo e prevariti Boba tako to mu daje na potpis bilo to,te je svrha ovog protokola samo edukativna. Naravno, postoji na in kako Bob mo e znati to potpisujedok su i dalje zadr ana sva svojstva slijepog potpisa. Temelj slijepog potpisa ini protokol podijeli ibiraj. Alice e Bobu dati skup razli itih prikrivenih dokumenata. On e otvoriti slu ajnimredoslijedom svaki osim jednoga, da bi ih ispitao, te e potpisati neotvoreni smatraju i da se i u njemunalazi dokument koji se bavi istom tematikom. Da bi lak e shvatili kako slijepi potpis funkcioniraposlu it e sljede a analogija; Zamislimo prikrivene dokumente kao dokumente u omotnicama, aproces uklanjanja prikrivaju eg faktora kao va enje tih dokumenata iz omotnica. Dokument koji se

Page 13: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 12

nalazi u omotnice nemogu e je pro itati, potpisuje se na na in da se izme u omotnice i dokumentanalazi indigo papir te kada osoba koja treba slijepo potpisati dokument potpi e dokument prekoomotnice potpis e se preslikati i na sam dokument.Protokol se odvija kroz 8 koraka, neka je definiran glasa ki listi specijalnog formata i serijskog brojakoji treba biti odobren potpisom glasa ke ustanove (Alice), ali glasa ka ustanova ne smije znati koji jeglasa ki listi kome (Bobu) dala:

1. Bob prire uje n glasa kih listi a to no odre enog formata i razli itih serijskih brojeva2. Bob prikriva svaki glasa ki listi koriste i razli ite prikrivaju e faktore3. Bob alje n prikrivenih glasa kih listi a Alice4. Alice odabire n-1 glasa ki listi slu ajno i tra i od Boba prikrivaju e faktore za odabrane

glasa ke listi e5. Bob alje Alice odgovaraju e prikrivaju e faktore6. Alice uklanja prikrivaju e faktore s n-1 odabranog glasa kog listi a iz 4. koraka i

potvr uje da svi imaju ispravan format7. Alice potpisuje onaj glasa ki listi koji je jo uvijek prikriven8. Bob uklanja prikrivaju i faktor s potpisanog glasa kog listi a i ostaje mu uredno potpisani

odnosno odobreni glasa ki listi iji je serijski broj nepoznat Alice

Ovaj protokol je apsolutno siguran to se ti e mogu nosti da Bob vara jer ne postoji na in dapouzdano pogodi koji dokument Alice ne e provjeriti. Vjerojatnost da to ipak u ini je 1:n. S obziromna pokazanu sigurnost Alice mo e potpisati dokument bez obzira to u stvarnosti ne zna to potpisuje.Kada uzmemo u obzir samo taj dokument protokol je identi an protokolu apsolutno slijepog potpisa ssvim prije navedenim svojstvima.

Postoji jo jedan trik koji e dalje smanjiti vjerojatnost Boba da vara. U 4. koraku Aliceodabire n/2 dokumenta, slu ajno, za koje Bob alje prikrivaju e faktore u 7. koraku. Alice pomno isve preostale dokumente i tako nastali veliki dokument potpisuje. Da bi varao Bob mora to no znatikoji podskup e Alice birati za to su anse prili no male. Pored ovoga postoji jo jedan na in na kojiBob mo e varati i to tako da generira dva dokumenta, jedan kojega je Alice spremna potpisati i drugikojega nije. Tada mo e otkriti dva razli ita prikrivaju a faktora koja transformiraju ova dvadokumenta u identi ne prikrivene dokumente. Ako Alice zatra i da ispita maligni dokumenta Bob jojdaje klju koji maligni dokument transformira u benigni, a ako Alice ne zatra i da ispita ba tajdokument ona potpisuje maligni dokument. Sada Bob mo e iskoristiti odgovaraju i prikrivaju i faktorda potpisani dokument prikriveni dokument pretvori u potpisani NE prikriveni maligni dokument.Iako bi u teoriji ovaj napad moglo provesti matemati ki dokaz ka e da je vjerojatnost da se ovakavnapad provede i u praksi jednaka onome kao da Bob uspije sam potpisati proizvoljan dokument.

4.2.1 Chaumov slijepi potpis

Prvi slijepi potpis izmislio je David Chaum 1982. godine i prva implementacija koristimodificiran RSA algoritam. Bob ima javni klju e, privatni klju d i javni modul n. Alice eli da Bobslijepo potpi e poruku:

1. Alice odabire slu ajnu vrijednost k koja pripada podru ju od 1 do n. Nakon toga prikrivaporuku m tako to ra una

t = mke mod n2. Bob potpisuje t

td = (mke)d mod n3. Alice uklanja prikrivenost td-a tako to ra una:

s = td/k mod n4. Rezultat je:

s = md mod nOvo se lako pokazuje:

Page 14: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 13

td ≡ (mke)d ≡ mdk (mod n) → td/k = mdk/k ≡ md (mod n)

Chaum je tijekom godina izmislio nekoliko razli itih shema slijepih potpisa koji su znatno slo enijinego njegov prvijenac, a neke je i patentirao:

Patentirane sheme slijepih potpisa Davida ChaumaU.S. Patentni broj Datum Naslov

4.759.063 19.7.1988. Blind Signature Systems4.759.064 19.7.1988. Blind Unanticipated Signature Systems4.914.698 3.3.1990. One-Show Blind Signature Systems4.949.380 14.8.1990. Returned-Value Blind Signature Systems4.991.210 5.2.1991. Unpredictable Blind Signature Systems

4.2.2 Proxy slijepi potpis

Protokol proxy slijepog potpisa predstavljen je 1996 godine. U ovom protokolu izvornipotpisnik predaje svoje pravo potpisa drugom (proxy) potpisniku koji potom mo e potpisati bilo kojuporuku u ime izvornog potpisnika, a strana koja verificira potpis mora razlikovati originalan potpis odproxy potpisa, odnosno onoga potpisa kojega je stvorio entitet kojemu je preneseno pravo potpisivanja.Kod proxy slijepog potpisa razlikujemo dva tipa: 1. Proxy neza ti eni 2. Proxy za ti eniKod neza ti enog proxy slijepog potpisa i proxy i izvori na strana imaju pravo stvoriti proxy potpisdok kod za ti enog proxy slijepog potpisa jedina strana koja ima pravo stvoriti proxy potpis je samproxy entitet. Ovi protokoli pored prije navedenih svojstava imaju zadovoljeno svojstvo neporecivostii nemogu nosti krivotvorenja.

Neka su definirani slijede i parametri:p: veliki prim brojq: veliki prim faktor od (p-1)g: element grupe Zp

* reda qxA: tajni klju izvornog potpisnika AyA: javni klju izvornog potpisnika A, gdje je yA = gxA mod ph(.): jednosmjerna hash funkcija

Proxy neza ti eni slijepi potpis:

Za proxy neza ti eni slijepi potpis protokol je slijede i:

1. Proxy faza:a) Izvorni entitet koji vr i potpisivanje, nazovimo ga A slu ajno odabire k ∈ Zq

*, k ≠ 1 ira una:

r = gk mod ps = xA k r mod qyp = gs mod p

b) entitet A potom alje tajne klju eve (s, r) na siguran na in proxy entitetu koji vr ipotpisivanje, nazovimo ga B, i objavljuje yp

c) Nakon to je B primio klju eve provjerava ispravnost tajnog klju a sljede omkongruencijom:

yp = gs = yA rr mod p

Page 15: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 14

ako (s, r) zadovoljavaju kongruenciju entitet B prihva a proxy poruku, a u suprotnom ju odbacuje. Udaljnjem odvijanju protokola entitet ili tra i novi klju ili zaustavlja protokol

2. Faza potpisivanja:a) B odabire slu ajan broj K ∈ Zq

*, k ≠ 1, izra unavaR = gK mod p

i alje ga primatelju C

b) C slu ajno odabire , ∈ Zq* te ra una

r' = R g- yp- mod p

ako je r' = 0 C odabire drugi , skup, ina e ra unae' = h(r' ⊕ m) mod q

e = e' + mod qIzra unati e se alje entitetu Bc) Nakon to je B primio e izra unava

s' = K – s e mod qi alje nazad C-ud) Sada C ra una

Sp = s' – mod q

Trojka (m, Sp, e') predstavlja proxy slijepi potpis.

3. Faza verifikacije:Strana koja potvr uje ili primatelj proxy slijepog potpisa ra una:

e'' = h(gSp ype' (mod p) ⊕ m) mod q

gdje je yp rezultat a) koraka iz 1. faze.Jednakost e'' = e' vrijedi samo ako je trojka (m, Sp, e') valjani slijepi potpis.

Proxy za ti eni slijepi potpis:

Ukoliko elimo da samo proxy potpisnik mo e generirati valjani proxy potpis potrebno jemodificirati Proxy fazu iz prethodno opisanog protokola:1. Proxy faza:

a) Izvorni entitet koji vr i potpisivanje A slu ajno odabire k ∈ Zq*, k ≠ 1 i ra una:

r = gk mod p = xA + k r mod q

yp = g yB mod pgdje je yB = gx

B mod p javni klju entiteta B

b) entitet A potom alje klju eve ( , r) proxy entitetu koji vr i potpisivanje B na siguranna in i objavljuje yp

c) Nakon potvrde valjanosti dvojke ( , r) B modificira proxy klju na slijede i na in:s = + xB mod q

Faza potpisivanja i faza verifikacije je identi na onoj u protokolu proxy neza ti enog slijepogpotpisa. Sigurnost ovakvog protokola je na visokoj razini, a nekoliko zna ajki se posebno isti e. Udijelu protokola koji se koristi za verifikaciju (faza verifikacije) rabe se razli ite kongruencije kako bise provjerila ispravnost originalnog potpisa i proxy potpisa, na taj na in je omogu eno razlikovanjeoriginalnog od proxy potpisa. Nemogu e je stvoriti ispravan potpis bez poznavanja s ili xB ili oba te jena taj na in onemogu eno krivotvorenje potpisa. Nadalje kako izvorni potpisnik kreira s on nemanikakvu informaciju o xB u slu aju proxy za ti enog protokola slijedi da proxy potpisnik ne mo e

Page 16: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 15

pore i proxy potpis kojega je stvorio. Javni klju yp se ra una iz javnog klju a izvornog entiteta kojipotpisuje te na taj ne in izvorni entitet ne mo e pore i komunikaciju s proxy entitetom. U slu ajuproxy za ti enog protokola javni klju proxy entiteta koji vr i potpisivanje je sadr an u javnom klju ute je tako omogu eno identificiranje proxy entiteta iz samog potpisa.

4.2.3 Pravedni slijepi potpis

Iako se njegova uporaba zbog jednog interesantnog svojstva ne mo e iskoristiti u stvaranjusustava anonimnog elektroni kog glasovanja ve samo pri stvaranju e-cash aplikacija upravo ga je tosvojstvo uvrstilo u opis razli itih porodica slijepih potpisa. Model pravednog slijepog potpisa sastojise od nekoliko po iljatelja, potpisnika i entiteta kome se vjeruje, nazovimo ga sudac te dva protokola:

1. Protokol za potpisivanje koji uklju uje po iljatelja i potpisnika2. Protokol oporavka veze (eng. Link Recovery) koji uklju uje potpisnika i sudca

Provo enjem protokola za potpisivanje po iljatelj dobavlja ispravno potpisanu poruku po njegovojelji tako da entitet koji je potpisao poruku ne mo e dovesti u vezu poruku i potpis. Provo enjem

protokola oporavka veze entitet koji je potpisao poruku dobiva od sudca informaciju koja muomogu uje da prepozna vezu izme u provedenog protokola i poruka-potpis para. U ovisnosti odinformacije koju prima sudac pravedne slijepe potpise dijelimo na:

1. Tip I: Pregledom potpisnikova protokola sudac dostavlja informaciju koja omogu ujepotpisniku (ili bilo kome drugome) da uspje no prepozna poruka-potpis par, drugimrije ima sudac je u mogu nosti ekstrahirati poruku.

2. Tip II: Pregledom poruka-potpis para sudac mo e dostaviti informaciju koja omogu ujepotpisniku da uspje no identificira po iljatelja te poruke ili da na e odgovaraju u instancuprovedenog protokola potpisa.

Postoje razli ite primjene pravednog slijepog potpisa, jedan od njih je sprije iti pranje novca uanonimnim elektroni kim sustavima pla anja. U takvim sustavima temeljenim primjerice napravednom slijepom potpisu drugog tipa vlasti mogu odrediti podrijetlo spornih nov anica. Drugaprimjena je u sprje avanju scenarija "savr enog zlo ina"; u situaciji kada je klijent banke ucijenjen iprimoran da anonimno prebaci elektroni ka sredstva sa svog ra una na ra un ucjenjiva a. U savr enoanonimnom sustavu ucjenjiva se ne bi moga identificirati kasnije ali pri uporabi pravednog slijepogpotpisa prvog tipa sudac je u mogu nosti pratiti e-nov anice koje je ucjenjiva dobio.

Slika 4.1: grafi ki prikaz protokola pravednog slijepog potpisa

Page 17: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 16

Nekoliko je razli itih na ina ostvarenja pravednog slijepog potpisa i to: pravedni slijepi potpiskoji koristi protokol podijeli i biraj, pravedni slijepi potpis temeljen na zaboravljivim transakcijama,pravedni slijepi potpis temeljem na Fiat-Shamir potpisima, pravedni slijepi potpis s registracijom.Pogledajmo pravedni slijepi potpis uz uporabu podijeli i biraj protokola. Ovaj pravedni slijepi potpistemeljen je na Chaumovom slijepom potpisu i protokolu podijeli i biraj, definirajmo najprijeparametre:

(n,e): potpisnikov javni kljuEJ(): funkcija kriptiranja su evog kriptosustavaH: jednosmjerna funkcija za izra unavanje sa etka poruke (eng. HASH)k: sigurnosni parametar (npr. k > 20)

Potpisnik i po iljatelj najprije razmjenjuju sjedni ki identifikator (eng. session ID) (svaka instancaprotokola mora dobiti novi ID) te provode protokol:

1. Po iljatelj slu ajno izabire ri ∈ Z i stringove i, i gdje i = 1,2..., 2k-1, 2k; zatim ra una:ui = EJ(m || i)vi = EJ(ID || i)mi = ri

e H (ui || vi) mod nte alje mi entitetu koji vr i potpisivanje i gdje || predstavlja konkatenaciju stringova

2. Potpisnik slu ajno izabire podskup veli ine k S ⊂ {1, ...., 2k} i alje S po iljatelju3. Po iljatelj za svaki i iz skupa S alje odgovor potpisniku koji sadr i ri, ui, i4. Potpisnik po primitku poruke za svaki i iz skupa koji je odabran u 2. koraku provjerava

vrijedi li jednakostmi = ri

e H (ui || EJ(ID || i)) mod nukoliko je to ispunjeno potpisnik izra unava b i alje ga po iljatelju

b = (∏∉Si ) 1/e mod n

5. Po iljatelj po primitku b ra una slijede i izraz:s = b / ∏∉Si

mod nRezultiraju i potpis se sastoji od izra unatog s i skupa parova T = {(ai, vi) | i ∉S}. Potpis se mo eprovjeriti tako to se izra unava sljede e:

se = ∏∈Tv ),(α

H(EJ(m || )||v) mod n

Na kraju protokola potpisnik je uvjeren kako je s velikom vjerojatno u svaki vi korektno formiran.Kako vi ovisi o sjedni kom ID-u nemogu e je da napada odnosno zlo udni po iljatelj koristiinformacije koje je primio prilikom jedne sjednice u nekoj drugoj, nadalje vjerojatnost da napadado e do ispravnog potpisa s krivotvorenim ui je zanemarivo mala. Lako se vidi kako je ovaj protokolpravednog potpisa i tipa I i tipa II:

- Kada sudac primi vrijednosti ui, i ∈ S u mogu nosti je otkriti poruke m (vjerojatnost da susvi ui krivotvoreni je zanemarivo mala). Ovo predstavlja tip I

- Ako pak sudac primi dvojku (s, T) mo e lako izra unati sjedni ki ID tako to dekriptira svev u T. Ovo predstavlja tip II

Protokol se sada mo e modificirati u ovisnosti elimo li protokol tipa I ili tipa II:- Za protokol tipa I je potrebno ra unati vi kao vi = H(ID || i) u ovom slu aju sudac ne mo e

vi e otkriti sjedni ki ID te je ovo protokol pravednog slijepog potpisa tipa I- Za protokol tipa II je potrebno ra unati ui kao ui = H(m || i) u ovom slu aju sudac ne

mo e vi e otkriti poruku m te je ovaj protokol stoga tipa IIPravedni slijepi potpis koji koristi metodu podijeli i biraj nije efikasan, izmjenjuju se velike koli inepodataka, a i rezultiraju i potpis je duga ak. U efikasnije protokole spadaju gore spomenuti, no njihovopis prelazi granice ovoga seminara.

mi

ri

Page 18: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 17

5. ELEKTRONI KO GLASOVANJE

Digitalni oblik glasovanja ne e biti u irokoj uporabi sve dok se ne dizajnira protokol koji euvati osobnu privatnost i tititi od varanja. Prihvatljiv protokol ima barem sljede ih 6 svojstava:

1. Samo autorizirani korisnici mogu glasovati2. Nitko ne smije glasovati vi e puta3. Nitko ne smije saznati za koga je netko glasovao4. Nitko ne mo e duplicirati ne iji drugi glas (Ovaj zahtjev je najte e ostvariti)5. Nitko ne smije neopa eno modificirati ne iji glas6. Svaki glasa treba mo i provjeriti da je njegov glas uba en u virtualnu glasa ku kutiju

Neke sheme e-glasovanja imaju jo jedno svojstvo, svojstvo koje se ne primjenjuje u realnimimplementacijama sustava anonimnog elektroni kog glasovanja jer znatno komplicira protokolglasovanja (vidjeti poglavlje 5.7).

7. Svatko zna tko je i tko nije glasovao

Prije opisa slo enog protokola s navedenim karakteristikama pogledajmo jedan manje slo eniprotokol.

5.1 Jednostavan glasa ki protokol (1)

1. Svaki glasa kriptira svoj glas javnim klju em Centralne Ustanove za PrebrojavanjeGlasova (u daljnjem tekstu CUPG)

2. Zatim alje svoj kriptirani glas u CUPG3. CUPG dekriptira glasove prebrojava ih te objavljuje rezultateOvaj protokol je prepun problema. CUPG ne zna izvor glasova pa samim time ne zna jesu li to

pravovaljani glasovi i ne zna glasuje li pojedini glasa vi e puta. Jedina pozitivna stvar jenemogu nost promjene glasova, no s obzirom na mogu nost vi estrukog glasovanja ovo i nepredstavlja pravo ograni enje napada u.

5.2 Jednostavan glasa ki protokol (2)

1. Svaki glasa potpisuje glas svojim privatnim klju em2. Svaki glasa kriptira potpisan glas s javnim klju em CUPG-a3. Zatim alje svoj kriptirani glas u CUPG4. CUPG dekriptira glasove, provjerava potpis, prebrojava glasove i objavljuje rezultateOvaj protokol zadovoljava svojstva 1. i 2.: samo autorizirani korisnici mogu glasovati i nitko

ne smije glasovati vi e puta. Svaki je glas digitalno potpisan glasa evim privatnim klju em tako daCUPG to no zna tko je glasovao, a tko nije i koliko je puta tko glasovao. Ako CUPG ustanovipostojanje glasa koji je potpisan nepoznatim klju em ili ako glas s istim potpisom ve postoji on bivaodba en. U ovom slu aju nitko ne mo e promijeniti ni iji glas ak i u slu aju presretanja zbogpostojanja digitalnog potpisa.

Problem ovoga protokola le i u povezanosti glasa s digitalnim potpisom koji na jedinstvenna in identificira osobu koja je glasovala. Kriptiranje poruke koja se alje javnim klju em CUPG-asamo sprje ava prislu kivanje i otkrivanje tko je glasovao za koga, nekoj tre oj osobi, no u potpunostimoramo imati povjerenja u Ustanovu kojoj aljemo na e glasove to bi bilo ekvivalentno dadopustimo osobi koja nadgleda konvencionalne izbore da vidi za koga smo glasovali.

Ova dva jednostavna primjera poslu ila su nam da poka emo koliko je te ko posti i samo prvatri uvjeta idealnog digitalnog glasa kog sustava, za sada ni ne uzimaju i u obzir ostale uvjete.Pogledajmo sada jednu znatno kompleksniju shemu koja ima i prakti nu primjenu.

Page 19: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 18

5.3 Glasovanje uporabom Slijepog Potpisa

Iz prija njih primjera jasno je da nam je potreban mehanizam pomo u kojega emo odvojitiidentitet osobe koja je glasovala od samog glasa dok i dalje zadr avamo mogu nost autentifikacije.Upravo slijepi potpis omogu uje ostvarivanje ovakvog mehanizma:

1. Svaki glasa generira 10 paketa poruka, svaki paket sadr i valjani glas za svaku opciju(primjerice ako su ponu eni DA i NE glasa konstruira paket koji sadr i dva glasa jedanza DA i drugi za NE). Pored toga poruke sadr e slu ajno generiran identifikacijski broj,dovoljno veliki da se izbjegne dupliciranje s identifikacijskim brojevima drugih glasa a.

2. Svaki glasa zasebno prikriva svaku poruku (vidjeti poglavlje 4.) i alje ih CUPG-u3. CUPG provjerava svoju bazu podataka ne bi li se uvjerio da glasa ve nije poslao svoj

glas, otvara 9 od 10 poruka i uvjerava se da je format ispravan zatim potpisuje svakuporuku u neotvorenom paketu zasebno. Potom ih alje nazad glasa u te pohranjujeglasa evo ime u bazu podataka.

4. Glasa otkriva poruku koju je poslao CUPG i sada posjeduje uredno potpisan "DA" i "NE"(Napomena: poruke su samo potpisane nisu kriptirane tako da glasa mo e vidjeti koja jekoja)

5. Glasa izabire ili DA glas ili NE i kriptira ga s javnim klju em CUPG-a6. Glasa alje svoj glas7. CUPG dekriptira glas, provjerava potpis, provjerava postoji li identi an serijski broj u bazi;

ako je sve u redu sprema glas sa serijskim brojem te ga pribraja ukupnom rezultatu.Nelegitiman glasa ne mo e prevariti ovaj sustav. Slijepi potpis potvr uje da je glas jedinstven,ukoliko se CUPG po alje glas koji ve postoji biti e odba en s obzirom da se u 7. koraku odvijaprovjere jedinstvenosti serijskog broja. Ukoliko napada poku a predati vi e glasova na potpis to ebiti otkriveno u 3. koraku. Napada tako er ne mo e generirati svoje glasove jer ne zna tajni kljucentralne ustanove za prebrojavanje glasova te upravo zbog toga ni ne mo e modificirati glasovedrugih bira a. Svrha podijeli i biraj protokola primijenjenog u koraku 3. je jedinstvenost glasa. Bez togkoraka bi napada mogao generirati set poruka koje se razlikuju samo u identifikacijskom broju kojebi zatim CUPG potpisao. Zlonamjerni CUPG tako er ne mo e vidjeti kako je koji pojedinac glasovao jer slijepi potpissprje ava ustanovu da vidi identifikacijski broj prije nego je on dodijeljen glasu; CUPG tako er nemo e povezati prikriveni glas koji potpisuje s onim koji se ubacuje u virtualnu glasa ku kutiju.Objavljivanjem liste serijskih brojeva svaki se glasa mo e uvjeriti da je njegov glas tako er igraoulogu pri izboru. Problem koji bi se uporabom ovoga protokola mogao javiti je onaj kada 6. korak ne bi bioanoniman, tada bi CUPG mogao pratiti tko je za koga glasovao. Rje enje je da elektroni ke glasoveCUPG prima u zaklju anu glasa ku kutiji, a tek po zavr etku glasanja ih mo e prebrojati. Mnogoozbiljniji nedostatak ovoga protokola je to CUPG mo e sam generirati glasove, te kada bi jedanglasa otkrio da mu je glas izmijenjen ne bi bio u mogu nosti to i dokazati.

5.4 Glasovanje pomo u dvije centralne ustanove

Rje enje gore navedenog problema je podijeliti CUPG u dvije zasebne ustanove te bi se na tajna in sprije ilo mogu e varanje pojedine ustanove. Slijede i protokol koristi CentralnuLegitimizacijsku Ustanovu (CLU) i odvojenu Centralnu Ustanovu za Prebrojavanje Glasova:

1. Svaki glasa alje poruku CLU i tra i validacijski broj2. CLU odgovara glasa u sa slu ajnim validacijskim brojem. CLU pohranjuje poslani

validacijski broj u listu.3. CLU alje listu validacijskih brojeva CUPG-u4. Svaki glasa bira slu ajan identifikacijski broj. Zatim kreira poruku koja sadr i taj broj,

validacijski broj kojega je dobio od CLU i glas te takvu poruku alje CUPG

Page 20: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 19

5. CUPG provjerava validacijski broj u listi. Ukoliko se validacijski broj nalazi u listi on biva"prekri en" kako bi se sprije ilo vi estruko glasovanje. CUPG jo dodaje identifikacijskibroj listi ljudi koji su glasovala za pojedinog kandidata.

6. Nakon to su svi glasovi primljeni CUPG objavljuje rezultate kao i identifikacijskebrojeve uz listu pojedinog kandidata

Kako i prethodni protokol svaki glasa mo e provjeriti identifikacijske brojeve, ovo je dokaz da jenjegov glas prebrojan. Podrazumijeva se da je komunikacija kriptirana i svaka poruka digitalnopotpisana kako bi se sprije ilo la no predstavljanje i presretanje poruka.

CUPG ne mo e modificirati glasove jer e svaki glasa tra iti svoj identifikacijski string.Ukoliko se taj string ne prona e ili se prona e u listi kandidata za kojega glasa nije glasovao odmahje jasno da je do lo do varanja. CUPG ne mo e puniti glasa ku kutiju s glasovima po izboru jer junadgleda CLU; CLU zna koliko je glasa a certificirano i zna njihove validacijske brojeve te vrlo lakomo e otkriti bilo kakve neregularnosti.

Napada koji nije legitiman glasa mo e poku ati prevariti sustav tako to e probati poku atipogoditi ispravan validacijski broj. Ovo se vrlo jednostavno mo e sprije iti tako to se kaovalidacijski broj koristi jako veliki broj, primjerice 100 znamenkasti broj na milijun bira a.Podrazumijeva se da se validacijski brojevi i dalje generiraju slu ajno.

Unato tome CLU se i dalje neupitno vjeruje, ona certificira glasa e te mo e certificiratiglasa a nekoliko puta. Ovaj se rizik mo e minimizirati tako da CLU objavi listu validiranih glasa aali ne i njihove validacijske brojeve. Ukoliko je broj glasa a na listi manji od broja glasa a koji sustvarno glasovali netko je prevario sustav. Suprotan slu aj bi bio u potpunosti prihvatljiv jer ne morasvako certificiran glasa i glasovati.

Slabost ovoga protokola dolazi do izra aja kada CLU i CUPG sura uju, tada uspore uju ibaze podataka mogu do i do informacije tko je za koga glasovao.

5.5 Glasovanje s jednom centralnom ustanovom

Uporabom kompleksnijeg protokola mo e se zaobi i opasnost od suradnje CLU i CUPG.Ovakav protokol je identi an prethodno opisanom s dvije modifikacije ije obja njenje slijedi u tekstu:

- CLU i CUPG su jedna organizacija- Sve-ili-Ni ta Otkrivanje Tajni (SINOT) se koristi da se anonimno distribuiraju validacijski

brojevi iz 2. korakaKako protokol anonimne distribucije klju a sprje ava CUPG da sazna koji glasa je dobio kojivalidacijski broj, ne postoji na in da CUPG dovede u vezu validacijske brojeve s glasovima koje jedobila. CUPG se i dalje treba potpunosti vjerovati jer i dalje postoji mogu nost davanja validacijskihbrojeva nelegitimnim glasa ima. Napomena: Ovaj problem se tako er mo e rije iti uporabom slijepogpotpisa.

5.6 Unaprije eno glasovanje s jednom centralnom ustanovom

Ovaj protokol tako er koristi SINOT. Zadovoljava svih 6 zahtjeva dobrog elektroni kogglasa kog protokola, ipak ne zadovoljava 7. uvjet ali ima dvije dodatne stavke pridodane 6. zahtjevu,a to su:

7. Glasa se mo e predomisliti odnosno povu i svoj glas unutar odre enog vremenskogperioda

8. Ako glasa sazna da je njegov glas pogre no pribrojen on mo e identificirati problem iispraviti ga ne ugroziv i sigurnost i tajnost njegovog glasa kog listi a.

Slijedi protokol:

1. CUPG objavljuje listu svih legitimnih glasa a

Page 21: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 20

2. Unutar odre enog vremenskog intervala svaki glasa odgovara CUPG-u eli li glasovati3. CUPG objavljuje listu glasa a koji su potvrdili svoje sudjelovanje u glasovanju4. Svaki glasa dobiva identifikacijski broj I koriste i SINOT protokol5. Svaki glasa generira javni/tajni par klju eva k, d. Ako je v glas, glasa generira sljede u

poruku koju alje CUPG-uI,Ek(I,v)

Ova poruka mora biti poslana anonimno6. CUPG potvr uje primitak poruke objavljuju i

Ek(I,v)7. Svaki glasa alje CUPG-u

I, d8. CUPG dekriptita glasove. Na kraju glasovanja objavljuju se rezultati glasovanja i lista

koja sadr i Ek(I,v)9. Ukoliko glasa uo i da njegov glas nije pravilno pribrojan on alje CUPG sljede u poruku

I,Ek(I,v),d10. Ukoliko pak glasa eli promijeniti svoj glas iz v u v' alje CUPG sljede u poruku

I,Ek(I,v'),dOvaj protokol umjesto SINOT-a mo e koristiti i slijepi potpis no bit je ista. Koraci od 1 do 3

su preliminarni stvarnom glasovanju. Njihova svrha je pronalazak i objavljivanje to nog broja glasa a.Vjerojatno neki glasa i ne e sudjelovati u glasovanju te ovaj korak znatno reducira mogu nostdodavanja krivotvorenih glasova. U 4. koraku postoji mogu nost da dva glasa a dobiju isti identifikacijski broj ali se ovo mo eminimizirati koriste i daleko ve i skup identifikacijskih brojeva nego samih glasa a. Ukoliko CUPGprimi dva ista identifikacijska broja, ustanova generira novi identifikacijski broj I' i objavljuje sljede uporuku:

I',Ek(I,v)Glasa koji je poslao ovaj glas to prepoznaje i dostavlja novi glas, ponavljaju u korak 5 s novimidentifikacijskim brojem. 6. korak daje sposobnost provjere je li CUPG primila glas korektno; ukolikoje glas pogre no pribrojen to se mo e ispraviti u koraku 9.

Jedan od problema koji se javlja kod ovog protokola je nepo tena CUPG koja mo e alociratiglasove osoba koje se odazovu u 2. koraku ali koji ne glasuju. Drugi problem je kompleksnost SINOTprotokola. Sami autori preporu aju dijeljenje ve e populacije glasa a u manje cjeline. Me utim najve i problem javlja se kada nepo tena CUPG zanemari pojedine glasove. Ovajproblem na alost nije rje iv: Alice tvrdi da je CUPG namjerno zanemarila njezin glas no CUPG tvrdida Alice nikada nije ni glasovala.

5.7 Glasovanje bez Centralne ustanove za prebrojavanje glasova

Sljede i protokol u potpunosti prekida vezu s CUPG. Zasniva se na interesantnoj injenici daglasa i me usobno motre jedan na drugoga. Dizajnirao ga je Michael Merritt 1982. godine i toliko je"lo e" dizajniran da ne mo e efikasno raditi stoga niti nema prakti nu primjenu. Realno se mo erealizirati za desetak ljudi no njegova prava svrha je u prikazu nestandardne ideje ili motivaciji zaneke nove. A, B, C i D glasuju s DA ili NE (0 ili 1). Pretpostavimo da svaki sudionik ima svoj javni i tajniklju te da su sudionici me usobno razmijenili svoje javne klju eve

1. Svaki glasa odabire kako e glasovati (s DA ili s NE) i radi sljede ea. Dodaje slu ajan string svome glasub. Kriptira rezultat koraka a. s D-ovim javnim klju emc. Kriptira rezultat koraka a. s C-ovim javnim klju emd. Kriptira rezultat koraka a. s B-ovim javnim klju eme. Kriptira rezultat koraka a. s A-ovim javnim klju em

Page 22: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 21

f. Dodaje slu ajan string rezultiraju em stringu iz e. koraka i kriptira ga s D-ovimjavnim klju em. Sprema vrijednost slu ajnog stringa

g. Dodaje slu ajan string rezultiraju em stringu iz f. koraka i kriptira ga s C-ovimjavnim klju em. Sprema vrijednost slu ajnog stringa

h. Dodaje slu ajan string rezultiraju em stringu iz g. koraka i kriptira ga s B-ovimjavnim klju em. Sprema vrijednost slu ajnog stringa

i. Dodaje slu ajan string rezultiraju em stringu iz h. koraka i kriptira ga s A-ovimjavnim klju em. Sprema vrijednost slu ajnog stringa

Neka je E enkripcijska funkcija, Ri slu ajan string i V glas, poruka glasa a ima slijede ioblik:

EA(R5,EB(R4,EC(R3,ED(R2,EA(EB(EC(ED(V,R1))))))))Svaki glasa sprema posredni rezultat u svakoj to ki izra una; ovi e rezultati bitikori teni kasnije u protokolu za potvrdu da je glasa ev glas me u onima koji se broje

2. Svaki glasa alje svoj glas A-u3. A dekriptira sve glasove sa svojim privatnim klju em i odstranjuje sve slu ajne stringove u

toj razini4. A mije a redoslijed glasova i alje rezultat B-u. Svaki glas sad izgleda ovako:

EB(R4,EC(R3,ED(R2,EA(EB(EC(ED(V,R1)))))))5. B dekriptira sve glasove svojim privatnim klju em, provjerava nalazi li se njegov glas

me u ostalim glasovima, uklanja sve slu ajne stringove u toj razini, mije a sve glasove itada alje rezultat C-u. Svaki glas sad izgleda ovako:

EC(R3,ED(R2,EA(EB(EC(ED(V,R1))))))6. C dekriptira sve glasove svojim privatnim klju em, provjerava nalazi li se njegov glas

me u ostalim glasovima, uklanja sve slu ajne stringove u toj razini, mije a sve glasove itada alje rezultat D-u. Svaki glas sad izgleda ovako:

ED(R2,EA(EB(EC(ED(V,R1)))))7. D dekriptira sve glasove svojim privatnim klju em, provjerava nalazi li se njegov glas

me u ostalim glasovima, uklanja sve slu ajne stringove u toj razini, mije a sve glasove itada alje rezultat A-u. Svaki glas sad izgleda ovako:

EA(EB(EC(ED(V,R1))))8. A dekriptira sve glasove svojim privatnim klju em, provjerava nalazi li se njegov glas

me u ostalim glasovima, potpisuje sve glasove i alje rezultat B-u, C-u i D-u. Svaki glassad izgleda ovako:

SA(EB(EC(ED(V,R1))))9. B verificira i uklanja A-ov potpis. Zatim dekriptira sve glasove sa svojim privatnim

klju em, provjerava nalazi li se njegov glas me u ostalim glasovima, potpisuje sve glasovei tada alje rezultat A-u, C-u i D-u. Svaki glas sad izgleda ovako:

SB(EC(ED(V,R1)))10. C verificira i uklanja B-ov potpis. Zatim dekriptira sve glasove sa svojim privatnim

klju em, provjerava nalazi li se njegov glas me u ostalim glasovima, potpisuje sve glasovei tada alje rezultat A-u, B-u i D-u. Svaki glas sad izgleda ovako:

SC(ED(V,R1))11. D verificira i uklanja C-ov potpis. Zatim dekriptira sve glasove sa svojim privatnim

klju em, provjerava nalazi li se njegov glas me u ostalim glasovima, potpisuje sve glasovei tada alje rezultat A-u, B-u i C-u. Svaki glas sad izgleda ovako:

SD(V,R1)12. Svi verificiraju i uklanjaju D-ov potpis. Zatim provjeravaju nalazi li se njihov glasa me u

svim ostalim na na in da provjere nalazi li se njihov slu ajan string me u glasovima13. Svatko ukloni slu ajan string sa svakog glasa i objavi rezultate

Ovaj protokol pored toga to je matemati ki ispravan ima i svojstvo samo-presude. A, B, C i D eistog trenutka znati vara li netko i pri tome nije potrebna ni CUPG ni CLU Ako netko poku a poslati vi e glasova to e A odmah primijetiti u 3. koraku kada primi vi eglasova nego osoba prisutnih u glasa kom lancu. Ako pak A poku a dodati koji glas to e odmah

Page 23: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 22

primijetiti B u 4 koraku... Drugi na in napada mogao bi biti zamjenom jednog glasa drugim. Kako suglasovi kriptirani javnim klju evima bilo tko mo e generirati koliko ispravnih poruka eli, nodekripcijski protokol ima dvije runde prva od 3. do 7. koraka i druga od 8. do 11. koraka. Zamjenaglasova se detektira druk ije u svakoj rundi. Ako netko zamjeni glas tijekom prve runde njegova varkabiti e otkrivena odmah, A ne mo e to u initi u 3. koraku jer e ju otkriti B, C ili D u 5., 6. ili 7.koraku. B mo e poku ati zamjenu u 5. koraku, ako zamjeni D-ov ili C-ov glas (uo ite B ne zna ijiglas zamjenjuje) C ili D e to uo iti u 6. ili 7. koraku. Oni u tom trenutku ne e znati tko je izvr iozamjenu (podrazumijeva se da je to netko tko je ve obradio glasove) ali e znati da je do zamjenedo lo. Ako B ima sre e i zamjeni A-ov glas to se ne e znati sve do druge runde kada e u 8.koraku Aotkriti da njegov glas nedostaje, no ni dalje ne e biti mogu e otkriti tko je izvr io zamjenu. Jo jedanna in napada je poku ati otkriti tko je glasova za koga. Zbog mije anja u prvom koraku nemogu e jepovezati glasove s glasa ima. Uklanjanje slu ajnih stringova tijekom prve runde je tako er odpresudnog zna enja za o uvanje anonimnosti, ako se oni ne uklone mije anje glasova je mogu epratiti unatrag. Kako se protokol odvija tajnost glasova je osigurana.

Pored spomenutih ograni enja ovoga protokola javlja se jedan nedostatak a to je mogu nost Ada kopira bilo iji glas bez da zna za koga kopirani glasuje. Da bi shvatili zbog ega je ovo problempogledajmo situaciju kada glasuju tri osobe A, B i C. Pretpostavimo kako C-a nije briga za ishodglasovanja no zanima ga za koga je A glasovao. Da to otkrije dovoljno je da kopira A-ov glas, arezultat glasovanja e tada biti pouzdano jednak onome za ega je glasovao A.

Page 24: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 23

6. PRAKTI NI RAD

6.1 Razvojno okru enje

Ovdje ostvareni sustav anonimnog elektroni kog glasovanja temelji se na protokolu glasovanjapomo u slijepog potpisa opisanog u poglavlju 5.3 i koristi klijent-poslu itelj metodologiju. Algoritamje donekle izmijenjen kako bi zadovoljio potrebe ovoga seminara i detaljno e biti opisan u nastavku.Kao slijepi potpis koristi se ina ica Chaumovog slijepog potpisa koji je nastao modificiranjem RSAalgoritam i koji e uz primjere tako er biti obja njen. to se tehni kog dijela ti e sustav je zasnovanna .NET platformi te je za rad nu na instalacija Microsoft .NET frameworka (v1.1 ili vi e) ,programski jezik je bio C#. Nadalje, pored navedene komponente koristi se jo biblioteka naprednihkontrola koje potje u iz paketa Infragistics NetAdvantage 2005 Volume 1 i modificirana BigIntegerklasa autora Chew Keonga. Predstavljeni rad ne sadr i funkcionalnost cijelog sustava (primjerice nepostoji komunikacija s bazom korisnika) ve je sustav zami ljen kao svojevrsni proof of concept ukojemu se detaljno kroz su elje programskog rje enja mo e pratiti svaki detalj rada algoritma zaelektroni ko glasovanje. Pri dizajnu sustava velika pa nja bila je posve ena dijelu koji se brine zaprovo enje glasovanja i koji je vi edretveni sustav s implementiranom podr kom za oporavak odpogre ke kao i implementiranim naprednim opcijama kao to je udaljeno ga enje klijenata. Jednakovelika pa nja bila je posve ena i ergonomiji i vizualnom identitetu te je su elje mogu e po eljimodificirati kao i pristupati kontrolama na vi e razli itih na ina. Zbog rada s nestandardnimbibliotekama programsko rje enje ima svoju kako instalacijsku tako i deinstalacijsku proceduru. Udaljnjem nastavku naglasak e biti stavljen na detaljan opis pojedinog dijela sustava i to redom:"glasa ki engine" (jezgra sustava koja se odvija u pozadini), grafi ko su elje i uporaba istog teupravljanje instalacijom; naravno svaki dio opisivat e i klijentsku i poslu iteljsku stranu.

6.2 Jezgra sustava

Kao to je ve bilo re eno dio koji implementira protokol temelji se na algoritmuelektroni kog glasovanja uz uporabu slijepog potpisa. Objekti koji upravljaju mre nomkomunikacijom ugra eni su u .NET klase, a implementirani su na asinkroni na in kako bi podr avalivi edretveni rad odnosno kako bi mogli poslu ivati vi e klijenata istodobno. Trenutni sustav testiran jeistovremenim poslu ivanjem deset klijenata te je ovo ujedno i gornja granica broja istodobno spojenihklijenata. Ovo ograni enje je dakako samo programsko te se u bilo kojem trenutku, uz uporabu vi eprocesorske mo i, ovaj broj mo e pove ati. Kako se kao osnova koristi slijepi potpis temeljen na RSAalgoritmu za rad je neizbje na uporaba iznimno velikih brojeva. Ovo je rije eno uporabom BigIntegerklase dok je generiranje velikih prostih brojeva potrebnih za rad algoritma prepu teno ugra enimmetodama .NET okru enja.

Da bi sustav uspje no obavljao zadatke potrebno je pokrenuti i poslu itelj i klijent, mogu i susljede i scenariji:

1. Za potrebe testiranja mogu e je pokrenuti i poslu itelj i klijent na istom ra unalu2. Poslu itelj je mogu e pokrenuti na ra unalu s privatnom IP adresom no u tom slu aju

klijenti koje e mo i pristupiti serveru biti e oni na istoj mre i3. Poslu itelj je mogu e pokrenuti na ra unalu s javnom IP adresom, tada e pristup serveru

imati sva ra unala na InternetuPoslu itelj ima ugra enu proceduru koja automatski detektira jedan od ovih scenarija te u samomsu elju poslu itelja IP adresu koju je postavio poslu itelj ne mo e mijenjati korisnik. Ovo zna i daukoliko server vidi da ra unalo ima javnu IP adresu ona e automatski biti kori tena za komunikacijuposlu itelj -klijent. Dakako klijent se mo e spojiti na server samo ukoliko zna njegovu IP adresu i port.U slu aju pokretanja i klijenta i poslu itelj na istom ra unalu ovaj postupak je automatiziran odnosnonije potrebno mijenjati nikakve parametre. Ve je spomenuto kako poslu itelj automatski odre ujesvoju IP adresu no nije re eno da korisnik proizvoljno mo e odrediti port, ovakav na in

Page 25: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 24

implementacije bio je bitan zbog sigurnosne politike pojedine mre e to zna i da je omogu enakomunikacija i preko vatrozida, primjerice na portu 80 (Napomena: u 99,99% port 80 je otvoren nafirewallu). Pored navedenih svojstava ugra en je i DNS resolving te ukoliko u DNS poslu iteljupostoje uneseni podaci o ra unalu na kojemu se "vrti" poslu itelj anonimnog glasa kog sustava, uklijentu nije potrebno upisivati IP ve je dovoljno znati simboli ku adresu (npr. vote.fer.hr).

Pogledajmo sada na in kako poslu itelj i klijent komuniciraju i protokol koji koriste. Zapo etak komunikacije uop e, potrebno je podesiti sve parametre ispravno te postaviti poslu itelj ustanje oslu kivanja, kada je server u prije spomenutom stanju klijenti se mogu spojiti na njega. Jojedna iznimno bitna stvar koja se doga a kada server prelazi u stanje oslu kivanja je generiranjejavnog i tajnog klju a koji je osnova protokola. Nakon to su klju evi generirani pohranjuju se uRSA.CryptoServiceProvider kontejner. Ovaj kontejner nije ni ta drugo nego vrijednost u registryju sCLSID vrijedno u ovisnom o imenu samog kontejnera. Kako bi zadovolji zahtjeve algoritma,generiranje klju a se odvija samo jednom, tj. ako u kontejneru ve postoji klju njegovo generiranjeprilikom procesa oslu kivanja se preska e. Za pove anje upotrebljivost ostvarenje omogu uje ibrisanje klju a kada se to eksplicitno naredi, no o ovome e biti rije i ne to kasnije u dijelu kojiopisuje su elje.Klijent zapo inje protokol sa poslu iteljem tako to mu alje komandu START:

C: STARTPo primitku komande START poslu itelj provjerava nalazi li se u ispravnom stanju, ukoliko se

poslu itelj ne nalazi u ispravnom stanju zna i da je ne to po lo po zlu te alje klijentu komanduRESET, a ukoliko je stanje ispravno odgovara klijentu s "Chalange" brojem i javnim klju em tepove ava razinu stanja. "Chalange" broj je slu ajan 40 bitni broj koji e tijekom daljnjeg odvijanjaprotokola omogu iti identificiranje klijenta i sprije iti mogu e krivotvorenje session hijackig napadom.Javni klju se alje u XML formatu i BigInteger formatu.

S: <Chalange>#<XML_Publlic key>#<BigInteger_Public_key>

Delimiter koji se koristi je znak #Kada klijent primi poruku tako er provjerava nalazi li se u ispravnom stanju, ako ne,

poslu itelju alje komandu RESET, ina e odgovara s Chalange brojem kojega je dobio od poslu iteljai korisni kim imenom i lozinkom kako bi se provjerilo ima li korisnik pravo glasa i nije li mo da veglasovao. (Napomena: kako trenutno ostvarenje nema vezu s bazom korisnika prihva a se bilo kojikorisnik i bilo koja lozinka) Klijent jo pove ava i razinu stanja kako bi bio spreman za novi odgovorposlu itelja i sprema javni klju koji je dobio odnosno vrijednosti n i e.

C: <Chalange>#<USERNAME>#<PASSWORD>

Ukoliko Chalange nije ispravan ili stanje nije koje bi trebalo biti poslu itelj alje RESET,ina e provjerava korisnika, ako korisnik nema pravo glasa ili je ve glasovao alje RESET ako je paksve u redu alje klijentu OK poruku s naznakom da od klijenta o ekuje 10 prikrivenih poruka

S: OK

Kada klijent primi ovu poruku i provjeri nalazi li se u ispravnom stanju generira 10 poruka.Poruke se sastoje od pridodanog stringa ija je svrha provjera formata poruke (u na em slu aju to jeBallot is:) i broja glasa kog listi a (eng. Ballot number) koji je jako veliki slu ajan broj, nazovimo gam. U na em slu aju to je 80 bitni broj i statisti ki gledano dovoljno je velik da se za par tisu a ilidesetaka tisu a glasa a ne ponovi isti. Zatim prikriva svaku od 10 poruka s faktorom prikrivanja ktako er slu ajnim brojem izme u 1 i n:

t = mke mod nVrijednosti koje je dobio (t) alje poslu itelju.

C:<Blinded_Message_1>#<Blinded_Message_2>#<Blinded_Message_3>#<Blinded_Message_4>#<Blinded_Message_5>#<Blinded_Message_6>#<Blinded_Message_7>#<Blinded_Message_8>#<Blinded_Message_9>#<Blinded_Message_10>

Page 26: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 25

Ako je sve ispravno poslu itelj slu ajno odabire poruku koju e slijepo potpisati i od klijentatra i sve ostale prikrivaju e faktore

S: 8Ovaj broj predstavlja broj poruke za koju klijent ne treba poslati prikrivaju i faktor. Klijent poslu itelju alje sve prikrivaju e faktore osim 8.

C:<Unblinding_Factor_1>#<Unblinding_Factor_2>#<Unblinding_Factor_3>#<Unblinding_Factor_4>#<Unblinding_Factor_5>#<Unblinding_Factor_6>#<Unblinding_Factor_7>#<0>#<Unblindig_Factor_9>#<Unblinding_Factor_10>Uo ite na mjestu 8. prikrivaju eg faktora je 0, ovo je jo jedan u nizu mehanizam provjere. Poslu itelj sada mo e otkriti poruke i provjeriti je li format ispravan odnosno ima li oblik:

Ballot is:<80 bit random number>Ako je svaka poruka ispravnog formata slijepo potpisuje poruku za koju nije dobio prikrivaju i faktor(8. u ovom primjeru):

td = (mke)d mod n i alje ju klijentu.

S: <Signed_Blinded_Message>Ovo je trenutak kada bi poslu itelj u svoju bazu trebao upisati da je korisniku izdao ispravan ipotpisani glasa ki listi s kojim korisnik mo e glasovati, ali zbog nepostojanja povezanosti s bazomovaj korak je u trenutnom ostvarenju presko en. Klijent po primitku poruke otkriva poruku:

s = td/k mod n

te mu ostaje samo digitalno potpisana poruka s kojom mo e glasovati.C: <Signed_Ballot>#<Vote>

Iako ovaj protokol ima svojih nedostataka opisanim u prija njim poglavljima ako se Centralnojustanovi za prebrojavanje glasova, u ovom slu aju poslu itelju, vjeruje protokol je u potpunostiprikladan za uporabu u manjim glasa kim sredinama. U daljnjem tekstu dan je ispis izvornekomunikacije izme u klijenta i poslu itelja gledano iz perspektive poslu itelja:

Podaci koje alje poslu itelj:

2. SERVER CHALANGE AND PUBLIC KEY:19691944932#<RSAKeyValue><Modulus>2CDmxWnwyziCQkiQ0TRbSvAfSwCAtILSKkCPz8s54mD0wTaJaCfEvu+5gCaHkK1tgqRdoyIJ+wCkthC2av8HTdwLNu0i3+S4tjrm+FoB2EmMonqBvxmek7ZiLzBLO7Cahv6NVGWjG71TSL3usInwYzqSmY5XHOEYzwAtnj4dbOc=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>#D820E6C569F0CB3882424890D1345B4AF01F4B0080B482D22A408FCFCB39E260F4C136896827C4BEEFB980268790AD6D82A45DA32209FB00A4B610B66AFF074DDC0B36ED22DFE4B8B63AE6F85A01D8498CA27A81BF199E93B6622F304B3BB09A86FE8D5465A31BBD5348BDEEB089F0633A92998E571CE118CF002D9E3E1D6CE7#10001

4. USER ACCEPTED:OK

6. MESSAGE TO BE SIGNED:7

8. SIGNED BLINDED MESSAGE:CC21A699754BEE046ABCFBAD4F17E03818B1EB1D8B467AB7E5B85374ABA26E3E0323246B5B7B6D31F86061F3DD00E42EC8D9CAE6221D75466FE80ABEBFA166D300CECD7D511959A308B032BA2707CDE9EF8613F73D1A642E94EF9591610CD7BD58999D9D2938628105EAB4BA41C06C4F9E62E86467EE680A57A0A13E4A86168D#93F18D57095D8CA2E56441F5771413FCE1EC7CFB2942094419C72B48B773CAB0D4EF3E363DCC48FEA1862E5F1FCF32E1C48D9C91CB995F74F2114E7C20686412450010C119BDC238ABEDE025ED708FABCAEF9D717A6C04D6FD0066261237722D4B0DB569A86BD90E7E2E82C4CBD7A0495D7071432A6973230EC2DC638900FF2B

END OF SESSION

Podaci koje alje klijent:

1. INITIATE COMMUNICATION:START

Page 27: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 26

3. ENCRYPTED SERVER CHALANGE AND VOTER CREDENTIALS:Dgf0rdErFLLqzADe48Kt+7by7sw3uxXOlTJwbGW+G5pcKHtU/OumRA3MHXiZmXNLVoq7/ITX/chGDDE/pZUof5XfSkjSGjy/taMcjJiTqx29++h12Gha4LxYSTyIle6c9oo4iUezjW0vvC69L2Mnrhqnb2ioKRvFHKDVdFIkfQE=

DECODED CREDENTIALS:19691944932#user#pass

5. BLINDED BALLOTS:1B199BA7C95EA4DEDE78ED682A354F2375CE0A9C6018F3F26E96254E9136BFCB04BD2036EE53CADB0084D9E6831626493C0D6E8AA88A670EDAA87E0315E0A80E02C4ADB4B04CDEA2353D15B034E753639B9A9812B7DFBCDF7C672416D0D41491E159057C114CFE47E31E8727BFF8C8A12C7F96B5015E76FA4FAFEC8CE142980924C67F2E266F453174771D3D04E8408D8953A37EC65AE8B4B9B7F780C370D4165B5226531C#2764EC782AD171963DA24A151F102A7837C08BD1E81046E6D84C0223F1F0AC84B9D554248EC1D62AFEBB4AD497C93A46CB739B8A38CC5EBF5E368854ED5E98BFFFF017BA8AF7A48861016C1E442CC3F06FC0D88187371401A8DFBB4F8FEC8F63DAB6A0726DB61070EF382255B8260A83EBEEA8BF6039CD3D32D23FF57AA4FF9106BE84CCCB2336944FC0B18CF2880100E0B0F5AC2D93F147FF073664BEACCB1FC0#1CA9C5DEE97B766F5F54CC9B6B8779829FDED577133ED0C203B40AD86CCDB315CEFCB070D5A6C64A424E3BF4B054387BECD69A74AE198BBD99E9B69DC087B300B8CD22AB4125A39E6A5D3B0C5C47F240B7073472C1CFD92FC10A3A2A6144A1A2F2DB8ACA88EB539926EBE9B982BE7F9DD48ABC02DF4DC07E59EAA1AA0123D9ABE8BE8897CB650C18EEC66B6E8076C306F444FB74C37EE2AF1FC8692D119E5B25A417#2C5DADFBB78CF3FD723F7EB99DDF3CD7C19AD8911206A59BFF95BF62F04F09124783FBE3DAE31A0A1ACE940915414A9F6DB7C17232C0D9D633D6B9DBACA82DC91E41B7C2BDC44632FA6B9A200F80F7C92BEF896FEF712997E57ADDDE02E8F62A4456AD48D87C7CB466B49AC7E58DA0EF8657440ED6FCBF76C8325ED5326FD0CEAED6FB5B429A8A31192493CD685763F13D458D30D04178D7F91A085A96D3539B030FF6F337#182544B92BE9B6A49CC1597E70E4F27C6C8AAC9E22D215CE71C84FF3E125B2F27B34AC03E906BEE86DCF3327B3EA16CF29E5D3727DFA858E61AC981F4ECDB63485A5C7A82122BA54904F95FE4374225F4002C4E1EF81E0016CD4CF9A44232487A2A607341E4E4BEF03CF6FBA04416D6A6D1D09BA0ABBF0D9C54258AF8FCEE00D155EA5058C7957675A92202350A1F75C9C1206C67DC150B2E9A876466F9EA5EB8E3D45#1395C2157CF2EF77AFA5ECF9E80CFA135CE88D957018252394E338EF7C09D96D01DDEF0D653778BF2441E90FF02E822C979193E8288246A4EA4C1D526A79046AF2DB99B7C0114DB487A165A75BAE944591AC11EFC93B4F27EB1FDECB3320BD383D17334A373CC6FA4396894813855D70248E4A54C28194B423257876C691A766C94BFA686E0F49DEA36CEE9367BFBDDE2A70B14ACB958A5894435D6EB751A03F8BECBFBE#34E0AE981874342BDC57F1A3F424C899ADC3E2DBB2BAF94B12A3636EBAE25ACFB454996C1259B2E5E01804A6545539F430CEC6371D36B719E32E2856DF59D748B34D16CEB4115AB3B015E80153A27C03BD32946F58FA833355EA839E4321AA2DD7F07444F23B281CCFD2D1DC702444BC66879FA7F6CDF1D31FE347880A17D852B9C6D9EEC98BC3181AFE04648DC6E08EE110C9FCE0A0604C13EEEDEDC1C2569989EF6E8A93#1A8FC538150663D3A8E24E2BC529167AE4984FF5B8AF6B9DDB4EBFDC01F0DEEB1169EDD96F7CEFF47B56656BA861DFB9B3D0FC7A80D77B2665B9DAE0F79E14F51FCCC61F7A4431E0E52E0F5AE8C0E17495C7436549552E4E8F915D9E34A7F3A72867E9A2E343B0EA24B3816DB2B61ACCB238126309C4C848A9EBD764BDB25371CF2A6CB5C4C8066B2C5EA2BD36B695B75872FEE4DA5B96CB513C8F4AE04A82992CE7#8218E8C4A174CDE5E750192C5E9BE43049A4596F6920839F7754BC9F617C646A27CEAD612EC7AA97EFA35D85016A6C52CBEFCDADD6CC079017B132556BDD02808054BD0FAE7B54469F17C4040A9C24A881922F3E3F0180E6848F9B7F4ABC57F1257D5663D481A81C7031B46907CD788BB037A48AAFC0977780A02BF3AAFAA5CD54B97E53740B9ADA1E139B70F5F87913439BFAD91D89FE80E8B5145C8D2A3C49A24034E#20C2D90868B3FDCD01BDCE25F1E5859D5CFF04529D0F541BC9DC5264E2AFED3E0DE1FB72A1529F5CA574C7D005EFEFB4E75792D3B394287C06BBAD5698922D9830931C8BE537533BC9795B1DA8C7683E9ABCC1F6FE835FFED85C335C25AC17BCC45FFD66C868F74926B2A95550175F0887EE38B3617AD3C946AD5B4EFFC92EC787AAB0C21AECBC07A032A09C620DD114042F7544FE629DA91C6CA6193BDA488A5FFD3D

7. UNBLINDING FACTORS:8CB513FDD2DDAD8B20564044364B052A8D941D977EAFA4848B4C1715B3DCD5EF1AD2E48A26888790D286E08774ED69F6ABF2CCC19BC514254AC486C66AF2453425C3CCA4CC005FC96E067ABEF46F5AAB2B41CA3C3474744CCD4F92733B22B5D8636EA758BCF85F9D28B40C4AA844E6FD9D4345C372BC325C3B5ECAACD87233EF#C5286D8AA5C588F11403670CC1592495E484EF55B479598191AFAAC3CF967497C70011A7FBA91D6BF6E76D079BED5E25FC35237F41C11D1A41F43A2E0D206C12062F047CCDB4212D065403B838EA38BA9CBE450363F6C5A844B949500D23332A1149F4AEBD0A799F8DFAD157F0018163E50D327BBA72864FFD882AFB18A6F26E#8DEC58D128F089606C0BCD3A47EBA0CC7A263E44F7BE9973454F0002329C846E781242700154DEC06793E4E6C9642DBDE4B8E7D377D70A565D53CDE4362638802030553E507A5F6473E23DE627BFB20A1376A026612C15FEA5851EB99940B5337187585CB1AF688B12BC2C1E749733363DED17B24580A8DC4B38E11441127020#AA2FB053DCB9EDC968B2F1C626622662D3A5EDF70DB32B5A9DF4AE757CFA50E014667B06C44A72F3287EBFF89DA1292DAFC7A92F90AF89E1CEF4F491C6312F4B0FDAD0B23CED9226262451A8140FF74682C4F17FB7D0F4B7A4087F83F314BA8BA5A5D4896783E7D0EADBC71B34A29C3809158472316EB3D06CDB16744FE67F1C#B380D6F2997E97F1367B8B3E01E30014F97AC17785ECD89D691E7DB2EC16FAE5FC5E94BB1E27B9C8760CDEC0260DC8507A337FFA96ABBDB14278BB9CD128C59BDE40B6F5D85FC85556F5FE8E9CDC09CB09A7F6D263306DB2717B4738508EC83C81BB846D014B75C4D8B002EB10F3320AEA85B0EB75F089E61C50B606C2CDF5DD#BAAADE539BA25797FF860F71FE73D371D9845B8156342354CE502D5F6D096AAEB4D75C896794E004FFBA3E3752394E202579E7B20304D67C6DA5D482806887BF7615B7C8B735579F039B2A0C738FF2C822688FDE75A4C1B2A57EBE414823488AD8DE32099ACD22036047514058426D2C68C3A982EBE3C54B84A243C77EF1DB6C#B0FD7F0C8F5703D7599C71A69B327905D66DD1E3BE6665112273CDC24A6B1B4A896BBD67F9F389899DF51D376906C2EEE13AF7FB142C6146C4C1EE25FA41B9E171C9A4847B5CF1B846B5130E5B439D0EF642A8C5F52864A9058939B618E969E2C1D08279F2A4C3214A5742344F9FC1781439CB5EF34460E1232D5FEE7C46CDAA#0#91FEFC67D44D8BCF7CD62D5EF2B94F45F3E0C1BB22CE637C392FDAE0EB28335F2A30D8C00D2E44ECBF2F63697150DA8623F9EA0615E2D8440F5F450CD0633FAD09B65F54ED5E02EBDFFDFBCBE629F96B2E1C35381AB6C856D2F6F50DB04E134B1057E3A24B15381CB2F5FAA72F08AAC87179C986459ECA48778050085DA047DC#8E5A3641A67693995AF340106E3147E8E153BA3F230B1CC878528C489D7361FD53411920089BBFE297EFD061B7B18E794BA5C42C10CE4D4E15EC3D48E3995735F5152E89234E436023CB0AB272BE68204197B466FB2D88F35F9069A2D14CC3B5655B4F52FEFFF641A91D9567275D3E6CF40CA549F6AA5B1F9111AF13EF93A9E1

Unblinded m: Ballot is:162311672318516582228103203Message no. 0 is OK

Unblinded m: Ballot is:13017230123465497025190Message no. 1 is OK

Unblinded m: Ballot is:501901626639236798495171Message no. 2 is OK

Unblinded m: Ballot is:801722172816619111184114117Message no. 3 is OK

Unblinded m: Ballot is:1971952314619425972020217Message no. 4 is OK

Page 28: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 27

Unblinded m: Ballot is:12925011718113168966814296Message no. 5 is OK

Unblinded m: Ballot is:158602481351551474140136199Message no. 6 is OK

Unblinded m: Ballot is:21816262020810211621811342Message no. 8 is OK

Unblinded m: Ballot is:1761892568253136919577195Message no. 9 is OK

9. SIGNED BALLOT + VOTE:CC21A699754BEE046ABCFBAD4F17E03818B1EB1D8B467AB7E5B85374ABA26E3E0323246B5B7B6D31F86061F3DD00E42EC8D9CAE6221D75466FE80ABEBFA166D300CECD7D511959A308B032BA2707CDE9EF8613F73D1A642E94EF9591610CD7BD58999D9D2938628105EAB4BA41C06C4F9E62E86467EE680A57A0A13E4A86168D#93F18D57095D8CA2E56441F5771413FCE1EC7CFB2942094419C72B48B773CAB0D4EF3E363DCC48FEA1862E5F1FCF32E1C48D9C91CB995F74F2114E7C20686412450010C119BDC238ABEDE025ED708FABCAEF9D717A6C04D6FD0066261237722D4B0DB569A86BD90E7E2E82C4CBD7A0495D7071432A6973230EC2DC638900FF2B#A1DB47AA2D567B12D45A5D9D33ED56CC21D514FC5AE67772A6E36997C6CF899F86D0CF274BAC47C0833E6AD58BE3CF35CEBB9589EB2E1973F147EA096CF59EF0E7269D539D436C0D36B4643277D3178265E062BC46E5E7D65BDA2288E88DE043E71292C35FFD340ED050997F02972322D47AECF110C6225CEC5A262D47965B10#3

END OF SESSION

6.3 Grafi ko su elje i uporaba aplikacije

Pri dizajnu aplikacije vodilo se ra una o ergonomiji i lakom pra enju poslu itelj-klijentkomunikacije te se svrsihodno tome koriste i napredne kontrole koje e zajedno s uporabom bitiopisane u dijelu koji slijedi. Na slici 6.1 prikazano je glavno su elje poslu itelja u trenutku samogpokretanja.

Slika 6.1: Izgled poslu itelja pri samom pokretanju kada jo niti jedan klijent nije spojen

Page 29: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 28

Aplikacija je vizualno podijeljena na dva dijela, lijevi dio sadr i osnovne kontrole zaupravljanje, a desni dio postavke i dio na kojemu je mogu e pratiti komunikaciju poslu itelj-klijent zasvaki pojedini spojeni klijent posebno. Control Center je podijeljen u tri dijela:

1. Main Controls – Glavne kontrole2. Maintenance – Odr avanje3. Help – Pomo i dokumentacija

i omogu uje jednostavnu kontrolu osnovnih funkcija servera.U Options tabu s desne strane vr e se sve postavke poslu itelja i taj dio je tako er podijeljen na tridijela:

1. General Options2. Voting Algorithm Options3. Simple Log

General Options dio definira port na kojega se klijenti spajaju te opciju koja definira automatskozatvaranje tabova na posu itelju (koji su se stvorili kada se pojedini klijent spojio) kada klijent prekinevezu ili zadr avanja otvorenima u slu aju elje za detaljnom analizom prometa. Ovo je kontrola kojaosvje ava svoje stanje u realnim vremenu (eng. real-time updating) to zna i da reagira trenutno naeljene promjene. U dijelu koji kontrolira pona anje glasa kog algoritma (Voting Algorithm Options)

mo emo definirati ho emo li prilikom ga enja poslu itelja iz kontejnera izbrisati par privatni-javniklju , te mo emo definirati string za kontrolu formata prikrivenih poruka (za detalje pogledatiprethodno poglavlje). Tre i dio definira jednostavni Log u kojemu se vidi koji se klijent kada spojio ikoji mu je bio Handle te kada je prekinuo vezu.

Za po etak rada sustava anonimnog elektroni kog glasovanja potrebno je pokrenutioslu kivanje, a to se ini klikom na prvi gumb Start Listening u sekciji Main Controls, ControlCentra ili tipkovni kom kraticom F6. Nakon toga je poslu itelj spreman prihvatiti klijente.

Tipkovni ke kratice kao i smje taj kontrola u glavnom izborniku dane su u sljede oj tablici:

Kada se svaki pojedini klijent spoji, u su elju servera se otvara novi tab to je vidljivo na slici6.2. Svaki tab ima dio na kojemu se vide poruke definirane protokolom koje su do le od klijenta iporuke koji klijentu alje poslu itelj. Na taj na in je omogu eno jednostavno pra enje protokola zabilo koji spojeni klijent.

Tekst ozna en crvenom bojom predstavlja obja njenje pojedinog paketa kojega alje klijent, aplavom paketa koje alje poslu itelj. Crni tekst ispod svakog obja njenja je onaj koji se alje klijentuili prima od njega. Zeleni tekst ima funkciju dodatno pojasniti neki dio protokola ili prikazati to seinterno doga a u implementaciji protokola i taj tekst se ne alje.

U status baru je prikazano trenutno stanje poslu itelja odnosno broj spojenih klijenata ako ihima (npr. Listening Started ili Number of clients connected: 1).

Kratica Naziv Naziv izbornikaCtrl + O Open Log... FileCtrl + S Save Log... FileCtrl + C Close FileF5 Options ConfigurationF6 Start Listening CommandsF7 Stop Listening Commands

Show/Hide Control Center ViewDocumentation HelpAbout Help

Page 30: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 29

Zbog upotrebe naprednih kontrola su elje je mogu e po elji modificirati te je tako upotpunosti mogu e izdvojiti Control Centar, sakriti ga sa strane ili ugasiti (Napomena: uga eniControl Center mogu e je ponovno prikazati opcijom View Show/Hide Control Center).Modularno su elje prikazano je na slici 6.3.

Slika 6.2: Izgled poslu itelja kada su na njega spojena 2 klijenta, komunikacija je jasno vidljiva

Slika 6.3: Mogu i izgled su elja zahvaljuju i modularnoj izvedbi

Page 31: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 30

Klijent tako er koristi napredne kontrole te je upravljane kontrolama vrlo sli no kao i kodposlu itelja. Su elje klijenta prikazano je na slici 6.4. Kako bi klijent bio u mogu nosti komunicirati sposlu iteljem mora se ispravno podesiti odnosno treba biti unesena to na IP adresa i port na komeposlu itelj oslu kuje. Uspostava kontakta odvija se pritiskom na gumb Connect To Server. U trenutkuuspostave konekcije gumb VOTE postaje omogu en i proces glasovanja mo e zapo eti. Pritiskomgumba VOTE klijent alje poslu itelju komandu START kao znak da eli zapo eti proces glasovanja(za detalje o protokolu vidjeti prethodno poglavlje).

Pored slanja komande za po etak, klijent stvara dva modularna prozora u kojima je mogu epratiti komunikaciju na isti na in kako je to mogu e na strani servera. Isto kodiranje teksta koje jeprimijenjeno kod servera vrijedi i kod klijenta tako da crvena boja predstavlja obja njenje paketa kojealje server, plava boja paketa koje alje klijent, a zelena dodatne informacije koje olak avaju analizu

prometa.Kada server od klijenta zatra i autentifikaciju korisnika-glasa a, klijent prikazuje Login prozor

u kojega glasa upisuje svoje korisni ko ime i lozinku – slika 6.5. U ovome trenutku zbog nedostatkapovezanosti s bazom podataka prihva a se bilo koje korisni ko ime i lozinka. Ukoliko glasa odlu iodustati od procesa glasovanja klijent alje poslu itelju poruku CANCEL.

Nakon autentifikacije protokol se odvija kako je to prije opisano sve dok se od korisnika nezatra i da glasuje za nekog od kandidata, tada klijent prikazuje prozor u kojemu glasa mo e izabratinekog od kandidata to je prikazano na slici 6.6 (sljede a stranica). Kada je klijent odabrao nekog odkandidata pritiskom na gumb Commit your vote aplikacija alje glas u bazu zajedno sa slijepopotpisanim glasa kim listi em. U slu aju da glasa zbog nekog razloga eli odustati to mo e u initipritiskom na gumb Cancel.

Slika 6.4: Su elje klijenta prije ostvarenja veze s poslu iteljem

Slika 6.5: Autentifikacijski prozor

Page 32: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 31

Po zavr etku glasovanja klijent obavje tava korisnika da je uspje no glasovao:

Modularnost su elja prikazana je na sljede im slikama:

Slika 6.6: Su elje za izbor kandidata

Slika 6.7: Obavijest o uspje nom glasovanju

Slika 6.8:Modularno su elje – prozori za pra enje komunikacije mogu biti dio klijentskog su elja, mogu bitime usobno odvojeni ili spojeni preko tabova

Page 33: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 32

6.4 Instalacijska procedura

Zbog uporabe nestandardnih biblioteka sustav anonimnog elektroni kog glasovanja imavlastitu instalacijsku proceduru koja olak ava proces stavljanja sustava u pogon. Instalacijskaprocedura u standardnoj konfiguraciji instalira poslu itelj i klijent u:

x:\Program Files\SEMINAR\Anonymous Voting System\gdje je x oznaka sistemske particije. Ovo se mo e izmijeniti odabirom Custom instalacije. Razlikeizme u Compact i Typical instalacije ne postoje. Instalacijska procedura stvara u Start izbornikulinkove na Poslu itelj i Klijent te na deinstalacijsku proceduru. Za instaliranje sustava potrebne suAdministratorske privilegije.

Slika 6.9:Pojedine faze instalacijske procedure

Page 34: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 33

7. ZAKLJU AK

Sve ve a prisutnost digitalne tehnologije kao i razvoj dru tva op enito temelj su novih ideja irje enja koji e nam pojednostaviti i olak ati ivot. Jedno takvo rje enje je i sustav elektroni kogglasovanja. Zbog po tovanja svih na ela kao to su primjerice anonimnost, za tita od varanja i brojnihdrugih navedenih u ovom radu, jedan takav sustav je iznimno komplicirano ostvariti. Tema ovogaseminara nije bila ostvariti jedan ovako kompliciran sustav ve pokazati mogu a rje enja, ukazati nanedostatke pojedinog glasa kog algoritma te pru iti neke smjernice i izvor ideja za budu a bolja, amo da i stvarna rje enja. Seminar pored dijela koji se bavi isklju ivo ostvarenjem elektroni kogglasovanja sadr i i druge dijelove koji su bitni za ire shva anje cijelog koncepta kao i tehnologijakoje stoje iza njega, te takva zaokru ena cjelina daje dobru osnovu za dalje i dublje prou avanjeproblematike. Proof of concept programsko ostvarenje nastalo u ovome radu mo e poslu iti kaotemelj za izgradnju nekog jednostavnijeg stvarnog sustava dodavanjem baze korisnika i enkripcijekomunikacije izme u poslu itelja i klijenata, a ovakvu jednostavnu nadogradnju mo e zahvalitivelikom trudu koji je ulo en u dizajn same vi edretvene jezgre. Daljnji stupanj razvoja svakako bitrebao uklju iti i ostvarenje nekog drugog kompleksnijeg i robusnijeg glasa kog algoritma dakako sizdvojenim dijelom koji bi nadgledao ispravnost glasova i glasa kih prava.

injenica je da smo jo prili no daleko od globalne uporabe jednog ovakvog sustava(primjerice na razini dr ave) ali smo prili no blizu ostvarenju jednog stvarnog pouzdanog sustava kojie u budu nosti ubrzati proces glasovanja i vi estruko smanjiti sredstva koja danas tro imo za istu tu

svrhu. Na nama, budu im in enjerima, je da iskoristimo svoje znanje i ubrzamo ionako neizbje neprocese te tako stvorimo i sebi i drugima bolju i kvalitetniju budu nost.

Page 35: SUSTAV ANONIMNOG ELEKTRONI ýKOG GLASOVANJAsigurnost.zemris.fer.hr/protokoli/2005_siladi/files/AnonEvoting.pdf · SEMINARSKI RAD SUSTAV ANONIMNOG ... Internet, danas, kao globalna

Sustav anonimnog elektroni kog glasovanja uz uporabu slijepog potpisa

27.6.2005 34

8. POPIS LITERATURE

1. http://www.cs.mcgill.ca/~crepeau/CRYPTO/BCDemo/BCprotocol.html - Bit CommitmentShema

2. http://www.xs4all.nl/~johnpc/Talks/Anon-Elections/ - e-voting sustav izra en u Perlu3. http://www.gsd.inesc-id.pt/~rjoaquim/ - REVS - A Robust Electronic Voting System4. http://lorrie.cranor.org/pubs/hicss/hicss.html - prijedlog e-voting sustava5. http://people.cs.uct.ac.za/~flifson/things/security/node10.html - op enito o e-voting sustavu6. http://www.maplesoft.com/applications/appviewer.aspx?F=blindingrsa2.html&ID=905&WLI

D=16640&RP=http%3a%2f%2fwww.maplesoft.com%2fapplications%2fapp_center_view.aspx%3fAID%3d905%26CID%3d8%26SCID%3d6 – primjer RSA (Chaumovog) slijepogpotpisa ostvarenog u Mapleu

7. http://www.eff.org/Activism/E-voting/ - pregled glasovanja putem e-voting-a u SAD-u 2004.na predsjedni kim izborima

8. Bruce Schneier: Applied Cryptography – second edition, John Wiley & Sons, 1996.9. David Chaum: Achieving Electronic Privacy, Scientific American, kolovoz 1992, str. 96-101 –

dostupno na: http://ntrg.cs.tcd.ie/mepeirce/Project/Chaum/sciam.html10. Jan Camenisch, Maciej Koprowski, Bodgan Warinschi: Efficient Blind Signatures without

Random Oracles, paper, 1999.11. Dang Nguyen Duc, Jung Hee Cheon, Kwangjo Kim: A Forward-Secure Blind Signature

Scheme Based on the Strong RSA Assumption, 2000.12. Alexandra Boldyreva: Efficient threshold signature, multisignature and blind signature

schemes based on the Gap-Diffie-Hellman-group signature scheme, 2002.13. Ildar M. Khamitov, Andrey G. Moshonkin, Alexander L. Smirnov: Blind Unanticipated RSA-

Signature Schemes, paper14. Sunder Lal, Amit Kumar Awasthi: Proxy Blind Signature Scheme, paper15. Markus Stadler, Jean-Marc Piveteau, Jan Camenisch: Fair Blind Signatures, paper16. http://www.wisdom.weizmann.ac.il/~oded/zk-tut02.html - zero-knowledge protokoli

Napomena: svi lanci za koje nije naveden izvor biti e uklju eni na CD-u uz seminar