Хеш или электронная подпись: что выбрать для защиты данных и документов

Если вам нужно доказать, что файл не менялся — используйте хеш. Если нужно доказать, кто именно подписал документ и что он согласен с его содержимым — нужна электронная подпись. Это фундаментальное различие определяет выбор инструмента в 90% задач. Ниже разберём, где проходит граница, какие существуют нюансы правовой силы и как не переплатить за избыточную защиту.

Содержание
  1. Суть механизмов: что делает каждый инструмент
  2. Когда достаточно хеширования
  3. Типовые сценарии
  4. Ограничения хеша
  5. Когда необходима электронная подпись
  6. Обязательные сценарии (требуют УКЭП по закону)
  7. Сценарии по соглашению сторон (подходит УНЭП)
  8. Сценарии, где достаточно ПЭП
  9. Сравнительная таблица: критерии выбора
  10. Частые ошибки и как их избежать
  11. 1. «Подпишем хеш файла — это и есть ЭП»
  12. 2. Использование УНЭП там, где закон требует УКЭП
  13. 3. Хранение закрытого ключа на общем диске / в репозитории
  14. 4. Игнорирование срока действия сертификата и отзывов
  15. 5. Попытка использовать хеш вместо ЭП в HR/договорной работе
  16. Практический чек-лист выбора
  17. Сценарии «если — то» для быстрого решения
  18. Технические нюансы реализации
  19. Выбор алгоритма хеширования
  20. Форматы контейнеров ЭП
  21. Штампы времени (Time Stamping Authority — TSA)
  22. Экономика решения: скрытые затраты
  23. Как проверить, что решение работает правильно
  24. Что делать дальше: пошаговый план внедрения
  25. Ответы на частые вопросы
  26. Можно ли использовать хеш вместо ЭП для внутренних приказов?
  27. Что такое «отсоединенная» и «присоединенная» подпись?
  28. Нужен ли отдельный ключ для каждого сотрудника?
  29. Можно ли подписать документ УКЭП, а потом пересохранить его в другом формате (PDF → DOCX)?
  30. Что делать, если сотрудник уволился, а его УКЭП ещё действует?
  31. Главный принцип выбора

Суть механизмов: что делает каждый инструмент

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

Хеш отвечает на вопрос: «Изменялись ли данные после момента расчёта?» Он не содержит информации об авторе, времени создания или волеизъявлении. Любой, кто имеет доступ к файлу, может пересчитать его хеш.

Электронная подпись (ЭП) — это криптографическое преобразование информации с использованием закрытого ключа подписанта, позволяющее проверить подпись открытым ключом. В российском праве (ФЗ-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 в блокчейне — это будет доказательством». Нет. Блокчейн фиксирует факт существования хеша в момент времени, но не связывает его с волей конкретного лица. В суде придётся доказывать: а) хеш принадлежит именно этой версии документа, б) доступ к ключу/кошельку, сделавшему транзакцию, был только у подписанта, в) подписант понимал, что делает. Это дорогая и непредсказуемая экспертиза. Правильный путь — УНЭП/УКЭП в системе ЭДО с аудитом действий.

