Электронные ключи для программного обеспечения

Электронный ключ — средство предохранения софта

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

Методы защиты программ

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

Использование ключевых дискет и компакт-дисков со специальным покрытием, паролей и регистрационных номеров

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

Привязка к уникальным характеристикам компьютера

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

Самый свежий пример использования этого метода — встроенная защита от копирования новых программных продуктов Microsoft.

Программно-аппаратная защита с использованием электронных ключей

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

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

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

Что такое электронный ключ

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

Собственно электронный ключ — это устройство размером, как принято говорить, «со спичечный коробок» , которое подсоединяется к одному из портов компьютера. Ключ состоит из платы с микросхемами (вспомогательные элементы, микроконтроллер и память), заключенной в пластиковый корпус. Микроконтроллер содержит так называемую «математику» — набор команд, реализующих некую функцию или функции, которые служат для генерации информационных блоков обмена ключа и защищенной программы. Иначе эти блоки называются «вопросы и ответы». Память электронного ключа содержит информацию о его характеристиках, а также данные пользователя. Ключ имеет два разъема. С помощью одного он подсоединяется к LPT-порту (параллельному порту) компьютера, другой служит для подключения периферийного устройства. При правильной эксплуатации современный электронный ключ обычно не вносит помех в работу принтеров, сканеров и прочей периферии, которая подключена через него к параллельному порту.

Какие бывают электронные ключи

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

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

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

По устройству электронные ключи делятся на

  • Ключи, не содержащие встроенной памяти
    Такие ключи не обеспечивают должную степень защищенности приложения. Ведь только наличие памяти в дополнение к логическому блоку ключа позволяет строить систему защиту любой сложности. В памяти ключа можно хранить информацию, необходимую для работы программы, списки паролей (по существу, электронный ключ может использоваться в качестве средства идентификации) и т. п. Объем памяти большинства современных ключей достигает обычно несколько сотен байт. Использование ключей без встроенной памяти может быть оправданным только для защиты дешевых многотиражных программ.
  • Ключи, содержащие только память
    Этот класс ключей является морально устаревшим. Такие ключи больше не выпускаются, но достаточно большое их количество пока сохраняется у конечных пользователей ПО.
  • Ключи на заказном ASIC-чипе
    На сегодняшний день это самый распространенный класс ключей. Их функциональность определяется конкретным видом ASIC-чипа. Недостатком таких ключей является, если можно так выразится, «завершенность» конструкции. Диапазон их свойств ограничен определенными при создании микросхемы рамками. Все ключи одной модели работают по одинаковому алгоритму или алгоритмам (т. е. в них содержаться функции одинакового вида). Такая особенность может неблагоприятно сказываться на степени стойкости системы защиты. Ведь часто повторяющаяся модель защиты облегчает задачу взломщика.
  • Микропроцессорные ключи
    Этот тип ключей, в отличие от предыдущего, обладает гораздо более гибким устройством. В контроллер микропроцессорного ключа можно «прошивать» программу, реализующую функции, разные для каждого клиента. В принципе, любой микропроцессорный ключ легко можно запрограммировать так, что он будет работать по своему, уникальному алгоритму.

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

Защита программ с помощью ключа

Чтобы установить систему защиты необходимо запрограммировать нужным образом электронный ключ, т. е. внести в его память информацию, по которой защищенная программа будет идентифицировать ключ и «привязать» к ключу программу путем установки автоматической защиты и/или защиты при помощи функций API.

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

Способы защиты

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

Автоматическая защита

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

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

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

Защита при помощи функций API

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

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

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

В общих чертах работу системы защиты можно представить таким образом:

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

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

Далее приведены основные методы взлома защиты и способы противодействия взлому.

Методы взлома защиты

Изготовление аппаратной копии ключа

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

