Pengamanan Transmisi Hasil dan Data Query Basis Data dengan Algoritma Kriptografi RC4 LAPORAN TUGAS AKHIR Disusun sebagai syarat kelulusan tingkat sarjana
Oleh : Mohamad Firda Fauzan 13504127
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2008
Lembar Pengesahan Program Studi Sarjana Informatika Pengamanan Transmisi Hasil dan Data Query Basis Data dengan Algoritma Kriptografi RC4
Tugas Akhir Program Sarjana Informatika ITB
Oleh : Mohamad Firda Fauzan / 13504127
Telah disetujui sebagai laporan tugas akhir Di Bandung tanggal 10 Juni 2008 Pembimbing
Ir. Rinaldi Munir, M.T. NIP. 132084796
ii
Abstraksi Tugas akhir ini membahas pengamanan transmisi hasil dan data query basis data dengan algoritma kriptografi RC4. Pengamanan transmisi dilakukan dengan cara mengenkripsi/dekripsi hasil dan data query yang melewati jaringan antara komputer server yang merupakan server basis data dengan komputer client. Implementasi pengamanan transmisi hasil dan data query ini dilakukan dengan membangun sebuah perangkat lunak berbasis web yang ditempatkan pada komputer client untuk mengakses basis data yang ada pada komputer server. Perangkat lunak dapat melakukan enkripsi dan dekripsi hasil dan data query yang melewati jaringan antara komputer server dan client. Perangkat lunak dibangun dengan menggunakan bahasa pemrograman C#, HTML, JavaScript, SQL dengan kakas Microsoft Visual Studio 2005 sedangkan basis data menggunakan Microsoft SQL Server 2005. Pengamanan transmisi hasil dan data query dapat dilakukan jika perangkat lunak berhasil mengenkripsi hasil dan data query selama data tersebut berada pada jaringan
server dan client sehingga data yang berada di jaringan tidak dapat
dimengerti oleh penyadap. Tugas akhir ini memberikan kesimpulan bahwa perangkat lunak yang diimplementasikan berhasil mengenkripsi data yang ditransmisikan antara server basis data dengan server web dengan algoritma kriptografi RC4 sehingga data tersebut dapat dijaga keamanannya dari penyadap. Kata kunci : enkripsi, dekripsi, transmisi, client, server,kriptografi, RC4, query, basis data.
iii
Kata Pengantar Puji syukur ke hadirat Allah SWT atas limpahan rahmat dan karunia-Nya sehingga pelaksanaan tugas akhir yang berjudul Pengamanan Transmisi Hasil dan Data Query Basis Data dengan Algoritma Kriptografi RC4 ini dapat diselesaikan. Pelaksanaan tugas akhir ini banyak mendapat bantuan serta dukungan baik secara material maupun spriritual dari berbagai pihak. Untuk itu, penulis ingin mengucapkan terima kasih kepada : 1. Bapak Ir. Rinaldi Munir, M.T. selaku pembimbing tugas akhir yang telah banyak memberikan bantuan, arahan, petunjuk serta kesabaran dalam pelaksanaan tugas akhir ini. 2. Bapak Achmad Imam Kistijantoro, S.T., M.Sc., Ph.D dan Ibu Dra. Harlili, M.Sc. atas segala masukan, kritik serta sarannya selaku dosen penguji pada tugas akhir ini. 3. Bapak Dr. Munawar Achmad ZA, selaku dosen wali penulis yang telah membimbing penulis selama berada di teknik informatika. 4. Seluruh Dosen dan Staf Teknik Informatika ITB atas didikan dan bimbingan selama masa perkuliahan. 5. Bapak dan Ibu serta segenap anggota keluarga yang selalu memberi dorongan dan bantuan baik secara moral maupun materil dalam pengerjan tugas akhir ini. 6. Yudi Haribowo, selaku teman satu tim dan satu pembimbing, dimana presentasi proposal, prasidang dan sidang pada waktu yang hampir bersamaan dan saling bahu membahu dalam mengerjakan tugas akhir. 7. Irvan, Ido yang telah menginventarisasikan komputer portable sehingga proses tugas akhir ini berjalan dengan lancar. 8. Teman-teman kos yang juga teman seangkatan dan seperjuangan ITB 2004 yang telah menemani, bermain, bersosialisasi dengan penulis dan selama 4 tahun tinggal dalam satu atap. 9. Teman-teman IF2004 lain yang tidak dapat saya sebutkan satu persatu yang selama ini telah memberikan inspirasi dan semangat lebih bagi penulis.
iv
10. Pak Rasidi, Pak Ade Taryat dan seluruh staf TU Teknik Informatika yang telah membantu melayani penulis selama di Informatika. 11. Seluruh pihak yang tidak dapat penulis sebutkan satu persatu atas segala kontribusi, dukungan dan bantuannya. Akhir kata, begitu banyak kekurangan yang ada pada setiap hasil karya manusia, begitu pula pada tugas akhir ini. Segala saran, harapan, kritik yang membangun selalu penulis harapkan sebagai bekal perbaikan di masa yang akan datang. Bandung, Juni 2008
Penulis
v
Daftar Isi Lembar Pengesahan ................................................................................... ii Abstraksi ................................................................................................... iii Kata Pengantar .......................................................................................... iv Daftar Isi ................................................................................................... vi Daftar Tabel ............................................................................................ viii Daftar Gambar .......................................................................................... ix BAB I PENDAHULUAN ........................................................................ I-1 1.1 1.2 1.3 1.4 1.5 1.6
Latar Belakang ............................................................................................ I-1 Rumusan Masalah ....................................................................................... I-3 Tujuan ......................................................................................................... I-4 Batasan Masalah ......................................................................................... I-4 Metodologi .................................................................................................. I-4 Sistematika Pembahasan ............................................................................. I-6
BAB II DASAR TEORI .........................................................................II-1 2.1 Kriptografi.................................................................................................. II-1 2.1.1 Definisi Kriptografi................................................................................ II-1 2.1.2 Layanan Kriptografi ............................................................................... II-3 2.1.3 Algoritma Kriptografi ............................................................................ II-3 2.1.4 Fungsi Hash MD5 .................................................................................. II-5 2.1.5 Algoritma Kriptografi RC4 .................................................................... II-6 2.2 Basis Data ................................................................................................ II-11 2.2.1 Definisi Basis Data .............................................................................. II-11 2.2.2 Structured Query Language (SQL) ...................................................... II-12 2.2.3 Keamanan Basis Data .......................................................................... II-15 2.3 Serangan pada Jaringan............................................................................ II-16
BAB III ANALISIS MASALAH ......................................................... III-1 3.1 Analisis Permasalahan ............................................................................. III-1 3.2 Penanganan Masalah ................................................................................ III-3 3.2.1 Penanganan Masalah Transmisi Data .................................................. III-4 3.2.2 Penanganan Masalah Otentikasi ........................................................ III-11 3.2.3 Penanganan Masalah Integritas Data ................................................. III-11
BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK ............................................................................................................... IV-1 4.1 Analisis .................................................................................................... IV-1 4.1.1 Deskripsi Umum Perangkat Lunak ...................................................... IV-1 4.1.2 Analisis Kebutuhan .............................................................................. IV-2 4.1.3 Analisis Kebutuhan Antarmuka eksternal ........................................... IV-3 4.1.4 Analisis Penggunaan Perangkat Lunak ................................................ IV-3 4.1.5 Analisis Aliran Data............................................................................. IV-4 4.1.6 Model Use Case ................................................................................... IV-5 4.1.7 Definisi Aktor ...................................................................................... IV-6 4.1.8 Skenario Use Case ............................................................................... IV-7 4.1.9 Model Analisis ..................................................................................... IV-9 4.2 Perancangan ........................................................................................... IV-10 4.2.1 Perancangan Arsitektur ...................................................................... IV-10
vi
4.2.2 4.2.3
Perancangan Modul Perangkat Lunak ............................................... IV-12 Perancangan Antarmuka .................................................................... IV-17
BAB V IMPLEMENTASI DAN PENGUJIAN .................................... V-1 5.1 Implementasi ..............................................................................................V-1 5.1.1 Batasan Implementasi ............................................................................V-1 5.1.2 Lingkungan Implementasi .....................................................................V-1 5.1.3 Implementasi Modul Perangkat Lunak ..................................................V-2 5.1.4 Implementasi Antarmuka .......................................................................V-4 5.1.5 File Lain yang Dihasilkan ......................................................................V-4 5.2 Pengujian....................................................................................................V-4 5.2.1 Tujuan Pengujian ...................................................................................V-5 5.2.2 Lingkungan Pengujian ...........................................................................V-5 5.2.3 Rencana dan Prosedur Pengujian ...........................................................V-6 5.2.4 Kasus Uji ................................................................................................V-8 5.2.5 Kriteria Pengujian ..................................................................................V-8 5.2.6 Evaluasi Pengujian .................................................................................V-8
BAB VI PENUTUP .............................................................................. VI-1 6.1 6.2
Kesimpulan .............................................................................................. VI-1 Saran ........................................................................................................ VI-2
DAFTAR REFERENSI ..............................................................................x DAFTAR PUSTAKA ............................................................................... xi
vii
Daftar Tabel Tabel II-1 Proses XOR pseudo random byte dengan plainteks pada enkripsi ......... II-10 Tabel II-2 Proses XOR pseudo random byte dengan plainteks pada dekripsi ......... II-10 Tabel II-3 Kecepatan Enkripsi RC4 ......................................................................... II-11 Tabel IV-1 Kebutuhan Fungsional........................................................................... IV-2 Tabel IV-2 Kebutuhan Non-fungsional ................................................................... IV-3 Tabel IV-3 Tabel Definisi Aktor.............................................................................. IV-6 Tabel IV-4 Operasi kelas Akun Pengguna............................................................. IV-13 Tabel IV-5 Atribut kelas Akun Pengguna ............................................................. IV-13 Tabel IV-6 Operasi kelas Query ............................................................................ IV-14 Tabel IV-7 Atribut kelas Query ............................................................................. IV-15 Tabel IV-8 Operasi kelas Enkripsi RC4 ................................................................ IV-15 Tabel IV-9 Atribut kelas Enkripsi RC4 ................................................................. IV-15 Tabel IV-10 Operasi kelas Manajemen Kunci....................................................... IV-16 Tabel IV-11 Atribut kelas Manajemen Kunci ....................................................... IV-16 Tabel IV-12 Operasi kelas HashMD5.................................................................... IV-16 Tabel IV-13 Atribut kelas Hash MD5 ................................................................... IV-16 Tabel V-1 Implementasi Kelas ..................................................................................V-2 Tabel V-2 Implementasi Antarmuka .........................................................................V-4 Tabel V-3 File lain yang dihasilkan...........................................................................V-4 Tabel V-4 Rencana Pengujian ...................................................................................V-6
viii
Daftar Gambar Gambar II-1 Proses enkripsi dan dekripsi .................................................................. II-2 Gambar II-2 Algoritma simetris................................................................................. II-4 Gambar II-3 Algoritma nir-simetris ........................................................................... II-4 Gambar II-4 Skema fungsi hash satu arah ................................................................. II-6 Gambar III-1 Masalah Keamanan Akses Data ........................................................ III-2 Gambar III-2 Protokol inisialisasi kunci enkripsi .................................................... III-9 Gambar III-3 Protokol mengganti kunci enkripsi .................................................... III-9 Gambar III-4 Protokol eksekusi query yang tidak me-retrieve data...................... III-10 Gambar III-5 Protokol eksekusi query yang mer-retrieve data ............................. III-10 Gambar IV-1 Skema umum perangkat lunak .......................................................... IV-1 Gambar IV-2 Diagram use case perangkat lunak .................................................... IV-5 Gambar IV-3 Diagram kelas analisis ..................................................................... IV-10 Gambar IV-4 Arsitektur perangkat lunak .............................................................. IV-11
ix