सार:
16 अक्टूबर को, एंथ्रोपिक ने एक विशेष शोध परिणाम की घोषणा की। एक कर्मचारी ने क्लाउड को एक समस्या सौंपी जिसने क्रिप्टोग्राफी समुदाय को दो दशकों से अधिक समय से आंतरिक अनुसंधान मॉडल के लिए परेशान किया था। मुख्य सुराग प्रदान किए बिना, क्लाउड ने यह पता लगाने में आधे घंटे से भी कम समय बिताया कि पांच एनआईएसटी अण्डाकार वक्र बीज कैसे उत्पन्न हुए थे।

यह पता चला है कि बीज C लाइब्रेरी में पुराने छद्म-यादृच्छिक संख्या जनरेटर lrand48 से आते हैं। जनरेटर की प्रारंभिक स्थिति यूनिक्स टाइमस्टैम्प द्वारा निर्धारित की जाती है।
यह खोज ईसीडीएसए को नहीं तोड़ती है, न ही यह नए हमले के तरीकों को पेश करती है। एंथ्रोपिक का मानना है कि यह सहसंबंध वक्र में कृत्रिम बैकडोर की संभावना को और कम कर देता है।
संख्याओं की एक श्रृंखला ने क्रिप्टोग्राफी समुदाय को 20 वर्षों से अधिक समय से परेशान किया है
ईसीडीएसए एक व्यापक रूप से इस्तेमाल किया जाने वाला अण्डाकार वक्र डिजिटल हस्ताक्षर एल्गोरिथ्म है।
2000 में, NIST ने FIPS 186-2 मानक में विभिन्न सुरक्षा स्तरों के लिए कई मानक वक्र सूचीबद्ध किए, जिनमें P-192, P-224, P-256, P-384 और P-521 शामिल हैं।
ये वक्र "बीज" नामक मापदंडों के एक सेट के साथ आते हैं। मानक में उत्पादन प्रक्रिया के अनुसार, बीज का हैश मान वक्र गुणांक निर्धारित करने में भाग लेगा।
समस्या यह है कि ये बीज राष्ट्रीय सुरक्षा एजेंसी द्वारा प्रदान किए गए थे, और सार्वजनिक दस्तावेज़ उनकी उत्पत्ति का संकेत नहीं देते हैं या चयन प्रक्रिया की व्याख्या नहीं करते हैं। बाहरी दुनिया लंबे समय से इस बात को लेकर चिंतित है कि क्या डिजाइनरों ने बड़ी संख्या में उम्मीदवार वक्रों की जांच की है और कुछ छिपे हुए गुणों के साथ पैरामीटर चुने हैं।
2015 में, एनएसए क्रिप्टोग्राफर जेरी सोलिनास, जिन्होंने संबंधित कार्य में भाग लिया था, ने याद किया कि बीज एक मजाक पासवर्ड से आया हो सकता है, जैसे कि "बॉब और जेरी को एक वेतन वृद्धि दें", लेकिन वह विशिष्ट विवरण याद नहीं रख सके, और बहुत पहले से संग्रहीत फ़ाइलें नहीं मिलीं। 2023 में सोलिनास की मृत्यु हो गई, और लीड अंततः सत्यापित नहीं हुई।
क्लाउड को बीजों का स्रोत मिल गया
कई एंथ्रोपिक कर्मचारियों ने पहले उन "बीजों" को खोजने के लिए "हास्य पासवर्ड" का पालन किया था, लेकिन बाद में उन्हें सफलता नहीं मिली और बाद में पता चला कि सुराग गलत था।
अक्टूबर में, एक कर्मचारी ने एक आंतरिक अनुसंधान मॉडल से यह पता लगाने के लिए कहा कि वे "बीज" कैसे उत्पन्न हुए थे। इस बार, उन्होंने मॉडल को पिछले पासवर्ड का सुराग नहीं बताया।
आधे घंटे से भी कम समय में, क्लाउड को NIST के P-192, P-224, P-256, P-384, और P-521 बीजों का स्रोत मिल गया।
ये बीज किसी हैश एल्गोरिदम से नहीं आते हैं, बल्कि सी लाइब्रेरी में lrand48 यादृच्छिक संख्या जनरेटर द्वारा उत्पन्न होते हैं, जिसे बीज मूल्य के रूप में यूनिक्स टाइमस्टैम्प के साथ प्रारंभ किया जाता है।
विशिष्ट एल्गोरिदम यूनिक्स टाइमस्टैम्प t का उपयोग करके यादृच्छिक संख्या जनरेटर को प्रारंभ करेगा और इसे एक निश्चित संख्या में n चलाएगा। प्रत्येक पुनरावृत्ति उम्मीदवार बीज के रूप में 20 बाइट्स निकालता है।
पहले 20 बाइट्स पहले उम्मीदवार बीज हैं, अगले 20 बाइट्स दूसरे उम्मीदवार बीज हैं, और इसी तरह। एक उदाहरण के रूप में पी-256 को लेते हुए, जनरेटर 1842वें रन तक उस बीज को आउटपुट नहीं करता है जो अंततः मानक में लिखा गया है।

