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