Semua cerita tentang kata sandi berakhir sama: ada orang yang menyimpan rahasiamu di suatu tempat, lalu kehilangannya.
Tahunnya tidak penting. Awalnya rahasia itu tersimpan dalam berkas teks polos di komputer bersama, dan cukup meminta sistem mencetaknya. Pada 1979, Morris dan Thompson menjelaskan cara memberi garam dan memperberat perhitungan hash supaya daftar yang dicuri tidak langsung berubah menjadi daftar kata sandi — sebuah kemajuan besar. Lalu datang aturan komposisi yang memaksa kita menempelkan satu simbol di ujung. Tapi bentuk masalahnya tidak bergeser satu milimeter pun selama itu: ada rahasia, kamu tahu rahasianya, server bisa memeriksanya, dan karena itu server punya sesuatu yang bisa hilang.
Semua yang kita lakukan sejak saat itu hanyalah membuat rahasia tersebut lebih panjang, lebih aneh, lebih asin, lebih lambat dipecahkan. Tidak ada yang bertanya satu langkah sebelumnya: bagaimana kalau tidak ada rahasia bersama sama sekali?
1976 gagasan bahwa satu rahasia bisa punya dua belahan
Pada 1976, Whitfield Diffie dan Martin Hellman menerbitkan New Directions in Cryptography. Gagasannya sederhana sampai terasa menghina: sebuah kunci bisa dibelah menjadi dua bagian yang tidak bisa saling menggantikan. Yang satu kamu bagikan ke seluruh dunia; yang satu lagi tidak pernah keluar dari rumahmu. Apa yang kamu tandatangani dengan kunci privat diverifikasi dengan kunci publik, tapi kunci publik tidak bisa dipakai menandatangani apa pun.
Baca sekali lagi sambil membayangkan sebuah server: situs tidak lagi perlu menyimpan sesuatu yang bisa dipakai untuk masuk. Cuma belahan yang tidak membuka apa-apa.
Bahwa gagasan ini butuh hampir setengah abad untuk sampai ke layar aplikasi bankmu bukan pujian untuk industri kita. Sertifikat klien sudah ada dan sudah berfungsi; yang tidak ada adalah cara memakainya tanpa perlu gelar magister. Kriptografinya sudah beres. Kegunaannya belum.
2013 akhirnya ada yang mau sepakat
Pada 2013 lahir FIDO Alliance, sebuah konsorsium industri dengan tujuan yang diumumkan terang-terangan dan sama sekali tidak rendah hati: mengurangi ketergantungan pada kata sandi. Yang penting bukan teknologinya — itu sudah ada — melainkan bahwa para produsen, peramban, dan layanan mau duduk bersama menyepakati satu protokol yang sama. Kedengarannya seperti birokrasi, dan justru itulah yang kurang: mekanisme autentikasi yang hanya jalan di satu peramban dan satu layanan bukanlah mekanisme, itu cuma anekdot.
2019 peramban belajar berkriptografi
Pada Maret 2019, WebAuthn menjadi rekomendasi W3C. Dalam bahasa manusia: sejak itu halaman web mana pun bisa meminta peramban — lewat API standar, tanpa plugin atau driver — untuk membuat sepasang kunci dan menandatangani dengannya.
Alurnya, tanpa hiasan, begini. Saat kamu mendaftar, perangkatmu membuat sepasang kunci baru khusus untuk situs itu. Kunci publik dikirim. Kunci privat tinggal, disimpan oleh perangkat itu sendiri dan dilindungi sidik jarimu, wajahmu, atau PIN-nya. Saat kamu kembali, situs mengirim tantangan acak, perangkatmu menandatanganinya, dan situs memeriksa tanda tangan itu dengan kunci publik yang sudah dimilikinya.
Perhatikan apa yang tidak terjadi: tidak ada rahasia yang berjalan ke mana pun. Server tidak pernah memegang kunci privatmu, jadi server tidak bisa kehilangannya. Kalau besok seluruh basis datanya bocor, yang dibawa kabur adalah sekumpulan kunci publik — kurang lebih seperti mencuri buku telepon. Tidak ada hash untuk digiling GPU, tidak ada kamus untuk dicoba. Bukan karena sulit: memang tidak ada apa-apa di sana yang berharga.
Efek sampingnya lebih besar daripada gagasannya
Ketika perangkatmu membuat pasangan kunci itu, ia mengikatnya ke domain. Kunci
yang disimpan untuk bankmu.co.id hanya ditawarkan kepada bankmu.co.id. Ini
bukan kebijakan, bukan peringatan, bukan pita merah di bilah alamat: kunci untuk
bankrnu-keamanan.com memang tidak ada. Peramban tidak menemukannya karena kunci
itu tidak pernah dibuat.
Ini membunuh phishing. Bukan menguranginya: mencabut mekanismenya. Seluruh bisnis phishing bergantung pada kenyataan bahwa kamu bisa mengetik kata sandimu di situs yang salah, dan selama bertahun-tahun kita mencoba menambalnya dengan pelatihan pengguna dan kampanye kesadaran. Semua itu mengobati gejala. Matamu bisa tertipu URL yang mirip; ponselmu tidak. Ia tidak membaca: ia membandingkan untaian karakter.
Sekalian saja ia menghabisi pemakaian ulang, dosa besar yang satunya. Tiap situs punya pasangan kuncinya sendiri. Tidak ada yang bisa dipakai ulang, sekalipun kamu mau.
2022 tiga penguasa menandatangani perdamaian
Pada Mei 2022, Apple, Google, dan Microsoft mengumumkan bersama bahwa mereka akan memperluas dukungan kredensial FIDO — passkey — di platform dan peramban mereka.
Itulah yang mengubah perkara ini dari catatan teknis menjadi sesuatu yang bisa kamu jelaskan ke ibumu. Sebelumnya, WebAuthn hampir selalu berarti kunci fisik USB: bagus sekali, dan dipakai tiga orang. Passkey tinggal di tempat ponselmu sudah ada di genggaman, dan terbuka dengan wajahmu.
Yang tidak diperbaikinya
Sekarang bagian cetakan kecilnya, karena industri akan menghabiskan beberapa tahun ke depan pura-pura ia tidak ada.
Pemulihan akun tetap jadi titik lembek. Lubangnya tidak hilang: ia pindah. Kalau perangkatmu hilang, ada pihak yang harus memutuskan bahwa kamu benar-benar kamu, dan keputusan itu hampir selalu diambil lewat surel, lewat SMS, atau lewat percakapan dengan manusia di pusat panggilan. Manusia itu sasaran yang persis sama dengan sebelumnya. Kamu sudah melapis baja pintu depan, dan pintu belakang masih di tempatnya.
Sinkronisasi mengikatmu ke satu ekosistem. Passkey terasa nyaman karena platformmu menyalinnya ke seluruh perangkatmu. Yang artinya kuncimu tinggal di gantungan kunci milik satu perusahaan tertentu. Keluar dari sana bukan hal mustahil, tapi juga bukan satu tombol. Kamu menukar masalah mengingat dengan masalah menjadi bagian dari sesuatu.
Dan kamu tetap perlu masuk kalau ponselmu hilang. Yang dalam praktiknya berarti hampir tidak ada situs yang benar-benar membuang kata sandi: mereka menyembunyikannya di balik tautan “kesulitan masuk?”. Selama tautan itu ada, kata sandi itu ada, dan ia sama buruknya seperti dulu. Rantai putus di metode terlemah yang kamu terima, bukan di metode terelegan yang kamu tawarkan.
Apa yang bisa dilakukan sementara ini
Aktifkan passkey di mana pun ditawarkan, dan mulai dari yang paling sakit kalau jatuh: surel, bank, akun yang kamu pakai untuk masuk ke akun-akun lain. Ini salah satu dari sedikit peningkatan keamanan yang justru mengurangi pekerjaanmu.
Dan jangan menipu diri: kamu masih akan punya kata sandi selama bertahun-tahun, walau cuma sebagai rencana cadangan. Buat yang panjang, berbeda di tiap situs, dan simpan di pengelola kata sandi. Kalau ingin yang tidak lahir dari kepalamu sendiri, pakai pembuat kata sandi; kalau ingin tahu apakah yang kamu punya sekarang masih tahan, lewatkan lewat pemeriksa.
Pertanyaan lama sang penjaga — kamu orang kami? — akhirnya punya jawaban yang berbeda. Selama puluhan tahun kita menjawabnya dengan mengucapkan sepatah kata yang bisa didengar orang lain. Sekarang kita menjawab dengan tanda tangan yang hanya bisa dibuat perangkatmu, tanpa kata itu pernah perlu ada. Ini pertama kalinya kita mengganti pertanyaannya, bukan katanya.
Sumber: W. Diffie dan M. Hellman, “New Directions in Cryptography”, IEEE Transactions on Information Theory, 1976 · R. Morris dan K. Thompson, “Password Security: A Case History”, Communications of the ACM, 1979 · FIDO Alliance, didirikan pada 2013 · “Web Authentication: An API for accessing Public Key Credentials”, rekomendasi W3C, Maret 2019 · pengumuman bersama Apple, Google, dan Microsoft tentang dukungan passkey, Mei 2022.