Kunci 0, kunci awam rakan
Bait kunci awam X9.62 tidak dimampatkan (33 bait untuk P-256). Telefon menggunakan ini untuk mewujudkan terowong yang disulitkan.
Piawaian · FIDO CTAP 2.2 hibrid (QR kunci laluan)
Hanya jika ANDA baru memulakan log masuk kunci laluan pada peranti yang memaparkan QR. Jika orang lain menjana QR itu — orang asing, ejen “meja bantuan”, panggilan sokongan teknikal — mengimbasnya pada telefon anda membenarkan mereka log masuk ke akaun anda, bukan anda. Piawaian terbuka protokol (FIDO CTAP 2.2 hibrid) kukuh; ancamannya ialah kejuruteraan sosial tentang siapa yang menekan butang “Log masuk dengan kunci laluan” dahulu.
Kunci laluan adalah bukti kelayakan — pasangan kunci awam/peribadi — yang terikat kepada salah satu peranti anda. Jika anda mendaftarkan kunci laluan untuk example.com pada telefon anda, hanya telefon anda yang boleh menandatangani cabaran log masuk untuk example.com.
Ini berfungsi dengan baik apabila anda log masuk PADA telefon anda. Tetapi apa yang berlaku apabila anda log masuk pada komputer riba yang tidak mempunyai kunci laluan untuk laman tersebut? Anda boleh:
Pilihan 3 adalah apa yang ditakrifkan oleh FIDO CTAP 2.2 “hibrid”. QR adalah butstrap — ia membawa maklumat yang cukup untuk telefon anda menemui komputer riba melalui Bluetooth Low Energy, mewujudkan terowong selamat sekali guna, dan mewakili upacara WebAuthn.
URI kelihatan seperti:
FIDO:/0123456789012345678901234567890123456789...
Digit perpuluhan adalah pengekodan base10 peta CBOR. Selepas dekod base10 + penghuraian CBOR, peta mempunyai kunci integer:
Bait kunci awam X9.62 tidak dimampatkan (33 bait untuk P-256). Telefon menggunakan ini untuk mewujudkan terowong yang disulitkan.
10 bait data rawak. Mengenal pasti QR khusus ini; iklan BLE menyiarkan cincang daripadanya supaya telefon boleh mencari komputer riba yang betul.
0 = buat-bukti kelayakan (mendaftarkan kunci laluan baharu), 1 = dapatkan-penegasan (log masuk), 2 = bukti kelayakan boleh ditemui.
Hos HTTPS yang mewakili terowong antara dua peranti apabila BLE langsung tidak boleh dicapai (cth. merentas NAT). Biasanya pelayan yang dikendalikan vendor seperti cable.ua5v.com (Google) atau cable.auth.com (Apple/MS).
Saat-sejak-epoch apabila QR dijana. Digunakan untuk perlindungan ulang tayang — telefon enggan menghormati QR yang lebih tua daripada beberapa minit.
Boolean. Menunjukkan sama ada komputer riba mahu telefon mengambil bahagian dalam penyimpanan keadaan pasif (kebanyakannya relevan untuk aliran penghitungan bukti kelayakan).
Protokol adalah kukuh dari segi kriptografi. Pemeriksaan jarak dekat Bluetooth adalah nyata dan mengehadkan serangan kepada sesiapa yang secara fizikal dekat dengan anda. Jadi bagaimana ini boleh salah?
Melalui kejuruteraan sosial pada permulaan. Penyerang memulakan log masuk kunci laluan ke AKAUN ANDA pada KOMPUTER RIBA MEREKA. Komputer riba mereka menunjukkan QR FIDO. Mereka meletakkan QR itu di hadapan anda entah bagaimana:
Jika anda mengimbas, telefon anda mewakili tandatangan kunci laluan anda kembali kepada pelayar komputer riba penyerang. Laman yang anda mempunyai kunci laluan fikir anda log masuk. Penyerang kini log masuk ke akaun anda.
Perhatikan pemeriksaan jarak dekat tidak membantu — penyerang hadir secara fizikal. Kandungan QR tidak membantu — ia sah dari segi kriptografi. Destinasi log masuk tidak membantu — ia laman yang betul yang anda mempunyai kunci laluan. Satu-satunya perkara yang membantu ialah mengenali situasi: anda tidak seharusnya mengimbas QR FIDO yang anda tidak jana sendiri dengan mengklik “Log masuk” pada peranti anda sendiri.
Apabila anda meletakkan QR FIDO ke dalam pengimbas kami, keputusan menunjukkan:
cable.ua5v.com, pelayan terowong Apple, dll.)?Kelas ancaman sentiasa mencurigakan — bukan kerana protokol rosak tetapi kerana penilaian keselamatan adalah bergantung kepada konteks dan pengimbas tidak boleh mengetahui siapa yang menekan “Log masuk.” Pendedahan keputusan memberitahu anda tepat itu: “mengimbas melengkapkan log masuk yang seseorang MULAKAN PADA PERANTI LAIN. Jika anda tidak baru memulakan log masuk sendiri, tolak.”
Selamat: anda duduk di depan komputer riba, membuka laman bank atau e-mel, mengklik “Log masuk dengan kunci laluan”, dan komputer riba menunjukkan QR. Anda mengambil telefon, mengimbas QR, meluluskan gesaan jarak dekat. Selesai.
Tidak selamat: sesiapa selain anda yang memulakan log masuk. Ini termasuk sesiapa melalui telefon, sesiapa dalam panggilan sokongan jauh, sesiapa yang menghantar e-mel QR kepada anda, sesiapa yang menunjukkan “QR untuk mengesahkan identiti anda,” dan mana-mana QR di tempat yang bukan peranti anda sendiri yang baru dipaparkan.
Jika anda tidak pasti sama ada QR adalah daripada log masuk yang ANDA mulakan, batalkan log masuk pada peranti asal (tutup tab pelayar), kemudian mulai semula dari awal pada peranti yang anda niatkan. QR FIDO yang sah hanya sah selama ~10 minit — memulai semula membuang sebarang sesi dalam perjalanan dan menjadikan ancaman itu mustahil.
Letakkan imej atau tampal URI FIDO:. Keputusan menunjukkan operasi, pelayan terowong, cap masa, dan amaran keras untuk menolak melainkan anda yang memulakan log masuk.