Sentinel UltraPro: новое поколение знакомых ключей

Мы продолжаем серию статей о защите программного обеспечения с помощью аппаратных ключей. Раньше уже были разобраны:

новая версия ключей компании Aladdin Software Security R.D.;

технологии программно-аппаратной защиты ПО от отечественной компании-разработчика Актив;

основные технологии компаний Aladdin и Rainbow Technologies.

На этот раз мы рассмотрим новую версию аппаратных ключей компании Rainbow Technologies, Sentinel UltraPro. Напомню, что по данным на 2003 год уже было продано более 35 млн. ключей компании Rainbow. Согласно данным IDC, на долю ключей Sentinel приходится 42% мирового рынка.



Ключ Sentinel UltraPro

О новой версии ключей нам согласился рассказать Евгений Гончаров, технический специалист Rainbow Technologies.


Алексей Доля: Опишите, пожалуйста, чем Sentinel UltraPro отличается от электронных ключей Sentinel SuperPro?

Евгений Гончаров: В прошлом году, как известно, закончилось слияние компании Rainbow Technologies и SafeNet Inc. В результате (и мы уже писали об этом), был создан департамент Sentinel, который унаследовал и развивает эту технологию. Линейка электронных перепрограммируемых ключей Sentinel UltraPro, выпущенная в середине сентября 2004 г., является развитием семейства SuperPro, хорошо зарекомендовавших себя и среди российских разработчиков программного обеспечения. В новом поколении аппаратных средств защиты ПО от пиратского копирования реализованы самые передовые технологии, благодаря которым ключи UltraPro отвечают растущим требованиям к уровню защиты программного обеспечения и сокращению времени на её внедрение.



Форм-фактор - USB- и параллельный порты

Так сокращение времени реализации защиты стало возможным за счёт внедрённого Business Layer API (TM), предоставляющего разработчику шаблоны популярных моделей лицензирования (например, демо-версии). Упрощение и уменьшение количества необходимых шагов программирования позволяет сократить время выхода программного продукта на рынок. Аналога Business Layer API на сегодняшний день нет.
Высокий уровень защиты программных продуктов обеспечивается не только алгоритмом кодирования данных AES (одним из наиболее развитых и признанных в индустрии), но и возможностью предотвращения подмены драйвера и способностью противостоять утилитам отладки. Возможность создавать большие таблицы запросов предотвращает атаки типа "record-playback".
Утилита Key Manager обеспечивает разработчикам возможность программирования до 15 ключей одновременно, и предоставляет возможность изменения модели лицензирования в процессе создания ПО. Более того, компания-поставщик ПО может доверить выпуск и обновление ключей своим дистрибьюторам или посредникам, контролируя каждый проданный ключ. Key Manager предоставляет возможности для планирования будущих расширений функциональных возможностей, включая отслеживание лицензий, управление обновлениями и выписку счетов.



Окно утилиты Key Manager. Здесь программируются дистрибьюторские и пользовательские ключи и генерируются лицензии

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


Алексей Доля: В чем различие Sentinel UltraPro и Sentinel UltraPro XM? Есть ли еще какие-нибудь модели ключей Sentinel UltraPro?

Евгений Гончаров: Позвольте обозначить эти различия в рассказе о модельном ряде Sentinel Ultra Pro. Линейка UltraPro включает:

UltraPro - младшая модель с объёмом памяти 128 байт, обеспечивает защиту локальных приложений.

UltraPro XM - содержит 496 байт памяти, обеспечивает защиту локальных приложений и возможность предотвратить атаки типа "brute force" методом ограничения количества попыток неудачного ввода паролей доступа. Позволяет защитить до 29 приложений (при использовании Full License).

UltraProNet и UltraProNet XM предназначены для защиты сетевых приложений, имеют web-ориентированную сервисную программу для контроля и управления лицензиями.

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

