поиск по сайту
Cервер лицензирования на базе мобильного носителя лицензий

Сервер лицензирования на базе мобильного носителя лицензий

Чадов А.Ю., Угаров Д.В. ОКБ САПР

Введение

Продажа лицензии на ПО является на данный момент одним из основных способов продажи программных продуктов. Так как рынок ПО просто огромен (333 миллиарда долларов в 2016 году [1]), то вопрос лицензирования программных продуктов достаточно актуален.

Задача лицензирования продукта разбивается на две важных подзадачи:

  1. разработка схемы лицензирования продукта
  2. разработка механизма распространения лицензий.

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

         Наиболее распространёнными механизмами передачи лицензий в настоящее время являются:

  1. Передача покупателю не привязанного к рабочей станции ключа лицензирования (набора символов, который активирует ПО). Ключ может быть указан в коробке с ПО (на отдельном вкладыше или на самом диске). Это одноэтапный процесс, после получения ключа пользователь сразу может активировать ПО.
  2. Формирование привязанного к рабочей станции ключа лицензирования. В данном случае ключ — это тоже набор символов для активации ПО, но теперь в нём указан идентификатор рабочей станции. Отличием от предыдущего способа распространения является многоэтапность процесса: необходимо считать данные с рабочей станции, передать их продавцу и затем передать готовый код обратно покупателю. Этот процесс может быть реализован, к примеру, при помощи центрального сервера лицензирования, или путём общения по почте/телефону между сотрудниками фирмы-покупателя и фирмы-продавца.
  3. Передача USB-ключа (такого как HASP) — устройства на котором хранится информация, проверяемая при старте ПО, или некие данные, необходимые для работы программы, или, в некоторых случаях, часть кода программы. Обычно передаётся заказчику от продавца вместе с дистрибутивом. Ключ должен быть постоянно подключен к рабочей станции, чтобы ПО работало. Соответственно, для каждой копии ПО нужно отдельное устройство.

У всех этих способов есть свои недостатки. Слабая защищённость, сложность и длительность процесса, наложение дополнительных условий (к примеру, наличие интернета у конечного пользователя) и необходимость поддержки сервера в случае передачи лицензий через центральный сервер лицензирования, увеличение цены продукта в случае использования аппаратных ключей (к примеру, цены на Guardant ~1к-4,5к рублей[2], и на эту сумму повысится стоимость одной копии продукта).

Мобильный носитель лицензий

В статье [3] был описан новый способ распространения лицензий, позволяющий избежать указанных недостатков. Решение получило название мобильный носитель лицензий (МНЛ). Лицензии создаются пользователем самостоятельно, при помощи USB устройства, которое, будучи подключённым к рабочей станции, по запросу пользователя само может сформировать код активации лицензии.  В устройстве есть процессор, что позволяет ограничивать доступ пользователя к данным, необходимым для формирования лицензии. Так же, наличие процессора позволяет устройству проконтролировать, что пользователь сможет при помощи МНЛ создать лицензии в количестве не большем, чем разрешил продавец. В одно устройство можно занести данные для генерации лицензий на различные продукты, и указать число лицензий, которое оно сможет сгенерировать для каждого из них. Таким образом, при продаже программных комплексов достаточно передать дистрибутивы и одно устройство, в котором будет указано число лицензий, которое оно может создать для каждого из продуктов.

Но и это решение обладает некими недостатками в плане удобства:

  1. Необходимость физического доступа того, кто создаёт лицензии при помощи МНЛ к каждому АРМ
  2. Ему требуется носить устройство с собой
  3. USB-порты могут быть опечатанными
  4. Процедуру создания лицензии нельзя автоматизировать, однотипные действия отнимают много времени.

Локальный сервер лицензирования

Указанные недостатки становятся критичными для информационных систем, содержащих хотя бы 100 АРМ. Чтобы нивелировать эти недостатки, предлагается разработать ПАК, включающий:сервер, содержащий ОС с специализированным ПО, и МНЛ (рис. 1).

 

Рис. 1. Архитектура решения

ПО на сервере может работать в двух режимах:

  1. Самостоятельно обращаться к указанным пользователем рабочим станциям, собирать с них данные для генерации файла лицензии, передавать их в устройство и отправлять файлы лицензии на рабочие стации в определённую папку.
  2. Лицензируемое ПО обращается к локальному серверу и запрашивает лицензию.

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

