كلمة المرور الرئيسية (خوارزمية)

كلمة المرور الرئيسية هي نوع من الخوارزميات التي ابتكرها مارتن بيليمونت لإنشاء كلمات مرور فريدة بطريقة قابلة للتكرار. وهي تختلف عن برامج إدارة كلمات المرور التقليدية في أن كلمات المرور لا تُخزّن على القرص أو في السحابة، بل تُعاد توليدها في كل مرة من المعلومات التي يُدخلها المستخدم: اسمه، وكلمة مرور رئيسية ، ومعرّف فريد للخدمة التي تُستخدم كلمة المرور من أجلها (عادةً عنوان URL). [ 1 ]

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

الخوارزمية

يتضمن تطبيق Billemont المعلمات التالية: [ 1 ]

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

توليد المفتاح الرئيسي

في تطبيق Billemont، المفتاح الرئيسي هو مفتاح سري عالمي بطول 64 بايت، يُولّد من كلمة مرور المستخدم الرئيسية السرية ويُضاف إليها اسم المستخدم الكامل. يُستخدم هذا الاسم الكامل كقيمة عشوائية لتجنب الهجمات القائمة على جداول قوس قزح . تُستخدم خوارزمية scrypt ، وهي دالة اشتقاق مفاتيح بطيئة عمدًا ، لتوليد المفتاح الرئيسي، مما يجعل هجوم القوة الغاشمة غير ممكن.

salt = "com.lyndir.masterpassword" + length ( name ) + name master_key = scrypt ( master_password , salt , 32768 , 8 , 2 , 64 )

نموذج لخطة البذور

مفتاح القالب هو سر خاص بالموقع بصيغة ثنائية، يُولّد من المفتاح الرئيسي واسم الموقع والعداد باستخدام خوارزمية HMAC-SHA256 . يُحوّل لاحقًا إلى سلسلة نصية باستخدام قوالب كلمات المرور. يضمن مفتاح القالب أن تكون كل كلمة مرور فريدة للموقع الإلكتروني وللمستخدم.

seed = hmac_sha256 ( master_key , "com.lyndir.masterpassword" + length ( site_name ) + site_name + counter )

إنشاء كلمة المرور

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

  • كلمة مرور ذات أقصى درجات الأمان (20 حرفًا قابلاً للطباعة ASCII )
  • كلمة مرور طويلة (14 حرفًا قابلاً للطباعة بنظام ASCII)
  • كلمة مرور متوسطة (8 أحرف قابلة للطباعة ASCII)
  • كلمة مرور قصيرة (4 أحرف قابلة للطباعة ASCII)
  • كلمة المرور الأساسية (8 أحرف وأرقام)
  • الرقم السري (4 أرقام)

التطبيقات

كما قام بيليمونت بإنشاء العديد من تطبيقات البرمجيات المجانية لخوارزمية كلمة المرور الرئيسية، المرخصة بموجب رخصة GPLv3 .: [ 2 ]

مراجع

  1. 1 2 بيليمونت، مارتن. "خوارزمية كلمة المرور الرئيسية" . مؤرشف من الأصل في 9 ديسمبر 2017. تم الاطلاع عليه في 8 مايو 2015 .
  2. "ملف ترخيص مستودع MasterPassword" . GitHub . تم الاطلاع عليه بتاريخ 15 مايو 2015 .
  3. بيليمونت، مارتن. "الإصدار 1.0.0" . جيت هاب . تم الاطلاع عليه بتاريخ 15 مايو 2015 .
  4. وظيفة Firefox الإضافية الخاصة بـ Masterpassword
  5. ملحق Chrome الخاص بـ Masterpassword
  6. بيليمونت، مارتن. "الصفحة الرئيسية لكلمة المرور الرئيسية" . تم الاطلاع عليه بتاريخ 15 مايو 2015 .

الموقع الرسمي