Статья — Проверка электронной цифровой подписи Authenticode. Часть 1. Теория | Форум помощи пользователям — SafeZone

Что такое флешка и токен электронной подписи

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

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

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

На флешке тоже можно установить пароль, но уровень ее защиты намного ниже токена. На большинстве токенов стоят средства криптографической защиты информации (СКЗИ), которые проходят проверку в ФСБ. Они есть, например, на Рутокене ЭЦП 2.0 и JaCarta SF.

А за безопасностью флешки следит только производитель. Поэтому если флешка попадет в руки злоумышленников, они смогут взломать пароль на ней. 

Что такое эцп и кто может ее использовать

С развитием новых технологий электронно-цифровая подпись (ЭЦП) находит все более широкое применение. ЭЦП — электронный аналог личной подписи ответственного лица (а в некоторых случаях и печати организации).

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

ЭЦП бывает двух видов: простая и усиленная. Усиленная, в свою очередь, подразделяется на квалифицированную и неквалифицированную.

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

Усиленная неквалифицированная ЭЦП (НЭП) — подпись, полученная в результате криптографического преобразования информации, которая позволяет выявить:

  • ответственное лицо, подписавшее документ;
  • факт изменения документа после его подписания.

Усиленная квалифицированная ЭЦП (КЭП) — подпись, которая обладает всеми свойствами неквалифицированной ЭЦП, но при этом имеет сертификат проверки ключа ЭЦП.

Простая и усиленная НЭП соответствуют автографу подписывающего лица на бумажном носителе, а усиленная КЭП — подписи ответственного лица и печати фирмы-заверителя электронного документа (пп. 2, 3 ст. 6 закона 63-ФЗ «Об электронной цифровой подписи»).

Подробнее о простой и усиленной ЭЦП узнайте в материалах:

ЭЦП можно получить в удостоверяющем центре (УЦ), аккредитованном Минкомсвязью РФ. Выдаваемый центром комплект включает:

  1. Сертификат ключа проверки ЭЦП — как правило, выдается на USB-носителе.
  2. Дистрибутив софта «КриптоПро» с активированной лицензией для использования в течение срока действия ключа проверки ЭЦП.

Ключ проверки ЭЦП действует в течение 12 месяцев, после чего подлежит замене.

Что такое электронная подпись

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

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

Приложение n 6. структура файла описания

Приложение N 6

Файл состоит из одной или нескольких строк и содержит:

1. Имя файла в транспортном контейнере;

2. Оригинальное наименование файла содержащегося в транспортном контейнере.

Кодировка Win1251.Пример заполнения файла:message9547.txt.att1:Информационное письмо.docmessage9547.txt.att2:Рекомендации по использованию формата.doc

Что потребуется для подписания электронного документа?

Получить электронную подпись

Общие положения

Унифицированный формат транспортного сообщения применяется для организации обмена электронными документами между налоговыми органами и хозяйствующими субъектами по телекоммуникационным каналам связи с использованием электронной цифровой подписи (ЭЦП).

ДИВ — файл документа (нескольких частей документа) информационного взаимодействия;{ЭЦП} — один из нескольких файлов ЭЦП, которыми заверен документ;{С} — один из нескольких файлов с сертификатами ключей ЭЦП, которыми заверен документ;ОДИВ — файл описания документа информационного взаимодействия.Унифицированный формат транспортного сообщения поддерживает все действующие типы электронных документов информационного взаимодействия определяемых ФНС России в Реестрах в соответствии с регламентом документооборота между налоговыми органами и хозяйствующими субъектами.

Требования к структуре транспортного сообщения, передаваемого по телекоммуникационным каналам связи

