SISTEM KESELAMATAN PENGHANTARAN FAIL MENGGUNAKAN TEKNIK KRIPTOGRAFI DAN STEGANOGRAFI SATHIAPRIYA A/P RAMIAH FAKULTI SAINS KOMPUTER DAN SISTEM MAKLUMAT UNIVERSITI TEKNOLOGI MALAYSIA MAC 2005
iv PENGHARGAAN Saya ingin mengambil kesempatan ini untuk merakamkan penghargaan ikhlas kepada penyelia projek saya iaitu Prof. Madya Dr. Mohd Aizaini Maarof atas pandangan, dorongan dan bimbingan yang diberi sepanjang perlaksanaan projek ini. Penghargaan juga ditujukan kepada ibu bapa saya yang memberi sokongan yang tiada penamatnya. Selain itu, ucapan terima kasih kepada semua yang terlibat dalam memberi nasihat dan tunjuk ajar kepada saya sepanjang tempoh penyediaan projek ini.
v ABSTRAK Sejak terlaksananya sistem rangkaian dan Internet, penghantaran fail telah menjadi satu perkara yang biasa dan kerap dilakukan. Namun begitu, penghantaran melalui medium terbuka terdedah kepada ancaman penceroboh atau pihak ketiga yang tidak diingini. Mesej atau fail yang dihantar mungkin dilihat, diubah kandungan atau dihapuskan oleh penceroboh. Identiti penghantar juga mungkin disamar oleh pihak ketiga. Adalah sukar bagi penerima untuk memastikan identiti penghantar yang sebenar. Bagi menangani masalah ini, sistem keselamatan penghantaran fail menggunakan teknik kriptografi dan steganografi dibangunkan. Matlamat utama perlaksanaan projek ini ialah untuk memastikan keselamatan penghantaran fail dalam rangkaian supaya tidak dicerobohi oleh pihak ketiga yang tidak diingini dengan menggunakan teknik kriptografi dan steganografi. Algoritma Blowfish digunakan sebagai algoritma untuk penyulitan dan penyahsulitan. Manakala teknik Least Significant Bit (LSB) digunakan dalam pengaplikasian steganografi. Metodologi waterfall digunakan sebagai metodologi pembangunan sistem. Dengan gabungan algoritma dan teknik yang dinyatakan, sistem keselamatan penghantaran fail melalui rangkaian dibangunkan.
vi ABSTRACT Since the implementation of network and Internet, file transmission has become a normal task that is frequently performed. However, transmission via an open medium is subjected to malicious attacks. Files that being transmitted might be viewed, tampered or deleted by an unauthorized party. Furthermore, the sender s identity might be pretend by 3 rd party. Thus, it is difficult for the receiver to assure the correct identity of the sender. To overcome this problem, a project to built up a secured file transmission system using cryptography and steganography is done. Main goal of this project is to ensure secrecy of file transmission via network using cryptography and steganography technique. Literature studies has been done to choose the best algorithm and technique to apply in this system. Blowfish algorithm is used for encryption and decryption. Meanwhile, Least Significant Bit (LSB) technique is used to apply steganography. Waterfall methodology is used as system development methodology. Combination of algorithm and techniques that has been discussed, a secured file transmission system is built up.
vii KANDUNGAN BAB PERKARA MUKA SURAT PENGAKUAN DEDIKASI PENGHARGAAN ABSTRAK ABSTRACT KANDUNGAN SENARAI JADUAL SENARAI RAJAH SENARAI SINGKATAN SENARAI LAMPIRAN ii iii iv v vi vii xi xii xiv xv BAB 1 PENGENALAN 1.1 Pengenalan 1 1.2 Pernyataan Masalah 2 1.3 Matlamat 3 1.4 Objektif 3 1.5 Skop 4 1.6 Justifikasi / Kepentingan 4
viii BAB 2 KAJIAN LITERATUR 2.1 Pengenalan 5 2.2 Kajian terhadap sistem semasa 5 2.3 Analisis Masalah Mengenai Sistem Sedia 8 2.4 Kajian keatas teknik-teknik, peralatan- 9 peralatan dan teknologi berkaitan yang boleh digunakan untuk menyelesaikan masalah 2.4.1 Kriptografi 10 2.4.1.1 Sistem Penyulitan 11 2.4.1.2 Algoritma Blowfish 14 2.4.1.3 Algoritma 3DES 15 2.4.1.4 Kelebihan Algoritma Blowfish 15 2.4.2 Tandatangan Digital 16 2.4.3 Steganografi 17 2.4.3.1 Jenis-jenis Steganografi 18 2.4.3.2 Least Significant Bit (LSB) 23 2.4.4 Protokol Rangkaian 24 2.4.4.1 Transmission Control Protocol (TCP) 25 2.5 Justifikasi Pemilihan Teknik 26 2.6 Kesimpulan 26 BAB 3 METODOLOGI PEMBANGUNAN 3.1 Pengenalan 27 3.2 Metodologi Yang Digunakan 27 3.3 Metodologi Pembangunan Sistem 29 3.4 Analisis Keperluan Sistem 33 3.4.1 Justifikasi Perkakasan 33 3.4.2 Justifikasi Perisian 33
ix 3.4.3 Spesifikasi Input 34 3.4.4 Spesifikasi Output 34 3.5 Andaian dan Kekangan 35 BAB 4 REKABENTUK 4.1 Pengenalan 36 4.2 Rekabentuk Sistem 37 4.2.1 Fasa Satu 37 4.2.2 Fasa Dua 38 4.3 Pengaliran Sistem 40 4.4 Rajah Use Case 42 4.5 Rajah Jujukan 45 4.6 Rajah Kelas 46 4.7 Rajah Kerjasama 46 4.8 Rekabentuk Antaramuka 47 4.8.1 Fungsi-fungsi Butang 48 BAB 5 IMPLEMENTASI DAN PENGUJIAN 5.1 Pengenalan 50 5.2 Implementasi 51 5.2.1 Kelas-kelas Yang Terlibat 51 5.2.2 Pengaturcaraan Rangkaian Java 52 5.2.3 Penghasilan Kekunci 55 5.2.4 Penyulitan dan Penyahsulitan 55 5.2.5 Penyembunyian dan Penyahsembunyian 57 5.3 Data dan hasil input / output 59 5.4 Analisa dan kesimpulan 63
x BAB 6 PERBINCANGAN DAN KESIMPULAN 6.1 Hasil dan Pencapaian 64 6.2 Kelebihan Sistem 65 6.3 Masalah Dan Kelemahan Sistem 66 6.4 Cadangan Pembaikan / Peningkatan 66 6.5 Perbincangan 67 6.6 Kesimpulan 67 RUJUKAN 69 LAMPIRAN A Rajah Jujukan 71 LAMPIRAN B Rajah Kerjasama 74 LAMPIRAN C Rajah Kelas 77 LAMPIRAN D Carta Gantt Perlaksanaan Projek 1 79 LAMPIRAN E Carta Gantt Perlaksanaan Projek 2 81 LAMPIRAN F Manual Pengguna 84
BAB 1 PENGENALAN 1.1 Pendahuluan atau Pengenalan Kemajuan teknologi komputer pada zaman ini membawa perubahan besar kepada kehidupan masyarakat. Dengan adanya komputer, kebanyakan kerja dapat diselesaikan dengan pantas. Satu aspek penting dalam kehidupan manusia ialah perhubungan. Penghantaran maklumat dalam fail dari satu destinasi ke destinasi yang lain dapat dilakukan dalam beberapa saat tanpa mengira lokasi oleh komputer. Jelas di sini bahawa, manusia sangat bergantung kepada komputer untuk penghantaran maklumat. Maklumat atau fail yang dihantar melalui rangkaian terdedah kepada unsur-unsur negatif seperti pencerobohan. Oleh yang demikian, kaedah perlindungan maklumat yang dihantar perlu dititikberatkan supaya maklumat tersebut tidak
2 dicerobohi oleh pihak yang tidak diingini. Maka, lahirlah idea untuk meghasilkan satu sistem keselamatan penghantaran fail. Teknik kriptografi dan teknik steganografi digunakan dalam sistem ini. Teknik penyulitan dan penyahsulitan dalam kriptografi digunakan untuk merahsiakan fail dengan cara menukar format maklumat fail asal kepada maklumat yang tidak dapat dibaca atau difahami. Kemudiannya, teknik steganografi diaplikasikan sebagai teknik penyembunyian maklumat fail yang disulit itu. Penggunaan kedua-dua teknik kriptografi dan teknik steganografi menghasilkan keselamatan dua lapis terhadap fail yang dihantar. 1.2 Pernyataan Masalah Secara amnya, fail yang dihantar melalui rangkaian terdedah kepada serangan penceroboh seperti sampukan, pemintasan, pengubahsuaian dan pemalsuan. Seranganserangan ini boleh membawa kesan yang amat serius kepada individu atau organisasi yang terlibat dalam penghantaran maklumat. Oleh sebab perlindungan penghantaran fail amat penting, projek sarjana muda ini dibangunkan dengan meghasilkan satu sistem yang menggabungkan kedua-dua teknik kriptografi dan teknik steganografi untuk memastikan kerahsiaan dan keselamatan penghantaran fail dalam rangkaian. Dalam sistem ini, keselamatan dua lapis diberi kepada fail yang dihantar. Ini kerana, fail disulit dan kemudiannya disembunyikan di sebalik satu imej sebelum dihantar kepada penerima. Ia adalah berikutan, jika fail tersebut hanya dilakukan proses penyulitan, kemungkinan penceroboh atau penggodam akan mengetahui bahawa fail yang dihantar itu adalah penting. Ini secara tidak langsung akan menambahkan
3 keinginan penggodam tersebut untuk memecahkan kod dan mengetahui maklumat asal. Dengan mengaplikasikan teknik steganografi, keinginan penggodam untuk mencerobohi maklumat dapat dikurangkan kerana fail yang disulit tadi disembunyikan. Penggodam hanya dapat melihat imej sedang dihantar dalam rangkaian sedangkan terdapat maklumat penting yang disulit di sebalik imej tersebut. 1.3 Matlamat Matlamat utama projek ini ialah untuk memastikan keselamatan penghantaran fail dalam rangkaian yang sama supaya tidak dicerobohi oleh pihak ketiga yang tidak diingini. 1.4 Objektif Objektif penghasilan projek ini ialah : i. Memahami dan mempelajari teknik kriptografi dan teknik steganografi. ii. Memastikan keselamatan penghantaran fail dengan mengaplikasikan teknik kriptografi dan steganografi. iii. Memastikan pengesahan penghantar fail.
4 1.5 Skop Antara beberapa skop yang telah dikenalpasti dalam pembangunan sistem ini ialah : i. Fail boleh dihantar kepada satu komputer sahaja pada satu masa. ii. Algoritma Blowfish digunakan untuk teknik kriptografi. iii. Teknik Least Significant Bit (LSB) digunakan untuk teknik steganografi. iv. Sistem yang dibangunkan ini adalah berasaskan sistem pengoperasian Windows. v. Pembangunan sistem ini untuk rangkaian Local Area Network (LAN). vi. Format imej yang digunakan ialah.bmp 24 bit. 1.6 Justifikasi / Kepentingan Projek ini dibangunkan untuk meningkatkan keselamatan penghantaran maklumat dalam rangkaian supaya bebas daripada pencerobohan penggodam. Dengan penghasilan sistem keselamatan ini, penghantaran fail dapat dilakukan dengan selamatnya dengan kerahsiaannya dicapai. Maklumat yang sampai pada penerima tidak akan menghadapi sebarang serangan penceroboh. Organisasi-organisasi atau individu dapat menghantar maklumat yang penting dan sulit tanpa sebarang keraguan. Sistem ini memberi jaminan kepada mereka untuk penghantaran maklumat secara selamat.