SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

 

 

 

 

 

 

 

 

 

 

 

 

 

DIPLOMSKI RAD br. 1348

 

ELEKTRONIČKI NOVAC

 

Robert Šipek

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zagreb, prosinac 2002.


SADRŽAJ

 

1     Uvod............................................................................................................................. 3

2     Definicija problema...................................................................................................... 4

2.1     Zahtjevi na elektroničke financijske transakcije........................................................ 5

2.2     Sigurnosni zahtjevi elektroničkih financijskih transakcija............................................ 6

3     Tehnološka rješenja.................................................................................................... 7

3.1     Kriptografija........................................................................................................... 7

3.1.1     Simetrični algoritmi........................................................................................... 8

3.1.2     Primjeri simetričnih algoritama......................................................................... 10

3.1.2.1      DES........................................................................................................ 10

3.1.2.2      IDEA...................................................................................................... 11

3.1.2.3      AES (Rijndael)........................................................................................ 13

3.1.2.4      Ostali simetrični algoritmi......................................................................... 17

3.1.3     Asimetrični algoritmi....................................................................................... 17

3.1.3.1      RSA....................................................................................................... 19

3.1.3.2      ElGamal.................................................................................................. 19

3.1.3.3      ECC....................................................................................................... 20

3.1.4     Jednosmjerne funkcije.................................................................................... 22

3.1.5     Funkcije sažetka (hash)................................................................................. 23

3.1.5.1      SHA....................................................................................................... 24

3.1.5.2      MD2, MD4 i MD5................................................................................. 24

3.1.6     Digitalni potpis............................................................................................... 25

3.1.7     Slijepi digitalni potpis...................................................................................... 25

3.1.8     Pošteni slijepi digitalni potpis (fair blind digital signature)............................. 26

3.2     Pametne kartice.................................................................................................... 26

3.3     Protokoli za elektronička plaćanja......................................................................... 27

3.3.1     SSL............................................................................................................... 27

3.3.2     TLS............................................................................................................... 30

3.3.3     SET............................................................................................................... 31

4     Vrste elektroničkog plaćanja.................................................................................... 34

4.1     Notacijski sustavi elektroničkog novca.................................................................. 34

4.1.1     E-ček............................................................................................................ 35

4.1.2     Kreditna kartica............................................................................................. 36

4.1.3     Debitna kartica............................................................................................... 37

4.2     Simbolički sustavi elektroničkog novca.................................................................. 38

4.2.1     E-gotovina..................................................................................................... 39

4.2.1.1      Plaćanje e-gotovinom.............................................................................. 40

4.2.1.2      On-line.................................................................................................... 40

4.2.1.3      Off-line................................................................................................... 41

4.2.1.4      Anonimnost kupca................................................................................... 42

4.2.1.5      Problem dvostruke potrošnje................................................................... 43

4.2.1.6      Prevencija dvostruke potrošnje................................................................ 43

4.2.1.7      Detekcija dvostruke potrošnje................................................................. 44

4.2.2     Mikroplaćanja................................................................................................ 44

5     Rizici pri korištenju elektroničkog novca................................................................. 45

5.1     Ranjivost sigurnosnog sustava................................................................................ 45

5.1.1     Odabir algoritma za kriptiranje........................................................................ 45

5.1.2     Odabir ključa................................................................................................. 46

5.1.3     Propusti u dizajnu sustava............................................................................... 46

5.1.4     Propusti u implementaciji................................................................................ 46

5.1.5     Propusti u sklopovlju...................................................................................... 47

5.1.6     Ljudski faktor................................................................................................ 47

6     Potrebna infrastruktura............................................................................................. 48

6.1     PKI...................................................................................................................... 48

6.2     Osnovna zadaća PKI sustava................................................................................ 49

6.3     Komponente PKI sustava..................................................................................... 49

6.3.1     Korisnik......................................................................................................... 51

6.3.2     Certifikator.................................................................................................... 52

6.3.3     Baza certifikata.............................................................................................. 53

6.3.4     Upravljanje certifikatima................................................................................. 55

6.3.5     Rekonstrukcija ključeva................................................................................. 55

6.3.6     Opoziv certifikata........................................................................................... 56

6.3.7     Vremenska oznaka (time stamp)................................................................... 56

6.4     PKI standardi....................................................................................................... 57

6.4.1     ITU X.509..................................................................................................... 57

6.4.2     SPKI............................................................................................................. 57

6.4.3     PGP.............................................................................................................. 58

7     Zakonska regulativa.................................................................................................. 59

7.1      Formalnopravna valjanost digitalnog potpisa............................................................. 59

7.2     Pozicija e-novca u postojećem monetarnom sustavu.............................................. 60

7.3     Pozicija e-novca u poreznom sustavu..................................................................... 60

7.4     Sprječavanje kriminalnih radnji.............................................................................. 61

8     Elektronički novac u praksi...................................................................................... 62

8.1     DigiCash............................................................................................................... 63

8.2     CyberCash........................................................................................................... 63

8.3     Billpoint................................................................................................................ 63

8.4     PayPal.................................................................................................................. 64

8.5     Chipknip............................................................................................................... 64

8.6     Mondex................................................................................................................ 65

9     Zaključak.................................................................................................................... 67

10   Literatura................................................................................................................... 68

 


 

1         Uvod

 

Elektroničko poslovanje (e-business) koje se širi Internetom sastoji se velikim dijelom od prodaje roba i usluga. Budući su sudionici u ovakvim poslovnim transakcijama nerijetko vrlo udaljeni a poslovanje traje 24 sata 7 dana u tjednu, postoji potreba za sigurnim, brzim, jeftinim i jednostavnim načinom plaćanja preko Interneta. Postojeći načini plaćanja preko interneta (npr. kreditne kartice) imaju ozbiljne nedostatke jer se radi o klasičnim naplatnim metodama prilagođenim novoj sredini, koji ne zadovoljavaju sigurnosne zahtjeve niti  jednako pokrivaju potrebu za velikim, srednjim i mikro transakcijama.

 

U ovom radu dana je definicija problema, te postojeći i potencijalni budući načini njegovog rješavanja. Dan je pregled sustava koji se koriste danas, onih koji su u razradi i probnom korištenju, te metoda koje postoje samo teorijski. Dan je pregled teorijskih i tehnoloških temelja na kojima se navedene metode zasnivaju, rizika njihove primjene i promjena potrebnih za njihovo šire uvođenje. Sistematski su opisani kriptografski algoritmi koji se najčešće koriste i koji će u budućnosti igrati najveću ulogu, a za neke od njih su opisani i potpuni algoritmi. Obuhvaćeni su sigurnosni sustavi, sustavi i protokoli elektroničkog plaćanja, potrebna infrastruktura i zakonska regulativa. Navedeni su i aktualni primjeri konkretnih komercijalnih implementacija elektroničkog plaćanja. U praktičnom djelu rada napravljena je simulacija nekih protokola opisanih u ovom radu.

 

 


2         Definicija problema

 

Danas su kreditne kartice de facto standard za kupnju preko Interneta. Nedovoljna sigurnost koja prati uporabu kreditnih kartica rezultira velikim troškovima korištenja. Tako veliki kartičari koji naplaćuju tipično 4-6% provizije, oko 3% gube zbog prijevara i zlouporaba. Postotak zlouporaba kartica na Internetu znatno je veći nego u klasičnim trgovačkim kanalima. Tako na primjer od ukupnog prometa na globalnom nivou najvećeg svjetskog kartičara, VISA kartice, svega 2% čine transakcije preko Interneta dok se na njih odnosi više od 50% svih registriranih prijevara i zlouporaba. U 2000.g. ukupna šteta od prijevara na kreditnim karticama iznosila je oko 1,6 milijardi USD, dok se za 2005.g. procjenjuje na 15,5 milijardi USD, ako se ne poduzmu odlučne mjere zaštite sigurnosti. [1],[2]

 

 


 


slika 2.1: Promet ostvaren u on-line trgovinama – procjena do 2005. godine [3]

 

 

 

Promet u on-line trgovina u 2002. godini doseći će 50 milijardi dolara, a procjenjuje se da će se u iduće tri godine udvostručiti [3] (slika 2.1). Može se očekivati da će proporcionalno rasti i problemi koje sa sobom nosi uporaba kreditnih kartica.

 

U 2002. godini stvarni ostvareni promet u on-line trgovinama znatno zaostaje za procjenama koje su davane prije samo godinu dana. Istraživanja su pokazala da strah kupaca od nesigurnosti on-line kupnje kreditnim karticama sve više raste. U srpnju 2002, čak je 46% korisnika izjavilo da smatraju on-line kupnju kreditnim karticama nesigurnom. Usprkos tome, 81% svih on-line kupnji plaćeno je kreditnim karticama. Ovo jasno ukazuje na nedostatak boljeg načina plaćanja [4].

 

Možda najvažniji motiv proizlazi iz članka koji je prošle godine objavio USA Today u kojem stoji da su prošle godine samo u Americi osobe između 14 i 16 godina potrošile 140 milijardi dolara u maloprodaji. Ova populacija nije u mogućnosti koristiti kreditne kartice i praktički nema jednostavnog načina za on-line kupnju, iako se zna da su masovno korisnici Interneta. Očito je potreban oblik plaćanja koji bi po svemu sličio klasičnoj gotovini a bio bi upotrebljiv i na Internetu. U klasičnim prodajnim kanalima gotovina još uvijek zauzima visoku poziciju (tablica 2.1), a njezin on-line ekvivalent ne postoji [5].

 

 

 

godina

2000 (%)

2005 (%)

2010 (%)

elektroničko plaćanje

4,2

11,1

15,4

kreditne kartice

24,6

26,9

32,1

debitne kartice

6,00

10,8

14,2

gotovina

19,5

18,5

16,7

čekovi

45,7

32,7

21,6

 

tablica 2.1: Postotni udio vrsta plaćana – procjena do 2010.g.[5]

 

 

2.1        Zahtjevi na elektroničke financijske transakcije

 

U klasičnoj trgovini se iskristaliziralo nekoliko načina plaćanja. Ovisno o veličini transakcije, njenoj učestalosti, rizičnosti i troškovima biramo koji od instrumenata je najbolje koristiti. Potrebno je stvoriti slične instrumente koji bi bili upotrebljivi na internetu odnosno preko svih nesigurnih elektroničkih komunikacijskih kanala. Treba razlikovati transakcije velikih iznosa, srednjih i malih. Transakcije velikih iznosa moraju prvenstveno imati sve sigurnosne elemente, no kako nisu učestale, mogu nešto dulje trajati i njihovi troškovi mogu biti nešto veći. Transakcije srednjih iznosa vrlo su učestale i činit će najveći dio on-line prometa, stoga moraju biti vrlo jeftine, brze, jednostavne i svima dostupne, uz prihvatljive mjere sigurnosti. I na kraju, mikrotransakcije tipične vrijednosti ispod 1 USD moraju biti iznimno jeftine, jednostavne i brze, a mogući su kompromisi na strani sigurnosti. U obzir treba uzeti i potrebu za oblikom plaćanja koji bi korisniku osigurao anonimnost i privatnost. Kreditne kartice, gotovina i ostala klasična sredstva plaćanja neće nestati preko noći, te je ključna integracija novih elektroničkih načina plaćanja u postojeće klasične sustave.

 


2.2        Sigurnosni zahtjevi elektroničkih financijskih transakcija

 

Osnovni zahtijev na elektroničke financijske transakcije je njihova sigurnost. Omogućavanje sigurnih transakcija zahtijeva stvaranje elektroničkih sustava sigurnosti. Ovi sustavi moraju štiti poruke koje čine naloge za prijenos novca ili sam novac, te omogućavati digitalne potpise koji se ne mogu krivotvoriti niti poricati. Ovi sustavi moraju omogućavati sljedeće:

 

§         privatnost (privacy) – sadržaj prenesenih poruka, činjenica da je poruke uopće bilo, tko ju je poslao i kome je namijenjena trebaju ostati poznati samo sudionicima u komunikaciji

 

§         vjerodostojnost, autentičnost (authenticity) – sudionici u komunikaciji moraju biti u stanju jedan drugom dokazati svoj identitet

 

§         autorizacija sudionika (authorization)– ima li uspješno identificirani sudionik pravo koristiti se u danom trenutku danom uslugom?

 

§         neopozivost (nonrepudiation) – niti jedna strana ne može drugoj strani osporiti da je sudjelovala u komunikaciji

 

§         cjelovitost, integritet (integrity) – poruka mora na svoje odredište stići u nepromijenjenu obliku, odnosno eventualnu promjenu u komunikacijskom kanalu mora primalac moći detektirati.

 

Navedeni zahtjevi mogu se ispuniti primjenom raznih tehnoloških rješenja.

 

 


3         Tehnološka rješenja

 

Sigurnost elektroničkih financijskih transakcija može se postići uporabom odgovarajućih tehnoloških rješenja. Ova rješenja mogu biti realizirana programski (software) i sklopovski (hardware).

3.1        Kriptografija

 

Kriptografija je disciplina koja se bavi šifriranjem poruka u svrhu čuvanja njihove tajnosti pri prijenosu. U ovu disciplinu spadaju i metode koje su se razvile iz kriptografije. To su primjerice digitalni potpisi, hash funkcije, kriptoanaliza itd. Kriptografija počiva na tri matematičke discipline: teoriji brojeva, teoriji složenosti i teoriji informacije [6],[7].

 

Kriptografski algoritmi dijele se, na temelju osobina ključa koji se koristi, na tri grupe (slika 3.1):

 

§         algoritmi bez ključa

§         simetrični algoritmi

§         asimetrični algoritmi

 

 

 

 

slika 3.1: klasifikacija kriptoalgoritama prema osobinama ključa

 

3.1.1        Simetrični algoritmi

 

Simetrični algoritmi za kriptiranje počivaju na pretpostavci postojanja tajnog ključa K koji je poznat samo pošiljaocu i primaocu poruke. Ovi algoritmi stoga se ponekad nazivaju i algoritmi s tajnim ključem. S istim ključem se i kriptira i dekriptira poruka. Bez poznavanja tajnog ključa potencijalnom prisluškivaču je poruka nerazumljiva (slika 3.2). Osim tajnosti, ovi algoritmi omogućavaju i:

 

§         provjeru autentičnosti pošiljaoca

Uspješno dekriptiranje poruke korištenjem tajnog ključa K primaocu potvrđuje da je poruka morala biti kriptirana upravo istim tim ključem K, pošto poruku kriptiranu s nekim drugim ključem ne bi uspio dekriptirati. Kako zna da je ključ K dostupan samo konkretnom pošiljaocu, to mu garantira da poruka potječe baš od njega.

 

§         provjeru integriteta poruke

Ako primalac uspješno dekriptira poruku sa svojim tajnim ključem, ovo mu garantira da nitko u međuvremenu nije promijenio sadržaj kriptirane poruke, pošto u tom slučaju dekriptiranje ključem K ne bi bilo uspješno. Može se međutim desiti da primalac primi djelomičnu poruku (bez nekoliko zadnjih blokova) i da ne detektira ovaj nedostatak.

 

 

slika 3.2: shematski prikaz prijenosa poruke simetričnim algoritmom s tajnim ključem

 

 

Osnovna prednost simetričnih algoritama je njihova brzina i jednostavnost implementacije. Postoji nekoliko nedostatka koji simetričnim algoritmima ograničavaju upotrebljivost:

 

§         Pošiljalac i primalac poruke moraju posjedovati isti tajni ključ. Ako ne raspolažu sigurnim načinom komunikacije, ne postoji način kako mogu razmijeniti tajni ključ.

 

§         Tajni ključ mora biti jedinstven za svaki par pošiljaoca i primaoca, što znači da pošiljalac koji komunicira s više primaoca mora za svakog od njih imati drugi tajni ključ. Za ukupno n osoba koje sudjeluju u komunikaciji, svaki od njih mora imati n-1 tajnih ključeva, odnosno ukupan broj potrebnih ključeva u sustavu je n*(n-1)/2.

 

§         Prisluškivač bi mogao jednom presretnutu poruku u nekom kasnijem trenutku ponovo poslati pošiljaocu, i time iako nije u stanju pročitati sadržaj poruke, mogao bi napraviti štetu pošto bi primalac bio uvjeren da je poruka opet došla od pravog pošiljaoca.

 

§         Dokopavši se tajnog ključa, prisluškivač može njime ne samo dekriptirati sve prošle i sve buduće poruke u oba smjera kodirane istim ključem već i modificirati poruke, te sam slati lažne poruke, a da to originalni sudionici nikad ne doznaju.

 

§         Jedan od sugovornika mogao bi namjerno odati tajni ključ, i na taj način osporiti autentičnost svojih ranijih poruka.

 

Neki od ovih nedostataka imaju moguća rješenja:

 

Problem prijenosa tajnog ključa može se riješiti ili transportom ključa kroz neki sigurni komunikacijski kanal ili primjenom nekog drugog, npr. asimetričnog algoritma.

 

Problem velikog broja ključeva može se riješiti centralnim serverom koji ima po jedan tajni ključ za komunikaciju sa svakim od sudionika. Ako želi poslati poruku osobi B, osoba A pošalje poruku serveru, kriptiranu svojim tajnim ključem KA, server je dekriptira, pročita iz sadržaja poruke kome je ona namijenjena, te je kriptira tajnim ključem KB osobe B i prosljeđuje tako kriptiranu poruku osobi B, koja je dekriptira tajnim ključem KB. Nedostatak ovog rješenja je taj, što svi sudionici u komunikaciji moraju imati potpuno povjerenje u centralni server, koji je stoga  posebno ranjiv, jer sadrži sve tajne ključeve na jednom mjestu. Osim toga, ako ukrade samo jedan tajni ključ, prisluškivač bi mogao svim ostalim sudionicima slati falsificirane poruke.

 

Problem ponovnog slanja iste poruke, rješava se obično na jedan od sljedeća dva načina:

 

§         U samu poruku upiše se redni broj n i slučajni broj r, tako da provjerom nove i već pristiglih poruka primalac može ustanoviti da li se radi o novoj ili ponovljenoj poruci.

 

