Дифференциал и интеграл булевой функции, страница 7

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

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

В настоящее время наиболее распространены следующие методы защиты программных продуктов от копирования, регулируемые ФАПСИ: определенный установочный ключ, чаще всего хранящийся в самой программе, а потому легко поддающийся «взлому»; электронные ключи («HASP»), поставляемые вместе с программой; ключевые дискеты. Два последних способа представляют определенные трудности для, скажем, такого активно развивающегося перспективного направления, как электронная коммерция — электронные ключи достаточно дорогостоящи для реализации программ через Интернет, а дискеты требуют дополнительных затрат на доставку, что в случае программного обеспечения зачастую не оправданно.

Одним из способов применения программных алгоритмов интегрирования и дифференцирования булевых функций [2] мог бы стать алгоритм генерации электронных ключей для распространяемых программных продуктов и их проверки на соответствие ключу, «зашитому в тело» программы.

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

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

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

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

Пользователь, скачав программный продукт через сеть, производит оплату через одну из многочисленных систем электронных платежей, после чего получает персональный ключ (например, через e-mail). Этот ключ вводится при первом запуске программы, которая сразу же подключается к серверу производителя данного программного обеспечения и проверяет его на подлинность и уникальность. После этого программа привязывается к конкретному компьютеру (на котором впервые запущена) и не может быть скопирована. В качестве привязки могут быть использованы, к примеру, серийные номера компонентов компьютера. Ключ, единожды прошедший проверку на сервере, вторично не может быть использован.