• Tidak ada hasil yang ditemukan

Analisis dan Implementasi Algoritma SHA-1 dan SHA-3 pada Sistem Autentikasi Garuda Training Cost

N/A
N/A
Protected

Academic year: 2018

Membagikan "Analisis dan Implementasi Algoritma SHA-1 dan SHA-3 pada Sistem Autentikasi Garuda Training Cost"

Copied!
10
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

803

Analisis dan Implementasi Algoritma SHA-1 dan SHA-3 pada Sistem

Autentikasi Garuda Training Cost

Firlhi Kurniawan1, Ari Kusyanti2, Heru Nurwarsito3

Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1firlhik@gmail.com, 2ari.kusyanti@ub.ac.id, 3heru@ub.ac.id

Abstrak

Garuda Training Cost merupakan suatu aplikasi web perhitungan biaya pelatihan untuk pilot dan pramugari yang dikembangkan di Garuda Indonesia Training Center. Aplikasi ini menggunakan algoritma hash function SHA-1 untuk mengamankan password pengguna yang tersimpan di database. Tetapi, dikarenakan telah ditemukannya kelemahan dan kolisi pada algoritma ini, maka algoritma ini sudah kurang aman lagi. Maka dari itu, pada penelitian ini, penulis akan menggantikan algoritma SHA-1 tersebut dengan algoritma penerusnya, yaitu SHA-3. Algoritma SHA-3 diimplementasikan pada proses login, proses perubahan password pengguna dan proses penambahan pengguna. Setelah itu dilakukan pengujian dan analisis untuk mengetahui kinerja dari kedua algoritma tersebut. Ada tiga jenis pengujian yang dilakukan, yang pertama yaitu pengujian brute-force, yang kedua pengujian avalanche effect dan yang terakhir pengujian waktu pemrosesan. Dari pengujian brute-force, algoritma SHA-3 jauh lebih baik dari algoritma SHA-1. Ditunjukkan dengan 30 kali percobaan brute-force untuk password dengan 10 karakter, hash yang dihasilkan SHA-1 membutuhkan waktu rata-rata 14 jam 53 menit dan 51 detik untuk menemukan plaintext-nya. Sedangkan hash yang dihasilkan SHA-3 membutuhkan waktu rata-rata 4 hari 13 jam 6 menit dan 6 detik untuk menemukan plaintext-nya. Untuk pengujian avalanche effect, algoritma SHA-1 mendapatkan persentase perubahan sebesar 100% sedangkan SHA-3 mendapatkan 95%. Sedangkan untuk pengujian waktu pemrosesan, SHA-1 lebih baik karena kompleksitas algoritma SHA-3 yang lebih tinggi. Walaupun dua dari tiga pengujian tersebut SHA-1 lebih unggul, bukan berarti SHA-3 tidak lebih baik. Persentase minimum avalanche effect untuk sebuah algoritma agar dapat dikatakan baik adalah lebih dari 50%. Sedangkan waktu pemrosesan tersebut masih dalam satuan milliseconds, sehingga pengguna tidak merasakan dampaknya secara langsung. Kesimpulannya, dari ketiga pengujian tersebut menunjukkan bahwa SHA-3 memiliki ketahanan yang lebih tinggi dari algoritma SHA-1.

Kata kunci: aplikasi web, keamanan password, fungsi hash, kriptografi, algoritma SHA-1, algoritma SHA-3

Abstract

(2)

Keywords: web application, password security, hash function, cryptography, SHA-1 algorithm, SHA-3 algorithm

1. PENDAHULUAN

Garuda Training Cost merupakan aplikasi berbasis web yang dikembangkan di Garuda Indonesia Training Center. Aplikasi ini adalah sebuah alat bantu yang dibuat untuk bidang pemasaran di Garuda Indonesia Training Center.

Data-data yang dikelola dalam aplikasi ini yaitu laporan keuangan, biaya pelatihan untuk internal, dan biaya pelatihan untuk pihak ketiga. Serta untuk mekanisme login terdapat pula data username dan password. Untuk dapat mengakses sistem tersebut, diharuskan login terlebih dahulu. Untuk menjamin keamanan dari data-data tersebut, sudah ada beberapa mekanisme keamanan yang sudah diterapkan pada sistem ini, salah satunya yaitu hash password dengan algoritma SHA-1.

Fungsi SHA-1 ini merupakan suatu fungsi hash yang sudah lumayan tua. Berdasarkan penelitian sebelumnya pada jurnal yang berjudul Finding Collisions in the Full SHA-1, telah ditemukan kolisi pada algoritma SHA-1 ini (Wang, 2005). Hal ini pula yang menjadi latar belakang akan diterapkannya fungsi hash pengganti SHA-1, yaitu SHA-3 (Keccak) yang baru diresmikan pada tahun 2015 lalu. Keunikan implementasi SHA-3 pada penelitian ini yaitu dia hanya menggunakan algoritma SHA-3 sebagai algoritma untuk melakukan hash pada password, sedangkan pada penelitian yang lain digunakan juga autentikasi menggunakan one time password (Fakhrusy, 2016).

