что такое генерация электронной подписи
Как происходит генерация ключа электронной подписи, что необходимо учесть
В настоящее время субъекты все чаще используют систему электронного документооборота. Для идентификации и придания таким документам юридической силы используется ключ ЭЦП.
Она не только определяет, кто является подписантом документа, но и защищает целостность его структуры. Ее созданием занимаются специализированные удостоверяющие центры, которыми для этого используется генерация электронной подписи.
Понятие «генерации ключа»
Ключ ЭЦП представляет собой уникальную комбинацию зашифрованных символов. Генерация ключей ЭП это процесс формирования данной уникальной комбинации.
Набор символов создается случайным образом путем осуществления манипуляции мышки на компьютере или тачпада на ноутбуке под контролем специализированной программы, определяющей координаты.
С помощью них соответствующие программные обеспечения создает соответствующий шифр. Процесс построен таким образом, чтобы ключ всегда генерировался уникальным, без повторения шифров. Теоретически такая возможность все-таки существует, но она равна 0,0000000001%.
При этом важно учитывать, какая создается ЭЦП. Если это усиленная квалифицированная, то она может выпускаться только специализированными удостоверяющими центрами. Для ее генерирования применяется рассмотренный выше процесс.
Неквалифицированную могут формировать и другие субъекты, тогда используются шаблоны шифрования. После его создания нужно просто его зарегистрировать в удостоверяющем центре.
Для усиленных ЭЦП используются сразу два ключа – закрытый и открытый. Удостоверяющий центр генерирует закрытый. Открытый ключ создается при установке ЭЦП на компьютер.
Простая ЭЦП может создаваться (генерироваться) даже самим пользователем. При этом обращаться в удостоверяющий центр нет необходимости.
Как происходит генерация ключа
Ключи генерируются либо в удостоверяющих центрах, либо самим субъектом. Генерация ключа в удостоверяющих центрах происходит по рассмотренному выше алгоритму.
Если субъект принимает решение самостоятельно сгенерировать ключ, ему нужно выполнить следующее:
Самостоятельная генерация сертификата доступна только опытным пользователям. Главное ее преимущество – экономия времени.
Однако, лучше всего генерировать ЭЦП в удостоверяющих центрах.
Работа с клиентом СЭД «АРМ»
Работа с этой программой очень проста. Она запускается даже на устаревших версиях Windows, а в системах MacOS и Linux ее можно запустить при помощи среду эмуляции Wine.
Кроме этого, программу не нужно устанавливать — достаточно просто распаковать содержимое из архива.
Алгоритм использования программы очень прост:
Если необходимо создать квалифицированный сертификат, то требуется выбирать при запросе криптопровайдера выбирать пункт «MyCryptoPro 2.0» либо другой, исходя из дальнейших целей использования указанного сертификата.
В процессе заполнения данных по сертификату крайне важно тщательно проверять всю указываемую информацию, особенно ФИО пользователя, его ИНН и т. д.
Если будет допущена хоть мелкая ошибка (например, опечатка или пропущена буква), то ключом в дальнейшем нельзя будет пользоваться — он не пройдет проверку данных и будет объявлен нелегитимным.
Работа с открытым и закрытым ключом
После того, как пользователь произвел генерацию запроса на неквалифицированную подпись, после проверку ему предоставляют открытый и закрытый ключи:
Закрытый ключ также может применяться для создания и установки сертификата в систему. Это обычно производится при помощи криптографического комплекса «Крипто Про», который автоматически находит рутокены и предлагает выполнить действия с имеющимися на них ключами.
Квалифицированная подпись выдается удостоверяющим центром только на защищенном рутокене. Такую подпись отличает от остальных использование более современных методов шифрования.
Генерация открытых сертификатов и ключей для использования в системе Windows осуществляется через криптографический комплекс «Крипто Про».
Что нужно учесть
Нужно помнить, что не все удостоверяющие центры могут пользоваться программой «СЭД АРМ» для создания электронной подписи.
Подробности данной процедуры необходимо уточнять напрямую в выбранном УЦ. При этом необходимая программа либо скачивается с их сайта, либо необходимый функционал предоставляется в личном кабинете.
Необходимо заблаговременно определить все роли, которые будут назначены электронной подписи. Далее, данное роли нужно будет указать при процедуре генерации ключа в «СЭД АРМ».
Нельзя указывать абсолютно все роли — это не только может привести к серьезному удорожанию конечной ЭЦП, но и в некоторых случаях, отказе в регистрации сертификата.
Так, если подпись была сформирована для налогового органа, то в качестве роли необходимо выбирать пункт «Финансовый орган».
При создании подписи в поле «ИНН» необходимо вписывать не налоговой код организации, а самого физического лица, на которого выпускается электронная подпись.
А далее, при обращении в налоговый орган, данная подпись может быть прикреплена непосредственно к компании. Данное правило было введено в 2015 году.
Что если не генерируется электронная подпись
В случае, если для генерации электронной подписи используется клиент «СЭД АРМ», то при выполнении этого процесса могут возникать ошибки.
Чаще всего они решаются следующими способами:
Однако не все удостоверяющие центры используют данную программу и предоставляют свой механизм создания электронной подписи, обычно напрямую через сайт.
В этом случае проблемы могут решаться следующими способами:
Как самостоятельно изготовить электронную подпись
Оговорюсь сразу — я почти дилетант в вопросах, связанных с электронной цифровой подписью (ЭЦП). Недавно, движимый естественным любопытством, я решил немного разобраться в этом и нашел в Интернете 100500 статей на тему получения сертификатов ЭЦП в различных удостоверяющих центрах, а также многочисленные инструкции по использованию различных готовых приложений для подписания документов. Кое-где при этом вскользь упоминалось, что неквалифицированную подпись можно изготовить самостоятельно, если воспользоваться услугами «опытного программиста».
Мне тоже захотелось стать хоть немного «опытным» и разобраться в этой кухне изнутри. Для интереса я научился генерировать PGP-ключи, подписывать документы неквалифицированной подписью и проверять ее достоверность. Понимая, что никакой Америки не открыто, я, тем не менее, предлагаю этот краткий туториал для таких же, как и я, дилетантов в вопросах работы с ЭЦП. Я постарался особо не углубляться в теорию и в детали, а написать именно небольшое и краткое введение в вопрос. Тем, кто уже работает с ЭЦП, это вряд ли будет интересно, а вот новичкам, для первого знакомства — в самый раз.
Что такое электронная подпись
Все термины и определения приведены в законе, поэтому изложим всё, как говорится, своими словами, не претендуя при этом на абсолютную юридическую точность формулировок.
Электронная цифровая подпись (ЭЦП) — это совокупность средств, позволяющих однозначно удостовериться в том, что автором документа (или исполнителем какого-то действия) является именно то лицо, которое называет себя автором. В этом смысле ЭЦП полностью аналогична традиционной подписи: если в обычном «бумажном» документе указано, что его автор Иванов, а внизу стоит подпись Петрова, вы справедливо можете усомниться в авторстве Иванова.
Электронная подпись бывает простая и усиленная. Простая подпись не предполагает использование стандартных криптографических алгоритмов; все способы аутентификации (установления авторства), которые были придуманы до эпохи ЭЦП — это по сути и есть простая электронная подпись. Если вы, например, зарегистрировались на сайте госуслуг, удостоверили свою личность путем явки в многофункциональный центр, а затем направляете через этот сайт обращения в различные государственные органы, то ваши логин и пароль от сайта госуслуг и будут в данном случае вашей простой электронной подписью.
Мне однажды встречался такой способ удостоверения подлинности электронных документов в одной организации: перед рассылкой документа изготавливался его хэш и подписывался в базу хэшей (обычный текстовый файл, лежащий на сервере). Далее любой желающий удостовериться в подлинности электронного документа заходил на официальный сайт этой организации (в официальности которого ни у кого сомнений не возникало) и с помощью специального сервиса проверял, содержится ли хэш проверяемого документа в базе. Замечательно при этом, что сам документ даже не нужно было загружать на сервер: хэш можно вычислить на клиентской стороне в браузере, а на сервер послать только маленький fetch- или ajax-запрос с этим хэшем. Безусловно, этот немудрёный способ можно с полным основанием назвать простой ЭЦП: подписью в данном случае является именно хэш документа, размещенный в базе организации.
Поговорим теперь об усиленной электронной подписи. Она предполагает использование стандартных криптографических алгоритмов; впрочем, таких алгоритмов существует достаточно много, так что и здесь единого стандарта нет. Тем не менее де-факто усиленная ЭЦП обычно основана на асимметричном шифровании (абсолютно гениальном, на мой взгляд, изобретении Ральфа Меркла), идея которого чрезвычайно проста: для шифрования и расшифровывания используются два разных ключа. Эти два ключа всегда генерируются парой; один называется открытым ключом (public key), а второй — секретным ключом (private key). При этом, имея один из двух ключей, второй ключ воспроизвести за разумное время невозможно.
Вернемся к усиленной электронной подписи. Предположим, некий Иван Иванович Иванов захотел подписать документ с помощью ЭЦП. Он генерирует себе два ключа: открытый и секретный. После этого изготавливает (стандартным способом) хэш документа и шифрует его с использованием своего секретного ключа. Можно, конечно, было зашифровать и весь документ, но полученный в результате такого шифрования файл может оказаться очень большим, поэтому шифруется именно небольшой по размеру хэш.
Полученный в результате такого шифрования файл и будет являться усиленной электронной подписью. Её еще называют отсоединенной (detach), так как она хранится в отдельном от документа файле. Такой вариант удобен тем, что подписанный отсоединенной ЭЦП файл можно спокойно прочитать без какой-либо расшифровки.
Что же теперь отправляет Иван Иванович получателям? А отправляет он три файла: сам документ, его электронную подпись и открытый ключ. Получатель документа:
Всё, казалось бы, хорошо, но есть одно большое «но». Предположим, что некий злодей по фамилии Плохиш решил прикинуться Ивановым и рассылать документы от его имени. Ничто не мешает Плохишу сгенерировать два ключа, изготовить с помощью секретного ключа электронную подпись документа и послать это всё получателю, назвавшись Ивановым. Именно поэтому описанная выше ЭЦП называется усиленной неквалифицированной: невозможно достоверно установить, кому принадлежит открытый ключ. Его с одинаковым успехом мог сгенерировать как Иванов, так и Плохиш.
Из этой коллизии существует два выхода. Первый, самый простой, заключается в том, что Иванов может разместить свой открытый ключ на своем персональном сайте (или на официальном сайте организации, где он работает). Если подлинность сайта не вызывает сомнений (а это отдельная проблема), то и принадлежность открытого ключа Иванову сомнений не вызовет. Более того, на сайте можно даже разметить не сам ключ, а его отпечаток (fingerprint), то есть, попросту говоря, хэш открытого ключа. Любой, кто сомневается в авторстве Иванова, может сверить отпечаток ключа, полученного от Иванова, с тем отпечатком, что опубликован на его персональном сайте. В конце концов, отпечаток можно просто продиктовать по телефону (обычно это 40 шестнадцатеричных цифр).
Второй выход, стандартный, состоит в том, что открытый ключ Иванова тоже должен быть подписан электронной подписью — того, кому все доверяют. И здесь мы приходим к понятию усиленной квалифицированной электронной подписи. Смысл ее очень прост: Иванов идет в специальный аккредитованный удостоверяющий центр, который подписывает открытый ключ Иванова своей электронной подписью (присоединив предварительно к ключу Иванова его персональные данные). То, что получилось, называется сертификатом открытого ключа Иванова.
Теперь любой сомневающийся может проверить подлинность открытого ключа Иванова с помощью любого из многочисленных сервисов Интернета, то есть расшифровать его сертификат (онлайн, с помощью открытого ключа удостоверяющего центра) и убедиться, что ключ принадлежит именно Иванову. Более того, Иванову теперь достаточно послать своим корреспондентам только сам документ и его отсоединенную подпись (содержащую и сведения о сертификате): все необходимые проверки будут сделаны желающими онлайн.
Справедливости ради необходимо отметить, что и неквалифицированная ЭЦП может быть сертифицирована: никто не мешает какому-то третьему лицу (например, неаккредитованному удостоверяющему центру) подписать открытый ключ Иванова своей ЭЦП и получить таким образом сертификат открытого ключа. Правда, если удостоверяющий центр не аккредитован, степень доверия к подписи Иванова будет полностью зависеть от степени доверия к этому центру.
Всё замечательно, да вот только услуги удостоверяющих центров по изготовлению для вас подписанных (снабженных сертификатом центра) ключей стоят денег (обычно несколько тысяч рублей в год). Поэтому ниже мы рассмотрим, как можно самостоятельно изготовить усиленную ЭЦП (неквалифицированную, не снабженную сертификатом открытого ключа от аккредитованного удостоверяющего центра). Юридической силы (например, в суде) такая подпись иметь не будет, так как принадлежность открытого ключа именно вам никем не подтверждена, но для повседневной переписки деловых партнеров или для документооборота внутри организации эту подпись вполне можно использовать.
Генерирование открытого и секретного ключей
Итак, вы решили самостоятельно изготовить усиленную неквалифицированную электронную подпись и научиться подписывать ею свои документы. Начать необходимо, конечно, с генерирования пары ключей, открытого (public key) и секретного (private key).
Существует множество стандартов и алгоритмов асимметричного шифрования. Одной из библиотек, реализующих эти алгоритмы, является PGP (Pretty Good Privacy). Она была выпущена в 1991 году под проприетарной лицензией, поэтому имеются полностью совместимые с ней свободные библиотеки (например, OpenPGP). Одной из таких свободных библиотек является выпущенная в 1999 году GNU Privacy Guard (GnuPG, или GPG). Утилита GPG традиционно входит в состав почти всех дистрибутивов Линукса; для работы из-под Windows необходимо установить, например, gpg4win. Ниже будет описана работа из-под Линукса.
Сначала сгенерируем собственно ключи, подав (из-под обычного юзера, не из-под root’а) команду
В процессе генерирования вам будет предложено ответить на ряд вопросов:
После ввода вами всех запрошенных данных утилита GPG попросит вас указать пароль, необходимый для доступа к секретному ключу. Дело в том, что сгененрированный секретный ключ будет храниться на вашем компьютере, что небезопасно, поэтому GPG дополнительно защищает его паролем. Таким образом, не знающий пароля злоумышленник, даже если и получит доступ к вашему компьютеру, подписать документы от вашего имени не сможет.
Сгенерированные ключи (во всяком случае, открытый, но можно также и секретный, на тот случай, если ваш компьютер внезапно сломается) необходимо экспортировать в текстовый формат:
Понятно, что private.key вы должны хранить в секрете, а вот public.key вы можете открыто публиковать и рассылать всем желающим.
Подписание документа
Нет ничего проще, чем создать отсоединенную ЭЦП в текстовом (ASCII) формате:
Если вам не хочется каждый раз заходить в терминал и вводить руками имя подписываемого файла с полным путем, можно написать простейшую графическую утилиту для подписания документов, например, такую:
Проверка подписи
Вряд ли, конечно, вам самому придется проверять достоверность собственной электронной подписи, но если вдруг (на всякий случай) вам захочется это сделать, то нет ничего проще:
В реальности гораздо полезнее опубликовать где-нибудь в открытом доступе (например, на вашем персональном сайте или на сайте вашей организации):
Описанию такого веб-интерфейса (причем без использования серверных технологий, с проверкой подписи исключительно на клиентской стороне) и будет посвящена последняя часть моего краткого туториала.
К счастью для нас, имеется свободная библиотека OpenPGP.js; скачиваем самый маленький по размеру (на момент написания данного туториала — 506 КБ) файл dist/lightweight/openpgp.min.js и пишем несложную html-страничку (для упрощения восприятия я удалил все описания стилей и очевидные meta-тэги):
Понятно, что файл с открытым ключом public.key и файл библиотеки openpgp.min.js должны лежать в той же папке, что и эта страничка.
Вся работа по верификации подписей будет производиться подключенным скриптом validate.js :
Вот, собственно, и всё. Теперь вы можете в соответствии с пунктом 5.23 ГОСТ 7.0.97–2016 разместить на документе (в том месте, где должна стоять собственноручная подпись) вот такую красивую картинку:
Инструкция по генерации ключа электронной подписи
КСКПЭП – квалифицированный сертификат ключа проверки электронной подписи.
КЭП – квалифицированная электронная подпись.
Криптопровайдер – средство защиты криптографической защиты информации. Программа с помощью которой генерируется закрытая часть электронной подписи и которая позволяет производить работу с электронной подписью. Данная галочка проставляется автоматически.
Экспортируемый ключ – возможность копирования электронной подписи на другой носитель. При отсутствии галочки копирование электронной подписи будет невозможно.
ЛКМ – левая кнопка мыши.
ПКМ – правая кнопка мыши.
CRM-AGENT – приложение, разработанное специалистами УЦ для упрощения процедуры генерации ключевой пары, создания запроса и записи сертификата.
После посещения удостоверяющего центра и прохождения процедуры сверки личности, на указанную Вами в заявлении электронную почту, УЦ прислал письмо, содержащее ссылку для генерации. Если Вы не получали письма, обратитесь к Вашему менеджеру или в Техническую поддержку УЦ по контактному номеру из этого руководства.
Рис.1 – Страница генерации
Нажмите на ссылку «Скачать приложение» для начала загрузки. Если ничего не произошло после нажатия, кликните по ссылке ПКМ > «Открыть ссылку в новой вкладке». После скачивания приложения запустите установку.
В процессе установки приложения « crm — agent » появится сообщение с запросом доступа (Рис.2).
Рис.2 – Запрос доступа
После окончания установки приложения вернитесь на страницу с генерацией. Появится сообщение о «Предоставлении доступа» (Рис.3).
Рис.3 – Доступ к хранилищу сертификатов
Нажмите «Продолжить» и, в появившемся окне, «Предоставить доступ» (Рис.4).
Рис.4 – Доступ к хранилищу сертификатов 2
Если не появилась кнопка «Продолжить»
Для устранения ситуации необходимо:
Отключить антивирус, установленный на вашем компьютере;
Открыть новую вкладку в браузере;
После появления сообщения об ошибке, вернитесь на страницу с генерацией и повторите Пункт 2 данной инструкции.
В случае, если у вас отсутствуют предустановленные криптопровайдеры, после этапа предоставления доступа появятся ссылки для скачивания КриптоПРО (Рис.5).
Рис.5 – Загрузка КриптоПРО
Это важно: приложение « crm — agent » обнаруживает любые криптопровайдеры на компьютере, и, если у Вас установлена отличная от КриптоПРО CSP программа (например, VipNET CSP ), свяжитесь со специалистами технической поддержки УЦ для консультации.
Нажмите на ссылку «КриптоПРО 4.0» на странице генерации или на аналогичную ссылку ниже для загрузки файла установки КриптоПРО на компьютер.
Рис.5 – Установка КриптоПРО
Пропустите окно, нажав «Далее». Установка КриптоПРО завершена.
Таблица 1 – Драйверы для защищенных носителей
Внешний вид USB-носителя
Ссылка на загрузку драйверов
ruToken
12345678
eToken
1234567890
JaCarta LT
1234567890
MS-Key
11111111
Esmart *
12345678
JaCarta LT Nano
JaCarta ГОСТ
JaCarta S/E
1234567890
Визуально определите ваш носитель.
Для работы с одним из этих носителей необходимо установить драйвер. Перейдите по соответствующей ссылке, скачайте драйвер и установите его на компьютер. Установку драйвера проводите с параметрами по умолчанию.
Теперь Вы можете приступать к формированию запроса на сертификат. На экране у вас появится сообщение об этом (Рис.6). Нажмите кнопку «Продолжить» для начала формирования запроса.
Рис.6 – Начало формирования запроса
Откроется дополнительное окно с предложением выбрать, куда записать КЭП (Рис.7). Есть возможность выбрать в качестве носителя:
Реестр – хранилище «внутри» компьютера;
Диск < X > – обычный флэш-накопитель;
Рис.7 – Выбор носителя
Передвигая ползунок, выберите носитель для хранения КЭП и нажмите «ОК». Если был выбран «Реестр», то система в дальнейшем предупредит о возможном риске. Продолжите, если Вы осознанно выбрали реестр в качестве носителя для КЭП. Если случайно, то повторите формирование запроса повторно.
Это важно: в качестве хранилища КЭП для электронных торговых площадок можно использовать только защищенный носитель — токен. Если нет токена или драйвер установлен, но сам токен не работает, то свяжитесь со специалистами технической поддержки УЦ для консультации.
После выбора носителя откроется окно генерации «Датчик случайных чисел» (Рис.8). Для заполнения шкалы необходимо быстро и часто нажимать на цифровые клавиши на клавиатуре или передвигать мышь в пределах окна. Может потребоваться повторить процедуру несколько раз.
Рис.8 – Датчик случайных чисел
По окончанию процесса откроется окно с предложением задать пароль (Рис.8) для контейнера, если был выбран обычный флеш-накопитель или реестр. Рекомендуется не задавать пароль и пропускать данный пункт нажатием кнопки «ОК» без ввода и подтверждения пароля.
Это важно: количество попыток ввода pin ограничено и, если pin введен неверно несколько раз, то носитель может быть заблокирован. В таком случае, свяжитесь со специалистами технической поддержки УЦ для консультации.
При успешном завершении генерации появится следующее (Рис.9) сообщение:
Рис.9 – Завершение генерации
Завершена процедура по созданию закрытой части ключа электронной подписи и отправка запроса на сертификат. Если в качестве носителя у Вас флеш-накопитель (флешка), то доступ к файлам электронной подписи открыт пользователям и антивирусному ПО. В таком случае есть риск утери закрытой части, после чего потребуется перевыпуск. Чтобы обезопасить себя от нежелательных последствий хранения КЭП на флеш-накопителе, сохраните копию папки с флеш-накопителя на своём компьютере и заархивируйте скопированный образец.
Это важно: категорически не рекомендуется осуществлять действия с этими файлами: перенос, изменение наименования, редактирование. При утере электронной подписи, требуется платный перевыпуск КЭП. Создавать копию созданной в процессе генерации папки – безопасно.
Спустя 5 минут после завершения этапа генерации, обновите страницу генерации, нажав клавишу F5 или соответствующую кнопку в браузере. Если запрос на выпуск сертификата уже одобрили, появится страница для записи сертификата в контейнер ключа (Рис.10). По ссылке из пункта 1 «Скачайте бланк для подписи» на этой странице скачайте бланк сертификата, распечатайте его. Владелец сертификата, на чье имя была выпущена КЭП, должен подписать бланк.
Рис.10 – Сертификат одобрен
Подписанный документ необходимо отсканировать и загрузить скан на сервер нашего удостоверяющего центра с помощью кнопки на этой же странице. После этого станут доступны две ссылки (Рис.11).
Рис.11 – Бланк загружен
Кликните на ссылку «Записать сертификат на ключевой носитель», откроется дополнительное окно (Рис.12).
Рис.12 – Запись сертификата
Рис.12 – Завершение записи сертфиката
Все готово, электронная подпись успешно создана. Для проверки работоспособности КЭП, откройте письмо, которое придёт после создания КЭП. В письме будет содержаться ссылка на сервис по подписанию закрывающих документов с помощью электронной подписи. Пройдите процедуру подписания и скачайте подписанные документы.
- креон для чего это лекарство
- чем забуривают винтовые сваи