Walaupun sering diabaikan dalam komuniti front-end, kesan passkeys terhadap pengalaman pengguna, terutamanya mengenai pengesahan dan pemprosesan bentuk, tidak dapat dinafikan. Artikel ini meneroka Passkeys dan WebAuthn API, yang menawarkan pemahaman yang komprehensif mengenai teknologi baru ini.
Jadual Kandungan
- terminologi utama
- Memahami Passkeys
- Passkeys: Penggantian Kata Laluan
- Cryptography dijelaskan
- Mengakses Passkeys
- Passkeys vs. WebAuthn
- Proses Pengesahan: Ringkasan
- Lihat terperinci pada pelaksanaan Passkey
- Kelemahan potensi
- Masa Depan Passkeys
- Sumber lanjut
Menavigasi Dunia Passkeys memerlukan kebiasaan dengan istilah tertentu. Mari jelaskan beberapa konsep utama:
- Parti Bergantung (Server): Permintaan Pengesahan Pengendalian Pelayan. Kami akan menggunakan "pelayan" sepanjang artikel ini.
- pelanggan: penyemak imbas web atau sistem operasi.
- Authenticator: perisian atau perkakasan menjana dan menyimpan pasangan kunci awam.
- fido: Organisasi piawaian terbuka yang menentukan kelayakan FIDO.
- WebAuthn: Protokol asas untuk passkeys (juga dikenali sebagai kelayakan FIDO2 atau kelayakan FIDO tunggal).
- Passkeys: WebAuthn dengan penyegerakan awan (kelayakan FIDO multi-peranti, kelayakan yang boleh ditemui, atau kelayakan pemastautin).
- Kriptografi utama awam: Sistem menggunakan pasangan kunci swasta dan awam untuk menandatangani/pengesahan atau penyulitan/penyahsulitan (kriptografi asimetrik).
- rsa: algoritma kriptografi utama awam.
- Cryptography Curve Elliptic (ECC): algoritma kriptografi utama awam moden.
- ES256: Kunci awam lengkung elips menggunakan algoritma penandatanganan ECDSA dengan Hashing SHA256.
- RS256: Sama seperti ES256, tetapi menggunakan RSA dengan RSASSA-PKCS1-V1.5 dan SHA256. Memahami Passkeys
Sebelum membincangkan passkeys, kita mesti memahami WebAuthn (FIDO2). Passkeys membina WebAuthn, memanfaatkan kriptografi utama awam untuk menggantikan kata laluan. Peranti keselamatan (kekunci perkakasan atau TPM) menjana kunci swasta dan awam.
Kunci awam boleh diakses secara terbuka, sementara kunci persendirian tetap disimpan dengan selamat pada peranti penjanaan. Batasan utama WebAuthn adalah kebergantungan peranti; Kehilangan peranti bermakna kehilangan akses. Passkeys menangani ini melalui penyegerakan awan, membolehkan akses merentasi pelbagai peranti. Walau bagaimanapun, penting untuk diperhatikan bahawa kelayakan peranti tunggal juga wujud.
Pada masa ini, iOS, macOS, dan Android menawarkan sokongan komprehensif untuk passkeys yang disegerakkan awan, walaupun keserasian penyemak imbas tetap menjadi faktor. Pengurus Kata Laluan Google dan Keychain Apple iCloud memudahkan penyegerakan.
Passkeys: Penggantian Kata Laluan
Kriptografi utama awam menggunakan menandatangani . Data diproses menggunakan kunci peribadi melalui algoritma penandatanganan, dan kemudian disahkan menggunakan kunci awam. Sesiapa sahaja boleh menjana pasangan kunci, tetapi hanya kunci peribadi yang boleh membuat tandatangan yang dapat disahkan dengan kunci awam yang sepadan. Tandatangan ini menggantikan kata laluan. Pelayan menyimpan kunci awam, dan pengesahan melibatkan mengesahkan pemilikan kunci persendirian dengan menandatangani cabaran rawak.
Pendekatan ini menghapuskan risiko yang berkaitan dengan pelanggaran kata laluan. Sekiranya pangkalan data dikompromi, hanya kunci awam yang terdedah, menjadikannya tidak berguna kepada penyerang. Kata laluan terlupa menjadi perkara masa lalu, kerana pelayar ingat kelayakan, memudahkan proses log masuk. Biometrik atau pin dapat meningkatkan keselamatan.
Cryptography dijelaskan
Kriptografi utama awam menggunakan pasangan kunci peribadi dan awam. Penyulitan menggunakan kunci awam penerima, memastikan hanya kunci persendirian penerima yang boleh menyahsulit. Ini menyediakan kerahsiaan . Keaslian dipastikan melalui penandatanganan dan pengesahan. Tanda kunci peribadi pengirim Hash mesej, disahkan hanya dengan kunci awam pengirim.
Mengakses Passkeys
Akses memerlukan penjanaan utama dan penyimpanan, sering difasilitasi oleh pengesahan (perkakasan atau perisian). Pengesahan perisian mungkin menggunakan TPM atau Enclave Secure, manakala Pengesahan Perkakasan termasuk peranti seperti Yubikeys.
Protokol Pengesahan Pelanggan untuk Pengesahan (CTAP) menyediakan antara muka untuk mengakses pengesahan melalui pelbagai kaedah (NFC, USB, Bluetooth). Ciri yang unik menggunakan telefon (melalui Bluetooth) sebagai pengesahan untuk peranti yang tidak mempunyai sokongan passkey asli.
Passkeys vs. WebAuthn
PassKeys (multi-peranti) berbeza daripada kunci webauthn (satu peranti) dalam proses penyimpanan dan log masuk. WebAuthn memerlukan pemegang pengguna dan senarai AllowCredentials, manakala PassKeys menggunakan nama domain pelayan untuk mengenal pasti kunci yang berkaitan, menyelaraskan proses log masuk. Secara kritikal, mereka pada dasarnya sama.
Proses Pengesahan: Ringkasan
Kedua -dua Generasi WebAuthn dan Passkey melibatkan menerima cabaran pelayan dan menggunakan navigator.credentials.create
untuk menghasilkan pasangan kunci. Kunci awam dihantar ke pelayan. Log masuk menggunakan navigator.credentials.get
untuk menandatangani cabaran baru, yang kemudiannya disahkan oleh pelayan.
Lihat terperinci pada pelaksanaan Passkey
Penggunaan PassKey melibatkan Pengesahan (pendaftaran) dan pernyataan (login) fasa.
Pengesahan
navigator.credentials.create
adalah pusat pengesahan. Pilihan Tentukan pasangan kunci yang dikehendaki:
// ... (code snippet for PublicKeyCredentialCreationOptions) ...
Tanggapan termasuk kunci awam dan clientDataJSON
(mengandungi type
, challenge
, dan origin
). Pelayan mengesahkan data ini dan menyimpan kunci awam, ID, dan pilihan algoritma attestationObject
dan cose.
Penegasan
navigator.credentials.get
mengendalikan pernyataan.
// ... (code snippet for PublicKeyCredentialRequestOptions) ...
Tanggapan termasuk tandatangan dan authenticatorData
(mengandungi hash asal dan signCount
). Pelayan mengesahkan tandatangan, clientDataJSON
, dan signCount
untuk pengesahan.
Kelemahan potensi
Batasan semasa termasuk sokongan sistem operasi terhad (terutamanya Windows dan Linux) dan kekurangan interoperabilitas antara platform passkey Google dan Apple.
Masa Depan Passkeys
Penggunaan sistem operasi yang meluas akan mendorong penggunaan yang meningkat. Pengurus kata laluan akan mengintegrasikan sokongan laluan masuk, dan sokongan asli pada Android dan IOS akan terus menguatkan kedudukan mereka. Passkeys menjanjikan masa depan tanpa kata laluan, meningkatkan keselamatan dan pengalaman pengguna.
Sumber lanjut
- Live Demo
- Demo GitHub Repository
- Dokumentasi Yubikey
- passkeys.dev
- passkeys.io
- webauthn.io
Atas ialah kandungan terperinci Passkeys: Apa sih dan mengapa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