Локальные ключи отличаются от сетевых количеством поддерживаемых одновременных сессий. В локальных оно установлено равным единице. В моделях, обеспечивающих защиту сетевых приложений - может быть 5, 10, 25, 50 и без ограничений. Все модели UltraPro имеют кросс-платформенную поддержку (Windows, Mac, Linux), новый ещё более удобный комплект разработчика, облегчающий процесс встраивания защиты в программное обеспечение, службы мониторинга и программирования нескольких ключей одновременно. На сегодняшний день ключи UltraPro выпускаются для USB- и параллельного портов.


Алексей Доля: Расскажите, пожалуйста, о моделях лицензирования, предлагаемых технологий Sentinel UltraPro.

Евгений Гончаров: Электронные ключи UltraPro позволяют разработчикам использовать широкий спектр моделей лицензирования. Наиболее распространенные среди них:

Модели лицензирования
 Тип лицензии Область применения
 Демо-версия  Предоставляет клиенту возможность попробовать программу перед тем, как её купить (Try-Before-Buy)
 Аренда Аренда или лизинг Вашего ПО, основанные на количестве запусков программы
 Подписка Повременные аренда или лизинг Вашего ПО (с возможностью собирать статистику использования ПО, вплоть до количества обращений к определенным функциям)
 Ограничение функциональных возможностей Лицензирование отдельных модулей или компонентов ПО
 По количеству пользователей Ограничение количества одновременно используемых лицензий

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


Алексей Доля: Эти модели реализованы на уровне ключа или программного обеспечения, которое к нему прилагается?

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


Алексей Доля: В вашем пресс-релизе говорится, что технологию Sentinel UltraPro можно быстро и легко внедрять благодаря Business Layer API. Как это реализовано? Расскажите, пожалуйста, подробнее о Business Layer API.

Евгений Гончаров: Сокращение времени внедрения Sentinel UltraPro достигнуто за счёт сведения построения защиты к следующей схеме:

1. Изучение API-функций UltraPro
2. Построение схемы защиты на основе изученных функций
3. Внедрение вызовов функций в исходный код
4. Компиляция проекта
5. Проверка функционирования

Как правило, реализация данной схемы занимает несколько часов. А с использованием Business Layer API разработчик затрачивает время лишь на выбор подходящей модели лицензирования и установку необходимых параметров. Эти операции занимают не более 10 минут.


Заставка Sentinel UltraPro Toolkit

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

Выбор механизма лицензирования и размещение в памяти ключа (при минимальном вмешательстве разработчика);

Размещение сгенерированного кода обращений к UltraPro в исходном коде в соответствии с рекомендациями;

Компиляция ПО.

В результате использования Business Layer API время программирования сокращается на 60%, по сравнению с альтернативными методами. Хочу ещё раз подчеркнуть, что Business Layer API, реализованный в UltraPro, на сегодняшний день не имеет аналогов.


Алексей Доля: Можно ли как-то управлять внедрением?

Евгений Гончаров: Разработчики UltraPro сделали этап внедрения максимально гибким. При использовании API-вызовов разработчику ПО даются только рекомендации по внедрению. В случае использования технологии Business Layer API гибкость ограничивается настройкой выбранной модели лицензирования, о которых мы говорили с вами ранее.



Закладка "Quick Shell". Построение автоматической защиты для исполняемых файлов


Алексей Доля: Как с технической точки зрения реализован Business Layer API?

Евгений Гончаров: Business Layer API представляет собой набор функций для обращения к структурам данных ключа (в терминах Sentinel - Short License и Full License). В состав Full License входят дескрипторы алгоритмов, пароли активации, ограничение количества пользователей, счетчик количества запусков приложения, дата истечения срока действия и счетчик попыток взлома.



Закладка "Protection Manager" позволяет настроить тип используемой защиты


Алексей Доля: Не считаете ли вы, что готовые модели лицензирования снижают стойкость защиты, так как появится большое количество приложений с полностью однотипной системой защиты?

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



Рабочий момент построения защиты. Представление распределения элементов ключа для модели "MyApp"


Алексей Доля: Насколько эффективно технология Sentinel UltraPro поддерживает сеть?

Евгений Гончаров: Максимально эффективно. Поддержка сетевых протоколов (TCP, IPX, NETBEUI, SAP) реализована и в предыдущем поколении аппаратных электронных ключей Sentinel - SuperPro. Небольшие изменения коснулись только утилиты контроля лицензий - теперь это WEB-приложение.


Алексей Доля: Остается ли у разработчика возможность проектировать защиту самостоятельно, не прибегая к уже реализованным моделям лицензирования?

Евгений Гончаров: Безусловно, у разработчика остаётся возможность самостоятельно проектировать защиту.



Закладка "Add Element". Здесь можно выбрать элемент защиты и настроить его параметры


Алексей Доля: Каковы системные и аппаратные требования ключа Sentinel UltraPro? Реализована ли поддержка платформ Unix и Macintosh?

Евгений Гончаров: Отвечаю по порядку...
Минимальные системные требования пакета утилит Sentinel UltraPro таковы:

Pentium-II 450MHz
Графический режим 1024x768
70MB свободного пространства на диске
CD-ROM Drive
128MB RAM (рекомендуется 256MB)
Windows 2000(SP4)/XP/Server 2003
Java 2 Runtime Environment версии 1.4+
Web Browser
Программа просмотра PDF файлов

Аппаратные требования - наличие свободного USB- или LPT-порта, в зависимости от используемой модели Sentinel UltraPro.

Все модели электронных ключей поддерживают платформы Windows, Linux и Macintosh:

LINUX
RedHat 9.0, Fedora Core 2 (Static & Shared Object)
RedHat Enterprise WS 3.0 (Static & Shared Object)
Windows 9x (client only)/NT/2000/XP
Macintosh OS X (Server & Desktop) 10.2.x

Также ведутся работы по созданию Linux драйверов для других дистрибутивов.


Алексей Доля: Какую поддержку вы оказываете пользователям Sentinel UltraPro?

Евгений Гончаров: Техническая поддержка клиентов по аппаратным ключам Sentinel включает:

Бесплатное обучение работы с программным обеспечением для ключа;

Бесплатные телефонные консультации по возникающим вопросам, включая разработку ПО при использовании ключа;

Рекомендации при переходе со старой версии ПО на более новую, а также при использовании разработчиком новой модели аппаратного ключа Sentinel;

Консультации по построению концепции защиты;

Выезд специалиста к заказчику в экстренных случаях;

Информирование пользователей обо всех изменениях и новинках, связанных с развитием технологии Sentinel;

Возможность создания библиотек для языков программирования, не вошедших в стандартную поставку (под заказ). Сейчас в поставке представлены Microsoft Basic, C++, .NET; Borland Studio, Kylix; GCC; Java JDK.

Гарантийный срок на ключи - 2 года.


Алексей Доля: Сколько стоит ключ Sentinel UltraPro и где его можно купить?

Евгений Гончаров: Электронный ключ Sentinel UltraPro - самая младшая модель - стоит $25. Купить электронные ключи UltraPro, а также получить профессиональную консультацию по выбору оптимальной модели, можно в офисе нашей компании.


Алексей Доля: Хотите сказать что-нибудь нашим читателям напоследок?

Евгений Гончаров: Познакомиться с UltraPro, получить ответы на интересующие вопросы о ключах (в том числе на те, которые здесь не были затронуты) и заказать SDK для тестирования ключей всегда можно в нашем офисе, обратившись по тел., E-mail или заполнив соответствующую форму на www.rainbow.msk.ru. Всех наших заказчиков и читателей издания от души поздравляем с праздниками!


Алексей Доля: Как продвигается локализация комплекта разработчика UltraPro на русский язык? Нельзя ли конкретнее, что именно в комплекте разработчика локализуется?

Евгений Гончаров: На данный момент переведено "Руководство разработчика UltraPro". Ведутся работы по локализации ПО. В скором времени мы предоставим разработчикам полный комплект утилит UltraPro с поддержкой русского языка.


Алексей Доля: Спасибо, что ответили на все наши вопросы. Удачи вам лично и вашей компании!