Аппаратные ключи - на страже программ

Если вы хотите быстро и надежно защитить свое программное обеспечение от нелегального использования, почему бы не воспользоваться аппаратными ключами? Целый ряд компаний предлагают сегодня на рынке свои ключи и методики защиты ПО. Многие пользователи считают, что софтверные пираты способны сломать любой продукт. Однако тот, кто хоть раз садился за отладчик или спокойно (работу с отладчиком уж никогда спокойной не назовешь) просматривал листинг дизассемблера, хорошо понимает, насколько аппаратный ключ может осложнить труд взломщика. Конечно, данная технология не претендует на "панацею от всех бед", но быстро создать экономически выгодную и эффективную защиту она способна вполне. В данной статье мы хотим представить вам два интервью с представителями компаний, являющимися лидерами на рынке аппаратных ключей для защиты ПО. Речь идет о технологии HASP от компании Aladdin и о технологии Sentinel от компании Rainbow. Мы также очень благодарны компаниям, что для диалога с нами они пригласили не только российских технических специалистов, но и сотрудников головных офисов.

Технология HASP от компании Aladdin


О ключах HASP нам согласились рассказать Ави Барир (Avi Barir), вице-президент по продажам программного обеспечения компании Aladdin Knowledge Systems, и Александр Гурин, менеджер отдела технологий компании Aladdin Software Security R.D. (эксклюзивного дистрибьютора компании Aladdin Knowledge Systems в России и СНГ).


Алексей Доля: Вы не могли бы вкратце рассказать о компании Aladdin Knowledge Systems?

Ави Барир: Aladdin Knowledge Systems Ltd. Была основана в 1985 году в Израиле. Ее первым продуктом стал HASP. Акции компании с 1993 года доступны в NASDAQ (National Association of Securities Dealers Automated Quotation - американская фондовая биржа, специализирующаяся на акциях высокотехнологичных компаний, одна из трех основных фондовых бирж Америки наряду с NYSE и AMEX). За последние 6 лет компания Aladdin расширила свою линейку продуктов, добавив 3 новых: Privilege, eSafe и eToken. HASP и Privilege предназначены для рынка поставщиков программного обеспечения и вместе образуют направление коммерческого программного обеспечения. Эти продукты являются частью Software Commerce Business Unit of Aladdin. eSafe и eToken адресованы рынку корпоративной безопасности и являются двумя отдельными направлениями.
Продажи продукции компании Aladdin достигли 50 млн. долларов США в 2002 году. Мы продаем свою продукцию, более чем в 100 странах, имеем 11 офисов и 50 дистрибьюторов по всему миру. За время своего существования Aladdin приобрела 8 других компаний в Израиле, Германии, Франции, Японии и США. Эти компании влились в существующую организацию.


Ави Барир, вице-президент по продажам программного обеспечения компании Aladdin Knowledge Systems


Алексей Доля: Почему ваша компания так называется?

Ави Барир: Имя компании взято из арабской сказки "Тысяча и одна ночь", а именно той ее части, которая посвящена герою Аладдину и его магической лампе. Это довольно известная история. Помимо своей славы, сказка имеет скрытый подтекст. Мы верим, что наши продукты, как и сказочный герой, способны удовлетворить самые разные желания пользователей (по аналогии с тремя желаниями, которые исполнял джин из лампы).


Алексей Доля: Вы не могли рассказать немного о HASP? Вообще, что это такое?

Ави Барир: HASP расшифровывается как Hardware Against Software Piracy (дословно - аппаратное обеспечение против пиратства в области программного обеспечения). Основой является аппаратный ключ, подключаемый к параллельному или USB порту и защищающий от нелегального использования программного обеспечения (нелегального копирования или использования интеллектуальной собственности, "зашитой" в ПО).


Алексей Доля: HASP это ваша эксклюзивная технология или кто-то еще ею тоже владеет?

Ави Барир: Первое поколение HASP было разработано в 1985 году. Это была оригинальная идея компании Aladdin. Насколько нам известно, еще одна или две компании реализовали эту же концепцию в те же годы.


Алексей Доля: Вы не могли бы концептуально рассказать, как HASP работает?

