Эволюция ключа — Системные Технологии

Эволюция ключа

Источник: spbIT.ru
При выборе узкоспециализированного программного обеспечения решающее значение для клиента имеют его функционал и надежность. А вот вопрос, каким образом разработчик защищает свои программы от несанкционированного использования, пользователя интересует в последнюю очередь. Зато ИТ-директор эту тему игнорировать не может, поскольку иногда схемы корпоративного лицензирования накладывают серьезные ограничения на работу ПО, вплоть до невозможности его использования. Основатель и генеральный директор компании «Системные технологии» Сергей Максименко рассказал о том, как разработчик комплекса программ для автоматизации дистрибуции «Мобильная торговля» ищет баланс между удобством для клиента и надежной защитой.
 
 - Как эволюционировала схема лицензирования продуктов вашей компании?

- За десять лет развития своих программных продуктов мы трижды меняли схему лицензирования. Система, к которой компания пришла сейчас, кажется нам идеальной. Схемы, которые используют другие вендоры, нас не устраивали по разным причинам. Например, ввод регистрационного ключа при первом запуске программы чреват появлением кейгенов. Наши продукты выложены на сайте, их можно скачать, внедрить и бесплатно использовать в течение триального периода. Как только в Интернете появятся ключи, у потенциальных клиентов может возникнуть соблазн не оплачивать это ПО вовсе. Вариант лицензирования на компанию мы тоже не рассматривали: наша прибыль зависит от числа автоматизированных сотрудников. Клиенты часто расширяют бизнес и докупают лицензии, обеспечивая нам стабильный доход.

Мобильная часть нашего программного обеспечения устанавливается на КПК агентов, офисная – на компьютер их руководителя. Информация, которую сотрудники собирают «в полях», в режиме онлайн попадает в базу данных клиентов. Офисное ПО локальным компаниям мы поставляем бесплатно, сетевым – за плату, иногда достаточно высокую. Поэтому существует отдельная защита для офисных и мобильных модулей программ.
В те времена, когда дискета была основным носителем информации, мы лицензировали офисные программы с помощью аппаратных средств. Это очень нравилось программистам: специалист средней руки может написать защиту за пару рабочих дней.
Однако удобство для разработчиков оборачивалось проблемами для пользователей.

- С чем они были связаны?

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

Естественно, проблемы возникали не у всех и не каждый день. Но когда клиентов стало больше, «мышиная возня» с аппаратными ключами начала действовать всем на нервы. И в 2006-м мы с гордостью объявили о выходе новой защиты.

- На чем была основана новая защита?

- При установке офисное ПО привязывалось к уникальным физическим характеристикам оборудования. В мире не существует двух абсолютно одинаковых винчестеров или микросхем памяти, поэтому при копировании на другой компьютер или сервер программа не работала. При этом была предусмотрена возможность апгрейда или замены комплектующих: при изменении отдельных характеристик ПО сохраняло работоспособность. Автоматическая система позволяла лицензировать продукт через Интернет – 24 часа в сутки, 7 дней в неделю. Клиентов эта защита вполне устраивала, трудностей с ней практически не было. Иногда, очень редко, возникали неудобства при замене оборудования и работе на виртуальных машинах. Крупных сетевых компаний мало, поэтому эти вопросы быстро решались в индивидуальном порядке. Зато для нас поддержка системы лицензирования была отдельной, достаточно трудозатратной задачей. Однажды в рамках эксперимента мы на время отключили защиту в новой версии комплекса «ST-Мобильная Торговля. Чикаго». И больше не включали: выяснилось, что она нам, в принципе, не нужна. На крупных проектах поставщик очень плотно взаимодействует с заказчиком. Если возникнет необходимость, мы сможем выяснить, сколько копий программ использует организация. Мобильную часть нашего ПО мы с самого начала защищали с помощью привязки к ID устройства. Клиент подключал КПК или коммуникатор к компьютеру, получал идентификатор и «закреплял» за ним определенную лицензию. Быстро, просто, удобно – казалось нам тогда. Но когда количество внедрений увеличилось на порядок, стали возникать проблемы.

- Какие на этот раз?

- Во-первых, это некорректный ID. Идентификационный номер некоторых устройств не определялся вовсе. Иногда он был слишком коротким. Иногда одинаковым для партии КПК. Причины могли крыться либо в самом железе, либо в его прошивке. Это происходило нечасто, но один случай в три месяца мог сильно испортить кровь всем участникам внедрения. Чтобы преодолеть узкие места, приходилось адаптировать программу под конкретные устройства. Клиент пересылал нам «строптивый» аппарат, мы тестировали его, искали ошибку и выпускали для него специальную версию. Отсрочка запуска системы, время наших разработчиков, упущенная выгода клиента и нервы, нервы, нервы.

Во-вторых, ручная «отвязка»: если мобильный аппарат вышел из строя (потерялся), лицензию нужно реактивировать – перенести на другой. Когда база данных ведется корректно, это делается вручную минут за 15. Но некоторые клиенты не фиксируют соответствие между ID устройства и номером лицензии. Их сотрудникам приходилось шерстить всю базу в поисках нужного аппарата. И в третьих, это ограничение числа активаций. Мы ограничили число реактиваций: когда они заканчивались, клиенту нужно было обращаться к нам, чтобы получить возможность «перепривязать» лицензию еще раз.
В последний год увеличилось число трудностей с определением ID. Раньше на рынке было одновременно не больше 20 актуальных устройств на Windows Mobile, которые мы успевали тестировать. Сейчас запасы устройств на WM стремительно тают. Клиенты вынуждены покупать разномастные, иногда «серые» аппараты. Предсказать, как они будут взаимодействовать с нашим ПО, могут только экстрасенсы.

Мы вот-вот выпустим мультиплатформенную версию программы, и список рекомендованного оборудования пополнят не только коммуникаторы на Android, но и планшеты, нетбуки, ноутбуки. Унифицировать определение ID всего этого «зоопарка» – та еще задачка. Ну и еще: среди наших заказчиков появились крупные и очень крупные компании. Число автоматизированных сотрудников на проекте может превышать две с половиной тысячи. Значит, кто-то должен «привязать» лицензии к 2,5 тыс. коммуникаторов, а затем поддерживать актуальность базы данных устройств. Мы подумали, что это уже слишком, и засадили программистов за работу.

- И теперь вышла новая версия?

- Да. Сейчас мы высылаем клиенту один-единственный ключ, в который «зашита» информация о числе автоматизированных сотрудников. Если компания докупает лицензию – мы ставим «+ 1» у себя в консоли лицензирования, а клиент нажимает «обновить» в офисной части своей программы. Все. При замене аппарата необходимо потратить время только на установку программы на новое устройство. А затем нажать «обновить» и продолжить работу уже с новым набором оборудования. Такой механизм даёт ещё целый ряд дополнительных удобств и упрощений, которые не опишешь в короткой статье, но которые со временем станут очевидны нашим пользователям. Первыми новую систему лицензирования начали использовать крупные компании – «Крафт Фудс Рус», «Дирол Кедберри», «Русский Алкоголь». С июля мы переводим на нее всех остальных клиентов. Сейчас эта система кажется нам идеальной. Ну, почти идеальной.


Логин:
Пароль:
Забыли пароль?