Bab 4 Hasil dan Pembahasan - Institutional Repository | Satya Wacana Christian University: Otentikasi Dua Faktor pada Proses Login SIASAT dengan AES, SHA-512, dan PNRG

Bab 4 Hasil dan Pembahasan Pada bab ini akan dibahas tentang hasil perancangan, pengujian,

  dan analisis hasil implementasi Verifikasi Dua Langkah Pada Login SIASAT dengan AES, SHA-512, dan PNRG.

4.1 Implementasi Sistem

  Berdasarkan perancangan sistem, dilakukan proses pengembangan sistem. Pengembangkan sistem dilakukan dengan menggunakan metodologi pengembangan perangkat lunak prototype

  (Pressman & Jawadekar, 1987). Pada proses implementasi

  model

  dihasilkan beberapa prototype. Diagram prototype model ditunjukkan pada Gambar 12.

  .

  .

Gambar 4.1 Prototype Model (Pressman & Jawadekar, 1987) Setelah melalui tahap pengembangan prototype, dan evaluasi

  

prototype , dihasilkan prototype akhir. Ringkasan pengembangan

prototype dan evaluasi ditunjukkan pada Tabel 4.1.

Tabel 4.1 Pengembangan dan Evaluasi Prototype No Kebutuhan/Evaluasi Hasil

  1 Halaman ganti password muncul jika password sama dengan tanggal lahir mahasiswa.

  Nomor handphone mahasiswa dienkripsi dengan AES (sudah ada di .Net Framework). Kunci enkripsi yang digunakan adalah password baru (bukan password default tanggal lahir).

  Halaman input kode keamanan muncul ketika password yang digunakan BUKAN password default tanggal lahir). Kode keamanan dibangkitkan dengan PNRG, dengan panjang 8 karakter.

  Masa berlaku kode keamanan dibatasi sebesar 1 menit. Kode keamanan jangan menggunakan heksadesimal, tetapi menggunaakan lookup string “ABCDEFGH

  IJKLMNOPQ RSTUVWXYZ 0123456789 ” sehingga memperbesar kombinasi kode yang dihasilkan.

  2 Kode keamanan diberi masa berlaku 1 menit.

  Kode keamanan menggunaakan lookup string “ABCDEFGH

  IJKLMNOPQ RSTUVWXYZ 0123456789 ” sehingga memperbesar kombinasi kode yang dihasilkan.

  Proses random yang dilakukan yaitu membangkitkan angka antara 0 s/d 35, kemudian angka tersebut digunakan untuk memilih karakter pada lookup string Jumlah kesalahan input dibatasi sebanyak 3 kali.

  3 Jumlah kesalahan input dibatasi sebanyak 3 kali.

  Kemudian akun mahasiswa ditahan selama 60 menit.

Gambar 4.2 Halaman Ganti Password dan Input Nomor Handphone

  Sesuai dengan perancangan proses sistem dan rancangan yang dilakukan oleh Lolangion (Lolangion & Pakereng, 2014), halaman ganti password dan input nomor handphone (Gambar 13) hanya muncul ketika mahasiswa login pertama kali ke dalam sistem SIASAT. Mahasiswa diwajibkan untuk mengganti password, karena password awal merupakan password yang ditetapkan oleh Administrator SIASAT. Nomor handphone juga perlu dimasukkan oleh Mahasiswa, untuk digunakan pada saat proses pengiriman kode keamanan. Nomor

  

handphone mahasiswa disimpan di tabel Mahasiswa dalam format

ciphertext . Proses enkripsi dilakukan dengan menggunakan algoritma

  AES. Password disimpan dalam bentuk hash, diproses dengan menggunakan algoritma SHA-512. Hasil proses simpan password dan nomor handphone ditunjukkan pada Gambar 4.3.

  Kode Program 4.1 Perintah Untuk Proses Enkripsi dengan AES

  

1. AesCryptoServiceProvider aes = new AesCryptoServiceProvider();

