كيف تخزن الشبكات كلمات المرور الخاصة بك ومعلومات تسجيل الدخول الأخرى؟

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

منذ سنوات ، كان من الصعب حقًا كسر كلمات المرور العشوائية المكونة من ثمانية أحرف والتي تتكون من أحرف كبيرة وصغيرة ورموز وأرقام. في بعض الحالات ، استغرق كسر كلمة المرور هذه سنوات.





بفضل التكنولوجيا المتغيرة اليوم والآلات المستأجرة ، تم تقليل هذا الوقت إلى ساعات. ولكن كيف يتم تخزين كلمات المرور هذه في المقام الأول؟





اجعل فيديو اليوم قم بالتمرير للمتابعة مع المحتوى

كيف يتم تخزين كلمات المرور على الإنترنت

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





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

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



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

في بداية العقد الأول من القرن الحادي والعشرين ، قد يستغرق الأمر مئات السنين لتجربة كل مجموعات كلمات المرور المكونة من 8 أحرف والتي تم تشفيرها باستخدام خوارزميات التجزئة الشائعة. بالطبع ، لا يتضمن هذا تركيبات بسيطة جدًا مثل '123456' أو 'mypassword' في هذه المجموعة. مع تطور تقنيات البرامج والأجهزة اليوم ، تغيرت طريقة كسر كلمات المرور كثيرًا أيضًا.





تأثير ظهور وحدات معالجة الرسومات

  بطاقتي رسومات rtx2080

تحسنت قدرات معالجة البيانات الموازية لمعالجات الرسومات (GPU) بمرور الوقت. وحدات معالجة الرسومات غير قادرة على أداء عمليات متعددة الاستخدامات مثل وحدات المعالجة المركزية للأغراض العامة. لذلك على الرغم من وجود العديد من النوى وقوة المعالجة المتوازية ، فليس من المنطقي استخدامها في كل مشكلة تقريبًا مثل وحدة المعالجة المركزية.

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





للحصول على فكرة ، افحص أرقام التجزئة في الثانية لخوارزميات التجزئة مثل NTLM و MD5 و SHA1 في الجدول أدناه. يكفي ، في الوقت الحالي ، معرفة أن هذه الخوارزميات هي مجرد خوارزمية تجزئة. لإنشاء هذا الجدول ، استخدمت نظامًا عنقوديًا يتكون من 25 وحدة معالجة رسومات AMD Radeon.

الخوارزمية

تجزئة في الثانية

NTLM

350.000.000.000

MD5

180.000.000.000

SHA1

63.000.000.000

SHA512Crypt

364000

بكربت

71000

النصي

33000

كما ترى ، مع مثل هذا النظام ، يمكنك إنشاء تجزئة NTLM 350 مليار مرة في الثانية. هذا يعني أنه يمكنك تجربة جميع مجموعات كلمة المرور المكونة من 8 أحرف في أقل من 6 ساعات. علاوة على ذلك ، الأجهزة الموجودة في هذا المثال تعود إلى سنوات ماضية. تخيل قوة تكسير كلمات المرور اليوم.

ماذا يجب أن يفعل مطورو البرمجيات؟

  مطور يكتب كود

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

إذا كان المطورون يعملون مع إطار عمل برمجي يعالج أيضًا عمليات تشفير كلمات المرور مثل Django و Ruby on Rails و Spring Security ، فيجب عليهم التحقق مما إذا كانت القرارات الصحيحة قد اتخذت في إطار العمل من حيث الأمان.

على سبيل المثال، ابتكر وهي واحدة من أكثر المكتبات استخدامًا لعمليات المستخدم في Ruby on Rails ، وتستخدم Bcrypt كخوارزمية التجزئة الافتراضية. كما يسمح لك باستخدام طريقة أخرى مثل خوارزمية التجزئة. تعد خوارزمية Bcrypt موثوقة لأنها لا تزال تستغرق وقتًا طويلاً حتى تعطل وحدة معالجة الرسومات.

باختصار ، كلما طالت مدة حساب قيمة التجزئة ، زادت أمانك.

كم عدد الأحرف التي يجب أن تحتوي كلمة المرور الخاصة بك؟

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

لنفكر في هذا الموقف من خلال سيناريوهين مختلفين. ضع في اعتبارك القيم الواردة في الجدول أعلاه لخوارزمية تجزئة NTLM وتخيل أنك ستحاول كسر كلمة المرور. تخيل استهداف كلمات مرور مكونة من ثمانية أحرف أو أكثر.

كيفية إرسال رسالة خاصة على اليوتيوب

عدد الشخصيات

أحرف وأرقام كبيرة / صغيرة

أحرف كبيرة / صغيرة وأرقام ورموز خاصة

8

أقل من دقيقة واحدة

2 دقيقة

9

2 دقيقة

ساعاتين

10

ساعاتين

أسبوع 1

أحد عشر

6 أيام

سنتان

12

سنة واحدة

200 عام

13

أكثر من 100 عام

أكثر من 1000 عام

عند فحص الجدول ، يمكنك أن ترى أن استخدام كلمة مرور مكونة من 12 حرفًا على الأقل آمن عند استخدام جميع مجموعات الأحرف الكبيرة / الصغيرة والأرقام والرموز الخاصة. إذا كنت لا تستخدم رموزًا خاصة ، فقد اتضح أنك بحاجة إلى استخدام 13 حرفًا بطول كلمة المرور الآمنة. إذا استخدمت طريقة تجزئة Bcrypt بدلاً من تجزئة NTLM في هذا النظام ، فستكون 8 أحرف كافية. ومع ذلك ، لا تتاح لك الفرصة لمعرفة طريقة التجزئة التي يستخدمها النظام الذي تدخله عبر الويب ويحتفظ بكلمة المرور الخاصة بك. لهذا السبب يجب أن تفكر في كل الاحتمالات.

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

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

نصيحة للمستخدمين النهائيين

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