Hacker News

Jangan gunakan kekunci laluan untuk menyulitkan data pengguna

Ketahui sebab kunci laluan bagus untuk pengesahan tetapi berbahaya untuk penyulitan data. Elakkan mengunci pengguna daripada data mereka sendiri dengan cerapan keselamatan kritikal ini.

7 min bacaan

Mewayz Team

Editorial Team

Hacker News

Kunci laluan ialah pembangunan pengesahan yang paling menarik dalam beberapa tahun. Mereka menghapuskan pancingan data, menghapuskan beban kata laluan dan menyampaikan pengalaman log masuk yang lancar yang disokong oleh kriptografi kunci awam. Tetapi salah tanggapan berbahaya sedang merebak melalui komuniti pembangun: jika kunci laluan adalah kriptografi, pastinya ia juga boleh menyulitkan data pengguna. Mereka tidak boleh — dan cuba menggunakannya dengan cara itu akan mewujudkan sistem yang rapuh dan tidak boleh dipercayai yang boleh mengunci pengguna anda daripada maklumat mereka sendiri secara kekal. Memahami sebab memerlukan pandangan yang jelas tentang kunci laluan yang sebenarnya, apa yang diperlukan oleh penyulitan, dan di mana kedua-duanya berbeza dalam cara yang sangat penting untuk mana-mana platform yang mengendalikan data perniagaan yang sensitif.

Pengesahan dan Penyulitan Pada Asasnya Pekerjaan yang Berbeza

Pengesahan menjawab satu soalan: "Adakah anda seperti yang anda dakwa?" Penyulitan menjawab yang sama sekali berbeza: "Bolehkah data ini kekal tidak boleh dibaca oleh semua orang kecuali pihak yang diberi kuasa?" Kedua-dua masalah ini berkongsi primitif kriptografi, tetapi keperluan kejuruteraan berbeza secara mendadak. Pengesahan perlu berlaku sekali setiap sesi, boleh bertolak ansur dengan kegagalan sekali-sekala dengan sandaran yang anggun, dan tidak perlu menghasilkan output yang sama setiap kali. Penyulitan memerlukan akses kunci yang pasti dan boleh dihasilkan semula sepanjang hayat data — yang mungkin bertahun-tahun atau berdekad-dekad.

Apabila anda mengesahkan dengan kunci laluan, peranti anda menjana tandatangan kriptografi yang membuktikan anda memegang kunci peribadi yang dikaitkan dengan akaun anda. Pelayan mengesahkan tandatangan ini dan memberikan akses. Pelayan - malah aplikasi anda - tidak mendapat akses kepada bahan kunci peribadi itu sendiri. Ini adalah ciri, bukan batasan. Keseluruhan model keselamatan kunci laluan bergantung pada kunci persendirian yang tidak pernah meninggalkan enklaf selamat peranti anda. Tetapi penyulitan memerlukan anda menggunakan kunci untuk mengubah data, dan kemudian menggunakan kunci yang sama (atau rakan sejawatannya) untuk membalikkan transformasi. Jika anda tidak boleh mengakses kunci dengan pasti, anda tidak boleh menyahsulit dengan pasti.

Platform seperti Mewayz yang mengurus maklumat perniagaan yang sensitif — invois, rekod gaji, kenalan CRM, dokumen HR merentas 207 modul — memerlukan strategi penyulitan yang dibina pada kunci yang tahan lama, boleh dipulihkan dan boleh diakses secara konsisten. Membina itu di atas asas yang direka khusus untuk menghalang akses utama adalah percanggahan seni bina.

Mengapa Kunci Laluan Menentang Digunakan sebagai Kunci Penyulitan

Spesifikasi WebAuthn, yang menyokong kunci laluan, sengaja direka bentuk dengan kekangan yang menjadikan penggunaan penyulitan tidak praktikal. Memahami kekangan ini mendedahkan mengapa ini bukan jurang yang boleh dirapatkan oleh kejuruteraan pintar — ia adalah sempadan reka bentuk asas.

Tiada eksport kunci: Kunci peribadi yang dijana semasa pendaftaran kunci laluan disimpan dalam enklaf selamat yang disokong perkakasan (TPM, Enklaf Selamat atau yang setara). Sistem pengendalian dan API penyemak imbas tidak menyediakan mekanisme untuk mengekstrak bahan utama mentah. Anda boleh meminta kunci untuk menandatangani sesuatu, tetapi anda tidak boleh membaca kunci itu sendiri.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Mula Percuma →

Penjanaan kunci bukan penentu: Mencipta kunci laluan untuk pengguna yang sama pada peranti berbeza menghasilkan pasangan kunci yang berbeza sama sekali. Tiada frasa benih, tiada laluan terbitan, tiada cara untuk membina semula kunci yang sama pada peranti lain. Setiap pendaftaran adalah bebas dari segi kriptografi.

Ketersediaan terikat peranti: Walaupun dengan penyegerakan kunci laluan (iCloud Keychain, Pengurus Kata Laluan Google), ketersediaan bergantung pada penyertaan ekosistem. Pengguna yang mendaftar pada iPhone dan kemudian bertukar kepada Android mungkin kehilangan akses. Pengguna yang perantinya hilang, dicuri atau tetapkan semula kilang menghadapi masalah yang sama.

Sambutan cabaran sahaja: API WebAuthn mendedahkan navigator.credentials.get() yang mengembalikan penegasan yang ditandatangani, bukan bahan utama mentah. Anda menerima tandatangan atas cabaran yang disediakan pelayan — berguna untuk membuktikan identiti, tidak berguna untuk mendapatkan kunci penyulitan.

Tiada fleksibiliti algoritma: Kunci laluan biasanya menggunakan ECDSA dengan lengkung P-256. Walaupun anda boleh mengakses kunci, ECDSA ialah algor penandatangan

Frequently Asked Questions

Why can't passkeys be used to encrypt user data?

Passkeys are designed exclusively for authentication, not encryption. They rely on public-key cryptography to verify your identity during login, but the private key never leaves your device and isn't accessible to applications. Encryption requires stable, reproducible keys that can consistently decrypt data over time. Passkeys lack this capability by design, making them fundamentally unsuitable for protecting stored user information.

What happens if you try to encrypt data with passkeys anyway?

You risk building a brittle system where users get permanently locked out of their own data. Passkeys can be revoked, rotated, or replaced across devices without warning. If encrypted data is tied to a specific passkey that gets deleted or updated, there is no recovery path. This creates a catastrophic data-loss scenario that no amount of engineering workaround can reliably prevent.

What should developers use instead of passkeys for data encryption?

Developers should use purpose-built encryption solutions such as AES-256 with proper key management, envelope encryption, or established libraries like libsodium. Keep authentication and encryption as separate concerns. Use passkeys for what they excel at — passwordless login — and dedicated encryption keys managed through secure key derivation and storage systems for protecting sensitive user data.

How does Mewayz handle authentication and data security for businesses?

Mewayz provides a 207-module business OS starting at $19/mo that separates authentication from data protection using industry best practices. Rather than misusing passkeys, the platform at app.mewayz.com implements proper encryption layers alongside secure login flows, ensuring businesses can protect customer data reliably without risking the lockout scenarios that come from conflating authentication with encryption.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Jumpa ini berguna? Kongsikannya.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Bersedia untuk mengambil tindakan?

Mulakan percubaan Mewayz percuma anda hari ini

Platform perniagaan all-in-one. Tiada kad kredit diperlukan.

Mula Percuma →

14-day free trial · No credit card · Cancel anytime