OTENTIKASI KEAMANAN INTERNET PERBANKAN DENGAN SECURITY TOKEN ANOM ABRAHAM 41505110170 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2012
OTENTIKASI KEAMANAN INTERNET PERBANKAN DENGAN SECURITY TOKEN Laporan Tugas Akhir Diajukan Untuk Melengkapi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Oleh: ANOM ABRAHAM 41505110170 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2012
KATA PENGANTAR Puji syukur kepada Tuhan YME atas berkat dan karunianya, sehingga penulis dapat menyelesaikan laporan tugas akhir ini dengan judul OTENTIKASI KEAMANAN INTERNET PERBANKAN DENGAN SECURITY TOKEN yang merupakan salah satu persyaratan untuk menyelesaikan program studi strata satu (S1) pada Jurusan Teknik Informatika Universitas Mercu Buana. Atas segala keterbatasan dan kekurangan yang ada, penulis menyadari bahwa laporan tugas akhir ini tidak akan terwujud tanpa bantuan, bimbingan dan dorongan dari berbagai pihak. Pada kesempatan ini, penulis tidak lupa mengucapkan terima kasih yang sebesar-besarnya kepada: 1. Bapak Joko Adianto, M.InfSys, selaku dosen pembimbing yang telah memberikan waktu dan kesempatan untuk membantu menyelesaikan tugas akhir ini. 2. Bapak Anis Cherid, MTI, selaku KaProdi Teknik Informatika Universitas Mercu Buana. 3. Bapak Tri Daryanto, S.Kom.,MT, selaku Koord. Tugas Akhir Teknik Informatika Universitas Mercu Buana 4. Bapak dan Ibu dosen Teknik Informatika Universitas Mercu Buana yang telah memberikan tambahan ilmu pengetahuan selama penulis mengikuti pendidikan di Univeristas Mercu Buana. 5. Teman-teman seangkatan atas segala dukungan dan doa kepada penulis dalam menyelesaikan tugas akhir ini. 6. Orang tua dan keluarga yang senantiasa memberikan semangat, dukungan dan doa kepada penulis. Penulis berharap, tugas akhir ini dapat bermanfaat dalam menambah pengetahuan tentang dunia Teknik Informatika terutama tentang sistem keamanan di perbankan internet.
Penulis menyadari bahwa dalam laporan tugas akhir ini masih banyak kekurangan dan jauh dari sempurna, maka dari itu segala kritik dan saran sangat penulis harapkan dan senantiasa akan diterima dengan senang hati. Kiranya Tuhan memberkati. Amin. Jakarta, Januari 2012 (Penulis)
DAFTAR ISI Halaman LEMBAR PERNYATAAN i LEMBAR PERSETUJUAN ii KATA PENGANTAR iii ABSTRACT v ABSTRAK vi DAFTAR ISI vii DAFTAR GAMBAR xi DAFTAR TABEL xiii BAB I PENDAHULUAN 1.1 LATAR BELAKANG.. 1 1.2 RUMUSAN MASALAH.... 3 1.3 TUJUAN.. 4 1.4 BATASAN MASALAH...... 4 1.5 METODOLOGI PENELITIAN... 5 1.6 METODOLOGI REKAYASA PERANGKAT LUNAK.... 7 1.7 SISTEMATIKA PENULISAN 9 BAB II LANDASAN TEORI 2.1 TINJAUAN PUSTAKA.. 11 2.1.1 Pengertian Internet Banking atau Internet Perbankan... 11 2.1.2 Implementasi sistem pada Internet Banking 12 2.1.2.1 Frond-end 12 2.1.2.2 Back-end.. 12 2.2 TINJAUAN STUDI MENGENAI ASPEK-ASPEK KEAMANAN DAN ANCAMAN TERHADAP JARINGAN KOMPUTER TERUTAMA DALAM
KEAMANAN INTERNET BANKING. 13 2.2.1 Aspek-aspek keamanan 13 2.2.2 Aspek-aspek ancaman.. 14 2.2.3 Ancaman keamanan pada Internet Banking 16 2.3 SISTEM KEAMANAN PADA SECURITY TOKEN... 16 2.3.1 Standard keamanan pada Security Token. 16 2.3.2 Manajemen kunci kriptografi... 17 2.3.2.1 Pembangkitan kunci (key generation)... 18 2.3.2.2 Penyebaran kunci (key distribution).. 18 2.3.2.3 Penyimpanan kunci (key storage).. 19 2.3.2.4 Penggunaan kunci (key usage)... 20 2.3.2.5 Perubahan kunci (key change)... 20 2.3.2.6 Penghancuran kunci (key destruction)... 20 2.3.3 Keamanan pada Token. 21 2.3.4 Keamanan dengan Metode Otentikasi. 25 2.3.4.1 Two Factor Authentication... 26 2.3.4.2 Password yang dikeluarkan token internet banking 27 2.3.4.3 Proses otentikasi... 28 2.3.4.4 Penggunaan Salt 29 2.3.5 Fungsi Hash.. 30 2.3.6 Pseudo Random Number Generator (PRNG)... 31 2.3.6.1 Pembangkit bilangan acak yang aman. 32 2.3.7 Algoritma Asimetrik 33 2.3.8 Algoritma MD5. 33 2.4 BAHASA PEMROGRAMAN DAN PERMODELAN YANG DIGUNAKAN.. 38 2.4.1 Java Card API (Application Programming Interface)... 38 2.4.2 PHP (Hypertext Preproceesor).. 39 2.4.3 UML (Unified Modelling Language). 40 2.4.3.1 Aspek permodelan UML... 41
2.4.3.2 Diagram Use Case 41 2.4.3.3 Diagram aktivitas.. 44 2.4.3.4 Diagram Sequence 45 2.4.4 Flowchart.. 47 2.4.4.1 Pengertian Flowchart 47 2.4.4.2 Pedoman-pedoman dalam membuat Flowchart.. 47 2.4.4.3 Simbol-simbol Flowchart. 48 2.5 TEKNIK PENGUJIAN PERANGKAT LUNAK 51 2.5.1 Teknik pengujian White Box. 51 2.5.2 Teknik pengujian Black Box. 51 2.5.2.1 Metode pengujian Graph Based... 52 2.5.2.2 Partisi ekivalen.. 53 2.5.2.3 Analisis nilai batas 54 2.5.2.4 Pengujian perbandingan 54 BAB III ANALISA DAN PERANCANGAN PERANGKAT LUNAK 3.1 ANALISA KEBUTUHAN... 55 3.2 PERANCANGAN APLIKASI PERANGKAT LUNAK. 56 3.2.1 Spesifikasi Website... 56 3.2.2 Perancangan basis data. 57 3.2.3 Spesifikasi aplikasi One Time Password. 58 3.2.4 Pembangkitan One Time Password (OTP) Token.. 59 3.2.5 Proses Enkripsi. 63 3.2.6 Perancangan token 67 3.2.7 Perancangan aplikasi website 68 3.2.7.1 Aplikasi website untuk admin... 68 3.2.7.2 Apliksai website untuk user.. 69 3.3 PERMODELAN DIAGRAM USE CASE 70 3.4 PERMODELAN DIAGRAM AKTIVITAS. 74 3.5 PERMODELAN DIAGRAM SEQUENCE.. 77
3.5.1 Diagram Sequence Registrasi Token 77 3.5.2 Diagram Sequence transaksi dengan Token PIN. 78 BAB IV IMPLEMENTASI DAN PENGUJIAN PERANGKAT LUNAK 4.1 IMPLEMENTASI. 79 4.2 TAMPILAN DAN PENJELASAN APLIKASI.. 79 4.2.1 Aktivasi Token.. 79 4.2.2 Halaman input data... 81 4.2.3 Halaman Login. 83 4.2.4 Halaman Transfer. 85 4.2.5 Fungsi Check Challenge/Response (checkcr()) dan Check Response Only (checkro()) 88 4.3 TAHAP PENGUJIAN.. 89 4.3.1 Metode pengujian White Box 89 4.3.1.1 Pengujian pada aplikasi token... 89 4.3.1.2 Pengujian pada aplikasi Web 92 4.3.1.3 Hasil pengujian dengan metode White Box.. 96 4.3.2 Metode pengujian Black Box 98 4.4 ANALISA HASIL PENGUJIAN. 99 BAB V PENUTUP 5.1 KESIMPULAN. 101 5.2 SARAN. 102 DAFTAR PUSTAKA.. 103
DAFTAR GAMBAR GAMBAR HALAMAN 1.1 Potensi sumber lubang keamanan dalam internet banking 3 1.2 Langkah-langkah Metodologi Penelitian.. 6 1.3 Alur Waterfall (siklus hidup perangkat lunak). 8 2.1 Topologi Internet Banking dengan pengamanan berlapis 12 2.2 Transaction and database servers.... 13 2.3 Aspek-aspek ancaman keamanan pada jaringan komputer..... 15 2.4 Daur hidup kunci... 18 2.5 Arsitektur Security Token. 21 2.6 One Time Password.. 23 2.7 Bluetooth Security Token.. 25 2.8 Penggunaan two factor authentication..... 26 2.9 Proses Otentikasi... 29 2.10 Contoh hashing beberapa buah pesan dengan panjang berbeda-beda... 31 2.11 Skema asimetrik.... 33 2.12 Pembuatan message digest dengan algoritma MD5 34 2.13 Pengolahan blok 512 (proses H MD5 ). 35 2.14 Operasi dasar MD5... 36 2.15 Operasi dasar MD5 dengan pergeseran penyangga ke kanan secara sekuler 37 2.16 Use case model..... 41 2.17 Participant Object pada Sequence Diagram. 46 2.18 Simbol-simbol Message.... 46 2.19 Notasi Grafik. 52 3.1 Tampilan Database... 58 3.2 Flowchart proses hash MD5 pembuatan OTP pada model response only.... 60
3.3 Flowchart proses hash MD5 pembangkitan OTP pada model challenge... 62 3.4 Tampilan Token PIN (Mobile OTP) dengan menggunakan J2ME..... 68 3.5 Tampilan dari data_nasabah.php...... 69 3.6 Tampilan Login..... 69 3.7 Tampilan Form Transfer... 70 3.8 Diagram Use Case sistem transaksi Internet banking dengan Token PIN.... 73 3.9 Diagram Aktivitas proses registrasi Token PIN... 75 3.10 Diagram Aktivitas transfer uang dengan menggunakan Token PIN. 76 3.11 Diagram Sequence registrasi Token PIN.. 77 3.12 Diagram Sequence untuk proses transaksi dengan Token PIN. 78 4.1 Tampilan pada saat token mengeluarkan init-secret. 80 4.2 Proses input data... 81 4.3 Pemberitahuan bahwa data sudah disimpan ke database. 81 4.4 Data yang sudah disimpan.... 82 4.5 Tampilan data dalam database..... 82 4.6 User memasukkan data berupa username dan token PIN.... 83 4.7 Tampilan halaman apabila PIN dan username tidak sesuai. 84 4.8 Tampilan halaman apabila data tidak ada di database. 85 4.9 Tampilan halaman pada saat user melakukan transfer. 85 4.10 Tampilan halaman apabila proses berhasil... 86 4.11 Tampilan halaman apabila proses tidak berhasil.. 86
DAFTAR TABEL TABEL HALAMAN 2.1 Pembangkitan kunci. 24 2.2 Contoh penggunaan Salt... 29 2.3 Fungsi-fungsi dasar MD5. 38 2.4 Jenis diagram resmi UML. 40 2.5 Notasi diagram Use Case.. 43 2.6 Notasi diagram aktvitas. 44 2.7 Simbol-simbol Flowchart. 48 3.1 Hasil pembangkitan OTP Mode Self Generated (Response Only) 61 3.2 OTP dalam Mode Challenge/Response.... 63 3.3 Definisi aktor... 71 4.1 Skenario pengujian OTP dengan mode response only. 90 4.2 Hasil pengujian dengan mode response only 90 4.3 Skenario pengujian OTP dengan mode challenge/response 91 4.4 Hasil pengujian dengan mode challenge/response.. 91 4.5 Skenario pengujian aplikasi web.. 92 4.6 Hasil pengujian aplikasi web 95 4.7 Bagan Alir..... 96 4.8 Grafik alir.. 97 4.9 Matriks Koneksi.... 98 4.10 Hasil pengujian dengan metode Black Box.. 98