Minggu, 14 Desember 2008

Smartcard

Smartcard adalah kartu plastik yang berukuran sama dengan kartu kredit yang di dalamnya terdapat chip silikon yang disebut microcontroller. Chip merupakan integrated circuit yang terdiri dari prosesor dan memori. Chip, seperti layaknya CPU (Central Processing Unit) di komputer, bertugas melaksanakan perintah dan menyediakan power ke smartcard. Smartcard mempunyai kemampuan untuk memproses dan menginterpretasikan data, serta menyimpan data tersebut secara aman. Apalagi dengan perkembangan algoritma kriptografi, data yang disimpan akan dienkripsi terlebih dahulu, sehingga tidak mudah dibaca oleh pihak yang tidak berwenang/berhak. Hal ini akan mempersulit pemalsuan smartcard. Ukuran dan dimensi smartcard menurut ISO7816 adalah :
1. Dimensi kartu, yaitu panjang 87,6mm, lebar 53,98mm dan tebal 0,76mm.
2. Kartu terbuat dari PVC (Polyvynl Chloride) atau PVCA (Polyvynl Chloride Acetate).

Jenis Memori Pada Smartcard
Secara umum ada 3 jenis memori [ISO7816-95] yang digunakan:
1. ROM (Read Only Memory), berfungsi untuk menyimpan program utama dan sifatnya permanen.
2. RAM (Random Access Memory), berfungsi untuk menyimpan data sementara ketika proses sedang berjalan atau hasil penghitungan selama mengeksekusi perintah.
3. EEPROM (Electrically Erasable Programmable Read Only Memory), berfungsi untuk menyimpan program dan data yang sewaktu-waktu bisa diubah.

Komunikasi antara Smartcard dan Aplikasi
Smartcard yang digunakan saat ini dapat dibedakan melalui cara pengaksesannya, yaitu melalui kontak langsung (direct physical contact), secara elektronik tanpa kontak (contactless), atau kombinasi dari keduanya. Smartcard dengan system kontak harus dimasukkan kedalam sebuah pembaca kartu kecil. Sedangkan smartcard tanpa kontak memiliki antenna internal dan sebuah chip yang tertanam didalam kartu, yang memungkinkan transfer informasi dan daya dengan sebuah antenna penerima dititik tansaksi.

Format APDU
Smartcard tidak berarti tanpa adanya smartcard reader, yang berfungsi sebagai perantara komunikasi antara smartcard dengan peralatan lain seperti komputer. Komputer membaca atau menulis data melalui smartcard reader, kemudian smartcard reader mengubah perintah membaca/menulis tersebut ke dalam bahasa yang dimengerti smartcard.
Masing-masing perusahaan menyediakan protokol yang berbeda untuk berkomunikasi dengan reader. Komunikasi dengan smartcard berdasarkan format APDU (Application Protocol Data Unit). APDU merupakan unit dasar untuk pertukaran paket di dalam smartcard. Komunikasi antara kartu dengan reader dilakukan dengan APDU[ISO7816-95].
APDU dinyatakan sebagai data paket yang berisi perintah lengkap atau respon yang lengkap dari kartu.

KRIPTOGRAFI
Bagian ini membahas kriptografi yang merupakan alat untuk melakukan pengamanan data dalam sistem smartcard kesehatan. Kriptografi (cryptography) merupakan ilmu dan seni penyimpanan pesan, data, atau informasi secara aman. Kritptanalisis (cryptanalysis) merupakan ilmu dan seni pembongkaran pesan, data, atau informasi rahasia seperti di atas. Kriptologi (cryptology) adalah panduan dari kriptografi dan kriptanalist. Fungsi-fungsi yang mendasar dalam kriptografi adalah enkripsi dan dekripsi. Enkripsi adalah proses mengubah suatu pesan asli (plaintext) menjadi suatu pesan dalam bahasa sandi (ciphertext). Sedangkan dekripsi adalah proses mengubah pesan dalam suatu bahasa sandi menjadi pesan asli kembali. Berikut ini adalah hal-hal penting yang dicakup dan sering dibahas dalam teori kriptografi.

Kunci Simetris
Ini adalah jenis kriptografi yang paling umum digunakan. Kunci untuk membuat pesan yang disandikan sama dengan kunci untuk membuka pesan yang disandikan itu. Jadi pembuat pesan dan penerimanya harus memiliki kunci yang sama persis. Siapapun yang memiliki kunci tersebut termasuk pihak-pihak yang tidak diinginkan dapat membuat dan membongkar rahasia ciphertext. Contoh algoritma kunci simetris yang terkenal adalah DES (Data Encryption Standard).

