Anda di halaman 1dari 10

PERANCANGAN DAN IMPLEMENTASI PROTOKOL

SMS-BANKING
Herdyanto Soeryowardhana – NIM : 13505095
Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung
E-mail : if15095@students.if.itb.ac.id, herdyhsw@gmail.com

Abstrak

SMS atau Short Message Service adalah suatu layanan pengiriman pesan singkat melalui telepon seluler.
SMS menawarkan banyak kemudahan, salah satunya adalah SMS-Banking. SMS-Banking merupakan suatu
layanan perbankan melalui jalur elektronik yang memungkinkan para nasabah bank tertentu untuk
melakukan berbagai transaksi perbankan melalui fasilitas SMS pada telepon seluler.

Pada sistem GSM dan sistem SMS-Banking terdapat berbagai ancaman keamanan. Oleh karena itu, pada
tugas akhir ini dirancanglah suatu protokol SMS-Banking yang dilengkapi dengan berbagai algoritma
kriptografi seperti RSA, Rijndael, tanda tangan digital, serta Diffie Hellman. Rancangan protokol tersebut
lalu diimplementasikan pada suatu perangkat lunak simulasi yang terdiri dari aplikasi klien dan server.
Aplikasi klien dikembangkan pada PDA yang berbasis Microsoft Windows Mobile 5.0 sedangkan aplikasi
server dikembangkan pada komputer yang berbasis Microsoft Windows XP. Kedua aplikasi tersebut
dikembangkan dengan menggunakan .NET framework.

Tugas akhir ini berfokuskan pada protokol SMS-Banking. Metodologi yang digunakan dalam tugas akhir
ini yaitu studi literatur, analisis masalah, eksplorasi, analisis perangkat lunak, perancangan perangkat lunak,
implementasi perangkat lunak, dan pengujian perangkat lunak. Hasil pengujian pada tugas akhir ini
menunjukkan bahwa protokol SMS-Banking yang dibuat telah memenuhi tujuan protokol yaitu kerahasiaan,
otentikasi, integritas data, serta nirpenyangkalan. Selain itu, protokol telah berhasil diimplementasikan
dengan baik pada perangkat lunak simulasi yang dikembangkan. Pengujian penyadapan pesan juga
membuktikan bahwa data penting pada pesan yang disadap tidak mudah untuk dikenali.

Kata kunci: protokol, SMS-Banking, Windows Mobile 5.0, .NET framework.

1. Pendahuluan 2008 [REA08]. Survei ini menunjukkan bahwa


pelanggan telepon seluler di Amerika Serikat
Fasilitas pada telepon genggam yaitu SMS
lebih banyak menggunakan SMS dibanding
(Short Message Service) sudah digunakan oleh
melakukan percakapan telepon. Fenomena ini
masyarakat luas. Menurut data Asosiasi Telepon
terjadi antara lain karena tarif SMS yang relatif
Seluler Indonesia (ATSI) pada Agustus 2008,
lebih murah dibandingkan tarif percakapan
jumlah pengguna telepon seluler tercatat
telepon serta terdapat berbagai kemudahan yang
sebanyak 120 juta nomor [SIN08]. Telepon
ditawarkan oleh SMS, mulai dari pengunduhan
seluler pada saat ini sudah menawarkan berbagai
nada dering, permintaan berbagai informasi,
fasilitas seperti SMS, percakapan telepon melalui
sampai dengan transaksi perbankan atau SMS-
video dan GPRS (General packet radio service)
Banking.
untuk mengakses internet. Di antara fasilitas-
fasilitas tersebut, SMS merupakan salah satu
SMS-Banking merupakan suatu layanan
fasilitas standard yang didukung oleh telepon
perbankan melalui jalur elektronik yang
seluler termurah saat ini. SMS adalah suatu
memungkinkan para nasabah bank tertentu untuk
layanan pengiriman pesan singkat melalui
melakukan berbagai transaksi perbankan melalui
telepon seluler. SMS juga merupakan favorit
fasilitas SMS pada telepon seluler. Layanan ini
para pengguna telepon seluler. Hal ini dapat
bertujuan untuk memberi kemudahan kepada
dilihat dari survei yang dilakukan oleh Nielsen
nasabah dalam memperoleh informasi keuangan
Mobile di Amerika pada kuartal kedua tahun
dan melakukan transaksi dimana pun dan kapan kriptografi asimetri menggunakan kunci yang
pun tanpa harus mengunjungi ATM (Anjungan berbeda untuk proses enkripsi dan dekripsi pesan
Tunai Mandiri) atau bank tempat mereka yang berbeda sedangkan pada algoritma
menjadi nasabah [ALM07]. Layanan ini sudah kriptografi simetri, kunci yang digunakan adalah
ditawarkan oleh berbagai bank di Indonesia. sama [MUN09]. Penerapan protokol SMS-
Fasilitas-fasilitas yang ditawarkan dalam layanan Banking yang relatif aman diharapkan dapat
ini hampir sama dengan layanan ATM pada mengurangi serta melindungi data-data pribadi
umumnya. para nasabah dari berbagai bahaya penipuan dan
pencurian oleh oknum-oknum tertentu.
Penggunaan SMS untuk keperluan transaksi
perbankan memerlukan perencanaan dan Pada tugas akhir ini digunakan beberapa
implementasi yang baik. Hal ini dilakukan untuk referensi dari tugas akhir yang telah dibuat
melindungi para nasabah dari berbagai ancaman sebelumnya. Tugas akhir tersebut adalah tugas
keamanan yang muncul dari oknum-oknum yang akhir yang dibuat oleh Budiono yang berjudul
tidak bertanggung jawab. Saat ini terdapat penerapan tanda tangan digital untuk otentikasi
berbagai ancaman keamanan terhadap sistem SMS-Banking [BUD08] dan tugas akhir yang
SMS-Banking. Ancaman yang pertama yaitu dibuat oleh Rangga Wisnu Adi Permana yang
SMS spoofing. SMS spoofing terjadi ketika suatu berjudul implementasi algoritma RC6 untuk
oknum mengubah informasi identitas pemanggil enkripsi SMS pada telepon seluler [PER08].
dirinya menjadi identitas milik orang lain untuk Perbedaan antara tugas akhir ini dengan tugas
berpura-pura menjadi orang lain pada saat akhir yang lainnya adalah tugas akhir ini lebih
mengirim suatu pesan SMS kepada penerima. menekankan pada aspek perancangan dan
Hal itu dilakukan agar penerima mengira bahwa implementasi protokol SMS-Banking sedangkan
dia menerima pesan SMS dari orang lain pada tugas akhir Budiono lebih menekankan
[PAN04]. Ancaman kedua yaitu kemungkinan pada penerapan tanda tangan digital dan tugas
pencurian pesan antara telepon seluler dan BSS akhir yang dibuat oleh rangga lebih menekankan
(Base Station Subsystems). Ancaman ketiga pada aspek implementasi algoritma RC6
datang dari personil operator telepon seluler tersebut.
yang dapat dengan mudah membaca isi log dari
pesan SMS yang dikirim oleh pengguna layanan 2. Analisis Sistem SMS-Banking
[KOH08]. Ancaman keempat dapat berupa
Sistem SMS-Banking yang ada pada umumnya
pengiriman pesan kepada server SMS provider
memiliki arsitektur sistem seperti yang dapat
dengan berpura-pura sebagai aplikasi mobile
dilihat pada Gambar 1. Pada awalnya, telepon
banking [CHI06]. Selain keempat ancaman
seluler milik nasabah bank mengirimkan pesan
tersebut terdapat ancaman-ancaman lain yang
SMS yang berisi kode tertentu kepada nomor
perlu diwaspadai.
penyedia layanan melalui wireless carrier.
Wireless carrier kemudian meneruskan SMS
Salah satu cara untuk mengatasi bahaya
tersebut kepada Bulk SMS Service Provider. Bulk
penipuan yang telah dijelaskan sebelumnya
SMS Service Provider kemudian meneruskan
adalah dengan mengimplementasikan suatu
pesan tersebut kepada aplikasi mobile banking.
protokol SMS-Banking yang relatif aman. Secara
Aplikasi mobile banking selanjutnya
definitif protokol adalah suatu kumpulan aturan
berhubungan dengan server perbankan inti untuk
yang mengatur cara suatu pelayanan diberikan
memroses permintaan nasabah. Aplikasi mobile
[MEH03]. Protokol SMS-Banking yang
banking kemudian merespon permintaan nasabah
dimaksud di dalam tugas akhir ini mengarah
dalam bentuk pesan SMS kepada Bulk SMS
kepada mekanisme pengiriman pesan SMS yang
Service Provider. Bulk SMS Service Provider
aman antara telepon seluler, SMS gateway, dan
lalu meneruskan SMS tersebut kepada wireless
server bank. Protokol ini juga menerapkan
carrier. Wireless Carrier kemudian meneruskan
berbagai teknologi kriptografi antara lain,
pesan tersebut kepada telepon seluler nasabah.
algoritma pertukaran kunci seperti Diffie
Hellman, algoritma kriptografi simetri seperti
AES (Advanced Encryption Standard) dan
algoritma kriptografi asimetri seperti RSA.
Kegunaan algoritma pertukaran kunci adalah
untuk mempertukarkan suatu kunci rahasia
antara dua orang atau lebih. Algoritma

2
kebergantungan cara ini cenderung tinggi karena
bergantung kepada operator telepon seluler. Cara
yang ketiga yaitu melalui aplikasi khusus
memiliki kelemahan dalam hal keterbatasan
penggunaan karena cenderung bergantung
kepada spesifikasi telepon seluler. Namun, cara
ini menawarkan tingkat keamanan yang relatif
baik jika aplikasi yang dibuat sudah
memperhitungkan berbagai aspek keamanan.
Oleh karena itu, berdasarkan berbagai kelemahan
Gambar 1 Arsitektur sistem SMS-Banking secara umum dan kelebihan dari ketiga cara tersebut, penulis
memilih untuk menggunakan cara ketiga yaitu
Layanan SMS-Banking memiliki beberapa melalui aplikasi khusus dalam tugas akhir ini.
pilihan cara yang bisa disesuaikan dengan
kemampuan ponsel dan kartu SIM (Subscriber 2. Analisis GSM
Interface Module) yang digunakan, diantaranya:
1. Melalui SMS biasa Arsitektur GSM terdiri atas berbagai macam
Cara ini merupakan cara yang umum digunakan komponen seperti yang terlihat pada Gambar 2.
dalam layanan SMS-Banking. Pengguna Garis tebal pada Gambar 2 menunjukkan
menggunakan layanan SMS-Banking dengan komunikasi antar komponen inti, sedangkan
cara mengetikkan pesan SMS yang berisi kode garis putus-putus menunjukkan koneksi internal
tertentu yang ditentukan oleh bank, lalu untuk komunikasi yang digunakan selama
mengirimkan pesan tersebut ke nomor khusus perawatan. Dalam suatu operasi komunikasi
yang sudah ditentukan oleh bank. biasa, Mobile Station (MS) menginisiasi
2. Melalui menu SIM Toolkit komunikasi tersebut. Sinyal komunikasi
Pengguna dapat menggunakan layanan SMS- ditransmisikan dari MS dan diterima oleh Base
Banking melalui fasilitas yang disediakan oleh Transceiver Station (BTS). Fungsi dari BTS
operator telepon seluler. Pengguna dapat antara lain untuk menerima dan mentransmisikan
memilih menu-menu khusus yang dapat diakses sinyal radio ke dan dari MS, mentranslasikan
pada menu SIM Toolkit yakni menu yang sinyal radio ke dalam format digital dan
biasanya terdapat pada kartu SIM, misalnya: mengirimnya kepada Base Station Controller
Satelindo@ccess serta M3Access dari Indosat, (BSC). BSC meneruskan sinyal yang diterima
Life in hand dari ProXL, dan Navigator64 kepada Mobile Switching Centre (MSC). MSC
dariTelkomsel. menginterogasi Home Location Register (HLR)
3. Melalui aplikasi khusus. dan Visitor Location Register (VLR) yang
Pengguna dapat melakukan layanan SMS- menyimpan informasi tentang lokasi dari tujuan
Banking melalui aplikasi khusus yang disediakan MS. Jika sinyal yang diterima adalah suatu pesan
oleh pihak bank. Aplikasi ini dapat digunakan SMS, maka pesan tersebut akan dirutekan kepada
setelah pengguna terlebih dahulu menanam Short Message Service Centre (SMSC) untuk
aplikasi tersebut pada ponselnya. Aplikasi pengiriman kepada tujuan yang dibutuhkan.
tersebut sangat bergantung kepada spesifikasi SMSC menyimpan suatu salinan dari SMS yang
ponsel yang dimiliki oleh pengguna sehingga dikirim ke dalam basis data setelah SMS tersebut
penggunaan dari aplikasi ini cenderung terbatas. terkirim. Dalam suatu kasus koneksi
internasional, sinyal kemudian dirutekan melalui
Cara yang pertama yaitu melalui SMS biasa International Switching Centre (ISC).
memiliki kelebihan yaitu cara ini tidak
bergantung kepada jenis telepon seluler dan
memiliki tingkat portabilitas yang sangat baik.
Namun, tingkat keamanan dari cara ini tidak
terlalu baik karena pesan SMS dikirim dalam
bentuk pesan biasa sehingga cukup berbahaya
jika pesan tersebut dibaca oleh pihak-pihak yang
tidak berkepentingan. Cara yang kedua yaitu
melalui menu SIM Toolkit memiliki kelebihan
dari segi keamanan karena pesan tidak dikirim
melalui pesan SMS biasa. Namun, tingkat

3
algoritma ini dapat digunakan, maka
dibutuhkan pertukaran kunci publik dan
privat antara klien dan server. Namun,
dalam protokol ini, proses pertukaran kunci
publik dan privat milik server dan klien
tidak termasuk di dalam protokol ini.
Pertukaran kunci tersebut dapat dilakukan
misalnya melalui email atau melalui ATM.
Pada protokol ini, server dianggap sudah
menyimpan kunci publik milik klien dan
kunci privat milik server serta klien
dianggap sudah menyimpan kunci publik
Gambar 2 Arsitektur GSM milik server dan kunci privat milik klien.
3. Protokol ini memakai kode aktivasi. Kode
3. Analisis Protokol SMS-Banking aktivasi diasumsikan sudah dimiliki oleh
klien. Proses klien dalam mendapatkan kode
3.1 Tujuan Protokol aktivasi tidak termasuk di dalam protokol
Protokol SMS-Banking yang dibuat memiliki ini.
beberapa tujuan tertentu. Tujuan ini akan 4. Arsitektur sistem SMS-Banking yang
menjadi dasar dalam pembuatan protokol SMS- menjadi acuan dalam protokol yang dibuat
Banking. Tujuan dari protokol SMS-Banking terdapat pada Gambar III-5. Jaringan antara
yang dibuat antara lain: Bulk SMS Service Provider dan server bank
dianggap sebagai jaringan yang aman dan
1. Kerahasiaan handal. Dalam arsitektur ini Bulk SMS
Protokol SMS-Banking yang dibuat harus dapat Service Provider hanya bertugas menerima
melindungi kerahasiaan data-data yang dimiliki SMS kemudian meneruskan pesan tersebut
oleh klien dan server. Semua data-data yang kepada server bank dan mengirimkan SMS
dimiliki oleh kedua pihak tersebut tidak boleh kepada tujuan tertentu berdasarkan
dibaca atau dimodifikasi oleh pihak-pihak lain konfirmasi dari server bank.
yang tidak berkepentingan.
3.3 Analisis Resiko Keamanan
2. Integritas data
Data-data yang terlibat di dalam protokol harus Terdapat berbagai celah keamanan dalam sistem
terjaga dari manipulasi oleh pihak-pihak yang SMS-Banking dan sistem GSM yang dapat
tidak berkepentingan. Manipulasi data-data yang dimanfaatkan oleh pihak-pihak yang tidak
dimaksud termasuk penghapusan, pengubahan bertanggung jawab. Oleh karena itu, dalam
dan penambahan terhadap data-data yang terlibat subbab ini akan dijelaskan berbagai
di dalam protokol. kemungkinan resiko yang akan muncul.
3. Otentikasi 3.3.1 Kelemahan Algoritma A5
Dari sudut pandang klien, protokol harus dapat
melakukan otentikasi terhadap server sedangkan Dalam sistem GSM, algoritma A5 digunakan
dari sudut pandang server, protokol harus dapat untuk mengenkripsi data yang ditransmisikan
melakukan otentikasi terhadap klien. dalam lalu lintas dan saluran persinyalan.
Algoritma A5 memiliki dua varian utama yaitu
4. Non-repudiasi atau nirpenyangkalan A5/1 dan A5/2. Biyurkov telah menemukan tiga
Baik server dan klien tidak dapat melakukan kemungkinan serangan pada versi A5/1 yang
penyangkalan terhadap informasi yang tercipta. biasa digunakan di Eropa. Serangan dapat
dilakukan menggunakan suatu komputer
3.2 Asumsi Protokol personal dalam waktu beberapa detik saja.
Asumsi dari protokol ini yang akan dibuat antara Varian A5/2 juga dapat diretas dalam waktu
lain: kurang dari satu hari. Oleh karena itu, dapat
1. Jaringan GSM dianggap ideal dan handal disimpulkan bahwa data yang ditransmisikan
sehingga SMS yang dikirimkan oleh server pada sistem GSM sudah rawan terhadap
atau klien terjamin sampai pada tujuan. serangan kriptanalis.
2. Protokol ini akan menggunakan algoritma
kriptografi asimetri sehingga sebelum

4
digunakan pada fase transaksi oleh klien dan
server, serta mendapatkan nomor urutan yang
3.3.2 Kelemahan Algoritma Otentikasi A3
akan digunakan oleh klien pada fase transaksi.
dan A8
Tujuan dari fase transaksi adalah klien dapat
Algoritma A3/A8 adalah suatu algoritma melakukan transaksi perbankan dengan aman
otentikasi yang digunakan secara umum di dunia serta server dapat memroses transaksi yang
dalam sistem GSM. Meskipun demikian Wagner diminta oleh klien dengan aman dan tepat.
telah menunjukkan bahwa di telah berhasil Dalam protokol ini, fase aktivasi hanya
mengambil Ki sehingga memungkinkan dilakukan sekali saja ketika klien mengaktivasi
penggandaan kartu SIM. layanan SMS-Banking, sedangkan fase transaksi
dilakukan setiap kali klien ingin melakukan
3.3.3 SMS Spoofing transaksi perbankan Protokol ini menggunakan
SMS spoofing adalah suatu serangan yang suatu struktur pesan tertentu untuk memudahkan
melibatkan suatu pihak ketiga yang mengirim proses ekstraksi informasi serta proses validasi
pesan SMS yang terlihat seperti dari pihak yang yang diperlukan
terpercaya. Hal ini terjadi karena dimungkinkan
untuk mengganti alamat asli pada header SMS Dalam protokol ini terdapat bagian pesan yang
dengan suatu string alfanumerik pada sistem direpresentasikan dalam bentuk base 64. Bagian-
GSM. Hal tersebut dapat menyembunyikan bagian tersebut antara lain hasil enkripsi, tanda
alamat pengirim dan pengirim dapat tangan digital, dan nilai Diffie Hellman. Pada
mengirimkan pesan palsu. awalnya, bagian-bagian tersebut
direpresentasikan dalam bentuk byte. Namun,
3.3.4 Masalah Pada Enkripsi SMS agar bagian-bagian tersebut dapat ditampilkan
Format data yang umum untuk SMS adalah dengan baik pada pesan SMS, maka dilakukan
plainteks. Enkripsi dilakukan pada saat transmisi konversi dari byte menjadi base64.
adalah hanya antara Base Tranceiver Station 3.4.1 Fase Aktivasi
(BTS) dan Mobile Station. Namun, seperti yang
kita ketahui sebelumnya, algoritma yang 3.4.1.1 Struktur Pesan
digunakan untuk mengenkripsi data yang Stuktur pesan SMS pada fase aktivasi dibagi
ditransmisikan antara BTS dan Mobile Station
menjadi beberapa bagian untuk mengakomodasi
yaitu algoritma A5 sudah dapat dipecahkan
berbagai variasi pemeriksaan keamanan yang
sistem GSM rawan terhadap pencurian pesan.
dibutuhkan dalam protokol. Terdapat dua macam
3.3.5 Penyalahgunaan Wewenang oleh struktur pesan dalam fase aktivasi yaitu struktur
Personil Pusat SMS pesan fase aktivasi klien dan struktur fase
aktivasi server. Pada struktur pesan fase aktivasi
Pada server pusat SMS yang dimiliki oleh server dan klien terdapat bagian yang dienkripsi
penyedia layanan jaringan seluler terdapat menggunakan algoritma asimetri karena pada
salinan dari pesan SMS. Server pusat yang bagian tersebut terdapat data-data yang tergolong
dimaksud di sini adalah SMSC. Pesan SMS yang rahasia. Alasan penggunaan algoritma asimetri
disimpan berbentuk pesan berupa teks biasa dalam fase aktivasi ini adalah karena algoritma
sehingga setiap personil yang memiliki akses asimetri dapat digunakan untuk mengamankan
kepada server SMS penyedia layanan dapat pengiriman kunci simetri.
dengan mudah melihat informasi yang bersifat
sensitif secara rinci. Hal ini cukup berbahaya Namun, terdapat juga bagian yang tidak
karena terdapat kemungkinan penyalahgunaan dilakukan enkripsi yaitu pada bagian versi dan
terhadap informasi yang dapat dibaca oleh kode nasabah. Hal tersebut dimaksudkan agar
personil yang memiliki akses kepada server jika versi protokol pada pesan tidak sesuai
penyedia layanan. dengan versi protokol yang berlaku, maka server
3.4 Gambaran Umum Protokol atau klien dapat segera untuk mengacuhkan
pesan tersebut tanpa terlebih dahulu melakukan
Protokol ini dibuat berdasarkan asumsi dan dekripsi terhadap pesan tersebut sehingga
tujuan yang sudah dijelaskan sebelumnya. keduanya tidak perlu melakukan komputasi yang
Protokol ini terdiri atas dua fase yaitu fase sia-sia. Versi terdiri atas kode yang menunjukkan
aktivasi dan fase transaksi. Tujuan dari dari fase versi dari protokol dan kode yang menunjukkan
aktivasi adalah mengaktivasi layanan SMS- jenis pesan. Versi memiliki panjang empat digit.
Banking, membentuk kunci simetri yang akan

5
Tiga digit awal merupakan versi protokol 6. Tanda tangan digital pada struktur pesan
sedangan satu digit terakhir merupakan jenis fase aktivasi klien merupakan hasil
pesan. Selain itu, tidak dilakukan enkripsi pada komputasi dari versi, kode nasabah, PIN,
bagian kode nasabah agar server dapat mencari kode aktivasi, serta nilai X Diffie Hellman.
kunci asimetri pada basis data server sesuai
dengan kode nasabah. Kedua struktur pesan
tersebut juga dilengkapi dengan tanda tangan
digital menggunakan fungsi hash yang
digunakan untuk memeriksa keaslian dan isi
Gambar 4 Struktur pesan fase aktivasi server
pesan sehingga berdasarkan tanda tangan digital
tersebut dapat diperiksa apakah pesan tersebut Struktur pesan fase aktivasi server dapat dilihat
telah dimodifikasi atau belum. pada 4. Penjelasan untuk struktur fase tersebut
adalah sebagai berikut:
Pada struktur pesan fase aktivasi klien, terdapat
1. Versi pada struktur pesan fase aktivasi
PIN yang digunakan untuk proses otentikasi
nasabah. Kode aktivasi digunakan untuk server berisi kode 100B.
menghindari penggunaan pesan secara berulang. 2. Nilai Y Diffie Hellman merupakan bilangan
Nilai X Diffie Hellman merupakan suatu nilai yang dihitung berdasarkan suatu nilai yang
yang digunakan untuk menghitung kunci simetri dipilih oleh server dengan menggunakan
rumus pembangkitan nilai Y Diffie Hellman.
berdasarkan pada rumus II-1. Kunci simetri ini
Panjang dari nilai ini adalah sebesar 32 digit.
akan digunakan pada algoritma kriptografi
simetri pada fase transaksi. 3. Nomor urutan merupakan bilangan yang
Pada struktur pesan fase aktivasi server terdapat dibangkitkan oleh server yang akan
nomor urutan yang akan digunakan pada fase digunakan oleh server dan juga klien sebagai
penanda urutan pesan pada fase transaksi.
transaksi. Nomor urutan tersebut digunakan
Nomor urutan ini memiliki panjang 6 digit.
sebagai penanda urutan pesan dan untuk
menghindari penggunaan pesan secara berulang 4. Tanda tangan digital pada struktur pesan
pada fase transaksi. fase aktivasi server merupakan hasil
komputasi dari versi, nilai Y Diffie
Hellman, serta nomor urutan.
3.4.1.2 Urutan Protokol
Urutan protokol dalam fase aktivasi adalah
Gambar 3 Struktur pesan fase aktivasi klien sebagai berikut:
Struktur pesan fase aktivasi klien dapat dilihat 1. Klien menghitung tanda tangan digital
pada Gambar 3. Penjelasan untuk struktur fase berdasarkan versi, kode nasabah, nomor
tersebut adalah sebagai berikut: urutan, PIN, kode transaksi, isi transaksi I
dan isi transaksi II.
1. Versi pada struktur pesan fase aktivasi klien
2. Klien mengenkripsi nomor urutan, PIN,
berisi kode 100A.
kode transaksi, isi transaksi I dan isi
2. Kode nasabah terdiri atas 10 digit kode
transaksi II serta tanda tangan digital dengan
khusus nasabah yang bersifat unik.
algoritma simetri menggunakan kunci
3. PIN (Personal Indentification Number)
simetri yang didapatkan dari fase aktivasi.
merupakan nomor rahasia milik nasabah
3. Klien membentuk pesan dengan struktur
yang memiliki panjang 6 digit.
seperti pada Gambar 3.
4. Nilai X Diffie Hellman merupakan bilangan
4. Klien mengirim pesan SMS kepada server.
yang dihitung berdasarkan suatu nilai yang
5. Server menerima pesan SMS dari klien.
dipilih klien dengan menggunakan rumus
6. Server memeriksa versi protokol.
pembangkitan nilai X Diffie Hellman. Nilai
7. Server mendekripsi pesan dengan algoritma
X Diffie Hellman memiliki panjang 32 digit.
simetri menggunakan kunci simetri yang
5. Kode aktivasi merupakan kode khusus yang
sesuai dengan kode nasabah.
diberikan oleh pihak bank kepada klien yang
8. Server memeriksa kode nasabah, PIN,
digunakan oleh klien untuk mengaktivasi
nomor urutan serta tanda tangan digital pada
layanan SMS-Banking. Kode aktivasi
pesan yang diterima.
memiliki panjang 6 digit.

6
9. Server memroses transaksi berdasarkan kode terakhir merupakan jenis pesan. Kedua struktur
transaksi, isi transaksi I dan isi transaksi II. pesan tersebut juga dilengkapi dengan tanda
dari pesan. tangan digital menggunakan fungsi hash yang
10. Server mengubah nomor urutan menjadi digunakan untuk memeriksa keaslian dan isi
nomor urut yang berikutnya. pesan sehingga berdasarkan tanda tangan digital
11. Server menghasilkan tanda tangan digital tersebut dapat diperiksa apakah pesan tersebut
berdasarkan versi, nomor urutan, dan isi telah dimodifikasi atau belum. Selain itu, tidak
pesan konfirmasi transaksi. dilakukan enkripsi pada bagian kode nasabah
12. Server mengenkripsi pesan menggunakan agar server dapat mencari kunci simetri pada
algoritma simetri. basis data server sesuai dengan kode nasabah.
13. Server kemudian membentuk struktur pesan
SMS seperti pada Gambar 4. Pada struktur pesan juga terdapat PIN yang
14. Server mengirim SMS kepada klien. digunakan untuk proses otentikasi nasabah.
15. Klien menerima SMS dari server. Nomor urutan yang didapatkan dari fase aktivasi
16. Klien memeriksa versi protokol. dipakai oleh klien pada fase transaksi ini. Nomor
17. Klien mendekripsi bagian pesan yang urutan akan diubah menjadi urutan berikutnya
diamankan menggunakan algoritma simetri. ketika server telah menyelesaikan proses
18. Klien memeriksa tanda tangan digital. transaksi yang dimiliki oleh klien.
19. Klien menyimpan nomor urutan yang baru. Pada struktur pesan pada fase transaksi terdapat
20. Klien membaca isi pesan konfirmasi kode transaksi, isi transaksi I, dan isi transaksi II.
transaksi dari server. Kode transaksi merupakan kode khusus yang
mengacu kepada suatu layanan transaksi
3.4.2 Fase Transaksi
sedangkan isi transaksi I dan isi transaksi II
3.4.2.1 Struktur Pesan berisi data-data yang diperlukan oleh layanan
transaksi yang terkait. Contohnya, isi dari kode
Terdapat dua macam struktur pesan pada fase
transaksi adalah 101 yang mengacu kepada
transaksi yaitu struktur pesan fase transaksi klien layanan transfer antar rekening, maka isi dari isi
dan struktur pesan fase transaksi server. struktur transaksi I adalah nomor rekening tujuan dan isi
pesan fase transaksi klien dapat dilihat pada
dari isi transaksi II adalah nominal jumlah uang
Gambar III-10 dan struktur pesan fase transaksi
yang akan ditransfer.
server dapat dilihat pada Gambar III-11.
Pada kedua struktur pesan tersebut terdapat
bagian yang dienkripsi menggunakan algoritma
simetri karena pada bagian tersebut terdapat Gambar 5 Struktur pesan fase transaksi klien
data-data yang tergolong rahasia. Alasan
Struktur pesan fase transaksi klien dapat dilihat
penggunaan algoritma simetri antara lain:
pada Gambar 5. Penjelasan untuk struktur fase
1. Algoritma simetri dirancang sehingga proses
tersebut adalah sebagai berikut:
enkripsi dan dekripsi pesan membutuhkan
1. Versi pada struktur pesan fase transaksi
waktu yang singkat.
klien berisi kode 100C.
2. Ukuran kunci simetri relatif pendek.
2. Kode nasabah terdiri atas 10 digit kode
3. Otentikasi pengirim pesan langsung
khusus nasabah yang bersifat unik.
diketahui dari cipherteks yang diterima,
3. PIN (Personal Indentification Number)
karena kunci hanya diketahui oleh pengirim
merupakan nomor rahasia milik nasabah
dan penerima pesan saja.
yang memiliki panjang 6 digit.
Namun, terdapat juga bagian yang tidak
4. Kode transaksi merupakan kode khusus
dilakukan enkripsi yaitu pada bagian versi dan
yang sudah ditentukan berdasarkan layanan
kode nasabah. Hal tersebut dimaksudkan agar
transaksi yang diinginkan oleh nasabah.
jika versi protokol pada pesan tidak sesuai
Kode ini memiliki panjang 3 digit.
dengan versi protokol pada saat itu, maka server
5. Isi transaksi I dan isi transaksi II adalah
atau klien dapat segera untuk mengacuhkan
data-data yang berkaitan dengan kode
pesan tersebut tanpa terlebih dahulu melakukan
transaksi yang diminta yang masing-masing
dekripsi terhadap pesan tersebut. Versi terdiri
memiliki panjang 10 digit.
atas kode yang menunjukkan versi dari protokol
6. Tanda tangan digital yang dihasilkan pada
dan kode yang menunjukkan jenis pesan. Versi
pesan permintaan transaksi dari klien
memiliki panjang empat digit. Tiga digit awal
dihitung berdasarkan versi, kode nasabah,
merupakan versi protokol sedangan satu digit

7
nomor urutan, PIN, kode transaksi, isi 13. Server kemudian membentuk struktur pesan
transaksi I, dan isi transaksi II. SMS seperti pada Gambar 6.
7. Nomor urutan merupakan nomor urutan 14. Server mengirim SMS kepada klien.
yang didapatkan dari fase aktivasi. Panjang 15. Klien menerima SMS dari server.
nomor urutan adalah sebesar 6 digit. 16. Klien memeriksa versi protokol.
Versi Pesan yang dienkripsi menggunakan algoritma simetri 17. Klien mendekripsi bagian pesan yang
diamankan menggunakan algoritma simetri.
Nomor Isi Pesan Konfirmasi Tanda Tangan
18. Klien memeriksa tanda tangan digital.
Urutan Transaksi Digital 19. Klien menyimpan nomor urutan yang baru.
Gambar 6 Struktur pesan fase transaksi server 20. Klien membaca isi pesan konfirmasi
transaksi dari server.
Penjelasan dari bagian-bagian dari struktur pesan
di atas dijelaskan sebagai berikut: 4. Deskripsi Umum Perangkat Lunak
1. Versi pada struktur pesan fase transaksi Perangkat lunak yang dibangun merupakan suatu
server berisi kode 100D. simulasi SMS-Banking berdasarkan protokol
2. Isi pesan konfirmasi berisi pesan konfirmasi SMS-Banking yang sudah dirancang sebelumnya.
dari layanan transaksi perbankan yang Seluruh tahapan pada fase aktivasi dan fase
berhasil diproses oleh server bank. transaksi pada protokol SMS-Banking yang harus
3. Nomor urutan merupakan nomor urutan baru dapat dijalankan pada perangkat lunak ini. Nama
yang didapatkan dari server. Panjang nomor perangkat lunak tersebut adalah HIPRO SMS.
urutan adalah sebesar 6 digit.
Secara umum HIPRO SMS terdiri atas dua
3.4.2.2 Urutan Protokol bagian utama yaitu klien dan server. Bagian klien
merupakan aplikasi yang berjalan di atas telepon
Urutan protokol dalam fase transaksi adalah
seluler pengguna. Tugas dari bagian ini adalah
sebagai berikut:
menjalankan protokol baik untuk fase aktivasi
1. Klien menghitung tanda tangan digital
maupun fase transaksi pada bagian klien serta
berdasarkan versi, kode nasabah, nomor
menyediakan antarmuka yang dibutuhkan oleh
urutan, PIN, kode transaksi, isi transaksi I
nasabah untuk melakukan aktivasi layanan
dan isi transaksi II.
perbankan serta melakukan layanan transaksi
2. Klien mengenkripsi nomor urutan, PIN,
perbankan. Aplikasi yang dibangun pada bagian
kode transaksi, isi transaksi I dan isi
server bertugas menjalankan protokol baik untuk
transaksi II serta tanda tangan digital dengan
fase aktivasi maupun fase transaksi pada bagian
algoritma simetri menggunakan kunci
server. Proses otentikasi pesan SMS dan
simetri yang didapatkan dari fase transaksi.
pemrosesan transaksi SMS-Banking dilakukan
3. Klien membentuk pesan dengan struktur
pada bagian ini.
seperti pada Gambar 5.
4. Klien mengirim pesan SMS kepada server. 5. Pengujian
5. Server menerima pesan SMS dari klien.
5.3 Tujuan Pengujian
6. Server memeriksa versi protokol.
7. Server mendekripsi pesan dengan algoritma Tujuan dari pengujian yang dilakukan antara
simetri menggunakan kunci simetri yang lain:
sesuai dengan kode nasabah.
1. Menguji kesesuaian protokol SMS-Banking
8. Server memeriksa kode nasabah, PIN,
yang dibuat dengan tujuan protokol.
nomor urutan serta tanda tangan digital pada
2. Mengetahui apakah protokol SMS-Banking
pesan yang diterima.
yang dibuat dapat diimplementasikan
9. Server memroses transaksi berdasarkan kode
dengan baik pada perangkat lunak simulasi.
transaksi, isi transaksi I dan isi transaksi II.
3. Menguji apakah data-data penting yang
dari pesan.
terkandung di dalam pesan sudah terenkripsi
10. Server mengubah nomor urutan menjadi
dengan aman jika dilakukan proses
nomor urut yang berikutnya.
penyadapan terhadap pesan.
11. Server menghasilkan tanda tangan digital
berdasarkan versi, nomor urutan, dan isi 5.4 Kasus Uji
pesan konfirmasi transaksi.
12. Server mengenkripsi pesan menggunakan Pengujian dibagi menjadi 3 bagian yaitu
algoritma simetri. pengujian protokol, pengujian fungsionalitas
perangkat lunak simulasi serta pengujian

8
penyadapan pesan. Dalam pengujian protokol, protokol yaitu nirpenyangkalan sudah dipenuhi
diuji kesesuaian antara protokol SMS-Banking oleh protokol.
yang dibuat dengan tujuan protokol. Pengujian
5.6 Pengujian Fungsional Perangkat Lunak
fungsionalitas perangkat lunak simulasi
dilakukan dengan memeriksa hasil pesan yang Hasil pengujian fungsional perangkat lunak
dibangkitkan oleh server maupun klien baik untuk fase aktivasi menunjukkan bahwa
untuk fase aktivasi dan fase transaksi. Pada perangkat lunak klien telah berhasil
pengujian penyadapan pesan dilakukan membangkitkan pesan fase aktivasi dengan baik.
penyadapan pesan dengan menggunakan sebuah Selain itu, perangkat lunak server juga telah
telepon seluler. berhasil membangkitkan pesan balasan sesuai
dengan pesan yang diterima dari klien. Untuk
5.5 Pengujian Protokol
hasil pengujian fungsional perangkat lunak untuk
5.5.1 Kerahasiaan fase transaksi menunjukkan bahwa perangkat
lunak klien telah berhasil membangkitkan pesan
Protokol SMS-Banking yang dibuat, sudah
fase transaksi dengan baik. Selain itu, perangkat
mengaplikasikan algoritma asimetri pada fase
lunak server juga telah berhasil membangkitkan
aktivasi dan algoritma simetri pada fase transaksi
pesan balasan sesuai dengan pesan yang diterima
untuk mengenkripsi data-data penting milik klien
dari klien. Dari hasil-hasil pengujian tersebut,
dan server. Dalam pertukaran kunci simetri juga
dapat diambil kesimpulan bahwa fungsionalitas
digunakan algoritma Diffie Hellman yang dapat
perangkat lunak telah berjalan dengan baik.
menambah tingkat kerahasiaan dalam proses
pertukaran kunci simetri. Oleh karena itu, tujuan
Jumlah pesan SMS yang dibutuhkan dalam fase
kerahasiaan pesan sudah dipenuhi oleh protokol.
aktivasi dan fase transaksi baik server maupun
5.5.2 Otentikasi klien adalah lebih dari 2 buah. Jumlah pesan
SMS yang diperlukan dalam fase aktivasi untuk
Pada fase aktivasi, pihak server dapat
klien adalah sebanyak 4 pesan SMS, sedangkan
mengotentikasi klien dengan memeriksa
untuk server sebanyak 4 pesan SMS. Jumlah
keseseuaian antara PIN, kode aktivasi, serta kode pesan fase transaksi untuk klien adalah sebanyak
nasabah, sedangkan pada fase transaksi, pihak 3 pesan SMS, sedangkan untuk server sebanyak
server dapat memeriksa kesesuaian antara PIN,
5 pesan SMS. Dari data-data tersebut dapat
kode nasabah serta nomor urutan yang ada.
disimpulkan bahwa protokol SMS-Banking yang
Selain itu, pada protokol juga digunakan
dibuat cukup tinggi dalam hal jumlah pesan SMS
algoritma asimetri dengan kunci publik dan
yang digunakan.
kunci privat milik server dan klien, serta
digunakan juga algoritma simetri. Penggunaan 5.7 Pengujian Penyadapan
kedua algoritma tersebut digunakan untuk
Berdasarkan hasil pengujian, data-data penting
mengotentikasi server atau klien.
yang terdapat pada pesan aktivasi dan transaksi
5.5.3 Integritas yang dikirim baik oleh klien maupun server, sulit
dibaca oleh penyadap. Hal ini dapat dinyatakan
Untuk memenuhi salah satu tujuan protokol yaitu
bahwa proses enkripsi pada data-data yang
integritas data, maka protokol mengaplikasikan penting pada pesan akan mempersulit proses
tanda tangan digital. Dengan tanda tangan digital penyadapan.
tersebut, dapat diperiksa apakah pesan yang
diteima masih asli atau sudah tidak asli lagi. 6. Kesimpulan
5.5.4 Nirpenyangkalan 1. Protokol SMS-Banking yang dirancang telah
terbukti dapat diimplementasikan dengan
Protokol SMS-Banking yang dibuat baik pada perangkat lunak simulasi yang
menggunakan tanda tangan digital dengan dibuat. Baik perangkat lunak yang
menggunakan fungsi hash. Pada tanda tangan
diimplementasikan pada klien, SMS
digital tersebut digunakan algoritma kunci publik
gateway dan server telah berjalan dengan
sehingga baik penerima maupun pengirim pesan
baik.
mempunyai pasangan kunci masing-masing.
2. Panjang pesan hasil enkripsi yang dihasilkan
Selain itu, protokol SMS-Banking yang dibuat oleh algoritma RSA relatif lebih panjang
juga menggunakan algoritma kunci publik pada dibandingkan dengan pesan hasil enkripsi
fase aktivasi. Karena kedua hal tersebut, tujuan
oleh algoritma Rijndael. Selain itu, waktu
yang dibutuhkan oleh algoritma RSA dalam

9
proses enkripsi relatif lebih lambat DAFTAR PUSTAKA
dibanding dengan algoritma Rijndael.
[REA08] Marguerite Reardon (2008). Americans
3. Penggunaan SMS untuk layanan perbankan
Text More Than They Talk
memang lebih memakan biaya dibanding
<http://news.cnet.com/8301-1035_3-
dengan menggunakan internet. Namun,
10048257-94.html>
penggunaan SMS untuk layanan perbankan
Tanggal Akses: 10 Maret 2009, 15:25.
lebih baik dibanding dengan menggunakan
[SIN08] Roike Sinaga (2008). Lebaran, Saatnya
GPRS dalam daerah yang tidak memiliki
Operator Seluler Menangguk Untung.
koneksi internet.
<http://www.antara.co.id/arc/2008/8/3
4. Penggunaan sequence number dapat
1/lebaran-saatnya-operator-seluler-
menghindari penggunaan kembali pesan
menangguk-untung>
yang telah disadap oleh penyadap sehingga
Tanggal Akses: 10 Maret 2009, 15:30.
tingkat keamanan pesan pun bertambah.
[ALM07] Luciana Spica Almilia, Antomy Nova
5. Pada pembangunan aplikasi pada sistem Giarta (2007). Perspektif Nasabah
operasi yang berbasis Microsoft Windows Perbankan atas kehadiran SMS banking
Mobile 5.0, Microsoft menyediakan dan WAP banking sebagai sistem
software development kit yang sangat informasi perbankan yang bernilai
membantu para pengembang. tambah.
6. Pada PDA yang berbasis Windows Mobile [STR08] Pieter Streicher (2008). SMS Phising
5.0 dapat dibuat SMS gateway yang On The Increase.
memanfaatkan pemrograman socket dan <http://www.bizcommunity.com/Article/
fasilitas penerimaan dan pengiriman SMS. 196/78/26041.html>
7. Saran Tanggal Akses: 10 Maret 2009, 15:45.
[PAN04] Denis Pankratov, Dmitri Kramarenko
1. Pesan SMS yang dikirim sebaiknya (2004). SMS spoofing – Q&A with
dikompresi sehingga dapat mengurangi CCRC staff.
panjang SMS. Dengan mengurangi panjang [CHI06] Kelvin Chikomo, Ming Ki Chong,
SMS, diharapkan biaya yang digunakan Alapan Arnab, Andrew Hutchison
untuk mengirim SMS dapat berkurang. (2006). Security of Mobile Banking.
2. Untuk lebih mengetahui tingkat keamanan [EMM07] Abunyang Emmanuel (2007). Mobile
protokol SMS-Banking yang telah dirancang, Banking in Developing Countries:
dapat diimplementasikan protokol tersebut Secure Frame work for Delivery of
pada sistem perbankan yang real. Hal SMS-banking Services.
tersebut dimaksudkan untuk dapat melihat [KOH04] Karmendra Kohli (2004). SMS in
kelayakan protokol SMS-Banking yang Banking Mitigating the Risks. Paladion
dibuat untuk digunakan di dunia nyata. Knowledge Series.
3. Dalam menggunakan algoritma pertukaran [PES99] Lauri Pesonen (1999). GSM
kunci Diffie Hellman, sebaiknya digunakan Interception.
nilai p, q, x dan y yang bernilai besar agar [BUD08] Budiono (2008). Penerapan Tanda
proses pertukaran kunci dapat berlangsung Tangan Digital Untuk Otentikasi SMS-
lebih aman. Banking.
4. Untuk pengembangan protokol selanjutnya, [PER08] Rangga Wisnu Adi Permana (2008).
dapat digunakan kode nasabah yang bersifat Implementasi Algoritma RC6 Untuk
sementara sehingga tingkat keamanan Enkripsi SMS Pada Telepon Selular.
protokol dapat lebih baik. [SCH96] Bruce Schneier (1996). Applied
5. Untuk pengembangan selanjutnya, dapat Cryptography 2nd. John Wiley & Sons.
dibuat aplikasi telepon seluler yang berbasis [MUN09] Rinaldi Munir (2009). IF3058
Java, Symbian, Iphone, dan Windows Kriptografi.
Mobile yang terbaru agar platform yang [MEH03] Subhash Mehta (2003). Academic’s
didukung menjadi semakin luas. Dictionary Of Computers. Academic
India Publishers.

10

Anda mungkin juga menyukai