О цифровых подписях в Office 2010
Нововведения в Office 2010, связанные с ЭЦП
Читаю блог Microsoft Office 2010 Engineering, в котором 8 декабря появилось сообщение Shelley Gu Digital Signatures in Office 2010. Запись показалась интересной, а потому, позволю себе привести некоторые моменты.
Как вы помните в предыдущей версии продукта - Office 2007, Microsoft перешла на xml-based формат документов. В связи с этим поменялся и способ хранения цифровой подписи - в качестве такового был выбран стандарт XML Signature (XML-DSig, https://www.w3.org/Signature). К сожалению, базовый вариант этого алгоритма предполагает использование только простой подписи, которая, в частности, не рассчитана на длительное хранение документов.
В версии Office 2010 было принято решение о переходе к расширению XML-DSig, стандарту XAdES (XML Advanced Electronic Signatures, https://www.w3.org/TR/XAdES/). Сделано это было, в том числе, для соответствия European Union Advanced Electronic Signature Criteria.
Сам стандарт XAdES интерес тем, что имеет несколько уровней реализации, каждый из которых является расширением предыдущего:
Уровень подписи |
Описание |
XML-DSig | Простая цифровая подпись, которая становится не валидной при истечении срока действия сертификата. Содержит только саму подпись |
XAdES-BES/EPES (Base) | К предыдущему уровню добавляется информация о подписывавшем сертификате. Т.е. пользователь уже не сможет воспользоваться аналогичным сертификатом, в который просто добавлены ключи из текущего |
XAdES-T (Timestamp) | К предыдущему уровню добавляется штамп времени установки подписи |
XAdES-C(Complete) | Добавляет информацию о цепочках сертификатов (т.е. сертификатах всех вышележащих узлов центров сертификатов) и ссылки на информации об отозванных сертификатах |
XAdES-X(Extended) | На данном уровне с помощью штампа времени защищается не только сам документ, но и данные добавленные на предыдущих уровнях (на Tи C). |
XAdES-X-L (Extended Long-Term) | Предыдущий уровень дополняется сертификатами из цепочки сертификатов, а также информацией (т.е. уже не ссылкой) о статусе отзывов сертификатов. Это позволяет работать с подписью, даже если прекратит существование центр сертификатов. |
В настоящее время (Beta-версия) поддерживается только уровень XAdES-T, но к релизу обещают сделать поддержку всех уровней.
Кроме того, в блоге приводится подборка ключей реестра, которые позволяют управлять режимами подписания.
Для задания настроек уровня подписи используются ключи XAdESLevel и MinXAdESLevel
XAdESLevel
Положение |
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Signatures |
Описание | Указывает запрашиваемый уровень подписи |
Тип | REG_DWORD |
Значения |
0 – XAdESне используется (только XML-DSig) 1 – Создается XAdES-BES/EPES подпись (по умолчанию) 2 – Создается XAdES-T подпись 3 – Создается XAdES-C подпись 4 – Создается XAdES-X подпись 5 – Создается XAdES-X-L подпись |
MinXAdESLevel
Положение |
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Signatures |
Описание | Минимально допустимый уровень XAdES |
Тип | REG_DWORD |
Значения |
0 – минимальный уровень не задан (по умолчанию) 1 – Требуется XAdES-BES/EPES подпись 2 – Требуется XAdES-T подпись 3 – Требуется XAdES-C подпись 4 – Требуется XAdES-X подпись 5 – Требуется XAdES-X-L подпись |
Office пытается создать подпись требуемого уровня, если это не возможно (не доступна какая-то информация, например, об отзывах сертификатов или не доступен сервер штампов времени), то офис последовательно перебирает все остальные уровни вплоть до минимально допустимого и пытается их реализовать.
Для указания сервера штампов времени используется другой ключ TSALocation
TSALocation
Положение |
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Signatures |
Описание | URL сервера штампов времени |
Тип | REG_SZ |
Значения | Адрес HTTP-сервера штампов, который работает в соответствии с RFC 3161 |
К сожалению открытым остаются вопросы о возможности использования национальных криптографических алгоритмов. В предыдущих версиях Office, на сколько мне известно, это было можно сделать лишь средствами сторонних дополнений.
Комментарии 4
MS больше не использует MSXML5, через который происходило встраивание.
Выпущен плагин, позволяющий подписывать с помощью ГОСТ в Office 2007/2010.