Kunci Asimetris
Kunci asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi. Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengenkripsikan suatu pesan, sedangkan hanya satu orang saja yang memiliki rahasia tertentu dalam hal ini kunci privat untuk melakukan pembongkaran terhadap sandi yang dikirim untuknya. Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA.

Fungsi Hash Satu Arah
Fungsi hash satu arah (one-way hash function) digunakan untuk membuat sidik jari (fingerprint) dari suatu dokumen atau pesan X. Pesan X (yang besarnya dapat bervariasi) yang akan di-hash disebut pre-image, sedangkan outputnya yang memiliki ukuran tetap, disebut hash-value (nilai hash). Fungsi hash dapat diketahui oleh siapapun, tak terkecuali, sehingga siapapun dapat memeriksa keutuhan dokumen atau pesan X tersebut. Tak ada algoritma rahasia dan umumnya tak ada pula kunci rahasia. Contoh algoritma fungsi hash satu arah adalah MD-5 dan SHA. Message Authentication Code (MAC) adalah salah satu variasi dari fungsi hash satu arah, hanya saja selain pre-image, sebuah kunci rahasia juga menjadi input bagi fungsi MAC.

Tanda Tangan Digital
Penandatanganan digital terhadap suatu dokumen adalah sidik jari dari dokumen tersebut beserta timestamp-nya dienkripsi dengan menggunakan kunci privat pihak yang menandatangani. Tanda tangan digital memanfaatkan fungsi hash satu arah untuk menjamin bahwa tanda tangan itu hanya berlaku untuk dokumen yang bersangkutan saja. Keabsahan tanda tangan digital itu dapat diperiksa oleh pihak yang menerima pesan.

Masalah Pertukaran Kunci Publik
Misalkan ada dua pihak : Anto dan Badu, Anto hendak mengirimkan Badu suatu dokumen rahasia melalui jaringan komputer kepada Badu. Maka sebelumnya Badu harus mengirimkan kunci publiknya kepada Anto agar Anto dapat melakukan enkripsi yang pesannya hanya dapat dibuka oleh Badu. Demikian juga pula sebaliknya, Anto harus mengirimkan kepada Badu kunci publiknya agar Badu dapat memeriksa keaslian tanda tangan Anto pada pesan yang dikirim. Dengan cara ini Anto dapat memastikan pesan itu sampai ke tujuannya, sedangkan Badu dapat merasa yakin bahwa pengirim pesan itu adalah Anto. Anto dan Badu bisa mendapatkan masing-masing kunci publik lawan bicaranya dari suatu pihak yang dipercaya, misalnya P. Setiap anggota jaringan diasumsikan telah memiliki saluran komunikasi pribadi yang aman dengan P.

Sertifikat Digital
Sertifikat digital adalah kunci publik dan informasi penting mengenai jati diri pemilik kunci publik, seperti misalnya nama, alamat, pekerjaan, jabatan, perusahaan dan bahkan hash dari suatu informasi rahasia yang ditandatangani oleh suatu pihak terpercaya. Sertifikat digital tersebut ditandatangani oleh sebuah pihak yang dipercaya yaitu Certificate Authority (CA).

SECURE SOCKET LAYER (SSL)
SSL dapat menjaga kerahasiaan (confidentiality) dari informasi yang dikirim karena menggunakan teknologi enkripsi yang maju dan dapat di-update jika ada teknologi baru yang lebih bagus. Dengan penggunaan sertifikat digital, SSL menyediakan otentikasi yang transparan antara client dengan server. SSL menggunakan algoritma RSA untuk membuat tanda tangan digital (digital signature) dan amplop digital (digital envelope). Selain itu, untuk melakukan enkripsi dan dekripsi data setelah koneksi dilakukan, SSL menggunakan RC4 sebagai algoritma standar untuk enkripsi kunci simetri.
Saat aplikasi menggunakan SSL, sebenarnya terjadi dua sesi, yakni sesi handshake dan sesi pertukaran informasi.

Biasanya, browser-browser seperti Netscape Navigator atau Microsoft Internet Explorer sudah menyertakan sertifikat digital dari CA utama yang terkenal, sehingga memudahkan pemeriksaan sertifikat digital pada koneksi SSL.Penyertaan serfikat digital CA utama pada browser akan menghindarkan client dari pemalsuan sertifikat CA utama.

Tidak ada komentar: