تسجيل الدخول والتوثيق بدون بريد إلكتروني وكلمة مرور

The insecurity and usability problems of passwords are well known. Passwords are something you know, so they are vulnerable to forgetting, which happens often. Thus, email is widely used as a backup to reset passwords.

Email has a lot of problems too. Similar to passwords, people typically reuse the same email address across lots of services, creating a privacy risk if the email is discovered from the service. It is increasingly difficult to get an email address without giving personally identifiable information to the email server. As a deterrent against spam (and probably also because it makes it easier to target ads at users), free email services typically require providing a phone number which is easy to associate with a particular person. Paid email services might not require a phone number, but paying for a service without personally identifiable information is difficult as well, and relying on paid email service subscription is vulnerable to changes in financial circumstances. Also, it’s difficult to reliably self host an email server today. In addition to the privacy issues, the centralization created by reusing an email account across many services also creates a security risk because a compromise of the email account would compromise lots of other accounts.

Nowadays, we don’t need passwords nor emails to register or authenticate to a service. Discourse already supports FIDO and TOTP, but it still requires a password and email address to register and authenticate. It would be great if Discourse made passwords and emails optional in favor of FIDO and TOTP.

One factor authentication with FIDO can be really convenient, but it is vulnerable to loss or destruction of the single FIDO token, similar to the issue of registering with a password but no email address. To resolve this, I propose that users would be required to provide at least two factors to register, which could be any combination of FIDO, TOTP, and/or password. Users who want emailless & passwordless authentication could simply register two FIDO roaming authenticators like Yubikeys. Users could be advised (or potentially required, especially for administrators) to register more than the minimum of two factors to avoid losing access to their accounts.

As FIDO platform authenticators are being built into more and more devices these days with Windows Hello, Apple Touch & Face ID, and Android, this email-less registration system could be usable by nontechnical users who do not own specialized roaming authenticator hardware like a Yubikey. Users could register with the FIDO platform authenticator plus a password. One factor authentication with the FIDO platform authenticator could work seamlessly with such a setup. However, this would create a usability problem for authentication on new devices because users wouldn’t have the FIDO platform authenticator available on a new device and relying solely on the password to setup a new device wouldn’t be secure. To resolve this, I propose a workflow similar to how Matrix authenticates new clients. The user could try to login on a new device with that device’s FIDO platform authenticator (a new factor) and their password (an already registered factor). This would not actually log in, but it would create a request to approve the new FIDO authenticator in the account. The UI on the new device would then direct the user to log in on a device they already have registered to approve the new device. With FIDO platform authenticators built into mobile devices, this could be practically usable for secure authentication without specialized roaming authenticator hardware or sacrificing the ability to use any ad-hoc device like a public kiosk.

I just came up with this anonymous registration & authentication system yesterday after receiving my Yubikeys. I am not aware of any systems which implement this. I would love to see a mature and already widely deployed web application such as Discourse pioneer a future without email or other personally identifiable information being required to use the Internet.

3 إعجابات

That’s likely true. But it’s hard to imagine that anyone who would log in with the system that you propose don’t know what a password manager is. I’ve been using a password manager for a decade or so, have multiple fido keys, use Google authenticator, and don’t quite understand what you propose.

It seems improbable that such a system will be added unless at least a few enterprise customers want it. I think it’s on the order of at least 50 hours work for someone who knows a lot about the authentication system, and likely twice that with proper specs. There was an attempt a while ago to integrate with keybase, which could do some of what you want, but I don’t think it got very far.

It’s an interesting idea,though. Maybe it’s easier than I think.

إعجاب واحد (1)

Anyone with a recent device that has a FIDO platform authenticator built in could use this quite easily. In a few more years this could be just about anyone.

I said it in the title: make email optional. Making passwords optional would be great too.

I’m sure it would take a decent amount of work to implement. I think most of the hard part would be getting the UX design really clear. Discourse already has the building blocks in place with 2FA supporting FIDO and TOTP.

إعجاب واحد (1)

A small, first step towards implementing this could be adding the UI for registering FIDO and TOTP to the registration UI so it doesn’t need to be an extra step in the preferences after logging in for the first time. Later, the UI design could be improved further to make email and password optional.

إعجاب واحد (1)

I’m curious about @codinghorror’s thoughts on this considering his various blog posts about passwords.

3 إعجابات

يجب أن يكون البريد الإلكتروني اختياريًا. أصبح استخدام البريد الإلكتروني غير موثوق به بشكل متزايد، ومستحيلًا بسبب الاحتكار الكبير لمقدمي خدمات البريد الإلكتروني.

الآن فجأة يقوم Gmail بحظر اسم النطاق الخاص بي.

  • حتى بعد الإعداد المثالي لجميع أمان البريد الإلكتروني (SPF، DKIM، DMARC، …) لسنوات
  • ماذا أعني بالمثالي؟ جميع أدوات اختبار وتقارير أمان البريد الإلكتروني تُظهر “100% موافق” و
  • اسم النطاق لم يكن في أي قوائم بريد عشوائي (spamhouse…) لسنوات أيضًا.

لكن يمكنك الاتصال بـ Gmail؟ بالتأكيد…

اقتبس Sender Contact Form - Gmail Help

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

لذلك من المحتمل أن تكون الإجابة مثل “نعم، لقد نظرنا في الأمر، لم نصلحه، المشكلة من جانبك ولكنك لن تشارك أي أمثلة على البريد العشوائي ولن نخبرك ما هي المشكلة”… هذا، إذا كانت هناك أي مشكلة على الإطلاق.

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

إنها ليست تجربتي فقط.

قام العديد من الأشخاص الآخرين بكتابة مدونات حول تجارب مماثلة.

هذه الحيل تأتي بالإضافة إلى جميع الصعوبات التقنية لاستضافة خادم البريد الإلكتروني الخاص بك بنفسك.

هل يمكنك من فضلك جعل البريد الإلكتروني اختياريًا؟

  • عند التسجيل بعنوان بريد إلكتروني: سيكون استرداد كلمة المرور ممكنًا.
  • عند التسجيل بدون عنوان بريد إلكتروني: سيكون استرداد كلمة المرور مستحيلاً.
  • إذا سمح مسؤول الموقع (إعداد اختياري)، قم بتحذير المستخدم ولكن اسمح بالتسجيل بدون عنوان بريد إلكتروني.
  • اسم المستخدم + كلمة المرور فقط.

مواضيع مماثلة:

إعجاب واحد (1)

الحل السريع والسهل هو استخدام نظام آخر للمصادقة باستخدام Discourse Connect.

تقديري السابق لمدى صعوبة إنشاء نظام خالٍ من البريد الإلكتروني كان خاطئًا بشكل كبير. استخدام معرف آخر مع اسم مضيف not-email.invalid لتلك رسائل البريد الإلكتروني يجب أن يكون قابلاً للتنفيذ. أعتقد أن إضافة تسجيل الدخول باستخدام الإيثيريوم قد تفعل ما تريده، إذا كنت على استعداد لجعل الناس يستخدمون الإيثيريوم، ولكن شيئًا مشابهًا يمكن أن يعمل أيضًا. أنت بحاجة إلى طريقة لإنشاء هوية.

أنت بحاجة إلى طريقة لإنشاء الهوية.

اسم المستخدم + كلمة المرور فقط.

إذًا، هل يمكن لأي شخص (أو أي روبوت) على شبكة الإنترنت بأكملها القدوم إلى منتداك وإنشاء عدد لا نهائي من الحسابات عن طريق اختلاق اسم مستخدم وكلمة مرور؟

نعم.

في تجربتي مع تطبيقات الويب المختلفة، لا تواجه روبوتات البريد العشوائي مشكلة كبيرة في إنشاء عناوين بريد إلكتروني Gmail وعناوين بريد إلكتروني أخرى. في موقعي، لا نستبعد أيضًا عناوين البريد الإلكتروني المؤقتة القابلة للتصرف. هناك أيضًا بعض برامج المنتديات الأخرى / المنتديات التي تسمح بالتسجيل بدون عنوان بريد إلكتروني (أو بدون عنوان بريد إلكتروني صالح) وهذا لم يتسبب في أي مشاكل يمكنني رؤيتها. لذلك لا أرى عناوين البريد الإلكتروني كحاجز كبير لتجنب تدفق حسابات الروبوتات / هجمات DOS.

لكنني أرى من أين قد تأتي. قد يتوسع السماح للمستخدمين بالتسجيل بدون عنوان بريد إلكتروني إلى العديد من المشكلات اللاحقة. ماذا لو كان هناك تدفق هائل لهجمات الروبوتات و / أو هجمات DOS حيث يتم إنشاء عدد كبير من حسابات المنتدى؟

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

