Elektroninen raha

1.11.1999

Ilari Salmia, Tuomas Kaipainen
Tietotekniikan osasto
Teknillinen Korkeakoulu

 

Tiivistelmä

Elektroniselle rahalle on kysyntää anonyymiteetin säilyttämiseksi verkkomaksuissa. Implementaatioita on jo tänä päivänä monenlaisia ympäri maailmaa. Hyvä protokolla ottaa huomioon erilaiset huijausmahdollisuudet eikä anna sijaa epärehellisyydelle säilyttäen kuitenkin samalla maksajan anonymiteetin normaaleissa tapauksissa. Elektroninen raha säästää kuluja ja vie modernia verkkokaupankäyntiä eteenpäin helppoudellaan ja vaivattomuudellaan.

 

1 Johdanto

Tänä päivänä yleisin tapa maksaa verkossa tehdyt ostokset on luottokortti. Toinen vaihtoehto on suorittaa maksu suoraan tililtä verkkopankin kautta. Verkkokaupan yleistyessä vanhat maksutavat eivät enää riitä. Molemmille edellämainituille tavoille on yhteistä se, että niissä maksajan henkilöllisyys tunnetaan. Ennen pitkää esimerkiksi viranomaiset voivat valvoa ihmisten rahaliikennettä ja saada selville mihin he rahansa kuluttavat. Fyysisen maailman puolella pidetään aivan itsestään selvänä, että kaupassa voi maksaa myös rahalla, täysin anonyymisti. Verkkomaailmassa asiat eivät välttämättä ole näin yksinkertaisia. Monesti halutaan jättää mahdollisuus vahtia ihmisiä ja heidän tekemisiään. Jos yksityisyydelle ei aleta asettaa arvoa elämme pian huomaamattamme vuotta 1984. Tarve anonyymille verkkomaksutavalle on siis ilmeinen, ja juuri tähän tarkoitukseen on kehitetty elektroninen raha. Tärkeää kuitenkin on, että tämänkaltainen tunnistamattomuuteenkin perustuva maksutapa on turvallinen, ja etteivät rikolliset pääse sitä hyödyntämään. Tähän tarkoitukseen vaaditaan selkeät ja tarkasti määritellyt sopivat protokollat ja näitä noudattavat implementaatiot. Potentiaali maksuliikenteelle Internetissä on huima.

Ehkä suurin saavutettavissa oleva hyöty elektronisesta rahasta on kulujen pieneneminen. Fyysisen rahan käsittely on kallista sekä pankeille että maksajille. Elektroniset maksut ovat nopeita ja helppoja ja ne vähentävät monen henkilön työpanosta. Elektronisen rahan kokeiluprojekteja on ollut laajasti käynnissä: noin 50 elektronista rahaa tarjoavaa instituutiota on jo toiminnassa ympäri maailmaa. Suomessakin on toiminut kokeiluluontoinen projekti [3,4]

 

2 Digitaalinen raha tällä hetkellä

Tämän hetken digitaalisen rahan implemontinnit ovat jaettavissa karkeasti kahteen osaan: laitteisiin perustuvat ja pelkästään softaan perustuviin ratkaisuihin. Elektroninen raha on aina ennaltaan maksettua, jolloin esimerkiksi pankin tulee vaihtaa tilillä oleva raha digitaaliseen muotoon joka tallennetaan esimerkiksi luottokortille tai henkilökohtaiselle tietokoneelle. Yhteistä molemmille ratkaisuille on myös se, että niiden kunnolliseen toteuttamiseen tarvitaan kryptografiaa - luottokorteissa tunnusluku on kryptattuna kortilla kun taas softaan perustuvissa ratkaisuissa tarvitaan huomattavasti edistyneempiä ratkaisuja kuten sokeaa allekirjoitusta säilyttämään käyttäjän anonyymius. [1,3]

2.1 Laitteisiin perustuvat ratkaisut

Laitteisiin perustuva elektrooninen raha on usein luottokortin tapainen, jota voidaan käyttää myös off-line tilassa. Ongelmana luottokorteissa on se, että käyttäjä ei pysy anonyyminä suorittaessaan maksun. Mahdollisena käyttötarkoituksena on esimerkiksi maksaminen bussissa tarkoitukseen suunnitellulla älykortilla. [1]

2.2 Pelkästään softaan perustuvat ratkaisut

Pelkästään softaan perustuvat ratkaisut ovat nykyään käytössä kun käyttäjä haluaa säilyä anonyymina sekä esimerkiksi Internetissä maksumenetelmänä kun käyttäjä ei halua antaa luottokortin numeroa turvattoman verkon yli. Tämän hetken pelkästään softaan perustuvat vain on-line tilassa. [1]

