Kamis, 08 November 2012

Resume Jurnal




PENERAPAN TANDA TANGAN DIGITAL UNTUK
OTENTIKASI SMS - BANKING
Abstrak
SMS-Banking merupakan layanan perbankan yang digunakan untuk melakukan transaksi melalui SMS. Faktor keamanan menjadi kunci penting dalam keberlangsungan transaksi tersebut. Pada Tugas Akhir ini, telah dikembangkan simulasi sistem SMS-Banking yang di dalamnya terdapat penggunaan teknologi tanda-tangan digital, sehingga dapat dapat meningkatkan aspek keamanan terutama otentikasi pesan SMS transaksi. Proses pembentukan dan verifikasi tanda-tangan digital dilakukan dengan menggunakan algoritma RSA dan SHA. Aplikasi yang dibangu n menggunakan teknologi J2SE untuk aplikasi server dan J2ME untuk aplikasi client. Berdasarkan hasil pengujian dalam lingkungan client-server lokal dan perhitungan waktu pembangkitan sepasang kunci publik dan kunci privat, aplikasi SMS-Banking yang dibangun dengan teknologi tanda-tangan digital terbukti mampu meningkatkan keamanan dari segi non teknis, yaitu hanya pihak tertentu saja yang mengetahui kunci privatnya masing-masing.
Pendahuluan
SMS-Banking merupakan suatu layanan bank yang memudahkan nasabah untuk melakukan transaksi perbankan hanya dengan menggunakan perangkat seluler mereka. Faktor keamanan menjadi sangat penting semenjak hadirnya produk layanan SMS-Banking. Selama ini sistem keamanan yang ada dilakukan dengan enkripsi pesan SMS yang dilakukan oleh handphone dengan menggunakan key tertentu yang tertanam pada SIM card operator telepon seluler. Pengguna wajib memasukkan password untuk melakukan transaksi tersebut. Digital Signature merupakan sebuah teknologi yang dapat digunakan untuk otentikasi pesan elektronik. Teknologi ini mungkin dapat digunakan untuk keamanan dalam transaksi SMS-Banking. Digital signature dilakukan dengan menggunakan algoritma kunci-publik. Salah satunya adalah algoritma RSA dan dengan menggunakan fungsi hash Secure Hash Algorithm (SHA), sehingga proses pembentukan tanda-tangan dari pesan yang dikirim dapat diperiksa keabsahannya.
Analisis Umum Sistem
Aplikasi SMS-Banking ditujukan untuk mengirim data transaksi perbankan ke suatu server bank tertentu yang berbasiskan SMS. SMS-Banking menyediakan layanan yang dapat digunakan oleh penggunanya secara langsung meliputi :
1. Mendapatkan informasi mengenai saldo pelanggan
2. Mendapatkan informasi mengenai tiga transaksi terakhir
3. Melakukan transfer account ke rekenenig pengguna yang lain
4. Membayar tagihan kartu kredit
5. Mendapatkan informasi mengenai kurs valuta asing
6. Melakukan transaksi ubah nomor PIN
Dalam melakukan transaksi SMS-Banking yang sebenarnya, pelanggan akan mengirimkan sebuah pesan SMS yang berisi sebuah struktur kode tertentu kepada penyedia nomor layanan perbankan tertentu (Bulk SMS Service Provider). Penyedia layanan nomor ini selanjutnya akan meneruskan pesan yang diterimanya ke aplikasi SMS-Banking yang ada di bank.
Bank secara proaktif mengirimkan data kepada pelanggan ketika merespon suatu transaksi. Data akan dikirimkan ke pelanggan dalam dua metode:
a.       E-mail to mobile (E2M), bank mengirimkan sebuah email ke aplikasi SMS-Banking yang terdapat di bank melalui alamat email yang spesifik.
b.      Database to mobile (D2M), aplikasi SMSBanking yang terdapat di bank akan secara aktif melakukan polling ke basis data server bank.

Berdasarkan kedua metode di atas, implementasi tanda-tangan digital SMS untuk SMS-Banking akan menggunakan metode D2M. Kelebihan metode ini diantaranya :
1.        Proses respon yang diberikan lebih cepat.
2.         Format data yang digunakan lebih dapat disesuaikan dengan kebutuhan tanpa harus melakukan parsing lebih seperti pada parsing pesan e-mail.
3.        Tingkat keamanan dari data yang dipertukarkan lebih aman.
Adapun kelemahan dari pemilihan metode D2M ini adalah sebagai berikut :
1.      Sistem arsitektur SMS-Banking kurang dapat terintegrasi dengan baik dengan fasilitas e-banking dari bank yang bersangkutan.
2.      Pengaksesan basis data secara langsung memerlukan otentikasi format query yang tepat.
Analisis Aliran Data SMS-Banking
Alir SMS-Banking ialah:
1.      Pelanggan menggunakan aplikasi SMSBanking yang terdapat pada telepon selulernya untuk melakukan transaksi perbankan.
2.      Sebelum SMS dikirimkan, kode yang terbentuk tersebut akan diberi tanda-tangan digital untuk menjamin keamanan pengirimannya ke komputer server yang disediakan oleh service provider (Bulk SMS Service Provider).
3.      SMS yang dikirimkan dari perangkat seluler pelanggan akan diterima oleh Bulk SMS Service Provider dalam hal ini adalah komputer server yang dimiliki oleh penyedia layanan nomor tertentu.
4.      Jika SMS memang berasal dari pelanggan yang terdaftar layanan ini dan format SMS telah benar, maka SMS akan diteruskan ke aplikasi SMS-Banking yang terdapat di bank.
5.      Jika hasil verifikasi positif, maka disusun query untuk transaksi perbankan yang berasal dari pesan SMS tersebut.
6.      Jika hasil verifikasi negatif, maka data transaksi perbankan yang terdapat pada pesan SMS tersebut diabaikan.
7.      Hasil verifikasi yang positif akan memicu server untuk membentuk SMS hasil request dan mengirimkan ke client sehingga pengguna dapat melihat dan mengetahui hasi transaksi yang diminta.
Analisis Keamanan dan Kelayakan Tanda-Tangan Digital dengan Fungsi Hash dan Algoritma RSA
Pada aplikasi SMS-Banking, terdapat penggunaan SMS yang merupakan representasi dari data transaksi yang digunakan oleh pelanggan dan bank. Data sms ini harus tetap terjaga kerahasiaannya (keasliannya) sampai pada saat pemrosesan dan peng-update-an basis data bank. Dengan kata lain, data SMS dari pelanggan maupun dari bank harus valid dan teruji keabsahannya.
Saat ini sistem kriptografi yang memberikan jaminan keamanan pesan yang tinggi adalah sistem kriptografi kunci-publik dimana kunci rahasia yang digunakan pada sistem kriptografi ini sangat sukar untuk diturunkan dari kunci-publiknya. Sistem kriptografi inilah yang cocok digunakan untuk aplikasi SMS-Banking.
Salah satu sistem kriptografi kunci-publik adalah tanda-tangan digital dengan algoritma RSA. Tanda-tangan digital dengan algoritma RSA sangat tepat digunakan untuk otentikasi data digital. Tanda-tangan digital tersebut merupakan sistem kriptografi yang tergantung pada isi dokumen dan kunci. Tandatangan digital RSA direpresentasikan sebagai karakter-karakter heksadesimal dan ditaruh pada akhir SMS. Untuk membedakan tanda-tangan digital dengan isi SMS, maka tanda-tangan digital RSA diawali  dan diakhiri dengan tag <s> dan </s>.
Kelayakan penggunaan algoritma RSA untuk tanda-tangan digital SMS-Banking dan keamanannya jika dibandingkan dengan DSA, ElGamal atau DES adalah sebagai berikut :
1.      RSA sangat cocok digunakan untuk menangani pesan yang berukuran kecil seperti SMS.
2.      Tingkat keamanan yang diberikan oleh algoritma ini cukup baik.
3.      Dalam transaksi SMS-Banking lebih menekankan kepada otentikasi pesan SMS untuk transaksi selain kepada kerahasiaan pesan.
4.      Dengan menggunakan fungsi hash, tandatangan digital ini dapat menyelesaikan permasalahan non-repudiation (baik penerima dan pengirim pesan mempunyai pasangan kunci masing-masing).
Analisis Protokol Komunikasi Kunci dalam Sistem SMS-Banking
Keamanan menjadi faktor yang sangat penting dalam proses transaksi SMS-Banking, termasuk pendistribusian kunci publik dan kunci simetri yang akan digunakan oleh pihak pelanggan dan pihak bank. Protokol yang digunakan harus jelas dan aman, sehingga pihak ketiga yang berusaha melakukan penyadapan transaksi tidak dapat melakukannya.
Pendistribusian kunci dalam pembahasan ini merupakan protokol kriptografi yang melibatkan dua belah pihak, yaitu pihak client (pelanggan) dan pihak server (bank), sedangkan untuk penyedia layanan nomor pendek (service provider) tidak termasuk dalam pihak yang terlibat karena fungsinya hanya sebagai perantara transaksi bukan perantara kunci. Pertukaran kunci awal dilakukan ketika pengguna  mendaftarkan dirinya ke bank untuk layanan SMS-Banking.
Sebagai ilustrasi, maka pihak pelanggan akan dianggap sebagai client dan pihak bank akan dianggap sebagai server. Antara client dan server pada awal penggunaan aplikasi SMS-Banking akan saling bertukar kunci publik. Kunci publik ini digunakan terutama dalam proses enkripsi kunci simetri yang dilakukan oleh client dan akan dikirimkan ke pihak bank. Protokol komunikasi yang akan digunakan dalam pembahasan ini terdiri dari 3 bagian, diantaranya :
i.  Protokol pertukaran kunci publik
(1) Untuk menggunakan aplikasi SMSBanking pada perangkat seluler, pihak client akan diberikan tampilan aplikasi
untuk membangkitkan pasangan kunci privat dan kunci publik secara random.
(2) Kunci privat yang dihasilkan akan disimpan dalam perangkat seluler client, sedangkan kunci publik akan dikirimkan
ke pihak server melalui jaringan telepon seluler (GSM).
(3) Ketika pihak server telah menerima kunci publik dari client, maka saat itu juga, server akan membangkitkan sepasang
kunci privat dan publik server. Selanjutnya, kunci publik server akan dikirimkan ke client melalui jaringan telepon seluler (GSM).
ii. Protokol pertukaran kunci simetri
(1) Setelah menerima kunci public client, server akan membangkitkan kunci simetri untuk proses enkripsi pesan yang harus
tersembunyi informasinya.
(2) Kunci simetri yang dihasilkan akan disimpan dalam aplikasi server dan dikirimkan ke pihak client bersamaan dengan pengiriman kunci publik.
(3) Pihak client akan menerima kunci simetri yang terenkripsi tersebut dan mendekripsikannya dengan menggunakan
kunci privat client yang dimilikinya.
Protokol komunikasi transaksi melalui SMS
(1) Untuk setiap pesan perbankan, client akan meringkas data SMS menjadi message digest dengan fungsi hash satu arah.
(2) Pihak client mengenkripsi message digest dengan kunci privatnya. Hasil enkripsi tersebut akan disertakan sebagai tandatangan digital pada data transaksi SMS.
(3) Untuk pesan yang mengandung informasi yang penting, maka pada bagian yang rahasia tersebut akan dienkripsi dengan
kunci simetri terlebih dahulu lalu dienkripsikan dalam satu kesatuan data transaksi menjadi message digest seperti halnya butir diatas.
(4) Pihak client mengirim data transaksi SMS yang sudah diberi tanda-tangan digital kepada pihak server .
(5) Pihak server meringkas data transaksi SMS dari client menjadi message digest dengan fungsi hash yang sama. Server
akan mendekripsikan tanda-tangan digital yang disertakan pada data transaksi SMS dengan menggunakan kunci publik client.
Jika hasil dekripsinya sama dengan message digest yang dihasilkan, maka tanda-tangan digital tersebut sah.
(6) Protokol ini juga berlaku sebaliknya, antara pihak server ke client.
Kesimpulan
1.        Telah berhasil diimplementasikan teknologi tanda-tangan digital untuk transaksi SMSBanking yang tersimulasikan dalam perangkat lunak yang telah dibangun.
2.        Algoritma RSA dapat diimplementasikan dalam perangkat lunak client sebagai komponen yang membentuk tanda-tangan digital SMS.
3.        Tingkat keamanan otentikasi transaksi SMSBanking dapat ditingkatkan dengan menggunakan model teknologi tanda-tangan digital yang diimplementasikan dengan menggunakan algoritma RSA dan SHA. Hal ini dibuktikan dengan keberhasilan penggunaan kunci privat untuk membentuk tanda-tangan digital dan kunci publik untuk memverifikasinya. Tingkat keamanan ini diperkuat dengan digunakannya algoritma DES (kunci simetri) untuk menyembunyikan bagian informasi yang penting
4.        Penggunaan teknologi tanda-tangan digital dapat meningkatkan keamanan dari aspek non teknis. Keamanan tersebut terbukti dengan kerahasiaan kunci privat yang hanya diketahui oleh pengguna aplikasi client sehingga pihak bank hanya mengetahui informasi kunci publik pengguna. Hal ini juga berlaku sebaliknya untuk kunci privat yang dimiliki oleh pihak bank.
Saran
1.      Untuk menguji tingkat keamanan yang lebih baik lagi, dapat dicoba untuk mengimplementasikan teknologi tanda-tangan digital dalam sistem perbankan yang real.
2.      Setiap kali mengirimkan pesan SMS dapat diimplementasikan dengan mengkompresi pesan SMS terlebih dahulu. Kompresi ini ditujukan untuk mengurangi banyaknya karakter yang digunakan dalam membentuk tanda-tangan digital.
3.      Untuk keamanan komunikasi antara service provider dengan server dapat diimplementasikan denga n algoritma stream cipher.


Tidak ada komentar:

Posting Komentar