Для обеспечения обработки транспортного сообщения приемным комплексом налогового органа в структуре транспортного сообщения предусмотрены следующие обязательные поля (реквизиты транспортного сообщения):»From:» — поле содержит имя отправителя в кодировке Quoted Printable/Windows 1251 или Base64/Windows 1251 и электронный адрес отправителя, заключенный в угловые скобки <>;»Reply-To:» — поле содержит имя отправителя в кодировке Quoted Printable/Windows 1251 или Base64/Windows 1251 и электронный адрес отправителя, заключенный в угловые скобки <>;»To:» — поле содержит имя получателя в кодировке Quoted Printable/Windows 1251 или Base64/Windows 1251 и электронный адрес получателя, заключенный в угловые скобки <>;»Message-ID:» — поле содержит уникальный идентификатор сообщения, произвольного формата с длиной, не превышающей 40 символов;»Content-Disposition:» — поле содержит ключевое слово «attachment» и параметр «filename» соответствующий имени присоединенного транспортного контейнера;»Content-Length:» — поле содержит размер транспортного контейнера в байтах;»Subject:» — содержание поля представляется в кодировке Quoted Printable/Windows 1251 или Base64/Windows 1251, определяется типом документа и именем присоединенного транспортного контейнера;»X-Tax-Sender:» — поле содержит идентификатор отправителя сообщения (ИдОтпр);»X-Tax-Receiver:» — поле содержит идентификатор получателя сообщения (ИдПол);»X-Tax-Type: » — тип передаваемой в сообщении информации в кодировке Quoted Printable/Windows 1251 или Base64/Windows 1251; «X-Tax-System:» — поле содержит наименование передающей системы в кодировке Quoted Printable/Windows 1251 или Base64/Windows 1251.Для сообщений, являющихся ответом на первичное сообщение, является обязательным реквизит «X-Message-ID:» — поле, содержащее уникальный идентификатор первичного сообщения («Message-ID»). Транспортный контейнер прикрепляется (ключевое слово «attachment») к транспортному сообщению, передаваемому по телекоммуникационным каналам связи, как файл-вложение, имя которого указано в поле «Content-Disposition:» (параметр «filename»).Одно транспортное сообщение, передаваемое по телекоммуникационным каналам связи, должно содержать только один вложенный в него транспортный контейнер.

Состав зашифрованных данных файла транспортного контейнера

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

4.1. Для передачи файла документа (налоговой декларации и/или бухгалтерской отчетности):- filename.ext — исходный файл документа, где filename.ext — имя и расширение файла, определенные правилами нормативных документов ФНС для именования файлов;- filename.ext.

sgnN — ЭЦП отправителя файла filename.ext, N — внутренний номер владельца ЭЦП, должен быть хотя бы один файл ЭЦП;- thumbprint.cerN — сертификат открытого ключа отправителя, использованный для формирования файла ЭЦП filename.ext.sgnN, где thumbprint — отпечаток сертификата открытого ключа находящегося в файле;

— filename.ext.info — информация об отправителе, получателе транспортного сообщения и типе передаваемой информации.

4.2. Для передачи подтверждения отправки файла документа (содержащего дату отправки файла)- filename.ext.rcpt — информация о приеме транспортного контейнера с именем filename.ext, содержащее дату и время отправки контейнера;

— filename.ext.rcpt.sgn1 — ЭЦП налогового органа.

4.3. Для передачи протокола входного контроля (протокола проверки файла отчетности на соответствие формату представления) от налогового органа для налогоплательщика:- filename.ext.log — протокол;

— filename.ext.gni.sgn1 — ЭЦП налогового органа.

4.4. Для передачи квитанция о приемке файла документа налоговым органом:- filename.ext — исходный файл документа, где filename.ext — имя и расширение файла, определенное правилами именования файлов;

— filename.ext.gni.sgn1 — ЭЦП НО;

— filename.ext.info — информация об отправителе, получателе транспортного сообщения и типе передаваемой информации.

4.5. Для передачи подтверждения отправки, заверенного ЭЦП отправителя, для налогового органа (см. п.4.2.):

— filename.ext.rcpt — исходная квитанция;

— filename.ext.rcpt.nlp.sgn1 — ЭЦП отправителя под квитанцией;

— thumbprint.cer1 — сертификат открытого ключа отправителя, использованный для формирования файла ЭЦП filename.ext.rcpt.nlp.sgn1, где thumbprint — отпечаток сертификата открытого ключа, находящегося в файле;

— filename.ext.info — информация об отправителе, получателе транспортного сообщения и типе передаваемой информации.

4.6. Для передачи протокола входного контроля, заверенного ЭЦП отправителя, для налогового органа (см. п.4.3.):- filename.ext.log — протокол входного контроля, где filename.ext — имя и расширение файла, для которого сформирован протокол входного контроля);

— filename.ext.log.nlp.sgn1 — ЭЦП отправителя под протоколом;

— thumbprint1.cer1 — сертификат открытого ключа отправителя, использованный для формирования файла ЭЦП filename.ext.log.nlp.sgn1;

— filename.ext.info информация об отправителе, получателе транспортного сообщения и типе передаваемой информации;

— filename.ext.rcpt.sgn1 (ЭЦП приемного комплекса налогового органа под квитанцией).

