- 2011/07/07

TFA (Two-Factor Authentication), adalah sebuah pendekatan untuk otentikasi pengguna yang membutuhkan penyajian dua macam bukti. Model otentikasi yang pertama kali saya tahu sejak 2008 diterapkan melalui hardware token pada setiap transaksi KlikBCA. Sedangkan untuk TFA pada aplikasi web, pada Februari 2011, Google memberikan opsi model otentikasi TFA ini (2-step verification) untuk login akun Gmail melalui OTP (One-Time-Password) via SMS. Lalu kemudian pada Mei 2011, Facebook juga memberikan opsi otentikasi model TFA ini untuk setiap login penggunanya. Dari situ saya punya ide untuk mencari dan menerapkan model otentikasi seperti ini di aplikasi web yang lain, dan ternyata ada penyedia TFA (Duo Security) yang memberikan fasilitas gratis untuk Wordpress, dengan syarat, pengguna kurang dari sepuluh pengguna.

Sebelumnya, saya menggunakan reCaptcha di halaman login blog saya ini, tapi sekarang, saya beralih ke otentikasi model TFA tersebut untuk pengguna level Administrator.

TFA dari Duo Security tersebut, jika diterapkan di Wordpress, urutannya adalah sebagai berikut :

  1. Pengguna mengunjungi halaman login wordpress seperti biasa (/wp-login.php)
  2. Pengguna menginputkan username dan password.
  3. Jika pengguna berhasil melakukan otentikasi, cookie belum diset.
  4. Akan ditampilkan otentikasi untuk pengisian token OTP TFA.
  5. Pengguna harus memasukkan OTP yang telah dikirimkan pada nomer ponsel yang telah ditetapkan.
  6. Jika OTP valid, maka pengguna akan di-forward ke halaman login lagi dengan parameter username dan password yang sukses pada otentikasi sebelumnya.
  7. Cookie di-set, halaman wp-admin ditampilkan.
  8. Selesai.

Berikut adalah tampilan dari halaman login Wordpress dan halaman otentikasi TFA:

Keterangan gambar:

  • Tampilan otentikasi standard Wordpress dengan textbox Username dan Password

Keterangan gambar:

  • Tampilan TFA setelah pengguna sukses melakukan otentikasi standard Wordpress

Dari eksperimen saya coba terhadap TFA yang saya terapkan untuk blog wordpress saya ini, kesimpulan menurut pendapat saya adalah lebih aman, yaitu:

  1. Meskipun orang lain tahu username dan password-nya, mereka tidak akan bisa login jika tidak memegang nomer ponsel yang telah ditentukan tersebut.
  2. OTP yang dikirimkan melalui SMS, bisa di-set rentang validitasnya (saya set untuk valid hanya 30 menit).

Rekomendasi saya untuk anda sebagai blogger yang menggunakan wordpress dan ingin menggunakan otentikasi model TFA ini adalah sebagai berikut:

  1. Wordpress anda terinstall di webhosting anda sendiri.
  2. Anda sudah sign-up di situs Duo Security.
  3. Anda mempunyai nomer ponsel aktif (tentunya).
  4. User yang login ke Wordpress anda kurang dari sepuluh user (cocok untuk blog pribadi atau bisa diset pada Option plugin wordpress anda level apa yang akan diotentikasi menggunakan TFA ini).
  5. Silahkan diatur jenis pengguna yang akan login melalui TFA sesuai level ACL-nya (misal: untuk level administrator saja)

Jika anda tertarik menggunakan otentikasi seperti ini, silahkan download plugin wordpress gratis dari Duo Security tersebut. Selamat mencoba.

Catatan:

  • Duo Security juga menyediakan otentikasi model TFA untuk berbagai jenis sistem (VPN, Server, Website), silahkan dilihat di situs resminya.
  • Library dari Duo Security juga disediakan gratis di Github jika anda berminat meng-custom untuk sistem anda sendiri.
  • Gratis jika pengguna yang akan login di sistem atau aplikasi web anda kurang dari 10 pengguna.
  • Plugin wordpress dari Duo Security ini tidak kompatibel dengan login reCaptcha.