Tugas Akhir - Perpustakaan Digital ITB

advertisement
BAB I
PENDAHULUAN
Bab pertama ini berisi penjelasan hal-hal yang menjadi latar belakang,
rumusan masalah, tujuan, batasan masalah, metodologi dan sistematika pembahasan
laporan tugas akhir ini.
1.1
Latar Belakang
Perkembangan teknologi informasi dewasa ini tidak terlepas dari peran
internet sebagai tulang punggung utamanya. Berbagai macam layanan dapat
disediakan dalam sistem yang melibatkan jaringan seluruh dunia. Salah satu layanan
utama yang disediakan dalam sistem internet adalah situs web.
Situs web adalah suatu fasilitas yang tersedia di internet berupa sekelompok
halaman web (web page), gambar, video dan data digital yang disediakan di satu atau
beberapa web server. Sebuah halaman situs bisa dibuat dari berbagai macam format
file di server, antara lain HTML, PHP, JSP atau ASP. Format paling sederhana yang
bisa digunakan adalah HTML. Situs yang menggunakan file HTML sebagai
halamannya tidak bisa melakukan otorisasi user disebabkan sifat file HTML yang
statik. Oleh karena itu, situs-situs yang membutuhkan otentikasi user untuk bisa
mengaksesnya menggunakan format PHP, JSP atau ASP sebagai pembangun halaman
situsnya. Selain bisa melakukan otorisasi user, situs yang menggunakan format PHP,
JSP, atau ASP bisa melakukan update content situs secara dinamik sehingga pembuat
situs tidak perlu melakukan coding terhadap isi file melainkan bisa melalui fasilitas
query ke basis data.
Ketiga format yang memiliki sifat dinamik seperti disebut sebelumnya
menggunakan cara server-side scripting, yaitu suatu cara mengeksekusi isi file yang
ada di server sebelum dikirimkan ke klien dalam bentuk HTML[W3S07]. Jadi, isi file
yang diterima di pihak klien tidak sama dengan isi file di server.
Dalam sebuah situs, server bisa menyediakan berbagai layanan bagi kliennya,
seperti berita, ilmu pengetahuan, riset, hiburan dan sebagainya. Sebagian besar situs
di internet bisa diakses secara bebas oleh siapa saja yang membutuhkan layanan dari
situs tersebut. Artinya, setiap klien mempunyai hak akses terhadap segala content
I-1
situs. Akan tetapi, tidak semua situs bisa diakses secara bebas oleh setiap klien. Hal
ini bisa disebabkan oleh kerahasiaan content situs tersebut sehingga server tidak ingin
klien yang tidak berhak mengaksesnya.
Metode yang umumnya digunakan dalam pengamanan situs dari akses klien
yang tidak terotentikasi adalah dengan sistem password, yaitu suatu cara dimana klien
yang ingin mengakses halaman sebuah situs diminta memasukkan username dan
password yang sah atau sudah disetujui oleh server. Sistem ini sudah dianggap cukup
aman sehingga banyak diterapkan di berbagai situs. Namun, dalam sistem ini terdapat
suatu celah yang bisa disusupi serangan oleh pihak ketiga, yaitu ketika user
mengirimkan username dan password miliknya ke server dengan method POST yang
digunakan. Hal ini bisa dimanfaatkan oleh pihak ketiga tersebut dengan melakukan
eavesdropping (penyadapan) terhadap username dan password yang dikirimkan.
Contoh situs yang menggunakan sistem ini antara lain situs-situs surat elektronik
seperti Yahoo!, Gmail atau situs surat elektronik milik ITB (students.itb.ac.id).
Celah yang dimiliki oleh sistem password yang disebutkan sebelumnya
disebabkan karena otorisasi dilakukan di pihak server sehingga ada suatu saat dimana
data yang seharusnya rahasia dilewatkan begitu saja di jaringan. Username dan
password yang dikirimkan ini terkadang dienkripsi dalam pengirimannya. Akan
tetapi, panjang username dan password yang umumnya pendek memudahkan
penyerang dalam melakukan kriptanalisis (ilmu dan seni untuk memecahkan teks
terenkripsi menjadi teks aslinya tanpa mengetahui kunci yang digunakan untuk
penyandian[RIN06]).
Gambar I-1 Situs email mahasiswa ITB
I-2
Untuk membuktikan bahwa penggunaan username dan password tidak aman,
diberikan contoh kasus sebagai berikut. Pada Gambar I-1 terlihat situs email untuk
mahasiswa ITB (students.itb.ac.id). Dalam situs tersebut, mahasiswa yang ingin
melihat email pribadi diminta memasukkan username dan password yang
bersesuaian. Dalam contoh ini, username yang dimasukkan adalah “username”
sedangkan password adalah “password”. Gambar I-2 memperlihatkan screenshot
dari Wireshark, sebuah aplikasi pemantau aktivitas interkomunikasi yang melalui
sebuah komputer. Terlihat bahwa ketika user melakukan posting username dan
password, aplikasi Wireshark mencatat aktivitas tersebut dan menyimpan nilai yang
dimasukkan oleh user tersebut dalam log sehingga pihak lain yang memasang aplikasi
ini di komputer gateway bisa mengetahui username dan password user tersebut.
Gambar I-2 Log aplikasi Wireshark
Seperti disebutkan sebelumnya, penggunaan enkripsi bisa mencegah pencurian
data oleh pihak luar. Algoritma enkripsi sendiri terdiri dari cipher blok dan cipher
aliran. Cipher aliran memiliki keuntungan dibanding cipher blok dilihat dari sisi
kompleksitas dan kecepatan komputasinya karena hanya bergantung dari algoritma
yang digunakan. Selain itu, cipher aliran memiliki perambatan kesalahan yang
kecil[BLE07]. Berdasarkan kunci yang digunakan, algoritma enkripsi terbagi menjadi
algoritma kunci simetri dan kunci asimetri yang juga dikenal sebagai kunci publik.
I-3
Salah satu algoritma kunci simetri yang dikenal adalah RC4. Algoritma ini merupakan
salah satu algoritma cipher aliran. RC4 terkenal dengan kecepatan prosesnya. Hal ini
ditulis di [BUD98] dengan membandingkan RC4 dan Blowfish. Menurut hasil
pengujian kecepatan algoritma kriptografi RC4 adalah 5.380,035 Kbyte/detik pada
Pentium133 memori 16MB pada Windows 95 sedangkan algoritma Blowfish pada
jenis komputer yang sama menghasilkan kecepatan 2.300 KByte/detik.
1.2
Rumusan Masalah
Masalah yang ingin dipecahkan dalam tugas akhir ini adalah bagaimana
mengimplementasikan suatu sistem otorisasi user pada situs web di sisi klien sehingga
user tidak perlu melakukan posting username dan password miliknya melalui
jaringan.
1.3
Tujuan
Pada tugas akhir ini tujuan yang ingin dicapai adalah:
1. Mempelajari cara melakukan enkripsi HTML yang dihasilkan melalui
server-side scripting dan mengimplementasikannya di pihak server
2. Mempelajari cara melakukan dekripsi HTML di pihak klien yang
diperoleh melalui transaksi dengan server yang melakukan enkripsi.
3. Membuat aplikasi yang menyediakan fasilitas enkripsi halaman HTML di
sisi server dan dekripsi di sisi klien.
4. Melakukan pengujian tingkat keamanan sistem, yaitu dengan melakukan
sniffing dan menganalisis hasil sniffing tersebut.
1.4
Batasan Masalah
Dalam pengerjaan Tugas Akhir ini, ditetapkan beberapa batasan masalah,
yaitu sebagai berikut :
1. File server-side scripting yang digunakan hanya PHP.
2. Tidak ada mekanisme manajemen kunci, dengan kata lain aplikasi tidak
menangani penyampaian kunci antara klien dan server.
I-4
1.5
Metodologi
Metodologi yang diterapkan dalam pengerjaan Tugas Akhir ini antara lain:
1. Studi literatur terhadap perintah-perintah output dalam PHP.
PHP memiliki beberapa perintah untuk melakukan output hasil
eksekusinya ke dalam bentuk plain HTML. Nantinya, akan dipelajari cara
agar sistem tidak langsung mengirimkan output melainkan melakukan
enkripsi output terlebih dahulu.
2. Studi literatur terhadap algoritma enkripsi RC4.
Untuk melakukan enkripsi terdapat berbagai macam algoritma enkripsi
baik cipher blok ataupun cipher aliran. Untuk aplikasi yang akan
dikembangkan ini, algoritma enkripsi yang dipilih adalah algoritma RC4.
Pemilihan ini sesuai dengan fakta bahwa RC4 adalah algoritma cipher
karakter menggunakan kunci simetri yang paling cepat. Oleh karena itu,
akan dipelajari bagaimana algoritma RC4 berjalan.
3. Implementasi dan pengujian algoritma enkripsi ke file server.
Algoritma enkripsi RC4 kemudian diterapkan ke dalam file PHP yang ada
di server. Dalam tahap ini, akan dipelajari apakah perlu dibuat aplikasi
baru yang menggunakan sistem enkripsi atau mengubah aplikasi lama
yang sudah ada lalu ditambahkan sistem enkripsi.
4. Implementasi dan pengujian algoritma dekripsi di pihak klien.
Setelah ciphertext diterima di pihak klien, diperlukan cara untuk
mendekripsinya. Dekripsi dilakukan menggunakan algoritma dan kunci
yang sama dengan yang digunakan oleh server untuk mengenkripsi teks
tersebut. Oleh karena itu, diperlukan cara agar user bisa melakukan
dekripsi halaman tersebut. Cara tersebut akan dipelajari dalam tahap ini.
1.6
Sistematika Pembahasan
Sistematika Pembahasan dalam tugas akhir ini adalah sebagai berikut :
1. Bab I Pendahuluan, menguraikan hal-hal yang menjadi latar belakang
pelaksanaan tugas akhir, perumusan masalah, penentuan tujuan, ruang lingkup
dan batasan masalah, metodologi penyusunan tugas akhir dan sistematika
pembahasan dalam laporan tugas akhir.
I-5
2. Bab II Dasar Teori, menguraikan teori-teori yang digunakan dan teori yang
berkaitan dan mendukung pelaksanaan tugas akhir.
3. Bab III Analisis Permasalahan, menguraikan hal-hal yang menjembatani
antara permasalahan dengan solusi yang akan dibuat.
4. Bab IV Analisis dan Perancangan Perangkat Lunak, menguraikan dan
mendeskripsikan kebutuhan perangkat lunak, studi kasus model situs dan
model analisis perangkat lunak.
5. Bab V Implementasi dan Pengujian, menjelaskan bagaimana aplikasi
diimplementasikan dan pengujian terhadap hasil implementasi tersebut.
6. Bab VI Penutup, berisi kesimpulan pengerjaan tugas akhir ini dan saran untuk
mengembangkan aplikasi lebih lanjut.
I-6
Download