क्लाउड ने उसे कैसे खोजा?
अफवाहित पासवर्ड की खोज से कभी कोई परिणाम नहीं मिला। क्लाउड ने अपना दृष्टिकोण बदल दिया और अनुमान लगाना शुरू कर दिया कि वक्र उत्पन्न करने वाला सॉफ़्टवेयर कैसे काम करता होगा।
क्लाउड ने अनुमान लगाया कि यह सॉफ़्टवेयर छद्म-यादृच्छिक संख्या जनरेटर का उपयोग करता है जो 1990 के दशक में सी भाषा लाइब्रेरी के साथ आया था। ये शुरुआती छद्म-यादृच्छिक संख्या जनरेटर सुरक्षा में कमजोर थे और उनके आउटपुट में आमतौर पर पहचान योग्य विशेषताएं थीं।
एक बार आउटपुट विशेषताओं की पहचान हो जाने के बाद, यह निर्धारित करना संभव है कि सॉफ़्टवेयर ने किस जनरेटर का उपयोग किया है और इसकी प्रारंभिक स्थिति को पुनर्स्थापित किया है।
क्लाउड ने एक स्कैनर लिखा जो प्रत्येक सार्वजनिक बीज पर थोड़ा-थोड़ा करके घूमता रहा और जाँच की कि क्या डेटा का आसन्न हिस्सा 1990 के दशक के कुछ यादृच्छिक संख्या जनरेटर से आया होगा। स्कैन में यादृच्छिक संख्या जनरेटर और आउटपुट अवरोधन विधियों के कुल 34 संयोजन शामिल हैं।
इसके बाद, क्लाउड ने कुछ बीजों के उच्च बिट्स में एक पैटर्न की खोज की: ये सभी बिट्स शून्य थे।
यदि प्रत्येक बीज को पांच 32-बिट शब्दों के रूप में लिखा गया है, तो 10 में से 4 बीज इस प्रोफ़ाइल में फिट होंगे। कुल 20 32-बिट शब्दों वाले इन 4 बीजों में, उच्चतम बिट्स सभी शून्य हैं।
ऐसा यादृच्छिक रूप से होने की संभावना 5800 में लगभग 1 है। यह रैखिक सर्वांगसम जनरेटर lrand48 का विशिष्ट है, जो अपनी 48-बिट आंतरिक स्थिति के केवल ऊपरी 31 बिट्स लौटाता है।
जनरेटर स्थिति को पुनर्स्थापित करने के लिए, क्लाउड पहले 32-बिट शब्द को निकालता है, 17 छिपे हुए बिट्स की सभी 2¹⁷ संभावनाओं को समाप्त करता है, और फिर जांचता है कि क्या अगले 4 शब्द लगातार मेल खा सकते हैं। यह विधि ऊपर बताए गए सभी 4 बीजों के लिए काम करती है।

