bcrypto / bpki

A public key infrastructure profile
8 stars 0 forks source link

Сертификаты в аттестатах #16

Closed agievich closed 6 years ago

agievich commented 6 years ago

Развитие темы #14.

В BPKI выпускаются следующие аттестаты (в терминологии СТБ.34.101.ades):

Эти аттестаты могут (и будут) вкладываться в документы с расширенными ЭЦП, подтверждая время выпуска документа, действительность других аттестатов, действительность самого документа.

Последние три аттестата могут включать сертификаты, последние два -- еще и СОС / ответы_OCSP. Следует понимать, что даже если аттестат не включает необходимых подчиненных аттестатов, это не проблема -- нужные аттестаты могут быть предъявлены отдельно или перенесены в верхние документы / аттестаты. Тем не менее необходима ясная политика, регулирующая включение СОК / СОС / ответы_OCSP в аттестаты.

В BPKI эта политика радикальна:

  1. СОС / ответы_OCSP не включаются.
  2. СОК не включаются.

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

Итак, предлагается обсудить следующую развилку:

  1. COK служб OCSP, СШВ, СЗД не включается в их ответы.
  2. COK служб OCSP, СШВ, СЗД включается в их ответы.
olegotory commented 6 years ago

Как я понимаю, для служб OCSP, СШВ, СЗД в их ответах содержится информация, котороя позволяет однозначно определить открытый ключ (или сертификат), соответствующий личному ключу подписи (например, атрибут SigningCertificateV2 для ответа СШВ). Поэтому включение сертификата в ответ может потребоваться, фактически, только для распределения сертификата, которое нужно выполнить один раз для запрашивающей стороны (для распределения может использоваться другой механизм, например, такой же как для СОС). Включение сертификата в каждый ответ только увеличивает размер ответа. Считаю, что так как СОС и ответы_OCSP не включаются, то и большого смысла во включении СОК нет. А для распределения СОК следует использовать механизм, аналогичный распределению СОС.

agievich commented 6 years ago

Пока нет сервиса распространения сертификатов. Поэтому

  1. Сертификат подписанта включается в SignedData по умолчанию.

Следуя этому правилу,

  1. Сертификат СЗД включается в ее ответы (ответы -- это профилированные SignedData).

Правило 1 вступает в противоречие с правилами СТБ 34.101.tsp и уточняется следующим образом:

  1. Сертификат СШВ включается в ее ответы (снова профилированные SignedData), только и только если если в запросе установлен соответствующий флаг (certReq).

И наконец, для полноты

  1. Сертификат OCSP-сервера может включаться в его ответы.

Обращаю внимание, что сертификат можно безболезненно убрать из присланного ответа. Если идет речь об ответе как долгосрочном аттестате, то так и надо делать. Ответ службы -- это удобный канал распространения ее сертификата.