Новости Публикации Литература НАСТ Законы Ссылки Каталог фирм
Paintball Фильмы Оружие Инфозащита Приколы Тесты О проекте
[Гостевая]
[Пишите нам]
[Главная]







 

 
23 августа 2006 г.

Новые ключи для защиты ПО

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

Одной из самых сложных задач является защиты дорогих программ. Ведь чем дороже ПО, тем больше найдется желающих воспользоваться им бесплатно. Так что если пиратам удастся взломать установленную защиту и растиражировать софт на компакт-дисках по 70 рублей, то ущерб, нанесенный разработчикам, будет просто огромен. Поэтому профессиональное программное обеспечение необходимо хорошо защищать от нелицензированного использования. И самым подходящим вариантом для этого являются аппаратные ключи. Только они обеспечивают достаточную степень надежности. Особенно это верно в отношении нового семейства аппаратных ключей Sentinel Hardware Key, представленного известной компанией SafeNet.

Главной особенностью ключей Sentinel Hardware Key, отличающей их от всех конкурентов, является совмещение симметричного алгоритма шифрования AES с длиной ключа 128 бит и криптографии с открытым ключом (ECC-алгоритм). Первый из них позволяет надежно зашифровать обмен данными между устройством и закрытым приложением. При этом для каждой сессии обмена информацией используется уникальный сеансовый ключ шифрования. Ну а для формирования самого сеансового ключа применяется уже открытая криптография в виде реализации метода ECKAS-DH1. Такой подход весьма интересен, поскольку позволяет обезопасить систему от многих распространенных атак, например, от воздействия типа "запись и воспроизведение", "прямой перебор" и т.п. А еще он позволяет говорить о невозможности создания эмулятора ключа, что, конечно же, очень важно. Ведь именно эмуляторы являются одним из наиболее опасных способов обхода защиты с использованием аппаратных ключей.

Естественно, помимо "новинок", в ключах Sentinel Hardware Key реализованы и другие технологии, которые используются уже давно, но от этого не потеряли своей актуальности. Например, в каждом устройстве из рассматриваемого семейства "зашит" свой уникальный идентификатор, использующийся в защите. Его наличие позволяет исключить создание двойников - ключей-копий, которые могут применять злоумышленники.

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

Для облегчения внедрения защиты в программные продукты в ключах Sentinel Hardware Key реализована весьма интересная технология. Речь идет о Sentinel Business Layer API. Фактически, она является набором высокоуровневых API, которые создатели софта могут использовать в своих приложениях. Такой подход позволяет сэкономить очень много времени при разработке ПО. Ведь теперь специалистам не придется разбираться в особенностях обмена информацией с ключом и принципом его работы. Для построения любого известного на сегодняшний день способа дистрибуции программ достаточно использование "стандартных" функций, реализованных в API. Кстати, это решение позволяет не только ускорить создание защиты, но и повысить ее надежность. Ведь ни для кого не секрет, что уязвимости, возникшие от некорректной реализации, очень опасны. Поэтому чем проще будет процесс написания защиты, тем меньше вероятность, что в ней будут ошибки. Сами же функции Sentinel Business Layer API многократно протестированы и работают надежно.

Впрочем, довольно часто решение о защите программного обеспечения с помощью аппаратных ключей принимается тогда, когда код самого приложения уже частично или даже полностью готов и протестирован. Естественно, менять его, мягко говоря, не хочется. Ведь после этого его снова придется тестировать, что чревато задержкой с выпуском готового продукта и увеличением затрат на его разработку. Кроме того, иногда возникает необходимость в защите приложений, для которых у компании нет исходных кодов. Во всех этих случаях также могут пригодиться ключи Sentinel Hardware Key. Дело в том, что в комплекте разработчика реализована специальная технология Sentinel Shell. Суть ее заключается в построении защиты путем обработки уже готовой программы. Таким образом, обезопасить ПО от пиратов можно очень быстро, буквально за несколько минут. При этом оно будет защищено от таких приемов, как снятие дампа памяти и использование отладчиков. Именно с их помощью хакеры чаще всего осуществляют реконструкцию исходного кода и выясняют алгоритмы его работы. А без этой информации взлом невозможен.

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

Довольно часто лицензия на использование программного обеспечения связана со временем. Поэтому в ключах Sentinel Hardware Key реализована весьма интересная технология под названием V-Clock. Принцип ее работы таков. При работе защищенного приложения текущие системные время и дата сравниваются с теми, которые хранятся в памяти ключа. Если последние указывают на более позднее время, то это явно нарушение лицензионной политики (пользователь пытается "продлить" свою лицензию путем перевода таймера компьютера). В этом случае программа может быть заблокирована или переведена в режим с ограниченными функциональными возможностями. Если же проверка прошла успешно, то дата и время в памяти ключа обновляются на текущие. Таким образом, технология V-Clock обеспечивает неплохую защиту от подмены времени. Естественно, она не столь надежна, как при встраивании в аппаратный ключ собственного внутреннего таймера. Тем не менее, не надо забывать, что последнее действие приведет к удорожанию устройства и необходимости в элементах питания.

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

Очень интересной особенностью семейства Sentinel Hardware Key является наличие трех различных видов устройств: пользовательский ключ, дистрибьюторский и ключ разработчика. Первый из них предназначен для конечных пользователей программного обеспечения. Он хранит в себе условия лицензии и программируется разработчиком ПО или дистрибьютором (при наличии у него соответствующих полномочий). Второй тип ключей предназначен для продавцов софта. В нем содержится информация обо всех полномочиях дистрибьютора, в частности, о числе доступных ему лицензий. И пока продавец не исчерпал этот лимит, ему разрешается программировать пользовательские ключи. Ну и, наконец, третий тип устройств необходим для разработчиков программного обеспечения. С его помощью программируются и обновляются ключи дистрибьюторов и пользователей. Причем устройство одного типа никак нельзя переделать в устройство другого типа. Это позволяет избежать опасности перекодировки, например, ключа пользователя с целью переделать его в ключ дистрибьютора.

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

Последней возможностью ключей семейства Sentinel Hardware Key, о которой мы расскажем в нашем сегодняшнем обзоре, является технология SecureUpdate. Она используется для удаленного перепрограммирования ключей. В некоторых случаях эта функция бывает просто незаменимой. Например, дистрибьютор, представляющий разработчика ПО в другом регионе, столкнулся с неожиданно большим спросом на продаваемый продукт. В результате выданные ему лицензии быстро закончились. При использовании обычной системы защиты представителю дистрибьютора пришлось бы ехать к разработчикам для перепрограммирования своего ключа. При применении же Sentinel Hardware Key это уже не понадобиться. Ключ дистрибьютора может быть обновлен без физической передачи аппаратного ключа.

Примерно также могут строиться отношения между продавцом и конечным пользователем. Клиент может удаленно обновлять свою подписку, добавлять в свой ключ поддержку новых программных продуктов и т.д. Естественно, при этом используются только надежные каналы связи. Разработчики Sentinel Hardware Key заверяют, что система обновления устройств обладает тем же высоким уровнем защищенности, что и обмен данными между ключом и закрытым с его помощью приложением.

Таким образом, новое семейство ключей под названием Sentinel Hardware Key является высокотехнологичным решением проблемы пиратства. Эти устройства позволяют обезопасить программное обеспечение от несанкционированного использования и распространения. Причем речь идет о действительно надежной защите. При этом ключи Sentinel Hardware Key не только защищают ПО, но и облегчают взаимодействие между разработчиками, дилерами и конечными пользователями. Такую универсальность наверняка по достоинству оценят разработчики программ, которые терпят большие убытки от деятельности пиратов. Кстати, справиться с этой бедой (а иначе современное пиратство назвать нельзя) можно только совместными усилиями государственной власти и заинтересованных в нормальном, законном бизнесе компаний.

Столяров Николай
Давлтханов Марат

Rambler's Top100   Sec.ru - Весь Российский рынок безопасности  
 

© ; Copyright 2000-2003 www.sec4all.netetttt