BAB I PENDAHULUAN 1.1. LATAR BELAKANG Pengelolaan keamanan data/informasi digital yang sifatnya krusial saat ini sudah menjadi hal yang penting yang harus dilakukan oleh perusahaan, organisasi ataupun individu. Dalam tugas akhir ini penulis mencoba mengimplementasikan salah satu teknik proteksi pengamanan data dengan menggunakan metode enkripsi yang bisa digunakan sebagai solusi perlindungan informasi/data. Enkripsi file yang nantinya dibahas pada penulisan ini adalah teknik enkripsi menggunakan algoritma Rijndael pada system operasi Windows. Dokumen/file pribadi ataupun dokumen perusahaan yang dibuat/diterima perusahaan yang masuk dalam kategori secret/private sangatlah rentan akan pembobolan. Baik pembobolan dari internal maupun external ataupun kebocoran karena kelengahan sendiri. Sudah banyak contoh yang terjadi akibat pembobolan dokumen/file di dunia ini. Dari file-file pribadi sampai file-file berskala internasional. Oleh karena itu usaha-usaha untuk melindungi file-file penting tersebut dengan cara-cara tambahan seperti misalnya dengan memasang password sering dilakukan. Namun ini nampaknya tidak cukup aman dalam pengamanan informasi. Karena jika kita mencari di internet program-program peretas password untuk program-program standard seperti program Microsoft Office, maka akan ditemukanlah puluhan atau bahkan ratusan program peretas password yang bisa diambil untuk dipakai. Belum lagi jika program aplikasi yang digunakan tidak menyediakan built-in security terhadap file-file yang dibuat. Disinilah peranan keamaan lanjutan dibutuhkan, salah satunya adalah dengan cara enkripsi. Ketika firewall sudah ditembus, ketika komputer sudah bisa diakses orang lain, maka enkripsi file inilah yang menjadi pertahanan terakhir dari file-file yang ada. Enkripsi bekerja berdasarkan pada skema algoritma yang menyandikan teks biasa ke dalam bentuk non-readable atau ciphertext, sehingga menjadi sangat privasi. Penerima dari file terenkripsi menggunakan kunci untuk mendekripsi 1
2 file, dan mengembalikannya ke bentuk file asli. Kuncinya adalah trigger mechanism dari algoritma. Sampai munculnya Internet, enkripsi masih jarang digunakan oleh masyarakat, tetapi telah sebagian besar digunakan oleh militer. Saat ini, dalam pemasaran online, perbankan, kesehatan dan layanan lainnya, bahkan rumah tangga rata-rata sadar akan pentingnya enkripsi. Awalnya, 64-bit enkripsi dianggap cukup kuat, tapi saat ini enkripsi 128-bit sudah menjadi standar enkripsi, dan dimasa mendatang pasti akan berubah dan berkembang lagi teknik enkripsi tersebut. Skema enkripsi dikategorikan sebagai enkripsi simetris atau asimetris. Algoritma key simetris seperti Blowfish, Advanced Encryption Standard (AES) dan Data Encryption Standard (DES), bekerja dengan sebuah kunci tunggal yang telah diatur sebelumnya yang akan digunakan antara pengirim dan penerima. Skema enkripsi asimetris, seperti pada algoritma Rivest-Shamir-Adleman (RSA) dan algoritma Diffie-Hellman akan membuat pasangan key bagi user, sebuah kunci publik dan sebuah kunci pribadi. Kunci publik dapat dipublikasikan secara online untuk pengirim yang digunakan untuk mengenkripsi teks yang akan dikirim ke pemilik kunci publik. Setelah dienkripsi, ciphertext tidak dapat didekripsi kecuali oleh orang yang memegang kunci pribadi yang satunya lagi. Algoritma ini didasarkan ketika dua kunci bekerja sama satu sama dengan lain. Enkripsi asimetris dianggap satu langkah lebih aman daripada enkripsi simetris, karena kunci dekripsi dapat disimpan pribadi. Advanced Encryption Standard (AES) adalah lanjutan dari algoritma enkripsi standar Data Encryption Standard (DES) yang masa berlakunya dianggap telah usai karena faktor keamanan. Kecepatan komputer yang sangat pesat dianggap sangat membahayakan Data Encryption Standard (DES), sehingga pada tanggal 2 Maret tahun 2001 ditetapkanlah algoritma baru Rijndael sebagai Advanced Encryption Standard (AES). Rijndael dipilih dari 15 algoritma yang didaftarkan oleh berbagai kalangan industri dan akademik di seluruh dunia ke National Institute of Standard and Technology (NIST), Amerika.
3 1.2. RUMUSAN MASALAH Rumusan masalah pada tugas akhir ini adalah bagaimana proses enkripsi/ dekripsi dapat dengan mudah dilakukakan terhadap file-file yang ada sehingga dapat meningkatkan keamanan secara efesian dengan menggunakan teknik algoritma Rijndael. Algoritma Rijndael merupakan algoritma kriptografi cipher block yang berulang dengan panjang blok dan panjang kunci yang bervariasi yang dapat dipilih secara independen antara 128, 192, dan 256 bit. Jika enkripsi dilakukan dengan kunci sepanjang 128 bit, maka terdapat 2 128 = 3,4 x 10 38 kemungkinan kunci. Selain itu algoritma ini tergolong masih baru dan belum dinyatakan tidak aman adalah dasar pemilihan algoritma ini menjadi algoritma enkripsi pada topik tugas akhir ini. 1.3. TUJUAN PENULISAN Tujuan utama dan tujuan pendukung tugas akhir ini adalah sebagai berikut: a. Memahami konsep enkripsi. b. Memahami algoritma Rijndael. c. Memahami dan mengimplementasikan cara pembuatan encryption pada sistem operasi Windows menggunakan bahasa pemrograman C#. d. Menguji kerahasiaan file yang telah dienkripsi 1.4. BATASAN MASALAH Batasan masalah pada tugas akhir ini adalah : - Proses enkripsi hanya dapat dilakukan satu kali pada file-file yang belum dienkripsi sebelumnya. - Ukuran sebuah file yang akan dienkripsi tidak melebihi 2 Gigabyte. - Enkripsi dilakukan dengan panjang kunci 128 bit. - Indikator kinerja yang diukur adalah : Proses enkripsi/dekripsi, waktu enkripsi/dekripsi dan ukuran file setelah enkripsi/dekripsi.
4 1.5. METODOLOGI Dalam penyusunan tugas akhir ini akan digunakan metodologi sebagai berikut: 1. Studi Literatur Studi literatur akan dilakukan pada seluruh proses pengerjaan Tugas Akhir. Studi literatur meliputi studi tentang enkripsi text dan algoritma Rijndael. Studi literatur juga dilakukan pada cara penggunanan bahasa pemrograman C# pada system operasi Windows. Literatur yang digunakan dapat berupa buku, artikel ilmiah, maupun situs web. 2. Analisa kebutuhan perangkat lunak Kegiatan analisa perangkat lunak meliputi analisa spesifikasi perangkat lunak, analisa lingkungan pengembangan, analisa fungsionalitas, dan analisa kelas. 3. Perancangan perangkat lunak Perancangan perangkat lunak meliputi perancangan kelas, dan perancangan antarmuka. 4. Implementasi 5. Pengujian perangkat lunak Pengujian dilakukan untuk menemukan dan memperbaiki bug-bug yang ada. Pengujian juga dilakukan menyangkut tingkat keamanan text yang terenkripsi dan korelasi antara aplikasi software. 6. Perbaikan Perbaikan akan dilakukan terhadap kesalahan-kesalahan yang mungkin terjadi pada program, laporan, dan dokumentasi teknis.
5 1.6. SISTEMATIKA PEMBAHASAN Sistematika pembahasan tugas akhir ini adalah sebagai berikut: 1. BAB I Pendahuluan Bab pendahuluan membahas mengenai latar belakang penulisan tugas akhir, rumusan persoalan, tujuan tugas akhir, ruang lingkup dan batasan yang diacu, metodologi yang digunakan serta sistematika pembahasan. 2. BAB II Landasan Teori Bab ini memuat berbagai pengetahuan yang didapat melalui studi literatur. Pengetahuan yang dibahas meliputi konsep enkripsi teks yang akan menggunakan algoritma Rijndael dan konsep dasar bahasa pemrograman C#. 3. BAB III Analisa dan Perancangan Bab ini memuat analisa dari algoritma dan perancangan perangkat lunak yang akan dikembangkan dalam Tugas Akhir ini. 4. BAB IV Implementasi dan Pengujian Bab ini mencakup detail implementasi perangkat lunak dari algoritma yang diterapkan dan juga berbagai pengujian yang dilakukan terhadap perangkat lunak beserta hasil pengujiannya. 5. Bab V Penutup Bab ini berisi kesimpulan pelaksanaan Tugas Akhir serta saran penggunaan dan pengembangan perangkat lunak lebih lanjut.