a performance comparison of java cards for

1 downloads 0 Views 146KB Size Report
Smart cards are essential to implement micropayments on the buyer's side. This paper ... mercial Java Cards for micropayment implementation. Keywords: Smart ...
A PERFORMANCE COMPARISON OF JAVA CARDS FOR MICROPAYMENT IMPLEMENTATION Jordi Castellà-Roca, Josep Domingo-Ferrer, Jordi Herrera-Joancomartí and Jordi Planes Universitat Rovira i Virgili Dept. of Computer Engineering and Mathematics Autovia de Salou s/n E-43006 Tarragona, Catalonia, Spain



jcaste,jdomingo,jherrera,jplanes @etse.urv.es

  

 "!$#%&'()!* +-,.!/ ,. 01 2%*#43$  #56 7  2# %89  , - :*$ ; ' 2%po_W\`5jgi*W ix–[]g[&dX5hCi*Wcjgdd&i*klkm[hCd&[/ ¨["¯\_klpc]g[b_pcpc]tjgd-_X5jgi*W\`m_hC[qpcZ\i*W\[bd-_]t]4po_&sEkm[W¢X-e _*d&d&[&`C`7XCilW\i*W>Ž xhC[&[œw¡[r^po_u…[&`e\po_&sPŽpI[hŽ—Pjg[w°£L±ŒeS_W¢sbƒPjtW\a„ixJkc]tX5jtkm[&a>j._ `5X5hC[-_kljtWcu\e\[XCd/{J£LZ\[FhC[-_*`Ci*Wbx i*hac[&`5jtu/WcjtWcum`5pI[&dj=¦odFkljgdhCi*po_&sEkm[W¢X9`dCZ\[km[&` jg`JX5Zo_X-e…wZ\[W¨`CX_W\a\_hCam["Žpo_&sEkm[W¢XL`5s>`5XC[km`7©ª]tjtƒ…[9²¡sErS[h2²L_*`5Z„‡ ³*Š e¢["Ž d-_*`5Z^‡ ´$Š 19

20

IFIP CARDIS 2000

ejtWcu^pchCi*u/h_km`-ewZcjgdCZ_]t]giw d&i*klpc]g["¯1kljgdhCi*po_&sEkm[W¢XŒpo_X5XC[h5W\` ©`C[—…[h_]?—/_]t\[&`–_W\a¤dch5hC[W\djg[&`F_W\ab—/_h5j._rc]g[}`C[ P\[W\djtWcuP«"{ 1.1.

OBJECTIVE AND PLAN OF THIS PAPER £ Zcjg`}po_pI[hpchC[&`C[WPXC`~_¤d&i*klpo_h_X5jt—…[b_Wo_]ts>`5jg`œix4x i*chœd&i*klkm[hCdj._]¢_-—*_ L ²L_hCac`jtW—Pjg[w‚ix'\`5jtWculX5Z\[k XCi~jtklpc]g[km[WPX–X5Z\[Ž `5jgac[hC[&a¥5i*jtW¢X5]ts}jtWl‘E[&dX5jgi*Wœ³F_W\a}X5Z\[DpchCi*u/h_klkljtWcuF[WP—PjthCi*Wckm[WPXC`'Zo_&—…[¡rS[&[W d&i*klpo_hC[&a„jtW®‘E[&dX5jgi*W®‰>{f‘E[&dX5jgi*Wmd&i*WPX_jtW\`j=¯ ’v`5ch5—…[s>`BZo_*`5Z>Žro_*`C[&a~kljgdhCi*po_&sEkm[W¢XC`L_W\al_9u…[W\[h_]tjt›_X5jgi*W‹ixoX5Z\[k­d-_]t]g[&a `5pS[W\a>jtWcupchCi*u/h_km`{l’–pcpI[W\a>j=¯ ac[&`Cdh5jtrI[&`}_bd-_hCay¦\]g[m`5s>`5XC[k wZcjgdCZŸ_]=Ž ]gi-w7`f["šI[&dX5jt—…[jtklpc]g[km[W¢X_X5jgi*W1ix;`5pS[W\a>jtWcu‹pchCi*u/h_km`f_W\a^Zo_*`5Z„dZo_jtW\`9i*W _W¢sixBX5Z\[jg`d\`C`5jgi*WjtWœ’–pcpI[W\a>j=¯}’œe-`Ck¨_h5X d-_hCac` \`C[&aŽro_*`C[&akljgdhCi*po_-sPkm[WPXq`CdZ\[km[&`„©ªjtW\d]t\a>jtWcu`5pS[W\a>jtWcu pchCi*u/h_km`2«jtu/jtX_]¡`Cjtu/Wo_X5chC[‹_]tu…i*h5jtX5Zck _W\a _lZo_*`5Z„_]tu…i*h5jtX5Zck¤{¢_&—/_q²L_hCac`f`C[&[k _~rS[X5XC[hFdCZ\i*jgd&[œX5Zo_W„d]._*``5jgd-_] `5k¨_h5X d-_hCac`¡_W\alX5Zcjg`'x i*h;XRw¡i}k¨_jtW¨hC[-_*`Ci*W\`- B[-_*`5s~pchCi*u/h_klkljtWcuq©ªwZcjgdCZ‹hC[&`5c]tXC`;jtW `5Z\i*h5XC[h¡ac[—…[]gi*pckm[WPX4X5jtkm[&`"«D_W\a‹`5kmiPi*X5Z\[h4d&i*klpo_X5jtrcjt]tjtX s‹wjtX5Z®[r>Žro_*`C[&a ["Ž d&i*klkm[hCd&[/{ ’¢_&—/_}²L_hCa~jg`'X5Z\[4jtklpc]g[km[W¢X_X5jgi*WqixI_WljtW¢XC[h5pchC[XC[h;xi*h;_f`5cr\`C[XJixKX5Z\[ ¢_&—/_qpchCi*u/h_klkljtWcu^]._Wcu/o_u…[mi*W€_q`5X_W\a\_hCa€`5k¨_h5X}d-_hCa1d&i*W¢X5hCi*]t]g[h-{l£LZcjg` [Wo_rc]g[&`d-_hCab_pcpc]tjgd-_X5jgi*W\`7XCirI[–wh5jtX5XC[WjtW_œkmiPac[h5WbZcjtu/Z>Ž]g[—…[])]._Wcu/o_u…[/{

21

A Performance Comparison of Java Cards for Micropayment Implementation

£LZ\[h5cW¢X5jtkm[f[W¢—EjthCi*Wckm[W¢X4pchCi-—Ejgac[&a¨rPs ¢_&—/_œ²L_hCac`Djg`;i*pcX5jtkljt›-[&amx i*hD`5k¨_h5X d-_hCac`-e'wjtX5ZŸX5Z\[‹u…i…_]ix7rch5jtWcu/jtWcunk¨_W¢sŸix7X5Z\[qrI[W\["¦\XC`~ix¢_&—/_y`CixªXRw4_hC[ pchCi*u/h_klkljtWcuvXCiX5Z\[nhC[&`Ci*chCd&["Ž d&i*W\`5X5h_jtW\[&aˆw¡i*h5]ga‚ixl`5k¨_h5X¤d-_hCac`-{ £LZ\[ xi*]t]giwjtWcu‹x [-_X5chC[&`jtkm[W\`5jgi*Wo_]B_h5h_-sE`-{

9Wcjgd&iPac[}dZo_h_*dXC[hC`-{



£ ZchC[-_*ac`®©ªrI[&d-_\`C[^X5Z\[nd-_hCaYaciE[&`‹W\i*Xb`5cpcpIi*h5X‹kœc]tX5jtX_*`5ƒEjtWcuP«"{ 9i L X5ZchC[-_*ac`Lkm[-_W\`LX5Zo_X7`5sEW\dCZchCi*WPsP›-[&ai*hL—…i*]._X5jt]g[Fkm[X5Z\iEac`L\`C[&a¨XCi~d&i*W>Ž X5hCi*] _*d&d&[&`C`7XCim`5Zo_hC[&ab—/_h5j._rc]g[&`9_hC[pSi*jtWPX- 

A Performance Comparison of Java Cards for Micropayment Implementation

23

Jh5jgd&[{ •>” >{ ³/³ E{ ‰ ¤© « >”/{ 

d-_hCa>]g[X9`5jt›-[ ³¢‰/´ ³/³/³¢‰ >” $³ ³ /•/•

N 5" ~OI  ‹ "##  6 )!$  < %*‹ (  0)  F( 5 3 @

4&8



Table ,.32%$ $3 7 2 

P²Y’f;V >{  >{t” >{t” >{ 

' 2*46L$f! 6 f(= f

’ `5sEW¢X5Z\[X5jgdrS[W\dZck¨_h5ƒ¤`5Z\i*c]ga¤d&i*W\`5jgac[h9X5Z\[Fx i*ch7ƒPjtW\ac`9ix;’–pcpc]tjgd-_X5jgi*W JhCi*u/h_k { 



cX5u…i*jtWcu‹a\_X_>e\rccX7W\i~jtW\d&i*kljtWcu‹a\_X_>{

†VRW\d&i*kljtWcu¨a\_X_>ecrccX7W\imi*cX5u…i*jtWcu‹a\_X_>{ ³vVRW\d&i*kljtWcu‹_W\a¤i*cX5u…i*jtWcu‹a\_X_>{



24



IFIP CARDIS 2000

V Wnpch_*dX5jgd&[/eBi*ch]g[X}jtW\`5X_]=Ž ]._X5jgi*WbpchCiPd&[&``L_W\aqX5Z\[f`5jt›-[fixX5Z\[Fd&i*h5hC[&`5pSi*W\a>jtWcu~rPsPXC[&d&iEac[Fa>j=šI[h¡xi*h [-_*dCZyd-_hCa)eo_*`hC[ [&dXC[&ajtW„£ _rc]g[ >{



9i/`5X–_pcpc]tjgd-_X5jgi*W°£LZcjg`Ljg`7_Œd]tjg[W¢X–_pcpc]tjgd-_X5jgi*W¤wh5jtX5XC[WjtW^²vwZcjgdCZ¤h5cW\`i*W _ )jtW¢>¯yZ\i/`5X]g[XjtWcubhC[&`5pIi*W\`C[}X5jtkm[/{fV W i*hCac[h~XCi^km[-_*`CchC[¨hC[&`5pIi*W\`C[‹X5jtkm[&`ŒjtWŸX5Z\[q`_km[qd&i*W\a>jtX5jgi*W\`Œxi*h~[-_*dCZ d&i*W\`5jgac[hC[&aœd-_hCa)eX5Z\[JZ\i/`CX _pcpc]tjgd-_X5jgi*Wjg`X5Z\[;`_km['x i*h_]t]¢d-_hCac`-e$wZcjgdCZ jg`ŒpSi/``5jtrc]g[¨X5Zo_Wcƒ>`ŒXCi^X5Z\[q¡² /‘c² `5X_W\a\_hCajtWPXC[hx _*d&[n‡t”$ŠLrS[XRw¡[&[W Z\i/`5X9_W\ad-_hCac`{



4.1.

RESET £ Z\[`C`C[s^jg` X5Z\[Fx _*`CXC[&`5Xd-_hCa)e>xi*]t]giw¡[&a„r¢s¤|F[ k fpchC[&`C`CiceK‘Pk¨_h5X2²L_$x _W\a„²¡sErS[h ["¯){ £LZ\[hC[jg`¨_W ["¯>pc]._Wo_X5jgi*W x i*h‹‘Pk¨_h5X2²L_$x ^_W\a ²¡sPrI[h ["¯rI[jtWcu€`5]giw¡[h-  `5jtW\d&[~`C[—…[h_];d-_hCa>]g[XC`}d-_W1rI[Œi*W€_qd-_hCa)e)X5Z\[~Z\i/`CXŽX5jtkm[b[W¢—EjthCi*Wckm[W¢X„© E²4¡«XCiy`C[]g[&dX~_ po_h5X5jgdc]._hFd-_hCa>]g[XSjtW1‘Pk¨_h5X2²L_$x ~_W\an²¡sErI[h ["¯¤X5Z\[ P²4  x i*h5w4_hCac`fX5Zcjg` `C[]g[&dX5jgi*Wv’f; XCinX5Z\[`C[]g[&dXC[&avd-_hCa>]g[X-e¡wZcjgdZvd-_\`C[&`¨_*aca>jtX5jgi*Wo_]fi-—…[hŽ Z\[-_*a){°²¡sErS[h ["¯ `‹i—…[h5Z\[-_*a jg`¨Zcjtu/Z\[&`5X-e–`5jtW\d&[¤jtXb`5cpcpIi*h5XC`¨XRw¡iŸX sEpS[&`qix ’9; f`¨©`5X_W\a\_hCa®d]._*``  _W\a1]g[u¢_*ds1d]._*`C`  …«"{b‘E[W\a>jtWcu¤X5Z\[m`C[]g[&dX5jgi*W ’9; YXCiœX5Z\[9d-_hCa>]g[XLjg`L_jtX5jgi*Wo_]?x [-_X5chC[}ix'X5Z\[}d-_hCac`-{













4.2.









PUT £ Zcjg`9d&i*klk¨_W\a„jg`7\`C[&a^r¢sX5Z\[Z\i/`5Xf_pcpc]tjgd-_X5jgi*WnXCi¨aciwWc]gi…_*an`5pS[W\a>jtWcu L pchCi*u/h_km`7i*W¢XCilX5Z\[jtWcu¨_ŒrPsPXC[ `5X5h5jtWcu®XCi1X5Z\[„d-_hCa){™£LZP\`-e4pccX‹d-_\`C[&`¨X5Z\[Z\i/`5X‹_pcpc]tjgd-_X5jgi*W XCi®`C[W\av_W ’9; d&i*W¢—…[sEjtWcuy_ W ^Žr¢sEXC[m`5X5h5jtWcu¤XCibX5Z\[ P_&—/_^²L_hCa)ewZcjgdZ€d&i*pcjg[&`}X5Z\[



A Performance Comparison of Java Cards for Micropayment Implementation

*

Figure 2%* R@ 1

25

P 282¡  !/2% 4 #DC %87 3$%B( 2 J 2 œ 5 C œ %*< 2##7 2%* t' #      ,

hC[&d&[jt—…[&a^`5X5h5jtWcu‹XCi‹_W¤jtWPXC[h5Wo_]Brc>š)[h-{LV W jtu/chC[‹”jtk¨_]'—*_]t\[l_]t]gi-w4[&ayxi*h  ac[pI[W\ac`jtWcufpchCi*u/h_km` hC[ ¢cjthC[&`JX5Z\[–`5k¨_h5X;d-_hCalXCiX5h5jtpc]g[F ¡‘Secf‘E’ˆ_W\a _]g`Ci9‘ f’7Ž”/{ V X?jg`?W\i*X `5ch5pch5jg`5jtWcu–X5Z\[hC["xi*hC[DX5Zo_XX5Z\[JWo_X5jt—…[L‘ 9’–Ž”JjtWŒ‘Pk¨_h5XŽ ²L_$x F_W\ab²¡sErI[h ["¯mjg`Dkœ\dCZbx_*`5XC[hDX5Zo_WqX5Z\[ P_&—/_Œ‘ f’7Ž”9jtklpc]g[km[W¢XC[&ai*W X5Z\[qi*X5Z\[hlXRw¡i®d-_hCac`¤©`[&[ Bjtu/chC[1”«"{Ÿ’–kmi*Wcu1Wo_X5jt—…[^‘ f’7Ž”/e4‘Pk¨_h5X2²L_$x  h5cW\`4x _*`5XC[hLX5Zo_W^²¡sErS[h ["¯){J’–kmi*Wcu P_&—/_m‘ 9’–Ž”/e a>sE`C`[smjg`Lk\dZbx _*`5XC[h X5Zo_Wy|F[ k fpchC[&`C`Cic{













4.4.

GETINPUT V W„W\i*h5k¨_] Zo_*`5ZndCZo_jtW1i*hF`5pI[W\a>jtWcu‹pchCi*u/h_kzi*pI[h_X5jgi*W?eKZo_*`CZ„dCZo_jtW\`jtWcupchCi*u/h_km`Dk¨_-sŒrI[7d&iEac[&alr¢s~X5Z\[7d-_hCa¨i*h;rS[–aci-wWc]gi…_*ac[&aqi*W¢XCi}X5Z\[ ]._X5XC[hlr¢s€X5Z\[qZ\i/`5Xm_pcpc]tjgd-_X5jgi*W?e¡rccX~jtW†_WPsŸd-_*`C[qX5Z\[s_hC[q`CXCi*hC[&ar¢s€X5Z\[ d-_hCa)ecwZ\ilhC[]g[-_*`C[&`–Zo_*`5Z—*_]t\[&`–i*h7X5h_*d&[&`7cpIi*WhC[ ¢\[&`CX7r¢sbX5Z\[Z\i*]gac[h wjt]t]tjtWcuXCiŸk¨_ƒ…[1_®kljgdhCi*po_-sPkm[WPX-{­£LZ\[„u…[X5jtWcpccXbd&i*klk¨_W\a§d-_\`[&`‹X5Z\[ ¢_&—/_q²L_hCa„XCi‹hC[X5ch5W1_¨`5XCi*hC[&a„Zo_*`5Z„—/_]t\[/eKwZcjgdCZ®_kmi*cW¢XC`fXCi‹hC[X5ch5WcjtWcu_ r¢sEXC[l`5X5h5jtWcu\{lV W Bjtu/chC[”/e)jtX}d-_W€rS[~`C[&[W1X5Zo_X a>s>`C`C[syišI[hC`FX5Z\[lx _*`5XC[&`CX u…[X5jtWcpccX-ecx i*]t]gi-w¡[&a^r¢s¤‘Pk¨_h5X2²L_$x /eI²¡sPrI[h ["¯¤_W\a„|F[ k fpchC[&`C`Cic{



5.



PROGRAMMING ENVIRONMENT V W X5Zcjg`b`5cr\`C[&dX5jgi*W?e7X5Z\[ypchCi*u/h_klkljtWcu [WP—PjthCi*Wckm[WPXC`^ix~|F[kfpchC[&`C`Cice a>sE`C`[s…e)²¡sErI[h ["¯n_W\a®‘Pk¨_h5X2²L_$xm_hC[~d&i*klpo_hC[&a){œ£LZ\[œW\i*h5k¨_];`CXC[p\`9jtW ac[—…[]gi*pcjtWcu‹_ ¢_&—/_…²L_hCa^_pcpc]tjgd-_X5jgi*W„wjt]t])rS[Fd&i*W\`5jgac[hC[&ajtWX5ch5W?  ¢_&—/_~d&iPaEŽ jtWcu\ed&iEac[~—…[h5j=¦od-_X5jgi*W?erPsPXC[&d&iEac[md&i*W¢—…[hC`Cjgi*W?e rPsPXC[&d&iEac[maciwWc]gi…_*a)e d-_hCa>]g[X XC[&`5X–_W\aZ\i/`5X–_pcpc]tjgd-_X5jgi*Wyac[—…[]gi*pckm[W¢X-{





5.1.

JAVA CODING  iEdckm[W¢X_X5jgi*Wn_W\aZ\[]tp^XCiEi*]g`–_hC[FxcW\a\_km[W¢X_]'d&i*klpIi*W\[W¢XC`fixJ_~pchCiŽ f u/h_klkm[hŽ xªh5jg[W\a>]ts¤ac[—…[]gi*pckm[WPXf[WP—PjthCi*Wckm[WPX- 

|F[k9pchC[&``Ci £LZcjg`xªcW\dX5jgi*Wo_]tjtX5jg[&`¡išI[hC[&a~rPsœX5Z\[d-_hCa){ £LZ\[7Z\[]tpqXCiEi*]ojg`;w4[]t]Si*h5u¢_Wcjt›-[&a‹jtW¢XCiŒ`C[—…[h_]Sd&i*klpc]g["¯EjtXRsm]g[—…[]g`-  xªhCi*k `5jtklpc]g[€ZcjtW¢XC`^xi*h¤X5Z\[€rS[u/jtWcW\[h„XCivd&iEac[®i*pcX5jtkljt›_X5jgi*Wž`5cu/u…[&`5X5jgi*W\`-{ ¬yi*hC[&i-—…[h-e7|F[ k fpchC[&`C`Cinjg`~X5Z\[i*Wc]tsd-_hCa _kmi*Wcu®X5Z\i/`C[d&i*W\`5jgac[hC[&a wZcjgdCZbiš)[hC`¡_Fwjt›_hCa¨XCi}Z\[]tpmX5Z\[9ac[—…[]gi*pS[h¡jtW‹dhC[-_X5jtWcuŒ_ ¢_&—/_œ²L_hCa _pcpc]tjgd-_X5jgi*W?{D£LZ\[fwjt›_hCaqjg`4ro_*`C[&aqi*WqX5Z\[FfjthC[&dX¬„[X5Z\iEaqV WP—…iPd-_X5jgi*W

A Performance Comparison of Java Cards for Micropayment Implementation

27

©F¬„V5« ac[—…[]gi*pS[&a~rPsl|]tjtWcu„’f; f`}r¢s€_]t]giwjtWcu^Z\[hœXCi¤`5pI[&dj=xªs1_¤d&i*klkœcWcjgd-_X5jgi*WjtW>Ž XC[hx_*d&[~© _u/hCi*cpixkm[X5Z\iEac`2«DrS[XRw¡[&[WX5Z\[fZ\i/`5X_pcpc]tjgd-_X5jgi*W^_W\a‹X5Z\[ d-_hCa>]g[X>’9D Yd&i*klkœcWcjgd-_X5jgi*Wqjg`;]g["xªX;XCi}X5Z\[–F¬„V"{/£LZ\[7jgac[-_x i*h5k¨_X5jgi*W?ePwjtX5Z‹_fx [wv["¯c_klpc]g[&`{BVRXJjg`¡_f\`["xªc]oaciEdckm[W¢XDxi*h ["¯>pS[h5jg[W\d&[&apchCi*u/h_klkm[hC`{

5.2.

CODE VERIFICATION o i*h_ P_&—/__pcpc]g[X]g[X-e_‹—…[h5j=¦od-_X5jgi*W€`5X_u…[Œjg`FW\[&[&ac[&a XCik¨_ƒ…[F`5chC[–X5Zo_X4X5Z\[F_pcpc]g[Xd&i*klpc]tjg[&`LwjtX5Z‹X5Z\[fhC[ PcjthC[km[W¢XC`ixX5Z\[ ¢_-—*_ ²L_hCaœ’9pcpc]tjgd-_X5jgi*WlJhCi*u/h_klkljtWcu}V WPXC[hx _*d&[F© P²€’9DV«"{£LZ\[D—…[h5j=¦od-_X5jgi*W~pchCiŽ u/h_k ©ª—…[h5j=¦o[h2«Fjg`}`Ccpcpc]tjg[&a®r¢snX5Z\[md-_hCa®k¨_W¢>x_*dX5chC[hŒ_W\a€i*rP—Pjgi*\`C]tsnac["Ž pS[W\ac`Fi*WyX5Z\[ P² ’f;VL—…[hC`5jgi*W © >{ ‹i*h >{t”«"{F£LZ\[~a>jg`5X5h_*dX5jtWcubX5h5j [Œjg`–X5Zo_X X5Z\[x_*dX5chC[hŽ ac[pS[W\ac[WPX-eIrS[&d-_\`[`–d-_hCaEŽ `5pS[&dj=¦odmhC[&`5X5h5jgdX5jgi*W\`-{ \i*h~["¯c_klpc]g[/e X5Z\[hC[‹jg`}W\i¤u/o_h_WPXC[&[¨X5Zo_X~_¤d-_hCa>]g[X Zo_&—EjtWcuqpo_*``C[&a®‘Pk¨_h5X2²L_$x Œ—…[h5j=¦od-_X5jgi*Wnx i*h E²ˆ’f;V>{t”Œwjt]t]'po_*`C` a>s>`C`C[s —…[h5j=¦od-_X5jgi*W™x i*h E² ’f;V >{t”© _W\a™d&i*W¢—…[hC`C[]ts\«"{ˆ£LZcjg`b`C[h5jgi*\`C]ts†Zo_klpS[hC` d-_hCa>]g[X9pIi*h5X_rcjt]tjtX s…{fV X–w¡i*c]gayrS[Wcjgd&[}j=x;—…[h5j=¦od-_X5jgi*Wnw4_*`Fa>jt—Ejgac[&a¤jtWPXCi‹XRw¡i a>jg`5X5jtW\dX4`Ccr\`5X_u…[&`- J_F¦\hC`5XLi*W\[7XCiŒdCZ\[&dƒ‹d&i*klpc]tj._W\d&[fwjtX5Z P²†’f;V >{ ¯)eP_W\a _`C[&d&i*W\abi*W\[fXCiŒdCZ\[&dCƒbd-_hCaEŽ `5pI[&dj=¦odFd&i*W\`5X5h_jtW¢XC`-{DV X4w¡i*c]gab[—…[WbrS[9Wcjgd&[hLj=x X5Z\[`C`C[s¨—…[h5j=¦o[h4jg`LX5Z\[Fi*W\[fhC[X5ch5WcjtWculX5Z\[Fkmi/`5X4jtW>xi*h5k¨_X5jgi*W^XCiœX5Z\[ pchCi*u/h_klkm[h-eowZ\imd-_W„`C[&[]g[X4jtW\`5X_WPX5j._X5jgi*W?e>_*`¡d&i*klkm[W¢XC[&aqjtWb‘E[&dX5jgi*Wq³œ_rIi-—…[/{ 5.3.

BYTECODE CONVERSION £ Z\[ld&i*W¢—…[h5XC[h~d&i*W¢—…[h5XC`}—…[h5j=¦o[&aŸd&iPac[~XCi¢_&—/_br¢sEXC[&d&iEac[/{q‘P\dCZŸd&iPac[ljg` L d&i*klpo_*dXC[&aŸXCiy`_-—…[ P_&—/_y²L_hCa`5XCi*h_u…[_W\a€k¨_-sŸ_]g`Ci„rS[‹`5jtu/W\[&a†_W\aŸ[W>Ž dh5sPpcXC[&a¤xi*hf`C[&dch5jtX spcch5pIi/`C[&`-{ )jtƒ…[xi*h–X5Z\[}—…[h5j=¦o[h-eKX5Z\[hC[œ_hC[a>j=š)[hC[W\d&[&` rS[XRw¡[&[W®X5Z\[ld&i*WP—…[h5XC[hC`}pchCi-—Ejgac[&anr¢sn[-_*dCZ1k¨_WP>x _*dX5chC[h-e wZcjgdCZ1jg`}_qZcjtW>Ž a>h_W\d&[s>`C`C[s^d&i*WP—…[h5XC[h}sPjg[]gac`}_q`5Z\i*h5XC[h r¢sEXC[&d&iPac[nx i*hX5Z\[nrI[W\dCZck¨_h5ƒ‚d-_hCa>]g[X¤X5Zo_W§X5Z\[Ÿ|]g[X7r¢sEXC[&d&iEac[sqXCilrI[Ž ]gi…_*ac[&a‹XCiŒX5Z\[ ¢_-—*_l²L_hCabi*h¡XCiŒX5Z\[Fd-_hCab`5jtkc]._XCi*hpchCi—Pjgac[&aqrPs¨X5Z\[fk¨_W¢>Ž x _*dX5chC[h}©`C[&[Fa>jg`Cd\`C`Cjgi*Wqi*WbXC[&`5XLrI[]gi-w9«"{D|F[ k fpchC[&`C`Cil_W\a¤‘Pk¨_h5X2²L_$x Fjtk~Ž pc]g[km[W¢X–X5Z\[jtWcu¨jtW¢XCil_`CjtWcu/]g[f_pcpc]tjgd-_X5jgi*W?{;£LZ\[fw4i*h5ƒE`5po_*d&[fXCiEi*]KpchCiŽ —Pjgac[&aœr¢sl‘Pk¨_h5X2²L_$x 4jg`'[&`5pI[&dj._]t]tsd&i*W¢—…[Wcjg[WPX-eE_*`BjtX'ac[XC[&dXC` ¢_&—/_fd&iPac[¡kmiPaEŽ j=¦od-_X5jgi*W\`œ_W\a€_cXCi*k¨_X5jgd-_]t]ts®X5h5jtu/u…[hC`—…[h5j=¦od-_X5jgi*W?e'd&i*W¢—…[hC`5jgi*W_W\a®aci-wW>Ž ]gi…_*a>jtWcu\{ a>s>`C`C[sFišI[hC``C[po_h_XC[D_pcpc]tjgd-_X5jgi*W\`xi*h?[-_*dZ]g[Xli*W†_y`5jtkœc]._XCi*hljg`œx _*`5XC[hl_W\a`_$x [hœX5Zo_W†a>jthC[&dXlXC[&`5X-eJrccX aciE[&`;W\i*X;xc]t]ts~u/o_h_W¢XC[&[9X5Zo_XDX5Z\[9d-_hCa>]g[X¡wjt]t]Kh5cW¨i*W¨X5Z\[ ¢_&—/_œ²L_hCa ©ªX5Z\[–`Cjtkc]._XCi*h4h5cW\`Di*WmX5Z\[–Z\i/`5X-e…wZcjgdZ‹Zo_*`Dkmi*hC[–`5XCi*h_u…[/eE`5X_*dCƒm_W\a pchCiEd&[&`C`5jtWcu¨pIi-w4[h–X5Zo_Wn_md-_hCao«"{ Wc]ts„|F[ k fpchC[&`C`Ci¨_W\an‘Pk¨_h5X2²L_$x  pchCi-—Ejgac[_l`Cjtkc]._XCi*h-{ ‘Pjtkc]._XCi*h ­f[rccu/u…[h- f‘Pjtkc]._XCi*hnXC[&`5X¤wjtX5Z°ac[rccu/u…[h„jg`„i*Wc]ts pIi/`C`5jtrc]g[ wjtX5ZY‘Pk¨_h5X2²L_$x /eLwZ\i/`C[„ac[rccu/u…[hb_]t]giw7`¨XCi1hC[-_]t]ts `[&[wZo_X¨Zo_p>Ž pI[W\`¡wZ\[W_po_h5X5jgdc]._h7’9; §jg`4`C[WPX-{ ™jtX5ZqX5Z\[fi*X5Z\[h4X5ZchC[&[Fd-_hCac`-e _Fd-_hCa>]g[XDkœ\`5XJrI[ac[rccu/u…[&am\`5jtWcu_s>`C`C[s†aci1W\i*XqišI[hq_®d]tjg[W¢X‹u…[W\[h_XCi*h-e–_W\a X5Z\[ ]._X5XC[h4aciE[&`DW\i*XL[—…[WqpchCi-—Ejgac[9["¯\_klpc]g[&`4W\i*h¡jtW>x i*h5k¨_X5jgi*WbXCi}Z\[]tpqX5Z\[9ac[—…[]=Ž i*pS[h-{'‘E[—…[h_]¢_-—*_>e±fjg`5o_] _*`5jgdD_W\a~ ² ["¯\_klpc]g[&` ix\d]tjg[W¢XJ_pcpc]tjgd-_X5jgi*W\` _hC[FjtW\d]t\ac[&a¤jtWy‘Pk¨_h5X2²L_$x _W\a„²¡sErS[h ["¯aciEdckm[W¢X_X5jgi*W\`-{











6.

CONCLUSION \ hCi*kˆX5Z\[J`5pI[&[&a`C`C[s jg`LX5Z\[fx _*`5XC[&`CX ¢_&—/_m²L_hCajtWbkmi/`5X7d-_*`C[&`-e\_W\a^|jtWcu¨`5XCi*h_u…[/eK‘Pk¨_h5X2²L_$x iš)[hC`X5Z\[X7hC[&`5XCi*h_X5jgi*W |jtWcuna>jtu/jtX_]4`5jtu/Wo_X5chC[&`b©f‘E’jtWcupchCi*u/h_km`‹©`C[&[l’–p>Ž pI[W\a>j=¯’j=¯  d&i*W¢X_jtW\`¨_W jtklpc]g[km[W¢X_X5jgi*W ixŒ_ P_&—/_²L_hCa™¦\]g[n`5s>`5XC[k wZcjgdZˆ_]t]gi-w7``C[—…[h_] `5pI[W\a>jtWcu„pchCi*u/h_km`ŒXCi„rS[‹`5XCi*hC[&a€i*W ‘Pk¨_h5X2²L_$x /eD|F[ k 9pchC[&``Ciy_W\a a>s>`C`C[s…{



9i*W\[}ixJX5Z\[œd&i*W\`5jgac[hC[&a^d-_hCac`fi*cX5pS[hx i*h5km`9X5Z\[{ fi-wLŽ

[—…[h-e>_-—*_jt]._rcjt]tjtXRs‹ixdh5sEpcXCi*u/h_pcZ¢s‹jtW¨Wo_X5jt—…[fd&iPac[9jg`4_WqjtklpIi*h5X_W¢X4hC[ ¢cjthC["Ž km[W¢Xmj=x ¢_&—/_€²L_hCac`q_hC[XCinrS[b\`[&axi*hlkljgdhCi*po_-sPkm[WPX‹jtklpc]g[km[WPX_X5jgi*W?{ ’–kmi*WcunX5Z\[qX w4i1d-_hCac`lišI[h5jtWcunWo_X5jt—…[bdh5sPpcXCi*]tjtrch_h5jg[&`eL‘Pk¨_h5X2²L_$xqsPjg[]gac` X5Z\[`5Z\i*h5XC[&`5X–r¢sEXC[&d&iPac[Œ_W\a¤pchCi-—Ejgac[&`9X5Z\[`5XC[k xi*h‹`5pS[W\a>jtWcu1pchCi*u/h_k jtklpc]g[km[W¢X_X5jgi*WYjg`¨_nhC[-_] a>jg`_*a>—*_WPX_u…[7jtWlxhCi*W¢X4ix?²¡sErI[h ["¯Ie¢rccXDjtXDd-_WmrI[i-—…[hCd&i*km[9r¢s~X5Z\[9`5sE`CXC[k pchCi*pSi/`C[&a¤jtW¤’–pcpI[W\a>j=¯ F{



Appendix A. Previous work on hash-based micropayments

cjtXC[y_€W¢ckœrS[hixkljgdhCi*po_-sPkm[WPX¤`5sE`CXC[km`‹d-_W rS[^x i*cW\avjtW X5Z\[^]tjtXŽ [ h_X5chC[mX5Zo_X}\`C[mZo_*`5Z1xcW\dX5jgi*W\`jtW\`5XC[-_*a€ixa>jtu/jtX_]4`5jtu/Wo_X5chC[&`}XCiy_*dCZcjg[—…[ Zcjtu/Z\[h'`CpS[&[&a){ W~_–X sEpcjgd-_]>w¡i*h5ƒ>`5X_X5jgi*W?e*jtXBk¨_&sX_ƒ…[¡Zo_]=xS_9`C[&d&i*W\aœXCi9d&i*k~Ž pccXC[Œ_Wnf‘E’ ‡t”-•$ŠJ`5jtu/Wo_X5chC[IjtWyX5Zo_X9pI[h5jgiPa)e'”  ‹f‘E’ž`5jtu/Wo_X5chC[&`Fd-_WyrS[ —…[h5j=¦o[&an© _*``5ckljtWcum_œ`Ck¨_]t]Kpccrc]tjgdF["¯>pSi*W\[WPX2«L_W\a)ePkmi*hC[fjtklpIi*h5X_W¢X-e)”     Zo_*`5Z¤xcW\dX5jgi*W\`9d-_W„rS[œd&i*klpccXC[&a){9‘EimX5Z\[~_*a>—/_W¢X_u…[&`Fix;a>hCi*pcpcjtWcuqa>jtu/jtX_] `5jtu/Wo_X5chC[&`7jtWbx_&—…i*h–ix'Zo_*`5ZxcW\dX5jgi*W\`7`5Z\i*c]ga¤rS[`5XC[km`–ro_*`[&ayi*WnZo_*`5ZyxcW\dX5jgi*W\`FjtW\d]t\ac[ 9[X2²L_hCa†‡t”"Š e Ž pcjth_X5jgi*W1a\_XC[l_W\ay`i*km[Œi*X5Z\[hFjtW>x i*h5k¨_X5jgi*W?{}£LZ\[ŒZo_*`5Z1dCZo_jtW jg`JpchCiPa>\d&[&a¨r¢s~X5Z\[rccs…[h;\`CjtWcuœ_Fh_W\aci*k­hCiEi*X-{ ™Z\[WmX5Z\[7rccs…[hDw4_WPXC`DXCi k¨_ƒ…[m_¨pcchCdZo_*`C[/e`CZ\[Œ`[W\ac`FXCi‹X5Z\[Œkm[hCdZo_W¢XŒ_qd&i*klkljtX5km[WPXXCi_bdCZo_jtW?{ £LZ\[7d&i*klkljtX5km[W¢XLjtW\d]t\ac[&`¡X5Z\[7km[hCdCZo_WPX`4jgac[W¢X5jtX s…eEX5Z\[–rchCi*ƒ…[h¡d&[h5X5j=¦od-_XC[/e X5Z\[;]._*`5XB[]g[km[W¢X'ix\X5Z\[DdCZo_jtW?e*X5Z\[4dch5hC[W¢X'a\_XC[/eX5Z\[D]g[Wcu/X5ZŒix\X5Z\[DdZo_jtW~_W\a `Ci*km[¨i*X5Z\[hœjtW>xi*h5k¨_X5jgi*W?{¤VRW€X5Zcjg`Œ`CdZ\[km[/e X5Z\[¨rchCi*ƒ…[hŒd&[h5X5j=¦od-_XC[qd&[h5X5j=¦o[&` X5Zo_XX5Z\[mrchCi*ƒ…[hœwjt]t]DhC[&ac[&[k _W¢s1po_-sPkm[WPXŒX5Zo_XœX5Z\[mrccs…[hœk¨_ƒ…[&`rI["xi*hC[







32

IFIP CARDIS 2000

X5Z\[q["¯>pcjth_X5jgi*Wva\_XC[/e4_W\aŸX5Z\[brccs…[hmd&i*klkljtX5km[WPX‹_cX5Z\i*h5jt›-[&`mX5Z\[qrchCi*ƒ…[h XCi1po_&sX5Z\[km[hCdZo_W¢X-{ 9i*X5jgd&[X5Zo_X¨jtW X5Zcjg`¨`CdZ\[km[X5Z\[¤dZo_jtWvjg`lhC[]._XC[&a XCi€_npo_jthmrccs…[h $km[hCdZo_W¢XbX5ZchCi*cu/ZvX5Z\[¤d&i*klkljtX5km[WPX-{§’7xXC[hlX5Zo_X-eL[-_*dCZ kljgdhCi*po_&sEkm[W¢X¤jg`‹k¨_*ac[yr¢s hC[—…[-_]tjtWcu [-_*dZY[]g[km[WPXixX5Z\[„dZo_jtW§XCi€X5Z\[ km[hCdCZo_W¢X-{  [&ac[hC`C[W ‡t” Šœ_]g`CijtXC[h_XC[&`^_ŸZo_*`5ZYxcW\dX5jgi*W‚wjtX5Zˆ_h_W\aci*k hCiPi*XXCi i*rcX_jtW™_ndCZo_jtW ixFd&i*jtW\`lrccX¨Z\[aciP[&`lW\i*X¨pchCi-—Ejgac[k\dZ™ac[X_jt]–i*W†wZo_X ƒPjtW\aŸix–`5sE`CXC[k ©dhC[&a>jtX~i*hœac[rcjtXŒro_*`C[&ao«{t”®£LZ\[œ`CX5h5\dX5ch_]Bd&iEa>jtWcuqd&i*h5hC[&`CpSi*W\a>jtWcubXCi‹_¨`C[ P\[W¢X5j._]'rc]giPdƒ ix —/_]t\[LjtW\`5X5h5\dX5jgi*W\`;wjtX5Zl—/_]t\[&`    jg`JW\["¯>XJu/jt—…[W„©`C[ P\[W¢X5j._] rc]giPdƒŒkm[-_W\`¡X5Zo_XDW\i i-wLŽ d&i*WPX5hCi*]SjtW\`CX5h5\dX5jgi*W\`L_hC[7pchC[&`C[W¢X2«"{ [X SrI[7X5Z\[ _kmi*cW¢X wjtX5Z¨`Ci*km[LhC[&a>cW\a\_W\ds¤©ªjtWlx_*dXJX5Z\[dch5hC[W\dsŒWo_km[–d-_WlrS[L\`C[&a _*`–hC[&a>cW\a\_W\ds\«"{ [X  rS[Œ_mi*W\["ŽwL_&s^Zo_*`CZ^xcW\dX5jgi*Wy`CpS[&dj=¦o[&ay_rSi—…[Œ_W\a ]g[ X  ac[W\i*XC[~rcjtXRwjg`C[m["¯cd]t\`5jt—…[ {)£LZ\[W1X5Z\[Œrccs…[h}d&i*klpccXC[&`}X5Z\[ŒX5h_*d&[ `C[ ¢\[W\d&[        }_*`Lx i*]t]gi-w7` 







       



  {

{{

 

© …«

       ’7xXC[h?X5Z\[¡_rIi-—…[¡d&i*klpccX_X5jgi*W?e/X5Z\[;rccs…[hB`5jtu/W\` JXCi7u…[X  /{L["xi*hC[DX5Z\[J¦\hC`5X kljgdhCi*po_&sEkm[W¢X-ecX5Z\[9rccs…[h`C[W\ac`  9_W\a‹X5Z\[F`5jtu/W\[&a‹—*_]t\[      XCi X5Z\[œkm[hCdZo_W¢Xxi*h}_cX5Z\i*h5jt›_X5jgi*W?{~¬^jgdhCi*po_-sPkm[WPXC`œix¡—*_]t\[&`     d-_W¤rS[}X5Z\[W^k¨_*ac[jtWcu–pchCi*u/h_km`kœ\`5XrI[Jƒ…[pcX?jtW\`5jgac[DX5Z\[ ¢_-—*_ ²L_hCa¨_W\ald-_WmrI[ac[]g[XC[&ami*W\d&[X5Z\[sl_hC[L\`C[&alcp?{ –Wc]tjtƒ…[LZo_*`CZ¨dCZo_jtW\`-eP[-_*dCZ `5pS[W\a>jtWcu–pchCi*u/h_k jtklpc]g[km[WPXC`'_7a>j=šI[hC[WPX `5pI[W\a>jtWcu–po_X5XC[h5Wb©ªpSi/`C`Cjtrc]ts9wjtX5Z a>j=šI[hC[WPX7dch5hC[W\djg[&`-ecd&i*cpSi*W^_kmi*cWPXC`-e\`C[ P\[W\djtWcu\ec[XCd/{6«~_W\abjtX`5Z\i*c]gaqrS[ pSi/`C`Cjtrc]g[;XCif`5XCi*hC[D`C[—…[h_]EpchCi*u/h_km`;_XX5Z\[4`_km[¡X5jtkm[/ewZcjgdCZ~h_jg`C[&` X5Z\[DW\[&[&a



34



IFIP CARDIS 2000

xi*hl_Wi*W>Ž d-_hCaŸ¦\]g[q`5s>`5XC[k¤{ fi-w4[—…[h-e4²¡sErS[h ["¯®jg`ŒX5Z\[qi*Wc]ts€ix–X5Z\[¨xi*ch ¢_&—/_²L_hCac`9jtW\d]t\ac[&anjtWyX5Z\[~d&i*klpo_h5jg`Ci*W1ixDX5Zcjg`fpo_pS[hFwZcjgdZyjtklpc]g[km[WPXC` _F¦\]g[–`CsE`5XC[k¤{ ®[fac[&`Cdh5jtrI[7rI[]gi-w X5Z\[7k¨_jtWqjtklpc]g[km[W¢X_X5jgi*Wu/cjgac[]tjtW\[&`¡xi*h rccjt]ga>jtWcun_bu…[W\[h5jgd ¢_&—/_n²L_hCa1¦\]g[¨`CsE`5XC[k _]t]giwjtWcu1a>sPWo_kljgd-_]L_]t]giPd-_X5jgi*W _W\ahC[]g[-_*`C[}ix'—*_h5j._rc]g["Ž `Cjt›-[&akm[kmi*h5sbrc]giPdƒE`-{ £LZ\[Fk¨_jtW¤hC[ ¢cjthC[km[WPXC`7x i*hX5Zcjg`¦\]g[`F_hC[~_]t]giEd-_XC[&a„XCib_lu/jt—…[Wy¦\]g[/{f’ž`5pI[&dj=¦od}x [-_X5chC[œix4`5pS[W\a>jtWcu pchCi*u/h_km`?jg`?X5Zo_X?X5Z\[s¥5[&dX-{B£LZcjg`Bjg`BX5Z\[Li*Wc]tsœi*r>¥5[&dX'jtW\`5X_W\d&[4X5Zo_XBjg`JdhC[-_XC[&a~a>ch5jtWcu

A Performance Comparison of Java Cards for Micropayment Implementation

FD

2 3

35

UUU

Id:1 Array of free blocks

Pool of blocks

FD Id:2 21

Figure 2

  ;+# 3 R3$ 

' 0

 %*$I( 2 * ;$

  !$2 *

X5Z\[4¦\]g[`5sE`CXC[k°]tj=x [X5jtkm[/  XCi`5XC[k i*r>¥5[&dX7jtW\`5X_W\d&[œ_W\awjt]t]rI[Fk¨_Wo_u…[&a¤rPsqX5Z\[}km[X5Z\iPac`9ixBX5Zcjg` i*r>¥[&dX-{ Bjt—…[Fkm[X5Z\iEac`7Zo_-—…[jtX7k\`5X–rS[{ 9["¯>XLx i*]t]gi-w7`9_~`Cjtklpc]g[}["¯c_klpc]g[i*W¤Z\i-w‚XCilac[-_]wjtX5Z¦\]g[&`-  jt]g[‘Ps>`5XC[k x ` W\[w Bjt]g[‘Ps>`5XC[k^©« 

36

IFIP CARDIS 2000

r¢sEXC[F¦\]g[/”/e>¦\]g[  r¢sEXC[}a\_X_  W\[w‚rPsPXC[/‡\’9W\’9kmi*cW¢X x ¡sEXC[&`Š r¢sEXC[}i*cX5pccXCe\a\_X_m«  x`-{ wh5jtXC[…©'¦\]g[/”/e\a\_X_m«  x`-{[h_*`[…© ¦\]g[¨«  x`-{ wh5jtXC[…©'¦\]g[/”/e\a\_X_m«  x`-{i*pI[W© ¦\]g[/”œ«  x`-{ hC[-_*a?© ¦\]g[/”/eoi*cX5pccXCF_X_q«  £LZ\[`5XC[k¤{  ²¡hC[-_XC[}XRw¡i~¦\]g[&`f_W\ai*pS[W^X5Z\[k¤{  1h5jtXC[}`C[—…[h_]X5jtkm[&`7jtW¢XCimX5Z\[F¦\]g[&`-{ ³Jh_*`C[}X5Z\[}`C[&d&i*W\ab¦\]g[/{ ‰ 1h5jtXC[L_W\i*X5Z\[hBX5jtkm[¡jtW¢XCi9X5Z\[D¦\hC`5X?¦\]g[/{'£LZ\[ Bjt]g[‘Ps>`5XC[k wjt]t]EpchCi*ro_rc]ts wh5jtXC[ŒX5Z\[W\[w rc]giEdCƒ^i*WyX5Z\[Œ`5XCi*h_u…[ŒpchC[—Pjgi*\`5]ts^hC[]g[-_*`C[&a^rPs„[h_*`5chC[ ix'X5Z\[}`C[&d&i*W\ab¦\]g[/{  pI[W¤X5Z\[f¦\hC`5X¦\]g[_W\abhC[-_*a„_]t]?X5Z\[x i*h5k¨_X5jgi*Wb‘E[&dch5jtXRsSePpo_u…[&`–”"Ž”>e ”-´/´/´>{S‘Ppch5jtWcu…[hŽ±;[h5]._u F²‘n”  /´>{ ‡ ´$Šœ["Ž d-_*`5Z?e>Z¢X5X5p?   $www}{a>jtu/jgd-_*`CZ?{d&i*k ‡t” $Š~|F[klpc]t\`-e¡|{ ‡t”/”"Š~|fjg[&`C[&dƒ…[  F[—Ph5jg[WPX”/{o£LZ\[¬„