कॉपी सुरक्षा, बौद्धिक सुरक्षा और तैनाती मुद्दे


10

रास्पबेरी पाई 2 मॉडल बी v1.1 के साथ एक समय के बाद, मुझे निम्नलिखित चिंताएं हैं?

  1. मुझे पता है कि यह कमजोर शैक्षिक क्षेत्रों को बढ़ाने के लिए केंद्रित है, लेकिन आरपीआई के आधार पर उत्पाद बेचना संभव है । इसके साथ पैसा बनाने के लिए ?. इसके साथ zillionaire बनें?
  2. मुझे एक विकास की रक्षा कैसे करनी चाहिए , आइए बताते हैं, मैं नहीं चाहता कि कोई मेरा आरपीआई एसडी कार्ड ले, इसे डुप्लिकेट करें, और उनके स्वयं के प्रतिकृतियां हों । मेरा वर्तमान विकल्प SDCard पोर्ट को सुपरग्लू :) के साथ भरना है। एक अन्य विकल्प आरपीआई के लिए कर सकता है पिंग एक लाइसेंस सर्वर ऑनलाइन है, जो निश्चित रूप से एक की आवश्यकता होगी वाईफ़ाई कनेक्शन। या एक हार्डवेयर HASH ID (यह एक बेहतर उत्तर होना चाहिए मुझे लगता है ...)
  3. मैंने जाँच की है कि एसडी कार्ड को माउंट करके, भले ही आपके पास रूट नहीं है, स्थापना को ठीक करने के लिए भी तंत्र हैं। फिर, मेरा सबसे अच्छा समाधान सुपरग्लू दृष्टिकोण है ...।

अग्रिम में धन्यवाद।


2
यह एक सामान्य एम्बेडेड लिनक्स प्रश्न है। यह तकनीकी और कानूनी रूप से एक जटिल समस्या है।
क्रेग

2
नमस्कार और RaspberryPi.SE में आपका स्वागत है! यह एक में बहुत सारे प्रश्न हैं। कुछ मुद्दे बहुत व्यापक हैं और न कि पीआई-विशिष्ट। आपको यह विचार करने की आवश्यकता है कि दिए गए समय और प्रयास सभी प्रतिलिपि सुरक्षा प्रणालियों को दरकिनार कर सकते हैं। खासकर अगर आपका सिस्टम तैनात है और आपको अपनी सुरक्षा को तोड़ने के लिए सभी उपलब्ध उपकरणों का उपयोग करने से "बुरे आदमी" को रोकने का कोई तरीका नहीं मिला है।
Ghanima

@ क्रेग: क्या एंबेडेड लिनक्स कम्युनिटी है?
ब्रेथलॉज़

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

2
यह "उनका मंच" नहीं है, अनुप्रयोग विकास बुद्धिमान है, और वे जानते हैं कि परवाह नहीं है। वह "उनका उद्देश्य" नहीं है। यह एक एआरएम वास्तुकला को लागू करने वाला ब्रॉडकॉम एसओसी है। कोई भी ऐसा कुछ भी नहीं है जो एक पीआई के साथ करने जा रहा हो जो अन्य उपकरणों की एक बहुत विस्तृत श्रृंखला में मामूली रूप से पोर्ट नहीं किया जा सकता है। तो, एक बार फिर से: आपके पास घोड़े से पहले गाड़ी है । बार जब आप बिंदु है जहां बौद्धिक संपदा के साथ आपकी चिंता कोई अर्थ या महत्व है करने के लिए मिल करके, आप समझ जायेंगे कि मैं क्या आप के लिए कहने की कोशिश कर रहा हूँ ...
गोल्डीलॉक्स

जवाबों:


6

यदि आप वास्तव में अपनी बौद्धिक संपदा की रक्षा के बारे में चिंतित हैं, तो आप अपने रॅपबेरी पाई आधारित एप्लिकेशन को कुछ बाहरी कस्टम निर्मित माइक्रो नियंत्रक (AVR, PIC, 8051 जैसे MCU ...) आधारित हार्डवेयर कुंजी (USB, RXTX के माध्यम से पाई से कनेक्ट) के साथ जोड़ सकते हैं, I2C, SPI, 1wire ...)। उदाहरण के लिए, पाई साइड एप्लिकेशन एक यादृच्छिक संख्या उत्पन्न करता है जिसे एमसीयू को भेजा जाता है, डिकोड किया जाता है और कुछ महत्वपूर्ण को डिक्रिप्ट करने के लिए अनलॉक कुंजी के रूप में वापस भेजा जाता है। फिर इसके अतिरिक्त आपके पास सीधे MCU में निष्पादित कुछ महत्वपूर्ण कार्य हैं (आप बस मापदंडों को पास करते हैं और MCU से परिणाम प्राप्त करते हैं)। आप अंदाजा लगा सकते हैं कि एक हैकर के लिए यह मुश्किल कैसे खड़ी कर सकता है, क्योंकि उसका ज्ञान तब सामान्य से अधिक व्यापक होगा। एक पूर्ण सुरक्षा नहीं है, लेकिन अगर आप वास्तव में इसे एक चुनौती बनाना चाहते हैं तो यह एक रास्ता हो सकता है।


