PassGAN: A Synthetic Password Generator
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 proses login menggunakan skema XSHE diilustrasikan dalam bentuk flowchart dapat dilihat pada gambar di bawah ini.
Skema pengujian Cracking Database Password Attack
Skema pengujian Brute-Force Attack
Tangkapan Layar
-
Halaman autentikasi
-
Halaman registrasi
-
Notifikasi terdeteksinya Honeywords
Peneliti
- Adek Muhammad Zulkham Ristiawan Kertanegara
Supervisor
- Girinoto
- Herman Kabetta
- Hermawan Setiawan