Изготовление эмулятора (программной копии) ключа

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

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

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

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

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

  • плавающий протокол — вместе с реальными данными передается «мусор», причем со временем порядок чередования и характер, как реальных, так и ненужных данных, изменяется хаотическим образом
  • кодированный протокол — все передаваемые данные кодируются
  • с автоматической верификацией — любая операция записи в память ключа сопровождается автоматической проверкой данных на адекватность

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

Отделение модуля автоматической защиты

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

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

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

Удаление вызовов функций API

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

Существует несколько эффективных приемов противодействия попыткам удаления или обхода вызовов функций API:

  • использование «безумного кода»: при создании функций API их команды перемешиваются с «мусором» — ненужными командами, т.о. код сильно зашумляется, что затрудняет исследование логики работы функций
  • использование множества точек входа в API: в хорошей API-защите каждая функция имеет свою точку входа. Для полной нейтрализации защиты злоумышленник должен отыскать все точки

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

Методы противодействия взлому

Комбинирование автоматической и API защиты

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

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

API защита

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

Обязательным является использование алгоритмов (или функций) преобразования данных. Кодирование информации делает бессмысленным удаление вызовов функций API, ведь при этом данные не будут декодированы.

Эффективный прием усложнения логики защиты — это откладывание реакции программы на коды возврата функций API. В этом случае программа принимает решение о дальнейшей работе спустя какое-то время после получения кодов возврата. Что заставляет взломщика прослеживать сложные причинно-следственные связи и исследовать в отладчике слишком большие участки кода.

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

Обновление системы защиты

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

Возможности электронного ключа

Конечно, прежде всего, ключ предназначен для защиты программ. Однако потенциал современной программно-аппаратной защиты настолько велик, что позволяет применять электронные ключи для реализации маркетинговой стратегии и оптимизации продаж. Вот несколько вариантов такого «нецелевого» использования.

Демо-версии

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

Аренда и лизинг

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

Продажа программы по частям

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

Обновление защищенной программы

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

Лицензирование в локальных вычислительных сетях

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

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

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

Будущее электронного ключа

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

Широкую популярность приобретают USB-ключи и, скорее всего, они постепенно вытеснят ключи для параллельного порта. В ключах будут реализованы более сложные и стойкие алгоритмы, увеличится объем памяти.

Электронные ключи (немного иначе устроенные) начинают применять в качестве средств идентификации компьютерных пользователей. Такими ключами-идентификаторами в сочетании со специальными программами можно защищать web-страницы.

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

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

Электронный ключ — это аппаратный инструмент, который используется для защиты ПО и электронных документов от незаконного копирования, несанкционированного применения или распространения третьими лицами. Также встречается другие его названия — электронная (или цифровая) подпись, etoken. Сегодня это обязательный реквизит для подтверждения подлинности ряда электронных документов. Его используют, чтобы зафиксировать определенное состояние информации — например, внесение или, наоборот, отсутствие каких-либо изменений с момента подписания документа.

ЭП или ЭЦП?

Ранее в обходе была аббревиатура ЭЦП — электронная цифровая подпись. Но после вступления в силу ФЗ № 63 это название сократилось до ЭП, электронная подпись. Именно для электронной подписи используется электронный ключ. По законодательству РФ под ЭП понимают эквивалент подписи, которая ставится «от руки» и обладает аналогичной юридической силой. Электронная подпись позволяет физическим лицам удаленно (через интернет) подписывать документы с государственными, финансовыми, медицинскими, учебными и другими учреждениями. Юридические лица могут с ее помощью участвовать в электронных торгах, вести электронный документооборот (ЭДО), сдавать отчеты в налоговую и т. п.

Техническая реализация

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

