Должен ли я принять сертификат респондента OSCP, подписанный доверенным якорем? - PullRequest
9 голосов
/ 04 мая 2011

Может ли кто-нибудь помочь мне в следующем?
RFC2560 определяет, когда может быть принят сертификат ответчика OCSP (подпись ответа):

   1. Matches a local configuration of OCSP signing authority for the
   certificate in question; or

   2. Is the certificate of the CA that issued the certificate in
   question; or

   3. Includes a value of id-ad-ocspSigning in an ExtendedKeyUsage
   extension and is issued by the CA that issued the certificate in
   question."

Мой вопрос:
Если сертификат респондента OCSP подписан доверенным якорем пути проверки, считается ли он также принятым?
У меня сложилось впечатление, что так и должно быть, но это явно не указано выше в RFC и не может найти явную ссылку на это.

Из того, что я прочитал RFC, я считаю, что даже если он подписан ТП, он все равно недействителен для ответа OCSP.
Любая помощь приветствуется
Примечание: я работаю в Java на этот случай, если это имеет значение

UPDATE:
В разделе 2.2 RFC:

Все окончательные ответные сообщения ДОЛЖЕН быть подписан цифровой подписью. Ключ
используется для подписи ответа ДОЛЖЕН принадлежать к одному из следующих:

- ЦС, выдавший Сертификат в вопросе
- Доверенный ответчик, открытый ключ которого доверяет запрашивающей стороне
- Назначенный ответчиком CA (Уполномоченный ответчик), который имеет специально отмеченный сертификат, выданный непосредственно CA, указывающий, что ответчик может выдать ответы OCSP для этого CA

Пункт 2 кажется мне двусмысленным.
Это может означать:
a) Любой доверенный ПК, поэтому якорь доверия приемлем
или
b) Имеют значение пункта (1) в первой цитате, что означает предварительную настройку сертификата (любого) для доверия в качестве ответчика OCSP, как, например, здесь делается в Java:

   Security.setProperty("ocsp.responderCertSubjectName",ocspCert.getSubjectDN().getName));
   List<X509Certificate> list = new ArrayList<X509Certificate>();
   list.add(ocspCert);
   CollectionCertStoreParameters p = new CollectionCertStoreParameters(list);  
   CertStore store = CertStore.getInstance("Collection", p);
   PKIXParameters params = new PKIXParameters(Collections.singleton(anchor));
   params.addCertStore(store);      

1 Ответ

3 голосов
/ 05 мая 2011

В RFC 2560 это означает:

1. Matches a local configuration of OCSP signing authority for the
certificate in question; or

→ Вы можете делать то, что хотите, если вы постоянно в курсе того, что делаете.Это пункт «поймать все», который означает, что вы, скорее всего, будете соответствовать RFC 2560, что бы вы ни делали.Но если вы являетесь производителем ответов OCSP, вам не следует использовать эту стандартную лицензию, поскольку вы бы предпочли, чтобы пользователи ваших ответов принимали их, даже если они не совпадают ».локальной конфигурации ", чем вы.

2. Is the certificate of the CA that issued the certificate in
question; or

→ Хитрость заключается в том, что Trust Anchor является CA.Формально он не представлен сертификатом (хотя во многих системах якоря доверия кодируются как самозаверяющие сертификаты);но он выдает сертификаты и, как таковой, является центром сертификации.Вы находитесь в этом случае, если ответ OCSP был подписан с помощью ключа TA.

3. Includes a value of id-ad-ocspSigning in an ExtendedKeyUsage
extension and is issued by the CA that issued the certificate in
question."

→ Как и выше, респондент OCSP подписывает ответ для сертификата X, где X, кажется, был выданTA, может использовать сертификат ответчика R, который также был выдан тем же TA - под этим я подразумеваю, что X и R были выданы центром сертификации, имя и ключ которого вы используете в качестве Trust Anchor.

Эти три случая описывают этапы проверки, которые должен выполнять тот, кто получает ответ OCSP и хочет использовать его как часть проверки пути сертификата.Раздел 2.2 RFC посвящен обязанностям респондента OCSP:

All definitive response messages SHALL be digitally signed. The key
used to sign the response MUST belong to one of the following:

-- the CA who issued the certificate in question
-- a Trusted Responder whose public key is trusted by the requester
-- a CA Designated Responder (Authorized Responder) who holds a specially
   marked certificate issued directly by the CA, indicating that the responder
   may issue OCSP responses for that CA

Эти три случая соответствуют тем для получателя, которые мы подробно описали выше, в порядке «2, 1, 3».В этом случае «CA, выдавший сертификат» может быть объектом, чье имя и открытый ключ будут использоваться получателем в качестве доверительного якоря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...