4.7. Для передачи подтверждения отправки документа от специализированного оператора связи для налогового органа:- filename.ext.rcpt — квитанция о приеме транспортного контейнера с именем filename.ext, содержащее дату и время отправки контейнера;

Читайте также:  Электронная подпись: что такое, как получить и где использовать

— filename.ext.rcpt.sgn1 — ЭЦП под квитанцией, принадлежащее специализированному оператору связи.

4.8. Для передачи подтверждения отправки, заверенного ЭЦП налогового органа, для специализированного оператора связи:- filename.ext.rcpt — исходная квитанция;

— filename.ext.rcpt.gni.sgn1 — ЭЦП налогового органа.

Состав данных, приведенный в п.4.7 и п.4.8, применяется только в том случае, если отправитель пользуется услугами специализированного оператора связи.

В каком виде выдается эцп?

Рисунок ключа эцп

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

Вариант 2. установить отдельную программу для создания подписи

Чтобы подписывать документы любого формата (*rar, *.jpeg и *.png,*.ppt, видео, базы данных и т.д.), можно установить на компьютер специальную программу — например, КриптоАРМ.

У программы есть несколько версий, которые отличаются функциональностью. Базовой версией КриптоАРМ Старт с минимумом возможностей можно пользоваться бесплатно. У всех платных версий есть тестовый период, в течение которого будут доступны все возможности. Когда это время истечет, потребуется приобрести лицензию, чтобы продолжить пользоваться этой версией.

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

  • Количество файлов, которые нужно подписать: можно подписать несколько файлов или папку с документами.
  • Формат подписи: присоединенная или отсоединенная. В первом случае подпись будет встроена в файл, а во втором будет создана в отдельном файле с расширением *.sig.
  • Сертификат, которым нужно подписать документ.

Что учесть при использовании программы:

  • В бесплатной версии можно поставить только базовую КЭП (без проверки времени подписания документа и статуса сертификата). Но проверить можно и усовершенствованную подпись (со статусом сертификата и временем подписания документа).

Вариант 3. воспользоваться веб-сервисами

Можно подписать документ любого формата, не устанавливая на компьютер специальных программ, — например, в веб-сервисе Контур.Крипто.

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

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

Генерирование открытого и секретного ключей

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

Существует множество стандартов и алгоритмов асимметричного шифрования. Одной из библиотек, реализующих эти алгоритмы, является PGP (Pretty Good Privacy). Она была выпущена в 1991 году под проприетарной лицензией, поэтому имеются полностью совместимые с ней свободные библиотеки (например, OpenPGP).

Одной из таких свободных библиотек является выпущенная в 1999 году GNU Privacy Guard (GnuPG, или GPG). Утилита GPG традиционно входит в состав почти всех дистрибутивов Линукса; для работы из-под Windows необходимо установить, например, gpg4win. Ниже будет описана работа из-под Линукса.

Сначала сгенерируем собственно ключи, подав (из-под обычного юзера, не из-под root’а) команду

gpg --full-generate-key

В процессе генерирования вам будет предложено ответить на ряд вопросов:

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

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

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

gpg --export -a "Иван Иванович Иванов" > public.key
gpg --export-secret-key -a "Иван Иванович Иванов" > private.key

Понятно, что private.key вы должны хранить в секрете, а вот public.key вы можете открыто публиковать и рассылать всем желающим.

Для документов формата pdf

Для создания и проверки электронной подписи в программах Adobe Acrobat, Adobe Reader и Adobe LiveCycle ES есть отдельный модуль КриптоПро PDF.

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

Прежде чем вставить электронную подпись в документе PDF, необходимо установить и настроить Acrobat Reader DC или Adobe Acrobat Pro для работы с программой КриптоПро PDF.

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

Для документов формата word и excel

Чаще всего требуется подписать документ в формате Word:

  • трудовой или хозяйственный договор,
  • иск в арбитраж,
  • заявление в вуз и т.д.

Штатная функция пакета Microsoft Office «Подписать документ» не позволяет создать подпись, которая придает электронному документу юридическую силу. Чтобы создать такую подпись в Word или Excel, необходимо установить на свой компьютер специальный программный модуль, который добавит такую возможность, — например, КриптоПро Office Signature.

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

  1. В главном меню документа выберите пункт «Сервис» и перейдите в «Параметры». В появившемся окне выберите вкладку «Безопасность» и нажмите кнопку «Цифровые подписи».

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

  3. С его помощью создайте для документа электронную подпись: нажмите «Подписать» и введите пароль ключевого контейнера.

