Skip to content

PassGAN: A Synthetic Password Generator

Halaman autentikasi

Mekanisme authentikasi dengan yang menggabungkan konsep Honeypot dan Machine Learning.

Penelitian ini mengusulkan skema autentikasi pengguna Extended Self-Adaptive Honey Encryption (XSHE) dengan memanfaatkan model Generative Adversarial Network (GAN) sebagai pembangkit password sintetik. Model PassGAN dipilih sebagai varian GAN karena terbukti memiliki kelebihan hasil password sintetik dalam hal kemiripan dibanding model lainnya. Skema XSHE dirancang menggunakan PassGAN, diimplementasikan, dan diujikan pada layanan autentikasi pengguna berbasis password. Berdasarkan penelitian yang sudah dilakukan didapatkan kesimpulan bahwa PassGAN dapat diimplementasikan pada skema autentikasi pengguna XSHE berupa halaman login dalam bahasa Python. Selain itu, dibuktikan bahwa skema XSHE yang dihasilkan mampu mengamankan database password dan mendeteksi adanya upaya password-cracking.

Judul penelitian

Skema Autentikasi Pengguna Extended Self-Adaptive Honey Encryption (XSHE) Menggunakan Generatif Adversarial Network (GAN).

Implementasi

Dalam penelitian ini, diusulkan skema HE yang diberi nama Extended Self- Adaptive Honey Encryption (XSHE), dimana merupakan kombinasi dan perluasan skema HE milik Tan Soo Fun et al., Thanda Win and Khin Su Myat Moe, dan Renuka and Booba untuk dapat memperkuat skema autentikasi pengguna berbasis password. XSHE nantinya akan menggunakan discrete distribution function, metode enkripsi XOR dan encoding, serta menggunakan PassGAN pada proses pembangkitan honeywords. Berikut algoritma XSHE yang diusulkan.

Inputs  :   Username (π‘ˆπ‘Ž), Password (π‘ˆπ‘), dan PIN (π‘ˆπ‘˜)
Step 1  :   Bangkitkan random index list (πΌπ‘Ž) [𝐼1, 𝐼2, 𝐼3, … 𝐼20]
Step 2  :   Bangkitkan honeywords list (𝐻𝑀) menggunakan PassGAN [𝐻1, 𝐻2, 𝐻3, … 𝐻19]
Step 3  :   Tambahkan π‘ˆπ‘ kedalam 𝐻𝑀 menjadi sweetwords (𝑆𝑀)
Step 4  :   Bangkitkan seed space list [𝑆1, 𝑆2, 𝑆3, … 𝑆20] menggunakan proses DTE (DTE Code Table)
Step 5  :   Pasangkan 𝑆𝑀 dengan 𝑆 [𝑆𝑀1. 𝑆1, 𝑆𝑀2. 𝑆2 , 𝑆𝑀3. 𝑆3, … 𝑆𝑀20. 𝑆20] secara random
Step 6  :   Lakukan honey encryption (𝐻𝐸) untuk setiap 𝑆𝑀π‘₯. 𝑆π‘₯ [𝐻𝐸1, 𝐻𝐸2, 𝐻𝐸3, … 𝐻𝐸20]
Step 7  :   Pasangkan πΌπ‘Ž dengan 𝐻𝐸 [𝐼1. 𝐻𝐸1, 𝐼2. 𝐻𝐸2 , 𝐼3. 𝐻𝐸3, … 𝐼20. 𝐻𝐸20]
Step 8  :   Tetapkan correct indeks untuk π‘ˆπ‘Ž (πΌπ‘Ÿ)
Output  :   Untuk π‘ˆπ‘Ž, siapkan 𝐹1, 𝐹2, dan 𝐻𝑐, dimana menyimpan:
          β€’ 𝐹1 = {π‘ˆπ‘Ž, [𝐼1, 𝐼2, 𝐼3, … 𝐼20]}
          β€’ 𝐹2 = {𝐼1. 𝐻𝐸1}, {𝐼2. 𝐻𝐸2}, {𝐼3. 𝐻𝐸3}, …, {𝐼20. 𝐻𝐸20}
          β€’ 𝐻𝑐 = {π‘ˆπ‘Ž, πΌπ‘Ÿ}

Sistem yang diusulkan memiliki empat entitas utama yang saling berkomunikasi, yaitu pengguna, aplikasi login yang menerapkan XSHE, web server, dan database. Web Server digunakan untuk layanan pertukaran data diantara entitas, sedangkan database digunakan untuk menyimpan data. Terdapat dua database di dalam sistem yang diusulkan. Database password adalah database utama dari sistem, dimana terdiri dari dua tabel 𝐹1 dan 𝐹2. 𝐹1 adalah database yang menyimpan username, daftar index milik username, dan status. Kolom status berisi jumlah percobaan password- cracking yang dilakukan pada username tersebut. Jika status menunjukkan nilai tiga, maka username akan otomatis terblokir. 𝐹2 adalah tabel yang terdiri dari pasangan index dan hasill honey encryption milik seluruh username yang terdaftar pada 𝐹1. Sedangkan database kedua bernama database honeychecker, dimana database ini memiliki satu tabel yang berisi username dan index asli milik username. Nilai index yang tersimpan pada honeychecker akan digunakan pada saat proses autentikasi. Gambar di bawah ini menunjukkan gambaran umum sistem.

Gambaran umum sistem

Gambaran proses login menggunakan skema XSHE diilustrasikan dalam bentuk flowchart dapat dilihat pada gambar di bawah ini.

Gambaran proses login

Skema pengujian Cracking Database Password Attack

Cracking

Skema pengujian Brute-Force Attack

Bruteforce

Tangkapan Layar

  1. Halaman autentikasi
    Halaman login

  2. Halaman registrasi
    Halaman registrasi

  3. Notifikasi terdeteksinya Honeywords
    Honeywords detection

Peneliti

  • Adek Muhammad Zulkham Ristiawan Kertanegara

Supervisor

  • Girinoto
  • Herman Kabetta
  • Hermawan Setiawan