Практический чек-лист выбора

  1. Есть ли требование закона/регулятора использовать ЭП? Да → смотрите, какой именно вид (ПЭП/УНЭП/УКЭП). Нет → шаг 2.
  2. Нужно ли доказать в суде/споре, что именно этот человек соглашался с текстом? Да → УНЭП (по соглашению) или УКЭП. Нет → шаг 3.
  3. Нужно ли только гарантировать, что файл не бился/не менялся при передаче/хранении? Да → хеш (SHA-256 или ГОСТ Р 34.11-2012) с защищённой доставкой эталона. Нет → уточните задачу.
  4. Есть ли бюджет и инфраструктура на СКЗИ/токены/УЦ? Нет, задача внутренняя/техническая → хеш или ПЭП. Есть → УНЭП/УКЭП.
  5. Требуется ли долгосрочная проверяемость (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 в месяц и нет жесткого требования закона — часто выгоднее подключиться к ЭДО-оператору (СБИС, Диадок, Контур, Тензор) и использовать их УКЭП «под ключ», чем разворачивать свою инфраструктуру.

Как проверить, что решение работает правильно

  1. Для хеша: измените один байт в файле → пересчитайте хеш → убедитесь, что он не совпадает с эталоном. Проверьте, что эталон хранится в недоступном для изменения месте (read-only репозиторий, подписанный релиз в GitHub, TSA).
  2. Для ЭП: откройте подписанный файл в валидаторе (КриптоАРМ, Госуслуги.Проверка, онлайн-сервисы УЦ). Проверьте: статус «Подпись верна», сертификат не отозван (CRL/OCSP), цепочка доверия ведёт к доверенному корневому УЦ, время подписания в допуске, атрибуты подписи соответствуют профилю (CAdES-BES/EPES/T/A).
  3. Пентест процесса: попробуйте подменить файл после подписания — валидатор должен ругаться. Попробуйте подписать чужым токеном — должен требоваться PIN. Попробуйте использовать истёкший сертификат — должен быть отказ (если не настроено игнорирование).

Что делать дальше: пошаговый план внедрения

  1. Инвентаризируйте документооборот. Какие документы уходят вовне (госорганы, контрагенты, суды) и какие остаются внутри.
  2. Классифицируйте по требованию ЭП. Отметьте: «закон требует УКЭП», «договор требует УНЭП/УКЭП», «внутренний — ПЭП/хеш», «технический артефакт — хеш».
  3. Оцените объём и бюджет. Если УКЭП нужно на 10–20 документов в месяц — подключитесь к ЭДО-оператору. Если сотни в день — считайте свой УЦ/СКЗИ.
  4. Выберите СКЗИ и токены. Для РФ — CryptoPro CSP / VipNet CSP / Signal-COM CSP + токены Rutoken ЭЦП 2.0 / 3.0, JaCarta, eToken. Проверьте сертификаты ФСБ/ФСТЭК актуальны.
  5. Настройте процессы валидации. Автоматическая проверка входящих подписей (CRL/OCSP, сроки, профили). Логирование результатов.
  6. Обучите сотрудников. Режим хранения токенов, PIN-кодов, процедура отзыва при уходе/компрометации, как подписывать в используемой системе (1С, Диадок, СБИС, собственный портал).
  7. Зафиксируйте в локальных актах. Положение об ЭДО, регламент применения видов ЭП, порядок доступа к ключам, ответственность за компрометацию.
  8. Проведите пилот. Один подразделение/процесс, 2–4 недели, замерьте ошибки, время подписания, отказы получателей.
  9. Масштабируйте и аудируйте. Ежеквартальная проверка отозванных сертификатов, актуальности CRL, срока действия ключей администраторов УЦ.

Материал носит информационный характер и не заменяет консультацию с специалистом по информационной безопасности или юристом, специализирующимся на электронном документообороте. Требования к виду электронной подписи могут меняться в зависимости от отрасли, типа документов, обновлений законодательства (ФЗ-63, ФЗ-152, НК РФ, ФЗ-44) и позиций регуляторов (ФНС, ФСБ, ФСТЭК). Перед внедрением проверьте актуальные нормативные акты и рекомендации вашего ЭДО-оператора или УЦ на дату принятия решения.

Ответы на частые вопросы

Можно ли использовать хеш вместо ЭП для внутренних приказов?

Технически — можно хранить хеш приказа в защищённом реестре. Юридически — приказ не считается подписанным руководителем. Для правовой силы внутри организации нужен хотя бы ПЭП (доступ к системе + лог действия) или УНЭП по локальному регламенту. Хеш же подойдёт для контроля: «текст приказа не меняли после утверждения».

Что такое «отсоединенная» и «присоединенная» подпись?

Присоединенная (attached) — исходный файл упакован внутрь контейнера подписи (.p7m, .sig). Получатель получает один файл, из которого извлекает оригинал. Отсоединенная (detached) — подпись в отдельном файле (document.pdf + document.pdf.sig). Оригинал остаётся читаемым без криптографических средств. Для ЭДО и архивов чаще используют отсоединённую — удобнее для обработки и просмотра.

Нужен ли отдельный ключ для каждого сотрудника?

Для УНЭП/УКЭП — да. Персональный ключ — основа неотрекаемости. Общий ключ отдела/организации делает невозможным установление конкретного подписанта. Для ПЭП — допускаются общие учётные записи с разграничением по ролям, но теряется персональная ответственность.

Можно ли подписать документ УКЭП, а потом пересохранить его в другом формате (PDF → DOCX)?

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

Что делать, если сотрудник уволился, а его УКЭП ещё действует?

Немедленно инициируйте отзыв сертификата в УЦ (письменное заявление руководителя/администратора). До отзыва подписи сотрудника остаются действительными. После отзыва — новые подписи создать нельзя, старые — валидны, если они сделаны до даты отзыва (проверяется по штампу времени или CRL). Внутренне: отзовите доступ к токену, смените PIN, исключите из списков доверенных лиц в ЭДО.

Главный принцип выбора

Начните с вопроса: «Что я должен доказать и перед кем?»

  • Доказать, что файл не менялся — хеш (с защищённым эталоном).
  • Доказать, что конкретное лицо соглашалось с содержимым — ЭП (УНЭП по соглашению или УКЭП по закону).
  • Нужна презумпция достоверности в суде без доп. соглашений — только УКЭП.
  • Просто вход в систему / подтверждение операции — ПЭП / MFA.

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

PEFile.ru