Что учесть при использовании плагина:

  • Алгоритм подписания отличается в разных версиях Word.
  • Если создать подпись в одной версии программы, а проверять ее в другой, результат проверки может быть некорректным.
  • Документ, подписанный с помощью КриптоПро Office Signature, можно открыть и проверить даже на компьютере, где эта программа не установлена.

Другие варианты эцп

Как выглядит выдаваемая цифровая подпись? В форме USB-токена.

Однако теоретически ПО для создания ЭЦП могут записывать и на:

  • смарт-карты;
  • U-Sim карты;
  • обычный USB-накопитель (только не квалифицированные ЭЦП).

Но самыми популярными сейчас являются именно USB-рутокены, так как для их использования не нужно покупать дополнительное оборудование (типа считывателя смарт-карт), а ещё они защищены от механических повреждений, копирования и так далее.

А вот те самые смарт-карты или U-Sim уже практически ни одна организация не предлагает. Да и работать с ними сложней, требуется установка дополнительного ПО, в некоторых операционных системах работа с ними вовсе не поддерживается (например, в BSD-системах их поддержку так и не организовали).

Как выглядит эцп на документе

Как выглядит электронная подпись на документе — таким вопросом задаются многие пользователи, желающие проверить ту или иную форму на подлинность.

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

На электронном документе ЭЦП может выглядеть по-разному, поскольку для каждого вида информации предусмотрен свой способ защиты. Это может быть:

  1. Набор цифр и букв, который обычному пользователю может показаться случайным. Однако на самом деле такой код обозначает ключ, указанный в проверочном сертификате.
  2. Графическая картинка. В электронном виде выглядит как обычный штамп, содержащий подпись ответственного лица и печать предприятия. Подписывающее лицо также может создать стикер с сообщением или заданием получателю, который выводится на экран. Таким функционалом обладает относительно недорогой софт «КАРМА», разработанный российскими программистами.
  3. Невидимая ЭЦП, которая считается самым надежным способом защиты подписываемой информации. Незнающий человек попросту не сможет выявить ее наличие, а значит, и подделать ее будет крайне затруднительно. Как правило, такой способ защиты используется в документах, создаваемых в продуктах MS Office. В данном случае строка подписи визуально не определяется, а ЭЦП генерируется как метаданные. Узнать о том, что документ заверен ЭЦП, можно по специальному значку, который появляется в окне «Состояние» в нижней части монитора. При этом заверенный документ не подлежит редактированию.

Пример того, как выглядит ЭЦП на справке 2-НДФЛ, сформированной в личном кабинете налогоплательщика:

Как записать сертификат в личном кабинете

Если вы еще не выпустили сертификат ЭП и хотите сразу записать его на съемный носитель:

  1. Зайдите в личный кабинет на сайте удостоверяющего центра. Сервис попросит пройти аутентификацию: введите номер телефона, который указали в заявлении на получение ЭП. В течение двух минут на этот номер придет одноразовый пароль для входа. Этот пароль будет действовать только 5 минут, если вы не успеете ввести его за это время — запросите пароль еще раз.
  2. Затем вставьте в компьютер носитель, на который вы хотите записать сертификат ЭП — флешку или токен.
  3. В личном кабинете найдите нужный сертификат и нажмите на кнопку «Перейти к выпуску». Система автоматически проверит ваш компьютер и предупредит, если на него нужно установить дополнительные программы.
  4. Следуйте указаниям системы, чтобы выпустить сертификат.
  5. Если вы записываете ЭП на флешку, придумайте и установите на нее пароль в открывшемся окне.
    Если вы записываете ЭП на токен со стандартным паролем — пропустите этот пункт. Но если вы меняли стандартный пароль на собственный — введите его в открывшемся окне.
  6. После выпуска сертификат можно установить на носитель. Для этого нажмите на кнопку «Установить сертификат».
Читайте также:  Удостоверяющий центр – что это и зачем? | Москва | Компания Тензор

Если у вас есть сертификат для одного из сервисов Контура, например, Экстерна или Диадока, и вы хотите установить его на флешку или токен:

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

Как записать электронную подпись на флешку

Записать сертификат ЭП на флешку или токен можно тремя способами:

  • в личном кабинете удостоверяющего центра;
  • с помощью криптопровайдера КриптоПро CSP;
  • с помощью средств Windows;
  • в профиле Контур.Диагностики.

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

