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