
Технологии StarForce позволяют обеспечить защиту от копирования для файлов. Довольно часто при оформлении сертификатов ключей. Есть только требования выдавать на ключевых (читай защищенных) носителях. При копировании вышеописанным методом, контейнер остаётся защищён пин-кодом — а вот «сохранение» этого пин-кода не. Функция «скопировать ключ» в КриптоПРО копирует закрытый и открытый ключи с . Электронный ключ (также аппаратный ключ, иногда донгл от англ. Донглы также имеют защищённую энергонезависимую память небольшого объёма, более сложные устройства .
Извлечение ключа из токена с неизвлекаемым ключом / Хабрахабр. Довольно часто при оформлении сертификатов ключей электронной подписи можно наблюдать навязчивый пиар токенов с неизвлекаемым ключом.

Продавцы из удостоверяющих центров уверяют, что, купив у них СКЗИ Крипто. ПРО CSP и токен с неизвлекаемым ключом (Рутокен ЭЦП или Ja.
Carta ГОСТ), мы получим сертифицированные СКЗИ, обеспечивающие 1. Но так ли это на самом деле? Для ответа на этот вопрос проведем простой эксперимент. Версия: v. 4. 1. 0. WHQL- certified. Единый Клиент Ja.
Carta и Ja. Carta Secur. Logon. Версия 2. 9. Крипто. АРМ Стандарт Плюс 5. Версия 5. 2. 0. 8.
Защита программ с помощью аппаратных ключей Sentinel HL. Если же программа нуждается не только в защите от копирования, но и, например. Совмещает в себе функции ключа Sentinel HL Max и Flash-накопителя. Электронные ключи для защиты программ от копирования. Специальная модель ключа (SenseLock EL-STD-FLASH), объединёнаня с .
Версия 1. 9. 0. 2. Ja. Carta ГОСТ. Номер модели JC0. F0. 9 v. 2. 1. Методика тестирования. Смоделируем типовой процесс подготовки Администратором информационной безопасности ключевых документов для организации ЭДО: генерируется контейнер закрытого ключа и запрос на сертификат открытого ключа; после прохождения в удостоверяющем центре процедуры сертификации из запроса получается сертификат; сертификат в совокупности с контейнером закрытого ключа образует готовую для использования ключевую информацию. Данную ключевую информацию, записанную на носителе, будем называть исходным ключевым документом; с исходного ключевого документа изготавливаются копии, которые записываются на отчуждаемые носители (далее будем называть их рабочими ключевыми документами) и передаются уполномоченным пользователям; после изготовления необходимого количества рабочих ключевых документовисходный ключевой документ уничтожается или депонируется на хранение в орган криптографической защиты информации.
Затем скопируем ключевую информацию на Рутокен ЭЦП и Ja. Carta ГОСТ, изготовив рабочие ключевые документы. После этого уничтожим исходный ключевой документ, удалив из реестра ключевой контейнер. И, наконец, попробуем скопировать ключевую информацию с рабочих ключевых документов обратно в реестр. Проведение тестирования.
Создадим исходный ключевой документ. Скопируем ключевую информацию из рабочих ключевых документов. Как мы видим, ключевая информация успешно скопирована или, другим языком, извлечена из токенов с неизвлекаемым ключом. Получается, что производители токенов и СКЗИ врут? На самом деле нет, и ситуация сложнее, чем кажется на первый взгляд.
Исследуем матчасть по токенам. Матчасть. То, что на рынке принято называть токеном с неизвлекаемым ключом, правильно называется функциональным ключевым носителем (ФКН) (доп. В то время как при использовании обычных токенов закрытый ключ копируется с токена в память комптьютера. Использование ФКН требует особой организации взаимодействия между прикладным криптографическим ПО и библиотекой СКЗИ (криптопровайдером или, по- другому, CSP).
Здесь важно увидеть, что программная часть библиотеки СКЗИ должна знать о существовании на токене апплета, реализующего криптографический функционал (например, генерация ключа, подпись данных и т. По- новому взглянем на наш тестовый стенд. В качестве одного из ключевых носителей использовался Рутокен ЭЦП. Через «Панель управления Рутокен» о нем можно получить следующую информацию: В последней строке указана фраза «Поддержка Крипто.
ПРО ФКН: Нет», а это значит, что на токене нет апплета, с которым умеет работать СКЗИ Крипто. ПРО CSP. Таким образом, реализация технологии ФКН с использованием СКЗИ и токенов, описанных в конфигурации тестового стенда, невозможна. Аналогичная ситуация и с Ja. Carta ГОСТ. Более того, СКЗИ Крипто. ПРО CSP, по крайней мере та версия, которая использовалась в тестовом стенде, использует данные ключевые носители как «обычные токены», которые, в свою очередь, являются просто носителями ключа. Это утверждение очень просто подтвердить. Для этого надо поставить СКЗИ Крипто.
ПРО CSP на чистую машину без драйверов от токенов и подключить токен Ja. Carta ГОСТ. ОС Windows 7 обнаружит токен Ja. Carta ГОСТ как «Устройство чтения смарт- карт Microsoft Usbccid (WUDF)». Весь функционал СКЗИ успешно отработает. Как сделать, чтобы все было хорошо?
Купить специальную версию библиотеки СКЗИ: — для Рутокен ЭЦП — СКЗИ Крипто. ПРО Рутокен CSP. Одновременно с библиотекой СКЗИ необходимо приобрести специально подготовленные токены, содержащие в себе программные части (апплеты), с которыми умеет работать Крипто. ПРО Рутокен CSP или Крипто. Про ФКН CSP соответственно. Получается, что Рутокен ЭЦП и Ja. Carta ГОСТ не являются токенами с неизвлекаемым ключом? Данные устройства могут реализовывать функционал ФКН (но, возможно, в меньшем объеме, чем при использовании их совместно с СКЗИ Крипто.
ПРО), но для этого нужен софт, который умеет работать с апплетами размещенными на токенах. Таким софтом может быть Крипто. АРМ Стандарт 5 Плюс. Он это умеет. При генерации ключевой пары в мастере Крипто.
АРМ можно выбрать криптопровайдер, который будет использоваться, например, Rutoken ECP или e. Token GOST. Это и позволит использовать токен как ФКН. Выводы. Не верьте продавцам, чушь вам городящим.
Использование обычных версий криптопровайдера Крипто. ПРО CSP и обычных Рутокен ЭЦП или Ja. Carta ГОСт не позволяют реализовать технологию ФКН. Для использования технологии ФКН совместно с продуктами ООО «КРИПТО- ПРО» необходимы как специально подготовленные токены, содержащие апплет, с которым умеет работать СКЗИ, так и специальные версии криптопровайдера Крипто. ПРО CSP, которые умеют работать с апплетом на токенах. Рутокен ЭЦП и Ja. Carta ГОСТ умеет самостоятельно реализовывать технологию ФКН, но для этого необходим специальный софт.
Электронный ключ — Википедия. Электронный ключ (также аппаратный ключ, иногда донгл от англ. Донглы также имеют защищённую энергонезависимую память небольшого объёма, более сложные устройства могут иметь встроенный криптопроцессор (для аппаратной реализации шифрующих алгоритмов), часы реального времени. Аппаратные ключи могут иметь различные форм- факторы, но чаще всего они подключаются к компьютеру через USB. Также встречаются с LPT- или PCMCIA- интерфейсами.
Принцип действия электронных ключей. Ключ присоединяется к определённому интерфейсу компьютера. Далее защищённая программа через специальный драйвер отправляет ему информацию, которая обрабатывается в соответствии с заданным алгоритмом и возвращается обратно.
Если ответ ключа правильный, то программа продолжает свою работу. В противном случае она может выполнять определенные разработчиками действия, например, переключаться в демонстрационный режим, блокируя доступ к определённым функциям. Существуют специальные ключи, способные осуществлять лицензирования (ограничения числа работающих в сети копий программы) защищенного приложения по сети. В этом случае достаточно одного ключа на всю локальную сеть. Ключ устанавливается на любой рабочей станции или сервере сети. Защищенные приложения обращаются к ключу по локальной сети.
Преимущество в том, что для работы с приложением в пределах локальной сети им не нужно носить с собой электронный ключ. Защита ПО от нелицензионного пользования увеличивает прибыль разработчика. На сегодняшний день существует несколько подходов к решению этой проблемы. Подавляющее большинство создателей ПО используют различные программные модули, контролирующие доступ пользователей с помощью ключей активации, серийных номеров и т. Такая защита является дешёвым решением и не может претендовать на надёжность. Интернет изобилует программами, позволяющими нелегально сгенерировать ключ активации (генераторы ключей) или заблокировать запрос на серийный номер/ключ активации (патчи, крэки). Кроме того, не стоит пренебрегать тем фактом, что сам легальный пользователь может обнародовать свой серийный номер.
Эти очевидные недостатки привели к созданию аппаратной защиты программного обеспечения в виде электронного ключа. Известно, что первые электронные ключи (то есть аппаратные устройства для защиты ПО от нелегального копирования) появились в начале 1. Донгл относят к аппаратным методам защиты ПО, однако современные электронные ключи часто определяются как мультиплатформенные аппаратно- программные инструментальные системы для защиты ПО. Дело в том, что помимо самого ключа компании, выпускающие электронные ключи, предоставляют SDK (Software Developer Kit — комплект разработчика ПО). В SDK входит все необходимое для начала использования представляемой технологии в собственных программных продуктах — средства разработки, полная техническая документация, поддержка различных операционных систем, детальные примеры, фрагменты кода, инструменты для автоматической защиты.
Также SDK может включать в себя демонстрационные ключи для построения тестовых проектов. Технология защиты от несанкционированного использования ПО построена на реализации запросов из исполняемого файла или динамической библиотеки к ключу с последующим получением и, если предусмотрено, анализом ответа. Вот некоторые характерные запросы: проверка наличия подключения ключа; считывание с ключа необходимых программе данных в качестве параметра запуска (используется, в основном, только при поиске подходящего ключа, но не для защиты); запрос на расшифрование данных или исполняемого кода, необходимых для работы программы, зашифрованных при защите программы (позволяет осуществлять . ЭЦП всегда разная - особенность криптографического алгоритма - то это также помогает защититься от эмуляции API/ключа); запрос к встроенным в ключ часам реального времени (при их наличии; может осуществляться автоматически при ограничении времени работы аппаратных алгоритмов ключа по его внутреннему таймеру); и т. Стоит отметить, что некоторые современные ключи (Guardant Code от Компании .
Помимо защиты ПО от нелегального использования такой подход позволяет защитить используемый в программе алгоритм от изучения, клонирования и использования в своих приложениях конкурентами. Однако для простого алгоритма (а разработчики часто совершают ошибку, выбирая для загрузки недостаточно сложный алгоритм) может быть проведен криптоанализ по методу анализа . В современных ключах он реализован аппаратно — это практически исключает создание полного эмулятора ключа, так как ключ шифрования никогда не передается на выход донгла, что исключает возможность его перехвата. Алгоритм шифрования может быть секретным или публичным. Секретные алгоритмы разрабатываются самим производителем средств защиты, в том числе и индивидуально для каждого заказчика.
Главным недостатком использования таких алгоритмов является невозможность оценки криптографической стойкости. С уверенностью сказать, насколько надёжен алгоритм, можно было лишь постфактум: взломали или нет. Публичный алгоритм, или «открытый исходник», обладает криптостойкостью несравнимо большей. Все Концерты Жеки.
Такие алгоритмы проверяются не случайными людьми, а рядом экспертов, специализирующихся на анализе криптографии. Примерами таких алгоритмов могут служить широко используемые ГОСТ 2. AES, RSA, Elgamal и др. Для большинства семейств аппаратных ключей разработаны автоматические инструменты (входящие в SDK), позволяющие защитить программу «за несколько кликов мыши». При этом файл приложения «оборачивается» в собственный код разработчика.
Реализуемая этим кодом функциональность варьируется в зависимости от производителя, но чаще всего код осуществляет проверку наличия ключа, контроль лицензионной политики (заданной поставщиком ПО), внедряет механизм защиты исполняемого файла от отладки и декомпиляции (например, сжатие исполняемого файла) и др. Важно то, что для использования автоматического инструмента защиты не требуется доступ к исходному коду приложения. Например, при локализации зарубежных продуктов (когда отсутствует возможность вмешательства в исходный код ПО) такой механизм защиты незаменим, однако он не позволяет использовать весь потенциал электронных ключей и реализовать гибкую и индивидуальную защиту. Помимо использования автоматической защиты, разработчику ПО предоставляется возможность самостоятельно разработать защиту, интегрируя систему защиты в приложение на уровне исходного кода.
Для этого в SDK включены библиотеки для различных языков программирования, содержащие описание функциональности API для данного ключа. API представляет собой набор функций, предназначенных для обмена данными между приложением, системным драйвером (и сервером в случае сетевых ключей) и самим ключом. Функции API обеспечивают выполнение различных операций с ключом: поиска, чтения и записи памяти, шифрования и расшифрования данных при помощи аппаратных алгоритмов, лицензирования сетевого ПО и т. Нейтрализовать защиту, встроенную в приложение, достаточно трудно вследствие её уникальности и «размытости» в теле программы. Сама по себе необходимость изучения и модификации исполняемого кода защищенного приложения для обхода защиты является серьёзным препятствием к её взлому. Поэтому задачей разработчика защиты, в первую очередь, является защита от возможных автоматизированных методов взлома путём реализации собственной защиты с использованием API работы с ключами. Задача злоумышленника — заставить защищённую программу работать в условиях отсутствия легального ключа, подсоединённого к компьютеру.