Как записать эп в профиле контур.диагностики

  1. Зайдите на страницу «Копирование сертификатов» Контур.Диагностики.
  2. Вставьте в компьютер флешку, на которую хотите записать сертификат.
  3. Выберите нужный сертификат из списка и нажмите кнопку «Скопировать». 
  4. Введите пароль от контейнера при необходимости.
  5. Выберите носитель, на который программа запишет сертификат ЭП.
  6. Придумайте название для нового контейнера и нажмите кнопку «Далее».

Как записать эп с помощью средств windows

  1. Найдите папку с закрытым ключом ЭП на компьютере. В этой папке должно быть шесть файлов с расширением.key. 
  2. Скопируйте эту папку на выбранную флешку. Проверьте, чтобы в папке на флешке оказались все шесть файлов.

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

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

Какой должен быть объем у флешки для электронной подписи

Электронная подпись «весит» очень мало — около четырех килобайт (Кб). Поэтому для хранения сертификата подойдет флешка с любым объемом памяти.

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

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

Получить электронную подпись

Можно ли скопировать эцп?

Рисунок ключа эцп

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

Можно ли использовать рутокен в качестве флешки?

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

Токены, на которых помимо ЭП можно хранить и другие файлы, встречаются редко и стоят дороже. Например, в линейке Рутокен это модель Рутокен 2.0 Flash.

Получить электронную подпись

На какие носители можно записать электронную подпись

Сертификат электронной подписи можно записать:

  • в память компьютера: в реестр или на жесткий диск;
  • токен;
  • флешку;
  • съемный жесткий диск.

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

Некоторые типы сертификатов можно хранить только на токене. Например, записать на флешку нельзя сертификаты для работы с Федеральной таможенной службой или для системы для учета алкогольной продукции ЕГАИС ФСРАР.

Об унифицированном формате информационного взаимодействия

____________________________________________________________________Утратил силу с 1 сентября 2007 года на основании приказа ФНС России от 8 августа 2007 года N ММ-3-13/469@____________________________________________________________________

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

1. Утвердить Унифицированный формат транспортного сообщения в системе обмена электронными документами по телекоммуникационным каналам связи с использованием ЭЦП, согласно приложению.

2. Ввести в действие Унифицированный формат транспортного сообщения с 01.07.2006.

3. Управлению информационных технологий (А.Б.Иконников) обеспечить доведение до всех участников информационного взаимодействия информацию о вводе в действие Унифицированного формата транспортного сообщения.

4. Контроль исполнения настоящего приказа возложить на заместителя руководителя Федеральной налоговой службы Д.А.Чушкина.

РуководительФедеральной налоговой службыА.Сердюков

Подписание документа

Нет ничего проще, чем создать отсоединенную ЭЦП в текстовом (ASCII) формате:

gpg -ba имя_подписываемого_файла

Файл с подписью будет создан в той же папке, где находится подписываемый файл и будет иметь расширение asc. Если, например, вы подписали файл privet.doc, то файл подписи будет иметь имя privet.doc.asc. Можно, следуя традиции, переименовать его в privet.sig, хотя это непринципиально.

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

#!/usr/bin/python
# -*- coding: utf-8 -*-
from Tkinter import *
from tkFileDialog import *
import os, sys, tkMessageBox

def die(event):
    sys.exit(0)

root = Tk()
w = root.winfo_screenwidth()//2 - 400
h = root.winfo_screenheight()//2 - 300
root.geometry("800x600 {} {}".format(w, h))
root.title("Подписать документ")

flName = askopenfilename(title="Что подписываем?")

if flName:
    os.system("gpg -ba "   flName)
    button = Button(text="ЭЦП создана")
    button.bind("<Button-1>", die)
    button.pack(expand=YES, anchor=CENTER)
else:
    die()

root.mainloop()

Приложение n 1. пример транспортного сообщения, содержащего документ налоговой отчетности

Приложение N 1

Приложение n 2. структура транспортного контейнера

Приложение N 2

Приложение n 3. пример файла документа информационного взаимодействия, содержащего отчетность

Приложение N 3

Имя файла:О0107802.001Содержание файла:ИдФайл:

7718010784**77180100120020209112308ТипИнф:ОТЧЕТНОСТЬНПВерсФорм:2.00ИдПол:7718ВерсПрог:1С:ПРЕДПРИЯТИЕ 7.

7КолДок:1НаимОтпрЮл:ЗАКРЫТОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО «КАШТАН»ТелОтпр:(095) 213-2323ДолжнОтпр:

ГЛАВНЫЙ БУХГАЛТЕРФИООтпр:КАРЖИНА,ИННА,ВИКТОРОВНА@@@ИдДок:7718010784**771801001200200000001ДатаДок:01.09.

