سؤال

أقوم ببرمجة سلطة إصدار الشهادات في Java لفصل UNI ، والآن لا أعرف ما هو الخيار الأفضل للرقم التسلسلي للشهادة.

  • عداد ثابت بسيط من 0 إلى جدا
  • بعض العدد العشوائي الكبير الضخم

هل هناك أي سبب وجيه لاختيار واحد على الآخر ... أو لا شيء منهم ؟؟

شكرًا،

هل كانت مفيدة؟

المحلول

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

  1. لن تعيد إصدار الرقم التسلسلي نفسه أبدًا.
  2. يمكنك معرفة الرقم التسلسلي للشهادة إذا كان صحيحًا عن بعد.

بالطبع رقم 1 ، يتطلب منك التحقق من القائمة المعروفة على الجيل وإنشاء رقم عشوائي جديد في حالة حدوث تصادم ، و #2 ليس الكثير من أي شيء من حيث الأمان أو التحقق من الصحة ولكنه احتمال مثير للاهتمام أبدًا .

نصائح أخرى

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

ومع ذلك - قد لا ترغب في استخدام عداد بسيط إذا كنت تهتم بالأشخاص الذين يعرفون عدد الشهادات التي أصدرتها.

يعتمد ذلك على ما تستخدمه الرقم التسلسلي. إذا كنت شركة صغيرة وإذا كنت تخطط لإعطاء شهادة واحدة لكل عميل ، فسيكشف رقمك التسلسلي عن عدد العملاء الذين لديك.

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

الشرط الرئيسي هو أن الزوج (Issuer distinguished name, serial number) يجب أن تكون فريدة من نوعها في الكون. لذلك يجب ألا تستخدم رقمًا عشوائيًا إلا إذا كان كبيرًا لدرجة أن احتمال التكرار ضئيل. يجب أن يكون الرقم العشوائي 20 بايت أكثر من كافية. العداد البسيط جيد تمامًا ، إذا كنت لا تمانع في معرفة عدد الشهادات التي أصدرتها.

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

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top