Softaan perustuviin ratkaisuihin liittyy kuitenkin oleellinen ongelma verrattuna esim. luottokortti ratkaisuihin. On-line systeemissä raha on vain joukko bittejä, jonka voi helposti jokainen käyttäjä kopioida. Yksi suurempia haasteita onkin estää jo käytetyn rahan uudelleenkäyttö.

 

3 eCash

eCash Technologies,Inc. on Yhdysvaltalainen elektronista rahaa tarjoava yritys, eräänlainen Internetpankki. Seuraavassa käymme läpi heidän tarjoamiaan palveluja käyttäjän näkökulmasta.

3.1 Verkkorahan nosto

Asiakas Alice haluaa tehdä noston tililtään. Hän ottaa yhteyden pankkiin ja pyytää sitä lähettämään hänelle rahaa. Hän imuroi pankista kolikoita omalle kotikoneelleen, jossa ne tallettuvat entisten jatkoksi hänen digitaaliseen "lompakkoonsa". Kolikot koostuvat bitti-informaatiosta, jokaisella on joku tietty arvo. eCash-softa pitää automaattisesti huolen kolikkojen arvoista, yleensä käytetään paljon pieniä kolikkoja, jotta tarve pyytää pankista "vaihtorahaa" on mahdollisimman pieni. [2]

 

3.2 Asiointi verkkokaupassa

Nyt Alicella on rahaa kiintolevyllään ja hän haluaa suorittaa hankintoja Bobin kaupasta. Hän valitsee tuotteet ja saa Bobilta maksupyynnön. Hän hyväksyy sen, ja eCash-ohjelmisto valitsee sopivan kokoisia kolikoita ja lähettää ne Bobin koneelle. Bob lähettää ne samantien edelleen pankkiin, ja odottaa pankin hyväksyntää ennenkuin toimittaa tavarat kuitin kera Alicelle. [2]

 

3.3 Yksityishenkilöiden väliset maksut

Jos Alice haluaa maksaa velkansa ystävälleen Cindylle on toimintaperiaate hyvin samankaltainen äskeiseen verrattuna. Erona on se, että Cindy haluaa saada rahat samantien omaan käyttöönsä. Näin ollen hän konfiguroi ohjelmistonsa pyytämään kolikoita pankiltaan takaisin omaan käyttöönsä. Cindyn pankki ottaa kyllä yhteyttä Alicen pankkiin varmistuakseen kolikoiden oikeellisuudesta. [2]

3.4 Turvallisuus maksuissa

Turvallisuus ja anonymiteetti maksuissa turvataan käyttämällä sokeaa allekirjoitusta. Yllä kuvatussa nostotapahtumassa pankki loi uusia kolikkoja ja lähetti ne Alicelle. Tämä ainakin teoriassa antaisi pankille myöhemmin mahdollisuuden tunnistaa kenellä kolikot ovat alunperin olleet. Sokeassa allekirjoituksessa Alicen oma kone luo kolikon ja lähettää sen "kirjekuoressa" pankille leimattavaksi. Pankki veloittaa Alicen tiliä ja leimaa kuoren, mutta koska itse kolikko on piilossa ei pankki koskaan voi yhdistää tiettyä kolikkoa mihinkään omistajaan. Seuraavan luvun esimerkkiprotokolla käsittelee tarkemmin erilaisten huijausmahdollisuuksien poiskitkemistä. [2]

 

4 Esimerkkiprotokolla

Toimivan digitaalisen rahan implementointi on kaikkea muuta kuin helppoa. Protokollassa täytyy ottaa huomioon monta tärkeää asiaa. Ensinnäkin sen tulisi turvata käyttäjiensä anonymiteetti. Toiseksi sitä pitää pystyä käyttämään kuten tavallista rahaakin eli myös off-line tilassa. Kolmanneksi miltään osapuolelta huijaaminen ei luonnollisestikaan saa onnistua - ei edes niin, että jos kaksi tai useampaa osapuolta toimii yhdessä niin he eivät voi huijata jäljelle jääviä osapuolia.

Osoittaaksemme kuinka monimutkainen digitaalisen rahan protokolla voisi olla käymme läpi esimerkin, jossa rahan käyttäjän anonymiteetti säilyy, kukaan osapuolista ei voi huijata paljastumatta sekä protokolla toimii myös off-line tilassa.

