debianopenssl
प्राइवेट कुंजियाँ Debian OpenSSL बग (CVE-2008-0166) के प्रति संवेदनशील
2008 में Debian और Ubuntu के OpenSSL पैकेज में एक बग के कारण पूर्वानुमेय प्राइवेट कुंजियाँ उत्पन्न हो रही थीं।
हालाँकि कुंजियों की संख्या सीमित है, लेकिन सभी संभावित रूप से प्रभावित कुंजियों की एक उचित सूची बनाने के लिए कुछ बातों पर विचार करना आवश्यक है। इस रिपॉजिटरी में badkeys टूल में ब्लॉकलिस्ट के लिए उपयोग की जाने वाली कुंजियाँ शामिल हैं।
Debian OpenSSL बग के बारे में नोट्स:
- कुंजियाँ प्रक्रिया आईडी (PID) पर निर्भर करती हैं। मान्य PID 0 से 32767 तक होते हैं। PID 0 से बनाई गई कुंजियाँ असंभावित हैं, लेकिन उन्हें शामिल किया गया है। 64 बिट प्लेटफॉर्म पर, कर्नेल को बड़े PID की अनुमति देने के लिए कॉन्फ़िगर करना संभव है, लेकिन यह असंभावित है।
- openssl कमांड लाइन टूल और OpenSSH के ssh-keygen से प्राप्त कुंजियाँ अलग-अलग होती हैं।
- openssl के genrsa और req कमांड से उत्पन्न कुंजियाँ समान होती हैं।
- openssl होम निर्देशिका में .rnd फ़ाइल की उपस्थिति या अनुपस्थिति के आधार पर अलग-अलग कुंजियाँ बनाता है।
- .rnd फ़ाइल के बिना, पुराने (जैसे etch से 0.9.8c) और नए (जैसे lenny से 0.9.8g) openssl संस्करण अलग-अलग कुंजियाँ उत्पन्न करते हैं।
- ssh-keygen 512 बिट RSA कुंजियाँ नहीं बनाता (न्यूनतम आकार 768 है)।
- openssl एक्सपोनेंट मान को 3 में बदलने का समर्थन करता है, लेकिन इससे मॉड्यूलस नहीं बदलता। इसलिए केवल डिफ़ॉल्ट एक्सपोनेंट मान वाली कुंजियाँ शामिल हैं। ब्लॉकलिस्ट बनाते समय, पूर्ण कुंजी के बजाय मॉड्यूलस की जाँच करने की अनुशंसा की जाती है।
- ssh-keygen केवल 1024 बिट आकार की DSA कुंजियों का समर्थन करता है।
- openssl के साथ DSA कुंजियाँ उत्पन्न करना एक दो-चरणीय प्रक्रिया है (पहले पैरामीटर उत्पन्न करना, फिर कुंजी), इसलिए संभावित कुंजियों की संख्या बहुत अधिक है। उन पर यहाँ विचार नहीं किया गया क्योंकि SSL/TLS में DSA कुंजियों का उपयोग कभी सामान्य नहीं था।
- बड़े एंडियन आर्किटेक्चर PowerPC, SPARC और HPPA पर बनाई गई कुंजियाँ समान होती हैं।
- MIPS पर बनाई गई कुंजियाँ अलग होती हैं। हालाँकि, उस प्लेटफॉर्म के दुर्लभ उपयोग को देखते हुए, उन पर विचार नहीं किया गया है।
- एलिप्टिक कर्व / ECDSA कुंजियाँ openssl द्वारा समर्थित हैं, लेकिन openssh द्वारा नहीं। बड़ी संख्या में संभावित कर्व समर्थित हैं, लेकिन TLS प्रमाणपत्रों में केवल NIST P-256 और P-384 कर्व ही सामान्यतः उपयोग में हैं।
इस रिपोजिटरी में वर्तमान में शामिल हैं:
- 1024, 2048, 3072 और 4096 बिट के साथ RSA कुंजियाँ।
- 1024 बिट के साथ DSA कुंजियाँ (केवल openssh)।
- P-256 और P-384 कर्व के साथ ECDSA कुंजियाँ (केवल openssl)।
- PID 0 से 32767 तक बनाई गई।
- openssl और ssh-keygen दोनों से बनाई गई कुंजियाँ (डीआईआर ssl/ssh)।
- लिटिल एंडियन 32 बिट (x86) और 64 बिट (amd64) आर्किटेक्चर और सामान्य बड़े एंडियन 32 बिट (PowerPC/SPARC/HPPA) आर्किटेक्चर पर बनाई गई कुंजियाँ।
- तीनों openssl विविधताएँ (.rnd के साथ/बिना, पुराना/नया संस्करण)।
इसमें असामान्य कुंजी आकार, गैर-मानक PID मान, गैर-मानक एक्सपोनेंट मान, MIPS पर बनाई गई कुंजियाँ, या openssl के साथ बनाई गई DSA कुंजियाँ शामिल नहीं हैं।
निर्देशिका संरचना इस प्रकार है:
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
...
लिंक