Hipotesis dari penelitian ini yaitu kinerja dan keamanan dari algoritma SHA-3 akan lebih unggul dibandingkan dengan algoritma SHA-1, dikarenakan algoritma SHA-3 ini dibuat untuk memperbaiki algoritma SHA-1 yang telah ditemukan kelemahan dan kolisinya.

Oleh karena itu, algoritma yang sebelumnya sudah diterapkan pada aplikasi Garuda Training Cost yaitu SHA-1, akan digantikan dengan algoritma yang lebih baik.

2. LANDASAN KEPUSTAKAAN

2.1. Kajian pustaka

Telah banyak penelitian yang berkaitan

dengan fungsi algoritma hash. Dari jurnal yang dipelajari, hal-hal yang didapat antara lain teori dasar aplikasi berbasis web secara umum, kriptografi, keamanan web, dan juga bagaimana cara untuk menguji, membandingkan, dan menganalisis algoritma hash yang telah ada, sehingga dapat digunakan dalam penelitian ini.

Berdasarkan penelitian sebelumnya yang berkaitan dengan algoritma SHA-1, yaitu berjudul Finding Collisions in the Full SHA-1 telah ditemukan kolisi pada algoritma hash SHA-1 (Wang, 2005). Sedangkan penelitian sebelumnya untuk algoritma SHA-3 yang berjudul Efficient and Concurrent Reliable Realization of the Secure Cryptographic SHA-3 Algorithm. Di sana dijelaskan tentang bagaimana algoritma Keccak menjadi pemenang dan distandarisasi menjadi algoritma SHA-3, serta kelebihannya dibandingkan algoritma lain (Sarmadi, 2014).

Pada pustaka yang telah dipelajari, kebanyakan penelitian sebelumnya terfokus pada algoritma hash yang sudah lama, seperti MD5 dan SHA-1. Dari hal itulah yang melatarbelakangi penelitian tentang algoritma SHA-3 yang terbilang masih baru, bagaimana kinerjanya pada saat implementasi dan bagaimana jika dibandingkan dengan pendahulunya yaitu SHA-1.

Dengan berbekal metode dari penelitian sebelumnya, diharapkan dapat membangun sebuah sistem yang lebih aman dengan memanfaatkan metode atau solusi yang sudah diteliti tersebut yaitu SHA-3 agar terbangun sebuah sistem yang dapat diandalkan baik dari segi integritas data.

2.2. Secure Hash Algorithm-1 (SHA-1)

SHA dikembangkan oleh National Institute of Standards and Technology (NIST) dan dipublikasikan sebagai Federal Information Processing Standards (FIPS 180) pada tahun 1993. Secure Hash Standard (SHS) menspesifikasikan SHA-1 untuk menghitung nilai hash dari sebuah pesan atau file. SHA-1 memiliki panjang pesan maksimal 264 bits dan

(3)

menghasilkan signature untuk memverifikasi pesan tersebut.

Pada saat ditemukan kelemahan pada algoritma SHA-0, berbagai revisi dan perbaikan dilakukan untuk membuat suatu algoritma yang lebih baik. Hasil dari perbaikan tersebut diterbitkan pada tahun 1995 dan dijadikan acuan untuk pembuatan algoritma SHA-1.

Algoritma SHA-1 merupakan revisi teknis dari algoritma SHA. Algoritma SHA-1 dapat dikatakan aman karena proses perhitungannya tidak memungkinkan untuk menemukan pesan yang sebenarnya dari message digest yang dihasilkan. Setiap perubahan yang terjadi pada pesan saat perjalanan akan menghasilkan message digest yang berbeda. Algoritma SHA-1 berbasis pada algoritma MD4 dan rancangannya sangatlah mirip terhadap algoritma tersebut.

2.3. Secure Hash Algorithm-3 (SHA-3)

Pada tahun 2006, NIST mengadakan kompetisi hash function untuk membuat sebuah standar hash baru, yaitu SHA-3. SHA-3 dibuat tidak untuk menggantikan SHA-2, dikarenakan belum ada serangan hebat yang terjadi pada SHA-2. NIST membuat SHA-3 dikarenakan kekhawatiran dikarenakan MD5, 0, SHA-1 yang telah berhasil ditembus. Karena itulah NIST mencari algoritma hash alternatif yang sangat berbeda dengan algoritma sebelumnya, yaitu SHA-3.

Pada tahun 2012, Keccak menjadi pemenang dalam kompetisi ini. Kemudian pada tahun 2014 mempublikasikan draft FIPS 202 tentang “SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions”. Setelah itu pada tahun 2015 SHA-3 diresmikan sebagai standar baru fungsi hash (Charles, 2015).

Tidak seperti SHA-1, SHA-3 memiliki ukuran keluaran yang beragam. Jenis-jenis keluaran SHA-3 tersebut yaitu SHA-3 224, SHA-3 256, SHA-3 384, SHA-3 512, SHAKE128 dan SHAKE256 Dikarenakan berbagai jenis keluaran tersebut, maka SHA-3 ini masuk kedalam jenis sponge function. Pada jurnal yang berjudul “Cryptographic sponge function”, sponge function menyediakan cara tertentu agar dapat menggeneralisasikan fungsi hash dengan hasil keluaran yang beragam (Bertoni, 2011).

2.4. Perbandingan SHA-1 dengan SHA-3

1. Algoritma SHA-1 hanya dapat mengolah input dengan panjang maksimal

2

64 bit, sedangkan algoritma SHA-3 dapat mengolah input dengan panjang tak terhingga.

2. Ukuran output yang dihasilkan oleh algoritma SHA-1 berukuran 160 bits. Sedangkan ukuran output yang dihasilkan SHA-3 berukuran beragam, mulai dari 224, 256, 384, dan 512 bits. Menjadikan algoritma SHA-3 lebih tahan terhadap serangan brute force.

3. Pada tahun 2015 telah ada yang berhasil melakukan serangan theoretical dan collision pada algoritma SHA-1, menjadikan algoritma ini sudah kurang aman jika dibandingkan SHA-3 yang masih sangat baru dan belum bisa ditembus.

3. METODOLOGI

Dalam bab ini akan dijelaskan tentang cara sistematik yang akan digunakan untuk menyelesaikan masalah penelitian dan juga tahapan yang dilakukan dalam pengujian dan analisis dari algoritma hash SHA-1 dan SHA-3. Tahapan-tahapannya terdiri dari studi literatur, analisis kebutuhan, perancangan sistem, implementasi sistem, pengujian dan analisis sistem, dan kesimpulan. Tahapan-tahapan tersebut digambarkan pada Gambar

3.

Gambar 3 Diagram blok metodologi penelitian

4. PERANCANGAN DAN

IMPLEMENTASI

4.1. Analisis kebutuhan

(4)

dari suatu pembahasan, dalam hal ini analisis mengenai perancangan sistem autentikasi pada aplikasi Garuda Training Cost dengan menggunakan algoritma hash SHA-3 yang berguna untuk mengetahui apa saja yang dapat dijadikan isi dari perancangan yang akan dibuat.

4.1.1 Analisis permasalahan

Dalam penelitian yang sedang dibahas yaitu perancangan sistem autentikasi pada aplikasi Garuda Indonesia Training Cost dengan menggunakan algoritma hash SHA-3. Analisis dari permasalahan yang sedang dibahas pada penelitian ini akan dijelaskan pada Gambar 4.

Gambar 4 Skema global sistem Garuda Training Cost

Penjelasan skema global sistem Garuda Training Cost di atas adalah sebagai berikut. 1. Pengguna melakukan login dengan

memasukkan username dan password agar dapat masuk ke dalam sistem.

2. Kemudian akan dilakukan hashing pada password pengguna tersebut dengan menggunakan algoritma fungsi hash SHA-1 atau SHA-3.

3. Setelah itu, hasil dari proses hashing pada tahap sebelumnya tadi dicocokkan dengan hash yang telah tersimpan di dalam database.

4. Jika hasil hash cocok dengan hash yang ada di dalam database, maka pengguna dapat masuk ke dalam sistem dan menggunakan fitur yang tersedia, yakni pada tahap 5 dan tahap 6.

5. Halaman perubahan password digunakan untuk mengubah password dari pengguna yang telah terdaftar, pengguna mengubah password dan menekan tombol Submit.

Setelah itu sistem akan melakukan hash terlebih dahulu terhadap password tersebut dengan menggunakan algoritma SHA-1 atau SHA-3, kemudian disimpan ke database. 6. Halaman penambahan pengguna digunakan

untuk menambahkan pengguna baru ke dalam sistem, pengguna mengisi form dan menekan tombol Submit. Setelah itu sistem akan melakukan hash terlebih dahulu terhadap password dengan menggunakan algoritma SHA-1 atau SHA-3, kemudian disimpan ke database beserta data-data yang lain.

4.1.2 Analisis data

Analisis data merupakan tahapan dimana dilakukannya analisis terhadap data-data apa sja yang diolah dalam sistem. Pada aplikasi ini, data yang akan di lakukan hash terbatas pada password. Di karenakan untuk dapat mengakses semua fitur dan data di sistem, harus terlebih dahulu login menggunakan username dan password.

5. PENGUJIAN DAN ANALISIS

5.1. Parameter pengujian

Parameter yang digunakan untuk menguji kedua algoritma hash yaitu SHA-1 dan SHA-3 pada penelitian ini ada 3. Yang pertama adalah waktu yang ditempuh pada saat melakukan brute-force testing pada kedua algoritma. Kemudian pengujian avalanche effect. Dan yang terakhir yaitu waktu pemrosesan saat proses login. Setelah pengujian dilakukan, hasil dari pengujian brute-force dan waktu pemrosesan akan diproses lebih lanjut dengan menggunakan Independent Samples t-Test dan One-Way ANOVA untuk mengetahui apakah ada perbedaan yang signifikan antara kedua algoritma.

5.2. Test vector

(5)

Test vector untuk algoritma SHA-1 dan SHA-3.

a. Pesan: “abc”

SHA-1: a9993e36 4706816a ba3e2571 7850c26c 9cd0d89d

SHA-3: 3a985da74fe225b2 045c172d6bd390bd

855f086e3e9d525b46bfe2451 1431532

b. Pesan: “” (string kosong)

SHA-1: da39a3ee 5e6b4b0d 3255bfef 95601890 afd80709

SHA-3: a7ffc6f8bf1ed766

51c14756a061d662 f580ff4de43b49fa 82d80a4b80f8434a

c. Pesan:

"abcdbcdecdefdefgefghfghighijhijkijkljklm klmnlmnomnopnopq"

SHA-1: 84983e44 1c3bd26e baae4aa1 f95129e5 e54670f1

SHA-3: 41c0dba2a9d62408

49100376a8235e2c 82e1b9998a999e21 db32dd97496d3376

Hash yang dihasilkan oleh algoritma SHA-1 dan SHA-3 yang digunakan pada penelitian ini menunjukkan hasil yang sama dengan test vector. Hal ini menunjukkan bahwa algoritma yang digunakan sudah benar dan sesuai dengan ketentuan untuk algoritma SHA-1 dan SHA-3.

5.3. Skenario pengujian

Variasi password yang digunakan untuk pengujian ini adalah password dengan 8, 9 dan 10 karakter. Dikarenakan aplikasi Garuda Training Cost membutuhkan password minimal 8 karakter dan maksimal 10 karakter. Jenis algoritma 3 yang digunakan adalah SHA-3-256. Berikut ini adalah plaintext dan hasil hash yang akan digunakan dalam pengujian ini.

a. 8 karakter: “firlhiku” (lowercase)

SHA-1: 97aa74da3b34d20c75c69ed24eff1 9c971b8303b

SHA-3: 8d341d9bb59e3cbafc76cb4c22c14 d617e052600a90d47ffce80d4b6252a70c5

8 karakter: “firlhi21” (lowercase dan

angka)

SHA-1: 3c5aa2bc19d5bd6d116b1ce044ab 9d2ef7c171ae

SHA-3: b70896f9fff3f5a6872678aee3b242 09345f18f10fa08b8485f6fe22f34b4f65

8 karakter: “#vapori3” (lowercase, angka

dan simbol)

SHA-1: b0bfd36509cdd6941e2e0f24a0cbc 6487107adaa

SHA-3: 1fc9286f6e50cf10a719d85b36b1c d6a1b50f6557f21f04bb7c0c2e642270629

8 karakter: “&Rez4zif” (lowercase, angka, simbol dan uppercase)

SHA-1: 97078de52a4a453ea965e18295bd daee76fd6cc6

SHA-3: 1878f50f1550126444a8ff678c4b2 292853aee1af6f6fa9f91a7bbb5cecab563

5.4. Pengujian brute-force

5.4.1 Tujuan pengujian

Tujuan dari pengujian ini adalah untuk mengetahui ketahanan dan kekuatan dari algoritma SHA-1 dan SHA-3 terhadap serangan brute-force. Mekanisme dari brute-force ini yaitu melakukan serangan terhadap suatu hash yang dihasilkan dengan algoritma SHA-1 dan SHA-3, dengan mencoba segala kombinasi huruf, angka dan simbol agar didapatkan plaintext dari hash tersebut.

5.4.2 Prosedur pengujian

Pengujian ini dilakukan dengan menggunakan program hashcat. Program ini berfungsi untuk mendapatkan plaintext dari suatu hash ataupun ciphertext.

Untuk melihat perbedaan waktu pengujian brute-force untuk 8 karakter lowercase pada algoritma SHA-1 dan SHA-3, maka dilakukanlah independent sample t-test pada data hasil pengujian tersebut.

Ketentuan pengambilan keputusan untuk pengujian independent sample t-test didasarkan pada ketentuan sebagai berikut:

Hipotesis:

H0: Tidak ada perbedaan yang signifikan antara waktu pengujian brute-force pada algoritma SHA-1 dan SHA-3

H1: Terdapat perbedaan yang signifikan antara waktu pengujian brute-force pada

algoritma SHA-1 dan SHA-3 Kriteria keputusan:

a. Jika probabilitas (Sig.) > 0,05 maka H0 diterima

b. Jika probabilitas (Sig.) < 0,05 maka H0 ditolak

5.4.3 Hasil pengujian

(6)

program hashcat. Semua pengujian dilakukan sebanyak 30 kali.

a. Password 8 karakter lowercase

Hasil pengujian independent sample t-test perbedaan waktu pengujian brute-force untuk 8 karakter lowercase pada algoritma SHA-1 dan SHA-3 dapat dilihat pada Tabel 5.