1. Alice valmistaa n kappaletta rahatilauksia pankille haluammalleen summalle. Kaikki rahatilaukset sisältävät satunnaisen sarjanumeron X, joka on riittävän pitkä, että päällekkäisien sarjanumerojen toistuminen on käytännössä mahdotonta. Jokaisessa rahassa on myös n kappaletta identiteetti bittimerkkijonoja: I1, I2, ..., In, jotka generoidaan seuraavasti: Alice luo merkkijonon, joka sisältää Alicen nimen, osoitteen yms. muuta pankin haluamaa tietoa. Merkkijono jaetaan kahteen osaan käyttäen salaisuuden jakamisprotokollaa, jonka jälkeen Alice sitoutuu kumpaankin osaan käyttäen bittisitoutumisprotokollaa. Esimerkiksi I37 koostuu kahdesta osasta I37L:stä sekä I37R:stä. Jokainen identiteetti bittimerkkijono pari (esim. I37L ja I37R) paljastavat Alicen identiteetin. Jokainen rahatilaus sisältää siis seuraavat osat: Amount Sarjanumero: X Identiteetti bittimerkkijonot: I1 = (I1L,I1R) I2 = (I2L,I2R) ... In = (InL,InR)

2. Alice peittää kaikki n rahatilausta käytteän sokeaa allekirjoitusta ja luovuttaa ne pankille.

3. Pankki pyytää Alicea poistamaan sokean allekirjoituksen satunnaisesti valituista n-1:stä rahatilauksesta ja varmistaa niiden käypyyden. Pankki tarkistaa, että jokaisen rahatilauksen summa, sarjanumero sekä identiteetti merkkijono ovat oikeat.

4. Jos Alice ei jää kiinni huijauksesta niin pankki allekirjoittaa jäljellä (tarkastamattoman) olevan rahatilauksen. Pankki luovuttaa allekirjoittamansa rahatilauksen Alicelle ja vähentää summan Alicen tililtä.

5. Alice poistaa saamastaan rahasta sokean allekirjoituksen ja käyttää rahan.

6. Kauppias, jolle Alice rahan maksaa, verifioi pankin allekirjoituksen varmistaakseen rahan käypyyden.

7. Kauppias pyytää Alicea sattumanvaraisesti paljastamaan joko vasemman tai oikean puolen rahan identiteetti merkkijonosta. Käytännössä kauppias antaa Alicelle satunnaisen n-bittisen valitsin merkkijonon, b1,b2,...,bn. Alice paljastaa joko vasemman tai oikean puolen Ii:stä riippuen onko bi 1 vai 0.

8. Alice noudattaa pyyntöä.

9. Kauppias toimittaa rahan pankille.

10. Pankki varmistaa allekirjoituksensa sekä sen ettei tämän sarjanumeron omaavaa rahaa ole jo käytetty. Jos rahaa ei vielä ole käytetty niin pankki maksaa summan kauppiaan tilille. Pankki tallettaa myös sarjanumeron ja kaiken identiteetti informaation tietokantaan.

11. Jos sarjanumero on jo kohdassa 10 jo tietokannassa pankki ei hyväksy rahaa. Tällöin pankki vertaa identiteetti merkkijonoa tietokannassa olevaan merkintään identiteetti merkkijonosta. Jos ne täsmäävät pankki tietää, että kauppias yrittää huijata tallettamalla kahdesti samaa rahaa. Jos identiteetti merkkijonot eivät täsmää pankki tietää, että Alice on monistanut rahan ja yrittää ostaa sillä toista kertaa. Koska toinen kauppias, jolle Alice yrittää maksaa jo käytetyllä rahalla, antaa Alicelle eri satunnaisen valitsin merkkijonon niin pankki saa jostain identiteetti merkkijonosta selville molemmat puolet. Tällöin pankki voi XOR:ta puoliskot saadakseen selville Alicen identiteetin.[5]

4.1 Esimerkkiprotokollan käyttämät kryptograafiset protokollat

Protokolla käyttää monia kryptograafisia menetelmiä kuten sokeaa allekirjoitusta ja bittisitoutumisprotokollaa. Sokea allekirjoitus on helpointa selittää esimerkin avulla; sokea allekirjoitus vastaa tilannetta, jossa Alice antaa pankille suljetun kirjekuoren jonka sisältöä pankki ei tiedä. Pankki allekirjoittaa kuoren läpi sisällä olevan rahatilauksen (reaalimaailman esimerkissä shekin). Pankki ei saa avata kirjettä koska muuten Alicen identiteetti paljastuisi eikä raha enää olisi anonyymiä. Bittisitoutumisessa on kyse siitä, että Alice sitoutuu jokaiseen identiteetti merkkijonon puoliskoon siten, että tällöin määräytyvät yksikäsitteisesti Alicen identiteetti merkkijonojen puoliskot. Alice ei siis jälkikäteen pysty vaikuttamaan puoliskojen sisältöihin.

4.2 Esimerkkiprotokollan arvionti

Esimerkkiprotokollassa mikään ei estä Alicea huijaamasta, mutta Alice paljastuu kohdassa 11, jos hän on yrittänyt kopioda rahan. Mutta jos Alice noudattaa protokollaa ja toimii kaikkien sääntöjen mukaan yrittämättä huijata hänen identitettinsä ei paljastu missään vaiheessa. Kauppias ei pysty huijaamaan, sillä jos hän yrittää tallettaa samaa rahaa kahdesti, niin pankilla on toisella kerralla jo valitsin merkkijono. Kauppias ei myöskään voi syyttää tästä Alicea, sillä vain Alice pystyy avaamaan identiteetti merkkijonoja. Myöskään pankki ei voi huijata, sillä Alicen rahatilaukset on suojattu sokealla allekirjoituksen avulla. Kyseinen protokolla toimii myös off-line tilassa - tosin käyttö on mukavempaa sujuvampaa jos ei tarvitse fyysisesti mennä pankkiin hoitamaan asioita.

Onko esimerkkiprotokollamme siis aukoton? - Ei aivan.

Alicelle jää nimittäin kaksi hyvin teoreettista mahdollisuutta onnistua huijaamaan pankkia. Pankkihan avaa vain n-1 kappaletta rahatilauksista ja yksi jää avaamatta. Kuitenkin pankki vähentää n-1:ssä rahatilauksessa olevan rahamäärän Alicen tililtä. Mitä jos Alice onkin laittanut huomattavasti isomman summan avaamattomaan kuoreen? Alicen mahdollisuus saada "väärennetty" rahatilaus läpi on (1/n). Toinen mahdollisuus Alicen selvitä huijauksesta on jos kaksi kauppiasta sattuvat valitsemaan täsmälleen samat valitsin merkkijonot, jolloin syy lankeaisi kauppiaan niskoille. Tämän mahdollisuus on hyvin pieni (1/n^2). Ratkaisu näihin ongelmiin voi olla yksinkertaisesti se, että rangaistukset huijaamisesta ovat tarpeeksi kovat. [5]

Esimerkkiprotokollaamme liittyy myös kaksi muuta epäkohtaa. Alice ei voi siirtää rahaa Bobille niin että Bob voi käyttää sen kaupassa, koska rahatilauksissa on Alicen tiedot. Jos Alice siis antaa Bobille rahatilauksen niin rahan täytyy kulkea pankin kautta, että Bob voi ostaa sillä. Toinen ongelma on, että rahatilaus on aina tietty summa - sitä ei voida jakaa ilman pankin välitystä, joten vaihtorahan antaminen on ongelma.

Monimutkaisesta ja huolellisesti mietitystä protokollasta huolimatta ongelmia löytyy. Toimivan digitaalisen protokollan tekeminen on siis todella vaativaa eikä digitaalinen raha tule vielä pitkään aikaan ainakaan täysin korvaamaan tavanomaista rahaa. Oleellinen asia digitaalisessa rahassa on myös se, että protokolla on julkinen. Miten muuten voi luottaa ettei protokollaan ole jätetty porsaanreikiä?

 

Lähdeluettelo

[1] Debeaupuis Tristan, Digicash and ecash, 27.10.1995,
http://www.hsc.fr/ressources/veille/rapports/271095.html

[2] eCash: Home, 31.8.1999,
http://www.ecashtechnologies.com/

[3] Flohr Udo & Rupnik Jelena, When Will E-Cash Jingle in Your E-Pocket?, BYTE, 1998, Nro. 1,
http://www.byte.com/art/9801/sec5/art23.htm

[4] Koikkalainen Lassi, Ecash - anonyymi bittiraha, 28.2.1997, Verkkouutiset, 1997, Nro. 8,
http://www.verkkouutiset.fi/arkisto/1997.02.28/ECASH.HTM

[5] Schneier Bruce, Applied Cryptography, Second Edition, Wiley, Oak Park, 1996, 758 s.


Lisätietoja

http://www.sims.berkeley.edu:80/courses/is204/f97/GroupE/
Berkeleyn yliopistossa joulukuussa 1997 valmistunut laaja tutkielma digitaalisesta rahasta.

http://www.wnet.org/archive/fom/menu.html
Kattava www-sivusto, joka sisältää esittelyt kolmesta elektronista rahaa tarjoavista yrityksistä.

http://www.enter.net/~dravuschak/ecash/cashless.html
Laaja katsaus liittyen rahan tulevaisuuteen modernissa yhteiskunnassa.

http://www.ebanx.com/
Elektronista rahaa vaihtava pankki eBanx.

http://www.npsnet.com/danf/emoney-anon.html
Elektronisten maksumuotojen yksityisyyttä vertaileva dokumentti.

http://cryptome.org/g10emoney.htm
Kansainvälisen työryhmän laatima raportti elektroniseen rahaan liittyvistä kysymyksistä.

http://roscoe.law.harvard.edu/courses/techseminar96/konvispaper/7369294.html
Essee, jossa käsitellään kaikenlaisia digitaalisia maksumenetelmiä, myös varsinaista elektronista rahaa.