Smartcard
Sejak “pindah kerja” sekitar awal April 2007 yang lalu, saya hampir selalu berurusan dengan smartcard. Membangun infrastruktur smartcard sampai membuat aplikasi dalam smartcard memang menjadi salah satu tanggung jawab utama tim tempat saya berada. Berhubung sudah mendapat izin dari supervisor, maka saya ingin berbagi cerita tentang apa saja yang telah saya pelajari selama ini. Cerita-cerita dari saya mungkin tidak akan saya tuliskan pada blog ini, namun saya tuliskan dalam development blog smartcard di UI. Silakan kunjungi http://smartcard.ui.edu/?q=blog.

Banyak hal yang ternyata tidak mudah didapat dengan hanya melakukan googling. Entah karena belum banyak pengembang smartcard atau karena memang tidak ada yang menulisnya. Referensi utama saya saat ini adalah Forum Java Card di sun.com dan dua buah spesifikasi smartcard (GlobalPlatform dan EMV). Referensi kedua (yaitu spesifikasi) memang sangat tergantung spesifikasi yang didukung oleh smartcard yang sedang dikembangkan. Kebetulan smartcard yang saya gunakan menggunakan spesifikasi dari GlobalPlatform dan EMV.
Sekilas mengenai smartcard
Apa sih smartcard itu? Singkatnya, smartcard adalah sebuah kartu yang memiliki chip yang dapat digunakan untuk memproses sesuatu maupun menyimpan data. Chip tersebut dapat diprogram sehingga kita bisa membuat aplikasi yang berjalan di kartu.
Apakah itu Javacard? Javacard dapat disebut sebagai teknologi java pada smartcard. Di dalam javacard terdapat sebuah Java Card Virtual Machine yang digunakan untuk menjalankan bytecodes dari Applet, sebutan untuk aplikasi javacard.
Contoh penggunaan smartcard itu apa saja? Kartu identitas (kartu dapat menyimpan nama, alamat, dan identitas pribadi lainnya sampai foto dan informasi sidik jari), dompet elektronik (ada rupiah di dalam kartu), kalkulator sederhana, dan rekan Anda dalam bermain game tic-tac-toe.
Bagaimana cara mengakses smartcard dari komputer? Salah satu protokol untuk untuk mengakses smartcard adalah PC/SC yang implementasinya ada di Windows, Linux, maupun Mac OS X. Pustaka di atas PC/SC juga tersedia untuk platform Java seperti JPCSC dan OpenCard Framework. Pertukaran data (komunikasi) dengan smartcard itu sendiri penggunakan protokol bernama APDU (Application Protocol Data Unit).
- Login to post comments
Terus di UI smartcard dipake buat apa? :)
@mufti: sebagian sudah ditulis di http://smartcard.ui.edu/?q=aplikasi dan http://smartcard.ui.edu/?q=kerjasama
wah smartcart,
pake port apa om?? oh ya.. klao hubungin via port Serial/Pararel di linux itu alamatnya apa ya???
@udienz: smartcard reader yg saya pake itu interfacenya USB. ada reader yg pake serial port tapi blom tau cara makenya.
Bisa minta sample coding sederhana Smart Card dalam bahasa JAVA ga? Ya mungkin semacam program swing GUI yang bisa write dan read data pada smart card. Saya sudah disediakan Contactless Smart Card
Reader ACR120 dan smart card 1K MIFARE. Namun masih blank implementasinya karena pada manualnya tidak disertakan SDK untuk bahasa Java. Mohon bantuannya. Terima kasih
@lukman:
coba link http://www.wrankl.de/Javacard/Javacard.html
mungkin itu yang anda cari. Saya juga pernah mencoba untuk membuat applet yang dapat membaca dan menulis pada kartu mifare.
@Lukman S: aplikasi di komputernya ya? Kalau contoh mungkin belum bisa saya berikan. Soalnya masih belum sempat. Tapi saya memang berencana untuk membuka libraries (yg bisa dibuka) yang saya gunakan.
Untuk koneksi ke smartcard, saya menggunakan PCSC yang tersedia di Linux, Mac OS X, maupun Windows. Untuk java library penghubung ke PCSC, saya menggunakan OCF (OpenCard Framework) dan OCFPCSC sebagai penghubung OCF dengan PCSC nya. (Tutorial instalasi OCFPCSC dapat dilihat di http://fajran.web.id/tutorial/kompilasi-ocfpcsc-di-ubuntu). Baca saja OCF Programmers Guide untuk contoh programming dengan OCF. Masalah penggunaan Swing GUI, itu hanya pengembangan lebih lanjut dari aplikasi yang menggunakan OCF :)
Selain menggunakan OCF, library java lainnya yg dapat digunakan untuk mengakses PCSC adalah JPCSC.
OCF maupun JPCSC hanyalah penghubung dengan smartcard. Anda harus mengatur sendiri data (APDU) yang akan dikirim/diterima.
untuntuk informasi mengenai kerjasama & pemesanan pembuatan kartu kemana saya harus datang?
kalberapa harga pembuatannya? bagaimana maintenence smartcard tersebut?
@dejavoe: kerjasama dengan siapa? kalau dengan UI silakan datang ke UI. Mengenai harga dan sebagainya, silakan tanya vendor smartcard.
mas iang, wah Ui keren pake smartcard kaya singapura aja heheheh, trus disana dah sampe mana implementasinya, apakan udah runing seperti absen, beli maem di kantin, pinjem buku perpus, KRS pake smartcard, atau mase dalam rencana dulu, kira2 kapan realisasi generalnya yah pengen nonton aku kekekeke, canggih getu loh,
emmm selaen dengan framework java, bisa nggak ya kalo bikin aplikasi sendiri lebih enak mana?
denger2 vendor smartcard tuh banyak ya merk nya apa aja, nah UI tuh import dari mana ato bikin sendiri kartunya?
Gara2 baca berita busway yg pake tekno smartcard ku jadi penasaran ne ama si kartu cerdik, wah kelak kemana mana gak usah bawa duit kali yah bawa kartu satu ini ajah beress...
@dontcry: sampe mana ya? :P
Skr yg udah beneran bisa dipake itu adalah tuk kartu identitas dan untuk ngakses SIAK-NG. Absensi dan access control masih nunggu infrastrukturnya (reader di pintu/kelas2, dsb). Trus ada lagi tuk transkrip akademik dan ke pusat kesehatan mhs yg skr lagi masuk fase testing.
Smartcardnya yaa beli dari vendor lah.. ngapain jg bikin sendiri :) cuma aplikasi2nya didevelop sendiri.
Busway itu pake Mifare (salah satu bentuk smartcard). Kebetulah smartcard UI juga ada Mifarenya (emulasi dari javacard) sehingga skr lagi mau kerjasama dengan Bank DKI tuk Jakcard yg bisa dipake tuk make Transjakarta maupun micropayment lainnya.
iang ini orang FINNET?
salam buat mas saiful ya
wah saya bukan orang FINNET.. saya pernah kerja di UI untuk mengerjakan Smartcard UI
hi hi...
gw skg lg bwat skripsi 1, ttg smart card bwat kampus gw...
tp tmn2 yg laen pada ga stuju klo dbandingin ama finger printing...
ktanya lebih reliable pake sidik jari...istilahnya klo smart card perlu dbawa2 kartunya, klo finger kan udah emang dari sononya ada disitu.... :P
trs klo masalah absensi kan bisa nipit tuh kartunya...
tp klo bwat perpustakaan kyknya cocok yagh....
gv comment pls...
trs gw minta codingnya yang penting bwat dpelajarin....
thx b4...
Saya disediakan reader fingerprint AET63 dan kartu yang disediakan bersama reader tersebut adalah acs2.
Saya coba KTM UI angk 2006 ke reader tersebut, tapi error terus, komentar yang keluar adalah "unknown INS". Apakah error yang terjadi karena perbedaan APDU??. Kalau boleh tau jenis reader apa yang digunakan untuk tipe sc yang digunakan untuk KTM UI??. Thx b4 untuk jawabannya....
@ira: applet (aplikasi) yg ada di dalam Smartcard UI kan memiliki APDU sendiri yang sampai saat ini belum mengikuti standar tertentu. Readernya saya rasa bisa reader apa saja selama reader tersebut bisa mengakses smartcard (maupun Mifare karena applet dalam Smartcard UI juga bisa diakses melalui Mifare).
Kita pake library pcsclite yang jalan di GNU/Linux, Mac, dan OS terlarang.
Iang, dokumentasi...
*ctar.. ctar..* :))
Dalam pengembangan smartcard UI, siapapun diundang untuk berkontribusi.
Untuk hal Source Code, dari manajemen juga sudah setuju bahwa untuk hal-hal yang bersifat publik, seperti core library UI, APDU terminal, dll akan dipublish dengan lisensi GPL/LGPL. Jadi, tunggu aja di web smartcard UI.
Suatu hal yang sudah dibuka dan terus diperbaiki setiap hari adalah spesifikasi terbuka UI untuk SmartHealth. lihat di link smarthealth-UI. Harapannya adalah mudah2an setiap orang bisa memiliki medical record yang bisa dibawa-bawa kemana-mana dan tahan banting. Selain itu, institusi2 kesehatan yang berbeda juga dapat menuliskan informasinya kedalam kartu. Smart Health diimplementasi diatas teknologi javacard, dengan harapan dapat memiliki interoperability tinggi dan tidak terbatas seperti MIFARE.
Btw, apa ada yang ahli MIFARE ? sptnya kami butuh bantuan sedikit tentang membuat terminal2 yang low cost ....
@jp: ampun Pak! kalo ntar gw nulis dokumentasi, pasti perlu bantuan elu tuk verifikasi.. hehehe..
~blomPunyaReaderLagi..
Mas iang,
Saya udah bikin aplikasi terminal utk smart card di UNIX env. Saya pake OCF dan OCFPCSC untuk interkoneksi ke reader.
Pembacaan ATR CardID sudah berhasil dengan baik. Namun ketika saya lakukan pembacaan menggunakan FileAccessCardService dan kawan2 AccessService yang lain selalu gagal mendeteksi keberadaan kartu. Begini sekilas potongan code
Code1:
CardRequest cr = new CardRequest (CardRequest.NEWCARD,null,null);
SmartCard sm = SmartCard.waitForCard (cr);
Code2:
CardRequest cr = new CardRequest (CardRequest.NEWCARD,null,FileAccessCardService);
SmartCard sm = SmartCard.waitForCard (cr);
Pada code pertama sukses melakukan pendeteksian keberadaan kartu, tetapi pada code kedua gagal mendeteksi keberadaan kartu di reader nya. Saya udah nyerah nyari info ke forum. Semoga mas iang bisa bantu saya. trims..
Oiya sebagai info, saya pakai omnikey RFID 5x21 untuk reader nya. Sedangkan smart card saya menggunakan MIFARE 4K.
@satria: CardService di OCF itu semacam API tuk ngakses fungsi2 yang ada di kartu. Semacam wrapper fungsi2 java menjadi APDU yang akan dikirim ke kartu. Nah pertanyaannya adalah apakah kartu yang dipake sudah cocok dengan FileAccessCardService yang dipakai?
OCF itu ada source code nya kan? coba saja lihat source code FileAccessCardService :)
mau tanya berapa harga untuk smart card nya ?
mas iang, numpang nanya.
kalo mo cari informasi lebih lanjut tentang smart card di UI ini kontak person pengembangnyanya siapa ya?
nama, no telp n alamat emailnya ya.. Tq
@kusuma: silakan lihat http://smartcard.ui.edu/?q=page/2007/05/21/kontak-smartcard
minta tutorial lengkap donk mas mengenai smart card.. saya mo sekeripsi mengenai itu rencananya..makasih mas...
kak iang,
saya masi newbie nih di smartcard..
mo nanya dikit ya..
1. aplikasi smartcard itu bisa dibikin pake bahasa pemrograman apa aja? file hasil jadinya apa?
2. cara embed aplikasi ke smartcard gimana? h/w ama s/w apa aja yg diperluin?
3. trus cara ngetes aplikasi yg uda diembed ke smartcard gimana?
mohon bantuannya ya, kak iang..
tq ^_^
@hendri: wah saya udah lama ngga maen2 ama smartcard.. skr lg gak punya readernya sih.. jadi bingung kalo mo nulis tutorial lagi krn gak bisa dites dulu.. masa hasil imajinasi aja? hehehe
@jacob: sepertinya smartcard itu ada banyak standarnya. Yang pernah saya pake itu yg make standar global platform. Kebetulan kartunya itu adalah Java Card sehingga di dalemnya ada sebuah Java Virtual Machine. Tuk programmingnya juga bisa pake bahasa Java (yg sangat minimalis tentunya).
Kalo baca2 ttg smartcard programming, proses development dibagi jadi 2: off card dan on card. Ngoding, kompilasi, sampe convert binary jadi yg bisa masuk smartcard dilakukan di luar kartu = off card. Setelah itu dimasukin kartu, inisialisasi, dsb = on card.
Smartcard biasanya berkomunikasi dg protokol bernama APDU. Melalui protokol ini juga proses penyalinan aplikasi ke kartu dilakukan. Aplikasi kartu (applet) harus bisa ngerti APDU.. aplikasi client juga harus ngerti APDU. Untuk ngetes jg mestinya via protokol ini.
Kalo mau develop smartcard, beli aja kit nya dulu. Biasanya vendor ngasih SDK termasuk aplikasi tuk masukin applet ke kartu.
Sekarang anda bekerja dimana?
@franco: udah ngga kerja lagi :D kerja sih.. tp part time di uva.nl
mas aq mau tanya kalo mau dapet source code/sample code untuk pemrograman kartu acos menggunakan VB nyari dimana ya?
aq dapat masalah pada start session dan submit code.makasih
Banyak hal yang ternyata tidak mudah didapat dengan hanya melakukan googling. Entah karena belum banyak pengembang smartcard atau karena memang tidak ada yang menulisnya. Referensi utama saya saat ini adalah Forum Java Card di sun.com dan dua buah spesifikasi smartcard (GlobalPlatform dan EMV).
IMHO soalnya smartcard development cukup kental unsur proprietarynya, walaupun bisa develop di linux juga, dokumen2 speknya aja banyak yg gak gratis, Makanya kalo secara legal di web akan susah cari info2 begituan..Tapi bukan org indonesia namanya kalo gak bisa cari2 info secara 'keluar jalur' dikit ...hehehe =)
Please bagi anak UI, aku nyusun TA dengan Topik"aplikasi parkir menggunakan smartcard"
disini aku pusing dengan alatnya dan cara menulisnya data ke dalam card nya.bagi yang ingin membantu,tolong ya...bagi bagi ilmu supaya indonesia ini bisa maju.OK
aku lagi nyusun TA nih menggunakan Smart card ACOS3 dan readernya ACS30 serial.
bedanya serial dengan USB apanya??
cari ACS30 serial dimana ya??soalnya di digi-ware inden 4-6 minggu dari sekarang...
terimakasih IANG...
Sedikit Info : Produk ACS ada di www.acs.com.hk, distributor Indonesia di www.esoftkey.com
alamatnya di Komplek ITC Roxy Mas Blok C2/21 Jl. KH Hasyim Ashari Jakarta.
-Nana S-
Ak buat tugas akhir pake smartcard Mifare 1KB dengan reader EHAG 13,56 MHz.
Aplikasi ini ak buat untuk sistem parkir dan sejauh ini ak dah bisa baca n tulis data pada kartu tapi... ak belum nemu method biar bisa baca data secara kontinyu (pada aplikasiku ak masih harus nge klik button untuk tiap kali baca data dari kartu padahal harusnya kan sekali klik begitu ada kartu data dpt langsung ketampil pada frontend...kan ga lucu kalo tiap kali ada user masa operator kudu nge klik button dulu biar kebaca). Ak pakenya Java, IANG bisa kasih tau caranya? onegai....tulung yaaa...plz dah buntu neh.
saya telah menerima barang ACOS3 sebanyak 5 buah .
setelah saya lihat datasheet ACOS3(di www.ACS.com.hk) kok berbeda ya??
jumlah kotak kuning berjumlah 6 dari digiware dan 8 (saya lihat di datasheet)
apakah memang begitu??
bisa gak diprogram??
mas saya mo nanya saya punya smart card dengan type acos dan smart card readernya type acr 38 dengan koneksi ke usb, bagaimana caranya untuk membaca dan menulis ke dalam smart card saya memakai pemrograman dengan visual basic 6.......................tolong dibalas ke alamat emai saya ya.................please
to raditya: saya juga pake itu dan lagi in progress...SMANGAT!!!
dhana_jebe@yahoo.com
boleh tau g?klo alat itu dpkek ama program DELPHI bisa ga?
klo bisa aq minta tolong kasih tau,sekalian programnya juga he..........3x
coz aq mau TA pke alat itu juga,tapi dbwt menghidupkan dan mematikan lampu suatu ruangan,
tlong kirimbalik ke e-mailq aja y?indra_matzusaki@yahoo.com
TERIMA KASIH
IANG,...Bagaimana sih urutan / caranya akses ke smartcard(langsung kirim data lewat serial).
saya sudah buat programnya, tapi setiap saya kirim command pasti Readernya ga mau kirim response,selalu responsenya NULL??padahal misal saya buat serial loop back data saya terkirim..artinya kanport serial saya baik2 saja.
ada yang bisa bantu...help me!!!
4 everyone
smart, card...?
kbetulan TA q jg pke smartcard, cman q pke acos3 n reader nx ACR30, tp q g tw knapa jg hrs pke kartu itu (rekomendasi dosen sihh,, : ) )
komunikasi serial q dah OK. saran bwt Jati : coba pelajari datasheet (pd umumnya sih bhs inggris).
pngalaman q seh , , kl null tu disebabin protokol (perintah) yg q_ta kirim gak bz di eksekusi readernx g_tu !!
biasanya protokol tiap jenis reader n kartu b_da2.
alo iang .. bs ksh info k saya gmn cara install applet k smartcard (mifare) .. sy pake linux + pcsc. komunikasi sih bs. n spec kartu'a apa nih ..
btw kartu yg udah d program (install applet) bs d ganti lg? .. thx
maaf mas iang..saya lagi TA tentang smartcard buat perpustakaan, mas iang buat aplikasinya pake bahasa pemograman apa, bisa minta source codenya buat referensi
terima kasih
bikin pake java. berhubung saat itu kerja di UI, source code nya jadi punya UI. Kalau mau minta, ya silakan ke sana :)
sya berniat TA ttg smart card, harganya berapa yak belinya dimana? dibandung ada ga? , card reader nya bisa bikin senidiri ga pake MCU macam PIC atau AVR gitu jadi lebih murah =)
soalnya klo kemahalan sy pikir2 lagi buat bahan TA
Salam kenal boz..
Kebetulan aq lagi nyelesain Tugas akhir soal smart card..Aplikasinya di parkir mobil mall...
Aq pake ACR120, interface langsung k pc pake serial...
Coding programQ pake VB6...
Aq kesulitan nech di proses write dan readny.. Load datany pake kode ASCII..
Ada yg bisa bantuin g??
Regrad's
anton
bos iang bagaimana kalo kita buat satu kelompok yang ngebahas tentang smartcard...jadi bisa gathering gitu....gw juga tertarik banget ama smart card...dan gw kuliah di ui...ngelihat ktm...bagus juga....btw....kalo mo beli alatnya dimana....trus harganya berapa? gw juga mau buat skripsi ttg samrtcard
maav,,
sebenarnya ada banyak yang saya ingin tanyakan k anda,,
kelak saya juga berminat untuk membuat seperti yang ada di UI sekarang,,
jadi mw banyak2 tanya,,
bole minta alamat email,atw phone numbernya??
terima kasih sebelumnya.
putra
Bang iang, saya kerja di fe,,saya juga lagi skripsi di salah satu STMIK di jkta,,saya bikin aplikasi parkir,,program hampir selesai,,,hanya tinggal hitungan waktu masuk dan keluar,,,cari durasinya bagaimana bang iang,,,say sudah coba jam*60+menit ,,tapi ribet krn harus di bagi-bagi lagi,,
Saya ketik pakai JCreator kerena Java Swing,,tolong bantu deklarasi code nya bang,,,
Makasih banyak nich sebelumnya,,
mas mo nanya ku ambil TA aplikasi smart card pake delphi trus cara koneksi program ke readernya tu gimana ya? ato gampang nya nge-load program. ku lagi mulai ni tolong sarannya dong ato ku boleh dikasih alamat email ato CP dari mas....thx
mas ,tanya dunk
bagaimana coding vb.net 2005 utk convert dari ascii ke hexa dan sebalik nya ?
itu buat nulis maupun baca kartu nya kan ya ?
thx b4
mas mau tanya,
aku dah punya smart label MIFARE 1k RW, masih kosong datanya. kalau mau ngisi datanya pake alat apa? software apa? trus contoh programnya kayak gimana?
aku pake RFID reader ID-12 (ID inovation), bisa g ngisi pake reader ini atau pake ID-20?aku lupa ID-20nya RW ato g...klo ak denger smart label ini ngisi datanya harus pake ACR...bisa ga klo pake ID inovation (ID-20) aja soalnya cma butuh buat nulis 4 smart label aja.
tengkyu b4...
mas iang,,
sya mau lagi buat TA dengan menggunakan smart card ACR38 dengan program VB.net 2003 dan SQL server 2000,,,
sya kesulitan dengan codingnya,karena sya tidak menemukan codingannya untuk VB.net 2003, sya minta contoh codingannya dounx mas untuk support k program itu,,,
klo mank ada kirim ke email sya ya mas,,,
mas iang,,
sya mau lagi buat TA dengan menggunakan smart card ACR38 dengan program VB.net 2003 dan SQL server 2000,,,
sya kesulitan dengan codingnya,karena sya tidak menemukan codingannya untuk VB.net 2003, sya minta contoh codingannya dounx mas untuk support k program itu,,,
klo mank ada kirim ke email sya ya mas,,,
ni emailqu: a.andiani@yahoo.com
aq lg buat ta mengggunakan acr120. aq masih bingung buat akses datanya. aq mengakses dta dari chip microcontroller. Mungkin ada yang bisa menemukan solusinya codenya ?
Mas iang, aku mau buat aplikasi dengan menggunakan C# nie, tapi samasekali belum tau apa yang harus dilakuin pertama kali, bisa bantu ga mas??
Aku punya ACR38 dan 4 buah card (warna putih, tanpa gambar), sepertinya ini 16KB.
Apa yang aku perlukan agar bisa menulis dan membaca data dari smart card?
Tolong dibantu ya mas...
Makasi...
Mas Iang & all,
Saya mau membuat TA dengan aplikasi smart card. Untuk membuat aplikasi dengan smart card ini bahasa pemrograman apa yang bisa dipakai? Beli alatnya dimana?
Saya mencoba mengakses link http://smartcard.ui.edu tapi tidak bisa.
Mohon bantuannya.
Thx