1
यह वास्तव में एक अच्छा समाधान है .... मेरे पास इस अवधारणा के लिए एक प्रयास होगा ....
Brethlosze

1
दुर्भाग्य से एक हार्डवेयर कुंजी का समाधान एक सॉफ्टवेयर कुंजी के समान है - बस कोड के आक्रामक भाग को हटा दें, सही उत्तर में निर्माण करें, आदि। इसलिए समान कौशल एक हार्डवेयर कुंजी के खिलाफ काम करेंगे।
टोमनेक्स

2
यदि आप हार्डवेयर कुंजी में कुछ महत्वपूर्ण फ़ंक्शन डालते हैं, और यह आपके पीआई अनुप्रयोग की कार्यक्षमता के लिए महत्वपूर्ण नहीं है। चूँकि फ़ंक्शन केवल एक माइक्रो कंट्रोलर में मौजूद होता है, पाई साइड पर निकालने के लिए कुछ भी नहीं होता है। इसे तोड़ना असंभव नहीं है, लेकिन कई, कई बार अधिक कठिन होता है क्योंकि यह बहुत अधिक कौशल की मांग करता है, फिर सामान्य कोड क्रैकिंग।
Avra

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

5
  1. मुझे लगता है कि सभी संगणक मॉड्यूल के साथ यह विचार था। लाभ को मोड़ने के लिए यह एक समस्या नहीं होनी चाहिए।

  2. / 4. सुपरग्लू विकल्प शायद एक अच्छा व्यापार है। अंततः आप डिवाइस पर भौतिक पहुँच के साथ एक हमलावर को नहीं हरा सकते। गेम कंसोल पर एक नज़र डालें, जो शायद डीआरएम के बुनियादी ढांचे में लाखों का निवेश किया है और वे सभी अंततः गिर जाते हैं। एक अलग भावना में, आप खुलेपन को भी अपना सकते हैं और अपने उत्पाद के विकास संस्करण को बेच सकते हैं और इसमें किसी प्रकार का एसडीके शामिल कर सकते हैं। तकनीकी केंद्रित उपयोगकर्ता समूह से आपको मिलने वाली प्रतिक्रिया मूल्यवान हो सकती है और आपकी रुचि में काम कर सकती है।


सुपरग्लू विकल्प शायद पूरी तरह से पागल है, लेकिन आप यहां कुछ अन्य अच्छे बिंदु बनाते हैं। ; |
गोल्डीलॉक्स

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

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

योग्य .. नहीं, मुझे लगता है कि मैं उनमें से एक बहुत छोटी मात्रा में बेच देंगे! इसलिए, अगर मेरे पास रास्पियन के तहत एक कोड चल रहा है, तो कोई अन्य एसडी कार्ड ले सकता है, और इसे पढ़ सकता है? यह डिबग करें? सुलझाओ?। मुझे पूरा यकीन है, इसका जवाब हां में है। क्या सबसे अच्छा विकल्प एवराHardware Key द्वारा सुझाया गया है , और अपने कनेक्टर के अंदर सुपरग्लू के साथ एसडी कार्ड को दफनाना होगा?
ब्रेथलॉज़

4

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

लेकिन अब विषय पर ...

वाणिज्यिक परियोजनाओं के लिए जहां आईपी सुरक्षा एक प्रमुख कारक है, पीआई शुरुआती प्रोटोटाइप / अवधारणा के लिए सबसे अच्छा है। भले ही संरक्षण एक मुद्दा नहीं होगा, बड़े पैमाने पर पाई की तैनाती IMHO सबसे अच्छा समाधान नहीं है - कई कारणों से मैंने इस मंच पर पहले वाले धागे में वर्णित किया था

रिवर्स इंजीनियरिंग / हैकिंग / प्रजनन के खिलाफ कोई प्रणाली सुरक्षित नहीं है। कोई भी व्यवस्था शोषक है। हर प्रणाली में एक प्रवेश स्कोर होता है। अपने खुले दृष्टिकोण और बाहरी एसडी कार्ड के साथ, पाई बहुत कम है। कस्टम SoC, सैंडविच घटकों और मल्टी लेयर्ड पीसीबी के साथ कस्टम बूटलोडर के साथ संयोजन में एक डिज़ाइन किया गया सैन्य-अनुमोदित हार्डवेयर बोर्ड, हार्डवेयर एन्क्रिप्शन का एक उच्च स्कोर होगा।

उसके ऊपर परिनियोजन कारक है। आपका बाज़ार जितना व्यापक होगा, लोगों के लिए आपकी तकनीक को तोड़ना और चोरी करना उतना ही दिलचस्प होगा।

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

हम ऐसी सेवाओं को बेचने के लिए पाई का उपयोग करते हैं। पाई पर हमारे सॉफ़्टवेयर में सुरक्षा का एक उठाया स्तर है, हम एक संकलित सी एप्लिकेशन का उपयोग कर रहे हैं, जो मैक और / या सीपीयू सीरियल नंबर पर लॉक है। लेकिन अंत में, हमारे सर्वर पक्ष के बिना, यहां तक ​​कि स्रोत कोड भी लगभग बेकार है।


