Sabtu, 30 Oktober 2010

Paper Tim Riset STSN - 2

Paper Ke-2 saya yang diterima dan dipresentasikan pada
Konferensi Nasional Sistem dan Informatika STIKOM Bali - Nop 2009


Secure authentication for Internet banking with SMS Key

Yan Adikusuma1) Tia Narang Ali 2) Tri Wahyudi3)
Sekolah Tinggi Sandi Negara, Bogor, Jawa Barat
yan.adikusuma@stsn-nci.ac.id.1) tianarang@gmail.com2 tri.wahyudi@stsn-nci.ac.id 3)


ABSTRAK
The continued proliferation of mobile phone and the Internet has provided users with more desirable options for application services and mobility. Mobile phone has become a natural piece of equipment of modern person’s daily wear. On the other hand, the Internet also increasingly becomes an option for financial transaction such Internet banking. These two phenomenons have to the growth of Internet banking that changed the way of people doing their financial transaction and predicted will increase in the near future.
As the Internet becomes a more important tool for financial transactions, the probability of transaction system security being compromised increases. Security such as authentication that verifies user identity as an Internet banking customer and ensure that only you can gain access to user account information in the Internet banking is the utmost importance. Transactions today are secure using static password and hardware token. However, some issues are impeding further adoption of the token technology such as insufficient security protection from man-in-the-middle attack as well as inconvenient for users that always need to carry the token and need multiple token for multiple bank’s account. Moreover, hardware token involves additional cost, such as cost of the token and any replacement fees.
In this paper, we design an authentication protocol, using combination of challenge-response paradigm and public key encryption. In this scheme, two factor authentications is adopted by using SMS for receiving a unique code from key generator server as an additional layer of security. In addition, the SMS message is sent encrypted by using public key encryption. A security analysis is described as well as ease of use so that propose authentication protocol can be used as an alternative for web based login such as Internet banking which offer additional security and convenient for the user.
Kata Kunci: Internet Banking, SIM card, Authentication Protocol, SMS

1. Pendahuluan
Internet banking merupakan fasilitas layanan perbankan yang ditujukan bagi nasabah agar dapat melakukan transaksi perbankan melalui situs internet, memberikan berbagai kemudahan bagi nasabah dalam melakukan aktivitasnya. Berdasarkan Gartner survey pada akhir tahun 2008 dan awal tahun 2009, menyatakan bahwa nasabah yang menggunakan online banking semakin meningkat. Di sisi lain dengan meningkatnya pengguna internet di Indonesia yang mencapai 25 juta jiwa dengan penetrasi 10%, sangat terbuka peluang akan meningkatnya transaksi yang menggunakan internet banking.

Seiring dengan berkembangnya internet yang digunakan menjadi tool penting pada transaksi keuangan, peluang timbulnya ancaman terhadap keamanan sistem transaksi lebih meningkat. Aspek keamanan merupakan sebuah aspek penting yang harus dipertimbangkan. Otentikasi merupakan salah satu aspek keamanan yang menekankan masalah keaslian suatu data atau informasi, termasuk juga kebenaran pihak yang memberi dan menerima data. Saat ini berbagai transaksi keuangan di internet diamankan dengan menggunakan password statis dan token. Sehingga untuk melakukan serangan terhadap akses layanan internet banking, seorang penyerang tidak hanya perlu mengetahui user ID dan password namun juga barisan acak yang selalu berubah setiap kali dibangkitkan.

Penggunaan token sebagai salah satu teknologi yang memenuhi two factor authentication, namun di sisi lain terdapat beberapa kelemahan, antara lain membutuhkan biaya tambahan pada proses pengadaannya dan biaya penggantian apabila rusak/hilang, nasabah perlu selalu membawa token untuk dapat bertransaksi dan apabila memiliki rekening lebih dari satu (bank yang berbeda) maka diperlukan lebih dari satu token, jika token kehabisan baterai atau karena suatu hal sehingga jam internal yang ada di dalam token tidak sinkron maka nasabah pemegang token diharuskan untuk segera menghubungi pihak bank.

Melihat potensi kelemahan yang ada, diperlukan suatu metode alternatif yang dapat memberikan kemudahan dalam pemakaian namun tetap menjamin keamanan dan otentikasi baik pengguna maupun informasi yang dikirim. Salah satu metode yang dapat digunakan yaitu penggunaan SMS Key untuk otentikasi yang aman pada web based login khususnya internet banking dengan menggunakan Secure SMS yang memperhatikan faktor confidentiality, integrity, and authenticity. Disamping penggunaan password statis yang ada, otentikasinya menggunakan juga SMS enkripsi yang diaplikasikan pada SIM Card dengan media transmisi menggunakan fitur SMS pada perangkat selular. Pada paper ini dikembangkan suatu konsep protokol otentikasi yang menggunakan kombinasi prinsip challange-response dan enkripsi kunci publik (public key encryption) yang diimplementasikan pada SIM Card perangkat selular. Sedangkan kunci atau password dinamis dibangkitkan oleh suatu key generator server yang memanfaatkan fungsi hash. Dengan memperhatikan tingkat kemudahan dan tingginya penggunaan SMS pada perangkat selular, media komunikasi ini digunakan sebagai sarana transmisi password dinamis yang dikomunikasikan.


1.1 Tujuan
Tujuan dari penelitian ini adalah mendesain protokol otentikasi transaksi pada layanan internet banking yang dapat memberikan kemudahan bertransaksi bagi nasabah namun tetap memperhatikan aspek keamanan transaksi tersebut.

1.2 Perumusan Masalah
Berdasarkan latar belakang yang telah dijelaskan diatas, permasalahan pada paper ini adalah “Bagaimana mendesain protokol otentikasi dengan menggunakan media alternatif SMS dan Key Server Generator sebagai pembangkit kunci/password dinamis pada layanan web based login khususnya internet banking.”

2. Landasan Teori
2.1 Security Token
Security token merupakan objek fisik untuk otentikasi sebuah sistem. Bentuknya bervariasi dan biasanya berukuran kecil dan mudah dibawa. Smart card, ID card, papan bertombol, handphone, gantungan kunci, pemancar infrared/Bluetooth merupakan contoh bentuk security token. Jenis security token yang umum adalah security token untuk infrastruktur kunci public, OTP, dan communication means. Security token yang termasuk kedalam infrastruktur kunci public berisi data identitas pengguna yang digunakan untuk tanda tangan digital. Sedangkan security token yang termasuk jenis OTP digunakan untuk menghasilkan sandi lewat dan hanya dapat digunakan sekali karena sandi ini akan terus berubah. Dan untuk yang termasuk jenis communication means mempunyai kemampuan untuk mentransmisikan datanya kepada server. Sampai saat ini sebagian besar token yang banyak digunakan untuk fasilitas internet adalah token yang termasuk dalam jenis OTP yang mebangkitkan barisan acak berdasarkan waktu. Dibutuhkan sinkronisai waktu antara waktu pada token dan waktu pada server (Barus, Petra Novandi, 2007)

2.2 Subscriber Identity Module (SIM)
SIM adalah sebuah smart card yang mengidentifikasi mobile station didalam jaringan. Data – data yang berkaitan dengan sistem keamanan GSM didalam SIM adalah identitas pelanggan berupa IMSI yang merupakan identitas utama dari sebuah mobile station dan MSISDN, Personal Identification Number (PIN), kunci otentikasi Ki, algortima A3, A5, dan A8. Setiap pelanggan sistem komunikasi seluler bergerak dapat mengakses jaringan bila telah memasukkan kartu SIM-nya kedalam unit SIM yang telah memenuhi spesifikasi (lulus uji tipe). Jadi didalam unit mobile station, mobile station sendiri memiliki IMEI sedangkan pelanggan sebagai pemegang kartu SIM mempunyai IMSI

2.3 Fungsi Hash
Menezes, A., P. van Oorschot dan S. Vanstone (1996) mencantumkan bahwa fungsi hash merupakan fungsi satu arah yang digunakan untuk menjamin servis otentikasi dan integritas suatu pesan. Suatu fungsi hash memetakan bit – bit string dengan panjang sembarang ke sebuah string dengan panjang tertentu. Proses pemetaan suatu input string menjadi output disebut proses hashing. Fungsi hash merupakan fungsi many to one sehingga memungkinkan adanya collusion. Secara umum fungsi hash harus memiliki dua sifat dasar yaitu sifat kompresi dan mudah dihitung. Fungsi hash dibagi menjadi dua kategori yaitu MDC (Modification Detection Codes) dan MAC (Message Authentication Codes). Perbedaan antara keduanya adalah pada MAC membutuhkan input message dan kunci rahasia sedangkan pada MDC tidak dibutuhkan kunci rahasia.

2.4 SMS Gateway
SMS Gateway memanfaatkan arsitektur teknologi komunikasi SMS untuk menerapkan aplikasi bernilai tambah dengan memanfaatkan komunikasi SMS untuk optimalisasi proses bisnis dan peningkatan kualitas layanan dari institusi pelayanan publik. Beberapa keuntungannya adalah dengan menggunakan SMS Gateway suatu instansi dapat memperbesar skala aplikasi teknologi informasi, SMS Gateway juga menyediakan aplikasi kolaborasi komunikasi SMS berbasis web untuk pengguna di suatu institusi, dan SMS Gateway dapat menjangkau konsumen serta pengguna jasa layanan secara mudah. SMS Gateway merupakan pintu gerbang bagi penyebaran informasi dengan menggunakan SMS. Pengguna dapat menyebarkan informasi ke ratusan nomor secara otomatis dan cepat tanpa harus mengetik ratusan nomor yang dituju. Hal ini dikarenakan semua nomor yang dituju akan diambil dari suatu database yang terhubung langsung ke pengirim informasi.

2.5 Java Card API
Java card API adalah subset dari java virtual machine (JVM) yang merupakan bahasa pemrograman untuk smart card. Java card API merupakan secure application platform yang dapat menjalankan beberapa aplikasi smartcard secara parallel dalam suatu card, memuat dan memanajemen aplikasi dinamis dalam suatu card, menjalankan aplikasi komunikasi yang aman, melakukan operasi kriptografi yang kompleks dan menyimpan serta memanipulasi data dalam memori volatile maupun in-volatile. Dalam mendesain teknologi java card dibutuhkan penyelarasan antara java sistem software di dalam smart card dengan keterbatasan ruang untuk aplikasi. Solusinya adalah dengan hanya mendukung sebuah subset dari fitur – fitur java dan untuk mengaplikasikan sebuah model terpisah untuk diimplementasikan ke java virtual machine (JVM) (Hans, Sebastian. Hartti Suomela, 2007).

2.6 Pseudo Random Number Generator (PRNG)
Berdasarkan SP800-57 part 1,Deterministic Random Bit Generator (DRBG) adalah sebuah algoritma yang menghasilkan barisan bit secara unik ditentukan oleh initial value yang disebut seed. Output dari DRBG terlihat random atau secara statistik tidak dapat dibedakan dengan nilai random. Selain itu, sifat lainnya dari DRBG adalah output-nya yang tidak dapat diprediksi dengan asumsi bahwa seed tidak diketahui. DRBG terkadang disebut PRNG atau Deterministic Random Number Generator (DRNG).

2.7 Algortima Asimetrik
Schneier, B. (1996) mencantumkan bahwa algoritma public-key (disebut juga algoritma asimetrik) dirancang dengan menggunakan kunci enkripsi dan kunci dekripsi yang berbeda. Dalam arti bahwa kunci dekripsi tidak dapat dihitung dari kunci enkripsi. Algortima ini dinamakan public-key karena kunci enkripsi dapat dipublikasi. Intinya adalah seorang yang tidak dikenal dapat melakukan enkripsi pesan dengan menggunakan kunci enkripsi tetapi hanya orang yang spesifik dengan kunci dekripsi yang berkorespondensi yang dapat melakukan dekripsi pesan. Pada system ini, kunci enkripsi biasa disebut dengan public key sedangkan kunci dekripsi biasa disebut private key.

3. Metodologi Riset
Metodologi riset yang digunakan dalam penelitian ini adalah metode eksperimen. Berikut perinciannya :
1) Pengumpulan data serta identifikasi masalah mengenai area permasalahan yang ada terhadap penggunaan token dalam transaksi internet banking.
2) Studi literature yang dilakukan dengan membaca dan memahami berbagai sumber informasi mengenai, Security Token, SSL, SMS Gateway, GSM, Fungsi Hash, SIM, Algoritma Asimetrik, Java Card API, dan PRNG.
3) Penyusunan dan pendefinisian requirement yang dibutuhkan untuk mendesain protokol otentikasi transaksi internet banking.
4) Perancangan dan pembangunan protokol otentikasi transaksi pada internet banking.
5) Analisis desain protokol otentikasi transaksi pada internet banking.

4. Desain Sistem
Protokol ini diawali dengan tahap registrasi yang dilakukan secara offline dengan cara nasabah mendatangi pihak bank terkait untuk melakukan pendaftaran. Pada tahap ini akan dilakukan pendataan mengenai identitas pribadi, nomor rekening, serta MSISDN nasabah serta pemberian password, user id yang unik untuk tiap nasabah. User id dan password tersebut digunakan untuk akses masuk situs layanan internet banking. Data – data tersebut akan disimpan bersama dengan nomor rekening nasabah. Pada tahap ini juga akan dilakukan pemberian aplikasi kriptografi yang telah diinjeksi dalam card tanpa mengganti MSISDN nasabah dan pemberian informasi kepada nasabah tentang protokol yang harus dilakukan nasabah dalam melakukan transaksi internet banking.

Pada sistem ini, dibutuhkan tiga buah server yaitu web server, database server dan key generator server. Web server menyimpan data yang berhubungan dengan identitas pribadi, nomor rekening, serta MSISDN nasabah. Sedangkan key generator server menyimpan data pasangan MSISDN dan nomor rekening nasabah serta pasangan public dan private key milik server dan public key nasabah. Pada protokol ini One time password (OTP) dibangkitkan oleh key generator server. Berikut adalah gambaran umum protocol,


Gambar 1. Gambaran Umum Protokol Transaksi

Dalam penggunaan normal, saat nasabah ingin melakukan transaksi internet banking maka hal yang harus dilakukan adalah mengakses layanan internet banking dari bank bersangkutan. Kemudian memasukkan user id dan password yang telah diberikan (proses ditunjukkan oleh anak panah nomor 1). Pada langkah ini, web server hanya dapat mengenali nasabah namun nasabah belum dapat melakukan transaksi perbankan. Perlu diketaui bahwa pengiriman paket antara nasabah dengan web server menggunakan protokol SSL. Berikut adalah tampilan web interface-nya,













Gambar 2. Tampilan Web Interface Log In Awal

Setelah itu web server akan membangkitkan challenge (8 karakter) dengan PRNG, challenge ini ditampilkan di web interface yang diakses oleh nasabah (proses ditunjukkan oleh anak panah nomor 2). Hal kedua yang harus dilakukan nasabah adalah mengirimkan challenge tersebut dengan SMS berplatform SMS Gateway (proses ditunjukkan oleh anak panah nomor 3). Challenge yang dikirimkan lewat SMS telah dalam bentuk terenkripsi dengan menggunakan algoritma asimterik. Aplikasi yang berisi algortima enkripsi, public-key key generator server (Pbs) serta private-key nasabah (Pvc) ini ditanam dalam simcard nasabah. Berikut adalah tampilan web interface setelah log in awal,













Gambar 3. Tampilan Web Interface Jika Log In Awal Berhasil

Kemudian key generator server akan mendekripsi pesan yang diterima kemudian mencocokkan MSISDN nasabah dengan nomor rekening nasabah dalam databasenya. Jika pasangan MSISDN dengan nomor rekening benar maka key generator server akan mengitung nilai hash dengan inputan kombinasi nomor rekening, MSISDN, serta challenge dan mengirimkan nilai hash yang telah dienkripsi dengan menggunakan PVc ke nasabah (proses ditunjukkan oleh anak panah nomor 4). Berikut adalah gambaran proses kirim terima OTP antara key generator server dengan nasabah dengan OTP tersebut merupakan output dari fungsi hash,




Gambar 4. Skema Kirim Terima OTP

Proses selanjutnya adalah pada saat nilai hash yang terenkripsi sampai di nasabah akan dilakukan proses dekripsi. Proses tersebut dilakukan oleh aplikasi yang telah ada di simcard nasabah. Kemudian nasabah akan memasukkan nilai hash tersebut ke web interface layanan internet banking yang sedang diaksesnya (proses ditunjukkan oleh anak panah nomor 5). Web server akan mencocokkan OTP yang dikirimkan nasabah dengan databasenya dengan sebelumnya telah melakukan perhitungan nilai hash terhadap kombinasi nomor rekening nasabah, MSISDN nasabah yang telah ada dalam database, dan challenge yang telah dibangkitkan. Jika sesuai maka nasabah akan dapat melakukan berbagai transaksi perbankan tanpa harus memasukkan OTP untuk setiap kali melakukan kegiatan transaksi dalam satu session. Berikut adalah tampilan web interface-nya,













Gambar 5. Tampilan Web Interface Jika OTP Benar

