मैं व्यावसायिक उपयोग के लिए Pi पर सॉफ़्टवेयर की सुरक्षा कैसे कर सकता हूं?


16

मैं एक व्यावसायिक उत्पाद में रास्पबेरी पाई का उपयोग करना चाहूंगा, लेकिन मैं डिवाइस पर सॉफ्टवेयर के रिवर्स इंजीनियरिंग को रोकना चाहूंगा। प्रश्न में सॉफ्टवेयर रूबी में लिखा जाएगा। मुझे लगता है कि एंड-यूज़र के पास एसडी कार्ड तक भौतिक पहुंच है और पाई के लिए रूट एक्सेस हासिल करने के लिए पर्याप्त स्मार्ट है।

जैसा कि मैंने इसे देखा, विकल्पों में शामिल हो सकते हैं:

  • एसडी कार्ड का हिस्सा (या सभी) एन्क्रिप्ट करें
  • रूबी कोड को मानें या इसे बायटेकोड (JRuby या Rubinius) के लिए संकलित करें

एन्क्रिप्शन सबसे अच्छा समाधान होगा, लेकिन मैं कुंजी के लिए उपयोगकर्ता से पूछे बिना डिक्रिप्ट करने का तरीका नहीं सोच सकता। कोड ऑब्सफैक्शन निश्चित रूप से संभव है, लेकिन मेरे दिमाग में कम सुरक्षित है।

क्या यह डिक्रिप्ट करने के लिए कुंजी के लिए उपयोगकर्ता को संकेत दिए बिना एसडी कार्ड के एक हिस्से को एन्क्रिप्ट करना संभव है? या क्या यह सुनिश्चित करने का एक बेहतर तरीका है कि कोड केवल वांछित डिवाइस पर पहुंच योग्य है?


