PERANCANGAN SECURE LOGIN WEBSITE MENGGUNAKAN
ALGORITMA ENKRIPSI XXTEA
SKRIPSI
ARDANI DWI ATMOJO
071402039
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERANCANGAN SECURE LOGIN WEBSITE MENGGUNAKAN ALGORITMA ENKRIPSI XXTEA
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Teknologi Informasi
ARDANI DWI ATMOJO 071402039
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : PERANCANGAN SECURE LOGIN WEBSITE MENGGUNAKAN ALGORITMA ENKRIPSI XXTEA
Kategori : SKRIPSI
Nama : ARDANI DWI ATMOJO
Nomor Induk Mahasiswa : 071402039
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
Diluluskan di Medan, Juli 2012 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
M. Safri Lubis, S.T. M.Com Sajadin Sembiring, S.Si. M.Sc NIP.
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi FASILKOM-TI USU Ketua,
Prof.Dr.Opim Salim Sitompul, M.Sc. NIP. 196108171987011001
PERNYATAAN
PERANCANGAN SECURE LOGIN MENGGUNAKAN ALGORITMA ENKRIPSI XXTEA
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juli 2012
Ardani Dwi Atmojo 071402039
PENGHARGAAN
Puji dan syukur hanya bagi Tuhan Yang Maha Esa yang mengizinkan penulis dapat menyelesaikan skripsi ini. Sebab kasihNya yang besar dan kesetiaanNya yang tak pernah padam.
Dalam penulisan skripsi ini penulis banyak mendapatkan bantuan serta dorongan dari pihak lain. Dalam kesempatan ini dengan segala kerendahan hati, penulis mengucapka terima kasih kepada:
1. Kedua orang tua penulis Ibu Agustina Rudatiani dan Bapak Ari Tumiran karena cinta dan kasih sayang terus menerus sehingga penulis dapat menyelesaikan skripsi ini. Terima Kasih juga penulis ucapkan untuk Abang Wahyudi Eko dan Adik Agung Nugroho yang juga memberikan dukungan kepada penulis.
2. Kepada Bapak Sajadin Sembiring, S.Si.,M.Sc. dan Bapak Muhammad Safri Lubis, S.T., M.Com. selaku dosen pembimbing penulis yang telah memberikan saran dan masukan serta bersedia meluangkan waktu, tenaga dan pikiran untuk menyelesaikan skripsi ini.
3. Ketua dan Sekretaris Jurusan Prof. Dr. Opim Salim, M.Sc dan Drs. Sawaluddin, M.IT.
4. Bapak Muhammad Safri Lubis, S.T., M.Com.selaku dosen penasihat akademik saya.
5. Bapak Syahril Efendi,S.Si.,M.IT dan Bapak Muhammad Andri Budiman, S.T.,M.Comp.SC.M.E.M selaku dosen pembanding dan penguji yang telah banyak memberikan petunjuk, saran dan kritik dalam menyelesaikan skripsi ini.
6. Seluruh Dosen yang mengajar pada program studi Teknologi Informasi Universitas Sumatera Utara.
7. Teman-teman angkatan ‟07 di „Gubuk‟ baik yang sudah tamat atau pun sedang menyelesaikan skripsi, Azaria, Andreni, Agustina, Sabrina, Hendrik, Faisal, dan Ita yang selalu memberikan semangat dan dukungan kepada penulis untuk menyelesaikan skripsi ini.
8. Seluruh rekan-rekan kuliah sejawat yang tidak dapat disebutkan satu persatu. Akhir kata, saya ucapkan terima kasih kepada semua pihak yang terkait dalam penyelesaian skripsi ini yang tidak bisa saya sebut satu persatu. Semoga Tuhan membalas segala kebaikan yang sudah diberikan.
ABSTRAK
Format standar dari form login mengirimkan isi dari user-id dan password dari client ke server dalam format plaintext. Hal ini membuat user-id dan password dapat dicuri ketika dikirimkan ke server. Atas dasar itu diperlukan pengamanan dengan melakukan enkripsi user-id serta password sebelum dikirimkan ke server agar data yang dikirimkan dari client ke server terjamin keamanannya. Algoritma yang digunakan adalah Corrected Block Tiny Encryption Algorithm atau XXTEA dan diimplementasikan dengan javascript di sisi client dan PHP di sisi server.Melalui pengujian menggunakan aplikasi fiddler ditunjukkan bahwa form login standar yang tidak menggunakan secure login mengirimkan plaintext user-id dan password sehingga sangat mudah dicuri. Dengan menggunakan secure login,user-id dan password yang tertangkap pada fiddler berupa ciphertext. Penggunaan firebug menunjukkan peningkatan waktu akses rata-rata 18.5 ms dibandingkan dengan form login standar.
WEB SECURE LOGIN DESIGN USING CORRECTED BLOCK TINY ENCRYPTION ALGORITHM
ABSTRACT
The basic format of the login form sends the contents of user-id and password from the client to the server in plaintext format. The user-id and password can be stolen while being sent to the server. Therefore, an alternative security with encrypting user-id and password are given before it is sent to the server so that the data transmitted from the client to the server become more secure. The algorithm used is the Corrected Block Tiny Encryption Algorithm or XXTEA and it is implemented with javascript on the client side and PHP on the server side. Through testing using fiddler application indicated that the basic login form that does not use a secure login may send plaintext of user-id and password so it can be easily stolen. By using a secure login, user-id and password that captured on fiddler was the ciphertext. The use of firebug shows an increase of the average access time 18.5 ms if it is compared with a standard login form.
DAFTAR ISI Persetujuan Pernyataan Penghargaan Halaman ii iii iv Abstrak v Abstrack vi
Daftar Isi vii
Daftar Tabel ix Daftar Gambar x Bab 1 Pendahuluan 1 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Metodologi Penelitian 1.7 Sistematika Penulisan 1 2 3 3 4 4 5
Bab 2 Landasan Teori 6
2.1 Interconnection Network (Internet) 2.2 Sejarah Perkembangan Website 2.3 Keamanan Web
2.4 Server dan Client-Server 2.5 Kriptografi
2.5.1 Algoritma Kriptografi Klasik 2.5.2 Algoritma Kriptografi Modern 2.6.1 Linear Congruential Generator
2.6.2 Corrected Block Tiny Encryption Algorithm (XXTEA) 2.6.3 Enkode Base64
2.7 Bahasa Pemrograman dan Database yang digunakan 2.7.1 Javascript
2.7.2 Bahasa Pemrograman PHP: Hypertext Preprocessor 2.7.3 Database MySQL
2.8 Aplikasi Pendukung lainnya 2.8.1 Browser
2.8.2 Fiddler 2.8.3 Firebug 2.8.4 Fireforce
2.9 Beberapa catatan-catatan dari penelitian sebelumnya
6 8 12 15 16 18 18 20 21 25 26 26 27 29 32 32 34 34 35 36
Bab 3 Analisis dan Perancangan Sistem 38
3.2 Penyelesaian Masalah 3.3 Perancangan Sistem 3.3.1 Deskripsi Sistem 3.3.1.1 Fungsi Utama 3.3.1.2 Batasan 3.3.2 Flowchart
3.3.2.1 Pembangkitan Kunci acak 3.3.3 DFD proses enkripsi dan dekripsi
3.4 Proses Enkripsi dan Dekripsi algoritma XXTEA 3.4.1 Proses Enkripsi
3.4.2 Proses Dekripsi 3.5 Analisis Sistem
3.5.1 Enkripsi XXTEA dan enkode base 64 3.5.1.1 Enkripsi XXTEA
3.5.1.2 Enkode Base64
3.5.2 Dekode Base64 dan Dekripsi XXTEA 3.5.2.1 Dekode Base64 3.5.2.2 Dekripsi XXTEA 3.6 Perancangan Antarmuka 39 39 39 39 40 41 42 43 47 47 50 53 53 55 55 60 61 61 62
Bab 4 Implementasi dan Pengujian Sistem 66 4.1 Tahap Implementasi Aplikasi
4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak yang Digunakan
4.1.2 Site Map Aplikasi 4.2 Tahap Pengujian Aplikasi
4.2.1 Tampilan Aplikasi yang digunakan 4.2.2 Pengujian Dengan Fiddler2
4.2.2.1 Sebelum digunakan Secure Login 4.2.2.2 Sesudah digunakan Secure Login 4.2.3 Pengujian Dengan Firebug
4.2.3.1 Sebelum digunakan Secure Login 4.2.3.2 Sesudah digunakan Secure Login 4.2.4 Pengujian Dengan Fireforce
4.2.4.1 Sebelum digunakan Secure Login 4.2.4.2 Sesudah digunakan Secure Login
66 67 68 69 69 71 72 74 76 76 78 80 80 81
Bab 5 Kesimpulan dan Saran 82
5.1 Kesimpulan 5.2 Saran
82 83
Daftar Pustaka 84
Lampiran A: Kode ASCII Lampiran B: Listing Program
86 94
DAFTAR TABEL Tabel 2.1 Tabel 2.2 Tabel 3.1 Tabel 3.2 Tabel 3.3 Tabel 3.4 Tabel 3.5 Tabel 3.6 Tabel 3.7 Tabel 3.8 Tabel 3.9 Tabel 4.1 Tabel 4.2
Daftar konstanta a, b, dan m yang bagus untuk lcg Enkoding Base64
Spesifikasi proses DFD level 0 Secure Login Spesifikasi Proses DFD level 1 Secure Login Proses enkripsi XXTEA
Proses dekripsi XXTEA Perhitungan plaintext “dani”
Perhitungan 32 bit kunci pertama “pass” Perhitungan 32 bit kunci kedua “word”
Perubahan nilai V[0] dan V[1] dalam enkripsi XXTEA Perubahan nilai V[0] dan V[1] dalam dekripsi XXTEA Username dan password yang digunakan untuk pengujian Waktu akses yang dibutuhkan pada form standard dan form aman Halaman 20 25 44 46 48 51 53 53 54 56 62 69 79
DAFTAR GAMBAR Gambar 2.1 Gambar 2.2 Gambar 3.1 Gambar 3.2 Gambar 3.3 Gambar 3.4 Gambar 3.5 Gambar 3.6 Gambar 3.7 Gambar 3.8 Gambar 3.9 Gambar 4.1 Gambar 4.2 Gambar 4.3 Gambar 4.4 Gambar 4.5 Gambar 4.6 Gambar 4.7 Gambar 4.8 Gambar 4.9 Gambar 4.10 Gambar 4.11 Gambar 4.12 Gambar 4.13 Gambar 4.14 Gambar 4.15 Gambar 4.16 Gambar 4.17 Gambar 4.18 Gambar 4.19 Gambar 4.20 Gambar 4.21 Gambar 4.22 Gambar 4.23
Ilustrasi jaringan Client-server XXTEA cipher
Flowchart
Flowchart pembangkitan kunci acak DFD level 0
DFD level 1
Proses enkripsi XXTEA Proses dekripsi XXTEA Tampilan menu login
Tampilan Halaman yang diinginkan Tampilan Username atau password salah Tampilan menu login
Tampilan login dengan random key yang berhasil di-generate
Tampilan saat pengguna klik tombol login Halaman yang diinginkan
Login gagal
Fiddler dalam menangkap data username =admin Fiddler dalam menangkap data username =dani Fiddler dalam menangkap data username =ardani1234 Fiddler dalam menangkap data username =atmojo Fiddler dalam menangkap data username =admin Fiddler dalam menangkap data username =dani Fiddler dalam menangkap data username =ardani1234 Fiddler dalam menangkap data username =atmojo Firebug mengukur waktu username = admin Firebug mengukur waktu username =dani Firebug mengukur waktu username =ardani1234 Firebug mengukur waktu username =atmojo Firebug mengukur waktu username =admin Firebug mengukur waktu username =dani Firebug mengukur waktu username =ardani1234 Firebug mengukur waktu username =atmojo Fireforce sebelum secure login digunakan Fireforce sesudah secure login digunakan
Halaman 15 22 41 42 43 45 49 52 63 64 64 70 70 70 71 71 72 72 73 73 74 74 75 75 76 77 77 77 78 78 79 79 80 81