Analisa Sistem ANALISA DAN PERANCANGAN SISTEM

BAB 3 ANALISA DAN PERANCANGAN SISTEM

3.1. Analisa Sistem

Dalam tahap analisa ini menentukan informasi, fungsi, proses atau prosedur yang diperlukan beserta antar muka. Maka sistem ini nantinya dapat mengamankan data input yang berupa plainteks yang kemudian di enkripsi menggunakan algoritma 3DES Triple DES dan algoritma AES Advanced Encryption Standard dengan proses yang relatif cepat sehingga pada saat pengujian dapat dilakukan perbandingan. 3.1.1 Analisa Algoritma 3DES Algoritma 3DES sebagai salah satu algoritma enkripsi data yang sering digunakan di dunia. Algoritma ini sendiri berasal dari pengembangan algoritma DES Data Encryption Standard yang diulang sebanyak 3 kali. Algoritma ini sangat cocok dan memang kerap digunakan pada teknologi VPN Virtual Private Network yang menjamin keamanan interkoneksi. VPN adalah teknologi yang menjamin keamanan jaringan meskipun memakai jaringan publik seperti internet atau yang lainnya dengan menggunakan tunnel diantara ujung-ujung koneksinya. Ketika data akan masuk ke dalam tunnel, maka data teersebut akan terlebih dahulu dienkripsi. Setelah proses enkripsi tersebut selesai barulah data yang teelah terenkripsi masuk kedalam tunnel. Ketika data teersebut keluar dari ujung tunnel yang satunya lagi, barulah data tersebut kembali di konversi ke bentuk semula dengan proses dekripsi. Selain yang penulis sbutkan, masih ada beberapa langkah proses dalam VPN yang menjadikan VPN sebagai solusi keamanan interkoneksi yang melewati jaringan publik. Ada banyak implementasi perangkat lunak dan perangakat keras DES. Melihat pengertian 3DES diatas, pengulangan sebanyak 3 kali sangatlah penting guna mencegah meet-in-the- middle-attack. Ada beberapa versi 3DES yang bisa dibentuk dalam bentuk sederhana yaitu: Enkripsi: C=Ek3Ek2Ek1P Dekripsi: D=Dk1Dk2Dk3C Universitas Sumatera Utara Versi pertama 3DES menggunakan 2 buah kunci mode EDE: Enkripsi: C=Ek1Ek2Ek1P Dekripsi: D=Dk1Dk2Dk1C Versi kedua 3DES menggunakan 3 buah kunci mode EDE: Enkripsi: C=Ek3Dk2Ek1P Dekripsi: D=Dk1Ek2Dk3P 3DES memungkinkan pengguna memakai tiga sub kunci dengan masing-masing panjang 64 bit. Data dienkrip dengan kunci pertama kemudian didekrip dengan kunci kedua dan terakhir dienkrip lagi dengan kunci ke tiga seperti gambar 3.7 proses enkripsi dan dekripsi 3DES berikut. Gambar 3.1 Proses Enkripsi dan Dekripsi Algoritma 3DES Ada banyak implementasi perangkat lunak dan perangakat keras DES. Melihat pengertian 3DES diatas, pengulangan sebanyak 3 kali sangatlah penting guna mencegah meet-in-the-middle-attack yang dapat digambarkan seperti skema enkripsi dan dekripsi berikut . Universitas Sumatera Utara Gambar 3.2 Enkripsi dan Dekripsi Algoritma 3DES 3.1.2 Algoritma AES Algoritma AES atau Rijndael menyandikan data dalam empat langkah dasar yaitu, langkah SubBytes, langkah ShiftRows, langkah MixColumns dan AddRoundkey. Langkah-langkah tersebut dapat di deskripsikan lebih mudah dengan memvisualisasikan data yang akan dikonversi dalam array byte segi empat. SubBytes diperoleh dengan memakai atau mensibtusikan kedalam tabel nonliniear yang dikenal dengan tabel S-Box. ShiftRows dilakukan melalui permutasi byte-byte data dari kolom array yang berbeda. Langkah MixColumns menyandikan data menjadi kombinasi linear dari byte- byte dari data dalam satu kolom array tersebut. AddRoundKey dilakukan dengan operasi XOR antara data dengan kunci. Keempat langkah tersebut akan memiliki nama khusus dalam algoritma yang diterangkan AES pada gambar 3.3 dibawah ini. Plaintext : tampilkerenlebihbaik Kunci : 47034 9 53 04 State : tampilkerenlebihbaik AES mempresentasikan data dengan cara urutan byte dan bit 0 atau 1 pada b n , dimana data diturunkan dari urutan input 128 bit per blok. Bit-bit tersebut diberi indeks mulai dari 0 sampai dengan 127 0 ≤ I 128. Setiap urutan 8 bit 1 byte diberlakukan sebagai entitas tunggal yang merupakan elemen finite field, sesuai persamaan 3.1. bx = b 7 x 7 + b 6 x 6 + b 5 x 5 + b 4 x 4 + b 3 x 3 + b 2 x 2 + b 1 x + b ………3.1 Universitas Sumatera Utara Tabel 3.1 Pengindeksan Aliran Input Urutan Bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 … Input Input Input 1 Posisi BitByte 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 … State State State 1 Cipher AES dilakukan pada array byte dua dimensi yang disebut state. Block data disusun dalam state yang terdiri atas empat baris Nb byte Nb= panjang block4 adalah 4 untuk AES-128. Setiap byte diberi dua indeks yang menyatakan posisinya, dinyatakan sebagai s r,c atau s[r,c], dengan indeks baris rrow dalam interval 0 ≤ r 4, sedangkan indeks kolom c coloum dalam 0 ≤ c Nb. Data dalam state menginformasikan hasil setiap tahap transformasi intermediate result. Input dikopi ke state array pada permulaan cipher dan inverse cipher, kemudian state diperbaharui pada akhir setiap transformasi sesuai pada gambar 3.1. Nilai state pada transformasi yang terakhir kemudian dikopi ke output kembali sesuai tabel 3.1. Input State Output In In 4 In 8 In 12 S 0,0 S 0,1 S 0,2 S 0,3 Out Out 4 Out 8 Out 12 In 1 In 5 In 9 In 13 S 1,0 S 1,1 S 1,2 S 1,3 Out 1 Out 5 Out 9 Out 13 In 2 In 6 In 10 In 14 S 2,0 S 2,1 S 2,2 S 2,3 Out 2 Out 6 Out 10 Out 14 In 3 In 7 In 11 In 15 S 3,0 S 3,0 S 3,2 S 3,3 Out 3 Out 7 Out 11 Out 15 Gambar 3.3 State Array Pada Input dan Output State juga dapat dipandang sebagai word 4 byte dalam setiap word. Dengan kata lain, state ekivalen dengan array dari empat word yang berindeks c atau indek kolom dari S r,c seperti gambar 3.4. W = S 0,0 . S 1,0 . S 2,0 . S 3,0 W 2 = S 0,2 . S 1,2 . S 2,2 . S 3,2 W 1 = S 0,1 . S 1,1 . S 2,1 . S 3,1 W 3 = S 0,3 . S 1,3 . S 2,3 . S 3,3 Universitas Sumatera Utara S 0,0 S 0,1 S 0,2 S 0,3 = W W 1 W 2 W 3 S 1,0 S 1,1 S 1,2 S 1,3 S 2,0 S 2,1 S 2,2 S 2,3 S 3,0 S 3,1 S 3,2 S 3,3 Gambar 3.4 State Array Ekivalen Pada Word Array AES termasuk dalam jenis algoritma kriptografi yang sifatnya simetri dan cipher block . Dengan demikian algoritma ini mempergunakan kunci yang sama saat enkripsi dan dekripsi serta masukan dan keluarannya berupa blok dengan jumlah bit tertentu. Contoh Penerapan, misalkan Jodi mengirim data kepada Mira. Data plainteks yang akan dikirimkan oleh Mira adalah : Plaintex : 0 1 2 3 4 5 6 7 8 9 A B C D E F In HEX : 30 31 32 33 34 35 36 37 38 3 41 42 43 44 45 46 Key : A B C D E F G H I J K L M N O P In HEX : 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 3.1.3 Proses Enkripsi Menggunakan AES 1. SubBytes Operasi ini merupakan suatu operasi subtitusi nonlinier yang beroperasi secara mandiri pada setiap byte dengan menggunakan tabel S-Box pada tabel 3.2, transformasi yang telah ditabelkan tersebut mengambil invers multiplikatif GF2 8 tiap byte, kemudian diikuti dengan transformasi yang terdiri dari perkalian oleh matriks yang diikuti dengan penjumlahan vector seperti yang ditunjukan pada persamaan 3.2. Y Y 1 Y 2 Y 3 Y 4 Y 5 Y 6 Y 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X X 1 X 2 X 3 X 4 X 5 X 6 X 7 = + ……… 3.2 Universitas Sumatera Utara 2. Add Round Key Add Round Key pada dasarnya adalah mengkombinasikan chiper teks yang sudah ada dengan chiper key yang chiper key dengan hubungan XOR. Gambar 3.5 AddRoundKey XOR dilakukan per kolom yaitu kolom-1 chiper teks di XOR dengan kolom-1 round key dan seterusnya. 3.1.4 Proses Dekripsi Menggunakan AES InvShiftRows : InvShiftRows adalah transformasi byte yang berkebalikan dengan transformasi ShiftRows . Pada transformasi InvShiftRows, dilakukan pergeseran bit ke kanan sedangkan pada ShiftRows dilakukan pergeseran bit ke kiri. Gambar 3.6 Proses Dekripsi 3.1.5 Analisa Perbandingan Algoritma 3DES dengan Algoritma AES 3DES Triple Data Encryption Standard merupakan salah satu algoritma simetris pada kriptografi yang digunakan untuk mengamankan data dengan cara menyandikan data. Proses yang dilakukan dalam penyandian datanya, yaitu proses enkripsi dan Universitas Sumatera Utara proses dekripsi. Algoritma 3DES adalah suatu algoritma pengembangan dari algoritma DES Data Encryption Standard. Perbedaan DES dengan 3DES terletak pada panjangnya kunci yang digunakan. Pada DES menggunakan satu kunci yang panjangnya 56-bit, sedangkan pada 3DES menggunakan 3 kunci yang panjangnya 168- bit atau masing-masing panjangnya 56-bit. Pada 3DES, 3 kunci yang digunakan bisa bersifat saling bebas K1 ≠ K2 ≠ K3 atau hanya dua buah kunci yang saling bebas dan satu kunci lainnya sama dengan kunci pertama K1 ≠ K2 dan K3 = K1. Karena tingkat kerahasiaan algoritma 3DES terletak pada panjangnya kunci yang digunakan, maka penggunaan algoritma 3DES dianggap lebih aman dibandingkan dengan algoritma DES. Tahap pertama, plainteks yang diinputkan dioperasikan dengan kunci eksternal pertama K1 dan melakukan proses enkripsi dengan menggunakan algoritma DES. Sehingga menghasilkan pra-cipherteks pertama. Tahap kedua, pra-cipherteks pertama yang dihasilkan pada tahap pertama, kemudian dioperasikan dengan kunci eksternal kedua K2 dan melakukan proses enkripsi atau proses dekripsi atau tergantung cara pengenkripsian yang digunakan dengan menggunakan algoritma DES. Sehingga menghasilkan prs-cipherteks kedua. Tahap terakhir, pra-cipherteks kedua yang dihasilkan pada tahap kedua, dioperasikan dengan kunci eksternal ketiga K3 dan melakukan proses enkripsi dengan menggunakan algoritma DES, sehingga menghasilkan cipherteks C. Dalam kriptografi, Triple DES adalah nama umum untuk algoritma data Encryption Triple TDEA atau Triple DEA blok cipher, yang menerapkan Standar Enkripsi Data DES algoritma cipher tiga kali untuk setiap blok data. Ukuran kunci DES asli cipher dari 56 bit pada umumnya cukup ketika algoritma yang dirancang, tetapi ketersediaan daya komputasi semakin membuat serangan semakin layak. Triple DES menyediakan metode yang relatif sederhana meningkatkan ukuran kunci DES untuk melindungi terhadap serangan tersebut, tanpa perlu merancang sebuah algoritma blok cipher baru. Universitas Sumatera Utara Gambar 3.7 Blok Chiper Seperti semua blok cipher pada gambar 3.7 diatas, enkripsi dan dekripsi dari beberapa blok data dapat dilakukan dengan menggunakan berbagai modus operasi, yang secara umum dapat didefinisikan secara independen dari algoritma blok cipher. Namun, ANS X9.52 menentukan secara langsung dan NIST SP 800-67 menentukan melalui SP 800-38A bahwa beberapa mode hanya dapat digunakan dengan batasan tertentu pada mereka yang belum tentu berlaku untuk spesifikasi umum dari mode. Sebagai contoh, ANS X9.52 menetapkan bahwa untuk chaining blok cipher, vektor inisialisasi akan berbeda setiap kali, sedangkan ISO IEC 10116 tidak. PUB FIPS 46- 3 dan ISO IEC 18033-3 mendefinisikan hanya algoritma blok tunggal, dan tidak menempatkan batasan pada mode operasi untuk beberapa blok. Perbedaan antara Triple Data Encryption Standard dengan AES adalah : 3DES = Triple DES Key: 112 ato pake 168 bit Resource and Speed: Medium and Low AES = Advanced Encryption Standard Key: 128, 192, atau 256bit Resource and Speed: Low and High 3.2 Analisa Kebutuhan Sistem Pada perbandingan algoritma 3DES dengan Rinjdael AES dalam perancangan aplikasi keamanan data PDF terdapat dua kebutuhan dalam lingkungan pengembangan sistem, yaitu perangkat lunak dan perangkat keras. Universitas Sumatera Utara 1. Kebutuhan Perangkat Keras Hardware Adapun perangkat keras yang digunakan dalam membuat aplikasi ini, yaitu: a. Laptop Toshiba Satellite L510 b. Core2Duo 2.20 Ghz c. RAM 2 GB DDR3 d. Hardisk 320 GB 2. Analisis Perangkat Lunak Adapun spesifikasi perangkat lunak yang dibutuhkan untuk sistem yang akan dibangun adalah sebagai berikut : a. Sistem operasi menggunakan minimal Microsoft Windows XP. b. Database system menggunakan MySQL. c. Bahasa pemrograman menggunakan PHP d. Server localhost menggunakan XAMPP e. Browser yang digunakan diantaranya seperti mozilla firefox ,opera, google chrome 3. Analisis Kebutuhan Pengguna Adapun untuk mendukung dalam mengolah informasi, dibutuhkan spesifikasi pengguna yang dibutuhkan untuk sistem yang akan dibangun. Kebutuhan pengguna terdiri dari beberapa kategori adalah sebagai berikut: a. Admin Seorang admin harus memiliki kemampuan diantaranya, harus mempunyai kemampuan dasar di bidang komputer khususnya di bidang pemrograman PHP dapat mengolah database. Mampu mengoperasikan sistem operasi minimal Microsoft Windows XP. Selanjutnya mampu menggunakan fasilitas internet. b. Pengunjung Adapun karakteristik minimal pengunjung yang dibutuhkan dalam menjalankan sistem yang kaan dibangun yaitu, mempunyai kemampuan menggunakan komputer. Mampu mengoperasikan sistem operasi minimal Microsoft Windows XP . Mengerti dalam menggunakan internet. Universitas Sumatera Utara 3.3 Model Perancangan Sistem Model perancangan sistem perangkat lunak yang dibuat meliputi perancangan model perangkat lunak meliputi pembuatan antarmuka aplikasi sistem keamanan data yang terintegrasi dengan 3DES dan AES. 3.3.1 Activity Diagram Diagram aktivitas menggambarkan suatu urutan proses yang terjadi pada sistem dari dimulainya aktivitas hingga aktivitas berhenti. Diagram aktivitas hampir mirip dengan flowchart sistem . Diagram aktivitas merupakan salah satu cara untuk memodelkan event-event yang terjadi dalam suatu use-case. Gambar 3.8. Activity Diagram

