Питання захисту копій, інтелектуального захисту та розгортання


10

Через деякий час з Raspberry Pi 2 Model B v1.1., У мене є такі проблеми?

  1. Я знаю, що вона спрямована на розширення вразливих освітніх секторів, але можна продати продукт на основі RPI ?. Заробляти на цьому гроші ?. Стати з цим мільйонером ?.
  2. Як я маю захистити розробку, скажімо, я не хочу, щоб хтось взяв мою карту RPi SD, копіював її та мав власні репліки ?. Моя поточна альтернатива - заповнити порт SDCard суперклеєм :). Інший вибір може зробити RPI для того, щоб пінг- сервер ліцензій в Інтернеті, для чого, звичайно, знадобиться Wi-Fi . Або апаратний HASH ID (це, мабуть, буде кращою відповіддю, мабуть, ...)
  3. Я перевірив, що також є механізми відновлення установки, навіть якщо у вас немає кореня, встановивши SD-карту. Знову ж таки, найкращим моїм рішенням є підхід суперклею ....

Заздалегідь спасибі.


2
Це загальне вбудоване питання Linux. Це складна проблема як технічно, так і юридично.
Крейг

2
Привіт і ласкаво просимо до RaspberryPi.SE! Це занадто багато питань в одному. Деякі питання також дуже широкі та не характерні для Pi. Вам потрібно врахувати, що, враховуючи час і зусилля, можна обійти всі системи захисту від копіювання. Тим більше, що якщо ваша система розгорнута, і у вас немає ніякого способу завадити «поганому хлопцеві» використовувати всі доступні інструменти, щоб зламати ваш захист.
Ghanima

@craig: Чи існує вбудована спільнота Linux?
Brethlosze

WRT # 2: Ви не можете запобігти піратству технічно на будь-якій платформі, все, що ви можете зробити - це боротися з ним на законних підставах . Думаю, у вас тут візок перед конем. До того часу, коли у вас з’явиться пірський програмний проект, де це викликає занепокоєння, ви визнаєте, що не існує проекту, заснованого на пі, який дійсно пов'язаний з пі. Це просто пристрій загального призначення, а громада орієнтована на розвиток.
золотинки

2
Це не "їх платформа", розробка додатків мудра, і вони знають це і байдуже. Це не "їх призначення". Це Broadcom SoC, що реалізує архітектуру ARM. Ніхто нічого не збирається робити з пі, який не можна було б тривіально перенести на дуже широкий спектр інших пристроїв. Отже, ще раз: у вас візок перед конем . До того моменту, коли ви перейдете до того, що ваша турбота про інтелектуальну власність має якесь значення або значення, ви зрозумієте, що я намагаюся сказати вам ...
goldilocks

Відповіді:


6

Якщо ви дійсно стурбовані захистом своєї інтелектуальної власності, тоді ви можете поєднати додаток на основі Rapberry Pi з деякими зовнішніми на замовлення мікроконтролерами (MCU, такими як AVR, PIC, 8051 ...) на основі апаратного ключа (підключений до Pi через USB, RXTX, I2C, SPI, 1wire ...). Наприклад, програма Pi side генерує випадкове число, яке надсилається до MCU, розшифровується та повертається назад як ключ для розблокування для розшифрування чогось важливого. Потім у вас є важлива функція, що виконується безпосередньо в MCU (ви просто передаєте параметри і отримуєте результат від MCU). Ви можете собі уявити, як це призведе до виникнення труднощів з поломкою хакера на порядок, оскільки його знання повинні були бути набагато ширшими, ніж зазвичай. Не існує ідеального захисту, але якщо ви дійсно хочете зробити це викликом, то це може бути шлях.


1
Це дійсно приємне рішення .... Я спробую спробувати цю концепцію ....
Brethlosze

1
На жаль, рішення апаратного ключа таке ж, як і програмний ключ - просто видаліть порушувальну частину коду, побудуйте правильну відповідь і т. Д. Тож ті ж навички працюватимуть і з апаратним ключем.
tomnexus

2
Не якщо ви вводите якусь важливу функцію в апаратний ключ і зробите її результат критичним для функцій програми Pi. Оскільки функції існують лише в мікроконтролері, з боку Pi нічого не можна знімати. Це неможливо зламати, але багато, багато разів складніше, оскільки це вимагає набагато вищих навичок, ніж звичайний злом коду.
Авра