Ави Барир: В то время как защищенное приложение исполняется, специальный механизм проверяет наличие HASP-ключа. Если ключ найден, то приложение запускается и нормально работает. Если нет, то приложение либо не будет работать вообще, либо часть его возможностей станет недоступной. Все зависит от того, как защита будет реализована разработчиком или поставщиком ПО.
Сердцем системы HASP является шифрующий алгоритм, который реализован в самом ключе HASP. Во время работы приложение передает зашифрованные данные в ключ. В ключе же находится специальный чип, который и выполняет операцию расшифрования данных. После того как криптографический алгоритм из чипа отработает, данные возвращаются приложению (в открытом виде). Так что если HASP-ключ подсоединен, приложение получит расшифрованные данные и как-то ими воспользуется. Если ключа нет, то данные останутся в закрытом виде и именно так и будут использованы приложением. Результат такого использования окажется некорректным.
Программное обеспечение можно защитить с помощью ключа HASP двумя основными способами. Первый заключается в использовании автоматического инструмента, который называется Envelope (конверт). В этом случае файлы приложения оборачиваются в наш собственный код, выполняющий следующие операции: проверку наличия ключа HASP (для предотвращения нелегального использования ПО), контроль за выполнением лицензионной политики (которую определяет поставщик программы), шифрование файлов (чтобы усложнить дизассемблирование кода) и внедрение специального кода против отладчиков (это наша новая и во многом уникальная технология). Создание защиты приложения с помощью Envelope займет всего несколько секунд: вам понадобится щелкнуть всего на пару кнопок в нашей утилите. Важно, что для использования Envelope не требуется доступ к исходному коду приложения.


Вот как выглядит создание защиты с помощью HASP Envelope

Второй способ состоит в применении HASP API. Он позволяет создать свою защиту самостоятельно. HASP API довольны легки в использовании и освоении.
Чтобы обеспечить действительно надежную защиту приложений, мы рекомендуем применять оба вышеописанных способа одновременно. Хотя, конечно, никто не мешает использовать их раздельно.

Александр Гурин: Я хотел бы кое-что добавить по аппаратным составляющим ключей HASP. Основой данной технологии является заказная микросхема - ASIC (Application Specific Integrated Circuit), либо специализированный защищенный микроконтроллер, имеющие уникальные для каждого ключа алгоритмы работы. Оба типа чипов оснащены криптопроцессором. Он используется для кодирования и декодирования потоков данных, посылаемых защищенной программой ключу в процессе работы. Это позволяет "привязать" копию программы к конкретному ключу HASP, контролировать процесс распространения, ограничивать количество ее пользователей в сети.


HASP без одежды...

Алексей Доля: Вы не могли бы рассказать о HASP API подробнее? Насколько сложно их выучить и начать применять?

Александр Гурин: HASP API представляет собой набор из приблизительно 40 функций, позволяющих в полной мере использовать механизм защиты: кодировать, декодировать данные, осуществлять запись / чтение из памяти ключа, контролировать лицензии при работе в сети и т.д.
Насколько сложно их выучить? Любой программист, овладевший "искусством" вызова функций из внешних библиотек, способен с этим справиться.


Алексей Доля: Приведите, пожалуйста, пример типовых (наиболее часто используемых) HASP API функций?

Александр Гурин: Формат вызова, параметры, возвращаемые значения и т.п. подробно описаны в Руководстве разработчика, которое каждый желающий может получить на нашем сайте по ссылке: ftp://ftp.aladdin.ru/pub/HASP/Manual/HASPv11-WEB.zip


Александр Гурин, менеджер отдела технологий компании Aladdin Software Security R.D

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

Александр Гурин: Конечно. В любом случае (кроме работы под DOS), для работы ключа необходим драйвер. Драйвер служит связующим звеном между защищенным приложением и ключом.


Алексей Доля: Есть ли разница, где применять HASP API: под UNIX или Windows?

Александр Гурин: Сразу хотелось бы отметить, что из UNIX-подобных систем HASP работает только под Linux. Принципиальной разницы в использовании HASP API под Windows и под Linux нет. Библиотеки есть под обе операционные системы.


Алексей Доля: Я так понимаю, что каждый разработчик может либо "обернуть" свою программу с помощью Envelope, либо спроектировать защиту самостоятельно, используя HASP API. Envelope позволяет все сделать намного быстрее, зачем тогда нужны HASP API? Может быть стойкость Envelope меньше?

Александр Гурин: Совершенно верно. HASP Envelope позволяет очень быстро построить защиту приложения. Кроме того, в случае, если нет возможности вмешательства в исходный код Envelope, будет незаменим. Кстати, такая необходимость часто возникает при локализации зарубежных продуктов. Еще одной немаловажной функцией HASP Envelope является защита приложений от декомпиляции и отладки.
Однако, как и любая автоматическая защита, Envelope обладает лишь каким-то ограниченным набором функций, что, безусловно, не позволяет реализовать гибкую и индивидуальную защиту.
Защита приложений - лишь одна сторона медали. Другая - это маркетинговые схемы, которые позволяет реализовать HASP. Такие технологии продвижения защищенных продуктов, как продажа по отдельным модулям, продажа через дилеров, организация демо-версий и т.д. может быть осуществлены только в случае использования HASP API.
Теперь вернемся к вопросу о стойкости.
Все должны помнить, что HASP - это не защита, а инструмент, с помощью которого можно построить защиту. Если взять гвозди, доски и молоток, можно наскоро соорудить стул, который рассыплется при первом же использовании. А можно сделать такой, который будет служить долгие годы (впрочем, многое здесь зависит от того, кто на стуле будет сидеть ). Точно так же и в случае защиты с помощью HASP. Стойкость защиты зависит от вас, от того, как вы будете использовать возможности HASP. Разумеется, автоматическая защита не может обеспечить такую же надежность, как специально разработанная. Поэтому наилучшим вариантом будет совместное использование HASP API и HASP Envelope.


Алексей Доля: Я так понимаю, что Envelope - это стандартный способ, которые используют многие разработчики. Получается, если кто-то научится взламывать Envelope, то под ударом сразу окажется целый ряд продуктов. Я прав?

Александр Гурин: Нет. HASP Envelope позволяет кодировать данные, которые защищенное приложение будет использовать в процессе работы. Алгоритм кодирования уникален для каждого разработчика. Таким образом, взломав одну защищенную программу, следующую придется ломать заново.


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

Ави Барир: Лучшим доказательством являются 30 тыс. счастливых клиентов, которые используют нашу технологию для защиты своего ПО. Более 20 млн. наших ключей сейчас используются по всему миру.
В прошлом National Software Testing Laboratory (NSTL - Национальная лаборатория тестирования программного обеспечения, США) дважды тестировала HASP и его основных конкурентов (Sentinel от компании Rainbow и др.). Оба раза HASP был признан лучшим продуктом. Вот результаты тестов:


Павол Кервен (Pavol Cerven), автор книги "Crackproof Your Software" (буквально "Сделайте ваше ПО не взламываемым") и уважаемый эксперт по защите ПО, в своей книге посвятил HASP целую главу. В ней он восхищается возможностями этой технологии. Например, он пишет: "HASP является действительно отличной программой для защиты..." и "Драйверы HASP, сами по себе, написаны очень толково, их довольно сложно отлаживать. В них полно антиотладочных трюков...". А возможность HASP Envelope он называет "отличным подарком".


Алексей Доля: Возможно, вопрос не вполне корректен, но не могли бы сравнить свою технологию HASP с технологией Sentinel, компании Rainbow Technologies? Может одна из них имеет преимущества относительно другой?

Александр Гурин: Сравнивать два продукта действительно не корректно с моей стороны. Этим может заняться сторонняя компания. Я могу лишь сказать о наших конкурентных преимуществах.
В первую очередь - это надежность наших ключей. Ключи производятся на собственных заводах, сертифицированных по ISO 9002. Статистика брака приблизительно такова: из 100.000 ключей в течение года из строя выходит 200, половина из которых оказываются в нерабочем состоянии исключительно по вине пользователя (включение/выключение работающего принтера, подсоединенного через ключ, и т.д.).
Второе - высокая стойкость защиты, построенной с помощью HASP. На протяжении уже 8 лет взломом приложений, защищенных HASP занимается, вероятно, большинство уважающих себя хакеров. За это время только один раз, в 1999 году, мошенники достигли успеха. Тогда был разработан довольно корректно работающий эмулятор ключа HASP3. Это стало возможным благодаря тому, что алгоритмы кодирования были реализованы программно. Затем появился ключ HASP4 с аппаратной реализацией кодирования. Естественно, он до сих пор не взломан.


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

Александр Гурин: Разумеется, идет речь об общем виде. Приложения, защищенные HASP, ломались и ломаться будут (вспомните про стул :))


Алексей Доля: Как вы считаете, возможно ли написать полноценный эмулятор ключа HASP?

Ави Барир: Это очень трудоемкий процесс, требующий большого количества времени и существенных инвестиций. Именно поэтому хакеры предпочитают атаковать какой-то конкретный защищенный продукт, а не защитный механизм в общем виде. Защита же всегда проектируется с той целью, чтобы обеспечить секретность информации на какой-то промежуток времени. По этому критерию и оценивается, сколько денег можно потратить на создание защиты. Если смотреть чуть дальше, то идет постоянная борьба между разработчиками защит и теми, кто пытается взломать их. Это постоянная война "снаряда и брони". Как только хакерам удается добиться своего, например, с помощью новых инструментов и приемов, другая, созидательная, сторона выпускает новую броню. И так далее. Мы, естественно, постоянно работаем над чем-то новым, чтобы во время отразить возникающие угрозы.


Алексей Доля: Александр, а вы как думаете?

Александр Гурин: Нет ничего такого созданного человеческими руками, что эти же руки сломать не смогут. Просто на данный момент эмуляция аппаратных алгоритмов, реализованных в ключах HASP4, является очень тяжелым и дорогостоящим процессом.


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

Ави Барир: Есть несколько типов ключей: основная версия без памяти, с двойной памятью, с часами реального времени и сетевая версия. Сам ключ HASP тоже может различной структуры: USB-ключ, ключ для параллельного порта и ключ PCMCIA. Думаю, подробнее об этом расскажет мой коллега из России.

Александр Гурин: Линейка ключей HASP4 включает в себя следующие модели:

HASP4 Standard - дешевое решение, предназначенное для тиражирования недорогих программ. Ключи не имеют внутренней памяти. Несмотря на невысокую стоимость, HASP4 Standard достаточно надёжен, так как использует ту же новейшую технологию и специализированную микросхему, что и наиболее сложные из ключей HASP.