2. aes.KeySize = 128;

  3. aes.Key = key16; 4.

  5. using (ICryptoTransform encrypt = aes.CreateEncryptor()) 6.

  { 7. byte[] dest = encrypt.TransformFinalBlock(src, 0, src.Length); 8. return dest; 9. } Kode Program 4.1 merupakan perintah untuk proses enkripsi.

  .Net Framework menyediakan pustaka untuk kriptografi, dan salah satunya adalah algoritma AES. Class AesCryptoServiceProvider (perintah pada baris 1) merupakan class yang membungkus algoritma AES. Melalui class tersebut, dilakukan proses enkripsi dan dekripsi

  Kode Program 4.2 Perintah untuk Proses Dekripsi dengan AES 1.

  AesCryptoServiceProvider aes = new AesCryptoServiceProvider(); 2. aes.KeySize = 128; 3. aes.Key = key16; 4.

  5. using (ICryptoTransform decrypt = aes.CreateDecryptor()) 6.

  { 7. byte[] dest = decrypt.TransformFinalBlock(src, 0, src.Length); 8. return dest; 9. }

  Kode Program 4.2 merupakan perintah untuk proses dekripsi. Seperti halnya proses enkripsi, proses dekripsi juga menggunakan pustaka AES yang telah tersedia di .Net Framework.

Gambar 4.4 Halaman Input Verification Code

  Halaman input kode keamanan (Gambar 15) muncul setelah mahasiswa melakukan login ke sistem SIASAT. Jika mahasiswa memasukkan kombinasi NIM dan password dengan tepat, maka akan ditampilkan halaman pada Gambar 15. Kode keamanan yang dikirim kepada mahasiswa yang bersangkutan, memiliki masa berlaku 1 menit.

  .

  Kode Program 4.3 Perintah untuk Membangkitkan Verification code 1. string lookups = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 2.

var seedString = nim + dateTime.ToString("yyyyMMddHHmmss");

3. var bytes = Encoding.Default.GetBytes(seedString); 4. var seed = Helper.XOR(bytes); 5. int panjangVC = 8; 6.

7. Random random = new Random(seed); 8.

  9. char[] buffer = new char[panjangVC]; 10. for (int i = 0; i < panjangVC; i++)

  11. { 12. var index = random.Next(0, lookups.Length); 13. buffer[i] = lookups[index]; 14. }

  15.

  16. return new string(buffer);

  Kode Program 4.3 merupakan perintah untuk proses membangkitkan kode keamanan. Langkahnya adalah dengan bulan, tanggal, jam, menit dan detik (perintah pada baris 2). Nilai seed

  

string kemudian dimodulasikan dengan perintah XOR (perintah pada

  baris 4), sehingga dihasilkan satu angka seed. Angka seed digunakan pada class Random (perintah baris 7), untuk membangkitkan bilangan semi acak (perintah baris 12). Angka acak diberi batas antara 0 sampai dengan 36, angka 36 tidak termasuk (perintah baris 12). Angka acak yang dihasilkan, digunakan untuk memilih karakter yang terdapat pada

  

lookup string (perintah baris 1). Contoh angka acak ditunjukkan pada

Gambar 4.5.

Gambar 4.5 Verification code Yang Dikirim Melalui SMS Gateway Gammu

  Pada Gambar 4.5 ditunjukkan isi dari tabel outbox dari database yang digunakan oleh SMS Gateway Gammu. Tabel ini menjelaskan antrian sms yang akan dikirimkan oleh Gammu ke nomor tujuan yang terdefinisi pada kolom DestinationNumber. Isi sms didefinisikan pada kolom TextDecoded.

  Contoh proses pembentukan kode keamanan ditunjukkan pada langkah-langkah berikut:

1. Jika diketahui NIM = 672012601, dan password SIASAT =

  gadisdesa, dan nomor handphone = 085641437472 2.

  Maka yang tersimpan di adalah

  password database

  SHA512(“gadisdesa”) =

  791FDB1FBFF2039BD8AA6612D03F3E76332FB1F597B42229B834FB DC49E4C585C190642962A36DED48AB6BCC465018997D48696423D5 F2D89E43EB3B70BFA72F

3. Nomor handphone disimpan dengan nilai hasil dari

  AES(kunci=gadisdesa, plaintext = 085641437472) =

BC31DE17B42F5517D4FA6C70346C830F 4.

  ”. Seed tersebut diolah menjadi nilai akhir berupa satu angka, yaitu 50. Seed Strin g 6 7 2 1 2 6 1 2 1 5 4 2 6 2 2 3 ASCII 5 4 5 5 5 4 8 4 9 5 5 4 4 8 4 9 5 4 8 4 9 5 3 4 8 5 2 5 5 4 5 5 5 1 Hasil Modul asi 5 5.

  8 I

  67201260120150426223231

   Kode keamanan

  4RZI2JLS

  9 J 11 l 18 s

  2

  28

  25 Z

  Dilakukan perulangan sebanyak 8 kali, sesuai panjang kode keamanan. Pada tiap perulangan dibangkitkan nilai acak antara 0 s/d 36. Rentang angka tersebut merupakan panjang dari lookup

  Kemudian kode keamanan dibentuk dengan menggunakan nilai gabungan antara NIM, dan waktu saat itu sebagai seed. Sebagai contoh “

  4 Index ke 30 pada lookup string adalah angka “4”

  30

  Index Random

  “ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789”

  string yang digunakan untuk membangkitkan nilai acak, yaitu

  17 R

