Использование Простой ЭЦП в закрывающих документах

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

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

image

Более того, при наличии своего сервиса проверки, пЭЦП гарантирует достоверность подписи, в отличии от собственноручной подписи. Даже третьему лицу, например, сотруднику налоговой проверяющему документ, на самом деле не известно та закорючка напротив ФИО — это реальная подпись указанного человека, или нет. А здесь зашел на указанный сервис, вбил номер подписи и ты точно знаешь, что именно данный документ подписал именно данный человек.

Как сделать такой сервис проверки, и как организовать свою пЭЦП и будет описано в данной статье.

Сначала немного законодательной теории.

Наше законодательство однозначно определяет условия признания электронных документов, подписанных простой электронной подписью, равнозначными документам на бумажном носителе, подписанным собственноручной подписью. Это определяется ФЗ №63 от 06.04.2011 статья 9 «Использование простой электронной подписи». Данный закон голосит:

1. Электронный документ считается подписанным простой электронной подписью при выполнении в том числе одного из следующих условий:

1) простая электронная подпись содержится в самом электронном документе;

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

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


Т.е. для законного использования пЭЦП нам необходимо:
  1. код подписи вписать в документ (что и так понятно)
  2. придумать правила определения подписавшего лица
  3. способ обеспечения конфиденциальности

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

В разделе 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 бит.

Пример получения:

  1. hash ('sha256','Ключ Лицензиата') = cf7f0afbad1857c1da38477d79889cb378d33dee5430e9e7bf4cc04f0e3354f8
  2. hash ('sha1','Ключ Лицензиата') = 7e3ecf5ab5ad710573a028d1a383355293b75438
  3. 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 — Договор
5 — Приложение к договору

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['ecp'])==47)or(strlen($_POST['ecp'])==40))
	{
	
		//Если есть девисы то удаляем опять проверяем 
		$ecp=str_replace('-','',$_POST['ecp']);
		
		if (strlen($ecp)==40)
		{
			//Здесь дожен быть запрос в БД и проверка ЭЦП, вывод результата проверки
		}
		else
			echo '
Неверный формат ЭЦП.'.strlen($ecp).''; } else echo '
Неверный формат ЭЦП. Должно быть 40 либо 47 символов.'; } else { if (isset($_POST['capcha'])) echo '
Текст на рисунке не совпадает с введенным.'; }

PS: не забываем про исключение SQL-иньекций при постановке в запрос ЭЦП!

Живой пример как можно организовать работу пользователей с ЭЦП и работу сервиса проверки, можно почитать здесь:

  • Списание средств. Закрывающие документы. ЭЦП.
  • Проверка ЭЦП

Надеюсь статья будет полезна, и я хоть немного популяризирую механизм пЭЦП и наша жизнь станет проще.

Комментарии (1)

  • 6 марта 2017 в 20:57

    0

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

© Habrahabr.ru