Hardware obfuscation
हार्डवेयर अस्पष्टता एक ऐसी तकनीक है जिसके द्वारा इलेक्ट्रॉनिक हार्डवेयर के विवरण या संरचना को जानबूझकर अपनी कार्यक्षमता को छिपाने के लिए संशोधित किया जाता है, जिससे इसे रिवर्स-इंजीनियर करना काफी कठिन हो जाता है। दूसरे शब्दों में, हार्डवेयर अस्पष्टता डिजाइन को इस तरह से संशोधित करती है कि परिणामी वास्तुकला एक विरोधी के लिए स्पष्ट नहीं हो जाती है। हार्डवेयर ऑब्फ्युसेशन लक्षित हार्डवेयर प्लेटफॉर्म के आधार पर दो प्रकार का हो सकता हैः (ए) डीएसपी कोर हार्डवेयर ऑब्फ्युसेशन-इस प्रकार का ऑब्फ्युसेशन डीएसपी कोर के डेटा फ्लो ग्राफ प्रतिनिधित्व पर कुछ उच्च स्तरीय परिवर्तन करता है ताकि इसे एक अज्ञात रूप में परिवर्तित किया जा सके जो आरटीएल या गेट स्तर पर एक अस्पष्ट वास्तुकला को दर्शाता है। इस प्रकार के अस्पष्टता को 'संरचनात्मक अस्पष्टता' भी कहा जाता है। एक अन्य प्रकार की डी. एस. पी. कोर ओब्फुस्केशन विधि को 'फंक्शनल ओब्फुस्केशन' कहा जाता है-यह की-बिट्स का उपयोग करके डी. एस. पी. कोर की कार्यक्षमता को लॉक करने के लिए ए. ई. एस. और आई. पी. कोर लॉकिंग ब्लॉक (आई. एल. बी.) के संयोजन का उपयोग करता है। सही कुंजी अनुक्रम के अनुप्रयोग के बिना, डी. एस. पी. कोर या तो गलत आउटपुट उत्पन्न करता है या बिल्कुल भी आउटपुट उत्पन्न नहीं करता है (बी) कॉम्बिनेशनल/सीक्वेंशियल हार्डवेयर ऑब्फ्युसेशन-इस प्रकार की अस्पष्टता सर्किट की गेट स्तर संरचना में परिवर्तन करती है। संक्षेप में, यह डिजिटल वाटरमार्किंग (जहां स्वामित्व डिजिटल सामग्री में ही छिपा हुआ है), या हार्डवेयर बौद्धिक संपदा (आईपी) वाटरमार्किंग से अलग है जहां स्वामित्व की जानकारी एक सर्किट के विवरण में अंतर्निहित और छिपी हुई है। यह फील्ड प्रोग्रामेबल गेट ऐरे के डिजाइन प्रवाह में आम क्रिप्टोग्राफी-आधारित हार्डवेयर आईपी सुरक्षा तकनीकों से भी अलग है। सिस्टम ऑन चिप्स (एस. ओ. सी.) जैसे आधुनिक एकीकृत परिपथों (आई. सी.) के लिए हार्डवेयर आई. पी. आधारित डिजाइन प्रथाओं को व्यापक रूप से अपनाने के कारण हाल के वर्षों में हार्डवेयर वाटरमार्किंग का महत्व बढ़ गया है। हार्डवेयर आई. पी. से जुड़े प्रमुख सुरक्षा मुद्दों में शामिल हैंः (ए) एस. ओ. सी. डिजाइन के दौरान हार्डवेयर बौद्धिक संपदा का उल्लंघन; (बी) नकली या क्लोन आई. सी. का उत्पादन करने के लिए निर्मित आई. सी. या आई. सी. डिजाइन डेटाबेस (निर्माण सुविधाओं में) की रिवर्स इंजीनियरिंग; और (सी) हार्डवेयर ट्रोजन के सम्मिलन के माध्यम से आई. पी. के दुर्भावनापूर्ण संशोधन जो क्षेत्र में कार्यात्मक विफलता का कारण बनते हैं। हार्डवेयर अस्पष्टता का उद्देश्य आई. पी. या चिप स्तर पर इन खतरों को कम करना है, जिससे किसी विरोधी के लिए किसी डिजाइन की वास्तविक कार्यक्षमता को समझना मुश्किल हो जाता है। हार्डवेयर अस्पष्टता तकनीकों को दो मुख्य श्रेणियों में वर्गीकृत किया जा सकता हैः (ए) "निष्क्रिय" तकनीकें, जो सीधे इलेक्ट्रॉनिक प्रणाली की कार्यक्षमता को प्रभावित नहीं करती हैं, और (बी) "सक्रिय" तकनीकें, जो सीधे प्रणाली की कार्यक्षमता को बदल देती हैं। अक्सर सक्रिय हार्डवेयर अस्पष्टता तकनीकें "कुंजी-आधारित" होती हैं, जैसे कि अस्पष्टीकृत डिजाइन की सामान्य कार्यक्षमता केवल एक पूर्व-निर्धारित कुंजी या इनपुट पर गुप्त कुंजी के अनुक्रम के सफल अनुप्रयोग द्वारा सक्षम की जा सकती है; अन्यथा सर्किट एक मोड में काम करता है, जो गलत कार्यक्षमता प्रदर्शित करता है। यह कुंजी के अनुप्रयोग के आधार पर कार्यात्मक मोड को नियंत्रित करने के लिए परिपथ में एक अच्छी तरह से छिपी हुई परिमित अवस्था मशीन (एफ. एस. एम.) को एम्बेड करके किया जा सकता है। कुंजी-आधारित, सक्रिय हार्डवेयर अस्पष्टता की तकनीक सिद्धांत रूप से सूचना सुरक्षा के लिए निजी-कुंजी क्रिप्टोग्राफिक दृष्टिकोण के समान है, क्योंकि अस्पष्ट डिजाइन के लिए "प्रमुख अनुक्रम" क्रिप्टोग्राफिक कुंजी के समान भूमिका निभाता है। तकनीक को हार्डवेयर विवरण के विभिन्न स्तरों पर लागू किया जा सकता है, अर्थात् गेट-स्तर या रजिस्टर ट्रांसफर स्तर (आरटीएल) डिजाइन और इसलिए इसका उपयोग नरम, दृढ़ और कठोर आईपी कोर की रक्षा के लिए किया जा सकता है। अस्पष्टता एक आई. सी. में सुरक्षा सुविधाओं को प्रभावी ढंग से छिपाने में भी मदद कर सकती है और इस प्रकार आई. सी. को जालसाजी और मनगढ़ंत सुविधाओं में क्लोनिंग से सुरक्षा प्रदान करती है। इसके विपरीत, निष्क्रिय तकनीकें परिपथ विवरण को नरम रूप में संशोधित करती हैं (जैसे। वाक्यविन्यास परिवर्तन), जैसे कि एक मानव पाठक के लिए परिपथ की कार्यक्षमता को समझना मुश्किल हो जाता है। ये दृष्टिकोण आम तौर पर या तो स्ट्रिंग-प्रतिस्थापन (परिवर्तनीय नाम परिवर्तन, टिप्पणी हटाने आदि सहित) का उपयोग करते हैं। ), या किसी परिपथ के हार्डवेयर विवरण भाषा (एच. डी. एल.) विवरण में संरचनात्मक परिवर्तन (जिसमें लूप अनरोलिंग, नाम बदलना आदि शामिल हैं)। निष्क्रिय दृष्टिकोणों की एक बड़ी कमी यह है कि वे एक परिपथ की ब्लैक बॉक्स कार्यक्षमता को संशोधित नहीं करते हैं, और इसलिए एक डिजाइन में ब्लैक-बॉक्स के रूप में आईपी के संभावित उपयोग को रोक नहीं सकते हैं। इसके अलावा, इस तरह के निष्क्रिय अस्पष्टता की वास्तविक ताकत बहस योग्य है, क्योंकि, सामान्य रूप से, ब्लैक-बॉक्स अस्पष्टता मौजूद नहीं है, कम से कम कुछ गणितीय कार्यों की गणना करने वाले सॉफ़्टवेयर प्रोग्रामों के लिए। हार्डवेयर वाटरमार्किंग का उपयोग हार्डवेयर अस्पष्टता के साथ किया जा सकता है। एक अस्पष्ट डिजाइन में, वाटरमार्किंग बिना लाइसेंस वाली नकल के प्रयासों के खिलाफ रक्षा की दूसरी पंक्ति प्रदान करने में प्रभावी हो सकती है। कम्प्यूटिंग में ऐतिहासिक संदर्भ हार्डवेयर अस्पष्टता की उत्पत्ति संभवतः मेनफ्रेम सीपीयू के साथ हुई है, जो मुख्य रूप से 1960 और 1970 के दशक के दौरान आईबीएम द्वारा बनाए गए थे। आई. बी. एम. ने कुछ प्रतिस्पर्धात्मक लाभ बनाए रखने के लिए गुप्त ऑपकोड लागू किए जिनका उपयोग केवल मेनफ्रेम पर बंद स्रोत ऑपरेटिंग सिस्टम द्वारा किया जाएगा। कोड अस्पष्टीकरण हार्डवेयर ट्रोजन (कंप्यूटिंग) हार्डवेयर वाटरमार्किंग संदर्भ इलेक्ट्रॉनिक डिजाइन स्वचालन भी देखें।