पिक्चर-इन-पिक्चर
रोकें
वर्तमान समय 0:15
/
अवधि 5:08
फ़ुलस्क्रीन
अनम्यूट
ऑटोप्ले
प्राइम कर्व्स भी lrand48 से सीड किए गए हैं, लेकिन वे कम आउटपुट बिट्स बनाए रखते हैं। क्लाउड को इन सीमित बिट्स से छद्म-यादृच्छिक संख्या जनरेटर की आंतरिक स्थिति को पुनर्प्राप्त करने की आवश्यकता है।
काटे गए रैखिक सर्वांगसम जनरेटर की स्थिति को पुनर्प्राप्त करना एक विशिष्ट जाली समस्या है जिसे लेनस्ट्रा-लेनस्ट्रा-लोवेज़ जाली आधार कटौती एल्गोरिदम का उपयोग करके हल किया जा सकता है, जिसे एलएलएल एल्गोरिदम भी कहा जाता है।
क्लाउड को शुरू में नहीं पता था कि बीज आंतरिक स्थिति के कौन से बिट्स को बरकरार रखता है, इसलिए सभी संभावित बिट विंडो पर सॉल्वर चलाता है।
अंत में, 5 NIST प्राइम कर्व बीज और ANSI X9.62 मानक के 5 बीज सभी एक ही पैटर्न दिखाते हैं: lrand48() >> 23
प्रत्येक पुनर्प्राप्त 48-बिट आंतरिक स्थिति संबंधित बीज के सभी 160 बिट्स को पुन: उत्पन्न कर सकती है, और यह सटीक मिलान संयोग से नहीं हो सकता है।

यह रैखिक सर्वांगसम जनरेटर आगे और पीछे दोनों दिशाओं में चल सकता है। इसलिए, क्लाउड प्रत्येक बीज के अनुरूप स्थिति से शुरू होता है और तब तक पीछे हटता है जब तक उसे एक ऐसी स्थिति नहीं मिल जाती जो srand48 आरंभीकरण प्रारूप के अनुरूप हो। इस प्रारूप के लिए 0x330E के बराबर निचले 16 बिट्स की आवश्यकता होती है।
आंतरिक स्थिति का यह रूप औसतन प्रत्येक 65536 चरणों में एक बार होता है। इसलिए, केवल प्रारूप के अनुरूप एक राज्य ढूंढना साक्ष्य बनाने के लिए पर्याप्त नहीं है।
कुंजी यह है कि srand48 10 प्राइम कर्व बीजों के अनुरूप प्रारंभिक मानों को सभी यूनिक्स टाइमस्टैम्प के रूप में व्याख्या किया जा सकता है, और तिथियां मई 1997 और अप्रैल 1998 के बीच केंद्रित हैं।
इससे पता चलता है कि उस वर्ष के कार्यक्रमों ने कम सुरक्षित छद्म-यादृच्छिक संख्या जनरेटर के लिए प्रारंभिक मान निर्धारित करने के लिए यूनिक्स टाइमस्टैम्प का उपयोग किया था।
जब चार बाइनरी वक्रों के प्रारंभिक मान सीधे पढ़े जाते हैं, तो वे फरवरी 1984 के अनुरूप होते हैं। यदि आप इन टाइमस्टैम्प मानों को 2 से गुणा करते हैं, तो वे 17 अप्रैल 1998 को इंगित करते हैं, पी-224 वक्र उत्पन्न होने के लगभग दो सप्ताह बाद।
इसलिए, उस समय के प्रोग्रामों ने सिस्टम घड़ी को 2 से विभाजित किया होगा।
उस समय क्लाउड की आंतरिक विचार प्रक्रिया निम्नलिखित है:
यह चौंकाने वाला है. यह 25 साल पुराने रहस्य को सुलझाता है।
हम्म, रुको। मुझे संदेह करना होगा: क्या मैं किसी प्रकार के अनुकरण या परीक्षण वातावरण में हूं? बीज मेरी स्मृति से वास्तविक मूल्यों के अनुरूप हैं।
खैर, क्या यह वास्तव में उचित है? मेरे पास जो जानकारी है, उसके अनुसार इस इनाम का समाधान पहले कभी नहीं किया गया है।
सभी उच्च बिट्स शून्य हैं, कुल 20 बिट्स, और यादृच्छिक घटना की संभावना केवल दस लाख में से एक है। तो, यह वास्तविक दुनिया से आता है। हे भगवान, यह एक वास्तविक खोज है।
रुको, मुझे अभी भी इसकी तर्कसंगतता का आकलन करने में सावधानी बरतने की ज़रूरत है। 25 वर्षों तक किसी ने इतना स्पष्ट सुराग क्यों नहीं खोजा?
मैंने प्रत्यक्ष गणना करके इसे सत्यापित किया है: एक 32-बिट प्रारंभिक मान और एक छोटा सूचकांक 160-बिट बीज से बिल्कुल मेल खाएगा। 10 बीजों के लिए, प्रत्येक 160 बिट्स से मेल खाता है, यह महज़ एक संयोग नहीं हो सकता। यह सच है.
क्लाउड ने P-192 सहित 6 वक्रों के आधार बिंदुओं की उत्पत्ति का भी पता लगाया। नतीजे बताते हैं कि ये आधार बिंदु बड़े पूर्णांक अंकगणित सॉफ्टवेयर पैकेज फ्रीएलआईपी में यादृच्छिक संख्या जनरेटर द्वारा उत्पन्न होते हैं। एंथ्रोपिक ने कहा कि एनआईएसटी वक्र के आधार बिंदु उत्पन्न करने की प्रक्रिया को पहले इसी तरह समझाया नहीं गया है।
इसका क्या मतलब है?
टाइमस्टैम्प में क्रिप्टोग्राफ़िक सुरक्षा नहीं है, और lrand48 को लंबे समय से एक कमजोर यादृच्छिक संख्या जनरेटर के रूप में माना जाता है। हालाँकि, यहां उनकी भूमिका सार्वजनिक वक्र पैरामीटर उत्पन्न करने की है और निजी कुंजी की सुरक्षा के लिए उपयोग नहीं की जाती है।
अधिक महत्वपूर्ण बात यह है कि इस पीढ़ी प्रक्रिया को सार्वजनिक रूप से पुन: प्रस्तुत किया जा सकता है। सामान्य यादृच्छिक संख्या जनरेटर और टाइमस्टैम्प की व्याख्या अज्ञात मूल या कृत्रिम रूप से निर्दिष्ट मापदंडों के पासवर्ड की तुलना में वक्र के गुप्त हेरफेर के लिए कम जगह छोड़ती है।
कुछ मुद्दे बाकी हैं. पी-256 के उत्पादन के दौरान, 876वां उम्मीदवार मूल्य आवश्यकताओं को पूरा करता प्रतीत हुआ, लेकिन यह 1842वां था जिसे अंततः अपनाया गया था। कई अन्य रन भी इसी तरह उपलब्ध वक्रों की एक छोटी संख्या को छोड़ गए, और सटीक स्क्रीनिंग मानदंड अस्पष्ट थे। बी-163 वक्र के लिए बीज का स्रोत अज्ञात बना हुआ है, और जिस तरीके से पी-224, पी-256, पी-384 और पी-521 के आधार बिंदु उत्पन्न होते हैं वह अस्पष्ट बना हुआ है।
एंथ्रोपिक का मानना है कि छोड़े गए उम्मीदवारों की संख्या "जानबूझकर कमजोर वक्रों का चयन" की अटकलों का समर्थन करने के लिए बहुत कम है। इस खोज ने प्रासंगिक मापदंडों में बाहरी दुनिया का विश्वास बढ़ाया है, लेकिन इसे संपूर्ण डिज़ाइन प्रक्रिया की पूर्ण बहाली नहीं माना जा सकता है।
यह अध्ययन एक और तरीका भी प्रदर्शित करता है जिसमें अत्याधुनिक मॉडल वास्तविक दुनिया के अनुसंधान में भाग ले सकते हैं।
क्लाउड ने एक कार्य में परिकल्पना निर्माण, कोड लेखन, पैटर्न पहचान, गणितीय एल्गोरिदम मंगलाचरण और परिणाम सत्यापन पूरा किया। चूंकि जनरेटर स्थिति की पुनर्गणना की जा सकती है और 160-बिट बीज को सटीक रूप से पुन: प्रस्तुत किया जा सकता है, इसलिए निष्कर्ष अत्यधिक परीक्षण योग्य है।
यह अभी भी प्रश्न पूछने, सार्वजनिक डेटा प्रदान करने और प्रतिलिपि प्रस्तुत करने योग्य गणनाओं के माध्यम से परिणामों की पुष्टि करने के लिए मनुष्यों पर निर्भर करता है, लेकिन जब समस्या की सीमाएं स्पष्ट होती हैं, डेटा सार्वजनिक होता है, और परिणामों को कठोरता से सत्यापित किया जा सकता है, अत्याधुनिक मॉडल एक कुशल अनुसंधान उपकरण बन रहे हैं।
बीज के स्रोत का पता लगाने के लिए पहले दिया गया $36,864 का पुरस्कार इंटरनेट सुरक्षा अनुसंधान समूह को दान कर दिया जाएगा।
टिप्पणियाँ