40
I. Pendahuluan 1.1. Latar Belakang Penelitian 1.1.1. Aspek Smartcard Dewasa ini di negara Indonesia smartcard semakin luas penggunaannya di berbagai sektor. Fitur keamanan bertransaksi yang tinggi, dukungan multi aplikasi dalam satu kartu, serta kenyamanan dalam penggunaan menjadi faktor utama meningkatnya tren penggunaan smartcard. Mulai dari sektor akademis, telekomunikasi, transportasi, kesehatan hingga pemerintahan sudah menggunakan teknologi kartu ini. Tidak seperti pemakaian smartcard di bidang telekomunikasi dan perbankan yang menggunakan standard yang sama yaitu misalnya GSM ataupun CDMA untuk telekomunikasi dan EMV untuk perbankan, implementasi di bidang-bidang lain seperti akademis dan transportasi belum menerapkan skema yang terstandarisasi. Sehingga masing-masing pengembangan menerapkan cara masing-masing dalam implementasi smartcard. Selain keragaman standard sistem smartcard, penggunaan perangkat keras pemroses kartu juga berbeda-beda. Fenomena ini menyebabkan smartcard menjadi lebih sulit digunakan dalam skema silang layanan antar sistem atau antar vendor. Kemampuan smartcard yang berfungsi sebagai satu kartu multi layanan menjadi tidak berarti lagi. Itu artinya, satu smartcard hanya bisa digunakan untuk mengakses satu layanan tertentu saja. Dengan adanya standardisasi ini, diharapkan satu smartcard bisa digunakan untuk mengakses berbagai layanan. 1.1.2. Aspek Hardware Pengakses Smartcard Pada umumnya, hardware pengakses smartcard dibuat menggunakan mikroprosesor 8 bit yang umum terdapat di pasaran. Hal ini membuat mikroprosesor tidak bisa menangani program yang rumit dan periferal yang banyak. Ketahanan hardware juga menjadi kurang karena menggunakan komponen kualitas rendah. Hardware yang memanfaatkan smartcard biasanya adalah alat-alat yang dihidupkan dalam waktu yang lama sehingga butuh kehandalan yang tinggi. Alat juga harus berinteraksi dengan smartcard serta periferal yang lain dan melakukan operasi-operasi enkripsi dan dekripsi terhadap data smartcard. Mikroprosesor di dalamnya harus mampu menangani operasi- operasi dan struktur program yang rumit. Oleh karena itu hardware membutuhkan dukungan mikroprosesor 32 bit yang lebih tangguh dari mikroprosesor 8 bit yang tersedia di pasaran. Proses perakitan juga perlu mendapat perhatian untuk menjamin ketahanan dan keawetan alat dan mempermudah perawatan alat.

LAPORAN KEMAJUAN KEGIATAN PENELITIANte.ugm.ac.id/~enas/rusnas-report/LAPORAN AKHIR KEGIATAN... · Dengan adanya standardisasi ini, diharapkan satu smartcard bisa ... smartcard serta

Embed Size (px)

Citation preview

I. Pendahuluan

1.1. Latar Belakang Penelitian

1.1.1. Aspek Smartcard

Dewasa ini di negara Indonesia smartcard semakin luas penggunaannya di

berbagai sektor. Fitur keamanan bertransaksi yang tinggi, dukungan multi aplikasi dalam

satu kartu, serta kenyamanan dalam penggunaan menjadi faktor utama meningkatnya

tren penggunaan smartcard. Mulai dari sektor akademis, telekomunikasi, transportasi,

kesehatan hingga pemerintahan sudah menggunakan teknologi kartu ini.

Tidak seperti pemakaian smartcard di bidang telekomunikasi dan perbankan yang

menggunakan standard yang sama yaitu misalnya GSM ataupun CDMA untuk

telekomunikasi dan EMV untuk perbankan, implementasi di bidang-bidang lain seperti

akademis dan transportasi belum menerapkan skema yang terstandarisasi. Sehingga

masing-masing pengembangan menerapkan cara masing-masing dalam implementasi

smartcard. Selain keragaman standard sistem smartcard, penggunaan perangkat keras

pemroses kartu juga berbeda-beda. Fenomena ini menyebabkan smartcard menjadi lebih

sulit digunakan dalam skema silang layanan antar sistem atau antar vendor. Kemampuan

smartcard yang berfungsi sebagai satu kartu multi layanan menjadi tidak berarti lagi. Itu

artinya, satu smartcard hanya bisa digunakan untuk mengakses satu layanan tertentu

saja. Dengan adanya standardisasi ini, diharapkan satu smartcard bisa digunakan untuk

mengakses berbagai layanan.

1.1.2. Aspek Hardware Pengakses Smartcard

Pada umumnya, hardware pengakses smartcard dibuat menggunakan

mikroprosesor 8 bit yang umum terdapat di pasaran. Hal ini membuat mikroprosesor tidak

bisa menangani program yang rumit dan periferal yang banyak. Ketahanan hardware juga

menjadi kurang karena menggunakan komponen kualitas rendah. Hardware yang

memanfaatkan smartcard biasanya adalah alat-alat yang dihidupkan dalam waktu yang

lama sehingga butuh kehandalan yang tinggi. Alat juga harus berinteraksi dengan

smartcard serta periferal yang lain dan melakukan operasi-operasi enkripsi dan dekripsi

terhadap data smartcard. Mikroprosesor di dalamnya harus mampu menangani operasi-

operasi dan struktur program yang rumit. Oleh karena itu hardware membutuhkan

dukungan mikroprosesor 32 bit yang lebih tangguh dari mikroprosesor 8 bit yang tersedia

di pasaran. Proses perakitan juga perlu mendapat perhatian untuk menjamin ketahanan

dan keawetan alat dan mempermudah perawatan alat.

1.2. Permasalahan yang Dipecahkan

Masalah yang dipecahkan oleh penelitian ini adalah sebagai berikut:

a. Penggunaan smartcard yang belum optimal sebagai multi purpose card. Smartcard

pada dasarnya bisa dipakai untuk melayani berbagai macam aplikasi. Pada

kenyataannya, pemakaian smartcard dalam berbagai aplikasi masih saling

terpisah. Belum ada silang layan antar aplikasi. Sebagai contoh adalah

pemakaian smartcard di UGM. Mahasiswa UGM sudah menggunakan smartcard

sebagai kartu mahasiswa, tetapi kartu tersebut hanya dipakai sebatas tanda

pengenal saja. Fungsi kartu sebagai suatu smartcard-nya belum dimanfaatkan.

Contoh yang lain adalah pada sistem tiket bus Trans Jogja. Smartcard pada

aplikasi tersebut hanya digunakan sebagai tiket dan tidak bisa digunakan untuk

aplikasi lain. Penelitian ini akan diarahkan pada penerapan multi aplikasi pada

satu smartcard dengan case study pada bidang transportasi dan akademis.

b. Reliabilitas hardware pengakses smartcard masih kurang. Reliabilitas mencakup

ketahanan hardware terhadap lingkungan, kemampuan hardware berinteraksi

dengan dengan smartcard, kemampuan mikrokontroler mengatasi banyak periferal

dan kemudahan penggunaan.

1.3. Tujuan Khusus Penelitian

Riset ini bertujuan untuk memberikan usulan standard interoperabilitas baik untuk

sistem maupun struktur dalam kartu, serta mekanisme komunikasi kartu dengan hardware

pemrosesnya.

1.3.1. Aspek Smartcard

Riset dibatasi pada implementasi di bidang akademis dan transportasi sebagai

studi kasus. Pemilihan bidang transportasi disebabkan gencarnya implementasi

smartcard sebagai pengganti tiket kertas di sistem transportasi massal yang diterapkan

oleh departemen perhubungan. Pada sektor akademik pemanfaatan smartcard juga

makin luas di berbagai kampus maupun universitas, sehingga implementasi standar

interoperabilitas ini sangat tepat untuk dikembangkan. Pada riset ini akan dikembangkan

standar interoperabilitas memungkinkan silang layan antar mode transportasi, sekaligus

silang layan antar universitas. Secara bersama-sama kartu akademis dapat pula

digunakan sebagai kartu transportasi. Untuk mengembangkan standardisasi ini, akan

dipelajari juga beberapa standar smartcard yang telah digunakan di berbagai negara yaitu

di Inggris dan Singapura.

1.3.2. Aspek Hardware Pengakses Smartcard

Pada penelitian ini akan dikembangkan prototype hardware yang mendukung

pengaksesan smartcard untuk keperluan akademis maupun transportasi. Pengembangan

hardware diarahkan pada keandalan, kemudahan berinteraksi dengan pengguna dan

kemampuan berinteraksi dengan smartcard. Hardware juga dirancang untuk diberi

aplikasi enkripsi smartcard. Pada riset ini sistem mikrokontroler dirancang sehingga

mampu dihubungkan dengan berbagai periferal.

II. Studi Pustaka

Smartcard merupakan kartu plastik seukuran kartu magnetik atau kartu kredit

biasa yang dilengkapi dengan suatu chip yang dapat menyimpan informasi di dalamnya

( Kilicli, 2001). Ada dua penggolongan smartcard berdasar kemampuan komputasinya

• Smartcard tanpa prosesor di dalamnya (Memory card)

• Smartcard dengan prosesor di dalamnya (orang cenderung mengasosiasikan kata

smartcard dengan kartu memori dengan kemampuan komputasi, dan dalam tulisan ini

penggunaan kata smartcard selalu mengacu pada jenis smartcard ini)

Smartcard juga dapat digolongkan berdasarkan ada-tidaknya kontak elektris ataupun

interface akses untuk melakukan transaksi data antara smartcard dan terminal (reader)

yaitu (Rankl, 2003):

• Contact Smartcard – terdapat konektor chip berupa lempengan tembaga yang

