Upload
doanngoc
View
219
Download
0
Embed Size (px)
Citation preview
HALAMAN JUDUL IMPLEMENTASI MAC DAN RC6 UNTUK MENDETEKSI
PERUBAHAN FILE PADA PROSES DUPLIKASI FILE
SKRIPSI
Disusun Sebagai Salah Satu Syarat
Untuk Memperoleh Gelar Sarjana Komputer
Pada Jurusan Ilmu Komputer / Informatika
Disusun Oleh:
RACHMAN MULIAWAN DERMAWAN
J2F007042
JURUSAN ILMU KOMPUTER / INFORMATIKA
FAKULTAS SAINS DAN MATEMATIKA
UNIVERSITAS DIPONEGORO
2014
ii
HALAMAN PERNYATAAN KEASLIAN SKRIPSI
Saya yang bertanda tangan di bawah ini :
Nama : Rachman Muliawan Dermawan
NIM : J2F007042
Judul : Implementasi MAC dan RC6 Untuk Mendeteksi Perubahan File Pada Proses
Duplikasi File
Dengan ini saya menyatakan bahwa dalam tugas akhir/ skripsi ini tidak terdapat karya yang
pernah diajukan untuk memperoleh gelar kesarjanaan di suatu Perguruan Tinggi, dan
sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis atau
diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan
disebutkan di dalam daftar pustaka.
iii
HALAMAN PENGESAHAN
Judul : Implementasi MAC dan RC6 Untuk Mendeteksi Perubahan File Pada
Proses Duplikasi File
Nama : Rachman Muliawan Dermawan
NIM : J2F007042
Telah diujikan pada sidang tugas akhir pada tanggal 29 Agustus 2014 dan dinyatakan lulus
pada tanggal 29 Agustus 2014
iv
HALAMAN PENGESAHAN
Judul : Implementasi MAC dan RC6 Untuk Mendeteksi Perubahan File Pada
Proses Duplikasi File
Nama : Rachman Muliawan Dermawan
NIM : J2F007042
Telah diujikan pada sidang tugas akhir pada tanggal 29 Agustus 2014.
v
ABSTRAK
Seiring dengan ilmu pengetahuan dan teknologi yang semakin berkembang, keamanan data
juga semakin rentan terhadap tindak kejahatan. Kejahatan yang ada memiliki banyak tipe
yang beragam, dimulai dari pemalsuan data, duplikasi data tanpa seijin pemilik, serta
pemalsuan hak milik. Perlu adanya teknik yang mampu memeriksa terjadinya perubahan
dalam proses duplikasi. Dalam ilmu kriptografi terdapat suatu mekanisme untuk memeriksa
integritas terhadap sebuah file, yaitu dengan teknik MAC (Message Authentication Code).
MAC menghasilkan sebuah nilai unik yang dapat diperoleh dari file yang selanjutnya
disisipkan ke dalam file tersebut sebelum diduplikasi. Pendeteksian perubahan dilakukan
dengan membandingkan MAC yang telah disisipkan dengan MAC hasil generasi dari
potongan file tanpa MAC. MAC dapat diimplementasikan dengan menggunakan fungsi
kriptografi hash SHA-1 dan algoritma kriptografi RC6. SHA-1 digunakan untuk
mengenerate kunci sebelum menghasilkan nilai MAC. RC6 digunakan untuk mengacak nilai
MAC sebelum disisipkan dengan tujuan untuk meningkatkan keamanan. Hasil penerapan
dapat berupa file yang telah disisipi MAC yang terenkripsi algoritma kriptografi RC6 dan
dapat pula informasi jika file tetap atau mengalami perubahan.
Kata kunci: Kriptografi, MAC, SHA-1, RC6
vi
ABSTRACT
Along with science and technology growth, data security is also increasingly vulnerable to
crime. The evil that is in possession of many types of variety, starting from the forgery of
data, data duplication without owners permissions, and forgery of ownership. There should
be a technique that capable of examining the occurrence of changes in the duplication
process. In the cryptography, there is a mechanism for checking the integrity of a file, which
is using MAC (Message Authentication Code). MAC produces an unique value that can be
obtained from the file further embedded into the file before duplicated. Authenticity
checking is done by comparing the MAC has been embedded into file with MAC revenue
generation from the part of file without MAC. MAC can be implemented by using a
cryptographic hash function SHA-1 and cryptographic algorithms RC6. SHA-1 is used to
generate key before getting MAC value. RC6 is used to randomize the MAC before
embedded in order to improve security. The results of the application can be a file that have
been inserted MAC encrypted with RC6 algorithms and also if file has been modified or not.
Keywords: Cryptography, MAC, SHA-1, RC6
vii
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat
dan hidayah-Nya sehingga penulis dapat menyusun tugas akhir yang berjudul
“Implementasi MAC dan RC6 Untuk Mendeteksi Perubahan File Pada Proses
Duplikasi File”
Tugas akhir ini disusun sebagai salah satu syarat untuk memperoleh gelar sarjana
strata satu pada Jurusan Ilmu Komputer / Informatika Fakultas Sains Dan Matematika
Universitas Diponegoro Semarang.
Dalam penyusunan tugas akhir ini, penulis mendapat bantuan dan dukungan dari
banyak pihak. Atas peran sertanya dalam membantu dalam penyelesaian tugas akhir ini,
penulis ingin mengucapkan terima kasih kepada:
1. Bapak Dr. Muhammad Nur, DEA selaku Dekan Fakultas Sains dan Matematika
Universitas Diponegoro.
2. Bapak Nurdin Bahtiar, S.Si, M.T Ketua Jurusan Ilmu Komputer / Informatika
Fakultas Sains dan Matematika Universitas Diponegoro.
3. Bapak Drs. Suhartono, M.Kom selaku pembimbing I beserta bapak Ragil Saputra,
S.Si, M.Cs selaku pembimbing II yang telah meluangkan waktu untuk membimbing
dan mengarahkan Penulis dalam menyelesaikan tugas akhir ini.
4. Semua pihak yang telah membantu hingga selesainya tugas akhir ini, yang tidak
dapat penulis sebutkan satu persatu. Semoga Allah membalas segala kebaikan yang
telah Anda berikan kepada penulis.
Penulis menyadari bahwa masih terdapat kekurangan dalam penyusunan laporan
tugas akhir ini, untuk itu penulis mohon maaf dan mengharapkan saran serta kritik yang
membangun dari pembaca. Semoga laporan tugas akhir ini dapat bermanfaat bagi
pengembangan ilmu dan pengetahuan, khususnya pada bidang Informatika.
Semarang, 29 Agustus 2014
Penulis
viii
DAFTAR ISI
Hal
HALAMAN JUDUL ........................................................................................................ i
HALAMAN PERNYATAAN KEASLIAN SKRIPSI..................................................... ii
HALAMAN PENGESAHAN .......................................................................................... iii
HALAMAN PENGESAHAN .......................................................................................... iv
ABSTRAK ....................................................................................................................... v
ABSTRACT ..................................................................................................................... vi
KATA PENGANTAR ...................................................................................................... vii
DAFTAR ISI .................................................................................................................... viii
DAFTAR GAMBAR ....................................................................................................... xi
DAFTAR TABEL ............................................................................................................ xii
BAB I PENDAHULUAN ........................................................................................... 1
1.1. Latar Belakang .......................................................................................... 1
1.2. Rumusan Masalah ..................................................................................... 2
1.3. Tujuan dan Manfaat .................................................................................. 2
1.4. Ruang Lingkup .......................................................................................... 2
1.5. Sistematika Penulisan ............................................................................... 3
BAB II LANDASAN TEORI ....................................................................................... 5
2.1. Kriptografi ................................................................................................. 5
2.2. MAC (Message Authentication Code) ...................................................... 6
2.3. SHA-1 ....................................................................................................... 7
2.3.1. Preprocessing ................................................................................. 8
2.3.2. Komputasi ....................................................................................... 9
2.4. RC6 ........................................................................................................... 11
2.4.1. Algoritma Enkripsi RC6 ................................................................. 13
2.4.2. Algoritma Dekripsi RC6 ................................................................ 14
2.4.3. Penjadwalan Kunci Internal ........................................................... 15
2.5. Proses Pengembangan Perangkat Lunak ................................................... 17
2.6. Konsep Analisis dan Perancangan Sistem ................................................ 19
2.6.1. Software Requirement Specification .............................................. 19
2.6.2. Pemodelan Context ......................................................................... 20
ix
BAB III ANALISIS DAN PERANCANGAN .............................................................. 22
3.1. Analisis Kebutuhan ................................................................................... 22
3.1.1. Software Requirement Spesification (SRS) .................................... 22
3.2. Pemodelan Fungsional .............................................................................. 23
3.2.1. Data Context Diagram ................................................................... 23
3.2.2. Data Flow Diagram ....................................................................... 24
3.3. Perancangan Antarmuka ........................................................................... 25
3.3.1. Perancangan Antarmuka Menanamkan MAC ................................ 25
3.3.2. Perancangan Antarmuka Mencocokkan MAC ............................... 26
3.4. Perancangan Proses Aplikasi SDT ............................................................ 26
3.4.1. Perancangan Proses Penanaman MAC ........................................... 27
3.4.2. Perancangan Proses Pencocokan MAC .......................................... 27
3.4.3. Perancangan Proses Pembangkitan kunci RC6 .............................. 28
3.4.4. Perancangan Proses Enkripsi RC6 ................................................. 29
3.4.5. Perancangan Proses Dekripsi RC6 ................................................. 30
3.4.6. Perancangan Proses Pembangkitan SHA-1 .................................... 31
3.4.7. Perancangan Proses Pembangkitan MAC ...................................... 32
BAB IV IMPLEMENTASI DAN PENGUJIAN ........................................................... 34
4.1. Implementasi ............................................................................................. 34
4.1.1. Spesifikasi Perangkat ..................................................................... 34
4.1.2. Implementasi Antarmuka ............................................................... 34
4.1.2.1. Implementasi Antarmuka Menanamkan MAC ................. 34
4.1.2.2. Implementasi Antarmuka Mencocokkan MAC ................ 35
4.1.3. Implementasi Fungsi ...................................................................... 36
4.1.3.1. Implementasi Algoritma RC6 ........................................... 36
4.1.3.2. Implementasi Penanaman MAC ....................................... 37
4.1.3.3. Implementasi Pencocokan MAC ...................................... 37
4.1.3.4. Implementasi Algoritma MAC dan SHA-1 ...................... 37
4.2. Pengujian ................................................................................................... 37
4.2.1. Lingkungan Pengujian .................................................................... 37
4.2.2. Rencana Pengujian ......................................................................... 37
4.2.3. Pelaksanaan Pengujian ................................................................... 38
4.2.3.1. Menanamkan MAC ........................................................... 38
x
4.2.3.2. Mencocokkan MAC .......................................................... 39
4.2.4. Analisis Hasil Pengujian ................................................................. 40
BAB V PENUTUP ....................................................................................................... 41
5.1. Kesimpulan ............................................................................................... 41
5.2. Saran .......................................................................................................... 41
DAFTAR PUSTAKA ....................................................................................................... 42
Lampiran 1. Implementasi RC6 ....................................................................................... 43
Lampiran 2. Implementasi Penanaman MAC .................................................................. 45
Lampiran 3. Implementasi Pencocokan MAC ................................................................. 46
Lampiran 4. Implementasi MAC dan SHA-1 .................................................................. 48
xi
DAFTAR GAMBAR
Hal
Gambar 2.1. Sistem kriptografi ........................................................................................ 5
Gambar 2.2. Autentikasi pesan menggunakan MAC berbasis hash ................................. 6
Gambar 2.3. Skema fungsi hash satu arah ........................................................................ 7
Gambar 2.4. Diagram level tinggi dari SHA-1 ................................................................ 8
Gambar 2.5. Ilustrasi padding pada pesan x ..................................................................... 8
Gambar 2.6. Putaran ke j dalam tahapan t dari SHA-1 .................................................... 9
Gambar 2.7. Skema perputaran dari fungsi SHA-1 .......................................................... 10
Gambar 2.8. Proses Enkripsi Algoritma RC6 .................................................................. 14
Gambar 2.9. Proses Dekripsi Algoritma RC6 .................................................................. 15
Gambar 2.10. Model Waterfall ......................................................................................... 18
Gambar 3.1. DCD Aplikasi SDT ...................................................................................... 23
Gambar 3.2. DFD Level 1 Aplikasi SDT ......................................................................... 24
Gambar 3.3. Rancangan tampilan Menanamkan MAC ................................................... 25
Gambar 3.4. Rancangan tampilan Mecocokkan MAC ..................................................... 26
Gambar 3.5. Diagram proses penanaman MAC ............................................................... 27
Gambar 3.6. Diagram proses pencocokan MAC .............................................................. 28
Gambar 3.7. Diagram proses pembangkitan kunci .......................................................... 29
Gambar 3.8. Diagram proses enkripsi RC6 ...................................................................... 30
Gambar 3.9. Diagram proses dekripsi RC6 ...................................................................... 31
Gambar 3.10. Proses pembangkitan SHA-1 ..................................................................... 32
Gambar 3.11. Proses pembangkitan MAC ....................................................................... 33
Gambar 4.1. Tampilan Menanamkan MAC ..................................................................... 35
Gambar 4.2. Tampilan Mencocokkan MAC .................................................................... 36
Gambar 4.3. Potongan byte Introducing Qt 5.3.mp4 ........................................................ 39
Gambar 4.4. Potongan byte copy_of_Introducing Qt 5.3.mp4 ........................................ 39
xii
DAFTAR TABEL
Hal
Tabel 2.1. Fungsi dan Konstanta pada perputaran SHA-1 ............................................... 11
Tabel 2.2. Operasi RC6 .................................................................................................... 12
Tabel 2.3. Tabel Format SRS ........................................................................................... 20
Tabel 2.4. Komponen Pemodelan Context ....................................................................... 20
Tabel 3.1. SRS Aplikasi SDT ........................................................................................... 23
Tabel 4.1. Tabel Rincian File Dan Kunci Masukan ......................................................... 38
Tabel 4.2. Hasil Pengujian Penanaman MAC .................................................................. 38
Tabel 4.3. Hasil Pengujian Pencocokkan MAC ............................................................... 39
1
BAB I
PENDAHULUAN
Bab ini membahas latar belakang, rumusan masalah, tujuan dan manfaat, ruang
lingkup, serta sistematika penulisan laporan tugas akhir mengenai Implementasi MAC dan
RC6 Untuk Mendeteksi Perubahan File Pada Proses Duplikasi File.
1.1. Latar Belakang
Seiring dengan ilmu pengetahuan dan teknologi yang semakin berkembang,
keamanan data juga semakin rentan terhadap tindak kejahatan. Kejahatan yang ada
memiliki banyak tipe yang beragam, dimulai dari pemalsuan data, duplikasi data tanpa
seijin pemilik, serta pemalsuan hak milik (Pradana, 2011). Perlu adanya teknik yang
mampu memeriksa terjadinya perubahan dalam proses duplikasi. Kriptografi dapat
menjadi salah satu solusi dalam mengatasi masalah jika terjadi perubahan pada file
saat proses duplikasi.
Kriptografi adalah ilmu menggunakan matematika untuk mengenkripsi dan
mendekripsi data. Kriptografi memungkinkan untuk menyimpan informasi sensitif
atau mengirimkannya melalui jaringan yang tidak aman (seperti internet) sehingga
tidak dapat dibaca oleh siapa pun kecuali penerima yang dimaksud. Jika kriptografi
adalah ilmu mengamankan data, kriptanalis adalah ilmu menganalisis dan
memecahkan komunikasi yang aman. Kriptanalisis klasik melibatkan kombinasi
menarik dari penalaran analitis, penerapan alat-alat matematika, pola temuan,
kesabaran, tekad, dan keberuntungan. Kriptanalis juga disebut penyerang. Kriptologi
mencakup baik kriptografi dan kriptanalis. (Zimmermann, 1998)
Dalam banyak pandangan, privasi seringkali identik dengan kriptografi. Akan
tetapi otentikasi pesan dapat pula dikatakan lebih penting. Terkadang seseorang tidak
peduli mengenai kerahasiaan sebuah pesan namun seringkali perlu adanya kepastian
mengenai asal ataupun keaslian dari pesan tersebut. Otentikasi pesan mampu
memberikan jaminan akan hal itu. (Bellare & Rogaway, 2005).
MAC (Message Authentication Code) adalah potongan pendek dari informasi
yang digunakan untuk otentikasi pesan dan untuk menyediakan integritas dan jaminan
keaslian pada pesan tersebut. MAC juga dikenal sebagai kriptografi checksum atau
fungsi hash berkunci, sering digunakan dalam berbagai kegiatan. Dalam hal
2
keamanan, MAC mempunyai beberapa kesamaan sifat dengan tanda tangan digital
(digital signature) mengingat keduanya menyediakan integritas pesan dan otentikasi
pesan. Namun tidak seperti tanda tangan digital, MAC merupakan skema kunci
simetris dan tidak mendukung nonrepudation. Salah satu kelebihan dari MAC adalah
proses berjalan lebih cepat dibandingkan dengan tanda tangan digital mengingat MAC
dapat berbasis chiper blok ataupun fungsi hash (Paar & Pelz, 2010). Salah satu cara
untuk membangkitkan MAC yaitu dengan menggunakan fungsi hash SHA-1
Untuk memperkuat keamanannya, dapat pula dilakukan enkripsi lebih lanjut,
salah satunya dengan algoritma RC6. RC6 merupakan pilihan ideal untuk kebanyakan
aplikasi dengan keamanan dan kinerja tingkat tinggi. RC6 berfokus pada antisipasi
serangan dari penggunaan kriptanalisis lanjar dan kriptanalisis diferensial, serta
serangan dalam bentuk lain. Algoritma ini berproses lebih cepat dibandingkan dengan
algoritma Rinjdael yang merupakan standar AES.
Pada penelitian ini akan diteliti bagaimana implementasi MAC dan RC6
sehingga dapat digunakan untuk mendeteksi jika terjadi perubahan pada file pada saat
proses duplikasi.
1.2. Rumusan Masalah
Berdasarkan latar belakang di atas dapat dirumuskan permasalahan yang akan
diselesaikan yaitu bagaimana mengimplementasikan MAC dan RC6 untuk mendeteksi
jika terjadi perubahan pada file pada saat proses duplikasi.
1.3. Tujuan dan Manfaat
Tujuan yang ingin dicapai dalam penelitian ini adalah menghasilkan sebuah
aplikasi yang dapat mendeteksi jika terjadi perubahan pada file pada saat proses
duplikasi melalui hasil implementasi MAC dan RC6.
Adapun manfaat yang diharapkan dari penelitian ini adalah memahami kinerja
MAC dan RC6, serta pengguna sebagai penerima data dapat mewaspadai tindakan
kejahatan yang mungkin saat proses duplikasi berlangsung hingga file sampai ke
penerima.
1.4. Ruang Lingkup
Dalam penyusunan penelitian ini, diberikan ruang lingkup yang jelas agar
pembahasan lebih terarah dan tidak menyimpang dari tujuan penulisan. Ruang lingkup
3
implementasi MAC dan RC6 untuk mendeteksi perubahan file pada proses duplikasi
file adalah sebagai berikut :
1. Input berupa kunci beserta file yang akan ditanamkan MAC atau file yang akan
dicek jika terjadi perubahan ataupun tidak. Panjang kunci tidak lebih dari 16
karakter
2. Membangkitkan nilai MAC menggunakan SHA-1 digunakan untuk
membangkitkan nilai hash dari file
3. Mengenkripsi nilai MAC menggunakan algoritma RC6 saat proses penanaman
atau mendekripsi nilai MAC terenkripsi yang tertanam dalam file saat proses
pencocokan.
4. Mengimplementasi penelitian ini menggunakan bahasa pemrograman C++.
5. Output berupa file yang telah tertanam MAC atau notifikasi jika terjadi perubahan
pada file
6. Proses pertukaran kunci tidak diatur dalam sistem
1.5. Sistematika Penulisan
Sistematika penulisan yang digunakan dalam laporan tugas akhir ini terbagi
menjadi beberapa pokok bahasan, yaitu:
BAB I PENDAHULUAN
Dalam bab ini dituliskan pembahasan mengenai latar belakang masalah,
perumusan masalah, tujuan dan manfaat, ruang lingkup, serta sistematika
penulisan laporan tugas akhir
BAB II LANDASAN TEORI
Dalam bab ini dijelaskan dasar teori, landasan, cara pandang, dan metode-
metode yang telah ada dan digunakan yang berhubungan dengan laporan
tugas akhir yang telah diuji kebenarannya.
BAB III ANALISIS DAN PERANCANGAN
Dalam bab ini dibahas proses pengembangan sistem pada tahap definisi
kebutuhan, analisis dan perancangan, dengan hasilnya berupa desain dan
rancangan sistem yang akan dikembangkan.
BAB IV IMPLEMENTASI DAN PENGUJIAN
Dalam bab ini dibahas hasil pengembangan sistem pada tahap
implementasi dan menerangkan rincian pengujian sistem.