Что такое аппаратное устройство и файловый ключ
Электронный ключ — это аппаратный инструмент, который используется для защиты ПО и электронных документов от незаконного копирования, несанкционированного применения или распространения третьими лицами. Также встречается другие его названия — электронная (или цифровая) подпись, etoken. Сегодня это обязательный реквизит для подтверждения подлинности ряда электронных документов. Его используют, чтобы зафиксировать определенное состояние информации — например, внесение или, наоборот, отсутствие каких-либо изменений с момента подписания документа.
eToken
ак уже говорилось, наилучшим решением сегодня в области защиты информации являются смарт-карты, но для их использования необходимы специальные устройства считывания (карт-ридеры). Эту проблему снимают устройства типа eToken — электронные смарт-ключи производства той же компании Aladdin, подключаемые напрямую к USB-порту.
eToken — это полнофункциональный аналог смарт-карты, выполненный в виде брелока. Он напрямую подключается к компьютеру через USB-порт и не требует наличия дорогостоящих карт-ридеров и других дополнительных устройств. Основное назначение eToken аутентификация пользователя при доступе к защищенным ресурсам сети и безопасное хранение цифровых сертификатов, ключей шифрования, а также любой другой секретной информации.
Каждому брелоку eToken можно присвоить уникальное имя, например имя его владельца. Чтобы узнать имя владельца eToken, достаточно подключить брелок к USB-порту и открыть окно «Свойства». Однако получить доступ к защищенной памяти eToken и воспользоваться этим брелоком без знания специального PIN-кода нельзя.
Кроме того, eToken выполнен в прочном водонепроницаемом корпусе и защищен от воздействия окружающей среды. Он имеет защищенную энергонезависимую память (модели PRO и RIC снабжены микропроцессором). Небольшой размер позволяет носить его на связке с ключами.
Если нужно подключить к компьютеру несколько ключей одновременно, а USB-портов не хватает, то можно воспользоваться концентратором (USB-HUB). Для удобства применения eToken поставляется вместе с удлинителем для USB-порта.
Таким образом, eToken может стать универсальным ключом, легко интегрируемым в различные системы для обеспечения надежной аутентификации. С его помощью можно осуществлять безопасный доступ к защищенным Web-страницам, к сетям, отдельным приложениям и т.д. Универсальность применения, легкость в использовании, удобство для пользователей и администраторов, гарантированное качество делают его прекрасным средством при необходимости использовать цифровые сертификаты и защищенный доступ.
Рекомендации по работе для пользователей ЭП
Разберемся подробно, для чего нужен электронный ключ и как его получить разным категориям населения. Электронная цифровая подпись массово используется в системах ЭДО, особенно для подготовки отчетности в налоговую индивидуальными предпринимателями. Им удобнее делать это в удаленном режиме, без посещения налоговой службы лично — так они экономят время и могут использовать его на развитие своего дела. Но при этом нужно учитывать, что нет универсального электронного ключа, который можно применять для разных задач. Отдельно придется получать квалифицированную ЭП для налоговой, подпись для ЕГАИС и электронных торгов. Однако временные затраты на эти мероприятия оправдывают себя в 100 % случаев, так как:
- Вы сокращаете расходы на ведение ЭДО;
- Вы не тратите время на посещение налоговой и других контролирующих органов;
- Вы можете принимать участие в Госзакупках и торгах, а также международной торговле.
1. Файловый вариант.
В этом случае существуют следующие варианты получения лицензий:
Преимущества, которые получают пользователи применяя программную защиту:
Как получить персональный электронный ключ
Вариантов сделать это два: для тех, у кого уже есть ЭЦП, и тех, у кого ее еще нет. Один из самых популярных способов создания ЭП базируется на способе ассиметричного шифрования. При этом шифруется не весь файл целиком, а только часть — хэш. При этом генерируются два типа ключа: закрытый и открытый. С помощью открытого узнать значение закрытого невозможно, поэтому если он попадет в свободный доступ, у вас не будет поводов для волнений. Однако открытый ключ потребуется для расшифровки закрытого, по отдельности друг от друга они не представляют никакой ценности.
Для создания электронного ключа потребуется действующий сертификат, который подтверждает подлинность электронной подписи. Получить сертификат можно в любом Удостоверяющем центре, который прошел аккредитацию в Минкомсвязи РФ. Ознакомиться с перечнем всех доступных и выбрать ближайший к вам Удостоверяющий центр можно на официальном веб-сайте ведомства.
Как сделать точную копию электронного ключа? Для этого необходимо перенести его вместе с сертификатами на иное устройство — компьютер или ноутбук. Есть как минимум два способа сделать это на практике.
- Если ключей несколько (не более десяти штук), воспользуйтесь специальным программным обеспечением. Удобной и надежной в работе зарекомендовала себя программа CryptoPro. Главное — устанавливайте ее с официального сайта разработчика, а не с подозрительных веб-ресурсов, на которых может быть размещен зараженный вирусами дистрибутив;
- Если ключей и сертификатов к ним много, скопируйте исходные файлы, в которых содержится зашифрованная информация. Это более сложный и затратный по времени способ, который требует определенных знаний и опыта. Но именно к нему прибегают во многих организациях с большим количеством электронных ключей — от нескольких десятков до нескольких сотен.
Как получить электронный ключ юрлицам?
Им так же регулярно, как и ИП, приходится ставить электронную подпись. Но для получения электронного ключа они обязаны предъявить иной пакет документов:
- Приказ, который подтверждает назначение руководителя компании;
- Паспорт гендиректора (отсканированная копия первого разворота и страницы с пропиской);
- СНИЛС и ОГРН;
- ИНН организации;
- Платежные реквизиты.
Согласно действующему законодательству РФ электронная подпись выступает аналогом печати для юридического лица, но без физического его присутствия таким образом она не работает. Доступ к электронной подписи может иметь генеральный директор компании или другой ее представитель, наделенный приказом соответствующими полномочиями.
Если требуется изготовить усиленную цифровую подпись, сделать это можно в Удостоверяющем центре. Забрать ее оттуда имеет право только учредитель компании или гендиректор. Накопитель можно выбирать произвольно: токен или флеш-накопитель. В комплекте к такой электронной подписи всегда идет комплект ПО, которое устанавливается для обмена информацией с партнерами организации, а также ключ и сертификат. Все компоненты являются обязательными для использования.
Многопользовательский клиентский ключ, доступный по сети через менеджер лицензий
Данный вариант обеспечивает работу стольких компьютеров, на сколько пользователей имеется ключ. На одном и том же компьютере можно запустить произвольное количество экземпляров системы в режиме 1С:Предприятие или Конфигуратор. Количество лицензий ограничено количеством компьютеров в сети, на которых установлены и настроены Hasp License Manager.
Как избежать проблем при использовании электронных ключей
Несмотря на то, что электронный цифровой ключ — это безопасно и надежно, необходимо придерживаться определенных правил по работе с ними. Это поможет избежать ряда типичных проблем, с которыми сталкиваются неподготовленные пользователи ЭП.
- Не подключайте электронный ключ к компьютеру, если аналогичный интерфейс (чаще всего USB) параллельно использует другое устройство. Если этого не избежать, для работы с электронным ключом установите отдельную физическую плату;
- Всегда обращайте внимание на реакцию операционной системы после подключения к устройству электронного ключа. Если она ведет себя некорректно, ключ не работает или работает не так, как вы ожидаете, немедленно обратитесь за помощью к специалистам;
- Если к компьютеру подключен электронный ключ, воздержитесь от подключения к нему других периферийных устройств с отдельным питанием (например, принтеров). Это может вывести из строя любое из этих устройств;
- Не подключайте одновременно к одному компьютеру несколько электронных ключей, даже если у вас есть необходимое количество портов. В некоторых случаях это оправдано и ключи даже предполагают параллельное подключение друг к другу, но в других ситуациях это может вызвать сбои, о которых производители не всегда предупреждают заранее.
- Не допускайте механического повреждения электронных ключей — в частности, падений, ударов и сильных вибраций. Также стоит оберегать их от воздействия критично низких и высоких температур, агрессивных сред, прямого ультрафиолетового воздействия;
- Внимательно отнеситесь к установке драйверов для электронных ключей. Не инсталлируйте те драйвера, которые по умолчанию предлагает операционная система, пользуйтесь только тем ПО, которое рекомендует поставщик решения.
Надеемся, из этой статьи понятно, что такое электронный ключ подписи, где и при каких обстоятельствах он используется и как его получить разным категориям населения — физическим лицам, юридическим лицам и индивидуальным предпринимателям.
В зависимости от вида клиента и месторасположения ключа с клиентскими лицензиями (локального или сетевого), возможны несколько вариантов учета лицензий.
Загрузка прошивки на устройство
Теперь, когда у нас есть готовый файл с прошивкой нам нужно только загрузить её на устройство. Для этого, нам придется немного поработать паяльником. Не беспокойтесь, особых навыков тут не потребуется, всего-то припаять 4 проводка.
Итак, берем один из программаторов и стягиваем с него корпус. Выбранный программатор и будет нашим донором. Вот что мы найдем внутри
Обратите внимание на 4 контакта на плате. К ним нам нужно будет припаяться. Я рекомендую использовать для этого провода, которые идут в комплекте с ST-Link. Зачищаем провода с одного конца и припаиваем их к контактам. Если нам повезло, то на плате будут обозначения этих контактов.
"
Теперь, второй конец проводов подключаем к оставшемуся целым программатору. Если вам повезло, то просто подключаем провода в соответствии с надписями:
GND к GND
3.3V к 3.3V
SWDIO к SWDIO
SWCLK к SWCLK
Если надписей на плате не оказалось, то прийдется тыкать наугад воспользоваться тестером. С его помощью можно легко найти GND(он соединен с GND на выводах программатора-донора), аналогично 3.3V. Остальные два провода прийдется подключать наугад. Благо, вариантов всего 2. В итоге, получается что-то похожее на это
На этом фото синий девайс — программматор, который мы используем только как программатор. Пусть вас не смущает то, что на фото в начале статьи у итогового девайса синий цвет корпуса. Это не он. Будущий девайс находится справа.
2. Клиент-серверный вариант. В этом случае существуют следующие варианты получения лицензий:
Виды лицензии 1С и их отличия
Между программным и аппаратным обеспечением «1С» существуют значительные отличия. Прежде всего, важно помнить, что различают такие типы лицензии «1С», как «1С» однопользовательская и многопользовательская. В случае с первым типом лицензии отличие между программной и аппаратной защитами состоит исключительно в «привязке» первой к компьютерному устройству. Что касается лицензии на множество пользователей, главное «1С» отличие программной защиты от usb здесь сводится к тому, что программный тип лицензии выдается «на соединение», тогда как аппаратный — «на рабочий стол».
На практике такое отличие означает, что при наличии на предприятии двух баз «1С», где ведется одновременная работа сотрудников, аппаратный ключ для запуска двух баз нуждается в одной лицензии, тогда как программный — в двух, согласно количеству используемых баз.
Как получить электронный ключ ИП?
В пакет документов, которые необходимо подать ИП, входят: паспорт гражданина РФ, свидетельство о регистрации индивидуального предпринимателя, СНИЛС, ИНН, выписка из ЕГРИП, платежные реквизиты.
Локальный ключ
Он обеспечивает запуск любого количества экземпляров системы в режиме 1С:Предприятие или Конфигуратор на компьютере с ключом.
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 также является отсутствие следов закрытого «контейнера с информацией» в файловой системе. Таким образом, если злоумышленники снимут диск с вашего сервера, то они не только не смогут расшифровать данные — они даже не увидят, где именно находится информация.
Собираем все обратно
Теперь, когда все шаги позади, осталось позаботиться о внешнем виде нашего девайса. Отпаиваем провода. Оригинальная панель контактов нам тоже больше не нужна, так что можно смело выпаять её.
Разламываем крепление и выпаиваем контакты по одному.
Теперь надеваем обратно корпус, и заклеиваем заднюю стенку подходящим куском пластика.
Многопользовательский клиентский ключ, доступный по сети через менеджер лицензий
Данный вариант обеспечивает работу стольких компьютеров, на сколько пользователей имеется ключ. На одном и том же компьютере можно запустить произвольное количество экземпляров системы в режиме 1С:Предприятие или Конфигуратор. Количество лицензий ограничено количеством компьютеров в сети, на которых установлены и настроены Hasp License Manager.
Hardlock
ardlock это электронный ключ компании Aladdin, предназначенный для защиты приложений и связанных с ними файлов данных, позволяющий программировать ключи защиты и лицензировать авторское программное обеспечение. Механизм работы ключей Hardlock базируется на заказном ASIC-чипе со встроенной EEPROM-памятью.
Чип имеет сложную внутреннюю организацию и нетривиальные алгоритмы работы. Логику работы чипа практически невозможно реализовать с помощью стандартных наборов микросхем, его очень сложно воспроизвести, а содержащийся в его памяти микрокод считать, расшифровать или эмулировать.
Такие ключи могут устойчиво работает во всех компьютерах (включая ноутбуки), на различных портах, в самых разных режимах, позволяя подключать через них практически любые устройства — принтеры, сканеры, модемы и т.п. А малый ток потребления позволяет каскадировать любое количество ключей.
Hardlock осуществляет защиту 16- и 32-разрядных приложений и связанных с ними файлов данных в прозрачном режиме. При чтении данные автоматически расшифровываются, при записи зашифровываются с использованием заданного аппаратно-реализованного алгоритма. Эта возможность может использоваться также для хранения и безопасной передачи информации в сети Интернет.
Компилируем прошивку
Итак, начнем с софтварной части — сборке прошивки для нашего ключа. Исходные коды прошивки можно найти в этом репозитории. Я бы посоветовал скачать последнюю стабильную версию(её можно найти во вкладке tags). Можно склонировать репозиторий либо скачать в виде zip архива. Разминаем пальцы, запускаем терминал и переходим в папку с проектом. Переходим в папку src
Для того чтобы скомпилировать и загрузить прошивку нам нужно установить несколько пакетов:
- arm-none-eabi-gcc
- arm-none-eabi-newlib
- openocd
Если Вы сидите на Ubuntu — используйте apt.
Напомню, что мы находимся в папке src проекта.
Запускаем configure скрипт
Запускаем утилиту make и наблюдаем как компилируется наша прошивка.
После компиляции появится папка build, а в ней файл gnuk.elf — он-то нам и нужен.
Как получить электронный ключ физическому лицу?
Изначально электронные ключи были предназначены только для ИП и юрлиц, но в последнее время ими активно пользуются обычные интернет-пользователи (физические лица). Где им будет полезна электронная подпись:
Техническая реализация
Электронный ключ подписи выполнен в виде микросхемы или микроконтроллера, оснащенного энергонезависимой памятью. Чаще всего это устройства в виде флеш-накопителя, который подключается к компьютеру или ноутбуку через USB-порт. Чуть реже выпускаются аппаратные ключи с LPT- или PCMCIA-интерфейсами.
Если по роду деятельности вам приходится регулярно сталкиваться с электронными ключами, наверняка у вас часто возникали сомнения в их защищенности, а также том, насколько надежны они в системах хранения денежных средств или важной информации. Об этом не стоит беспокоиться. Когда такой ключ подсоединяют к компьютеру или ноутбуку, он начинает взаимодействовать с защищенной программой. Та посредством драйвера отправляет ему определенную информацию, цифровой носитель с электронным ключом ее обрабатывает и отправляет обратно. Если информация корректная (т. е. ключ «ответил» правильно) программа может продолжить свою работу, в противном случае дальнейшие действия с ней будут немедленно заблокированы. Целостность, аутентичность и подлинность документов, которые подписываются электронной подписью, гарантируют надежные криптографические протоколы и алгоритмы, а также программно-аппаратные решения, которые работают на их базе.
Иногда используется другое определение тому, что такое электронный ключ. Альтернативный вариант исполнения электронного ключа или etoken’а — программное приложение. Его также называют виртуальным электронным ключом. В таком формате особенно часто его используют для подтверждения банковских и других финансовых операций через интернет. Однако портативные устройства в виде USB-флешек считаются более защищенными, так как в них подтверждение каждой транзакции происходит внутри устройства, то есть физически не покидает его пределов.
Локальный ключ
Он обеспечивает запуск любого количества экземпляров системы в режиме 1С:Предприятие или Конфигуратор на компьютере с ключом.
Какие плюсы и минусы есть при использовании программной лицензии «1С»?
Минусы использования программных лицензий:
- Из удобства использования программных лицензий «1С» рождаются и их недостатки. Не получится просто вытащить из одного компьютера USB-ключ и установить его в другой. Программная лицензия привязана к компьютеру, на который была установлена. Поэтому есть возможность получить еще два запасных пин‑кода для активации программной лицензии — фирма «1С» побеспокоилась о том, чтобы в случае форс-мажора, например, пожара в серверной, когда выгорает все оборудование вы хотя бы не были вынуждены покупать новые ключи защиты к своей «1С».
- Изменяя конфигурацию своего сервера «1С:Предприятие» вы тем самым изменяете параметры, которые запоминаются системой при активации программной лицензии. Поэтому меняя что-то будьте готовы использовать запасной пин‑код на активацию. Не стоит увлекаться апгрейдом без особой нужды — программная лицензия поставляется всего с тремя пин-кодами для активации.
- Следующий недостаток является продолжением первого. Если вы держите сервер «1С:Предприятие» на виртуалке, то при смене параметров виртуального сервера будет сброшена и активация программной лицензии. Вновь придется использовать запасной пин‑код.
Отличие аппаратной и программной защиты «1С» кроется и в том, что раздача данных при многопользовательском варианте лицензии аппаратного типа происходит с использованием ПО «HASP License Manager». Установить ее можно по локальной сети на любое компьютерное устройство. Что касается программной лицензии, установить ее можно на сервер «1С» или терминальный сервер, причем программные ключи легко подлежат «склеиванию», что невозможно с аппаратными ключами ввиду технических ограничений.
Выбор между однопользовательской и многопользовательской защитой
Часто возникает вопрос, «1С» однопользовательская или многопользовательская лицензия — какой из них отдать предпочтение? Программные и аппаратные лицензии «1С» многопользовательского типа имеют больше преимуществ:
- они конкурентоспособны;
- администрировать многопользовательскую программу проще, чем более десятка однопользовательских;
- система многопользовательского типа труднее подлежит взлому.
Рекомендуется отдавать предпочтение многопользовательской лицензии «1С» при выполнении одного из следующих условий:
- пользователи, требующие лицензию «1С», работают с одним компьютером в терминальной сессии;
- использование баз данных с лицензией «1С» выполняется в клиент-серверном виде.
Однако неуместной многопользовательская система будет в случае, если не все базы данных подлежат размещению на сервере «1С».
Что касается однопользовательских лицензий, их установка происходит по отдельности на все необходимые компьютеры, что позволяет программе «1С» функционировать на каждом из них. Однако при каждом обновлении программного обеспечения или замене деталей устройства программа «слетает», с чем остается только смириться.
Если ваше предприятие выбрало многопользовательскую лицензию для «1С», возникает следующая задача — куда выполнить ее установку, на локальное компьютерное устройство или на сервер. Еще более затруднительной ситуация становится по той причине, что вопрос в данном случае — не совсем корректный. Под понятием «сервер» в данном случае подразумевается программная составляющая лицензии «1С», в то время как понятие «локальный компьютер» подразумевает сервер терминальных подключений.
Единственного правильного ответа, какому типу установки отдать предпочтение, не существует. Все исходит из индивидуальных особенностей предприятия. Однако обращаясь к специалистам, пользователи всегда могут рассчитывать на консультационную поддержку. В частности, «1С‑Рарус», предлагая клиентам покупку «1С», перед ее непосредственной продажей и установкой детально разъяснит, каковы основные отличия разных типов лицензий и какие есть преимущества установки конкретного его типа.
Обращайтесь в «1С‑Рарус», чтобы оперативно и высокопрофессионально выполнить установку аппаратной или программной лицензии «1С» без возникновения трудностей, как при однопользовательском, так и при многопользовательском режиме работы.
Первоначально аппаратные ключи были созданы как средство борьбы с несанкционированным копированием программных продуктов, но в дальнейшем сфера их применения значительно расширилась.
ольшинство компьютерных программ распространяется по принципу владения оговоренным количеством рабочих копий (в простейшем случае — только одной). Естественно, общепринятый в международной практике термин «защита от копирования» достаточно условен, так как практически всегда можно переписать информацию, находящуюся на носителе, и сделать сколько угодно ее резервных копий. Другое дело, что для сохранения коммерческих и авторских прав разработчиков программа все равно должна выполняться только на одном компьютере. Таким образом, фактически защита от копирования для программного обеспечения — это невозможность выполнения программы на большем числе компьютеров, чем разрешено ее разработчиками и распространителями по данному договору. Следовательно, для сохранения прав необходимо наличие средств, дающих возможность защиты от несанкционированного выполнения — чтобы без санкции разработчика или фирмы-распространителя невозможно было получить работоспособный программный продукт.
Наиболее распространенным и надежным способом защиты от несанкционированного запуска стали программно-аппаратные ключи, подключаемые к COM-, LPT- или USB-портам. Почти все коробочные варианты серьезного коммерческого ПО используют программно-аппаратные комплексы защиты, более известные как аппаратные ключи защиты. Такие способы защиты основаны на том, что в компьютер добавляется специальное физическое защитное устройство, к которому при запуске защищаемой программы обращается ее контролирующая часть, проверяя наличие ключа доступа и его параметров. Если ключ не найден (устройства обычно формируют еще и код ответа, который затем анализируется программой), то программа не запустится (или не будет разрешен доступ к данным).
Общий принцип работы компьютера в этом случае следующий. После запроса на выполнение защищаемой программы происходят ее загрузка в оперативную память и инициализация контролирующей части. На физическое устройство защиты, подсоединенное к компьютеру, посылается запрос. В ответ формируется код, посылаемый через микропроцессор в оперативную память для распознавания контролирующей частью программы. В зависимости от правильности кода ответа программа либо прерывается, либо выполняется.
В дальнейшем сфера применения таких ключей значительно расширилась. Сегодня этот ключ используется для идентификации владельца, для хранения его личной электронной подписи, конфиденциальной информации, а также как кредитная смарт-карта или электронные деньги.
Таким образом, мы имеем сегодня недорогое средство для широкомасштабного внедрения смарт-ключей в качестве персональных идентификаторов или в составе так называемых ААА-систем (аутентификация, авторизация и администрирование). До сих пор предлагалось оснащать компьютеры специальными считывателями, что, конечно, нереально. Современные устройства биометрической аутентификации пользователей (столь часто показываемые в голливудских фильмах) типа систем, работающих с отпечатками пальцев или со снимками радужной оболочки глаза, стоят настолько дорого, что не найдут широкого практического применения. При этом в любом случае следует помнить, что абсолютно надежной защиты не существует. Любую защиту можно сломать, поэтому необходимо искать оптимальное соотношение затрат на создание защиты и прогнозируемых затрат на ее взлом, учитывая также ценовое соотношение с самими защищаемыми продуктами.
Наилучшим решением, по мнению экспертов, являются смарт-карты — их невозможно подделать, вероятность сбоя в работе практически исключена, аутентификация пользователя производится на локальной рабочей станции, а не на сервере, то есть исключена возможность перехвата информации в сети и т.д. Единственным недостатком смарт-карты может быть только необходимость специального карт-ридера (устройства считывания), но эту проблему решают устройства, интегрированные со считывателем, которые подключаются напрямую к USB-порту. Эти небольшие высокотехнологичные устройства обеспечивают авторизацию владельца в компьютерных системах, осуществляют безопасное хранение сертификатов, электронных подписей и т.д. и могут использоваться в электронных платежных системах (электронных «кошельках» для Интернета).
Сегодня все острее встает проблема обеспечения безопасности при использовании сетевых технологий и все более насущной становится потребность в решениях по защите мобильных пользователей. Появляются и беспроводные аппаратные ключи защиты приложений, работающие по технологии Bluetooth. Так, тайваньская компания First International Computer продемонстрировала PDA с соответствующим модулем и беспроводной аппаратный ключ защиты приложений BlueGenie, разработанный в сотрудничестве с Silicon Wave.
HASP — это аппаратно-программная инструментальная система, предназначенная для защиты программ и данных от нелегального использования, пиратского тиражирования и несанкционированного доступа к данным, а также для аутентификации пользователей при доступе к защищенным ресурсам. В первых версиях это небольшое устройство подключалось к параллельному порту компьютера. Затем появились USB-HASP-устройства. Иметь маленький USB-ключ значительно удобнее, чем большой 25-штырьковый сквозной разъем, да и часто возникающие проблемы с совместимостью ключей и устройств, работающих через параллельный порт, типа принтеров и ZIP-дисководов изрядно утомляли пользователей. А с USB-устройствами работает автоматическое подключение (рlug-and-рlay), порты USB выносятся на переднюю панель, встраиваются в клавиатуру и монитор. А если даже такого удобного разъема под рукой нет, то в комплекте с этими ключами часто продают удлинители. Существуют несколько разновидностей ключей — с памятью, с часами и т.д.
Основой ключей HASP является специализированная заказная микросхема ASIC (Application Specific Integrated Circuit), имеющая уникальный для каждого ключа алгоритм работы. Принцип защиты состоит в том, что в процессе выполнения защищенная программа опрашивает подключенный к компьютеру ключ HASP. Если HASP возвращает правильный ответ и работает по требуемому алгоритму, то программа выполняется нормально. В противном случае, по усмотрению разработчика программы, она может завершаться, переключаться в демонстрационный режим или блокировать доступ к каким-либо функциям программы.
Используя память ключа, разработчик может:
- управлять доступом к различным программным модулям и пакетам программ;
- назначать каждому пользователю защищенных программ уникальный номер;
- сдавать программы в аренду и распространять их демо-версии с ограничением количества запусков;
- хранить в ключе пароли, фрагменты кода программы, значения переменных и другую важную информацию.
У каждого ключа HASP с памятью имеется уникальный опознавательный номер, или идентификатор (ID-number), доступный для считывания защищенными программами и позволяющий различать пользователей. Идентификатор присваивается электронному ключу в процессе изготовления, что делает невозможным его замену, но гарантирует надежную защиту от повтора. С использованием идентификатора можно шифровать содержимое памяти и использовать возможность ее дистанционного перепрограммирования.
ЭП или ЭЦП?
Ранее в обходе была аббревиатура ЭЦП — электронная цифровая подпись. Но после вступления в силу ФЗ № 63 это название сократилось до ЭП, электронная подпись. Именно для электронной подписи используется электронный ключ. По законодательству РФ под ЭП понимают эквивалент подписи, которая ставится «от руки» и обладает аналогичной юридической силой. Электронная подпись позволяет физическим лицам удаленно (через интернет) подписывать документы с государственными, финансовыми, медицинскими, учебными и другими учреждениями. Юридические лица могут с ее помощью участвовать в электронных торгах, вести электронный документооборот (ЭДО), сдавать отчеты в налоговую и т. п.
Заключение
Однако даже индивидуальным пользователям к таким хранилищам стоит относиться с опаской: если специальное устройство хранит все пароли пользователя (в том числе и его private key) и впускает его в систему по аппаратному ключу, то достаточно подобрать к этому устройству один пароль — и все секреты как на ладони…
Итоговый результат — ключ размером с флешку
Повсеместное шифрование и, как следствие, обилие ключей заставляет задуматься об их надежном хранении. Хранение ключей на внешних устройствах, откуда они не могут быть скопированы, уже давно считается хорошей практикой. Я расскажу о том, как за 3$ и 2 часа сделать такой девайс.
Это из Гарри Поттера. На фото изображены крестражи. Цитата из фильма: «Крестраж — это предмет, в котором человек спрятал часть своей души… помещает её в предмет и он будет защищен, если на него нападут . ». Личные данные, которые мы все пытаемся защитить, вполне заслуженно можно сравнить с частью души)
Необходимые компоненты
Как ни странно, программатор для микроконтроллеров STM32 собран на микроконтроллере STM32. Этот девайс внешне очень напоминает флешку, что нам как нельзя на руку. К тому, же его корпус изготовлен из алюминия, так что можно не переживать что он повредится. Стоит это чудо на алиэкспресс 1.5-3 доллара. Нам потребуется две такие штуки. Одну мы переделаем под ключ, а вторую будем использовать чтобы залить прошивку на первую. Если у Вас уже есть программатор STM32 можно обойтись и одной штукой.
Итого, нам потребуется:
- Программатор ST-Link v2 — 2 штуки
- Паяльник
- Немного проводов — как правило подходящие провода уже идут в комплекте с ST-Link
- Linux, для того, чтобы скомпилировать и залить прошивку
Многопользовательский клиентский ключ, без установленного менеджера лицензий и многопользовательский ключ, доступный по сети через HASP License Manager
В данном варианте ключ может находится как в сети, так и на компьютере с сервером "1С:Предприятия". Так как подсчетом лицензий занимается сам сервер, то лицензии расходуются по принципу: один сеанс - одна лицензия.
Ключи 1С делятся на 3 вида, и их можно отличить по цвету:
Клиентское приложение допускает использование следующих ключей HASP:
- локальный клиентский ключ серии ORGL8 на 1 пользователя,
- сетевой клиентский ключ серии ORGL8 на 5, 10, 20, 50, и 100 пользователей,
- сетевой клиентский ключ серии ORGLА на 300 пользователей,
- сетевой клиентский ключ серии ORGLВ на 500 пользователей.
Причём на одном компьютере может быть установлено не более одного ключа одной серии.
Чтобы сетевой ключ HASP стал доступным через локальную сеть для клиентских приложений, должна быть запущена программа менеджер лицензий на том же компьютере, где установлен ключ (HASP Licence Manager). Данная программа входит в комплект поставки. Менеджер лицензий может быть запущен в двух режимах: как сервис или как приложение.
Менеджеру лицензий можно установить различные параметры. Для этого существует файл менеджера лицензий nhsrv.ini. По умолчанию конфигурационный файл установлен в каталог загрузочных модулей, обычно это - "C:\Program Files\Aladdin\HASP LM".
Максимальное количество подключенных к менеджеру лицензий пользователей определяется параметром NHS_USERLIST файла nhsrv.ini.
При использовании ключей 1с могут возникать сложности, если не были выполнены необходимые настройки, либо ключ был применен неправильно. Давайте рассмотрим наиболее распространенные ошибки и проблемы, возникающие при работе с ключом 1с.
1) Установка драйвера ключа защиты HASP завершается неуспешно
Ошибки могут возникать в следующих ситуациях:
Когда на ключе защиты 1с HASP горит светодиодный индикатор, это значит, что ключ определяется системой как физическое устройство, и что драйвер был успешно установлен. Если запустить утилиту инсталляции с интерфейсом командной строки с параметром -info, то можно проверить успешность установки драйверов (haspdinst.exe –info или hinstall -info).
При установке на новую операционную систему старой версии драйвера ключа защиты 1с HASP. Для исправление ошибки нужно всего лишь обновить драйвер.
Файлы драйвера могли быть заблокированы, если перед установкой драйвера ключа защиты HASP было запущено защищенное приложение. В данном случае необходимо установить драйвер сразу же после загрузки системы либо применить консольную версию утилиты установки с параметрами командной строки: hinstall -i -kp.
2) Ошибка: HASP not Found (-3), (Error 7), (H0007)
Данная ошибка может возникать в таких ситуациях:
- К компьютеру не подсоединен ключ 1С HASP. Необходимо подсоединить ключ защиты 1с.
- При использовании сетевого ключа защиты 1с ошибка может возникать, если на компьютере с установленным ключом 1с HASP не запущен менеджер лицензий.
- Сетевой ключ 1с, который в данный момент подключен к компьютеру в сети, на самом деле не является сетевым. Следует проверить установленный ключ 1с и, если была допущена ошибка, подключить требуемый сетевой ключ 1с HASP.
- Используется ключ 1с HASP другой серии (ключ от другого ПО). Для исправления ошибки нужно подключить ключ 1с, требуемой серии.
- Если ключ 1с HASP сетевой, то возникновение ошибки может быть связано с тем, что на компьютере с установленным ключем 1с или на компьютере с запущеным защищенным приложением происходит блокировка передачи трафика по порту 475 (блокировку передачи по сети могут вызывать антивирусные программы или брандмауэр windows)
3) 2 и больше менеджеров лицензий
При работе с 1С может быть одновременно запущены два и более менеджеров лицензий (License Manager). Но для правильной работы необходимо их настроить, а именно назначить каждому менеджеру лицензий свое имя и сообщить эти имена каждой из копий защищенной программы. Чтобы задать имя менеджеру лицензий, нужно использовать файл nhsrv.ini, который обычно находится в том же каталоге, что и менеджер лицензий. В случае, если менеджер установлен как сервис, он находится в каталоге Windows\System32. Чтобы задать имя менеджера лицензий, используйте цифры и латинские символы, при чем длина имени должна быть не больше 7 символов.
Чтобы сообщить защищенной программе имена менеджеров, используйте файл nethasp.ini, который должен находится в той же директории, что и защищенное приложение.
При работе нужно указывать реальные IP-адреса компьютеров, где установлены соответствующие менеджеры лицензий.
Драйвер защиты загружается медленее, чем сервер защиты из автозагрузки.
Вместо Сервера защиты используйте Менеджер лицензий LMSETUP, который устанавливается в качестве службы (Service) Windows.
Продукция «1С:Предприятие» в настоящее время по умолчанию реализуется в виде программной лицензии, однако так было далеко не всегда. Относительно недавно для защиты программ от незаконного распространения использовались USB-токены, внешне представляющие собой «флеш-носители» синего или красного цвета. Вскоре после появления программных лицензий лицензии аппаратного типа «1С» стали выдаваться только по индивидуальным запросам.
Программная и аппаратная защита «1С» имеют свои особенности и по-своему эффективны. Существует несколько отличий usb ключа от программной защиты.
Лицензия программная реализовывается путем ее привязки к компьютерному устройству, куда планируется установка «1С», и предполагает введение пин-кода активации.
Аппаратная защита — это своеобразный USB-ключ, содержащий в себе данные, позволяющие в дальнейшем проверить лицензию через особый драйвер. Установка такого драйвера на машину происходит одновременно с установкой «1С».
Кратко о принципах работы
- Сохранить в файлике на рабочем столе — старый и проверенный годами способ записать что-то. Проблема в том, что помимо самого пользователя еще куча других программ имеет доступ к файлам на вашем рабочем столе. И если вы совершенно уверены в том, что все они делают то, для чего они предназначены, не собирают о вас никакие данные и попросту не сливают их в сеть — эта статья не для вас.
- Менеджеры паролей — по-сути такое же хранение в файлике, просто он теперь зашифрован и чтобы получить доступ нужно знать пароль. Уже неплохо, но раз менеджер паролей запускается на вашем компьютере, то незашифрованные ключи попадают в оперативную память, откуда могут быть украдены из-за какой-нибудь уязвимости ОС
- Записать на бумажку — удивительно, но этот способ выглядит немного более безопасным. Ключи не хранятся на вашем компьютере, кишащем вирусами. Каждый раз, когда вам нужно использовать ключ вы просто вводите его с клавиатуры. Однако, если ваши ключи довольно длинные(как например ssh-ключи) это может стать проблемой. Да и кейлоггеры не дремлют
Загружаем прошивку
Мы в шаге от успеха, осталось только загрузить прошивку. Открываем терминал, переходим в папку с нашей прошивкой(gnuk.elf).
Итак, теперь мы залили прошивку на наш девайс. Остался один шаг — запретить чтение памяти микроконтроллера. ВНИМАНИЕ! Это очень важный этап, который не позволит человеку, который украл ваш ключ, вытащить из него секретную информацию.
Для этого запускаем команду:
Теперь все готово.
Пример использования для ssh
И под конец, давайте посмотрим как можно использовать этот ключ для хранения ssh-ключей и подключения к удаленному серверу.
Есть два пути — сгенерировать новый ключ или импортировать уже имеющийся ключ на токен.
Посмотрим оба варианта. Вставляем токен в USB. В dmesg можно посмотреть информацию о подключенном устройстве.
Генерация нового ssh ключа
Важно понимать, что ключ генерируется на самом устройстве, а не на вашем компьютере. Так что, такой ключ вообще никогда не покидает пределы устройства.
Открывается интерактивный режим gpg, включаем режим администратора командой admin:
Далее запускаем команду генерации нового ключа:
Далее идет стандартная процедура генерации ключа gpg. Во время которой вам будет предложено сохранить бекап ключа на диск. Разработчики рекомендуют делать бэкапы, но решать вам.
Единственно — аппаратно поддерживается генерация RSA ключей до 2048 бит. Если нужно 4096 — ключ прийдется генерировать на компьютере, а потом уже импортировать на само устройство.
Далее вам потребуются пин-коды. По умолчанию в прошивке зашиты следующие пин-коды:
CARD PIN — 123456
ADMIN PIN — 12345678
В будущем их обязательно нужно поменять.
Ключ может генерироваться немного дольше, чем если бы он генерировался непосредственно на компьютере, поэтому запасаемся терпением.
Импорт уже имеющегося ключа
Теперь посмотрим что делать, если у вас уже есть ssh-ключ, который вы хотели бы использовать.
Для этого импортируем ключ в gpg:
Теперь нам нужно узнать id ключа. Для этого выводим список всех доступных в gpg:
И находим импортированный ключ:
В моем случае id ключа — DFEFF02E226560B7F5A5F2CAB19534F88F8FE4EC
Заходим в интерактивный режим редактирования ключа gpg:
И даем команду на копирование ключа на смарт карту:
Экспорт публичного ключа в ssh формате
Достаем нужный публичный ключ с токена для того, чтобы положить его на сервер:
В моем случае вывод выглядит так:
Тут нас интересует ID-шник ключа, в моем случае 01. Теперь экспортируем публичный ключ:
Копируем публичный ключ в файлик pub.key:
И конвертируем его в ssh-rsa формат:
Получается публичный ключ в нужном формате:
Дальше идет стандартная процедура настройки ssh для входа по заданному ключу — нужно добавить ключ в файлик ~/.ssh/authorized_keys на удаленном сервере.
Конфигурирование ssh
Теперь, для того, чтобы зайти на сервер с использованием нашего токена нужно вызвать ssh с ключом -I и передать путь к драйверу токена. Наш токен совместим с одним из стандартных драйверов, так что будем использовать его
Однако, удобнее будет воспользоваться config файлом (~/.ssh/config)
Добавляем в него следующие строки
Теперь вызов ssh стал еще проще:
Как поменять стандартные пин-коды
Не менее важным шагом будет установка собственных пин-кодов. Для начала нужно понять, что тут используется два разных пин-кода:
- PIN-code — этот код используется при рутинных операциях со смарт картой — зашифровать что-то, подписать и т.д.
- Admin Pin-code — этот код нужен для того, чтобы изменять/удалять ключи и делать всякие подобные «админские» вещи
- Reset code — код, который позволит разблокировать токен, после трех неправильных попыток ввода PIN-кода. Его использование не обязательно, так что решать вам
Теперь приступим. Для этого опять заходим в интерактивный режим GPG:
И вводим команду passwd:
Откроется окно, где можно будет сменить пин-код от токена.
Теперь нужно поменять пин-код администратора. Для этого переходим в режим администратора:
Вводим команду passwd снова:
Однако теперь она работает в расширенном режиме и нам предложат несколько вариантов:
Выбираем change Admin PIN и по стандартной схеме устанавливаем пароль администратора. Напомню, default Admin PIN — 12345678.
Как можно использовать
То, что мы собрали — эмулятор OpenPGP смарт карты. Такая карта может хранить в себе GPG, SSH ключи. Область применения довольно большая, например:
Сколько стоит и как долго действует электронный ключ?
Здесь нужно разделять понятия «электронный ключ» как цифровой носитель информации и непосредственно электронная подпись. Стоимость электронной подписи будет отличаться в зависимости от ее типа, комплектации и целевого назначения. Например, ЭП для подписи документов в налоговой будет отличаться по стоимости от ЭП, предназначенной для участия в электронных торгах. Срок действия независимо от выбранного типа составит ровно 12 месяцев со дня оформления, но с возможностью продления, что значит следующее: после вам необходимо заново подготовить пакет документов и подать заявку в Удостоверяющий центр.
О безопасности устройства
Разумеется, за 3$ нельзя достичь секьюрности уровня ключей за 200+ долларов. Однако, собранный девайс можно рассматривать как ключ начального уровня. Насколько мне известно, заводские ключи Nitrokey Start используют такую же прошивку. В любом случае, использование такого устройства поднимет безопасность как минимум на уровень выше. Так что это отличный способ начать использовать аппаратные ключи.
Теперь поговорим немного о том, что будет если Вы потеряете этот ключ. Сам ключ защищен пин-кодом. После нескольких неудачных попыток ключ блокируется. Память самого устройства защищена от чтения, так что считать записанные в него ключи напрямую не получится.
Существуют некоторые виды атак на сам чип(например препарирование и подключение к нему микроэлектородов, что позволит измерять напряжение в любом месте чипа, в том числе и памяти), но они довольно затратные.
Так что, повторюсь еще раз, это отличный вариант начального уровня, и даже с ним безопасность выйдет на принципиально новый уровень.
Ссылки на полезные материалы
В процессе использования устройства наверняка возникнет потребность в дополнительной информации. Я собрал список хороших источников.
-
на сайте Debian по токену по токену Nitrokey Start — в нем используется та же прошивка, так что советы подойдут и нам
Читайте также: