Перейти к содержанию
    

сокрытие части исходника

Там не логика, там сплошная математика - цифровые фильтры, корреляции, статистические параметры, причем часть в целых и часть в плавучке - сильно не завидую тому, кто это будет дизассемблировать.

это спорный вопрос, я бы на вашем месте не был так уверен :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...Железяки заказчик сам будет делать, в разных варантах. И сам софт под них писать....сильно не завидую тому, кто это будет дизассемблировать.

 

небось с этого форума кто нить и будет тискать за сиськи ваши хау-ноу, если потребуется. Фишка в том, что потребуется... вот над чем стоит задуматься.

1) потребуется подправить алгоритмы

2) потребуется создать своё на базе фаших ноу-хау

3) подправить ошибки

4) дуплицировать прошивку, алгоритмы

 

может ышо что то забыл...

как видно, дуплицировать - разбираться вообще не нуна в кухне, достаточно сосредоточиться на защите (если такая имеется). ну и на совпадении по железу.

подправить ошибки, алгоритмы - то сложнее. надо разбираться что и как. при этом это граничит со вторым пунктам - научится вашим ноу-хау и создать своё (своих людей)...

тут вот что надо отметить. даже просмотр бинаря даёт много ответов грамотному специалисту. и уменьшает временные затраты для поиска красивых(оптимальных) решений. т.е. если вы передаёте даже бинарь - то это уже существенная помощь для специалиста.

но подумайте что является ценностью? ценностью являеются люди. с точки зрения бизнеса. свои или партнёры. т.е. если мощностей мало - то и нафиг брать на ся груз ответственности когда партнёр может разрулить просче, быстрее и без гимора...

 

так же можно защищаться уходя на более высший уровень работы логики. ну например, считать байт защиты, взять от него логарифм, сравнить на больше чем....это примитивно, но даёт понять что въехать в общую логику - сложнее. или возможно вот более наглядный: сделать псевдо машину, и скормить ей псевдо код (когда то сам такое делал, т.к. МК был не самопрограммируемым а заливать апдэйты надо было. если бы тот человек который взламывал прошивку немного подумал как самому сделать на базе того железа - ответ бы он нашёл. а так - вынес вердикт что шифровано усё :) ).

 

подводя черту

----------------

1) говорить о защите можно в случае аппаратного юзанья защиты предусмотренной в МК - фузы. всё остальное - разговор в пользу бедных. Можно увеличить временные затраты на взлом, но защититься - нет.

2) лучше сконцентрироваться на организационном подходе сотрудничества (при отсутствии защиты или в добавок к ней). т.е. развивать направления сапорта, ценообразования, качества взаимодействия.

3) подумать о потенциальных возможностях партнёра в организации и финансирования обхода вас как партнёра.

4) постараться найти похожих партнёров для своей организации и партнёров в других плоскостях бизнеса (например продажа на корню всего ноу-хау какому нить эплу).

 

удачи вам

(круглый)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все что Вы говорит, совершенно понятно - это извечная борьба брони и снаряда :)

 

Разумеется дизассеблировать можно все, также как и фьюзы - тоже не панацея, их взлом тоже это только вопрос времени и денег.

Но в данном случае фирма-заказчик связана с нами долгосрочным договором, и расчитывает получать от нас IP не только на эту задачу но и на последующие (коих уже есть как минмум две, которые в процесе разработки). Идея сотрудничества такова - мы разрабатываем идеологи, алгоритмы, их имплементацию в демонстрационном приборе, а они делают конкретные устройства под конкретные задачи на основе нашей IP.

 

Я не думаю, что пожертвовать этим, чтобы сьекномить на рояльти для них сильно экономически выгодно.

Взять те-же сенсоры - разломать его и срисовать схему, мне бы пары часов хватило, даже те элементы, на которых ничего не написано (в силу их микроскопичности - бескорпусные лазеры, фотодиоды, акселерометры и пр.) зная принцип можно подобрать аналоги. Тем не менее они их предпочитают покупать у нас.

В данном случае, "сокрытие исходников" это даже не столько от них (с ними есть NDA, и они от нас и так много чего закрытого получают в открытом виде), сколько от случайного просачивания куде-то еще.

 

