bcrypto / bpki

A public key infrastructure profile
8 stars 0 forks source link

Отложенный отзыв #36

Closed bcryptobot closed 6 years ago

bcryptobot commented 6 years ago

Дать возможность в заявке на отзыв сертификата задать желательный момент отзыва (отложенный отзыв).

agievich commented 6 years ago

Вопрос требует проработки.

Да, в PBKIRevokeReq можно легко добавить желательный момент отзыва (t). Но не так просто определить разумную логику обработки t со стороны УЦ. Логика довольно сложная:

  1. УЦ должен категорически игнорировать t при определенных причинах отзыва (напр., при компрометации лк).
  2. УЦ может игнорировать или не игнорировать t при других причинах отзыва.
  3. Если УЦ не игнорирует t, то он не может обработать запрос сразу и возвратить результат. Нужно предусматривать квитанцию (аналог reqId в Enroll/Reenroll/Spawn) и продолжение Revoke в стиле Retrieve.
  4. УЦ должен вести учет отложенных запросов и публиковать их в СОС по мере наступления.

В целом Revoke значительно усложняется, значительно усложняется работа УЦ. Намного проще переложить проблемы на клиента. Пусть клиент отправляет запрос на отзыв в тот момент, когда сертификат действительно нужно отозвать.

Следует отметить, что продолжение Revoke в стиле Retrieve может потребоваться и в обычной ситуации (без откладывания запроса): УЦ нужно время для ответа.

pavlovkv commented 6 years ago

Действительно, какая необходимость добавлять поле, которое усложняет процесс отзыва, если на то нет веской причины?

agievich commented 6 years ago

Выше подробно объяснено, почему отложенный отзыв очень сложен, слабо автоматизируем и поэтому опасен. От отложенного отзыва решено отказаться.

Тем не менее, запрос на отзыв усилен -- в него добавлен компонент invalidityDate, который отправитель отзыва рекомендует перенести в запись об отзыве. (Именно рекомендует, УЦ может проигнорировать.) Компонент invalidityDate фактически информирует о моменте отзыва. Неявно предполагается, что речь идет о моменте в прошлом. Но букве СТБ 34.101.19 не будет противоречить, если компонент будет информировать УЦ о моменте в будущем, т.е. будет рекомендацией об отложенном отзыве (которую, опять повторю, УЦ может проигнорировать).