Федеральный закон от 06.04.2011 N 63-ФЗ (ред. от 08.06.2020) «Об электронной подписи» (с изм. и доп., вступ. в силу с 01.07.2020)
Статья 6. Условия признания электронных документов, подписанных электронной подписью, равнозначными документам на бумажном носителе, подписанным собственноручной подписью
2. Информация в электронной форме, подписанная простой электронной подписью или неквалифицированной электронной подписью, признается электронным документом, равнозначным документу на бумажном носителе, подписанному собственноручной подписью, в случаях, установленных федеральными законами, принимаемыми в соответствии с ними нормативными правовыми актами, нормативными актами Центрального банка Российской Федерации (далее — нормативные правовые акты) или соглашением между участниками электронного взаимодействия, в том числе правилами платежных систем (далее — соглашения между участниками электронного взаимодействия).
В этих случаях должен предусматриваться порядок проверки электронной подписи и выполняться требования статьи 9 Федерального закона:
1. Электронный документ считается подписанным простой электронной подписью при выполнении в том числе одного из следующих условий:
1) простая электронная подпись содержится в самом электронном документе;
2) ключ простой электронной подписи применяется в соответствии с правилами, установленными оператором информационной системы, с использованием которой осуществляются создание и (или) отправка электронного документа, и в созданном и (или) отправленном электронном документе содержится информация, указывающая на лицо, от имени которого был создан и (или) отправлен электронный документ.
Соглашения между участниками должны предусматривать:
1) правила определения лица, подписывающего электронный документ, по его простой электронной подписи;
2) обязанность лица, создающего и (или) использующего ключ простой электронной подписи, соблюдать его конфиденциальность.
Пример:
В разделе 1, Термины и определения вводится понятие пЭП.
1.6. «Простая электронная подпись» — подпись на электронной версии документов, передаваемых между Сторонами и определяемая правилами в Приложении 1 Данного договора, пунктами 4.2 и 4.3 данного Договора и статьей 9 Федерального закона от 06.04.2011 N 63-ФЗ «Об электронной подписи».
Далее раздел 4. Соглашение об использовании пЭП.
4. СОГЛАШЕНИЕ ОБ ИСПОЛЬЗОВАНИИ ПРОСТОЙ ЭЛЕКТРОННОЙ ПОДПИСИ.
4.1. Стороны, в соответствии с Федеральным законом от 06.04.2011 N 63-ФЗ «Об электронной подписи», дают согласие на использовании простой электронной подписи документах передаваемых между Сторонами, в том числе в закрывающих документах.
4.2. Правила и порядок формирования ключа простой электронной подписи и правила определения лица, подписывающего электронный документ, по его простой электронной подписью, определяются в Приложении 1 к данному Договору. Приложение 1 является неотъемлемой частью данного Договора.
4.3. Стороны обязуются соблюдать конфиденциальность ключа своей простой электронной подписи.
4.4. На основании п.4.2 и п.4.3. данного договора и положений п.2 статьи 9 Федерального закона от 06.04.2011 N 63-ФЗ «Об электронной подписи», электронные версии документов размещаемые в личном кабинете Лицензиата, либо предаваемые посредством электронной почты между Сторонами, признаются равнозначными документам на бумажных носителях, подписанным собственноручной подписью.
Далее раздел 6. Порядок взаиморасчетов. Тут сказано, что закрывающие документы могут удостоверяться пЭП.
6.7. Закрывающие документы между сторонами передаются в электронном виде посредством размещения в личном кабинете Лицензиата и (или) через электронную почту и удостоверяются Простой электронной подписью.
И наконец Приложение 1, где описываются правила и порядок формирования пЭП.
Правила и порядок формирования Простой электронной подписи.
1. Правила формирования подписи.
1.1. Ключ подписи – кодовое слово или любая последовательность символов от 6 до 64 знаков известная только владельцу.
Например: «Ключ Лицензиата»
1.2. Hash ключа подписи – ключ подписи обработанный hash функцией с длинной ключа от 64 до 256 бит.
Пример получения:
hash(‘sha256′,’Ключ Лицензиата’) = cf7f0afbad1857c1da38477d79889cb378d33dee5430e9e7bf4cc04f0e3354f8
hash(‘sha1′,’Ключ Лицензиата’) = 7e3ecf5ab5ad710573a028d1a383355293b75438
md5(‘Ключ Лицензиата’) = 822f424c94ffbe1e9b0e53df6d851da4
1.3. Hash ключа подписи, для возможности автоматической проверки документов системой, пользователю необходимо внести в личном кабинете на сайте https://erp-platforma.com в разделе Настройки-ЭП.
1.4. В целях безопасности, 5-10 символы значения хеша ключа пользователя при выводе на экран заменяются звездочками (например: вместо 822f424c94ffbe1e9b0e53df6d851da4 на экран будет выведено 822f4*****ffbe1e9b0e53df6d851da4). Данная процедура исключает копирование ключа пользователя злоумышленником, даже в случае взлома логина-пароля аккаунта пользователя. Оригинал ключа должен храниться исключительно у пользователя.
1.5. Алгоритм получения простой электронной подписи документа:
«Простая электронная подпись» = hash_sha1(«Тип документа»+«Номер документа»+«Дата документа»+«Ключ Лицензиата»)
PS: ключ лицензиата в данной системе является “солью”.
Например:
b554f464d3cf1b128b07e96b960b7bb4a19a3c95 = hash(‘sha1′,’1′.’№03452′.’09.11.2016’.’822f424c94ffbe1e9b0e53df6d851da4′)
Типы документов:
1 – Счет
2 – Акт
3 – Договор
4 – Приложение к договору
1.6. Для улучшения читабельности Электронная подпись может представляться в виде по 5 символов разделенных дефисами. Данная процедура необязательна. Дефисы при вводе подписи программой автоматически удалятся.
b554f464d3cf1b128b07e96b960b7bb4a19a3c95 = b554f-464d3-cf1b1-28b07-e96b9-60b7b-b4a19-a3c95
2. Правила проверки подписи
2.1. Удостоверение подлинности Простой электронной подписи Лицензиара.
Лицензиар на своем официальном сайте erp-platforma.com предоставляет возможность проверки подписи любого документа по адресу erp-platforma.com/ecp. Для проверки необходимо ввести Простую электронную подпись из документа в поле «Простая электронная подпись», ввести код капчи и нажать на кнопку «Проверить подпись документа». В ответ программа выдаст реквизиты документа, либо напишет «Документ не найден, подпись не подтверждена».
Данную процедуру проверки подлинности Простой электронной подписи Лицензиата может проводить как Лицензиат, так и третьи лица, которым Лицензиат передал документы.
2.2. Удостоверение подлинности Простой электронной подписи Лицензиата.
Удостоверить подпись Лицензиата Лицензиар может 4 способами:
1) В личном кабинете Лицензиата должен быть внесен Hash ключа подписи пользователя, подписавшего документ. В этом случае при получении документов по электронной почте у Лицензиара появляется возможность автоматической проверки подлинности подписи зная тип документа, номер документа, дату подписи и hash ключа подписи пользователя.
2) В случае если Лицензиат производит подпись документ в личном кабинете, и внесен hash ключа подписи пользователя, то необходимо внести сформированную Простую электронную подпись для данного Акта в соответствующую графу документ и нажать на кнопку «ЭП». Программа автоматически произведет проверку подписи и поставит ее в документ.
3) В случае если Лицензиат не вносит hash ключа подписи пользователя в личном кабинете, но хочет передавать подписанные Простой электронной подписью документы через электронную почту, Лицензиат должен доставить Лицензиару hash ключа подписи пользователя, подписывающего документы на любом носителе, в том числе на бумажном
4) В случае если Лицензиат не желает сообщать лицензиару hash ключа подписи пользователя, он вправе сделать на своих технических средствах сервис проверки подписи аналогичный erp-platforma.com/ecp и вместе с документами присылать ссылку на данный сервис, чтобы у Лицензиара была возможность проверки подлинности Простой электронной подписи документа.
Код сервиса проверки
//Сначала отбрасываем всех кто неправильно ввел капчу
if ($_POST[‘capcha’]==$_SESSION[‘captcha’])
{
//Потом отбрасываем если неверный формат ЭП, на остольное даже не будем таратить ресурсы.
if ((strlen($_POST[‘ep’])==47)or(strlen($_POST[‘ep’])==40))
{
//Если есть девисы то удаляем опять проверяем
$ep=str_replace(‘-‘,»,$_POST[‘ep’]);
if (strlen($ep)==40)
{
//Здесь дожен быть запрос в БД и проверка ЭП, вывод результата проверки
}
else
echo ‘
Неверный формат ЭП.’.strlen($ep).’‘;
}
else
echo ‘
Неверный формат ЭП. Должно быть 40 либо 47 символов.‘;
}
else
{
if (isset($_POST[‘capcha’]))
echo ‘
Текст на рисунке не совпадает с введенным.‘;
}
PS: не забываем про исключение SQL-иньекций при постановке в запрос ЭП!
Живой пример как можно организовать работу пользователей с ЭП и работу сервиса проверки, можно почитать здесь:
Списание средств. Закрывающие документы. ЭП.
Проверка ЭП