В любом случае, эти вопросы не технические, и их решает "Биг Босс"Ю а он уверяю Вас, совсем не дурак, и не мальчик (ему за 55, за плечами PhD не первый десяток лет в этой области (он кроме того что босс, еще и главный идеолог и разработчик алгоритмов, сам с Маткадом сидит). А я лично тоже против передачи кому-то lib/obj и т.п.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам надо:

1. Отвязаться от схемы "вызов_функции - тело_функции". Это можно сделать с помощью таблицы системных вызовов. Т.е. у Вас благодаря этому не либа, а HEX

2. Шифровать либу и предоставлять ключи под NDA

Средства расшифровки получаются привязаны к CPUID. :laughing:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В данном случае, "сокрытие исходников" это даже не столько от них (с ними есть NDA, и они от нас и так много чего закрытого получают в открытом виде), сколько от случайного просачивания куде-то еще.

что же вы переживаете, у вас есть долгострой, прибыль получаете от заказчика, вам и нет нужды что-то скрывать по сути то.

 

а ваши так называемые "ноу-хау", так это только вам кажется, что это ноу-хау :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а ваши так называемые "ноу-хау", так это только вам кажется, что это ноу-хау :biggrin:

 

Почему Вы так решили?

 

Это все же не веб-сервер :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может поставлять зашитые процессоры с установленной защитой?

Например для АВР реализуется так:

В область Boot пишется загрузчик + функции содержащие ноу-хау (по заданным адресам).

Устанавливается запрет чтения boot-области из application-области.

Application когда надо вызывает нужные функции и при этом не может их прочитать.

Программирование области application усуществляется через загрузчик.

 

Ещё вариант:

Реализовать ноу-хау в отдельном процессоре с высокоскоросным интерфейсом.

 

Оба варианта работоспособны. Но от взлома lockbit (если он возможен за разумные деньги) не спасут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В данном случае, "сокрытие исходников" это даже не столько от них (с ними есть NDA, и они от нас и так много чего закрытого получают в открытом виде), сколько от случайного просачивания куде-то еще.

Тогда все решается именно на предприятии заказчика. При прошивке камня ОБЯЗАТЕЛЬНО должны выставляться биты защиты. Ну а выбор камня ваша прероготива.

 

з.ы.

Если кто-то будет пытаться скопировать устройство, то разбираться в коде не станут (по крайней мере на первых порах), тупо возьмут прошивку и начнут клонировать. Защита от этого м.б только аппаратная.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может поставлять зашитые процессоры с установленной защитой?

Например для АВР реализуется так:

К сожалению, такой фишкой обладает только AVR. В случае же автора ветки, то, действительно, от чего защищаемся? Если вы передаете в каком-то виде библиотеку, то ничего не мешает получателю использовать ее в целях клонирования не разбираясь в ее внутренностях вообще. Создать что-то свое так же не проблема - достаточно скопировать ту часть схемотехники, которая завязана на библиотеку. Ведь библиотека у заказчика есть, пусть и в скомпилированном, но тиражируемом виде.

Если же хотите защититься от этого - то логичным выглядит установка отдельного закрытого от чтения процессора, на котором крутится ваш код и который вы поставляете уже зашитым и закрытым. А свои функции заказчик реализует на втором процессоре, для которого вы можете для облегчения жизни заказчика предоставить библиотеку связи с первым процессором, причем библиотека эта может поставляться хоть в исходниках. В закрытом процессоре может быть предусмотрен загрузчик с шифрованием на случай модернизации/багов, в библиотеке связи - реализация заливки шифрованного образа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё вариант:

Реализовать ноу-хау в отдельном процессоре с высокоскоросным интерфейсом.

 

логичным выглядит установка отдельного закрытого от чтения процессора, на котором крутится ваш код и который вы поставляете уже зашитым и закрытым. А свои функции заказчик реализует на втором процессоре, для которого вы можете для облегчения жизни заказчика предоставить библиотеку связи с первым процессором, причем библиотека эта может поставляться хоть в исходниках.

 

+1. Ваш камень-драйвер датчиков (любого разумного их количества) вы выберете наиболее подходящим для ваших задач, может даже разные под разные наборы датчиков. А заказчик для своих задач верхнего уровня пусть выбирает сам любые камни, любые архитектуры, тактовые частоты и т.п. - это развяжет ему руки в этом смысле, а с датчиками будет связываться через ваш "черный ящик".

 

ЗЫ это чем-то напоминает защищенные ключами платные драйвера специфического периферийного железа на компьютерах. Куча фирм разрабатывает подобные драйвера и прилагает к ним порой обширное описание ими же придуманных методов функций.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

от чего защищаемся?

 

От раскрытия математических алгоритмов обработки сигналов.

 

Если вы передаете в каком-то виде библиотеку, то ничего не мешает получателю использовать ее в целях клонирования не разбираясь в ее внутренностях вообще.

 

Ему для того и передается, чтобы использовал библиотеку при создании своей продукции, не разбираясь в ее внутренностях вообще.

 

Создать что-то свое так же не проблема - достаточно скопировать ту часть схемотехники, которая завязана на библиотеку.

 

Почти все схемы им и так даются, там ничего секретного.

 

Ведь библиотека у заказчика есть, пусть и в скомпилированном, но тиражируемом виде.

 

Так ради бога, пусть тиражирует и побольше - от этого же только нам больше рояльти отчислений будет :)

 

Устройства достаточно специфические, не ширпотреб, не массовое производство (т.е. китайцы интереса вряд ли проявят :))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Allregia

Просто - отдайте исходники, убрав комментарии. Без них сами через 2 недели забудете в чем там было "ноу-хау". Любой в уме инженер посчитает ниже своего плинтуса разбирать чужой код, а быстрее сам все сделает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Allregia

Просто - отдайте исходники, убрав комментарии. Без них сами через 2 недели забудете в чем там было "ноу-хау".

 

80% того куска, который хочется "закрыть" - исходники сгенерированы автоматически Матлабом (Симулинком), так что комментарии там еще те....

 

Любой в уме инженер посчитает ниже своего плинтуса разбирать чужой код, а быстрее сам все сделает.

 

Конечно, если знать по каким формулам считать и с какими коэффициентами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разумеется дизассеблировать можно все, также как и фьюзы - тоже не панацея, их взлом тоже это только вопрос времени и денег.

Но в данном случае фирма-заказчик связана с нами долгосрочным договором, и расчитывает получать от нас IP не только на эту задачу но и на последующие (коих уже есть как минмум две, которые в процесе разработки). Идея сотрудничества такова - мы разрабатываем идеологи, алгоритмы, их имплементацию в демонстрационном приборе, а они делают конкретные устройства под конкретные задачи на основе нашей IP.

............

В любом случае, эти вопросы не технические, и их решает "Биг Босс"Ю а он уверяю Вас, совсем не дурак, и не мальчик (ему за 55, за плечами PhD не первый десяток лет в этой области (он кроме того что босс, еще и главный идеолог и разработчик алгоритмов, сам с Маткадом сидит). А я лично тоже против передачи кому-то lib/obj и т.п.

Честно говоря, складывается ощущение что проблема надуманная.

1.Хотите защитить ноу-хау- патентуйте.

2.Хотите передать только то что записано в договоре- передайте ноухау в либах. Все равно код передавать придется, хоть на носителе (на криптованном магнитном диске или в виде криптованной чипины или на бумаге эльфийскими рунами - непринципиально).

3. Боитесь что от заказчика уйдет в неизвестном направлении и там будет разломано- так это пусть заказчик боится, вы-то уже ему продали, причем как я понимаю не только право владения но и право использования в новых разработках.

 

Вам больше думать не о чем, как решать решаемые только с некоторой долей вероятности задачи? :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Честно говоря, складывается ощущение что проблема надуманная.

 

Мне тоже так кажется, но я задал вопрос по просьбе БигБосса :)

Он сам физик, в программировании разбирается слабо (хотя в матлабе творит чудеса).

 

1.Хотите защитить ноу-хау- патентуйте.

 

Запатентовано, и не одно.

 

2.Хотите передать только то что записано в договоре- передайте ноухау в либах. Все равно код передавать придется, хоть на носителе (на криптованном магнитном диске или в виде криптованной чипины или на бумаге эльфийскими рунами - непринципиально).

3. Боитесь что от заказчика уйдет в неизвестном направлении и там будет разломано- так это пусть заказчик боится, вы-то уже ему продали, причем как я понимаю не только право владения но и право использования в новых разработках.

 

Нет конечно, никто ему право владения не продавал. Право использования в разработках - да, но с отчислением процентов от каждого проданного экземпляра.

Собственно, и называть его "заказчиком" не совсем правильно - он не заказчик а скорее клиент. Он не заказывал ни этой, ни других наших разработок - они сделаны по собственной инициативе, на базе собственных знаний и разработанных технологий в области медицины и физиологии, и предложены ему для освоения.

"Клиент" - на основе этих технологий разрабатывает их конкретные применения.

 

P.S. В общем, уже давно стало понятно что клиенту надо просто дать lib+h, а все последующие разговоры - просто перемалывание воздуха.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...