3 पॉइंट द्वारा GN⁺ 2025-01-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • शोध में 1,024-बिट से छोटे सार्वजनिक DKIM कुंजियों की 1,700 से अधिक खोजें मिलीं। RSA कुंजी यदि 1,024-बिट से छोटी हो तो सुरक्षा कमजोर हो जाती है, और RFC 8301 (2018) के बाद इसका उपयोग बंद कर दिया गया।
  • प्रयोग का उद्देश्य: सार्वजनिक 512-बिट RSA सार्वजनिक कुंजी से निजी कुंजी निकालकर यह जाँचना कि प्रमुख ईमेल सेवाओं (Gmail, Outlook, Yahoo Mail आदि) में DKIM सत्यापन पास होता है या नहीं।
    • यह परीक्षण किया गया कि क्या ईमेल को असली भेजने वाले (sender) की तरह साइन करके भेजा जा सकता है।

RSA सार्वजनिक कुंजी डिकोडिंग और कुंजी निर्माण

  • सार्वजनिक कुंजी Redfin.com डोमेन की 512-बिट RSA कुंजी थी, जो ASN.1 DER फॉर्मेट में encode की गई थी और अतिरिक्त रूप से Base64 में encode की गई थी।
  • कुंजी डिकोडिंग प्रक्रिया
    • p टैग में मौजूद Base64-encoded सार्वजनिक कुंजी को Python से डिकोड किया गया।
    • n (modulus) और e (public exponent) निकाले गए।
  • RSA मॉड्यूलस फैक्टराइज़ेशन
    • CADO-NFS का उपयोग: Number Field Sieve एल्गोरिद्म पर आधारित
    • क्लाउड सर्वर स्पेसिफिकेशन: 8 vCPU, 32GB RAM (Hetzner)
    • अतिरिक्त 32GB swap space सेट करके CADO-NFS चलाया गया
    • परिणाम: लगभग 86 घंटे बाद n को दो घटकों p और q में विभाजित करने में सफलता मिली
  • RSA निजी कुंजी निर्माण
    • p और q के आधार पर RSA निजी कुंजी बनाई गई
    • Python और PyCryptodome लाइब्रेरी से निजी कुंजी को PEM फॉर्मेट में आउटपुट किया गया

DKIM सिग्नेचर टेस्ट

  • OpenDKIM में निजी कुंजी एकीकृत करने के बाद ईमेल भेजे गए
  • कई ईमेल होस्टिंग सेवाओं में DKIM सत्यापन परिणाम जाँचे गए
  • परीक्षण परिणाम:
    • DKIM पास: Yahoo Mail, Mailfence, Tuta
    • DKIM फेल: Gmail, Outlook, Zoho, Fastmail आदि
  • Yahoo, Mailfence और Tuta ने 512-बिट कुंजी की कमजोरी का एहसास नहीं किया और इसे पास कर दिया।

अंतिम निष्कर्ष

  • 512-बिट RSA कुंजी की कमजोरी
    • जो काम 30 साल पहले सुपरकंप्यूटर पर ही संभव था, वही अब क्लाउड सर्वर पर कुछ ही घंटों में $8 से कम में संभव है
    • DKIM साइनिंग में 1,024-बिट से छोटे कीज़ का कभी भी उपयोग नहीं करना चाहिए
  • सिफारिशें
    • ईमेल प्रोवाइडरों को 1,024-बिट से छोटे RSA key वाली DKIM signatures को स्वचालित रूप से अस्वीकार करना चाहिए
    • डोमेन मालिकों को DKIM records की जाँच करके इन्हें 1,024-बिट या उससे अधिक में अपडेट करना चाहिए
    • Base64 स्ट्रिंग की लंबाई से DKIM key की जाँच की जा सकती है: 1,024-बिट key की न्यूनतम लंबाई 216 characters है

1 टिप्पणियां

 
GN⁺ 2025-01-09
Hacker News टिप्पणी
  • लगभग 14 साल पहले मैंने 512-बिट key से भी संभव काम पर एक पोस्ट लिखी थी। जब लोग prime या Bitcoin खोजते हैं, तो खोज-क्षेत्र को छोटा करने वाला कोई "shortcut" library मौजूद है या नहीं, यह जानने की जिज्ञासा थी। यह भी सवाल था कि क्या ऐसी libraries encryption service design को प्रभावित करती हैं।

  • एक दिलचस्प प्रयोग के रूप में 4096-बिट DKIM key सेट करने का सुझाव था। अधिकांश ऑनलाइन DKIM/SPF checkers ने DNS lookup में कोई समस्या नहीं दिखाई, लेकिन टेस्ट ईमेल भेजने पर failure दिखा। सीख यह मिली कि 2048-बिट या उससे ऊपर की keys इस्तेमाल करना allowed है, जबकि ज़रूरी नहीं।

  • यह सवाल उठा कि encryption में key size को क्यों नहीं तेज़ी से बढ़ाया जा रहा। कंप्यूटिंग power तेज़ी से बढ़ रही है और क्वांटम कंप्यूटिंग पर चर्चा जारी है, फिर भी defensive side पर bigger keys क्यों नहीं ले रहे?

  • CADO-NFS से 512-bit RSA DKIM key को सिर्फ 28 घंटे में desktop machine पर crack किया गया। 1024-bit key अभी भी hobby स्तर पर कठिन है, लेकिन अकादमिक शोध में संभव लगती है।

  • शीर्षक थोड़ा बदल गया है। original शीर्षक था: "How We Cracked a 512-Bit DKIM Key for Less Than $8 in the Cloud"

  • कुछ DNS providers ने केवल 1024-bit keys सेट करने की सीमा लगाई है। उदाहरण के लिए wordpress.com ऐसा करता है।

  • Hover में 255 characters से लंबी TXT रिकॉर्ड्स support नहीं थीं, इसलिए DNS management रोकना पड़ा। समस्या को Digital Ocean से हल किया गया। आशा है कि elliptic curve cryptography एक standard बने।

  • अधिकांश providers ने 512-बिट key को unsafe मानकर DKIM signature reject की, जबकि Yahoo Mail, Mailfence और Tuta ने dkim=pass report किया। शक यह था कि शायद Google में failure DKIM signature के कारण हुई या SPF failure की वजह से।

  • practical approach की तारीफ की गई। स्पष्ट नहीं कि पोस्ट कितनी पुरानी है, लेकिन अंदाज़ा है कि शायद author की पहले की पोस्टों के आधार पर आज लिखी गई हो।