View
242
Download
0
Category
Preview:
Citation preview
Tajuk penuh tesis : APLIKASI KESELAMATAN MENGGUNAKAN KRIPTOGRAFI DAN TEKNIK PENYAMARAN DAN PENYARINGAN
Nama penulis : GAN TECK LENG Nama ijazah : IJAZAH SARJANA MUDA SAINS (SAINS KOMPUTER) Fakulti : FALKULTI SAINS KOMPUTER DAN SISTEM
MAKLUMAT Tarikh penghantaran : 7 MEI 2008
UNIVERSITI TEKNOLOGI MALAYSIA
PSZ 19:16 (Pind. 1/97)
BORANG PENGESAHAN STATUS TESISJUDUL : Saya
APLIKASI KESELAMATAN MENGGUNAKAN KRITOPGRAFI DAN ALGORITMA PENYAMARAN DAN PENYARINGAN
SESI PENGAJIAN: 2007/2008
GAN TECK LENG (HURUF BESAR)
mengaku membenarkan tesis (PSM/Sarjana/Doktor Falsafah)* ini disimpan di Perpustakaan Universiti Teknologi Malaysia dengan syarat-syarat kegunaan seperti berikut: 1. Tesis adalah hakmilik Universiti Teknologi Malaysia. 2. Perpustakaan Universiti Teknologi Malaysia dibenarkan membuat salinan untuk tujuan
pengajian sahaja. 3. Perpustakaan dibenarkan membuat salinan tesis ini sebagai bahan pertukaran antara institusi
pengajian tinggi. 4. **Sila tanda ( )
(Mengandungi maklumat yang berdarjah keselamatan atau
SULIT TERHAD
TIDAK TERHAD
kepentingan Malaysia seperti yang termaktub di dalam AKTA RAHSIA RASMI 1972) (Mengandungi maklumat TERHAD yang telah ditentukan oleh organisasi/badan di mana penyelidikan dijalankan)
Disahkan oleh
(TANDATANGAN PENULIS) Alamat Tetap
100,TAMAN BENUT JAYA, 82200 BENUT, PONTIAN JOHOR
(TANDATANGAN PENYELIA)
DR.SUBARIAH BINTI IBRAHIM
Tarikh:
7 MEI 2008
Tarikh:
7 MEI 2008
CATATAN: * Potong yang tidak berkenaan. ** Jika tesis ini SULIT atau TERHAD, sila lampirkan surat daripada pihak
berkuasa / organisasi berkenaan dengan menyatakan sekali sebab dan tempoh tesis ini perlu dikelaskan sebagai SULIT atau TERHAD.
Tesis dimaksudkan sebagai tesis bagi Ijazah Doktor Falsafah dan Sarjana secara penyelidikan, atau disertasi bagi pengajian secara kerja kursus dan penyelidikan, atau Laporan Project Sarjana Muda (PSM)
“Saya akui bahawa saya telah membaca karya ini dan pada pandangan saya karya ini
adalah memadai dari segi skop dan kualiti untuk tujuan penganugerahan Ijazah
Sarjana Muda Sains (Sains Komputer)”.
Tandatangan : …………………………
Nama Penyelia : DR. SUBARIAH IBRAHIM
Tarikh : 7 MEI 2008
APLIKASI KESELAMATAN MENGGUNAKAN KRITOGRAFI DAN ALGORITMA PENYAMARAN DAN PENYARINGAN
GAN TECK LENG
Tesis ini dikemukakan sebagai memenuhi syarat penganugerahan Ijazah Sarjana Muda Sains Komputer
Fakulti Sains Komputer dan Sistem Maklumat
Universiti Teknologi Malaysia
MEI, 2008
ii
“saya akui ini adalah hasil kerja saya sendiri kecuali nukilan dan ringkasan yang
tiap-tiap satunya telah saya jelaskan sumbernya.”
Tandatangan : …………………………
Nama Penulis :GAN TECK LENG
Tarikh :7 MEI 2008
iii
Untuk bapa, emak, kakak, adik sekeluarga,
Rakan-rakan yang memahami,
Para pensyarah yang jerih mendidik,
Mereka yang menceburi bidang keselamatan
Dan khas buat untuk semua pelajar
iv
PENGHARGAAN
Dengan mengambil kesempatan ini, saya ingin mengucapkan ribuan
penghargaan kepada penyelia saya, Dr.Subariah Binti Ibrahim atas segala pandangan,
nasihat serta perhatian yang beri sepanjang proses penyiapkan projek ini.
Perhargaan ini juga ditunjukkan kepada ahli keluarga dan rakan-rakan yang
sentiasa membantu dan tidak putus memberi dorongan kepada saya untuk
menyiapkan projek ini. Tanpa kalian semua, mungkin projek ini tidak dapat
disiapkan.
Akhirnya, saya juga ingin mengucapkan terima kasih kepada para pensyarah
Fakulti Sains Komputer dan Sistem Maklumat yang mengajar dan juga mereka yang
terlibat secara langsung mahupun tidak demi menjayakan penghasilan projek ini.
v
ABSTRAK
Pada zaman ini, internet dan sistem rangkaian semakin canggih. Dengan
adanya internet, pengguna komputer dapat berkomunikasi antara satu sama lain
dengan mudah. Selain itu, proses penghantaran fail juga menjadikan semakin
mudah dengan adanya internet. Selain membawa faedah kepada pengguna, internet
juga membawa masalah kepada pengguna. Dengan adanya kemudahan komunikasi
ini, internet menimbulkan masalah keselamatan informasi. Untuk mengatasi
masalah keselamatan data, teknik penyulitan dan pemyembunyian data digunakan
untuk memastikan data tidak dilihat atau diambil oleh pihak ketiga dengan tiada
aplikasi penyahsulitan yang betul. Aplikasi yang akan dibangunkan adalah
menggunakan dua teknik untuk melindungi fail iaitu teknik kriptografi dan teknik
steganografi. Ini adalah kerana, hanya menggunakan teknik kriptografi, data yang
hendak dilindungi akan menarik perhatian pihak ketiga untuk mencari jalan
penyahkodan untuk mendapat data tersebut. Oleh itu, steganografi diimplemenkan
dalam aplikasi ini supaya dapat menyembunyikan data. Selain itu, aplikasi ini juga
boleh menyulitkan pelbagai format data seperti fail image, audio dan teks. Matlamat
projek ini adalah melindungi data daripada dilihat, diguna, dan diubah oleh pihak
ketiga. Secara kesimpulannya, pembangunan applikasi ini harap boleh melindungi
data penting yang disimpan dan dihantar oleh orang ramai.
vi
ABSTRACT
Nowadays, the rapid development of internet promotes interactivity among
PC users worldwide. It is a way to communications and data transference. However,
this interconnectivity also creates data security and privacy issues. Data encryption
and hidden techniques can solve many data security issues by making encrypted data
virtually impossible to read without the proper decryption and retrieve tools.
However, most of the tools only support one type of technique to protect the file. To
solve this problem, this project developed an application, which can encrypt and
hide data by combining cryptography and steganography together. Beside that, it
also can encrypt some formats of data like video file, audio file and text file. The
main purpose of this project is to protect the data from unauthorized access, use, and
modification. In conclusion, the development of this application hopefully can
provide a more secure way for people to save and send their important data.
vii
KANDUNGAN
BAB PERKARA HALAMAN
JUDUL i
PENGAKUAN ii
DEDIKASI iii
PENGHARGAAN iv
ABSTRAK v
ABSTRACT vi
KANDUNGAN vii
SENARAI JADUAL xi
SENARAI RAJAH xii
SENARAI SINGKATAN xv
SENARAI ISTILAH xvi
SENARAI LAMPIRAN xvii
BAB 1 PENGENALAN
1.1 Pengenalan 1
1.2 Latarbelakang Masalah 2
1.3 Matlamat 3
1.4 Objektif 3
1.5 Skop Projek 4
1.6 Justifikasi/Kepentingan 4
viii
BAB 2 KAJIAN LITERATUR
2.1 Pengenalan 5
2.2 Kajian Tentang Sistem Sedia Ada 5
2.2.1 Steg Hide 6
2.2.2 Invisible Secret 4 7
2.2.3 Sistem Crypteks 9
2.3 Analisis Masalah Mengenai Sistem Sedia Ada 9
2.4 Kajian Ke Atas Teknik-teknik Dan Teknologi-
Teknologi 11
2.5 Kriptografi 11
2.5.1 Sistem Penyulitan 11
2.5.1.1 Sifer Simetrik 12
2.5.1.2 Sifer Tak Simetrik 13
2.5.2 Kajian Algoritma Penyulitan Bagi Fail Teks 14
2.5.2.1 DES 14
2.5.2.2 AES 16
2.5.2.3 Blowfish 19
2.5.2.4 TEA 20
2.5.3 Kajian Algoritma Penyulitan Bagi Fail Audio 21
2.5.4 Kajian Algoritma Penyulitan Bagi Fail Imej 22
2.6 Teknik Steganografi 22
2.6.1 Jenis Steganografi 23
2.6.2 Teknik Penyamaran Dan Penyaringan 25
2.7 Teknik Fungsi Cincang 26
2.7.1 Algoritma Secure Hash Algorithm(SHA) 27
2.8 Rumusan 27
BAB 3 METODOLOGI
3.1 Pengenalan 28
3.2 Metodologi Yang Digunakan 28
3.3 Justifikasi Pemilihan Metodologi 29
3.4 Metodologi Pembangunan Aplikasi 30
ix
3.4.1 Fasa Penyiasatan Awalan dan Perancangan 30
3.4.2 Fasa Analisa Aplikasi 31
3.4.3 Fasa Rekabentuk Aplikasi 32
3.4.4 Fasa Implementasi 33
3.5 Spesifikasi Sistem 33
3.5.1 Keperluan Perkakasan 33
3.5.2 Keperluan Perisian 34
3.5.3 Spesifikasi Input Dan Hasil Jangkaan 34
3.6 Kesimpulan 35
BAB 4 REKABENTUK SISTEM
4.1 Pengenalan 36
4.2 Rekabentuk Sistem 36
4.2.1 Permodelan Rajah Kes Guna 38
4.2.1.1 Aktor 39
4.2.1.2 Rajah Kes Guna 39
4.2.2 Gambarajah Jujukan 41
4.2.3 Gambarajah Aktiviti 42
4.3 Fasa Rekabentuk Aliran Kerja 43
4.4 Rekabentuk Antaramuka 44
4.5 Proses Pengekodan Fungsi-Fungsi Aplikasi 48
BAB 5 IMPLEMENTASI DAN PENGUJIAN
5.1 Pengenalan 49
5.2 Persekitaran Pembangunan 49
5.2.1 Pemasangan dan Konfigurasi Perisian Visual
C++ 6.0 49
5.3 Pembangunan Antara Muka Sistem 50
5.4 Pembangunan Pengaturcaraan Aplikasi 51
5.5 Ralat Mesej Semasa Memasukkan Input Tidak
x
Benar 58
5.5.1 Mesej Ralat Untuk Validasi Kekunci 58
5.5.2 Mesej Ralat Semasa Validasi Saiz Fail
Untuk Proses Penyembunyian 60
5.6 Pengujian 61
5.6.1 Pengujian Proses Penyulitan Dan
Penyahsulitan 61
5.6.2 Pengujian Proses Penyembunyian Dan
Pemulihan Fail 61
BAB 6 PERBINCANGAN DAN KESIMPULAN
6.1 Pendahuluan 77
6.2 Ringkasan Projek 77
6.3 Hasil dan Capaian Projek 79
6.4 Sumbangan Projek 80
6.5 Cadangan Kajian Lanjutan 80
6.5.1 Kelemahan Aplikasi 80
6.5.2 Cadangan Pembaikan/Peningkatan 81
6.6 Kesimpulan 81
SENARAI DOKUMEN RUJUKAN 82
LAMPIRAN A 84
LAMPIRAN B 87
LAMPIRAN C 96
LAMPIRAN D 101
LAMPIRAN E 103
LAMPIRAN F 113
xi
SENARAI JADUAL
NO. JADUAL TAJUK HALAMAN
2.1 Perbandingan Sistem Cadangan Dengan Sistem
Sedia Ada 10
3.1 Senarai Perkakasan Yang Diperlukan Untuk
Membangunkan Sistem. 33
4.1 Peranan Rajah Kes Guna 40
xii
SENARAI RAJAH
NO.RAJAH TAJUK HALAMAN
2.1 Antaramuka Steg-hide 7
2.2 Invisible Secrets 4 8
2.3 Antaramuka Cryptext 9
2.4 Sifer Simetrik 12
2.5 Sifer Tak Simetrik 13
2.6 Struktur DES 15
2.7 Transformasi SubBytes 17
2.8 Transformasi Shiftrows 18
2.9 Transformasi Mixcolumns 18
2.10 Transformasi Addroundkey 19
2.11 Struktur Fiestel Bagi Blowfish 20
2.12 Dua Pusingan Fiestel Bagi TEA 21
2.13 Frekuensi Penyamaran Di Dalam
Human Audiotory System(HAS) 26
3.1 Model Proses Metodologi Prototaip 29
4.1 Rekabentuk Sistem 37
4.2 Rekabentuk Senibina Sistem 37
4.3 Kes Guna 38
4.4 Fasa Rekabentuk Aliran Kerja 44
4.5 Menu Untuk Proses Penyulitan 45
4.6 Menu Untuk Proses Penyembunyian Dan Pemulihan 46
5.1 Antaramuka Antaramuka Proses Penyulitan
Dan Penyahsulitan 50
5.2 Antaramuka Proses Penyembunyian Dan Pemulihan 51
xiii
5.3 Contoh Sebahagian Kod Penyulitkan AES 52
5.4 Sebahagian Kod Aturcara Algoritma Blowfish 53
5.5 Contoh Sebahagian Kod Aturcara TEA 54
5.6 Contoh Sebahagian Kod Aturcara Menyembunyikan
Fail Ke Dalam Fail Wave 55
5.7 Contoh Sebahagian Kod Aturcara Menyembunyikan
Fail Ke dalam Fail Teks 56
5.8 Contoh Sebahagian Kod Aturcara Menyembunyikan
Fail Ke Dalam Fail Bitmap 57
5.9 Mesej Ralat Bagi Kesalahan Katakunci 58
5.10 Mesej Ralat Semasa Tidak Memasukkan Katakunci 59
5.11 Ralat Semasa Memasukkan Katakunci Kali Kedua 59
5.12 Mesej Ralat Apabila Fail Yang Hendak Disembunyikan
Terlalu Besar 60
5.13 Perbandingan Fail Sebelum dan Selepas Proses
Penyembunyian 62
5.14 Perbandingan Fail Teks Asal Dengan Fail Teks
Yang Melindungi Fail Teks 63
5.15 Perbandingan Peyembunyian Fail Imej Ke Dalam Fail
Teks 64
5.16 Perbandingan Penyembunyian Fail Bunyi Ke Dalam
Fail Teks 66
5.17 Perbandingan Penyembunyian Mesej Ke Dalam
Fail Imej 69
5.18 Perbandingan Penyembunyian Fail Teks Ke Dalam
Fail Imej 70
5.19 Perbandingan Penyembunyian Fail Imej Ke Dalam
Fail Imej 72
5.20 Perbandingan Fail Imej Penyembunyian Fail Bunyi 73
5.21 Perbandingan Penyembunyian Fail Penyulitan Ke
Dalam Fail Imej 75
xiv
SENARAI SINGKATAN
AES - Advanced Encryption Standard
BMP - Bitmap
DES - Data Encryption Standard
ECKBA - Enhanced Chaostic Key-Based Algorithm
HAS - Human Auditory System
JPEG - Joint Photographic Expert Group
LSB - Least Significant Bits
RSA - Ron Rivest, Adi Shamir dan Len Adleman
RC5 - Rivest Code 5
TEA - Tiny Encryption Standard
xv
SENARAI ISTILAH
Kriptografi - Cryptography
Penyahsulitan - Decrypt
Penyulitan - Encrypt
Penyembunyian - Hidden
Pemulihan - Retrieve
Simetri - Symmetric
Steganografi - Steganography
Tak Simetri - Asymmetric
Teks - Text
xvi
SENARAI LAMPIRAN
LAMPIRAN TAJUK HALAMAN
LAMPIRAN A Carta Gantt Projek 1 Dan Carta Gantt Projek 2 84
LAMPIRAN B Rajah Jujukan Dan Rajah Kerjasama 87
LAMPIRAN C Rajah Aktiviti 96
LAMPIRAN D Soalan-Soalan Temuduga 101
LAMPIRAN E Laporan Kes Pengujian 103
LAMPIRAN F Manual Pengguna 113
BAB 1
PENGENALAN
1.1 Pengenalan
Pada zaman ini, revolusi digital dan kemajuan teknologi komputer membaw
perubahan yang besar kepada kehidupan masyarakat. Dengan adanya komputer,
kebanyakan kerja dapat diselesaikan dengan pantas dan segala data dapat disimpan
dalam format digital. Data digital membolehkan data dihantar dan dikongsi dengan
mudah. Walaupun, komputer membawa banyak faedah kepada pengguna tetapi
komputer juga membawa masalah keselamatan komputer kepada pengguna seperti
Trojan, Virus, dan Worm. Masalah keselamatan komputer ini membolehkan orang
ramai mengetahui kepentingan keselamatan komputer.
Keselamatan data adalah salah satu bahagian daripada keselamatan komput
yang dibimbangi orang ramai. Ini adalah kerana, semua orang tidak mengingini
rahsia mereka diketahui oleh orang lain. Dengan adanya teknik penyulitan dan
penyembunyian data, kita boleh menangani masalah keselamatan data dengan
menyulitkan dan menyembunyikan data supaya tidak dilihat atau dibaca oleh orang
yang tidak berhak untuk melihatkan data tersebut.
Keselamatan data adalah penting, ini dapat dilihatkan daripada pihak
berkuasa sesebuah negara sentiasa mencari penyelesaian untuk melindungi data
rahsia seperti maklumat tentera dan maklumat kewangan. Sekiranya maklumat
1
a
:
er
2
tersebut diketahui oleh pihak ketiga akan menyebabkan masalah yang besar terhadap
sesebuah negara. Selain itu, peniaga juga perlu melindungi maklumat rahsia seperti
maklumat pekerja, maklumat pembeli dan lain-lain lagi. Kebanyakan maklumat ini
disimpan dan diproses dalam komputer dan dihantarkan kepada komputer lain
melalui rangkaian komputer (21). Sekiranya maklumat yang rahsia ini diketahui
oleh pesaing akan menyebabkan perniaga tersebut mendapat kesan buruk seperti
hilang daya bersaing. Oleh itu, melindungi maklumat rahsia adalah keperluan
perniagaaan. Bagi orang ramai, teknik penyulitan dan penyembunyian digunakan
untuk melindungi data rahsia mereka.
Dalam projek ini, suatu aplikasi keselamatan dengan konsep kriptografi dan
steganografi dicadangkan untuk melindungi data. Teknik kriptografi adalah
digunakan untuk menyulitkan data supaya tidak dapat dibaca oleh orang lain. Bagi
teknik steganografi pula, adalah digunakan untuk menyembunyikan data ke dalam
fail lain supaya orang lain tidak dapat mengetahui kewujudan fail tersebut. Alasan
mengimplemenkan dua teknik dalam aplikasi ini adalah kerana dengan hanya
menggunakan kriptografi akan menarik perhatian orang lain untuk mengetahui
kandungan fail tersebut. Oleh itu, dengan menggunakan teknik steganografi, fail
yang telah disulit dapat disembunyikan ke dalam fail lain supaya tidak menarik
perhatian orang lain.
Secara kesimpulannya, aplikasi yang akan dibangunkan di akhir projek ini
adalah dibangunkan dengan konsep kriptografi dan steganografi untuk memberi
perlindungan kepada data supaya tidak diketahui oleh pihak ketiga.
1.2 Latarbelakang Masalah
Penghantaran fail melalui rangkaian komputer menghadapi pelbagai
ancaman keselamatan (1). Ini akan mengurangkan tahap rahsia sesuatu data apabila
dihantarkan melalui rangkaian komputer kerana data tersebut boleh diambil atau
diketahui oleh orang lain semasa hantaran data sebab data tersebut akan melalui
3
banyak komputer semasa hantar melalui internet. Apabila data tersebut jatuh pada
orang yang tidak bertanggugjawab akan membawa kesan yang buruk kepada sesiapa
yang menghantarkan dan menerima data tersebut. Untuk mengatasi masalah ini,
aplikasi ini mengabungkan dua teknik iaitu kriptografi dan steganografi untuk
melindungi data daripada diperoleh oleh pihak ketiga.
Selain itu, banyak aplikasi keselamatan yang terdapat di pasaran hanya
menyokong sejenis format data (9). Dengan mengambil berat faktor ini, projek ini
akan menghasilkan satu aplikasi yang menyokong pelbagai format data seperti fail
teks, fail imej, dan fail audio.
Dalam aplikasi ini, dua teknik digunakan untuk melindungi data iaitu
kriptografi dan steganografi. Kalau kita hanya menyulitkan data dengan teknik
kriptografi, ini akan menarik perhatian orang lain untuk mengetahui kandungan fail
tersebut (10). Oleh itu, aplikasi ini menyembunyikan data dengan teknik
steganografi selepas menyulitkan data dengan teknik kriptografi supaya data yang
disembunyikan dengan aplikasi ini tidak menarik perhatian orang lain. Selain itu,
untuk memudahkan pengguna menggunakan aplikasi ini. Proses penyembunyian
dan penyulitan dapat dijalankan secara berasingan.
1.3 Matlamat
Matlamat bagi projek ini adalah membangunkan suatu aplikasi yang boleh
melindungi keselamatan data dengan menggunakan konsep kriptografi dan
steganografi.
1.4 Objektif
Objektif-objektif bagi projek ini adalah:
4
1. Mengkaji kriptografi dengan teliti untuk mencari algoritma yang sesuai
untuk melindungi keselamatan data.
2. Mengkaji teknologi steganografi untuk menyembunyikan data ke dalam
data lain.
3. Membangunkan satu modul yang boleh melindungi keselamatan data
dengan menggunakan teknik kriptografi dan steganografi.
4. Melaksanakan pengujian terhadap keberkesanan aplikasi.
1.5 Skop Projek
Skop-skop projek adalah:
1. Beberapa algoritma kriptografi dikaji iaitu AES, DES, Blowfish dan
TEA.
2. Dua algoritma steganografi dikaji iaitu LSB dan penyamaran dan
penyaringan.
3. Tiga jenis fail dikaji iaitu imej, teks dan bunyi.
4. Aplikasi ini boleh digunakan dalam sistem pengoperasian window XP.
1.6 Justifikasi/ Kepentingan
Projek ini dibangunkan untuk melindungi data yang penting daripada dibaca
oleh orang lain apabila dihantar melalui rangkaian komputer atau disimpan dalam
komputer. Pengguna yang akan mendapat faedah daripada aplikasi ini adalah
sesiapa yang bekerja di syarikat kecil. Dengan adanya aplikasi ini, pengguna tidak
perlu membimbangkan data rahsia dilihat atau diambil oleh orang lain. Selain itu,
aplikasi ini memudahkan pengguna dengan membolehkan pengguna memilih proses
yang hendak dijalankan sama ada proses penyulitan atau proses penyembunyian.
Recommended