cari
Rumahhujung hadapan webtutorial cssPasskeys: Apa sih dan mengapa?

Passkeys: What the Heck and Why?

Passkeys cepat mendapat daya tarikan sebagai kaedah pengesahan revolusioner. Dipaparkan dengan jelas di W3C TPAC 2022, mereka telah mengintegrasikan ke Safari 16, MacOS, iOS, dan bersedia untuk menjadi standard untuk pengurus kata laluan seperti 1Password. Sudah disokong pada Android, siaran masa depan akan membawa fungsi passkey ke OS dan Windows Chrome.

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
terminologi utama

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!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Apakah grid CSS?Apakah grid CSS?Apr 30, 2025 pm 03:21 PM

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.

Apakah CSS Flexbox?Apakah CSS Flexbox?Apr 30, 2025 pm 03:20 PM

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.

Bagaimanakah kita boleh membuat laman web kami responsif menggunakan CSS?Bagaimanakah kita boleh membuat laman web kami responsif menggunakan CSS?Apr 30, 2025 pm 03:19 PM

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

Apakah harta saiz kotak CSS?Apakah harta saiz kotak CSS?Apr 30, 2025 pm 03:18 PM

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.

Bagaimanakah kita boleh menghidupkan CSS?Bagaimanakah kita boleh menghidupkan CSS?Apr 30, 2025 pm 03:17 PM

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

Bolehkah kita menambah transformasi 3D ke projek kami menggunakan CSS?Bolehkah kita menambah transformasi 3D ke projek kami menggunakan CSS?Apr 30, 2025 pm 03:16 PM

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

Bagaimana kita boleh menambah kecerunan dalam CSS?Bagaimana kita boleh menambah kecerunan dalam CSS?Apr 30, 2025 pm 03:15 PM

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

Apakah unsur-unsur pseudo dalam CSS?Apakah unsur-unsur pseudo dalam CSS?Apr 30, 2025 pm 03:14 PM

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

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

MinGW - GNU Minimalis untuk Windows

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

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod