Цифровой документооборот входит в нашу жизнь уверенными шагами и если для юридических лиц это уже суровые будни, то многие физические лица могли с этим еще не столкнуться. Но со временем оставаться в стороне становится всё сложнее и нужно приспосабливаться к меняющимся условиям, иначе можно получить не совсем приятные последствия.
Заключение договоров — дело привычное. Их заключают в банках, в больницах, при покупке мебели, оплате обучения. Прочитать договор, проверить реквизиты юридического лица, с которым заключается договор, убедиться в наличии печати и подписи — стандартная процедура, которая уменьшает риск обмана. Однако приобретённые навыки работы с бумажными договорами не могут просто так перейти в цифровой мир в силу специфики электронных документов.
В этой статье хочется рассказать о своем опыте знакомства с российскими электронными подписями (ЭП), которые используются для подписания договоров с физическими лицами в том числе и страховыми компаниями, а также подводных камнях, на которые наткнулся при этом.
Для меня эта история началась при заключении договора со страховой компанией ООО СК “Сбербанк страхование”. После оформления мне показались подозрительными некоторые факты (небольшой спойлер: всё оказалось хорошо) и я стал разбираться, как же мне проверить, что полученный документ действительно выдан страховой компанией, а не некими третьими лицами.
Через полчаса ожидания я стал волноваться, быстрый поиск показал, что у страховой компании есть аж 3 разных активных домена: www.sberbank-insurance.ru, www.sberins.ru и sberbankins.ru, что не добавляло мне уверенности в компании.
Звонок в контакт центр принёс информацию о том, что присланный полис и является финальным документом с ЭП страховой компании. Мне показалось странным, что компания отдаёт уже подписанный документ еще до факта оплаты клиентом и я стал проверять полученный pdf файл.
Глава первая: проверка ЭП
Все манипуляции с PDF документом приведены в чистой версии ОС Windows 10, русская домашняя редакция, как наиболее вероятной среде работы простого пользователя. Набор софта, используемый в статье, также является непрофессиональным и доступным для всех.
Для начала я открыл документ в просмотрщике Foxit Reader, который использую как основной:
Это выглядит очень и очень подозрительно — документ модифицирован непонятно кем, сертификат также не является доверенным. Система не может проверить цепочку доверия для данного сертификата и помечает его недействительным.
Кроме имени организации, которой выдан сертификат, видно наименование выдавшей его организации, ООО “ИТК”. Поиск по запросу “ООО ИТК сертификат” вывел меня на страницу Установка корневого сертификата Удостоверяющего центра ООО «ИТК». Это официальный сайт ООО «Интернет Технологии и Коммуникации», который является одним из удостоверяющих центров, выдающих сертификаты ЭП.
Следуем инструкции: нам нужно пройти по ссылке и скачать с Google Drive (!) RAR архив (!!) «Корневой квалифицированный.rar» (который ещё надо найти чем открыть, пришлось ставить 7-zip) и видим там 2 сертификата: корневой и промежуточный. Корневой выдан Минкомсвязи самим себе, а промежуточный — министерством для ООО “ИТК”. Устанавливаем их, соглашаемся с добавлением корневого сертификата (краем глаза замечая, что sha1 отпечаток устанавливаемого ключа и картинки в инструкции совпадает, но про такое сравнение в пунктах установки ничего нет).
Снова открываем сертификат из документа. И чуда не произошло, цепочка доверия от корневого до конечного не строится!
Изучаем ЭП подробнее: в Foxit Reader есть дополнительная информация о свойствах подписи:
Ага, алгоритм хеширования ГОСТовский, ЭП создана в КриптоПро PDF. Возможно, Windows не знает про ГОСТ шифрование и поэтому ему нужен дополнительный криптопровайдер.
Идём на сайт КриптоПро, регистрируемся, скачиваем пробную версию КриптоПро CSP 5.0 на 3 месяца. Что будет дальше — не совсем понятно, возможно всё превратится в тыкву, посмотрим.
Снова открываем просмотр сертификата ЭП:
Выглядит уже лучше. Видно, что система считает сертификат действительным, построена цепочка от корневого сертификата через промежуточный.
Сообщение о проверке немного улучшилось, но всё равно Foxit Reader не может проверить сертификат (вероятно дело в ГОСТовском алгоритме):
В Adobe Acrobat Reader DC проверка тоже не успешна:
И на этом вроде бы можно остановиться: Foxit Reader подтверждает, что документ не был изменен после подписания, руками можно проверить, что сертификат подтверждается системой и действителен. Но всё же хочется довести дело до конца, чтобы хотя бы одна программа сказала: да, документ действителен, всё хорошо.
Вспоминаем, что полис подписан в программе КриптоПро PDF. Вероятно, что раз она может создавать такие подписи, то уж наверняка должна их и проверять. Ставим.
+1 триал версия на 90 дней, хотя вроде бы надпись при установке успокаивает, что при использовании продукта в Adobe Acrobat Reader DC лицензия не нужна.
Ура, долгожданное сообщение о том, что всё хорошо.
Подведем промежуточный итог. Для проверки действительности ЭП на документе нужно:
- Узнать, какой удостоверяющий центр выдал сертификат, которым подписан документ, установить его промежуточный и, если такого еще нет, корневой сертификат (в нашем случае из rar архива с Google Drive);
- Установить в систему криптопровайдер (вероятно, существуют другие криптопровайдеры, которые обучат Windows ГОСТовским криптоалгоритмам) КриптоПро CSP с триалом на 3 месяца и неизвестностью после;
- Для проверки подписи из Adobe Acrobat Reader DC установить КриптоПро PDF (без CSP он не ставится).
Вот такой алгоритм вырисовывается из поверхностного анализа темы за вечер. Проблема проверки цифровой подписи была решена, но видно трудности, которые могут возникнуть у рядового пользователя:
- Нужно как-то найти и скачать корневой и промежуточный сертификаты. Непонятно, откуда его можно скачать официально, а поиск в сети может привести к установке левых сертификатов, через которые мошенники могут атаковать незадачливого пользователя;
- Нужно понять, какого софта не хватает в системе и где его взять, из коробки ничего не работает. В данной статье приведены примеры на основе продуктов КриптоПро только потому, что это название встретилось в информации о создании ЭП. Нужно изучать тему в поиске аналогов;
- Проверка полноценно заработала только в Adobe Acrobat Reader DC, в Foxit Reader проверка ЭП неполная, нет долгожданной зелёной галочки. Нужно копать дальше, вероятно есть решения.
Глава вторая: ещё одна ЭП
Порывшись в почте, я нашел еще один электронный договор. По счастливой случайности, им тоже оказался страховой полис, но на этот раз еОСАГО от АО “Тинькофф Страхование”. Открываем сертификат, смотрим выпустившую сертификат организацию. Ей оказывается АО “Тинькофф банк”. Да, оказывается у них есть свой УЦ, который выдает сертификаты дочерним организациям (у Сбербанка тоже есть свой УЦ, но в дочерних структурах он не используется).
По отработанному алгоритму идём в поисковую систему с запросом “тинькофф сертификат”, находим официальный сайт УЦ АО Тинькофф Банк. Тут нас встречает изобилие ссылок на корневые сертификаты, списки отозванных сертификатов и даже видеоинструкция по их установке. Скачиваем “Цепочка корневых сертификатов УЦ АО Тинькофф Банк ГОСТ Р 34.10.2012”, на этот раз ссылка ведёт не на сторонний сервис, а на сайт банка. Формат файла P7B не очень известный, но открывается Windows без установки стороннего софта и показывает находящиеся в нём сертификаты. Здесь уже привычный корневой сертификат от Минкомсвязи (другой, не тот, что в первом случае) и промежуточный сертификат УЦ банка.
Ставим оба, проверяем сертификат в полисе. Но нет, сертификат не является доверенным, т.к. система не может подтвердить поставщика сертификата. На сайте УЦ было 2 ссылки на 2 цепочки сертификатов, один для ГОСТ Р 34.10.2001, другой для ГОСТ Р 34.10.2012. Полис был выпущен в этом году, логичнее бы его подписать уже более современным криптоалгоритмом (тем более уже есть версия ГОСТ от 2018 года, алгоритмы обновляются довольно часто), но давайте проверим старый.
В новом файле формата P7B оказывается уже 3 файла сертификатов. Можно поставить все 3, однако стоит заметить, что сертификат “Головного удостоверяющего центра” мы поставили в первой главе из RAR архива ООО “ИТК”, они идентичны. А сертификат с не очень говорящим названием “УЦ 1 ИС ГУЦ” поставил КриптоПро CSP, т.к. галочка об установке корневых сертификатов была установлена по-умолчанию в его инсталляторе. Единственным новым является сертификат АО “Тинькофф Банк”, который мы и ставим.
После установки сертификатов из “Цепочка корневых сертификатов УЦ АО Тинькофф Банк ГОСТ Р 34.10.2001” путь в сертификате прорисовался и система радостно сообщила, что он является доверенным. Adobe Acrobat Reader DC также подтвердил, что подпись действительна.
На этом приключения с проверкой ЭП на полисе еОСАГО завершаются. Заметно, что после того, как в системе уже установлен необходимый софт, а пользователь понимает принципы работы и поиска промежуточных сертификатов, то проверка подписи занимает уже меньше времени.
Но проблемные места по-прежнему видны: необходимо искать в интернете официальные сайты удостоверяющих центров, разбираться в инструкциях по установке сертификатов. Даже при установленных корневых сертификатах необходимо искать промежуточный, иначе цепочка доверия будет не полной и система не сможет подтвердить достоверность подписи.
Глава третья: немного про корневые и промежуточные сертификаты
Проделав всю эту работу, меня не покидало чувство, что вся система построена не очень безопасно, требует от пользователя кучу дополнительных операций и доверия многим факторам: от поисковой системы, которая может не выдать первой строкой официальный сайт УЦ, до работы самого персонала УЦ, который выкладывает сертификаты без контрольных сумм на сторонние веб сервисы в проприетарных форматах контейнеров.
За дополнительной информацией я пошёл на сайт Минкомсвязи и нашёл такую страницу. Там можно скачать XLS файл, в котором будут перечислены все имеющие в настоящий момент аккредитацию УЦ, а также УЦ с приостановленной и прекращенной аккредитацией. В списке аккредитованных находится 494 УЦ, что немало.
Однако просто списка недостаточно, нужны хотя бы ссылки на сайты этих УЦ, а также надо найти корневые сертификаты непосредственно от первоисточника, Минкомсвязи. Следующий точкой в поиске этой информации стал портал pravo.gov.ru, где перечислены ссылки на некоторые корневые сертификаты. Страница доступна только по http протоколу, контрольных сумм опять нет.
Приглядевшись, можно заметить, что первые 4 ссылки ведут на портал https://e-trust.gosuslugi.ru. Не совсем понятно, почему именно поддомен сайта госуслуг стал центральным в системе корневых сертификатов, но, кажется, тут приведена вся актуальная информация по корневым и промежуточным сертификатам.
На странице головного УЦ https://e-trust.gosuslugi.ru/MainCA приведены 10 корневых сертификатов от Минкомсвязи, для разных ГОСТ алгоритмов и с разными сроками действия. Тут же доступны слепки ключей, можно проверить, что скачанный сертификат никто не подменил. Сам сайт имеет сертификат от Thawte.
На странице аккредитованных УЦ https://e-trust.gosuslugi.ru/CA находится полный список промежуточных удостоверяющих центров, можно скачать их сертификаты, проверить слепок. Кроме этого вся информация доступна в формате XML. Одним разом можно получить файл с данными о всех промежуточных УЦ, а также их сертификаты и ссылки для получения списка отозванных сертификатов.
У сертификатов есть поле точки распространения списка отзывов (CRL), в котором прописан путь получения списка отозванных сертификатов. При проверке ЭП на каком-то документе кроме установки промежуточного и корневых сертификатов нужно также установить и последний список отозванных и обновлять его перед каждой проверкой (данная процедура автоматизируется специализированным софтом, но штатные средства вроде бы так не умеют). На портале e-trust у каждого сертификата указан путь к такому списку и он может отличаться от того, что написано в самом сертификате. Чему верить? Не совсем понятно.
В заключение статьи хочется отметить, что проверка ЭП на электронных документах по силам каждому, однако это не совсем тривиальный процесс, требующий некоторых знаний. Возможно, что в будущем этот процесс упростится. Кроме этого остается открытым вопрос проверки ЭП на мобильных устройствах, а ведь они сейчас стали основным инструментом пользователей, давно опередив персональные компьютеры.
После написания статьи осталось несколько открытых вопросов, которые хотелось бы обсудить с сообществом:
- аналоги КриптоПро, особенно opensource инструменты для создания и проверки ЭП;
- добавление валидации ЭП не только в Adobe Acrobat Reader DC, но и в Foxit Reader и другие;
- оставшиеся за пределами данной статьи проблемы, которые также важны и требуют внимания, но не проявились в моём случае.
UPD 0: В комментариях подсказали онлайн сервис на портале госуслуг для проверки ЭП документов: https://www.gosuslugi.ru/pgu/eds. К сожалению, не заработало в моём случае, но может быть полезно.
UPD 1: После написания статьи мне подсказали, что есть ещё один криптопровайдер, ViPNet CSP, который тоже может помочь с ГОСТовскими криптоалгоритмами в системе. Одновременная установка его с КриптоПро CSP под вопросом.
КДПВ: edar, Pixabay
Комментарии (27)
Pyhesty
08.10.2019 09:48Сейчас как вспомню, как для ректора универа поучил ЭЦП в 200х (моей лабе нужно было на торгах учавствовать) аж в дрож бросает… Я даже самого ректора не видел, документы собрал, через концелярию подписал, ЭЦП (флэшку) олучил сам и сдал в бухгалтерию… Ректора… универа из кучи институтов… бррр… Корочу ЭЦП для человека — это еще та шляпа, пока УЦ не будут нормально относится к безопасности...
Krel
08.10.2019 11:39Мне кажется, для обывателя, по сути, важно знать всего одну ссылку — www.gosuslugi.ru/pgu/eds. Никаких шаманств с установкой сертификатов в клиентскую систему не понадобится.
tmin10 Автор
08.10.2019 18:22Спасибо, очень интересный сервис. Жаль про него информации сразу не попалось, проверю через него свои документы.
kvasya24
08.10.2019 18:39Я обыватель. Я пытался пользоваться этой ссылкой www.gosuslugi.ru/pgu/eds. Безысходность и тлен.
У меня есть договор, он подписан отсоединенной электронной подписью. По инструкции зашел на этот сайт, приложил pdf-файл для проверки (12 Мб) и подпись. Нажал отправить. Получил необработанный ответ от web-сервера «413 Request Entity Too Large».
Ну хорошо. Я начал шаманить с проверкой по значению хэш-функции на этом же сайте. Все сделал по инструкции. Их сервис данные сертификатов определил, но выдал, что подпись недействительна. В итоге мне удалось проверить подпись на другом негосударственном сайте.
Вообще странная ситуация для меня, обывателя. Сделка зарегистрирована в росреестре. У меня есть подписанные ЭЦП выписки из росреестра, которые проверяются. И подписанный договор, который тоже проверяется (но не на государственных сайтах). И мне что-то как-то тревожно. Достаточно ли этого? Я ходил в «Мои документы» узнать, могу ли я еще какие-то гарантии получить о том, что со сделкой все в порядке. Мне сказали, что не могут помочь.
Как тяжко жить в эпоху перемен.ggo
10.10.2019 09:59Вы — не обыватель. ;)
Вы уже в теме, может не сильно погружены, но в теме.
А теперь представьте, что бы делала ваша мама в этой ситуации… Вот это реальная реакция обывателя на все эти шняги.
tmin10 Автор
08.10.2019 21:48Хм, загрузил оба подписанных документа из статьи, получил сообщение:
Внутренняя ошибка
Пробовал 3 разных браузера. Возможно сайту не нравятся конкретно эти PDF документы или что-то ещё не так.
Подлинность документа НЕ ПОДТВЕРЖДЕНА
Также в глаза бросается то, что на сервер уходит весь мой подписанный документ (а не его хэш, например), а на странице нет информации о порядке обработке персональных дынных, содержащихся в таких документах и нет явно выраженного согласия на их обработку.Krel
08.10.2019 22:09Как вариант, есть более новая версия портала — www.gosuslugi.ru/eds. У меня генерируемые в нашем внутреннем сервисе документы, которые мы подписываем, проходят и там и там валидацию. К сожалению, пока не протестировать с альтернативными документами.
Касательно ПД, я думаю это интересный вопрос, стоит в поддержку ГУ написать.tmin10 Автор
08.10.2019 22:19К сожалению новый вариант проверят только отсоединённую подпись, что не подходит в моём случае.
Ark_V
08.10.2019 12:57+1Мне вот кажется говорить и рассуждать про серьезные юридические вещи и при этом употреблять термин ЭЦП, как-то совсем не серьезно, как-то сразу мысль закрадывается, что про все это рассуждает человек далекий от законодательства.
tmin10 Автор
08.10.2019 21:37Вы правы, в голове засел термин ЭЦП и я даже не стал проверять его актуальность в настоящее время, что плохо для статьи, которая должна чему-то научить читателя.
Поправил все ЭЦП на ЭП, в соответствии с ФЗ «Об электронной подписи». Оставил только в опросе, чтобы он не сбросился.
Ark_V
08.10.2019 13:22аналоги КриптоПро, особенно opensource инструменты для создания и проверки ЭЦП;
имхо в контексте, что вся тема производства и эксплуатации средств ЭП находится под курированием ФСБ с довольно «интересными» к ним требованиями, у ЭП для рядовых физических лиц нет никаких перспектив, и для малого бизнеса тоже, а может быть даже и особенно. Похоже, что в качестве майнстрима принято направление валидации через госуслуги.Skaramush
09.10.2019 13:17Ну, по идее, можно было бы средства для проверки подписи делать общедоступными, по аналоги с утилитой unrar для RAR-архивов.
saipr
12.10.2019 09:38аналоги КриптоПро, особенно opensource инструменты для создания и проверки ЭП
Посмотрите утилиту cryptoarmpkcs.
ggo
Чтобы начать решать проблему, нужно понять, а какую проблему мы решаем.
Например, зачем простому обывателю нужно проверять валидность pdf в Foxit Reader?
Какую свою проблему он сможет решить, имея такую возможность?
Лично я не могу представить такую ситуацию, при которой бы моя мама открыла бы pdf, увидела бы значок валидности (или невалидности) и после этого сказала бы «ооо, так этот документ валиден, значит я смогу сделать ....».
Т.е. проблема современной криптографии в том, что она понятна узкому кругу сопричастных лиц. Все остальные пролетают мимо.
Например емейлом могло пользоваться небольшое количество людей. А вацапом пользуется большинство обладателей мобилок. Чтобы ЭЦП стал вацапом нужно кардинально пересмотреть принципы его работы. В том виде как есть, у него всегда будет своя ниша, и профессионалы работающие в ней.
teecat
Нам для суда Росимущество сделало подписанный PDF. Два судьи не знали как удостовериться, что документы подписаны. Само Росимущество на вопрос как убедиться (и показать иным, что документ именно от них), ответило что «вы видете на первой странице красную полоску — это и значит, что документ подписан»
Совершенно в суде не смешно это говорить
Sheti
По мне так это ломает всю идею внедрения ЭЦП в гос. документооборот. О чем можно говорить если суд не может удостовериться в подлинности документа?
teecat
Мы просили в Росимуществе какую утилиту для проверки. Ответ я привел
tmin10 Автор
Разве суд не должен привлекать экспертов, если не может что-тлюо подтвердить сам?
teecat
Имеет право, но не обязан. Это решает судья. Может приобщить к доказательствам, может не приобщить, может экспертов вызвать, может поверить на мамой клянусь
Суд это не расследование, как многие считают, это по сути оценка судьей позиций двух сторон.
Плюс судьи заинтересованы не тянуть дело, когда так все ясно (ну скажем ясно, что свидетель или эксперт не явится никогда. Как в этом случае — положено вызвать представителя Росимущества, но тот в суд не пойдет и это известно). И даже иногда из-за этого нарушают процедуры
Sheti
Ну вы же понимаете, что в вашем ответе по сути нет валидной проверки. С таким же успехом суду можно было подсунуть любую утилиту которая хоть мультики будет показывать. Как суд должен удостовериться, что утилита проверки та самая валидная? Опять замкнутый круг получается. По факту у суда нету средств проверки ЭЦП документов.
teecat
Именно так. Кто будет проверять, что в малозначимом деле подпись того именно человека, если с момента подписания прошло лет 20? Не, теоретически должны и могут. А могу и не проверять. Зависит от настроения судьи. Могут фигурально пол мордой вымыть, а могут сказать ответчику — мужчина, молчите, вам же лучше будет (реальный случай)
А уж содержание решений суда и записи его хода это вообще слезы
tmin10 Автор
Чтож тогда говорить о гражданах, которым под видом документа можно подсунуть любой электронный документ с картинкой подписи...
MAXXL
а дыра, когда можно было поменять дату на компе, подписать документ той датой, и он считался валидным еще не закрыта? Приносишь в суд PDF, от 1800 года, что Вы владелец и учредитель, скажем Сбербанка. Подпись валидна? Значит доказательства в руках!
ggo
А как судья выясняет, подписывал ли бумажный документ конкретный человек или нет?
Судья, очевидно, не может оценить совпадение подписей.
Судья привлекает эксперта, эксперт проводит экспертизу, судья на основе данного экспертного мнения выносит свое решение.
Равно тоже самое и с электронной подписью.
Никакое ПО на ноуте судьи не должно использоваться для принятия решения.
Для этого есть ноут эксперта.
teecat
Как правило проще. Заверяет нотариус. Вышеупомянутое письмо Росимущества нам предложили распечатать и заверить у нотариуса
tmin10 Автор
Foxit Reader появился в статье, т.к. он был моим стандартным просмотрщиком документов и стал отправной точкой в этом небольшом исследовании вопроса. Признаю, что его может не быть у большинства пользователей.
Покупка электронных услуг становится всё проще и уже многие люди с ними взаимодействуют, но если не учиться компьютерной грамотности, этим могут воспользоваться мошенники. Раньше мы говорили менее грамотным пользователям: не открывай все файлы сразу, без проверки, не отправляй смс на непонятные номера, не слушайся друзей, внезапно требующих большие суммы в личных сообщениях. Теперь к этому нужно добавлять: проверяй подлинность полученных электронных договоров ДО их оплаты, а не после, когда деньги уже ушли непонятно кому.
Да, приведённый способ получен чисто интуитивным путём, уже внизу подсказали онлайн сервис для проверки документов от госуслуг (который у меня, к сожалению, так и не заработал), хотя и к нему есть вопросы.
В целом статья и призвана придать огласке эту тему, заставить задуматься о новом векторе угроз и способам противодействия им.