§         Pošiljalac prije slanja poruke, nekriptiranom porukom obavijesti primaoca da će mu poslati poruku, primatelj tada generira slučajni broj r i šalje ga pošiljaocu, a pošiljalac uključuje broj r  u sadržaj poruke koju kriptira. Nakon primanja poruke, primalac je dekriptira i uspoređuje broj r koji je generirao i onaj koji je sadržan u poruci.

 

 

Kombinacijom simetričnog algoritma s nekim asimetričnim, može se tajni ključ mijenjati za svaku poruku odnosno svaku sjednicu, čime otpada i mogućnost dekripcije starih i budućih poruka.

 

Formiranjem protokola na temelju simetričnog algoritma kriptiranja uz kombinaciju s asimetričnim algoritmom i gore navedenim poboljšanjima moguće je imati brz i pouzdan način komunikacije.

 

3.1.2        Primjeri simetričnih algoritama

 

Postoji mnoštvo simetričnih algoritama. Većini je zajedničko to da izvorni tekst poruke dijele na blokove, nad kojima onda izvršavaju jednu ili više logičkih i aritmetičkih operacija s tajnim ključem. Veličina bloka, duljina ključa i primijenjene operacije variraju od algoritma do algoritma. Ove algoritme zovemo blokovski kriptoalgoritmi, za razliku od protočnih  (tokovnih) kriptoalgoritama koji rade sa neprekinutim nizom (stream) podataka. Slijede opisi najvažnijih simetričnih blokovskih kriptoalgoritama.

3.1.2.1       DES

 

DES (Data Encryption Standard) nastao je na temelju IBM-ova algoritma Lucifer koji se pojavio početkom 70-tih godina. DES je simetrični algoritam za kriptiranje, a temelji se na rastavljanju poruke u pakete od 64 bita, nad kojima se obavlja niz jednostavnih operacija s tajnim ključem duljine 56 bita. Ovaj algoritam je vrlo raširen, no kako je već star tridesetak godina, sigurnost koju pruža ključ od 56 bita nije dovoljna. Stoga je nastalo nekoliko modifikacija DES algoritma. Najpopularnija se zove Triple-DES  i temelji se na višestrukom kriptiranju s različitim ključem, što efektivno produljuje ključ na 112 odnosno 168 bita. Druge modifikacije temelje se na dodavanju dodatne operacije prije kriptiranja (npr. DESX) ili promjeni ključa u tijekom komunikacije, tako da se za svaku novu poruku generira novi ključ sinkrono na obje strane. DES algoritam je najrašireniji algoritam za kriptiranje opće namjene. Poruku kriptiranu osnovnim DES algoritmom baziranom na ključu od 56 bita danas je moguće u roku od nekoliko sati do nekoliko dana razbiti koristeći posebno dizajnirana računala odnosno velike mreže računala [8].

Kako se ovaj algoritam postepeno izbacuje iz uporabe a na mnogim je mjestima detaljno opisan neće biti detaljnije razmatran.

3.1.2.2       IDEA

 

IDEA (International Data Encryption Algorithm) algoritam je razvijen 1990. godine i objavljen pod nazivom IPES. Ime je promijenjeno 1991. godine  kada je i doživio manju modifikaciju koja je riješila problem neotpornosti na diferencijalnu kriptoanalizu. Ovaj algoritam radi s blokovima od 64 bita i ključem od 128 bita, a koristi se miješanim operacijama iz različitih algebarskih grupa. Smatra se vrlo sigurnim, a širu popularnost doživio je zahvaljujući programskom paketu PGP (Pretty Good Privacy) koji ga podržava. Patentiran je, i prava na njega drži Ascom Systec. Međutim, za nekomercijalnu uporabu je besplatan.

 

IDEA algoritam ima sastoji se od 8 iteracija tzv. rundi (round), nakon čega slijedi završna transformacija. Koristi se ukupno 52 različita 16-bitna međuključa koji se generiraju iz početnog 128-bitnog ključa.

 

Algoritam izgleda ovako:

 

rastavi izvorni tekst u blokove od 64 bita

za svaki blok ponavljaj

rastavi blok u segmente po 16 bitova X1..X4

generiraj 16 podključeva K1(r)..K6(r) za 1 £ r £ 8 i K1(9)..K6(9)

za r=1 do 8

            X1=X1¤K1(r), X4=X4¤K4(r)

            X2=X2 K2(r), X3=X3 K3(r)

            X2=X2 K2(r), X3=X3 K3(r)

                        t0= K5(r)¤(X1ÅX3)

                        t1= K5(r)¤(t0  (X2ÅX4))

                                t2=t0  t1

                                X1=X1Åt1

                                X4=X4Åt2

                                t3=X2Åt2

                                X2=X3Åt1

                X3=t3

                        Y1=X1¤K1(9)

                        Y4=X4¤K4(9)

                        Y2=X3 K2(9)

                        Y3=X2 K3(9)

            spoji segmente Y=(Y1,Y2,Y3,Y4)

spoji blokove Y u izlazni niz

 


 


 


slika 3.3: shematski prikaz IDEA algoritma

 


3.1.2.3       AES (Rijndael)

 

Najpopularniji i najkorišteniji algoritam za enkripciju nesumnjivo je DES. U zadnjih nekoliko godina objavljeno je nekoliko uspješnih napada na DES, koristeći posebno konstruirane sklopove odnosno velike mreže desetina tisuća računala. Prije nego što je to učinjeno, već je bilo jasno da je samo pitanje vremena kada će procesorska snaga dostići sigurnost koju pruža ključ od relativno skromnih 56 bita. Kako bi se na vrijeme našla zamjena, US National Institute of Standards and Technology (NIST) organizirao je svojevrsno natjecanje za novi algoritam koji će zamijeniti DES, zadovoljiti današnje potrebe, a biti dostatan i za nekoliko idućih desetljeća. Zahtijevano je da algoritam bude javno dostupan i besplatan, te da omogućava simetričnu enkripciju podataka u blokovima od najmanje 128 bita, s ključevima duljine 128, 192 i 256 bita. Akcija je pokrenuta 1997. godine. Izbor je vršen u tri kruga: u prvom krugu bilo je prijavljeno 15 algoritama, od kojih je 1998. svega 5 odabrano za drugi krug. U drugom su krugu ostali algoritmi: MARS, RC6, Rijndael, Serpent, i Twofish.  U zadnjem krugu, održanom 2. listopada 2000, kao pobjednik je izišao Rijndael (čita se rajndal). Ovaj algoritam otada se službeno zove AES, djelo je dvojice poznatih belgijskih kriptografa Joana Daemena i Vincenta Rijmena. AES algoritam temelji se na blokovima od 128, 192 ili 256 bita i ključu od 128, 192 ili 256 bita., pri čemu duljina ključa i duljina bloka ne moraju biti isti. Jednostavan je za softversku i hardversku implementaciju i vrlo brz. Koristi samo jednu jedinu logičku operaciju (xor), i samo jednu aritmetičku operaciju (+). Moguće ga je izvršavati paralelno i ne zahtijeva mnogo memorije [9].

 

Rijndael je blokovski iterativni kriptoalgoritam sa varijabilnom duljinom ključa i varijabilnom duljinom. Izvorni tekst se prvo rastavi na blokove duljine n Î {128, 192, 256 }  a zatim se nad blokovima obavlja niz iteracija (tzv. rundi – round). Međurezultat nakon svake runde zove se stanje (S). Svaka runda sastoji se od 4 različite transformacije. Ukupni broj rundi ovisi o duljini ključa i duljini bloka na slijedeći način (Nr – broj rundi, Nb – duljina bloka u 32-bitnim riječima, Nk – duljina ključa u 32-bitnim riječima):

 

Nr

Nb=4

Nb=6

Nb=8

Nk=4

10

12

14

Nk=6

12

12

14

Nk=8

14

14

14

 

 


Stanje S i ključ K su reprezentirani dvodimenzionalnim poljem sa 4 retka i 4, 6 ili 8 stupaca ovisno o duljini bloka odnosno ključa:

 

s0,0

s0,1

s0,2

s0,3

s0,4

s0,5

s0,6

s0,7

s1,0

s1,1

s1,2

s1,3

s1,4

s1,5

s1,6

s1,7

s2,0

s2,1

s2,2

s2,3

s2,4

s2,5

s2,6

s2,7

s3,0

s3,1

s3,2

s3,3

s3,4

s3,5

s3,6

s3,7

 

 

k0,0

k0,1

k0,2

k0,3

k0,4

k0,5

k0,6

k0,7

k1,0

k1,1

k1,2

k1,3

k1,4

k1,5

k1,6

k1,7

k2,0

k2,1

k2,2

k2,3

k2,4

k2,5

k2,6

k2,7

k3,0

k3,1

k3,2

k3,3

k3,4

k3,5

k3,6

k3,7

 

 

Algoritam koristi aritmetičke operacije nad elementima konačnog polja GF(28). Elementi ovog polja su bajtovi, reprezentirani polinomima, tako da su pojedinačni bitovi koeficijenti polinoma: a7x7+a6x6+a5x5+a4x4+a3x3+a2x2+a1x+a0, ai Î{0,1}. Operacija zbrajanja se svodi na zbrajanje koeficijenata po modulu 2, što se svodi na jednostavnu XOR operaciju nad binarnim reprezentacijama polinoma. Operacija množenja je nešto složenija i sastoji se od množenja polinoma i nakon toga reduciranja umnoška po modulu m(x) = x8 + x4 + x3 + x + 1, odnosno 11B u heksadecimalnoj notaciji..

 

 Evo cijelog algoritma:

 

Rastavljanje originalnog teksta na blokove S0..Sm

Nk=duljina ključa (32-bitnih riječi)

Nb=duljina bloka (32-bitnih riječi)

Nr=broj iteracija - rundi (vidi tablicu)

KeyExpansion(K,EK)

za svaki Si ponavljaj

AddRoundKey(Si,EK)

ponavljaj Nr-1 puta

                        ByteSub(Si)

            ShiftRow(Si)

            MixColumn(Si)

                        AddRoundKey(Si, ,EK)

kraj

            ByteSub(Si)

ShiftRow(Si)

            AddRoundKey(Si,EK)

kraj

Spajanje segmenata S0..Sm u izlazni niz

 

 

Slijedi detaljan opis funkcija ByteSub,  ShiftRow, MixColumn i AddRoundKey.

 

KeyExpansion je operacija ekspanzije ključa duljine Nk na duljinu Nb*(Nr+1). Iz ovako ekspandiranog ključa uzimaju se ključevi za pojedinu rundu, tako da se za i-tu rundu koristi ključ koji se sastoji od W[Nb*i]..W[Nb*(i+1)] (slika 3.4). Prvih Nk riječi ekspandiranog ključa predstavlja originalni ključ. Ostale riječi se računaju tako da se riječ Wi za i>Nk dobije kao W[i-1] XOR W[i-Nk].  Ako je i djeljivo sa Nk, tada se nad riječi W[i-1] prije operacije XOR obavi dodatna transformacija.

 

 

 

slika 3.4: Ekspanzija ključa, za primjer sa ključem duljine 128 bita i duljinom bloka od 192 bita. Duljina riječi Wi je 32 bita. Riječi W0..W3 predstavljaju originalni 128-bitni ključ.

 

 

ByteSub je nelinearna transformacija nad svakim elementom stanja S. Ovom operacijom dobiva se nova matrica supstitucijom bajtova početne matrice koristeći matricu supstitucije (S-box). Matrica supstitucije se dobiva kompozicijom dviju transformacija: prvo se element zamijeni svojim inverznim elementom ( a-1 : a · a–1  =1, aÎGF(28) )  a zatim se izvrši afina transformacija:


 

 



 

 


slika 3.5:  ByteSub operacija

 

 

ShiftRow operacija ciklički posmiče retke stanja S za različite posmake. Prvi redak se ne posmiče. Drugi redak se posmiče za C1 bajtova, treći za C2 bajtova i četvrti za C3 bajtova. Posmaci C1, C2 i C3 ovise o duljinama ključa i bloka na slijedeći način:

 

Nb

C1

C2

C3

4

1

2

3

6

1

2

3

8

1

3

4

 

 


slika 3.6:  Operacija ShiftRow

 

 


MixColumn operacija tretira stupce stanja S kao polinome nad konačnim poljem GF(23) koji se zatim množe sa polinomom c(x)=03x3+01x2+01x+02 po modulu x4+1 (slika 3.7).

 

U matričnom obliku ova operacija se može prikazati kao:

 


 

 


 


slika 3.7:  Operacija MixColumn

 

 

 

AddRoundKey(Si) operacija se sastoji u XOR operaciji stanja S sa ključem pojedine runde (slika 3.8).

 


 

 


slika 3.8:  AddRoundKey operacija

 

3.1.2.4       Ostali simetrični algoritmi

 

Postoji mnoštvo simetričnih algoritama, od kojih su neki prisutni već godinama i smatra se da su dovoljno sigurni. To su Blowfish, CAST, RC4, RC6 itd. S pojavom AES algoritma kao šireg standarda, očekuje se pad popularnosti ovih algoritama u budućnosti.

3.1.3        Asimetrični algoritmi

 

Asimetrični algoritmi pojavili su se kao odgovor na problem prenošenja tajnog ključa preko nesigurnog kanala. Whitfield Diffie i Martin Hellman objavili su 1976. godine prvi asimetrični algoritam. Ovi algoritmi temelje se na generiranju para ključa, privatnog i javnog. Ovakvi algoritmi ponekad se nazivaju i algoritmi s javnim ključem. Ako se poruka kriptira privatnim ključem, može se dekriptirati samo javnim i obratno. Svaki sudionik u komunikaciji objavi svoj javni ključ potencijalnim sugovornicima, oni ga zatim koriste za kriptiranje poruke koju zatim može dekriptirati samo vlasnik privatnog ključa. Osim prijenosa poruka, ovaj mehanizam je i temelj za digitalno potpisivanje poruka (slika 3.9).

 

Kako se privatni i javni ključ matematički generiraju, moguće je poznavajući jedan od njih izračunati drugi. Asimetrični algoritmi formirani su na takav način da je izvođenje privatnog ključa iz javnog težak matematički problem. Današnji asimetrični algoritmi temelje se na tri klase matematičkih problema:

 

 

 

Asimetrični algoritmi u odnosu na simetrične algoritme sporiji su od 100 u softverskoj implementaciji, do 10.000 puta u hardverskoj, pa se stoga najčešće koriste za prijenos kratkih poruka (na primjer tajnih ključeva). Smatraju se vrlo sigurnima, a može ih kompromitirati jedino neočekivani napredak na  polju rješavanja matematičkog problema na kojem počivaju.

 

 

 

slika 3.9 : shematski prikaz prijenosa poruke asimetričnim algoritmom s javnim ključem


3.1.3.1       RSA

 

RSA algoritam razvili su 1977.g. Rivest, Shamir i Adleman. Algoritam radi na sljedeći način:

 

§         uzmimo dva velika prim broja (>100 znamenki), p i q

§         izračunamo njihov umnožak n=pq

§         odaberemo broj e<n koji je relativno prost u odnosu na (p-1)(q-1) (znači da nemaju zajedničkih djelitelja većih od 1)

§         odaberemo broj d takav da je (ed-1)  djeljivo s (p-1)(q-1)

 

par (n,e) tada nam je javni a (n,d) privatni ključ.

 

Poruka m se tada kriptira s javnim ključem sugovornika (n,e) po formuli c = me mod n, a primalac je dekriptira sa svojim privatnim ključem (n,d) po formuli m = cd mod n i na taj način dobiva izvornu poruku m.

 

Vrlo je teško dobiti privatni eksponent d iz javnog ključa (n,e). Kada bismo znali od kojih dvaju brojeva pq je nastao n, mogli bismo dobiti d, pošto znamo e a (ed-1) je djeljivo s (p-1)(q-1). No kako su p i q veliki brojevi jednostavno ima previše kombinacija.

 

Sigurnost RSA algoritma temelji se na teškom matematičkom problemu faktorizacije (rastavljanju broja na proste faktore) velikih cijelih brojeva. Najbrži trenutno poznati algoritmi za faktorizaciju su NFS (number field sieve) i QS (quadratic sieve). Ovi algoritmi su vrlo zahtjevni, no, pronalaženje brzog i jednostavnog načina bi RSA algoritam učinilo neadekvatnim.

 

Brzina izvođenja RSA algoritma ovisi o efikasnom algoritmu za potenciranje po modulu p. Trenutno raspoloživi algoritmi za potenciranje po modulu p nisu naročito efikasni, u čemu leži i najveća mana RSA algoritma – njegova skromna brzina.

 

Duljina ključa kod RSA algoritma je varijabilna.

3.1.3.2       ElGamal

 

Algoritam koji je predložio ElGamal 1985. godine sličan je RSA algoritmu ali se temelji na teškom matematičkom problemu pronalaženja diskretnih logaritama po modulu p (gdje je p prost broj).

 

Odaberemo li proizvoljni prosti broj p te cijeli broj g između 0 i p-1 tada se može izračunati  y=gx (mod p) za bilo koji x. Problem diskretnog logaritma tada se sastoji u pronalaženju broja x za zadani par (g,y).

 

Sigurnost ovog sustava ovisi o veličini broj p, koji bi trebao imati barem 1024 bitova.

3.1.3.3       ECC

 

ECC (Elliptic Curve Cryptography) algoritmi se umjesto na modularnoj aritmetici temelje na operacijama definiranim na eliptičkoj krivulji. Postoje varijacije RSA, ElGamal i Diffie-Hellman algoritma koji umjesto modularne aritmetike koriste operacije na eliptičkoj krivulji. Umjesto na problemu faktorizacije velikih cijelih brojeva, ECC počiva na problemu pronalaženja diskretnih eliptičnih logaritama (ECDLP). Kako je ovaj problem teži od faktorizacije, ECC algoritam postiže istu sigurnost kao i RSA algoritam, ali s manjim duljinama ključa. ECC algoritam s ključem duljine 160 bita pruža usporedivu sigurnost kao RSA algoritam s ključem od 1024 bita, no zbog kraćeg ključa brže se izvršava. ECC algoritmi počinju se šire prihvaćati u komercijalnim aplikacijama i može se očekivati da će u budućnosti dominirati područjem jakih enkripcijskih algoritama, stoga će biti detaljnije objašnjen. [10],[11],[12],[13]

 

ECC algoritam predložili su Victor Miller i Neal Koblitz 1985. godine. Na temelju ElGamal algoritma, umjesto grupe Zp* uzeli su grupu koja se sastoji od točaka eliptične krivulje definirane na konačnom polju.

 

Nad eliptičkom krivuljom se može konstruirati polje. Polje je algebarska struktura koja ima definirane operacije zbrajanja i množenja, te u kojoj moraju postojati inverzni elementi u odnosu na zbrajanje i množenje (osim za nulu). Osim navedenog, moraju vrijediti pravila asocijativnosti, komutativnosti i distributivnosti.  Kako bi struktura bila polje, svaka od ovih operacija nad bilo kojim elementima polja mora opet davati element polja. 

 

Operaciju zbrajanja nad eliptičkom krivuljom znači mora biti definirana tako da se zbrajanjem dvije točke na krivulji dobije treća točka koja je opet na krivulji. Na slici 3.10 se može vidjeti grafička reprezentaciju ove operacije.

 

 

slika 3.10:  grafička reprezentacija operacije zbrajanja na eliptičkoj krivulji

 

 

Točke na krivulji i operacija zbrajanja čine tzv. Abelovu grupu. Kako bi operacija bila u potpunosti definirana mora postojati i točka "nula". Ova točka nalazi se u +Y beskonačnosti. Operaciju množenja nad eliptičkom krivuljom definiramo kao višestruko zbrajanje. Slično definiramo i potenciranje kao višestruko množenje. Množenje i potenciranje na eliptičnoj krivulji je vrlo jednostavno, no njihove inverzne funkcije su teški matematički problemi i upravo na ovoj osobini se temelji ECC kriptoalgoritam.

 

Za potrebe kriptografije zanimljiva su tzv. konačna polja, koja imaju konačni broj elemenata. U ovom slučaju eliptička krivulja prolazi kroz konačni broj točaka sa cjelobrojnim koordinatama, koje čine grupu. Jedno od zanimljivih polja je GF(p)*, tzv. Galoisovo polje cijelih brojeva po modulu p. Posebno korisna svojstva ova grupa ima u slučaju kada je p vrlo veliki prosti broj. Eliptička krivulja ima jednadžbu:

 

 Y2=x3+ax2+b (mod p)

 

Koeficijenti krivulje kao i broj p pažljivo se odabiru, kako bi računanje bilo što jednostavnije. Tako se za p često uzima 2192-264-1. Ova grupa ima približno 1058 članova.

 

Problem pronalaženja diskretnih logaritama eliptičke krivulje (ECDLP – Elliptic Curve Discrete Logarithm Problem) definiran je ovako: Za točke P i Q na eliptičkoj krivulji pronađi broj k takav da vrijedi Pk=Q

 

ECC algoritam može poslužiti za razmjenu tajnog ključa za korištenje nekog od simetričnih kriptoalgoritama na slijedeći način [11]:

 

 

ECC sustav može se koristiti i za digitalni potpis poruke. Neka funkcija x(P) vraća x-koordinatu točke P na krivulji i neka je h sažetak poruke koju želimo potpisati a Ak je tajni a Ap je javni ključ osobe A tada:

 

generiranje potpisa:

§         par (r,s) je digitalni potpis poruke

 

provjera potpisa:

 

Efikasnost ovog algoritma ovisi o efikasnosti algoritma za zbrajanje točaka na eliptičkoj krivulji. Ova operacija sastoji se od nekoliko operacija u modularnoj aritmetici, te stoga efikasnost ovisi isto kao i kod RSA i ElGamal algoritma o brzini operacija u modularnoj aritmetici, s tom razlikom da je modul p kod ECC algoritma mnogo manji pa su kalkulacije stoga brže. Operacije se dodatno mogu ubrzati pažljivim odabirom konačnog polja nad kojim se definira eliptička krivulja, tako se npr. odabirom polja GF(2m) u kojem se aritmetičke operacije provode sa modulom koji je eksponent broja 2 postiže efikasnija implementacija na digitalnim računalima.

3.1.4        Jednosmjerne funkcije

 

Funkciju f:X®Y zovemo jednosmjernom ako je jednostavno izračunati f(x) za svaki x Î X, ali je za sve yÎ Im(f)  teško naći bilo koji x Î X za koji vrijedi f(x)=y. Ova definicija ovisi o definiciji riječi "jednostavno" i "teško". U praksi, "jednostavno" znači za red veličine milisekundi na prosječnom računalu, a "teško" znači da najjačem računalu u predvidivoj budućnosti treba milijune godina da dobije rezultat. Ovo se može postići tako da se odabere funkcija f takva da f -1(x)  ima jako puno rješenja, pa isprobavanje svih mogućih rješenja, odnosno stvaranje tabele x, f(x) za sve x Î X nije praktički izvedivo. Uzmimo za primjer funkciju f(x)=x3 mod 91. Ako znamo njezino rješenje, (npr. 57), to nam ne pomaže puno da dobijemo x, pošto imamo samo ostatak od dijeljenja nekog broja s brojem 91. Znamo samo da je 91n+57= x3  a n može biti bilo koji broj! Kada bi nam netko dao n= x3 div 91 npr. 1373,  tada bismo lako izračunali da je x3=1373*91+57=125000  i znači x=3Ö125000=50. Ovaj princip vrlo je važan za kriptografske algoritme.

3.1.5        Funkcije sažetka

 

Funkcija sažetka (hash function) je funkcija koja niz varijabilne dužine m preslikava u niz uvijek iste fiksne dužine n. Ako se za funkciju sažetka odabere neka jednosmjerna funkcija, onda se od sažetka više ne može rekonstruirati izvorna poruka. Budući da je najčešće m>n, za isti sažetak može postojati više različitih poruka, no, uz dobar odabir funkcije, vjerojatnost da dvije različite smislene poruke imaju isti sažetak zanemarivo je mala. Uz to, ne postoji jednostavan način da se namjerno konstruiraju dvije različite poruke koje bi rezultirale istim sažetkom (tzv. kolizije). Funkcije sažetka koriste se kod digitalnog potpisa i za provjeru integriteta poruke kao i u ostalim slučajevima kad je potrebna kratka reprezentacija dugačke poruke.

 

Postoje dvije vrste funkcija sažetka:

 

 

Funkcije sa ključem imaju dva ulazna parametra: izvorni tekst poruke i tajni ključ pošiljaoca. Rezultirajući sažetak omogućava nam provjeru integriteta poruke kao i identiteta pošiljaoca. Funkcije bez ključa imaju samo jedan ulazni parametar (izvorni tekst) i omogućavaju samo provjeru integriteta poruke. Kao sastavni element funkcije sažetka može poslužiti i bilo koji blokovski kriptoalgoritam, no najčešće se konstruiraju namjenske funkcije.

 


3.1.5.1       SHA

 

SHA (secure hash algorithm) je funkcija sažetka koja proizvoljni binarni niz manji od 264 pretvara u sažetak od 160 bitova. U originalnom obliku iz 1994. godine imao je malu grešku, koja je kasnije ispravljena i algoritam je nazvan SHA-1. Uz MD5 ovo je najkorišteniji algoritam, a zbog veće otpornosti na kolizije smatra se sigurnijim od MD5.

3.1.5.2       MD2, MD4 i MD5

 

MD (Message digest) algoritme razvio je Ronald Rivest. Svi ovi algoritmi na osnovu proizvoljnog binarnog niza generiraju sažetak od 128 bita. MD2 je optimiziran za 8-bitne procesore, dok su MD4 i MD5 optimizirani za 32-bitne.

 

MD2 se sastoji od proširivanja poruke na duljinu djeljivu s 16, generiranja 16-bitnog kontrolnog zbroja  te računanja jednosmjerne funkcije sažetka od dobivenog niza. Sigurnost funkcije ovisi o slučajnoj permutaciji bajtova, koja ovisi o 256 znamenaka, za koje se uzima prvih 256 znamenaka broja p (S0 ...S255). Algoritam izgleda ovako [7]:

 

proširivanje poruke M na duljinu m djeljivu sa 16

dodavanje poruci 16-bitnog kontrolnog zbroja

X0=X1=..=X15=0

za i=0 do m/16-1

X16=M(i*16), X17=M(i*16+1),...,X31=M(i*16+15)

X32=X0 Å X16 , X32=X1 Å X17 , ..., X47=X15 Å X31

t=0

za j=0 do 17

                        Za k=0 do 47

            t=Xk Å St

                        Xk=t

            t=(t+j) mod 256

sažetak je u X0..X15

 

 

MD4 se sastoji od proširivanja poruke na duljinu za 64 manju od broja djeljivog s 512, na koji se dodaje 64-bitni broj koji predstavlja duljinu poruke. Ovakva poruka podvrgava se iterativnom računanju jednosmjerne funkcije, što rezultira na kraju s 128-bitnim sažetkom.  Ovaj algoritam se pokazao nesigurnim i sada je napušten..

 

MD5 je danas najčešće primjenjivan algoritam, a temelji se na MD4 algoritmu u kojem su ispravljeni nedostaci, no uočeni su novi: pokazalo se da je moguće konstruirati koliziju, odnosno dvije poruke koje daju isti MD5 sažetak, što umanjuje upotrebljivost ovog algoritma u nekim situacijama..

3.1.6        Digitalni potpis

 

Digitalni potpis je elektronički ekvivalent vlastoručnog potpisa. Digitalni potpis mora ispunjavati sljedeće zahtjeve:

 

§         potpis nije moguće falsificirati

§         bilo tko može ustvrditi postojanje i autentičnost potpisa

§         ako je potpis vezan uz poruku sadržaj poruke nije se nakon potpisivanja mijenjao

§         potpisnik može dokazati da je to njegov potpis

§         potpisnik poruke ne može osporiti činjenicu da je poruku potpisao

 

 

Digitalni potpis temelji se na asimetričnom kriptoalgoritmu s javnim ključem. Na osnovu poruke prvo se generira sažetak, koji se zatim kriptira privatnim ključem potpisnika. Primalac poruke provjerava potpis tako da prvo izračuna sažetak poruke, zatim dekriptira sažetak kriptiran javnim ključem potpisnika, i ako se ova dva sažetka poklapaju znači da je potpisnik stvarno vlasnik privatnog ključa koji odgovara javnom ključu koji je korišten kod dekriptiranja, te da je poruka koja je došla na odredište ista ona, i nepromijenjena, koju je potpisnik potpisao.

 

Danas najčešći standardi za digitalni potpis su RSA i DSS.

 

RSA digitalni potpis temelji se na RSA asimetričnom kriptoalgoritmu. Kao funkcija sažetka u kombinaciji s RSA algoritmom obično se koristi MD5.

 

DSS (digital signature standard) je standard koji propisuje način dobivanja, provjere i korištenja digitalnog potpisa. Digitalni potpis koji se propisuje u ovom standardu računa se prema DSA (digital signature algorithm) algoritmu. Ovaj algoritam je baziran na problemu diskretnih logaritama, ali se, za razliku od RSA algoritma, ne može koristiti za enkripciju, već samo za potpisivanje. Generiranje potpisa puno je brže od njegove verifikacije (za razliku od RSA algoritma, gdje je obrnuto). Danas se rijetko koristi.

3.1.7        Slijepi digitalni potpis

 

Digitalno potpisivanje poruke moguće je samo ako potpisnik ima pristup izvornoj poruci. U situacijama kada potpisnik ne smije vidjeti originalnu poruku koju potpisuje, primjenjuje se slijepi digitalni potpis. Ovakva situacija nastupa kod podizanja e-gotovine iz banke (Chaum e-cash [18]), pri čemu korisnik ne želi da banka dobije podatak o serijskom broju novčanice, kako bi se zaštitila privatnost korisnika.

 

Slijepi digitalni potpis razlikuje se od običnog digitalnog potpisa samo u tome što se prije potpisivanja originalna poruka "prikriva" množenjem sa slučajnim brojem r potenciranim s javnim eksponentom banke. Nakon potpisa privatnim bančinim ključem, poruka se "otkriva" dijeljenjem sa slučajnim brojem r, ali sada je ostatak poruke potpisan bančinim privatnim ključem. Ovo je moguće zato što su funkcija prikrivanja i funkcija potpisivanja komutativne.

3.1.8        Pošteni slijepi digitalni potpis (fair blind digital signature)

 

Slijepi digitalni potpis pruža savršenu anonimnost korisniku novca. Kako ovo otvara velike mogućnosti kriminalcima i onemogućava organima pravne države da prate novac u slučaju zlouporabe, predložena je modifikacija slijepog potpisa na taj način da se kod organizacije u koju svi imaju povjerenja pohrani ključ koji omogućava potpisniku da utvrdi identitet korisnika novca, ako se za to pojavi opravdan razlog (npr. sudski nalog).  Ovaj sustav predložili su M. Stadler i ostali [15]. To se postiže na taj način da se prilikom izdavanja novčanice i potpisivanja koristi algoritam koji uz tajni ključ banke uzima i javni ključ suca. Kad se javi potreba za otkrivanjem identiteta, sudac će svojim privatnim ključem doći do identiteta korisnika novca.

3.2        Pametne kartice

 

Pametna kartica (SmartCard) je plastična kartica veličine kreditne kartice. Na sebi ima integrirani sklop koji sadrži određenu količinu memorije i/ili mikroprocesor. S gornje strane nalazi se nekoliko bakrenih kontakata. Nema vlastito napajanje niti ulazno-izlazne jedinice. Otporna je na neovlašteno modificiranje (tamper-resistant).

 

Kartice s mikročipom postoje već tridesetak godina. Koriste se za telefoniranje na javnim telefonskim govornicama, za kontrolu pristupa u zaštićene prostorije, za identifikaciju, u GSM telefonima, satelitskim TV receiverima itd.

 

Postoje kartice koje imaju samo memoriju (zaštićenu ili nezaštićenu), te kartice s mikroprocesorom različitih performansi, od 8-bitnog s 0,5 kb RAM memorije i 8 kb EEPROM-om, do 32-bitnog mikroprocesora s matematičkim koprocesorom.

Za primjenu u sustavima elektroničkog novca prvenstveno su zanimljive mikroprocesorske kartice koje su u stanju izvršavati kriptografske algoritme.

 

Procesor na kartici, zajedno s memorijom, čini mikroračunalo koje ima vlastiti operacijski sustav koji izvršava aplikacije pohranjene u memoriji kartice. Kartica posjeduje izbrisivu (RAM) i neizbrisivu (ROM) memoriju.

 

Kartica se koristi tako da se umetne u čitač koji joj osigurava napajanje i komunikaciju s vanjskim svijetom. Za primjenu u elektroničkom plaćanju pametne kartice zanimljive su prvenstveno zato što mogu izvršavati kriptoalgoritme na osnovu tajnih ključeva koji se nalaze na samoj kartici, što ih čini sigurnima, pošto se ključ nikako ne može izvana očitati.

 

Pametne kartice mogu biti višefunkcionalne, ako im to njihov operacijski sustav dopušta. Naime, ista kartica može biti elektronički novčanik za e-gotovinu, kreditna kartica i telefonska kartica.

3.3        Protokoli za elektronička plaćanja

 

Prilikom provedbe elektroničkih plaćanja potrebno je koristiti nekoliko sigurnosnih elemenata: kriptografski algoritam, digitalni potpis i funkciju sažetka. Ovi elementi ujedinjeni su u protokolima koji propisuju standardizirani način korištenja tih elemenata.

3.3.1        SSL

 

SSL (secure socket layer) je danas najkorišteniji protokol za zaštitu tajnosti poruka. Koriste ga gotovo svi Internet pretraživači, i postao je de facto standard za naplatu kreditnih kartica na Internetu. Implementiran je kao dodatni sloj na TCP/IP komunikacijskom protokolu [16].

 

 

 

slika 3.11 : SSL protokol implementiran je kao dodatni sloj na TCP/IP protokol, tako da protokol višeg sloja (npr. HTTP) transparentno pristupa komunikacijskom kanalu.

 

 

SSL protokol nastao je kao neslužbeni projekt unutar tvrtke Netscape Communications. Zahvaljujući velikom broju korisnika njihovog web pretraživača, brzo je dobio na popularnosti, iako nije prošao standardnu proceduru koju prolaze otvoreni internet standardi, i do danas nije objavljen u obliku RFC dokumenta.

 

SSL protokol omogućava sigurnu vezu sa sljedećim osobinama:

 

§         privatnost – komunikacija putem SSL-a nerazumljiva je prisluškivaču sa strane

§         identitet sudionika u komunikaciji može se autentificirati korištenjem algoritma s javnim ključem

§         veza je pouzdana – osiguran je integritet i nepromjenjivost poruke koja se šalje

 

SSL protokol koristi se kombinacijom asimetričnog kriptografskog algoritma za razmjenu tajnih ključeva, te simetričnim algoritmom za prijenos poruke, koja se dodatno komprimira.

 

Sjednica (session) počinje tako da se u pretraživaču umjesto HTTP:// kao URL navodi HTTPS://, što pretraživaču govori da se umjesto na port 80 web spoji na port 443 servera. Protokol se sastoji od dva sloja: sloja rukovanja i sloja slogova. Na početku SSL sjednice izvodi se protokol za rukovanje (handshake protocol) koji teče na sljedeći način:

 

§         dogovori se verzija SSL protokola kojim će se komunikacija nastaviti

§         dogovore se kriptografski algoritmi koji će se koristiti

§         opcionalno se obavi međusobna autentifikacija sudionika razmjenom certifikata

§         opcionalno se obavi verifikacija certifikata

§         asimetričnim kriptoalgoritmom  izmjene se 48-bajtni pre-master ključevi

§         svaka strana generira glavni ključ iz pre-master ključa

§         iz glavnog ključa svaka strana generira ključ za dogovoreni simetrični algoritam

 

 

slika 3.12:  tok faze rukovanja u SSL protokolu prilikom otvaranja nove sjednice. Operacije u uglatim zagradama su opcionalne

 

 

Nakon faze rukovanja, počinje razmjena aplikacijskih podataka. Ako u tijeku komunikacije nastane potreba za promjenom parametara sjednice (vrsta kriptoalgoritma ili slično) ili se pojavi potreba za otvaranjem dodatne sjednice s istim parametrima,  obavi se dodatno rukovanje, koje međutim ne sadržava ponovnu izmjenu ključeva, već se nastavlja koristiti stari. Ovo je bitno zbog poboljšanja performansi, pošto je generiranje i izmjena ključeva procesorski zahtjevna operacija.

 

 

 

slika 3.13: tok operacija pri otvaranju dodatne sjednice sa istim serverom. Izostavljena je razmjena ključeva.

 

 

SSL protokol za generiranje tajnog ključa koristi kombinaciju MD5 i SHA algoritma, a za razmjenu pre-master ključeva koristi se RSA i Diffie-Hellman algoritam. Za prijenos poruka koristi se obično DES, a može se specificirati i neki drugi algoritam. Na temelju tajnog glavnog ključa od 48 bajtova svaka strana izračunava ključ za pojedini kriptografski algoritam. Za glavni simetrični kriptoalgoritam može se koristiti više algoritama, s ključevima od 40, 56 ili 128 bita (RC2, RC4, IDEA, DES, 3DES itd. vidi tablicu 3.1). Browseri koji su proizvedeni u SAD-u (Netscape communicator i Internet explorer) podliježu američkim izvoznim propisima koji su zabranjivali izvoz tehnologije koja sadrži kriptoalgoritme s ključevima većim od 40 bita. Ovime je sigurnost SSL protokola znatno narušena. Dodatno, propusti u implementaciji SSL protokola u Internet exploreru i Netscape communicatoru koji omogućavaju potpuno zaobilaženje SSL sigurnosti, dovele su SSL protokol na zao glas. U praksi se usto pokazalo da se daleko više brojeva kreditnih kartica ukrade s računala trgovca nego iz komunikacijskog kanala, pa i kad bi bio potpuno siguran SSL, ne rješava pitanje sigurnosti pri plaćanju kreditnim karticama.

 


 

Algoritam

vrsta

duljina ključa

IDEA

simetrični, blok

128

RC2-40

simetrični, blok

40

RC4-40

simetrični

40

RC4-56

simetrični

56

RC4

simetrični

128

DES-40

simetrični, blok

40

DES

simetrični, blok

56

3DES

simetrični, blok

168

Skipjack

simetrični

80

RSA

asimetrični

razmjena ključeva

Diffie-Hellman

asimetrični

razmjena ključeva

MD5

sažetak

 

SHA-1

sažetak

 

 

tablica 3.1: kriptoalgoritmi koje podržava SSL

 

SSL protokol je procesorski zahtjevan. Najveći problem predstavlja generiranje i  razmjena ključeva u fazi rukovanja. Kako svaka nova sjednica zahtijeva novi par ključeva, tako se ovime znatno opterećuje server. Pentium III procesor na 500 MHz treba oko 24 ms za generiranje jednog ključa, što znači da u jednoj sekundi može generirati cca 40 ključeva. U stvarnom radu, ovaj broj je dvostruko manji, što znatno ograničava broj sjednica koje server može ostvariti u jednoj sekundi. Zahtjevnije primjene međutim zahtijevaju više stotina sjednica u sekundi, što se onda rješava posebnim SSL serverima, odnosno hardverskim akceleratorima, koji služe za implementaciju SSL protokola ne opterećujući  web server.

 

Osim SSL protokola postoje i vrlo slični TLS (Transport Layer Security) i WTLS (Wireless Transport Layer Security) namijenjen bežičnoj komunikaciji.

3.3.2        TLS

 

TLS (Transport Layer Security) protokol je po namjeni identičan SSL protokolu. Nastao je na temelju SSL protokola verzije 3.0. Iako su razlike minimalne, ova dva protokola nisu potpuno kompatibilna. Koristi se isti TCP port, a posebni mehanizam omogućava njihovu koegzistenciju. Osnovni motiv za stvaranje novog protokola toliko sličnog starom je prvenstveno političke prirode. Internet zajednica nevoljko prihvaća protokole koji su u vlasništvu pojedinih kompanija, a SSL je patentiran od strane tvrtke Netscape communications. TLS protokol ima manja tehnička poboljšanja u odnosu na SSL verziju 3. IETF (Internet Engineering Task Force) nastavlja razvijati TLS protokol, iako on nije šire prihvaćen. [17]

3.3.3        SET

 

SET (Secure Electronic Transaction) je protokol koji su zajednički razvili VISA i Mastercard uz suradnju kompanija kao što su Microsoft, Netscape, RSA, VeriSign itd. SET je nastao uslijed potreba za sigurnu autorizaciju kreditnih kartica preko Interneta. Ovim protokolom trgovac šalje centru za naplatu kartica podatke o kupcu, kreditnoj kartici i narudžbi koju kupac plaća. Centar za naplatu najprije provjerava trgovca, je li ovlašten naplatiti narudžbu karticom, a zatim i kupca odnosno njegovu karticu. Svaka poruka nosi i elektronički potpis, koji primalac provjerava.

 

SET se sastoji od nekoliko komponenti:

 

§         klijent – aplikacija na računalu klijenta, koja sadrži podatke o kupcu i njegovoj kartici, a u stanju je SET protokolom komunicirati s trgovcem, centrom za naplatu i centrom za certifikaciju.

 

§         server – komponenta koja se nalazi na računalu trgovca, obično kao dio veće e-business aplikacije. Prihvaća poruke SET protokolom od kupca, te komunicira s centrom za naplatu i certifikatorom.

 

§         Centar za naplatu (payment gateway), komponenta koju instalira tvrtka koja ima ugovore s više kartičara i banaka, i koja obavlja uslugu autorizacije kartica trgovcima. Na ovaj način ne mora trgovac biti u kontaktu sa svim kartičarima, jer to za njega obavlja centar za naplatu.

 

§         Certifikator – komponenta koja se nalazi na računalu banke ili neke druge organizacije zadužene za certifikaciju digitalnih potpisa. Certifikator izdaje certifikate svim sudionicima u SET transakcijama (kupcu, trgovcu i centru za naplatu) kako bi pri komunikaciji jedni s drugima mogli provjeriti valjanost javnih ključeva odnosno identiteta sugovornika.

 

 

 


Pri plaćanju prema SET protokolu tok akcija je slijedeći:

 

  1. certifikator izdaje certifikate za javne ključeve svih sudionika: kupca, trgovca i centra za naplatu
  2. kupac inicira kupnju robe
  3. trgovac provjerava bonitet kupca i valjanost kartice odnosno certifikata kupca
  4. centar za naplatu provjerava certifikat trgovca i autorizira traženu transakciju
  5. trgovac potvrđuje kupcu uspješnu kupnju
  6. trgovac zahtijeva naplatu
  7. centar za naplatu daje nalog banci kupca za prijenos sredstava na račun trgovca
  8. banka kupca prenosi sredstva na račun trgovca

 

 

 

 

slika 3.14: tok akcija pri plaćanju prema SET protokolu

 

 

Kao što je vidljivo, ovaj sustav je vrlo složen. Zahtijeva da svi sudionici u transakciji budu on-line, a kupac mora čekati da se svi koraci provjere obave prije nego što dobije robu.

 

SET protokol koristi kombinaciju simetričnog (DES) kriptiranja za razmjenu poruka i asimetričnog (RSA) kriptiranja za transport tajnih ključeva. Kupac, trgovac i centar za naplatu moraju biti on-line.  SET sustav osigurava i odgovarajuće certifikate, kako bi identitet sudionika bio zajamčen. Novija varijanta SET standarda zove se 3DSET i proširena je na način koji omogućava kupcu dobivanje računa u elektroničkom obliku, koji bi trebao biti formalnopravno valjan.

 

Uporaba kreditnih kartica na Internetu ima dva velika nedostatka: mala sigurnost i velika cijena po transakciji. SET protokolom nastoje se riješiti ovi problemi, kako bi kreditne kartice ostale u uporabi i nakon širenja drugih vidova elektroničkog novca. Iako formiran još 1995. godine i podržan od najvećih kartičara i IT kompanija, SET standard nije doživio široku primjenu. U zadnjih godinu dana, VISA i Mastercard pokrenuli su nove inicijative za uvođenje tehnologije sigurnih on-line transakcija kreditnim karticama (Secure Payment Application - SPA i 3D Secure).


4         Vrste elektroničkog plaćanja

 

 

Elektronička plaćanja po svojoj su funkcionalnosti ekvivalent nekog od klasičnih ne elektroničkih plaćanja. Vrste plaćanja mogu se podijeliti na dvije grupe

 

§         notacijsko ili bezgotovinsko

§         simboličko ili gotovinsko

 

 

 

slika 4.1: klasifikacija elektroničkih vrsta plaćanja

 

 

 

Razlika između ova dva sustava je u načinu na koji i trenutku kada novac mijenja vlasnika. Notacijski sustav temelji se na dokumentu (nalogu, čeku, kartici) koji sam za sebe nema vrijednost, već je svojevrsni nalog banci u kojoj je novac pohranjen da ga u trenutku kada joj se prezentira nalog prebaci s računa kupca na račun trgovca. Simbolički sustav temelji se na simbolu koji zaista nosi u sebi vrijednost (npr. novčanica ili kovanica), i samim ustupanjem simbola ustupa se i sama novčana vrijednost.

 

Ove vrste klasičnog plaćanja imaju i svoje elektroničke ekvivalente.

4.1        Notacijski sustavi elektroničkog novca

 

Kod notacijskog sustava kupac koji ima otvoren račun u banci koristeći jedan od oblika bezgotovinskog plaćanja zapravo trgovcu predaje nalog za prebacivanje sa svog računa na račun trgovca. U našem je slučaju to elektronički nalog. To može biti e-ček, kreditna kartica, debitna kartica i slično.

4.1.1        E-ček

 

Elektronički ček je elektronički ekvivalent klasičnog papirnatog čeka. Izdaje ga kupac trgovcu, a trgovac ga polaže u svoju banku, koja obavlja naplatu od banke izdavaoca.

Elektronički ček je vrlo sličan. Evo kako teče proces naplate:

 

1.      banka izdaje ček kupcu

2.      kupac upisuje u elektronički ček iznos i datum, potpisuje ga svojim digitalnim potpisom i predaje trgovcu. Prazni ček već je prije bio potpisan digitalnim potpisom banke koja ga je izdala. Trgovac izdaje robu kupcu.

3.      trgovac upisuje na ček svoj broj računa i prosljeđuje e-ček svojoj banci, potpisujući ga svojim digitalnim potpisom

4.      trgovčeva banka provjerava potpis trgovca i potpis banke izdavaoca i prosljeđuje ček banci izdavaocu na naplatu

5.      banka izdavalac provjerava svoj digitalni potpis i digitalni potpis kupca na prispjelom čeku, provjerava stanje novca na računu i, ako je sve u redu, prebacuje novac s računa kupca na račun trgovca.

 

E-ček predstavlja rizik za trgovca pošto ne može znati da li kupac ima na svom računu u banci dovoljno novca za pokriće čeka. Osim toga, kupac može falsificirati svoj digitalni potpis. Ako želi biti siguran, trgovac mora imati on-line vezu s bankom izdavaocem čeka, što bitno komplicira i poskupljuje transakciju jer banaka može biti mnogo.

 

 

slika 4.2: dijagram transakcije u slučaju plaćanja e-čekom

 

 

4.1.2        Kreditna kartica

 

Kreditna kartica nije elektronički način plaćanja, ali budući da se plaća prijenosom informacije koja ne mora imati svoju materijalnu inkarnaciju (broj kartice, nosilac i datum valjanosti), moguće je njome plaćati u sustavima koji omogućavaju elektronički prijenos poruke. Osim svoje funkcije naloga za plaćanje, kreditne kartice imaju i dodatnu funkciju odgode plaćanja odnosno kredita. Plaćanje kreditnom karticom zbog velike je raširenosti kartica postalo najzastupljeniji način plaćanja na Internetu. Proces naplate kreditne kartice teče ovako:

 

1.        Banka izdaje kupcu kreditnu karticu

2.        Kupac šalje trgovcu podatke sa svoje kartice (broj kartice, ime nosioca, datum valjanosti).

3.        Trgovac preko on-line sustava provjerava valjanost kartice kod banke izdavaoca ili druge institucije (autorizacija).

4.        Ako je kartica valjana, šalje autorizacijskoj instituciji iznos koji kupac želi platiti; ako je iznos ispod limita koji ima kartica kupca, dobiva odobrenje za naplatu.

5.        Nakon što je dobio odobrenje, bilježi kod sebe broj transakcije koje je dobio skupa s odobrenjem. Predaje kupcu robu i kopiju autorizacije s brojem transakcije.

6.        Autorizacijski centar obavlja kliring transakcije s bankom

7.        Periodično kartičar plaća trgovcu za sve uspješno autorizirane transakcije.

8.        Periodično kupac dobije račun od kartičara za sve troškove koje je napravio u tijeku mjeseca.

 

 

slika 4.3: dijagram transakcije u slučaju plaćanja kreditnom karticom

 

 

Plaćanje na otvorenim mrežama (npr. Internet) kreditnom karticom ima nekoliko nedostataka:

 

§         Sigurnost transakcije – ako se netko dokopa broja kartice može neovlašteno trošiti.

§         Cijena transakcije – postupak autorizacije i naplate košta cca 30 centi plus 3–5% od vrijednosti transakcije, tako da nije isplativ u slučajevima malih iznosa i malih trgovačkih marži. Granični iznos kod kojeg se isplati naplata karticom je 10 USD.

§         U trenutku naplate trgovac mora imati on-line vezu s bankom, kako bi provjerio valjanost kartice.

§         Transakcija je moguća samo između kupca i trgovca, nije moguća između dviju fizičkih osoba.

§         Banka odnosno izdavalac kartice raspolaže svim podacima o iznosima, mjestima i vremenima plaćanja, pa skladištenjem tih podataka može pratiti klijentove potrošačke navike, što narušava njegovu privatnost.

 

Postoje sustavi koji umanjuju rizik kod korištenja kreditne kartice za plaćanja na Internetu, među kojima su najčešći SSL i SET.

 

4.1.3        Debitna kartica

 

Debitna kartica je vrlo slična kreditnoj kartici, s tom razlikom da kupac mora u trenutku kupnje imati na računu novac. Trgovac tada preko on-line veze s bankom istodobno provjerava valjanost kartice i odmah prebacuje novac s računa kupca na svoj račun. Debitne kartice obično su zaštićene 4-znamenkastim PIN brojem, tako da u slučaju krađe lopov ne može njome neovlašteno trošiti. Četveroznamenkasti PIN dovoljan je sigurnosni element u slučaju kada ga se mora osobno ukucavati na tipkovnici bankomata, no u slučaju kada se on predaje elektronički sasvim sigurno nije dovoljan. Način plaćanja debitnom karticom ne omogućava naknadno "stopiranje" uplate, kao što je to kod kreditnih kartica.  Debitna kartica ne predstavlja rizik za trgovca, no zahtijeva da se cijeli proces provjere i prijenosa novca obavi prije isporuke robe kupcu. Uz već spomenuti rizik kupca, ovo debitnu karticu čini nepraktičnom za korištenje na internetu.

 


Tijek naplate debitnom karticom:

 

1.        Banka izdaje debitnu karticu nositelju računa

2.        Kupac posjećuje www stranicu trgovca i upisuje broj kartice

3.        Kupac daje banci nalog za prijenos sredstava trgovcu, upisuje svoj PIN

4.        banka prenosi novac sa računa kupca na račun trgovca

5.        trgovac provjerava stanje na svojem računu i izdaje robu

 

 

 

slika 4.4: dijagram transakcije u slučaju plaćanja debitnom karticom

 

 

4.2        Simbolički sustavi elektroničkog novca

 

Za razliku od notacijskog sustava gdje novac zapravo nikada ne napušta banku, postoje sustavi kod kojih sama reprezentacija novca nosi njegovu vrijednost. Ovo znači da se iznos na računu umanjuje čim se elektronička novčanica podigne iz banke. Ako se e-novčanica izgubi, vlasnik je bez nje ostao trajno. Ova vrsta e-novca analogna je klasičnoj gotovini i zato se obično naziva e-gotovina.

4.2.1        E-gotovina

 

E-gotovina ima osobnosti vrlo slične gotovini u stvarnom svijetu. Osobine gotovine u stvarnom svijetu su sljedeće:

 

§         univerzalno je prihvaćena

§         prihvaćena je za plaćanja pravnih i fizičkih osoba

§         kupac pri uporabi ostaje anoniman

§         verifikacija autentičnosti novčanice lako se obavlja pri samoj kupnji

§         nije potreban račun u banci

§         prenosiva je između fizičkih i pravnih osoba

§         korisnici ne moraju biti poslovno sposobni (npr. punoljetni)

 

 

Osim navedenih dobrih strana, gotovina ima i važne nedostatke:

 

§         relativno visoki troškovi vezani uz proizvodnju i distribuciju

§         nepraktičnost fizičkog nošenja veće količine

§         nepogodnost za mala plaćanja (mikroplaćanja, manja od 1 USD)

§         na raspolaganju je ograničen broj nominacija

§         neupotrebljivost u području digitalne ekonomije

§         lako ga je ukrasti

§         može se krivotvoriti

§         postoji više valuta, a konverziju prate troškovi

 

 

Elektronička gotovina mora zadržati dobre strane, a eliminirati što je više moguće loših osobina klasične gotovine. Za razliku od ranije spominjanih oblika elektroničkog plaćanja savršena e-gotovina ima sljedeće osobine:

 

1.      mora biti omogućeno jednostavno pretvaranje prave gotovine odnosno nekog drugog vida novca u e-gotovinu i obrnuto

2.      mora se onemogućiti krivotvorenje i plaćanje dva puta istom e-novčanicom

3.      kupac mora ostati anoniman

4.      mora biti omogućena off-line provjera autentičnosti

5.      mora biti moguć prijenos bez autorizacije treće strane (banke)

6.      mora biti upotrebljiv bez računa u banci

7.      mora se moći usitnjavati u željene iznose

8.      mora biti ne interaktivan

9.      mora biti jednostavan i nezahtjevan na računalne resurse

 

 

U literaturi najčešće spominjani modeli e-gotovine su Chaumov model [18] i Brandsov model [19]. Oba ova modela ispunjavaju zahtjeve iz točaka 1 – 4. Chaumov model predviđa detekciju dvostruke potrošnje, a Brandsov njezino sprječavanje hardverskim sklopom. Samo Brandsov model omogućava i usitnjavanje (točka 7). Ni jedan ni drugi model ne predviđaju mogućnost prijenosa između osoba, već nakon svakog utržka primalac mora novac položiti u banku, te ga ponovo podizati za daljnja plaćanja. Kod prijenosa e-gotovine  između dva učesnika pojavljuju se dva problema:

 

 

 

Očito, sustav koji će omogućavati prenosivost mora počivati na fizičkom sprječavanju dvostruke potrošnje, pošto sama detekcija nije dovoljno dobra. Osim Chaumovog i Brandsovog modela, u literaturi se spominje i Fergusonov model [20], koji međutim ima propust u sigurnosnom sustavu, te Okamotov model, koji je nadogradnja na Brandsov i zadovoljava točke 1–7, ali je suviše složen i zahtjevan[21].

 

Točka 8 posebno je problematična. Ne interaktivnost podrazumijeva da je moguće poslati e-gotovinu samo posredstvom jedne jedine poruke, bez povratne poruke ili dodatne interakcije među korisnicima. Ranije predložene sheme predviđaju iterativni postupak između kupca i banke pri podizanju novca, i/ili između kupca i trgovca prilikom plaćanja. Ovakav model, međutim, ponudio je P. Morin [22], no model predviđa javnu svima dostupnu bazu svih izdanih novčanica s njihovom cjelokupnom povijesti, u kojoj bi svi mogli provjeravati ispravnost novčanica, naravno samo dok imaju on-line vezu s bazom.

4.2.1.1       Plaćanje e-gotovinom

 

E-gotovina se sastoji od e-novčanica koje su ekvivalenti papirnatih novčanica i kovanica. Prije nego što može raspolagati s e-gotovinom, kupac je mora podignuti u banci. Prilikom plaćanja trgovcu mora biti omogućena provjera autentičnosti novčanice, pošto trgovac ne može biti siguran u poštenje kupca. Postoje dva modela, ovisno o tome da li trgovac ima on-line vezu s bankom u trenutku plaćanja ili ne.

4.2.1.2       On-line

 

Ako trgovac ima on-line vezu s bankom u trenutku kupnje, tada promet e-gotovine ide na sljedeći način:

 

1.      Kupac podnese banci nalog za izdavanje e-novčanice. Banka zaprima zahtjev, provjerava identitet podnositelja zahtjeva

2.      Ako je provjera uspješna, Banka umanjuje saldo na računu podnositelja zahtjeva i izdaje e-novčanicu u zahtijevanom iznosu, s jedinstvenim serijskim brojem i digitalnim potpisom banke s bančinim privatnim ključem. U bazu podataka zabilježi serijski broj novčanice.

3.      Kupac odlazi u virtualnu trgovinu, gdje kupuje robu ili usluge od trgovca, te mu predaje elektroničku novčanicu

4.      Trgovac kontaktira banku i traži provjeru ispravnosti dobivene novčanice. Ako je novčanica ispravna, trgovac je odmah polaže na svoj račun, i kupcu daje robu.

 

 

slika 4.5: Promet e-gotovine u on-line sustavu

4.2.1.3       Off-line

 

U off-line sustavu trgovac nema vezu s bankom u trenutku plaćanja, pa stoga mora imati način provjere autentičnosti e-novčanice na licu mjesta. Model stoga izgleda ovako:

 

1.      Kupac podnese banci nalog za izdavanje e-novčanice

2.      Banka zaprima zahtjev, provjerava identitet podnositelja zahtjeva i ako je provjera uspješna, umanjuje se saldo na računu podnositelja zahtjeva, te izdaje e-novčanicu u zahtijevanom iznosu, s jedinstvenim serijskim brojem i digitalnim potpisom banke s bančinim privatnim ključem. U bazu podataka zabilježi serijski broj novčanice.

3.      Kupac posjećuje virtualnu trgovinu, gdje kupuje robu ili usluge od trgovca, te predaje trgovcu e-novčanicu. Trgovac provjerava ispravnost bančinog potpisa uz pomoć bančinog javnog ključa. Trgovac izdaje robu kupcu.

4.      Trgovac polaže novac u banku. Banka provjerava autentičnost potpisa izdavaoca i provjerava nije li novčanica već ranije položena. Ako je sve u redu, uvećava iznos na računu trgovca.

 

 

slika 4.6: Promet e-gotovine u off-line sustavu

 

Ovakav pojednostavljeni model ima sljedeće nedostatke:

 

§         Obzirom na to da banka u trenutku izdavanja novčanica kupcu zna njegov identitet, može za svaku izdanu novčanicu uz serijski broj u bazi podataka zabilježiti datum i vrijeme, te identitet kupca. Nakon što trgovac položi novac u banku, banka može točno znati kada je i gdje za koji iznos kupac nešto kupio, što znatno narušava privatnost kupca.

§         Obzirom na to da su e-novčanice samo podaci (na disku ili u memoriji na kartici), kupac bi mogao pojedinu novčanicu jednostavno iskopirati, i njome platiti dva puta u dvije različite trgovine. Tada bi onaj trgovac koji je kao drugi pokušao položiti novac naišao na odbijanje banke da mu prizna tu novčanicu, jer je već ranije potrošena. Isto bi tako trgovac mogao novčanicu umnožiti prije polaganja u banku, i položiti je više puta. Ovaj problem zove se problem dvostruke potrošnje i ključan je u implementaciji e-gotovine.

§         Kako bi se moglo provjeriti nije li novčanica već ranije položena u banku, trgovac mora položiti gotovinu u istu onu banku koja ju je izdala, u banku koja sa bankom izdavateljem ima on-line vezu ili negdje mora postojati centralni registar svih novčanica u opticaju.

 

Ovi problemi rješivi su na različite načine. Jedan od njih predložio je David Chaum [18] a drugi Stefan Brands [19].

4.2.1.4       Anonimnost kupca

 

Kako bi se banci onemogućilo stvaranje baze podataka s identitetom i serijskim brojem novčanice, može se prepustiti kupcu da generira serijski broj novčanice, koji će zatim tehnikom prikrivanja sakriti od pogleda banke, te će takvu novčanicu predati banci na slijepi potpis. No, obzirom na to da banka potpisuje novčanicu čiji joj je sadržaj nepoznat (kupac može reći da je to novčanica od 1$, a zapravo je od 100$), primjenjuje se tehnika "podijeli i odaberi" (cut and choose).  U shemi koju je predložio D. Chaum [18], kupac priredi n novčanica s istim iznosom, ali svaka od njih nosi drugi serijski broj. Svih n novčanica podnese banci na potpis, a banka odabere n-1 i za njih od kupca zahtijeva da ih "otkrije". Ako pregled pokaže da je svih n-1 novčanica stvarno na iznos koji je kupac rekao, i ako su ispravni serijski brojevi, banka tada "na slijepo" potpisuje onu jednu preostalu novčanicu. Na ovaj način je onemogućeno kupcu da prevari banku, pošto ne može znati kojih n-1 novčanica će banka pregledati, pa sve moraju biti ispravne. Tehnikom slijepog potpisa kupcu je garantirana anonimnost, a novčanica koju je dobio nosi ispravan potpis bankovnim tajnim ključem.

Problem s navedenim Cahumovim rješenjem je nezgrapnost "podijeli i odaberi" procedure, pošto se za veliko osiguranje protiv prevare kupca mora koristiti veliki broj n, što znači da je komunikacija između banke i kupca mnogo opsežnija nego što je neophodno.

Za razliku od navedene tehnike, S. Brands je predložio korištenje restriktivnog slijepog potpisa [19], koji se temelji na matematičkom problemu reprezentacije u grupama prvog reda. U literaturi se ova metoda naziva i zero knowledge proof. Restriktivni slijepi potpis omogućava potpisniku da ograniči sadržaj koji potpisuje a da  taj sadržaj ne vidi. Kupac je na taj način "prikrio" svoj identitet a da nije kompromitirao sadržaj novčanice. Usto, Brandsov sustav omogućava proizvoljne vrijednosti novčanice, čija se vrijednost smanjuje pri svakom plaćanju. Ove dvije osobine, uz činjenicu da je za pohranu e-gotovine potrebno manje prostora i manje procesorske snage, Brandsovu e-gotovinu čine boljim rješenjem.

4.2.1.5       Problem dvostruke potrošnje

 

E-gotovina nije ništa drugo do digitalni podaci na disku računala ili u memoriji kartice. Kao takvi, podložni su kopiranju. Kupac bi mogao jednom podignutu novčanicu iskopirati i potrošiti je dva puta u dvije različite trgovine, a trgovac to ne bi mogao ustanoviti. Trgovac bi saznao što se dogodilo tek nakon pokušaja polaganja novca u banku. Isto tako, trgovac bi nakon što je primio e-novčanicu od kupca istu mogao umnožiti, i položiti je na svoj račun više puta. Problem dvostruke potrošnje može se riješiti na dva načina:

 

§      prevencijom dvostruke potrošnje

§      detekcijom dvostruke potrošnje

4.2.1.6       Prevencija dvostruke potrošnje

 

Prevenciju dvostruke potrošnje moguće je izvesti ako se elektronički novac nalazi pod nadzorom promatrača, znači softvera ili hardvera u koje izdavalac (banka) ima povjerenja. Ovakav model predložio je Brands. Ovo je praktično izvedivo ako se koristi hardverska izvedba elektroničkog novčanika, u kojemu je kao poseban modul implementiran promatrač, koji instalira banka i koji će voditi brigu da se jedna te ista novčanica nikada ne može izdati dva puta. Problem kod ovakvog promatrača je taj što kupac u njega ne može imati povjerenja. Može slutiti da promatrač o njemu i njegovim potrošačkim navikama skuplja nekakve podatke, koje će prilikom idućeg "punjenja" proslijediti banci. Kako bi u ovo bio siguran, njegov e-novčanik mora kontrolirati svu komunikaciju između promatrača i vanjskog svijeta.

4.2.1.7       Detekcija dvostruke potrošnje

 

Ako ne postoji promatrač, ne postoji ni mogućnost sprječavanja dvostruke potrošnje, no najbolje što se može učiniti je otkriti slučaj kada se to desi, kao i identitet krivca. Pretpostavimo da je identitet svakog kupca sadržan u samoj e-novčanici, ali tako da su za njegovo otkrivanje potrebna barem dva različita ključa, od velikog broja mogućih. Prilikom svake kupnje trgovac će od kupca zatražiti da mu na osnovu slučajno odabranog broja generira jedan od ključeva, koji će zabilježiti na novčanicu. Kada trgovac položi novčanicu u banku, banka će imati ovaj ključ, ali kako samo jedan nije dovoljan, ne može otkriti identitet kupca. Ako kupac pokuša istu novčanicu potrošiti na drugom mjestu, drugi trgovac opet će zatražiti ključ na osnovu svojeg slučajnog broja, te će ga upisati u novčanicu. Kada i druga novčanica dospije u banku, banka će usporedbom serijskih brojeva ustanoviti da je jedna te ista novčanica potrošena dva puta i imat će za nju dva ključa. Ako su ova dva ključa jednaka, to znači da je trgovac pokušao prevariti banku položivši dva puta jednu te istu novčanicu, a ako su različiti, znači da je kupac dva puta potrošio istu novčanicu i na osnovu njih će banka otkriti identitet kupca i prema njemu poduzeti sankcije.

4.2.2        Mikroplaćanja

 

Mikroplaćanja (micropayments) su posebna vrsta e-gotovine, čija osobina su vrlo mali iznosi, reda veličine 1 centa ili čak manje. Ovakva vrsta plaćanja potrebna je za plaćanje vrlo jeftinih sadržaja, koji se međutim moraju kupovati vrlo brzo. Tipičan primjer potrebe za ovakvim plaćanjem je telefonska govornica. U toku telefonskog razgovora telefonska govornica mora svakih nekoliko sekundi naplatiti po vrlo mali iznos. Kako se transakcije moraju odvijati u kratkom roku, nema vremena za složene protokole i algoritme, niti za on-line vezu sa bankom. Stoga ova plaćanja moraju biti riješena kao off-line. Na mikroplaćanja se postavlja gornja granica dozvoljenog iznos plaćanja i to je iznos reda veličine 1 USD. Zahvaljujući ovom ograničenju, potreba za sigurnosnim mehanizmima je smanjena, pa i jednostavniji sustavi zadovoljavaju namjenu.

 

 

 


 

5         Rizici pri korištenju elektroničkog novca

5.1        Ranjivost sigurnosnog sustava

 

Protokoli koji se koriste pri razmjeni elektroničkog novca počivaju na sigurnosnom sustavu koji koristi više elemenata: algoritme za kriptiranje, funkcije sažetka, jednosmjerne funkcije, generatore slučajnih brojeva, lozinke itd. Svaki od ovih elemenata podložan je napadu zlonamjernog napadača. No u praksi se pokazalo da su najčešći i najuspješniji napadi usmjereni na ljude – korisnike sustava.

5.1.1        Odabir algoritma za kriptiranje

 

Svaki od algoritama koji se koristi ima nivo sigurnosti koji ovisi o težini matematičkog problema na kojem je baziran. Kod simetričnih i asimetričnih algoritama sigurnost ovisi o duljini ključa. Kako s vremenom računala i sklopovlje postaju sve brži i jeftiniji, a usto napreduju i saznanja na polju algoritama, minimalna duljina ključa se povećava.  Minimalna potrebna duljina ključa za komercijalnu uporabu procijenjena je tako da se korištenjem najboljeg trenutno dostupnog algoritma i najbržeg trenutno dostupnog računala (ili mreže računala) ne može obaviti dekriptiranje poruke bez poznavanja ključa u prihvatljivom roku.  Duljine ključa koje će biti potrebne u budućnosti procjenjuju se tako da se ekstrapoliraju postojeći podaci koristeći Mooreov zakon (procesorska snaga udvostručuje se svakih 18 mjeseci). U donjoj tabeli je vidljivo kako se kreću ekvivalentne duljine ključeva za pojedine vrste algoritama [23].

 

 

 

godina

simetrični algoritmi

asimetrični algoritmi

algoritmi sa eliptičnom krivuljom

1982

56

417

105

1985

59

488

110

1990

63

622

117

1995

66

777

124

2000

70

952

132

2005

74

1149

139

2010

78

1369

146

2020

86

1881

161

 

tablica 5.1 :  U tabeli je vidljivo kako se mijenjala potrebna duljina ključa kako bi se zadržao isti nivo sigurnosti, u odnosu na  povećanje procesorske snage i poboljšanje algoritama.

 

 

Kao što je u tablici 5.1 vidljivo, za potrebe kratkoročne zaštite (slanje poruka) u ovom trenutku dovoljan je ključ od 72 bita za simetrični algoritam, 1024 bita za asimetrični i 136 bita za algoritam s eliptičnom krivuljom. Za kriptiranje podataka koji će biti čuvani više desetljeća, tada se može računati da će simetrični algoritmi sa 96 bita, asimetrični sa 2048 bita i eliptični sa 192 bita biti sasvim dovoljni. Kako AES algoritam predviđa duljinu ključa od 128, 192 i 256 bita, čini se da nam algoritmi omogućavaju miran san još dugi niz godina.

5.1.2        Odabir ključa

 

Osim duljine ključa, potrebno je obratiti pažnju i na samu vrijednost ključa. Pojedini algoritmi imaju određen broj tzv. slabih ključeva (weak keys), kod kojih je razbijanje kriptirane poruke znatno jednostavnije nego kod ostalih. Kod sustava s trajnim ključem treba povremeno mijenjati ključ. Pritom treba paziti da se koristi pouzdan način razmjene novog ključa.

5.1.3        Propusti u dizajnu sustava

 

Odabir jakog algoritma za kriptiranje nije garancija sigurnosti sustava. Vrlo je važno kako je cijeli sustav dizajniran u skladu s razinom sigurnosti koju bi morao pružati. Osim od samog algoritma za kriptiranje, sigurnosni sustav sastoji se i od drugih elemenata. Jedan od tih elemenata je i generator pseudo slučajnih brojeva. Generatori koji se koriste u standardnim programskim jezicima obično su dovoljno dobri da prođu razne statističke testove, no nisu dovoljno kvalitetni za korištenje u sustavu sigurnosti. Ako se npr. pri odabiru ključa koristi generator pseudo slučajnih brojeva, to je potencijalno ranjiva točka, jer ako generator nije kvalitetno izveden napadač može simulirati generator i tako doći do identičnog ključa.

5.1.4        Propusti u implementaciji

 

Općenito se smatra da je ranjivost sustava kriptiranja puno veća na nivou implementacije nego na nivou dizajna. Algoritmi za kriptiranje koji se smatraju sigurnim poznati su javnosti više godina i vjeruje se da nemaju u sebi propusta. Ipak, svaka pojedina implementacija algoritma u sebi nosi rizik od degradacije sigurnosti sustava uslijed nepravilnog korištenja algoritma. Na primjer, ako je funkcija za kriptiranje izdvojena u posebnom modulu, glavni program mora generirati ključ te ga proslijediti funkciji za kriptiranje zajedno s porukom. Ako se programer nakon toga nije pobrinuo da izbriše sve tragove ključa i originalne poruke iz memorije sustava, ostavio je potencijalnom napadaču širom otvorena vrata.

 

 

5.1.5        Propusti u sklopovlju

 