ذلك لأن مرسلي البريد العشوائي لديهم أيضًا في الوقت الحاضر إمكانية الوصول إلى العديد من عناوين البريد الإلكتروني التي تم إنشاؤها أو اختراقها. يمكنهم أيضًا استخدام مزودي البريد الإلكتروني المؤقت. أو شراء / سرقة اسم نطاق وإعداد خادم البريد الإلكتروني الخاص بهم لغرض إعداد المنتديات المزعجة.

ستنشأ نفس الأسئلة من كل من المستخدمين الذين يستخدمون البريد الإلكتروني ولا يستخدمونه. لغرض هذه المناقشة، أسئلة نظرية.

  • كيف يمكن عرض جميع الحسابات التي تم إنشاؤها منذ X أيام، والتي تم تسجيل الدخول إليها أقل من X دقائق، والتي لديها 0 مشاركة؟ ربما حسابات روبوتات. أريد العثور على كل هذه وحذفها.
  • كيف يمكن إضافة سؤال مخصص / لغز / كابتشا / أي شيء آخر قبل قبول التسجيل؟
  • هل يمكن أن تحتوي لوحة تحكم المسؤول على زر سهل يمكن للمسؤولين من خلاله الموافقة / عدم الموافقة بسهولة على عمليات التسجيل الجديدة القادرة على التعامل مع البريد العشوائي للتسجيل الجماعي؟

يبدو أن Google توصلت إلى حل مثير للاهتمام لهذا باستخدام رموز QR والبلوتوث:

إعجاب واحد (1)

ذات الصلة: Users logging with SSO, without email address

إعجاب واحد (1)

الآن بعد أن أصبحت مفاتيح المرور سائدة جدًا، تقدم العديد من الخدمات تسجيلًا خاليًا من كلمات المرور حيث لا تضطر أبدًا إلى إنشاء كلمة مرور. إن امتلاك كلمة مرور يتجاوز الفوائد الأمنية لمفاتيح المرور. وبالمثل، فإن استخدام البريد الإلكتروني كطريقة استرداد يعني أن أمان جميع حساباتك يعتمد على أمان حساب بريدك الإلكتروني. إن اشتراط كلمات المرور/البريد الإلكتروني سيء لأمن المستخدم وخصوصيته، ناهيك عن مدى سهولة إنشاء حسابات بريد إلكتروني جديدة. يمكنني القول من واقع الخبرة أن متطلبات البريد الإلكتروني لا تمنع الروبوتات من إرسال رسائل غير مرغوب فيها إلى منتداك على الإطلاق. أحد الأسباب الرئيسية التي دفعت الخدمات تاريخيًا إلى اشتراط البريد الإلكتروني هو أنه يمكنك استرداد حسابك في حالة نسيان كلمة المرور الخاصة بك، ولكن مع مفاتيح المرور، يتم تخزينها في مدير كلمات المرور الخاص بك ومزامنتها عبر الأجهزة. يمكنك حتى إضافة مفاتيح مرور متعددة إلى حساب، مما يقضي تقريبًا على مشكلة نسيان الأشخاص لكلمة المرور الخاصة بهم. إليك بعض الأمثلة للمواقع التي تطبق تسجيلًا خاليًا من كلمات المرور:

https://app.uninbox.com/ هذا الموقع جيد بشكل خاص في رأيي لأنه لا يتطلب بريدًا إلكترونيًا
https://www.kayak.com/

إعجاب واحد (1)

من فضلك، اشرح هذا كما لو كنت في الثمانينيات.

يقدم Target التسجيل باستخدام مفتاح المرور فقط مع خيار البريد الإلكتروني/كلمة المرور) ويجبر Discourse على استخدام البريد الإلكتروني أو البريد الإلكتروني عبر SSO. يستخدم Kayak (أنا حقًا لا أحب اسم النطاق هذا، بالمناسبة :smirking_face:) Google SSO فقط، ويوفر Discourse ذلك بالفعل.

إذًا، السؤال المفتوح هنا هو الآن خيار مشابه لما يستخدمه Target، لأن خيار Kayak موجود بالفعل (لن أقتصر التسجيل على مستخدمي Google فقط، ولكن هذا أنا فقط).

ماذا يحدث عندما يغير مستخدم Target، على سبيل المثال، من iPhone إلى Android؟

Kayak يسمح لك بالتسجيل باستخدام مفتاح مرور إذا أدخلت بريدك الإلكتروني. للأسف، لا يزال البريد الإلكتروني مطلوبًا.

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

إعجاب واحد (1)