Физический компьютер должен обладать рядом свойств:

  1. Невысокая стоимость (комплекс не требует больших вычислительных мощностей, поэтому нецелесообразно тратить большую сумму на высокопроизводительную аппаратную часть)
  2. Защищенность (чтобы не понизить общий уровень защищённости системы, в которую будет встроен сервер лицензирования и избежать дополнительных затрат на защиту сервера)
  3. Малое потребление энергии (мощность ИБП в серверной не бесконечна, поэтому предпочтительней выбрать вариант не оказывающий значительной нагрузки на уже существующую систему)
  4. Долговечность (по возможности стоит избегать использования движущихся деталей в устройстве, что положительно сказывается на сроке службы изделия)

Исходя из этих требований, предлагается использовать в качестве аппаратной базы сервера микрокомпьютеры МК [4, 5, 6, 7, 8, 9, 10, 11].

Отзыв лицензий

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

Как уже упоминалось, сервер может быть в двух вариантах: на ВМ или на микрокомпьютере. В случае ВМ покупатель может решить данный вопрос самостоятельно. Это может быть как резервирование ВМ, так и специальный функционал системы виртуализации (например, в случае VMware vSphere функция кластера High Availability). Таким образом, в случае сбоя сервера восстановить работоспособность комплекса не составит труда. В случае работы с микрокомпьютером для резервирования достаточно приобрести дополнительный МК.

Вторая сущность, которую необходимо продублировать – МНЛ. Нельзя просто так дать пользователю резервную копию устройства, которое может генерировать лицензии: необходимо защитить продавца от неправомерного использования покупателем резервных устройств для удвоения доступных лицензий. Для этого предлагается использовать 3 типа устройств: одно выписывающее, одно дублирующее и набор пустых. Выписывающее и дублирующее устройства работают только в паре на одном сервере. Выписывающее устройство генерирует лицензию только с разрешения дублирующего. Число лицензий уменьшается на обоих устройствах. В случае, если одно устройство выходит из строя, при помощи оставшегося в рабочем состоянии и пустого устройства создаётся замена сломанному. Если у пользователя окажется 2 пустых устройства (а минимум два ему необходимы т.к. выписывающее и дублирующее работают одновременно, соответственно и ресурс у них исчерпывается идентично), то он сможет сделать второй комплект. Чтобы избежать этого предлагается устанавливать на пустые устройства пин-коды, которые будут предоставляться пользователю по факту обращения (при этом пользователь обязан будет вернуть вышедшее из строя). Таким образом, покупатель не сможет использовать одно из дублирующих устройств отдельно и не сможет создать две рабочих пары.

Выводы

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

Список литературы  

  1. Gartner: в 2017 году мировой рынок ИТ вырастет до 3,5 трлн долл. [Электронный ресурс] http://www.computerworld.ru/news/Gartner-v-2017-godu-mirovoy-rynok-IT-vyrastet-do-35-trln-doll (дата обращения: 15.04.2017)
  2. Цены и заказ. [Электронный ресурс] URL: http://www.guardant.ru/purchase/store/ (дата обращения: 17.04.17)
  3. Чадов А. Ю. Новый защищенный способ распространения лицензий на ПО (Вопросы защиты информации: Научно-практический журнал/ФГУП «ВИМИ», 2016г., Вып.2, №113, с. 74-74.)
  4. Конявский В. А. Компьютер с «вирусным иммунитетом» // Информационные ресурсы России. 2015. № 6. С. 31–34.
  5. Компьютер типа «тонкий клиент» с аппаратной защитой данных: Патент на полезную модель № 118773. 27.07.12. Бюл. № 21.
  6. Компьютер с аппаратной защитой данных от несанкционированного изменения: Патент на полезную модель № 137626. 20.02.2014. Бюл. № 5.
  7. Мобильный компьютер с аппаратной защитой доверенной операционной системы: Патент на полезную модель № 138562. 20.03.2014. Бюл. № 8.
  8. Мобильный компьютер с аппаратной защитой доверенной операционной системы от несанкционированных изменений: Патент на полезную модель № 139532. 20.04.2014. Бюл. № 11.
  9. Мобильный компьютер с аппаратной защитой доверенной операционной системы: Патент на полезную модель № 147527. 10.11.2014. Бюл. № 31.
  10. Мобильный компьютер с аппаратной защитой доверенной операционной системы от несанкционированных изменений: Патент на полезную модель № 151264. 27.03.2015. Бюл. № 9.
  11. Рабочая станция с аппаратной защитой данных для компьютерных сетей с клиент-серверной или терминальной архитектурой: Патент на полезную модель № 153044. 27.06.2015. Бюл. № 18.