menjembatani aliran sinyal elektrik antara chip dan reader

• Contactless smartcard – tidak ada kontak langsung antara kartu dan reader, transfer

data melalui sinyal elektromagnetik yang terjadi karena adanya induksi medan

elektromagnetik yang dipancarkan oleh reader dan dipancarkan ulang oleh chip

smartcard melalui suatu antena.

• Combo smartcard – merupakan gabungan antara kedua jenis smartcard di atas.

Chip smartcard terdiri atas beberapa bagian sebagaimana layaknya sebuah

microcontroler, yaitu (Rankl, 2003) :

• Central processing unit (CPU)

• Random access memory (RAM)

• Read only memory (ROM)

• Erasable electronicaly programmable read only memory (EEPROM)

Smartcard dikembangkan oleh beberapa perusahaan semikonduktor ternama

dengan detail implementasi dan teknologi yang berbeda-beda sehingga diperlukan suatu

standar yang menjembatani interoperabilitas di lapangan. Spesifikasi teknis smartcard

dijabarkan secara mendetail dalam dokumen standar ISO 7816 (ISO,1994), yang

meliputi :

1. Karakteristik fisik dari kartu

2. Dimensi dan posisi kontak elektris dari kartu

3. Sinyal dan protokol komunikasi data

4. Standar instruksi untuk berkomunikasi dengan smartcard

Sebagai teknologi baru, smartcard menawarkan beberapa fitur yang lebih

daripada yang ditawarkan oleh kartu magnetik, antara lain ( Zoreda, 1994) :

a. Lebih aman dengan proteksi kunci kriptografik sehingga memungkinkan pemangkasan

biaya operasional yang mengharuskan adanya autentifikasi transaksi secara online

b. Dibandingkan dengan teknologi kartu magnetik, smartcard memiliki ukuran

penyimpanan data yang relatif lebih besar sehingga dengan satu kartu memungkinkan

banyak layanan yang bisa diakses

c. Lebih membuka peluang yang memungkinkan lebih banyak pengembang yang dapat

bergabung sehingga makin banyak layanan yang akan ditawarkan kepada pengguna

2.1. Organisasi File Smartcard

Data yang tersimpan dalam suatu smartcard disusun dalam suatu struktur yang

mirip dengan struktur direktori pada sistem operasi DOS ataupun Linux. Pada smartcard

hanya terdapat dua lapis direktori, dan tiap lapis direktori hanya bisa menyimpan sampai

63 file anak. File dalam smartcard dibedakan menjadi dua yaitu directory file (DF) dan

elementary file (EF) (Gemplus, 2001). Dua lapis struktur direktori pada smartcard bisa

diistilahkan sebagai global level dan local level, diilustrasikan pada Gambar 1.

Sebuah master file (MF) merupakan file root dan hanya terdapat satu buah dalam

tiap smartcard. Master file memiliki id 3F 00 dan dibawahnya terdapat satu elementary file

dengan id 3F 01 yang dipakai sebagai penyimpan system key.

Elementary file 3F 01 tersebut merupakan kunci gerbang autentifikasi untuk

memulai sesi pengoperasian data di dalam smartcard (Gemplus, 2001).

2.2. Format Instruksi Smartcard

Perintah-perintah yang dikirim melalui terminal reader ke smartcard untuk

memanipulasi data yang tersimpan di dalamnya adalah rangkain application data unit

(APDU).

Gambar 1. Struktur file smartcard

Rangkaian apdu tersebut tersusun mengikuti format instruksi yang diatur dalam

bagian empat dokumen standar ISO 7816. Sebuah instruksi dikelompokan menjadi dua

yaitu bagian header dan bagian body. Bagian header menentukan jenis instruksi beserta

parameternya sedangkan bagian body merupakan data yang akan dioperasikan ke

smartcard yang bersangkutan. Komponen-komponen header dan body sebuah instruksi

didefinisikan seperti pada Gambar 2.

Gambar 2. Format apdu instruksi smartcard

Penjelasan komponen-komponen sebuah instruksi smartcard tersebut dijabarkan pada

Tabel 1.

2.3. Studi tentang standar smartcard ITSO dan implementasinya

Data disimpan pada kartu secara elektronis. Data ini disusun dalam sebuah

arsitektur yang dirancang sedemikian rupa sehingga dapat memenuhi kebutuhan untuk

menyimpan berbagai tipe dan macam produk, dan dapat digunakan pada berbagai

macam jenis kartu. Berdasarkan dokumentasi ITSO (ITSO, 2008), Arsitektur ITSO terdiri

dari tiga lapisan yang terpisah, yang ditunjukkan pada gambar 3.

Tabel 1 Format instruksi smartcard

Lapis Aplikasi

Lapis Produk

Lapis Media

Gambar 3. Arsitektur logik struktur kartu

Dari gambar tersebut ditunjukkan bahwa satu buah media (kartu) dapat memiliki

satu aplikasi atau lebih. Untuk setiap satu aplikasi, dapat memiliki lebih dari satu produk.

2.3.1. Lapis media

Lapisan ini merupakan lapisan yang di dalamnya bisa terdiri dari jenis-jenis kartu

atau medium yang dapat digunakan menyimpan data-data secara elektronis. Sebagai

contoh jenis kartu yang beredar luas di pasar misalnya kartu Mifare 1K/4K, Mifare

Ultralite, JCOP, dan Calypso.

2.3.2. Lapis shell

Lapisan ini merupakan lapisan yang di dalamnya berupa data yang

menginformasikan tentang perusahaan yang resmi menerbitkan kartu tersebut.

Perusahaan itulah yang bertanggung jawab terhadap layanan yang dikandung oleh kartu

tersebut.

2.3.3. Lapis produk

Lapis produk merupakan lapisan yang menjadi lokasi di mana tiap-tiap aplikasi

menempatkan data-data yang spesifik terkait dengan layanannya.

Data yang akan disimpan pada smartcard secara logika juga dipisahkan dalam satu

satuan yang dinamakan dengan grup data. Grup data ini berisi data-data yang

menginfomasikan berbagai hal terkait dengan aplikasi atau produk yang tersimpan pada

kartu. Sebuah grup data secara umum terdiri atas empat bagian sesuai yang ditunjukkan

pada gambar 4, yaitu:

Label

Isi Data

Instans

Seal

Berfungsi sebagai bagian yang mendeskripsikan grup data secara keseluruhan

Merupakan bagian utama dari suatu grup data.

Merupakan bagian dari grup data yang digunakan untuk mengidentifikasikan segala perubahan pada grup data

Merupakan bagian dari grup data yang dapat digunakan untuk verifikasi keseluruhan grup data

Gambar 4. Bagian-bagian dari Grup Data

- Label

Label merupakan bagian dari Grup Data yang berfungsi untuk mengidentifikasi dan

menginfomasikan isi grup data secara keseluruhan.

- Isi Data

Bagian ini merupakan bagian utama dari Grup Data.

- Instans

Bagian ini merupakan bagian dari grup data yang digunakan untuk menginfomasikan

perubahan pada grup data. Bagian ini diubah ketika ada perubahan pada grup data.

- Seal

Seal merupakan bagian yang dapat digunakan untuk memverifikasi keseluruhan grup

data.

Seperti ditunjukkan pada gambar 5, dalam suatu kartu, terdapat empat buah grup data

yang dapat disimpan, yaitu:

1. Grup data aplikasi

2. Grup data direktori

3. Grup data produk

4. Grup data log

Gambar 5. Pembagian-pembagian Grup Data

Aplikasi

Direktori

Aplikasi 1

Aplikasi 2

Aplikasi n

...

Log

III. Metode Penelitian.

3.1. Persiapan

Persiapan pelaksanaan RUSNAS 2009 dengan judul “Aplikasi Smartcard dalam

Bidang Akademis dan Transportasi” bisa dibagi menjadi kegiatan sebagai berikut:

3.1.1. Mempelajari berbagai standar struktur kartu

Untuk menerapkan Smartcard dalam multi-aplikasi, diperlukan suatu standar

yang bisa mendukung berbagai aplikasi. Suatu sistem layanan berbasis smartcard juga

dimungkinkan diakses dengan tipe smartcard yang berbeda-beda. Oleh karena itu, suatu

standar smartcard dibutuhkan untuk menjadi suatu kerangka kerja bagi smartcard multi-

aplikasi dan sistem dengan smartcard multi-tipe. Saat ini, beberapa negara sudah mulai

menerapkan smartcard secara multi-aplikasi seperti Singapura dan Inggris. Dokumen-

dokumen standar smartcard dari pengembang-pengembang di negara tersebut dipelajari

untuk kemudian ditentukan standar mana yang akan dipakai.

3.1.2. Membuat perbandingan teknologi antar beberapa jenis kartu

Pembandingan teknologi antar smartcard akan menghasilkan suatu rekomendasi,

teknologi mana yang akan digunakan. Smartcard dengan teknologi yang berbeda

ternyata juga mempunyai cara pengaksesan yang berbeda. Termasuk di dalamnya

adalah enkripsi data yang disimpan di smartcard. Smartcard yang direkomendasikan

adalah yang datanya terenkripsi dengan cukup aman, sulit untuk dibobol baik pada kartu

maupun pada sistem, serta smartcard tersebut harus cukup ekonomis.

3.1.3. Studi tentang sistem mikroprosesor yang akan digunakan

Teknologi yang dikembangkan beberapa di antaranya akan diterapkan di piranti

embedded. Peralatan embedded yang dikembangkan antara lain door access, mesin

tiket, dan terminal Point Of Sales. Hal-hal yang perlu diperhatikan adalah lebar bit data

prosesor, kecepatan prosesor, kapasitas penyimpanan program, dan kapasitas memori