Tabel 5 Independent samples t-Test untuk pengujian brute-force password 8 karakter lowercase

t-test for Equality of Means

t df Sig.

(2-tailed)

Waktu Equal variances

assumed -47,180 58 0,000

Equal variances

not assumed -47,180 29,160 0,000 Diketahui nilai t dari hasil perhitungan t-test dari hasil pengujian waktu brute-force pada algoritma SHA-1 dan SHA-3 adalah -47,180 dengan probabilitas (Sig.) 0,000. Karena probabilitas 0,000 < 0,05 maka H0 ditolak. Artinya terdapat perbedaan yang signifikan antara waktu pengujian brute-force pada algoritma SHA-1 dan SHA-3.

5.4.4 Analisis pengujian

Pada pengujian brute-force ini, didapatkan beberapa data yang disajikan dalam bentuk tabel. Sebelum dilakukan t-test, keseluruhan satuan waktu yang digunakan dalam pengujian diubah ke detik terlebih dahulu.

Pada Tabel 5, dengan menggunakan perangkat GPU Nvidia GeForce GTX 1060 3GB, dari 30 percobaan, waktu yang ditempuh untuk mendapatkan suatu mesage dari password 8 karakter yang telah di hash dengan SHA-1 hanya memakan waktu rata-rata 16 detik. Jika dibandingkan dengan waktu yang ditempuh pada hash SHA-3, yaitu rata-rata 11 menit 9 detik, maka sangatlah jauh. Padahal skenario pengujian yang digunakan hanya menggunakan huruf lowercase, jika ditambahkan dengan huruf uppercase, angka ataupun simbol, maka waktu yang ditempuh akan berbeda.

Hal yang serupa juga terjadi pada saat pengujian dilakukan untuk password 9 dan 10 karakter. Disini juga akan terlihat sekali keunggulan dari algoritma hash SHA-3. Pada pengujian untuk password 9 karakter, rata-rata waktu yang ditempuh oleh SHA-1 adalah 1 menit 29 detik, sedangkan waktu yang ditempuh oleh SHA-3 adalah 4 jam 54 menit 6

detik. Jika dilihat dari grafik, perbedaan antara keduanya sangatlah jauh.

Setelah itu, pengujian terakhir pada password 10 karakter, didapatkan rata-rata waktu tempuh untuk hash SHA-1 adalah 14 jam 53 menit 51 detik, sedangkan untuk hash SHA-3 memakan waktu sampai 4 hari 1SHA-3 jam 6 menit 6 detik. Dari 30 percobaan tersebut, waktu estimasi yang diberikan program hashcat juga fluktuatif, seperti percobaan ke-10, memakan waktu sampai 4 hari 10 jam 4 detik.

Berdasarkan keseluruhan pengujian brute-force yang telah dilakukan, akan diringkas dalam tabel perbandingan yang ditunjukkan pada Tabel 5(a).

Tabel 5(a) Perbandingan keseluruhan pengujian brute-force untuk password dari algoritma SHA-1

dan SHA-3

Jumlah

Karakter Jenis Karakter SHA-1 SHA-3

8

Lowercase  

Lowercase dan angka  

Lowercase, angka dan

simbol  

Lowercase, angka,

simbol dan uppercase  

9

Lowercase  

Lowercase dan angka  

Lowercase, angka dan

simbol  

Lowercase, angka,

simbol dan uppercase  

10

Lowercase  

Lowercase dan angka  

Lowercase, angka dan

simbol  

Lowercase, angka,

simbol dan uppercase  

Berdasarkan Tabel 5(a), dari keseluruhan pengujian mulai dari 8, 9 dan 10 karakter dan semua jenis karakter yaitu lowercase, lowercase dikombinasikan dengan angka, lowercase dikombinaiskan dengan angka dan simbol dan lowercase dikombinasikan dengan angka, simbol dan uppercase, algoritma SHA-3 lebih baik dari segi ketahanan dan kekuatan untuk pengujian brute-force.

(7)

keluaran 256 bit, sedangkan panjang keluaran algoritma SHA-1 hanya 160 bit. Hal inilah yang menyebabkan waktu yang ditempuh oleh SHA-3 pada saat pengujian jauh lebih lama dibandingkan dengan SHA-1. Jadi dapat disimpulkan dari pengujian ini, pada aspek kekuatan dan ketahanan algoritma terhadap serangan brute-force, SHA-3 lebih baik dari algoritma SHA-1.

5.5. Pengujian avalanche effect

5.5.1 Tujuan pengujian

Pengujian avalanche effect bertujuan untuk membandingkan berapa besarkah perubahan yang terjadi ketika plaintext berubah. Output dapat berupa ciphertext ataupun digest. Pada jurnal yang berjudul “Effective Implementation and Avalanche Effect of AES”, hasil dari enkripsi atau hash dikatakan baik apabila perubahan 1 bit input menghasilkan perubahan besar pada output (Kumar, 2012). Avalanche effect merupakan parameter pengujian yang biasa digunakan untuk menggambarkan tingkat keamanan pada kriptografi kunci simetris dan fungsi hash.