2002ДокПредст:1Свидетельство:II771858,15.07.1998,7718КолФОтч:1###НаимЮЛПол:

ЗАКРЫТОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО «КАШТАН»ИННЮЛ:7718010784КППЮЛ:771801001ПризАдр:

1АдрЮр:643,107113,77,,,,ШУМКИНА УЛ,23,,###ФИОРук:ИВАНОВ,ИВАН,ИВАНОВИЧИННРук:

773300000001ТелРук:(095)2687777ФИОБух:КАРЖИНА,ИННА,ВИКТОРОВНАТелБух:(095)2687777УдЛичнБух:

21,45 98 459167ДатаУдЛичн:12.02.2000АдрМЖБухРФ:643,108113,77,,,,ВОЛГИНА УЛ,23,,23###ПризФОтч:

1КНД:1151002ВерФОтч:2.00001ПериодВерОтч:03.07.2002,НаимФОтч:

НАЛОГОВАЯ ДЕКЛАРАЦИЯ ПО НАЛОГУ НА ДОБАВЛЕННУЮ СТОИМОСТЬ ПО НАЛОГОВОЙ СТАВКЕ 0 ПРОЦЕНТОВПризПериодОтч:1НачПериодОтч:01.08.2002КонПериодОтч:31.09.

2002ЕдИзмер:383ВарДекл:001КолПокФОтч:116###ПРРРРРСССССГГ:<сумма>. . .ПРРРРРСССССГГ:<сумма>###@@@===

Приложение n 4. структура файла эцп

Приложение N 4

Приложение n 5. структура файла сертификата

Приложение N 5

Файл содержит данные сертификата открытого ключа ограниченные строками ——BEGIN CERTIFICATE—— и ——END CERTIFICATE——.Пример заполнения файла:——BEGIN CERTIFICATE——MIID4zCCA5CgAwIBAgIKYRkziQAAAAAACzAKBgYqhQMCAgQFADCBtjEaMBgGCSqGSIb3DQEJARYLYWdAbnd1ZGMucnUxCzAJBgNVBAYTAlJVMRYwFAYDVQQHEw1TdC5QZXRlcnNidXJnMTcwNQYDVQQKDC7Ql9CQ0J4g0KPQlNCe0KHQotCe0JLQldCg0K/QrtCp0JjQmSDQptCV0J3QotCgMSMwIQYDVQQLDBrQkNC00LzQuNC90LjRgdGC0YDQsNGG0LjRjzEVMBMGA1UEAxMMTldVRENDQTFTVUIxMB4XDTA1MDIxNDE1MzMwMFoXDTA2MDIxNDE1NDIwMFowgfsxFjAUBgkqhkiG9w0BCQEWBzk5OUA5OTkxCzAJBgNVBAYTAlJVMScwJQYDVQQHHh4EIQQwBD0EOgRCAC0EHwQ1BEIENQRABDEEQwRABDMxOzA5BgNVBAoeMgQiBDUEQQRCBD4EMgRLBDkAIAQ9BDAEOwQ BDMEPgQ/BDsEMARCBDUEOwRMBEkEOAQ6MS0wKwYDVQQLHiQEEgQ1BDQEQwRJBDgEOQAgBEEEPwQ1BEYEOAQwBDsEOARBBEIxPzA9BgNVBAMeNgQQBDsENQQ6BEEENQQ1BDIAIAQQBDsENQQ6BEEENQQ5ACAEEAQ7BDUEOgRBBDUENQQyBDgERzCBpTAcBgYqhQMCAhQwEgYHKoUDAgIgAgYHKoUDAgIeAQOBhAAEgYDinHMmUrE69Bq9Us3VeBb6ba0gkDwyLxmMNWMMqeeuKzAS0Zz0T47lAyruZRxZ1zBA2S5zlAeRw88Qs2okLvKCoGJ11tBOjaCidEmQf19xzyjACVivUBaQz0zcHXmrpU/HcveqQr swJkdxpToSxtDUn7BTvxZG3kY/Dp11m4djKOB8TCB7jAOBgNVHQ8BAf8EBAMCBPAwEwYDVR0lBAwwCgYIKwYBBQUHAwQwHQYDVR0OBBYEFNtpZjMoAb4 divSKhB3dxoI9lEAMB8GA1UdIwQYMBaAFJ8Btl86bA14QwcbJT7H8avQLPU0MD0GA1UdHwQ2MDQwMqAwoC6GLGh0dHA6Ly93d3cubnd1ZGMucnUvY2VydHNydi9ud3VkY2NhMXN1YjEuY3JsMEgGCCsGAQUFBwEBBDwwOjA4BggrBgEFBQcwAoYsaHR0cDovL3d3dy5ud3VkYy5ydS9jZXJ0c3J2L253dWRjY2Exc3ViMS5jcnQwCgYGKoUDAgIEBQADQQBCkr27ouLc3n2kPqRc 5CoaGTe0Go54jcX5qrQpFRG CsEtsYxUpnUdHCXVaymusmAGLov/Nci8hUV9cGGL 0j——END CERTIFICATE——