Neki sigurnosni sustavi implementirani su sklopovski. Najčešće je to slučaj s pametnim karticama (smart cards). Izvedba ovih kartica takva je da ne omogućava napadaču da dođe do tajnog ključa ili drugih podataka koji su skriveni. Koliko je ovo uspješno ovisi o nivou zaštite koja je primijenjena. Postoje različite metode za skrivanje funkcionalnosti ili sadržaja sklopa, no primjenom svakog od njih sklop postaje složeniji, skuplji, a možda i ranjiviji.

5.1.6        Ljudski faktor

 

Algoritmi, sklopovski sustavi i programska oprema u usporedbi sa korisnicima koji ih koriste vrlo su pouzdani. U praksi se pokazalo da su korisnici najslabija karika u sigurnosnim sustavima. Nema nikakve koristi ako je odabran najbolji algoritam, s dugačkim ključem, i ako je sustav vrhunski dizajniran i implementiran, ako korisnik svoj tajni ključ neprikladno pohrani, na mjestu na kojem je napadaču dostupan. Isto tako, raznim vidovima društvenog inženjeringa – lažnim predstavljanjem, nagovaranjem i slično, često je moguće navesti korisnika da sam napadaču preda svoju lozinku, zahvaljujući kojoj napadač lako dolazi u posjed njegovog tajnog ključa.

 


6         Potrebna infrastruktura

 

 

Za korištenje elektroničkog novca potrebna je odgovarajuća infrastruktura. Banke i obračunski centri moraju imati međusobne on-line veze, trgovci moraju imati vezu s bankama, na javnim mjestima moraju postojati bankomati koji podržavaju pametne kartice, a trgovci moraju imati terminale koji prihvaćaju SmardCard kartice.

 

Osim navedenog, postoji i važan dio javne infrastrukture koji se ne odnosi samo na e-novac, već općenito na digitalno društvo, a koji omogućava formalnopravnu valjanost digitalnih potpisa, te komunikacije na nesigurnim mrežama poput interneta, temeljene na postojećim kriptosustavima. Simetrični kriptosustavi omogućuju brzu i sigurnu razmjenu podataka, no za razmjenu tajnih ključeva oslanjaju se na asimetrične kriptoalgoritme temeljene na javnim i privatnim ključevima. Na istom principu javnog i privatnog ključa zasnivaju se i mehanizmi potpisivanja digitalnih poruka, te provjera potpisa. kao što se vidi, cjelokupni sustav počiva na pretpostavci da su javni ključevi pojedinih sudionika u komunikaciji svima dostupni, da su tajni ključevi dostupni samo vlasniku ključa te da je moguće sa sigurnošću utvrditi valjanost pojedinog javnog ključa te identificirati njegovog vlasnika. Infrastruktura javnih ključeva upravo je komponenta koja bi ovo trebala omogućiti. [24]

6.1        PKI

 

PKI (public key infrastructure) pojam označava skup tehnologija, protokola, standarda i usluga koji zajedno omogućavaju sigurnu komunikaciju temeljenu na sustavu javnih ključeva preko nesigurnih mreža. PKI infrastruktura trebala bi pružiti sljedeće:

 

§         sigurnost u kvalitetu elektronički primljene ili poslane poruke

§         sigurnost u pošiljaoca i primaoca informacije

§         pouzdanost vremena i datume slanja informacije

§         formalnopravnu valjanost elektroničke poruke u sudskim procesima

 

Ovi ciljevi mogu se postići korištenjem kriptografskih metoda, koje se oslanjaju na asimetrične algoritme s privatnim i javnim ključevima. Ključni problem je kako povezati korisnike i njihove javne ključeve, odnosno osigurati da iza nečijeg javnog ključa stvarno stoji osoba koja se kao takva predstavlja. Ovaj cilj pokušava postići PKI.

 

PKI sustavi mogu biti privatni ili javni. Privatni PKI sustav koristi se unutar tvrtke ili druge organizirane zajednice. Javni PKI je sustav na razini države ili zajednice država.

 

PKI može biti organiziran hijerarhijski, npr. javni nacionalni PKI, a može biti i distribuirani, baziran na povjerenju. Primjer ovakvog sustava je PGP (Pretty Good Privacy) u kojem bilo koji sudionik u PGP mreži može svojim potpisom certificirati nečiji javni ključ. Na ovaj način se vjerodostojnost pojedinog ključa procjenjuje kroz vjerodostojnost svih onih koji su ga potpisali.

 

Osim PKI sustava, potreban je niz aplikacija koje imaju implementiranu podršku za PKI infrastrukturu.

6.2        Osnovna zadaća PKI sustava

 

Osnovna zadaća PKI infrastrukture je nedvojbeno povezivanje javnih ključeva sa konkretnim korisnicima. PKI nam mora omogućiti da provjerimo da li je javni ključ našeg korespondenta ispravan i trenutno važeći, i da li je naš korespondent stvarno onaj za koga se izdaje. Obzirom da se ne može pri svakoj komunikaciji provjeriti identitet korespondenta, mora se osloniti na tvrdnju nekog nezavisnog autoriteta da je to tako, i da određeni privatni ključ koji korespondira nekom javnom ključu stvarno ima na raspolaganju osoba kojoj želimo poslati poruku. Ovo se postiže sustavom certifikata.

 

Prezentacijom certifikata korespondent nam dokazuje da je u trenutku izdavanja certifikata imao pristup privatnom ključu koji korespondira njegovom javnom ključu. Certifikat sadrži i datum valjanosti, i ako još nije istekao, može se s velikom sigurnošću koristiti navedeni javni ključ, i pri tome biti siguran da će poruku moći pročitati samo onaj kojem je namijenjena. Osnovna značajka certifikata je da se može s velikom vjerojatnošću nečiji javni ključ smatrati ispravnim bez on-line veze sa izdavaocem certifikata.

 

U nekim situacijama međutim na certifikat se ne može osloniti iako još nije istekao, npr. u slučajevima kada netko izgubi svoj privatni ključ ili on postane iz bilo kojeg razloga kompromitiran. Korisnik ovakvog certifikata mora prijaviti gubitak ključa te izdavalac certifikata mora povući odnosno opozvati certifikat. Ako želimo biti sasvim sigurni u ažurnost nečijeg javnog ključa, moramo provjeriti da li je baš u tom trenutku certifikat važeći, što znači da moramo stupiti u on-line vezu sa izdavaocem certifikata, što se kosi sa temeljnom idejom certifikata kao off-line potvrde valjanosti ključa. Sustav opozivanja certifikata je najslabija točka PKI sustava i o rješavanju ovog problema ovisi hoće li PKI sustavi ući u širu primjenu.

6.3        Komponente PKI sustava

 

PKI sustav sastoji se od nekoliko komponenti:

 

1.        Korisnika – sudionika u komunikaciji

 

2.        Certifikatora ili autoriteta koji dodjeljuje certifikate odnosno potvrđuje da konkretni javni ključ pripada konkretnoj osobi. Certifikati mogu biti i hijerarhijski, što znači da krovni certifikator potvrđuje druge certifikatore, koji mogu potvrđivati certifikatore ispod sebe, i tako do krajnjeg korisnika .

 

3.        Baze certifikata ili javne baze podataka u kojoj su navedeni važeći certifikati sa svojim datumom isteka, te opozvani certifikati, s datumom opoziva.

 

4.        Sustava za upravljanje certifikatima (objavljivanje certifikata, dohvat certifikata po zadanim uvjetima, te provjera certifikata).

 

5.        Sustava za rekonstrukciju izgubljenih ključeva.

 

6.        Sustava za pouzdano vremensko označavanje dokumenata i potpisa.

 

slika 6.1: arhitektura PKI sustava

 

 

 

U nastavku su detaljnije objašnjene pojedine komponente.

6.3.1        Korisnik

 

Korisnik je bilo koji sudionik u komunikaciji. Od certifikatora ili registratora mora unaprijed zatražiti vlastiti certifikat. Nakon odobrenja certifikata može započeti sa komunikacijom. Pri slanju poruke prvo provjerava ispravnost certifikata korespondenta. Ako se iz bilo kojeg razloga njegov privatni ključ kompromitira (izgubio ga je, ukraden mu je, netko drugi ima do njega dostup), mora certifikatoru podnijeti zahtjev za opoziv (revokaciju) certifikata. Postoji nekoliko vrsta zahtijeva koje korisnik može podnijeti certifikatoru (ili registratoru ako postoji), to su:

 

§         registracija  - prije podnošenja zahtijeva za certifikat, korisnik se mora identificirati i prijaviti u bazu korisnika.

 

§         zahtjev za izdavanje certifikata – prije početka komunikacije, korisnik mora dobiti certifikat. Certifikat će zahtijevati od certifikatora ili registratora, na taj način da uz zahtjev priloži potrebne podatke, kao i svoj javni ključ. Certifikator će tada zahtijevati dokaz da korisnik raspolaže privatnim ključem koji korespondira tom javnom ključu, i nakon izvršene provjere, certifikator će izdati certifikat. Ovaj certifikat korisnik može prihvatiti ili odbiti. Ako ga prihvati, Certifikator će pohraniti certifikat u javni repozitorij (bazu certifikata).

 

§         pronalaženje ključa – pojedini PKI sustav može zahtijevati da se kopije svih javnih ključeva pohrane kod certifikatora. Ovo je neophodno u nekoliko slučajeva: ako se radi o privatnom PKI sustavu (npr. sustavu jednog poduzeća) kada vlasnik sustava mora imati mogućnost dostupa do privatnih ključeva korisnika ako se promijeni status korisnika u odnosu na vlasnika sustava (npr. djelatnik dobije otkaz u poduzeću), ili ako zakonodavstvo pojedine države zahtijeva da se uz sudski nalog može pristupiti kriptiranoj komunikaciji. Osim navedenog, ovo je korisno ako vlasnik izgubi vlastiti privatni ključ. U ovom slučaju će korisnik podnijeti zahtjev za pronalaženje privatnog ključa, i certifikator će mu nakon identifikacije poslati kopiju privatnog ključa.

 

§         obnova certifikata – svaki certifikat ima rok trajanja. Nakon isteka tog roka, korisnik može tražiti reizdavanje certifikata, pri čemu može zadržati stari ili generirati novi par ključeva.

 

§         opoziv (revokacija) certifikata – ukoliko privatni ključ korisnika iz bilo kojeg razloga bude kompromitiran (izgubljen, ukraden, kopiran) korisnik mora tražiti opoziv certifikata. Certifikator će u bazi certifikata označiti certifikat kao nevažeći, te ga dodati u listu nevažećih certifikata.

 

 

 

6.3.2        Certifikator

 

Certifikator (Certificate Authority – CA) je organizacija ili ustanova kojoj vjeruju svi sudionici u prometu, a koja ima zadatak da utvrđuje identitet pojedinog sudionika (osobe ili tvrtke) klasičnim metodama (dokumenti, potpisi itd.), te da posvjedoči da određeni javni ključ pripada upravo tom sudioniku. Ova svjedodžba se izdaje u obliku certifikata. 

 

Certifikatori mogu biti imenovani na nivou pojedine države, ali mogući su i privatni certifikatori npr. na nivou pojedine tvrtke ili financijske ustanove. Uloga certifikatora u PKI sustavu je ključna, što ga čini vrlo ranjivim. U slučaju kada bi se neovlaštena osoba domogla tajnog ključa certifikatora, mogla bi izdavati lažne certifikate i opozivati važeće. Svi certifikati koje je izdao morali bi se povući. Vrlo je stoga važno da ustanove koje predstavljaju certifikatora budu pouzdane a njihovi računalni sustavi sigurni.

 

Postoji i dodatni opcionalni element PKI sustava koji se zove registrator (Registration Autrhority – RA). Funkcija registratora je da od certifikatora preuzme dio administrativnih poslova vezanih uz utvrđivanje identiteta podnositelja zahtijeva, njegovih ovlasti da zatraži certifikat, kao i činjenice da posjeduje privatni ključ koji korespondira javnom ključu za koji zahtijeva certifikat. Registrator ne izdaje certifikate, već samo utvrđuje da li pojedinom podnositelju zahtijeva treba izdati certifikat. Registrator je potreban u sustavima velikog broja sudionika, kada je potreban veći broj registratora koji su zemljopisno dislocirani.

 

U složenim sustavima može postojati više od jednog certifikatora. U tom slučaju certifikatori su organizirani u strukturu koja može biti stablasta (hijerarhijska) ili ulančana. U hijerarhijskoj strukturi svaki certifikator mora biti certificiran od svojeg krovnog certifikatora, a na vrhu piramide je korijenski certifikator (Root Certificate Authority – RCA). Pri provjeri certifikata korisnik zahtijeva provjeru kod svog certifikatora, koji ako ne pronađe certifikat kod sebe prosljeđuje zahtijeva na višu instancu i tako do krovnog certifikatora, pa do certifikatora drugog korisnika. U ulančanoj strukturi certifikatori se međusobno certificiraju.

 

 

 

slika 6.2: provjera certifikata u hijerarhijskoj strukturi certifikatora.  Crtkanom linijom označen je put provjere certifikata korisnika B

 

 

6.3.3        Baza certifikata

 

Certifikat je svjedodžba koja potvrđuje da je određeni korisnik u trenutku izdavanja certifikata posjedovao privatni ključ koji korespondira javnom ključu koji se nalazi u certifikatu.

 

Certifikat je u digitalnom obliku, a sadrži minimalno:

 

§         identifikator certifikata

§         osnovne podatke o nositelju certifikata

§         vrijeme i datum izdavanja certifikata

§         rok valjanosti certifikata

§         klasu certifikata

§         identitet izdavatelja certifikata

§         digitalni potpis izdavatelja certifikata i identifikaciju algoritma

§         javni ključ nositelja certifikata i identifikaciju algoritma

§         namjena javnog ključa nositelja certifikata

 

Osim navedenih elemenata, certifikat može sadržavati i mnoge druge podatke. Postoje tri najraširenija standarda koji propisuju oblik certifikata: X.509, SPKI i PGP. Sadržaj certifikata u tri dva standarda je različit, ali svi imaju gore navedene osnovne elemente.

 

Svaki certifikat mora imati jedinstveni identifikator. To može biti serijski broj (X.509), ime (SPKI), userID+e-mail (PGP) ili sažetak javnog ključa. Ovaj identifikator je jedinstven na nivou pojedinog certifikatora, tako da identifikator certifikatora i serijski broj tvore globalno jedinstveni identifikator certifikata.

 

Osnovni podaci o nositelju certifikata ovise o klasi i namjeni certifikata, a minimalno sadržavaju naziv i e-mail adresu nositelja, a mogu sadržavati i ostale podatke, kao  što su adresa, matični broj itd.

 

U certifikatu se bilježi i vrijeme i datum izdavanja certifikata. Certifikati se izdaju sa određenim rokom valjanosti. Ovisno o namjeni, valjanost može biti svega nekoliko sati, do više godina. Nakon isteka roka valjanosti certifikat više ne vrijedi, no ne briše se iz baze certifikata, već ostaje tamo sa zabilješkom o isteku.

 

Sastavni element certifikata je i klasa certifikata. Klasa certifikata govori o tome na koji je način, tko i kada obavio provjeru identiteta nositelja. Postoje četiri osnovne klase identifikacije:

 

1.      nositelj je identificiran samo po svojoj e-mail adresi

2.      nositelj je identificiran podacima o identitetu koje je sam podnio

3.      nositelj je identificiran provjerom službene isprave podnositelja

4.      nositelj je identificiran provjerom službene isprave i fizičkom provjerom (fotografija, biometrika, otisak prsta i sl.)

 

Ovisno o klasi identifikacije, pojedini certifikat nosi veću ili manju težinu. Za radnje za koje nije bitan točan identitet dovoljan je certifikat klase 1, dok se može očekivati da će tijela državne uprave i financijske institucije zahtijevati certifikat klase 3 ili 4.

 

Svaki certifikat sadrži podatke o identitetu certifikatora koji je izdao certifikat, kao i digitalni potpis izdavaoca, kako bi se mogla provjeriti njegova autentičnost i izvornost.

 

Ključni element certifikata je javni ključ nositelja. Par javni/privatni ključ nositelja može generirati certifikator, ali u tom slučaju je moguće da Certifikator zabilježi privatni ključ nositelja, i pomoću njega kasnije falsificira njegove poruke. Sigurnije je ako par privatni/javni ključ generira sam nositelj, a tada certifikatoru podnese svoj javni ključ, zajedno sa ostalim dokumentima potrebnim za utvrđivanje identiteta. Certifikator tada mora provjeriti da li podnositelj zahtijeva raspolaže privatnom ključu koji korespondira javnom ključu za koji zahtijeva certifikat. Pomoću svojeg privatnog ključa nosilac certifikata može obaviti nekoliko operacija: potpisivati poruke, prenositi podatke, prenositi tajne ključeve itd. U certifikatu stoji koje od ovih operacija je nositelj ovlašten obavljati pomoću svog javnog ključa a koje ne. Ovaj podatak stoji u polju namjena javnog ključa u certifikatu.

 

Baza certifikata je javna baza podataka koja se sastoji od dva dijela: liste certifikata i liste povučenih certifikata. Lista certifikata sadrži sve ikada izdane certifikate. Svaki novoizdani certifikat upisuje se u bazu. U bazi certifikata uz svaki certifikat stoji i datum izdavanja, rok važenja te status certifikata. Certifikat može biti važeći ili nevažeći. Za nevažeće certifikate navedeno je datum kada je postao nevažeći te opcionalno i razlog zbog kojeg je povučen. Lista nevažećih certifikata sadrži certifikate koji su povučeni. Ove dvije strukture su namjerno odvojene iz sigurnosnih razloga i  kako bi se lista nevažećih certifikata lakše šire distribuirala. Baza certifikata održava se preko sustava za održavanje certifikata.

6.3.4        Upravljanje certifikatima

 

Sustav upravljanja certifikatima (Certificate Managemanet System - CMS) služi za održavanje baze podataka odnosno repozitorija certifikata. Nad repozitorijom certifikata moguće su slijedeće operacije:

 