3

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


2
यह सिस्टम को क्लोनिंग से बचाने में आपकी मदद नहीं करेगा - हैकर आपके बाइनरी से एचडब्ल्यू कुंजी के लिए चेक को हटा देगा यदि वे चाहते हैं ... एचडब्ल्यू कुंजी केवल एक निश्चित स्तर की सुरक्षा प्रदान करेगी (शायद प्रथम-स्तरीय शौक को रोकने के लिए हैकर्स)।
कोझुच

2

इसे खुला-स्रोत बनाओ

गंभीरता से इसे कॉपी-प्रोटेक्ट करने की कोशिश न करें। इसे खुला-स्रोत बनाओ। यदि संभव हो, तो दूसरों को अपनी परियोजना में शामिल होने दें।

फिर सेवाओं के लिए शुल्क लें। यदि आप उस अधिकार को करते हैं तो आप पैसे की बाल्टी बना सकते हैं।

रेड-ने इसे और कुछ अन्य कंपनियों की तरह किया। वे सभी अच्छा कर रहे हैं और बढ़ रहे हैं।


1
नहीं, यह एक उत्पाद है, एक परियोजना नहीं है, न ही एक बड़ी परियोजना और न ही बहुत दिलचस्प प्रोग्रामिंग परियोजना है। बहुत अच्छा लगता है, लेकिन फिर से, नहीं।
ब्रेथोसल्ज़

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


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

1
फिर से यह मानव लाभ के लिए अपने सभी कामों को उपहार में देने या आपके द्वारा किए जाने वाले हर काम के लिए सभी को चार्ज करने की चर्चा है।
ब्रेथोल्ज़े

1

मेरे कुछ सेंट:

  1. लिपियों के आसपास कभी कोई हल न बनाएं जो सीधे पढ़ा जा सके।
  2. एकाधिक सॉफ्टवेयर / प्रक्रियाओं और हार्डवेयर के संदर्भ में ब्रेकडाउन कार्यशीलता।
  3. कुछ पढ़ें हार्डवेयर "कार्यात्मक" निर्भरता जोड़ें।
  4. स्मार्ट कार्ड रीडर जोड़ें और अपने उत्पाद के साथ "एनबलर" स्मार्ट कार्ड बेचें।
  5. एक लाइसेंस सर्वर है
  6. EEPROM में एक उपयोग काउंटर है !!! और ऑनलाइन "रिचार्ज" करने का कोई तरीका होना चाहिए; ;-)

...


1

एक एंट्री-लेवल प्रोटेक्शन के रूप में, एक विशिष्ट एसडी कार्ड आईडी मिली है /sys/block/mmcblk0/device/जिसके तहत विशिष्ट डिस्क इमेज क्लोनिंग सॉफ्टवेयर द्वारा क्लोन नहीं किया गया है। यह अद्वितीय आईडी को पकड़ने के लिए एक अलग डिवाइस की आवश्यकता नहीं होने का लाभ है और सुपरग्ल्यू के बाद सुरक्षा की दूसरी परत के रूप में बहुत अच्छी तरह से काम करता है। यह कम से कम उन लोगों को रोक देगा जो केवल एसडी कार्ड को क्लोन करने में सक्षम हैं।

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

if(readID() != 0xDEADBEEF) exit();

इस तरह की सरल जांच आसान है (या तो ज्ञात आईडी की खोज करके या कॉल की निगरानी करके exit()) और हटाएं। गणना में एक स्थिर के रूप में आईडी को शामिल करने के लिए एक बेहतर दृष्टिकोण है। यानी i++आपके कोड में कहीं के बजाय आप लिखेंगे

i = i + readID() - 0xDEADBEEF + 1;

यह खोज करना अधिक कठिन होगा, क्योंकि सटीक आईडी आपके कोड वर्बेटिम ( 0xDEADBEEF + 1 == 0xDEADBEF0) में नहीं दिखाई देगी , और सभी कॉलों का निरीक्षण करने exit()से आपके सुरक्षात्मक कोड का स्थान भी प्रकट नहीं होगा। इसके बजाय, आपका कोड बस गलत आईडी के साथ एक सिस्टम पर क्रैश हो जाएगा, और हमलावर को समस्या को समझने और ठीक करने के लिए आपके एप्लिकेशन के तर्क को डीबग करना होगा।


0

एक बाहरी घटक का उपयोग करना, मेरा मतलब था कि सुरक्षा घटक उस मुद्दे को हल करेगा। यदि आपको वास्तव में लगता है कि आपका विचार महान है और ऐसा करने के लिए अतिरिक्त लागत है, तो मैं आपको ऐसा करने के लिए कुछ पेशेवर MCU / CPU का उपयोग करने का सुझाव दूंगा। ब्रॉडकॉम बीसीएम 58101 श्रृंखला की तरह, वास्तव में प्रभावी लागत नहीं और एक नए उपयोगकर्ता के लिए अनुकूल नहीं है लेकिन उच्च सुरक्षा स्तर भी आपके विचार / डिजाइन की रक्षा कर सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.