कोड साइनिंग / Code Signing
कोड साइनिंग का अर्थ है कि सॉफ़्टवेयर (executables और source code) के निर्माता की पहचान को डिजिटल रूप से सत्यापित किया जाए। इसके साथ ही, यह सुनिश्चित करता है कि साइनिंग के बाद से सॉफ़्टवेयर में कोई परिवर्तन या क्षति नहीं हुई है। इस सत्यापन के लिए हैश (hashes) का उपयोग किया जाता है।
कोड साइनिंग द्वारा सॉफ़्टवेयर की पहचान और सत्यापन की सुरक्षा, साइनिंग की जाने वाली निजी कुंजी की सुरक्षा पर निर्भर करती है। इस प्रणाली की विश्वसनीयता इस बात पर आधारित है कि सॉफ्टवेयर विक्रेता अपने निजी कुंजी को सुरक्षित रखते हैं। इसलिए सुरक्षित, अप्रमाणित, और क्रिप्टोग्राफिक हार्डवेयर उपकरणों में कुंजियाँ संग्रहीत करना सबसे सुरक्षित और सर्वोत्तम प्रथा मानी जाती है। ऐसे उपकरणों को हार्डवेयर सुरक्षा मॉड्यूल (Hardware Security Module – HSM) कहा जाता है।
कोड साइनिंग प्रमाणपत्र प्रकार / Code Signing Certificate Types
मानक कोड साइनिंग प्रमाणपत्र / Standard Code Signing Certificates
अधिक डाउनलोड और कम त्रुटि रिपोर्टों के आधार पर, जब तक निर्माता का नाम स्थापित नहीं हो जाता, Microsoft SmartScreen उस निर्माता के कोड/उपयोगिता पर लगातार चेतावनी दिखाता है। यह कोड पर भरोसा करने की कोई गारंटी नहीं देता। PKI के माध्यम से यह सत्यापित किया जाता है कि source code किसी विशिष्ट निजी कुंजी से साइन किया गया था।
कोड सिग्नेचर को मान्य करने के लिए उपयोग की जाने वाली सार्वजनिक कुंजी / प्रमाणपत्र, विश्वसनीय रूट CA से जुड़ा होना चाहिए। इसे Trust Chain के माध्यम से सत्यापित किया जा सकता है।
एक्सटेंडेड वैलिडेटेड कोड साइनिंग प्रमाणपत्र / Extended Validated Code Signing Certificates
EV कोड साइनिंग प्रमाणपत्र तब जारी किए जाते हैं जब निर्माता की पहचान की पूरी तरह से सत्यापन किया जाता है। EV प्रमाणपत्र द्वारा साइन किए गए सॉफ़्टवेयर/कोड की SmartScreen जाँच करते समय, उस निर्माता को पहले किसी भी प्रतिष्ठित नाम की आवश्यकता नहीं होती, और तुरंत प्रतिष्ठा स्थापित की जा सकती है। यह कोड पर भरोसा करने की कोई गारंटी नहीं देता। PKI के माध्यम से यह सत्यापित किया जाता है कि source code किसी विशिष्ट निजी कुंजी द्वारा साइन किया गया था।
कोड साइनिंग / सत्यापन | Code Signing / Verification
