Научная статья на тему 'Защита программного обеспечения с помощью электронных ключей'

Защита программного обеспечения с помощью электронных ключей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2755
248
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЭЛЕКТРОННЫЙ КЛЮЧ / ЭЛЕКТРОННО-ЦИФРОВАЯ ПОДПИСЬ / RUTOKEN

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Глухов А. Ю., Лопатин Д. В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Защита программного обеспечения с помощью электронных ключей»

- «Положение о порядке организации и проведении работ по обеспечению безопасности персональных данных при их обработке в ИСПДн», настоящее положение разработано в соответствии с руководящими документами ФСТЭК России.

Из инженерно-технических средств предложены: генератор шума ГШ-2500,

предназначенный для маскировки информативных побочных электромагнитных излучений и наводок персональных компьютеров; устройство для защиты линий электропитания, заземления от утечки информации Соната-РС2, арочный металлодетектор <Юиаксап-85600».

Из программно-аппаратных средств защиты предложены системы защиты информации от несанкционированного доступа Страж Ж 3.0; СЗИ SecretNet 6.

Все предложенные средства имеют сертификаты ФСТЭК.

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

вышают величины ущерба (величина ущерба равна 1 086 250 руб.).

Переоценка рисков показала, что предложенные меры и разработанные должностные инструкции, положения позволяют снизить процент невыполнения рисков стандарта управления информационной безопасностью ГОСТ Р ИСО/МЭК 17799-2005, что соответственно благоприятно скажется на работе всей информационной системы учреждения здравоохранения.

Литература

1. Об информации, информационных технологиях и о защите информации: федер. закон Российской Федерации от 27 июля 2006 года № 149-ФЗ [Электронный ресурс]. URL: http:// base.consultant.ru

2. О персональных данных: федер. закон от 27 июля 2006 г. № 152-ФЗ [Электронный ресурс]. URL: http://base.garant.ru

3. Методические рекомендации для органи-

зации защиты информации при обработке персональных данных в учреждениях здравоохранения [Электронный ресурс]. URL: http://www.min-

zdravsoc.ru

4. Зауголков И.А., Михайлова Е.М. Повышение качества подготовки специалистов в области информационной безопасности // Вестник Тамбовского университета. Сер.: Естественные и технические науки. Тамбов, 2009. Т. 14, вып. 5. С. 914.

УДК 004.056.52

ЗАЩИТА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ПОМОЩЬЮ ЭЛЕКТРОННЫХ КЛЮЧЕЙ

А.Ю. Глухов, Д.В. Лопатин

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

Ключевые слова: электронный ключ, электронно-цифровая подпись, ruToken.

Электронный ключ (также аппаратный ключ) - аппаратное средство, предназначенное для защиты программного обеспечения (ПО) и данных от копирования, нелегального использования и несанкционированного распространения [1]. Основой данной технологии является специализированная микросхема либо защищенный от считывания микроконтроллер, имеющие уникальные для каждого ключа алгоритмы работы. Аппаратные

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

2. Тенденции и особенности развития систем информационной безопасности

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

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

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

Электронный ключ относят к аппаратным методам защиты ПО, однако современные электронные ключи часто определяются как мультиплатформенные аппаратно-программные инструментальные системы для защиты ПО. Дело в том, что помимо самого ключа компании, выпускающие электронные ключи предоставляют SDK (Software Developer Kit - комплект разработчика ПО). В SDK входит все необходимое для начала использования представляемой технологии в собственных программных продуктах - средства разработки, полная техническая документа-

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

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

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

Алгоритм шифрования может быть секретным или публичным. Секретные алгоритмы разрабатываются самим производителем средств защиты, в том числе и индивидуально для каждого заказчика. Главным недостатком использования таких алгоритмов является невозможность оценки криптографической стойкости. Публичный алгоритм проверяется рядом экспертов, специализирующихся на криптографическом анализе. Примерами таких алгоритмов могут служить широко используемые ГОСТ 28147-89, AES, RSA, Elgamal и др.

Электронный ключ ruToken

Электронный идентификатор ruToken -персональное устройство доступа к информационным ресурсам, полнофункциональный аналог смарт-карты, выполненный в виде usb-брелока. Идентификатор предназначен для безопасного хранения и использования паролей, цифровых сертификатов, ключей шифрования и ЭЦП. USB-токены ruToken широко применяются в системах защищенного документооборота, электронных платежей, в системах предоставления отчетности в государственные органы и в системах клиент-банк. ruToken служит для строгой двухфакторной аутентификации, защиты электронной переписки, установления защищенных соединений (VPN, SSL), проведения финансовых транзакций и криптографической защиты информации, защита электронной почты (электронная цифровая подпись, шифрование), защита компьютера; контроль доступа к компьютеру, поддержка любого числа пользователей (владельцев ruToken) на одном компьютере; безопасное хранение в одном устройстве большого ко-

личества данных: файлов, ключей шифрования, цифровых сертификатов [2].

В данной работе будет рассмотрен способ создания электронно-цифровой подписи с помощью Microsoft Crypto API. ruToken будет использован в качестве хранилища ключевой пары RSA.

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

цифровая подпись. Также в процессе выполнении программа должна проверять, вставлен ли ruToken. Для подписи файла программа будет вычислять его хеш и подписывать его. Преимущество подписи хеш файла в том, что малейшее изменение содержимого файла приведет к получению совсем другого, не похоже на предыдущий хеш. Поэтому будет легко заменить, изменялся ли файл после подписи. Для получения хеш файла будет использован метод MD5, для подписи - RSA, ключи размером 1024 бит. В программе будет использован способ создания электронно-цифровой подписи с помощью Microsoft Crypto API.

1) добавление файла для подписи/проверки;

2) выполнение операций подписи/проверки;

3) обращение к ruToken;

4) результат выполнения подписи/проверки.

3

Рис. 1. Структура работы программы

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

2. Программа проверит, есть ли подпись у файла. Если нет, то начнется вычисление хеш файла, создания подписи закрытым ключом, который хранится в памяти гаТокеп. Если же подпись уже есть, то программа считает присланный вместе с подписью открытый ключ и с помощью специальных функций СгурШАрі проверит подпись.

3. На этом этапе происходит проверка гаТокеп и считывание закрытого/открытого ключа.

4. Происходит вывод результата. Если осуществлялась операция создания электронно-цифровой подписи, то программа выведет: Успешно/Не успешно. Если же осуществлялась операция проверки электронно-цифровой подписи, то программа выведет, верна ли подпись и кем подписано.

Литература

1. Скляров Д.В. Аппаратные ключи защиты // Искусство защиты и взлома информации. СПб.: БХВ-Петербург, 2004.

2. Идентификаторы Рутокен [Электронный ресурс]. URL: http://www.ruToken.ru.

i Надоели баннеры? Вы всегда можете отключить рекламу.