4.2 Pengujian Sistem

  Pada sistem yang dibangun, dilakukan pengujian blackbox untuk melihat apakah sistem telah memberikan solusi dari kebutuhan yang terdefinisi. Pengujian blackbox dilakukan dengan cara membandingkan antara luaran yang diharapkan, dengan luaran yang diberikan oleh sistem. Hasil pengujian blackbox ditampilkan pada Tabel 4.2.

Tabel 4.2 Hasil Pengujian Blackbox

  No Pengujian Ekspektasi Luaran Sistem Kesimpulan

  1 Mahasiswa login pertama kali Halaman ganti

  

password dan input

  nomor handphone ditampilkan Sesuai Lolos

  2 Mahasiswa login dengan menggunakan kombinasi NIM dan

  Password yang

  salah Pesan kesalahan ditampilkan.

  Halaman login tetap ditampilkan Sesuai Lolos

  3 Mahasiswa login dengan menggunakan kombinasi NIM dan

  Password yang tepat.

  Halaman input kode keamanan ditampilkan

  Sesuai Lolos Kode keamanan (VC) dikirimkan lewat SMS ke nomor handphone

  Sesuai Lolos bersangkutan

  4 Mahasiswa memasukkan VC yang benar sebelum masa berlaku habis (<= 1 menit) Verifikasi berhasil.

  Halaman SIASAT ditampilkan Seusai Lolos

  5 Mahasiswa memasukkan VC yang benar, namun lewat masa berlaku ( > 1 menit)

  Pesan “VC habis masa berlaku ditampilkan”. Tombol “Kirim Lagi Yang Baru” ditampilkan.

  Sesuai Lolos

  6 Mahasiswa memasukkan VC yang salah.

  Pesan kesalahan ditampilkan. Ditampilkan halaman verifikasi.

  Sesuai Lolos

  7 Mahasiswa memasukkan VC yang salah kedua kali

  Pesan kesalahan ditampilkan. Ditampilkan halaman verifikasi

  Sesuai Lolos

  8 Mahasiswa memasukkan VC yang salah ketiga kali

  Pesan kesalahan ditampilkan. Akses

  login untuk

  mahasiswa tersebut ditutup selama 60 menit.

  Sesuai Lolos

  9 Mahasiswa Untuk proses Sesuai Lolos melakukan update verifikasi nomor handphone. selanjutnya, digunakan nomor

  handphone yang baru.

  10 Mahasiswa login Halaman verifikasi Seusai Lolos setelah lewat 60 ditampilkan dengan menit pemblokiran kode baru login .

  Berdasarkan hasil pengujian blackbox yang ditunjukkan pada Tabel 4.2, diperoleh kesimpulan bahwa sistem telah memberikan solusi dari kebutuhan yang terdefinisi. Kode keamanan hanya dapat digunakan ketika masa berlaku belum habis. Kesalahan pengisian sebanyak 3 kali mengakibatkan sistem tidak dapat diakses selama 60 menit.

  Pengujian kedua yang dilakukan adalah pengujian performa sistem. Pengujian kecepatan enkripsi dilakukan untuk mengetahui lama waktu yang diperlukan untuk proses enkripsi dan dekripsi nomor handphone. Pada pengujian ini digunakan variasi panjang nomor

  

handphone yang umum digunakan di Indonesia. Hasil pengujian

ditunjukkan pada Tabel 4.3.

Tabel 4.3 Hasil Pengujian Kecepatan Enkripsi

  Waktu Waktu No Jumlah Ukuran No Enkripsi Dekripsi Handphone Karakter Block (detik) (detik)

  1 0811000000

  10 1 0.00405 0.00406 2 0811000888 10 1 0.00400 0.00420

  3 0811123412

  10 1 0.00419 0.00402 4 0811888888 10 1 0.00401 0.00401 5 08500500000 11 1 0.00403 0.00401 6 08500500555 11 1 0.00412 0.00415 7 08500567890 11 1 0.00415 0.00413 8 08500000000 11 1 0.00416 0.00415 9 085640000000 12

  1 0.00413 0.00407 10 085641010101 12 1 0.00403 0.00414 11 085644444444 12 1 0.00411 0.00400 12 085645678901 12 1 0.00419 0.00400

  Ukuran block yang dihasilkan konstan, karena dengan panjang karakter 10-12 maka akan dimasukkan ke dalam satu block AES yang berukuran 128 bit (16 byte/karakter). AES melakukan proses enkripsi dan dekripsi dalam satuan block, sehingga dengan variasi panjang 10- 12 yang masuk ke dalam 1 block, maka waktu proses enkripsi dan dekripsi tidak berbeda jauh.

  Pengujian Waktu Proses Pembangkitan Kode Keamanan dilakukan untuk mengetahui waktu proses terhadap pengaruh input. Pengujian dilakukan dengan mengujikan 10 teks input yang dibangkitkan secara acak berdasarkan pola NIM dan Waktu, kemudian dicatat waktu proses PRNG dan XOR. Hasil pengujian ditunjukkan pada Tabel 4.4.

Tabel 4.4 Hasil Pengujian Waktu Proses Pembangkitan Kode Keamanan

  No Input Panjang Waktu Proses PRNG (detik) Waktu Proses Akumulasi

  XOR (detik) Total (detik)

  1 67200718520141217011011 23 0.00374 0.00571 0.00945 2 67200718520141217021111 23 0.00324 0.00595 0.00919 3 67200718520141220090907 23 0.00351 0.00554 0.00905 4 67200718520141220090912 23 0.00335 0.00513 0.00848 5 67200718520141227175634 23 0.00374 0.00585 0.00959 6 67200718520141227180009 23 0.00358 0.00532 0.00890 7 67200718520141228151717 23 0.00330 0.00517 0.00847 8 67200718520141228160007 23 0.00350 0.00589 0.00939 9 67200718520150102145657 23 0.00372 0.00548 0.00920 10 67200718520150102140000 23 0.00362 0.00522 0.00884

  Pada hasil pengujian pada Tabel 4.4, diperoleh kesimpulan bahwa panjang input selalu tetap, sehingga proses PRNG menggunakan waktu yang relatif sama yaitu dengan rata-rata 0.003 detik. Waktu akumulasi juga relatif tetap yaitu 0.005 detik.

  Perbedaan kode keamanan yang digunakan pada penelitian ini dibandingkan dengan penelitian Lolangion adalah pada proses pembentukan. Pada penelitian Lolangion, digunakan 4 byte kode yang direpresentasikan pada bilangan heksadesimal sehingga menjadi 8 byte. Kombinasi yang terbentuk dapat dihitung dengan perhitungan 256 x 256 x 256 x 256 = 4,294,967,296. Bilangan 256 adalah maksimal rentang nilai byte. Jika dihitung menggunakan kemungkinan kemunculan bilangan heksadesimal maka:

0-F 0-F 0-F 0-F 0-F 0-F 0-F 0-F

  16

  16

  16

  16

  16

  

16

  16 16 =4,294,967,296 3716CAE5.

  Contoh kode keamanan yang dihasilkan: Kode tersebut dihasilkan dari proses akumulasi panjang hash hasil SHA-512, yaitu 64 byte, atau 128 karakter pada heksadesimal. Untuk memperoleh panjang 8 karakter, maka dibagi ke dalam 128/8 = 16 kelompok. Kemudian kelompok satu dengan kelompok kedua dilakukan operasi XOR,

  Sedangkan pada penelitian ini, proses pembangkitan dilakukan dengan membangkitkan bilangan acak sebanyak 8 kali, sehingga 2 kali lebih cepat. Kemungkinan kunci yang dihasilkan adalah 36 x 36 x 36 x 36 x 36 x 36 x 36 x 36 =2,821,109,907,456.

  A-9 A-9 A-9 A-9 A-9 A-9 A-9 A-9

  36

  36

  36

  36

  36

  36

  36 36 =2,821,109,907,456

  Berdasarkan analisis ini, maka kode keamanan memiliki kemungkinan bertabrakan lebih kecil karena kombinasi yang dimungkinkan adalah =2,821,109,907,456 kombinasi kode keamanan. Proses pembentukan juga lebih cepat daripada penelitian sebelumnya, yaitu 2 kali lebih cepat.

  Pengujian keamanan perlu dilakukan untuk mengetahui hal berikut: (1) Mahasiswa hanya dapat login SIASAT jika memiliki NIM, password dan nomor handphone yang terdaftar di sistem; (2) Kegagalan memasukkan kode keamanan sebanyak 3 kali berakibat akun mahasiswa tertahan selama 60 menit. Hasil pengujian ditunjukkan pada Tabel 5. Pada pengujian ini digunakan NIM dan password yang sama sepanjang pengujian yaitu NIM = 672012601, dan password SIASAT = gadisdesa.

Tabel 4.5 Hasil Pengujian Keamanan

  Kode Kode Waktu Kode Keamanan Waktu Keamanan Kode No berlaku Masih Login yang Login yang Cocok kode Berlaku dimasukkan seharusnya

1 FF65SFEE 10:12:02 FF65SFEE 10:13:20 Ya Ya Berhasil

  

2 AB458612 11:02:04 AB458612 11:00:12 Y Tidak Gagal 1

3 11:04:11 11:05:05 Tidak Ya Gagal 2

  23X56EV4

  23X56EW4

  4

  23X56XX4 11:04:23

  23X56EW4 11:05:05 Tidak Ya Gagal 3

  5 Akun diblokir sampai dengan 12:04:52

6 12:06:00 12:07:00 Ya Ya Berhasil

TYU76213 TYU76213

  Berdasarkan hasil pengujian kemanan, disimpulan bahwa sistem hanya dapat diakses oleh pengguna yang memiliki NIM, password SIASAT, dan nomor handphone mahasiswa. Sistem akan menahan akses selama 60 menit bagi pengguna yang hanya memiliki NIM dan password saja, dan memasukkan kode keamanan secara sembarangan sebanyak 3 kali.

Dokumen yang terkait

BAB II KAJIAN PUSTAKA 1.1 Kajian Teori 2.1.1 Perilaku Sopan Santun Anak Usia Dini a. Pengertian perilaku sopan santun - Institutional Repository | Satya Wacana Christian University: Peningkatan Perilaku Sopan Santun Melalui Metode Bercerita pada Anak Usia

0 2 8

BAB III METODE PENELITIAN 3.1 Jenis Penelitian - Institutional Repository | Satya Wacana Christian University: Peningkatan Perilaku Sopan Santun Melalui Metode Bercerita pada Anak Usia 5-6 Tahun di Kampung Krajan RT. 07 & 10/ RW. 05 Kelurahan Salatiga

0 0 9

BAB IV HASIL PELITIAN DAN PEMBAHASAN 4.1 Gambaran Umum Subyek Penelitian - Institutional Repository | Satya Wacana Christian University: Peningkatan Perilaku Sopan Santun Melalui Metode Bercerita pada Anak Usia 5-6 Tahun di Kampung Krajan RT. 07 & 10/ RW.

0 0 28

Institutional Repository | Satya Wacana Christian University: Peningkatan Perilaku Sopan Santun Melalui Metode Bercerita pada Anak Usia 5-6 Tahun di Kampung Krajan RT. 07 & 10/ RW. 05 Kelurahan Salatiga

0 0 70

BAB II KAJIAN PUSTAKA A. Pendidikan Anak Usia Dini 1. Pengertian Anak Usia dini - Institutional Repository | Satya Wacana Christian University: Peran Ibu dan Pembantu Rumah Tangga sebagai Pengasuh Utama dalam Kegiatan Bermain Anak di Lingkungan Perumahan

0 1 7

BAB IV HASIL PENELITIAN DAN PEMBAHASAN A. Jalannya Penelitian 1. Tahap Persiapan - Institutional Repository | Satya Wacana Christian University: Peran Ibu dan Pembantu Rumah Tangga sebagai Pengasuh Utama dalam Kegiatan Bermain Anak di Lingkungan Perumahan

0 0 12

Institutional Repository | Satya Wacana Christian University: Peran Ibu dan Pembantu Rumah Tangga sebagai Pengasuh Utama dalam Kegiatan Bermain Anak di Lingkungan Perumahan Purnamandala Wonosobo

0 3 48

Institutional Repository | Satya Wacana Christian University: Perancangan Aplikasi Perkiraan Wajah Manusia di Masa Depan Menggunakan Algoritma Warp dan Morph Berbasis Android

0 0 24

Institutional Repository | Satya Wacana Christian University: "Penerapan RESTful Web Service dan JSON pada Application Programming Interface (API) Sistem Informasi Perkembangan Ayam Broiler Berbasis Kemitraan "

0 0 28

Bab 2 Tinjauan Pustaka - Institutional Repository | Satya Wacana Christian University: Otentikasi Dua Faktor pada Proses Login SIASAT dengan AES, SHA-512, dan PNRG

0 0 9