JSpinPad: A Rotary Entry Pad with JSON Web Token
Mekanisme autentikasi yang aman untuk mencegah Shoulder Surfing Attack dan Smudge Attack pada perangkat Android.
Android merupakan salah satu sistem operasi gawai yang banyak digunakan oleh masyarakat dunia. Android menjadi salah satu sistem operasi smartphone terpopuler abad ini. Hal ini dikarenakan smartphone Android berubah menjadi kebutuhan dasar dari manusia seperti mencari nafkah, menyimpan data pribadi dan menyimpan aset secara digital. Seiring dengan itu juga kerentanan aplikasi berkembang, jenis serangan seperti Shoulder Surfing Attacks (SSA), Smudge Attacks dimana kerentanan ini menyerang pengguna gawai pada saat pengguna memasukkan PIN ke dalam gawai untuk keperluan otentikasi. Otentikasi merupakan bentuk pengamanan suatu aplikasi untuk melindungi data, aset dan informasi di dalam gawai. Pada penelitian skema otentikasi Spinpad untuk mencegah SSA sebelumnya terdapat masalah pada aspek usability yakni waktu login memerlukan waktu yang lama dan kepraktisan skema yang kurang. Selain itu, keamanan pada proses client ke server belum ada validasi yang kuat. Pada penelitian ini akan dibangun suatu aplikasi otentikasi Android menggunakan entrypad dialer dengan cara memasukkan PIN ke dalam aplikasi sebagai solusi perbaikan aspek usability penelitian Spinpad. Ditambah dengan penggunaan JSON Web Token (JWT) untuk mengamankan proses otentikasi dari client ke server. Metodologi penelitian menggunakan Design Research Methodology (DRM), dan pengembangan aplikasi menggunakan metode prototyping. Hasil akhir dari penelitian ini adalah perbaikan aspek usability dengan TQ-Model yaitu membandingkan nilai evaluasi Spinpad sebelum dan setelah diperbaiki. Juga dengan pengujian keamanan aplikasi client ke server.
Judul penelitian
Rancang Bangun Aplikasi Android Otentikasi Spinpad dengan JSON Web Token (JWT).
Implementasi
Rotary entry pad diterapkan ke bagian log-in aplikasi yang berfungsi untuk memasukkan PIN ke dalam bidang kata sandi PIN. Pada halaman pendaftaran, pengguna memasukkan PIN yang akan didaftarkan ke dalam aplikasi sebagai kredensial beserta email. Pengguna tidak dapat menggunakan kembali email yang sudah terdaftar. Pengguna diminta memasukkan PIN yang sama dua kali saat mendaftar. Pengguna otomatis berpindah ke halaman login jika sudah terdaftar pada tahap registrasi. Seperti yang ditunjukkan pada gambar di bawah, model rotary endtry pad digunakan untuk meningkatkan aspek kegunaan pada penelitian sebelumnya.
Terlihat pada gambah di bawah, halaman registrasi merupakan halaman bagi pengguna untuk mendaftarkan akun untuk autentikasi ke dalam suatu aplikasi dimana pengguna diharuskan mengisi data-data berupa email, password, dan konfirmasi password. Selanjutnya data kredensial yang didaftarkan disimpan dalam database.
JWT digunakan untuk membantu proses enkripsi yang dikirimkan dalam bentuk JSON sebagai payload JSON Web Signature (JWS) atau struktur teks biasa JSON Web Encryption (JWE) untuk klaim selanjutnya yang akan ditandatangani secara digital menggunakan Message Authentication Code (MAC). JWT adalah string yang terdiri dari tiga struktur, yaitu,
-
Header JWT berisi informasi tentang bagaimana tanda tangan JWT akan dihitung. Di header, "alg" adalah hashnya algoritma yang digunakan.
header = ftyp:JWT:alg:HS256g
-
JWT Payload berisi data yang disimpan di JWT, bisa berupa user id, email, atau terkait dengan pengguna.
payload = fuserId:example@email.com
-
JWT Signature berisi tanda tangan yang telah ditentukan sebelumnya pada header dan payload yang dihitung menggunakan suatu algoritma.
data = header + .+ payload
hashData = hash(data)
signature=base64urlEncode(hashedData)
Pengujian keamanan dilakukan untuk mengetahui apakah JSpinpad sebagai Entry Pad Rotary Dialer dapat mencegah serangan shoulder surfing. Gambar di bawah menunjukkan bahwa peserta diberikan video yang menunjukkan pengguna memasukkan kombinasi PIN selama proses otentikasi.
Selain itu, dilakukan pengujian terhadap jenis serangan rekaman SSA. Ada lima sampel yang diuji. Pertama, sampel diberikan sepuluh rekaman video orang yang memasukkan kombinasi pin, dimana satu kombinasinya adalah enam digit. Kemudian sampel mencoba menebak setiap kombinasi digit yang dimasukkan dalam aplikasi berdasarkan videotape recorder. hasil pengujian ditunjukkan pada gambar di bawah ini.
Penelitian ini telah berhasil mengimplementasikan JSpinpad sebagai otentikasi rotary entry pad berbasis mobile yang aman dengan mengimplementasikan JWT pada backend. Penyempurnaan JSpinpad mengikuti tujuan awal dalam merumuskan masalah yaitu kecepatan dan kemudahan penggunaan dengan melakukan evaluasi TQ-Model pada aplikasi. Selain itu tetap memenuhi unsur keamanan karena penggunaan JWT. Sampel uji Serangan shoulder surfing berhasil menebak PIN dalam jumlah kecil. Dua dari lima responden gagal menebak angka sama sekali. Hanya 1 dari 5 sampel yang berhasil menebak enam kombinasi PIN 10 digit dari 10 kombinasi pangkat 10. Untuk pertama kalinya, penelitian ini berhasil melakukan evaluasi kegunaan pada mekanisme otentikasi rotary entry pad berbasis mobile menggunakan TQ -Model. Evaluasi kegunaan dengan JSpinpad menunjukkan hasil yang lebih baik pada tujuh parameter, hanya satu parameter yang negatif, dan 10 dari 13 bernilai nol. Terdapat proses pengacakan nomor yang didial up oleh setiap pengguna, dan hasil ini menunjukkan bahwa TQ-Model dapat diterapkan dengan tepat pada JSpinpad. Penelitian ini menunjukkan bagaimana mengukur kegunaan mekanisme otentikasi menggunakan TQ-Model. Hasil penelitian ini diharapkan dapat menjadi referensi bagi penelitian-penelitian lain khususnya mengenai mekanisme autentikasi menggunakan rotary entry pad. Meski demikian, penelitian ini tidak memeriksa keamanan pada keacakan perputaran pin. Oleh karena itu, penelitian lebih lanjut dapat dilakukan dengan menerapkan algoritma pengacakan yang aman pada rotasi pin dan mengevaluasi kembali keamanan dan kegunaannya.
Tangkapan Layar
-
Halaman login
-
Halaman registrasi
-
Respon JWT
Peneliti
- Muhamad Qolby Fawzan
Supervisor
- Herman Kabetta
- Hermawan Setiawan
- Nurul Qomariasih
Publikasi
Kabetta, Herman, et al. "Seamless Security on Mobile Devices Textual Password Quantification Model Based Usability Evaluation of Secure Rotary Entry Pad Authentication." MATRIK: Jurnal Manajemen, Teknik Informatika dan Rekayasa Komputer 22.2 (2023): 299-308. doi: 10.30812/matrik.v22i2.2700