मैं इसी तरह के समाधान की तलाश में हूं। मुझे मिला सबसे अच्छा जवाब एक छवि (विभाजन) को माउंट करना है जिसे कुछ शर्तों का उपयोग करके बूट के बाद एन्क्रिप्ट किया गया है (शायद गतिशील डिक्रिप्शन कुंजी प्रदान करने के लिए डीआरएम जैसे कॉल, अल्गोरथिम को लॉक करने वाला एक सीरियल नंबर ((एसएन * दिनांक - 1)) - केवल दूसरा तरीका एक कोड का उपयोग करना है जो आपके कोड को बायनेरिज़ में संकलित कर सकता है- जैसे कि c ++ या .net (मोनो) और आशा है कि अच्छे सॉफ़्टवेयर क्रैकर्स आपके सॉफ़्टवेयर को लक्षित नहीं करेंगे- आप जानते हैं कि जैसे Microsoft के पास यह समस्या नहीं है .. और अभी भी नहीं है। इसे हल किया .. सौभाग्य!
कुला

जवाबों:


8

बेशक एन्क्रिप्टेड फ़ाइल / कंटेनरों / आदि को डिक्रिप्ट करना संभव है। पासवर्ड मांगे बिना। एसडी कार्ड पर (एन्क्रिप्टेड) ​​पासवर्ड को स्टोर करना और अपने डेटा को डिक्रिप्ट करने के लिए इसका उपयोग करना पर्याप्त है। उदाहरण के लिए, एक आसान opensslडेमो हो सकता है:

openssl enc -a -e -salt -aes-256-cbc -pass pass:abc123 -in /tmp/plaintext.txt -out /tmp/ciphertext.enc

openssl enc -d -a -aes-256-cbc -pass pass:abc123 -in /tmp/ciphertext.enc

पाई पर सॉफ्टवेयर स्थापित करते समय एन्क्रिप्शन का प्रदर्शन किया जाएगा, और डिक्रिप्शन को रनटाइम पर प्रदर्शन किया जाएगा, संभवतः रैम में। उदाहरण के लिए, पासवर्ड कुछ छद्म आयामी अनुक्रम संख्या (आप के लिए जाना जाता है) और विशिष्ट पाई के क्रमांक का एक संयोजन हो सकता है, जिसे प्राप्त किया गया है cat /proc/cpuinfo। फिर आपको इस छद्म आयामी संख्या को संग्रहीत करने के लिए एक उपयुक्त रूप से छिपी हुई जगह ढूंढनी होगी जो सभी इंटेंट्स और उद्देश्यों " पासवर्ड " और इस तरह पूरे एन्क्रिप्शन तंत्र का कमजोर बिंदु है। उदाहरण के लिए एसडी पर एक अतिरिक्त क्षेत्र विशिष्ट विकल्प होगा, लेकिन आप इसे अपने किसी निष्पादनयोग्य में भी एम्बेड कर सकते हैं।

किसी भी स्थिति में, आपका सबसे अच्छा विकल्प अपने सॉफ़्टवेयर को एन्क्रिप्ट और संकलित करना दोनों है, ताकि आपके सॉफ़्टवेयर में अलग-अलग परतों को जोड़ा जा सके।

अंत में, यदि आपके सॉफ़्टवेयर को इंटरनेट कनेक्शन की आवश्यकता है, तो आप हर बार पासवर्ड के लिए Pi पूछ सकते हैं। आपको अभी भी कनेक्शन के अंदर पासवर्ड छिपाने की आवश्यकता होगी, आपको उपयोग भी करना होगा httpsऔर saltएन्क्रिप्शन के लिए वर्तमान समय का उपयोग करते हुए, आपको उत्तर हमलों से बचाव करना होगा ।

सॉफ्टवेयर को सुरक्षित बनाने के लिए आपके पास बहुत सारे (सस्ते) विकल्प हैं। लेकिन आपको यह जानना होगा कि यदि आपका सॉफ़्टवेयर कुछ अच्छी तरह से परिभाषित लोकप्रियता सीमा से टकराता है, तो यह निश्चित रूप से टूट जाएगा, भले ही आप इसकी सुरक्षा में पर्याप्त मात्रा में पैसा लगाते हों।


1
मैं सुरक्षित मोड में रूट के रूप में लॉग इन कर सकता हूं, कुंजी फाइल को पढ़ सकता हूं और अपनी सारी मेहनत को डिक्रिप्ट कर सकता हूं और लाखों लोगों के लिए इसे रूस को बेच सकता हूं। अच्छी कोशिश .. लेकिन बुलेट प्रूफ नहीं। यहां तक ​​कि https को एक प्रबंधित नेटवर्क के भीतर DNS पुनर्निर्देशन और फर्जी प्रमाण पत्र के साथ धोखा दिया जा सकता है .. उफ़
पिओट्र कुला

1
@ एवियो: सबसे पहले, क्षेत्र अज्ञात नहीं है। यह जानना होगा, यह स्पष्ट नहीं है कि यह कहां है। लेकिन जब से आपको कुछ डिक्रिप्शन स्क्रिप्ट / एप्लिकेशन के साथ इसका पता लगाने की आवश्यकता होती है, तो कोई इसे पा सकता है। आपको वह कोड डालना होगा जो कहीं डिक्रिप्शन करेगा। आप इसे कहां रखेंगे? Initramfs में, कुछ SD कार्ड विभाजन या अन्य संरक्षित स्थान नहीं हैं। कोई भी ऐसे एप्लिकेशन / स्क्रिप्ट देख सकता है जो एन्क्रिप्टेड पार्टीशन को डिक्रिप्ट करने के लिए उपयोग किए जाते हैं और / या उन्हें निष्पादित करने से पहले किसी प्रकार की पहुंच प्राप्त करने के लिए बदल देते हैं।
Krzysztof Adamski

1
आपकी सभी एन्क्रिप्शन विधियाँ ठीक-ठीक हैं-कुंजी एसडी कार्ड पर संग्रहीत है। Op सबसे अधिक संभावना अंत उपयोगकर्ताओं के लिए / के साथ एसडी कार्ड बेचने के लिए चाहता है। फिर मैं एसडी कार्ड ले जा सकता हूं, इसे हैक कर सकता हूं, इसे हैक कर सकता हूं, रूट में सेफ मोड, कुंजी फाइल को पढ़ सकता हूं और अन्य सभी उपकरणों के संचार और स्रोत कोड में घुसपैठ कर सकता हूं। वह संधि है। मुझे यकीन है कि ओपी को पता है कि सामान को कैसे एन्क्रिप्ट किया जाए। वह पूछता है कि अपने सॉफ़्टवेयर को डिक्रिप्ट होने से कैसे बचाएं, जबकि सिस्टम को स्वचालित रूप से डिक्रिप्ट करने देता है।
पायोत्र कुला

1
@ एवियो: नहीं, वास्तव में नहीं। लेकिन जब से आपने since कैसे? ’पूछा, मैंने जवाब दिया। नहीं पता था कि यह एक बयानबाजी का सवाल है। आपने लिखा है कि आपके विचार को लागू करना आवेदन का वितरण शुरू करने के लिए पर्याप्त है लेकिन मेरा मानना ​​है कि ओपी (और इसे पढ़ने वाले अन्य) को इस दृष्टिकोण के कमजोर पक्षों के बारे में पता होना चाहिए। कहा जा रहा है, मुझे विश्वास नहीं है कि रास्पबेरी पाई के लिए बहुत बेहतर समाधान मौजूद है। केवल एक चीज जो कर सकती है वह यह है कि उसे और भी अधिक बाधित करना। शायद ओपी आवेदन जोखिम लेने के लिए बस बहुत कीमती है और वह आरपीआई के अलावा कुछ और का उपयोग करने का फैसला करता है, जहां वह बेहतर सुरक्षा तंत्र बना सकता है।
Krzysztof Adamski

1
जबकि यहां सभी उत्तर मेरे प्रश्न से जुड़े ट्रेडऑफ और चुनौतियों की एक महान चर्चा प्रदान करते हैं, मैं इस उत्तर को अभी के लिए स्वीकार करने जा रहा हूं क्योंकि इसका सबसे ठोस समाधान है। / Proc / cpuinfo से क्रम संख्या का उपयोग करना अनुपलब्ध लिंक हो सकता है।
क्रॉकवेल

6

व्यावहारिक रूप से, अगर कोड और चाबी एक एसडी कार्ड मशीन पर हैं, वे होगा यह डी-संकलन करने में सक्षम हो, वे जाएगा कुंजियों की खोज करने में सक्षम हो सकता है और वे जाएगा संवेदनशील डेटा निकालने में सक्षम होना।

यह फिल्मों को एन्क्रिप्ट करने जैसा है, एक डीवीडी में फिल्म को डिक्रिप्ट करने के लिए आवश्यक सभी जानकारी को शामिल करना होता है ताकि इसे दर्शक को प्रदर्शित किया जा सके, इसलिए सभी मूवी कॉपी सुरक्षा तंत्र अंततः बर्बाद हो जाते हैं।

सबसे अच्छा आप कर सकते हैं रिवर्स इंजीनियरिंग के अर्थशास्त्र को बदलने के लिए अपने उत्पाद।

क्या एन्क्रिप्शन और / या इसके लायक है?

अब हमने स्थापित किया है कि अपने आप को पूरी तरह से सुरक्षित रखने का कोई तरीका नहीं है, सवाल बन जाते हैं

  1. ऐसा होने की कितनी संभावना है?
  2. आपके एल्गोरिथ्म और डेटा के किसी और के लिए मूल्य क्या है?
  3. अपने सॉफ़्टवेयर का उपयोग करने के लिए लाइसेंस खरीदने के लिए उन्हें क्या लागत है?
  4. आपके एल्गोरिथ्म और डेटा को दोहराने के लिए उन्हें क्या लागत है?
  5. रिवर्स इंजीनियरिंग आपके एल्गोरिथ्म और डेटा की लागत क्या है?
  6. आपके एल्गोरिथ्म और डेटा की सुरक्षा के लिए आपको क्या लागत है?

यदि ये आपके एल्गोरिथ्म / डेटा की सुरक्षा के लिए एक महत्वपूर्ण आर्थिक अनिवार्यता पैदा करते हैं तो आपको इसे करने पर ध्यान देना चाहिए। उदाहरण के लिए, यदि ग्राहकों के लिए सेवा का मूल्य और लागत दोनों उच्च हैं, लेकिन रिवर्स इंजीनियरिंग की लागत आपके कोड को स्वयं विकसित करने की लागत से बहुत कम है, तो लोग इसका प्रयास कर सकते हैं।

तो, यह आपके प्रश्न की ओर जाता है

  • आप अपने एल्गोरिथ्म और डेटा को कैसे सुरक्षित करते हैं?

कहानियो

आपके द्वारा सुझाया गया विकल्प, कोड को बाधित करते हुए, ऊपर दिए गए अर्थशास्त्र के साथ खिलवाड़ करता है - यह आपके लिए लागत को बढ़ाने की कोशिश करता है (5 से ऊपर) आपको (6) लागत को बढ़ाए बिना। समस्या यह है कि डीवीडी एन्क्रिप्शन के साथ यह विफलता के लिए बर्बाद है और यदि 3, 4 और 5 के बीच पर्याप्त अंतर है, तो अंततः कोई ऐसा करेगा।

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

सुरक्षा

केवल सच में सुरक्षित विकल्प आपके सॉफ़्टवेयर का एक महत्वपूर्ण हिस्सा एक सेवा के रूप में प्रदान करना है , बजाय इसे अपने आवेदन में शामिल करने के।

वैचारिक रूप से, आपका एप्लिकेशन आपके एल्गोरिथ्म को चलाने के लिए आवश्यक सभी डेटा एकत्र करेगा, इसे क्लाउड में एक सर्वर (आपके द्वारा नियंत्रित) के अनुरोध के रूप में पैकेज करेगा, आपकी सेवा फिर आपके परिणामों की गणना करेगी और इसे क्लाइंट को वापस भेज देगी, जो इसे प्रदर्शित करेगा।

यह आपके सभी स्वामित्व, गोपनीय डेटा और एल्गोरिदम को एक डोमेन के भीतर रखता है जिसे आप पूरी तरह से नियंत्रित करते हैं, और क्लाइंट के किसी भी निकालने की संभावना को हटा देता है।

स्पष्ट नकारात्मक पक्ष यह है कि क्लाइंट आपके सेवा प्रावधान में बंधे हैं, आपके सर्वर और उनके इंटरनेट कनेक्शन की दया पर हैं। प्लस साइड पर, वे बग फिक्स के साथ हमेशा अद्यतित रहते हैं। दुर्भाग्य से कई लोगों को इन कारणों से सास पर आपत्ति है ।

हालांकि यह एक बहुत बड़ा कदम होगा, और इसमें 6 से ऊपर की भारी लागत हो सकती है, लेकिन एकमात्र तरीका है कि मैं आपके एल्गोरिथ्म और डेटा को पूरी तरह से सुरक्षित रख सकता हूं ।


सास एक विकल्प हो सकता है, लेकिन आपको यह जानना होगा कि आपको ऑनलाइन डाले जाने वाले प्रत्येक सर्वर के लिए अंक 1 से 6 की पुनरावृत्ति करनी होगी। आप DDoS हमलों का भी पर्दाफाश करते हैं।
अवियो

4

मैंने हाल ही में इस नायाब समस्या का बहुत ही सुंदर समाधान निकाला है। यह इस xkcd कॉमिक से प्रेरित था:

यहाँ छवि विवरण दर्ज करें

तो समाधान को सुपर गोंद कहा जाता है । यदि एक सुपर एसडी कार्ड पीआई को देता है तो कार्ड को नुकसान पहुंचाए बिना उसे निकालना लगभग असंभव होगा।

तुम भी बाहरी SSD डिस्क का उपयोग कर सकते हैं, एसडी पर संग्रहीत एक पासवर्ड के साथ एन्क्रिप्टेड और सुरक्षित महसूस!

यहाँ छवि विवरण दर्ज करें


कोई भी आसानी से एक छवि फ़ाइल ( dd) इससे बना सकता है , और तदनुसार इसका उपयोग कर सकता है!
वासिलिस

@Vassilis बिना लॉगिन के असंभव है, या नहीं?
ADOConnection

लाइव लिनक्स इमेज वाला कोई भी इसे कर सकता है! आपके सिस्टम का मूल होना आवश्यक नहीं है ।
वासिलिस

@Vassilis मैं आपको इस प्रक्रिया को समझाने वाले किसी भी लेख पर बात करने के लिए कह सकता हूँ
ADOConnection

पहली बात यह है कि गूगल पर आया है इस
Vassilis

2

बाइटकोड का संकलन सबसे अच्छा विकर्षक होगा। एन्क्रिप्शन के लिए, सॉफ्टवेयर ट्रू-क्रिप्ट वॉल्यूम में संग्रहीत किया जा सकता है, लेकिन केवल अगर उपयोगकर्ता रूट एक्सेस हासिल नहीं करता है; पासवर्ड को सुरक्षित रूप से स्टोर करने का कोई तरीका नहीं है क्योंकि निरीक्षण के लिए मेमोरी / डिस्क को किसी भी समय डंप किया जा सकता है। यहां तक ​​कि सुरक्षित उपकरणों (स्मार्ट कार्ड) की मदद भी बहुत कुछ नहीं करेगी, अगर सॉफ्टवेयर चलता है जहां उपयोगकर्ता के पास लिनक्स उपयोगिताओं की अधिकता है। जहाँ तक मुझे पता है कि सुरक्षित बूट R-Pi पर एक विकल्प नहीं है जो उपयोगकर्ता को OS के अंदर छेड़छाड़ करने से रोकेगा।


1
बूट के दौरान एन्क्रिप्शन उतना सुरक्षित नहीं है जितना आपने सोचा होगा। आपको बस सामान्य सिस्टम बूट तक पहुंचने / बायपास करने की आवश्यकता है और यह सभी कीमा मांस है। ब्लरेज़ को भी यह अधिकार नहीं मिला .. धिक्कार है!
पियोत्र कुला

केवल पूरी तरह से बंद सिस्टम आपके आवेदन की सुरक्षा कर सकता है। मैं केवल एक ऐसी चीज जानता हूं जो कुछ प्रोग्राम करने योग्य है - एक जावा कार्ड।
टॉमस Q.

1
हां- लेकिन आपको हमेशा एक पिन लगाना होता है - पिन कार्ड पर स्टोर हो जाता है।
पायोटर कुला

1

यदि आप एक सच्चे वाणिज्यिक आवेदन करना चाहते हैं, तो पाई, जैसा कि इसके अंतिम उपयोगकर्ता रूप में है, आपके लिए अच्छा नहीं है!

आपको अपना स्वयं का पीसीबी डिजाइन करना होगा, उस प्रोसेसर का उपयोग करें जो उदाहरण के लिए पाई पर है और पीसीबी पर फ्लैश मेमोरी एम्बेड करना है।

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

टिप्स

  • अच्छी मुख्य कुंजियाँ 8-16 वर्ण लंबी नहीं होती हैं। सिस्टम के अधिक सिस्टम सिंबल (HEX) और कम वर्ण (ASCII) का उपयोग करके 256/512 बाइट्स लंबे समय तक कुंजी को सप्लाई करना महत्वपूर्ण है।
  • एईएस, टीकेआईपी का उपयोग न करें क्योंकि यह आसानी से टूट जाता है
  • आज तक- व्हर्लपूल एन्क्रिप्शन 256/512 कुंजी का उपयोग करके दरार करने के लिए सबसे अधिक जटिल है
  • भले ही कोई हैकर फ्लैश ड्राइव को हटा सकता है या सामग्री को डंप कर सकता है। आपके सॉफ़्टवेयर को दो बार एन्क्रिप्ट किया गया है।
  • यदि वे उस महत्वपूर्ण कुंजी को रोकते हैं जो फर्मवेयर से बाहर निकलना बहुत मुश्किल होगा (क्योंकि बीसीएम फर्मवेयर डंप को रोक सकता है)
  • कुछ चालाक फ्लैश रोम में पूर्ण मेमोरी डंप को रोकने की सुविधा भी है।
  • यदि आप एक पीसीबी डिजाइन कर रहे हैं तो आप (डेल और एप्पल की तरह) एक सुरक्षा चिप्स को लागू करेंगे जो आपके सभी एन्क्रिप्शन डेटा और चाबियाँ प्रदान करता है और bruteforce प्रयासों को रोकता है। कुछ डेल के सैन्य उपयोग के लिए एक आत्म विनाश है। यदि आप 2 बार गलत तरीके से BIOS पासवर्ड डालते हैं, तो यह ड्राइव को स्कैटर बम से मिटा देता है। यदि आप सामान्य कुंजी जोड़तोड़ का पता लगाते हैं तो आप इसे लागू कर सकते हैं।

दिन के आखिर मे। रास्पबेरी पाई का उद्देश्य बच्चों के लिए शैक्षिक उद्देश्यों के लिए सीखना है कि लिनक्स का उपयोग कैसे करें और कुछ प्रोग्राम कैसे लिखें।

यह उच्च प्रोफ़ाइल वाणिज्यिक उपयोग के लिए फिट नहीं है। आपको अपना खुद का डिवाइस बनाने और अपने स्वयं के सुरक्षा प्रणालियों के साथ आने की आवश्यकता है। क्योंकि यदि केवल आप और कोई नहीं जानते हैं कि आप अपनी औचित्य संबंधी जानकारी की रक्षा कैसे करते हैं, तो किसी व्यक्ति द्वारा किसी ज्ञात शोषण या क्रूरता का उपयोग करके इसे हैक करने की संभावना .. 0.001% है

ALTERNATIVES

  • अपने सॉफ़्टवेयर को लिखें ताकि इसे बाइनरी प्रारूप में लक्ष्य प्रणाली में संकलित और तैनात किया जा सके। उदाहरण। NET, JAR on Java या (Linux में निश्चित नहीं है, C ++?) के लिए EXE
  • याद रखें, आप जितनी बेहतर सुरक्षा चाहते हैं- उतने अधिक पैसे आपको उस पर खर्च करने होंगे। कोई अपवाद नहीं हैं।

1

समाधान में से एक रास्पबेरीपी के मैक पते का उपयोग करना है जो किसी दिए गए पाई के लिए लगभग अद्वितीय है। इस पते को अपने कोड के अंदर सत्यापित करें और संकलित संस्करण प्रदान करें। इससे रिवर्स इंजीनियरिंग मुश्किल हो जाएगी।

जो लोग आँख बंद करके एसडी कार्ड को नए सिरे से कॉपी करते हैं, उनके लिए यह किसी दूसरे पाई पर काम नहीं करेगा। यह आपके सॉफ़्टवेयर को चोरी करने वाले अधिकांश लोगों को दूर कर देगा। अन्य लोग जो इसे तोड़ने के लिए काफी स्मार्ट हैं, सॉफ्टवेयर को रीमेक करने के लिए पर्याप्त स्मार्ट हो सकते हैं, वे कई नहीं हैं और मुझे नहीं लगता कि वे आपकी बिक्री को नुकसान पहुंचाएंगे।


0

आप एक गुल्लक-आधारित समाधान का उपयोग कर सकते हैं: रास्पबेरी पाई के लिए सॉफ्टवेयर सीरियल संरक्षण


2
सही है अगर मैं गलत हूँ, लेकिन यह डिवाइस रिवर्स इंजीनियरिंग के खिलाफ किसी भी सुरक्षा को जोड़ने नहीं लगता है। सीपीयू सीरियल नंबर पर एक साधारण हार्डकोड चेक एक ही करेगा।
EDP

0

अपने कैरियर बोर्ड में SPI आधारित फ़्लैश क्यों न जोड़ें और उस पर अपना कोड कैसे संग्रहीत करें? मैं अपने स्वयं के उत्पाद के लिए इस विकल्प पर विचार कर रहा हूं। मामले में एसडी दूषित हो जाता है मैं चाहता हूं कि अंतिम उपयोगकर्ता एक नया लिखने में सक्षम हो, जिसमें एक कस्टम रास्पियन शामिल है, और एसपीआई फ्लैश को माउंट करने और निष्पादन योग्य चलाने के लिए कोड।

एक अन्य विकल्प आपके आरटीसी में एक एन्क्रिप्शन कुंजी संग्रहीत कर रहा है। अधिकांश आरटीसी चिप्स में कुछ भंडारण होता है और वे उस कुंजी के साथ प्रीप्रोग्राम हो सकते हैं जो एसडी या एसपीआई फ्लैश से निष्पादन योग्य को अनलॉक और माउंट करने की अनुमति देता है।


-4

मेरा मानना ​​है कि रास्पबेरी पाई की सीमा में उपयोग किए जाने वाले सभी सीपीयू अपने स्वयं के सुरक्षित बूट का समर्थन करते हैं। मेरा मानना ​​है कि आंतरिक फ्लैश या EEPROM के 4,8,16,32 या 64K को फिर से चालू करने के लिए 12 वोल्ट की आवश्यकता होती है, जो कि पीआई के पास नहीं है। उनके पास से, आप अपने कोड के साथ ट्रस्टज़ोन सेटअप कर सकते हैं ताकि सभी अच्छे सामान दिखाई न दें। मैं यह भी समझता हूं कि किसी दिए गए पुनर्लेखन की संख्या के लिए स्थिर रैम के दोनों रूप केवल स्थिर हैं। मेरा पहला कदम एक अतिरिक्त सीपीयू होगा और कुछ घंटों या दिनों के लिए इस सुरक्षित बूट मेमोरी को फिर से भरना होगा। आखिरकार, सभी बिट्स निश्चित हो जाते हैं, इसलिए कोई भी आपके कोड को संशोधित नहीं कर सकता है और वास्तविक उत्पाद के आधार पर, आप समय-समय पर 2-कारक पहचान (बैंकों की तरह) पूछ सकते हैं, इसलिए उत्पाद एक कोड को बाहर निकालता है और पुनर्सक्रियन कोड भेजा जाता है ईमेल का पता। यदि आप पी को थोड़ा मॉड करते हैं, मेरा मानना ​​है कि एआरएम के पास एक सीपीयूआईडी भी है, इसलिए सुरक्षा के कई स्तर हैं जिनकी आप जा सकते हैं। मेरा मतलब है, आप एक विशिष्ट नंबर पर एक एसएमएस भी दे सकते हैं। बहुत सारे तरीके।


1
नमस्ते और आपका स्वागत है। उस पोस्ट पर बहुत अधिक अनुमान और विश्वास है। लोगों को पी से 12 वी लागू करने की सिफारिश करने से पहले यह अधिक विस्तृत जवाब देने और उचित संदर्भ द्वारा इसे वापस लेने के लिए अत्यधिक उचित होगा।
Ghanima
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.