RANCANG BANGUN APLIKASI FILECRYPTOR UNTUK ENRKIPSI FILE DENGAN METODE AES-128
TUGAS AKHIR
Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Teknik Pada Jurusan Teknik Informatika
Oleh :
MOCH IKHSAN AFANDI 10751000209
FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAU PEKANBARU 2014
LEMBAR PERSETUJUAN
RANCANG BANGUN APLIKASI FILECRYPTOR UNTUK ENRKIPSI FILE DENGAN METODE AES-128
TUGAS AKHIR Oleh: MOCH IKHSAN AFANDI 10751000209 Telah diperiksa dan disetujui sebagai laporan tugas akhir di Pekanbaru, pada tanggal 3 Februari 2014
Pekanbaru 3 Februari 2014 Disetujui
Pembimbing
Benny Sukma Negara, ST, M.T NIP. 198 20313 200901 1 009
ii
LEMBAR PENGESAHAN RANCANG BANGUN APLIKASI FILECRYPTOR UNTUK ENRKIPSI FILE DENGAN METODE AES-128
TUGAS AKHIR Oleh :
MOCH. IKHSAN AFANDI 10751000209 Telah dipertahankan di depan sidang dewan penguji Sebagai salah satu syarat untuk memperoleh gelar sarjana Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau Di Pekanbaru, pada tanggal, 28 Januari 2014 Pekanbaru, 3 Februari 2014 Mengesahkan, Dekan
Ketua Jurusan
Dra. Hj. Yenita Morena, M.Si NIP. 19601125 198503 2 002
Elin Haerani, ST, M.Kom NIP. 19810523 200710 2 003
DEWAN PENGUJI Ketua
: DR. Okfalisa, ST., M.Sc
Sekretaris I
: Benny S. Negara, ST., M.T
Anggota I
: Nazruddin Safaat, ST., M.T
Anggota II
: Surya Agustian, ST., M.Kom
iii
RANCANG BANGUN APLIKASI FILECRYPTOR UNTUK ENKRIPSI FILE DENGAN METODE AES-128 MOCH IKHSAN AFANDI NIM: 10751000209 Oktober 2012 Jurusan Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau
ABSTRAK Keamanan dalam menyimpan file merupakan suatu hak privasi seseorang. Perkembangan teknologi smartphone dengan sistem operasi Android yang memungkinkan pengguna untuk menyimpan berbagai jenis file baik yang bersifat publik sampai sensitif. Enkripsi merupakan salah satu cara untuk mengamankan file tersebut. Dengan menggunakan AES-128 (Advance Encryption Standard) pada mobile device untuk mengamankan file. Perancangan aplikasi enkripsi menggunakan algoritma AES-128, dengan mengkonversi file menjadi bentuk biner dan byte lalu dilakukan proses enkripsi dengan algoritma AES-128 dalam proses ini disertai fungsi hash untuk menjaga integritas data sehingga aplikasi mengetahui pada saat dekripsi kemungkinan file yang telah dienkripsi mengalami perubahan atau tidak, aplikasi yang dirancang dilengkapi dengan fitur pengiriman password kepada email yaitu dengan memanfaatkan sistem pengiriman email SMTP digunakan sebagai mail server yang mampu mengirimkan email secara otomatis kepada email pengguna dengan protocol IMAP. Pengujian dilakukan meliputi komponen interface, kompatibilitas sistem operasi, integritas data dan keamanan sistem pengiriman email. Hasil pengujian memperlihatkan bahwa AES memiliki kecepatan hingga 1mb perdetik untuk enkripsi, penambahan ukuran file sesuai dengan panjang kunci, perbaikan threading proses sistem operasi, aplikasi mengetahui ketika file enkripsi mengalami perubahan dikarenakan hash file tidak sama, serta kelemahan sistem pengiriman email yaitu password dapat di ketahui oleh program sniffing. Kata kunci: Advanced Encryption Standard (AES),Enkripsi, SMTP, IMAP, File, Android, Mobile Device.
vii
Application Development FILECRYPTOR File Encryption Using AES-128 Algorithm MOCH IKHSAN AFANDI NIM: 10751000209
Informatics Engineering Departement Faculty of Sciences and Technology State Islamic University of Sultan Syarif Kasim Riau
ABSTRACT Securing file are users private right. Technology advancement on Smartphone under Android Operating System allows users to save various file whether private or shared. Encryption can be used as tool to securing those files, by using AES-128 (Advanced Encryption Standard) as encryption algorithm in mobile device application. AES is cryptography algorithm that has several advantages such as speed processing and a standard since 2001. Application developed using AES-128, by converting file into stream bits and byte then processed by AES-128 algorithm, the running process of encryption is combined with hash function to keep data integrity so then application knows whether the encrypted file has been tempered, application has an additional feature, it can sent password to users email by using SMTP mail server that capable to sent email automatically with IMAP protocol. Under device testing include interface, operating system compatibility, data integrity and email sending system, AES-128 shows a significant encryption speed up to 1 mb per second and adding file size as an effect of key length range about 40kb to 50 kb, threading improvement had been made for system operation, the application detects if encrypted file had been tempered because of different hash result, and show weakness of email sending system where password can be retrieved by sniffing program. Keywordsi:
Advanced Encryption Standard (AES), Encryption, SMTP, IMAP, File, Android, Mobile Device.
viii
KATA PENGANTAR Alhamdulillaahi Robbil’alamin, syukurkepada Allah SWT atas segala limpahan rahmat dan karunia-Nya yang diberikan sehingga penulis sehingga dapat menyelesaikan penelitian sekaligus penulisan laporan tugas akhir ini. Sholawat kepada Nabi Muhammad SAW sebagai teladan bagi umat manusia. Laporan tugas akhir ini merupakan salah satu prasyarat untuk memenuhi persyaratan akademis dalam rangka meraih gelar kesarjanaan di Jurusan Teknik Informatika, Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau (UIN SUSKA Riau). Selama menyelesaikan tugas akhir ini, penulis telah banyak mendapatkan bantuan, bimbinganserta petunjuk dari banyak pihak baik secara langsung maupun tidak langsung. Untuk itu dalam kesempatan ini penulis ingin mengucapkan terimakasih yang sebesar-besarnya kepada: 1.
Prof. Dr. H. M. Nazir, selaku Rektor Universitas Islam Negeri Sultan Syarif Kasim Riau.
2.
Dra. Yenita Morena, M.Si. selaku Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Sultan Syarif Kasim Riau.
3.
Elin Haerani, M.Kom, selaku Ketua Jurusan Teknik Informatika, Fakultas Sains dan Teknologi.
4.
Dr. Okfalisa, ST., M.Sc, selaku dosen ketua sidang yang banyak membantu dan memberi masukan penulis dalam penyempurnaan Laporan Tugas Akhir ini.
5.
Benny Sukma Negara, MT, selaku dosen pembimbing penelitian yang banyak membarikan saran dan memberikan waktu untuk memperbaiki demi kesempurnaan laporan penelitian ini..
6.
Nazruddin Syafaat , M.T, selaku dosen penguji I yang banyak membantu dan memberi masukan penulis dalam penyempurnaan Laporan Tugas Akhir ini.
7.
Surya Agustian , M.Kom, selaku dosen penguji I yang banyak membantu dan memberi masukan penulis dalam penyempurnaan Laporan Tugas Akhir ini.
8.
M. Affandes, M.T, sebagai koordinator tugas akhir yang telah memberi semangat selama penelitian ini.
ix
9.
Ayah, Ibu, dan keluarga besar penulis yang selalu memberikan doa, dorongan, serta semangat untuk penulis..
10.
Sahabat Penulis, Batri Anugrah yang sudah memberikan dorongan
semangat dan bantuan kepada Penulis untuk menyelesaikan tugas akhir ini. 11.
Sahabat Penulis, Freddy yang telah memberikan bantuan dalam
pengembangan tugas akhir ini. 12.
Sahabat Penulis, Dimas yang telah menjadi penyemangat dan memberikan
tempat berkumpul untuk bersama-sama mengerjakan tugas akhir. 13.
Sahabat Penulis, Rahman, Hendra, Febri, Lina, Imam, Eriyanto, Saidil,
Didi, Heri, Zaenal, Nuryadi, atas semua dukungan dan motivasinya selama ini, dan semua teman-teman TIF 2007 yang tidak dapat disebutkan satu persatu, saya ucapkan terimakasih. 14.
Teman-teman sesama Mahasiswa Teknik Informatika, khusunya TIF 07 D
yang juga turut memberi semangat luar biasa, terimakasih. 15.
Dan terimakasih juga penulis ucapkan untuk Almamater Teknik
Informatika,Fakultas Sains dan Teknologi, UIN Sultan Syarif Kasim Riau serta pihak-pihak lain yang tidak dapat penulis sebutkan satu persatu. Terimakasih banyak atas bantuan dan dukungannya yang berharga. Penulis juga menyadari dalam penulisan laporan ini masih terdapat banyak kekurangan. Oleh karena itu, saran dan kritik sangat penulis harapkan untuk kemajuan bagi penulis secara pribadiserta kesempurnaan dimasa yang akan datang.
Pekanbaru, 29 Januari 2014 Penulis
x
DAFTAR ISI LEMBAR PERSETUJUAN.................................................................................... ii LEMBAR PENGESAHAN ................................................................................... iii LEMBAR HAK ATAS KEKAYAAN INTELEKTUAL...................................... iv LEMBAR PERNYATAAN .....................................................................................v LEMBAR PERSEMBAHAN ................................................................................ vi ABSTRAK ............................................................................................................ vii ABSTRACT......................................................................................................... viii KATA PENGANTAR ........................................................................................... ix DAFTAR ISI ......................................................................................................... xi DAFTAR GAMBAR .......................................................................................... xiv DAFTAR TABEL..................................................................................................xv DAFTAR LAMPIRAN........................................................................................ xvi DAFTAR ALGORITMA.................................................................................... xvii DAFTAR SIMBOL............................................................................................ xviii DAFTAR SINGKATAN ...................................................................................... xx DAFTAR ISTILAH ............................................................................................. xxi BAB I PENDAHULUAN .....................................................................................I-1 1.1. Latar Belakang ..................................................................................I-1 1.2. Rumusan Masalah ..............................................................................I-3 1.3. Batasan Masalah.................................................................................I-3 1.4. Tujuan Penelitian................................................................................I-3 1.5. Sistematika Penulisan.........................................................................I-3 BAB II LANDASAN TEORI ..............................................................................II-1 2.1 Android.............................................................................................. II-1 2.1.1 Arsitektur Android..................................................................... II-1 2.1.2 Komponen Aplikasi................................................................... II-2 2.2 Analisa dan Perancangan Berorientasi Objek ................................... II-3 2.2.1 Analisa Flowchart...................................................................... II-3 2.2.2 Konsep Perancangan Berorientasi Objek .................................. II-3 xi
2.2.3 Unified Modeling Language...................................................... II-4 2.2.4 Use Case Diagram ......................................................................II-4 2.2.5 Class Diagram ............................................................................II-4 2.2.6 Behavior Diagram.......................................................................II-4 2.2.7 Implementation Diagram............................................................II-5 2.3 Advance Encryption Standard (AES) ................................................II-5 2.3.1 Algoritma AES ...........................................................................II-6 2.3.1.1 Byte Array ...............................................................................II-8 2.3.1.2 State .........................................................................................II-9 2.3.1.3 State Sebagai Array Kolom .....................................................II-9 2.4 Panjang Bit dalam AES ...............................................................II-10 2.5 Cipher ...............................................................................................II-11 2.5.1 SubBytes() ................................................................................II-11 2.3.2 ShiftRow...................................................................................II-13 2.3.3 MixColumns .............................................................................II-14 2.3.4 AddRoundKey..........................................................................II-15 2.6 Key Expansion .................................................................................II-15 2.6.1 Pengertian SubWord, RotWord dan RCON .............................II-17 2.7 Inverse Cipher .................................................................................II-17 2.7.1 InvShiftRows ............................................................................II-18 2.7.2 InvSubBytes .............................................................................II-19 2.7.3 InvMixColumns........................................................................II-20 2.8 Strategi Solusi Pengamanan Password.............................................II-20 2.8.1 Master Password.......................................................................II-20 2.8.2 Sent to Mail Recovery ..............................................................II-20 2.9 Block Mode Cipher Block Chaining ................................................II-20 2.10 PKCS5padding ...............................................................................II-21 BAB III METODOLOGI PENELITIAN........................................................... III-1 3.1. Tahapan Penelitian .......................................................................... III-1 3.2. Identifikasi Masalah dan Rumusan Masalah................................... III-1 3.3. Studi Literatur ................................................................................. III-2
xii
3.4. Analisa dan Perancangan................................................................. III-2 3.5. Implementasi dan Pengujian ........................................................... III-2 3.6 Kesimpulan dan Saran...................................................................... III-2 BAB IV ANALISIS DAN PERANCANGAN .................................................. IV-1 4.1 Analisa Algoritma AES.................................................................... IV-1 4.1.1. Analisa Enkripsi ...................................................................... IV-2 4.1.2. Analisa Dekripsi ...................................................................... IV-9 4.2 Analisa Pengembalian Password.................................................... IV-12 4.3 Perancangan Sistem........................................................................ IV-15 4.3.1 Perancangan Use Case Diagram............................................. IV-15 4.3.2 Perancangan Class Diagram ................................................... IV-17 4.3.3 Perancangan Sequence Diagram ............................................ IV-18 4.3.4 Perancangan Activity Diagram............................................... IV-20 4.4 Perancangan Pseudocode Aplikasi................................................. IV-21 4.5 Perancangan Interface .................................................................... IV-22 4.6 Perancangan Fitur Pengiriman Email............................................. IV-23 BAB V IMPLEMENTASI DAN PENGUJIAN ................................................. V-1 5.1 Tahapan Implementasi ..................................................................... V-1 5.1.1 Batasan Implementasi............................................................... V-1 5.1.2 Implementasi Interface .............................................................. V-1 5.2 Pengujian .......................................................................................... V-2 5.2.1 Pengujian Blackbox pada Sistem Kriptografi ........................... V-3 5.2.2 Pengujian pada Berbagai Versi Android OS ............................. V-4 5.2.3 Pengujian Aplikasi Terhadap File pada Enkripsi ...................... V-8 5.2.4 Pengujian Aplikasi Terhadap File pada Dekripsi .................... V-12 5.2.5 Pengujian Aplikasi Pengiriman Password Melalui Email ....... V-14 BAB VI PENUTUP ........................................................................................... VI-1 6.1. Kesimpulan...................................................................................... VI-1 6.2. Saran................................................................................................ VI-2 DAFTAR PUSTAKA LAMPIRAN DAFTAR RIWAYAT HIDUP xiii