Основные сведения о защите программных продуктов

 

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

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

Защита программного обеспечения преследует цели:

1) ограничение несанкционированного доступа к программам или их преднамеренное разрушение и хищение;

2) исключение несанкционированного копирования (тиражирования) программ.

Программный продукт и базы данных должны быть защищены по нескольким направлениям от воздействия:

1) человека — хищение машинных носителей и документации программного обеспечения; нарушение работоспособности программного продукта и др.;

2) аппаратуры — подключение к компьютеру аппаратных средств для считывания программ и данных или их физического разрушения;

3) специализированных программ — приведение программного продукта или базы данных в неработоспособное состояние (например, вирусное заражение), несанкционированное копирование программ и базы данных и т. д.

Самый простой и доступный способ защиты программных продуктов и баз данных — ограничение доступа. Контроль доступа к программному продукту и базе данных устанавливается с помощью:

• защиты программ при их запуске паролем;

• использования ключевой дискеты для запуска программ;

• ограничения доступных пользователям программных модулей или данных, функций обработки и др.

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

 

Криптографические методы защиты информации

Первоначальное значение термина «криптография» — «тайнопись», «тайное письмо».

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

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

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

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

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