16
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

HALAMAN JUDUL IMPLEMENTASI MAC DAN RC6 UNTUK …eprints.undip.ac.id/59665/1/TA_J2F007042_1_bab1.pdf · Seiring dengan ilmu pengetahuan dan teknologi yang semakin berkembang, keamanan

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.

4

BAB V PENUTUP

Dalam bab ini berisi kesimpulan yang diambil berkaitan dengan sistem

yang dibangun dan saran untuk pengembangan lebih lanjut.