Blog
← Back to Blog
July 24, 2026👁 2 views

Authentication Modern: Passkeys vs Password — Masa Depan Login Tanpa Password

AuthenticationPasskeysWebAuthnSecurityWeb Development

Passkeys — Akhir dari Era Password?

Password sudah berusia lebih dari 60 tahun sebagai metode autentikasi utama di dunia digital. Namun kenyataannya, password adalah mata rantai terlemah dalam keamanan — mudah ditebak, sering di-reuse, dan rentan terhadap phishing. Kini, industri teknologi bergerak menuju Passkeys sebagai penggantinya.

🔑 Apa Itu Passkeys?

Passkeys adalah kredensial digital berbasis public-key cryptography yang menggantikan password. Alih-alih mengetik password, user cukup menggunakan:

  • Fingerprint (Touch ID, sensor sidik jari)

  • Face recognition (Face ID)

  • Screen lock (PIN device)

  • Hardware security key (YubiKey)

Passkeys dibangun di atas standar WebAuthn (Web Authentication API) yang dikembangkan oleh FIDO Alliance dan W3C.

⚙️ Bagaimana Cara Kerjanya?

Passkeys menggunakan pasangan public key dan private key:

  1. Registrasi — device membuat key pair. Public key dikirim ke server, private key tetap di device (disimpan di Secure Enclave / TPM)

  2. Login — server mengirim challenge, device menandatanganinya dengan private key setelah verifikasi biometrik

  3. Verifikasi — server memverifikasi signature menggunakan public key yang tersimpan

Private key tidak pernah meninggalkan device dan tidak pernah dikirim ke server. Ini yang membuat passkeys tidak bisa di-phishing.

🛡️ Passkeys vs Password — Perbandingan

AspekPasswordPasskeysPhishing❌ Rentan✅ Tidak mungkinBrute force❌ Bisa diserang✅ Tidak relevanData breach❌ Hash bisa di-crack✅ Server hanya simpan public keyReuse antar situs❌ Sering terjadi✅ Unik per situs otomatisUser experience😩 Harus diingat😊 Tap fingerprint sajaMFA built-in❌ Perlu tambahan✅ Sudah termasuk (device + biometrik)

🌐 Siapa yang Sudah Mendukung?

  • Google — passkeys untuk Google Account, default sejak 2024

  • Apple — iCloud Keychain sync passkeys antar device

  • Microsoft — Windows Hello + passkeys untuk Microsoft Account

  • GitHub — passkeys sebagai opsi login

  • PayPal, Amazon, WhatsApp — sudah adopsi passkeys

💻 Implementasi di Web App

Registrasi Passkey (Frontend):

// Minta credential baru dari browser
const credential = await navigator.credentials.create({
  publicKey: {
    challenge: serverChallenge, // dari server
    rp: { name: "My App", id: "myapp.com" },
    user: {
      id: userId,
      name: "user@email.com",
      displayName: "John Doe",
    },
    pubKeyCredParams: [
      { alg: -7, type: "public-key" },   // ES256
      { alg: -257, type: "public-key" }, // RS256
    ],
    authenticatorSelection: {
      residentKey: "required",
      userVerification: "required", // biometrik wajib
    },
  },
});

// Kirim public key ke server untuk disimpan
await fetch("/api/auth/register-passkey", {
  method: "POST",
  body: JSON.stringify(credential),
});

Login dengan Passkey:

// Minta user untuk autentikasi
const assertion = await navigator.credentials.get({
  publicKey: {
    challenge: serverChallenge,
    rpId: "myapp.com",
    userVerification: "required",
  },
});

// Kirim signature ke server untuk diverifikasi
const res = await fetch("/api/auth/login-passkey", {
  method: "POST",
  body: JSON.stringify(assertion),
});

📦 Library yang Memudahkan

  • @simplewebauthn/server + @simplewebauthn/browser — library paling populer untuk WebAuthn

  • Hanko — auth platform open-source dengan passkey support

  • Corbado — passkey-first authentication service

  • Auth.js (NextAuth) — sudah support WebAuthn/passkeys

⚠️ Tantangan dan Keterbatasan

  • Device dependency — passkey tersimpan di device tertentu (mitigasi: sync via iCloud/Google Password Manager)

  • Recovery flow — jika kehilangan semua device, perlu mekanisme recovery yang aman

  • Browser support — sudah didukung di Chrome, Safari, Firefox, Edge terbaru

  • User education — banyak user belum familiar dengan konsep passkeys

🔄 Strategi Migrasi: Password ke Passkeys

  1. Phase 1 — Tawarkan passkeys sebagai opsi tambahan (password tetap ada)

  2. Phase 2 — Jadikan passkeys sebagai default, password sebagai fallback

  3. Phase 3 — Encourage user untuk menghapus password setelah setup passkey

  4. Phase 4 — Password-optional untuk akun baru

Kesimpulan

Passkeys bukan lagi konsep masa depan — ini sudah terjadi sekarang. Dengan dukungan dari Apple, Google, dan Microsoft, serta standar WebAuthn yang sudah matang, ini adalah waktu yang tepat untuk mulai mengimplementasikan passkeys di aplikasi kamu. Password tidak akan hilang dalam semalam, tapi era passwordless authentication sudah dimulai.