HASP4 M1 - наиболее популярная модель. Каждый ключ имеет уникальный ID-номер, оснащен 112 байтами внутренней защищенной, энергонезависимой памяти (EEPROM), позволяющей гибко строить маркетинговую политику распространения защищенного ПО.

HASP4 M4 является модификацией ключа HASP4 M1, содержит 496 байт памяти и применяется в случае необходимости защиты нескольких программ (до 112) на один ключ.

HASP4 Time - самая, пожалуй, интересная модель ключей. Ключ HASP4 Time содержит встроенные часы реального времени. Как известно, привязка к системному времени - защита ненадежная. При помощи же ключа HASP4 Time можно ограничить время работы приложения, ориентируясь на встроенный, независимый таймер, не связанный с системным временем. HASP4 Time позволяет решить такие проблемы, как аренда приложения, лизинг, организация демо-версии. Ключи содержат 512 байт памяти.

HASP4 Net. Эта модель ключей позволяет проводить гибкую политику лицензирования защищенного приложения в сети. Существуют модели на 5, 10, 20, 50, 100 и неограниченное количество пользователей. Часто данную модель используют не столько для защиты ПО, сколько для ограничения числа лицензий при работе в сети.













Алексей Доля: Очевидно, что идеального программного и аппаратного обеспечения не бывает. Разработчиков зачастую самих что-то не устраивает, или на слабые места указывают пользователи/клиенты. Все это приводит к выпуску все новых и новых версий. Скажите, пожалуйста, а Aladdin Knowledge Systems сейчас работает над новой версией HASP (может это будет HASP5)? Ведь с момента выхода HASP4 прошло несколько лет. Когда появится новая версия и каких улучшений в ней следует ожидать?

Александр Гурин: Конечно, разработки постоянно ведутся. Появляются все новые и новые утилиты. Например, у наших клиентов возник вопрос: "Как защитить электронные документы при помощи HASP?". Тут же появилась утилита HASP DocSeal, позволяющая "намертво" привязать документ к ключу.
Пока преждевременно анонсировать выход HASP5, так как сроки окончательно не определены. Более подробная информация по изменениям и новым механизмам, реализованным в ключах HASP5, появится на нашем сайте ориентировочно в первом квартале следующего года.


Алексей Доля: Сколько стоят ключи HASP?

Ави Барир: Линейка продуктов HASP очень широка. Цены варьируются в районе нескольких десятков долларов в зависимости от возможностей покупаемого ключа. Техническая поддержка оказывается абсолютно бесплатно.


Александр Гурин: Работа с ключами HASP начинается с приобретения Комплекта разработчика. Он включает в себя все необходимое для начала работы с ключами HASP - демонстрационные ключи (LPT, USB), руководство разработчика, программное обеспечение. Существует 3 вида Комплектов разработчика: с демо-ключами HASP4 M1, Time и Net.
Любой Комплект разработчика мы можем предоставить под залог, для ознакомления, сроком на месяц. В случае если по каким-либо причинам вас не устроит наш продукт, мы гарантируем возврат денег.


А вот и Комплект разработчика...

Стоимость Комплекта разработчика составляет 25, 35 и 45 у.е. соответственно, в зависимости от комплектации ключами.
Сами же ключи стоят от 14.5 у.е. Более подробную информацию по ценам можно получить на нашем сайте: www.aladdin.ru


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

Александр Гурин: Мы оказываем пожизненную, бесплатную техническую поддержку своим клиентам. Более того, даже если вы приобрели ключ HASP в составе какого либо программного продукта - смело задавайте вопросы, всегда поможем. Разработчики ПО могут рассчитывать на бесплатные консультации по построению защиты.


Алексей Доля: Где в России можно купить ключи HASP?

Александр Гурин: Приобрести ключи HASP можно непосредственно у нас, поместив заказ на сайте. А так же у наших партнеров, полный список и их координаты тоже можно найти на нашем сайте.


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

Ави Барир: не стесняйтесь, пожалуйста, если вас что-то заинтересовало, обращайтесь к нашим партнерам в России. Вам всегда буду рады!

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


Алексей Доля: Ави и Александр, большое спасибо за такое интересное интервью. Всего вам доброго и удачи!

Технология Sentinel от компании Rainbow


На наши вопросы о ключах Sentinel отвечают Том Ибарра, менеджер продуктов Sentinel компании Rainbow Technologies, и Алексей Кузнецов, руководитель отдела продаж московского офиса компании Rainbow Technologies.


Алексей Доля: Расскажите немного о компании Rainbow Technologies и ее московском офисе.