Приложение n 7. структура файла информации

Приложение N 7

Файл содержит информацию об отправителе и получателе транспортного контейнера. В настоящий момент файл содержит 4 реквизита. Кодировка Win1251.ИдОтпр:

ИНН отправителяИдПол: КОД налогового органа получателя ТипИнфо: Тип передаваемой информацииВерсПрог:

Обозначение транспортной системыПример заполнения файла:ИдОтпр: 1234567890ИдПол:

Электронный текст документаподготовлен ЗАО «Кодекс» и сверен по:

Финансовая газета. Региональный выпуск, N 29, июль, 2006 год (Приказ, Унифицированный формат)

Проверка подписи

Вряд ли, конечно, вам самому придется проверять достоверность собственной электронной подписи, но если вдруг (на всякий случай) вам захочется это сделать, то нет ничего проще:

gpg --verify имя_файла_подписи имя_файла_документа

В реальности гораздо полезнее опубликовать где-нибудь в открытом доступе (например, на вашем персональном сайте или на сайте вашей организации):

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

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

К счастью для нас, имеется свободная библиотека OpenPGP.js; скачиваем самый маленький по размеру (на момент написания данного туториала — 506 КБ) файл dist/lightweight/openpgp.min.js и пишем несложную html-страничку (для упрощения восприятия я удалил все описания стилей и очевидные meta-тэги):

Сравнение программ для создания электронной подписи

 

Плагины КриптоПро

Отдельная программа КриптоАРМ

Веб-сервис Контур.Крипто

Стоимость

Платные

Бесплатна только базовая версия Старт

Все функции доступны бесплатно

Форматы документов

Word и Excel, PDF

Все

Все

Соподпись/ пакетная подпись

Есть

Есть

Есть

Максимальный вес файла

Без ограничений

Без ограничений

до 100 Мб

Создание усовершенство

ванной подпись

Есть

Только в платных версиях

Есть

Присоединенная/ отсоединенная

Есть

Присоединенная/ отсоединенная

Только отсоединенная

Функции проверки, шифрования и расшифрования

Есть

Только в платных версиях

Есть

Читайте также:  Где и как получить ЭЦП для торгов по 44-ФЗ

Получить электронную подпись

Статья — проверка электронной цифровой подписи authenticode. часть 1. теория

1.4. Терминология, алгоритм подписания и проверки.

1.4.1. Что такое Authenticode (Code signing).
«Authenticode» (или «Code signing») означает, что сертификат предназначен для подписания кода, иначе говоря, программ и скриптов, а не документов, электронных писем, http интернет пакетов и тому подобного.

К файлам, содержащим код, относят такие форматы, как PE (.exe, .dll, .ocx, .sys, …), VBScript (.vbs), JScript (.js), Cabinet-архивы (.cab), элементы панели управления (.cpl) и некоторые другие.

Рассмотрим поближе такие понятия как: хеш, алгоритм хеша, подпись, сертификат, отпечаток, выборка и т.п. (часть информации взята из ответов участников конференции StackExchange CBHacking и Tom Leek (в переводе, с авторской переработкой и дополнениями)).

1.4.2. Что такое хеш.

Хеш – это значение фиксированной длины, которое получено после выполнения набора арифметических операции над строкой, файлом или другим блоком данных. Грубо говоря, мы подаём на вход длинную строку, затем берём код каждого символа этой строки, складываем по определённому принципу (называемому алгоритмом хеша), и в результате получаем значение, обычно записываемое в 16-ричном виде.

Вот примеры наиболее распространённых хешей:

Подробную таблицу сравнительных характеристик SHA вы можете посмотреть на wiki

здесь

и

здесь

.

Программно рассчитывать хеш можно, например, через CryptoAPI (пример) или Cryptography API: Next Generation (CNG) (пример).