data untuk pengolahan. Sebagai platform, dipilih komputer embedded dengan

mikroprosesor ARM 9 yang mempunyai lebar data 32 bit. Setelah memilih

mikroprosesor, berikutnya adalah pemilihan sistem komputer embedded berbasis ARM 9

yang tersedia di pasaran. Pemilihan berdasarkan kapasitas memori program dan data.

3.1.4. Persiapan hardware dan software

Instalasi komputer dan software yang dibutuhkan untuk pengembangan piranti

embedded yaitu sistem operasi Linux dan compiler arm-linux-gcc. Hardware yang

digunakan adalah SBC (single board computer) dengan prosesor ARM 9. SBC sudah

mempunyai sistem operasi Linux.

3.2. Proses Pelaksanaan Penelitian

3.2.1. Pemilihan Rekomendasi Standar Struktur Kartu dan Pengembangannya

Standar smartcard yang dipelajari untuk pengembangan smartcard multi-aplikasi

ada dua pilihan sebagai berikut:

- CePAS (Contactless e-Purse Application)

CePAS adalah standardisasi struktur smartcard yang berlaku di Singapura.

Standar ini didapat dengan cara membeli dari pengembang CePAS. CePAS lebih focus

pada penggunaan uang elektronik (e-purse) yang disimpan di dalam sistem smartcard.

Standard ini menjabarkan tentang proses debit (pengurangan nilai uang) dan proses

kredit (penambahan nilai uang). Didalam standard dibahas pula tentang mekanisme

pengamanan dan komputasi algoritma enkripsi. Skema standard ini kurang fleksibel

untuk diterapkan sebagai standard identitas universitas. Namun dapat diterapkan dalam

skema e-purse untuk transaksi mikro di lingkungan kampus. Standard penyimpanan data

tidak dibahas dalam dokumen ini, namun mengacu ke standard lain.

- ITSO (Integrated Transport Smartcard Organisation)

Standar ini digunakan di negara Inggris Raya. ITSO bermula dari penggunaan

smartcard untuk sistem transportasi. Tujuan utamanya adalah aspek interoperabilitas

baik layanan maupun sistem. Sistem disini mencakup kartu, reader, host computer dan

mekanisme keamanan serta komunikasi data. Standard ITSO memungkinkan satu kartu

berisi bermacam produk. Strukturnya terdiri dari ITSO Shell, Directory dan Product Entity.

Dalam perkembangannya ITSO dapat menyimpan identitas pengguna, sehingga

dapat diterapkan tidak hanya di lingkungan transportasi namun juga dapat digunakan

sebagai identitas mahasiswa. Standar struktur kartu dari ITSO ini bisa didapatkan

dengan cuma – cuma.

3.2.1.1. Pemilihan ITSO

Standard ITSO dipilih karena dukungan interoperabilitas yang ditawarkan. Skema

dukungan terhadap banyak tipe kartu juga menjadi kelebihan dari standard ini. ITSO

merupakan Open Standard yang dapat diadopsi dan memiliki dokumentasi yang sangat

lengkap.

ITSO mendukung kartu dengan tipe storage card hingga processor card. Sehingga

untuk implementasi berbiaya murah dapat memanfaatkan skema sistem ITSO dengan

kartu storage card saja.

2.2. Penentuan rekomendasi teknologi smartcard

Untuk menentukan teknologi smartcard yang akan direkomendasikan, terlebih

dahulu dilakukan studi komparasi terhadap beberapa teknologi smartcard, yaitu Mifare

Classic MF1S50, Mifare Classic MF1S70, DesFire MF3ICD40, dan ATMEL AT88RF020.

Fitur-fitur yang dibandingkan adalah antarmuka RF, spesifikasi EEPROM, dan security.

Perbandingan antara beberapa jenis kartu tersebut bisa dijelaskan dalam tabel 2,3 dan 4

berikut:

Tabel 2. Perbandingan RF interface

Tabel 3. Kapasitas EEPROM masing-masing kartu

Perbandingan Mifare Clasic 1K MF1S50

Mifare Clasic 1K MF1S70

DesFire MF3 IC D40

ATMELAT88RF020

Organisasi Memori

1 Kbyte, 16 Sector dengan 4 blok, 16 bytes tiap blok

4 Kbyte, 32 Sector dengan 4 blok dan 8 sektor dengan 16 blok, 16 bytes tiap blok

4 kbyte 2048 bit, 32 64-bit pages

Waktu Tulis Tidak ditentukan Tidak ditentukan

