SMS-BANKING
LAPORAN TUGAS AKHIR
Disusun Sebagai Syarat Kelulusan Tingkat Sarjana
oleh :
Herdyanto Soeryowardhana / 13505095
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA
INSTITUT TEKNOLOGI BANDUNG
2009
i
LEMBAR PENGESAHAN
Program Studi Sarjana Teknik Informatika
Perancangan dan Implementasi Protokol SMS-Banking
Tugas Akhir
Program Studi Sarjana Teknik Informatika ITB
Oleh:
Herdyanto Soeryowardhana / 13505095
Telah disetujui dan disahkan sebagai laporan tugas akhir
di Bandung pada tanggal 29 September 2009
Pembimbing
Ir. Rinaldi Munir, M.T.
NIP: 132084796
ii
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.
iii
KATA PENGANTAR
Puji syukur kehadirat Allah SWT yang karena nikmat dan karunia-Nyalah tugas akhir
yang berjudul ”Perancangan dan Implementasi Protokol
SMS-Banking
” ini telah berhasil
diselesaikan. Shalawat dan salam tidak lupa dihaturkan kepada Nabi Muhammad SAW.
Dalam pengerjaan tugas akhir ini penulis mendapatkan banyak bantuan dari berbagai
pihak. Oleh karena itu, perkenankanlah penulis untuk menyampaikan ucapan terima kasih
kepada:
1.
Bapak Ir. Rinaldi Munir, M.T., selaku dosen pembimbing tugas akhir yang telah
memberikan bimbingan, motivasi serta kesempatan dalam pengerjaan tugas akhir ini.
2.
Bapak Imam Kistijantoro, S.T., M.Sc. , Ph.D., Bapak Bugi Wibowo, S.T., M.T., Ibu
Harlili M.Sc. selaku penguji tugas akhir yang telah memberikan segala masukan serta
saran yang membangun dalam tugas akhir ini.
3.
Ibu Yani Widyani dan Almarhumah Ibu Sri Purwanti selaku dosen wali yang telah
memberikan bimbingan kepada penulis selama penulis menjadi mahasiswa Teknik
Informatika ITB.
4.
Kedua orang tua saya, Ibunda Wahyundari serta Ayahanda Soeharyono Soeryo yang
telah mendidik, melindungi, memberikan kasih sayangnya serta semua hal yang telah
diberikan kepada penulis sehingga ucapan terima kasih ini tidaklah cukup untuk
menggambarkan wujud penghargaan saya.
5.
Indah Kuntum Khairina yang telah memberikan semangat, dukungan, serta motivasi
kepada penulis selama pengerjaan tugas akhir ini.
6.
Padhang Harindra, Raka Angling Dipura, Ibnu Sina Wardi, Tante Ririn Suprodorina
iv
7.
Mohammad Gilang Kautzar, Hadyan Ghaziani Fadli, Mohammad Riftadi, Arinta
Primandini, Yuandra Ismiraldi, Aryo Nugroho, Ella Madanella, Catur Wirawan
Wijiutomo serta Monterico Adrian yang telah memberikan dukungan kepada penulis
dalam pengerjaan tugas akhir ini.
8.
Teman-teman Teknik Informatika ITB Angkatan 2005.
9.
Teman-teman Teknik Informatika ITB Angkatan 2004.
10.
Teman-teman Teknik Informatika ITB Angkatan 2006.
11.
Teman-teman Institut Teknologi Bandung.
12.
Mbak Mamik yang telah membantu penulis selama tinggal di kost.
13.
Bapak Rasidi, Bapak Ade, Ibu Titi, serta seluruh staf Tata Usaha Teknik Informatika
atas bantuan serta keramahannya.
14.
Staf Perpustakaan Teknik Informatika ITB atas bantuannya selama ini.
15.
Staf Dukungan Teknis Teknik Informatika ITB atas bantuan fasilitas kuliah selama
ini.
16.
Pihak-pihak yang telah memberikan bantuan dalam pengerjaan tugas akhir ini.
Penulis sadar bahwa tugas akhir ini masih jauh dari sempurna. Oleh karena itu, kritik
dan saran yang membangun dapat disampaikan kepada penulis melalui email
herdyhsw@google.com.
Demikianlah kata pengantar yang dapat penulis sampaikan, jika ada kesalahan
perkataan atau perbuatan dalam pengerjaan tugas akhir ini, mohon dibukakan pintu maaf
yang selebar-lebarnya. Atas perhatian pembaca, saya ucapkan terima kasih.
v
DAFTAR ISI
LEMBAR PENGESAHAN ...i
ABSTRAK ... ii
KATA PENGANTAR ... iii
DAFTAR ISI...v
DAFTAR GAMBAR ...ix
DAFTAR TABEL...xi
BAB I PENDAHULUAN ...1
I.1 Latar Belakang... 1
I.2 Rumusan Masalah... 3
I.3 Tujuan... 4
I.4 Batasan Masalah ... 4
I.5 Metodologi... 5
I.6 Sistematika Pembahasan... 6 BAB II TINJAUAN PUSTAKA ...II-1 II.1 Kriptografi ... II-1 II.1.1. Algoritma Simetrik ... II-2 II.1.2. Algoritma Asimetrik... II-3 II.2 Algoritma Diffie Hellman... II-4 II.3 Algoritma RSA ... II-5 II.4 Algoritma Rijndael ... II-6 II.4.1. Gambaran Umum Algoritma ... II-7 II.4.2. Desain ... II-7 II.4.3. Spesifikasi Algoritma ... II-8 II.4.4. State, Kunci Cipher dan Jumlah Ronde... II-8 II.4.5. Penjadwalan Kunci (KeySchedule)... II-12 II.5 Secure Hash Algorithm (SHA) ... II-13 II.5.1. Penambahan Bit-Bit Pengganjal ... II-14 II.5.2. Penambahan Nilai Panjang Pesan Semula... II-15
vi
II.5.3. Inisialisasi Penyangga MD... II-15 II.5.4. Pengolahan Pesan dalam Blok Berukuran 512 Bit ... II-15 II.6 Algoritma A3 ... II-19 II.7 Algoritma A5 ... II-20 II.8 Algoritma A8 ... II-22 II.9 Tanda Tangan Digital ... II-23 II.9.1. Penandatanganan dengan Cara Mengenkripsi Pesan ... II-24 II.9.2. Tanda-tangan dengan Menggunakan Fungsi Hash... II-25 II.9.3. Proses Pemberian Tanda-tangan Digital... II-25 II.10 Protokol ... II-27 II.10.1. Tipe-tipe protokol ... II-28 II.10.2. Serangan-serangan terhadap protokol... II-30 II.11 SMS (Short Message Service) ... II-31 II.12 SMS-Banking... II-32 II.12.1. Tinjauan SMS-Banking yang Sudah Ada... II-33 BAB III ANALISIS MASALAH... III-1 III.1 Analisis Umum Sistem SMS-Banking... III-1 III.1.1. Kelebihan Sistem SMS-Banking... III-4 III.1.2. Kekurangan Sistem SMS-Banking... III-5 III.2 Analisis Sistem GSM... III-5 III.2.1. Arsitektur GSM ... III-5 III.2.2. Keamanan GSM ... III-6 III.3 Analisis Protokol SMS-Banking... III-9 III.3.1. Tujuan Protokol ... III-9 III.3.2. Asumsi Protokol ... III-10 III.3.3. Analisis Resiko Keamanan ... III-12 III.3.4. Gambaran Umum Protokol... III-13 BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK... IV-1 IV.1 Deskripsi Umum Perangkat Lunak...IV-1 IV.2 Analisis Kebutuhan Perangkat Lunak... IV-2 IV.2.1. Kebutuhan Fungsional ... IV-3
vii
IV.2.2. Kebutuhan Non-fungsional...IV-3 IV.3 Model Use Case... IV-3 IV.3.1. Diagram Use Case... IV-4 IV.3.2. Definisi Aktor ...IV-4 IV.3.3. Definisi Use Case... IV-5 IV.4 Analisis Perangkat Lunak ... IV-5 IV.4.1. Use Case Mengaktivasi Layanan SMS-Banking...IV-6 IV.4.2. Use Case Melakukan Transaksi SMS-Banking... IV-8 IV.4.3. Use Case Mengolah SMS Fase Aktivasi ...IV-10 IV.4.4. Use Case Mengolah SMS Fase Transaksi ...IV-12 IV.4.5. Diagram Kelas Analisis Keseluruhan ...IV-14 IV.5 Perancangan Perangkat Lunak...IV-15 IV.5.1. Realisasi Use Case Tahap Perancangan ...IV-15 IV.5.2. Perancangan Antarmuka...IV-23 IV.5.3. Perancangan Basis Data Server...IV-25 IV.5.4. Perancangan Basis Data Klien...IV-25 BAB V IMPLEMENTASI...V-1 V.1 Lingkungan Pengembangan... V-1 V.2 Batasan Implementasi ... V-2 V.3 Implementasi Kelas ... V-2 V.4 Implementasi Antarmuka... V-4 V.4.1. Antarmuka Aktivasi Layanan SMS-Banking... V-4 V.4.2. Antarmuka Transaksi Layanan SMS-Banking... V-5 V.4.3. Antarmuka Server Bank ... V-6 BAB VI Pengujian ... VI-1 VI.1 Tujuan Pengujian ... VI-1 VI.2 Lingkungan Pengujian ... VI-1 VI.3 Batasan Pengujian... VI-1 VI.4 Kasus Uji ... VI-2 VI.5 Data Pengujian... VI-2 VI.6 Pengujian ... VI-3 VI.6.1. Pengujian Protokol ... VI-3 VI.6.2. Pengujian Fungsional Perangkat Lunak ... VI-4 VI.6.3. Pengujian Penyadapan Pesan... VI-8 BAB VII KESIMPULAN DAN SARAN... VII-1
viii
VII.1 Kesimpulan...VII-1 VII.2 Saran ...VII-2
DAFTAR REFERENSI ...xii
DAFTAR PUSTAKA ... xiii
LAMPIRAN A...1
ix
DAFTAR GAMBAR
Gambar II-1 Sistem kriptografi kunci-publik [MUN09]...II-3 Gambar II-2 Senarai state masukan dan keluaran...II-8 Gambar II-3 Contoh kunci cipher dengan Nk = 4...II-9 Gambar II-4 ByteSub berperan dalam individual byte dari state. ...II-10 Gambar II-5 ShiftRow beroperasi pada baris-baris pada state...II-11 Gambar II-6 MixColumn beroperasi pada kolom pada state. ...II-11 Gambar II-7 Dalam penambahan kunci Round Key adalah suatu operasi bit EXOR kepada state. ...II-12 Gambar II-8 Ekspansi kunci dan pemilihan RoundKey untuk Nb = 6 dan Nk = 4. ...II-13 Gambar II-9 Pembuatan messagedigest dengan algoritma SHA [MUN09]...II-14 Gambar II-10 Pengolahan blok 512 bit (Proses HSHA) [MUN09] ...II-16
Gambar II-11 Operasi dasar SHA dalam satu putaran (fungsi f) [MUN09]...II-17 Gambar II-12 Diagram kalkulasi respon SRES [PES99] ...II-19 Gambar II-13 Pembangkitan kunci aliran [PES99]...II-20 Gambar II-14 Konstruksi LSFR pada A5 [PES99] ...II-21 Gambar II-15 Kalkulasi kunci sesi (Kc) [PES99]...II-22 Gambar II-16 Kalkulasi COMP128 [PES99]...II-22 Gambar II-17 Otentikasi dengan tanda-tangan digital yang menggunakan fungsi hash satu-arah [MUN09]...II-27 Gambar III-1 Arsitektur sistem SMS-Banking secara umum ... III-2 Gambar III-2 Arsitektur GSM [EMM07]... III-6 Gambar III-3 Prosedur otentikasi [EMM07]... III-8 Gambar III-4 Proses enkripsi dan pembangkitan kunci [EMM07] ... III-9 Gambar III-5 Arsitektur sistem SMS-Banking acuan ... III-11 Gambar III-6 Diagram protokol SMS-Banking... III-14 Gambar III-7 Struktur pesan fase aktivasi klien... III-16 Gambar III-8 Struktur pesan fase aktivasi server... III-17 Gambar III-9 Struktur pesan permintaan transaksi dari klien ... III-21 Gambar III-10 Struktur pesan konfirmasi transaksi berhasil dari server... III-21 Gambar IV-1 Arsitektur perangkat lunak simulasi protokol SMS-Banking... IV-2 Gambar IV-2 Diagram Use Case... IV-4 Gambar IV-3 Diagram kelas analisis use case mengaktivasi layanan SMS-Banking... IV-6 Gambar IV-4 Diagram sequence analisis use case mengaktivasi layanan SMS-Banking... IV-7 Gambar IV-5 Diagram kelas analisis use case melakukan transaksi SMS-Banking... IV-8 Gambar IV-6 Diagram sequence analisisuse case melakukan transaksi SMS-Banking... IV-9 Gambar IV-7 Diagram kelas analisis usecase mengolah SMS fase aktivasi... IV-10 Gambar IV-8 Sequence diagramusecase mengolah SMS fase aktivasi ... IV-11 Gambar IV-9 Diagram kelas analisis use case mengolah SMS fase transaksi... IV-12
x
Gambar IV-10 Sequencediagramuse case mengolah SMS fase transaksi ... IV-13 Gambar IV-11 Diagram kelas analisis keseluruhan ... IV-14 Gambar IV-12 Diagram kelas perancangan usecase mengaktivasi layanan SMS-Banking... IV-15 Gambar IV-13 Sequence Diagram perancangan usecase mengaktivasi layanan SMS-Banking... IV-16 Gambar IV-14 Diagram kelas perancangan usecase melakukan transaksi SMS-Banking... IV-17 Gambar IV-15 Sequence diagram perancangan use case melakukan transaksi SMS-Banking... IV-18 Gambar IV-16 Diagram kelas perancangan usecase mengolah SMS fase aktivasi ... IV-19 Gambar IV-17 Sequencediagram perancangan use case mengolah SMS fase aktivasi... IV-20 Gambar IV-18 Diagram kelas perancangan usecase mengolah SMS fase transaksi... IV-21 Gambar IV-19 Sequencediagram perancangan usecase mengolah SMS fase transaksi ... IV-22 Gambar IV-20 Antarmuka aktivasi layanan SMS-Banking... IV-23 Gambar IV-21 Antarmuka transaksi layanan SMS-Banking... IV-24 Gambar IV-22 antarmuka server... IV-24 Gambar IV-23 Rancangan basis data server ... IV-25 Gambar IV-24 Rancangan basis data klien ... IV-25 Gambar V-1 Screenshot implementasi antarmuka aktivasi layanan SMS-Banking...V-5 Gambar V-2 Screenshot implementasi antarmuka transaksi layanan SMS-Banking...V-6 Gambar V-3 Screenshot implementasi antarmuka server bank ...V-7
xi
DAFTAR TABEL
Tabel II-1 Jumlah ronde (Nr) sebagai suatu fungsi dari panjang blok dan kunci...II-9 Tabel II-2 Offset perpindahan untuk panjang blok yang berbeda ...II-11 Tabel II-3 Fungsi logika ft pada setiap putaran [RIN06]...II-18 Tabel III-1 Urutan protokol fase aktivasi ... III-17 Tabel III-2 Urutan protokol fase transaksi ... III-22 Tabel IV-1 Kebutuhan fungsional perangkat lunak ... IV-3 Tabel IV-2 Kebutuhan non-fungsional perangkat lunak ... IV-3 Tabel IV-3 Definisi aktor ... IV-4 Tabel IV-4 Definisi Use Case... IV-5 Tabel IV-5 Identifikasi kelas analisis use case mengaktivasi layanan SMS-Banking... IV-6 Tabel IV-6 Identifikasi kelas analisis use case Melakukan Transaksi SMS-Banking... IV-8 Tabel IV-7 Identifikasi kelas analisis usecase mengolah SMS fase aktivasi ... IV-10 Tabel IV-8 Identifikasi kelas analisis use case mengolah SMS fase transaksi ... IV-12 Tabel V-1 Tabel perbandingan nama kelas dan berkas source code ...V-2 Tabel V-2 Deskripsi objek antarmuka aktivasi layanan SMS-Banking...V-5 Tabel V-3 Deskripsi objek antarmuka transaksi layanan SMS-Banking...V-6 Tabel V-4 Deskripsi objek antarmuka server bank...V-7 Tabel VI-1 Tabel data pengujian fase aktivasi... VI-2 Tabel VI-2 Data pengujian fase transaksi ... VI-3 Tabel VI-3 Hasil Pengujian Tahap Aktivasi ... VI-5 Tabel VI-4 Hasil Pengujian Tahap Transaksi ... VI-6