1.4.3. Что такое выборка (дайджест).
Выборка (digest) – обычно подразумевает, что мы берём данные не целиком, а избирательно, только какую-то часть, которая и называется выборкой. Расположение этой части зависит от структуры данных и вида алгоритма, для которого эта выборка используется.

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

1.4.4. Что такое приватный и публичный ключи, симметричное и асимметричное шифрование.

Представьте себе шифрование по алгоритму Цезаря, где код каждого символа строки сдвигается на некоторое одинаковое количество пунктов (например, вперёд по алфавиту). Здесь ключом является – количество пунктов сдвига.

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

Существуют и так называемые асимметричные алгоритмы, например, RSA. Здесь ключи для шифрования и дешифровки – разные. Т.е. ключ шифрования не подходит для расшифровки, и наоборот. Кроме того, невозможно рассчитать ключ шифрования, если у вас есть ключ дешифровки.

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

Приватный ключ ещё называют закрытым (или секретным).

Публичный ключ также называют открытым и обычно свободно распространяют.

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

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

Итоговая схема:
ФАЙЛ => выборка => хеш приватный ключ => шифрованный хеш.

1.4.5. Что такое сертификат, центр сертификации и цепочка доверия.

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

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

Сертификат может быть подписан не напрямую центром сертификации, а промежуточным звеном, которому Центр предоставил права выдавать сертификаты. Это называется цепочкой доверия. Её можно проследить, изучив цифровую подпись сертификата:

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

1.4.6. Форматы файлов сертификатов и ключей для Authenticode подписи и их преобразование.

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

PKCS # 12 и PKCS # 7

– это международные спецификации криптографии с открытым ключом.

Формат X.509 (его ещё называют сертификатом открытого ключа). Он состоит из таких частей:

Внутри каждого сертификата формата X.509 хранится пара Distinguished Names (DN) в формате X.500. Один DN принадлежит владельцу сертификата, а второй DN указывает идентификатор CA, подписавшей сертификат. В случае с self-signed сертификатом, оба эти DN указывают на владельца сертификата.

Distinguished Name задается в виде разделенных через запятую атрибутов, например:

«CN=Andrey Chesnokov, OU=dev64, O=dev64-wordpress, L=Unknown, ST=Unknown, C=RU»
«C=RU, PostalCode=115093, S=Moscow, L=Moscow, STREET=»Street Serpukhovsko B, 44″, O=RIVER SOLUTIONS, CN=RIVER SOLUTIONS»

Здесь отдельные атрибуты расшифровываются так:

CN — common name (уникальное имя владельца)

L — localityName (местоположение: город)

ST — stateOrProvinceName (название штата или провинции)

O — organizationName (имя организации)

OU — organizationUnit, department or division (департамент или отдел)

C — country, two-letter country code (двухбуквенный код страны)

STREET = streetAddress (адрес: улица)

DC = domainComponent (метка доменного имени)

UID = userid (идентификатор пользователя)

Часть из атрибутов может быть пропущено, например, присвоено значение Unknown.
Формат строки описан в RFC2253 и RFC1779.

Подробнее о внутренней структуре формата сертификата X.509 можно почитать в статьях:
X.509 — Википедия
Разбираем x.509 сертификат
Структура PKCS7-файла
RFC5280

Microsoft PVK – является недокументированным форматом, однако кое-что о его структуре можно почитать в этой заметке:
PVK file format

Примечательно, что на этапе генерации пары ключей, вам необходимо будет ввести пароль. Это дополнительная мера защиты. Приватный ключ шифруется одним из алгоритмов – 3DES, RC4 или RC2. Без знания пароля потенциальный злоумышленник, выкравший файл сертификата, не сможет воспользоваться приватным ключом.

б) Преобразование форматов.

Иногда возникает необходимость сконвертировать форматы сертификатов из одного в другой. Для этих целей вам могут пригодиться такие инструменты из состава Windows SDK, как pvk2pfx.exe, cert2spc.exe, а также openssl.

Примеры конвертации:

Некоторые другие примеры командной строки преобразования форматов можно посмотреть в

этой базе знаний Symantec

.

Выше рассмотрены только сертификаты для подписания кода. Так, следует заметить, что например, для SSL-сертификатов существуют и другие форматы, например, .jks – Java Key Stroke – это хранилище открытых и закрытых ключей и сертификатов. Работать с ним можно с помощью инструмента keytool из состава Java Runtime Environment.

Пример для JKS -> DER см. в моей заметке: Как получить ЭЦП для подписания документов (для жителей Украины).

Вот ещё часть примеров для демонстрации возможностей openssl (взято отсюда):

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector