Java Card July 20, 2007
Posted by Dedy Rustandi in Java.trackback
Spesifikasi Java Card
Java card umumnya memiliki 8 atau 16 bit yang berjalan pada 3.7 MHz dengan RAM 1K dan lebih dari 16K memory non-volatile. Selain itu juga dilengkapi dengan cryptographic chip dan memory untuk enkripsi.
Pada teknologi Java card versi 2.2, terdiri atas 3 bagian :
- Java Card Virtual Machine
Mendefinisikan subset bahasa pemrograman Java dan virtual mesin untuk Smart card
- Java Card Runtime Environment
Mendefinisikan lingkungan runtime untuk Smart card berbasiskan java
- Java Card API
Mendefinisikan inti framework, Java packages dan kelas-kelas untuk aplikasi Smart card
Sun juga menyediakan Java Card Development Kit (JCDK), dimana terdapat sebuah implementasi referensi dari Java Card RE dan Java Card VM, dan tool-tool lain yang sangat membantu kita dalam mendevelop Java Card applet.
Elemen Aplikasi Java Card
Sebuah aplikasi Java card yang lengkap terdiri atas aplikasi back-end dan beberapa sistem, sebuah aplikasi host (off-card), sebuah device interface (card reader), applet pada kartu, user credentials, dan software penunjang. Semua elemen ini bersama-sama membentuk sebuah aplikasi end-to-end yang secure.
Umumnya aplikasi Java card tidak berdiri sendiri, setidaknya terdapat card-side, reader-side dan elemen back-end.
1. Aplikasi Back-End dan Sistem
Aplikasi back-end menyediakan service yang mendukung Java applets. Contohnya, sebuah aplikasi back-end dapat menyediakan koneksi pada security sistem, dengan in-card credentials menyediakan sekuritas yang tinggi. Pada sistem pembayaran elektronik, aplikasi back-end dapat memberikan akses untuk kartu kredit dan informasi pembayaran yang lain.
2. Aplikasi Reader-Side
Aplikasi host terletak pada desktop atau terminal seperti PC, terminal pembayaran elektronik, handphone, atau subsistem security. Aplikasi host menangani komunikasi antara user, Java card applet dan aplikasi back-end. Vendor Smart card umumnya menyediakan tidak hanya development kit, tapi juga API untuk mendukung aplikasi reader-side.
Card Acceptance Device (CAD)
Adalah interface yang terletak diantara aplikasi host dan Java Card device. Sebuah CAD menyediakan power pada kartu, seperti listrik atau bisa juga Radio Frequency. Sebuah CAD dapat berupa card reader yang tersambung pada desktop komputer menggunakan serial port, atau dapat juga terintegrasi dalam sebuah terminal seperti alat pembayaran elektrik pada restaurant atau pada pom bensin. Device Interface memforward perintah Application Protocol Data Unit (APDU) dari aplikasi host ke kartu. Kemudian memforward response dari kartu ke aplikasi host. Beberapa CAD memiliki sebuah keyboard untuk memasukkan PIN dan sebuah display kecil.
3. Card-Side applets
Platform Java Card terdiri dari beberapa aplikasi. Seperti pada gambar 4 diatas, satu atau lebih Java card applets dapat terletak pada satu kartu bersama dengan software pendukung, operating system dan JCRE. Java Card Runtime Edition terdiri atas Java Card Virtual mesin, Java Card Framework dan beberapa API ekstensi.
Semua applet java card harus meng-extend Applet base class dan harus mengimplementasikan method install() dan process(). JCRE akan mengeksekusi install() saat menginstall applet, dan mengeksekusi process setiap kali ada APDU yang masuk.
Java Card applet akan di-instance ketika pertama kali dimasukkan dan tetap ada meskipun powernya dimatikan. Sebuah applet card bertindak seperti server dan bersifat pasif. Setelah kartu dihidupkan, masing-masing applet bersifat inactive hingga dipilih. Applet akan aktif ketika ada APDU yang mengakses applet tersebut.




Hi Dedy
Artikel yang menarik, btw apakah anda punya pengalaman membuat Java applet di Smart Card,Kl boleh saya ingin mengenal lebih dalam tentang programming Java untuk Smart Card, Mungkin ada hal hal yang kita bisa kerjakan bersama dan siapa tahu bisa makes money….:D
Thanks
@Kurniawan
Salam kenal.TA saya dulu membuat aplikasi Java Card, baik aplikasi Appletnya maupun dari sisi clientnya..Btw, situ dari softorb ya? aq dulu pernah presentasi TA di depan perwakilan softorb dari hongkong.
Maunya sih artikelnya aq update lebih dalam..berhubung belum ada yg resppon ya aq biarin aja..hehe..oke ntar aq update lagi artikelnya..
Makes money??boleh..tapi apaan ya??
salam kenal mas dedy
mas kita mau nanya gimana source codenya klo mau nulis|hapus data dan baca data ke smart cardnya? tolong ini tugas ADT sudah mau deadline…… dosen pak daniel.
thanx
TC ITS
@hermawan
wah..klo itu panjang ceritanya..bisa dibaca di buku TA ku
NRPku 5102100002
klo g ngerti bisa nanya
mas, program untuk converter ke hexadesimalnya kok nggak ada, itu kan baru bisa ditulis klo sudah digenerate ke hexa.. klompok lain pake vb tp pake cardnya yg omneykey contacless, tp yg pake gemplus ndak ada, makanya aq nyoba pake yg gemplus…
mas… bisa gak konsultasi Smartcard dengan mas buat TA nech.. saya gak tahu sama sekali langkah awal yang harus aku lakukan untuk membuat smartcard (java card) itu apa ??? (:-) tolong dunkz
Andien – September 13, 2008
mas… bisa gak konsultasi Smartcard dengan mas buat TA nech.. saya gak tahu sama sekali langkah awal yang harus aku lakukan untuk membuat smartcard (java card) itu apa ??? (:-) tolong dunkz
Waduhhh gawat….mending cari topik TA yg lain aja dek….
bagi yg pengen tanya ttg Smartcard bisa contact japri via email dr_corp@yahoo.com
wah mantab donk pake java card..
dulu TA pake SLE4442 sama mifare
tapi klo di tanya .. dah lupa..:d
salam kenal mas deddy..
baca artikelnya jadi pingin belajar smart card lagi..
btw klo beli reader dan kartunya dimana ya? di akiba?
help…help….hehehe
halo,salam kenal saya sapu-surabya
mas numpang tanya tertarik dengan java card (walaupun belum pernah pakai java).apa berkenan untuk bantu saya belajar?saya ingin bisa….saya ada rencana buat menu di dalam simcard.dimana ntar ujung”nya ntar dikirim lewat sms ato gprs.
Mohon bantuannya
slam kenal
sapu-surabaya
Mas saya mau tanya dong tentang java card…
Gimana cara Merubah file *.class menjadi file *.cap yang nantinya akan saya install di dalam kartu…
Mohon bantuannya….
Untuk siapa saja yang tahu Mohon Bantuannya…
Sebelumnya Terima Kasih….
kalau bisa kasih referensi nya dung biar kita2 juga bisa belajar….
kalau untuk beli kartu dan reader dimana ya?