3.3.2 Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan Universitas Sumatera Utara sistem. Gambar 3.6 menunjukkan use case enkripsi dan menunjukkan use case dekripsi. Gambar 3.9. Use Case Diagram

3.3.3 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem atau termasuk pengguna, display dan sebagainya berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal atau waktu dan dimensi horizontal atau objek-objek yang terkait. Gambar 3.10 Sequence Diagram Universitas Sumatera Utara

3.3.4 Class Diagram

Class diagram menggambarkan struktur dan deskripsi kelas, paket dan objek beserta hubungan satu sama lain seperti containment, pewarisan dan asosiasi. Gambar 10 menunjukkan diagram kelas dari aplikasi enkripsi dan dekripsi email. Gambar 3.11. Class Diagram Universitas Sumatera Utara 2. Flowchart Enkripsi dan Dekripsi Algoritma AES Pada gambar 3.12 flowcahrt enkripsi dan dekripsi algoritma AES memiliki dasar pengoprasian pada blok 128 bit dengan pembangkitan kunci 128 bit adalah yang pertama dilakukan adalah SubByte melakuakan substitusi byte dengan menggunakan tabel Substitusi S-box. ShiftRows melakukan pergesaran baris- baris array secara wrapping. MixColumns mengacak data masing-masing kolom array state dan ADdRoundKey melakukan XOR antara state sekarang Roun key. Pada final round proses yang dilakukan adalah SubBytes, ShiftRows dan AddRoundKey. Gambar 3.12 a Flowchart Sistem EnkripsiDekripsi Algoritma AES Universitas Sumatera Utara Gambar 3.12b Flowchart Sistem Proses Enkripsi Dan Dekripsi Algoritma AES 3.4 Perancangan Interface Sistem 3.4.1 Perancangan Menu Home