Arsis

Разработка программного обеспечения

Разработка системы лицензирования продуктов 3M Medica GmbH

Система Licensing – единая система XML-лицензирования программного обеспечения, предназначенная для организации единой централизованной инфраструктуры лицензирования ПО заказчика.

Система состоит из следующих компонентов: центральный сервер с кросс сетевым интерфейсом, для генерации лицензий. Клиентские модули для различных платформ (Java , Windows), для встраивания в ПО заказчика.

Данная система применяется для централизованного лицензирования программных продуктов фирмы 3M Medica.

При разработке данной системы особое внимание было уделено следующим аспектам:

  1. Простота и универсальность хранения лицензионной информации. Как наиболее оптимальное решение, заказчику было предложено использование XML формата, поскольку он обеспечивает хорошее структурированное хранение лицензионной информации, имеет дружественное представление, хорошо подвергается анализу и разбору.
  2. Криптографическая стойкость информации, а также криптографическая защита интерфейсов модулей, встраиваемых в клиентские приложения. Для простоты и достаточной надёжности заказчику была предложена классическая система шифрования с открытым ключом длиной 1024 бит. И, поскольку генератором лицензий является централизованный сервер с ограниченным доступом, находящийся в компании, криптографическим материалом для закрытого ключа, является уникальный сертификат. Для защиты обмена данными в клиентских модулях, весь обмен данными происходит в зашифрованном виде, со случайно генерируемыми ключами, кроме того, все клиентские модули проходят обработку для предотвращения декомпиляции. Таким образом, криптографическая инфраструктура системы оказалась простой, и в тоже время достаточно надёжной.

Поскольку одним из условий заказчика было: функционирование централизованного сервера под управлением ОС Windows , начальная версия была реализована с применением технологии DCOM . Однако, при эксплуатации системы, учитывая особенности инфраструктуры сети компании, для максимальной оптимизации скорости генерации лицензий, заказчику было предложено реализовать сервер как сетевой . NET сервис, работающий по протоколу TCP . Данное решение позволило максимально увеличить пропускную способность сервера и полностью устранить вероятные отказы. А также позволило более гибко обеспечивать его настройку и мониторинг состояния.

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

Используемые технологии: COM, DCOM, .NET Framework, JSDK1.4.