Защита программ

Программно-аппаратные средства защиты ПО с электронными ключами


Этот класс СЗПО в последнее время приобретает все большую популярность среди производителей программного обеспечения (ПО). Под программно-аппаратными средствами защиты, в данном случае, понимаются средства, основанные на использовании так называемых "аппаратных (электронных) ключей". Электронный ключ - это аппаратная часть системы защиты, представляющая собой плату с микросхемами памяти и, в некоторых случаях, микропроцессором, помещенную в корпус и предназначенную для установки в один из стандартных портов ПК (COMM, LPT, PCMCIA, USB ... ) или слот расширения материнской платы. Так же в качестве такого устройства могут использоваться СМАРТ-карты. По результатам проведенного анализа, программно-аппаратные средства защиты в настоящий момент являются одними из самых стойких систем защиты ПО от НСД.

Электронные ключи по архитектуре можно подразделить на ключи с памятью

(без микропроцессора) и ключи с микропроцессором (и памятью).

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

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


Положительные факторы:

  • Значительное затруднение нелегального распространения и использования ПО;
  • Избавление производителя ПО от разработки собственной системы защиты;
  • Высокая автоматизация процесса защиты ПО;
  • Наличие API системы для более глубокой защиты;
  • Возможность легкого создания демо-версий;
  • Достаточно большой выбор таких систем на рынке;

    Отрицательные факторы:

  • Затруднение разработки и отладки ПО из-за ограничений со стороны СЗ;
  • Дополнительные затраты на приобретение системы защиты и обучение персонала;
  • Замедление продаж из-за необходимости физической передачи аппаратной части;
  • Повышение системных требований из-за защиты (совместимость, драйверы);
  • Снижение отказоустойчивости ПО;
  • Несовместимость систем защиты и системного или прикладного ПО пользователя;
  • Несовместимость защиты и аппаратуры пользователя;
  • Ограничения из-за несовместимости электронных ключей различных фирм;
  • Снижение расширяемости компьютерной системы;
  • Затруднения или невозможность использования защищенного ПО в переносных и блокнотных ПК;
  • Наличие у аппаратной части размеров и веса (для COMM/LPT = 5х3х2см ~ 50гр);
  • Угроза кражи аппаратного ключа


    Содержание раздела