1
Хоча ці зовнішні схеми дійсно забезпечують додатковий захист, ці речі коштують великих грошей: дослідження, складання прототипів, виготовлення, тестування, впровадження, обслуговування. Що робити, якщо щось трапляється по лінії? Що робити, якщо Raspberry змінить свій інтерфейс (и) у майбутніх моделях? Якщо це короткий термін життя або хобі-проект, займіться цим. Якщо це промисловий / комерційний продукт, можливо, OEM - це більш безпечна ставка.
EDP

5
  1. Я думаю, що це була ідея з обчислювальним модулем весь час. Повернути прибуток не повинно.

  2. / 4. Варіант суперклею, мабуть, хороший компроміс. Зрештою, ви не можете перемогти зловмисника фізичним доступом до пристрою. Погляньте на ігрові консолі, які, ймовірно, мільйони інвестували в інфраструктуру DRM, і всі вони з часом потрапляють. В іншому дусі ви також можете охопити відкритість і продати розробну версію свого продукту і включити якусь SDK. Відгуки, отримані від технічно орієнтованої групи користувачів, можуть бути цінними та працюватимуть у ваших інтересах.


Варіант суперклею - це, мабуть, абсолютно горіхи, але тут ви зазначаєте ще кілька хороших моментів. ; |
золотинки

Власне, я думав про якийсь апаратний ідентифікатор від Raspberri Pi, щоб кожне програмне забезпечення RPi могло бути запрограмоване для кожної карти RPi, і, таким чином, якщо я клоную програмне забезпечення, система не працюватиме. Старі uProcessors були просто запрограмовані на борту, тому ви не можете його відключити :).
Brethlosze

1
Навіть якби у вас був апаратний ідентифікатор, хтось із фізичним доступом міг його прочитати. Процесори, які запрограмовані на борту, звичайно, також надають інтерфейси налагодження, так що ви фактично можете їх читати. У більш досконалих системах SOC, ймовірно, піклується лише про виконання підписаного коду. Я не надто здивуюся, якщо чіп Broadcom має певну функціональність у цьому напрямку, але у вас немає документації на це. Якщо ви хочете планувати продати мільйони на одиниці, вони можуть поговорити з вами про це;)
user1217949

LOL .. ні, я думаю, я продам дійсно незначну їх кількість !. Отже, якщо у мене є код, який працює під Raspbian, будь-хто інший міг би взяти SD-карту і прочитати її? налагодити це? тріщини? Я повністю впевнений, відповідь, звичайно, так. Найкращим вибором буде Hardware Keyзапропонувати Avra та поховати SD-карту із SuperGlue всередині її роз'єму?
Brethlosze

4

Хоча ця практика, безумовно, втрачає покриття, ви здивуєтеся кількості USB-роз'ємів, які були склеєні на настільних машинах у корпоративних офісних умовах. І я говорю тут про великі транснаціональні корпорації.

Але зараз на тему ...

Для комерційних проектів, де захист інтелектуальної власності є головним фактором, Pi в кращому випадку для раннього прототипування / підтвердження концепції. Навіть якщо захист не буде проблемою, розгортання Pi в більш широкому масштабі - це IMHO не найкраще рішення - з ряду причин, які я описав у попередній темі на цьому форумі.

Не існує системи, захищеної від зворотного проектування / злому / відтворення. Будь-яка система є експлуатаційною. Однак кожна система має бал проникнення. Завдяки відкритому підходу та зовнішній SD-картці Pi має дуже низьку. Спеціально розроблена військова дошка апаратного забезпечення із власною системою SoC, захищеними компонентами та багатошаровою друкованою платою у поєднанні із спеціальним завантажувачем, апаратним шифруванням матиме більш високий бал.

Крім того, є коефіцієнт розгортання. Чим ширший ваш ринок, тим цікавіше стане людям вриватися та красти ваші технології.

Якщо обладнання є вашим опором у цілому, а захист вашої технології є головним фактором, я не думаю, що Pi - це продукт для вас. Якщо ваша апаратура є фасилітатором продажу послуг, можливо, захист технології слід робити на стороні сервера, а не на стороні клієнта.

Ми використовуємо Pi для продажу таких послуг. Наше програмне забезпечення на Pi має підвищений рівень захисту, ми використовуємо складену програму C, заблоковану на MAC та / або серійному номері процесора. Зрештою, без нашого сервера навіть вихідний код практично марний.


3

Ви можете використовувати скарбничку всередині малини за допомогою шифрувального ключа. На ринку є пара комерційних пристроїв. Я використовував цей програмний серійний захист для Raspberry Pi , який працює дуже добре.


2
Це не допоможе вам захистити систему від клонування - хакери знімуть чек на ключ HW з вашого бінарного файлу, якщо захочуть ... Ключ HW забезпечить лише певний рівень захисту (можливо, щоб зупинити хобі першого рівня хакери).
Козуч

2

Зробіть це з відкритим кодом

Серйозно не намагайтеся копіювати захист. Зробіть це з відкритим кодом. Якщо можливо, дозвольте іншим долучитися до вашого проекту.

Потім платити за послуги. Ви можете заробляти відрами грошей, якщо зробите це правильно.

Red-had це робить так, як і деякі інші компанії. Вони всі добре і ростуть.


1
Ні, це продукт, не проект, ані великий проект, ані дуже цікавий програмовий проект. Звучить досить, але знову ж таки, ні.
Brethlosze

1
Я не погоджуюсь. З мого досвіду, кожна програма, яку я написав, яка була відправлена ​​та активно використовується клієнтом, мала б дзвінки підтримки, запити на покращення та, звичайно, виправлення помилок. Єдиним програмним забезпеченням, яке не мало жодного з них, було програмне забезпечення, яке після його доставки ніколи не використовувалося.
MadMike


Це сенс, це для продукту, пристрою. в програмному забезпеченні немає мистецтва, але спосіб обробки змінних повинен бути захищений, як і будь-який розумний контролер. Ви не маєте наміру відкривати вихідні коди своїх розробок у цьому сенсі, це не викликає сумніву, це вже інший вид роботи. Можливо, ви перебуваєте в компанії, і ви здивуєте, коли клієнт дзвонить вам, коли насправді це дає вам більше рахунків вашим начальникам, і надає вам послуги після продажу, що в довгостроковій перспективі добре. У будь-якому випадку, відкритий код корисний для людства, а не для отримання прибутку.
Brethlosze

1
Знову ж таки, це утопічна дискусія про дарування всієї вашої праці для людської користі або зарядку за все, що ви робите.
Brethlosze

1

Кілька центів моїх:

  1. Ніколи не створюйте рішення навколо скриптів, які можна прочитати безпосередньо.
  2. Розбиття функціональних можливостей з точки зору безлічі програмного забезпечення / процесів та обладнання.
  3. Додайте трохи прочитаної апаратної "функціональної" залежності.
  4. Додайте зчитувач смарт-карт і продайте смарт-картку "enabler" зі своїм продуктом.
  5. Майте сервер ліцензій
  6. Майте лічильник використання в EEPROM !!! І має бути якийсь спосіб "підзарядити" онлайн .. ;-)

...


1

В якості захисту початкового рівня знайдено унікальний ідентифікатор SD-карти, під /sys/block/mmcblk0/device/яким не клонується типове програмне забезпечення для клонування зображень диска. Це має перевагу в тому, що не потрібен окремий пристрій для зберігання унікального ідентифікатора і працює дуже добре, як другий рівень захисту після суперклею. Це принаймні зупинить людей, здатних просто клонувати SD-карту.

Ще одна порада щодо захисту за допомогою ідентифікаторів - уникати використання простої перевірки, тобто

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

Прості чеки, такі, як їх легко знайти (або за допомогою пошуку відомого ідентифікатора, або за допомогою моніторингу викликів exit()) та видалення. Набагато кращим підходом є залучення ІД як константа до розрахунків. Тобто замість i++десь у коді ви напишете

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

Це буде набагато складніше виявити, оскільки точний ідентифікатор не з’явиться у вашому коді дослівно ( 0xDEADBEEF + 1 == 0xDEADBEF0), а перевірка всіх дзвінків exit()також не виявить розташування вашого захисного коду. Натомість ваш код просто вийде з ладу в системі з неправильним ідентифікатором, і зловмиснику доведеться налагодити логіку вашої програми, щоб зрозуміти і виправити проблему.


0

Використовуючи зовнішній компонент, я мав на увазі, що компонент безпеки вирішить цю проблему. Якщо ви дійсно вважаєте, що ваша ідея є великою і коштує додаткових витрат, щоб зробити це, я б запропонував вам скористатися деякими професійними MCU / CPU для цього. Як і серія Broadcom BCM58101, не дуже економічно вигідний і не привітний для нового користувача, але високий рівень безпеки також може захистити вашу ідею / дизайн.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.