Passkeys: كلمة المرور التي لا وجود لها

نُشر في بقلم David Carrero

حكايات كلمات المرور كلّها تنتهي النهاية نفسها: كان سرّك محفوظًا عند أحدهم في مكان ما، فأضاعه.

لا فرق أيّ سنة كانت. في البداية كان في ملف نصّي صريح على حاسوب مشترك، فكفى أن يُطلب من النظام أن يطبعه. سنة 1979، روى Morris وThompson كيف نملّح الـ hash ونُغلي حسابه حتى لا تنقلب القائمة المسروقة في الحال قائمةَ كلمات مرور، وكان ذلك تحسينًا هائلًا. ثم جاءت قواعد التركيب التي حملتنا على وضع رمز في الآخر. لكن شكل المشكلة لم يتزحزح مليمترًا واحدًا في ذلك كلّه: ثمّة سرّ، أنت تعرفه، والخادم يستطيع التحقق منه، ومن ثمّ فعند الخادم ما يمكن أن يضيع منه.

كلّ ما صنعناه منذ ذلك الحين قوامه أن نجعل ذلك السرّ أطول وأغرب وأكثر ملحًا وأبطأ كسرًا. ولم يطرح أحد السؤال الذي يسبق ذلك كلّه: وماذا لو لم يكن هناك سرّ مشترك أصلًا؟

1976 فكرة أنّ للسرّ نصفين

سنة 1976، نشر Whitfield Diffie وMartin Hellman ورقة New Directions in Cryptography. كانت الفكرة من فرط بساطتها تكاد تكون إهانة: المفتاح يمكن أن يُشقّ نصفين لا يقوم أحدهما مقام الآخر. واحد تذيعه في الآفاق؛ والآخر لا يبرح بيتك. ما توقّعه بالخاصّ يُتحقَّق منه بالعامّ، أما العامّ فلا يُوقَّع به شيء.

اقرأها مرة أخرى وأنت تفكّر في خادم: لم يعد الموقع محتاجًا أن يحفظ شيئًا يمكن الدخول به. لا يحفظ إلا النصف الذي لا يفتح شيئًا.

وأن تستغرق الفكرة نصف قرن تقريبًا حتى تصل إلى شاشة مصرفك، فذلك ليس في مصلحة قطاعنا. شهادات العميل كانت موجودة وكانت تعمل؛ الذي لم يكن موجودًا هو طريقة لاستعمالها لا تستلزم شهادة ماجستير. التعمية كانت محلولة. أما قابلية الاستعمال، فلا.

2013 أحدهم يتّفق، على سبيل التغيير

سنة 2013 وُلد FIDO Alliance، تحالف صناعي بهدف معلن وغير متواضع: تقليل الاعتماد على كلمات المرور. والمهمّ لم يكن التقنية — فتلك كانت جاهزة — بل أن يجلس المصنّعون والمتصفّحات والخدمات ليتّفقوا على بروتوكول واحد. يبدو الأمر بيروقراطية، وكان بالضبط ما ينقص: آليةُ توثيق لا تعمل إلا في متصفّح واحد ومع خدمة واحدة ليست آلية، بل طُرفة.

2019 المتصفّح يتعلّم التعمية

في مارس 2019، صار WebAuthn توصيةً من W3C. بالعربية الواضحة: صار بوسع أي صفحة أن تطلب من المتصفّح — عبر واجهة برمجية قياسية، بلا إضافات ولا مشغّلات — أن يولّد زوج مفاتيح ويوقّع به.

والمسار، بلا زخرفة، هكذا. حين تسجّل، ينشئ جهازك زوج مفاتيح جديدًا خاصًّا بذلك الموقع وحده. يرسل العامّ. ويبقي عنده الخاصّ، يحفظه الجهاز نفسه وتحميه بصمتك أو وجهك أو رمز الجهاز السرّي. وحين تعود، يرسل إليك الموقع تحدّيًا عشوائيًا، فيوقّعه جهازك، فيتحقق الموقع من التوقيع بالمفتاح العامّ الذي كان عنده أصلًا.

وانتبه إلى ما لا يحدث: لا يسافر أيّ سرّ. الخادم لم يملك يومًا مفتاحك الخاصّ، فلا يستطيع أن يضيّعه. وإن سُرّبت غدًا قاعدة بياناته بأكملها، فالذي يخرج منها قائمة مفاتيح عامّة — أشبه بسرقة دليل الهاتف. لا hashes تُمرَّر على GPU ولا قاموس يُجرَّب. المسألة ليست أنّ ذلك صعب: المسألة أنّه لا شيء هناك يساوي شيئًا.

الأثر الجانبي أكبر من الفكرة نفسها