5.5.2 Prosedur pengujian

Pengujian ini dilakukan untuk melihat tingkat keamanan algoritma. Avalanche effect dihitung dengan rumus pada Persamaan 1.

Pengujian dilakukan dengan menggunakan hash SHA-1 dan SHA-3 dari password dengan

plaintext “firlhiku” dan “firlhiki”. Plaintext

yang digunakan disini berbeda dengan pengujian yang lainnya, dikarenakan disini akan diuji seberapa besarkan perubahan sebuah output atau hash jika satu karakter diubah.

Dalam hal ini yaitu huruf “u” diganti dengan huruf “i”. Setelah didapatkan hash dari kedua plaintext tersebut, hash tersebut kemudian dibandingkan. Ada berapa bit karakter yang berubah ketika dilakukan pergantian tersebut. Setelah didapatkan berapa bit yang berubah, barulah dihitung dengan menggunakan rumus AE (Avalanche Effect).

5.5.3 Hasil pengujian

Berikut ini adalah hasil pengujian avalanche effect dari kedua algoritma dengan

menggunakan dua plaintext sebagai

pembanding, plaintext pertama yaitu “firlhiku” dan yang kedua “firlhiki”.

a. SHA-1

Tabel 5(b) Hasil pengujian avalanche effect untuk algoritma SHA-1

b. SHA-3

Tabel 5(c) Hasil pengujian avalanche effect untuk algoritma SHA-3

5.5.4 Analisis pengujian

Hasil dari pengujian avalanche effect untuk algoritma SHA-1 terdapat pada Tabel 5(b), sedangkan untuk algoritma SHA-3 terdapat pada Tabel 5(c).

Untuk pengujian avalanche effect pada algoritma SHA-1, hash untuk kedua plaintext berubah sebanyak 100%, artinya hash yang dihasilkan benar-benar berbeda. Walaupun plaintextnya sangat mirip, hanya diubah satu karakter saja. Pada pengujian avalance effect ini, algoritma SHA-1 masih lebih unggul jika dibandingkan dengan algoritma SHA-3, yang setelah dihitung avalanche effectnya hanya berubah sebanyak 95%. Tetapi, syarat suatu algoritma dikatakan baik adalah jika avalanche effectnya sama dengan 50% atau lebih. Jadi dapat disimpulkan, walaupun algoritma SHA-1 memiliki nilai avalanche effect yang lebih baik, bukan berarti algoritma SHA-3 yang memiliki nilai yang lebih rendah dari SHA-1 dikatakan buruk. Keduanya merupakan algoritma yang sangat baik, dikarenakan sudah melebihi syarat yang telah ditentukan, yaitu 50%.

5.6. Pengujian waktu pemrosesan

5.6.1 Tujuan pengujian

Tujuan dari dilakukannya pengujian waktu pemrosesan saat login ini yaitu untuk mengetahui berapa banyak waktu yang diperlukan untuk mencocokkan hash yang AE = Jumlah bit yang berubah pada hash

(8)

dihasilkan pada saat seseorang login dengan hash yang telah tersimpan pada database.

5.6.2 Prosedur pengujian

Untuk melakukan pengujian waktu pemrosesan, ditambahkan beberapa baris kode pada kode access.php agar dapat menghitung waktu yang ditempuh pada kedua algoritma dan menyimpannya ke dalam database pada saat proses login. Waktu perhitungan akan dimulai pada saat pengguna menekan tombol login dan akan berhenti pada saat pengguna telah masuk ke antarmuka utama sistem.

Untuk melihat perbedaan waktu pengujian pemrosesan pada saat login untuk 8 karakter lowercase pada algoritma SHA-1 dan SHA-3, maka dilakukanlah independent sample t-test pada data hasil pengujian tersebut.

Ketentuan pengambilan keputusan untuk pengujian independent sample t-test di dasarkan pada ketentuan sebagai berikut:

Hipotesis:

H0: Tidak ada perbedaan yang signifikan antara waktu pengujian pemrosesan pada saat login pada algoritma SHA-1 dan SHA-3

H1: Terdapat perbedaan yang signifikan antara waktu pengujian pemrosesan pada saat login pada algoritma SHA-1 dan SHA-3 Kriteria keputusan:

a. Jika probabilitas (Sig.) > 0,05 maka H0 diterima

b. Jika probabilitas (Sig.) < 0,05 maka H0 ditolak

5.6.3 Hasil pengujian

Berikut ini adalah hasil pengujian yang didapatkan dari tabel MySQL yang telah dibuat sebelumnya untuk menyimpan waktu pengujian.

a. Password 8 karakter lowercase

Hasil pengujian independent sample t-test perbedaan waktu pengujian pemrosesan pada saat login untuk 8 karakter lowercase pada algoritma SHA-1 dan SHA-3 dapat dilihat pada Tabel 5(d).

Tabel 5(d) Independent samples t-Test untuk pengujian waktu pemrosesan pada saat login

