Андреа Валле, от Adobe, уточнить это для меня по электронной почте:
Это обсуждалось в ESI в течение некоторого времени, и, наконец, команда решила уточнить это в EN 319 142-1.
См раздел 5.4.1 на странице 11 версии 1.1.0:
Жизни время защиты может быть продлено за пределами срока службы последнего документ отметки времени применяется путем добавления дальнейшего DSS информацию для проверки предыдущей последней отметки времени документа вместе с новой меткой времени документа. Каждый раз, когда словарь DSS обновляется во время инкрементного обновления, он должен содержать значения из предыдущего словаря DSS.
ПРИМЕЧАНИЕ: В общем, словарь DSS будет содержать данные проверки предыдущих версий плюс данные проверки, добавленные для текущей версии. Если записи удаляются из словаря DSS во время инкрементного обновления, набор данных проверки может быть неполным для проверки подписей, но замена данных валидации - например, более актуальная информация о статусе сертификата - может быть выполнена по соображениям оптимизации.
Так что на самом деле рекомендуется, чтобы добавить все записи из старого словаря DSS, но не обязательного. Вы можете обновлять эти записи, если они не нарушают подпись, но это необязательно.
Чтение немного дальше на том же документе:
по безопасности Хранить документ (DSS) должен быть словарь, который будет иметь значение DSS в качестве ключа в словаре каталога документа.Этот словарь используется для предоставления единого места, где должна быть размещена вся информация, относящаяся к валидации для некоторых или всех подписей в документе.
СПР предназначен для обеспечения одного места, где всех информации должна быть размещена.
Итак, если вы не размещаете там всю информацию, вы ничего не сломаете, но вы не используете DSS по назначению.
Тогда ответ: подписчик pdf должен использовать первый подход, но валидатор PDF должен быть подготовлен ко второму.
EDIT:
На самом деле, любой Падес валидатор должен проверить либо записи DSS существовали ранее в любом случае. Если вы проверите только последний, можно повторно проверить недопустимую подпись, если сертификат CA, используемый для подписи CRL или OCSP, был скомпрометирован последним, и эта поддельная информация была добавлена в последнюю DSS.
Пример:
- Sig 1 была сделана с отозванным сертификатом добавляют
- Все DSS записей, а подпись обязательно будет недействителен
DocumentTimeStamp добавляется, защищая этот DSS.
Sig 1 сертификат СА compromissed
Sig 2 выполнен с действительным сертификатом добавляют
- Sig 2 записей DSS, LTV включение подписи
- Sig 1 CRL/OCSP заменяется на поддельный, сделанный с помощью сертификата CAC
В этой ситуации валидатор, который опирается на самый последний DSS w плохо проверить Sig 1, если это не так. Вот почему вы добавляете DocumentTimeStamp для защиты информации об этой сигнатуре.
TL; DR:
Оба варианта правы. DSS должен иметь информацию обо всех подписях, но это не обязательно. И валидатор должен проверить DSS, который был сделан сразу после подписи, а не только последний.
* Так что это действительно обязательный ... * - нет, а не ** обязательный **, просто ** рекомендуется ** ('should', not 'should'). – mkl
@mkl Вы правы. На самом деле рекомендуется, я уточню ответ еще несколькими пунктами. –
Имейте в виду, что как именно вы должны и не должны обрабатывать информацию PAdES LTV, зависит от вашего самого варианта использования. Вы даже можете явно выбросить некоторую информацию, не необходимую в контексте. Независимо от того, используются ли временные метки, зависит также от варианта использования и профиля PAdES. – mkl