Granite: A Modular Methodology for Foundational Verification of Hardware-Software Leakage Contracts
ग्रेनाइट एक मॉड्यूलर, मौलिक पद्धति प्रस्तुत करता है जो नियत आईएसए (ISA) लीकेज अनुबंधों के साथ ट्रेस तुल्यता स्थापित करके आरटीएल (RTL) प्रोसेसरों की कार्यात्मक शुद्धता और गैर-रिसाव (non-leakage) दोनों को सत्यापित करता है, जिससे विश्वसनीय कंप्यूटिंग बेस से मध्यवर्ती विशिष्टताओं को समाप्त करने के लिए हार्डवेयर और सॉफ्टवेयर प्रमाणों का संयोजन सक्षम होता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक सुपर-फास्ट रेस कार बना रहे हैं। आप चाहते हैं कि यह अविश्वसनीय रूप से तेज़ हो, इसलिए आप इसमें टर्बोचार्जर, प्रेडिक्टिव स्टीयरिंग और एक ऐसा सिस्टम जोड़ते हैं जो यह अनुमान लगा सके कि आप अगला मोड़ कौन सा लेंगे। लेकिन एक पेच है: यदि कार का इंजन एक विशिष्ट "क्लंक" की आवाज़ करता है जो केवल तभी आती है जब आप बाईं ओर मुड़ रहे होते हैं, तो किनारे पर खड़ा एक चालाक जासूस उस आवाज़ के ज़रिए आपके पूरे रास्ते का पता लगा सकता है। कंप्यूटर चिप्स की दुनिया में, इसे "टाइमिंग साइड चैनल" कहा जाता है। वर्षों तक, प्रोग्रामर्स ने ऐसा कोड लिखने की कोशिश की जो गुप्त डेटा को संभालने के लिए बिल्कुल समान समय ले, जैसे कि एक जासूस किसी गलियारे से बिना आवाज़ किए गुजरने की कोशिश कर रहा हो। लेकिन जैसे-जैसे चिप्स तेज़ और स्मार्ट होती गईं, उन्होंने अनजाने में छोटी, अप्रत्याशित आवाज़ें निकालना शुरू कर दिया—जैसे कि आईना देखने के लिए अचानक रुकना या गति का एक विस्फोट—जिसने अनजाने में रहस्य उजागर कर दिए। यह पेपर इस भयानक विचार को संबोधित करता है कि भले ही आपका कोड एकदम सही हो, हार्डवेयर खुद अपने दिल की धड़कन की लय के माध्यम से आपके रहस्यों को लीक कर सकता है।
इस काम के पीछे के शोधकर्ताओं, जिन्हें ग्रेनाइट (Granite) के रूप में जाना जाता है, ने एक नया तरीका बनाया है जिससे गणितीय रूप से यह सिद्ध किया जा सके कि एक कंप्यूटर चिप अपने रहस्यों को सुरक्षित रख रही है। उन्होंने केवल अनुमान नहीं लगाया या परीक्षण नहीं किए; उन्होंने एक कठोर, चरण-दर-चरण गणितीय तर्क बनाया जो कंप्यूटर के व्यवहार के उच्च-स्तरीय नियमों (इन्स्ट्रक्शन सेट) से लेकर नन्ही तारों और ट्रांजिस्टर (आर-टी-एल/RTL) तक जाता है। उनका मुख्य निष्कर्ष एक ऐसी विधि है जो यह सिद्ध करती है कि चिप की टाइमिंग केवल उन चीज़ों द्वारा निर्धारित होती है जो सार्वजनिक होने की अनुमति है, जैसे कि कौन सा बटन दबाया गया था, और कभी भी उस गुप्त डेटा द्वारा नहीं जिसे वह प्रोसेस कर रही है, जैसे कि पासवर्ड या एन्क्रिप्शन कुंजी। वे स्पष्ट रूप से इस विचार को खारिज करते हैं कि आप केवल इसलिए एक चिप पर भरोसा कर सकते हैं क्योंकि वह सही दिखती है या क्योंकि उसने मानक परीक्षण पास कर लिए हैं; वे दिखाते हैं कि इस विशिष्ट प्रकार के प्रमाण के बिना, छिपे हुए रिसाव (leaks) होना लगभग तय है। वे केवल यह सुझाव नहीं दे रहे हैं कि यह काम करता है; उन्होंने इसे एक प्रोसेसर डिज़ाइन के लिए औपचारिक रूप से सिद्ध किया है जिसे सफलतापूर्वक एक एफपीजीए (FPGA) के लिए सिंथेसाइज किया गया था, हालांकि इसे पोस्ट-सिंथेसिस टेस्टिंग के लिए एक पूर्ण सिस्टम-ऑन-चिप में अभी तक एकीकृत नहीं किया गया था।
द ग्रेट चिप डिटेक्टिव स्टोरी (महान चिप जासूसी कहानी)
एक कंप्यूटर प्रोसेसर को एक उच्च श्रेणी के रेस्तरां में एक हलचल भरी, अराजक रसोई के रूप में सोचें। शेफ (हार्डवेयर) ग्राहकों (प्रोग्राम चलाने) के लिए भोजन तैयार कर रहे हैं। "इंस्ट्रक्शन सेट आर्किटेक्चर" (ISA) मेनू और रेसिपी बुक है। यह रसोई को बताता है, "यदि आपको बर्गर का ऑर्डर मिलता है, तो आपको अंततः एक बर्गर परोसना ही होगा।" लेकिन मेनू यह नहीं बताता कि बर्गर बनाने में कितना समय लगता है, या शेफ चाकू कब उठाता है।
पुराने दिनों में, शेफ को "कॉन्स्टेंट-टाइम" (constant-time) होने के लिए कहा जाता था। इसका मतलब था कि उन्हें सब्जी काटने की गति बिल्कुल समान रखनी थी, चाहे ग्राहक सलाद ऑर्डर करे या स्टेक, ताकि खिड़की से देख रहा कोई जासूस काटने की लय से यह न जान सके कि क्या पकाया जा रहा है। लेकिन फिर, रसोई बहुत तेज़ हो गई। शेफ ने "स्पेक्युलेशन" (speculation) का उपयोग करना शुरू कर दिया—वे अनुमान लगाने लगे कि ग्राहक क्या चाहता है और ऑर्डर की पुष्टि होने से पहले ही प्याज काटना शुरू कर देते थे। यदि उनका अनुमान गलत निकला, तो वे प्याज फेंक देते थे और फिर से शुरुआत करते थे। इस अनुमान लगाने के खेल ने नए, आकस्मिक शोर पैदा किए: यह समय कि उन्हें गलती का एहसास करने में कितना समय लगा, या किसी विशेष मसाले को उठाने में लगा समय, जानकारी लीक करने लगा। एक जासूस रसोई की आवाज़ सुनकर यह निष्कर्ष निकाल सकता था, "आह, शेफ 0.0001 सेकंड के लिए रुका; वे निश्चित रूप से गुप्त प्याज के साथ कुछ पका रहे होंगे!"
यहाँ आते हैं ग्रेनाइट, जो अंतिम किचन इंस्पेक्टर हैं। ग्रेनाइट केवल शेफ को देखते नहीं हैं; वे रसोई के नियमों को फिर से लिखते हैं ताकि कोई भी रहस्य काटने की टाइमिंग के माध्यम से बाहर न निकल सके।
"शैडो शेफ" का जादू
ग्रेनाइट की प्रतिभा एक "शैडो शेफ" (Shadow Chef) के चतुर प्रयोग में निहित है। कल्पना कीजिए कि आपके पास असली शेफ है, जो सभी गुप्त रेसिपी जानता है (गुप्त डेटा)। आपके पास एक शैडो शेफ भी है जो आंखों पर पट्टी बांधे हुए है और केवल ऑर्डर के सार्वजनिक हिस्सों को जानता है (सार्वजनिक डेटा)।
ग्रेनाइट की विधि कहती है: "हम यह सिद्ध करेंगे कि असली शेफ और शैडो शेफ बिल्कुल एक ही ताल में चलते हैं।" यदि असली शेफ प्याज काटने में 5 सेकंड लेता है क्योंकि प्याज बड़ा था, तो शैडो शेफ को भी ठीक 5 सेकंड ही लेना चाहिए, भले ही शैडो शेफ को यह न पता हो कि प्याज बड़ा था। शैडो शेफ की टाइमिंग केवल सार्वजनिक ऑर्डर द्वारा संचालित होती है। यदि असली शेफ की टाइमिंग किसी गुप्त चीज़ (जैसे प्याज का प्रकार) पर निर्भर करती है, तो दोनों शेफ ताल से बाहर हो जाएंगे, और प्रमाण विफल हो जाएगा।
इसे काम करने के लिए, ग्रेनाइट एक "ड्राइवर" (Driver) और एक "विटनेस" (Witness) पेश करता है।
- ड्राइवर एक मेट्रोनोम की तरह है जो केवल सार्वजनिक ऑर्डर को सुनता है। यह तय करता है कि रसोई को कब आगे बढ़ना चाहिए, यह सुनिश्चित करते हुए कि रसोई के कार्यों की टाइमिंग केवल उस पर निर्भर है जिसे ग्राहक जानना चाहता है, न कि गुप्त सामग्रियों पर।
- विटनेस रसोई के अव्यवसनीय, अप्रत्याशित हिस्सों (जैसे कि पैन गर्म होने के कारण होने वाली रैंडम देरी) के लिए एक प्लेसहोल्डर है। विटनेस कहता है, "ठीक है, हमें इससे फर्क नहीं पड़ता कि यहाँ बिल्कुल क्या होता है, जब तक कि यह गुप्त चीज़ों पर निर्भर न हो।"
यह सिद्ध करके कि वास्तविक रसोई ठीक उसी तरह व्यवहार करती है जैसे ड्राइवर और विटनेस द्वारा चलाई जाने वाली रसोई, ग्रेनाइट यह सिद्ध करता है कि रसोई की लय (टाइमिंग) संभवतः गुप्त सामग्रियों को उजागर नहीं कर सकती।
मॉड्यूलर पहेली (The Modular Puzzle)
पूरी रसोई की जांच करने का सबसे कठिन हिस्सा यह है कि यह एक साथ देखने के लिए बहुत बड़ी है। ग्रेनाइट इसे छोटी, स्वतंत्र स्टेशनों में तोड़कर हल करता है: कटिंग स्टेशन, ग्रिलिंग स्टेशन, प्लेटिंग स्टेशन।
ग्रेनाइट यह सिद्ध करता है कि प्रत्येक स्टेशन अपने आप में सुरक्षित है। उदाहरण के लिए, "मल्टीप्लायर" स्टेशन (जो गणित करता है) की यह जांच की जाती है कि यदि दो संख्याओं को गुणा करने में अधिक समय लगता है, तो यह केवल इसलिए है क्योंकि संख्याएँ शून्य थीं (जो ज्ञात होना मान्य है), न कि किसी गुप्त मान के कारण। एक बार जब हर एक स्टेशन को सुरक्षित सिद्ध कर दिया जाता है, तो ग्रेनाइट उन्हें लेगो ब्रिक्स (Lego bricks) की तरह जोड़ देता है। क्योंकि यह प्रमाण "मॉड्यूलर" है, यदि आप ग्रिलिंग स्टेशन को एक तेज़ स्टेशन से बदलते हैं, तो आपको पूरी रसोई को फिर से चेक करने की आवश्यकता नहीं है; आपको बस नए स्टेशन की जांच करनी है, और पूरा सिस्टम सुरक्षित रहता है।
अंतिम निर्णय
शोधकर्ताओं ने केवल बातें नहीं कीं; उन्होंने एक प्रोसेसर डिज़ाइन बनाया और उस पर अपना प्रमाण चलाया। उन्होंने एक ऐसा सॉफ्टवेयर लिया जो पहले से ही "कॉन्स्टेंट-टाइम" (जैसे कि एक क्रिप्टोग्राफिक प्रोग्राम जिसे साल्सा20 (Salsa20) कहा जाता है) के रूप में जाना जाता था, और यह सिद्ध किया कि जब यह उनके प्रोसेसर डिज़ाइन पर चलता है, तो यह टाइमिंग के माध्यम से बिल्कुल भी रहस्य लीक नहीं करता है।
यह एक बड़ी बात है क्योंकि यह बदल देता है कि आपको किस पर भरोसा करना है। आमतौर पर, आपको सॉफ़्टवेयर और हार्डवेयर के बीच एक जटिल अनुबंध (contract) पर भरोसा करना पड़ता है। ग्रेनाइट दिखाता है कि यदि आप उनके हार्डवेयर प्रमाण को सत्यापित सॉफ़्टवेयर प्रमाण के साथ जोड़ते हैं, तो हार्डवेयर-सॉफ्टवेयर अनुबंध को स्वयं विश्वसनीय सूची (trusted list) से हटाया जा सकता है। हालाँकि, यह प्रमाण अभी भी कुछ मुख्य घटकों पर निर्भर है, जैसे कि इंस्ट्रक्शन सेट अनुबंध की औपचारिक परिभाषा और वह टूल जो कोड को हार्डवेयर विवरण में अनुवादित करता है, जो "ट्रस्टेड कंप्यूटिंग बेस" में बने रहते हैं। उन्होंने अपने ही डिज़ाइन में एक बग भी पाया: उन्हें एहसास हुआ कि कुछ कंट्रोल स्विच (CSRs) में लिखना जानकारी लीक कर सकता है, और उन्होंने प्रमाण पूरा होने से पहले इसे ठीक कर दिया।
संक्षेप में, ग्रेनाइट कंप्यूटर चिप्स बनाने का एक नया तरीका है जो गणितीय रूप से गारंटी देता है कि वे अपने रहस्यों को सुरक्षित रखेंगे, भले ही वे तेज़ चल रहे हों, अनुमान लगा रहे हों, या शोर कर रहे हों। यह आधुनिक कंप्यूटिंग की अराजक, शोर भरी रसोई को एक शांत, रहस्य रखने वाले किले में बदल देता है, यह सिद्ध करता है कि आप गति और सुरक्षा दोनों एक साथ प्राप्त कर सकते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।