لو شات بوت الدعم الفني بتاعك بيستلم 47 شكوى أسبوعيًا عن "نسيت الباسوورد"، انت بتدفع 312 دقيقة دعم شهريًا لمشكلة مفروض ميكونش لها وجود في 2026. Passkeys بـ WebAuthn بتشيل الـ password كليًا وتستبدله بـ Touch ID أو Face ID أو Windows Hello، والمستخدم بيدخل في 1.8 ثانية بدون أي كتابة. Google أعلنت في مايو 2024 إن أكتر من مليار حساب اتفعّلت عليه Passkeys، و Apple نشرت إن 65% من مستخدمي iCloud Keychain عاملينها افتراضي.
ابني Login بـ Passkeys على Node.js — دليل تنفيذي عملي 2026
المشكلة باختصار: الباسوورد بيكلّفك أكتر مما تتخيّل
الـ password عمره فات. الأرقام بتقول إيه بالظبط:
- 81% من اختراقات حسابات الإنترنت سببها passwords ضعيفة أو مسرّبة (Verizon DBIR 2023).
- المستخدم العادي بينسى password واحد كل 9 أيام (تقرير LastPass 2023).
- كل reset password بيكلّف الشركة بين 40-70 ريال في دعم فني (Forrester 2022).
- 73% من المستخدمين بيستخدموا نفس الـ password على 3 مواقع على الأقل، فاللي يتسرّب من موقع تاني بيدخل عليك.
فهم Passkey بمثال المفتاح الذكي — للمبتدئ
متخيّل إن عندك شقة في برج سكني. الـ password القديم زي مفتاح ميكانيكي عادي: أي حد يدّيلك نسخة منه يقدر يدخل، وأي حد يكسر القفل يقدر يدخل، وانت ممكن تنسى المفتاح في أي مكان أو حد ياخده منك من غير ما تحس.
Passkey مختلفة خالص. تخيّل إن باب الشقة بيتعرّف على بصمة إصبعك أنت بالظبط. القفل ميتحركش بأي مفتاح تاني، وحتى لو سرقوا اللوحة الإلكترونية اللي على الباب نفسه، البصمة بتاعتك مش هتشتغل على أي قفل تاني في الدنيا. كل باب عنده بصمة مختلفة، وكل بصمة بتشتغل على باب واحد بس.
دي الفكرة الأساسية. الـ password واحد بيشتغل على أي حد عنده النص. الـ passkey مفتاح بيقفل على موقعك انت بس، ومخزّن داخل جهازك بشكل لا يخرج منه أبدًا.
التعريف العلمي الدقيق
WebAuthn هو W3C Recommendation رسمي صدر في مارس 2019، وتحديث Level 3 صدر في 2024. الـ standard بيستخدم public-key cryptography، يعني عند التسجيل الجهاز بيولّد زوج مفاتيح:
- Private key: بيتخزّن في secure enclave على الجهاز نفسه (TPM في Windows، Apple Secure Enclave في macOS/iOS، Titan M2 في Android). الـ key ده ميخرجش من الـ enclave أبدًا، حتى الـ OS مش بيقدر يقراه.
- Public key: بيتبعت للسيرفر ويتخزن في الـ DB، وده اللي بيتشارك للتحقق فقط.
عند الدخول، السيرفر بيبعت challenge عشوائي (32 بايت)، الجهاز بيوقّع الـ challenge بالـ private key بعد ما يتأكد من المستخدم بـ بصمة أو وجه أو PIN، السيرفر بيتحقق من التوقيع بالـ public key. لو التوقيع صحيح، دخل. لو غلط، اترفض.
النتيجة: phishing مستحيل لأن الـ private key مرتبط بدومين معين (origin binding)، والـ replay attacks مستحيلة لأن الـ challenge جديد كل مرة.
]]>