Если вам нужно доказать, что файл не менялся — используйте хеш. Если нужно доказать, кто именно подписал документ и что он согласен с его содержимым — нужна электронная подпись. Это фундаментальное различие определяет выбор инструмента в 90% задач. Ниже разберём, где проходит граница, какие существуют нюансы правовой силы и как не переплатить за избыточную защиту.
- Суть механизмов: что делает каждый инструмент
- Когда достаточно хеширования
- Типовые сценарии
- Ограничения хеша
- Когда необходима электронная подпись
- Обязательные сценарии (требуют УКЭП по закону)
- Сценарии по соглашению сторон (подходит УНЭП)
- Сценарии, где достаточно ПЭП
- Сравнительная таблица: критерии выбора
- Частые ошибки и как их избежать
- 1. «Подпишем хеш файла — это и есть ЭП»
- 2. Использование УНЭП там, где закон требует УКЭП
- 3. Хранение закрытого ключа на общем диске / в репозитории
- 4. Игнорирование срока действия сертификата и отзывов
- 5. Попытка использовать хеш вместо ЭП в HR/договорной работе
- Практический чек-лист выбора
- Сценарии «если — то» для быстрого решения
- Технические нюансы реализации
- Выбор алгоритма хеширования
- Форматы контейнеров ЭП
- Штампы времени (Time Stamping Authority — TSA)
- Экономика решения: скрытые затраты
- Как проверить, что решение работает правильно
- Что делать дальше: пошаговый план внедрения
- Ответы на частые вопросы
- Можно ли использовать хеш вместо ЭП для внутренних приказов?
- Что такое «отсоединенная» и «присоединенная» подпись?
- Нужен ли отдельный ключ для каждого сотрудника?
- Можно ли подписать документ УКЭП, а потом пересохранить его в другом формате (PDF → DOCX)?
- Что делать, если сотрудник уволился, а его УКЭП ещё действует?
- Главный принцип выбора
Суть механизмов: что делает каждый инструмент
Хеш-функция — это математический алгоритм, преобразующий массив данных любой длины в строку фиксированной длины (хеш-сумму, дайджест). Ключевые свойства: детерминированность (те же данные — тот же хеш), лавинный эффект (минимальное изменение данных кардинально меняет хеш), необратимость (по хешу нельзя восстановить исходные данные) и стойкость к коллизиям (сложно найти два разных файла с одинаковым хешем).
Хеш отвечает на вопрос: «Изменялись ли данные после момента расчёта?» Он не содержит информации об авторе, времени создания или волеизъявлении. Любой, кто имеет доступ к файлу, может пересчитать его хеш.
Электронная подпись (ЭП) — это криптографическое преобразование информации с использованием закрытого ключа подписанта, позволяющее проверить подпись открытым ключом. В российском праве (ФЗ-63 «Об электронной подписи») выделяют три вида:
- Простая электронная подпись (ПЭП) — коды, пароли, SMS-подтверждения. Подтверждает факт формирования подписи определённым лицом, но не даёт гарантий неизменности документа после подписания без дополнительных мер.
- Усиленная неквалифицированная электронная подпись (УНЭП) — криптографическая подпись по ГОСТ Р 34.10, созданная с помощью сертифицированных средств (СКЗИ). Обеспечивает идентификацию подписанта и контроль целостности. Правовая сила возникает по соглашению сторон.
- Усиленная квалифицированная электронная подпись (УКЭП) — УНЭП, выданная аккредитованным удостоверяющим центром (УЦ), с сертификатом ключа проверки, соответствующим требованиям ФСБ. Приравнивается к собственноручной подписи на бумаге без дополнительных соглашений.
ЭП решает три задачи одновременно: идентификация автора (кто подписал), контроль целостности (менялся ли документ после подписания) и неотрекаемость (подписант не может заявить, что это не он).
Когда достаточно хеширования
Хеш — правильный выбор, когда задача сводится к контролю целостности и нет необходимости в юридически значимом подтверждении авторства или воли.
Типовые сценарии
- Верификация загруженных файлов. Публикация SHA-256 на сайте разработчика позволяет пользователю проверить, что дистрибутив не подменён при загрузке.
- Контроль изменений в CI/CD. Хеш артефакта сборки (Docker-образ, бинарник) фиксируется в реестре; при деплое сравнивается с эталоном.
- Дедупликация и адресация контента. IPFS, Git, системы бэкапа используют хеш как адрес объекта: одинаковый контент — одинаковый адрес.
- Проверка целостности логов и баз данных. Меркл-деревья (Merkle trees) позволяют эффективно доказывать, что запись не была изменена или удалена.
- Внутренние контрольные точки. Хеш конфигурационного файла на момент релиза — эталон для аудитаドリфт.
Во всех этих случаях подписывать закрытым ключом не нужно: либо авторство неоспоримо по контексту (сборка сборочным сервером), либо правовых последствий подмены нет — только технические.
Ограничения хеша
- Не защищает от подмены вместе с хешем. Если злоумышленник имеет доступ к хранилищу и файлу, и опубликованному хешу — он заменит оба.
- Не идентифицирует автора. Хеш файла, созданного сотрудником А, и того же файла, созданного сотрудником Б, идентичны.
- Не фиксирует время. Нет встроенного механизма временной метки (требует внешних сервисов — TSA, блокчейн, нотариус).
- Не имеет правовой силы самостоятельно. В суде хеш может служить доказательством только в составе экспертизы и при наличии цепочки хранения.
Когда необходима электронная подпись
ЭП нужна, когда результат должен иметь юридические последствия: возникновение обязательств, передача прав, подтверждение факта воли.
Обязательные сценарии (требуют УКЭП по закону)
- Отчётность в госорганы (ФНС, ПФР, Росстат) — через системы СБИС, Диадок, 1С-Отчётность.
- Участие в электронных торгах (ФЗ-44, ФЗ-223) — на площадках ЭТП.
- Взаиморасчёты по счёт-фактурам в ЭДО — формат УПД/СЧФ с УКЭП.
- Регистрация прав на недвижимость через Росреестр (отдельные сервисы).
- Работа с госсекретом и криптографической защитой гостайны (специфические сертификаты ФСБ).
Сценарии по соглашению сторон (подходит УНЭП)
- Внутренний документооборот: приказы, служебные записки, заявления на отпуск — если регламент организации допускает УНЭП.
- Взаиморасчёты между компаниями в ЭДО (УПД, ТОРГ-12, акты) — при наличии соглашения об ЭДО с указанием вида ЭП.
- Подписание договоров в B2B — если стороны зафиксировали в договоре или доп. соглашении использование УНЭП конкретного УЦ.
- HR-процессы: трудовые договоры, НДА, политики конфиденциальности — при корректном оформлении соглашения об использовании ЭП.
Сценарии, где достаточно ПЭП
- Авторизация в личных кабинетах (Госуслуги, банки, корпоративные порталы).
- Подтверждение операций в банк-клиенте (SMS, push, разовый пароль).
- Согласие на обработку ПДн на сайте (чек-бокс + IP + User-Agent — фиксируется как ПЭП).
- Внутренние согласования в системе управления процессами (BPM, ECM) — если регламент не требует усиленной подписи.
Сравнительная таблица: критерии выбора
| Критерий | Хеш (SHA-256, ГОСТ Р 34.11) | ПЭП (пароль, SMS, код) | УНЭП (крипто, неквалиф.) | УКЭП (крипто, квалиф.) |
|---|---|---|---|---|
| Целостность документа | Да (при защищённом хранении эталона) | Нет (требует доп. мер) | Да | Да |
| Идентификация автора | Нет | Слабая (доступ к каналу) | Да (по сертификату) | Да (проверен УЦ) |
| Неотрекаемость | Нет | Нет | По соглашению сторон | Да (презумпция закона) |
| Временная метка | Нет (внешние сервисы) | Нет (только лог системы) | В составе подписи (если поддерживается) | В составе подписи + штамп времени УЦ |
| Правовая сила в суде | Только как доказательство в экспертизе | Ограничена, требует доказательства доступа | При наличии соглашения сторон | Приравнена к собственноручной |
| Требования к средствам | Любая библиотека/утилита | Собственная инфраструктура | Сертифицированное СКЗИ (ФСТЭК/ФСБ) | Сертифицированное СКЗИ + аккредитованный УЦ |
| Стоимость владения | Нулевая (open source) | Низкая (разработка/поддержка) | Средняя (лицензии СКЗИ, ключи) | Высокая (сертификат УЦ, продление, токены) |
| Срок действия ключа | Не ограничен | По политике системы | Обычно 1 год | Обычно 1 год (продление в УЦ) |
Частые ошибки и как их избежать
1. «Подпишем хеш файла — это и есть ЭП»
Технически: подпись хеша — это стандартный способ создания ЭП (подписывают не весь документ, а его дайджест). Но если вы просто прикрепили к файлу его хеш, подписанный чьим-то ключом, — это не делает файл подписанным в правовом смысле. Нужен контейнер (CAdES, XAdES, PAdES), включающий: подписанные атрибуты (хеш, время, тип подписи), сертификат ключа проверки, цепочку доверия к корневому УЦ. Без контейнера и проверки цепочки — просто байты.
2. Использование УНЭП там, где закон требует УКЭП
Пример: отправка нулевой декларации в ФНС подписанной УНЭП — декларация не примется. Проверяйте регламент конкретного госоргана или ЭТП: в технических требованиях всегда указан требуемый класс ЭП (обычно «Квалифицированная»).
3. Хранение закрытого ключа на общем диске / в репозитории
Компрометация ключа аннулирует неотрекаемость всех подписей. Для УНЭП/УКЭП закрытый ключ должен храниться на токене (Rutoken, eToken, JaCarta) или в HSM. Копирование в файл .pfx/.p12 без пароля или с слабым паролем — грубое нарушение режима.
4. Игнорирование срока действия сертификата и отзывов
Подпись с истёкшим или отозванным сертификатом недействительна. Проверка CRL/OCSP должна быть частью процесса валидации. В долгосрочных документах (договоры на годы) используйте CAdES-A / XAdES-A (архивные профили) со штампами времени и доказательствами актуальности сертификата на момент подписания.
5. Попытка использовать хеш вместо ЭП в HR/договорной работе
«Сохраним хеш PDF в блокчейне — это будет доказательством». Нет. Блокчейн фиксирует факт существования хеша в момент времени, но не связывает его с волей конкретного лица. В суде придётся доказывать: а) хеш принадлежит именно этой версии документа, б) доступ к ключу/кошельку, сделавшему транзакцию, был только у подписанта, в) подписант понимал, что делает. Это дорогая и непредсказуемая экспертиза. Правильный путь — УНЭП/УКЭП в системе ЭДО с аудитом действий.
Практический чек-лист выбора
- Есть ли требование закона/регулятора использовать ЭП? Да → смотрите, какой именно вид (ПЭП/УНЭП/УКЭП). Нет → шаг 2.
- Нужно ли доказать в суде/споре, что именно этот человек соглашался с текстом? Да → УНЭП (по соглашению) или УКЭП. Нет → шаг 3.
- Нужно ли только гарантировать, что файл не бился/не менялся при передаче/хранении? Да → хеш (SHA-256 или ГОСТ Р 34.11-2012) с защищённой доставкой эталона. Нет → уточните задачу.
- Есть ли бюджет и инфраструктура на СКЗИ/токены/УЦ? Нет, задача внутренняя/техническая → хеш или ПЭП. Есть → УНЭП/УКЭП.
- Требуется ли долгосрочная проверяемость (5+ лет)? Да → только УКЭП с архивным профилем (CAdES-A) и штампами времени. УНЭП требует сохранения доступа к CRL/OCSP УЦ на весь срок.
Сценарии «если — то» для быстрого решения
| Ситуация | Инструмент | Почему |
|---|---|---|
| Разработчик публикует релиз на GitHub | SHA-256 в Release notes | Пользователь проверяет целостность бинарника; авторство подтверждается аккаунтом GitHub |
| Компания отправляет счёт-фактуру покупателю через ЭДО | УКЭП (формат УПД) | Требование НК РФ и ФЗ-63 для первичных учётных документов в ЭДО |
| Внутренний приказ о награждении сотрудника | УНЭП (по регламенту ЭДО) или ПЭП (в HR-системе) | Нет внешних контролов; достаточно соглашения внутри оргструктуры |
| Архив логов безопасности на год | Меркл-дерево + периодическая публикация корневого хеша в газете/блокчейне | Доказуемая неизменяемость без привязки к личности |
| Договор аренды между юрлицами, стороны в разных городах | УКЭП через ЭДО-оператора или УНЭП по доп. соглашению | Юридическая сила; УКЭП не требует доп. соглашения, УНЭП — требует |
| Авторизация сотрудника в корпоративном портале | ПЭП (LDAP/SSO + MFA) | Достаточно для доступа; не создаёт документ |
| Передача исходного кода заказчику с подтверждением авторства | УНЭП/УКЭП на ZIP-архиве + акцепт-акт | Фиксируется факт передачи и состав кода на момент приёмки |
Технические нюансы реализации
Выбор алгоритма хеширования
Для новых систем в РФ: ГОСТ Р 34.11-2012 (Streebog) — 256 или 512 бит. Это обязательно при взаимодействии с госсистемами и при использовании отечественных СКЗИ. Для международных задач и open source — SHA-256 / SHA-3. Не используйте MD5, SHA-1, RIPEMD-160 — они скомпрометированы (коллизии найдены практически).
Форматы контейнеров ЭП
- CAdES (CMS Advanced Electronic Signatures) — бинарный формат (.p7s, .sig), стандарт для российских СКЗИ (CryptoPro, VipNet, Signal-COM). Поддерживает профили BES, EPES, T, C, A (архивный).
- XAdES (XML Advanced Electronic Signatures) — XML-формат, удобен для интеграции в веб-сервисы, SOAP, документы Office (OOXML).
- PAdES (PDF Advanced Electronic Signatures) — встроенная подпись в PDF, видимая в Adobe Reader / КриптоАРМ. Удобна для визуального контроля.
Выбор формата диктуется экосистемой получателя. В российском ЭДО — почти всегда CAdES-BES/EPES/T. Для долгосрочных документов — CAdES-A.
Штампы времени (Time Stamping Authority — TSA)
Штамп времени — это подпись TSA над хешем вашей подписи (или документа), подтверждающая: «эти данные существовали в момент T». Критично для:
- Долгосрочных договоров (истечение сертификата подписанта не аннулирует подпись, если есть штамп времени до истечения).
- Патентов, авторских прав, доказательств приоритета.
- Аудита: доказательство, что лог не был сгенерирован позднее.
В России аккредитованные УЦ (КриптоПро, Тензор, Контур, СБИС) предоставляют услуги TSA. Для международных задач — RFC 3161 TSA (DigiCert, GlobalSign, Sectigo).
Экономика решения: скрытые затраты
Хеш — «бесплатно» только если есть инженер, который настроит пайплайн, защитит эталон и организует проверку. ЭП — явные расходы:
- УКЭП: сертификат УЦ (1 500–5 000 ₽/год на ключ), токен (1 000–3 000 ₽), лицензия СКЗИ (CryptoPro CSP — ~4 000 ₽/мес на рабочую станцию или корпоративная лицензия), интеграция с ЭДО-оператором (абонентка 500–3 000 ₽/мес). На организацию — от 50–100 тыс. ₽ в год при небольшом объёме.
- УНЭП: собственное СКЗИ (лицензии ФСТЭК/ФСБ), выдача сертификатов своим УЦ (нужен аккредитованный УЦ или собственный корневой сертификат, доверенный сторонами), токены, администрирование. Дешевле УКЭП при масштабе, но выше порог входа.
- ПЭП: разработка/поддержка собственной инфраструктуры авторизации, логирование, защита каналов. Кажется дешево, но риски компрометации и отсутствие неотрекаемости часто перевешивают экономию.
Правило: если объём подписываемых документов < 50 в месяц и нет жесткого требования закона — часто выгоднее подключиться к ЭДО-оператору (СБИС, Диадок, Контур, Тензор) и использовать их УКЭП «под ключ», чем разворачивать свою инфраструктуру.
Как проверить, что решение работает правильно
- Для хеша: измените один байт в файле → пересчитайте хеш → убедитесь, что он не совпадает с эталоном. Проверьте, что эталон хранится в недоступном для изменения месте (read-only репозиторий, подписанный релиз в GitHub, TSA).
- Для ЭП: откройте подписанный файл в валидаторе (КриптоАРМ, Госуслуги.Проверка, онлайн-сервисы УЦ). Проверьте: статус «Подпись верна», сертификат не отозван (CRL/OCSP), цепочка доверия ведёт к доверенному корневому УЦ, время подписания в допуске, атрибуты подписи соответствуют профилю (CAdES-BES/EPES/T/A).
- Пентест процесса: попробуйте подменить файл после подписания — валидатор должен ругаться. Попробуйте подписать чужым токеном — должен требоваться PIN. Попробуйте использовать истёкший сертификат — должен быть отказ (если не настроено игнорирование).
Что делать дальше: пошаговый план внедрения
- Инвентаризируйте документооборот. Какие документы уходят вовне (госорганы, контрагенты, суды) и какие остаются внутри.
- Классифицируйте по требованию ЭП. Отметьте: «закон требует УКЭП», «договор требует УНЭП/УКЭП», «внутренний — ПЭП/хеш», «технический артефакт — хеш».
- Оцените объём и бюджет. Если УКЭП нужно на 10–20 документов в месяц — подключитесь к ЭДО-оператору. Если сотни в день — считайте свой УЦ/СКЗИ.
- Выберите СКЗИ и токены. Для РФ — CryptoPro CSP / VipNet CSP / Signal-COM CSP + токены Rutoken ЭЦП 2.0 / 3.0, JaCarta, eToken. Проверьте сертификаты ФСБ/ФСТЭК актуальны.
- Настройте процессы валидации. Автоматическая проверка входящих подписей (CRL/OCSP, сроки, профили). Логирование результатов.
- Обучите сотрудников. Режим хранения токенов, PIN-кодов, процедура отзыва при уходе/компрометации, как подписывать в используемой системе (1С, Диадок, СБИС, собственный портал).
- Зафиксируйте в локальных актах. Положение об ЭДО, регламент применения видов ЭП, порядок доступа к ключам, ответственность за компрометацию.
- Проведите пилот. Один подразделение/процесс, 2–4 недели, замерьте ошибки, время подписания, отказы получателей.
- Масштабируйте и аудируйте. Ежеквартальная проверка отозванных сертификатов, актуальности CRL, срока действия ключей администраторов УЦ.
Материал носит информационный характер и не заменяет консультацию с специалистом по информационной безопасности или юристом, специализирующимся на электронном документообороте. Требования к виду электронной подписи могут меняться в зависимости от отрасли, типа документов, обновлений законодательства (ФЗ-63, ФЗ-152, НК РФ, ФЗ-44) и позиций регуляторов (ФНС, ФСБ, ФСТЭК). Перед внедрением проверьте актуальные нормативные акты и рекомендации вашего ЭДО-оператора или УЦ на дату принятия решения.
Ответы на частые вопросы
Можно ли использовать хеш вместо ЭП для внутренних приказов?
Технически — можно хранить хеш приказа в защищённом реестре. Юридически — приказ не считается подписанным руководителем. Для правовой силы внутри организации нужен хотя бы ПЭП (доступ к системе + лог действия) или УНЭП по локальному регламенту. Хеш же подойдёт для контроля: «текст приказа не меняли после утверждения».
Что такое «отсоединенная» и «присоединенная» подпись?
Присоединенная (attached) — исходный файл упакован внутрь контейнера подписи (.p7m, .sig). Получатель получает один файл, из которого извлекает оригинал. Отсоединенная (detached) — подпись в отдельном файле (document.pdf + document.pdf.sig). Оригинал остаётся читаемым без криптографических средств. Для ЭДО и архивов чаще используют отсоединённую — удобнее для обработки и просмотра.
Нужен ли отдельный ключ для каждого сотрудника?
Для УНЭП/УКЭП — да. Персональный ключ — основа неотрекаемости. Общий ключ отдела/организации делает невозможным установление конкретного подписанта. Для ПЭП — допускаются общие учётные записи с разграничением по ролям, но теряется персональная ответственность.
Можно ли подписать документ УКЭП, а потом пересохранить его в другом формате (PDF → DOCX)?
Нет. Любое изменение байтов (даже ресайз картинки, изменение метаданных, конвертация) ломает хеш внутри подписи. Валидатор покажет «Подпись неверна». Если нужен другой формат — подписывайте каждый формат отдельно или храните оригинал в подписанном виде и конвертируйте только копии для удобства чтения.
Что делать, если сотрудник уволился, а его УКЭП ещё действует?
Немедленно инициируйте отзыв сертификата в УЦ (письменное заявление руководителя/администратора). До отзыва подписи сотрудника остаются действительными. После отзыва — новые подписи создать нельзя, старые — валидны, если они сделаны до даты отзыва (проверяется по штампу времени или CRL). Внутренне: отзовите доступ к токену, смените PIN, исключите из списков доверенных лиц в ЭДО.
Главный принцип выбора
Начните с вопроса: «Что я должен доказать и перед кем?»
- Доказать, что файл не менялся — хеш (с защищённым эталоном).
- Доказать, что конкретное лицо соглашалось с содержимым — ЭП (УНЭП по соглашению или УКЭП по закону).
- Нужна презумпция достоверности в суде без доп. соглашений — только УКЭП.
- Просто вход в систему / подтверждение операции — ПЭП / MFA.
Не усложняйте там, где достаточно хеша. Не экономьте на ЭП там, где цена ошибки — штраф, потеря права или спор в суде. Правильный инструмент дешевле последствий неправильного.
