Masuk ke klien VPN yang meminta kata sandi lalu kode enam digit, dan dua permintaan tampak seperti dua penghalang yang mandiri. Dihitung menurut jenis faktor, memang begitu: kata sandi adalah sesuatu yang Anda tahu, kode adalah sesuatu yang Anda miliki. Dihitung menurut apa yang diungkap satu laptop yang terkompromi, keduanya bisa menyatu menjadi satu batas, karena yang Anda miliki adalah berkas di mesin yang Anda ketik. Selisih antara kedua hitungan itulah topik penelusuran ini.

Telusuri satu proses masuk dari kolom kata sandi sampai kotak kode

Amati urutannya, bukan labelnya. Klien mengirim kata sandi, server membalas bahwa bukti kedua diperlukan, dan klien membuka kolom untuk enam atau delapan digit. Di balik kolom itu ada aplikasi generator yang menyimpan rahasia bersama dan sebuah jam. Aplikasi menghitung nilai dari rahasia dan langkah waktu saat ini, dan server menghitung ulang nilai yang sama dari salinan rahasianya.

Kedua pihak memegang materi kunci yang sama. Simetri itulah bagian yang terlewat ketika orang menyebut kode sebagai rahasia: penyedia juga dapat membuat kode Anda, karena itu seed lebih bernilai daripada keluaran tunggal mana pun. Kode yang bocor adalah nilai sekali pakai; seed yang menghasilkannya adalah kredensial tetap yang terus menghasilkan nilai sah sampai diganti.

Aktivasi adalah separuh alur lainnya. Generator yang terbuka dengan PIN perangkat, permintaan biometrik, atau wadah terenkripsi menyajikan bukti kepemilikan plus sesuatu yang lain. Generator yang berjalan tanpa enkripsi dan terbuka dengan sesi sistem operasi hanya menyajikan berkasnya. Aplikasi yang sama dapat menawarkan kedua tataan tergantung bagaimana pendaftaran dilakukan, jadi keputusan penerapan ada pada langkah itu, bukan pada halaman pemasaran aplikasi.

Putuskan apa yang sebenarnya dibuktikan kode

Bahasa standar di sini luar biasa jelas, dan layak dibaca langsung. Panduan pengautentikasi NIST mendaftar generator OTP berbasis perangkat lunak sebagai pengautentikasi, membedakan OTP satu faktor dari OTP multifaktor dengan faktor aktivasi, dan menyatakan bahwa autentikasi OTP tidak tahan phishing. Ketiga klausul itu masing-masing mengubah apa yang dapat Anda klaim tentang permintaan tersebut.

Tidak tahan phishing adalah sisi paling tajam. Kode yang diketik di sebuah kolom dapat diketik di kolom orang lain, secara waktu nyata, oleh orang yang telah dibujuk melakukannya. Jendelanya singkat, yang mengurangi jumlah percobaan berguna tetapi tidak menutup tekniknya. Jika kebutuhan Anda mencakup ketahanan terhadap itu, OTP adalah primitif yang salah, di mana pun generator berjalan.

Satu faktor versus multifaktor adalah pembedaan kedua. Kode yang muncul tanpa langkah aktivasi membuktikan kepemilikan berkas dan tidak lebih, dan berkas itu hanya sekuat akun yang dapat membacanya. Tambahkan faktor aktivasi dan klaimnya membaik, meski tetap menggambarkan bukti yang disajikan saat masuk, bukan isolasi mesin yang menghasilkannya.

Lihat sejauh mana laptop yang terkompromi dapat menjangkau

Penyerang dengan eksekusi kode di stasiun kerja tidak terbatas pada membaca kolom yang Anda ketik. Sesi yang terbentuk setelah masuk berhasil biasanya berupa token atau kuki, dan token dapat dipakai dari mesin lain tanpa kode apa pun. Jika itulah kemampuan yang Anda pertahankan, menambahkan permintaan kedua saat masuk mengubah jumlah langkah serangan, bukan hasilnya.

ArrangementWhat it adds at loginWhat it leaves inside the laptop boundary
Password plus TOTP app on the same machineA possession proof the password alone does not supplyThe seed, the unlock step and the authenticated session
TOTP app on a separate phoneSeed storage outside the workstationSession cookies, the typed password and any prompt that can be proxied
Hardware key with a signed challengeA per-login signature bound to the originWhatever the browser and the workstation are already trusted to do

Baca kolom ketiga sebagai yang jujur. Setiap tataan di atas meninggalkan sesuatu di dalam batas kepercayaan stasiun kerja, karena di sanalah sesi dipakai. Yang berubah adalah apakah rahasia berumur panjang ikut melintasi batas itu atau tetap di luarnya, dan apakah bukti terikat pada asal tertentu sehingga halaman tiruan tidak dapat meneruskannya.

Dua perincian lebih kecil termasuk dalam gambar yang sama. Kode tetap sah selama jendela penerimaannya, sering kali tiga puluh detik ditambah toleransi terhadap simpangan jam, jadi nilai yang tertangkap dapat diputar ulang di dalam jendela itu kecuali verifikator menolak pemakaian ulang. Dan memasang generator baru tidak mengakhiri sesi yang sudah terautentikasi, sehingga sesi lama bertahan lebih lama daripada perubahan kredensial yang seharusnya menahan insiden itu.

Pindahkan generator hanya ke tempat pemisahan membantu

Menaruh generator kode di ponsel adalah perbaikan nyata untuk satu kegagalan tertentu: laptop yang dicuri tidak lagi membawa kedua bukti. Ini tidak berbuat apa pun terhadap pembajakan sesi di laptop, tidak untuk pengguna yang mengetik kode di halaman phishing, dan tidak untuk kode pemulihan yang pernah dicetak lalu difoto ke aplikasi catatan.

Jadi tuliskan kebutuhannya sebelum memilih alat. Jika tujuannya bukti tambahan terhadap kata sandi yang bocor, katakan itu terus terang, dan aplikasi di perangkat yang sama sudah memberikannya. Jika tujuannya ketahanan terhadap kompromi stasiun kerja VPN, sebutkan kemampuan penyerang itu dan pilih tataan yang dinilai untuknya, dengan kebutuhan phishing dinyatakan terpisah alih-alih diasumsikan.

Lalu tangani separuh operasionalnya, yang menentukan apakah ada yang bertahan saat bersinggungan dengan insiden. Kehilangan perangkat membutuhkan jalur penggantian yang terdokumentasi, rotasi kredensial membutuhkan pencabutan sesi aktif, dan materi pendaftaran membutuhkan perlindungan yang sama dengan seed, karena salinan pendaftaran tanpa perlindungan memberi penyerang kode masa depan yang sama lewat jalur lebih pendek. Mendaftar keempat butir itu lebih berguna daripada berdebat apakah token di perangkat yang sama bagus atau tidak berguna.

Artikel terkait