Бесплатный неограниченный траффик!
Хостинг от AGAVA!

          КОМПЬЮТЕРНАЯ  
           ЗАЩИТА
 

     КЛЮЧИ с ПРОИЗВОЛЬНЫМ АЛГОРИТМОМ  

ГЛАВНАЯ  СТРАНИЦА

Угрозы  безопасности

Системы  обнаружения
атак  сетевого  уровня
Системы  обнаружения
атак  системного  уровня
Защита  от  удаленных  атак
в  сети  Internet
Административные   методы
з
ащиты   в  сети  Internet
ППрограммно-аппаратные
методы   защиты  в  Internet
Рынок  систем  безопасности
Лидеры  на  рынке
систем  безопасности
Вирусы  в  сети  Internet
Защита  информации  на
персональном  компьютере
Информационная
безопасность  в  Intranet
Меры  процедурного  уровня
Фильтрация  информации
Безопасность
программной  среды
ы
Виртуальные  частные  сети
Задачи  информационной
безопасности
Избыточная  защита
Оценка 
эффективности  защиты
Криптография  как  наука
Модели
криптоаналитических  атак
Криптография
для  программиста
Актуальные  задачи
защиты  программ

Аппаратные ключи защиты

Стеганографическая
защита  информации

Ослабление
средств  защиты

Исследования  
средств  защиты

Концепции безопасности

Защита  компьютера  от  несанкционированного доступа

Защита  компьютера 
от  сбоев

Безопасность  
в  сети  Интернет

Атаки  из  сети  Интернет

 

 

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

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

Некоторые ключи (например Sentinel SuperPro) имеют довольно сложную систему разграничения доступа. Ключи Sentinel SuperPro поддерживают пароли для активации алгоритмов, выбираемые при программировании, и раздельные пароли для записи и перезаписи, одинаковые для всех ключей одной серии, поставляемых одному разработчику. И очень часто в теле программы оказывается пароль перезаписи, который позволяет противнику перепрограммировать ключ по своему усмотрению.

Ключи HASP Time, напротив, не имеют разграничения доступа — для того чтобы изменить время в ключе, нужно знать те же самые пароли, которые используются для чтения времени. То есть противнику для продления периода работоспособности программы, ограниченной по времени, достаточно отвести назад часы в ключе, и ничто не мешает ему это сделать.

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

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

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

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