password 8 karakter lowercase

t-test for Equality of Means

t df Sig.

(2-tailed)

Waktu Equal variances

assumed -11,037 58 0,000

Equal variances

not assumed -11,037 29,363 0,000 Diketahui nilai t dari hasil perhitungan t-test dari hasil pengujian waktu pemrosesan pada saat login pada algoritma SHA-1 dan SHA-3 adalah -11,037 dengan probabilitas (Sig.) 0,000. Karena probabilitas 0,000 < 0,05 maka H0 ditolak. Artinya terdapat perbedaan yang signifikan antara waktu pengujian pemrosesan pada saat login pada algoritma SHA-1 dan SHA-3.

5.6.4 Analisis pengujian

Pada pengujian waktu pemrosesan pada saat login ini, didapatkan beberapa data yang disajikan dalam bentuk tabel. Data dari tabel tersebut didapatkan dari data yang tersimpan pada database.

Pada Tabel 5(aa), dapat dilihat perbedaan waktu pemrosesan antara kedua algoritma untuk password 8 karakter lowercase, dimana untuk SHA-1 rata-rata waktu pemrosesannya 0,00142785 ms dan untuk SHA-3 adalah 0,00550367 ms. Dalam hal ini, waktu pemrosesan untuk algoritma SHA-1 lebih cepat dibandingkan dengan SHA-3. Hal ini disebabkan beberapa macam faktor, yang akan dijelaskan lebih lanjut. SHA-1 lebih unggul dalam semua pengujiannya.

Tetapi hal ini tidak serta merta membuat algoritma SHA-3 tidak lebih baik, dikarenakan waktu tersebut masih dalam batas wajar, dan pengguna juga tidak akan merasakan langsung dampak dari waktu tersebut.

(9)

sebelumnya, panjang keluaran dari hash algoritma 3 lebih panjang dari pada SHA-1, dimana SHA-3 memiliki 256 bit dan SHA-1 memiliki 160 bit. Karena itulah, waktu pemrosesan untuk SHA-3 lebih lama dibandingkan dengan SHA-1. Dan dengan struktur fungsi dari algoritma SHA-3 yang lebih baru dan kompleks daripada SHA-1, dapat mempengaruhi waktu pemrosesan ini juga. Mungkin juga terdapat faktor lain yang mempengaruhi waktu pemrosesan tersebut yang belum dapat penulis temukan disini.

Berdasarkan keseluruhan pengujian waktu pemrosesan yang telah dilakukan, akan diringkas dalam tabel perbandingan yang ditunjukkan pada Tabel 5(e).

Tabel 5(e) Perbandingan keseluruhan pengujian waktu pemrosesan untuk password dari algoritma

SHA-1 dan SHA-3

Jumlah

Karakter Jenis Karakter SHA-1 SHA-3

8

Lowercase  

Lowercase dan angka  

Lowercase, angka dan

simbol  

Lowercase, angka,

simbol dan uppercase  

9

Lowercase  

Lowercase dan angka  

Lowercase, angka dan

simbol  

Lowercase, angka,

simbol dan uppercase  

10

Lowercase  

Lowercase dan angka  

Lowercase, angka dan

simbol  

Lowercase, angka,

simbol dan uppercase  

Berdasarkan Tabel 5(e), dari keseluruhan pengujian mulai dari 8, 9 dan 10 karakter dan semua jenis karakter yaitu lowercase, lowercase dikombinasikan dengan angka, lowercase dikombinasikan dengan angka dan simbol dan lowercase dikombinasikan dengan angka, simbol dan uppercase, algoritma SHA-1 lebih cepat dalam memproses password tersebut.

Jadi kesimpulannya, untuk analisis pengujian waktu pemrosesan pada saat login, SHA-1 lebih unggul daripada SHA-3. Tetapi perlu diingat, hal ini juga tidak bisa membuat SHA-1 lebih baik dari SHA-3, dikarenakan waktu yang ditempuh yaitu dalam milliseconds,

pengguna tidak akan merasakan dampak langsung dari waktu ini. Pengguna akan tetap dapat merasa nyaman dalam menggunakan aplikasi ini dengan sistem autentikasi dengan algoritma SHA-3 yang telah diterapkan untuk menggantikan algoritma SHA-1.

6. PENUTUP

6.1. Kesimpulan

Berdasarkan hasil penelitian yang telah dilakukan, dapat disimpulkan beberapa hal mengenai algoritma SHA-1 dan SHA-3.

1. Algortima fungsi hash SHA-3 telah berhasil diterapkan pada sistem Garuda Training Cost untuk menggantikan algoritma pendahulunya yaitu SHA-1, dengan menambahkan sebuah kode pada sistem dan mengganti beberapa baris kode yang ada pada sistem. Kode yang diganti tersebut berada pada proses login, proses perubahan password dan proses penambahan pengguna baru.

(10)

tambahan dari luar yang menyebabkan fungsi ini lebih lambat untuk diproses serta kerumitan dan kompleksitas algoritmanya yang lebih tinggi. Tetapi dari segi keamanan dan ketahanan, algoritma SHA-3 jauh lebih baik.

3. Analisis untuk ketahanan algoritma SHA-1 dan SHA-3 terhadap serangan dilakukan dengan cara memperhatikan dan membandingkan seluruh hasil dari pengujian yang telah dilakukan, yaitu pengujian brute-force, avalanche effect dan waktu pemrosesan.

6.2. Saran

Saran yang dapat penulis berikan untuk penelitian selanjutnya yaitu dapat menganalisis algoritma SHA-3 dengan algoritma lain yang lebih baru atau lebih aman, dikarenakan pada saat penulisan algoritma SHA-3 merupakan yang paling baru. Dapat juga dilakukan pengujian dengan menggunakan metode lain, dan juga untuk lebih meningkatkan keamanan dari suatu sistem web dapat menambahkan sistem autentikasi yang lainnya tidak hanya dengan hash password, dapat dengan HTTPS atau yang lainnya. Diharapkan penelitian ini dapat dijadikan rujukan untuk pengembangan selanjutnya.

7. DAFTAR PUSTAKA

Bernstein, J. D., 2005. Understanding brute-force. Department of Mathematics, Statistics, and Computer Science (M/C 249). The University of Illinois at Chicago

Bertoni, G., 2011. Cryptographic sponge function. STMicroelectronics NXP Semiconductors.

Canni`ere, De Christophe and Rechberger, Christian. 2006. Finding SHA-1 Characteristics: General Results and Applications. Institute for Applied Information Processing and Communications (IAIK). Graz University of Technology, Inffeldgasse 16a

Fakhrusy, M., 2016. Implementasi HMAC-SHA-3-Based One Time Password pada Skema Two-Factor Authentication. Institut Teknologi Bandung

Kumar, Amish dan Tiwari Namita, 2012. Effective Implementation and Avalanche Effect of AES. International Journal of

Security, Privacy and Trust Management (IJSPTM), Vol. 1, No 3/4

Oak, 2006. Understanding the independent-samples t Test. Northern Arizona University.

Oak, 2006. Understanding the One-Way ANOVA. Northern Arizona University.

Rhee, Y. M, 2003. Internet Security: Cryptographic principles, algorithms and protocols. School of Electrical and Computer Engineering. Seoul National University, Republic of Korea.

Romine, H. Charles, 2015. SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions. Federal Information Processing Standards Publications

Sarmadi, B.S, 2014. Efficient and Concurrent Reliable Realization of the Secure Cryptographic SHA-3 Algorithm. IEEE Transactions on Computer-Aided Design Of Integrated Circuits And Systems, Vol. 33, No. 7

Shaugi, A., 2012. Analisa dan Perbandingan Hasil Implementasi Algoritma MD5 dan SHA-1 pada sistem keamanan Simple-O. S1. Universitas Indonesia.

Stalling, W., 2011. Network Security Essentials: Application and Standards, 4th Edition. New Jersey: Pretince Hall

Stalling, W., 2005. Cryptography and Network Principles and Pratctices 4th Edition. New Jersey: Pretince Hall

Gambar

Gambar 3 Diagram blok metodologi penelitian
Gambar 4. Analisis data merupakan tahapan dimana
Tabel 5(a) Perbandingan keseluruhan pengujian
Tabel 5(b) Hasil pengujian avalanche effect untuk

Referensi

Dokumen terkait

d) Selain mendapatkan hadiah, setiap anggota berhak mendapatkan bagi hasil pada akhir periode simpanan. e) Setoran Si Wadiah dapat dilakukan di seluruh kantor

Setelah tahap inisialisasi data yang sesuai dengan akun Gmail dan pembangkitan kunci, user memasukkan plainteks yang akan dikirim pada textbox pesan yang tersedia

Bagaimana menurut bapak/ibu ketersediaan tenaga kerja untuk usahatani kopi saat ini.. Sangat Tersedia

Penguasaan afiksasi mahasiswa Program Studi Pendidikan Bahasa dan Sastra Indonesia Universitas Lampung, penguasaan afiks tertinggi mahasiswa pada prefiks,

Hasil penelitian pendahuluan menunjukkan, sari buah black mulberry memiliki pH asam yaitu 3,5 dimana pada kisaran pH tersebut karagenan lebih stabil, sehingga pada

Saya, Muhamad Arip Amir Udin, mahasiswa Strata 1 Program Studi Pendidikan Dokter Fakultas Kedokteran Universitas Diponegoro, akan melakukan penelitian dengan judul

Hasil perhitungan uji coba skala luas untuk kelas XI-ICT SMA Negeri 1 Kradenan terdapat 6 siswa belum tuntas atau sekitar 81,82% siswa tuntas.Apabila dibandingkan dengan

Menawi perangan inti ukara kala wau dipuntingali kanthi premati, badhe dipunmangertosi bilih sejatosipun wonten perangan inti tartamtu ingkang gadhah peran langkung