Том Ибарра: Rainbow Technologies специализируется на решениях в области информационной безопасности. Компания охватывает два сегмента рынка: eSecurity Products и Secure Communications Products. eSecurity это все те продукты, которые служат для обеспечения безопасности коммерческих продуктов. То есть решения для надежной идентификации, безопасного Интернета и ускорения беспроводных транзакций, SSL VPN и решений Instant Private Web, защиты ПО от нелегального использования и т.д. Secure Communications это продукты и сервисы, обеспечивающие национальную или военную безопасность (для крупных компаний и правительств), а также решения для защиты секретной информации, персональной аутентификации (для приложений масштаба правительств и корпораций) и т.д.


Том Ибарра, менеджер продуктов Sentinel компании Rainbow Technologies

Алексей Кузнецов: Московский офис компании Rainbow Technologies был открыт в 1998 году. Главной нашей задачей является обеспечение предприятий и организаций стран СНГ высококачественными решениями в области информационной безопасности.
На основе продуктов лучших зарубежных и отечественных производителей в соответствии с требованиями и пожеланиями заказчика мы предлагаем высоконадёжные, экономически выгодные решения, охватывающие различные аспекты защиты данных, такие как:

обеспечение конфиденциальности данных;
защита локальных сетей от атак из Интернет;
обеспечение безопасного доступа к информационным ресурсам предприятия;
построение виртуальных частных сетей;
обеспечение безопасности транзакций и защита приложений электронного бизнеса.

В предлагаемых нами системах мы опираемся на продукцию и опыт мировых лидеров в области информационной безопасности, таких как Rainbow Technologies, WatchGuard Technologies, Computer Associates, TrendMicro, WebTrends, а также используем совместные разработки ведущих российских компаний.
Эффективность наших решений сегодня могут подтвердить более 3000 предприятий всех форм собственности в России, и более 100 иностранных. Среди них - Счетная палата РФ, Московская телекоммуникационная корпорация "Комкор", Управление налоговой полиции по г. Москве, ОКБ "Туполев", МПС РФ, РАО "ЕЭС России", ИТАР ТАСС, Ингосстрах, Телекомпания ОРТ, Национальный Банк Белоруссии, Национальный Банк Узбекистана, Samsung Electronics, Danish Crown, а также ряд коммерческих банков, промышленных организаций, предприятий нефте-газовой отрасли и многие другие.
Компания имеет лицензию Гостехкомиссии РФ на деятельность в области защиты информации.


Алексей Кузнецов, руководитель отдела продаж московского офиса компании Rainbow Technologies

Алексей Доля: Откуда ваша компания берет свое название?

Алексей Кузнецов: Первым продуктом, который выпустила Rainbow Technologies, было программное обеспечение для управления цветными принтерами (отсюда и название, в переводе на русский, "Радужные Технологии"), но сразу же после этого было выпущено программное обеспечение для защиты программ от нелегального использования. Инженеры Rainbow Technologies разработали первый ключ в 1984 году и компания вышла на рынок информационной безопасности. Компания сохранила имя "Rainbow Technologies" как символ того, что она предлагает рынку широкий спектр решений в области информационной безопасности.


Алексей Доля: Недавно стало известно о слиянии Rainbow Technologies с компанией SafeNet. Расскажите немного об этом?

Том Ибарра: Слияние должно закончиться в первом квартале 2004 года. Новая объединенная компания будет называться SafeNet. Продукты, которые носили бренд компании Rainbow, например, ключи Sentinel, сохранят свое название. Слияние вызвано прямыми потребностями современного бизнеса: пользователи все чаще и чаще ищут комплексные решения, способные удовлетворить максимальному числу требований. Новая компания сможет удовлетворить рынок продуктов для правительственных организаций.

Алексей Кузнецов: Официальный комментарий будет позже - после завершения слияния. А сейчас мы можем предложить ознакомиться с презентацией для инвесторов, подготовленной обеими компаниями - http://www.safenetinvestor.com/resources/inv_presentations.html


Алексей Доля: Повлияет ли это слияние на технологию Sentinel?

Том Ибарра: Технология будет развиваться, как и прежде.

Алексей Кузнецов: В первом квартале 2004 года ожидается выпуск нового ключа Sentinel.


Алексей Доля: Что собой представляет технология Sentinel? Почему она так называется?

Алексей Кузнецов: Английское слово Sentinel переводится как стражник, а в случае глагола - стоять на страже. И это полностью соответствует её предназначению - защите от несанкционированного распространения.
Реализована технология Sentinel в электронных ключах Sentinel и программных комплексах управления распространением ПО через Интернет SentinelExpress и его лицензированием - SentinelLM.
Электронные ключи Sentinel - это аппаратные устройства с программируемой памятью (112 байт) и подключаемые к компьютеру через USB - , LPT - или ADB - порты. Электронные ключи Sentinel обеспечивают защиту данных и программного обеспечения.
Технология защиты от несанкционированного использования программного обеспечения построена на:

проверке наличия самого ключа в порту из исполняемых файлов (EXE, DLL);
реализации запросов из исполняемого файла к ключу с последующим получением ответа и анализом этого ответа;
считывании с ключа необходимых программе данных в качестве параметра запуска;
шифровании данных в файлах, необходимых для работы программы.

Ключ содержит уникальный номер ID, соответствующий только одному владельцу, который невозможно изменить, поэтому принадлежность ключа можно однозначно определить. Помимо ID, владелец обладает паролями на запись и перезапись данных в ключе, без которых изменить или записать данные в ключ невозможно. В ключе могут находиться самые различные данные, которые используются в ПО с различным уровнем доступа к ним. При помощи технологии Sentinel можно реализовать ограничение на количество запусков программ, использование в демо-режиме с возможностью перехода в полнофункциональный режим с активацией лицензии, шифровать определенные файлы, ограничивать количество одновременно работающих с одной программой пользователей или свою схему работы с ключом.
Создавая программный комплекс SentinelLM, его авторы в равной мере думали об интересах разработчиков и конечных пользователей. Управление лицензированием несложно для разработчиков программного продукта и нисколько не мешает их клиентам - конечным пользователям. SentinelLM помогает перевести потенциальных клиентов в лицензированных пользователей через Интернет. Такой переход из одного статуса в другой основан на конвертировании демонстрационных версий в полноценные лицензированные программы. 24 часа в сутки. 7 дней в неделю. Круглый год.


Комплекс SentinelExpress решает проблему лицензирования и распространения программ через Интернет. Используемый совместно с электронным ключом Sentinel SuperPro или SentinelLM, SentinelExpress является первым на мировом рынке решением, обеспечивающим полное управление лицензированием программного продукта с помощью электронных ключей и программных лицензий, автоматическое распределение ключей между клиентами, а также опциональную электронную рассылку программ и данных через Web-интерфейс.
Предложенные компанией Rainbow решения для электронного распространения лицензий (ELD) и eCommerce обеспечивают разработчиков уникальным инструментом для защиты интеллектуальной собственности от несанкционированного использования. Эта защита может осуществляться с помощью электронных ключей Sentinel либо соответствующих программных продуктов.


Алексей Доля: Когда появилась технология Sentinel?

Алексей Кузнецов: Изобретение аппаратного ключа Sentinel в том виде, в котором он представлен на рынке - результат работы компании Rainbow Technologies на протяжении многих лет. В 1984 году компания вышла на рынок информационной безопасности с технологией Sentinel, обеспечивающей защиту программного обеспечения от несанкционированного использования на микро-компьютерах.

Том Ибарра: На данный момент компания Rainbow продала более 35 млн. ключей, нашими ключами защищено приложений больше, чем какими бы то ни было еще. Согласно данным IDC ключи Sentinel продаются лучше всего: на их долю приходится 42% мирового рынка.


Алексей Доля: Вы не могли бы рассказать о том, как работают ключи Sentinel?

Алексей Кузнецов: К основным принципам работы с аппаратными ключами Sentinel относятся:

проверка наличия самого ключа в порту;
запрос к ключу через установленные для программного обеспечения промежутки времени на получение ответа;
хранение данных, используемых в качестве параметров запуска;
ограничения на количество запусков программы.



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


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


Алексей Доля: Можно ли как-нибудь убедиться в том, что защита с помощью ключей Sentinel действительно надежна?

Алексей Кузнецов: Том уже говорил, что согласно отчётам IDC ключи Sentinel занимают лидирующие позиции в отрасли - 42% мирового рынка (источник - http://www.rainbow.com/news - пресс-релиз от 29/01/2003).
Как уже говорилось, при построении защиты, многое зависит от разработчиков. Если опираться лишь на факт наличия ключа в порту, то разработчик создаёт самый низкий уровень безопасности для своего приложения. Стойкость защиты от несанкционированного использования данных увеличивается во много раз при использовании операции "запрос-ответ" с определенными интервалами времени к ключу из приложения, включая ложные запросы.
Если же дополнительно использовать и шифрование файлов, с которыми работает программа, то для взлома такой защиты потребуются значительные временные и вычислительные ресурсы, которые могут превысить время актуальности самих приложений. Используя в комплексе ряд мер, технология Sentinel позволяет обеспечить надёжную защиту программного обеспечения от несанкционированного использования. Подтверждением тому является факт, что около 35 миллионов клиентов в мире работают с программным обеспечением, защищенным Sentinel.


Алексей Доля: Какого типа ключи Sentinel бывают? Охарактеризуйте их, пожалуйста.

Том Ибарра: Ключи бывают для параллельного и USB-портов. Компания Rainbow Technologies разработала самый маленький ключ в отрасли для параллельного порта. Это удобно для использования на ноутбуках, а также для каскадирования большого количества ключей на одном порту. Электронный ключ SuperProNet идеально подойдет для тех, кто использует сетевое ПО. У нас также есть ключи и для последовательного порта.


Алексей Кузнецов: На данный момент выпускаются следующие типы ключей:

Sentinel SuperPro - используется только для защиты локально работающего приложения.


Sentinel SuperProNet предназначены для защиты программного обеспечения, работающего в сети. Подсоединяются к компьютеру через USB- и LPT- порты. Отличие между ключами состоит только в количестве аппаратно записанных лицензий. В ключе Sentinel SuperProNet существует 1, 2, 3, 5, 10, 15, 25, 50, 100, 500, 1000 и неограниченное количество лицензий. Аппаратные ключи сетевой серии Sentinel SuperProNet позволяют:

Защитить приложение от запуска без ключа.

Сделать дополнительные лицензии на количество пользователей или рабочих станций, без превышения аппаратно записанных лицензий.

Удаленно обновлять лицензии (продлить время использования демо-версии или разблокировать новые возможности).

Разово обновлять лицензии (предотвращать использование лицензии более одного раза).

Поддерживать программирование ключей дистрибьюторами (возможность отслеживания количества конечных пользователей).

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


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


Sentinel Duo - предназначен для тех, кто использует обе платформы одновременно. Один аппаратный ключ применяется для защиты приложений на компьютерах и PC, и Макинтош. По сути, в одном корпусе объединены два чипа ключей SentinelSuperPro и SentinelEve3, которые используются независимо друг от друга различными версиями приложений.


Аппаратные ключи Sentinel поддерживают следующие операционные системы:

Windows 95/98/ME/NT/2000/XP/2003;
Red Hat, Suse 8.2;
FreeBSD;
Sun Solaris;
Novell NetWare;
Macintosh OSX 10.2.x.

Ключи Sentinel поддерживают следующие сетевые протоколы:

TCP/IP;
IPX/SPX;
NetBEUI;
SAP.


Алексей Доля: Расскажите, пожалуйста, как устроен ключ изнутри?

Алексей Кузнецов: Внутри ключа Sentinel находится чип для вычислений и 128 байт памяти, из которых доступны 112. Остальные 14 байт отведены для служебных целей и не могут быть изменены.
Память разбита на 56 ячеек по 2 байта на каждую, в которую разработчик может записать необходимые данные. Существует 4 типа данных:

Data Word - могут быть считаны пользователем или приложением без использования паролей и перезаписаны, используя только "пароль на запись".
Locked Word - данные, которые можно считать, но для перезаписи которых необходим "пароль на перезапись".
Counter - счетчик, величина которого уменьшается с использованием "пароля на запись" и перезаписывается "паролем на перезапись".
Algo/Hidden (дескриптор алгоритма) - данные, которые являются основной защитной структурой в работе с электронным ключом. Этот дескриптор позволяет реализовать разработчику запрос к ключу и получить ответ, по которому строится дальнейшая работа приложения. Ячейка памяти для работы с алгоритмом занята дескриптором. В памяти ключа может быть записано до 28 дескрипторов, по 2 "слова" (4 байта) на каждый из них.

Кроме Algo/Hidden (дескриптор алгоритма), могут также использоваться следующие защитные структуры:

алгоритм с паролем;
алгоритм со счетчиком;
алгоритм со счетчиком и паролем;
алгоритм с 2 счетчиками и паролем.

Дескриптор алгоритма (Algo/Hidden) действует следующим образом: на вход ключа поступает строка в соответствии с заданными параметрами и возвращает результат приложению. Алгоритм может быть активным и неактивным. За активность алгоритма отвечает старший бит второго "слова" дескриптора. В активном состоянии происходит преобразование строки, а при неактивном - алгоритм возвращает строку, пришедшую на вход. В зависимости от того, что вернул алгоритм приложению, оно ведет себя по разному: при неактивном алгоритме, приложение может завершить работу или работать в демо-режиме.
Алгоритм с паролем представляет собой два "слова" дескриптора алгоритма и два "слова" пароля (8 байт) на его активизацию. При помощи функции из API можно активизировать алгоритм в ключе. При получении чипом пароля на активизацию, он проверяет правильность, и в случае успеха активизирует алгоритм, при этом пароль на перезапись не требуется.
Алгоритм со счетчиком программируется следующим образом: перед первым "словом" дескриптора нужно поместить "слово" счетчика (Counter). Приложение может уменьшать значение счетчика и когда оно станет равным нулю, то чип автоматически переведет алгоритм в неактивное состояние.
Остальные типы работы алгоритмов необходимы для реализации специфических требований разработчиков, но они должны иметь строго определенную структуру, которую можно найти в документации по данному аппаратному ключу.


Алексей Доля: Вы не могли бы рассказать о Sentinel API?

Алексей Кузнецов: Сегодня существуют API и интерфейсы для поддержки аппаратных ключей серии Sentinel, для 50 наиболее распространённых компиляторов. Описания API, интерфейсы и утилиты для ключей можно свободно скачать с www.rainbow.com и www.rainbow.msk.ru.


Кроме API существуют также пакеты диагностики и средства мониторинга. Пакеты диагностики и редактирования ключа позволяют производить следующие действия:

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

Средства мониторинга позволяют (касательно многопользовательских лицензий):

Сделать поиск сервера(-ов) ключа по указанному протоколу.
Просмотреть, видит ли сервер ключа сам ключ.
Просмотреть количество лицензий на ключе (сколько записанных лицензий, сколько задействовано в данное время).


Алексей Доля: Есть ли возможность автоматизировать процесс построения защиты?

Алексей Кузнецов: Самый быстрый путь защитить программу - это воспользоваться функцией автоматической защиты (Automatic Protection). В этом случае код исполняемого модуля будет изменен автоматически и без ключа программу запустить будет невозможно.




При этом разработчик может воспользоваться дополнительными шаблонами (Show Advanced Options) и:

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

Все это разработчик выполняет в режиме Wizard’а. Чтобы контролировать ключ непосредственно из приложения, необходимо использовать API-функции, в этом случае разработчику предоставляется широкий выбор способов защиты. Описание API и возвращаемых кодов ошибок можно скачать с www.rainbow.msk.ru или запросить у службы технической поддержки компании Rainbow Technologies.


Алексей Доля: Возможно, вопрос не вполне корректен, но не могли бы сравнить свою технологию Sentinel с технологией HASP, компании Aladdin?

Алексей Кузнецов: Мы предпочитаем, чтобы сравнение наших продуктов с конкурентными проводили независимые эксперты, например, признанные в мире и в России исследовательские компании, тестовые лаборатории, у которых есть значительный опыт работы и которые публикуют полные результаты исследований в открытых источниках информации. Иначе может получиться по пословице: "Каждый кулик свое болото хвалит".
Мы можем сказать только о характеристиках наших продуктов, которыми мы гордимся:

Поддержка ключей Sentinel наиболее распространенными средствами разработки ПО (более 50 самых распространённых компиляторов);

Набором уже готовых средств для работы с ключом (драйвера, утилиты наблюдения, API для работы с драйверами и средствами диагностики) как для разработчика ПО, так и для конечного пользователя;

Поддержка ключей на уровне драйверов и ПО под самые распространённые ОС.

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


Алексей Доля: Возможно ли, на ваш взгляд, реализовать программный эмулятор ключа SENTINEL?

Алексей Кузнецов: Как нельзя создать так называемую абсолютную защиту, так нельзя создать и решение, постоянно поддерживающее требуемый уровень безопасности на долгие годы. Технологии защиты постоянно развиваются, и они могут быть использованы и в позитивном, и в негативом аспектах. Насколько сложным и изощрённым может быть создан замок, настолько же продвинутой, с течением времени, окажется и отмычка.
Главное при обеспечении информационной безопасности - не останавливаться на достигнутом и опираться на комплексные решения, позволяющие обновлять те или иные компоненты защиты.
Лишь такой подход позволит Вашей информационной системе быть надёжно защищённой и в тоже время легко модернизируемой с точки зрения защиты.


Алексей Доля: Над чем сейчас ведется работа? Что нового будет представлено в следующей версии ключа Sentinel?

Алексей Кузнецов: Постоянно идет работа по поддержке в различных средах разработки и в различных операционных системах. Ведется работа по совершенствованию скорости работы ключа, увеличению памяти и многому другому. Об этом можно будет узнать более подробно позже на www.rainbow.msk.ru.


Алексей Доля: Расскажите, пожалуйста, о ценах на вашу продукцию, а также о том, что входит в комплект поставки.

Алексей Кузнецов: В базовую комплектацию аппаратного ключа Sentinel входят:

аппаратный ключ;
SDK (Software Development Kit);
драйвера;
примеры реализаций защиты ПО;
руководство разработчика на русском языке.

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


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

Алексей Кузнецов: Поддержка клиентов по аппаратным ключам Sentinel включает:

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

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

Том Ибарра: Иногда наши клиенты просят прокомментировать результаты теста, проведённого компанией NSTL в 1999 году, где говорится, что ключ HASP от Аладдина лучше Sentinel. Данные тесты не являются независимыми, а проводятся на коммерческой основе, то есть на заказ. Ключи HASP никогда не доказывали своё преимущество перед ключами Sentinel в независимом тесте "один-на-один" Мы уже продали почти в два раза больше ключей, чем компания Aladdin, таким образом, рынок уже решил, чей продукт лучше.

Алексей Кузнецов: Прежде всего, хотелось бы выразить благодарность всем интересующимся нашими технологиями - и тем, кто ещё определяется с выбором, и, конечно же, тем, кто уже выбрал технологии компании Rainbow Technologies для защиты своих информационных систем.
Мы готовы работать вместе с Вами и над созданием решений по информационной защите Ваших предприятий, и над их развитием, обеспечивая требуемый уровень безопасности.
Звоните, пишите, приходите - мы ждём Вас и Ваших вопросов.


Алексей Доля: Алексей и Том, мы вам очень благодарны за такое интересное интервью. Всего доброго вам и вашей компании!