CSS Grid adalah alat yang berkuasa untuk mewujudkan susun atur web yang rumit dan responsif. Ia memudahkan reka bentuk, meningkatkan kebolehcapaian, dan menawarkan lebih banyak kawalan daripada kaedah yang lebih lama.

Artikel membincangkan CSS Flexbox, kaedah susun atur untuk penjajaran yang cekap dan pengedaran ruang dalam reka bentuk responsif. Ia menerangkan penggunaan Flexbox, membandingkannya dengan grid CSS, dan butiran sokongan penyemak imbas.

Artikel ini membincangkan teknik untuk membuat laman web responsif menggunakan CSS, termasuk tag Meta Viewport, grid fleksibel, media cecair, pertanyaan media, dan unit relatif. Ia juga meliputi menggunakan grid CSS dan Flexbox bersama -sama dan mengesyorkan rangka kerja CSS

Artikel ini membincangkan harta saiz kotak CSS, yang mengawal bagaimana dimensi elemen dikira. Ia menerangkan nilai seperti kotak kandungan, kotak sempadan, dan kotak padding, dan kesannya terhadap reka bentuk susun atur dan penjajaran bentuk.

Artikel membincangkan membuat animasi menggunakan CSS, sifat utama, dan menggabungkan dengan JavaScript. Isu utama adalah keserasian penyemak imbas.

Artikel membincangkan menggunakan CSS untuk transformasi 3D, sifat utama, keserasian penyemak imbas, dan pertimbangan prestasi untuk projek web. (Kira -kira aksara: 159)

Artikel ini membincangkan menggunakan kecerunan CSS (linear, radial, mengulangi) untuk meningkatkan visual laman web, menambah kedalaman, fokus, dan estetika moden.

Artikel membincangkan unsur-unsur pseudo dalam CSS, penggunaannya dalam meningkatkan gaya HTML, dan perbezaan dari kelas pseudo. Menyediakan contoh praktikal.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod
