यह प्रश्न बहुत व्यापक है, लेकिन यह देखते हुए कि आपने एकल सबसे महत्वपूर्ण चीज को छोड़ दिया है, मुझे लगता है कि मुझे पाइप करने की आवश्यकता है।
अद्यतन को प्रमाणित करें ।
यदि आप यह सुनिश्चित करना चाहते हैं कि आपके उपकरण आपका कोड चला रहे हैं, तो आपको प्रमाणीकरण की आवश्यकता है, एन्क्रिप्शन की नहीं। एन्क्रिप्शन सुनिश्चित करता है कि अन्य लोग यह नहीं जान सकते कि आपके कोड में क्या है, और इसे प्राप्त करना कठिन है और शायद ही कभी उपयोगी है। (आप एन्क्रिप्ट कर सकते हैं, लेकिन अगर डिक्रिप्शन कुंजी डिवाइस पर है, तो आपको कुछ भी हासिल नहीं हुआ है जब तक आपके पास डिक्रिप्शन कुंजी की रक्षा करने का एक तरीका नहीं है जो आपको सीधे कोड की सुरक्षा नहीं करने देता है।) प्रामाणिकता वह संपत्ति है जो अन्य लोग हैं। एक नकली अपडेट नहीं दे सकता है, और यह संपत्ति आमतौर पर वांछनीय है।
ध्यान दें कि एन्क्रिप्ट करने से प्रामाणिकता में मदद नहीं मिलती है। यह एक गलत धारणा है कि जो लोग वास्तव में कभी-कभी सुरक्षा को नहीं समझते हैं, लेकिन यह सिर्फ सच नहीं है।
कुछ उपकरणों के लिए, किसी भी फर्मवेयर को चलाने के लिए ठीक है अगर मालिक इतना चुनता है। उस स्थिति में, आपको यह सुनिश्चित करने के लिए अभी भी कुछ तंत्र की आवश्यकता है कि केवल डिवाइस का मालिक फर्मवेयर स्थापित कर सकता है, न कि कुछ रैंडम राहगीर। आम तौर पर इसका मतलब है कि डिवाइस को पंजीकृत मालिक से आने वाले अपडेट को प्रमाणित करना होगा।