2 ms (1 ms hapus, 1ms program

3 ms

Data Retention

10 th 10 th 10 th

Ketahanan tulis

100.000 kali 100.000 kali 100.000 kali 100.000 kali

No Perbandingan Mifare Clasic 1K MF1S50

Mifare Clasic 1K MF1S70

DesFire MF3 IC D40

ATMELAT88RF020

1. Jangkauan Operasi

100 mm 100 mm 100 mm Tidak ditentukan

2. Frekuensi Operasi

13.56 MHZ 13.56 MHZ 13.56 MHZ 13.56 MHZ

3. Kecepatan Transfer Data

106 kbits/s 106 kbits/s 106, 212, 424 kbits/s

106 kbps

4. Tinggi Integritas Data

16 Bit CRC, parity, bit coding, bit counting

16 Bit CRC, parity, bit coding, bit counting

4 Byte MAC, 16 Bit CRC, parity, bit coding, bit counting

2 byte CRC

5. Anticollision True Anticollision

True Anticollision

Deterministic Anticollision

Sesuai ISO 14443-3

Tabel 4. Perbandingan Security antar teknologi kartu

Hal Mifare Clasic 1K MF1S50

Mifare Clasic 4K MF1S70

DesFire MF3 IC D40

ATMELAT88RF020

Autentikasi Autentikasi three pass secara timbal balik

Autentikasi three pass secara timbal balik

Autentikasi three pass secara timbal balik

Cek Password

Enkripsi data

Enkripsi data pada RF-channel dengan proteksi terhadap serangan reply

Enkripsi data pada RF-channel dengan proteksi terhadap serangan reply

Enkripsi data Hardware DES/3DES pada RF-channel dengan proteksi terhadap serangan reply

data locking, ,

Penggunaan Key

Menggunakan 2 key per sector untuk menunjang aplikasi dengan key-hierarcy

Menggunakan 2 key per sector untuk menunjang aplikasi dengan key-hierarcy

Autentikasi pada level aplikasi

Pencacah satu arah

Serial Number

Nomor seri yang unik pada tiap piranti

Nomor seri yang unik pada tiap piranti

Nomor seri 7 byte yang unik tiap piranti

Nomor seri yang unik pada tiap piranti

Smartcard yang dipakai khususnya sebagai kartu mahasiswa Universitas Gadjah

Mada dan Tiket TransJogja serta TransJakarta adalah Mifare Classic. Berdasarkan fakta

tersebut, akan lebih mudah dalam aplikasi dan integrasi jika dalam penelitian ini

digunakan Mifare Classic.

3.2.3. Studi dan aplikasi piranti embedded untuk pengaksesan smartcard

Piranti embedded yang digunakan untuk pengembangan piranti berbasis

smartcard adalah sistem mikroprosesor dalam bentuk SBC (Single Board Computer).

SBC yang digunakan berbasis mikroprosesor ARM 9 dengan seri Mini2440 keluaran

Samsung. SBC ini sudah dilengkapi dengan sistem operasi Linux. Spesifikasi SBC ini

ditunjukkan oleh tabel 5 berikut.

Tabel 5. Spesifikasi Mini2440

Item SpesifikasiProsesor Samsung S3C2440 (ARM920T core) dengan clock efektif

533MHz

Memory 64MB SDRAM (up to 100MHz)

Flash memory 64MB NAND flash; 2MB NOR flash

Layar LCD layar sentuh; opsional untuk LCD 3.5 atau 7 inchi

Jaringan komputer

1 x 10/100 Ethernet RJ-45 interface (DM9000 chip)

USB 1 x USB Host; 1 x USB Slave (B-type interface)

Antarmuka I/O 1 x 34-pin 2.0mm GPIO interface

Dimensi 3.9 x 3.9 inches (100 x 100mm)

Sistem Operasi Linux 2.6.13

Tegangan Operasi

5 VDC 1.5 A

Pembuatan program aplikasi untuk SBC ini dilakukan di komputer (PC) dengan

sistem operasi linux. Untuk mengembangkan aplikasi smartcard berbasis SBC ini

dilakukan langkah-langkah berikut.

a. Mempersiapkan platform linux pada SBC

Linux yang diinstal pada SBC adalah Linux versi 2.6.13 dengan distribusi

angstromlinux. Distribusi Linux ini sudah diset khusus untuk dijalankan pada platform

Mini2440.

b. Membuat antarmuka antara SBC dengan smartcard reader(SCR)

Smartcard reader yang digunakan adalah ACR122. Piranti ini mempunyai

antarmuka USB. Driver untuk piranti ini sebenarnya hanya tersedia untuk PC dibawah

Windows atau Linux. Untuk menjalankan SCR digunakan standar PCSC (PC –

Smartcard) dan diperlukan suatu layanan PCSC daemon (PCSCD). Supaya SCR bisa

dijalankan di SBC, komponen penyusun layanan PCSCD di-compile ulang di komputer

dengan sistem operasi yang kompatibel dengan Linux 2.6.13 seperti pada SBC.

Komponen-komponen yang dibutuhkan untuk menginstal layanan PCSCD adalah:

- libusb

- pcsc-lite

- libccid

- pcsc-tools

Komponen tersebut di-cross-compile di PC kemudian dikopikan ke SBC sehingga SBC

dapat menjalankan layanan PCSC daemon dan bisa berkomunikasi dengan smartcard

reader.

c. Pengembangan aplikasi sederhana berbasis smartcard pada SBC

Setelah SBC bisa berkomunikasi dengan smartcard reader, tahap berikutnya

adalah mengembangkan suatu aplikasi sederhana untuk baca dan tulis smartcard Mifare

classic. Program yang dikembangkan sampai tahap ini berupa program sederhana.

Program ini akan menjadi dasar bagi pengembangan aplikasi selanjutnya yang lebih

kompleks.

3.2.4. Penerapan standar ITSO pada sistem smartcard

a. Konsep umum

Suatu smartcard bisa dipandang sebagai suatu media penyimpan. Untuk

pembuatan struktur smartcard yang mendukung interoperabilitas, penelitian ini

mengadopsi pola pikir struktur media penyimpanan yang sudah lazim digunakan seperti

disk. Media penyimpan pada komputer menggunakan file system untuk mengorganisasi

berkas-berkas yang tersimpan. File system ini menentukan metode penyimpanan, cara

pembacaan dan penulisan berkas dalam suatu media. Selain itu pada ranah media

penyimpan di komputer juga ada istilah direktori, yang mengarahkan komputer pada

suatu file/data yang akan diakses.

Pada penelitian ini, pada kartu juga dibuat suatu file system untuk mengorganisasi

data-data produk yang akan disimpan. File system ini dibuat dengan mengikuti standar

ITSO. Lapisan ITSO yang ditunjukkan pada gambar 3 dijabarkan lagi pada gambar 6

berikut dan dianalogikan dengan disk sesuai dengan tabel 6.

Gambar 6. Penjabaran lapisan pada ITSO

Media layer

Shell/ file system

directory

Product / data

Lapisan aplikasi

Lapisan produk

Tabel 6. Analogi disk dengan smartcard

Istilah media penyimpan komputer / disk

Istilah smartcard standar ITSO

Filesystem (ext3, FAT, NTFS)

Direktori

File / berkas / aplikasi

Shell (format tergantung pengembang)

Direktori

Produk

Dengan demikian, suatu smartcard bisa menampung dan memfungsikan

beberapa produk dengan mudah seperti disk yang bisa menampung banyak aplikasi.

Pada smartcard juga bisa ditambah dengan suatu produk baru seperti menginstal suatu

aplikasi pada komputer. Banyaknya macam produk yang bisa disimpan pada kartu

tergantung dari ukuran kartu. Tata cara instalasi produk pada kartu mentaati aturan yang

ditetapkan oleh pengembang shell kartu tersebut.

Pada standar ITSO juga telah ditetapkan tata-cara pengaksesan data pada suatu

kartu. Suatu data akan diakses baca maupun tulis dengan urutan tertentu. Flowchart

pengkasesan data produk suatu kartu pada skema ITSO ditunjukkan pada gambar 7.

Penambahan produk dijelaskan dalam flowchart pada gambar 8. Untuk

menambahkan suatu produk pada kartu, akan dilihat dahulu direktorinya. Dari direktori

tersebut akan diketahui ruang yang masih tersedia untuk produk baru. Jika masih ada

ruang, produk baru memungkinkan untuk ditambahkan. Setelah itu, data awal yang

berkaitan dengan produk baru tersebut akan dituliskan ke datagroup produk.

b. Penerapan Skema ITSO pada struktur penyimpanan di smartcard

Struktur penyimpanan pada smartcard terdiri dari sektor dan blok. Suatu media

penyimpan bisa dibagi dalam beberapa sektor dan masing-masing sektor terdiri dari

beberapa blok. Dalam setiap blok terdapat beberapa byte ruangan. Struktur ini digagas

oleh Mifare. Pada kartu mifare misalnya, masing-masing blok mempunyai 16 byte dan

pada tiap sektor terdapat empat blok. Stuktur penyimpan pada kartu mifare ditunjukkan

pada gambar 9.

Pada skema ITSO, ada tiga macam data yang disimpan di smartcard yaitu shell,

direktori, dan produk. Pada penelitian ini, cukup satu sektor saja untuk shell. Direktori

digunakan sebagai pointer terhadap suatu produk. Alamat tersimpannya suatu produk

ditentukan oleh nilai yang ada pada direktori. Direktori juga menempati dua sektor dalam

smartcard untuk kartu mifare 1 KB. Sektor yang masih tersisa dalam smartcard digunakan

untuk menampung data produk.

Gambar 7. Skema flowchart akses baca-tulis data pada ITSO

Walaupun satu sektor terdiri dari 4 blok, tetapi pada penggunaanya, blok terakhir tidak

digunakan untuk penyimpanan data. Blok 3 sudah digunakan untuk menyimpan key untuk

autentikasi, sehingga yang digunakan untuk penyimpanan data hanya 3 blok. Pada

penelitian ini, digunakan kartu Mifare dengan kapasitas 1 Kbyte. Sehingga ada 16 sektor

(sektor 0 – 15) yang terdapat pada kartu. Secara teknis, pembagian sektor untuk skema

ITSO adalah sebagai berikut:

– Shell menempati sektor 0, yaitu pada blok 1 dan blok 2.

– Direktori menempati sektor 14, selain itu dibuat copy direktori pada sektor 15.

– Produk berada di sektor 1 – 13.

tidak

ya

ya

Menentukan kartu bisa dilayani atau tidak

inisialisasi

Pembacaan dan verifikasi shell

Kartu bisadilayani?

Gagal, formatKartu salah

Pembacaan direktori,Mencari alamat produk

yang diinginkan

Akses baca/tulis dataproduk

Produk ditemukan?

Gagal, produkTidak ada

Akses sukses

tidak

Gambar 8. Skema flowchart penambahan produk pada ITSO

Gambar 9. Struktur satu sektor dalam smartcard teknologi Mifare

d0 d1 d2 d3 d12 d13 d14 d15. . . .

d0 d1 d2 d3 d12 d13 d14 d15. . . .

d0 d1 d2 d3 d12 d13 d14 d15. . . .

d0 d1 d2 d3 d12 d13 d14 d15. . . .

1 sektorBlok 0

Blok 1

Blok 2

Blok 3

inisialisasi

Pembacaan dan verifikasi shell

Kartu bisadilayani?

Gagal, formatKartu salah Pembacaan direktori,

Menentukan free space kartu,Penentuan alamat produk baru

Tambahkan produk keAlamat yang kosong

Free space cukup?

Gagal, tidak adaFree space

Akses sukses

tidak

ya

tidak

ya

c. Format shell

Masing-masing elemen skema ITSO disimpan dengan format tersendiri dalam

sektor smartcard. Sesuai dengan standar ITSO, format data untuk elemen shell

ditunjukkan pada gambar 10.

Gambar 10. Format data pada kartu untuk elemen shell

Elemen shell mempunyai 19 Field yang ukurannya ditunjukkan pada gambar 8. Pada

Penelitian ini, tidak semua field dipakai. Ada 4 buah field yang dianggap cukup penting,

yang menyangkut identitas kartu, yaitu:

– IIN (Issuer Identification Number), nomor ini terregistrasi pada ISO (international

standard organisation) secara internasional untuk mentaati standar ISO/IEC 7816 , unik

untuk tiap perusahaan issuer tetapi pada penelitian ini dipakai nomor yang bersifat

dummy saja.

– OID (Operator Identification Number) nomor yang mengidentifikasi perusahaan

yang mengeluarkan layanan. Terregistrasi pada perusahaan yang menjadi anggota ITSO.

Nomor ini nilainya berbeda untuk perusahaan yang berbeda.

– ISSN (ITSO Shell Serial Number) merupakan extension bagi OID. Nomor ini

digunakan bersama dengan OID untuk validasi kartu.

– CHD (Check Digit) sebagai checksum untuk ketiga field sebelumnya.

Pada aplikasinya di program, field IIN, OID, dan ISSN dibandingkan suatu nilai yang

sudah tertanam pada program untuk validasi shell kartu. Jika sama, kartu akan menuju

proses selanjutnya.

d. Format Direktori

Format penyimpanan Direktori pada smartcard Mifare ditunjukkan oleh gambar 11. Field

yang digunakan pada penelitian ini adalah Entry Product, SCT, dan SCT(2-13). Ukuran

Entry Product adalah 40 bit untuk masing-masing produk. Field ini masih dipecah-pecah

lagi menjadi beberapa bagian. Sub-field yang digunakan pada penelitian ini adalah:

Gambar 11. Format penyimpanan direktori dalam smartcard Mifare

– OID (Operator ID) berisi sama dengan OID pada shell. Sebagai validasi bahwa

produk ini merupakan milik dari perusahaan yang bersesuaian atau sudah mendapat

persetujuan dari perusahaan yang mengeluarkan kartu.

– Type : merupakan subfield yang menyatakan produk yang dilayani. Artinya

subfield ini berisi ID produk.

– VGP : Subfield ini menentukan bahwa sektor yang ditunjuk oleh direktori ini

memiliki value record atau tidak. Contoh penggunaan VGP ini misalnya, produk

transportasi memiliki value record yang berisi nominal tiket, sedangkan produk yang

hanya berupa ID tidak mempunyai value record.

– EXP : Berisi tanggal expired bagi produk yang bersangkutan. Jika nilai ini

menyatakan expired, sektor yang berisi data produk tidak akan diakses.

Alamat sektor produk yang akan diakses tergantung dari urutan direktori penunjuk

produknya. Jika direktori penunjuk produk ada di urutan ke-1, data produknya akan

diletakkan di sektor 1, demikian seterusnya.

Setelah itu, field SCT dan SCT(2-13) merupakan pointer bagi sektor lain yang

menampung data produk yang sama. Nilai ini digunakan jika data produk ditampung pada

lebih dari satu sektor. Jika sektor yang digunakan oleh produk tersebut hanya satu, nilai

field ini adalah 0xFF.

Untuk membaca direktori produk, sistem akan membaca semua sektor direktori

terlebih dahulu. Kemudian sektor tersebut di-parsing menjadi field yang bersesuaian.

Field tersebut akan dianalisis sesuai dengan bagiannya menggunakan algoritma berikut:

i. Baca OID, sesuaikan dengan OID sistem. Jika OID ini valid, proses dilanjutkan. Jika

tidak, proses dihentikan.

ii. Baca Type untuk memeriksa produk dengan identifikasi tersebut dilayani atau tidak.

Jika dilayani, proses akan dilanjutkan.

iii. Baca nilai EXP. Jika nilai EXP masih aktif, proses dilanjutkan.

iv. Tentukan nilai-nilai sektor yang akan diakses. Selain sektor yang diakses secara

otomatis, ada sektor-sektor lain yang berisi data produk tersebut yang harus diakses.

v. Baca sektor-sektor yang ditunjuk pada step iv.

vi. Analisis dan pengolahan data produk. Hal-hal yang dikerjakan pada step ini tergantung

pengembang.

Pada algoritma tersebut, yang diatur pada standar ITSO adalah dari step i sampai v. Step

vi diserahkan pada perusahaan pengembang.

e. Masalah keamanan kartu

Interoperabilitas antar layanan berarti memberikan kesempatan bagi layanan lain

untuk mengakses layanan yang berbeda pada kartu tersebut ketika layanan lain tersebut

membutuhkan datanya. Misalnya, jika pada kartu terdapat layanan A, akan

memungkinkan jika pada kartu tersebut ditambah dengan layanan B dan lainnya yang

mengakses data dari layanan A. Untuk mendukung skema interoperabilitas tersebut,

suatu data bisa dibaca secara bebas, sehingga tidak diterapkan suatu sistem

pengamanan untuk akses baca. Key untuk autentikasi baca di-share secara bebas.

Berbeda dengan akses baca, akses tulis terhadap kartu tidak bisa dilakukan

secara bebas. Pihak yang bisa melakukan akses tulis adalah pihak yang sudah

mendapatkan ijin dari pengembang kartu. Key untuk autentikasi tulis ini berbeda dengan

key untuk autentikasi baca. Seperti ditunjukkan pada gambar 12, key untuk autentikasi

baca disimpan sebagai suatu konstanta pada source code program. Untuk autentikasi

tulis, key dihasilkan dari proses enkripsi antara nomor seri kartu dengan suatu nilai yang

didapat dari modul autentikasi yaitu SAM (security authentication module).

Berdasarkan gambar 12, komputer melakukan polling untuk mendeteksi

keberadaan smartcard (proses 1). Jika ada smartcard yang terdeteksi, komputer akan

mendapatkan nomor seri kartu (proses 2). Untuk membaca data dari kartu, komputer

harus melakukan autentikasi terlebih dahulu (proses 3), kemudian memberikan command

read (proses 4), baru kemudian komputer mendapatkan datanya (proses 5). Kunci yang

digunakan untuk autentikasi tersimpan pada komputer (program).

Gambar 12. Prosedur akses baca-tulis smartcard

Untuk penulisan data, komputer bersama-sama dengan modul SAM harus

mendapatkan kuncinya terlebih dahulu (proses 6). Komputer mengirimkan nomor seri

kartu ke SAM, kemudian di dalam SAM, nomor seri dienkripsi menggunakan mother key

yang tersimpan di SAM sehingga mendapatkan diff key. Diff key digunakan komputer

untuk melakukan autentikasi tulis ke smartcard (proses 9) setelah komputer melakukan

request key kepada SAM (proses 7). Mother key dan nomor seri kartu dienkripsi

menggunakan algoritma DES.

Sistem pengamanan untuk penulisan juga ditambahkan pada standar ITSO, yaitu

dengan menggunakan byte SEAL. Prosesnya ditunjukkan pada gambar 13. Byte SEAL

terdapat pada setiap grup data dalam standar ITSO. Nilai SEAL ini dihasilkan dari operasi

enkripsi dan checksum dari seluruh byte yang ada di grup data tersebut. Pada proses

pembacaan kartu, nilai SEAL ini digunakan untuk menentukan validitas data yang ada

pada grup yang dibaca. Dengan melakukan enkripsi terhadap data, dihasilkan suatu nilai.

Nilai tersebut dibandingkan dengan nilai yang tersimpan pada SEAL. Proses validasi ini

ditunjukkan pada gambar 14.

Gambar 13. Proses penulisan SEAL

Gambar 14. Proses pembacaan datagroup dan validasi SEAL

3.2.5. Pengembangan Piranti

Pengembangan piranti penelitian ini bisa diklasifikasikan menjadi pengembangan

perangkat lunak dan perangkat keras. Perangkat lunak adalah software berbasis PC.

Perangkat keras yang dimaksud dalam penelitian ini sebenarnya merupakan program

yang akan dijalankan di piranti embedded. Piranti embedded yang digunakan adalah SBC

(Single Board Computer). Karena itu, piranti output dari penelitian ini lebih tepat jika

diklasifikasikan menjadi software berbasis PC dan software berbasis SBC.

a. Software berbasis PC

Pengembangan awal untuk semua software, baik di PC maupun di SBC, dilakukan

berbasis PC menggunakan bahasa C, dengan compiler GCC. Untuk menyesuaikan

dengan arsitektur SBC, source code hanya perlu dikompilasi silang untuk arsitektur ARM.

Pengembangan software berbasis PC ini meliputi hal-hal berikut.

a.1. Instalasi driver / software untuk antarmuka komputer dan smartcard reader

Driver dan software antarmuka antara PC dan reader sudah tersedia dalam bentuk yang

siap pakai pada sistem operasi Linux. Software tersebut adalah PCSCD (PC-smartcard

daemon). PCSCD berfungsi untuk mengalokasi dan de-alokasi reader secara dinamis

pada saat runtime sekaligus mengatur koneksi PC ke reader.

ITSO Datagroup* SEAL

*semua datagroup, termasuk shell, direktori dan IPE

enkripsiTulis ke SEAL

ITSO datagroup SEAL

enkripsi ---bandingkan

=0, SEAL OK.!=0, SEAL salah

a.2. Menyusun suatu API ( Application Programming Interface ) yang bisa digunakan

secara umum untuk pemrograman suatu aplikasi berbasis smartcard .

Kegunaan API tersebut adalah, supaya pengembangan aplikasi berbasis

smartcard menjadi lebih mudah dan tidak lagi dilakukan secara low level. Pada low level

pengaksesan smartcard harus dilakukan dengan mengirimkan command APDU ke

reader. Pada API tersebut terdapat fungsi-fungsi yang bisa langsung mengakses reader

tanpa harus mengetahui APDU-nya. API ini diberi nama Rusnas-API.

API berupa deklarasi tipe-tipe (struktur) yang berkaitan dengan smartcard dan

deklarasi fungsi untuk akses smartcard. Berikut ini adalah struktur yang didefinisikan

dalam Rusnas-API:

i. Struktur card_data berisi fitur-fitur dasar pada reader dan smartcard. Hal itu meliputi

jumlah kartu yang terdeteksi, tipe kartu (dilihat dari teknologinya), dan nomor serial kartu.

Berikut adalah deklarasi struktur card_data.

 struct card_data{ BYTE targetNumber; BYTE tagType; BYTE tagSens_Res[2]; BYTE tagSel_Res; BYTE uidLength; BYTE tagUid[8]; 

};

ii. Struktur pcsc_send_status berisi variabel-variabel penampung status koneksi /

transaksi dengan reader. Struktur tersebut dideklarasikan sebagai berikut.

struct pcsc_send_status{ BYTE pbreaderStatus[2]; BYTE dwcommandStatus; BYTE pbswStatus[2]; 

};

Sedangkan fungsi-fungsi yang dibuat pada API tersebut meliputi:

i. Fungsi pcscInit bertugas untuk menginisialisasi koneksi komputer dengan smartcard

reader.

ii. Fungsi pcscUnInit untuk menutup koneksi komputer dengan reader.

iii. Fungsi getcard sebagai perintah untuk mendeteksi adanya kartu di dekat reader.

Digunakan untuk melakukan polling adanya kartu.

iv. Fungsi mifAuth digunakan untuk autentikasi terhadap kartu mifare.

v. Fungsi mifRdBl digunakan untuk membaca suatu blok pada kartu mifare.

vi. Fungsi mifWrBl sebagai fungsi untuk menulis suatu blok pada kartu mifare.

a.3. Pembuatan aplikasi personalisasi kartu

Produk yang dijadikan sebagai studi kasus pada penelitian ini adalah produk akademis

dan transportasi. Aplikasi personalisasi kartu berfungsi sebagai berikut.

i. Memformat kartu ke dalam file system skema ITSO, yaitu memberikan data inisial ke

dalam shell sehingga kartu dikenali sebagai kartu yang legal.

ii. Menuliskan data pengenal produk ke dalam direktori. Produk yang akan diisikan adalah

produk di bidang akademis dan transportasi.

iii. Mengisikan data-data inisial produk. Misalnya, produk akademis diisi dengan NIM

(nomor induk mahasiswa) dan transportasi diisi dengan nominal tiket.

b. Software berbasis SBC.

Pada penelitian ini juga akan dikembangkan piranti embedded. Piranti ini akan

diterapkan dalam bidang akademis(dalam bentuk door access) dan dalam bidang

transportasi( dalam bentuk mesin tiket). Keduanya memang memiliki fungsi yang

berbeda, tetapi perbedaannya hanyalah pada level aplikasi saja. Pada level yang lebih

bawah, kedua aplikasi ini mempunyai arsitektur yang sama. Keduanya mengakses

hardware yang sama yaitu smartcard reader. Di sisi sistem operasi, keduanya juga

berjalan pada sistem operasi Linux.

Arsitektur standar untuk pengembangan piranti embedded berbasis smartcard

ditunjukkan pada gambar 15. Penggunaan sistem operasi Linux memudahkan

pengembang dalam membuat program. Program bisa dikembangkan pada arsitektur PC

terlebih dahulu sebelum nantinya di-cross compile untuk di-install pada SBC. Penelitian

ini lebih berfokus pada pengembangan framework hardware-nya. Mengacu pada gambar

15, yang dikembangkan dalam penelitian ini adalah penerapan CCID (driver untuk

reader) dan PCSC(software untuk antarmuka ke smartcard) pada perangkat SBC. API

(Application Programming Interface) untuk akses smartcard berbasis SBC juga

dikembangkan dalam penelitian ini. Proses pengembangan program ditunjukkan pada

gambar 16.

Berdasarkan gambar 15, komponen penyusun software untuk piranti embedded

smartcard adalah sebagai berikut.

- Sistem Operasi (Linux) yang diinstall di SBC

- CCID berfungsi sebagai driver smartcard

- PCSCLite merupakan API(Application Programming Interface) untuk komunikasi dengan

reader smartcard menggunakan protokol PCSC. Meminimalkan kebutuhan informasi

mengenai hardware reader

- RUSNAS API : API yang menerjemahkan fungsi-fungsi yang akan digunakan pada

aplikasi menjadi rutin yang dimengerti oleh PCSClite

- Aplikasi : program yang berada pada level paling atas yang melakukan kinerja sesuai

perancangan. Level inilah yang akan menjadi perbedaan antara ke-3 aplikasi tersebut

Komponen-komponen software tersebut dikembangkan dengan berbasis PC-Linux.

Setelah itu baru di-crosscompile ke arsitektur ARM. Beberapa fungsi harus dibuat

berdasarkan arsitektur ARM, karena tidak bisa digeneralisasi di PC seperti pengaksesan

port I/O.

Gambar 15. Arsitektur standar piranti embedded pengakses smartcard

Gambar 16. Flowchart alur pengembangan program untuk SBC

IV. Hasil dan Pembahasan

4.1. Uji instalasi smartcard reader pada PC dan SBC

Pada penelitian ini, PC dan SBC dijalankan menggunakan sistem operasi Linux. PC

maupun SBC menggunakan perangkat lunak yang sama untuk menjalankan aplikasi

pengakses smartcard. Perbedaannya hanya pada arsitektur mesin keduanya, sehingga

masing-masing perangkat lunak dikompilasi pada lingkungan yang berbeda. Pada PC

dikompilasi untuk lingkungan i386 sedangkan pada SBC dikompilasi untuk lingkungan

ARM. Pengujian dilakukan menurut dua tahap sebagai berikut:

4.1.1. Pengujian instalasi reader dan drivernya pada masing-masing mesin

Pengujian driver smartcard dilakukan dengan menghubungkan reader dengan SBC atau

PC pada port USB, kemudian dilanjutkan dengan memberi command sebagai berikut:

– pengecekan device yang terpasang di port USB, menggunakan command:

$ lsusb

jika dikenali, sistem akan merespon sebagai berikut:

Pengembangan softwareDi PC

Kompilasi program di PC

Uji coba di PC

Cross compile ke ARM

Deploy ke SBC

OK?

error?

Bus   001   Device   004:   ID   08e6:3437   Gemplus   GemPC   Twin 

SmartCard Reader 

Bus 001 Device 001: ID 1d6b:0001

– Setelah reader berhasil dikenali, sistem diberi perintah untuk menjalakan

PCSC daemon dengan perintah:

$ pcscd

Jika instalasi tool dan library PCSC sukses, tidak akan muncul error pada

command line.

– Berikutnya adalah melakukan scan terhadap kartu. Kartu didekatkan pada

reader dan jalankan program pcsc_scan:

$ pcsc_scan

Hasilnya, pada layar command akan ditampilkan ATR (answer to reset) dari

smartcard sebagai berikut:

Reader 0: GemPC430 00 00

     Card state: Card inserted,  ATR: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 01 00 00 00 00 6A

Hasil pengujian ATR kartu tersebut dilakukan terhadap kartu mifare dengan

reader GemPC430.

4.1.2. Pengujian menggunakan perintah-perintah dasar untuk akses kartu

Untuk menguji kinerja sistem dengan smartcard reader, dilakukan pemberian command

dasar dari PC / SBC terhadap reader yang sudah didekatkan dengan smartcard. Dari

hasil uji perintah dasar dapat dilihat fungsionalitas sistem dengan SC reader. Validitas

data dapat dilihat dari respon yang diberikan reader kepada host. Pengujian ini dilakukan

terhadap kartu Mifare. Berikut ini adalah perintah-perintah dasar beserta struktur

command nya dalam format APDU:

– Get Card:

Command ini digunakan untuk mendeteksi adanya kartu pada range pembaca

kartu. Berikut adalah command dan respon sistem jika sukses.

Sending: FF 00 00 00 06 D4 60 01 01 10 20 Received: 61 10 Sending: FF C0 00 00 10 Received: D5 61 01 10 09 01 00 04 08 04 3A 38 0E 31 90 00 GetCard: OK 

Reader Status :61 10 Command Status : 01 APDU Status :90 00 Kartu Ditemukan: 01UID kartu:  3A 38 0E 31

Pada cuplikan command-response tersebut, Label sending adalah data/perintah

yang dikirimkan oleh host. Label received adalah data/respon yang diterima host

dari SC reader.

– Autentikasi

Proses autentikasi harus dilakukan setiap akan mengakses suatu sektor baik

untuk membaca maupun menulis. Dalam proses ini pihak host mengirimkan suatu

kunci (key) kepada kartu untuk login menuju suatu sektor. Berikut ini adalah

cuplikan perintah-respon hasil uji coba autentikasi:

Auth... 

Sending: FF 00 00 00 0F D4 40 01 60 06 1C 2B 3A 49 58 67 3A 38 0E 31 Received: 61 05 Sending: FF C0 00 00 05 Received: D5 41 00 90 00 Auth : OK 

Auth Status: 00 ­­> autentikasi berhasilReader Status :61 05 Command Status : 00 APDU Status :90 00

– Pembacaan Kartu

Pada kartu Mifare, pembacaan dilakukan pada tiap blok. Sebelum proses ini,

sudah dilakukan proses login terhadap sektor yang membawahi blok yang akan

diakses. Setiap sektor membawahi 4 blok. Berikut adalah perintah untuk uji coba

pembacaan kartu

Read... Sending: FF 00 00 00 05 D4 40 01 30 06 Received: 61 15 Sending: FF C0 00 00 15 Received: D5 41 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 11 90 00 Data Length: 10 Block 6 Data:01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 11 Reader Status :61 15 Command Status : 00 

APDU Status :90 00

Pada cuplikan perintah-respon tersebut, label received adalah respon dari reader

yang belum di-parsing. Di dalam respon tersebut terdapat data yang terkandung di

dalam blok smartcard. Data yang terkandung tersebut ditunjukkan oleh label block

6 data. Label ini menandakan bahwa yang dibaca dalam proses ini adalah blok 6.

– Penulisan kartu

Tahap ujicoba yang terakhir adalah penulisan kartu. Sama seperti pembacaan

kartu, untuk menulis pada blok suatu sektor pihak host harus login dahulu pada

sektor yang bersangkutan. Berikut adalah ujicoba perintah penulisan kartu.

Write... Sending: FF 00 00 00 15 D4 40 01 A0 06 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 11 Received: 61 05 Sending: FF C0 00 00 05 Received: D5 41 00 90 00 SCardDisconnect: OK 

Reader Status :61 05 Command Status : 00 APDU Status :90 00 

Baik pada PC maupun SBC, didapatkan hasil yang sama, sehingga bisa disimpulkan

bahwa reader dan PCSCD didukung oleh SBC. Proses pengembangan sistem smartcard

bisa dilakukan pada platform PC maupun SBC.

4.2. Pengujian Rusnas-API

API dibuat untuk memudahkan pengembang dalam membuat program untuk

mengakses smartcard. Pengembang tidak perlu mengetahui susunan paket data APDU

untuk melakukan baca dan tulis pada smartcard. Untuk menguji API ini, lalu lintas data

komputer – reader diamati. Paket yang tertampil di komputer dibandingkan dengan format

APDU untuk command yang bersesuaian.

- Command untuk mendeteksi kartu (get card)

Pemanggilan fungsi pada API untuk operasi get card adalah sebagai berikut:

rv = getcard( &countOfCard, CARD_DATA,  &PCSC_SEND_STATUS); PCSC_ERROR(rv, "GetCard") printf("Reader Status :"); for(i=0;i<2;i++)printf("%02X",PCSC_SEND_STATUS.pbreaderStatus[i]); printf("\n"); 

printf("Command Status:%02X \n", PCSC_SEND_STATUS.dwcommandStatus); 

printf("APDU Status :"); for(i=0;i<2;i++)printf("%02X ", PCSC_SEND_STATUS.pbswStatus[i]); printf("\n\n"); printf("Kartu Ditemukan: %02X\n", countOfCard);

Fungsi getcard pada cuplikan program tersebut adalah fungsi API untuk operasi get card.

Cuplikan program tersebut akan menghasilkan tampilan paket data sebagai berikut:

Sending: FF 00 00 00 06 D4 60 01 01 10 20 ­­> APDU get cardReceived: 61 10 Sending: FF C0 00 00 10 ­­> APDU pembacaan nomor seri kartuReceived: D5 61 01 10 09 01 00 04 08 04 8C 7E 04 4C 90 00 GetCard: OK 

Reader Status :61 10 Command Status : 01 APDU Status :90 00 

Kartu Ditemukan: 01 --> berarti ada 1 kartu yang ditemukan

Berikutnya adalah pengujian fungsi API untuk pembacaan data kartu. Sebelum dilakukan

pembacaan suatu blok dalam sektor, komputer host harus melakukan autentikasi pada

sektor itu.

rv   =   mifAuth(   &CARD_DATA[i],   blockAuthBuff,     keyAuthBuff,   authType, &PCSC_SEND_STATUS);printf("Auth Status: %02X\n", PCSC_SEND_STATUS.dwcommandStatus);

mifRdBl(targetNumber, blockAuthBuff, pbData, &PCSC_SEND_STATUS); printf("Data Length: %02X\n", mifClscBlkLength); printf("Block %d Data:", blockAuthBuff); for (i=0; i<mifClscBlkLength;i++) { 

printf("%02X ",  pbData[i]); } printf("\n"); printf("Reader Status :"); 

Pembacaan dilakukan pada blok 6. Paket data yang terbentuk dari cuplikan program

tersebut adalah sebagai berikut:

Auth... Sending: FF 00 00 00 0F D4 40 01 60 06 1C 2B 3A 49 58 67 8C 7E 04 4C Received: 61 05 Sending: FF C0 00 00 05 Received: D5 41 14 90 00 Auth : OK  ­­> autentikasi berhasil 

Auth Status: 14 Reader Status :61 05 Command Status : 14 

APDU Status :90 00 ################################## Read... Sending: FF 00 00 00 05 D4 40 01 30 06 ­­> APDU untuk baca Received: 61 05 Sending: FF C0 00 00 05 Received: D5 41 01 90 00 Data Length: 10 Block 6 Data:90 00 B8 00 50 08 B8 23 00 00 00 C0 34 06 B8 F4 ­­> paket yang memuat data terbaca Reader Status :61 05 Command Status : 01 ­­> pembacaan suksesAPDU Status :90 00 

Berdasarkan paket data yang terbentuk dari pemanggilan fungsi API untuk

autentikasi dan pembacaan, dapat disimpulkan bahwa fungsi bisa berjalan dengan baik.

Pengujian selanjutnya adalah untuk fungsi penulisan. Pemanggilan fungsi API

untuk penulisan data ke kartu adalah sebagai berikut:

//perintah untuk membaca suatu blok mifWrBl( targetNumber, blockAuthBuff, pbData, & 

PCSC_SEND_STATUS); /* card disconnect */ rv = deactivateReader(); PCSC_ERROR(rv, "SCardDisconnect") printf("Reader Status :"); for(i=0;i<2;i++)printf("%02X", 

PCSC_SEND_STATUS.pbreaderStatus[i]); printf("\n"); printf("Command Status :%02X\n", 

PCSC_SEND_STATUS.dwcommandStatus); 