Pada layanan internet banking tersebut juga dilengkapi dengan timelines, sehingga dalam range waktu tertentu jika nasabah tidak melakukan kegiatan apapun maka session akan expire artinya nasabah akan kembali ke halamn log in awal.

5. Analisis
5.1 Analisis keamanan
Dari desain awal protokol otentikasi yang telah dijelaskan diatas menggunakan sms sebagai alternatif otentikasi memiliki beberapa keuntungan dilihat dari aspek keamanan antara lain pertama, pembangkitan password dinamis pada setiap sesi transaksi berbeda, hal ini dimungkinkan karena penggunaan identitas yang unik dari nasabah sebagai inputan fungsi hash serta nilai challenge yang selalu berbeda setiap sesinya. Kedua, protocol otentikasi ini relatif kuat terhadap replay attack mengingat setiap password dinamis yang dibangkitkan tidak dapat dimanfaatkan kembali untuk transaksi berikutnya karena adanya penggunaan challenge yang berbeda pada setiap sesi transaksi. Disamping itu, password dinamis yang ditransmisikan melalui SMS menggunakan perlindungan enkripsi, sehingga apabila terjadi penyadapan, akan sulit untuk langsung mendapatkan password dinamis yang digunakan.

5.2 Analisis penggunaan dan biaya
Ditinjau dari sisi lain, terdapat beberapa kelebihan antara lain: penggunaan SMS relatif lebih mudah dilakukan daripada menggunakan token. Mengingat penggunaan SMS sudah sangat lazim. dengan menggunakan SMS, sudah tentu tidak perlu membawa peralatan tambahan seperti token, serta memerlukan biaya pengadaan peralatan dan penggantian jika rusak untuk dapat melakukan transaksi keuangan online mengingat bahwa perangkat selular senantiasa dibawa dan sudah merupakan bagian dari gaya hidup saat ini. Selain itu, aplikasi SMS secure ini diinjeksi pada simcard, sehingga memberikan kemudahan bagi pengguna sekiranya harus berganti dengan perangkat selular yang baru.

6. Kesimpulan
Pemanfaatan SMS sebagai pembangkit OTP dengan desain protokol otentikasi yang menggunakan prinsip challenge-response serta enkripsi kunci publik dapat digunakan sebagai alternatif lain otentikasi pada web based login termasuk khususnya Internet banking. Penggunaan SMS ini secara teoritis selain tidak hanya memiliki beberapa keuntungan dibandingkan penggunaan token namun juga menawarkan tingkat keamanan yang relatif memadai.

7. Keterbatasan Penelitian
Pada penelitian ini, perlu dilakukan analisis lebih jauh lagi terhadap desain protokol otentikasi yang diajukan khususnya terhadap kemungkinan jenis serangan keamanan lainnya selain replay attack.

8. Daftar Pustaka
[1] Menezes, A., P. van Oorschot dan S. Vanstone, (1996), Handbook of Applied Cryptography, CRC Press.
[2] Schneier, Bruce. (1996). Applied of Cryptography: Protocol, Algorithms, and Source Code in C, Second Edition. John Willey and Sons. Inc.
[3] De Cock, Deni et.al. (2004) Threat Modelling For Security Tokens In Web Applications. COSIC Research Group, Katholieke Universiteit Leuven. Belgium
[4] He, Sheng. (2007) SIM Card Security. Ruhr-University of Bochum.
[5] Baker, Elaine. William Barker, William Burr, William Polk, Miles Smid. (2006) Computer Security. NIST SP800-57 part 1.
[6] Raharjo, Budi. (2002) Arsitektur Internet Banking yang Terpercaya. INDOCISC. Jakarta.
[7] Barus, Petra Novandi. (2007) Infrastruktur Kriptografi Pada Security Token Untuk Keperluan Internet Banking. ITB.Bandung.
[8] Hans, Sebastian. Hartti Suomela. (2007) What to Do With APDU. JavaOneSMConference Session TS-5642.
[9] Hartanto, Antonius Aditya. (2008) Mengenal Teknologi Smart Card. Kampung Teknologi & Lola Mobile.
[10] http://www.bankmandiri.co.id/article/securitytips.aspx?id=FFAN20461035
[11] www.gecko.web.id
[12] www.finextra.com/fullstory.asp?id=20132
[13] www.internetworldstats.com

Tidak ada komentar:

Posting Komentar