Tinjauan Smart Card untuk Pengamanan Database Berbasis Komputer.
1. JENIS-JENIS KARTU DAN STANDARISASINYA
Secara lazim ada 3 jenis kartu SMARTCARD yang ada didunia, yakni :
• Memory Card, ini adalah jenis pertama yang diketahui orang dan dipakai pertama kali untuk kartu telepon. Jenis kartu ini meyimpan data yang telah di-preload oleh manufakturnya, kemudian mesin pembaca akan mengurangi isi variabel yang disimpannya.
• Microprosessor Card, kartu jenis ini mampu diprogram dengan bebas untuk kebutuhan apa saja. Hal ini dimungkinkan dengan adanya mikroprosesor dalam chip. Keterbatasaannya ada pada ukuran ROM yang dimiliki dan fungsi aritmatika yang masih sederhana.
• Contactless Card, kartu jenis ini mentransfer data tanpa ada kontak elektrik antara kartu dan terminalnya. Dapat berupa memory card atau microprocessor card.
Mengingat banyaknya manufaktur yang menciptakan smartcard maka perlu dibuatkan standarisasi skala internasional untuk membuat lebih mudah dalam pertukaran dan transfer data antara kartu-kartu produksi manufaktur tersebut.
Pengembangan teknologi Smartcard tunduk pada standarisasi yang ditetapkan oleh ISO(International Organisation for Standarisation)/IEC(International Electrotechnical Commission) dan atau CEN(Comite Eurpean de Normalisation). Dokumen standarisasi Smartcard yang perlu dimengerti untuk penulisan ini hanya dokumenISO7816danISOTC86/SC6.
2. FORMAT KARTU
Smartcard memiliki format yang nyaris sama dengan jenis kartu lain, misalnya kartu magnetik. Kartu ini memiliki dimensi chip 85.6 mm X 54 mm. Semua jenis Smartcard mempunyai chip dengan dimensi yang serupa. Chip ini ditanam dalam plat plastik tipe ID-1 yang terbuat dari bahan PVC dengan tebal 0,76 mm sesuai standar ISO 7810. Selain plat ID-1 ada juga plat tipe ID-00 dan ID-000 dengan dimensi masing-masing 66,10 mm X 33,10 mm dan 25 mm X 15 mm. Untuk lebih jelasnya, silahkan lihat gambar berikut.
3. TERMINAL CYBERMOUSE/ACR20
Satu-satunya cara untuk menghubungkan Smartcard dengan ‘dunia luar’ adalah lewat komunikasi serial. Perangkat embel-embel yang dibutuhkan untuk melakukan kontak listrik ke Smartcard disebut Terminal. Fungsi lainya yaitu untuk memberi suplai listrik ke Smartcard. Sebutan lain untuk terminal yaitu Card Reader atau Chip Reader atau Smartcard Reader. Jenis Card Reader yang penulis gunakan yaitu jenis ACS-20 merek Cybermouse.
Berbeda dengan Smartcard yang mempunyai standar yang serupa dalam pembuatannya, terminal memiliki banyak bentuk dan macamnya. Mulai dari jenis yang hanya berisikan unit pembaca kartu dan kabel serial hingga pada perangkat yang lebih kompleks yang dapat berisikan LCD, printer, dan kabel yang terhubung ke jaringan internet.
4. FEATURES PADA CYBERMOUSE/ACR20
Berikut ini ialah beberapa features yang dimiliki Cybermouse atau jenis
ACR20 :
• ISO 7816 compatible Smartcard interface.
• Mendukung kartu memori
• Mendukung kartu mikroprosesor dengan protokol T=0 dan T=1
• Proteksi untuk korelasi singkat pada kontak dengan Smartcard
• Interfacing dengan komunikasi serial RS-232 atau USB
• Baud rate hingga 115.2 kbit/s
• Security Aplication Module (optional)
Terminal, apapun bentuknya, mesti melayani mekanisme khusus dalam melakukan kontak elektrik ke Smartcard, dan memperlihatkan suplai listrik ke dalam chip Smartcard, sebelum melaksanakan proses berikutnya. Pada saat Smartcard dimasukkan ke dalam terminal maka proses yang terjadi adalah : terminal melaksanakan kontak dan menyalurkan suplai listrik ke dalam chip Smartcard, kemudian terminal mendeteksi respons dari Smartcard kemudian mengirim byte-byte dalam format tertentu lewat kabel serial.
5. SERIAL INTERFACE
Cybermouse/ACR20 terhubung melalui interface serial asinkron yang mengacu pada protokol RS-232. Dengan parameter-parameter berikut :
6. PROTOKOL KOMUNIKASI
Dalam kondisi wajar , Cybermouse berlaku selaku perangkat pasif.
Maksudnya yaitu, Cybermouse menunggu command dari PC atau mikrokontroller, menerima command dan mengirim respons sehabis mengeksekusi command tersebut. Command berikutnya cuma mampu ditransmisikan stelah command sebelumnya akhir dieksekusi. Ada dua kondisi dimana Cybermouse mengirim respons tanpa menanti command dari PC, yaitu pada saat mengantarreset message dan card status message.
Command
Command berisikan dua jenis ialah :
Normal command (kurang dari 255 byte)
Normal command berisikan 4 byte protokol dan N byte data (variabel) dengan struktur sebagai berikut :
Dengan perincian masing-masing byte sebagai berikut :
Header Start of command (01h)
Instruction Kode arahan
Datalength Panjang data atau variabel
Data Data, variabel atau parameter
Checksum Checksum di mampu dengan melakukan operasi XOR pada semua byte hingga mulai dari start of command hingga byte ke N+4
Extended command (N > 255 byte).
Extended command terdiri dari 6 byte protokol dan N byte data dengan struktur selaku berikut:
Respons
Respons berisikan tiga jenis berdasarkan adanya kesalahan dan command yang menimbulkannya adalah :
No transmission error with normal command (N<255 bytes) Ini yakni respons yang diberikan Cybermouse jikalau normal command sudah dihukum tanpa terjadi kesalahan (misal kesalahan pada cheksum). Respons
ini berisikan 3 byte protokol, 2 byte status dan N byte data .Strukturnya sebagai berikut :
1 2 3 4 5..N+4 N+5
HEADER SW1 SW2 DATALENGTH = N DATA CHECKSUM
Berikut ini ialah klarifikasi mengenai bab-bagian tersebut :
Header Selalu 01h
SW1 Menyatakan status eksesusi comman
90h = command berhasil dihukum
60h = kesalahan pada data command
67h = kesalahan pada saat pengeksekusian
FFh= status message yang dikirm oleh reader
SW2 Penjelasan detil tertentu tentang status eksekusi command
Datalength Panjang data atau variabel yang dikirm oleh SMARTCARD
Data Data, variabel atau parameter
Checksum Checksum di dapat dengan melakukan operasi XOR pada semua byte hingga mulai dari start of command hingga byte ke N+4
No transmission error with extended command (N>255 bytes)
Transmission error
Jika Cybermouse mendapatkan command yang tidak dikenal atau byte checksumnya tidak valid, maka Cybermouse akan mengantarrespons ‘NOT ACKNOWLEDGE’ dengan bentuk selaku berikut :
Reset Message
Reset terjadi pada saat Smartcard menerima power dari Cybermouse.
Normalnya, reset message hanya dikirm sekali dan mempunyai format yang sama dengan respons dengan perincian selaku berikut:
Card Status Message
Pada Cybermouse atau jenis ACR20, ketika Smartcard dimasukkan atau dicabut, maka Cybermouse akan mengirim card status message untuk menginformasikan bahwa kartu sedang ada didalam Cybermouse atau tidak. Card Status Message mampu dinon-aktifkan dengan command SET_NOTIFICATION.
Card status message memiliki format sebagai berikut :
Untuk kartu masuk
7. PROTOKOL TRANSMISI
Baik command maupun respons termasuk reset message dan card status message, dimengerti dengan adanya 1 byte komplemen didepan yang menyatakan start-of-text (STX), adalah byte 02h dan 1 byte di belakang bernilai 03h yang menyatakan end-of-text(ETX).
Untuk transmisi command dan respons, yang digunakan yakni huruf ASCII yang merepresentasikan bilangan heksadesimal. Tiap byte yang ditransmisikan, dipecah menjadi 2 byte karakter ASCII untuk tiap digit heksadesimal.
Contoh yang lebih detil, misalnya untuk mentransmisikan command GET_ACR_STAT (isyarat arahan = 01h, parameter tidak ada ) maka gosip yang ditransmisikan mencakup byte 01h untuk aba-aba aba-aba dan byte 00h untuk datalength. Bentuk string yang ditransmisikan menjadi :