Pemanggilan fungsi penulisan kartu akan menghasilkan tampilan paket data sebagai

berikut:

Write... Sending: FF 00 00 00 15 D4 40 01 A0 06 90 00 B8 00 50 08 B8 23 00 00 00 C0 34 06 B8 F4 ­­> paket perintah untuk menulis data ke kartuReceived: 61 05 Sending: FF C0 00 00 05 Received: D5 41 01 90 00 SCardDisconnect: OK 

Reader Status :61 05 Command Status : 01 ­­> status tulis OKAPDU Status :90 00 

Semua fungsi akses dasar smartcard yang terdefinisi pada API berjalan dengan baik,

sehingga API siap digunakan untuk pemrograman lebih lanjut.

4.3. Pengujian shell standar ITSO pada smartcard

Pengujian terhadap standar ITSO yang diterapkan pada sistem, dilakukan dengan

pengisian kartu terlebih dahulu dengan suatu data yang berformat ITSO. Data yang

diisikan adalah data identitas akademis dan data transportasi. Suatu program dibuat

untuk membaca data-data yang ada pada kartu. Untuk menyesuaikan dengan standar

ITSO, tata cara pembacaan kartu disesuaikan dengan flowchart pada gambar 5 dan

skema pembacaan datagroup pada gambar 12. Berikut adalah paket-paket data root

(shell) smartcard yang ditampilkan pada console. Pada pengujian ini kartu sudah

diprogram dengan field IIN = 123456, OID = 1234, ISSN = 1234567, CHD = 8, dan

digunakan untuk menguji rutin pembacaan shell. Berikut ini adalah tampilan command-

response pembacaan shell yang tertampil pada layar console.

Proses autentikasi untuk pembacaan shell :

Read Shell... ======== Auth... Sending: FF 00 00 00 0F D4 40 01 60 00 FF FF FF FF FF FF 3A 38 0E 31 Received: 61 05 Sending: FF C0 00 00 05 Received: D5 41 00 90 00 <­­autentikasi sukses 

Proses pembacaan blok yang di dalamnya terdapat shell (root). Ada 2 blok yang

digunakan untuk menampung shell, yaitu blok 1 dan 2, keduanya ada pada sektor 0.

Read... Sending: FF 00 00 00 05 D4 40 01 30 01 Received: 61 15 Sending: FF C0 00 00 15 Received: D5 41 00 18 11 12 34 56 12 34 12 34 56 78 01 01 01 03 E8 90 00 Read... Sending: FF 00 00 00 05 D4 40 01 30 02 Received: 61 15 Sending: FF C0 00 00 15 Received: D5 41 00 30 10 05 07 00 00 21 BD 00 00 00 00 00 00 00 00 90 00 #didapatkan data sebagai berikut, masih dalam satuan byte (per 8 bit)

Shell Data : 18 11 12 34 56 12 34 12 34 56 78 01 01 01 03 E8 30 10 05 07 00 00 21 BD 00 00 00 00 00 00 00 00 Shell : OK 

Berikut ini adalah data yang telah di-parsing berdasarkan gambar 8. Data yang tertampil

sudah disertai dengan nama field-nya:

Root Data : Root Length : 06 Root Bmp : 01 

Root FR : 01 

Field yang digunakan untuk validasi shell:

Root IIN : 01 02 03 04 05 06 Root OID : 01 02 03 04 Root ISSN : 01 02 03 04 05 06 07 Root CHD : 08 

Field IIN, OID, ISSN dan CHD pada hasil pengamatan sama dengan nilai yang sudah

diprogramkan pada kartu. Berdasarkan hasil pengamatan paket tersebut, bisa

disimpulkan bahwa rutin program untuk pembacaan shell sudah sesuai dengan

spesifikasi yang diberikan pada skema ITSO.

4.4 Pengujian direktori ITSO sekaligus kemampuan multi-produk

Kemampuan multi-produk suatu smartcard bisa ditentukan dengan membaca layer IPE

(produk). Layer produk diawali dengan grup data direktori. Pembacaan direktori dilakukan

dengan membaca keseluruhan sektor 14(blok 56 - blok 59) smartcard. Pada kartu ini

sudah terdapat produk akademis dengan ID 0x162E dan produk transportasi dengan ID

0x04D2. Berikut ini adalah tampilan command-response pada layar console untuk

pembacaan grup data direktori.

Perintah untuk melakukan autentikasi pada sektor direktori (sektor 1).

Read Dir... ======== Auth... Sending: FF 00 00 00 0F D4 40 01 60 38 FF FF FF FF FF FF 3A 38 0E 31 Received: 61 05 Sending: FF C0 00 00 05 Received: D5 41 00 90 00 

Proses pembacaan keseluruhan sektor 1(blok 4, 5 , dan 6):

– Blok 56

Read... Sending: FF 00 00 00 05 D4 40 01 30 38 Received: 61 15 Sending: FF C0 00 00 15 Received: D5 41 00 00 01 13 4B A0 83 E8 58 BA 00 12 89 00 00 00 00 90 00 

– Blok 57

Read... Sending: FF 00 00 00 05 D4 40 01 30 39 Received: 61 15 Sending: FF C0 00 00 15 

Received: D5 41 00 00 00 00 00 00 00 00 00 00 00 00 67 34 5B F8 9A 90 00 

– Blok 58

Read... Sending: FF 00 00 00 05 D4 40 01 30 3A Received: 61 15 Sending: FF C0 00 00 15 Received: D5 41 00 FC D0 5F 00 01 02 03 04 E5 C5 1C 22 EB EE 72 62 90 00 

- Pembacaan salinan direktori (prosedur sama dengan pembacaan direktori)

Auth... Sending: FF 00 00 00 0F D4 40 01 60 3C FF FF FF FF FF FF 3A 38 0E 31 Received: 61 05 Sending: FF C0 00 00 05 Received: D5 41 00 90 00 Read... Sending: FF 00 00 00 05 D4 40 01 30 3C Received: 61 15 Sending: FF C0 00 00 15 Received: D5 41 00 00 01 13 4B A0 83 E8 58 BA 00 12 89 00 00 00 00 90 00 Read... Sending: FF 00 00 00 05 D4 40 01 30 3D Received: 61 15 Sending: FF C0 00 00 15 Received: D5 41 00 00 00 00 00 00 00 00 00 00 00 00 67 34 5B F8 9A 90 00 Read... Sending: FF 00 00 00 05 D4 40 01 30 3E Received: 61 15 Sending: FF C0 00 00 15 Received: D5 41 00 FC D0 5E 00 01 02 03 04 87 61 77 C3 89 D2 B2 35 90 00 

- Data yang tersimpan di grup data direktori dan copy direktori

Dir Data : 00 01 13 4B A0 83 E8 58 BA 00 12 89 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 67 34 5B F8 9A FC D0 5F 00 01 02 03 04 E5 C5 1C 22 EB EE 72 62 Dir Copy Data : 00 01 13 4B A0 83 E8 58 BA 00 12 89 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 67 34 5B F8 9A FC D0 5E 00 01 02 03 04 87 61 77 C3 89 D2 B2 35 Dir : OK 

