Разработка системы лицензирования и защиты

Для SCADA КРУГ-2000 я разрабатывал подсистему защиты и контроля параметров лицензирования.

SCADA КРУГ-2000 продаётся по сложному прайсу, в котором за разную информационную мощность системы надо заплатить разные суммы денег. Плюс ещё есть функциональные ограничения.

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

В итоге я разработал подсистему защиты и контроля параметров лицензирования SCADA КРУГ-2000.

Начал с проектирования - было разработано очень сложное ТЗ и не одно.

Затем разобрался с API аппаратного ключа Sentinel SuperPro. Эти ключи уже использовались в SCADA КРУГ-2000, но их функционал использовался на 1%. По итогам разработки функционал был использован полностью, что существенно повысило защищённость решения.

Далее была проблема с объёмом памяти ключа. Он был не большим и все необходимые значения параметров туда поместить было нельзя. В итоге решил этот вопрос помещением в ключ не значения, а кода значения параметра. Плюс запись вёл не по байтам, а по битам.

Потом надо было разработать программу для программирования ключей. Убогой родной программой воспользоваться не получилось по причине кодирования параметров лицензирования.

В конце был процесс внедрения подсистемы защиты в модули ПО (их много, больше 10). Для упрощения процесса были разработаны соответствующие библиотеки и инструкции.

Затем была долгая, но успешная борьба с багами и развитие проекта.

В итоге подсистема зашиты устойчиво работает больше 10 лет и практически не изменяется. Сейчас её используют и другие программные продукты фирмы.

Написана на Visual C++.

 

0
Loading Disqus Comments ...

No Trackbacks.

Loading Facebook Comments ...