Back to blog
Security

Cara Kerja 2FA (Two-Factor Authentication): Mengamankan Login dari Hacker

Password serumit apapun bisa bocor dari database atau jebakan Phishing. Karena itulah semua aplikasi perbankan mewajibkan pengaktifan kunci lapis kedua (2FA).

super admin·24 Juni 2026·2 min read
Cara Kerja 2FA (Two-Factor Authentication): Mengamankan Login dari Hacker
Article Content

Password Saja Tidak Pernah Cukup

Sebagai *developer*, kamu sudah mengamankan *password* *user* dengan *Hashing Bcrypt*. Tapi bagaimana jika *user* tersebut tertipu oleh website palsu (Phishing) dan secara sukarela mengetikkan *email* serta *password* aslinya di sana? Hacker memiliki kuncinya dan bisa bebas masuk ke sistemmu.

Untuk menghentikan *hacker* yang sukses mencuri *password*, dunia *Cybersecurity* menerapkan 2FA (Two-Factor Authentication / Autentikasi Dua Faktor).

Filosofi Tiga Faktor Keamanan

Sistem otentikasi di IT didasarkan pada 3 faktor bukti (Evidence):

  1. Sesuatu yang kamu TAHU (Knowledge): Password atau PIN. (Hacker bisa mencurinya).
  2. Sesuatu yang kamu MILIKI (Possession): HP-mu, Simcard, atau Aplikasi Google Authenticator.
  3. Sesuatu yang melekat pada DIRIMU (Inherence): Sidik jari (Fingerprint) atau Pemindai Wajah (FaceID).

Single-Factor berarti hanya pakai Password. Two-Factor (2FA) berarti gabungan 2 lapis. Setelah lolos Password (Tahu), kamu wajib membuktikan faktor kedua, yaitu memasukkan kode 6 digit dari HP yang kamu Genggam (Miliki).

Cara Kerja TOTP (Google Authenticator)

Dulu 2FA menggunakan SMS OTP (One-Time Password). Namun karena SMS mudah disadap (*SIM Swapping*), industri beralih ke aplikasi TOTP (Time-based One-Time Password) seperti *Google Authenticator* atau *Authy*.

Bagaimana aplikasi Authenticator yang sedang Offline (tanpa internet) bisa menghasilkan 6 angka kembar yang sama persis dengan angka yang diharapkan oleh Server *Backend*?

Sihir Kunci Matematika Waktu:

  1. Seed (Benih Rahasia): Saat *user* mengaktifkan 2FA, Server *Backend* membuatkan teks rahasia (Misal: TAMPILKIT_SECRET_99). Server menampilkan teks ini dalam bentuk QR Code ke layar.
  2. Scan: Aplikasi Google Authenticator di HP *user* memindai QR Code tersebut dan menyimpan TAMPILKIT_SECRET_99 di memori HP.
  3. Hitungan Berjalan Berbarengan: Saat *user* mau Login, Aplikasi HP mengambil kunci rahasia itu, lalu menggabungkannya dengan Waktu Jam Dunia Internasional (Unix Timestamp) saat ini, dan di-hash (dikalkulasi) menjadi angka 6 digit (Misal: 123456). Angka ini otomatis berubah setiap 30 detik.
  4. Validasi Server: User mengetik 123456 di web. Server *Backend* (yang juga tahu Kunci Rahasia dan tahu jam berapa saat ini) akan melakukan kalkulasi matematika yang sama. "Hmm.. Jika kuncinya X dan jamnya Y, angkanya pasti 123456. Wah cocok! Orang ini memegang HP aslinya!"

Karena algoritma TOTP bersifat *Offline*, *hacker* dari Rusia yang memiliki *password* user tidak akan bisa masuk, kecuali mereka terbang ke Indonesia dan merampas HP fisik milik korban secara langsung!

Mau langsung pakai template?

Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.

Browse Templates