- Hasil parsing data yang dibaca dari grup data direktori

Sektor Aktif : 14 Dir Data : Dir Length : 00 Dir Bmp : 00 Dir FR : 01 

- Directory Entry 1 menyimpan informasi tentang produk transportasi. Karena letaknya

ada di entry ke-1, sektor pertama yang menyimpan data produk ini adalah sektor 1.

Sektor berikutnya yang menyimpan data produk ini ditunjukkan pada bagian pointer

sektor, masih di grup data direktori.

Dir Entry 1 : EF : 00 OID : 04D2 ­> ID produk transportasiType : 1D PType : 00 VGP : 01 IINL : 00 Exp : 03E8 ­> tanggal expired

- Directory Entry 2 menyimpan informasi tentang produk akademis. Karena letaknya ada

di entry ke-2, sektor pertama yang menyimpan data produk ini adalah sektor 2.

Dir Entry 2 : EF : 00 OID : 162E ­> ID produk akademisType : 10 PType : 00 VGP : 00 IINL : 00 Exp : 1289 

- Bagian pointer sektor. Menunjukkan sektor-sektor yang digunakan untuk penyimpanan

produk.

Dir SCT1 : 06 ­> setelah sektor 1, sektor 6 digunakan untuk menyimpan data produk yang ada pada direktori entry 1(produk transportasi)

Dir SCT2 : 07 ­> setelah sektor 2, sektor 7 digunakan untuk menyimpan data produk yang ada pada direktori entry 2(produk akademis)

Dir SCT3 : 03 Dir SCT4 : 04 Dir SCT5 : 05 Dir SCT6 : 0B Dir SCT7 : 0F Dir SCT8 : 08 Dir SCT9 : 09 Dir SCT10 : 0A Dir SCT11 : 0F Dir SCT12 : 0C Dir SCT13 : 0D Dir DIRS# : 5F Dir KID# : 00 Dir INS# : 00 Dir ISAMID : 01 02 03 04 Dir SEAL : E5 C5 1C 22 EB EE 72 62 

Berdasarkan data hasil pengamatan, terlihat bahwa data yang dibaca dari

smartcard bisa langsung dibaca tanpa melalui proses dekripsi. Hal yang perlu diketahui

adalah format datanya saja. Atas dasar itu, interoperabilitas bisa diterapkan.

Konsep multi produk juga bisa ditangani pada sistem ITSO, yang dilakukan

dengan manajemen peletakan data-data produk pada smartcard. Hal itu dilakukan

dengan konsep direktori produk dan pointer produk.

4.5. Pengujian waktu eksekusi algoritma ITSO pada piranti embedded

Masalah yang menjadi fokus pada pengembangan suatu aplikasi pada piranti

embedded adalah waktu eksekusi. Piranti embedded biasanya menggunakan clock yang

lebih kecil frekuensinya daripada clock PC standar. Hal itu membuat proses dikerjakan

dengan lebih lama. SBC memakai clock efektif sebesar 400 Mhz pada penelitian ini.

Pada bagian ini akan dibahas waktu eksekusi untuk pengaksesan kartu dengan standar

ITSO berbasis SBC. Algoritma pengaksesan data pada ITSO mempunyai tahapan yang

cukup banyak. Oleh karena itu, suatu perangkat embedded harus memiliki frekuensi

clock yang cepat supaya proses transaksi bisa berjalan dengan baik. Kepantasan suatu

piranti embedded dalam menerapkan algoritma ITSO dinilai dari pengukuran waktu

eksekusinya. Untuk mengetahui waktu eksekusi, digunakan fungsi dari library time.h,

yaitu clock( ). Waktu eksekusi diukur untuk pembacaan dan penulisan produk dalam

standar ITSO, terutama adalah produk transportasi. Lamanya waktu eksekusi untuk

beberapa skenario pembacaan kartu ditunjukkan pada tabel 7.

Tabel 7. Pengukuran waktu eksekusi baca/tulis produk pada SBC

Skenario Waktu eksekusi Keterangan

Baca produk

penambahan produk

ubah data produk

0.08 detik

0.15 detik

0.23 detik

Alur eksekusi : inisialisasi – autentikasi – baca shell – baca direktori – baca produk (2 sektor)

Alur eksekusi : inisialisasi – autentikasi – baca shell – baca direktori – tulis direktori – tulis produk (2 sektor)

Alur eksekusi : inisialisasi – autentikasi – baca shell – baca direktori – baca produk (2 sektor) – tulis produk

Pada produk berbasis smartcard seperti mesin tiket, transaksi yang paling sering

dijalankan adalah pengubahan data produk. Pengguna mendekatkan kartu ke reader

(tapping) untuk melakukan transaksi. Transaksi baca-tulis kartu ini harus berjalan secepat

mungkin, sehingga kemungkinan kecil terjadi kesalahan tulis karena pengguna

melakukan tapping dalam waktu yang sangat cepat.

Dari tabel 7 didapatkan waktu pengubahan data produk selama 0.23 detik.

Dengan waktu tersebut, perangkat berbasis SBC cukup sesuai jika diaplikasikan sebagai

mesin tiket. Angka tersebut dipandang masih bisa mengimbangi kecepatan tap tangan

pengguna. Sebagai pembanding, waktu transaksi perangkat berbasis SBC (0.23 detik)

hanya berselisih sedikit dari waktu transaksi tercepat yang ditetapkan pada produk Ask-

rfid (2008) pada produknya. Produk Ask-rfid mempunyai waktu transaksi tercepat sebesar

0.15 detik.

Kemampuan piranti untuk melakukan transaksi juga diuji secara fisik dengan

benar-benar melakukan transaksi tapping. Pengamatan ini bersifat kualitatif karena tidak

ada metode yang kuantitatif untuk mengukur kecepatan tangan dalam melakukan tap.

Tapping dilakukan dengan kecepatan yang bervariasi (rendah, sedang, cepat). Dalam

100 kali percobaan, tidak ada kesalahan pada data yang tersimpan di kartu, sehingga

sistem dianggap mampu melayani transaksi tapping dengan berbagai kecepatan.

V. Kesimpulan dan Saran

5.1. Kesimpulan

a. Dengan adanya sistem lapisan shell – direktori – produk, format data dalam standar

ITSO mendukung skema multi produk dalam satu kartu.

b. Karena data kartu bisa dibaca dengan bebas (hanya dengan mengetahui formatnya),

serta kunci autentikasi baca yang di-publish, standar ITSO mendukung konsep

interoperabilitas. Data dari suatu produk bisa diakses baca dengan mudah oleh produk

/aplikasi lain yang membutuhkan datanya.

c. Algoritma pengaksesan data pada standar ITSO memiliki tahapan command-response

yang cukup banyak. Jumlah pasangan command-response pada tiap tahapan

pengaksesan kartu ditunjukkan pada tabel 8.

Tabel 8. Jumlah pasangan command-response pada tiap tahapan pengaksesan kartu

Nama tahapan Jumlah pasangan command-response

Get Card / inisialisasi

Pembacaan shell

Pembacaan direktori / copy directory

Pembacaan produk

1

6 : 2 autentikasi, 4 pembacaan data

8 untuk masing-masing dir dan copy dir :2 autentikasi, 6 pembacaan data

minimal 8 (tergantung besarnya data produk): 2 autentikasi, 6 pembacaan data

d. SBC mini2440 bisa digunakan untuk menjalankan aplikasi berbasis smartcard dengan

reader USB. Kompilasi source code dilakukan dengan cross-compile program berbasis

PC. Supaya bisa dijalankan pada SBC, baik aplikasi maupun shared library yang

menunjang aplikasi, harus di-install di SBC.

e. Waktu akses maksimal pada SBC mini2440 dalam menjalankan algoritma ITSO untuk

operasi baca dan tulis adalah 0.23 detik. Dengan waktu sekian, transaksi dengan cara

tapping masih bisa dilakukan tanpa mengganggu operasi baca tulis kartu.

5.2. Saran

a. Pengembangan lebih lanjut aplikasi embedded untuk akses smartcard diharapkan tetap

berbasis ARM-Linux (prosesor ARM dan OS Linux) dan kompiler GCC, karena

pengembangan aplikasi embedded dengan lingkungan baru akan membutuhkan usaha

yang cukup berat.

b. Untuk mempercepat waktu eksekusi akses smartcard untuk piranti embedded, perlu

dicari development-kit untuk prosesor ARM yang mempunyai waktu eksekusi yang lebih

cepat.

c. Dukungan terhadap kartu dengan teknologi yang lain perlu dikembangkan. Sementara

pada penelitian ini, teknologi kartu yang didukung baru Mifare.

VI. Daftar Pustaka

Rankl, W., and Effing, W., 2003, Smartcard Handbook, John Willey and Sons Ltd,Singapore.

Zoreda, J.L., 1994, Smartcard, Artech House.Inc, London.

ISO – International Standard Organisation, 1994, ISO/IEC 7816 Part 4: Interindustry command for interchange, http://www.ttfn.net/techno/smartcards/iso7816_4.html.

Gemplus, MPCOS-EMV R4 Reference Manual, 2001, http://www.gemplus.com.

Ask-rfid, Smart Ticketing – Product Specification Versi 7, 2008, http://www.ask-rfid.com.

ITSO (Integrated Transport Smartcard Organisation), Interoperable public transport

ticketing using contactless smart customer media ITSO TS 1000 : 0 – 10, Versi 2.1.3,

2008, Controller of HMSO, Norwich, UK.

Yogyakarta, 25 November 2009,

Mengetahui,

Dekan Fakultas Teknik UGM

Ir. Tumiran, M. Eng., Ph.DNIP. 195908231986031002

Ketua Peneliti,

Ir. Litasari, M.Sc.NIP. 131122534