BAB I PENDAHULUAN 1.1 Latar Belakang dan Permasalahan Menurut Lamkuche, dkk. (2012), informasi pribadi yang ada di internet sebagian besar belum mendapat perlindungan yang baik. Perkembangan internet telah menghasilkan pertukaran informasi dalam jumlah yang besar oleh individu maupun kalangan bisnis. Biasanya informasi yang dipertukarkan bersifat publik dan pribadi, serta lebih banyak ditransmisikan melalui hyper text transfer protocol (HTTP) yang cenderung kurang aman. Menurut survey tentang penghitungan domain yang aktif di internet yang dilakukan oleh Internet system consortium (2012) terdapat sekitar 900 juta host yang terkoneksi dengan internet, hal ini menunjukkan pertumbuhan internet yang sangat cepat, jumlah host yang tekoneksi dengan internet berlipatganda dalam kurun waktu Januari 2007 sampai dengan Januari 2012. Isu keamanan data dalam proses pertukaran data tetap menjadi sangat krusial mengingat banyak terjadi tindak kejahatan berupa pencurian data dan pembajakan melalui internet. Pengembangan sistem informasi yang mengakomodasi pertukaran dan pemrosesan data menggunakan jaringan lokal maupun internet lebih cenderung menggunakan hyper text transfer protocol (HTTP) dengan berbagai macam kelebihannya, seperti ringan, bersifat client-server, data terpusat, dapat diakses banyak pengguna sekaligus. Salah satu bahasa pemrograman yang dipakai untuk membangun sistem informasi berbasis web adalah PHP kepanjangan dari PHP Hypertext Preprocessor. PHP merupakan bahasa pemrograman yang cukup aman karena bersifat server-side programming yang artinya hanya dapat berjalan di sisi server, dan dari sisi client tidak dapat melihat script PHP. PHP juga dapat disandingkan dengan bahasa pemrograman yang lain seperti javascript, xml, dan penggunaan database juga dapat bermacam-macam, seperti Oracle, MySQL, MS SQL, PostgreSQL. Meski PHP mempunyai berbagai macam keunggulan namun ternyata masih menyimpan permasalahan yang cukup dilematis bagi para pengembang sistem 1
2 informasi berbasis web yaitu ketika melakukan distribusi file PHP kepada client. Source code PHP merupakan plaintext yang dapat dengan mudahnya di baca dan dipelajari. Fakta inilah yang menjadi dilema karena pengembang tidak ingin semua source code sistem yang telah dikembangankan, diketahui dan dipelajari dan bahkan juga memungkinkan untuk dibajak. Sedangkan ketika menyerahkan source code hasil pengembangan kepada client, semua file dapat dibaca dengan mudah cukup menggunakan aplikasi notepad. Sehingga pengembang berusaha sedapat mungkin source code hasil pengembangannya tidak diketahui oleh orang lain yang tidak berhak. Berdasarkan fakta inilah, maka diperlukan adanya cryptosystem yang mampu mengamankan file PHP dari orang yang tidak berhak. Ada banyak metode yang dapat dipakai untuk membuat cryptosystem, pada penelitian ini akan dibangun sebuah cryptosystem menggunakan algoritma Blowfish serta memastikan file php yang telah di enkripsi dan dijalankan pada sebuah web server dapat menampilkan keluaran pada web browser, meski tidak didekripsi secara langsung dan tidak akan bisa dilihat source code nya melalui memori web server sekalipun. Algoritma Blowfish dipilih dalam penelitian ini karena mempunyai kinerja yang baik, seperti halnya yang telah diungkapkan oleh Mandal (2012), Blowfish mempunyai kinerja yang lebih baik dalam hal throughput, waktu proses, dan konsumsi daya dibandingkan dengan algoritma lain seperti DES, 3DES, AES. Sehingga dengan menggunakan algoritma Blowfish, akan dihasilkan sebuah cryptosystem yang handal dalam mengamankan file PHP. 1.2 Perumusan Masalah Berdasarkan latar belakang yang telah dikemukakan, maka rumusan masalah dalam penelitian ini adalah perlunya suatu cryptosystem yang mampu melakukan enkripsi dan dekripsi file PHP. File PHP hasil enkripsi dapat dijalankan di dalam sebuah web server, hasil enkripsi dapat diekskusi pada web server, dan source code PHP tidak dapat terlihat secara fisik maupun melalui memori sekalipun. 1.3 Batasan Masalah Adapun batasan masalah dalam penelitian yang akan dilakukan adalah: 1. Algoritma yang dipakai menggunakan algoritma Blowfish.
3 2. Aplikasi yang dikembangkan berupa aplikasi tool berbasis web untuk melakukan enkripsi dan dekripsi. 3. Pengujian terhadap file hasil enkripsi yang berjalan pada web browser. 1.4 Tujuan Penelitian Tujuan dari penelitian ini adalah mengembangkan sebuah cryptosystem menggunakan algoritma blowfish untuk melakukan enkripsi dan dekripsi pada file PHP. File PHP yang berisi chipertext dapat berjalan pada web server, dan source code PHP tidak dapat dilihat. 1.5 Manfaat Penelitian Penelitian ini diharapkan menghasilkan sebuah cryptosystem yang teruji dalam menjaga kerahasiaan source code PHP dalam pendistribusiannya sehingga para pengembang perangkat lunak berbasis web dapat merasa aman dalam mendistribusikan hasil pengembangan perangkat lunak berbasis web dari pembajakan dan penggunaan source code PHP oleh orang yang tidak berhak. 1.6 Keaslian Penelitian Sejauh ini penelitian dalam domain algoritma blowfish telah banyak dilakukan peneliti terdahulu. Data-data penelitian tersebut akan dipaparkan pada tinjauan pustaka. Akan tetapi, berdasarkan referensi dan studi literatur yang telah dilakukan, belum ditemukan penelitian yang membahas tentang penerapan algoritma blowfish pada enkripsi file php serta menganalisa tingkat keamanannya. 1.7 Metodologi Penelitian Penelitian ini menggunakan beberapa tahapan yang dilalui yaitu: 1. Analisa, tahap ini merupakan tahap menganalisa cara kerja algoritma blowfish. 2. Tahap Perancangan, pada tahap ini akan dilakukan perancangan antarmuka untuk menampung masukan berupa teks dan file PHP, sehingga terlihat jelas implementasi algoritma blowfish pada enkripsi file PHP. 3. Tahap implementasi, merupakan tahap untuk mengimplementasikan hasil perancangan menjadi perangkat lunak untuk melakukan enkripsi file PHP (cryptosystem).
4 4. Tahap Pengujian Pada tahap ini dilakukan pengujian terhadap cryptosystem dalam melakukan enkripsi dan dekripsi melalui 5 tahap : a. Pengujian berbagai masukan, mulai dari folder yang berisi file PHP, folder yang berisi file PHP dan satu subfolder, serta folder yang berisi banyak subfolder dan file PHP. b. Pengujian kunci enkripsi yang di generate secara random dan berukuran 128 bit yang dinamis. c. Pengujian PHP extension dalam melakukan dekripsi on the fly sehingga file PHP yang telah terenkripsi dapat berjalan ketika di ekskusi pada server. d. Pengujian keterbacaan kode di memori, dan memastikan tidak terbaca secara langsung, sehingga source code tetap terjaga keamanannya. e. Pengujian waktu ekskusi yang meliputi tentang proses pembangkitan kunci, proses enkripsi dan dekripsi. 1.8 Sistematika Penulisan Penulisan Tesis ini akan dibagi dalam 7 bab, dengan rincian masingmasing sebagai berikut : BAB I. PENDAHULUAN Bab pendahuluan ini membahas mengenai latar belakang penelitian, perumusan masalah, batasan masalah, tujuan penelitian, keaslian penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.
5 BAB II. TINJAUAN PUSTAKA Pada bab ini diuraikan secara sistematis penelitian terdahulu dan menghubungkan dengan penelitian yang sedang dilakukan. BAB III. LANDASAN TEORI Landasan teori meliputi teori-teori yang digunakan dalam penelitian yaitu kriptografi, dan algoritma blowfish. BAB IV. ANALISA DAN PERANCANGAN SISTEM Pada bab ini akan dibahas mengenai rancangan cryptosystem untuk keamanan file PHP menggunakan algoritma Blowfish. BAB V. IMPLEMENTASI SISTEM Bab ini berisi implementasi dari rancangan sistem yang sudah dibuat menjadi sebuah aplikasi perangkat lunak. BAB VI. HASIL DAN PEMBAHASAN Pada bab ini membahas hasil dari implementasi sistem yang telah dibangun serta dibahas juga keluaran dari sistem. BAB VII. KESIMPULAN DAN SARAN Bab ini berisi kesimpulan dari penelitian dan saran-saran yang mungkin dapat dilakukan untuk pengembangan penelitian yang akan datang.