Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline crypto7  
#1 Оставлено : 18 мая 2021 г. 15:59:52(UTC)
crypto7

Статус: Активный участник

Группы: Участники
Зарегистрирован: 07.05.2021(UTC)
Сообщений: 49
Российская Федерация
Откуда: NN

Сказал(а) «Спасибо»: 15 раз
Доброго дня, уважаемые эксперты.

Прошу помочь мне в решении задачи проверки электронной подписи. Мне хочется понять сам порядок проверки. Исходные данные такие.
  • Файл открепленной ЭП в формате CAdES-BES (без отметки времени), содержащий две подписи, созданные разными лицами (сертификатами).

  • Сертификаты открытых ключей выданы разными УЦ, имеют одинаковый алгоритм подписи.

Вопрос состоит в том, что именно потребуется для проверки обеих подписей с помощью инструмента CAdESCOM на одном конкретном ПК без подключения к интернету. Как мне кажется, это должно быть:
  • цепочки сертификатов обоих подписантов, сертификаты установлены в соответствующие локальные хранилища;

  • списки отзыва сертификатов для каждого издателя сертификата (от обоих подписантов), размещенные в хранилище "Промежуточные центры сертификации".

Или для проверки может потребоваться что-то еще, кроме перечисленного, либо здесь что-то явно лишнее...?

Кроме того, хотелось бы понять, как сработает процедура VerifyCades объекта SignedData. Как я понимаю, она должна последовательно проверить обе подписи, и в случае, например, просроченного сертификата у одной из сторон, установить свойство CheckCertificate в False.

Прошу помощи в этом вопросе.


PS. Добавлю еще один вопрос. Почему при выполнении процедуры SignedData.VerifyCades для формата CAdES-BES удается выполнить проверку в "оффлайне", а для формата CAdES-T та же проверка при отсутствии подключения не проходит? На CAdES-T стоит штамп времени на подпись, у файла CAdES-BES, соответственно, нет. В чем может быть причина неуспешной "оффлайн"-проверки файла подписи формата CAdES-T?

Отредактировано пользователем 18 мая 2021 г. 17:09:24(UTC)  | Причина: Не указана

Offline two_oceans  
#2 Оставлено : 19 мая 2021 г. 8:03:36(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Добрый день.
Сертификат самого подписанта включать ли в подпись нужно обговорить когда договариваетесь о формате подписи.

Если сертификат подписанта включать в подпись, его можно не ставить в хранилища. Тем не менее можно и не включить - тогда в подписи будет строка владельца сертификата, по этой строке будет производится поиск в хранилище. Все УЦ из цепочек подписавших и их списки отзыва - в соответствующих хранилищах. Конечно в подписи может быть и вся цепочка, вот только без сертификата УЦ установить список отзыва будет проблематично, так что сертификат УЦ все равно понадобится для "оффлайн" проверки. Учитывая, что там есть и корневой УЦ (Минкомсвязь для аккредитованных УЦ), то список отзыва и сертификат Минкомсвязи в хранилище Доверенные коневые ЦС, а не Промежуточные ЦС. Вышеприведенных условий хватит для cades-bes (пока сертификаты не истекут).

Для проверки штампа времени дополнительно нужна и цепочка сервера доверенного времени. Если подписи две, то сервера доверенного времени у них могут быть разные (и не от тех УЦ что сертификаты подписантов), то есть по максимуму еще нужно установить 2 цепочки сертификатов серверов доверенного времени (сертификаты и списки отзыва от УЦ) аналогично цепочкам подписантов. Если не установлены цепочки серверов доверенного времени, то и "оффлайн-проверка" CAdES-T будет неуспешной из-за ошибки при проверке самого штампа времени (штамп времени обязателен в CAdES-T, поэтому его ошибка приводит к "результирующей" ошибке).

Обратите внимание, что cades-t - это расширение стандарта cades-bes, то есть подпись cades-t (более сложный формат) технически можно проверить как cades-bes (более простой формат), в этом случае штамп времени будет проигнорирован, проверка штампа времени пропущена (в cades-bes штамп времени не регламентирован) и результат проверки может оказаться другой.

При создании подписи указываем какой фактический формат должна иметь подпись, но при проверке можно подпись проверить как более простой формат чем было указано при создании. Как более сложный чем фактически есть проверить не выйдет, так как будет ошибка, что обязательные части отсутствуют. Вывод: для достоверного результата нужно указывать именно тот формат, который был указан при создании подписи.

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

Отредактировано пользователем 19 мая 2021 г. 8:16:44(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил two_oceans за этот пост.
crypto7 оставлено 19.05.2021(UTC)
Offline crypto7  
#3 Оставлено : 19 мая 2021 г. 8:26:50(UTC)
crypto7

Статус: Активный участник

Группы: Участники
Зарегистрирован: 07.05.2021(UTC)
Сообщений: 49
Российская Федерация
Откуда: NN

Сказал(а) «Спасибо»: 15 раз
Автор: two_oceans Перейти к цитате
Добрый день.
Сертификат самого подписанта включать ли в подпись нужно обговорить когда договариваетесь о формате подписи.

Если сертификат подписанта включать в подпись, его можно не ставить в хранилища. Тем не менее можно и не включить - тогда в подписи будет строка владельца сертификата, по этой строке будет производится поиск в хранилище. Все УЦ из цепочек подписавших и их списки отзыва - в соответствующих хранилищах. Конечно в подписи может быть и вся цепочка, вот только без сертификата УЦ установить список отзыва будет проблематично, так что сертификат УЦ все равно понадобится для "оффлайн" проверки. Учитывая, что там есть и корневой УЦ (Минкомсвязь для аккредитованных УЦ), то список отзыва и сертификат Минкомсвязи в хранилище Доверенные коневые ЦС, а не Промежуточные ЦС. Вышеприведенных условий хватит для cades-bes (пока сертификаты не истекут).

Для проверки штампа времени дополнительно нужна и цепочка сервера доверенного времени. Если подписи две, то сервера доверенного времени у них могут быть разные (и не от тех УЦ что сертификаты подписантов), то есть по максимуму еще нужно установить 2 цепочки сертификатов серверов доверенного времени (сертификаты и списки отзыва от УЦ) аналогично цепочкам подписантов. Если не установлены цепочки серверов доверенного времени, то и "оффлайн-проверка" CAdES-T будет неуспешной из-за ошибки при проверке самого штампа времени (штамп времени обязателен в CAdES-T, поэтому его ошибка приводит к "результирующей" ошибке).

Обратите внимание, что cades-t - это расширение стандарта cades-bes, то есть подпись cades-t (более сложный формат) технически можно проверить как cades-bes (более простой формат), в этом случае штамп времени будет проигнорирован, проверка штампа времени пропущена (в cades-bes штамп времени не регламентирован) и результат проверки может оказаться другой.

При создании подписи указываем какой фактический формат должна иметь подпись, но при проверке можно подпись проверить как более простой формат чем было указано при создании. Как более сложный чем фактически есть проверить не выйдет, так как будет ошибка, что обязательные части отсутствуют. Вывод: для достоверного результата нужно указывать именно тот формат, который был указан при создании подписи.

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


Благодарю вас за исчерпывающий ответ! Снова мне очень помогли. :)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.