Если по роду деятельности вам приходится регулярно сталкиваться с электронными ключами, наверняка у вас часто возникали сомнения в их защищенности, а также том, насколько надежны они в системах хранения денежных средств или важной информации. Об этом не стоит беспокоиться. Когда такой ключ подсоединяют к компьютеру или ноутбуку, он начинает взаимодействовать с защищенной программой. Та посредством драйвера отправляет ему определенную информацию, цифровой носитель с электронным ключом ее обрабатывает и отправляет обратно. Если информация корректная (т. е. ключ «ответил» правильно) программа может продолжить свою работу, в противном случае дальнейшие действия с ней будут немедленно заблокированы. Целостность, аутентичность и подлинность документов, которые подписываются электронной подписью, гарантируют надежные криптографические протоколы и алгоритмы, а также программно-аппаратные решения, которые работают на их базе.

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

Как получить персональный электронный ключ

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

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

Как сделать точную копию электронного ключа? Для этого необходимо перенести его вместе с сертификатами на иное устройство — компьютер или ноутбук. Есть как минимум два способа сделать это на практике.

  1. Если ключей несколько (не более десяти штук), воспользуйтесь специальным программным обеспечением. Удобной и надежной в работе зарекомендовала себя программа CryptoPro. Главное — устанавливайте ее с официального сайта разработчика, а не с подозрительных веб-ресурсов, на которых может быть размещен зараженный вирусами дистрибутив.
  2. Если ключей и сертификатов к ним много, скопируйте исходные файлы, в которых содержится зашифрованная информация. Это более сложный и затратный по времени способ, который требует определенных знаний и опыта. Но именно к нему прибегают во многих организациях с большим количеством электронных ключей — от нескольких десятков до нескольких сотен.

Рекомендации по работе для пользователей ЭП

Разберемся подробно, для чего нужен электронный ключ и как его получить разным категориям населения. Электронная цифровая подпись массово используется в системах ЭДО, особенно для подготовки отчетности в налоговую индивидуальными предпринимателями. Им удобнее делать это в удаленном режиме, без посещения налоговой службы лично — так они экономят время и могут использовать его на развитие своего дела. Но при этом нужно учитывать, что нет универсального электронного ключа, который можно применять для разных задач. Отдельно придется получать квалифицированную ЭП для налоговой, подпись для ЕГАИС и электронных торгов. Однако временные затраты на эти мероприятия оправдывают себя в 100 % случаев, так как:

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

Как получить электронный ключ ИП?

  1. Определиться с подходящим типом ЭП.
  2. Подготовить пакет документов, утвержденный на законодательном уровне.
  3. Отправить заявку в любой Удостоверяющий центр.
  4. Оплатить услугу (можно сделать это онлайн).
  5. Получить ЭП и начать ее использовать.

В пакет документов, которые необходимо подать ИП, входят: паспорт гражданина РФ, свидетельство о регистрации индивидуального предпринимателя, СНИЛС, ИНН, выписка из ЕГРИП, платежные реквизиты.

Как получить электронный ключ юрлицам?

Им так же регулярно, как и ИП, приходится ставить электронную подпись. Но для получения электронного ключа они обязаны предъявить иной пакет документов:

  • приказ, который подтверждает назначение руководителя компании;
  • паспорт гендиректора (отсканированная копия первого разворота и страницы с пропиской);
  • СНИЛС и ОГРН;
  • ИНН организации;
  • платежные реквизиты.

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

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

Как получить электронный ключ физическому лицу?

Изначально электронные ключи были предназначены только для ИП и юрлиц, но в последнее время ими активно пользуются обычные интернет-пользователи (физические лица). Где им будет полезна электронная подпись:

  • при работе на официальном портале Госуслуг. Благодаря ЭП они могут удаленно подать заявление, оплатить счета за госуслуги и штрафы (например, административные), отслеживать стадии рассмотрения поданных ранее заявок и многое другое;
  • при контактах с налоговой — когда нужно отправить декларацию о доходах или получить налоговый вычет;
  • при получении доступа в Росреестр;
  • при получении определенных услуг в банке;
  • для оформления заявки на получение патента.

Сколько стоит и как долго действует электронный ключ?

Здесь нужно разделять понятия «электронный ключ» как цифровой носитель информации и непосредственно электронная подпись. Стоимость электронной подписи будет отличаться в зависимости от ее типа, комплектации и целевого назначения. Например, ЭП для подписи документов в налоговой будет отличаться по стоимости от ЭП, предназначенной для участия в электронных торгах. Срок действия независимо от выбранного типа составит ровно 12 месяцев со дня оформления, но с возможностью продления, что значит следующее: после вам необходимо заново подготовить пакет документов и подать заявку в Удостоверяющий центр.

Как избежать проблем при использовании электронных ключей

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

  1. Не подключайте электронный ключ к компьютеру, если аналогичный интерфейс (чаще всего USB) параллельно использует другое устройство. Если этого не избежать, для работы с электронным ключом установите отдельную физическую плату.
  2. Всегда обращайте внимание на реакцию операционной системы после подключения к устройству электронного ключа. Если она ведет себя некорректно, ключ не работает или работает не так, как вы ожидаете, немедленно обратитесь за помощью к специалистам.
  3. Если к компьютеру подключен электронный ключ, воздержитесь от подключения к нему других периферийных устройств с отдельным питанием (например, принтеров). Это может вывести из строя любое из этих устройств.
  4. Не подключайте одновременно к одному компьютеру несколько электронных ключей, даже если у вас есть необходимое количество портов. В некоторых случаях это оправдано и ключи даже предполагают параллельное подключение друг к другу, но в других ситуациях это может вызвать сбои, о которых производители не всегда предупреждают заранее.
  5. Не допускайте механического повреждения электронных ключей — в частности, падений, ударов и сильных вибраций. Также стоит оберегать их от воздействия критично низких и высоких температур, агрессивных сред, прямого ультрафиолетового воздействия.
  6. Внимательно отнеситесь к установке драйверов для электронных ключей. Не инсталлируйте те драйвера, которые по умолчанию предлагает операционная система, пользуйтесь только тем ПО, которое рекомендует поставщик решения.

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

Аппаратные ключи защиты

Олег Татарников

Secret Disk

Заключение

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

ольшинство компьютерных программ распространяется по принципу владения оговоренным количеством рабочих копий (в простейшем случае — только одной). Естественно, общепринятый в международной практике термин «защита от копирования» достаточно условен, так как практически всегда можно переписать информацию, находящуюся на носителе, и сделать сколько угодно ее резервных копий. Другое дело, что для сохранения коммерческих и авторских прав разработчиков программа все равно должна выполняться только на одном компьютере. Таким образом, фактически защита от копирования для программного обеспечения — это невозможность выполнения программы на большем числе компьютеров, чем разрешено ее разработчиками и распространителями по данному договору. Следовательно, для сохранения прав необходимо наличие средств, дающих возможность защиты от несанкционированного выполнения — чтобы без санкции разработчика или фирмы-распространителя невозможно было получить работоспособный программный продукт.

Наиболее распространенным и надежным способом защиты от несанкционированного запуска стали программно-аппаратные ключи, подключаемые к COM-, LPT- или USB-портам. Почти все коробочные варианты серьезного коммерческого ПО используют программно-аппаратные комплексы защиты, более известные как аппаратные ключи защиты. Такие способы защиты основаны на том, что в компьютер добавляется специальное физическое защитное устройство, к которому при запуске защищаемой программы обращается ее контролирующая часть, проверяя наличие ключа доступа и его параметров. Если ключ не найден (устройства обычно формируют еще и код ответа, который затем анализируется программой), то программа не запустится (или не будет разрешен доступ к данным).

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

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

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

Наилучшим решением, по мнению экспертов, являются смарт-карты — их невозможно подделать, вероятность сбоя в работе практически исключена, аутентификация пользователя производится на локальной рабочей станции, а не на сервере, то есть исключена возможность перехвата информации в сети и т.д. Единственным недостатком смарт-карты может быть только необходимость специального карт-ридера (устройства считывания), но эту проблему решают устройства, интегрированные со считывателем, которые подключаются напрямую к USB-порту. Эти небольшие высокотехнологичные устройства обеспечивают авторизацию владельца в компьютерных системах, осуществляют безопасное хранение сертификатов, электронных подписей и т.д. и могут использоваться в электронных платежных системах (электронных «кошельках» для Интернета).

Сегодня все острее встает проблема обеспечения безопасности при использовании сетевых технологий и все более насущной становится потребность в решениях по защите мобильных пользователей. Появляются и беспроводные аппаратные ключи защиты приложений, работающие по технологии Bluetooth. Так, тайваньская компания First International Computer продемонстрировала PDA с соответствующим модулем и беспроводной аппаратный ключ защиты приложений BlueGenie, разработанный в сотрудничестве с Silicon Wave.

HASP

дним из наиболее распространенных в России защитных устройств такого типа является устройство HASP (Hardware Against Software Piracy) от компании Aladdin, по сути ставшее стандартом де-факто. Aladdin Software Security R.D. — это российская компания, представитель мирового лидера в области разработки и производства систем аутентификации, защиты информации при работе с Интернетом и защиты программного обеспечения от несанкционированного использования Aladdin Knowledge Systems Ltd (http://www.aladdin.ru/).

HASP — это аппаратно-программная инструментальная система, предназначенная для защиты программ и данных от нелегального использования, пиратского тиражирования и несанкционированного доступа к данным, а также для аутентификации пользователей при доступе к защищенным ресурсам. В первых версиях это небольшое устройство подключалось к параллельному порту компьютера. Затем появились USB-HASP-устройства. Иметь маленький USB-ключ значительно удобнее, чем большой 25-штырьковый сквозной разъем, да и часто возникающие проблемы с совместимостью ключей и устройств, работающих через параллельный порт, типа принтеров и ZIP-дисководов изрядно утомляли пользователей. А с USB-устройствами работает автоматическое подключение (рlug-and-рlay), порты USB выносятся на переднюю панель, встраиваются в клавиатуру и монитор. А если даже такого удобного разъема под рукой нет, то в комплекте с этими ключами часто продают удлинители. Существуют несколько разновидностей ключей — с памятью, с часами и т.д.

Основой ключей HASP является специализированная заказная микросхема — ASIC (Application Specific Integrated Circuit), имеющая уникальный для каждого ключа алгоритм работы. Принцип защиты состоит в том, что в процессе выполнения защищенная программа опрашивает подключенный к компьютеру ключ HASP. Если HASP возвращает правильный ответ и работает по требуемому алгоритму, то программа выполняется нормально. В противном случае, по усмотрению разработчика программы, она может завершаться, переключаться в демонстрационный режим или блокировать доступ к каким-либо функциям программы.

Используя память ключа, разработчик может:

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

У каждого ключа HASP с памятью имеется уникальный опознавательный номер, или идентификатор (ID-number), доступный для считывания защищенными программами и позволяющий различать пользователей. Идентификатор присваивается электронному ключу в процессе изготовления, что делает невозможным его замену, но гарантирует надежную защиту от повтора. С использованием идентификатора можно шифровать содержимое памяти и использовать возможность ее дистанционного перепрограммирования.

Hardlock

ardlock — это электронный ключ компании Aladdin, предназначенный для защиты приложений и связанных с ними файлов данных, позволяющий программировать ключи защиты и лицензировать авторское программное обеспечение. Механизм работы ключей Hardlock базируется на заказном ASIC-чипе со встроенной EEPROM-памятью.

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

Такие ключи могут устойчиво работает во всех компьютерах (включая ноутбуки), на различных портах, в самых разных режимах, позволяя подключать через них практически любые устройства — принтеры, сканеры, модемы и т.п. А малый ток потребления позволяет каскадировать любое количество ключей.

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

eToken

ак уже говорилось, наилучшим решением сегодня в области защиты информации являются смарт-карты, но для их использования необходимы специальные устройства считывания (карт-ридеры). Эту проблему снимают устройства типа eToken — электронные смарт-ключи производства той же компании Aladdin, подключаемые напрямую к USB-порту.

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

Каждому брелоку eToken можно присвоить уникальное имя, например имя его владельца. Чтобы узнать имя владельца eToken, достаточно подключить брелок к USB-порту и открыть окно «Свойства». Однако получить доступ к защищенной памяти eToken и воспользоваться этим брелоком без знания специального PIN-кода нельзя.

Кроме того, eToken выполнен в прочном водонепроницаемом корпусе и защищен от воздействия окружающей среды. Он имеет защищенную энергонезависимую память (модели PRO и RIC снабжены микропроцессором). Небольшой размер позволяет носить его на связке с ключами.

Если нужно подключить к компьютеру несколько ключей одновременно, а USB-портов не хватает, то можно воспользоваться концентратором (USB-HUB). Для удобства применения eToken поставляется вместе с удлинителем для USB-порта.

Таким образом, eToken может стать универсальным ключом, легко интегрируемым в различные системы для обеспечения надежной аутентификации. С его помощью можно осуществлять безопасный доступ к защищенным Web-страницам, к сетям, отдельным приложениям и т.д. Универсальность применения, легкость в использовании, удобство для пользователей и администраторов, гарантированное качество делают его прекрасным средством при необходимости использовать цифровые сертификаты и защищенный доступ.

Secret Disk

случае если объем конфиденциальной информации довольно значителен, можно воспользоваться устройством Secret Disk, выполненным с применением технологии eToken. Secret Disk — это разработка компании Aladdin Software Security R.D., предназначенная для защиты конфиденциальной информации на персональном компьютере с ОС Windows 2000/XP.

Принцип защиты данных при помощи системы Secret Disk заключается в создании на компьютере пользователя защищенного ресурса — секретных дисков, предназначенных для безопасного хранения конфиденциальной информации. Доступ к этой информации осуществляется посредством электронного ключа eToken, подсоединяемого к USB-порту компьютера. Доступ к информации, защищенной системой Secret Disk, получают только непосредственный владелец информации и авторизованные им доверенные лица, имеющие электронный ключ eToken и знающие его PIN-код. Для других пользователей защищенный ресурс будет невидим и недоступен. Более того, они даже не догадаются о его наличии.

Устанавливая на компьютере систему Secret Disk, пользователь может быть уверен в сохранности защищаемых данных. Конфиденциальная информация не может быть просмотрена, скопирована, уничтожена или повреждена другими пользователями. Она не может быть использована посторонними при ремонте или краже компьютера, а также при утере съемного зашифрованного диска.

Для защиты корпоративных серверов используется специальная версия — Secret Disk Server. Особенностью системы Secret Disk Server также является отсутствие следов закрытого «контейнера с информацией» в файловой системе. Таким образом, если злоумышленники снимут диск с вашего сервера, то они не только не смогут расшифровать данные — они даже не увидят, где именно находится информация.

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

Что касается проблем аутентификации, то все чаще применяется технология PKI (Public Key Infrastructure), использующая системы сертификатов и специальных серверов для их проверки — центров сертификации CA (Certification Authorities). Одни из самых популярных систем сертификации — RSA Keon, Baltimore, Verisign и Entrust, работающие по протоколам HTTP и LDAP (сертификаты X.509). Центр сертификации уже входит в поставку Windows 2000 Server; в платформе .Net будет встроена поддержка цифровых сертификатов. Остается нерешенной только проблема защищенного хранения цифровых сертификатов.

Однако даже индивидуальным пользователям к таким хранилищам стоит относиться с опаской: если специальное устройство хранит все пароли пользователя (в том числе и его private key) и впускает его в систему по аппаратному ключу, то достаточно подобрать к этому устройству один пароль — и все секреты как на ладони…

КомпьютерПресс 3’2003