Обычно ключ представляет собой небольшое микроэлектронное устройство размером со спичечный коробок. Ключ имеет два разъема, одним, как правило, он подключается к параллельному или последовательному порту компьютера, другой служит для подключения принтера, модема или других устройств. При этом, как правило, ключ не влияет на работу порта и полностью «прозрачен» для подключаемых через него устройств и не мешает их нормальной работе.
Обычно ключ не имеет встроенных источников питания, полностью пассивен и сохраняет записанную в него информацию при отключении от компьютера. Некоторые производители выпускают ключи со встроенными часами и автономной батареей питания, что позволяет строить различные модели продажи, аренды и лицензирования защищенного программного обеспечения.
Ключи собирают на базе:
- микросхем энергонезависимой электрически перепрограммируемой памяти;
- заказных микросхем с памятью или без памяти;
- на базе микроконтроллеров.
13.3. Проблемы защиты и взлома программ «Ломают» ли защиту на ключах?
Ответ — да, «ломают». И то, что любая защита может быть взломана, надо принять за аксиому, и не питать на эту тему никаких иллюзий. Но ломают не ключи, а конкретную реализацию конкретной защищенной программы. Система защиты это, прежде всего, технология, которой надо достаточно умело пользоваться и делать адекватный выбор. Часто бывает так, что для защиты дорогого продукта, стоимостью несколько тысяч долларов, используется простейший ключ.
Привязка лицензионных ключей к лицензиям программного обеспечения.
Можно как-то бороться с изготовителями пиратских версий программ?
Да. Есть закон. Например, статья 273 Уголовного кодекса РФ «Создание, использование и распространение вредоносных программ для ЭВМ»: «Создание программ для ЭВМ или внесение изменений в существующие программы, заведомо приводящих к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ или их сети, а равно использование либо распространение таких программ или машинных носителей с такими программами.» На основании закона за последнее время был закрыт ряд пиратских сайтов, потому что истинным разработчикам программ, которые публиковались на этих сайтах удалось доказать, что на таком-то сайте распространяются пиратские копии их программ.
Не должно быть отдельно программы и отдельно защиты. Защита должна быть интегрирована в разрабатываемое приложение и являться неотъемлемой частью этого приложения, от которой будет зависеть ЛОГИКА ВЫПОЛНЕНИЯ программы. Нарушена (или снята) защита — нарушена логика или алгоритм выполнения программы.
Причем, разработка программы и реализация методов защиты должны производиться одновременно. Пример защиты: Сделать второй «эшелон защиты», т.е. организовать проверку ключа после наступления определенного события или даты (например, дать хакерам фору на 1-2 месяца после выпуска программы на рынок).
ДВУХФАКТОРНАЯ АУТЕНТИФИКАЦИЯ GOOGLE AUTHENTICATOR 2FA | НАСТРОЙКА И ИНСТРУКИЦЯ GOOGLE AUTHENTICATOR
После «вычистки» сработавших обращений к ключу, во взломанной программе останутся «спящие». Через некоторое время «проснется» второй эшелон, и программа, уже попав к пользователю, перестанет работать. У пользователя могут остаться некоторые наработки, которые он, очевидно, не захочет терять. Это прямой путь к честной покупке.
На рынке систем защиты программ доминирующее положение занимают ключи HASP. Очень быстро и прочно занимают свою нишу ключи Hardlock. Это элитные и очень дорогие ключи; новая модель Hardlock Twin может работать как с параллельным портом, так и с последовательным, позволяя подключать через него любые устройства — принтеры, сканеры, модемы и т.п.
Источник: studfile.net
Защита программного обеспечения с помощью электронных ключей Текст научной статьи по специальности «Компьютерные и информационные науки»
Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Глухов А. Ю., Лопатин Д. В.
В статье рассмотрены электронные ключи , принцип их действия, технология защиты с помощью электронных ключей , рассмотрен электронный идентификатор ruToken , представлен алгоритм программы, создающей электронно-цифровую подпись с помощью электронного ключа ruToken , использованного для хранения ключей и ее структура.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Глухов А. Ю., Лопатин Д. В.
Технология защиты от несанкционированного использования программного обеспечения «Электронный ключ»
Система «CryptoPro» защиты электронного документооборота
К вопросу применения носителей ключевой информации
Технические средства криптографической защиты
Опыт разработки средств защиты от несанкционированного доступа для операционной системы оС МСВС 3. 0
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Текст научной работы на тему «Защита программного обеспечения с помощью электронных ключей»
- «Положение о порядке организации и проведении работ по обеспечению безопасности персональных данных при их обработке в ИСПДн», настоящее положение разработано в соответствии с руководящими документами ФСТЭК России.
Из инженерно-технических средств предложены: генератор шума ГШ-2500,
предназначенный для маскировки информативных побочных электромагнитных излучений и наводок персональных компьютеров; устройство для защиты линий электропитания, заземления от утечки информации Соната-РС2, арочный металлодетектор
Из программно-аппаратных средств защиты предложены системы защиты информации от несанкционированного доступа Страж Ж 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-
4. Зауголков И.А., Михайлова Е.М. Повышение качества подготовки специалистов в области информационной безопасности // Вестник Тамбовского университета. Сер.: Естественные и технические науки. Тамбов, 2009. Т. 14, вып.
5. С. 914.
ЗАЩИТА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ПОМОЩЬЮ ЭЛЕКТРОННЫХ КЛЮЧЕЙ
А.Ю. Глухов, Д.В. Лопатин
В статье рассмотрены электронные ключи, принцип их действия, технология защиты с помощью электронных ключей, рассмотрен электронный идентификатор 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) результат выполнения подписи/проверки.
Рис. 1. Структура работы программы
1. На данном этапе происходит добавление файла в программу. Это можно сделать двумя способами: с помощью пункта меню Файл — Открыть или просто перетащить нужный файл на форму программы. При этом если файл был подписан, то программа покажет информацию о нем. Такую как хеш, который был до подписи, время создания подписи, время последнего изменения файла и путь к файлу.
2. Программа проверит, есть ли подпись у файла. Если нет, то начнется вычисление хеш файла, создания подписи закрытым ключом, который хранится в памяти гаТокеп. Если же подпись уже есть, то программа считает присланный вместе с подписью открытый ключ и с помощью специальных функций СгурШАрі проверит подпись.
3. На этом этапе происходит проверка гаТокеп и считывание закрытого/открытого ключа.
4. Происходит вывод результата. Если осуществлялась операция создания электронно-цифровой подписи, то программа выведет: Успешно/Не успешно. Если же осуществлялась операция проверки электронно-цифровой подписи, то программа выведет, верна ли подпись и кем подписано.
1. Скляров Д.В. Аппаратные ключи защиты // Искусство защиты и взлома информации. СПб.: БХВ-Петербург, 2004.
Источник: cyberleninka.ru
Презентация на тему Защита от несанкционированного копирования. Защита программ с помощью электронных ключей типа “HASP”
В общем случае система защиты от НСК представляет собой комплекс средств, предназначенный для затруднения (в идеале — предотвращения) нелегального копирования (исполнения) защищаемого программного модуля, с которым она ассоциирована.Система защиты от НСК состоит из двух основных частей:
- Главная
- Информатика
- Защита от несанкционированного копирования. Защита программ с помощью электронных ключей типа “HASP”
Слайды презентации
Слайд 1 Ассистент кафедры БИТ Маро Е.А.
Изучение технических методов защиты
от несанкционированного копирования.
Изучение аппаратных методов защиты программ с
помощью электронных ключей типа “HASP”
Слайд 2 В общем случае система защиты от НСК представляет
собой комплекс средств, предназначенный для затруднения (в идеале —
предотвращения) нелегального копирования (исполнения) защищаемого программного модуля, с которым она ассоциирована.
Система защиты от НСК состоит из двух основных частей: подсистемы внедрения механизмов защиты и внедряемого защитного кода.
Слайд 3 Системы защиты от НСК по способу ассоциации (внедрения)
механизмов защиты можно подразделить на два типа:
– внедряются при создании программного продукта;
2) пристыковочные – подключаются к уже готовому программному продукту.
К преимуществам защит пристыковочного типа относятся:
простота тиражирования программных систем защиты на объекты заказчика и разработчика;
простота технологии применения — защита поставляется в виде законченного продукта, которым нужно обработать защищаемую программу;
обеспечение в большинстве случаев достаточного уровня защищенности данных;
сложность построения собственной встоенной системы, что приводит к значительному увеличению финансовых и временных затрат на создание конечного программного продукта при часто невысокой степени надежности полученной защиты (в силу непрофессионализма разработчиков).
Слайд 4 Нейтрализация защитных механизмов может вестись двумя основными методами
– статическим и динамическим.
Отдельно следует рассматривать эмуляцию аппаратных ключей.
Статический
метод анализа программ
При статическом методе защищаемая программа сначала дизассемблируется. По полученному ассемблерному коду локализуются механизмы защиты, изучается логика их работы.
Динамический метод анализа программ
При динамической нейтрализации изучение и реконструирование логики работы защитных механизмов производятся с помощью отладчиков или эмуляторов, а необходимые изменения вносятся непосредственно в код программы.
Слайд 5 Блок установки характеристик среды
В качестве идентифицирующего элемента, позволяющего
отличать одну копию программного продукта от другой, могут выступать:
компьютер
(серийный номер винчестера, тип и версия BIOS, привязка программы к расположению на жестком диске);
машинные носители (ключевые дискеты и компакт-диски).
специальные аппаратные устройства (электронные ключи, брелки, смарт-карты);
биометрические характеристики пользователя.
Слайд 6 Блок сравнения характеристик среды
Блок сравнения значений характеристик среды
должен отвечать ряду требований:
Установка значений характеристик среды защищаемой программы
и, следовательно, сравнение значения характеристик с эталонными, должны производиться много раз.
Сравнение текущих значений характеристик с эталонными должно производиться периодически в течение всего сеанса работы программы.
Значения, полученные от блока установки характеристик среды, можно использовать как ключ для расшифрования кода, по которому (перед передачей ему управления) подсчитывается контрольная сумма.
Получение результатов сравнения должно быть принудительно распределено в коде.
Если код выработки результатов сравнения не может быть распределен, для подтверждения правильности передаваемых результатов должна также передаваться аутентифицирующая информация
Слайд 7 Блок ответной реакции
Блок ответной реакции является одновременно самым
простым и самым сложным при проектировании систем защиты от
НСК. Если значения характеристик среды отличаются от эталонных, то при расшифровывании получается произвольный код, который при выполнении, как правило, «подвешивает» компьютер.
Слайд 8 Стратегии защиты
Использование множественных вызовов
Шифрование внешних и внутренних данных
Отсутствие
повторяющихся схем защиты
Разделение шагов вызовов
Шифрование памяти аппаратного ключа
Слайд 9 Обзор типов электронных ключей
Ключи на основе FLASH-памяти
Ключи на
основе PIC-котроллеров
Ключи на основе ASIC-чипов
Слайд 10 Модели аппаратных ключей HASP HL
Слайд 11 Защита данных с использованием HASP SRM
HASP SRM –
это революционно новое средство защиты программного обеспечения от незаконного
использования и распространения. Основное его задачей является ограничение доступа и функций защищенных приложений.
HASP SRM обеспечивает два основных метода защиты:
HASP SRM Envelope
HASP SRM Run-time API
Слайд 12 HASP SRM Envelope
Средства HASP SRM Envelope позволяют создать
защиту от отладки или обратного инжиниринга, а также предотвратить
возможность раскрытия алгоритмов, используемых внутри защищенного программного обеспечения.
Слайд 13 Назначение HASP Envelope
Защита исполняемых файлов, DLL-библиотек и сборок
.NET.
Настройка параметров защиты.
Ввод Кода Разработчика для проверки на наличие
определенного ключа HASP HL.
Настройка сообщений, которые будут отображаться для пользователей защищенного приложения.
HASP Envelope обеспечивает не только строгое соответствие между приложением и защитным ключом, но также случайным образом генерирует несколько слоев для защиты приложения.
Слайд 14 Поиск ключа HASP HL
На локальном компьютере – защищенное
приложение осуществляет поиск ключа только на локальном компьютере.
В сети
– защищенное приложение осуществляет поиск ключа только в сети.
На локальном компьютере и в сети – защищенное приложение в первую очередь осуществляет поиск ключа на локальном компьютере, а затем в сети (по умолчанию).
Слайд 15 Поведение защищенного приложения
Частота случайных запросов к ключу со
стороны защищенного приложения. При обмене данными между приложением и
ключом используется шифрование.
Временной интервал между проверками на присутствие требуемого ключа HASP SRM.
Отказ или разрешение для программ, требующих оверлеев.
Время, в течение которого защищенное приложение ожидает загрузки драйверов HASP SRM.
Слайд 16 Свойства защиты
Обнаружение отладочных средств на системном и на
пользовательском уровне.
Определение количества защитных слоев, создаваемых вокруг приложения. Диапазон
возможных значений – 1-50 (по умолчанию – 12).
Можно указать частоту обращений к ключу HASP HL для осуществления шифрования. Количество обращений устанавливается на полосе прокрутки Encryption Level (Уровень шифрования).
Слайд 17 Шифрование и расшифрование с использование алгоритма AES
Встроенный крипто-процессор
ключей HASP SRM осуществляет криптографические операции на основе алгоритма
AES. При шифровании HASP SRM использует набор секретных 128-битных ключей, которые не покидают памяти ключа HASP SRM.
Слайд 18 Защита с помощью HASP API
При защите мы должны
проанализировать программный код приложения, в том числе на наличие
ошибок. Все это сделать несколько раз, встроить в приложение, скомпилировать программный код с учетом вставок и связать его с объектным кодом HASP. Для усиления можно после этого использовать HASP SRM Envelop.
Основные группы сервисов:
HASP Login – устанавливает сеанс доступа к Компоненту и определяет контекст сессии.
HASP Get Info – применяется для запроса информации о системных компонентах в соответствии с заданными параметрами поиска.
HASP Encrypt – шифрует послание на подключенный ключ HASP 5 данные, используется совместно с сервисом HASP Decode Data, проверяет подсоединен ли ключ
HASP Decrypt – дешифруем данные, посылаемые на подключенный ключ.
Слайд 19 Защита с использованием HASP SRM Run-time API
Порядок действий
защиты с использованием HASP SRM Run-time API:
в код приложения вызов, устанавливающий соединение с ключом HASP SRM. Открытая сессия имеет свой собственный уникальный идентификатор.
2. После начала сессии для обмена данными с ключом могут использоваться и иные функции HASP SRM API.
3. После выполнения предыдущих действий вы получите сообщение о положительных результатах и возможных ошибках.
4. Выполнить действия, описанные в пунктах 2-4 для оставшейся части кода.
5. Скомпилируйте исходный код.
Источник: findtheslide.com