debianopenssl
مفاتيح خاصة معرّضة لخلل OpenSSL في دبيان (CVE-2008-0166)
في عام 2008، أدى خلل في حزمة OpenSSL الخاصة بدبيان وأوبونتو إلى مفاتيح خاصة يمكن توقعها.
على الرغم من أن عدد المفاتيح محدود، إلا أن إنشاء قائمة صحيحة بجميع المفاتيح المعرّضة
للاحتمال يتطلب بعض الاعتبارات. يحتوي هذا المستودع على المفاتيح المستخدمة في
قائمة الحظر في أداة badkeys.
ملاحظات حول خلل OpenSSL في دبيان:
- تعتمد المفاتيح على معرّف العملية (PID). تتراوح قيم PID الصالحة من 0 إلى 32767. المفاتيح
المُنشأة بقيمة PID 0 غير محتملة، لكنها مُدرجة. على المنصات ذات 64 بت، من الممكن
إعداد النواة للسماح بقيم PID أكبر، لكن هذا غير محتمل.
- المفاتيح الصادرة عن أداة سطر الأوامر openssl وتلك الصادرة عن ssh-keygen من OpenSSH مختلفة.
- المفاتيح المولّدة بأمرَي openssl وهما genrsa و req متطابقة.
- يُنشئ openssl مفاتيح مختلفة اعتمادًا على وجود ملف .rnd أو غيابه
في الدليل الرئيسي.
- بدون ملف .rnd، تُنتج إصدارات openssl الأقدم (مثل 0.9.8c من etch) والأحدث (مثل 0.9.8g من lenny)
مفاتيح مختلفة.
- لا يُنشئ ssh-keygen مفاتيح RSA بحجم 512 بت (الحد الأدنى هو 768).
- يدعم openssl تغيير قيمة الأس إلى 3، لكن هذا لا يغيّر المعامل (modulus). لذلك تُدرج فقط
المفاتيح ذات قيمة الأس الافتراضية. وعند إنشاء قائمة حظر، يُنصح بالتحقق من المعامل
وليس المفتاح الكامل.
- يدعم ssh-keygen مفاتيح DSA بحجم 1024 بت فقط.
- توليد مفاتيح DSA باستخدام openssl هي عملية من خطوتين (توليد المعاملات أولًا،
ثم المفتاح)، لذلك عدد المفاتيح الممكنة أكبر بكثير. وهي غير مُدرجة هنا لأن استخدام
مفاتيح DSA في SSL/TLS لم يكن شائعًا أبدًا.
- المفاتيح المُنشأة على البنى ذات النمط الكبير big endian وهي PowerPC وSPARC وHPPA متطابقة.
- المفاتيح المُنشأة على MIPS مختلفة. ومع ذلك، نظرًا لندرة استخدام تلك المنصة، فهي غير مُدرجة.
- مفاتيح المنحنى الإهليلجي / ECDSA مدعومة من openssl، لكنها غير مدعومة من openssh. هناك عدد
كبير من المنحنيات المدعومة، لكن منحنيَي NIST P-256 وP-384 فقط هما الشائعان
في شهادات TLS.
يتضمن هذا المستودع حاليًا:
- مفاتيح RSA بأحجام 1024 و2048 و3072 و4096 بت.
- مفاتيح DSA بحجم 1024 بت (openssh فقط).
- مفاتيح ECDSA بمنحنيَي P-256 وP-384 (openssl فقط).
- مفاتيح مُنشأة بقيم PID من 0 إلى 32767.
- مفاتيح مُنشأة بكل من openssl وssh-keygen (المجلدان ssl/ssh).
- مفاتيح مُنشأة على بنى 32 بت صغيرة النهاية little endian (x86) و64 بت (amd64) والبنى
الشائعة 32 بت كبيرة النهاية big endian (PowerPC/SPARC/HPPA).
- جميع أشكال openssl الثلاثة (مع/بدون .rnd، الإصدارات القديمة/الجديدة).
ولا يتضمن أحجام المفاتيح غير المعتادة، أو قيم PID غير القياسية، أو قيم الأس غير القياسية،
أو المفاتيح المُنشأة على MIPS، أو مفاتيح DSA المُنشأة باستخدام openssl.
هيكل الدليل هو:
rsa2048
ssl
le32
$pid-rnd.key
$pid-nornd-old.key
$pid-nornd-new.key
le64...
be32...
ssh
le32
$pid.key
le64...
be32...
rsa...
dsa1024
ssh
...
ecp256
ssl
...
روابط