Standar · FIDO CTAP 2.2 hybrid (passkey QR)

Haruskah saya memindai QR masuk passkey ini?

Hanya jika ANDA baru saja memulai proses masuk dengan passkey di perangkat yang menampilkan QR. Jika orang lain yang membuat QR tersebut — orang asing, agen "helpdesk", panggilan dukungan teknis — memindainya di ponsel Anda akan menandatangani mereka ke akun Anda, bukan Anda. Standar terbuka protokolnya (FIDO CTAP 2.2 hybrid) solid; ancamannya adalah rekayasa sosial seputar siapa yang pertama menekan tombol "Masuk dengan passkey".

Periksa QR passkey → Semua standar →

Cara kerja masuk passkey lintas perangkat

Passkey adalah kredensial — pasangan kunci publik/privat — yang terikat ke salah satu perangkat Anda. Jika Anda mendaftarkan passkey untuk example.com di ponsel, hanya ponsel Anda yang dapat menandatangani tantangan login untuk example.com.

Itu berfungsi baik saat Anda masuk DI ponsel Anda. Tapi apa yang terjadi saat Anda masuk di laptop yang tidak memiliki passkey untuk situs tersebut? Anda bisa:

  1. Ketik kata sandi Anda — mengalahkan seluruh tujuan passkey.
  2. Daftarkan passkey baru di laptop — boleh, tapi hanya jika Anda mempercayai laptop ini jangka panjang.
  3. Gunakan passkey ponsel melalui transportasi lintas perangkat — laptop menampilkan QR, ponsel Anda memindainya, ponsel menandatangani tantangan, browser laptop menerima hasilnya dan Anda berhasil masuk.

Opsi 3 adalah yang didefinisikan FIDO CTAP 2.2 "hybrid". QR adalah bootstrap — membawa cukup informasi agar ponsel Anda dapat menemukan laptop melalui Bluetooth Low Energy, membuat terowongan aman satu kali, dan memproksi upacara WebAuthn.

Apa yang ada di dalam QR

URI-nya terlihat seperti:

FIDO:/0123456789012345678901234567890123456789...

Angka desimal adalah pengkodean base10 dari map CBOR. Setelah decode base10 + parsing CBOR, map memiliki kunci integer:

Kunci 0, kunci publik peer

Byte kunci publik X9.62 tidak terkompresi (33 byte untuk P-256). Ponsel menggunakannya untuk membangun terowongan terenkripsi.

Kunci 1, rahasia QR / nonce terowongan

10 byte data acak. Mengidentifikasi QR spesifik ini; iklan BLE menyiarkan hash-nya sehingga ponsel dapat menemukan laptop yang tepat.

Kunci 2, petunjuk operasi

0 = make-credential (mendaftarkan passkey baru), 1 = get-assertion (masuk), 2 = discoverable-credential.

Kunci 3, domain server terowongan

Host HTTPS yang memproksi terowongan antara dua perangkat ketika BLE langsung tidak tersedia (mis. melewati NAT). Biasanya server yang dioperasikan vendor seperti cable.ua5v.com (Google) atau cable.auth.com (Apple/MS).

Kunci 4, stempel waktu

Detik sejak epoch saat QR dibuat. Digunakan untuk perlindungan replay — ponsel menolak QR yang lebih lama dari beberapa menit.

Kunci 5, flag state-assisted

Boolean. Menunjukkan apakah laptop ingin ponsel berpartisipasi dalam pemeliharaan status pasif (sebagian besar relevan untuk alur enumerasi kredensial).

Model ancaman: siapa yang pertama menekan "Masuk dengan passkey"?

Protokolnya secara kriptografi kuat. Pemeriksaan kedekatan Bluetooth nyata dan membatasi serangan pada siapa pun yang berada secara fisik dekat dengan Anda. Jadi bagaimana ini bisa salah?

Melalui rekayasa sosial pada inisiasi. Penyerang memulai proses masuk passkey ke akun ANDA di laptop MEREKA. Laptop mereka menampilkan QR FIDO. Mereka meletakkan QR itu di hadapan Anda entah bagaimana:

Jika Anda memindai, ponsel Anda memproksi tanda tangan passkey ke browser laptop penyerang. Situs yang memiliki passkey Anda mengira Anda masuk. Penyerang sekarang masuk ke akun Anda.

Perhatikan bahwa pemeriksaan kedekatan tidak membantu — penyerang hadir secara fisik. Konten QR tidak membantu — mereka secara kriptografi valid. Tujuan login tidak membantu — itu adalah situs yang benar yang memiliki passkey Anda. Satu-satunya hal yang membantu adalah mengenali situasinya: Anda tidak boleh pernah memindai QR FIDO yang tidak Anda buat sendiri dengan mengklik "Masuk" di perangkat Anda sendiri.

Apa yang ditampilkan pemindai kami

Ketika Anda memasukkan QR FIDO ke pemindai kami, hasilnya menampilkan:

Kelas ancaman selalu mencurigakan — bukan karena protokolnya rusak melainkan karena keputusan keamanan bersifat kontekstual dan pemindai tidak dapat mengetahui siapa yang menekan "Masuk". Pengungkapan hasil menyatakan persis itu: "memindai menyelesaikan proses masuk yang SESEORANG MULAI DI PERANGKAT LAIN. Jika Anda baru saja tidak memulai proses masuk sendiri, tolak."

Kapan aman (dan kapan tidak)

Aman: Anda duduk di laptop, membuka situs bank atau email, mengklik "Masuk dengan passkey", dan laptop Anda menampilkan QR. Anda mengambil ponsel, memindai QR, menyetujui permintaan kedekatan. Selesai.

Tidak aman: siapa pun selain Anda yang memulai proses masuk. Ini termasuk siapa pun melalui telepon, siapa pun dalam panggilan dukungan jarak jauh, siapa pun yang mengirim QR melalui email, siapa pun yang menunjukkan "QR untuk memverifikasi identitas Anda", dan QR mana pun di tempat yang bukan perangkat Anda sendiri yang baru ditampilkan.

Jika Anda tidak yakin apakah QR berasal dari proses masuk yang Anda mulai, batalkan masuk di perangkat asli (tutup tab browser), lalu mulai ulang dari awal di perangkat yang Anda inginkan. QR FIDO nyata hanya berlaku sekitar 10 menit — memulai ulang akan membersihkan sesi yang sedang berlangsung dan membuat ancaman menjadi mustahil.

Terkait

Periksa QR FIDO

Masukkan gambar atau tempel URI FIDO:. Hasilnya menampilkan operasi, server terowongan, stempel waktu, dan peringatan keras untuk menolak kecuali Anda yang memulai masuk.

Buka pemindai →