حين ينشئ جهازك ذلك الزوج من المفاتيح، يربطه بالنطاق. المفتاح الذي حفظه لـ masrifuka.com لا يُعرض إلا على masrifuka.com. ليست هذه سياسة ولا تحذيرًا ولا لافتة حمراء في شريط العنوان: بل إنّ المفتاح الخاص بـ masrif0ka-aman.com غير موجود. المتصفّح لا يجده لأنه لم يُنشأ قطّ.

هذا يقتل التصيّد. لا يقلّله: يتركه بلا آلة يعمل بها. تجارة التصيّد كلّها قائمة على أنّ بوسعك أنت أن تكتب كلمة مرورك في الموقع الخطأ، ونحن منذ سنوات نحاول إصلاح ذلك بتدريب المستخدمين وحملات التوعية. كان ذلك كلّه علاجًا للعرَض. عينك ينخدع بعنوان مشابه؛ وهاتفك لا. هو لا يقرأ: هو يقارن سلاسل حروف.

وفي الطريق يجرف معه إعادة الاستعمال، وكانت الخطيئة الكبرى الأخرى. لكل موقع زوج مفاتيحه. لا شيء تعيد استعماله ولو أردت.

2022 الثلاثة الكبار يوقّعون الصلح

في مايو 2022، أعلنت Apple وGoogle وMicrosoft معًا أنها ستوسّع دعم اعتمادات FIDO — الـ passkeys — في منصّاتها ومتصفّحاتها.

هذا ما حوّل الأمر من مذكّرة تقنية إلى شيء تستطيع أن تشرحه لأمّك. وحتى ذلك الحين كان WebAuthn يعني في الغالب مفتاحًا ماديًّا على USB: ممتاز، ولثلاثة أشخاص. أما الـ passkey فتسكن حيث الهاتف في يدك أصلًا، وتُفتح بوجهك.

ما لا تصلحه

والآن الخطّ الصغير، لأن القطاع سيقضي السنوات المقبلة متظاهرًا بأنه غير موجود.

الاستعادة تبقى النقطة الرخوة. الثغرة لم تختفِ: انتقلت. إن أضعت الجهاز، فلا بدّ أن يقرّر أحدهم أنك أنت، وذلك القرار يُتّخذ في الغالب عبر بريد أو رسالة نصية أو بالكلام مع إنسان في مركز اتصال. وذلك الإنسان هو بعينه الهدف نفسه الذي كان قبلًا. صفّحت الباب الأمامي والخلفي حيث كان.

والمزامنة تربطك بمنظومة. الـ passkeys مريحة لأن منصّتك تنسخها بين أجهزتك. وهذا قول آخر لأنّ مفاتيحك تسكن في ميدالية شركة بعينها. الخروج من هناك ليس مستحيلًا، لكنه ليس زرًّا أيضًا. بدّلت مشكلة أن تتذكّر بمشكلة أن تنتمي.

ولا تزال بحاجة إلى الدخول إن أضعت الهاتف. وهذا يعني عمليًّا أنّ ما من موقع تقريبًا أزال كلمة المرور: بل خبّأها خلف «هل تواجه مشكلة في الدخول؟». وما دام ذلك الرابط موجودًا، فكلمة المرور موجودة، وهي رديئة كما كانت دائمًا. السلسلة تنقطع عند أضعف طريقة تقبلها، لا عند أرشق طريقة تعرضها.

ماذا تفعل في هذه الأثناء

فعّل الـ passkeys حيث تُعرض عليك، وابدأ بما يؤلم أكثر إن سقط: البريد، والمصرف، والحساب الذي تدخل به إلى بقيّة الحسابات. إنها من التحسينات الأمنية القليلة التي تريحك من عمل بدل أن تزيده.

ولا تخدع نفسك: ستظلّ تملك كلمات مرور سنوات، ولو كخطّة بديلة. فلتكن طويلة، ومختلفة في كل موقع، ومحفوظة في مدير. إن أردت واحدة لا تخرج من رأسك فاستعمل المولّد؛ وإن أردت أن تعرف هل تصمد التي عندك لشيء، فمرّرها على المدقّق.

سؤال الحارس القديم — أمِنّا أنت؟ — صار له أخيرًا جواب مختلف. عقودًا كنا نجيب بكلمة يمكن سماعها. أما الآن فنجيب بتوقيع لا يستطيعه إلا جهازك، دون أن تُوجَد الكلمة أصلًا. هذه أول مرة نغيّر فيها السؤال بدل الكلمة.


المصادر: W. Diffie وM. Hellman، «New Directions in Cryptography»، IEEE Transactions on Information Theory، 1976 · R. Morris وK. Thompson، «Password Security: A Case History»، Communications of the ACM، 1979 · FIDO Alliance، تأسّست سنة 2013 · «Web Authentication: An API for accessing Public Key Credentials»، توصية W3C، مارس 2019 · إعلان مشترك من Apple وGoogle وMicrosoft بشأن دعم الـ passkeys، مايو 2022.

← العودة إلى المدونة