§         provjera certifikata

§         dodavanje novog certifikata

§         promjena certifikata

§         brisanje certifikata

§         opoziv certifikata

 

Ove operacije provodi certifikator preko sustava upravljanja.

6.3.5        Rekonstrukcija ključeva

 

U slučaju da korisnik izgubi svoj privatni ključ, i pod uvjetom da na certifikator čuva kopije privatnih ključeva, moguće je tražiti “kopiju” ključa. Obzirom da korisnik ne raspolaže svojim privatnim ključem ne postoji siguran način da mu se dostavi kopija ključa. U tom slučaju, korisniku će se dodijeliti privremeni certifikat, koji će služiti samo za dostavu starog privatnog ključa. Postupak dodjele privremenog certifikata identičan je kao i kod normalnog certifikata, no ova je varijanta mnogo povoljnija za korisnika, pošto ne mora obavještavati sve svoje potencijalne korespodente o promjeni svog javnog ključa.

 

Zakonodavstva pojedinih zemalja mogu zahtijevati da se u cilju onemogućavanja kriminalnih radnji uz predočenje sudskog naloga mora moći dekodirati bilo koja kriptirana poruka. U ovu svrhu se koriste kopije privatnih ključeva kod certifikatora, odnosno kod posebne vladine agencije (key escrow). Ukoliko ne postoje kopije ključeva, u slučaju izgubljenog ključa, korisniku ne preostaje drugo no da povuče svoj stari certifikat i zatraži potpuno novi, sa novim javnim ključem, te da o tome obavijesti sve svoje potencijalne korespodente.


6.3.6        Opoziv certifikata

 

U slučaju gubitka ili kompromitiranosti privatnog ključa, korisnik je dužan od certifikatora tražiti opoziv certifikata. Ovaj postupak je najslabija točka PKI sustava, pošto nije moguće u istom trenu obavijestiti sve potencijalne korespodente da je dotični javni ključ nevažeći.

 

Opoziv certifikata obavlja njegov izdavatelj najčešće na temelju zahtijeva vlasnika ključa. Opoziv se sastoji od promjene statusa certifikata u repozitoriju certifikata, i opcionalno upisa razloga njegovog opoziva. Drugi važan korak je upis certifikata u listu opozvanih certifikata. Lista opozvanih certifikata (CRL – Certificate Revocation List) ima sličnu namjenu kao što je lista nevažećih kreditnih kartica koja se svakodnevno distribuira trgovcima. Ova lista se periodično distribuira kako bi korisnici mogli provjeriti da li je pojedini certifikat važeći. Kako postoji vremenski pomak između povlačenja certifikata i trenutka kada lista dođe do potencijalnog korespondenta, moguće je da u slučaju krađe privatnog ključa poruka dospije u krive ruke. Ovaj problem nije moguće riješiti bez on-line veze i centralizirane baze podataka, što je u suprotnosti sa idejom certifikata.

6.3.7        Vremenska oznaka (time stamp)

 

Kako bi digitalni dokumenti bili pravno valjani u okviru sudstva pojedine države, osim nedvojbene identifikacije potpisnika i primaoca, potrebno je imati i nedvojben podatak o trenutku nastanka dokumenta, potpisa ili izvršenja neke radnje. Ovu funkciju ima posebna komponenta PKI sustava koja se zove TSA ( Time Stamp Authority). [25]

 

TSA na zahtjev korisnika izdaje vremenski simbol (time-stamp token). Korisnikov zahtjev mora sadržavati digitalni sažetak poruke, te veliki slučajni cijeli broj. Vremenski simbol koji korisnik dobije sadrži točno vrijeme i datum u trenutku izdavanja simbola, isti onaj slučajni broj koji je korisnik poslao, sažetak poruke, serijski broj simbola, te podatak da li je izdavanje simbola zabilježeno u dnevniku. Cijeli simbol naknadno je potpisan TSA-ovim digitalnim potpisom. Vrijeme u vremenskom simbolu zabilježeno je precizno na nivou jedne sekunde u tzv. UTC formatu (Coordinated Universal Time).

 

Korisnik će ovako dobiveni vremenski simbol uključiti u digitalni dokument. Vremenski simbol se verificira tako da se prvo verificira TSA-ov digitalni potpis na vremenskom simbolu, a zatim se izračuna sažetak dokumenta te se usporedi sa sažetkom koji se nalazi u vremenskom simbolu. Ako se ova dva sažetka poklapaju, znači da je dokument svakako morao postojati prije nego što je izdan konkretni vremenski simbol.

 

U slučaju da privatni ključ TSA-a bude kompromitiran, falsifikator bi mogao izdavati falsificirane antidatirane dokumente. Ovo je moguće spriječiti tako da TSA vodi ažurni dnevnik izdavanja simbola, koji se arhivira na sigurnom mjestu. Drugi način povećanja sigurnosti je umetanje u dokument dva ili više vremenskih simbola od različitih TSA-ova.

6.4        PKI standardi

 

Ne postoji opće prihvaćen standard za PKI. PKI sustavi koji u svijetu postoje su slični ali svaki je stvoren prema konkretnim potrebama. Jedan od najraširenijih standarda zove se PKIX. Temelji se na X.509 standardu certifikata i na radu PKIX radne grupe. Grupa je osnovana 1995 sa zadatkom da prilagodi ITU X.509 standard certifikata za primjenu na internetu, no njihov rad nastavio se mnogo šire i definirali su mnoge elemente PKI sustava (RFC 2459, RFC 2587, RFC 2527, RFC 3039, RFC 2510, RFC 3161, RFC 2510 itd.). Grupa je još uvijek aktivna i dalje radi na standardizaciji PKI sustava na internetu.

 

Za same certifikate postoje tri raširena standarda: X.509, SPKI i PGP.

6.4.1        ITU X.509

 

Standard X.509 definirala je ITU (International Telecommunication Union – bivši CCITT) kao dio šireg standard X.500. Ovaj standard propisuje točan oblik i sadržaj certifikata, kao i neke od ostalih elemenata PKI sustava. Za identifikaciju certifikata koristi se serijski broj, jedinstven na nivou jednog certifikatora. Kombinacija identifikatora certifikatora i serijskog broja trebala bi biti globalno jedinstvena. U definiciji certifikata postoji i jedno dodatno polje namijenjeno za dodatna proširenja. Ovo polje već je dobilo neke od funkcija. Vrlo je raširen, i podržavaju ga svi web pretraživači. Trenutno aktualna verzija prilagođena za internet je v3. [26]

6.4.2        SPKI

 

SPKI (Simple Public Key Infrastructure) protokol razlikuje se od ostalih protokola po tome što je primarno autorizacijski a ne autentifikacijski protokol. Certifikati koje definira ne služe kako bi se povezala konkretna osoba sa konkretnim javnim ključem, već kako bi se javni ključ povezao sa autorizacijom za određeni postupak. Umjesto imena ili serijskog broja, kao identifikator certifikata koristi se sažetak samog javnog ključa nositelja ili objekta kojem se preko certifikata pristupa. SPKI certifikat ima svega nekoliko polja i prvenstveno bi trebao biti jednostavan, a namijenjen je autorizaciji pojedinih radnji (npr. pristupu bankovnom računu, pristupu računalu, telefonska kartica itd.) Iza SPKI certifikata ne mora stajati stvarna osoba, a ako i stoji, njeno ime niti identitet nije bitan, i kao takav pruža određenu razinu anonimnosti korisniku.  [27], [28]

 

6.4.3        PGP

 

Najzanimljiviji PKI standarda je PGP sustav, koji se ne temelji na centraliziranim povjerljivim certifikatorima, već na međusobnoj certifikaciji korisnika (tzv. mreža povjerenja – web of trust) . Svaki korisnik može potpisati certifikat bilo kojeg drugog korisnika, pa onda svaki korisnik procjenjuje vjerodostojnost korespondenta kojeg ne pozna preko potpisa poznatih korespondenata na njegovom certifikatu. Na ovaj način je pouzdanost jednog centralnog certifikatora zamijenjena djelomičnom pouzdanošću više distribuiranih certifikatora.

 

Postoji još nekoliko manje rasprostranjenih standarda za PKI certifikate, među kojima su X9.59 (AADS), PolicyMaker and KeyNote koji ovdje neće biti detaljnije razmatrani.


7         Zakonska regulativa

 

Korištenje digitalnog novca zahtijeva donošenje zakona koji rješavaju četiri ključna problema:

 

1.      formalnopravnu valjanost digitalnog potpisa

2.      poziciju e-novca u postojećem monetarnom sustavu

3.      poziciju e-novca u poreznom sustavu

4.      sprječavanje kriminalnih radnji

7.1         Formalnopravna valjanost digitalnog potpisa

 

Vlastoručni potpis stoljećima je prihvaćen kao element identifikacije osobe i vjerodostojnosti dokumenta. Transakcije elektroničkog novca gubile bi svoj smisao kad bi ih se moralo potpisivati ručno, stoga elektronički potpisi, koji su uz algoritme za kriptiranje najvažniji element u protokolima za korištenje e-novca, moraju zakonski biti priznati ekvivalentnima vlastoručnom potpisu. U nekim su državama već doneseni zakoni koji ovo omogućavaju, prvenstveno zbog sustava plaćanja među pravnim osobama.

 

U Hrvatskoj je ove godine donesen Zakon o elektroničkom potpisu (Narodne novine, broj 10/02, 30. 01. 02). Ovaj zakon omogućava korištenje elektroničkog potpisa u pravnim poslovima pravnih i fizičkih osoba. Dozvoljena je primjena elektroničkog potpisa u svim pravnim poslovima, osim:

 

1. pravnim poslovima kojima se obavlja prijenos vlasništva na nekretninama ili se uspostavljaju druga stvarna prava na nekretninama,

2. oporučnim poslovima,

3. imovinskim predbračnim odnosno bračnim ugovorima,

4. opterećenju i otuđenju imovine za koje je potrebno odobrenje centra za socijalnu skrb,

5. ugovora o predaji i raspolaganju imovinom za života,

6. ugovora o doživotnom uzdržavanju i sporazume u vezi s nasljeđivanjem,

7. darovnim ugovorima,

8. drugim pravnim poslovima za koje je posebnim zakonom propisano da se sastavljaju u obliku javnobilježničkog akta odnosno isprave,

9. drugim pravnim poslove ili radnjama za koje je posebnim zakonom ili na temelju zakona donesenim propisom izričito određena uporaba vlastoručnog potpisa u dokumentima na papiru ili ovjera vlastoručnog potpisa.

 

Kao što je vidljivo, ovaj zakon je prvi korak, ali i dalje se za najvažnije poslove mora koristiti klasični vlastoručni potpis. Nama su u ovom trenutku najinteresantnije financijske transakcije, a one su ovim zakonom dozvoljene, osim ako naknadno, u okviru točke 9, dodatnim propisom ne bude drugačije određeno.

 

Zakon predviđa i elemente javne infrastrukture (javni certifikatori), čiji posao je izdavanje certifikata za elektroničke potpise, na temelju klasične potvrde identiteta. Ova infrastruktura još ne postoji i, sve dok se ne oformi, njegova primjena nije moguća.

 

U drugim državama stanje je slično. U SAD-u je donesen sličan zakon 24. 1. 2000. godine. Infrastruktura je više ili manje razvijena, ovisno o kojoj se saveznoj državi radi. U nekim državama već postoji, i moguće je slati dokumente tijelima državne uprave i tvrtkama (npr. u Utahu). U nekim državama, međutim, još ne postoji, ili nije niti propisana, već se digitalni potpisi priznaju i bez certifikata (npr. u Kaliforniji).

 

U Europskoj Uniji donesen je zakon (digital signature directive) koji svim zemljama članicama propisuje donošenje lokalnih nacionalnih zakona vezanih uz ovu tematiku. Većina zemalja članica ove zakone je i donijela, ali pokazalo se da nisu konzistentni, pa su se institucije za certifikaciju razvile samo na područjima gdje je legislativa više tome odgovarala.

 

Najdalje se u zakonodavstvu i primjeni došlo u Australiji, Kini i Hong Kongu. U Australiji je 1999. godine donesen zakon po kojem su svi dokumenti u digitalnom obliku i s digitalnim potpisom ravnopravni klasičnima, i po kojem sve javne ustanove moraju biti u stanju primati i procesirati dokumente u digitalnom obliku. Silom zakona izgrađena je PKI infrastruktura [29].

7.2        Pozicija e-novca u postojećem monetarnom sustavu

 

Većina zemalja (odnosno monetarnih unija) ima centralnu monetarnu instituciju koja izdaje i povlači novac, određuje kamatne stope i obavezne rezerve banaka itd. Upravo utjecajem na količinu novca u opticaju i uvjetima davanja kredita poslovnih banaka središnja banka utječe na gospodarstvo u okviru svojih zakonskih ovlasti. E-novac je sasvim izvan ovog sustava, i njegovo korištenje (naročito e-gotovine) ne podliježe nikakvoj regulativi. Osim toga, e-novac lagano prelazi međudržavne granice, i na taj način se mijenja monetarna bilanca zemlje u odnosu na inozemstvo. Kako bi se spriječilo nastajanje mnogih privatnih e-valuta i kako bi se osiguralo da svaka e-kuna ili e-dolar ima podlogu u stvarnom novcu, mora postojati zakon i institucija koja postupa u skladu s ovim zakonom.

7.3        Pozicija e-novca u poreznom sustavu

 

E-gotovina omogućava svom korisniku potpunu anonimnost. Obzirom na to da nema svoju fizičku komponentu, lako se transportiraju velike količine bez obzira na međudržavne granice i udaljenosti. Ovo je čini idealnom za izbjegavanje plaćanja poreza. Pošto je promet e-gotovinom sakriven od poreznih institucija, moguće je ostvarivati velike dobiti na uslugama i nematerijalnim pravima, koje se mogu vrlo lako utajiti.

 

7.4        Sprječavanje kriminalnih radnji

 

Anonimnost, lagan prelazak granica i pretvaranje novca iz elektroničkog oblika u druge oblike čine e-gotovinu idealnom za pranje novca, mito, ucjene, reket i druge kriminalne aktivnosti. Kako su korišteni algoritmi toliko snažni da ih niti izvršna vlast (policija) ne može razbiti, to kriminalce stavlja u izrazito pogodan položaj.

 

 


8         Elektronički novac u praksi

 

Iako su dostignuća u kriptografiji pokrila sve sigurnosne i praktične zahtjeve za sve oblike elektronskih plaćanja i elektronskog novca, rasprostranjenost ovih načina plaćanja zanemariva je u odnosu na klasična plaćanja. Najprirodnije bi bilo da elektronički novac dostigne svoju renesansu upravo za on-line kupnje na Internetu, no, u usporedbi s plaćanjima kreditnim karticama, uporaba elektroničkog novca na Internetu gotovo ne postoji. Kompanije koje su u devedesetim godinama ušle na područje elektroničkog novca uglavnom su bankrotirale, a one malobrojne koje se još drže vjerojatno čeka ista sudbina. Druga generacija koja se pojavila krajem devedesetih nešto je uspješnija.

Koncept kreditnih kartica star je gotovo 50 godina, u mnogim situacijama su nepraktične i usto nedostupne velikom dijelu populacije (maloljetnici, nezaposleni itd.). Plaćanje kreditnim karticama je preskupo, pre komplicirano i previše izloženo zlouporabama. Posve je neupotrebljivo za male pojedinačne iznose. Trgovac dobiva svoj novac tek nakon 30 do 90 dana, a usto plaća i 3–6% naknade. S druge strane, e-novac počiva na briljantnom modernom i fleksibilnom konceptu i pruža sve mogućnosti sigurnosti i privatnosti koje se mogu poželjeti, male troškove i veliku brzinu obrade. Postoji niz usluga koje bi se preko Interneta mogle prodavati, ali se ne prodaju jer nije moguće ostvariti odgovarajuću naplatu. Osim toga, velik dio populacije nema pristup kreditnim karticama, iako ima kupovnu moć. Koji su razlozi da se toliko bolji koncept pokazao neuspješnim pred mastodontom iz prošlosti?

 

Jedan od razloga je taj što je digitalna ekonomija još uvijek vrlo mali dio opće ekonomije, tako da veliki sustavi (banke, kartičari), koji su po prirodi konzervativni,  nisu zainteresirani za ovo područje i ne smatraju ga prijetnjom. Manje od 2% svih transakcija kreditnim karticama su transakcije vezane za kupnju preko Interneta. Drugi mogući razlog su patenti koji štite kriptografske algoritme. Patenti na algoritme za identifikaciju, slijepi potpis i slično još su na snazi. Patente na radove Davida Chauma, Stefana Brandsa i drugih poznatijih kriptografa drže tvrtke  eCash Techologies, Zero Knowledge Systems i RSA. Prema američkim zakonima, ovi patenti istječu nakon 17 godina i svi su još na snazi. Naknade za korištenje ovih patenata otežavaju malim tvrtkama da koriste napredne i fleksibilne modele elektroničkog novca, a velike nisu dovoljno zainteresirane. Treći razlog leži u nedovoljnoj zakonskoj regulativi koja se odnosi na pravnu valjanost elektroničkih transakcija i na paralelni monetarni sustav koji bi stvorila e-gotovina.

 

Devedesetih se godina u Americi pojavilo nekoliko tvrtki koje su implementirale sustave e-novca. Praktički sve su se pokazale neuspješnima, sve do kraja devedesetih, kada se pojavilo nekoliko uspješnijih tvrtki. Slijede kratki opisi njihovih djelatnosti.

 


8.1        DigiCash

 

DigiCash je pionir na području elektroničkog novca. Osnivač tvrtke je poznati kriptograf David Chaum, čiji radovi su u samom temelju tehnologije elektroničkog novca. Tvrtka je osnovana 1990, no zbog lošeg poslovnog upravljanja i neuspješnih pregovora s investitorima (među kojima su bili Visa, Microsoft, Netscape, Citibank, ABN Amro i drugi), bankrotirala je 1998, prodala svojih 16 patenata tvrtki eCash Technologies (koja je također u problemima, otpustila je nedavno 25 od 65 zaposlenih). [30], [31]

 

Sustav elektroničkog novca koji je stvorio DigiCash se zove eCash. To je off-line simbolički sustav, koji koristi slijepi potpis za postizanje anonimnosti. Koristi se sustav detekcije dvostruke potrošnje putem podijeljene identifikacije i razdijeli-i-odaberi mehanizam prilikom podizanja e-gotovine iz banke. ECash novčanice su u fiksnim iznosima, i nije moguć povrat razlike. Ako nije moguće platiti točan iznos raspoloživim novčanicama, mora se obaviti usitnjavanje u banci. DigiCash eCash sustav je u potpunosti implementiran u softveru .

 

Korištenje eCash-a zahtjeva posebnu aplikaciju na računalu klijenta. Ova aplikacija omogućuje mu podizanje e-gotovine, polaganje e-gotovine u banku i slanje e-gotovine drugom sudioniku. Valuta koja se koristi zove se eBuck a 1 eBuck vrijedi jedan USD. Sustav je 1995. godine pušten u eksperimentalni rad i izdano je ukupno 1 milijun eBucks-a.

8.2        CyberCash

 

CyberCash je osnovan 1994. godine. Dvije godine kasnije postali su javna kompanija i prilikom početne emisije dionica uspjeli su skupiti zavidan kapital. Popularnost su izgradili na ponudi tehnologije za mikroplaćanja (micropayments). Ova tehnologija nikada nije šire komercijalno profunkcionirala, i tvrtka je na posljetku prešla na pružanje usluga on-line autorizacije kreditnih kartica. No posao im je stagnirao, i na kraju su prošle godine (2001) objavili stečaj. Nakon toga, kupila ih je tvrtka VeriSign, koja se bavi izdavanjem digitalnih certifikata.

8.3        Billpoint

 

Tvrtka Billpoint osnovana je 1998. godine. Uspjeh može zahvaliti prvenstveno činjenici da osim elektroničkih plaćanja (e-čekovi) obavlja i klasičnu naplatu kreditnih kartica. Kompaniju je 1999. kupila jedna od najvećih e-commerce kompanija, tvrtka eBay. Billpoint omogućava slanje elektroničkih čekova s klasičnih tekućih računa američkih i kanadskih banaka.  Zahvaljujući osiguranom poslu od eBay-a te više od 300 Internet sajtova, uključujući Yahoo i Bank of America koji prihvaćaju njihove e-čekove, Billpoint je postao dotad najmasovniji oblik primjene elektroničkog novca. Tijekom srpnja 2002. eBay je također kupio i PayPal i trenutno još nije jasna budućnost Billpoint-a. [32]

8.4        PayPal

 

PayPal je najsvjetlija točka u primjeni e-novca, i jedini sustav  u masovnoj primjeni. Omogućava pretvaranje novca s kreditne kartice ili bankovnog računa u e-novac, te slanje istoga e-mailom tvrtkama ili osobama primateljima u 38 zemalja svijeta (zasad ne i u Hrvatsku). Osim slanja e-novca, korisnici mogu stvoriti i virtualnu debitnu karticu, te plaćati direktno na račune u bankama. Broj korisnika se već popeo na oko 17 milijuna, s izrazito brzim porastom. Fenomen uspjeha PayPal-a leži u činjenici da se njihov koncept e-novca oslanja na postojeću infrastrukturu banaka i kreditnih kartica, te da mu je korištenje jako jednostavno. PayPal e-novac se šalje e-mailom, vrlo jednostavno se pretvara u pravi novac (račun u banci, kreditna kartica i sl.), a neograničeno je prenosiv između fizičkih osoba, bez ikakve potrebe posjedovanja računa u banci, kreditne kartice i sl. Dovoljno je imati e-mail adresu, i to je sve. 

Ovako velik broj korisnika u relativno kratkom vremenu rezultat je lančanog širenja, koje funkcionira na sljedeći način: želite li nekome poslati novac, ne morate znati njegov broj računa, pa čak niti ime, dovoljna je e-mail adresa. Primalac će tada dobiti poruku  "You’ve Got Cash!" i kliknuti na link koji će mu kroz nekoliko jednostavnih on-line koraka omogućiti da novac prebaci na svoj račun u banci, ili da njime dalje nešto plati bilo kome na bilo koji račun u banci (npr. režije ili druge troškove), ili da ga dalje pošalje e-mailom. Postoje i tvrtke koje osobne dohotke zaposlenicima isplaćuju preko PayPal-a.

U tijeku srpnja 2002. godine eBay je kupio PayPal za otprilike 1,5 milijardu dolara u dionicama. Očekuje se da će ovo još pridonijeti širenju popularnosti. [33]

8.5        Chipknip

 

Chipknip je off-line elektronički novac baziran na pametnim karticama. Radi se o velikom nacionalnom projektu u Nizozemskoj. Od 1995. godine eksperimentalno se u nekoliko manjih gradova uvodi sustav pametnih kartica (Louvain – 90.000 stanovnika i Wavre – 30.000 stanovnika). Kako se sustav pokazao uspješnim proširen je na Arnhem  (140.000 stanovnika). Slijedili su i ostali gradovi, i do danas su kartice podijeljene svim vlasnicima tekućih i žiro-računa u bankama, čime se broj popeo na preko 20 milijuna korisnika. To je trenutno najveći sustav elektroničkog novca u svijetu. Korištenje je izrazito jednostavno. Chipknip funkcionira kao digitalni novčanik. Puni se novcem na svakom bankomatu, a nakon toga se može trošiti za plaćanje u trgovinama, telefoniranje, cestarine, parkinge itd. Kupac pri naplati umetne karticu u maleni uređaj (terminal) na kojem se ispiše iznos koji treba platiti. Nakon toga samo pritisne tipku "da" i bez ukucavanja pina ili bilo kakve identifikacije novac se skida s kartice i pohranjuje u terminalu. Kako se radi o off-line elektroničkom novcu, trgovci ne moraju imati vezu s bankom, već jednom tjedno "prazne" svoje chipknip terminale i tako polažu prikupljeni novac na svoj račun. Uz chipknip kartice koje su dobili vlasnici računa u bankama, turisti, maloljetnici i druge osobe koje nemaju račun u banci mogu kupiti pre-pay chipknip karticu na kiosku, i koristiti je kao i svaku drugu. Zasad mogućnosti plaćanja chipknip karticom za online usluge nisu raširene, ali to je samo pitanje vremena. Postoji razlog zbog kojeg je upravo u Nizozemskoj ovaj koncept prvi proradio na masovnoj bazi, a to je činjenica da je postojala jedinstvena centralna institucija za kliring među bankama i procesiranje autorizacija kreditnih i debitnih kartica. Ova tvrtka se zove Interpay [34] i izdavalac je chipknip kartica. Na ovaj način banke ne moraju usvajati novu tehnologiju, pošto Interpay obavlja cjelokupno procesiranje, a prema bankama obavlja kliring na tradicionalan način. Ovime je postignuta bezbolna integracija u postojeći bankarski sustav. Chipknip sustav baziran je na tehnologiji tvrtke Bull S. A., vodeće svjetske tvrtke na području pametnih kartica i na karticama tipa CC60 i CC1000. [35]

8.6        Mondex

 

Mondex je sustav elektroničke gotovine koji se temelji na smartcard tehnologiji. Na kartici se nalazi procesor i memorija, koji implementiraju elektronički novčanik. Mondex novčanik ima pet pretinaca, u kojima se mogu držati različite valute. Računalo na kartici radi pod operacijskim sustavom MULTOS. To je višenamjenski operacijski sustav koji je bio zamišljen osim za obavljanje zadataka u vezi elektroničkog novca i za ostale potrebe, primjerice za osobnu identifikaciju, zdravstvenu knjižicu, telefonske impulse itd.

 

Sustav mondex razvila je jedna od vodećih bankarskih ustanova u Velikoj Britaniji, NatWest. Bio je to jedan od prvih eksperimentalnih sustava elektroničkog novca. U proizvodnju sustava bile su uključene razne tvrtke, među kojima Panasonic, OKI i Hitachi. Londonska banka National Westminster prva je pustila sustav u probni rad, podijelivši svojim zaposlenicima kartice kojima su mogli kupovati na ograničenom broju prodajnih mjesta.  Licence za Mondex tehnologiju prodane su prvo bankama u Hong Kongu i Šangaju, a uskoro i u SAD-u, Kanadi itd. British Telecom je 1995. godine postavio 200 telefonskih govornica koje su prihvaćale Mondex kartice, a pokrenut je i pilot-projekt u gradiću Swindon,  gdje je podijeljeno 6000 kartica, koje su prihvaćane na 700 prodajnih mjesta. Pilot-projekti pokrenuti su i u Americi, Kanadi, a kasnije i diljem svijeta. Mastercard je 1997. godine kupio većinski udio u Mondexu. Mondex je već dugo na tržištu i rasprostranjen je diljem svijeta. Iako ima iza sebe jednu od najjačih financijskih institucija na svijetu, ovaj sustav ostao je samo u ograničenoj uporabi. Kako je sustav off-line elektroničke gotovine jedan od glavnih konkurenata kreditnim karticama, možda u tome treba tražiti razlog za ograničen uspjeh sustava čiji je vlasnik upravo najveći kartičar na svijetu.

 

Mondex sustav funkcionira na sljedeći način: kartica se prvo puni novcem na bankomatu ili koristeći specijalni telefon sa čitačem pametnih kartica. Procesor na kartici tada uspostavlja sigurni komunikacijski kanal s uređajem koji se zove Mondex value box, koji je posrednik između kartice i bančinog informacijskog sustava. Na prodajnom mjestu koje je opremljeno uređajem nazvanim VTT (value transfer terminal) novac se iz kartice kupca prebacuje trgovcu. Trgovac se kasnije spaja s bankom i uplaćuje novac na svoj račun.

 

Postoji i mogućnost plaćanja preko Interneta, u kojem slučaju kupac mora imati čitač SmartCard kartica. Računalo na kartici uspostavlja siguran komunikacijski kanal s karticom trgovca (ili druge fizičke osobe), te se obavi prijenos novca. Primalac može istim novcem dalje plaćati, a da u međuvremenu ne položi novac u banku.

 

Mondex je off-line sustav s ograničenom anonimnošću. Svaka kartica "pamti" zadnjih 10 transakcija, a kartice trgovaca skladište podatke o zadnjih 300 transakcija te je time omogućeno ograničeno praćenje transakcija. Usto, Mondex sustav prikuplja i razne statističke podatke o tijeku novca, koji se koriste za sprječavanje zlouporaba [36].

 

 

 

 


9         Zaključak

 

U ovom radu dan je pregled elemenata sigurnosnih sustava, njihove primjene u sustavima elektroničkog plaćanja, te pregled nekih od komercijalnih implementacija.

 

Sigurnosni algoritmi, mehanizmi i protokoli (kriptiranje, digitalni potpis itd.) zreli su i dobro prihvaćeni od šireg broja stručnjaka i zadovoljavaju sve zahtjeve koje postavljaju modeli elektroničkog novca. Modeli za korištenje elektroničkog novca u svim oblicima fleksibilni su i dobro razrađeni iako ne postoji savršen model. Postoje razni modeli za on-line i off-line plaćanja, s identifikacijom i anonimni, za velika, mala i mikro plaćanja. S druge strane, zakonska regulativa koja bi pokrivala uporabu elektroničkog novca znatno zaostaje za tehničkim mogućnostima a slično je i s potrebnom infrastrukturom. Uporaba elektroničkog novca u praksi u usporedbi s klasičnim oblicima plaćanja na Internetu (kreditne kartice) je zanemariva. U praksi postoji svega nekoliko šire korištenih implementacija elektroničkog novca koje međutim koriste samo mali dio mogućnosti koje e-novac pruža i nisu globalno rašireni. Svaki od oblika elektroničkog novca ima svoje prednosti i mane, i vjerojatno će u budućnosti svi naći svoje mjesto. Prava renesansa e-novca tek predstoji; nazire se oblik digitalnog novčanika u kojem bi bili pohranjeni digitalni ekvivalenti današnjih sredstava plaćanja: digitalna gotovina, digitalne kreditne i debitne kartice te digitalni čekovi. U novčaniku će mjesta možda naći i do sada nepostojeći načini plaćanja, kao npr. mikroplaćanja. Međutim, klasične kreditne kartice još će dugo ostati znatno zastupljenije u on-line trgovinama.

 

 

 

 

 

 

 

 

 


 

10    Literatura

 

[1]  Finfacts, Online Credit Card Fraud, 2002, http://www.finfacts.com/intcard.htm

 

[2]  Meridien Research, Inc.,  Online Card Payments:Fraud Solutions Bid to Win,e-Payments, Volume 4, Report Number 3, January 18, 2001, http://www.merchantfraudsquad.com/Members/membpages/research-meridien.asp

 

[3] eMarketer, March 2002, http://www.finfacts.com/intpurchases.htm

 

[4]  Which? Online, July 2002, http://www.finfacts.com/intpurchases.htm

 

[5] The Nilson Report/Jefferies & Co, May 2002, http://www.finfacts.com/intpurchases.htm

 

[6]  Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone, Handbook of Applied Cryptography, CRC Press, Fifth printing, August 2001. http://www.cacr.math.uwaterloo.ca/hac/

 

[7] Bruce Schneier , Applied Cryptography, Second Edition: Protocols, Algorthms, and Source Code in C, (Publisher: John Wiley & Sons, Inc.) , http://math.bnu.edu.cn/Ebook/APPLIED_CRYPTOGRAPHY_SECOND_EDITION/ewtoc.html

 

[8]  Electronic Frontier Fundation, Cracking DES: Secrets of Encryption Research, Wiretap Politics & Chip Design, O'Reilly 1998, http://www.eff.org/descracker.html

 

[9]  http://rijndael.com/

 

[10]  Andreas Enge, Elliptic Curves and Their Applications to Cryptography: An Introduction, Kluwer Academic Publishers,  1999 http://www.lix.polytechnique.fr/Labo/Andreas.Enge/buch/buch/buch.html

 

[11] Jeff Hamblin, Elliptic Curve Cryptography, 1999, http://citeseer.nj.nec.com/hamblin99elliptic.html

 

[12] Julio López, Ricardo Dahab, An Overview of Elliptic Curve Cryptography, 2000, http://citeseer.nj.nec.com/333066.html

 

[13] Certicom corporation, The Elliptic Curve Cryptosystem, 2000, http://www.certicom.com/resources/download/EccWhite2.pdf

 

[14] RFC1319, http://www.faqs.org/rfcs/rfc1319.html

 

 

[15]  Stadler M., Piveteau J. Camenisch J, Fair Blind Signatures, Lecture Notes in Computer Science, volume 921, page 209, 1995, http://citeseer.nj.nec.com/stadler95fair.html

 

[16]  Alan O. Freier, Philip Karlton, Paul C. Kocher, The SSL Protocol,Version 3, Netscape Communications  http://wp.netscape.com/eng/ssl3/3-SPEC.HTM#2

 

[17] The TLS Protocol Version 1.0 (RFC 2246),  http://www.ietf.org/rfc/rfc2246.txt

 

[18]  Chaum. D., Fiat A. and Naor M. Untraceable Electronic Cash, Crypto '88 LNCS 403, Springer-Verlag pages 319-327, http://citeseer.nj.nec.com/chaum89untraceable.html

 

[19]  Brands S., Untraceable Off-line Cash in Wallets with Observers, Advances in Cryptology -- CRYPTO '93, http://citeseer.nj.nec.com/brands93untraceable.html

 

[20]  Niels Ferguson, Single Term Off-Line Coins, Advances in Cryptology - EUROCRYPT '93, Springer-Verlag, pp. 318-328.

 

[21]  Tatsuaki Okamoto and Kazuo Ohta, Universal Electronic Cash, Advances in Cryptology - CRYPTO '91, Springer-Verlag, pp. 324-337

 

[22] Patrick R. Morin, Secure Non-Interactive Electronic Cash, http://citeseer.nj.nec.com/197026.html

 

[23]  Arjen K. Lenstra and Eric R. Verheul, Selecting Cryptographic Key Sizes, 2001, Journal of Cryptology, volume 14, number 4, http://citeseer.nj.nec.com/lenstra01selecting.html

 

[24] S. Kiran, P. Lareau, S. Lloyd, PKI Basics - A Technical Perspective, PKI Forum 2002, http://www.pkiforum.org/pdfs/PKI_Basics-A_technical_perspective.pdf

 

[25] C. Adams, P. Cain, D. Pinkas, R. Zuccheratto, Ellison, RFC-3161 Time-Stamp Protocol,  Network Working Group, 2001, http://www.ietf.org/rfc/rfc3161.txt

 

[26] Network Working Group, RFC-2459 Internet X.509 Public Key Infrastructure Certificate and CRL Profile,1999,  http://www.ietf.org/rfc/rfc2459.txt

 

[27] C. Ellison, B. Frantz, B. Lampson, R. Rivest, B. Thomas, T. Ylonen, SPKI Certificate Theory, 1999, ftp://ftp.isi.edu/in-notes/rfc2693.txt

 

[28] C. Ellison, SPKI Requirements, Network Working Group, 1999, http://www.ietf.org/rfc/rfc2692.txt

 


[29]  Simon R Grant LLB LLM,Which Root Certification Authority can you trust? Australia can show you the way, World Information Technology Contacts Handbook 2002, Euromoney PLC. http://www.articsoft.com/whitepapers/AustPKI03SMr2.pdf

 

[30]  Declan McCullagh, Digging Those Digicash Blues,Wired News, June 14, 2001, http://www.wired.com/news/print/0,1294,44507,00.html

 

[31] Ian Grigg, How DigiCash Blew Everything , netTime 1999, http://www.nettime.org/nettime.w3archive/199902/msg00053.html

 

[32] http://www.billpoint.com/

 

[33] http://www.paypal.com/

 

[34] http://www.interpay.nl/

 

[35] http://www.bull.co.kr/cp8/news/1027981a.htm

 

[36] http://www.mondex.com/